/* ============================================================
   IMPORTANTE: este archivo se sirve con caché de 1 semana en el
   navegador (ver .htaccess). Cada vez que se edite este CSS o los JS
   de assets/js/, hay que subir el cambio en el ?v=N de sus <link>/
   <script> en todas las páginas (index.html, politicas.html,
   como-comprar.html, 404.html, checkout/commit.php) — si no, los
   visitantes que ya cargaron el sitio antes seguirán viendo la
   versión vieja hasta que expire la caché.
   ============================================================
   Distribuidora Jecco — sistema visual
   Tipografías auto-hospedadas en assets/fonts/ (antes se cargaban
   desde fonts.googleapis.com — se trajeron localmente para no filtrar
   la IP de cada visitante a Google antes de cualquier consentimiento,
   y de paso evita el round-trip extra a un origen externo).
   ============================================================ */

@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dm-mono-400.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/dm-mono-500.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-variable.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/manrope-variable.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-variable.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/manrope-variable.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/plus-jakarta-sans-variable.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/plus-jakarta-sans-variable.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/plus-jakarta-sans-variable.woff2') format('woff2')}

:root{
  --ink:#241533;
  --deep:#2a1738;
  --deep-2:#1e1128;
  --violet:#6d4c88;
  --violet-dark:#4f3566;
  --gold:#b3903f;
  --gold-light:#dcc27f;
  --cream:#fbf9f6;
  --paper:#ffffff;
  --line:#e8e2ea;
  --muted:#5c5462;
  --tint-violet:#f0eaf3;
  --tint-gold:#f6f0e3;
  --tint-cool:#edeff1;
  --whatsapp:#3f9463;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:22px;
  --radius-pill:999px;
  --shadow-sm:0 6px 18px rgba(36,21,51,.08);
  --shadow-md:0 18px 40px rgba(36,21,51,.12);
  --shadow-lg:0 30px 60px rgba(30,17,40,.22);
  --container:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
::selection{background:var(--gold-light);color:var(--ink)}
a{color:inherit}
button{font-family:inherit}

:focus-visible{outline:2.5px solid var(--gold);outline-offset:2px;border-radius:4px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.icon{width:1em;height:1em;flex-shrink:0}

.skip-link{position:fixed;top:-60px;left:12px;background:var(--ink);color:#fff;padding:12px 18px;border-radius:8px;z-index:100;font:700 13px 'Plus Jakarta Sans',sans-serif;text-decoration:none;transition:top .15s}
.skip-link:focus{top:12px}

/* ---------- Topbar & header ---------- */
.topbar{background:var(--deep-2);color:#fff;text-align:center;padding:10px 20px;font:500 10px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:8px max(6vw,30px);background:#fffefaee;backdrop-filter:blur(10px);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}
.brand{display:flex}
.brand img{width:206px;height:88px;object-fit:contain}
.nav{display:flex;gap:30px}
.nav a,.header a,footer a{text-decoration:none;color:var(--ink)}
.nav a{font:600 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;position:relative;padding:6px 0}
.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--gold);transition:right .18s}
.nav a:hover::after{right:0}
.header-actions{display:flex;align-items:center;gap:16px}
.search-link{color:var(--muted)!important;display:inline-flex;align-items:center;gap:6px;font:600 12px 'Plus Jakarta Sans',sans-serif}
.search-link:hover{color:var(--ink)!important}
.cart-button{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:white;border:0;border-radius:999px;padding:12px 18px;font:600 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:background .2s,transform .15s}
.cart-button:hover{background:var(--violet)}
.cart-button:active{transform:scale(.96)}
.cart-button span{margin-left:2px;background:var(--gold-light);color:var(--ink);padding:2px 7px;border-radius:12px;font-weight:700}
.menu-toggle{display:none;border:0;background:none;color:var(--ink);cursor:pointer;padding:6px;align-items:center;justify-content:center}
.menu-toggle .icon-close{display:none}
.menu-toggle.is-open .icon-menu{display:none}
.menu-toggle.is-open .icon-close{display:block}
.nav-mobile-extra{display:none}
.page-back{font:700 11px 'Plus Jakarta Sans',sans-serif;white-space:nowrap;display:none;align-items:center;gap:6px}

/* ---------- Buttons & shared type ---------- */
.eyebrow{text-transform:uppercase;color:var(--violet);font:600 10px 'DM Mono',monospace;letter-spacing:.13em;margin:0 0 16px;display:flex;align-items:center;gap:8px}
.eyebrow::before{content:'';width:16px;height:2px;background:var(--gold);display:inline-block}
h1,h2,h3{margin:0}
.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:15px 24px;border-radius:999px;text-decoration:none;font:700 12.5px 'Plus Jakarta Sans',sans-serif;border:1px solid var(--ink);cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.button:active{transform:translateY(0)}
.button-primary{background:var(--ink);color:white}
.button-primary:hover{background:var(--violet-dark)}
.button-secondary{color:var(--ink);background:#ffffffb0;border-color:#d9cfdc}
.section{max-width:var(--container);margin:auto;padding:96px 40px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:38px}
.section-heading h2{font:700 clamp(29px,3.1vw,42px)/1.1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.055em}
.section-heading>a{color:var(--ink);font:700 12px 'Plus Jakarta Sans',sans-serif;white-space:nowrap}

/* ---------- Hero ---------- */
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:600px;background:var(--tint-violet)}
.hero-copy{padding:100px 6vw 76px max(8vw,60px);display:flex;flex-direction:column;justify-content:center}
.hero h1{font:700 clamp(38px,4.3vw,62px)/1.08 'Plus Jakarta Sans',sans-serif;max-width:660px;letter-spacing:-.045em}
.hero-text{font-size:16px;line-height:1.7;color:var(--muted);max-width:520px;margin:22px 0 30px}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap}
.hero-benefits{display:flex;flex-wrap:wrap;gap:0;margin-top:32px;font-size:11.5px;font-weight:700;color:var(--muted)}
.hero-benefits span{padding:0 14px;border-right:1px solid #d3c6d6;display:inline-flex;align-items:center;gap:6px}
.hero-benefits span:first-child{padding-left:0}
.hero-benefits span:last-child{border:0}
.hero-benefits .icon{color:var(--gold)}

.hero-art{position:relative;overflow:hidden;min-height:460px;background:linear-gradient(160deg,var(--deep) 0%,var(--deep-2) 100%)}
.hero-art::before{content:'';position:absolute;inset:0;background-image:url('../../imagenes/sistema/favicon-512.png');background-repeat:no-repeat;background-position:115% 15%;background-size:520px;opacity:.1;filter:grayscale(1) brightness(4)}
.hero-photo{position:absolute;left:9%;top:14%;width:230px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);background:#fff}
.hero-photo img{width:100%;height:170px;object-fit:contain;padding:14px;mix-blend-mode:multiply}
.hero-photo span{display:block;padding:10px 14px 14px;font:700 12px 'Plus Jakarta Sans',sans-serif;color:var(--ink);border-top:1px solid var(--line)}
.hero-chip{position:absolute;display:flex;align-items:center;gap:11px;padding:14px 18px;border-radius:14px;background:#fffdfa;box-shadow:var(--shadow-md);font:700 12.5px 'Plus Jakarta Sans',sans-serif;color:var(--ink);max-width:210px}
.hero-chip .icon{width:20px;height:20px;color:var(--gold);flex-shrink:0}
.hero-chip em{display:block;font-style:normal;font:500 10px 'DM Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.chip-one{top:8%;right:8%}
.chip-two{bottom:16%;left:34%}

/* ---------- Trust strip ---------- */
.trust-strip{background:#fffefa;display:grid;grid-template-columns:repeat(4,1fr);padding:28px 8vw;gap:20px;border-bottom:1px solid var(--line)}
.trust-strip div{padding-left:16px;border-left:1px solid #ddd2df;display:flex;gap:12px;align-items:flex-start}
.trust-strip .icon{width:22px;height:22px;color:var(--gold);flex-shrink:0;margin-top:1px}
.trust-strip strong{display:block;font:700 12.5px 'Plus Jakarta Sans',sans-serif}
.trust-strip span{color:var(--muted);font-size:11.5px;margin-top:3px;display:block}

/* ---------- Categories ---------- */
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.category{min-height:270px;padding:31px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border-radius:var(--radius-lg);transition:transform .22s,box-shadow .22s;border:1px solid transparent}
.category:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.category-clean{background:var(--tint-violet)}
.category-office{background:var(--tint-gold)}
.category-paper{background:var(--tint-cool)}
.category-icon{width:38px;height:38px;color:var(--violet);margin-bottom:auto}
.category-office .category-icon{color:var(--gold)}
.category-paper .category-icon{color:#4a6b78}
.category h3{font:700 25px/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em;max-width:240px}
.category p{color:var(--muted);margin:10px 0 22px;font-size:13px}
.category b{font:700 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px}

/* ---------- Product catalog ---------- */
.product-section{padding-top:30px}
.catalog-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.search-box{height:44px;background:#fff;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;padding:0 15px;color:var(--violet);gap:6px}
.search-box .icon{width:16px;height:16px}
.search-box input{width:150px;border:0;outline:0;padding:0 4px;font:500 12px Manrope,sans-serif;color:var(--ink);background:transparent}
.filter{border:1px solid var(--line);background:white;border-radius:999px;padding:12px 16px;font:700 11px 'Plus Jakarta Sans',sans-serif;color:var(--ink);cursor:pointer}
.filter:hover{border-color:var(--violet);color:var(--violet)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product{background:var(--paper);padding:12px;border:1px solid #f0ebed;border-radius:var(--radius-md);position:relative;transition:transform .2s,box-shadow .2s}
.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.product-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.product-open:hover h3{color:var(--violet)}
.product-art{height:195px;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.product-art picture,.product-art img{width:100%;height:100%;object-fit:contain;padding:10px}
.product small{display:inline-block;margin-top:15px;color:var(--violet);font:600 9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.09em}
.product h3{font:700 15px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:-.03em;margin:7px 0 4px;min-height:38px}
.product-detail{color:var(--muted);font-size:11px;margin:0 0 15px}
.price-row{display:flex;justify-content:space-between;align-items:end}
.price{font:700 16px 'Plus Jakarta Sans',sans-serif}
.price em{font-style:normal;display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:2px}
.add{width:36px;height:36px;border:0;border-radius:50%;background:var(--ink);color:white;font-size:20px;cursor:pointer;transition:background .2s,transform .15s;display:inline-flex;align-items:center;justify-content:center}
.add:hover{background:var(--violet)}
.add:active{transform:scale(.9)}
.catalog-empty{grid-column:1/-1;padding:46px;background:var(--tint-violet);border-radius:var(--radius-md);color:var(--muted);text-align:center}
.catalog-empty a{color:var(--ink);font-weight:700;text-decoration:underline}

/* ---------- How it works (teaser) ---------- */
.how-section{background:#fffefa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.how-step{padding:26px;border-radius:var(--radius-md);background:var(--cream)}
.how-step span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font:700 12px 'DM Mono',monospace}
.how-step h3{font:700 17px/1.25 'Plus Jakarta Sans',sans-serif;letter-spacing:-.03em;margin:16px 0 8px}
.how-step p{color:var(--muted);font-size:12.5px;line-height:1.6;margin:0}
.how-cta{margin-top:30px;text-align:center}
.how-cta a{color:var(--ink);font:700 12px 'Plus Jakarta Sans',sans-serif;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px}

/* ---------- Wholesale ---------- */
.wholesale{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center;padding:90px max(8vw,40px);background:var(--deep);color:white}
.wholesale .eyebrow{color:var(--gold-light)}
.wholesale .eyebrow::before{background:var(--gold-light)}
.wholesale h2{font:700 clamp(29px,3.1vw,42px)/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em}
.wholesale>div>p:not(.eyebrow){color:#ded5e0;line-height:1.7;max-width:550px;font-size:15px;margin:23px 0 31px}
.wholesale .button-primary{background:var(--gold-light);border-color:var(--gold-light);color:var(--ink)}
.wholesale .button-primary:hover{background:#fff;border-color:#fff}
.wholesale-list{display:grid;grid-template-columns:55px 1fr;gap:18px 8px}
.wholesale-list span{font:600 26px 'DM Mono',monospace;color:var(--gold-light)}
.wholesale-list p{margin:0;padding:5px 0 23px;border-bottom:1px solid #ffffff26;line-height:1.55;color:#ded5e0;font-size:13px}
.wholesale-list strong{display:block;color:white;font:700 14px 'Plus Jakarta Sans',sans-serif;margin-bottom:3px}

/* ---------- About ---------- */
.about{padding:105px 25px;max-width:850px;text-align:center;margin:auto}
.about h2{font:700 clamp(29px,3.3vw,44px)/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em}
.about>p:last-child{color:var(--muted);font-size:16px;line-height:1.7;margin:25px auto 0;max-width:640px}

/* ---------- FAQ ---------- */
.faq-section{max-width:900px;margin:auto;padding:96px 40px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:6px 24px;transition:box-shadow .2s}
.faq-item[open]{box-shadow:var(--shadow-sm)}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font:700 14.5px 'Plus Jakarta Sans',sans-serif}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .icon{width:18px;height:18px;color:var(--violet);flex-shrink:0;transition:transform .2s}
.faq-item[open] summary .icon{transform:rotate(180deg)}
.faq-item p{color:var(--muted);font-size:13.5px;line-height:1.7;margin:0 0 22px}

/* ---------- Final CTA band (also used as help-banner on inner pages) ---------- */
.help-banner{max-width:1120px;margin:0 auto 100px;padding:48px 52px;border-radius:var(--radius-lg);background:var(--deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.help-banner .eyebrow{color:var(--gold-light)}
.help-banner .eyebrow::before{background:var(--gold-light)}
.help-banner h2{font:700 clamp(25px,2.8vw,38px)/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em}
.help-banner p:not(.eyebrow){color:#e0d6e1;font-size:13px;line-height:1.6;margin:12px 0 0}
.help-banner .banner-actions{display:flex;gap:10px;flex-wrap:wrap}
.help-banner .button{background:var(--gold-light);color:var(--ink);border-color:var(--gold-light);white-space:nowrap}
.help-banner .button:hover{background:#fff;border-color:#fff}
.help-banner .button-secondary{background:transparent;color:#fff;border-color:#ffffff55}
.help-banner .button-secondary:hover{background:#ffffff1a}

/* ---------- Contact ---------- */
.contact-section{max-width:var(--container);margin:auto;padding:95px 40px 110px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.contact-intro>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.7;max-width:360px;margin:22px 0 30px}
.contact-intro h2{font:700 clamp(30px,3.4vw,44px)/1.12 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em}
.contact-address{display:flex;gap:12px;align-items:flex-start;padding-top:19px;border-top:1px solid var(--line)}
.contact-address .icon{width:22px;height:22px;color:var(--violet);flex-shrink:0;margin-top:1px}
.contact-address p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.contact-address strong{color:var(--ink);display:block;font:700 12px 'Plus Jakarta Sans',sans-serif;margin-bottom:3px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-card{min-height:300px;padding:28px;border-radius:var(--radius-lg);display:flex;flex-direction:column}
.wholesale-contact{background:var(--tint-violet)}
.customer-contact{background:var(--tint-gold)}
.contact-number{font:600 11px 'DM Mono',monospace;color:var(--gold);margin-bottom:auto}
.contact-card .eyebrow{margin:0 0 10px;color:var(--violet);font-size:9px}
.contact-card .eyebrow::before{background:var(--violet)}
.contact-card h3{font:700 24px/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-.045em}
.contact-card>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.65;margin:14px 0 21px}
.contact-card a{color:var(--ink);font:700 11px 'Plus Jakarta Sans',sans-serif;text-decoration:none;margin-top:auto;display:inline-flex;align-items:center;gap:6px}
.contact-card a b{font-size:15px}

/* ---------- Footer ---------- */
.site-footer{display:block;background:var(--deep-2);color:#f8f4f8;padding:58px max(7vw,30px) 22px}
.footer-main{max-width:var(--container);margin:auto;display:grid;grid-template-columns:1.7fr 1fr 1.15fr 1.05fr;gap:34px}
.footer-brand img{width:210px;height:94px;object-fit:contain;object-position:left center;margin:-9px 0 6px}
.footer-brand p{max-width:270px;color:#d8cedc;font-size:12px;line-height:1.65;margin:0}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-links p{font:600 10px 'DM Mono',monospace;color:var(--gold-light);text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px}
.footer-links a,.footer-links span{font-size:12px;line-height:1.45;color:#eee8f0;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.footer-links a:hover{color:var(--gold-light)}
.footer-links .icon{width:14px;height:14px;flex-shrink:0;color:var(--gold-light)}
.footer-contact span{color:#cfc3d3}
.footer-bottom{max-width:var(--container);margin:45px auto 0;padding-top:18px;border-top:1px solid #ffffff21;display:flex;justify-content:space-between;color:#bfb2c4;font:500 10px 'DM Mono',monospace;letter-spacing:.03em}

/* ---------- Cart / product modal / overlay ---------- */
.overlay{position:fixed;inset:0;background:#1b092a66;opacity:0;visibility:hidden;transition:.2s;z-index:40}
.overlay.show{opacity:1;visibility:visible}
.cart-panel{position:fixed;right:0;top:0;bottom:0;width:min(440px,100vw);background:#fffefa;z-index:41;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column}
.cart-panel.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:26px;border-bottom:1px solid var(--line)}
.cart-head h2{font:700 26px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em}
.cart-head button{border:0;background:none;font-size:30px;color:var(--ink);cursor:pointer;line-height:1}
.cart-scroll{flex:1;overflow:auto;display:flex;flex-direction:column;min-height:0}
.cart-items{padding:20px 26px}
.empty-cart{color:var(--muted);text-align:center;margin-top:50px}
.cart-item{display:grid;grid-template-columns:54px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.cart-icon{height:54px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cart-icon picture,.cart-icon img{width:100%;height:100%;object-fit:contain;padding:4px}
.cart-item strong{font-size:13px}
.cart-item small{display:block;color:var(--muted);margin-top:4px}
.cart-item button{border:0;background:none;color:var(--violet);cursor:pointer;font:700 10px 'Plus Jakarta Sans',sans-serif}
.cart-shipping{padding:4px 26px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.cart-shipping-title{font:600 10px 'DM Mono',monospace;color:var(--violet);text-transform:uppercase;letter-spacing:.1em;margin:16px 0 2px}
.cart-shipping label{font-size:11px;color:var(--muted);margin-top:4px}
.cart-shipping input,.cart-shipping select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font:500 13px Manrope,sans-serif;color:var(--ink);background:#fff}
.cart-shipping input:focus,.cart-shipping select:focus{outline:2px solid var(--violet);outline-offset:1px}
.cart-footer{padding:22px 26px;border-top:1px solid var(--line)}
.cart-footer>div{display:flex;justify-content:space-between;margin-bottom:18px}
.cart-line{margin-bottom:8px!important}
.cart-line span{font-size:12px;color:var(--muted)}
.cart-line strong{font:600 13px 'Plus Jakarta Sans',sans-serif}
.cart-line-total{margin-top:6px!important;padding-top:14px;border-top:1px solid var(--line)}
.cart-line-total strong{font:700 20px 'Plus Jakarta Sans',sans-serif}
.cart-footer .button{width:100%}
.cart-footer small{display:block;text-align:center;color:var(--muted);margin-top:10px;font-size:10px}

.product-modal{position:fixed;z-index:42;left:50%;top:50%;width:min(900px,calc(100vw - 36px));max-height:min(700px,calc(100vh - 36px));overflow:auto;background:var(--paper);border-radius:18px;transform:translate(-50%,-45%);opacity:0;visibility:hidden;transition:.22s;box-shadow:var(--shadow-lg)}
.product-modal.open{transform:translate(-50%,-50%);opacity:1;visibility:visible}
.modal-close{position:absolute;top:14px;right:16px;z-index:2;width:35px;height:35px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:24px;cursor:pointer;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center}
.product-modal>div{display:grid;grid-template-columns:1fr 1fr}
.modal-product-image{min-height:530px;background:var(--tint-cool);display:grid;place-items:center;padding:40px}
.modal-product-image picture,.modal-product-image img{width:100%;max-height:440px;object-fit:contain}
.modal-product-info{padding:55px 46px 42px}
.modal-product-info>small{font:600 10px 'DM Mono',monospace;color:var(--violet);text-transform:uppercase;letter-spacing:.1em}
.modal-product-info h2{font:700 clamp(25px,2.8vw,36px)/1.12 'Plus Jakarta Sans',sans-serif;letter-spacing:-.045em;margin:11px 0 8px}
.modal-detail{font-size:12px;color:var(--muted);margin:0}
.modal-price{display:block;font:700 25px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.03em;margin:20px 0}
.modal-description{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 25px}
.uses{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.uses h3{font:700 13px 'Plus Jakarta Sans',sans-serif;margin:0 0 11px}
.uses ul{margin:0;padding:0;list-style:none}
.uses li{font-size:12px;color:var(--muted);line-height:1.65;padding-left:17px;position:relative}
.uses li::before{content:'';position:absolute;left:1px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.modal-buy{display:flex;gap:11px;margin-top:26px}
.modal-buy .button{flex:1}
.quantity-selector{border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;height:47px}
.quantity-selector button{width:38px;height:100%;border:0;background:transparent;font-size:21px;color:var(--ink);cursor:pointer}
.quantity-selector output{width:25px;text-align:center;font:700 13px 'Plus Jakarta Sans',sans-serif}

/* ---------- WhatsApp float & sticky mobile bar ---------- */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:35;display:flex;align-items:center;gap:9px;padding:13px 18px 13px 13px;border-radius:999px;background:var(--whatsapp);color:#fff;text-decoration:none;box-shadow:0 10px 24px #1f4a3042;font:700 11.5px 'Plus Jakarta Sans',sans-serif;transition:transform .2s}
.whatsapp-float:hover{transform:translateY(-3px)}
.whatsapp-float .icon{width:22px;height:22px;background:#fff;border-radius:50%;color:var(--whatsapp);padding:4px}
.sticky-mobile-cta{display:none}

/* ---------- Inner page hero / steps / policy layout ---------- */
.page-hero{padding:110px max(10vw,35px) 90px;background:linear-gradient(118deg,var(--tint-violet) 0%,var(--tint-violet) 60%,var(--tint-gold) 60%)}
.breadcrumb{display:flex;align-items:center;gap:8px;font:600 11px 'Plus Jakarta Sans',sans-serif;color:var(--muted);margin:0 0 22px;flex-wrap:wrap}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb span[aria-current]{color:var(--ink);font-weight:700}
.page-hero h1{font:700 clamp(36px,4.4vw,58px)/1.08 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em;margin:0;max-width:800px}
.page-hero>p:last-child{max-width:530px;margin:23px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.steps-section{max-width:1120px;margin:auto;padding:85px 35px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{padding:28px 25px;min-height:225px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md)}
.step:nth-child(2),.step:nth-child(5){background:var(--tint-gold)}
.step:nth-child(3),.step:nth-child(6){background:var(--tint-cool)}
.step span,.policy-content article>span{font:600 10px 'DM Mono',monospace;color:var(--gold)}
.step h2{font:700 20px/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:-.04em;margin:44px 0 11px}
.step p{color:var(--muted);font-size:12px;line-height:1.65;margin:0}

.policy-hero{background:linear-gradient(118deg,var(--tint-violet) 0%,var(--tint-violet) 60%,var(--tint-cool) 60%)}
.policy-wrap{max-width:1080px;margin:auto;padding:85px 35px 110px;display:grid;grid-template-columns:200px 1fr;gap:75px}
.policy-aside{position:sticky;top:130px;align-self:start;display:flex;flex-direction:column;gap:13px}
.policy-aside p{font:600 10px 'DM Mono',monospace;color:var(--violet);text-transform:uppercase;letter-spacing:.1em;margin:0 0 7px}
.policy-aside a{color:var(--muted);text-decoration:none;font-size:12px}
.policy-aside a:hover{color:var(--ink)}
.policy-content article{padding:0 0 38px;margin-bottom:38px;border-bottom:1px solid var(--line)}
.policy-content h2{font:700 28px/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-.045em;margin:12px 0 16px}
.policy-content p{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 13px}
.policy-content a{color:var(--ink);font-weight:700}
.policy-note{padding:20px;background:var(--tint-gold);border-radius:10px!important;color:var(--ink)!important;font-size:12px!important}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1100px){
  .category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .how-grid{grid-template-columns:1fr}
  .contact-section{grid-template-columns:1fr;gap:36px}
  .wholesale{grid-template-columns:1fr;gap:45px}
  .steps-section{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:800px){
  .header{height:80px;padding:5px 20px}
  .brand img{width:140px;height:64px}
  .nav,.search-link{display:none}
  .page-back{display:inline-flex}
  .nav.open{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:#fffefa;padding:6px 24px 16px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #3520471a}
  .nav.open a,.nav.open .nav-mobile-extra{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:13px 0;border-bottom:1px solid var(--line);background:none;font:600 13px 'Plus Jakarta Sans',sans-serif;color:var(--ink);cursor:pointer}
  .nav.open a:last-child,.nav.open .nav-mobile-extra:last-child{border-bottom:0}
  .menu-toggle{display:inline-flex}
  .hero{grid-template-columns:1fr;background:var(--tint-violet)}
  .hero-copy{padding:48px 28px 52px}
  .hero-art{min-height:280px}
  .trust-strip{grid-template-columns:1fr 1fr;padding:25px}
  .section{padding:64px 22px}
  .section-heading{align-items:start;gap:16px;flex-direction:column}
  .contact-grid{grid-template-columns:1fr}
  .page-hero{padding:52px 24px 56px}
  .steps-section{padding:56px 22px}
  .help-banner{margin:0 22px 68px;padding:34px 26px;align-items:flex-start;flex-direction:column}
  .policy-wrap{padding:56px 22px;grid-template-columns:1fr;gap:32px}
  .policy-aside{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
  .policy-aside p{grid-column:1/-1}
  .footer-main{grid-template-columns:1.4fr 1fr;gap:36px 20px}
  .footer-brand{grid-column:1/-1}
  .footer-brand img{width:225px;height:98px}
  .footer-bottom{margin-top:32px}
  .faq-section{padding:60px 22px}

  .whatsapp-float{display:none}
  .sticky-mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:34;background:#fffefaf5;backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 14px;gap:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .sticky-mobile-cta a{flex:1;padding:13px 10px;font-size:11.5px}
  .sticky-mobile-cta .button-secondary{flex:0 0 auto;width:48px;padding:13px;background:var(--whatsapp);color:#fff;border-color:var(--whatsapp)}
  body{padding-bottom:66px}
}

@media(max-width:450px){
  .category-grid,.product-grid{grid-template-columns:1fr}
  .hero h1{font-size:36px}
  .hero-actions{flex-direction:column}
  .hero-actions .button{width:100%}
  .topbar{font-size:9px}
  .hero-art{display:none}
  .catalog-tools{width:100%}
  .search-box{flex:1}
  .search-box input{width:100%}
  .contact-grid{grid-template-columns:1fr}
  .contact-card{min-height:250px}
  .steps-section{grid-template-columns:1fr}
  .policy-aside{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-bottom{font-size:9px}
  .product-modal{width:min(510px,calc(100vw - 24px));max-height:calc(100vh - 24px)}
  .product-modal>div{grid-template-columns:1fr}
  .modal-product-image{min-height:250px;padding:22px}
  .modal-product-image picture,.modal-product-image img{max-height:220px}
  .modal-product-info{padding:26px}
  .modal-product-info h2{font-size:27px}
  .modal-buy{flex-direction:column}
  .quantity-selector{width:100%;justify-content:center}
}
