/*
Theme Name: TV Repair Delhi Shop Now
Theme URI: https://tvrepairdelhi.in
Author: TV Repair Delhi Shop Now
Description: A lightweight, custom WooCommerce theme for TV spare parts & repair shops. Dynamic header (logo, phone, warranty badge, menu via Customizer/Menus), smooth mobile navigation.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tvrepairdelhi
*/

:root{
  --bg:#FAFAF7;
  --ink:#12181A;
  --ink-soft:#4B565B;
  --ink-faint:#8A9296;
  --accent:#FF5A1F;
  --accent-dark:#D6440D;
  --circuit:#0E7C6B;
  --circuit-soft:#E4F0EE;
  --panel:#EFF3F0;
  --line:#DBE1DD;
  --card:#FFFFFF;
  --strike:#B7BEC0;
  --radius:10px;
  --maxw:1240px;
  --font-body:"Trebuchet MS",Sans-serif;
}
*{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  overflow-x:clip;
  max-width:100%;
  width:100%;
}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  max-width:100%;
  width:100%;
  position:relative;
}
h1,h2,h3,.display{
  font-family:var(--font-body);
  font-weight:700;
  letter-spacing:-0.01em;
  margin:0;
}
.mono{
  font-family:var(--font-body);
}
a{color:inherit;text-decoration:none;}

/* Smooth, consistent hover transitions everywhere — buttons, links,
   cards, icons. More specific transitions declared later (e.g. on
   .cat-card's transform) simply extend this, they don't fight it. */
a, button, .cat-card, .prod-card, .prod-add, .brand-pill,
.hero-btn-primary, .hero-btn-secondary, .cta-btn, .cart-btn,
.header-icon, .prod-nav, .hero-dot, .section-link, .finder-go,
input, select, .logo, .main-nav a, .utility-bar a{
  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    opacity .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
button{font-family:inherit;cursor:pointer;}
ul{margin:0;padding:0;list-style:none;}

/* ===== Utility bar ===== */
.utility-bar{
  background:var(--ink);
  color:#E7EAE9;
  font-size:12.5px;
  overflow-x:hidden;
  max-width:100%;
}
.utility-bar .wrap{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:8px;padding-bottom:8px;
  gap:16px;flex-wrap:wrap;
}
.utility-bar-static.wrap{display:flex;}
.utility-bar a{opacity:0.9;}
.utility-bar a:hover{opacity:1;color:var(--accent);}
.utility-left{display:flex;gap:20px;flex-wrap:wrap;}
.utility-left span, .utility-left a{display:flex;align-items:center;gap:6px;}
.dot{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block;}

.utility-bar-marquee{display:none;overflow:hidden;width:100%;}
.utility-bar-marquee-track{
  display:flex;width:max-content;
  animation:es-utility-marquee 32s linear infinite;
}
.utility-bar-marquee-group{
  display:flex;align-items:center;gap:22px;
  padding:8px 36px;flex-shrink:0;white-space:nowrap;
}
.utility-bar-marquee-group a,
.utility-bar-marquee-group span{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;
}
.utility-bar-marquee:hover .utility-bar-marquee-track{animation-play-state:paused;}
@keyframes es-utility-marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

.utility-desk-static .utility-bar-static{display:flex;}
.utility-desk-static .utility-bar-marquee{display:none;}
.utility-desk-marquee .utility-bar-static{display:none;}
.utility-desk-marquee .utility-bar-marquee{display:block;}

@media (prefers-reduced-motion:reduce){
  .utility-bar-marquee-track{animation:none;}
}

/* ===== Header ===== */
header.site-header{
  background:var(--card);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:80;
  overflow:visible;
  max-width:100%;
}
.header-row{
  display:flex;align-items:center;gap:28px;justify-content:space-between;
  padding:16px 24px;
  position:relative;
  z-index:82;
}
.logo{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-body);
  font-weight:700;font-size:22px;
  flex-shrink:0;
}
.logo img{max-height:44px;width:auto;}
.logo-mark{
  width:34px;height:34px;border-radius:8px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:16px;font-weight:700;flex-shrink:0;
}
.logo small{
  display:block;font-family:var(--font-body);font-weight:500;font-size:10.5px;
  letter-spacing:0.08em;color:var(--ink-faint);text-transform:uppercase;
}
.search-shell{
  flex:1;display:flex;align-items:center;
  background:var(--panel);border:1px solid var(--line);
  border-radius:8px;padding:0 6px 0 14px;height:44px;
  max-width:620px;
}
.search-shell input{
  flex:1;min-width:0;border:0;background:transparent;outline:0;
  font-size:14px;font-family:var(--font-body);color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;
}
.search-shell input::placeholder{
  color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.search-shell button{
  background:var(--ink);color:#fff;border:0;border-radius:6px;
  height:32px;width:40px;display:flex;align-items:center;justify-content:center;
}
.header-actions{display:flex;align-items:center;gap:22px;flex-shrink:0;}
.header-icon{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  font-size:10.5px;color:var(--ink-soft);
}
.header-icon svg{width:20px;height:20px;stroke:var(--ink);}
.cart-btn{
  display:flex;align-items:center;gap:8px;
  background:var(--ink);color:#fff;padding:9px 14px;border-radius:8px;
  font-size:13px;font-weight:600;
}

/* ===== Primary nav (wp_nav_menu) ===== */
nav.main-nav{background:var(--ink);}
@media (min-width:861px){
  nav.main-nav{overflow:visible;}
}
.main-nav .primary-menu{
  display:flex;align-items:center;gap:2px;flex-wrap:wrap;
  list-style:none;margin:0;padding:0;
}
.main-nav .primary-menu li{position:relative;}
.main-nav .primary-menu a{
  padding:13px 16px;font-size:13.5px;font-weight:500;color:#DDE2E1;
  display:inline-block;border-bottom:2px solid transparent;
}
.main-nav .primary-menu a:hover{color:#fff;border-color:var(--accent);}
.main-nav .es-nav-badge{
  display:inline-block;font-family:var(--font-body);font-size:9px;font-weight:700;
  letter-spacing:0.04em;text-transform:uppercase;background:var(--accent);color:#fff;
  padding:2px 6px;border-radius:3px;margin-left:7px;vertical-align:middle;line-height:1.2;
}
.main-nav .new > a:not(:has(.es-nav-badge))::after,
.main-nav a.new:not(:has(.es-nav-badge))::after{
  content:'NEW';font-family:var(--font-body);font-size:9px;
  background:var(--accent);color:#fff;padding:2px 5px;border-radius:3px;
  margin-left:7px;vertical-align:middle;
}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.nav-sub-toggle{
  display:none;align-items:center;justify-content:center;
  width:40px;height:40px;padding:0;border:0;background:transparent;color:#DDE2E1;cursor:pointer;
}
.nav-sub-chevron{
  display:block;width:8px;height:8px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .2s ease;margin-top:-4px;
}
.menu-item-has-children.is-open > .nav-sub-toggle .nav-sub-chevron{transform:rotate(225deg);margin-top:2px;}

/* Desktop dropdown */
@media (min-width:861px){
  .main-nav{position:relative;z-index:40;overflow:visible;}
  .main-nav .primary-menu > .menu-item-has-children > a{padding-right:28px;}
  .main-nav .primary-menu > .menu-item-has-children > a::after{
    content:'';display:inline-block;width:6px;height:6px;margin-left:8px;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);vertical-align:middle;
  }
  .main-nav .sub-menu{
    list-style:none;margin:0;padding:8px 0;
    position:absolute;top:100%;left:0;min-width:220px;
    background:var(--card);border:1px solid var(--line);border-radius:10px;
    box-shadow:0 16px 40px rgba(18,24,26,0.14);
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(10px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s;
    z-index:50;
  }
  .main-nav .sub-menu a{
    display:block;width:100%;padding:10px 16px;color:var(--ink);font-size:13.5px;
    border-bottom:0;white-space:nowrap;
  }
  .main-nav .sub-menu a:hover{background:var(--panel);color:var(--circuit);border-color:transparent;}
  .nav-dropdown .menu-item-has-children:hover > .sub-menu,
  .nav-dropdown .menu-item-has-children:focus-within > .sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
  }
  .nav-dropdown .sub-menu .sub-menu{
    top:0;left:100%;margin-left:6px;transform:translateX(8px);
  }
  .nav-dropdown .sub-menu .menu-item-has-children:hover > .sub-menu,
  .nav-dropdown .sub-menu .menu-item-has-children:focus-within > .sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);
  }

  /* Mega menu — full bar width, columns from 2nd-level items */
  .nav-mega .wrap{position:relative;}
  .nav-mega .primary-menu > .menu-item-has-children{position:static;}
  .nav-mega .primary-menu > .menu-item-has-children > .sub-menu{
    left:0;right:0;width:auto;min-width:0;
    display:grid;grid-template-columns:repeat(var(--nav-mega-cols,4),minmax(0,1fr));
    gap:8px 20px;padding:22px 24px;
    border-radius:0 0 12px 12px;
    transform:translateY(8px);
  }
  .nav-mega .primary-menu > .menu-item-has-children:hover > .sub-menu,
  .nav-mega .primary-menu > .menu-item-has-children:focus-within > .sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
  }
  .nav-mega .primary-menu > .menu-item-has-children > .sub-menu > li > a{
    font-weight:700;color:var(--ink);padding:6px 8px 8px;white-space:normal;
  }
  .nav-mega .primary-menu > .menu-item-has-children > .sub-menu .sub-menu{
    position:static;opacity:1;visibility:visible;pointer-events:auto;
    transform:none;box-shadow:none;border:0;background:transparent;
    padding:0;min-width:0;display:block;
  }
  .nav-mega .primary-menu > .menu-item-has-children > .sub-menu .sub-menu a{
    padding:7px 8px;font-weight:500;color:var(--ink-soft);white-space:normal;
  }
}

/* ===== Mobile menu / search toggle buttons ===== */
.menu-toggle, .search-toggle{
  display:none;position:relative;width:34px;height:34px;
  background:transparent;border:0;padding:0;
  align-items:center;justify-content:center;
}
.menu-toggle svg, .search-toggle svg{width:22px;height:22px;stroke:var(--ink);}
.menu-toggle svg{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  transition:opacity .2s ease, transform .25s ease;
}
.menu-toggle svg.icon-close{opacity:0;transform:translate(-50%,-50%) rotate(-90deg);}
.menu-toggle.active svg.icon-open{opacity:0;transform:translate(-50%,-50%) rotate(90deg);}
.menu-toggle.active svg.icon-close{opacity:1;transform:translate(-50%,-50%) rotate(0deg);}

.mobile-search-shell{
  max-height:0;overflow:hidden;opacity:0;
  position:relative;z-index:83;
  transition:max-height .3s ease, opacity .25s ease;
}
.mobile-search-shell.open{
  opacity:1;
  overflow:visible;
  max-height:none !important;
}

/* ===== Hero ===== */
.hero{
  padding:64px 0 56px;
  position:relative;
  overflow:hidden;
}
.hero .wrap{
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-size:12px;letter-spacing:0.06em;
  color:var(--circuit);background:var(--circuit-soft);
  padding:6px 12px;border-radius:100px;margin-bottom:22px;
  border:1px solid #CFE8E3;
}
.hero h1{
  font-size:46px;line-height:1.08;margin-bottom:20px;
}
.hero h1 .accent-text{color:var(--accent);}
.hero p.lead{
  font-size:16.5px;line-height:1.6;color:var(--ink-soft);
  max-width:480px;margin-bottom:30px;
}

/* Hero CTA buttons */
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.hero-btn-primary{
  background:var(--accent);color:#fff;border-radius:8px;
  padding:14px 22px;font-weight:600;font-size:14px;
  display:flex;align-items:center;gap:8px;
}
.hero-btn-primary:hover{background:var(--accent-dark);}
.hero-btn-secondary{
  background:var(--card);color:var(--ink);border:1px solid var(--line);
  border-radius:8px;padding:14px 22px;font-weight:600;font-size:14px;
  display:flex;align-items:center;gap:8px;
}
.hero-btn-secondary:hover{border-color:var(--circuit);color:var(--circuit);}

.hero-trust{
  display:flex;gap:26px;margin-top:30px;flex-wrap:wrap;
}
.hero-trust div{
  font-family:var(--font-body);font-size:12.5px;color:var(--ink-soft);
  display:flex;align-items:center;gap:8px;
}
.hero-trust strong{color:var(--ink);font-weight:600;}
.hero-trust-icon{
  width:18px;height:18px;object-fit:contain;flex-shrink:0;
}
.hero-trust-check{
  width:18px;height:18px;flex-shrink:0;stroke:var(--circuit);
}

/* Hero visual */
.hero-visual{
  position:relative;background:var(--panel);
  border:1px solid var(--line);border-radius:16px;
  aspect-ratio:1/0.92;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-visual img{width:100%;height:100%;object-fit:cover;}

/* Hero slides — cross-fade, no library */
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity .6s ease;
  display:flex;align-items:center;justify-content:center;
}
.hero-slide.active{opacity:1;position:relative;}
.hero-slide:not(.active){pointer-events:none;}
.hero-dots{
  position:absolute;bottom:16px;left:50%;transform:translateX(-50%);
  display:flex;gap:7px;z-index:3;
}
.hero-dot{
  width:8px;height:8px;border-radius:50%;background:rgba(18,24,26,0.25);
  border:0;padding:0;transition:background .2s ease, width .2s ease;
}
.hero-dot.active{background:var(--accent);width:20px;border-radius:5px;}

.spec-tag{
  position:absolute;background:var(--card);border:1px solid var(--line);
  border-radius:6px;padding:6px 10px;font-family:var(--font-body);
  font-size:11px;color:var(--ink);box-shadow:0 4px 10px rgba(18,24,26,0.06);
}
.spec-tag span{color:var(--circuit);font-weight:600;}

/* Full-width homepage banner slider */
.hero-banner{
  --hero-banner-h:380px;
  --hero-banner-h-sm:200px;
  position:relative;
  width:100%;
  height:var(--hero-banner-h);
  background:var(--panel);
  overflow:hidden;
}
.hero-banner-track{position:relative;width:100%;height:100%;}
.hero-banner-slide{
  position:absolute;inset:0;opacity:0;z-index:0;
  display:block;width:100%;height:100%;
  transition:opacity var(--hero-banner-t, .55s) ease;
}
.hero-banner-slide.active{opacity:1;z-index:1;}
.hero-banner--slide .hero-banner-track{
  display:flex;
  height:100%;
  will-change:transform;
  transition:transform var(--hero-banner-t, .55s) ease;
}
.hero-banner--slide .hero-banner-slide{
  position:relative;
  inset:auto;
  flex:0 0 100%;
  width:100%;
  height:100%;
  opacity:1;
  z-index:1;
}
.hero-banner-arrow:disabled{opacity:0.35;cursor:default;}
.hero-banner-layer{
  position:absolute;inset:0;
  display:block;width:100%;height:100%;
}
.hero-banner-layer--mob{display:none;}
.hero-banner-slide.is-mob-only .hero-banner-layer--desk{display:none;}
.hero-banner-slide.is-mob-only .hero-banner-layer--mob{display:block;}
.hero-banner-slide img,
.hero-banner-layer img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-banner-empty{
  height:100%;
  display:flex;align-items:center;justify-content:center;
  padding:24px;text-align:center;color:var(--ink-soft);font-size:14px;
}
.hero-banner-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  z-index:3;width:40px;height:40px;border:0;border-radius:50%;
  background:rgba(18,24,26,0.55);color:#fff;font-size:26px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.hero-banner-arrow:hover{background:var(--accent);}
.hero-banner-prev{left:12px;}
.hero-banner-next{right:12px;}
.hero-banner-dots{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
  display:flex;gap:7px;z-index:3;
}
.hero-banner-dot{
  width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.45);
  border:0;padding:0;cursor:pointer;
}
.hero-banner-dot.active{background:var(--accent);width:20px;border-radius:5px;}

/* ===== Trust strip ===== */
.trust-strip{
  background:var(--ink);color:#fff;padding:22px 0;
}
.trust-strip .wrap{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.trust-item{display:flex;align-items:center;gap:12px;}
.trust-item svg{width:26px;height:26px;stroke:var(--accent);flex-shrink:0;}
.trust-item .t-title{font-size:13.5px;font-weight:600;}
.trust-item .t-sub{font-size:11.5px;color:#A8B0AE;font-family:var(--font-body);}

/* ===== Section shell ===== */
section{padding:64px 0;}
.section-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:32px;gap:20px;flex-wrap:wrap;
}
.section-eyebrow{
  font-family:var(--font-body);font-size:11.5px;letter-spacing:0.08em;
  color:var(--accent);text-transform:uppercase;margin-bottom:8px;display:block;
}
.section-head h2{font-size:28px;}
.section-link{
  font-size:13px;font-weight:600;color:var(--circuit);
  display:flex;align-items:center;gap:5px;
}

/* ===== Category grid — datasheet cards ===== */
.cat-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px;
}
.cat-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 16px;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.cat-card:hover{border-color:var(--circuit);transform:translateY(-4px);box-shadow:0 12px 26px rgba(18,24,26,0.08);}
.cat-icon{
  width:56px;height:56px;border-radius:50%;background:var(--panel);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
  overflow:hidden;transition:transform .2s ease;
}
.cat-card:hover .cat-icon{transform:scale(1.06);}
.cat-icon svg{width:24px;height:24px;stroke:var(--circuit);}
.cat-icon-img img{width:78%;height:78%;object-fit:contain;}
.cat-card h3{font-size:14px;font-weight:600;line-height:1.3;margin:0;}

/* ===== Category display modes — grid (default) vs. continuous slider =====
   Both are always rendered; CSS shows only the one matching the chosen
   mode for the current breakpoint (see .cat-section[data-...] rules below). */
.cat-slider-viewport{display:none;overflow:hidden;}
.cat-section[data-desktop-mode="slider"] .cat-grid{display:none;}
.cat-section[data-desktop-mode="slider"] .cat-slider-viewport{display:block;}

