/* =========================================================================
   SheetClub — main.css
   Premium digital-productivity ecommerce design system.
   Palette: deep navy + emerald green (selective glow), light content areas.
   ========================================================================= */

:root {
  --sc-navy-950: #060d18;
  --sc-navy-900: #0b1b33;
  --sc-navy-800: #10254a;
  --sc-navy-700: #16325f;
  --sc-navy-600: #1d3a6b;
  --sc-green-700: #157347;
  --sc-green-600: #1a8f54;
  --sc-green-500: #1fa84f;
  --sc-green-400: #3ed47c;
  --sc-green-glow: #2ee59d;
  --sc-teal-500: #0fa3a3;
  --sc-ink: #122033;
  --sc-ink-soft: #43536b;
  --sc-line: #dfe7f0;
  --sc-bg: #f5f8fb;
  --sc-surface: #ffffff;
  --sc-danger: #d64545;
  --sc-warning: #e8a13c;
  --sc-radius-sm: 8px;
  --sc-radius: 14px;
  --sc-radius-lg: 22px;
  --sc-shadow-sm: 0 1px 2px rgba(11, 27, 51, 0.06), 0 2px 8px rgba(11, 27, 51, 0.06);
  --sc-shadow: 0 2px 6px rgba(11, 27, 51, 0.07), 0 12px 32px rgba(11, 27, 51, 0.10);
  --sc-shadow-glow: 0 0 0 1px rgba(46, 229, 157, 0.35), 0 8px 30px rgba(31, 168, 79, 0.28);
  --sc-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Bengali", sans-serif;
  --sc-container: 1240px;
  --sc-header-h: 74px;
}

/* ---- Reset-ish ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.001s !important; transition-duration: 0.001s !important; }
}
body {
  margin: 0;
  font-family: var(--sc-font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--sc-ink);
  background: var(--sc-bg);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--sc-green-600); text-decoration: none; transition: color 0.18s ease; }
a:hover { color: var(--sc-green-700); }
h1, h2, h3, h4, h5, h6 { line-height: 1.22; color: var(--sc-navy-900); margin: 0 0 0.6em; font-weight: 700; letter-spacing: -0.015em; }
p { margin: 0 0 1em; }
ul, ol { padding-inline-start: 1.3em; }
:focus-visible { outline: 3px solid var(--sc-green-400); outline-offset: 2px; border-radius: 4px; }

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px;
  margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 999; background: var(--sc-navy-900); color: #fff; padding: 10px 18px; border-radius: 0 0 8px 0; }
.skip-link:focus { left: 0; color: #fff; }

.sc-container { max-width: var(--sc-container); margin-inline: auto; padding-inline: 20px; }

/* ---- Buttons ---- */
.sc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font: 600 15px/1 var(--sc-font); letter-spacing: 0.01em;
  padding: 12px 22px; border-radius: 999px; border: 1.5px solid transparent;
  cursor: pointer; text-align: center; transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}
.sc-btn:active { transform: translateY(1px); }
.sc-btn--lg { padding: 15px 30px; font-size: 16px; }
.sc-btn--primary {
  background: linear-gradient(135deg, var(--sc-green-600), var(--sc-green-500) 55%, var(--sc-green-400));
  color: #fff; box-shadow: 0 4px 16px rgba(31, 168, 79, 0.35);
}
.sc-btn--primary:hover { color: #fff; box-shadow: var(--sc-shadow-glow); transform: translateY(-1px); }
.sc-btn--ghost { background: transparent; color: var(--sc-navy-800); border-color: var(--sc-line); }
.sc-btn--ghost:hover { border-color: var(--sc-green-500); color: var(--sc-green-600); }
.sc-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.4); }
.sc-btn--outline-light:hover { color: var(--sc-green-glow); border-color: var(--sc-green-glow); }
.sc-btn--buynow { background: var(--sc-navy-900); color: #fff; }
.sc-btn--buynow:hover { background: var(--sc-navy-800); color: var(--sc-green-glow); box-shadow: var(--sc-shadow-glow); }

/* ---- Announcement bar ---- */
.sc-announcement {
  background: linear-gradient(90deg, var(--sc-navy-950), var(--sc-navy-800) 55%, var(--sc-green-700));
  color: #dff7ea; text-align: center; font-size: 13.5px; font-weight: 500;
  padding: 8px 16px; letter-spacing: 0.02em;
}
.sc-announcement a { color: #dff7ea; text-decoration: underline; text-underline-offset: 3px; }
.sc-announcement a:hover { color: var(--sc-green-glow); }

/* ---- Header ---- */
.sc-header {
  position: sticky; top: 0; z-index: 300;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--sc-line);
}
.sc-header__inner { display: flex; align-items: center; gap: 18px; min-height: var(--sc-header-h); }
.sc-header__brand { flex-shrink: 0; }
.sc-header__brand img, .custom-logo { max-height: 52px; width: auto; display: block; }
.sc-header__burger { display: none; background: none; border: 0; color: var(--sc-navy-900); padding: 8px; cursor: pointer; }

.sc-nav { flex: 1 1 auto; }
.sc-nav__list, .sc-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; flex-wrap: wrap; }
.sc-nav a {
  display: inline-block; padding: 10px 13px; color: var(--sc-navy-800);
  font-weight: 600; font-size: 14.5px; border-radius: 8px;
}
.sc-nav a:hover { color: var(--sc-green-600); background: rgba(31, 168, 79, 0.07); }
.sc-nav .current-menu-item > a, .sc-nav .current_page_item > a { color: var(--sc-green-600); }
.sc-nav li { position: relative; }
.sc-nav .sub-menu {
  position: absolute; inset-inline-start: 0; top: 100%; min-width: 220px;
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-sm);
  box-shadow: var(--sc-shadow); padding: 8px; display: none; z-index: 320; flex-direction: column; gap: 2px;
}
.sc-nav li:hover > .sub-menu, .sc-nav li:focus-within > .sub-menu { display: flex; }
.sc-nav .sub-menu a { display: block; padding: 9px 12px; }

.sc-header__utility { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.sc-utility__btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px;
  background: none; border: 0; border-radius: 10px; color: var(--sc-navy-800); cursor: pointer;
  font: 600 13px var(--sc-font);
}
.sc-utility__btn:hover { color: var(--sc-green-600); background: rgba(31, 168, 79, 0.08); }
.sc-utility__cart { position: relative; }
.sc-cart-count {
  position: absolute; top: 1px; inset-inline-end: 0;
  min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px;
  background: var(--sc-green-500); color: #fff; font-size: 10.5px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
.sc-lang-switch, .sc-currency-switch { display: inline-flex; align-items: center; }
.sc-lang-switch select, .sc-currency-switch select {
  border: 1px solid var(--sc-line); border-radius: 8px; padding: 6px 8px; font: 600 13px var(--sc-font);
  color: var(--sc-navy-800); background: #fff;
}
.sc-dropdown__toggle { position: relative; }
.sc-dropdown__menu {
  display: none; position: absolute; top: 100%; inset-inline-end: 0; z-index: 320;
  list-style: none; margin: 0; padding: 8px; min-width: 160px;
  background: #fff; border: 1px solid var(--sc-line); border-radius: var(--sc-radius-sm); box-shadow: var(--sc-shadow);
}
.sc-lang-switch:hover .sc-dropdown__menu, .sc-lang-switch:focus-within .sc-dropdown__menu { display: block; }

/* Search panel */
.sc-search-panel { border-top: 1px solid var(--sc-line); background: #fff; padding: 16px 0; }
.sc-search-panel form { display: flex; gap: 10px; }
.sc-search-panel input[type="search"], .sc-search-panel input[type="text"] {
  flex: 1; padding: 12px 16px; border: 1.5px solid var(--sc-line); border-radius: 999px; font: 15px var(--sc-font);
}
.sc-search-panel input:focus { border-color: var(--sc-green-500); outline: none; box-shadow: 0 0 0 3px rgba(46, 229, 157, 0.25); }
.sc-search-panel button[type="submit"] {
  padding: 12px 24px; border: 0; border-radius: 999px; background: var(--sc-navy-900); color: #fff; font-weight: 600; cursor: pointer;
}
.sc-search-panel button[type="submit"]:hover { background: var(--sc-green-600); }

/* Mobile drawer */
.sc-mobile-drawer {
  position: fixed; inset-block: 0; inset-inline-start: 0; z-index: 420; width: min(340px, 88vw);
  background: var(--sc-surface); box-shadow: var(--sc-shadow);
  transform: translateX(-102%); transition: transform 0.24s ease; overflow-y: auto;
  display: flex; flex-direction: column;
}
[dir="rtl"] .sc-mobile-drawer { transform: translateX(102%); }
.sc-mobile-drawer.is-open { transform: translateX(0); }
.sc-mobile-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--sc-line); }
.sc-mobile-drawer__head img { max-height: 40px; width: auto; }
.sc-mobile-drawer__close { background: none; border: 0; color: var(--sc-navy-900); cursor: pointer; padding: 6px; }
.sc-mobile-drawer__nav ul { list-style: none; margin: 0; padding: 10px; }
.sc-mobile-drawer__nav a { display: block; padding: 13px 14px; font-weight: 600; color: var(--sc-navy-800); border-radius: 10px; }
.sc-mobile-drawer__nav a:hover { background: rgba(31, 168, 79, 0.08); color: var(--sc-green-600); }
.sc-mobile-drawer__nav .sub-menu { list-style: none; padding-inline-start: 14px; }
.sc-mobile-drawer__utility { margin-top: auto; padding: 16px 18px; border-top: 1px solid var(--sc-line); display: flex; gap: 12px; flex-wrap: wrap; }
.sc-drawer-overlay { position: fixed; inset: 0; z-index: 410; background: rgba(6, 13, 24, 0.55); backdrop-filter: blur(2px); }

