/* ==========================================================================
   Stacker Code — main.css
   Design tokens live as CSS custom properties on :root.
   functions.php injects Customizer overrides BEFORE this file loads, so
   the values below are fallbacks. Change branding in Appearance > Customize.
   ========================================================================== */

:root {
  /* Color — overridable via Customizer */
  --sc-bg:            #ffffff;
  --sc-surface:       #f7f8fa;
  --sc-card:          #ffffff;
  --sc-ink:           #1b1f24;   /* charcoal */
  --sc-ink-soft:      #4a5158;
  --sc-ink-faint:     #6b727a;
  --sc-line:          #e6e9ee;
  --sc-accent:        #2f5fd6;   /* subtle blue */
  --sc-accent-ink:    #1e47ab;
  --sc-accent-wash:   #eef3fe;
  --sc-btn-text:      #ffffff;
  --sc-focus:         #ffb020;

  /* Type — overridable via Customizer */
  --sc-font-display:  "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --sc-font-body:     "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --sc-fs-base:       16px;

  /* Shape / space — overridable via Customizer */
  --sc-radius:        14px;
  --sc-radius-sm:     10px;
  --sc-radius-pill:   999px;
  --sc-gap:           clamp(1rem, 2.5vw, 2rem);
  --sc-section-y:     clamp(3.5rem, 7vw, 6rem);
  --sc-maxw:          1200px;

  --sc-shadow-sm:     0 1px 2px rgba(20,24,30,.05), 0 1px 3px rgba(20,24,30,.06);
  --sc-shadow-md:     0 6px 20px rgba(20,24,30,.06), 0 2px 6px rgba(20,24,30,.05);
  --sc-shadow-lg:     0 18px 48px rgba(20,24,30,.10);
}

/* ---------- 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:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}
body {
  margin: 0;
  font-family: var(--sc-font-body);
  font-size: var(--sc-fs-base);
  line-height: 1.6;
  color: var(--sc-ink);
  background: var(--sc-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--sc-accent-ink); text-underline-offset: 2px; }
h1,h2,h3,h4 { font-family: var(--sc-font-display); color: var(--sc-ink); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 .5em; font-weight: 800; }
h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); }
h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); font-weight: 700; }
p { margin: 0 0 1rem; color: var(--sc-ink-soft); }

/* ---------- Accessibility ---------- */
:focus-visible { outline: 3px solid var(--sc-focus); outline-offset: 2px; border-radius: 4px; }
.skip-link {
  position:absolute; left:-999px; top:0; z-index:1000;
  background:var(--sc-ink); color:#fff; padding:.75rem 1rem; border-radius:0 0 var(--sc-radius-sm) 0;
}
.skip-link:focus { left:0; }
.screen-reader-text {
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; word-wrap:normal!important;
}

/* ---------- Layout ---------- */
.sc-wrap { width: min(100% - 2.4rem, var(--sc-maxw)); margin-inline: auto; }
.sc-section { padding-block: var(--sc-section-y); }
.sc-section--surface { background: var(--sc-surface); }
.sc-eyebrow {
  font-family: var(--sc-font-display); font-weight: 700; font-size: .8rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--sc-accent);
  display: inline-flex; align-items: center; gap: .55rem; margin-bottom: .9rem;
}
.sc-eyebrow::before { content:""; width: 26px; height: 2px; background: var(--sc-accent); border-radius: 2px; }
.sc-lede { font-size: 1.075rem; color: var(--sc-ink-soft); max-width: 56ch; }

/* Signature: routed "cleaning path" divider */
.sc-rail {
  height: 2px; border: 0; margin: 0;
  background-image: repeating-linear-gradient(90deg, var(--sc-line) 0 22px, transparent 22px 30px);
}

/* ---------- Buttons ---------- */
.sc-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family: var(--sc-font-display); font-weight: 700; font-size: .98rem;
  padding: .85rem 1.4rem; border-radius: var(--sc-radius-sm);
  border: 1.5px solid transparent; cursor: pointer; text-decoration: none;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.sc-btn--primary { background: var(--sc-accent); color: var(--sc-btn-text); }