.cat-slider-track{
  display:flex;gap:14px;width:max-content;
  animation:cat-marquee 28s linear infinite;
}
.cat-slider-viewport:hover .cat-slider-track{animation-play-state:paused;}
.cat-slider-track .cat-card{width:170px;flex-shrink:0;}
@keyframes cat-marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ===== Product grid — datasheet product cards ===== */
.prod-grid{

  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.prod-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;
}
.prod-media{
  aspect-ratio:1/0.82;background:var(--panel);position:relative;
  display:flex;align-items:center;justify-content:center;
}
.prod-media svg{width:60%;height:60%;object-fit:contain;}.prod-media img{width:100%;height:100%;object-fit:cover;}

/* Hover to swap in the product's 2nd gallery image */
.prod-media.has-hover-img a{position:relative;display:block;width:100%;height:100%;}
.prod-media .prod-img-main, .prod-media .prod-img-hover{
  position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;
  transition:opacity .25s ease;
}
.prod-media .prod-img-hover{opacity:0;}
.prod-media.has-hover-img:hover .prod-img-main{opacity:0;}
.prod-media.has-hover-img:hover .prod-img-hover{opacity:1;}

.prod-badge{
  position:absolute;top:10px;left:10px;background:var(--ink);color:#fff;
  font-family:var(--font-body);font-size:10.5px;padding:4px 8px;border-radius:5px;z-index:2;
}
.prod-warranty{
  position:absolute;bottom:10px;left:10px;background:#FFF3EC;color:var(--accent-dark);
  font-family:var(--font-body);font-size:9.5px;padding:3px 7px;border-radius:4px;
  border:1px solid #FFDCC8;z-index:2;
}
.prod-body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1;}
.prod-title{
  font-size:13.5px;font-weight:600;line-height:1.35;min-height:36px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* Ratings (WooCommerce star markup restyled) */
.prod-rating{display:flex;align-items:center;gap:6px;margin-top:-4px;}
.prod-rating .star-rating{font-size:12px;width:70px;}
.prod-rating-count{font-family:var(--font-body);font-size:11px;color:var(--ink-faint);}

.prod-variant-hint{
  font-family:var(--font-body);font-size:10.5px;color:var(--circuit);margin-top:-4px;
}

.prod-specs{
  display:flex;flex-wrap:wrap;gap:6px;
}
.prod-specs span{
  font-family:var(--font-body);font-size:10px;color:var(--circuit);
  background:var(--circuit-soft);padding:3px 7px;border-radius:4px;
}
.prod-price-row{
  display:flex;align-items:baseline;gap:8px;margin-top:auto;
}
.prod-price{font-family:var(--font-body);font-size:17px;font-weight:600;}
.prod-mrp{font-family:var(--font-body);font-size:12.5px;color:var(--strike);text-decoration:line-through;}
.prod-add{
  margin-top:8px;width:100%;background:var(--ink);color:#fff;border:0;
  border-radius:7px;padding:10px;font-size:12.5px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.prod-add:hover{background:var(--accent);}
.prod-add.is-oos,
.prod-add.is-oos:hover,
.es-upsell-add.is-oos,
.mini-cart-fbt-add.is-oos,
.pp-btn-addcart.is-oos,
.pp-btn-buynow.is-oos,
.pp-btn-addcart.is-oos:hover,
.pp-btn-buynow.is-oos:hover{
  opacity:0.45;cursor:not-allowed;pointer-events:none;
  background:#8A9296;color:#fff;border:0;
}
/* WooCommerce injects a "View cart" link after AJAX add-to-cart by
   default — the cart drawer already opens automatically, so this is
   redundant and was breaking card layouts. Hidden everywhere. */
a.added_to_cart.wc-forward{display:none !important;}

/* WooCommerce price HTML — restyle to match the datasheet look */
.prod-price-row{flex-wrap:wrap;gap:6px 8px;}
.prod-price-row .woocommerce-Price-amount{
  font-family:var(--font-body);font-weight:600;font-size:17px;color:var(--ink);
}
.prod-price-row ins{text-decoration:none;background:transparent;order:1;}
.prod-price-row del{text-decoration:none;order:2;}
.prod-price-row del .woocommerce-Price-amount{
  font-size:12.5px;font-weight:400;color:var(--strike);text-decoration:line-through;
}
.prod-price-row .pp-price-save{
  order:3;font-size:10.5px;padding:2px 7px;
}

/* ===== Product grid / slider system ===== */
.prod-slider-wrap{position:relative;}
.prod-nav{
  display:none;position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;background:var(--card);
  border:1px solid var(--line);align-items:center;justify-content:center;
  font-size:20px;color:var(--ink);z-index:2;box-shadow:0 4px 10px rgba(18,24,26,0.08);
}
.prod-nav:hover{border-color:var(--accent);color:var(--accent);}
.prod-nav.prev{left:-19px;}
.prod-nav.next{right:-19px;}
@media (min-width:861px){
  .prod-slider-wrap.has-nav .prod-nav,
  .tickets-slider-wrap.has-nav .prod-nav,
  .blog-slider-wrap.has-nav .prod-nav,
  .es-cart-upsell-slider.has-nav .prod-nav{display:flex;}
}

/* Slider mode on desktop */
@media (min-width:861px){
  .prod-grid[data-desktop="slider"]{
    display:flex;grid-template-columns:unset;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .prod-grid[data-desktop="slider"]::-webkit-scrollbar{display:none;}
  .prod-grid[data-desktop="slider"] .prod-card{flex:0 0 270px;scroll-snap-align:start;}
}

/* Slider mode on mobile (independent of desktop) */
@media (max-width:860px){
  .prod-grid[data-mobile="slider"]{
    display:flex;grid-template-columns:unset;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;gap:14px;
  }
  .prod-grid[data-mobile="slider"]::-webkit-scrollbar{display:none;}
  .prod-grid[data-mobile="slider"] .prod-card{flex:0 0 72%;scroll-snap-align:start;}

  /* Mobile grid columns — overrides the narrower breakpoints below so the
     Customizer's "Mobile grid columns" choice always wins on Grid mode */
  .prod-grid[data-mobile="grid"][data-mobile-cols="1"]{grid-template-columns:1fr;}
  .prod-grid[data-mobile="grid"][data-mobile-cols="2"]{grid-template-columns:1fr 1fr;}
}

/* ===== Brand strip ===== */
.brand-strip{background:var(--panel);padding:40px 0;}
.brand-strip .wrap{text-align:center;}
.brand-strip .section-eyebrow{display:block;margin-bottom:22px;}
.brand-row{
  display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;
}
.brand-pill{
  font-family:var(--font-body);font-weight:600;font-size:14.5px;
  background:var(--card);border:1px solid var(--line);
  padding:10px 20px;border-radius:100px;color:var(--ink-soft);
}
.brand-pill-logo{
  padding:8px 22px;display:flex;align-items:center;justify-content:center;
}
.brand-pill-logo img{max-height:36px;width:auto;object-fit:contain;display:block;}

.tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.tickets-slider-wrap{position:relative;}
.tickets[data-layout="slider"]{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  gap:18px;
}
.tickets[data-layout="slider"]::-webkit-scrollbar{display:none;}
.tickets[data-layout="slider"] .ticket{
  flex:0 0 calc(33.333% - 12px);
  min-width:260px;
  scroll-snap-align:start;
}

/* ===== How it works ===== */
.steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  position:relative;
}
.step{
  padding:0 24px;position:relative;
}
.step:not(:last-child)::after{
  content:'';position:absolute;top:22px;right:-2px;width:calc(100% - 44px);
  height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px);
}
.step-num{
  font-family:var(--font-body);font-size:13px;color:var(--accent);
  width:44px;height:44px;border:1px solid var(--accent);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  background:var(--card);position:relative;z-index:1;
}
.step h3{font-size:16.5px;margin-bottom:8px;}
.step p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin:0;}

/* ===== Testimonials — service ticket style ===== */
.ticket{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;position:relative;
}
.ticket::before{
  content:'';position:absolute;left:0;top:16px;bottom:16px;width:3px;
  background:var(--circuit);border-radius:0 3px 3px 0;
}
.ticket-id{
  font-family:var(--font-body);font-size:10.5px;color:var(--ink-faint);
  margin-bottom:14px;letter-spacing:0.03em;
}
.ticket p.quote{font-size:14px;line-height:1.6;color:var(--ink);margin-bottom:16px;}
.ticket-who{display:flex;align-items:center;gap:10px;}
.ticket-avatar{
  width:32px;height:32px;border-radius:50%;background:var(--panel);
  display:flex;align-items:center;justify-content:center;font-weight:600;
  font-size:13px;color:var(--circuit);
}
.ticket-name{font-size:13px;font-weight:600;}
.ticket-role{font-size:11.5px;color:var(--ink-faint);}