/* ---- Sections ---- */
.sc-section { padding: 72px 0; }
.sc-section--dark { background: radial-gradient(1200px 600px at 80% -10%, rgba(31, 168, 79, 0.16), transparent 60%), var(--sc-navy-950); color: #c6d3e4; }
.sc-section--dark .sc-section__title { color: #fff; }
.sc-section--dark .sc-section__intro { color: #9fb2ca; }
.sc-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 34px; flex-wrap: wrap; }
.sc-section__head--center { flex-direction: column; align-items: center; text-align: center; }
.sc-section__title { font-size: clamp(26px, 3.6vw, 36px); margin-bottom: 8px; }
.sc-section__intro { color: var(--sc-ink-soft); margin: 0; max-width: 640px; }

/* ---- Hero ---- */
.sc-hero { position: relative; overflow: hidden; background: linear-gradient(160deg, var(--sc-navy-950) 0%, var(--sc-navy-900) 55%, #0c2b28 100%); color: #fff; }
.sc-hero__glow {
  position: absolute; width: 720px; height: 720px; border-radius: 50%;
  background: radial-gradient(circle, rgba(46, 229, 157, 0.24), transparent 62%);
  top: -220px; inset-inline-end: -160px; pointer-events: none;
}
.sc-hero__grid-lines {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.5;
  background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(900px 500px at 30% 40%, #000 0%, transparent 75%);
}
.sc-hero__inner { position: relative; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 48px; align-items: center; padding-block: 88px; }
.sc-hero__kicker {
  display: inline-block; font-size: 12.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--sc-green-glow); background: rgba(46, 229, 157, 0.1); border: 1px solid rgba(46, 229, 157, 0.35);
  padding: 6px 14px; border-radius: 999px; margin-bottom: 20px;
}
.sc-hero__title { color: #fff; font-size: clamp(34px, 5.2vw, 58px); margin-bottom: 18px; }
.sc-hero__title span { display: block; }
.sc-hero__title-accent {
  background: linear-gradient(92deg, var(--sc-green-400), var(--sc-green-glow), var(--sc-teal-500));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: 0 0 44px rgba(46, 229, 157, 0.35);
}
.sc-hero__text { color: #b7c6da; font-size: 17.5px; max-width: 540px; margin-bottom: 30px; }
.sc-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }
.sc-hero__media img {
  border-radius: var(--sc-radius-lg); box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(46, 229, 157, 0.25);
}

/* ---- Trust strip ---- */
.sc-trust { background: var(--sc-surface); border-bottom: 1px solid var(--sc-line); }
.sc-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding-block: 26px; }
.sc-trust__item { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 10px 6px; }
.sc-trust__icon {
  grid-row: span 2; width: 44px; height: 44px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--sc-green-600); background: rgba(31, 168, 79, 0.1);
}
.sc-trust__title { font-weight: 700; font-size: 14.5px; color: var(--sc-navy-900); }
.sc-trust__text { font-size: 13px; color: var(--sc-ink-soft); }

/* ---- Product cards ---- */
/* Force the grid over WooCommerce's default float layout (which is dequeued,
   but these rules stay authoritative regardless of plugin CSS load order). */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  display: grid !important; gap: 26px;
  grid-template-columns: repeat(3, 1fr);
}
.woocommerce ul.products.columns-1, ul.products.columns-1 { grid-template-columns: 1fr; }
.woocommerce ul.products.columns-2, ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
.woocommerce ul.products.columns-4, ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
.woocommerce ul.products.columns-5, ul.products.columns-5 { grid-template-columns: repeat(5, 1fr); }
.woocommerce ul.products.columns-6, ul.products.columns-6 { grid-template-columns: repeat(6, 1fr); }

/* Neutralise WooCommerce default per-item float/width so cards fill the grid track. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product,
.sc-product-card {
  width: auto !important; float: none !important; margin: 0 !important; min-width: 0;
  clear: none !important;
}

.sc-product-card {
  position: relative; display: flex; flex-direction: column;
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg);
  overflow: hidden; box-shadow: var(--sc-shadow-sm);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.sc-product-card:hover { transform: translateY(-4px); border-color: rgba(31, 168, 79, 0.5); box-shadow: var(--sc-shadow), 0 0 24px rgba(46, 229, 157, 0.12); }
.sc-product-card__media { position: relative; background: linear-gradient(140deg, #eef4f0, #e3edf6); aspect-ratio: 1 / 1; overflow: hidden; }
.sc-product-card__media img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; object-position: center; -webkit-transition: -webkit-transform 0.35s ease; transition: transform 0.35s ease; display: block; }
.sc-product-card:hover .sc-product-card__media img { -webkit-transform: scale(1.04); transform: scale(1.04); }
/* Perfect-square fallback for browsers without aspect-ratio (older Safari/Firefox). */
@supports not (aspect-ratio: 1 / 1) {
  .sc-product-card__media { height: 0; padding-top: 100%; }
  .sc-product-card__media img { position: absolute; top: 0; left: 0; }
}
.sc-product-card__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.woocommerce-loop-product__title { font-size: 16.5px; margin: 0; color: var(--sc-navy-900); }
.sc-product-card__link:hover .woocommerce-loop-product__title { color: var(--sc-green-600); }
.sc-card-meta { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--sc-ink-soft); margin: 0; }
.sc-product-card .price { font-weight: 700; color: var(--sc-navy-900); font-size: 16px; }
.sc-product-card .price del { color: #93a2b7; font-weight: 500; margin-inline-end: 6px; }
.sc-product-card .price ins { text-decoration: none; color: var(--sc-green-600); }
.sc-product-card .star-rating { margin: 2px 0; }
.sc-product-card__actions { margin-top: auto; display: flex; gap: 10px; flex-wrap: wrap; padding-top: 10px; }
.sc-product-card__actions .button, .sc-product-card__actions .added_to_cart {
  flex: 1; text-align: center; justify-content: center;
}

.sc-badges { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 5; display: flex; gap: 6px; flex-wrap: wrap; }
.sc-badge {
  font-size: 10.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 4px 9px; border-radius: 999px; background: #fff; color: var(--sc-navy-900); box-shadow: var(--sc-shadow-sm);
}
.sc-badge--sale { background: var(--sc-danger); color: #fff; }
.sc-badge--new { background: var(--sc-green-500); color: #fff; }
.sc-badge--compat { background: rgba(11, 27, 51, 0.85); color: #cfe9db; }

/* WooCommerce buttons inherit brand style */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wc-block-components-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: linear-gradient(135deg, var(--sc-green-600), var(--sc-green-500) 55%, var(--sc-green-400));
  color: #fff; border: 0; border-radius: 999px; font: 600 14.5px var(--sc-font);
  padding: 12px 22px; cursor: pointer; transition: box-shadow 0.16s ease, transform 0.16s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
  color: #fff; box-shadow: var(--sc-shadow-glow); transform: translateY(-1px);
}
.woocommerce a.button.sc-btn--ghost, .sc-btn.sc-btn--ghost { background: transparent; color: var(--sc-navy-800); border: 1.5px solid var(--sc-line); }
.woocommerce a.button.sc-btn--ghost:hover { color: var(--sc-green-600); border-color: var(--sc-green-500); box-shadow: none; transform: none; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background: #c7d2df; color: #fff; }

/* ---- Shop layout & filters ---- */
.sc-woo-wrap { padding-block: 34px 80px; }
.sc-shop-layout { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 36px; align-items: start; }
.sc-shop-main { min-width: 0; }
.sc-shop-filters { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 22px; position: sticky; top: calc(var(--sc-header-h) + 16px); }
.sc-shop-filters__head { display: flex; justify-content: space-between; align-items: center; }
.sc-shop-filters__head h2 { font-size: 17px; margin: 0; }
.sc-shop-filters__close { display: none; background: none; border: 0; font-size: 26px; cursor: pointer; color: var(--sc-navy-900); }
.sc-shop-filters__open { display: none; margin-bottom: 18px; }
.sc-shop-filters__hint { font-size: 13px; color: var(--sc-ink-soft); }
.sc-widget { margin-top: 20px; }
.sc-widget__title { font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--sc-ink-soft); margin-bottom: 10px; }
.sc-widget ul { list-style: none; padding: 0; margin: 0; }
.sc-widget li { padding: 5px 0; font-size: 14.5px; }
.sc-widget a { color: var(--sc-navy-800); }
.sc-widget a:hover { color: var(--sc-green-600); }

.woocommerce-result-count { color: var(--sc-ink-soft); font-size: 14px; }
.woocommerce-ordering select {
  border: 1.5px solid var(--sc-line); border-radius: 10px; padding: 9px 12px; font: 14px var(--sc-font); background: #fff; color: var(--sc-navy-800);
}
.woocommerce-pagination ul.page-numbers { list-style: none; display: flex; gap: 8px; justify-content: center; padding: 0; margin: 40px 0 0; border: 0; }
.woocommerce-pagination .page-numbers li { border: 0; }
.woocommerce-pagination span.page-numbers, .woocommerce-pagination a.page-numbers {
  display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center;
  border-radius: 12px; border: 1.5px solid var(--sc-line); background: #fff; color: var(--sc-navy-800); font-weight: 600; padding: 0 8px;
}
.woocommerce-pagination span.current { background: var(--sc-navy-900); color: #fff; border-color: var(--sc-navy-900); }
.woocommerce-pagination a.page-numbers:hover { border-color: var(--sc-green-500); color: var(--sc-green-600); }

/* Onsale default flash hidden (theme badges used) */
.onsale { display: none !important; }

/* WooCommerce's general stylesheet adds clearfix ::before/::after to
   ul.products. Because that list is a CSS grid here, those pseudo-elements
   would become phantom grid items (an empty leading cell that pushes the
   first product out of view). Neutralise them. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
ul.products::before,
ul.products::after { content: none !important; display: none !important; }

/* ---- Single product ---- */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.single-product div.product .woocommerce-product-gallery { position: sticky; top: calc(var(--sc-header-h) + 20px); }
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--sc-radius-lg); }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; padding: 0; list-style: none; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 10px; border: 2px solid transparent; cursor: pointer; opacity: 0.75; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img:hover { border-color: var(--sc-green-500); opacity: 1; }
.single-product div.product .product_title { font-size: clamp(26px, 3vw, 34px); }
.single-product div.product p.price { font-size: 26px; font-weight: 800; color: var(--sc-navy-900); margin: 6px 0 4px; }
.single-product div.product p.price del { color: #93a2b7; font-weight: 500; }
.single-product div.product p.price ins { text-decoration: none; color: var(--sc-green-600); }
.single-product div.product .woocommerce-product-details__short-description { color: var(--sc-ink-soft); }
.single-product form.cart { display: flex; gap: 12px; flex-wrap: wrap; margin: 22px 0; }
.single-product form.cart .quantity { display: none; } /* digital products — qty 1 */
.single-product form.cart .single_add_to_cart_button { flex: 1; min-width: 190px; padding: 15px 26px; font-size: 16px; }

.sc-compat-line { display: flex; align-items: center; gap: 8px; color: var(--sc-ink-soft); font-size: 14.5px; margin: 4px 0 0; }
.sc-compat-line .sc-icon { color: var(--sc-green-600); }

.sc-digital-note {
  background: linear-gradient(135deg, rgba(31, 168, 79, 0.08), rgba(15, 163, 163, 0.07));
  border: 1px solid rgba(31, 168, 79, 0.3); border-radius: var(--sc-radius);
  padding: 14px 18px; margin: 16px 0;
}
.sc-digital-note__main { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; color: var(--sc-green-700); }
.sc-digital-note__sub { margin: 0; font-size: 13.5px; color: var(--sc-ink-soft); }

.sc-return-note {
  display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 0;
  padding: 12px 16px; border: 1px solid var(--sc-line); border-inline-start: 3px solid var(--sc-warning);
  border-radius: var(--sc-radius-sm); background: #fffaf2;
}
.sc-return-note__icon { color: var(--sc-warning); flex-shrink: 0; margin-top: 1px; }
.sc-return-note__body { display: flex; flex-direction: column; gap: 2px; }
.sc-return-note__body strong { color: var(--sc-navy-900); font-size: 14px; }
.sc-return-note__text { font-size: 13px; color: var(--sc-ink-soft); }
.sc-return-note__text a { color: var(--sc-green-600); text-decoration: underline; text-underline-offset: 2px; }

.sc-customize-cta { border: 1.5px dashed rgba(31, 168, 79, 0.45); border-radius: var(--sc-radius); padding: 18px 20px; margin-top: 22px; background: rgba(31, 168, 79, 0.04); }
.sc-customize-cta__title { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--sc-navy-900); margin: 0 0 6px; }
.sc-customize-cta__text { font-size: 14px; color: var(--sc-ink-soft); margin: 0 0 12px; }

.woocommerce-tabs { grid-column: 1 / -1; margin-top: 28px; }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 8px; padding: 0; margin: 0 0 -1px; flex-wrap: wrap; }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a {
  display: inline-block; padding: 12px 20px; border: 1px solid var(--sc-line); border-bottom: 0;
  border-radius: 12px 12px 0 0; background: #edf2f7; color: var(--sc-ink-soft); font-weight: 600; font-size: 14.5px;
}
.woocommerce-tabs ul.tabs li.active a { background: var(--sc-surface); color: var(--sc-navy-900); }
.woocommerce-tabs .panel {
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 0 var(--sc-radius) var(--sc-radius) var(--sc-radius); padding: 28px;
}
.related.products, section.related { grid-column: 1 / -1; margin-top: 48px; }
.related.products > h2, section.related > h2, .upsells h2 { font-size: 24px; margin-bottom: 20px; }
/* Sections hooked after the product summary must span the full product grid,
   not get trapped in one column (which squished the cards + buttons). */
.single-product div.product > .sc-recently-viewed,
.single-product div.product > .up-sells,
.single-product div.product > .upsells { grid-column: 1 / -1; }
/* The recently-viewed block already provides its own container/background, so
   drop the extra section padding when it sits inside the product grid. */
.single-product .sc-recently-viewed { margin-top: 44px; }
.single-product .sc-recently-viewed .sc-container { padding-inline: 0; }

/* Reviews */
#reviews .commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--sc-line); }
#reviews .comment_container img.avatar { border-radius: 50%; width: 44px; height: 44px; }
#reviews .comment-text { flex: 1; }
.star-rating { color: var(--sc-warning); }
p.stars a { color: var(--sc-warning); }

/* ---- Cart ---- */
.woocommerce-cart .sc-woo-wrap, .woocommerce-checkout .sc-woo-wrap { max-width: 1080px; }
.woocommerce table.shop_table {
  width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--sc-line);
  border-radius: var(--sc-radius); overflow: hidden; background: var(--sc-surface);
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 16px; border-bottom: 1px solid var(--sc-line); text-align: start; }
.woocommerce table.shop_table thead th { background: #eef3f8; font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--sc-ink-soft); }
.woocommerce table.shop_table tbody tr:last-child td { border-bottom: 0; }
.woocommerce-cart table.cart img { width: 84px; border-radius: 10px; }
.woocommerce-cart table.cart .product-remove a {
  display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(214, 69, 69, 0.1); color: var(--sc-danger) !important; font-weight: 700;
}
.woocommerce-cart table.cart .product-remove a:hover { background: var(--sc-danger); color: #fff !important; }
.woocommerce-cart .coupon { display: flex; gap: 10px; }
.woocommerce-cart .coupon input.input-text { border: 1.5px solid var(--sc-line); border-radius: 999px; padding: 10px 16px; font: 14px var(--sc-font); }
.cart_totals { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 24px; }
.cart_totals h2 { font-size: 20px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; font-size: 16px; padding: 15px; }
.sc-continue-shopping { margin-inline-end: auto; }

/* ---- Checkout ---- */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .select2-container--default .select2-selection--single {
  border: 1.5px solid var(--sc-line); border-radius: 10px; padding: 11px 14px; font: 15px var(--sc-font);
  background: #fff; color: var(--sc-ink); width: 100%;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus {
  border-color: var(--sc-green-500); outline: none; box-shadow: 0 0 0 3px rgba(46, 229, 157, 0.22);
}
.woocommerce form .form-row label { font-weight: 600; font-size: 13.5px; color: var(--sc-navy-800); margin-bottom: 4px; display: inline-block; }
.select2-container--default .select2-selection--single { height: auto; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.5; padding: 0; }
.woocommerce-checkout #payment { background: #eef3f8; border-radius: var(--sc-radius); }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #place_order { width: 100%; font-size: 16.5px; padding: 16px; }
.woocommerce-checkout h3 { font-size: 19px; }
#order_review_heading { margin-top: 10px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
  border-radius: var(--sc-radius-sm); border: 1px solid var(--sc-line); border-inline-start: 4px solid var(--sc-green-500);
  background: var(--sc-surface); color: var(--sc-ink); padding: 14px 18px; margin-bottom: 22px; box-shadow: var(--sc-shadow-sm);
  list-style: none;
}
.woocommerce-error { border-inline-start-color: var(--sc-danger); }
.woocommerce-info { border-inline-start-color: var(--sc-teal-500); }
.woocommerce-message a.button, .woocommerce-info a.button, .woocommerce-error a.button { margin-inline-start: 10px; padding: 8px 16px; font-size: 13px; }

/* ---- Thank you page ---- */
.woocommerce-order .woocommerce-thankyou-order-received {
  font-size: clamp(22px, 3vw, 30px); font-weight: 800; color: var(--sc-navy-900); margin-bottom: 18px;
}
.woocommerce-order ul.order_details {
  list-style: none; display: flex; flex-wrap: wrap; gap: 0; padding: 0; margin: 0 0 26px;
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); overflow: hidden;
}
.woocommerce-order ul.order_details li {
  flex: 1 1 160px; padding: 16px 18px; border-inline-end: 1px solid var(--sc-line);
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--sc-ink-soft);
}
.woocommerce-order ul.order_details li strong { display: block; font-size: 15.5px; text-transform: none; letter-spacing: 0; color: var(--sc-navy-900); margin-top: 4px; }
.sc-thankyou-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 4px 0 30px; }