.sc-btn--primary:hover { background: var(--sc-accent-ink); transform: translateY(-1px); box-shadow: var(--sc-shadow-md); }
.sc-btn--ghost { background: transparent; color: var(--sc-ink); border-color: var(--sc-line); }
.sc-btn--ghost:hover { border-color: var(--sc-ink); transform: translateY(-1px); }
.sc-btn--sm { padding: .55rem .95rem; font-size: .875rem; }

/* ---------- Header ---------- */
.sc-announce {
  background: var(--sc-ink); color: #eef1f5; text-align: center;
  font-size: .85rem; padding: .5rem 1rem; letter-spacing: .01em;
}
.sc-announce a { color: #fff; }
.sc-header { position: sticky; top: 0; z-index: 100; background: color-mix(in srgb, var(--sc-bg) 88%, transparent); backdrop-filter: saturate(1.2) blur(8px); border-bottom: 1px solid var(--sc-line); }
.sc-header__inner { display:flex; align-items:center; gap: 1.25rem; min-height: 68px; }
.sc-brand { display:flex; flex-direction: column; text-decoration: none; margin-right: auto; }
.sc-brand__name { font-family: var(--sc-font-display); font-weight: 800; font-size: 1.35rem; color: var(--sc-ink); letter-spacing: -.02em; line-height: 1; }
.sc-brand__rail { height: 3px; width: 100%; margin-top: 5px; border-radius: 3px;
  background-image: repeating-linear-gradient(90deg, var(--sc-accent) 0 10px, transparent 10px 16px); opacity:.85; }
.sc-brand img { max-height: 40px; width: auto; }
.sc-nav ul { list-style:none; display:flex; gap: 1.5rem; margin:0; padding:0; }
.sc-nav a { text-decoration:none; color: var(--sc-ink-soft); font-weight: 600; font-size: .96rem; padding: .4rem 0; position: relative; }
.sc-nav a:hover, .sc-nav .current-menu-item > a { color: var(--sc-ink); }
.sc-nav .current-menu-item > a::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background: var(--sc-accent); border-radius:2px; }
.sc-header__actions { display:flex; align-items:center; gap: .35rem; }
.sc-iconbtn { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius: var(--sc-radius-sm); color: var(--sc-ink); background: transparent; border:0; cursor:pointer; text-decoration:none; position:relative; }
.sc-iconbtn:hover { background: var(--sc-surface); }
.sc-cart-count { position:absolute; top:4px; right:4px; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background: var(--sc-accent); color:#fff; font-size:.68rem; font-weight:700; display:flex; align-items:center; justify-content:center; line-height:1; }
.sc-header__actions .sc-btn { margin-left: .35rem; }
.sc-burger { display:none; }

/* Mobile nav */
.sc-mnav { display:none; }
@media (max-width: 900px) {
  .sc-nav, .sc-header__actions .sc-btn--cta-desktop { display:none; }
  .sc-burger { display:inline-flex; }
  .sc-mnav { display:block; position: fixed; inset: 0 0 0 auto; width: min(84vw, 340px);
    background: var(--sc-bg); box-shadow: var(--sc-shadow-lg); transform: translateX(100%);
    transition: transform .25s ease; z-index: 200; padding: 1.25rem; overflow-y:auto; }
  .sc-mnav[data-open="true"] { transform: translateX(0); }
  .sc-mnav ul { list-style:none; margin: .5rem 0 0; padding:0; }
  .sc-mnav li { border-bottom: 1px solid var(--sc-line); }
  .sc-mnav a { display:block; padding: .95rem .25rem; text-decoration:none; color: var(--sc-ink); font-weight:600; }
  .sc-mnav__head { display:flex; justify-content: space-between; align-items:center; }
  .sc-mnav .sc-btn { width:100%; margin-top: 1rem; }
  .sc-scrim { position:fixed; inset:0; background: rgba(15,18,22,.4); z-index:150; opacity:0; visibility:hidden; transition:.2s; }
  .sc-scrim[data-open="true"] { opacity:1; visibility:visible; }
}

/* ---------- Hero ---------- */
.sc-hero { padding-block: clamp(2.5rem, 6vw, 5rem); background: linear-gradient(180deg, var(--sc-accent-wash) 0%, var(--sc-bg) 70%); }
.sc-hero__grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items:center; }
.sc-hero h1 { margin-bottom: .5rem; }
.sc-hero__cta { display:flex; flex-wrap:wrap; gap: .75rem; margin-top: 1.6rem; }
.sc-hero__media { position:relative; }
.sc-hero__media img { border-radius: var(--sc-radius); box-shadow: var(--sc-shadow-lg); width:100%; object-fit:cover; }
.sc-hero__ph { aspect-ratio: 4/3; border-radius: var(--sc-radius); background:
  radial-gradient(120% 100% at 70% 20%, #e9eefb 0, #dfe6f6 40%, #d6def2 100%);
  display:flex; align-items:center; justify-content:center; color: var(--sc-accent); box-shadow: var(--sc-shadow-lg); }
@media (max-width: 780px){ .sc-hero__grid { grid-template-columns: 1fr; } .sc-hero__media { order:-1; } }

/* ---------- Card grids ---------- */
.sc-grid { display:grid; gap: var(--sc-gap); }
.sc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.sc-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px){ .sc-grid--4 { grid-template-columns: repeat(2,1fr); } .sc-grid--3 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .sc-grid--4, .sc-grid--3 { grid-template-columns: 1fr; } }