/* ===== WhatsApp CTA banner ===== */
.cta-banner{
  background:linear-gradient(120deg,#0E1416,#1B2528);
  border-radius:16px;padding:44px 40px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  color:#fff;
}
.cta-banner h3{font-size:24px;margin-bottom:8px;}
.cta-banner p{color:#B8C0BE;font-size:14px;margin:0;max-width:420px;}
.cta-btn{
  background:#25D366;color:#0E1416;padding:13px 22px;border-radius:8px;
  font-weight:700;font-size:14px;display:flex;align-items:center;gap:9px;
  flex-shrink:0;
}

/* ===== Footer ===== */
footer.site-footer{
  background:var(--ink);color:#B8C0BE;padding:56px 0 24px;margin-top:20px;
  font-family:var(--font-body);font-size:14px;line-height:1.55;
}
.footer-grid{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:36px;
  padding-bottom:40px;border-bottom:1px solid #2A3336;
}
.footer-grid h4{
  color:#fff;font-size:14px;font-weight:700;margin:0 0 16px;
  letter-spacing:0;
}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-grid li{margin:0;padding:0;line-height:1.5;}
.footer-grid a{color:#B8C0BE;font-size:14px;display:inline-block;}
.footer-grid a:hover{color:var(--accent);}
.footer-logo{font-family:var(--font-body);font-weight:700;font-size:22px;color:#fff;margin-bottom:12px;}
.footer-about{font-size:14px;line-height:1.65;max-width:280px;margin:0 0 18px;}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:22px;font-size:14px;flex-wrap:wrap;gap:12px;
}

/* ===== Generic page content (index.php fallback) ===== */
.site-content{padding:60px 0;min-height:40vh;}
.site-content article{margin-bottom:40px;}
.site-content h2 a{font-size:22px;font-weight:700;}

/* ===== Responsive ===== */
@media (max-width:1080px){
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .wrap{padding-left:16px;padding-right:16px;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero-visual{order:-1;aspect-ratio:16/10;}
  .hero-visual img{object-fit:contain;}
  .hero-banner{height:var(--hero-banner-h-sm);}
  .hero-banner-arrow{width:34px;height:34px;font-size:22px;}
  .hero-banner-layer--desk{display:none;}
  .hero-banner-layer--mob{display:block;}
  .hero-banner-slide.is-desk-only .hero-banner-layer--desk{display:block;}
  .hero-banner-slide.is-desk-only .hero-banner-layer--mob{display:none;}
  .trust-strip .wrap{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;gap:28px;}
  .step::after{display:none;}
  .tickets{grid-template-columns:1fr;}
  .tickets[data-layout="slider"] .ticket{flex:0 0 85%;min-width:0;}
  .tickets-slider-wrap.has-nav .prod-nav,
  .blog-slider-wrap.has-nav .prod-nav,
  .es-cart-upsell-slider.has-nav .prod-nav{display:flex;}
  .blog-grid[data-layout="slider"] .blog-card{flex:0 0 85%;min-width:0;}
  .cta-banner{flex-direction:column;align-items:flex-start;}

  /* header goes compact */
  .utility-desk-static.utility-mob-marquee .utility-bar-static,
  .utility-desk-marquee.utility-mob-marquee .utility-bar-static{display:none !important;}
  .utility-desk-static.utility-mob-marquee .utility-bar-marquee,
  .utility-desk-marquee.utility-mob-marquee .utility-bar-marquee{display:block !important;}
  .utility-mob-static .utility-bar-static{display:flex !important;}
  .utility-mob-static .utility-bar-marquee{display:none !important;}
  .utility-bar .utility-left span{display:none;}
  .utility-bar-static{
    padding-top:6px;padding-bottom:6px;
    flex-wrap:nowrap;gap:8px;align-items:center;
  }
  .utility-left, .utility-right{
    flex-wrap:nowrap;gap:8px;min-width:0;align-items:center;
  }
  .utility-left:not(.utility-right){flex:0 1 auto;}
  .utility-right{flex:1 1 auto;justify-content:flex-end;}
  .utility-bar-static a{
    white-space:nowrap;font-size:11px;
    overflow:hidden;text-overflow:ellipsis;max-width:100%;
  }
  .utility-bar-marquee-group{padding:6px 28px;gap:18px;font-size:11.5px;}
  .utility-bar-marquee-track{animation-duration:22s;}
  .header-row > .search-wrap{display:none;}
  .logo{min-width:0;flex:1;overflow:hidden;}
  .logo a{min-width:0;max-width:100%;overflow:hidden;}
  .search-shell{display:none;}
  .header-row{padding:14px 16px;gap:14px;}
  .logo{font-size:19px;}
  .logo-mark{width:30px;height:30px;font-size:14px;}
  .header-icon{display:none;}
  .search-toggle, .menu-toggle{display:flex;}
  .cart-btn{padding:9px 12px;}
  .cart-btn span.cart-label{display:none;}

  .mobile-search-shell{padding:0 16px;}
  .mobile-search-shell.open{padding:0 16px 14px;}
  .mobile-search-shell .search-shell{display:flex;max-width:none;width:100%;}
  .mobile-search-shell .search-input{font-size:13.5px;min-width:0;}

  /* smooth sliding mobile nav */
  nav.main-nav{
    max-height:0;overflow:hidden;
    transition:max-height .38s ease;
  }
  nav.main-nav.open{
    overflow-y:auto;
  }
  .main-nav .wrap{padding:0 16px;}
  .main-nav .primary-menu{
    flex-direction:column;align-items:stretch;
    padding:6px 0 14px;
  }
  .main-nav .primary-menu > li{width:100%;}
  .main-nav .menu-item-has-children{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
  }
  .main-nav .menu-item-has-children > a{grid-column:1;grid-row:1;}
  .main-nav .nav-sub-toggle{display:flex;grid-column:2;grid-row:1;}
  .main-nav .sub-menu{
    display:none;grid-column:1 / -1;
    list-style:none;margin:0;padding:0 0 6px 10px;
    background:#0c1214;
  }
  .main-nav .menu-item-has-children.is-open > .sub-menu{display:block;}
  .main-nav .primary-menu a{
    width:100%;padding:13px 4px;border-bottom:1px solid #2A3336;
    box-sizing:border-box;
  }
  .main-nav .sub-menu a{padding-left:12px;font-size:13px;color:#c5cccb;}
  .main-nav .es-nav-badge{float:right;margin-left:8px;margin-top:2px;}
  .main-nav .new > a:not(:has(.es-nav-badge))::after,
  .main-nav a.new:not(:has(.es-nav-badge))::after{float:right;}
}
@media (max-width:600px){
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  /* Mobile display mode (set in Appearance → Homepage Categories) overrides desktop mode */
  .cat-section[data-mobile-mode="grid"] .cat-grid{display:grid !important;}
  .cat-section[data-mobile-mode="grid"] .cat-slider-viewport{display:none !important;}
  .cat-section[data-mobile-mode="slider"] .cat-grid{display:none !important;}
  .cat-section[data-mobile-mode="slider"] .cat-slider-viewport{display:block !important;}
  .cat-slider-track{animation-duration:18s;gap:10px;}
  .cat-slider-track .cat-card{width:128px;padding:18px 10px;}
  .cat-icon{width:46px;height:46px;margin-bottom:12px;}
  .prod-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .hero{padding:36px 0 40px;}
  .hero h1{font-size:28px;}
  .hero p.lead{font-size:14.5px;}
  .hero-trust{gap:16px;}
  .footer-grid{grid-template-columns:1fr;}
  .utility-bar .wrap{font-size:11px;}
  .utility-left{gap:12px;}
  section{padding:44px 0;}
  .section-head h2{font-size:22px;}

  /* logo shrinks further on small phones */
  .header-row{gap:10px;padding:12px 14px;}
  .logo{font-size:15px;gap:7px;}
  .logo img{max-height:32px;}
  .logo-mark{width:26px;height:26px;font-size:12px;border-radius:6px;}
  .logo small{font-size:8.5px;}

  /* product cards — proportionate sizing for phones */
  .prod-body{padding:11px;gap:6px;}
  .prod-title{font-size:12px;line-height:1.3;min-height:30px;}
  .prod-badge{font-size:9.5px;padding:3px 6px;top:7px;left:7px;}
  .prod-warranty{font-size:8px;padding:2px 5px;bottom:7px;left:7px;}
  .prod-price{font-size:14px;}
  .prod-mrp{font-size:11px;}
  .prod-rating .star-rating{font-size:10.5px;width:58px;}
  .prod-rating-count{font-size:9.5px;}
  .prod-variant-hint{font-size:9px;}
  .prod-add{padding:8px;font-size:11px;margin-top:4px;}
}
@media (max-width:420px){
  .prod-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .cat-grid{grid-template-columns:1fr 1fr;}
  .header-row{gap:8px;padding:10px 12px;}
  .logo{font-size:13.5px;gap:6px;}
  .logo-mark{width:24px;height:24px;font-size:11px;}
  .cart-btn{padding:8px 10px;}

  .prod-body{padding:9px;}
  .prod-title{font-size:11.5px;min-height:28px;}
  .prod-price{font-size:13px;}
}

/* =====================================================================
   SINGLE PRODUCT PAGE (CRO template)
   ===================================================================== */

.pp-breadcrumb{padding:16px 24px;font-size:12.5px;color:var(--ink-faint);}
.pp-breadcrumb a{color:var(--ink-faint);}
.pp-breadcrumb a:hover{color:var(--accent);}
.pp-breadcrumb span{margin:0 6px;}

.pp-hero{padding:20px 0 28px;}
.pp-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
.pp-gallery{min-width:0;width:100%;}

/* Gallery slider */
.pp-gallery-stage{
  position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;
  aspect-ratio:1/1;overflow:hidden;
}
.pp-gallery-viewport{width:100%;height:100%;overflow:hidden;}
.pp-gallery-track{display:flex;height:100%;transition:transform .35s cubic-bezier(0.32,0.72,0,1);will-change:transform;}
.pp-gallery-slide{
  min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;
}
.pp-gallery-slide img{width:100%;height:100%;object-fit:contain;}
.pp-gallery-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--ink);color:#fff;font-family:var(--font-body);font-size:12px;padding:6px 10px;border-radius:6px;}
.pp-gallery-warranty{position:absolute;top:12px;right:12px;z-index:2;background:#FFF3EC;color:var(--accent-dark);border:1px solid #FFDCC8;font-family:var(--font-body);font-size:11px;padding:5px 9px;border-radius:5px;}
.pp-gallery-nav{
  position:absolute;top:50%;z-index:2;transform:translateY(-50%);
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);
  font-size:22px;line-height:1;color:var(--ink);display:flex;align-items:center;justify-content:center;
}
.pp-gallery-nav.prev{left:10px;}
.pp-gallery-nav.next{right:10px;}
.pp-gallery-nav:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.pp-gallery-thumbs-wrap{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:nowrap;width:100%;}
.pp-gallery-thumbs{
  display:flex;gap:8px;margin:0;flex:1;min-width:0;
  overflow-x:auto;flex-wrap:nowrap;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.pp-gallery-thumbs::-webkit-scrollbar{display:none;}
.pp-gallery-thumb{
  flex:0 0 calc((100% - (var(--pp-thumbs-visible,4) - 1) * 8px) / var(--pp-thumbs-visible,4));
  aspect-ratio:1/1;border-radius:8px;background:var(--panel);border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:6px;cursor:pointer;
  scroll-snap-align:start;transition:border-color .15s ease,transform .15s ease;
}
.pp-gallery-thumb:hover{transform:translateY(-2px);}
.pp-gallery-thumb.active{border-color:var(--accent);}
.pp-gallery-thumb img{width:100%;height:100%;object-fit:contain;}
.pp-thumbs-nav{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);
  background:var(--card);color:var(--ink);box-shadow:0 2px 6px rgba(18,24,26,0.08);
  display:flex;align-items:center;justify-content:center;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.pp-thumbs-nav svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;}
.pp-thumbs-nav:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:scale(1.08);box-shadow:0 4px 12px rgba(18,24,26,0.16);}
.pp-thumbs-nav:disabled{opacity:.35;pointer-events:none;box-shadow:none;}
.pp-gallery-zoom{
  position:absolute;right:12px;bottom:12px;z-index:4;
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  box-shadow:0 4px 12px rgba(18,24,26,0.12);
}
.pp-gallery-zoom svg{width:20px;height:20px;}
.pp-gallery-zoom:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.pp-gallery-viewport{cursor:zoom-in;}
.pp-zoom-lens{
  display:none;position:absolute;inset:0;z-index:3;pointer-events:none;
  background-repeat:no-repeat;background-size:220%;
}
.pp-gallery-stage.is-hover-zoom .pp-zoom-lens{display:block;}
@media (max-width:860px){
  .pp-zoom-lens,
  .pp-gallery-stage.is-hover-zoom .pp-zoom-lens{display:none !important;}
}
.pp-zoom-lightbox{
  position:fixed;inset:0;z-index:120;background:rgba(18,24,26,0.88);
  display:flex;align-items:center;justify-content:center;padding:48px 16px 16px;
}
.pp-zoom-lightbox[hidden]{display:none !important;}
.pp-zoom-lightbox img{
  max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;
  transform-origin:center center;transition:transform .2s ease;
}
.pp-zoom-lightbox.is-in img{transform:scale(1.85);cursor:zoom-out;}
.pp-zoom-close{
  position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;
  border:0;background:#fff;color:var(--ink);font-size:24px;line-height:1;
}

.pp-pincode-check{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:0 0 22px;}
.pp-pincode-check .pp-compat-row input{
  flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;padding:11px 12px;font-size:13px;font-family:var(--font-body);background:var(--panel);
}
.pp-compat-result.is-fail{color:#991B1B;background:#FEF2F2;}

.pp-simple-form{margin:0;}
.pp-info .stock.in-stock{display:none;}
.pp-info .stock.out-of-stock{display:block;font-size:12.5px;font-weight:600;color:var(--accent-dark);margin:0 0 12px;}
.pp-cta-variable-wrap .pp-cta-row{min-height:48px;}
.pp-cta-variable-wrap .pp-qty-selector{height:48px;}
.pp-cta-variable-wrap .pp-btn-addcart,
.pp-cta-variable-wrap .pp-btn-buynow{min-height:48px;}

/* Info column */
.pp-eyebrow{
  font-family:var(--font-body);font-size:11.5px;letter-spacing:0.06em;color:var(--circuit);
  text-transform:uppercase;margin-bottom:10px;
}
.pp-eyebrow-mono{
  font-family:var(--font-body);font-size:11.5px;letter-spacing:0.08em;color:var(--accent);
  text-transform:uppercase;display:block;margin-bottom:10px;
}
.pp-title{font-size:28px;line-height:1.2;margin-bottom:10px;}
.pp-rating-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.pp-stars{color:#F5A623;font-size:15px;letter-spacing:1px;}
.pp-rating-count{font-size:12.5px;color:var(--ink-faint);}
.pp-rating-count a{color:var(--circuit);font-weight:600;}
.pp-sold-count{font-size:11.5px;color:var(--ink-faint);background:var(--panel);padding:3px 8px;border-radius:4px;}

.pp-price-block{display:flex;align-items:baseline;gap:10px 12px;flex-wrap:wrap;margin-bottom:6px;transition:opacity .18s ease;}
.pp-price-block.is-fading,.pp-sticky-price.is-fading{opacity:0;}
.pp-price-current,
.pp-price-live,
.pp-sticky-price,
.pp-price-current .price,
.pp-price-live .price,
.pp-sticky-price .price{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 10px;
  font-size:34px;font-weight:600;
}
.pp-sticky-price,
.pp-sticky-price .price{font-size:13.5px;}
.pp-price-current .price,
.pp-price-live .price{font-size:inherit;font-weight:inherit;color:inherit;}
.pp-price-current ins,
.pp-price-live ins,
.pp-sticky-price ins{
  order:1;text-decoration:none;background:transparent;
}
.pp-price-current del,
.pp-price-live del,
.pp-sticky-price del{
  order:2;font-size:17px;color:var(--strike);text-decoration:line-through;font-weight:500;
}
.pp-sticky-price del{font-size:12px;opacity:.85;}
.pp-price-from-label{font-size:14px;font-weight:600;color:var(--ink-faint);}
.pp-price-placeholder{font-size:18px;font-weight:600;color:var(--ink-soft);}
.pp-price-mrp{order:2;font-size:17px;color:var(--strike);text-decoration:line-through;}
.pp-price-save{order:3;font-size:12.5px;background:var(--circuit-soft);color:var(--circuit);padding:4px 9px;border-radius:5px;font-weight:600;}
.pp-sticky-price .pp-price-save{font-size:10px;padding:2px 6px;}
.pp-price-tax-note{font-size:12px;color:var(--ink-faint);margin-bottom:22px;}
.pp-hide-var-form-price .woocommerce-variation-price,
.pp-hide-var-form-price .woocommerce-variation .price{display:none !important;}

.pp-spec-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.pp-spec-pills span{font-family:var(--font-body);font-size:11.5px;color:var(--circuit);background:var(--circuit-soft);padding:5px 10px;border-radius:5px;}

/* Compatibility checker */
.pp-compat-check{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:22px;}
.pp-compat-label{
  font-family:var(--font-body);font-size:11px;letter-spacing:0.06em;color:var(--ink-faint);
  text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px;
}
.pp-compat-label::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--circuit);box-shadow:0 0 0 3px var(--circuit-soft);}
.pp-compat-row{display:flex;gap:10px;}
.pp-compat-row select{
  flex:1;min-width:0;appearance:none;background:var(--panel);border:1px solid var(--line);border-radius:7px;
  padding:11px 30px 11px 12px;font-size:13px;font-family:var(--font-body);font-weight:500;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238A9296' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
}
.pp-compat-go{background:var(--ink);color:#fff;border:0;border-radius:7px;padding:0 18px;font-weight:600;font-size:13px;flex-shrink:0;}
.pp-compat-go:hover{background:var(--accent);}
.pp-compat-result{display:none;margin-top:12px;align-items:center;gap:8px;font-size:13px;color:var(--circuit);background:var(--circuit-soft);padding:9px 12px;border-radius:7px;font-weight:600;}
.pp-compat-result.show{display:block;}

/* Extra-narrow phones — stack the checker rows so the button never gets clipped */
@media (max-width:400px){
  .pp-compat-row{flex-wrap:wrap;}
  .pp-compat-row select,
  .pp-pincode-check .pp-compat-row input{flex-basis:100%;}
  .pp-compat-go{flex:1 0 100%;padding:11px 18px;}
}

/* Stock urgency */
.pp-stock-urgency{margin-bottom:22px;}
.pp-stock-label{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px;}
.pp-stock-label strong{color:var(--accent-dark);}
.pp-stock-bar-track{height:6px;background:var(--panel);border-radius:100px;overflow:hidden;}
.pp-stock-bar-fill{height:100%;background:var(--accent);border-radius:100px;}

/* Quantity + CTA row */
.pp-cta-row{display:flex;gap:12px;margin-bottom:18px;align-items:stretch;}
.pp-qty-selector{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex-shrink:0;}
.pp-qty-btn{width:40px;background:var(--panel);border:0;font-size:16px;font-weight:600;height:100%;}
.pp-qty-btn:hover{background:var(--line);}
.pp-qty-selector input.qty{
  width:44px;text-align:center;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);
  font-family:var(--font-body);font-size:14px;height:100%;-moz-appearance:textfield;
}
.pp-btn-addcart{
  flex:1;background:var(--ink);color:#fff;border:0;border-radius:8px;font-weight:600;font-size:14px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.pp-btn-addcart.is-loading,
.pp-btn-addcart:disabled{opacity:0.7;pointer-events:none;}
.pp-btn-addcart.is-oos:disabled,
.pp-btn-buynow.is-oos:disabled{opacity:0.45;}

/* Variable product options */
.pp-cta-variable-wrap{margin-bottom:18px;}
.pp-variations-form{display:block;width:100%;}
.pp-variations{display:flex;flex-direction:column;gap:16px;margin-bottom:16px;}
.pp-variation-row{position:relative;display:flex;flex-direction:column;gap:8px;}
.pp-variation-label{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  font-size:13px;font-weight:600;
}
.pp-variation-chosen{font-weight:500;color:var(--circuit);font-size:12.5px;}
.pp-variation-pills{display:flex;flex-wrap:wrap;gap:8px;}
.pp-var-pill{
  min-width:44px;height:42px;padding:0 14px;border:1.5px solid var(--line);border-radius:8px;
  background:var(--card);color:var(--ink);font-family:var(--font-body);font-size:13px;font-weight:600;
}
.pp-var-pill:hover{border-color:var(--ink);color:var(--ink);}
.pp-var-pill.is-on{background:var(--ink);color:#fff;border-color:var(--ink);}
.pp-var-pill.is-disabled,.pp-var-pill:disabled{opacity:.35;cursor:not-allowed;}
.pp-var-ui-pills table.variations{
  position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;
  overflow:hidden !important;clip:rect(0 0 0 0) !important;border:0 !important;
}
.pp-var-ui-dropdown .pp-variations{display:none;}
.pp-var-ui-dropdown table.variations{
  width:100%;border:0;border-collapse:separate;border-spacing:0 12px;margin:0 0 8px;
}
.pp-var-ui-dropdown table.variations th.label{
  width:34%;padding:0 12px 0 0;text-align:left;vertical-align:middle;
  font-size:13px;font-weight:600;color:var(--ink);
}
.pp-var-ui-dropdown table.variations td.value{padding:0;vertical-align:middle;}
.pp-var-ui-dropdown table.variations select{
  width:100%;height:44px;padding:0 36px 0 12px;border:1.5px solid var(--line);border-radius:8px;
  background:var(--card);color:var(--ink);font-family:var(--font-body);font-size:13px;font-weight:600;
  appearance:auto;
}
.pp-variation-reset,
.pp-variations-form .reset_variations{
  font-size:12.5px;color:var(--ink-faint);font-weight:600;display:inline-block;margin-top:8px;
}
.pp-variation-reset:hover,
.pp-variations-form .reset_variations:hover{color:var(--accent);}
.pp-variation-meta{min-height:0;margin:0 0 12px;}
.pp-variation-meta .woocommerce-variation-price{margin:0 0 6px;}
.pp-variation-meta .price{font-size:22px;font-weight:700;font-family:var(--font-body);}
.pp-variation-meta .stock{font-size:13px;color:var(--circuit);font-weight:600;}
.pp-variations-form .single_variation_wrap{display:block !important;}
.pp-variations-form .pp-cta-row{margin-bottom:0;}
.pp-need-option .pp-variation-pills,
.pp-need-option table.variations select{animation:es-shake .4s ease;}
.pp-cta-variable-wrap table.variations{width:100%;border:0;}
.pp-cta-variable-wrap .quantity .screen-reader-text{display:none;}

@media (max-width:680px){
  .pp-variations-form .pp-cta-row .pp-qty-selector{order:1;width:100%;height:44px;justify-content:center;}
  .pp-variations-form .pp-btn-addcart,
  .pp-variations-form .pp-btn-buynow{flex:1;}
}
.pp-btn-buynow{flex:1;background:var(--accent);color:#fff;border:0;border-radius:8px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;}
.pp-btn-buynow:hover{background:var(--accent-dark);}
.pp-cta-default .button{background:var(--accent);color:#fff;border-radius:8px;padding:14px 24px;font-weight:600;}
.pp-unavailable{color:var(--ink-faint);font-size:14px;margin-bottom:18px;}

.pp-trust-row-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;}
.pp-trust-mini-item{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 8px;text-align:center;}
.pp-trust-mini-item svg{width:20px;height:20px;stroke:var(--circuit);margin-bottom:6px;}
.pp-trust-mini-item div{font-size:10.5px;font-weight:600;line-height:1.3;}

.pp-delivery-note{
  display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);margin-bottom:14px;
}
.pp-delivery-note svg{width:16px;height:16px;stroke:var(--circuit);flex-shrink:0;}

.pp-whatsapp-inline{
  display:flex;align-items:center;gap:10px;background:#F0FDF4;border:1px solid #BBF0CE;
  border-radius:8px;padding:12px 14px;font-size:13px;flex-wrap:wrap;
}
.pp-whatsapp-inline svg{width:20px;height:20px;fill:#25D366;flex-shrink:0;}
.pp-whatsapp-inline a{color:var(--circuit);font-weight:600;}
.pp-electrician-cta{
  display:flex;align-items:center;gap:10px;background:#FFF6F0;border:1px solid #FFDCC8;
  border-radius:8px;padding:12px 14px;font-size:13px;flex-wrap:wrap;margin-top:10px;
}
.pp-electrician-cta svg{width:20px;height:20px;stroke:var(--accent);flex-shrink:0;}
.pp-electrician-cta span{flex:1;min-width:140px;color:var(--ink);}
.pp-electrician-btn{
  margin-left:auto;background:var(--accent);color:#fff;padding:8px 14px;border-radius:8px;
  font-weight:700;font-size:13px;white-space:nowrap;
}
.pp-electrician-btn:hover{background:var(--accent-dark);color:#fff;}
@media (max-width:680px){
  .pp-electrician-btn{width:100%;text-align:center;margin-left:0;}
}

/* Sticky Add-to-Cart bar */
.pp-sticky-bar{
  position:fixed;left:0;right:0;bottom:-120px;background:var(--card);border-top:1px solid var(--line);
  box-shadow:0 -6px 20px rgba(18,24,26,0.08);z-index:70;padding:8px 0;transition:bottom .3s ease;
}
.pp-sticky-bar.show{bottom:0;}
.pp-sticky-inner{display:flex;align-items:center;gap:10px 12px;}
.pp-sticky-thumb{width:44px;height:44px;border-radius:7px;background:var(--panel);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pp-sticky-thumb img{width:100%;height:100%;object-fit:contain;}
.pp-sticky-info{flex:1;min-width:0;}
.pp-sticky-title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pp-sticky-price{font-size:13.5px;font-weight:600;line-height:1.25;}
.pp-sticky-cta{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.pp-sticky-cta .pp-btn-addcart{
  flex:0 0 auto;width:auto;min-width:112px;
  background:var(--ink);color:#fff;border:0;border-radius:8px;padding:10px 16px;
  font-weight:600;font-size:13px;white-space:nowrap;height:40px;
}
.pp-sticky-variants{display:flex;align-items:center;gap:6px;flex-shrink:1;min-width:0;}
.pp-sticky-dd{display:block;min-width:0;}
.pp-sticky-dd select{
  max-width:132px;height:38px;border:1.5px solid var(--line);border-radius:8px;padding:0 22px 0 8px;
  font-family:var(--font-body);font-size:12px;font-weight:600;background:var(--card);
  color:var(--ink);appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238A9296' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
}
@media (max-width:700px){
  .pp-sticky-bar{padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));}
  .pp-sticky-inner{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    grid-template-areas:"thumb info cta";
    align-items:center;
    gap:8px 10px;
  }
  .pp-sticky-has-vars .pp-sticky-inner{
    grid-template-areas:
      "thumb info cta"
      "vars vars vars";
  }
  .pp-sticky-thumb{grid-area:thumb;display:flex;width:44px;height:44px;}
  .pp-sticky-info{grid-area:info;min-width:0;}
  .pp-sticky-title{display:block;font-size:12px;line-height:1.25;}
  .pp-sticky-cta{grid-area:cta;flex:0 0 auto;width:auto;max-width:42%;}
  .pp-sticky-cta .pp-btn-addcart{
    flex:0 0 auto;width:auto;max-width:100%;height:40px;padding:0 12px;font-size:12.5px;
  }
  .pp-sticky-variants{grid-area:vars;width:100%;}
  .pp-sticky-dd{flex:1;}
  .pp-sticky-dd select{max-width:none;width:100%;height:34px;font-size:11.5px;padding:0 20px 0 7px;}
}

/* Description + specifications (stacked, no tabs) */
.pp-details-section{padding:16px 0 60px;}
.pp-details-block{padding:11px 0;}
.pp-details-block:last-child{padding-bottom:0;}
.pp-details-heading{font-size:22px;margin:0 0 12px;letter-spacing:-0.02em;}
.pp-desc-text{font-size:14.5px;line-height:1.75;color:var(--ink-soft);}
.pp-desc-text p{margin:0 0 16px;}
.pp-tags-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.pp-tags-label{font-size:12.5px;color:var(--ink-faint);font-weight:600;}
.pp-tag-pill{font-size:12px;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:5px 12px;transition:background .15s ease,color .15s ease;}
.pp-tag-pill:hover{background:var(--circuit);color:#fff;border-color:var(--circuit);}

.pp-spec-table{
  width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);
}
.pp-spec-table tr{border-bottom:1px solid var(--line);transition:background .18s ease;}
.pp-spec-table tr:last-child{border-bottom:none;}
.pp-spec-table tr:nth-child(even){background:var(--panel);}
.pp-spec-table tr:hover{background:#e8e8e8;}
.pp-spec-table td{padding:14px 18px;font-size:13.5px;vertical-align:top;}
.pp-spec-table td:first-child{color:var(--ink-faint);width:40%;font-weight:600;border-right:1px solid var(--line);}
.pp-spec-table td:last-child{font-family:var(--font-body);font-weight:500;color:var(--ink);}

/* Specifications — stacked card rows on mobile */
@media (max-width:600px){
  .pp-spec-table,.pp-spec-table tbody,.pp-spec-table tr,.pp-spec-table td{display:block;width:100%;}
  .pp-spec-table tr{padding:10px 14px;}
  .pp-spec-table td{padding:3px 0;}
  .pp-spec-table td:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--circuit);font-weight:700;border-right:none;}
  .pp-spec-table td:last-child{font-size:14px;color:var(--ink);}
}

/* Reviews */
.pp-review-summary{display:grid;grid-template-columns:200px 1fr;gap:40px;margin-bottom:36px;max-width:760px;}
.pp-review-score{text-align:center;}
.pp-review-big{font-size:48px;font-weight:600;line-height:1;}
.pp-review-score .pp-stars{display:block;margin:8px 0;}
.pp-review-count-label{font-size:12px;color:var(--ink-faint);}
.pp-review-bars{display:flex;flex-direction:column;gap:7px;justify-content:center;}
.pp-review-bar-row{display:flex;align-items:center;gap:10px;font-size:12px;}
.pp-review-bar-row span:first-child{width:38px;color:var(--ink-faint);}
.pp-review-bar-track{flex:1;height:6px;background:var(--panel);border-radius:100px;overflow:hidden;}
.pp-review-bar-fill{height:100%;background:#F5A623;border-radius:100px;}
.pp-review-bar-row span:last-child{width:30px;text-align:right;color:var(--ink-faint);font-size:11px;}

.pp-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin-bottom:36px;}
.pp-review-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative;}
.pp-review-card::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--circuit);border-radius:0 3px 3px 0;}
.pp-review-card .pp-stars{display:block;margin-bottom:10px;font-size:13px;}
.pp-review-card p{font-size:13.5px;line-height:1.6;margin-bottom:14px;}
.pp-review-who{display:flex;align-items:center;gap:9px;}
.pp-review-avatar{width:28px;height:28px;border-radius:50%;background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--circuit);}
.pp-review-name{font-size:12.5px;font-weight:600;}
.pp-review-date{font-size:11px;color:var(--ink-faint);}
.pp-review-form{max-width:640px;}
.pp-review-form .comment-form input[type="text"],
.pp-review-form .comment-form input[type="email"],
.pp-review-form .comment-form textarea{
  width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 12px;font-family:var(--font-body);font-size:13.5px;margin-bottom:10px;
}
.pp-review-form .comment-form input[type="submit"]{
  background:var(--ink);color:#fff;border:0;border-radius:8px;padding:12px 22px;font-weight:600;font-size:13.5px;
}
.pp-review-form .comment-form input[type="submit"]:hover{background:var(--accent);}

/* A+ Content */
.pp-aplus{background:var(--panel);}
.pp-aplus-intro{text-align:center;padding:60px 0 40px;}
.pp-aplus-intro h2{font-size:30px;max-width:600px;margin:0 auto;}
.pp-aplus-block{padding:40px 0;}
.pp-aplus-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.pp-aplus-block.reverse .pp-aplus-grid{direction:rtl;}
.pp-aplus-block.reverse .pp-aplus-grid > *{direction:ltr;}
.pp-aplus-visual{background:var(--card);border:1px solid var(--line);border-radius:16px;aspect-ratio:1/0.8;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pp-aplus-visual svg{width:60%;height:60%;}
.pp-aplus-visual img{width:100%;height:100%;object-fit:cover;}
.pp-aplus-text .num{font-size:12px;color:var(--circuit);margin-bottom:10px;display:block;}
.pp-aplus-text h3{font-size:22px;margin-bottom:12px;}
.pp-aplus-text p{font-size:14px;line-height:1.7;color:var(--ink-soft);}

/* Comparison table */
.pp-compare-wrap{padding:50px 0;background:var(--card);}
.pp-compare-wrap h2{text-align:center;font-size:26px;margin-bottom:32px;}
.pp-compare-table{width:100%;max-width:820px;margin:0 auto;border-collapse:collapse;}
.pp-compare-table th{padding:14px 16px;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-faint);text-align:center;}
.pp-compare-table th:first-child{text-align:left;}
.pp-compare-table th.us{color:var(--accent);}
.pp-compare-table td{padding:14px 16px;font-size:13.5px;text-align:center;border-top:1px solid var(--line);}
.pp-compare-table td:first-child{text-align:left;color:var(--ink-soft);}
.pp-compare-table td.us{background:#FFF6F1;font-weight:600;}
.pp-compare-table .check-yes{color:var(--circuit);font-weight:700;}
.pp-compare-table .check-no{color:var(--strike);}

/* Feature icons */
.pp-feature-icons{padding:50px 0;}
.pp-feature-icons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.pp-feature-icon-card{text-align:center;padding:24px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s ease,box-shadow .2s ease;}
.pp-feature-icon-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(18,24,26,0.08);border-color:var(--circuit);}
.pp-feature-icon-card .icon-circle{
  width:52px;height:52px;border-radius:50%;background:var(--card);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
}
.pp-feature-icon-card svg{width:24px;height:24px;stroke:var(--circuit);}
.pp-feature-icon-card h4{font-size:14px;margin-bottom:6px;}
.pp-feature-icon-card p{font-size:12.5px;color:var(--ink-faint);margin:0;line-height:1.5;}

/* FAQ */
.pp-faq-section{padding:56px 0;max-width:760px;margin:0 auto;}
.pp-faq-heading{text-align:center;margin-bottom:24px;font-size:26px;}
.pp-faq-item{border-bottom:1px solid var(--line);}
.pp-faq-q{
  width:100%;background:none;border:0;padding:18px 4px;display:flex;justify-content:space-between;
  align-items:center;text-align:left;font-size:14.5px;font-weight:600;
}
.pp-faq-q .icon{font-size:18px;color:var(--accent);flex-shrink:0;margin-left:16px;}
.pp-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.pp-faq-a p, .pp-faq-a .pp-faq-a-inner{font-size:13.5px;color:var(--ink-soft);line-height:1.65;padding:0 4px 18px;margin:0;}
.pp-faq-a .pp-faq-a-inner p{padding:0;margin:0 0 10px;}
.pp-faq-a .pp-faq-a-inner a{color:var(--circuit);font-weight:600;}
.pp-faq-item.open .icon{transform:rotate(45deg);}

/* Related products heading (reuses .prod-grid/.prod-card from homepage) */
.pp-related-heading{margin-bottom:24px;font-size:24px;}

/* ===== Responsive ===== */
@media (max-width:960px){
  .pp-hero-grid{grid-template-columns:1fr;gap:16px;}
  .pp-gallery-stage{width:100%;aspect-ratio:1/1;max-height:none;}
  .pp-trust-row-mini{grid-template-columns:repeat(2,1fr);}
  .pp-aplus-grid{grid-template-columns:1fr;gap:24px;}
  .pp-aplus-block.reverse .pp-aplus-grid{direction:ltr;}
  .pp-aplus-visual{order:-1;}
  .pp-review-summary{grid-template-columns:1fr;}
  .pp-review-grid{grid-template-columns:1fr 1fr;}
  .pp-feature-icons-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .pp-compare-table{font-size:12px;}
}
@media (max-width:680px){
  .pp-trust-row-mini{grid-template-columns:repeat(2,1fr);gap:8px;}
  .pp-trust-mini-item{padding:10px 6px;}
  .pp-review-grid{grid-template-columns:1fr;}
  .pp-aplus-intro{padding:32px 0 24px;}
  .pp-aplus-intro h2{font-size:22px;padding:0 8px;}
  .pp-eyebrow-mono{font-size:11px;}
  .pp-feature-icons{padding:28px 0;}
  .pp-feature-icons-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .pp-feature-icon-card{padding:16px 8px;}
  .pp-feature-icon-card h4{font-size:13px;}
  .pp-feature-icon-card p{font-size:11.5px;}
  .pp-price-current{font-size:26px;}
  .pp-title{font-size:22px;}
  .pp-hero{padding:8px 0 16px;}
  .pp-gallery-stage{
    width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:1 / 1;
    border-radius:10px;
  }
  .pp-gallery-slide{}
  .pp-gallery-slide img{width:100%;height:100%;object-fit:contain;}
  .pp-gallery-nav{width:30px;height:30px;font-size:18px;}
  .pp-gallery-zoom{width:34px;height:34px;right:8px;bottom:8px;}
  .pp-gallery-zoom svg{width:16px;height:16px;}
  .pp-thumbs-nav{display:none;}
  .pp-gallery-thumbs-wrap{margin-top:8px;}
  .pp-cta-row{flex-wrap:wrap;}
  .pp-cta-row .pp-qty-selector{order:1;width:100%;height:44px;justify-content:center;}
  .pp-cta-row .pp-btn-addcart,
  .pp-cta-row .pp-btn-buynow{order:2;flex:1 1 46%;flex-basis:46%;height:44px;}
  .pp-details-section{padding-bottom:28px;}
  .pp-zoom-lightbox{padding:56px 12px 12px;}
  .pp-zoom-lightbox img{max-height:calc(100dvh - 80px);}
  .pp-zoom-lightbox.is-in img{transform:scale(1.35);}
}

/* =====================================================================
   SHOP / CATEGORY PAGE
   ===================================================================== */

.shop-header{padding:32px 0 8px;}
.shop-title{font-size:30px;margin-bottom:8px;}
.shop-description{font-size:13.5px;color:var(--ink-soft);max-width:640px;margin:0;}

.shop-layout{
  display:grid;grid-template-columns:250px 1fr;gap:36px;padding:24px 24px 70px;
  align-items:start;
}
.shop-filters-toggle{
  display:none;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);
  border-radius:8px;padding:11px 16px;font-weight:600;font-size:13.5px;margin-bottom:16px;
  grid-column:1/-1;
}
.shop-filters-toggle svg{width:16px;height:16px;}

.shop-sidebar{position:sticky;top:84px;}
.shop-filters{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.shop-filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.shop-filters-title{font-weight:700;font-size:14px;}
.shop-filters-clear{font-size:12px;color:var(--circuit);font-weight:600;}
.shop-filter-group{padding:14px 0;border-bottom:1px solid var(--line);}
.shop-filter-group:last-of-type{border-bottom:0;}
.shop-filter-label{font-family:var(--font-body);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;}
.shop-filter-options{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;}
.shop-filter-option{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;}
.shop-filter-option input{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;}
.shop-filter-option .count{color:var(--ink-faint);font-size:11.5px;}
.shop-filter-price-row{display:flex;align-items:center;gap:8px;}
.shop-filter-price-row input{
  width:0;flex:1;border:1px solid var(--line);border-radius:6px;padding:8px 9px;font-size:12.5px;
  font-family:var(--font-body);background:var(--panel);
}
.shop-filter-price-row span{color:var(--ink-faint);}
.shop-filter-apply{
  width:100%;background:var(--ink);color:#fff;border:0;border-radius:8px;padding:12px;
  font-weight:600;font-size:13.5px;margin-top:14px;
}
.shop-filter-apply:hover{background:var(--accent);}

.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:12px;}
.shop-result-count{font-size:13px;color:var(--ink-soft);}
.shop-sort-form select{
  border:1px solid var(--line);border-radius:7px;padding:9px 30px 9px 12px;font-size:13px;
  font-family:var(--font-body);background:var(--card);appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238A9296' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
}

.shop-grid{grid-template-columns:repeat(3,1fr);}

.shop-pagination{display:flex;justify-content:center;margin-top:40px;}
.shop-pagination ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;}
.shop-pagination li a, .shop-pagination li span{
  display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:7px;
  border:1px solid var(--line);font-size:13px;font-family:var(--font-body);color:var(--ink-soft);
}
.shop-pagination li span.current{background:var(--ink);color:#fff;border-color:var(--ink);}
.shop-pagination li a:hover{border-color:var(--accent);color:var(--accent);}
/* ===== Infinite scroll autoload ===== */
.es-autoload-spinner{
  display:flex;justify-content:center;align-items:center;gap:7px;
  padding:32px 0 20px;
}
.es-autoload-spinner span{
  width:10px;height:10px;border-radius:50%;
  background:var(--ink);opacity:0.2;
  animation:esSpinnerBounce 1.1s ease-in-out infinite;
}
.es-autoload-spinner span:nth-child(1){animation-delay:0s;}
.es-autoload-spinner span:nth-child(2){animation-delay:.18s;}
.es-autoload-spinner span:nth-child(3){animation-delay:.36s;}
@keyframes esSpinnerBounce{
  0%,80%,100%{transform:scale(0.6);opacity:0.2;}
  40%{transform:scale(1);opacity:1;}
}
/* Pagination hidden during autoload - still occupies space for sentinel */
#shopPagination[style*="visibility:hidden"],
#shopPagination[style*="visibility: hidden"]{pointer-events:none;}


.shop-empty{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:50px 24px;text-align:center;
}
.shop-empty p{color:var(--ink-soft);margin-bottom:16px;}


/* Variant swatches on card */
.prod-swatches,
.prod-swatches,
.prod-variant-hint{display:none !important;}
.prod-swatch-group{display:flex;flex-wrap:wrap;gap:6px;}
.prod-swatch{
  font-family:var(--font-body);font-size:11px;padding:5px 10px;border-radius:5px;
  border:1px solid var(--line);background:var(--card);color:var(--ink-soft);
}
.prod-swatch:hover{border-color:var(--accent);color:var(--accent);}
.prod-swatch.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.prod-swatch-group.prod-swatch-hint{animation:es-shake .4s ease;}
@keyframes es-shake{
  0%,100%{transform:translateX(0);}
  25%{transform:translateX(-4px);}
  75%{transform:translateX(4px);}
}
.prod-add-variant{cursor:pointer;}

/* Responsive */
@media (max-width:1080px){
  .shop-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .shop-layout{grid-template-columns:1fr;padding:16px 16px 50px;}
  .shop-filters-toggle{display:flex;}
  .shop-sidebar{
    position:fixed;top:0;left:0;bottom:0;width:86%;max-width:340px;z-index:90;
    background:var(--card);padding:20px;overflow-y:auto;transform:translateX(-100%);
    transition:transform .3s ease;box-shadow:8px 0 24px rgba(0,0,0,0.15);
  }
  .shop-sidebar.open{transform:translateX(0);}
  .shop-filters{border:0;padding:0;}
}
@media (max-width:600px){
  .shop-grid{grid-template-columns:1fr 1fr;}
  .shop-title{font-size:24px;}
}
.shop-filters-backdrop{
  position:fixed;inset:0;background:rgba(18,24,26,0.45);z-index:85;
}

/* =====================================================================
   MINI-CART DRAWER
   ===================================================================== */

.cart-icon-wrap{position:relative;display:flex;}
.cart-count-badge{
  position:absolute;top:-8px;right:-9px;background:var(--accent);color:#fff;
  font-family:var(--font-body);font-size:10px;font-weight:600;min-width:16px;height:16px;
  border-radius:100px;display:none;align-items:center;justify-content:center;padding:0 4px;
}
.cart-count-badge.show{display:flex;}

.mini-cart-backdrop{
  position:fixed;inset:0;background:rgba(18,24,26,0.45);z-index:95;
  opacity:0;pointer-events:none;transition:opacity .38s ease;
}
.mini-cart-backdrop.show{opacity:1;pointer-events:auto;}

.mini-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:92%;max-width:400px;background:var(--card);
  z-index:100;transform:translateX(100%);
  transition:transform .42s cubic-bezier(0.32, 0.72, 0, 1), visibility .42s;
  display:flex;flex-direction:column;box-shadow:-8px 0 24px rgba(0,0,0,0.15);
  will-change:transform;
  visibility:hidden;
  pointer-events:none;
}
.mini-cart-drawer.open{transform:translateX(0);visibility:visible;pointer-events:auto;}
.mini-cart-drawer-head{
  display:flex;justify-content:space-between;align-items:center;padding:18px 20px;
  border-bottom:1px solid var(--line);flex-shrink:0;
}
.mini-cart-drawer-title{font-weight:700;font-size:15px;}
.mini-cart-close{background:none;border:0;font-size:16px;color:var(--ink-faint);padding:4px;}
.mini-cart-close:hover{color:var(--ink);}