/* ---- Downloads table ---- */
.woocommerce table.shop_table.order_details td, .woocommerce-table--order-downloads td { vertical-align: middle; }
.woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file::before { content: none; }
.woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file { width: 100%; }

/* ---- My Account ---- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px 1fr; gap: 36px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--sc-navy-950); border-radius: var(--sc-radius-lg); padding: 14px; position: sticky; top: calc(var(--sc-header-h) + 16px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 12px 16px; border-radius: 12px; color: #b7c6da; font-weight: 600; font-size: 14.5px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--sc-navy-950); background: linear-gradient(135deg, var(--sc-green-400), var(--sc-green-glow));
}
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); padding: 30px; min-height: 320px;
}
.sc-account-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 22px 0 8px; }
.sc-account-card {
  display: flex; flex-direction: column; gap: 8px; padding: 20px;
  border: 1px solid var(--sc-line); border-radius: var(--sc-radius);
  background: linear-gradient(150deg, #fbfdfe, #f2f7fb); color: var(--sc-navy-900);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.sc-account-card:hover { transform: translateY(-3px); border-color: rgba(31, 168, 79, 0.5); box-shadow: var(--sc-shadow-sm); color: var(--sc-navy-900); }
.sc-account-card__icon { color: var(--sc-green-600); }
.sc-account-card__title { font-weight: 700; }
.sc-account-card__text { font-size: 13px; color: var(--sc-ink-soft); }

/* Login/register */
.woocommerce-account.sc-logged-out .woocommerce { display: block; max-width: 480px; margin-inline: auto; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password {
  border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); padding: 30px; background: var(--sc-surface); box-shadow: var(--sc-shadow-sm);
}
.woocommerce-form-login__rememberme { display: block; margin-bottom: 12px; }