.sc-card { background: var(--sc-card); border: 1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 1.5rem; box-shadow: var(--sc-shadow-sm); transition: box-shadow .2s ease, transform .2s ease; }
.sc-card:hover { box-shadow: var(--sc-shadow-md); transform: translateY(-2px); }
.sc-card__icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius: var(--sc-radius-sm); background: var(--sc-accent-wash); color: var(--sc-accent); margin-bottom: 1rem; }
.sc-card h3 { margin-bottom: .35rem; }
.sc-card p { margin: 0; font-size: .96rem; }

/* ---------- Section header ---------- */
.sc-shead { max-width: 60ch; margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.sc-shead--center { margin-inline:auto; text-align:center; }

/* ---------- Split feature ---------- */
.sc-split { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem,4vw,3.5rem); align-items:center; }
.sc-split__media img, .sc-split__ph { border-radius: var(--sc-radius); box-shadow: var(--sc-shadow-md); width:100%; }
.sc-split__ph { aspect-ratio: 4/3; background: radial-gradient(120% 100% at 30% 30%, #eef1f6 0, #e3e8f1 100%); display:flex; align-items:center; justify-content:center; color: var(--sc-ink-faint); }
@media (max-width: 780px){ .sc-split { grid-template-columns: 1fr; } .sc-split--rev .sc-split__media { order:-1; } }

/* ---------- Steps ---------- */
.sc-steps { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--sc-gap); counter-reset: step; }
.sc-step { padding: 1.5rem; border:1px solid var(--sc-line); border-radius: var(--sc-radius); background: var(--sc-card); }
.sc-step__n { font-family: var(--sc-font-display); font-weight: 800; font-size: 1.05rem; color: var(--sc-accent); letter-spacing: .04em; }
.sc-step__rail { height:2px; margin:.6rem 0 1rem; background-image: repeating-linear-gradient(90deg, var(--sc-accent) 0 8px, transparent 8px 14px); }
@media (max-width: 780px){ .sc-steps { grid-template-columns: 1fr; } }

/* ---------- Shop by Category tiles ---------- */
.sc-cats { display:grid; grid-template-columns: repeat(5, 1fr); gap: var(--sc-gap); }
.sc-cat { text-decoration:none; color: var(--sc-ink); display:flex; flex-direction:column; gap:.6rem; }
.sc-cat__img { aspect-ratio: 1; border-radius: var(--sc-radius); overflow:hidden; border:1px solid var(--sc-line); background: var(--sc-surface); box-shadow: var(--sc-shadow-sm); transition:.18s; display:flex; align-items:center; justify-content:center; }
.sc-cat__img img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; padding:10px; }
.sc-cat:hover .sc-cat__img { box-shadow: var(--sc-shadow-md); transform: translateY(-2px); border-color: var(--sc-accent); }
.sc-cat__ph { display:flex; align-items:center; justify-content:center; color: var(--sc-accent); background: var(--sc-accent-wash); width:64px; height:64px; border-radius: var(--sc-radius-sm); }
.sc-cat__label { font-family: var(--sc-font-display); font-weight:700; font-size:.98rem; }
@media (max-width: 900px){ .sc-cats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px){ .sc-cats { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Budget tiles ---------- */
.sc-budget { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--sc-gap); }
.sc-budget a { text-decoration:none; color:var(--sc-ink); border:1px solid var(--sc-line); border-radius: var(--sc-radius); padding: 1.5rem; display:flex; flex-direction:column; gap:.4rem; background: var(--sc-card); transition:.18s; }
.sc-budget a:hover { border-color: var(--sc-accent); box-shadow: var(--sc-shadow-md); transform: translateY(-2px); }
.sc-budget strong { font-family: var(--sc-font-display); font-size: 1.35rem; }
@media (max-width: 780px){ .sc-budget { grid-template-columns:1fr; } }

/* ---------- FAQ ---------- */
.sc-faq { max-width: 820px; margin-inline:auto; }
.sc-faq details { border:1px solid var(--sc-line); border-radius: var(--sc-radius-sm); padding: .25rem 1.1rem; margin-bottom: .75rem; background: var(--sc-card); }
.sc-faq summary { cursor:pointer; font-family: var(--sc-font-display); font-weight:700; padding: .95rem 0; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.sc-faq summary::-webkit-details-marker { display:none; }
.sc-faq summary::after { content:"+"; font-size:1.4rem; color:var(--sc-accent); line-height:1; }
.sc-faq details[open] summary::after { content:"–"; }
.sc-faq details p { padding-bottom: 1rem; margin:0; }

/* ---------- CTA band ---------- */
.sc-ctaband { background: var(--sc-ink); border-radius: var(--sc-radius); padding: clamp(2rem,5vw,3.5rem); text-align:center; color:#fff; }
.sc-ctaband h2 { color:#fff; }
.sc-ctaband p { color:#c7ccd3; }

/* ---------- Footer ---------- */
.sc-footer { background: var(--sc-surface); border-top:1px solid var(--sc-line); padding-block: clamp(2.5rem,5vw,4rem) 1.5rem; margin-top: var(--sc-section-y); }
.sc-footer__grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: var(--sc-gap); }
.sc-footer h4 { font-size: .82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sc-ink-faint); margin-bottom: 1rem; }
.sc-footer ul { list-style:none; margin:0; padding:0; }
.sc-footer li { margin-bottom:.6rem; }
.sc-footer a { color: var(--sc-ink-soft); text-decoration:none; font-size:.95rem; }
.sc-footer a:hover { color: var(--sc-ink); }
.sc-footer__brand .sc-brand__name { color: var(--sc-ink); }
.sc-footer__desc { font-size:.95rem; max-width: 34ch; margin-top:.75rem; }
.sc-footer__contact { font-size:.9rem; color:var(--sc-ink-soft); margin-top:1rem; font-style:normal; line-height:1.7; }
.sc-footer__bottom { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; margin-top:2.5rem; padding-top:1.25rem; border-top:1px solid var(--sc-line); font-size:.85rem; color:var(--sc-ink-faint); }
.sc-footer__legal { display:flex; flex-wrap:wrap; gap:1rem; }
.sc-footer__legal a { font-size:.85rem; }
.sc-social { display:flex; gap:.5rem; margin-top:1rem; }
.sc-social a { width:38px; height:38px; border-radius:var(--sc-radius-sm); border:1px solid var(--sc-line); display:flex; align-items:center; justify-content:center; color:var(--sc-ink-soft); }
@media (max-width: 820px){ .sc-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px){ .sc-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Page/content ---------- */
.sc-page { padding-block: var(--sc-section-y); }
.sc-page__head { margin-bottom: 2rem; }
.sc-prose { max-width: 760px; }
.sc-prose h2 { margin-top: 2rem; }
.sc-prose h3 { margin-top: 1.5rem; }
.sc-prose ul { padding-left: 1.2rem; color: var(--sc-ink-soft); }
.sc-prose li { margin-bottom: .4rem; }
.sc-breadcrumbs { font-size:.85rem; color:var(--sc-ink-faint); margin-bottom:1rem; }
.sc-breadcrumbs a { color:var(--sc-ink-soft); text-decoration:none; }

/* Editable-placeholder marker (visible only to logged-in editors via body class) */
.sc-placeholder { border-left:3px solid var(--sc-focus); background:#fff9ec; padding:.75rem 1rem; border-radius:0 var(--sc-radius-sm) var(--sc-radius-sm) 0; font-size:.9rem; color:#7a5a10; }
body:not(.sc-can-edit) .sc-placeholder-note { display:none; }

/* ---------- Contact form ---------- */
.sc-form { display:grid; gap:1rem; max-width:640px; }
.sc-form label { font-weight:600; font-size:.9rem; display:block; margin-bottom:.35rem; }
.sc-form input, .sc-form textarea, .sc-form select {
  width:100%; padding:.8rem .9rem; border:1px solid var(--sc-line); border-radius:var(--sc-radius-sm);
  font: inherit; color:var(--sc-ink); background:var(--sc-bg);
}
.sc-form input:focus, .sc-form textarea:focus { border-color: var(--sc-accent); outline:2px solid var(--sc-accent-wash); }
.sc-form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:560px){ .sc-form__row { grid-template-columns:1fr; } }
.sc-form__note { font-size:.85rem; color:var(--sc-ink-faint); }
.sc-alert { padding:.85rem 1rem; border-radius:var(--sc-radius-sm); font-size:.92rem; }
.sc-alert--ok { background:#e9f7ef; color:#1c6b3f; }
.sc-alert--err { background:#fdecec; color:#a12626; }

/* ==========================================================================
   WooCommerce — align Woo defaults to the Stacker Code design system
   ========================================================================== */
.woocommerce .sc-page, .woocommerce-page .sc-page { padding-top: 1.5rem; }
.woocommerce ul.products, .woocommerce-page ul.products {
  display:grid !important; gap: var(--sc-gap); margin:0; padding:0; list-style:none;
  grid-template-columns: repeat(3, 1fr);
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  width:auto !important; margin:0 !important; float:none !important;
  background: var(--sc-card); border:1px solid var(--sc-line); border-radius: var(--sc-radius);
  padding: 1rem; box-shadow: var(--sc-shadow-sm); transition:.2s; display:flex; flex-direction:column;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--sc-shadow-md); transform: translateY(-2px); }
.woocommerce ul.products li.product a img { border-radius: var(--sc-radius-sm); margin-bottom:.75rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--sc-font-display); font-weight:700; font-size:1.02rem; padding:0; color:var(--sc-ink);
}
.woocommerce ul.products li.product .price { color: var(--sc-ink); font-weight:700; }
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--sc-accent); color: var(--sc-btn-text); border-radius: var(--sc-radius-sm);
  font-family: var(--sc-font-display); font-weight:700; padding:.7rem 1.1rem; border:0; transition:.15s;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #respond input#submit:hover {
  background: var(--sc-accent-ink);
}
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--sc-accent); }
.woocommerce .star-rating { color: var(--sc-accent); }
.woocommerce div.product .product_title { font-family: var(--sc-font-display); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--sc-ink); font-size:1.5rem; font-weight:800; }
.woocommerce .woocommerce-tabs ul.tabs li { border-radius: var(--sc-radius-sm) var(--sc-radius-sm) 0 0; }
.woocommerce .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--sc-card); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--sc-accent); border-radius: var(--sc-radius-sm);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--sc-accent); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single {
  border:1px solid var(--sc-line); border-radius: var(--sc-radius-sm); padding:.6rem .7rem;
}
.woocommerce nav.woocommerce-pagination ul { border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  border:1px solid var(--sc-line); border-radius: var(--sc-radius-sm); margin:0 .2rem; padding:.4rem .7rem;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--sc-accent); color:#fff; border-color: var(--sc-accent); }