.mini-cart-drawer-content{display:flex;flex-direction:column;flex:1;min-height:0;}
.mini-cart-empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:40px 24px;gap:12px;
}
.mini-cart-empty svg{width:44px;height:44px;stroke:var(--ink-faint);}
.mini-cart-empty p{color:var(--ink-faint);font-size:14px;margin:0 0 6px;}

.mini-cart-items{padding:16px 20px;display:flex;flex-direction:column;gap:16px;flex:1;overflow-y:auto;}
.mini-cart-item{display:flex;gap:12px;align-items:flex-start;}
.mini-cart-item-image{
  width:56px;height:56px;border-radius:8px;background:var(--panel);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.mini-cart-item-image img{width:80%;height:80%;object-fit:contain;}
.mini-cart-item-info{flex:1;min-width:0;}
.mini-cart-item-title{font-size:13px;font-weight:600;display:block;margin-bottom:4px;line-height:1.35;}
.mini-cart-item-meta{display:flex;gap:8px;font-size:12px;color:var(--ink-soft);}
.mini-cart-item-hurry{font-size:11px;font-weight:600;color:var(--accent-dark);margin-bottom:4px;}
.mini-cart-item-price{font-family:var(--font-body);}
.mini-cart-item-remove{
  width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-size:12px;color:var(--ink-faint);background:var(--panel);border:1px solid var(--line);
  border-radius:50%;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
.mini-cart-item-remove:hover{color:#fff;background:var(--accent);border-color:var(--accent);transform:scale(1.08);}

@media (max-width:480px){
  .mini-cart-drawer{width:100%;max-width:none;}
}

/* =====================================================================
   CART PAGE (desing.png layout)
   ===================================================================== */

.es-cart-form{padding-bottom:64px;}
.es-cart-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px 40px;
  align-items:start;padding:12px 0 8px;
}
.es-cart-heading{font-size:28px;margin:8px 0 20px;letter-spacing:-0.02em;}
.es-cart-heading span{font-size:16px;font-weight:500;color:var(--ink-soft);margin-left:6px;}

.es-cart-update-hidden{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
}

.es-cart-items{display:flex;flex-direction:column;gap:12px;}
.es-cart-item{
  display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;
  align-items:start;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:16px 18px 16px 16px;position:relative;
}
.es-cart-item.is-gift{background:var(--circuit-soft);border-color:#cfe3de;}
.es-cart-item-img{
  width:88px;height:88px;border-radius:10px;background:var(--panel);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.es-cart-item-img img{width:82%;height:82%;object-fit:contain;}
.es-cart-item-body{min-width:0;padding-top:2px;}
.es-cart-item-title{
  font-size:14.5px;font-weight:600;line-height:1.4;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.es-cart-item-body .variation{font-size:12px;color:var(--ink-faint);margin:4px 0 0;}
.es-cart-item-body .variation p{margin:0;}
.es-cart-gift-badge{
  display:inline-block;margin-top:6px;font-size:10px;font-weight:700;letter-spacing:0.04em;
  color:var(--circuit);background:#fff;border-radius:4px;padding:3px 7px;
}
.es-cart-gift-qty{display:block;margin-top:10px;color:var(--circuit);font-weight:600;font-size:13px;}

.es-cart-qty{
  display:inline-flex;align-items:center;margin-top:12px;background:var(--circuit-soft);
  border-radius:8px;overflow:hidden;
}
.es-cart-qty .quantity{display:flex;margin:0;}
.es-cart-qty-btn{
  width:36px;height:36px;border:0;background:transparent;color:var(--circuit);
  font-size:18px;line-height:1;font-weight:500;
}
.es-cart-qty-btn:hover{color:var(--ink);}
.es-cart-qty-btn:disabled{opacity:.35;cursor:not-allowed;}
.es-cart-qty input.qty{
  width:36px;height:36px;border:0;background:transparent;text-align:center;
  font-weight:600;font-size:14px;padding:0;-moz-appearance:textfield;color:var(--ink);
}
.es-cart-qty input.qty::-webkit-outer-spin-button,
.es-cart-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.es-cart-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:18px;min-width:92px;}
.es-cart-item-x{
  width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  font-size:18px;line-height:1;color:var(--ink-faint);border-radius:50%;
}
.es-cart-item-x:hover{color:var(--ink);background:var(--panel);}
.es-cart-item-price{font-size:16px;font-weight:700;white-space:nowrap;}

.es-cart-upsell{margin-top:22px;}
.es-cart-upsell-banner{
  display:flex;align-items:flex-start;gap:10px;background:var(--circuit-soft);
  border-radius:10px;padding:12px 14px;margin-bottom:12px;color:var(--circuit);
}
.es-cart-upsell-banner svg{flex-shrink:0;margin-top:1px;}
.es-cart-upsell-banner strong{display:block;font-size:13.5px;color:var(--ink);}
.es-cart-upsell-banner span{font-size:12.5px;color:var(--ink-soft);}
.es-cart-upsell-slider{position:relative;width:100%;}
.es-cart-upsell-grid{
  display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;gap:0;padding-bottom:4px;
  scrollbar-width:none;
}
.es-cart-upsell-grid::-webkit-scrollbar{display:none;}
.es-cart-upsell-page{
  flex:0 0 100%;width:100%;min-width:100%;box-sizing:border-box;
  scroll-snap-align:start;scroll-snap-stop:always;
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.es-cart-upsell-page .es-upsell-card{min-width:0;width:auto;max-width:none;flex:none;}
.es-upsell-card{
  display:flex;align-items:stretch;gap:12px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;
}
.es-upsell-img{
  position:relative;flex:0 0 88px;width:88px;height:88px;border-radius:10px;
  background:var(--panel);overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.es-upsell-img img{width:78%;height:78%;object-fit:contain;}
.es-upsell-off{
  position:absolute;left:5px;bottom:5px;background:var(--circuit);color:#fff;
  font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;letter-spacing:0.02em;
}
.es-upsell-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.es-upsell-title{
  font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink);
}
.es-upsell-prices{font-size:14px;font-weight:700;margin:0;}
.es-upsell-prices del{color:var(--strike);font-weight:500;margin-left:4px;font-size:12px;}
.es-upsell-add{
  margin-top:6px;border:0;background:var(--ink);color:#fff;border-radius:8px;
  padding:8px 14px;font-size:12.5px;font-weight:600;white-space:nowrap;
  font-family:inherit;cursor:pointer;text-decoration:none;display:inline-block;
}
.es-upsell-add:hover{background:var(--accent);color:#fff;}
.es-fbt-dots{
  display:flex;justify-content:center;align-items:center;gap:7px;padding:12px 0 2px;
}
.es-fbt-dot{
  width:8px;height:8px;padding:0;border:0;border-radius:100px;background:var(--line);
  cursor:pointer;
}
.es-fbt-dot.is-on{background:var(--accent);width:18px;}

.es-cart-aside{position:sticky;top:84px;}
.es-summary{
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 20px 18px;
}
.es-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;}
.es-summary-head h2{font-size:18px;margin:0;}
.es-summary-head span{font-size:13px;color:var(--ink-faint);}

.es-summary-ship{
  display:flex;align-items:flex-start;gap:8px;background:var(--circuit-soft);color:var(--circuit);
  border-radius:8px;padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.4;margin-bottom:14px;
}
.es-summary-ship svg{flex-shrink:0;margin-top:1px;}
.es-summary-ship .woocommerce-Price-amount{font-weight:700;}

.es-summary-coupon{display:flex;gap:8px;margin-bottom:12px;}
.es-summary-coupon input[type="text"]{
  flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:11px 12px;
  font-size:12px;letter-spacing:0.04em;text-transform:uppercase;background:var(--panel);
}
.es-summary-apply{
  background:var(--circuit);color:#fff;border:0;border-radius:8px;padding:0 16px;
  font-weight:600;font-size:13px;
}
.es-summary-apply:hover{background:var(--ink);}

.es-summary-offers{margin-bottom:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.es-summary-offers-toggle{
  width:100%;display:flex;align-items:center;gap:8px;background:none;border:0;
  padding:12px 0;font-size:12.5px;font-weight:600;color:var(--ink);text-align:left;
}
.es-summary-offers-toggle svg{flex-shrink:0;stroke:var(--circuit);}
.es-summary-chevron{margin-left:auto;color:var(--ink-faint);font-size:12px;transition:transform .2s;}
.es-summary-offers.is-open .es-summary-chevron{transform:rotate(180deg);}
.es-summary-offers-list{display:none;list-style:none;margin:0 0 12px;padding:0 0 4px;font-size:12.5px;}
.es-summary-offers.is-open .es-summary-offers-list{display:block;}
.es-summary-offers-list li{padding:4px 0 4px 18px;position:relative;color:var(--ink-soft);}
.es-summary-offers-list li:before{content:'';position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:50%;background:var(--line);}
.es-summary-offers-list li.is-on{color:var(--circuit);font-weight:600;}
.es-summary-offers-list li.is-on:before{background:var(--circuit);}

.es-summary-table{width:100%;border-collapse:collapse;margin-top:4px;}
.es-summary-table th,.es-summary-table td{
  padding:8px 0;font-size:13.5px;font-weight:500;border:0;text-align:left;vertical-align:top;
}
.es-summary-table td{text-align:right;}
.es-summary-table .order-total th,.es-summary-table .order-total td{
  font-size:20px;font-weight:800;padding-top:12px;
}
.es-summary-table ul{list-style:none;margin:0;padding:0;text-align:right;}
.es-summary-table .woocommerce-shipping-methods li{margin:4px 0;}
.es-summary-free{color:var(--circuit);margin-left:6px;}
.es-summary-table del{color:var(--strike);}
.es-summary-tax-note{font-size:12px;color:var(--ink-faint);margin:2px 0 12px;text-align:right;}

.es-summary-save{
  background:var(--circuit-soft);color:var(--circuit);border-radius:100px;
  text-align:center;padding:8px 12px;font-size:13px;font-weight:600;margin-bottom:14px;
}

.es-summary .wc-proceed-to-checkout{margin:0 0 16px;}
.es-summary .checkout-button{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  background:var(--circuit);color:#fff;border-radius:10px;padding:14px 16px;
  font-weight:700;font-size:15px;text-align:center;
}
.es-summary .checkout-button:hover{background:var(--ink);color:#fff;}
.es-summary .checkout-button:before{
  content:"";width:15px;height:15px;flex-shrink:0;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 018 0v3'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 018 0v3'/%3E%3C/svg%3E") center/contain no-repeat;
}

.es-summary-trust{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:4px;
}
.es-summary-trust div{text-align:center;color:var(--ink-faint);}
.es-summary-trust svg{width:22px;height:22px;margin:0 auto 6px;display:block;}
.es-summary-trust span{display:block;font-size:10.5px;font-weight:600;line-height:1.3;}

.es-summary-coupon .screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;
}

.cart-empty-state{
  text-align:center;padding:70px 24px;background:var(--panel);border:1px solid var(--line);
  border-radius:16px;margin:24px 0 60px;
}
.cart-empty-state svg{width:52px;height:52px;stroke:var(--ink-faint);margin:0 auto 16px;}
.cart-empty-state h2{font-size:22px;margin-bottom:8px;}
.cart-empty-state p{color:var(--ink-soft);font-size:14px;margin-bottom:22px;}

@media (max-width:960px){
  .es-cart-layout{grid-template-columns:1fr;}
  .es-cart-aside{position:static;}
}
.es-cart-heading{font-size:28px;margin:8px 0 20px;letter-spacing:-0.02em;}
.es-cart-heading span{font-size:16px;font-weight:500;color:var(--ink-soft);margin-left:6px;}
.es-cart-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:18px;min-width:92px;}
.es-cart-gift-badge{
  display:inline-block;margin-top:6px;font-size:10px;font-weight:700;letter-spacing:0.04em;
  color:var(--circuit);background:#fff;border-radius:4px;padding:3px 7px;
}
.es-cart-gift-qty{display:block;margin-top:10px;color:var(--circuit);font-weight:600;font-size:13px;}
.es-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;}
.es-summary-head h2{font-size:18px;margin:0;}
.es-summary-head span{font-size:13px;color:var(--ink-faint);}
.es-summary-ship{
  display:flex;align-items:flex-start;gap:8px;background:var(--circuit-soft);color:var(--circuit);
  border-radius:8px;padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.4;margin-bottom:14px;
}
.es-summary-ship svg{flex-shrink:0;margin-top:1px;}
.es-summary-coupon{display:flex;gap:8px;margin-bottom:12px;}
.es-summary-coupon input[type="text"]{
  flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:11px 12px;
  font-size:12px;letter-spacing:0.04em;text-transform:uppercase;background:var(--panel);
}
.es-summary-offers-toggle{
  width:100%;display:flex;align-items:center;gap:8px;background:none;border:0;
  padding:12px 0;font-size:12.5px;font-weight:600;color:var(--ink);text-align:left;
}
.es-summary-offers-list li.is-on{color:var(--circuit);font-weight:600;}
.es-summary-offers-list li.is-on:before{background:var(--circuit);}
.es-summary-tax-note{font-size:12px;color:var(--ink-faint);margin:2px 0 12px;text-align:right;}
.es-summary-save{
  background:var(--circuit-soft);color:var(--circuit);border-radius:100px;
  text-align:center;padding:8px 12px;font-size:13px;font-weight:600;margin-bottom:14px;
}
@media (max-width:680px){
  .es-cart-item-side{
    grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;
    min-width:0;width:100%;gap:8px;
  }
  .es-cart-heading{font-size:22px;}
  .es-cart-upsell-page{gap:8px;}
  .es-upsell-card{padding:10px;gap:10px;}
  .es-upsell-img{flex-basis:64px;width:64px;height:64px;}
}

/* =====================================================================
   CHECKOUT PAGE
   ===================================================================== */

.wp-block-woocommerce-checkout.wrap,
.wp-block-woocommerce-checkout.alignwide,
.wc-block-checkout.wrap{
  max-width:var(--maxw);
  width:100%;
  margin-top:48px;
  margin-bottom:80px;
  margin-left:auto;
  margin-right:auto;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}
@media (max-width:680px){
  .wp-block-woocommerce-checkout.wrap,
  .wp-block-woocommerce-checkout.alignwide,
  .wc-block-checkout.wrap{
    margin-top:24px;
    margin-bottom:48px;
    padding-left:16px;
    padding-right:16px;
  }
}

.es-checkout-page{
  padding-bottom:80px;
  overflow-x:hidden;
  max-width:100%;
}
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .es-checkout,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.checkout_coupon{
  max-width:100%;
  box-sizing:border-box !important;
}
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout iframe,
body.woocommerce-checkout table,
body.woocommerce-checkout .select2-container{
  max-width:100% !important;
  min-width:0 !important;
}
.es-checkout-crumb{padding:16px 0 0;}
.es-checkout-header{padding:8px 0 18px;}
.es-checkout-header h1{font-size:28px;letter-spacing:-0.03em;}
.es-checkout-header p{margin:8px 0 0;color:var(--ink-soft);font-size:14.5px;}

.es-checkout-page .woocommerce-NoticeGroup,
.es-checkout-page .woocommerce-form-login,
.es-checkout-page .woocommerce-info,
.es-checkout-page .es-checkout-coupon-wrap{
  margin-left:0;
  margin-right:0;
}
.es-checkout-page .woocommerce-form-login{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px 20px;
  margin-bottom:16px;
}

.es-checkout-coupon-wrap{margin:0 0 8px;}
.es-checkout-coupon-prompt{
  margin:0;
  background:var(--card);
  border:1px dashed var(--line);
  border-radius:10px;
  padding:12px 16px;
  font-size:13.5px;
  color:var(--ink-soft);
}
.es-checkout-coupon-prompt a{color:var(--circuit);font-weight:600;}
body.woocommerce-checkout form.checkout_coupon.es-checkout-coupon-form,
.es-checkout-coupon-form{
  display:flex !important;
  flex-wrap:wrap;
  align-items:stretch;
  gap:10px;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  box-sizing:border-box;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px !important;
  margin:0 0 16px !important;
  overflow:visible !important;
}
body.woocommerce-checkout form.checkout_coupon .form-row,
.es-checkout-coupon-form .form-row{
  float:none !important;
  clear:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
body.woocommerce-checkout form.checkout_coupon .es-checkout-coupon-field,
.es-checkout-coupon-field{
  flex:1 1 auto;
  min-width:0;
  width:auto !important;
  max-width:100% !important;
}
body.woocommerce-checkout form.checkout_coupon .es-checkout-coupon-action,
.es-checkout-coupon-action{
  flex:0 0 auto;
  width:auto !important;
}
.es-checkout-coupon-form .input-text,
body.woocommerce-checkout form.checkout_coupon .input-text{
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-width:0;
  height:46px;
  box-sizing:border-box;
  border:1.5px solid var(--line);
  border-radius:8px;
  padding:0 14px;
  font-family:var(--font-body);
  font-size:16px;
  color:var(--ink);
  background:var(--panel);
}
.es-checkout-coupon-apply,
body.woocommerce-checkout form.checkout_coupon .es-checkout-coupon-apply,
.woocommerce form.checkout_coupon button.button.es-checkout-coupon-apply{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  float:none !important;
  width:auto !important;
  min-width:96px;
  height:46px;
  padding:0 18px !important;
  border:0 !important;
  border-radius:8px;
  background:var(--ink) !important;
  color:#fff !important;
  font-weight:700;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}
.es-checkout-coupon-apply:hover,
.woocommerce form.checkout_coupon button.button.es-checkout-coupon-apply:hover{
  background:var(--accent) !important;
  color:#fff !important;
}
@media (max-width:420px){
  body.woocommerce-checkout form.checkout_coupon.es-checkout-coupon-form,
  .es-checkout-coupon-form{flex-wrap:wrap;}
  .es-checkout-coupon-field,
  .es-checkout-coupon-action{flex:1 1 100%;width:100% !important;}
  .es-checkout-coupon-apply,
  body.woocommerce-checkout form.checkout_coupon .es-checkout-coupon-apply{width:100% !important;}
}

.es-checkout-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  align-items:start;
  padding:4px 0 0;
  width:100%;
  max-width:100%;
}
@media (min-width:1025px){
  .es-checkout-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,380px);
    gap:24px 28px;
  }
}
.es-checkout-main,
.es-checkout-aside,
.es-checkout{
  min-width:0;
  width:100%;
}
.es-checkout-aside{
  position:sticky;
  top:88px;
  max-width:100%;
  min-width:0;
}
.es-checkout-card,
.es-checkout-payment,
#payment{
  max-width:100%;
  min-width:0;
}
.es-checkout-card{overflow-x:hidden;}

.es-checkout-block{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
  margin-bottom:16px;
  box-shadow:0 8px 24px rgba(18,24,26,0.04);
}
.es-checkout-block-title{
  font-size:16px;
  margin:0 0 16px;
  letter-spacing:-0.02em;
}
.es-checkout-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  margin:0 0 14px;
}
.es-checkout-check input{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0;}