/* ---- Categories grid ---- */
.sc-categories__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sc-category-card {
  display: flex; flex-direction: column; gap: 6px; padding: 22px;
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius);
  color: var(--sc-navy-900); transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.sc-category-card:hover { transform: translateY(-3px); border-color: rgba(31, 168, 79, 0.5); box-shadow: 0 0 22px rgba(46, 229, 157, 0.12); color: var(--sc-navy-900); }
.sc-category-card__icon { color: var(--sc-green-600); }
.sc-category-card__name { font-weight: 700; }
.sc-category-card__count { font-size: 13px; color: var(--sc-ink-soft); }

/* ---- Why grid ---- */
.sc-why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.sc-why__card {
  background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--sc-radius); padding: 26px 22px; transition: border-color 0.2s ease, background 0.2s ease;
}
.sc-why__card:hover { border-color: rgba(46, 229, 157, 0.45); background: rgba(46, 229, 157, 0.05); }
.sc-why__icon {
  display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center;
  border-radius: 12px; background: rgba(46, 229, 157, 0.12); color: var(--sc-green-glow); margin-bottom: 14px;
}
.sc-why__card h3 { color: #fff; font-size: 17px; }
.sc-why__card p { color: #9fb2ca; font-size: 14px; margin: 0; }

/* ---- How it works ---- */
.sc-how__steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: sc-step; }
.sc-how__step { position: relative; background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 26px 22px; }
.sc-how__num {
  display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center;
  border-radius: 50%; font-weight: 800; color: #fff; margin-bottom: 14px;
  background: linear-gradient(135deg, var(--sc-navy-800), var(--sc-green-600));
}
.sc-how__step h3 { font-size: 16.5px; }
.sc-how__step p { font-size: 14px; color: var(--sc-ink-soft); margin: 0; }

/* ---- Compatibility panel ---- */
.sc-compat { background: var(--sc-surface); border-block: 1px solid var(--sc-line); }
.sc-compat__inner { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 48px; align-items: center; }
.sc-compat__list { list-style: none; padding: 0; display: grid; gap: 10px; }
.sc-compat__list li { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--sc-navy-800); }
.sc-compat__list .sc-icon { color: var(--sc-green-600); flex-shrink: 0; }
.sc-compat__panel { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sc-compat__cell {
  border-radius: var(--sc-radius-lg); padding: 30px 22px; text-align: center; font-weight: 700; color: #fff; font-size: 14px;
  display: flex; flex-direction: column; gap: 8px; align-items: center;
}
.sc-compat__cell span { font-size: 30px; font-weight: 900; letter-spacing: -0.02em; }
.sc-compat__cell--xl { background: linear-gradient(150deg, #17603f, var(--sc-green-600)); box-shadow: 0 14px 34px rgba(26, 143, 84, 0.35); }
.sc-compat__cell--gs { background: linear-gradient(150deg, var(--sc-navy-800), var(--sc-teal-500)); box-shadow: 0 14px 34px rgba(15, 163, 163, 0.3); }

/* ---- Custom services promo ---- */
.sc-custom-promo { position: relative; overflow: hidden; }
.sc-custom-promo__glow {
  position: absolute; width: 620px; height: 620px; border-radius: 50%;
  background: radial-gradient(circle, rgba(46, 229, 157, 0.18), transparent 62%);
  bottom: -260px; inset-inline-start: -140px; pointer-events: none;
}
.sc-custom-promo__inner { position: relative; max-width: 720px; }
.sc-custom-promo__list { list-style: none; padding: 0; display: grid; gap: 10px; margin: 0 0 26px; }
.sc-custom-promo__list li { display: flex; align-items: center; gap: 10px; color: #c6d3e4; font-weight: 600; }
.sc-custom-promo__list .sc-icon { color: var(--sc-green-glow); flex-shrink: 0; }

/* ---- About ---- */
.sc-about__inner { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 48px; align-items: start; }
.sc-about__copy p { color: var(--sc-ink-soft); }
.sc-about__mission { color: var(--sc-navy-900) !important; }
.sc-about__values { display: flex; flex-wrap: wrap; gap: 10px; }
.sc-about__value {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px;
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: 999px;
  font-weight: 600; font-size: 13.5px; color: var(--sc-navy-800);
}
.sc-about__value .sc-icon { color: var(--sc-green-600); }

/* ---- Final CTA ---- */
.sc-final-cta { position: relative; overflow: hidden; text-align: center; }
.sc-final-cta__glow {
  position: absolute; width: 800px; height: 400px; inset-inline-start: 50%; transform: translateX(-50%);
  bottom: -240px; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(46, 229, 157, 0.2), transparent 65%); pointer-events: none;
}
.sc-final-cta__inner { position: relative; max-width: 640px; }
.sc-final-cta h2 { color: #fff; font-size: clamp(26px, 3.4vw, 38px); }
.sc-final-cta p { color: #9fb2ca; margin-bottom: 26px; }

/* ---- Content pages ---- */
.sc-page { padding-block: 44px 90px; }
.sc-page__title { font-size: clamp(28px, 3.6vw, 40px); }
.sc-page__layout { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: start; }
.sc-page__layout .sc-page__main { min-width: 0; }
.sc-page__sidebar { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 22px; }
.sc-article { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); padding: clamp(24px, 4vw, 48px); }
.sc-article__meta { color: var(--sc-ink-soft); font-size: 14px; }
.sc-article__thumb img { border-radius: var(--sc-radius); }
.sc-prose { font-size: 16.5px; }
.sc-prose h2 { margin-top: 1.6em; }
.sc-prose blockquote { border-inline-start: 4px solid var(--sc-green-500); margin-inline-start: 0; padding-inline-start: 18px; color: var(--sc-ink-soft); }
.sc-prose table { width: 100%; border-collapse: collapse; }
.sc-prose table td, .sc-prose table th { border: 1px solid var(--sc-line); padding: 10px 12px; }
.sc-post-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.sc-post-card { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.sc-post-card__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.sc-post-card__body { padding: 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.sc-post-card__title { font-size: 18px; margin: 0; }
.sc-post-card__meta { font-size: 13px; color: var(--sc-ink-soft); margin: 0; }
.sc-post-card .sc-btn { align-self: flex-start; }
.sc-breadcrumbs { font-size: 13px; color: var(--sc-ink-soft); margin-bottom: 20px; }
.sc-breadcrumbs a { color: var(--sc-ink-soft); }
.sc-breadcrumbs a:hover { color: var(--sc-green-600); }
.sc-breadcrumbs__sep { margin-inline: 8px; opacity: 0.5; }

/* Search results / empty states / 404 */
.sc-search-results { list-style: none; padding: 0; display: grid; gap: 14px; }
.sc-search-result { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 18px 22px; }
.sc-search-result__title { font-weight: 700; font-size: 17px; color: var(--sc-navy-900); }
.sc-search-result__type { display: inline-block; margin-inline-start: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; background: #eef3f8; border-radius: 999px; padding: 3px 9px; color: var(--sc-ink-soft); }
.sc-empty-state { text-align: center; padding: 70px 20px; }
.sc-empty-state h1, .sc-empty-state h2 { margin-bottom: 10px; }
.sc-empty-state p { color: var(--sc-ink-soft); max-width: 460px; margin: 0 auto 22px; }
.sc-empty-state form { max-width: 420px; margin-inline: auto; display: flex; gap: 10px; }
.sc-empty-state input[type="search"] { flex: 1; padding: 12px 16px; border: 1.5px solid var(--sc-line); border-radius: 999px; }
.sc-404__code {
  font-size: clamp(80px, 14vw, 140px); font-weight: 900; line-height: 1; margin: 0 0 10px;
  background: linear-gradient(120deg, var(--sc-navy-800), var(--sc-green-500)); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sc-404__actions { display: flex; gap: 12px; justify-content: center; margin-bottom: 26px; flex-wrap: wrap; }

/* Pagination (blog) */
.pagination .nav-links, .navigation .nav-links { display: flex; gap: 8px; justify-content: center; margin-top: 36px; flex-wrap: wrap; }
.nav-links .page-numbers {
  display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center;
  border-radius: 12px; border: 1.5px solid var(--sc-line); background: #fff; color: var(--sc-navy-800); font-weight: 600; padding: 0 10px;
}
.nav-links .page-numbers.current { background: var(--sc-navy-900); border-color: var(--sc-navy-900); color: #fff; }

/* ---- Footer ---- */
.sc-footer { background: var(--sc-navy-950); color: #93a6bd; margin-top: 0; }
.sc-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(5, 1fr); gap: 32px; padding-block: 64px 40px; }
.sc-footer__logo { font-size: 26px; font-weight: 900; color: #fff; letter-spacing: -0.02em; margin-bottom: 8px; }
.sc-footer__logo span { color: var(--sc-green-400); }
.sc-footer__tagline { font-size: 13.5px; margin-bottom: 4px; }
.sc-footer__slogan { font-size: 13.5px; color: var(--sc-green-glow); font-weight: 600; }
.sc-footer__col h3 { color: #fff; font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 14px; }
.sc-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.sc-footer__col a { color: #93a6bd; font-size: 14px; }
.sc-footer__col a:hover { color: var(--sc-green-glow); }
.sc-footer__contact p { font-size: 14px; margin-bottom: 6px; }
.sc-footer__social { list-style: none; display: flex; gap: 12px; padding: 0; margin-top: 16px; flex-wrap: wrap; }
.sc-footer__social a { font-size: 13px; border: 1px solid rgba(255,255,255,0.15); padding: 6px 12px; border-radius: 999px; color: #b7c6da; }
.sc-footer__social a:hover { border-color: var(--sc-green-glow); color: var(--sc-green-glow); }
.sc-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08); padding-block: 20px;
  display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px;
}
.sc-footer__bottom p { margin: 0; }

/* ---- SheetClub Core front-end (projects, forms) — shared look ---- */
.sc-form-card { background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); padding: clamp(22px, 4vw, 40px); box-shadow: var(--sc-shadow-sm); }
.sc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sc-form-grid .sc-field--full { grid-column: 1 / -1; }
.sc-field label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 5px; color: var(--sc-navy-800); }
.sc-field input[type="text"], .sc-field input[type="email"], .sc-field input[type="tel"], .sc-field input[type="date"],
.sc-field select, .sc-field textarea {
  width: 100%; border: 1.5px solid var(--sc-line); border-radius: 10px; padding: 11px 14px; font: 15px var(--sc-font); background: #fff; color: var(--sc-ink);
}
.sc-field input:focus, .sc-field select:focus, .sc-field textarea:focus {
  border-color: var(--sc-green-500); outline: none; box-shadow: 0 0 0 3px rgba(46, 229, 157, 0.22);
}
.sc-field .description { font-size: 12.5px; color: var(--sc-ink-soft); margin-top: 4px; }
.sc-field--error input, .sc-field--error textarea, .sc-field--error select { border-color: var(--sc-danger); }
.sc-field__error { color: var(--sc-danger); font-size: 13px; margin-top: 4px; }

/* Status pills used by SheetClub Core */
.sc-status {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.03em; background: #eef3f8; color: var(--sc-navy-800); white-space: nowrap;
}
.sc-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.sc-status--green { background: rgba(31, 168, 79, 0.12); color: var(--sc-green-700); }
.sc-status--blue { background: rgba(29, 58, 107, 0.1); color: var(--sc-navy-700); }
.sc-status--amber { background: rgba(232, 161, 60, 0.15); color: #9c6410; }
.sc-status--red { background: rgba(214, 69, 69, 0.12); color: var(--sc-danger); }
.sc-status--gray { background: #edf1f5; color: var(--sc-ink-soft); }

/* ---- Product card tools (wishlist + quick view) ---- */
.sc-card-tools { position: absolute; top: 12px; inset-inline-end: 12px; z-index: 6; display: flex; flex-direction: column; gap: 8px; }
.sc-wishlist-btn, .sc-quickview-btn {
  width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; border: 0; background: rgba(255,255,255,0.95); color: var(--sc-navy-800);
  box-shadow: var(--sc-shadow-sm); cursor: pointer; transition: transform 0.15s ease, color 0.15s ease, background 0.15s ease;
  opacity: 0; transform: translateY(-4px);
}
.sc-product-card:hover .sc-card-tools .sc-wishlist-btn,
.sc-product-card:hover .sc-card-tools .sc-quickview-btn,
.sc-wishlist-btn:focus-visible, .sc-quickview-btn:focus-visible { opacity: 1; transform: none; }
.sc-wishlist-btn:hover { color: var(--sc-danger); background: #fff; }
.sc-quickview-btn:hover { color: var(--sc-green-600); background: #fff; }
.sc-wishlist-btn.is-active { color: var(--sc-danger); opacity: 1; transform: none; }
.sc-wishlist-btn.is-active svg { fill: var(--sc-danger); }
@media (hover: none) {
  /* Touch devices: always show the tools. */
  .sc-card-tools .sc-wishlist-btn, .sc-card-tools .sc-quickview-btn { opacity: 1; transform: none; }
}

.sc-utility__wishlist { position: relative; }
.sc-utility__wishlist .sc-wishlist-count {
  position: absolute; top: 1px; inset-inline-end: 0; min-width: 17px; height: 17px; padding: 0 4px;
  border-radius: 999px; background: var(--sc-danger); color: #fff; font-size: 10.5px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
.sc-wishlist-count.is-empty { display: none; }

.sc-single-wishlist { margin: 10px 0 4px; }
/* Full labeled "Add to Wishlist" button on the product page. */
.sc-wishlist-textbtn {
  width: auto; height: auto; border-radius: 999px; padding: 11px 20px; gap: 8px;
  border: 1.5px solid var(--sc-line); background: var(--sc-surface); color: var(--sc-navy-800);
  opacity: 1 !important; transform: none !important; font: 600 14.5px var(--sc-font);
}
.sc-wishlist-textbtn:hover { border-color: var(--sc-danger); color: var(--sc-danger); background: #fff; }
.sc-wishlist-textbtn.is-active { border-color: var(--sc-danger); color: var(--sc-danger); background: rgba(214,69,69,0.06); }
.sc-wishlist-textbtn.is-active svg { fill: var(--sc-danger); }

/* ---- Quick View modal ---- */
.sc-qv-modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 500; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; padding: 20px; }
/* Critical: keep the [hidden] attribute working even though .sc-qv-modal sets display:flex. */
.sc-qv-modal[hidden] { display: none !important; }
.sc-qv-modal__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; background: rgba(6,13,24,0.6); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.sc-qv-modal__dialog { position: relative; z-index: 1; background: var(--sc-surface); border-radius: var(--sc-radius-lg); max-width: 860px; width: 100%; max-height: 90vh; overflow-y: auto; box-shadow: var(--sc-shadow); }
.sc-qv-modal__close { position: absolute; top: 12px; right: 12px; inset-inline-end: 12px; z-index: 2; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #eef3f8; color: var(--sc-navy-900); font-size: 22px; cursor: pointer; }
.sc-qv-modal__close:hover { background: var(--sc-danger); color: #fff; }
.sc-qv-loading { padding: 60px; text-align: center; color: var(--sc-ink-soft); }
.sc-qv { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding: 28px; }
.sc-qv__media img { width: 100%; border-radius: var(--sc-radius); }
.sc-qv__title { font-size: 24px; margin: 0 0 8px; }
.sc-qv__price { font-size: 22px; font-weight: 800; color: var(--sc-navy-900); margin-bottom: 10px; }
.sc-qv__price ins { text-decoration: none; color: var(--sc-green-600); }
.sc-qv__desc { color: var(--sc-ink-soft); font-size: 14.5px; margin: 12px 0; }
.sc-qv__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }

/* ---- Product video ---- */
.sc-product-video { padding: 40px 0; }
.sc-container-narrow { max-width: 900px; margin-inline: auto; padding-inline: 20px; }
.sc-product-video__title { display: flex; align-items: center; gap: 8px; font-size: 22px; margin-bottom: 16px; }
.sc-product-video__title .sc-icon { color: var(--sc-green-600); }
.sc-product-video__player { width: 100%; border-radius: var(--sc-radius-lg); background: #000; box-shadow: var(--sc-shadow); }
.sc-product-video__embed { position: relative; padding-bottom: 56.25%; border-radius: var(--sc-radius-lg); overflow: hidden; box-shadow: var(--sc-shadow); }
.sc-product-video__embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---- Recently viewed ---- */
.sc-recently-viewed { background: var(--sc-bg); border-top: 1px solid var(--sc-line); }

/* ---- WhatsApp button ---- */
.sc-btn--whatsapp { background: #25d366; color: #fff; border-color: #25d366; }
.sc-btn--whatsapp:hover { background: #1eb959; border-color: #1eb959; color: #fff; box-shadow: 0 8px 22px rgba(37, 211, 102, 0.35); transform: translateY(-1px); }

/* ---- Product-page support row ---- */
.sc-product-support {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  margin-top: 18px; padding: 14px 18px; border: 1px solid var(--sc-line); border-radius: var(--sc-radius);
  background: linear-gradient(135deg, #f3f9f5, #eef4fb);
}
.sc-product-support__label { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: var(--sc-navy-900); }
.sc-product-support__label .sc-icon { color: var(--sc-green-600); }
.sc-product-support__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* ---- Shop: hero header, chips, toolbar, sidebar category list ---- */
.sc-shop-hero { margin-bottom: 18px; }
.sc-shop-hero__title { font-size: clamp(26px, 3.6vw, 38px); margin-bottom: 6px; }
.sc-shop-hero__sub { color: var(--sc-ink-soft); margin: 0; max-width: 640px; }

.sc-shop-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; padding-bottom: 4px; }
.sc-chip {
  display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px;
  border: 1.5px solid var(--sc-line); background: var(--sc-surface); color: var(--sc-navy-800);
  font-weight: 600; font-size: 14px; white-space: nowrap; transition: all 0.16s ease;
}
.sc-chip:hover { border-color: var(--sc-green-500); color: var(--sc-green-600); }
.sc-chip.is-active { background: var(--sc-navy-900); border-color: var(--sc-navy-900); color: #fff; }
.sc-chip.is-active:hover { color: var(--sc-green-glow); }
.sc-chip__count { font-size: 11px; font-weight: 700; background: rgba(0,0,0,0.06); border-radius: 999px; padding: 1px 7px; }
.sc-chip.is-active .sc-chip__count { background: rgba(255,255,255,0.18); color: #fff; }

.sc-shop-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  margin-bottom: 22px; padding: 12px 16px; background: var(--sc-surface);
  border: 1px solid var(--sc-line); border-radius: var(--sc-radius);
}
.sc-shop-toolbar .woocommerce-result-count { margin: 0; }
.sc-shop-toolbar .woocommerce-ordering { margin: 0; }

.sc-filter-group { margin-bottom: 22px; }
.sc-filter-group:last-child { margin-bottom: 0; }
.sc-filter-group__title { font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--sc-ink-soft); margin-bottom: 12px; }
.sc-cat-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.sc-cat-list li a {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 9px 12px; border-radius: 10px; color: var(--sc-navy-800); font-weight: 500; font-size: 14.5px;
}
.sc-cat-list li a span { font-size: 12px; color: var(--sc-ink-soft); background: #eef3f8; border-radius: 999px; padding: 1px 9px; }
.sc-cat-list li a:hover { background: rgba(31,168,79,0.07); color: var(--sc-green-600); }
.sc-cat-list li.is-active a { background: rgba(31,168,79,0.1); color: var(--sc-green-700); font-weight: 700; }
.sc-cat-list li.is-active a span { background: var(--sc-green-500); color: #fff; }

/* ---- Scroll reveal (progressive, flash-free, reduced-motion safe) ---- */
.sc-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s ease; will-change: opacity, transform; }
.sc-reveal.sc-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .sc-reveal { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ---- Responsive ---- */
@media (max-width: 1100px) {
  .sc-why__grid, .sc-how__steps { grid-template-columns: repeat(2, 1fr); }
  .sc-categories__grid { grid-template-columns: repeat(3, 1fr); }
  .woocommerce ul.products, ul.products,
  .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); }
  .sc-footer__grid { grid-template-columns: repeat(3, 1fr); }
  .sc-account-cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .sc-nav { display: none; }
  .sc-header__burger { display: inline-flex; }
  .sc-hero__inner { grid-template-columns: 1fr; padding-block: 60px; gap: 34px; }
  .sc-hero__media { order: -1; }
  .sc-trust__grid { grid-template-columns: repeat(2, 1fr); }
  .single-product div.product { grid-template-columns: 1fr; }
  .single-product div.product .woocommerce-product-gallery { position: static; }
  .sc-compat__inner, .sc-about__inner { grid-template-columns: 1fr; }
  .sc-page__layout { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; }
  .sc-shop-layout { grid-template-columns: 1fr; }
  .sc-shop-filters {
    position: fixed; inset-block: 0; inset-inline-start: 0; z-index: 430; width: min(320px, 86vw);
    border-radius: 0; overflow-y: auto; transform: translateX(-102%); transition: transform 0.24s ease; top: 0;
  }
  [dir="rtl"] .sc-shop-filters { transform: translateX(102%); }
  .sc-shop-filters { box-shadow: 8px 0 40px rgba(6,13,24,0.18); padding-top: 18px; }
  .sc-shop-filters.is-open { transform: translateX(0); }
  .sc-shop-filters__close { display: inline-flex; }
  .sc-shop-filters__open { display: inline-flex; margin-bottom: 16px; width: 100%; justify-content: center; }
  /* Chips scroll horizontally on smaller screens. */
  .sc-shop-chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-inline: -20px; padding-inline: 20px; margin-bottom: 18px; }
  .sc-shop-chips::-webkit-scrollbar { display: none; }
  /* Toolbar stacks: result count over full-width sorting. */
  .sc-shop-toolbar { flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 14px; }
  .sc-shop-toolbar .woocommerce-ordering, .sc-shop-toolbar .woocommerce-ordering select { width: 100%; }
  .sc-product-support { flex-direction: column; align-items: flex-start; }
  .sc-product-support__actions { width: 100%; }
  .sc-product-support__actions .sc-btn { flex: 1; }
  .sc-shop-hero { margin-bottom: 14px; }
}

@media (max-width: 640px) {
  .sc-section { padding: 46px 0; }
  /* Shop stays a real 2-column grid on phones (compact cards, not giant boxes). */
  .woocommerce ul.products, ul.products,
  .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr); gap: 14px;
  }
  .sc-post-grid { grid-template-columns: 1fr; }
  /* Compact product cards for mobile. */
  .sc-product-card__body { padding: 12px 12px 14px; gap: 5px; }
  .woocommerce-loop-product__title { font-size: 14.5px; line-height: 1.3; }
  .sc-card-meta { font-size: 11.5px; }
  .sc-compat-line { font-size: 11.5px; }
  .sc-product-card .price { font-size: 15px; }
  .sc-product-card__actions { flex-direction: column; gap: 8px; padding-top: 8px; }
  .sc-product-card__actions .button, .sc-product-card__actions .added_to_cart, .sc-product-card__view { width: 100%; padding: 10px 12px; font-size: 13.5px; }
  .sc-badges { top: 8px; inset-inline-start: 8px; gap: 4px; }
  .sc-badge { font-size: 9px; padding: 3px 6px; }
  .sc-categories__grid, .sc-why__grid, .sc-how__steps, .sc-trust__grid, .sc-account-cards { grid-template-columns: 1fr; }
  .sc-footer__grid { grid-template-columns: 1fr 1fr; padding-block: 44px 30px; }
  .sc-footer__brand { grid-column: 1 / -1; }
  .sc-form-grid { grid-template-columns: 1fr; }
  .sc-hero__actions .sc-btn { flex: 1; }
  .sc-hero__title { font-size: clamp(30px, 9vw, 40px); }
  .woocommerce-cart .coupon { flex-direction: column; }
  .sc-compat__panel { grid-template-columns: 1fr 1fr; }
  .sc-shop-hero__title { font-size: clamp(24px, 7vw, 30px); }
  .sc-qv { grid-template-columns: 1fr; padding: 20px; gap: 16px; }
  .sc-qv-modal { padding: 12px; }
}

/* Only the smallest phones fall back to a single column. */
@media (max-width: 359px) {
  .woocommerce ul.products, ul.products,
  .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-2 {
    grid-template-columns: 1fr;
  }
  .sc-product-card__actions { flex-direction: row; }
  .sc-product-card__actions .button, .sc-product-card__view { flex: 1; width: auto; }
}

/* =====================================================================
   v1.1.0 polish — WooCommerce cart / checkout / account + primary menu
   Appended so these rules win over earlier ones in the cascade.
   ===================================================================== */

/* --- On cart/checkout/account, let inner components be the cards --- */
.woocommerce-cart .sc-article,
.woocommerce-checkout .sc-article,
.woocommerce-account .sc-article {
  background: transparent; border: 0; border-radius: 0; padding: 0;
}
.woocommerce-cart .sc-page__title,
.woocommerce-checkout .sc-page__title,
.woocommerce-account .sc-page__title { margin-bottom: 22px; }

/* Stop generic prose table borders from fighting WooCommerce tables. */
.sc-prose .woocommerce table.shop_table th,
.sc-prose .woocommerce table.shop_table td,
.sc-prose .woocommerce table td,
.sc-prose .woocommerce table th { border-left: 0; border-right: 0; border-top: 0; }
.sc-prose .woocommerce table.shop_table th,
.sc-prose .woocommerce table.shop_table td { border-bottom: 1px solid var(--sc-line); padding: 15px 18px; }
.sc-prose .woocommerce { font-size: 15px; }

/* ---------- CART: two-column, items + sticky summary ---------- */
.woocommerce-cart .woocommerce {
  display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 28px; align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; min-width: 0; }
.woocommerce-cart .cart-collaterals { grid-column: 2; width: 100%; }
.woocommerce-cart .cart-collaterals .cross-sells { grid-column: 1 / -1; }

.woocommerce-cart table.cart {
  border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); overflow: hidden;
  box-shadow: var(--sc-shadow-sm); background: var(--sc-surface); table-layout: fixed; width: 100%;
}
.woocommerce-cart table.cart thead th { background: #f2f7fb; }
/* Fixed column widths so the table never overflows its grid column. */
.woocommerce-cart table.cart th, .woocommerce-cart table.cart td { padding: 14px 10px; }
.woocommerce-cart table.cart thead th { font-size: 11px; letter-spacing: 0.04em; }
.woocommerce-cart table.cart th.product-remove, .woocommerce-cart table.cart td.product-remove { width: 42px; padding-inline: 8px; }
.woocommerce-cart table.cart th.product-thumbnail, .woocommerce-cart table.cart td.product-thumbnail { width: 76px; }
.woocommerce-cart table.cart th.product-price, .woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-subtotal, .woocommerce-cart table.cart td.product-subtotal { width: 108px; text-align: end; }
.woocommerce-cart table.cart th.product-quantity, .woocommerce-cart table.cart td.product-quantity { width: 92px; }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal { font-weight: 600; white-space: nowrap; }
.woocommerce-cart table.cart img { width: 72px; height: 72px; object-fit: cover; border-radius: 12px; border: 1px solid var(--sc-line); }
.woocommerce-cart table.cart td.product-name a { font-weight: 700; color: var(--sc-navy-900); }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--sc-green-600); }
.woocommerce-cart table.cart td { vertical-align: middle; }
.woocommerce-cart table.cart .quantity .qty {
  width: 66px; text-align: center; border: 1.5px solid var(--sc-line); border-radius: 10px; padding: 8px 6px;
}

/* Coupon + update row */
.woocommerce-cart table.cart td.actions {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  background: #f8fbfe; padding: 16px 18px;
}
.woocommerce-cart table.cart td.actions button { white-space: nowrap; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; align-items: center; }
.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: 200px; max-width: 48vw; border: 1.5px solid var(--sc-line); border-radius: 999px; padding: 11px 16px;
}
.woocommerce-cart table.cart td.actions button[name="apply_coupon"] {
  background: var(--sc-navy-900); color: #fff; border-radius: 999px; padding: 11px 20px;
}
.woocommerce-cart table.cart td.actions button[name="apply_coupon"]:hover { background: var(--sc-green-600); }
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
  background: #fff; color: var(--sc-navy-900); border: 1.5px solid var(--sc-line); border-radius: 999px; padding: 11px 20px;
}
.woocommerce-cart table.cart td.actions button[name="update_cart"]:hover { border-color: var(--sc-green-500); color: var(--sc-green-600); }

/* Cart totals summary card */
.woocommerce-cart .cart_totals {
  position: sticky; top: calc(var(--sc-header-h) + 16px);
  border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); padding: 26px 24px;
  background: linear-gradient(160deg, #ffffff, #f4f9fc); box-shadow: var(--sc-shadow-sm);
}
.woocommerce-cart .cart_totals h2 { margin: 0 0 14px; font-size: 20px; color: var(--sc-navy-900); }
.woocommerce-cart .cart_totals table { border: 0; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td {
  border: 0; border-bottom: 1px dashed var(--sc-line); padding: 12px 0; background: transparent; font-size: 15px;
}
.woocommerce-cart .cart_totals .order-total th, .woocommerce-cart .cart_totals .order-total td {
  border-bottom: 0; font-size: 18px; font-weight: 800; color: var(--sc-navy-900); padding-top: 14px;
}
.woocommerce-cart .wc-proceed-to-checkout { padding-top: 18px; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  width: 100%; text-align: center; font-size: 16px; font-weight: 700; padding: 15px;
  border-radius: 999px; background: linear-gradient(135deg, var(--sc-green-600), var(--sc-green-400)); color: #fff;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { filter: brightness(1.05); }

/* ---------- CHECKOUT: two-column, billing + sticky order review ---------- */
.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid; grid-template-columns: minmax(0,1fr) 400px;
  grid-template-areas: "details review-heading" "details review"; grid-template-rows: auto 1fr;
  gap: 0 30px; align-items: start;
}
.woocommerce-checkout #customer_details { grid-area: details; min-width: 0; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 8px; }
.woocommerce-checkout #order_review_heading { grid-area: review-heading; margin: 4px 0 12px; font-size: 18px; }
.woocommerce-checkout #order_review { grid-area: review; position: sticky; top: calc(var(--sc-header-h) + 16px); }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout #order_review {
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg);
  padding: 26px; box-shadow: var(--sc-shadow-sm); margin-bottom: 20px;
}
.woocommerce-checkout #order_review { padding: 22px; }
.woocommerce-checkout .col2-set { display: flex; flex-direction: column; gap: 0; }
.woocommerce-checkout .form-row { margin-bottom: 14px; }
.woocommerce-checkout #order_review table.shop_table { border: 0; box-shadow: none; }
.woocommerce-checkout #order_review table.shop_table td, .woocommerce-checkout #order_review table.shop_table th {
  padding: 12px 4px; background: transparent;
}
.woocommerce-checkout #order_review .order-total th, .woocommerce-checkout #order_review .order-total td {
  font-size: 18px; font-weight: 800; color: var(--sc-navy-900);
}
.woocommerce-checkout #payment { background: transparent; border-radius: 0; padding: 6px 0 0; }
.woocommerce-checkout #place_order {
  width: 100%; border-radius: 999px; font-size: 16.5px; font-weight: 700; padding: 16px;
  background: linear-gradient(135deg, var(--sc-green-600), var(--sc-green-400)); color: #fff; border: 0;
}
.woocommerce-checkout #place_order:hover { filter: brightness(1.05); }

/* ---------- MY ACCOUNT: alignment polish ---------- */
/* Keep nav + content side-by-side even when WooCommerce injects an (empty)
   notices wrapper as the grid's first child. Explicitly place each area. */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; }
.woocommerce-account .woocommerce-MyAccount-content { padding: clamp(22px, 3vw, 34px); }
.woocommerce-account .woocommerce-MyAccount-content > h2:first-child,
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 8px; }
.woocommerce-account .addresses .woocommerce-Address { background: #f8fbfe; border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 20px; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; }
.woocommerce-account table.account-orders-table td, .woocommerce-account table.account-orders-table th { vertical-align: middle; }

/* ---------- Responsive: stack the two-column layouts ---------- */
@media (max-width: 960px) {
  .woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-cart .cart-collaterals, .woocommerce-cart form.woocommerce-cart-form { grid-column: 1; }
  .woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; grid-template-areas: none; }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #customer_details { grid-column: 1; grid-area: auto; }
  .woocommerce-cart .cart_totals, .woocommerce-checkout #order_review { position: static; }
  /* Account: stack nav over content on mobile (was pinned to column 2). */
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  /* Cart table → stacked cards on phones (no more overlapping name/price). */
  .woocommerce-cart table.cart { table-layout: auto; border: 0; box-shadow: none; background: transparent; border-radius: 0; }
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tbody { display: block; }
  .woocommerce-cart table.cart tbody tr.cart_item {
    display: block; position: relative; background: var(--sc-surface); border: 1px solid var(--sc-line);
    border-radius: 16px; padding: 12px 16px 6px; margin-bottom: 14px; box-shadow: var(--sc-shadow-sm);
  }
  .woocommerce-cart table.cart tbody tr.cart_item td {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    width: auto !important; text-align: end; padding: 11px 0; border: 0; border-bottom: 1px dashed var(--sc-line);
  }
  .woocommerce-cart table.cart tbody tr.cart_item td:last-child { border-bottom: 0; }
  .woocommerce-cart table.cart tbody tr.cart_item td::before {
    content: attr(data-title); font-weight: 700; color: var(--sc-ink-soft);
    font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; text-align: start; flex: 0 0 auto;
  }
  /* Product image on top, no label; remove button floats top-right. */
  .woocommerce-cart table.cart td.product-thumbnail { justify-content: flex-start; border-bottom: 0; padding-bottom: 4px; }
  .woocommerce-cart table.cart td.product-thumbnail::before { display: none; }
  .woocommerce-cart table.cart td.product-thumbnail img { width: 64px; height: 64px; }
  .woocommerce-cart table.cart td.product-name { font-weight: 700; }
  .woocommerce-cart table.cart td.product-remove {
    position: absolute; top: 10px; inset-inline-end: 10px; padding: 0; border: 0; width: auto;
  }
  .woocommerce-cart table.cart td.product-remove::before { display: none; }
  .woocommerce-cart table.cart td.product-quantity { justify-content: space-between; }
  .woocommerce-cart table.cart td.product-quantity .quantity .qty { width: 74px; }
  /* Coupon + update actions become a full-width block card. */
  .woocommerce-cart table.cart tr:not(.cart_item) td.actions {
    display: block; background: transparent; padding: 4px 0 0; border: 0;
  }
  .woocommerce-cart table.cart td.actions::before { display: none; }
  .woocommerce-cart table.cart td.actions .coupon { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { width: 100%; max-width: none; }
  .woocommerce-cart table.cart td.actions .coupon button,
  .woocommerce-cart table.cart td.actions button[name="update_cart"] { width: 100%; }
}

/* ---------- PRIMARY MENU: animated underline + refined utility ---------- */
.sc-nav__list, .sc-nav ul { gap: 2px; }
.sc-nav a {
  position: relative; padding: 10px 15px; font-size: 15px; font-weight: 600;
  color: var(--sc-navy-800); letter-spacing: 0.005em; border-radius: 8px;
  transition: color 0.18s ease;
}
.sc-nav > .sc-nav__list > li > a::after,
.sc-nav > ul > li > a::after {
  content: ""; position: absolute; left: 15px; right: 15px; bottom: 5px; height: 2px;
  background: linear-gradient(90deg, var(--sc-green-500), var(--sc-green-glow));
  border-radius: 2px; transform: scaleX(0); transform-origin: left; transition: transform 0.24s ease;
}
.sc-nav a:hover { color: var(--sc-navy-900); background: transparent; }
.sc-nav > .sc-nav__list > li > a:hover::after,
.sc-nav > ul > li > a:hover::after,
.sc-nav .current-menu-item > a::after,
.sc-nav .current_page_item > a::after,
.sc-nav .current-menu-parent > a::after { transform: scaleX(1); }
.sc-nav .current-menu-item > a, .sc-nav .current_page_item > a, .sc-nav .current-menu-parent > a { color: var(--sc-navy-900); }
.sc-nav .sub-menu {
  padding: 10px; border-radius: 14px; box-shadow: 0 18px 40px rgba(11,27,51,0.16); border-color: rgba(11,27,51,0.08);
  margin-top: 6px;
}
.sc-nav .sub-menu a { border-radius: 9px; font-size: 14px; }
.sc-nav .sub-menu a:hover { background: rgba(31,168,79,0.08); color: var(--sc-green-600); }
.sc-nav .sub-menu li > a::after { display: none; }

/* Utility icons: rounder hover, cart badge pop */
.sc-header__utility { gap: 2px; }
.sc-utility__btn { padding: 9px 10px; border-radius: 12px; }
.sc-utility__btn:hover { background: rgba(31,168,79,0.10); color: var(--sc-green-600); }
.sc-cart-count { box-shadow: 0 2px 6px rgba(26,143,84,0.45); }

/* Checkout payment methods — clean list, no bullets */
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0 0 12px; padding: 0; border: 0; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 12px 2px; border-bottom: 1px dashed var(--sc-line); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; margin: 0; }
.woocommerce-checkout #payment .payment_box { flex: 1 0 100%; background: #f6f9fc; border-radius: 10px; padding: 10px 14px; margin-top: 4px; font-size: 13px; color: var(--sc-ink-soft); }
.woocommerce-checkout #payment .payment_box p { margin: 0; }

/* WooCommerce notices — remove the built-in ::before icon that can overlap the
   text (shows as a stray box when the WooCommerce icon font isn't loaded), and
   lay the notice out cleanly with the action button on the right. */
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before,
.woocommerce-noreviews::before, .woocommerce-store-notice::before,
.woocommerce ul.woocommerce-error li::before { display: none !important; content: "" !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap;
  padding: 16px 20px; line-height: 1.5;
}
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
  margin: 0 0 0 auto; flex: 0 0 auto;
}

/* =====================================================================
   Eliminate WooCommerce icon-font pseudo-elements site-wide. When the
   WooCommerce icon font isn't present these render as stray boxes that
   overlap text (notices, form validation ticks, account links, etc.).
   Star ratings keep their own glyphs and are intentionally excluded.
   ===================================================================== */
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before,
.woocommerce-noreviews::before, .woocommerce-store-notice::before, .demo_store::before,
.woocommerce-message::after, .woocommerce-info::after, .woocommerce-error::after,
.woocommerce-Message::before, .wc-block-components-notice-banner::before,
.woocommerce form .form-row.woocommerce-invalid label::before,
.woocommerce form .form-row.woocommerce-validated label::before,
.woocommerce form .woocommerce-form-row.woocommerce-invalid label::before,
.woocommerce form .woocommerce-form-row.woocommerce-validated label::before,
.woocommerce-input-wrapper .woocommerce-password-hint::before,
.woocommerce a.remove::after,
.woocommerce-MyAccount-downloads-file::before,
.woocommerce-MyAccount-navigation li a::before,
.woocommerce-MyAccount-navigation li a::after,
.woocommerce ul.order_details li::before,
.woocommerce-table--order-downloads .download-file::before,
.woocommerce .woocommerce-order-overview li::before {
  content: none !important; display: none !important;
}
/* Profile photo block on the Account-details page */
.sc-profile-photo { display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  background: var(--sc-surface); border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg);
  padding: 20px 22px; margin-bottom: 22px; }
.sc-profile-photo__img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; border: 2px solid var(--sc-line); background: #eef3f8; }
.sc-profile-photo__body { flex: 1; min-width: 220px; }
.sc-profile-photo__body h3 { margin: 0 0 4px; font-size: 16px; }
.sc-profile-photo__body p { margin: 0 0 10px; color: var(--sc-ink-soft); font-size: 13.5px; }
.sc-profile-photo input[type="file"] { font-size: 13px; }
.sc-profile-photo__actions { display: flex; gap: 10px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