/* Woo breadcrumb spacing */
.woocommerce .woocommerce-breadcrumb { color: var(--sc-ink-faint); font-size:.85rem; margin-bottom:1rem; }

@media (max-width: 900px){
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 560px){
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr; }
}

.sc-price-note{font-size:.86rem;color:var(--sc-ink-faint);margin:.5rem 0 0}.sc-catalog-notice{margin-top:1rem}.woocommerce .button.disabled,.woocommerce .button:disabled{opacity:.6;cursor:not-allowed}


/* Default Stacker Code logo; replaceable through Appearance > Customize > Site Identity. */
.sc-brand--image{display:inline-flex;align-items:center;line-height:0}
.sc-default-logo{display:block;width:190px;height:auto;max-height:54px}
@media (max-width:760px){.sc-default-logo{width:160px;max-height:46px}}

/* ---------- Homepage sliders ---------- */
.sc-hero-slider { position:relative; overflow:hidden; background:linear-gradient(180deg,#f4f7ff 0%,#fff 100%); }
.sc-hero-slider__track { position:relative; min-height:620px; }
.sc-hero-slide { display:none; padding:clamp(3rem,7vw,6rem) 0 4rem; }
.sc-hero-slide.is-active { display:block; animation:scFade .45s ease; }
@keyframes scFade { from{opacity:.2;transform:translateY(8px)} to{opacity:1;transform:none} }
.sc-hero__media { min-height:420px; display:flex; align-items:center; justify-content:center; }
.sc-hero__media { width:100%; aspect-ratio:16/9; min-height:0; }
.sc-hero__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; border-radius:28px; box-shadow:var(--sc-shadow-lg); }
.sc-hero-slider__controls { display:flex; align-items:center; justify-content:center; gap:1rem; padding:0 0 1.5rem; }
.sc-slider-btn { width:44px; height:44px; border:1px solid var(--sc-line); border-radius:50%; background:#fff; color:var(--sc-ink); cursor:pointer; font-size:1.15rem; box-shadow:var(--sc-shadow-sm); }
.sc-slider-btn:hover { border-color:var(--sc-accent); color:var(--sc-accent); }
.sc-slider-dots { display:flex; gap:.45rem; }
.sc-slider-dot { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:#cfd5df; cursor:pointer; }
.sc-slider-dot.is-active { width:28px; border-radius:999px; background:var(--sc-accent); }
.sc-shead--row { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.sc-slider-arrows { display:flex; gap:.5rem; flex:0 0 auto; }
.sc-product-slider { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:.5rem .2rem 1rem; }
.sc-product-slider::-webkit-scrollbar { height:8px; }
.sc-product-slider::-webkit-scrollbar-thumb { background:#d5dae3; border-radius:999px; }
.sc-product-card { flex:0 0 min(310px,82vw); scroll-snap-align:start; background:#fff; border:1px solid var(--sc-line); border-radius:var(--sc-radius); overflow:hidden; box-shadow:var(--sc-shadow-sm); }
.sc-product-card__image { display:flex; align-items:center; justify-content:center; aspect-ratio:1/1; background:#f7f8fb; overflow:hidden; }
.sc-product-card__image img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; padding:14px; transition:transform .25s ease; }
.sc-product-card:hover .sc-product-card__image img { transform:scale(1.03); }
.sc-product-card__body { padding:1.1rem; }
.sc-product-card__cat { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sc-ink-faint); margin-bottom:.45rem; }
.sc-product-card__cat a { color:inherit; text-decoration:none; }
.sc-product-card__body h3 { font-size:1.05rem; min-height:2.5em; margin-bottom:.65rem; }
.sc-product-card__body h3 a { color:inherit; text-decoration:none; }
.sc-product-card__price { font-weight:800; font-size:1.15rem; margin-bottom:.9rem; }
.sc-product-card__actions { display:flex; gap:.5rem; }
.sc-product-card__actions .sc-btn { flex:1; text-align:center; }
.sc-product-slider__hint { margin-top:.35rem; font-size:.82rem; color:var(--sc-ink-faint); }
@media (max-width: 820px) {
  .sc-hero-slider__track { min-height:0; }
  .sc-hero__grid { grid-template-columns:1fr; }
  .sc-hero__media { min-height:280px; }
  .sc-hero__media img { height:280px; }
  .sc-shead--row { align-items:start; flex-direction:column; }
}

.sc-product-card__image{position:relative}.sc-representative-badge{position:absolute;left:10px;top:10px;z-index:2;background:rgba(255,255,255,.92);border:1px solid #dce1ea;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;color:#667085}.sc-product-fallback-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:14px}

/* Alignment patch: keep every demo/product image centered and fully visible. */
.woocommerce ul.products li.product a img, .woocommerce-page ul.products li.product a img {
  width:100%; height:260px; object-fit:contain; object-position:center; padding:14px; margin:0 !important; background:#f7f8fb; border-radius:16px;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  display:flex; flex-direction:column; height:100%; overflow:hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:3.1em; }
@media (max-width:560px){
  .woocommerce ul.products li.product a img, .woocommerce-page ul.products li.product a img { height:220px; }
}