/* Override WooCommerce default checkout form layout */
body.woocommerce-checkout .woocommerce .col2-set,
body.woocommerce-checkout .woocommerce .col2-set .col-1,
body.woocommerce-checkout .woocommerce .col2-set .col-2,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body.woocommerce-checkout form .form-row-first,
body.woocommerce-checkout form .form-row-last{
  float:none !important;
}
body.woocommerce-checkout .es-checkout .form-row,
body.woocommerce-checkout .es-checkout .form-row-first,
body.woocommerce-checkout .es-checkout .form-row-last,
body.woocommerce-checkout .es-checkout .form-row-wide{
  float:none !important;
  clear:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
body.woocommerce-checkout .es-checkout .form-row:after,
body.woocommerce-checkout .es-checkout .form-row:before,
body.woocommerce-checkout .es-checkout .clear{
  display:none !important;
  content:none !important;
}

.es-checkout-grid-fields{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
  width:100%;
  max-width:100%;
}
.es-checkout-grid-fields .form-row,
.es-checkout-grid-fields .form-row-wide,
.es-checkout-grid-fields .address-field,
.es-checkout-grid-fields .form-row.form-row-first,
.es-checkout-grid-fields .form-row.form-row-last{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  max-width:100%;
}
@media (min-width:861px){
  .es-checkout-grid-fields{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:14px 16px;
  }
  .es-checkout-grid-fields .form-row.form-row-first,
  .es-checkout-grid-fields .form-row.form-row-last{
    grid-column:span 1;
  }
}

.es-checkout label,
.es-checkout-grid-fields label{
  display:block;
  position:static !important;
  clip:auto !important;
  width:auto !important;
  height:auto !important;
  font-size:12.5px;
  font-weight:600;
  color:var(--ink-soft);
  margin:0 0 7px;
  line-height:1.3;
}
.es-checkout label.screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
}
.es-checkout label .required{color:var(--accent);text-decoration:none;border:0;}
.es-checkout .woocommerce-input-wrapper,
.es-checkout .woocommerce-input-wrapper .select2-container,
.es-checkout .select2-container{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}

.es-checkout input.input-text,
.es-checkout input[type="tel"],
.es-checkout input[type="email"],
.es-checkout input[type="password"],
.es-checkout input[type="text"],
.es-checkout select,
.es-checkout textarea,
body.woocommerce-checkout .es-checkout .form-row input.input-text,
body.woocommerce-checkout .es-checkout .form-row textarea,
body.woocommerce-checkout .es-checkout .form-row select{
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:46px;
  box-sizing:border-box;
  border:1.5px solid var(--line);
  border-radius:8px;
  padding:0 14px;
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  color:var(--ink);
  background:#fff;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
}
.es-checkout textarea,
body.woocommerce-checkout .es-checkout .form-row textarea{
  height:auto;
  min-height:88px;
  padding:10px 12px;
  resize:vertical;
}
.es-checkout input.input-text:focus,
.es-checkout input[type="tel"]:focus,
.es-checkout input[type="email"]:focus,
.es-checkout select:focus,
.es-checkout textarea:focus{
  border-color:var(--circuit);
  outline:none;
  background:#fff;
  box-shadow:0 0 0 3px rgba(14,124,107,0.12);
}
.es-checkout .select2-container--default .select2-selection--single{
  height:46px !important;
  border:1.5px solid var(--line) !important;
  border-radius:8px !important;
  padding:0 12px;
  display:flex;
  align-items:center;
  background:#fff !important;
}
.es-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0;
  line-height:44px !important;
  font-size:16px;
  color:var(--ink);
  font-family:var(--font-body);
}
.es-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px !important;}
.es-checkout .form-row input.input-checkbox,
.es-checkout .form-row input[type="checkbox"],
.es-checkout .form-row input[type="radio"]{
  width:18px !important;
  height:18px !important;
  min-width:18px;
  padding:0;
  margin:0;
  display:inline-block;
  accent-color:var(--accent);
}
.es-checkout .form-row label.checkbox,
.es-checkout .form-row label.woocommerce-form__label-for-checkbox{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  font-size:13.5px;
  font-weight:500;
  color:var(--ink);
  margin:0;
}
.es-checkout .woocommerce-validated input.input-text,
.es-checkout .woocommerce-validated .select2-selection--single{border-color:var(--circuit) !important;}
.es-checkout .woocommerce-invalid input.input-text{border-color:#D64545 !important;}
.es-checkout span.woocommerce-input-wrapper{width:100%;}

.es-checkout-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
  box-shadow:0 12px 36px rgba(18,24,26,0.06);
}
.es-checkout-card-title{font-size:16px;margin:0 0 16px;}

.es-checkout-order-items,
.checkout-order-items{display:flex;flex-direction:column;gap:14px;margin-bottom:16px;max-height:280px;overflow-y:auto;}
.es-checkout-order-item,
.checkout-order-item{display:flex;align-items:flex-start;gap:12px;}
.es-checkout-order-item-image,
.checkout-order-item-image{
  position:relative;width:52px;height:52px;border-radius:10px;background:var(--panel);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.es-checkout-order-item-image img,
.checkout-order-item-image img{width:80%;height:80%;object-fit:contain;}
.es-checkout-order-item-qty,
.checkout-order-item-qty{
  position:absolute;top:-6px;right:-6px;background:var(--ink);color:#fff;font-size:10px;
  width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-body);
}
.es-checkout-order-item-info,
.checkout-order-item-info{flex:1;min-width:0;}
.es-checkout-order-item-title,
.checkout-order-item-title{font-size:13px;font-weight:600;display:block;line-height:1.35;}
.es-checkout-order-item-info .variation,
.checkout-order-item-info .variation{font-size:11px;color:var(--ink-faint);margin:2px 0 0;}
.es-checkout-order-item-price,
.checkout-order-item-price{font-size:13px;font-weight:600;white-space:nowrap;}

.es-checkout-totals,
.checkout-totals-table{width:100%;border-collapse:collapse;margin:0 0 8px;}
.es-checkout-totals th,
.es-checkout-totals td,
.checkout-totals-table th,
.checkout-totals-table td{
  padding:10px 0;font-size:13px;border-bottom:1px solid var(--line);text-align:left;font-weight:400;
}
.es-checkout-totals td,
.checkout-totals-table td{text-align:right;font-family:var(--font-body);}
.es-checkout-totals .order-total th,
.es-checkout-totals .order-total td,
.checkout-totals-table .order-total th,
.checkout-totals-table .order-total td{
  border-bottom:0;font-weight:700;font-size:16px;padding-top:14px;
}
.es-checkout-totals .woocommerce-shipping-totals td select,
.checkout-totals-table .shipping td select{
  width:100%;max-width:180px;border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:12.5px;background:var(--panel);
}

.es-checkout-pay-title{font-size:15px;margin:18px 0 12px;}
.es-checkout-payment-methods{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px;}
.es-checkout-gateway{
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--panel);
}
.es-checkout-gateway{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
}
.es-checkout-gateway.chosen,
.es-checkout-gateway:has(input:checked){border-color:var(--circuit);background:#fff;}
.es-checkout-gateway > input.input-radio{
  margin:16px 0 0 14px;
  accent-color:var(--accent);
  width:16px;
  height:16px;
}
.es-checkout-gateway-label{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:13px 14px 13px 8px;cursor:pointer;font-size:13.5px;font-weight:600;margin:0;
}
.es-checkout-gateway-box,
.es-checkout-gateway .payment_box{
  grid-column:1 / -1;
}
.es-checkout-gateway-label img{max-height:22px;}
.es-checkout-gateway-box,
.es-checkout-gateway .payment_box{
  padding:0 14px 14px;font-size:12.5px;color:var(--ink-soft);line-height:1.6;background:#fff;
}
.es-checkout-gateway .payment_box p{margin:0 0 8px;}
.es-checkout-no-gateways{background:var(--panel);border-radius:8px;padding:12px;font-size:13px;}
.es-checkout-place-order,
body.woocommerce-checkout #payment .place-order,
body.woocommerce-checkout #payment div.form-row.place-order{
  display:block !important;
  visibility:visible !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  max-width:100% !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  overflow:visible !important;
  box-sizing:border-box;
}
.es-checkout-place-btn,
#place_order,
#place_order.es-checkout-place-btn,
body.woocommerce-checkout #payment #place_order,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order{
  display:flex !important;
  align-items:center;
  justify-content:center;
  visibility:visible !important;
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  min-height:50px;
  box-sizing:border-box;
  background:var(--accent) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:10px;
  padding:14px 16px !important;
  font-weight:700;
  font-size:16px;
  line-height:1.2;
  white-space:normal;
  text-align:center;
}
.es-checkout-place-btn:hover,
#place_order.es-checkout-place-btn:hover,
body.woocommerce-checkout #payment #place_order:hover{background:var(--accent-dark);color:#fff;}
.es-checkout-place-btn:disabled,
#place_order:disabled{opacity:0.6;}

.es-checkout-trust{
  display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
}
.es-checkout-trust span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-soft);}
.es-checkout-trust svg{width:16px;height:16px;stroke:var(--circuit);flex-shrink:0;}

.woocommerce-error, .woocommerce-message, .woocommerce-info{
  list-style:none;margin:0 0 16px;padding:14px 16px;border-radius:10px;font-size:13.5px;
  background:var(--panel);border:1px solid var(--line);
}
.woocommerce-error{background:#FEF2F2;border-color:#FCA5A5;color:#991B1B;}
.woocommerce-error li{list-style:none;}
.woocommerce-message{background:var(--circuit-soft);border-color:#BBE0D8;color:var(--circuit);}

.woocommerce-checkout #payment,
.woocommerce-checkout #payment.woocommerce-checkout-payment,
.es-checkout-payment{
  background:transparent !important;
  border:0 !important;
  overflow:visible !important;
}
.woocommerce-checkout #payment .payment_methods,
.woocommerce-checkout #payment ul.payment_methods{
  list-style:none;
  overflow:visible !important;
  padding:0 !important;
  margin:0 0 16px !important;
  border:0 !important;
}
.woocommerce-checkout #payment .payment_methods > li{list-style:none;width:100%;}
.woocommerce-checkout #payment div.payment_box::before{display:none;}
.woocommerce-checkout #payment div.form-row{padding:0;}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:0 0 12px;font-size:12.5px;color:var(--ink-soft);}

.checkout-section-heading{font-size:16px;margin-bottom:16px;}

@media (max-width:1024px){
  .es-checkout-aside{position:static;width:100%;}
}

@media (max-width:768px){
  html, body, body.woocommerce-checkout{overflow-x:clip;width:100%;}
  body.woocommerce-checkout .wrap{overflow-x:hidden;}
  .es-checkout-page,
  .es-checkout,
  .es-checkout-grid,
  .es-checkout-main,
  .es-checkout-aside,
  .es-checkout-card,
  .es-checkout-block,
  #order_review,
  #payment{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .es-checkout-page{padding-bottom:24px;}
  .es-checkout-header h1{font-size:22px;}
  .es-checkout-header p{font-size:13.5px;}
  .es-checkout-block,
  .es-checkout-card{padding:14px;}
  .es-checkout-block-title,
  .es-checkout-card-title{font-size:15px;}

  .es-checkout-grid,
  .es-checkout-grid-fields{
    display:flex !important;
    flex-direction:column !important;
    gap:12px;
  }

  body.woocommerce-checkout .woocommerce form .form-row,
  body.woocommerce-checkout .woocommerce form .form-row-first,
  body.woocommerce-checkout .woocommerce form .form-row-last,
  body.woocommerce-checkout .woocommerce form .form-row-wide,
  body.woocommerce-checkout .es-checkout .form-row,
  body.woocommerce-checkout .es-checkout .form-row-first,
  body.woocommerce-checkout .es-checkout .form-row-last,
  body.woocommerce-checkout .es-checkout .form-row-wide,
  .es-checkout-grid-fields .form-row,
  .es-checkout-grid-fields .form-row.form-row-first,
  .es-checkout-grid-fields .form-row.form-row-last,
  .es-checkout-grid-fields .form-row-wide,
  .es-checkout-grid-fields .address-field{
    float:none !important;
    clear:both !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    grid-column:auto !important;
  }

  body.woocommerce-checkout form.checkout_coupon.es-checkout-coupon-form,
  .es-checkout-coupon-form{
    flex-wrap:wrap !important;
  }
  .es-checkout-coupon-field,
  .es-checkout-coupon-action{
    flex:1 1 100% !important;
    width:100% !important;
  }
  .es-checkout-coupon-apply,
  body.woocommerce-checkout form.checkout_coupon .es-checkout-coupon-apply{
    width:100% !important;
  }

  .es-checkout-order-item,
  .checkout-order-item{flex-wrap:wrap;}
  .es-checkout-order-item-price,
  .checkout-order-item-price{white-space:normal;}
  .es-checkout-totals,
  .checkout-totals-table{table-layout:fixed;width:100%;}
  .es-checkout-totals th,
  .es-checkout-totals td{word-break:break-word;}
  .es-checkout-gateway-label{flex-wrap:wrap;}
  .es-checkout-gateway-label img{max-width:100%;height:auto;}
  #payment iframe,
  .payment_box iframe,
  .es-checkout-gateway-box iframe{
    max-width:100% !important;
    width:100% !important;
  }

  .es-checkout-place-order,
  body.woocommerce-checkout #payment .place-order,
  body.woocommerce-checkout #payment div.form-row.place-order{
    position:static !important;
    width:100% !important;
    margin:16px 0 0 !important;
    padding:0 !important;
  }
  .es-checkout-place-btn,
  #place_order,
  body.woocommerce-checkout #payment #place_order{
    width:100% !important;
    min-height:50px;
    font-size:16px;
  }
}

/* =====================================================================
   THANK YOU / ORDER RECEIVED PAGE
   ===================================================================== */

.thankyou-wrap{max-width:var(--maxw);margin:0 auto;padding:40px 24px 80px;}

.thankyou-status{text-align:center;max-width:520px;margin:0 auto 36px;}
.thankyou-icon{
  width:64px;height:64px;border-radius:50%;background:var(--circuit-soft);color:var(--circuit);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.thankyou-icon svg{width:28px;height:28px;}
.thankyou-icon-failed{background:#FEF2F2;color:#DC2626;font-size:26px;font-weight:700;}
.thankyou-eyebrow{
  font-family:var(--font-body);font-size:11.5px;letter-spacing:0.08em;color:var(--circuit);
  text-transform:uppercase;display:block;margin-bottom:10px;
}
.thankyou-status h1{font-size:28px;margin-bottom:10px;}
.thankyou-status p{color:var(--ink-soft);font-size:14.5px;line-height:1.6;}
.thankyou-status-failed h1{color:#DC2626;}

.thankyou-order-meta{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:820px;margin:0 auto 40px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;
}
.thankyou-meta-item{display:flex;flex-direction:column;gap:4px;}
.thankyou-meta-label{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.04em;}
.thankyou-meta-value{font-size:14px;font-weight:600;}

.thankyou-layout{
  display:grid;grid-template-columns:1fr 320px;gap:36px;max-width:960px;margin:0 auto 40px;align-items:start;
}
.thankyou-items{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.thankyou-sidebar{display:flex;flex-direction:column;gap:16px;}
.thankyou-address-box, .thankyou-next-steps{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;
}
.thankyou-address-box h3, .thankyou-next-steps h3{font-size:14px;margin-bottom:10px;}
.thankyou-address-box address{font-style:normal;font-size:13px;color:var(--ink-soft);line-height:1.7;}
.thankyou-next-steps ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;}
.thankyou-next-steps li{
  font-size:12.5px;color:var(--ink-soft);line-height:1.5;padding-left:18px;position:relative;
}
.thankyou-next-steps li::before{content:'✓';position:absolute;left:0;color:var(--circuit);font-weight:700;}

.thankyou-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px;}
.thankyou-actions-bottom{max-width:960px;margin:0 auto;justify-content:flex-start;}

@media (max-width:860px){
  .thankyou-order-meta{grid-template-columns:1fr 1fr;}
  .thankyou-layout{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .thankyou-order-meta{grid-template-columns:1fr;}
  .thankyou-status h1{font-size:22px;}
}

/* =====================================================================
   MY ACCOUNT
   ===================================================================== */

.account-page-header{padding:28px 0 20px;}
.account-page-header h1{font-size:26px;}

.account-layout{
  display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:start;padding-bottom:70px;
}

.account-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px;position:sticky;top:84px;}
.account-nav a{
  display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:8px;font-size:13.5px;
  font-weight:500;color:var(--ink-soft);
}
.account-nav a svg{width:18px;height:18px;stroke:var(--ink-faint);flex-shrink:0;}
.account-nav li:hover a{background:var(--panel);color:var(--ink);}
.account-nav li.is-active a{background:var(--ink);color:#fff;}
.account-nav li.is-active a svg{stroke:#fff;}

.account-content{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.account-section-heading{font-size:19px;margin-bottom:14px;}
.account-section-intro{font-size:13px;color:var(--ink-soft);margin-bottom:22px;}

.account-dashboard-intro{font-size:14px;color:var(--ink-soft);line-height:1.7;margin-bottom:24px;}
.account-dashboard-intro a{color:var(--circuit);font-weight:600;}

.account-quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.account-quick-link{
  display:flex;align-items:center;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;font-size:13.5px;font-weight:600;
}
.account-quick-link svg{width:20px;height:20px;stroke:var(--circuit);flex-shrink:0;}
.account-quick-link:hover{border-color:var(--accent);}

.account-orders-list{display:flex;flex-direction:column;gap:0;}
.account-order-row{
  display:grid;grid-template-columns:1fr auto auto auto;gap:16px;align-items:center;
  padding:16px 4px;border-bottom:1px solid var(--line);
}
.account-order-row:last-child{border-bottom:0;}
.account-order-main{display:flex;flex-direction:column;gap:3px;}
.account-order-number{font-size:13.5px;font-weight:700;}
.account-order-date{font-size:12px;color:var(--ink-faint);}
.account-order-status{
  font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:100px;background:var(--panel);color:var(--ink-soft);
  white-space:nowrap;
}
.account-order-status.status-completed, .account-order-status.status-processing{background:var(--circuit-soft);color:var(--circuit);}
.account-order-status.status-cancelled, .account-order-status.status-failed{background:#FEF2F2;color:#DC2626;}
.account-order-status.status-on-hold, .account-order-status.status-pending{background:#FEF3E2;color:#C2740A;}
.account-order-total{font-size:13px;white-space:nowrap;}
.account-order-actions{display:flex;gap:8px;}
.account-order-action-btn{
  font-size:12px;font-weight:600;padding:7px 12px;border-radius:6px;border:1px solid var(--line);white-space:nowrap;
}
.account-order-action-btn:hover{border-color:var(--accent);color:var(--accent);}
.account-order-action-btn.view{background:var(--ink);color:#fff;border-color:var(--ink);}
.account-order-action-btn.view:hover{background:var(--accent);border-color:var(--accent);color:#fff;}

.account-orders-pagination{display:flex;gap:10px;justify-content:center;margin-top:24px;}

.account-empty-state{text-align:center;padding:50px 20px;}
.account-empty-state svg{width:44px;height:44px;stroke:var(--ink-faint);margin-bottom:14px;}
.account-empty-state p{color:var(--ink-soft);margin-bottom:18px;}

.account-back-link{display:inline-block;font-size:13px;color:var(--circuit);font-weight:600;margin-bottom:18px;}

.account-order-notes{margin:24px 0;background:var(--panel);border-radius:10px;padding:18px;}
.account-order-notes h3{font-size:14px;margin-bottom:12px;}
.account-order-notes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.account-order-notes li{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:12px;}
.account-order-notes li:last-child{border-bottom:0;padding-bottom:0;}
.account-order-note-date{font-size:11px;color:var(--ink-faint);display:block;margin-bottom:4px;}

.account-addresses{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.account-address-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;}
.account-address-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.account-address-card-head h3{font-size:14px;}
.account-address-edit{font-size:12px;color:var(--circuit);font-weight:600;}
.account-address-card address{font-style:normal;font-size:13px;color:var(--ink-soft);line-height:1.7;}

.account-form fieldset{border:0;padding:0;margin:24px 0;}
.account-password-fieldset legend{font-size:14px;font-weight:700;margin-bottom:14px;padding:0;}

/* =====================================================================
   LOGIN + REGISTER (separate pages)
   ===================================================================== */
.es-auth-page{
  min-height:calc(100vh - 180px);
  padding:28px 16px 48px;
  background:
    radial-gradient(1200px 420px at 10% -10%, rgba(255,90,31,0.16), transparent 55%),
    radial-gradient(900px 380px at 100% 0%, rgba(14,124,107,0.14), transparent 50%),
    var(--bg);
}
.es-auth-wrap{max-width:980px;margin:0 auto;}
.es-auth-wrap .woocommerce-notices-wrapper,
.es-auth-wrap .woocommerce-message,
.es-auth-wrap .woocommerce-info,
.es-auth-wrap .woocommerce-error{
  max-width:980px;margin:0 auto 16px;border-radius:12px;
}
.es-auth-shell{
  display:grid;grid-template-columns:1fr 1fr;min-height:560px;
  background:var(--card);border-radius:22px;overflow:hidden;
  box-shadow:0 18px 50px rgba(18,24,26,0.12);
}
.es-auth-hero{
  padding:40px 36px;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:14px;
  background:
    linear-gradient(160deg, rgba(18,24,26,0.25), rgba(18,24,26,0.55)),
    linear-gradient(135deg, #FF7A3D 0%, #FF5A1F 38%, #0E7C6B 100%);
}
.es-auth-hero-register{
  background:
    linear-gradient(160deg, rgba(18,24,26,0.2), rgba(18,24,26,0.5)),
    linear-gradient(135deg, #0E7C6B 0%, #149684 42%, #FF5A1F 100%);
}
.es-auth-hero-badge{
  display:inline-flex;align-self:flex-start;padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,0.16);font-size:12px;font-weight:700;letter-spacing:0.04em;
}
.es-auth-hero h2{font-size:30px;line-height:1.2;color:#fff;max-width:16ch;}
.es-auth-hero p{font-size:15px;line-height:1.6;color:rgba(255,255,255,0.9);margin:0;max-width:36ch;}
.es-auth-perks{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.es-auth-perks li{
  font-size:14px;font-weight:600;padding-left:26px;position:relative;
}
.es-auth-perks li::before{
  content:'';position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230E7C6B' stroke-width='2' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") center/12px no-repeat;
}
.es-auth-panel{display:flex;align-items:center;padding:36px 32px;background:#fff;}
.es-auth-card{width:100%;max-width:400px;margin:0 auto;}
.es-auth-kicker{
  font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--accent);margin:0 0 8px;
}
.es-auth-page-register .es-auth-kicker{color:var(--circuit);}
.es-auth-title{font-size:28px;margin:0 0 8px;color:var(--ink);}
.es-auth-sub{font-size:14px;line-height:1.55;color:var(--ink-soft);margin:0 0 22px;}
.es-auth-form .form-row{margin:0 0 14px;display:flex;flex-direction:column;gap:6px;}
.es-auth-form label{font-size:13px;font-weight:600;color:var(--ink);}
.es-auth-form .required{color:var(--accent);}
.es-auth-form .input-text,
.es-auth-form input[type="text"],
.es-auth-form input[type="email"],
.es-auth-form input[type="password"]{
  width:100%;height:48px;padding:0 14px;border:1.5px solid var(--line);border-radius:10px;
  background:var(--panel);font-family:var(--font-body);font-size:15px;color:var(--ink);
}
.es-auth-form .input-text:focus,
.es-auth-form input:focus{
  outline:0;border-color:var(--accent);background:#fff;
  box-shadow:0 0 0 4px rgba(255,90,31,0.15);
}
.es-auth-page-register .es-auth-form .input-text:focus,
.es-auth-page-register .es-auth-form input:focus{
  border-color:var(--circuit);box-shadow:0 0 0 4px rgba(14,124,107,0.16);
}
.es-auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 16px;flex-wrap:wrap;}
.es-auth-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft);font-weight:500;}
.es-auth-forgot{font-size:13px;font-weight:700;color:var(--circuit);}
.es-auth-submit{
  width:100%;height:50px;border:0;border-radius:12px;font-weight:700;font-size:15.5px;color:#fff;
  box-shadow:0 10px 22px rgba(18,24,26,0.18);
}
.es-auth-submit-login{background:linear-gradient(135deg, var(--ink), #1B2528);}
.es-auth-submit-login:hover{background:var(--accent);}
.es-auth-submit-register{background:linear-gradient(135deg, var(--accent), var(--accent-dark));}
.es-auth-submit-register:hover{background:var(--ink);}
.es-auth-switch{margin:18px 0 0;text-align:center;font-size:14px;color:var(--ink-soft);}
.es-auth-switch a{
  display:inline-block;margin-left:4px;font-weight:800;color:var(--accent);
}
.es-auth-resend{
  margin-top:20px;padding-top:18px;border-top:1px dashed var(--line);
}
.es-auth-resend-title{font-size:13px;font-weight:600;color:var(--ink-soft);margin:0 0 10px;}
.es-auth-resend-row{display:flex;gap:8px;margin:0;}
.es-auth-resend-row .input-text{
  flex:1;height:44px;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;
  background:var(--panel);font-size:14px;
}
.es-auth-resend-btn{
  height:44px;padding:0 14px;border:0;border-radius:10px;background:var(--circuit);color:#fff;
  font-weight:700;font-size:13px;white-space:nowrap;
}
.es-auth-resend-btn:hover{background:var(--ink);}
@media (max-width:420px){
  .es-auth-resend-row{flex-direction:column;}
}
.es-auth-page-register .es-auth-switch a{color:var(--circuit);}

.es-auth-page .lost_reset_password,
.es-auth-page .woocommerce-ResetPassword{
  max-width:440px;margin:0 auto;background:#fff;border-radius:22px;padding:32px 24px;
  box-shadow:0 18px 50px rgba(18,24,26,0.12);
}

@media (max-width:860px){
  .es-auth-page{padding:12px 12px 36px;min-height:auto;}
  .es-auth-shell{grid-template-columns:1fr;min-height:0;}
  .es-auth-hero{padding:22px 20px 20px;gap:10px;}
  .es-auth-hero h2{font-size:22px;max-width:none;}
  .es-auth-hero p{font-size:13.5px;max-width:none;}
  .es-auth-perks{flex-direction:row;flex-wrap:wrap;gap:8px 14px;margin-top:4px;}
  .es-auth-perks li{font-size:12.5px;padding-left:22px;}
  .es-auth-panel{padding:22px 18px 26px;}
  .es-auth-title{font-size:24px;}
  .es-auth-form .input-text,
  .es-auth-form input[type="text"],
  .es-auth-form input[type="email"],
  .es-auth-form input[type="password"]{height:46px;font-size:16px;}
}
@media (max-width:420px){
  .es-auth-perks{flex-direction:column;}
  .es-auth-row{flex-direction:column;align-items:flex-start;}
}

/* Responsive */
@media (max-width:860px){
  .account-layout{grid-template-columns:1fr;}
  .account-nav ul{position:static;flex-direction:row;overflow-x:auto;}
  .account-nav a span{white-space:nowrap;}
  .account-order-row{grid-template-columns:1fr;gap:8px;}
  .account-order-actions{flex-wrap:wrap;}
  .account-quick-links{grid-template-columns:1fr;}
  .account-addresses{grid-template-columns:1fr;}
}

/* =====================================================================
   404 PAGE
   ===================================================================== */

.error-404-wrap{max-width:var(--maxw);margin:0 auto;padding:60px 24px 80px;}
.error-404-status{text-align:center;max-width:560px;margin:0 auto 50px;}
.error-404-code{font-size:64px;font-weight:700;color:var(--panel);-webkit-text-stroke:2px var(--line);letter-spacing:4px;margin-bottom:6px;}
.error-404-status h1{font-size:26px;margin-bottom:10px;}
.error-404-status p{color:var(--ink-soft);font-size:14px;line-height:1.6;margin-bottom:26px;}
.error-404-search{max-width:440px;margin:0 auto 22px;width:100%;}
.error-404-search .search-input{min-width:0;}
.error-404-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

.error-404-categories{max-width:900px;margin:0 auto 40px;}
.error-404-categories h2{text-align:center;font-size:20px;margin-bottom:24px;}

.error-404-whatsapp{max-width:440px;margin:0 auto;}

/* =====================================================================
   SEARCH RESULTS PAGE
   ===================================================================== */

.search-results-wrap{max-width:var(--maxw);margin:0 auto;padding:32px 24px 80px;}
.search-results-header{margin-bottom:36px;max-width:600px;}
.search-results-header h1{font-size:26px;margin:8px 0 6px;word-break:break-word;}
.search-results-count{color:var(--ink-faint);font-size:13px;margin-bottom:18px;}
.search-results-search{max-width:440px;}

.search-results-section{margin-bottom:48px;}

.search-results-posts{display:flex;flex-direction:column;gap:16px;max-width:760px;}
.search-results-post{display:flex;gap:16px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);}
.search-results-post-thumb{width:84px;height:84px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--panel);}
.search-results-post-thumb img{width:100%;height:100%;object-fit:cover;}
.search-results-post-info{flex:1;min-width:0;}
.search-results-post-title{font-size:15px;font-weight:700;display:block;margin-bottom:6px;}
.search-results-post-title:hover{color:var(--accent);}
.search-results-post-excerpt{font-size:13px;color:var(--ink-soft);line-height:1.6;margin:0;}

@media (max-width:600px){
  .error-404-actions{flex-direction:column;}
  .error-404-actions a{text-align:center;}
  .search-results-post{flex-direction:column;}
  .search-results-post-thumb{width:100%;height:150px;}
}

/* =====================================================================
   CART DRAWER — free shipping bar, gift badge, frequently bought together
   ===================================================================== */

.free-shipping-bar{padding:16px 20px;border-bottom:1px solid var(--line);}
.free-shipping-message{font-size:12.5px;font-weight:600;margin-bottom:8px;}
.free-shipping-message.success{color:var(--circuit);}
.free-shipping-track{height:6px;background:var(--panel);border-radius:100px;overflow:hidden;}
.free-shipping-fill{height:100%;background:var(--accent);border-radius:100px;transition:width .4s ease;}
.free-shipping-message.success ~ .free-shipping-track .free-shipping-fill{background:var(--circuit);}

.mini-cart-item-gift{opacity:0.92;}
.mini-cart-gift-badge{
  font-family:var(--font-body);font-size:10px;font-weight:700;color:var(--circuit);
  background:var(--circuit-soft);padding:2px 7px;border-radius:4px;
}

.mini-cart-fbt{padding:16px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.mini-cart-fbt-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-faint);margin-bottom:12px;}
.mini-cart-fbt-list{display:flex;flex-direction:column;gap:12px;}
.mini-cart-fbt-item{display:grid;grid-template-columns:40px 1fr auto auto;gap:10px;align-items:center;}
.mini-cart-fbt-image{width:40px;height:40px;border-radius:7px;background:var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.mini-cart-fbt-image img{width:75%;height:75%;object-fit:contain;}
.mini-cart-fbt-title{font-size:12px;font-weight:500;line-height:1.3;}
.mini-cart-fbt-price{font-size:11.5px;color:var(--ink-soft);white-space:nowrap;}
.mini-cart-fbt-add{
  font-size:11px;font-weight:600;padding:6px 12px;border-radius:6px;background:var(--ink);color:#fff;white-space:nowrap;
}
.mini-cart-fbt-add:hover{background:var(--accent);}

/* Cart page equivalents */
.cart-page-shipping-bar{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 20px;margin-bottom:20px;grid-column:1/-1;
}
.cart-page-shipping-bar .free-shipping-bar{padding:0;border:0;}

.cart-item-row-gift{background:var(--circuit-soft);}
.cart-item-gift-badge{
  font-family:var(--font-body);font-size:10px;font-weight:700;color:var(--circuit);
  background:var(--card);padding:2px 7px;border-radius:4px;display:inline-block;margin:2px 0 6px;
}
.cart-item-gift-qty{color:var(--circuit);font-size:12.5px;}

@media (max-width:960px){
  .cart-page-shipping-bar{grid-column:auto;}
}

/* =====================================================================
   BLOG — archive/home grid
   ===================================================================== */

.blog-header{padding:32px 0 28px;}
.blog-header h1{font-size:28px;}
.blog-archive-description{font-size:13.5px;color:var(--ink-soft);margin-top:8px;max-width:640px;}
.blog-wrap{padding-bottom:70px;}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-slider-wrap{position:relative;}
.blog-grid[data-layout="slider"]{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;gap:24px;
}
.blog-grid[data-layout="slider"]::-webkit-scrollbar{display:none;}
.blog-grid[data-layout="slider"] .blog-card{
  flex:0 0 calc(33.333% - 16px);min-width:260px;scroll-snap-align:start;
}
.blog-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.blog-card-image{position:relative;display:block;aspect-ratio:16/10;background:var(--panel);overflow:hidden;}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.blog-card:hover .blog-card-image img{transform:scale(1.04);}
.blog-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.blog-card-image-placeholder svg{width:36px;height:36px;stroke:var(--ink-faint);}
.blog-card-cat{
  position:absolute;top:12px;left:12px;background:var(--card);color:var(--accent);
  font-family:var(--font-body);font-size:10.5px;font-weight:600;padding:5px 10px;border-radius:100px;
  text-transform:uppercase;letter-spacing:0.03em;
}
.blog-card-body{padding:18px;}
.blog-card-title{font-size:16px;line-height:1.35;margin-bottom:8px;}
.blog-card-title a:hover{color:var(--accent);}
.blog-card-excerpt{font-size:13px;color:var(--ink-soft);line-height:1.6;margin:0 0 12px;}
.blog-card-meta{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-faint);}
.blog-card-meta .dot{color:var(--line);}

.blog-pagination{margin-top:44px;}

/* =====================================================================
   BLOG — single post
   ===================================================================== */

.single-post-wrap{max-width:800px;padding:8px 24px 40px;}
.single-post-header{margin-bottom:24px;}
.single-post-cat{
  display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--accent);
  background:#FFF3EC;padding:5px 12px;border-radius:100px;text-transform:uppercase;letter-spacing:0.03em;
  margin-bottom:14px;
}
.single-post-title{font-size:32px;line-height:1.2;margin-bottom:16px;}
.single-post-meta{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-soft);flex-wrap:wrap;}
.single-post-meta .dot{color:var(--line);}
.single-post-author{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);flex-wrap:wrap;}
.single-post-author img{border-radius:50%;}
.single-post-role, .single-post-author-job{
  font-size:12.5px;font-weight:500;color:var(--ink-faint);
}
.single-post-author .single-post-role{width:auto;margin:0;}
.single-post-faq{padding:36px 0 8px;max-width:none;margin:0;}
.single-post-faq .pp-faq-heading{text-align:left;font-size:22px;margin-bottom:8px;}

.single-post-wrap.is-elementor-post{max-width:none;padding-left:0;padding-right:0;}
.single-post-wrap.is-elementor-post .single-post-header,
.single-post-wrap.is-elementor-post .single-post-faq,
.single-post-wrap.is-elementor-post .single-post-tags,
.single-post-wrap.is-elementor-post .single-post-author-box,
.single-post-wrap.is-elementor-post .single-post-whatsapp{
  max-width:800px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;
}
.single-post-content.is-elementor{overflow:visible;width:100%;}
.single-post-content.is-elementor img{max-width:100%;height:auto;}
.single-post-content.is-elementor .elementor img{margin:0;border-radius:0;}

.single-post-thumb{
  aspect-ratio:16/8;border-radius:16px;overflow:hidden;margin-bottom:32px;background:var(--panel);
  max-width:800px;
}
.single-post-thumb img{width:100%;height:100%;object-fit:cover;}

.blog-content{font-size:16px;line-height:1.8;color:var(--ink);}
.blog-content p{margin:0 0 22px;}
.blog-content h2{font-size:24px;margin:36px 0 16px;}
.blog-content h3{font-size:19px;margin:28px 0 14px;}
.blog-content ul, .blog-content ol{margin:0 0 22px;padding-left:22px;}
.blog-content li{margin-bottom:8px;line-height:1.7;}
.blog-content img{border-radius:12px;margin:24px 0;}
.blog-content a{color:var(--circuit);font-weight:600;text-decoration:underline;text-decoration-color:var(--circuit-soft);}
.blog-content blockquote{
  border-left:3px solid var(--accent);margin:24px 0;padding:4px 0 4px 20px;
  font-size:17px;color:var(--ink-soft);font-style:italic;
}
.blog-content code{background:var(--panel);padding:2px 6px;border-radius:4px;font-family:var(--font-body);font-size:14px;}
.blog-content pre{background:var(--ink);color:#fff;padding:18px;border-radius:10px;overflow-x:auto;margin:24px 0;}
.blog-content table{width:100%;border-collapse:collapse;margin:24px 0;}
.blog-content table th, .blog-content table td{padding:10px;border:1px solid var(--line);font-size:14px;text-align:left;}

.single-post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0;}

.single-post-author-box{
  display:flex;gap:16px;align-items:flex-start;background:var(--panel);border-radius:var(--radius);
  padding:20px;margin:32px 0;
}
.single-post-author-box img{border-radius:50%;flex-shrink:0;}
.single-post-author-label{display:block;font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.03em;}
.single-post-author-name{display:block;font-size:15px;font-weight:700;margin:2px 0 2px;}
.single-post-author-job{margin-bottom:8px;}
.single-post-author-box p{font-size:13px;color:var(--ink-soft);line-height:1.6;margin:0;}

.single-post-whatsapp{margin:24px 0 8px;flex-wrap:wrap;}
.single-post-whatsapp a{margin-left:auto;background:#25D366;color:#fff;padding:8px 16px;border-radius:100px;font-weight:600;white-space:nowrap;}

.related-posts-wrap{padding:20px 24px 60px;}

.single-post-comments{padding:0 24px 60px;max-width:800px;}
.single-post-comments .comments-title,
.comments-area .comments-title{font-size:22px;margin:0 0 20px;}
.single-post-comments .comment-list,
.comments-area .comment-list{list-style:none;margin:0;padding:0;}
.single-post-comments .comment,
.comments-area .comment{border-bottom:1px solid var(--line);padding:18px 0;}
.single-post-comments .comment-author img,
.comments-area .comment-author img{border-radius:50%;margin-right:8px;vertical-align:middle;}
.single-post-comments .comment-content p,
.comments-area .comment-content p{font-size:14px;color:var(--ink-soft);line-height:1.7;}
.comments-area .comment-reply-title{font-size:18px;margin:24px 0 10px;}
.comments-area .comment-notes,
.comments-area .logged-in-as{font-size:13px;color:var(--ink-faint);margin-bottom:14px;}
.comments-area label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;}
.single-post-comments textarea,
.comments-area textarea{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;font-family:var(--font-body);font-size:13.5px;
}
.single-post-comments input[type="text"], .single-post-comments input[type="email"], .single-post-comments input[type="url"],
.comments-area input[type="text"], .comments-area input[type="email"], .comments-area input[type="url"]{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:var(--font-body);font-size:13.5px;
}
.single-post-comments .form-submit input,
.comments-area .form-submit input{
  background:var(--ink);color:#fff;border:0;border-radius:8px;padding:12px 22px;font-weight:600;margin-top:10px;
}
.single-post-comments .form-submit input:hover,
.comments-area .form-submit input:hover{background:var(--accent);}
.comments-area .no-comments{font-size:14px;color:var(--ink-soft);}

/* Responsive */
@media (max-width:1080px){
  .blog-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:680px){
  .blog-grid{grid-template-columns:1fr;}
  .blog-header h1{font-size:22px;}
  .single-post-title{font-size:24px;}
  .single-post-thumb{aspect-ratio:16/11;margin-bottom:24px;}
  .blog-content{font-size:15px;}
  .blog-content h2{font-size:20px;}
  .single-post-author-box{flex-direction:column;text-align:center;align-items:center;}
  .single-post-whatsapp a{margin-left:0;width:100%;text-align:center;}
  .single-post-author .single-post-role{margin-left:0;width:auto;}
  .single-post-faq .pp-faq-heading{font-size:20px;}
  .single-post-wrap.is-elementor-post .single-post-header,
  .single-post-wrap.is-elementor-post .single-post-faq,
  .single-post-wrap.is-elementor-post .single-post-tags,
  .single-post-wrap.is-elementor-post .single-post-author-box,
  .single-post-wrap.is-elementor-post .single-post-whatsapp{padding-left:16px;padding-right:16px;}
  .pp-breadcrumb{padding-left:16px;padding-right:16px;font-size:12px;flex-wrap:wrap;}
  .blog-card-meta{flex-wrap:wrap;}
}

/* =====================================================================
   LIVE SEARCH SUGGESTIONS
   ===================================================================== */

.search-wrap{position:relative;flex:1;max-width:620px;z-index:84;}
.mobile-search-shell .search-wrap{max-width:none;}
.search-wrap .search-shell{max-width:none;}

.search-suggestions{
  display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:130;
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 16px 40px rgba(18,24,26,0.18);max-height:min(420px,70vh);overflow-y:auto;padding:10px;
}
.search-suggestions.open{display:block;}

.search-suggestions-loading, .search-suggestions-empty{
  padding:20px 12px;text-align:center;font-size:13px;color:var(--ink-faint);
}

.search-suggestions-section-label{
  font-family:var(--font-body);font-size:10.5px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--ink-faint);padding:8px 8px 6px;
}

.search-suggestions-cats{display:flex;flex-wrap:wrap;gap:6px;padding:0 6px 8px;}
.search-suggestion-cat{
  display:flex;align-items:center;gap:6px;background:var(--panel);border-radius:100px;
  padding:6px 12px;font-size:12px;font-weight:600;color:var(--ink);
}
.search-suggestion-cat:hover{background:var(--circuit-soft);color:var(--circuit);}
.search-suggestion-cat .count{color:var(--ink-faint);font-family:var(--font-body);font-size:10.5px;}
.search-suggestion-cat:hover .count{color:var(--circuit);}

.search-suggestions-products{display:flex;flex-direction:column;}
.search-suggestion-product{
  display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;
}
.search-suggestion-product:hover, .search-suggestion-product:focus{background:var(--panel);outline:none;}
.search-suggestion-thumb{
  width:44px;height:44px;border-radius:7px;background:var(--panel);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.search-suggestion-product:hover .search-suggestion-thumb{background:var(--card);}
.search-suggestion-thumb img{width:80%;height:80%;object-fit:contain;}
.search-suggestion-info{display:flex;flex-direction:column;gap:3px;min-width:0;}
.search-suggestion-title{
  font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px;
}
.search-suggestion-price{font-size:12px;color:var(--ink-soft);}

.search-suggestions-viewall{
  display:block;text-align:center;font-size:12.5px;font-weight:600;color:var(--circuit);
  padding:12px 8px 6px;margin-top:4px;border-top:1px solid var(--line);
}

@media (max-width:600px){
  .search-suggestion-title{max-width:200px;}
  .search-suggestions{max-height:60vh;}
}

/* =====================================================================
   CART DRAWER REDESIGN — promo banner, progress bars, qty stepper,
   savings banner, inline coupon, horizontal "you may also like"
   ===================================================================== */

.mini-cart-scroll{flex:1;overflow-y:auto;}
.mini-cart-drawer.is-loading .mini-cart-drawer-content,
.mini-cart-drawer.is-loading .mini-cart-drawer-content{opacity:0.5;pointer-events:none;transition:opacity .15s ease;}

.mini-cart-promo-banner{
  background:linear-gradient(120deg,var(--accent),var(--accent-dark));color:#fff;
  text-align:center;font-size:12.5px;font-weight:700;padding:10px 16px;letter-spacing:0.01em;
}

.free-gift-bar{border-bottom:1px solid var(--line);}

.mini-cart-items{padding:16px 20px;display:flex;flex-direction:column;gap:16px;}
.mini-cart-item-row-bottom,
.mini-cart-item-row-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
.mini-cart-qty-stepper{
  display:inline-flex;align-items:center;background:var(--circuit-soft);border-radius:8px;overflow:hidden;
}
.mini-cart-qty-btn{
  width:32px;height:32px;background:transparent;border:0;font-size:16px;font-weight:500;color:var(--circuit);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.mini-cart-qty-btn:hover:not(:disabled){color:var(--ink);}
.mini-cart-qty-btn:disabled{opacity:0.35;cursor:not-allowed;}
.mini-cart-qty-value{width:28px;text-align:center;font-weight:600;font-size:13px;}
.mini-cart-item-qty-static{font-family:var(--font-body);font-size:12px;color:var(--circuit);}

.mini-cart-savings-banner{
  margin:0 20px 14px;background:var(--circuit-soft);color:var(--circuit);text-align:center;
  font-size:12.5px;font-weight:700;padding:10px 14px;border-radius:8px;
}

.mini-cart-coupon{padding:0 20px 16px;}
.mini-cart-coupon-row{display:flex;gap:8px;}
.mini-cart-coupon-input{
  flex:1;border:1px solid var(--line);border-radius:7px;padding:9px 11px;font-size:12.5px;background:var(--panel);
}
.mini-cart-coupon-apply{
  background:var(--ink);color:#fff;border:0;border-radius:7px;padding:0 14px;font-weight:600;font-size:12px;
}
.mini-cart-coupon-apply:hover{background:var(--accent);}
.mini-cart-coupon-message{font-size:11.5px;color:var(--ink-faint);margin-top:6px;}
.mini-cart-coupon-message.error{color:#DC2626;}
.mini-cart-coupon-applied{
  display:flex;justify-content:space-between;align-items:center;background:var(--circuit-soft);
  color:var(--circuit);border-radius:7px;padding:9px 12px;font-size:12px;font-weight:600;
}
.mini-cart-coupon-applied a{color:var(--circuit);text-decoration:underline;}

/* "You may also like" — horizontal scroll strip */
.mini-cart-fbt{padding:16px 20px;border-top:1px solid var(--line);}
.mini-cart-fbt-label{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:12px;}
.mini-cart-fbt-scroll-wrap{position:relative;}
.mini-cart-fbt-list{
  display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  padding-bottom:2px;
}
.mini-cart-fbt-list::-webkit-scrollbar{display:none;}
.mini-cart-fbt-item{
  flex:0 0 108px;scroll-snap-align:start;display:flex;flex-direction:column;gap:5px;
}
.mini-cart-fbt-image{
  width:100%;aspect-ratio:1/1;border-radius:8px;background:var(--panel);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.mini-cart-fbt-image img{width:75%;height:75%;object-fit:contain;}
.mini-cart-fbt-title{font-size:11.5px;font-weight:500;line-height:1.3;min-height:28px;}
.mini-cart-fbt-price{font-size:11px;color:var(--ink-soft);}
.mini-cart-fbt-add{
  font-size:11px;font-weight:700;padding:6px 0;border-radius:100px;background:var(--card);
  border:1px solid var(--ink);color:var(--ink);text-align:center;
}
.mini-cart-fbt-add:hover{background:var(--ink);color:#fff;}
.mini-cart-fbt-nav{
  display:none;position:absolute;top:38%;transform:translateY(-50%);width:26px;height:26px;
  border-radius:50%;background:var(--card);border:1px solid var(--line);align-items:center;justify-content:center;
  font-size:15px;color:var(--ink);box-shadow:0 2px 6px rgba(18,24,26,0.1);z-index:2;
}
.mini-cart-fbt-nav.prev{left:-8px;}
.mini-cart-fbt-nav.next{right:-8px;}
@media (min-width:481px){.mini-cart-fbt-nav{display:flex;}}

/* Sticky footer with total + CTA */
.mini-cart-footer{flex-shrink:0;border-top:1px solid var(--line);background:var(--card);}
.mini-cart-subtotal{
  display:flex;justify-content:space-between;padding:14px 20px 4px;font-weight:600;font-size:14px;
}
.mini-cart-actions{padding:10px 20px 20px;}
.mini-cart-checkout-btn{display:block;width:100%;text-align:center;padding:14px 16px;box-sizing:border-box;}

@media (max-width:480px){
  .mini-cart-fbt-item{flex:0 0 96px;}
}

/* ===== PRODUCT REVIEWS — full width, Google-indexable ===== */
.pp-reviews-outer{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0;}
.pp-reviews-section{width:100%;}
.pp-reviews-head{margin-bottom:28px;}
.pp-review-count-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:12px;font-weight:700;border-radius:20px;padding:2px 10px;margin-left:10px;vertical-align:middle;}
/* Summary bar */
.pp-reviews-summary{display:flex;gap:40px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px;margin-bottom:40px;}
.pp-reviews-avg-block{text-align:center;min-width:110px;}
.pp-avg-num{font-size:52px;font-weight:800;line-height:1;display:block;color:var(--ink);}
.pp-avg-stars{margin:8px 0 6px;}
.pp-avg-label{font-size:12px;color:var(--ink-soft);}
.pp-reviews-bars{flex:1;}
.pp-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:9px;}
.pp-bar-label{font-size:13px;color:var(--ink-soft);min-width:36px;text-align:right;}
.pp-bar-track{flex:1;height:10px;background:var(--line);border-radius:5px;overflow:hidden;}
.pp-bar-fill{height:100%;background:var(--accent);border-radius:5px;transition:width .5s ease;}
.pp-bar-count{font-size:12px;color:var(--ink-soft);min-width:24px;}
/* Two-col body */
.pp-reviews-body{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:start;}
/* Review list */
.pp-review-list{display:flex;flex-direction:column;gap:16px;}
.pp-review-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;}
.pp-review-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px;}
.pp-review-avatar{border-radius:50%;object-fit:cover;flex-shrink:0;}
.pp-review-meta{flex:1;display:flex;flex-direction:column;gap:3px;}
.pp-review-author{font-weight:700;font-size:15px;color:var(--ink);}
.pp-review-verified{font-size:12px;color:#0e7c6b;font-weight:600;}
.pp-review-date{font-size:12px;color:var(--ink-faint);}
.pp-review-stars{margin-left:auto;flex-shrink:0;}
.pp-review-body{font-size:14px;line-height:1.7;color:var(--ink-soft);}
.es-stars .s-full{color:#f5a623;}
.es-stars .s-empty{color:#d0d0d0;}
.pp-no-reviews{color:var(--ink-soft);font-size:14px;padding:20px 0;}
/* Form col */
.pp-review-form-col{position:sticky;top:100px;}
.pp-review-form-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;}
.pp-review-form-title{font-size:20px;font-weight:700;margin:0 0 22px;color:var(--ink);}
.pp-review-msg{padding:14px 18px;border-radius:10px;font-size:14px;font-weight:600;margin-bottom:18px;}
.pp-review-msg--success{background:#d4f5ed;color:#0e5744;border:1px solid #9de8d3;}
.pp-review-msg--error{background:#fde8e8;color:#c0392b;border:1px solid #f5b7b7;}
.pp-form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.pp-form-group label{font-size:13px;font-weight:600;color:var(--ink);}
.pp-req{color:var(--accent);}
.pp-form-group input,
.pp-form-group textarea{border:1px solid var(--line);border-radius:10px;padding:11px 15px;font-size:14px;background:var(--bg);color:var(--ink);transition:border-color .2s;font-family:inherit;width:100%;box-sizing:border-box;}
.pp-form-group input:focus,
.pp-form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,90,31,.08);}
.pp-form-hint{font-size:11px;color:var(--ink-faint);}
.pp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pp-review-logged-as{font-size:13px;color:var(--ink-soft);margin-bottom:18px;padding:10px 14px;background:var(--panel);border-radius:8px;}
.pp-review-logged-as strong{color:var(--ink);}
/* Star picker */
.pp-star-picker{display:flex;gap:8px;margin-top:4px;}
.pp-star-btn{background:none;border:none;font-size:32px;color:#ddd;cursor:pointer;padding:0 2px;transition:color .12s,transform .1s;line-height:1;}
.pp-star-btn:hover,.pp-star-btn.active{color:#f5a623;}
.pp-star-btn:hover{transform:scale(1.18);}
/* Submit btn */
.pp-review-submit{background:var(--ink);color:#fff;border:none;border-radius:10px;padding:14px 32px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s;width:100%;margin-top:6px;letter-spacing:.3px;}
.pp-review-submit:hover{background:var(--accent);}
.pp-review-submit:disabled{opacity:.55;cursor:not-allowed;}
/* New review card highlight */
.pp-review-new{border-color:var(--accent) !important;box-shadow:0 0 0 2px rgba(255,90,31,.15);}
/* Responsive */
@media(max-width:900px){
  .pp-reviews-body{grid-template-columns:1fr;}
  .pp-review-form-col{position:static;}
  .pp-reviews-summary{flex-direction:column;gap:24px;text-align:center;}
}
@media(max-width:600px){
  .pp-reviews-outer{padding:36px 0;}
  .pp-form-row{grid-template-columns:1fr;}
  .pp-review-form-wrap{padding:22px 18px;}
  .pp-avg-num{font-size:42px;}
}
