/* ============================================================
   FONTES LOCAIS (antes vinham do Google Fonts): assets/fonts/*.woff2, só os pesos usados.
   Cabin é fonte variável (400–700, 1 arquivo). Barlow Condensed só é usada em itálico 700/800/900.
   ============================================================ */
@font-face{font-family:"Cabin";font-style:normal;font-weight:400 700;font-display:swap;src:url(./fonts/cabin-400-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:700;font-display:swap;src:url(./fonts/barlow-condensed-italic-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:800;font-display:swap;src:url(./fonts/barlow-condensed-italic-800.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:900;font-display:swap;src:url(./fonts/barlow-condensed-italic-900.woff2) format("woff2")}
/* ============================================================
   Na Hora Camisetas — folha de estilos compartilhada por todas as páginas
   (index.html, 404.html, /tecidos/*.html, /produtos/*.html)
   ============================================================ */
:root{--orange:#FF730F;--orange-dark:#d45f08;--orange-light:#ff8a35;--black:#0a0a0a;--black-soft:#141414;--ink:#000000;--paper:#f4f4f2;--paper-warm:#ece9e4;--gray-700:#2a2a2a;--gray-500:#666;--gray-300:#c8c5bf;--white:#ffffff;--font-display:"Barlow Condensed","Cabin",system-ui,sans-serif;--font-body:"Cabin",system-ui,sans-serif;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.65,0,.35,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--paper);color:var(--black);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}

.desktop-only{display:block}.mobile-only{display:none}

/* NAV — header branco, fixo no topo (sticky) */
.nav{position:sticky;top:0;left:0;right:0;z-index:100;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08);transition:padding .4s var(--ease-out),box-shadow .4s}
.nav.scrolled{padding:10px 5vw;box-shadow:0 12px 30px -20px rgba(0,0,0,.3)}
.nav__logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav__logo img{height:42px;width:auto}
.nav__menu{display:flex;gap:34px;list-style:none;align-items:center}
.nav__menu>li>a,.nav__mega-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 0;line-height:1;color:var(--black);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:color .2s;position:relative;white-space:nowrap}
.nav__menu>li>a:hover,.nav__mega-btn:hover,.nav__item--mega.is-open .nav__mega-btn{color:var(--orange)}
.nav__menu>li>a::after,.nav__mega-btn::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--orange);transition:width .3s var(--ease-out)}
.nav__menu>li>a:hover::after,.nav__mega-btn:hover::after,.nav__item--mega.is-open .nav__mega-btn::after{width:100%}
.nav__mega-btn .chev{width:12px;height:12px;transition:transform .3s var(--ease-out)}
.nav__item--mega.is-open .nav__mega-btn .chev{transform:rotate(180deg)}
.nav__cta{background:var(--orange);color:var(--ink);padding:10px 22px;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--orange);transition:all .25s var(--ease-out);white-space:nowrap}
.nav__cta:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
.nav__actions{display:none;align-items:center;gap:10px;flex-shrink:0}
.nav__cta-top{background:var(--orange);color:var(--ink);padding:9px 14px;font-weight:700;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;border:none;white-space:nowrap}
.nav__burger{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(0,0,0,.14);background:var(--white);flex-shrink:0}
.nav__burger span{display:block;width:20px;height:2px;background:var(--black);transition:transform .3s var(--ease-out),opacity .2s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* MEGA-MENU "Camisetas" → páginas de tecido (desktop: hover + clique/teclado) */
.nav__item--mega{position:static}
.mega{position:absolute;top:100%;left:0;right:0;background:var(--white);border-top:1px solid rgba(0,0,0,.06);border-bottom:3px solid var(--orange);box-shadow:0 30px 60px -30px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease-out),transform .3s var(--ease-out),visibility 0s .3s;z-index:5}
.mega::before{content:'';position:absolute;left:0;right:0;top:-26px;height:26px}
.nav__item--mega.is-open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease-out),transform .3s var(--ease-out),visibility 0s}
.mega__inner{max-width:1300px;margin:0 auto;padding:36px 5vw 40px;display:grid;grid-template-columns:1fr 2.3fr;gap:48px;align-items:start}
.mega__eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.32em;color:var(--orange);font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.mega__eyebrow::before{content:'';width:28px;height:2px;background:var(--orange)}
.mega__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:2.1rem;line-height:.95;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:12px;color:var(--black)}
.mega__title .accent{color:var(--orange)}
.mega__desc{color:var(--gray-500);font-size:.95rem;line-height:1.55;max-width:330px;margin-bottom:20px}
.mega__link{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--black);border-bottom:2px solid var(--orange);padding-bottom:4px;transition:color .2s}
.mega__link:hover{color:var(--orange)}
.mega__list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 20px}
.mega__list a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid transparent;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.2rem;letter-spacing:.03em;text-transform:uppercase;color:var(--black);line-height:1.05;transition:all .2s var(--ease-out)}
.mega__list a:hover{border-color:var(--orange);background:rgba(255,115,15,.06);transform:translateX(4px)}
.mega__num{font-family:var(--font-body);font-style:normal;font-weight:700;font-size:.68rem;letter-spacing:.14em;color:var(--orange);flex-shrink:0}

/* MENU MOBILE (gaveta) — "Camisetas" vira acordeão com os tecidos */
.drawer{position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.45);opacity:0;transition:opacity .3s}
.drawer[hidden]{display:none}
.drawer.is-open{opacity:1}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,88vw);background:var(--white);padding:88px 24px 32px;overflow-y:auto;transform:translateX(100%);transition:transform .45s var(--ease-out);display:flex;flex-direction:column;gap:22px;box-shadow:-20px 0 60px -30px rgba(0,0,0,.4)}
.drawer.is-open .drawer__panel{transform:none}
.drawer__list{list-style:none;display:flex;flex-direction:column}
.drawer__list>li{border-bottom:1px solid rgba(0,0,0,.08)}
.drawer__list>li>a,.drawer__acc-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 4px;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.4rem;text-transform:uppercase;letter-spacing:.03em;color:var(--black);text-align:left;line-height:1}
.drawer__acc-btn .chev{width:16px;height:16px;transition:transform .3s var(--ease-out)}
.drawer__acc-btn[aria-expanded="true"]{color:var(--orange)}
.drawer__acc-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.drawer__sub{list-style:none;padding:0 0 14px 6px;display:flex;flex-direction:column;gap:2px}
.drawer__sub[hidden]{display:none}
.drawer__sub a{display:flex;align-items:center;gap:12px;padding:11px 10px;font-weight:600;font-size:.98rem;color:var(--gray-700);border-left:2px solid rgba(255,115,15,.4)}
.drawer__sub a:active,.drawer__sub a:hover{color:var(--orange);border-left-color:var(--orange)}
.drawer__cta{margin-top:auto;justify-content:center;text-align:center}
body.drawer-open{overflow:hidden}

/* HERO */
.hero{position:relative;min-height:auto;background:var(--black);color:var(--white);overflow:hidden;display:flex;align-items:center;padding:120px 5vw 90px}
.hero__pattern{position:absolute;inset:0;pointer-events:none;opacity:.55}
.hero__stripe{position:absolute;background:var(--orange);height:38px;transform:skewX(-15deg);animation:stripe-slide 14s linear infinite;opacity:.16}
.hero__stripe:nth-child(1){top:12%;left:-10%;width:35%}.hero__stripe:nth-child(2){top:28%;left:60%;width:50%;animation-delay:-3s;height:22px}.hero__stripe:nth-child(3){top:48%;left:-5%;width:28%;animation-delay:-6s;height:30px}.hero__stripe:nth-child(4){top:70%;left:50%;width:60%;animation-delay:-2s;height:18px}.hero__stripe:nth-child(5){top:86%;left:-20%;width:45%;animation-delay:-9s}
@keyframes stripe-slide{0%{transform:skewX(-15deg) translateX(-30px);opacity:.1}50%{opacity:.22}100%{transform:skewX(-15deg) translateX(30px);opacity:.1}}
.hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;width:100%;max-width:1400px;margin:0 auto}
.hero__copy{max-width:640px}
.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.32em;color:var(--orange);font-weight:600;margin-bottom:26px;opacity:0;animation:fade-up .8s var(--ease-out) .2s forwards}
.hero__eyebrow::before{content:'';width:36px;height:2px;background:var(--orange)}
.hero__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2.4rem,4.4vw,4.4rem);line-height:.95;letter-spacing:-.01em;text-transform:uppercase;margin-bottom:28px;opacity:0;animation:fade-up .9s var(--ease-out) .35s forwards}
.hero__title .accent{color:var(--orange);display:inline-block}
.hero__title .strike{position:relative;display:inline-block}
.hero__title .strike::after{content:'';position:absolute;left:-4%;right:-4%;top:52%;height:8px;background:var(--orange);transform:skewY(-3deg);animation:strike-grow .8s var(--ease-out) 1.1s forwards;transform-origin:left;scale:0 1}
@keyframes strike-grow{to{scale:1 1}}
.hero__sub{font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.55;color:rgba(255,255,255,.7);max-width:540px;margin-bottom:38px;opacity:0;animation:fade-up .9s var(--ease-out) .55s forwards}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fade-up .9s var(--ease-out) .7s forwards}
.btn{display:inline-flex;align-items:center;gap:10px;padding:18px 32px;font-weight:700;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;transition:all .25s var(--ease-out);cursor:pointer;position:relative;overflow:hidden}
.btn--primary{background:var(--orange);color:var(--ink);border:2px solid var(--orange)}
.btn--primary:hover{background:var(--orange-light);border-color:var(--orange-light);transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(255,115,15,.6)}
.btn--ghost{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.3)}
.btn--ghost:hover{border-color:var(--white);background:var(--white);color:var(--ink)}
.btn .arrow{transition:transform .25s var(--ease-out)}
.btn:hover .arrow{transform:translateX(4px)}

/* CONVEYOR */
.hero__visual{position:relative;display:flex;flex-direction:column;align-items:center;opacity:0;animation:fade-up 1s var(--ease-out) .5s forwards;width:100%;max-width:500px;margin:0 auto}
/* PALCO 3D (assets/hero3d.js) — substitui a esteira; .stage__fallback = mockup estático até o WebGL subir (ou se ele falhar) */
.stage{position:relative;width:100%;aspect-ratio:5/4;overflow:hidden;border-radius:12px;background:radial-gradient(120% 80% at 50% 105%,#1c110a 0%,#0e0e0e 50%,#0a0a0a 100%);border:1px solid rgba(255,115,15,.18);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04)}
.stage__canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;opacity:0;transition:opacity .9s var(--ease-out)}
.stage.is-3d .stage__canvas{opacity:1}
.stage__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .6s}
.stage.is-3d .stage__fallback{opacity:0;pointer-events:none}
.stage__fallback-shirt{position:relative;width:54%;animation:stage-float 4.5s ease-in-out infinite}
.stage__fallback-shirt img{width:100%;height:auto;filter:drop-shadow(0 24px 28px rgba(0,0,0,.55))}
.stage__fallback-stamp{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-style:italic;font-weight:900;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);border:1px dashed var(--orange);padding:5px 10px;white-space:nowrap}
@keyframes stage-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.stage__label{position:absolute;top:12px;left:14px;z-index:4;display:flex;align-items:center;gap:8px;font-size:.65rem;text-transform:uppercase;letter-spacing:.32em;color:var(--orange);font-weight:700}
.stage__label .dot{width:8px;height:8px;background:var(--orange);border-radius:50%;animation:pulse 1.4s ease-in-out infinite}
.stage__chip{position:absolute;top:10px;right:12px;z-index:4;display:inline-flex;align-items:center;gap:6px;font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);background:rgba(10,10,10,.6);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 11px;border-radius:999px;opacity:0;visibility:hidden;white-space:nowrap}
.stage__chip strong{color:#fff;font-weight:700}
.stage__chip-sep{opacity:.4}
.stage__timer{position:absolute;left:14px;bottom:14px;z-index:4;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.1rem;letter-spacing:.04em;color:rgba(255,255,255,.88);font-variant-numeric:tabular-nums;opacity:0;visibility:hidden}
.stage__timer svg{width:16px;height:16px;color:var(--orange);flex-shrink:0}
.stage__done{position:absolute;right:14px;bottom:14px;z-index:4;display:inline-flex;align-items:center;gap:9px;background:var(--orange);color:var(--black);font-family:var(--font-display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:1.05rem;letter-spacing:.06em;line-height:1;padding:9px 14px 9px 10px;border-radius:8px;box-shadow:0 14px 34px -10px rgba(255,115,15,.75);opacity:0;visibility:hidden;transform-origin:100% 100%}
.stage__done small{font-family:var(--font-body);font-style:normal;font-weight:600;font-size:.6rem;letter-spacing:.06em;text-transform:none;opacity:.85}
.stage__done small b{font-weight:700}
.stage__done-check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--black);color:var(--orange);font-size:.75rem;font-style:normal;font-family:var(--font-body)}
.stage__tagline{margin-top:16px;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;text-align:center;color:rgba(255,255,255,.6)}
.stage__tagline strong{color:var(--orange)}
@media (prefers-reduced-motion:reduce){.stage__fallback-shirt,.stage__label .dot{animation:none}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}
@keyframes fade-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* TICKER */
.ticker{background:var(--orange);color:var(--ink);padding:22px 0;overflow:hidden;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);position:relative;z-index:3}
.ticker__track{display:flex;gap:60px;white-space:nowrap;animation:ticker 28s linear infinite;font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;letter-spacing:.02em}
.ticker__item{display:flex;align-items:center;gap:60px}
.ticker__item::after{content:'✱';color:var(--ink);font-size:1.6rem;font-style:normal;font-family:var(--font-body)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTION HEAD */
.section-head{max-width:1300px;margin:0 auto 70px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:end}
.section-head__eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.32em;color:var(--orange);font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:18px}
.section-head__eyebrow::before{content:'';width:36px;height:2px;background:var(--orange)}
.section-head__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:.95;text-transform:uppercase;letter-spacing:-.01em}
.section-head__title .accent{color:var(--orange)}
.section-head__desc{font-size:1.05rem;color:var(--gray-500);line-height:1.6;max-width:560px}

/* PILLARS */
.pillars{background:var(--paper);padding:120px 5vw}
.pillars__grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{background:var(--white);padding:40px 32px 36px;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:all .4s var(--ease-out)}
.pillar:hover{transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(0,0,0,.18);border-color:var(--orange)}
.pillar::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.pillar:hover::before{transform:scaleX(1)}
.pillar__num{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:5rem;color:var(--paper-warm);line-height:1;position:absolute;top:18px;right:24px;z-index:0;transition:color .3s}
.pillar:hover .pillar__num{color:rgba(255,115,15,.18)}
.pillar__icon{width:56px;height:56px;margin-bottom:26px;color:var(--orange);position:relative;z-index:1}
.pillar__title{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.85rem;text-transform:uppercase;margin-bottom:14px;position:relative;z-index:1;letter-spacing:-.01em}
.pillar__text{color:var(--gray-500);font-size:.98rem;line-height:1.6;position:relative;z-index:1}

.color-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;width:100%;margin-bottom:10px}
.color-dot{width:100%;aspect-ratio:1;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.22);padding:0;position:relative;transition:transform .2s var(--ease-out),box-shadow .2s,border-color .2s}
.color-dot:hover{transform:scale(1.18);z-index:1}
.color-dot:focus-visible{outline:2px solid var(--white);outline-offset:2px}
.color-dot.active{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,115,15,.3);transform:scale(1.1)}

/* AUDIENCE */
.audience{background:var(--paper);padding:120px 5vw}
.audience__container{max-width:1300px;margin:0 auto}
.audience__list{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.audience__pill{padding:16px 28px;background:var(--white);border:2px solid var(--ink);font-family:var(--font-display);font-weight:800;font-style:italic;font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em;cursor:default;transition:all .25s var(--ease-out);position:relative;overflow:hidden;z-index:1}
.audience__pill::before{content:'';position:absolute;inset:0;background:var(--orange);transform:translateY(100%);transition:transform .3s var(--ease-out);z-index:-1}
.audience__pill:hover{color:var(--ink);transform:translateY(-3px)}
.audience__pill:hover::before{transform:translateY(0)}

/* PROCESS */
.process{background:var(--ink);color:var(--white);padding:120px 5vw;position:relative;overflow:hidden}
.process__bg{position:absolute;inset:0;background:repeating-linear-gradient(-8deg,transparent,transparent 80px,rgba(255,115,15,.04) 80px,rgba(255,115,15,.04) 100px);pointer-events:none}
.process .section-head__desc{color:rgba(255,255,255,.6)}
.process__steps{max-width:1300px;margin:60px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.process__line{position:absolute;top:38px;left:6%;right:6%;height:2px;background:rgba(255,255,255,.08);z-index:0}
.process__line::after{content:'';position:absolute;inset:0;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out)}
.process__line.in-view::after{transform:scaleX(1)}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1;padding:0 16px}
.step__num{width:76px;height:76px;background:var(--ink);border:2px solid var(--orange);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:2rem;color:var(--orange);margin-bottom:24px;transition:all .3s var(--ease-out);flex-shrink:0}
.step:hover .step__num{background:var(--orange);color:var(--ink);transform:scale(1.08)}
.step__body{display:flex;flex-direction:column;align-items:center}
.step__title{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.4rem;text-transform:uppercase;margin-bottom:10px}
.step__text{font-size:.92rem;color:rgba(255,255,255,.55);line-height:1.55;max-width:220px}

/* CTA + FORM */
.cta-section{background:var(--orange);padding:100px 5vw;position:relative;overflow:hidden;color:var(--ink)}
.cta-section__pattern{position:absolute;inset:0;opacity:.18;pointer-events:none}
.cta-section__pattern::before,.cta-section__pattern::after{content:'';position:absolute;background:var(--ink);height:30px;transform:skewX(-15deg)}
.cta-section__pattern::before{top:18%;left:-5%;width:35%}.cta-section__pattern::after{bottom:22%;right:-5%;width:45%;height:22px}
.cta-section__inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start;position:relative;z-index:2}
.cta-section__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.95;text-transform:uppercase;margin-bottom:24px}
.cta-section__sub{font-size:1.1rem;line-height:1.6;max-width:480px;margin-bottom:32px}
.cta-section__highlight{display:inline-block;background:var(--ink);color:var(--orange);padding:10px 18px;font-family:var(--font-display);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;margin-bottom:28px}
.cta-section__benefits{list-style:none;display:flex;flex-direction:column;gap:12px;font-weight:600}
.cta-section__benefits li{display:flex;align-items:center;gap:12px;font-size:1rem}
.cta-section__benefits li::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--ink);color:var(--orange);font-weight:900;flex-shrink:0}
.form-card{background:var(--ink);color:var(--white);padding:44px 38px;position:relative}
.form-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:5px;background:var(--white)}
.form-card__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:1.6rem;text-transform:uppercase;margin-bottom:6px;color:var(--white)}
.form-card__hint{font-size:.88rem;color:rgba(255,255,255,.55);margin-bottom:26px}
.form-row{margin-bottom:18px;display:flex;flex-direction:column}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-row label{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--orange);font-weight:700;margin-bottom:8px}
.form-row input,.form-row select,.form-row textarea{background:transparent;border:none;border-bottom:1.5px solid rgba(255,255,255,.18);color:var(--white);font-family:inherit;font-size:1rem;padding:10px 0;transition:border-color .2s;border-radius:0;-webkit-appearance:none}
.form-row input::placeholder,.form-row textarea::placeholder{color:rgba(255,255,255,.35)}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-bottom-color:var(--orange)}
.form-row select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23FF730F' d='M6 8L0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right 4px center;padding-right:24px;cursor:pointer}
.form-row select option{background:var(--ink);color:var(--white)}
.form-row textarea{resize:vertical;min-height:80px;font-family:inherit}
.form-submit{width:100%;background:var(--orange);color:var(--ink);padding:18px;font-weight:800;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--orange);margin-top:16px;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .25s var(--ease-out);cursor:pointer;-webkit-appearance:none;border-radius:0}
.form-submit:hover{background:var(--orange-light);border-color:var(--orange-light);transform:translateY(-2px)}
.form-feedback{margin-top:14px;padding:14px;background:rgba(255,115,15,.12);border-left:3px solid var(--orange);font-size:.9rem;display:none}
.form-feedback.show{display:block;animation:fade-up .4s var(--ease-out)}

/* FAQ */
.faq{background:var(--paper);padding:120px 5vw;position:relative}
.faq__grid{max-width:900px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--gray-300);overflow:hidden}
.faq__item:first-child{border-top:1px solid var(--gray-300)}
.faq__question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;font-family:var(--font-display);font-weight:800;font-style:italic;font-size:1.25rem;text-transform:uppercase;letter-spacing:.02em;color:var(--black);cursor:pointer;transition:color .2s;text-align:left;background:none;border:none}
.faq__question:hover{color:var(--orange)}
.faq__icon{width:28px;height:28px;flex-shrink:0;position:relative}
.faq__icon::before,.faq__icon::after{content:'';position:absolute;background:var(--orange);border-radius:2px}
.faq__icon::before{top:50%;left:4px;right:4px;height:3px;transform:translateY(-50%)}
.faq__icon::after{left:50%;top:4px;bottom:4px;width:3px;transform:translateX(-50%);transition:transform .3s var(--ease-out)}
.faq__item.open .faq__icon::after{transform:translateX(-50%) scaleY(0)}
.faq__answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out)}
.faq__answer-inner a{color:var(--orange-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px}.faq__answer-inner a:hover{color:var(--black)}
.faq__answer-inner{padding:0 0 28px;font-size:1.02rem;color:var(--gray-500);line-height:1.65;max-width:780px}

/* FOOTER */
.footer{background:var(--ink);color:var(--white);padding:80px 5vw 30px}
.footer__top{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer__brand .nav__logo img{height:65px;width:auto}
.footer__tag{margin-top:18px;font-family:var(--font-display);font-weight:800;font-style:italic;font-size:1.6rem;text-transform:uppercase;color:var(--orange)}
.footer__desc{margin-top:12px;color:rgba(255,255,255,.5);font-size:.92rem;max-width:320px;line-height:1.6}
.footer__col h4{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;color:var(--orange)}
.footer__col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer__col a,.footer__col li{color:rgba(255,255,255,.6);font-size:.9rem;transition:color .2s}
.footer__col a:hover{color:var(--orange)}
.footer__bottom{max-width:1300px;margin:30px auto 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:.82rem;color:rgba(255,255,255,.4)}
.footer__bottom strong{color:var(--orange);font-weight:600}

/* WPP */
.float-wpp{position:fixed;bottom:24px;right:24px;width:60px;height:60px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:90;box-shadow:0 12px 30px -8px rgba(37,211,102,.5);transition:transform .25s var(--ease-out);animation:pulse-ring 2.4s ease-in-out infinite}
.float-wpp:hover{transform:scale(1.1)}
.float-wpp svg{width:30px;height:30px;fill:white}
@keyframes pulse-ring{0%{box-shadow:0 12px 30px -8px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 12px 30px -8px rgba(37,211,102,.5),0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 12px 30px -8px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,0)}}

/* REVEAL */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.in-view{opacity:1;transform:translateY(0)}

/* === TABLET (920px) === */
@media(max-width:920px){
  .hero__grid{grid-template-columns:1fr;gap:40px}
  .hero{padding:90px 5vw 60px;min-height:auto}
  .cta-section__inner{grid-template-columns:1fr;gap:40px}
}

/* === MOBILE (880px) === */
@media(max-width:880px){
  .desktop-only{display:none!important}
  .mobile-only{display:block}
  .nav__menu,.nav__cta{display:none!important}
  .nav__actions{display:flex}
  .nav__burger{display:flex}
  .nav{padding:12px 5vw}
  .nav.scrolled{padding:8px 5vw}
  .nav__logo{gap:10px;flex-shrink:0;min-width:0}
  .nav__logo img{height:40px!important;width:auto!important;min-width:110px;display:block!important;object-fit:contain}
  .hero{padding:64px 6vw 50px;min-height:auto;display:block}
  .hero__pattern{opacity:.4}
  .hero__stripe{height:24px;opacity:.14}
  .hero__stripe:nth-child(1){top:10%;left:-10%;width:40%}
  .hero__stripe:nth-child(2){top:30%;left:55%;width:55%;height:16px}
  .hero__stripe:nth-child(3){top:55%;left:-5%;width:30%;height:20px}
  .hero__stripe:nth-child(4){top:75%;left:45%;width:60%;height:14px}
  .hero__stripe:nth-child(5){top:90%;left:-15%;width:50%}
  .hero__grid{display:flex;flex-direction:column;gap:32px}
  .hero__copy{max-width:none}
  .hero__eyebrow{font-size:.68rem;letter-spacing:.28em;margin-bottom:16px;gap:8px}
  .hero__eyebrow::before{width:28px}
  .hero__title{font-size:2.2rem;margin-bottom:18px}
  .hero__title .strike::after{height:6px}
  .hero__sub{font-size:.95rem;margin-bottom:28px;max-width:none}
  .hero__ctas{flex-direction:column;gap:12px}
  .btn{display:flex;padding:16px 24px;font-size:.88rem;justify-content:center;text-align:center}
  .hero__visual{max-width:340px}
  .stage{border-radius:10px}
  .stage__label{top:10px;left:10px;gap:6px;font-size:.58rem;letter-spacing:.28em}
  .stage__label .dot{width:6px;height:6px}
  .stage__chip{top:8px;right:8px;font-size:.52rem;padding:6px 9px;letter-spacing:.1em}
  .stage__timer{left:10px;bottom:10px;font-size:.95rem}
  .stage__done{right:10px;bottom:10px;font-size:.92rem;padding:8px 11px 8px 8px}
  .stage__tagline{margin-top:12px;font-size:1rem}
  .ticker{padding:16px 0;border-top-width:2px;border-bottom-width:2px}
  .ticker__track{gap:40px;animation-duration:20s;font-size:1.3rem}
  .ticker__item{gap:40px}
  .ticker__item::after{font-size:1.2rem}
  .section-head{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}
  .section-head__eyebrow{font-size:.7rem;letter-spacing:.28em;margin-bottom:0;gap:8px}
  .section-head__eyebrow::before{width:28px}
  .section-head__title{font-size:2rem}
  .section-head__desc{font-size:.92rem;max-width:none}
  .pillars{padding:60px 6vw}
  .pillars__grid{display:flex;flex-direction:column;gap:16px}
  .pillar{padding:28px 24px 24px;border-left:4px solid var(--orange);transition:none}
  .pillar:hover{transform:none;box-shadow:none}
  .pillar::before{display:none}
  .pillar__num{font-size:3.5rem;top:12px;right:16px}
  .pillar__icon{width:44px;height:44px;margin-bottom:18px}
  .pillar__title{font-size:1.5rem}
  .pillar__text{font-size:.9rem}
  .color-picker{gap:7px}
  @keyframes swipe-bounce{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
  .audience{padding:60px 6vw}
  .audience__list{gap:10px;margin-top:28px}
  .audience__pill{padding:12px 20px;font-size:1.05rem;transition:none}
  .audience__pill::before{display:none}
  .audience__pill:hover{transform:none}
  .process{padding:60px 6vw}
  .process__bg{background:repeating-linear-gradient(-8deg,transparent,transparent 60px,rgba(255,115,15,.04) 60px,rgba(255,115,15,.04) 76px)}
  .process__steps{display:flex;flex-direction:column;gap:32px;margin-top:36px}
  .process__line{display:none}
  .step{flex-direction:row;align-items:flex-start;gap:18px;text-align:left;padding:0}
  .step__num{width:56px;height:56px;font-size:1.5rem;margin-bottom:0}
  .step:hover .step__num{transform:none;background:var(--ink);color:var(--orange)}
  .step__body{align-items:flex-start;flex:1;padding-top:4px}
  .step__title{font-size:1.2rem;margin-bottom:6px}
  .step__text{font-size:.88rem;line-height:1.5;max-width:none}
  .cta-section{padding:50px 6vw}
  .cta-section__pattern{opacity:.14}
  .cta-section__pattern::before{top:15%;width:40%;height:20px}
  .cta-section__pattern::after{bottom:18%;width:50%;height:16px}
  .cta-section__inner{display:flex;flex-direction:column;gap:32px}
  .cta-section__highlight{padding:8px 14px;font-size:.9rem;margin-bottom:20px}
  .cta-section__title{font-size:2.2rem;margin-bottom:18px}
  .cta-section__sub{font-size:1rem;margin-bottom:24px}
  .cta-section__benefits li{gap:10px;font-size:.92rem}
  .cta-section__benefits li::before{width:24px;height:24px}
  .form-card{padding:32px 24px}
  .form-card::before{height:4px}
  .form-card__title{font-size:1.4rem}
  .form-card__hint{font-size:.84rem;margin-bottom:22px}
  .form-row{margin-bottom:16px}
  .form-row label{font-size:.7rem;letter-spacing:.16em}
  .form-row input,.form-row select,.form-row textarea{padding:12px 0}
  .form-row textarea{min-height:70px}
  .form-submit{font-size:.95rem;letter-spacing:.1em;margin-top:14px}
  .form-feedback{margin-top:12px;padding:12px;font-size:.88rem}
  .faq{padding:60px 6vw}
  .faq__question{font-size:1.1rem;padding:20px 0}
  .faq__icon{width:24px;height:24px}
  .faq__answer-inner{padding-bottom:22px;font-size:.94rem}
  .footer{padding:50px 6vw 24px}
  .footer__top{display:flex;flex-direction:column;gap:32px;padding-bottom:32px}
  .footer__brand .nav__logo img{height:55px}
  .footer__tag{margin-top:14px;font-size:1.4rem}
  .footer__desc{margin-top:10px;font-size:.88rem}
  .footer__col h4{font-size:1rem;margin-bottom:12px}
  .footer__col ul{gap:8px}
  .footer__col a,.footer__col li{font-size:.88rem}
  .footer__bottom{margin-top:24px;flex-direction:column;gap:8px;font-size:.78rem;text-align:center}
  .float-wpp{bottom:18px;right:18px;width:56px;height:56px;box-shadow:0 8px 24px -6px rgba(37,211,102,.5)}
  .float-wpp svg{width:28px;height:28px}
  .reveal{transform:translateY(30px);transition-duration:.7s}
}
@media(max-width:520px){
  .footer__top{grid-template-columns:1fr}
  .form-grid-2{grid-template-columns:1fr}
}

/* ==========================================================================
   HERO SLIDER — carrossel de banners (3 slides, largura total, autoplay 5s)
   ========================================================================== */
.hero-slider{position:relative;background:#dcdcda}
.slider{position:relative;overflow:hidden;width:100%;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}
.slider:focus-visible{box-shadow:inset 0 0 0 3px var(--orange)}
.slider__track{display:flex;width:100%;will-change:transform}
.slider__track.is-animated{transition:transform .75s var(--ease-out)}
.slide{position:relative;flex:0 0 100%;min-width:100%;aspect-ratio:1920/720;max-height:min(720px,82vh);min-height:380px;overflow:hidden;background:#d4d4d1}
.slide__media,.slide__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.slide__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#e0e0dd 0%,#c7c7c3 100%);color:rgba(0,0,0,.26);font-family:var(--font-display);font-style:italic;font-weight:900;font-size:clamp(2.6rem,7vw,6.5rem);text-transform:uppercase;letter-spacing:.02em;line-height:1}
.slide__ph::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 22px,rgba(255,255,255,.2) 22px 24px);pointer-events:none}
.slide__ph small{font-family:var(--font-body);font-style:normal;font-weight:700;font-size:.72rem;letter-spacing:.26em;color:rgba(0,0,0,.38);position:relative}
.slide__content{position:absolute;left:5vw;bottom:clamp(30px,6vw,76px);z-index:2;display:inline-flex;padding:8px;background:rgba(10,10,10,.34);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:3px}
.slide__cta{display:inline-flex;align-items:center;gap:12px;padding:18px 38px;background:var(--orange);color:var(--ink);font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.4rem;letter-spacing:.08em;text-transform:uppercase;line-height:1;border:2px solid var(--orange);box-shadow:0 14px 34px -12px rgba(0,0,0,.65);transition:transform .3s var(--ease-out),background .25s,box-shadow .3s}
.slide__cta:hover{background:var(--orange-light);border-color:var(--orange-light);transform:translateY(-3px) scale(1.02);box-shadow:0 22px 44px -14px rgba(255,115,15,.6)}
.slide__cta:focus-visible{outline:3px solid var(--white);outline-offset:3px}
.slide__cta .arrow{transition:transform .3s var(--ease-out)}
.slide__cta:hover .arrow{transform:translateX(5px)}
.slide--cta-right .slide__content{left:auto;right:5vw}   /* banners com a área livre à direita */
.slider__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.88);color:var(--black);border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 24px -10px rgba(0,0,0,.45);transition:background .2s,color .2s,opacity .2s;opacity:.92}
.slider__arrow:hover{background:var(--orange);color:var(--ink);opacity:1}
.slider__arrow:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.slider__arrow svg{width:22px;height:22px}
.slider__arrow--prev{left:clamp(12px,2.5vw,32px)}
.slider__arrow--next{right:clamp(12px,2.5vw,32px)}
.slider__dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;display:flex;gap:8px;padding:7px 11px;background:rgba(10,10,10,.38);border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.slider__dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.55);border:none;padding:0;transition:all .3s var(--ease-out)}
.slider__dot.is-active{background:var(--orange);transform:scale(1.25)}
.slider__dot:focus-visible{outline:2px solid var(--white);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.slider__track.is-animated{transition:none}}

/* ==========================================================================
   INTRO — H1 + barra de benefícios (linha com divisórias, estilo referência)
   ========================================================================== */
.intro{background:var(--white);padding:72px 5vw 60px;text-align:center}
.intro__title{max-width:1120px;margin:0 auto;font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(1.9rem,3.6vw,3.4rem);line-height:1;text-transform:uppercase;letter-spacing:-.01em;color:var(--black)}
.intro__title .accent{color:var(--orange)}
.benefits{list-style:none;max-width:1200px;margin:48px auto 0;display:grid;grid-template-columns:repeat(3,1fr)}
.benefit{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 28px;text-align:center;border-left:1px solid rgba(0,0,0,.12)}
.benefit:first-child{border-left:none}
.benefit__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;color:var(--orange)}
.benefit__icon svg{width:40px;height:40px}
.benefit strong{display:block;font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.55rem;line-height:1;text-transform:uppercase;letter-spacing:.02em;color:var(--black)}
.benefit span{display:block;font-size:.94rem;color:var(--gray-500);line-height:1.4}

/* ==========================================================================
   CATÁLOGO — "Conheça nossos produtos" (grid 4 / 2 / 1)
   ========================================================================== */
.catalog{background:var(--paper);padding:84px 5vw 100px}
.catalog__head{max-width:1300px;margin:0 auto 44px;text-align:center}
.catalog__head .section-head__eyebrow{justify-content:center}
.catalog__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:.95;text-transform:uppercase;letter-spacing:-.01em}
.catalog__title .accent{color:var(--orange)}
.catalog__grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.product-card{display:flex;flex-direction:column;background:var(--white);border:1px solid rgba(0,0,0,.06);overflow:hidden;position:relative;transition:transform .4s var(--ease-out),box-shadow .4s,border-color .3s}
.product-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out);z-index:2}
.product-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -24px rgba(0,0,0,.22);border-color:var(--orange)}
.product-card:hover::before{transform:scaleX(1)}
.product-card:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.product-card__media{position:relative;aspect-ratio:4/5;background:var(--paper-warm);overflow:hidden}
.product-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-out)}
.product-card:hover .product-card__media img{transform:scale(1.04)}
.product-card__body{padding:22px 20px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.product-card__name{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em;line-height:1}
.product-card__price{font-size:.92rem;color:var(--gray-500)}
.product-card__price strong{color:var(--black);font-weight:700}
.product-card__btn{margin-top:10px;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:2px solid var(--ink);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:all .25s var(--ease-out)}
.product-card:hover .product-card__btn{background:var(--orange);border-color:var(--orange)}

/* ==========================================================================
   PLACEHOLDERS (cinza) — trocar por imagens / textos reais
   ========================================================================== */
.ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#e6e6e3,#d3d3d0);color:rgba(0,0,0,.36);text-align:center;padding:16px}
.ph::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0 18px,rgba(255,255,255,.22) 18px 20px);pointer-events:none}
.ph svg{width:44px;height:44px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;position:relative}
.ph span{position:relative;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.ph--text{position:relative;inset:auto;min-height:130px;border:2px dashed rgba(0,0,0,.2);background:rgba(0,0,0,.03);color:rgba(0,0,0,.45);font-size:.95rem;padding:30px}
.ph--text::before{display:none}

/* ==========================================================================
   PÁGINAS INTERNAS — tecidos (/tecidos) e produtos (/produtos)
   ========================================================================== */
.page-hero{background:var(--black);color:var(--white);padding:84px 5vw 70px;position:relative;overflow:hidden}
.page-hero__bg{position:absolute;inset:0;background:repeating-linear-gradient(-8deg,transparent,transparent 80px,rgba(255,115,15,.05) 80px,rgba(255,115,15,.05) 100px);pointer-events:none}
.page-hero__inner{max-width:1300px;margin:0 auto;position:relative;z-index:1}
.page-hero .section-head__eyebrow{margin-bottom:16px}
.page-hero__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2.6rem,6vw,5.2rem);line-height:.92;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:18px}
.page-hero__title .accent{color:var(--orange)}
.page-hero__sub{font-size:1.05rem;color:rgba(255,255,255,.62);max-width:580px;line-height:1.6}
.page-hero__price{display:inline-block;margin-top:24px;padding:10px 18px;background:var(--orange);color:var(--ink);font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:28px}
.crumbs a{transition:color .2s}
.crumbs a:hover{color:var(--orange)}
.crumbs span[aria-hidden]{opacity:.5}
.page-section{padding:84px 5vw}
.page-section--alt{background:var(--white)}
.page-section__inner{max-width:1300px;margin:0 auto}
.page-section .section-head{margin-bottom:44px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery-grid__item{position:relative;aspect-ratio:4/5;background:var(--paper-warm);overflow:hidden}
.gallery-grid__item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gallery-grid__item img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-grid--tres{grid-template-columns:2fr 1fr}   /* galeria de 3 fotos (Nossa História): 1 grande + 2 empilhadas */
.gallery-grid--tres .gallery-grid__item{aspect-ratio:4/3}
.gallery-grid--tres .gallery-grid__item:first-child{grid-column:1;grid-row:span 2;aspect-ratio:auto}
.models-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.model-card{background:var(--white);border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;transition:transform .35s var(--ease-out),border-color .3s,box-shadow .35s}
.model-card:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:0 24px 50px -24px rgba(0,0,0,.2)}
.model-card__media{position:relative;aspect-ratio:1;background:var(--paper-warm);overflow:hidden}
.model-card__body{padding:16px 18px 20px}
.model-card__name{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.3rem;text-transform:uppercase;line-height:1}
.model-card__meta{margin-top:6px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500)}
.fabric-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fabric-list a{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--white);border:1px solid rgba(0,0,0,.08);font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.3rem;text-transform:uppercase;line-height:1;transition:all .25s var(--ease-out)}
.fabric-list a:hover{border-color:var(--orange);transform:translateX(4px);background:rgba(255,115,15,.05)}
.section-head--top{align-items:start}
.fabric-desc__p{font-size:1.02rem;line-height:1.65;color:var(--gray-700)}
.fabric-desc__p+.fabric-desc__p{margin-top:12px}
.fabric-specs{margin-top:34px;padding-top:30px;border-top:1px solid rgba(0,0,0,.1)}
.spec-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px 28px;margin:0}
.spec-list div{min-width:0}
.spec-list dt{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--orange);font-weight:700}
.spec-list dd{margin:5px 0 0;font-weight:600;line-height:1.4}
.fabric-specs__cta{margin-top:26px;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.25rem;text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
.fabric-desc-block{max-width:860px}
.fabric-desc-block+.fabric-desc-block{margin-top:44px;padding-top:44px;border-top:1px solid rgba(0,0,0,.1)}
.fabric-desc-block__title{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.7rem;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:14px}
.fabric-list .arrow{margin-left:auto;color:var(--orange)}
[id]{scroll-margin-top:96px}
.variant{margin-top:44px;padding-top:36px;border-top:1px solid rgba(0,0,0,.08)}
.variant:first-of-type{margin-top:0;padding-top:0;border-top:none}
.variant__title{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.8rem;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.variant__title::before{content:"";width:26px;height:3px;background:var(--orange)}
.variant__desc{min-height:90px;padding:22px;margin-bottom:20px}
.page-cta{background:var(--orange);color:var(--ink);padding:84px 5vw;text-align:center}
.page-cta__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2rem,4.5vw,3.6rem);line-height:.95;text-transform:uppercase;margin-bottom:14px}
.page-cta__sub{max-width:580px;margin:0 auto 32px;font-size:1.05rem;line-height:1.6}
.page-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn--dark{background:var(--ink);color:var(--white);border:2px solid var(--ink)}
.btn--dark:hover{background:var(--white);color:var(--ink);border-color:var(--white);transform:translateY(-2px)}
.btn--outline-dark{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn--outline-dark:hover{background:var(--ink);color:var(--white)}

/* ==========================================================================
   RESPONSIVO — componentes novos
   ========================================================================== */
@media(max-width:1100px){
  .mega__list a{font-size:1.1rem;padding:10px 12px}
  .models-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  .catalog__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:920px){
  .mega__inner{grid-template-columns:1fr;gap:28px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid--tres{grid-template-columns:repeat(2,1fr)}
  .gallery-grid--tres .gallery-grid__item:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
  .models-grid{grid-template-columns:repeat(2,1fr)}
  .fabric-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:880px){
  .nav{gap:12px}
  .section-head{align-items:flex-start}   /* corrige o align-items:end do grid desktop vazando pro flex-column do mobile */
  .slide{aspect-ratio:4/5;min-height:420px;max-height:78vh}
  .slide__ph{font-size:2.6rem}
  .slide__content{left:50%;transform:translateX(-50%);bottom:54px;white-space:nowrap}
  .slide--cta-right .slide__content{left:50%;right:auto}
  .slide__cta{padding:15px 28px;font-size:1.2rem}
  .slider__arrow{width:38px;height:38px;opacity:.8}
  .slider__arrow svg{width:18px;height:18px}
  .slider__dots{bottom:14px}
  .intro{padding:48px 6vw 40px}
  .intro__title{font-size:1.9rem}
  .benefits{margin-top:32px;grid-template-columns:1fr;gap:0}
  .benefit{flex-direction:row;text-align:left;gap:16px;padding:16px 4px;border-left:none;border-top:1px solid rgba(0,0,0,.1)}
  .benefit:first-child{border-top:none}
  .benefit__icon{width:44px;height:44px;flex-shrink:0}
  .benefit__icon svg{width:32px;height:32px}
  .benefit strong{font-size:1.3rem}
  .benefit span{font-size:.88rem}
  .catalog{padding:56px 6vw 64px}
  .catalog__head{margin-bottom:28px}
  .catalog__grid{gap:14px}
  .product-card:hover{transform:none}
  .product-card__body{padding:16px 14px 20px}
  .product-card__name{font-size:1.25rem}
  .product-card__btn{padding:9px 14px;font-size:.7rem}
  .page-hero{padding:56px 6vw 48px}
  .page-hero__sub{font-size:.95rem}
  .crumbs{margin-bottom:20px}
  .page-section{padding:56px 6vw}
  .page-section .section-head{margin-bottom:28px}
  .gallery-grid{gap:10px}
  .models-grid{gap:12px}
  .model-card:hover{transform:none}
  .model-card__body{padding:12px 14px 16px}
  .model-card__name{font-size:1.15rem}
  .fabric-list{gap:10px}
  .fabric-list a{padding:14px 16px;font-size:1.15rem}
  .fabric-list a:hover{transform:none}
  .page-cta{padding:56px 6vw}
  .page-cta__btns{flex-direction:column}
}
@media(max-width:600px){
  .catalog__grid{grid-template-columns:1fr}
  .product-card__media{aspect-ratio:4/3}
  .fabric-list{grid-template-columns:1fr}
  .gallery-grid__item:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
}

/* cards de item (página do produto: um card por tecido) */
.product-card__sub{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-500)}
.catalog__grid--items{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){.catalog__grid--items{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.catalog__grid--items{grid-template-columns:1fr}}

/* ==========================================================================
   PÁGINA "FORMATOS DE PERSONALIZAÇÃO" (DTF, TPU, Bordado, Silk) + Metro DTF
   ========================================================================== */
/* atalhos no cabeçalho da página */
.fmt-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.fmt-nav__chip{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(255,255,255,.18);color:var(--white);font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;transition:border-color .25s,background .25s,transform .25s var(--ease-out)}
.fmt-nav__chip:hover{border-color:var(--orange);background:rgba(255,115,15,.12);transform:translateY(-2px)}
.fmt-nav__buy{display:inline-flex;align-items:center;gap:10px;margin-left:auto;padding:13px 22px;background:var(--orange);border:1px solid var(--orange);color:var(--black);font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;line-height:1;box-shadow:0 14px 34px -12px rgba(255,115,15,.7);transition:transform .25s var(--ease-out),background .2s,box-shadow .25s}
.fmt-nav__buy svg{width:20px;height:20px;flex-shrink:0}
.fmt-nav__buy .arrow{transition:transform .25s var(--ease-out)}
.fmt-nav__buy:hover{background:var(--orange-light);transform:translateY(-2px);box-shadow:0 18px 40px -12px rgba(255,115,15,.85)}
.fmt-nav__buy:hover .arrow{transform:translateX(4px)}
.fmt__text{font-size:1.02rem;line-height:1.65;color:var(--gray-700)}
.fmt__text+.fmt__text{margin-top:12px}
/* seção de cada formato: título + (fotos de exemplo | o que é / recomendado para / quantidade mínima) */
.fmt__head{margin-bottom:36px}
.fmt__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;margin-top:10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.fmt__tag{font-family:var(--font-body);font-style:normal;font-weight:600;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-500)}
.fmt__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.fmt__gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.fmt__photo{position:relative;aspect-ratio:4/3;background:var(--paper-warm);overflow:hidden}
.fmt__photo:first-child{grid-column:span 2;aspect-ratio:16/9}
.fmt__photo img{width:100%;height:100%;object-fit:cover;display:block}
.fmt__info{display:flex;flex-direction:column;gap:26px}
.fmt__block h3{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.fmt__block h3::before{content:'';width:22px;height:3px;background:var(--orange);flex-shrink:0}
.fmt__block .ph--text{min-height:110px;padding:22px}
.fmt__min{padding:22px 24px;background:var(--black);color:var(--white)}
.fmt__min-label{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}
.fmt__min-value{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:2rem;text-transform:uppercase;line-height:1}
.fmt__min-value strong{color:var(--orange)}
.fmt__min-note{margin-top:10px;font-size:.88rem;color:rgba(255,255,255,.62);line-height:1.5}
/* página do Metro DTF (reusa .item__grid/.qty/.choices de personalizar.css) */
.metro__media{position:relative;width:100%;aspect-ratio:4/5;background:var(--paper-warm);overflow:hidden}
.metro__spec{margin-top:14px;min-height:80px;padding:18px}
.metro__hint{margin-top:10px;font-size:.85rem;color:var(--gray-500)}
.choices--single{grid-template-columns:1fr}
/* menu com 7 abas: aperta espaços e fonte por faixa de largura; abaixo de 1280px vira gaveta (hambúrguer), como no mobile */
@media(max-width:1600px){
  .nav__menu{gap:22px}
  .nav__menu>li>a,.nav__mega-btn{font-size:.8rem;letter-spacing:.06em}
}
@media(max-width:1440px){
  .nav{gap:16px}
  .nav__menu{gap:14px}
  .nav__menu>li>a,.nav__mega-btn{font-size:.74rem;letter-spacing:.04em}
  .nav__cta{padding:10px 16px;font-size:.76rem}
}
@media(max-width:1279px){
  .nav__menu,.nav__cta{display:none!important}
  .nav__actions{display:flex}
}
@media(max-width:920px){
  .fmt__grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:880px){
  .fmt-nav{gap:8px;margin-top:24px}
  .fmt-nav__chip{padding:10px 14px;font-size:.95rem}
  .fmt-nav__buy{margin-left:0;width:100%;justify-content:center;padding:14px 18px;font-size:1.05rem;margin-top:6px}
  .fmt__head{margin-bottom:24px}
  .fmt__gallery{gap:8px}
  .fmt__info{gap:20px}
  .fmt__min{padding:18px 20px}
  .fmt__min-value{font-size:1.6rem}
}

/* ==========================================================================
   ATACADO (páginas de produto e de item): a partir de 10 peças, formato de
   personalização à escolha, pedido direto no WhatsApp (assets/atacado.js)
   ========================================================================== */
:root{--green:#1DA851;--green-dark:#17883F}
.atacado{background:var(--black);color:var(--white);position:relative;overflow:hidden}
.atacado::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-8deg,transparent,transparent 80px,rgba(255,115,15,.05) 80px,rgba(255,115,15,.05) 100px);pointer-events:none}
.atacado__inner{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.atacado__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2rem,4vw,3.4rem);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;margin:14px 0 18px}
.atacado__title .accent{color:var(--orange)}
.atacado__sub{font-size:1.02rem;line-height:1.6;color:rgba(255,255,255,.66);max-width:540px}
.atacado__sub strong{color:var(--white)}
.atacado__perks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.atacado__perks li{padding:8px 12px;border:1px solid rgba(255,255,255,.18);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.atacado__box{background:var(--white);color:var(--black);padding:28px 26px 26px;border-top:4px solid var(--green)}
.atacado__field{margin-bottom:20px}
.atacado__label{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.atacado__label .opt{margin-left:auto;color:var(--gray-500);letter-spacing:.1em;font-weight:500;text-align:right}
.atacado__formats{display:flex;flex-wrap:wrap;gap:8px}
.atacado__fmt{padding:10px 14px;border:2px solid rgba(0,0,0,.15);background:var(--white);font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em;color:var(--black);transition:all .2s}
.atacado__fmt:hover{border-color:var(--black)}
.atacado__fmt[aria-pressed="true"]{background:var(--black);border-color:var(--black);color:var(--white)}
.atacado__more{display:inline-block;margin-top:12px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--orange);padding-bottom:2px;transition:color .2s}
.atacado__more:hover{color:var(--orange)}
.atacado__qty{display:inline-flex;border:2px solid rgba(0,0,0,.18)}
.atacado__qty button{width:46px;height:46px;font-size:1.3rem;font-weight:700;background:var(--white);transition:background .2s}
.atacado__qty button:hover{background:var(--paper)}
.atacado__qty input{width:84px;text-align:center;border:none;border-left:2px solid rgba(0,0,0,.18);border-right:2px solid rgba(0,0,0,.18);font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.2rem;-moz-appearance:textfield;background:var(--white);color:var(--black)}
.atacado__qty input::-webkit-outer-spin-button,.atacado__qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.atacado__qty input:focus{outline:none;background:var(--paper)}
.btn--green{background:var(--green);color:var(--white);border:2px solid var(--green);width:100%;justify-content:center}
.btn--green:hover{background:var(--green-dark);border-color:var(--green-dark);transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(29,168,81,.6)}
.btn--green svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}
.atacado__note{margin-top:12px;font-size:.8rem;color:var(--gray-500);line-height:1.5;text-align:center}
@media(max-width:920px){
  .atacado__inner{grid-template-columns:1fr;gap:28px}
}
@media(max-width:880px){
  .atacado__box{padding:20px 16px}
  .atacado__fmt{font-size:.95rem;padding:9px 12px}
  .atacado__perks li{font-size:.64rem;padding:7px 10px}
}

/* ==========================================================================
   PÁGINA "NOSSA HISTÓRIA" (fotos da Na Hora / onde surgiu + parceria Lider Sport)
   ========================================================================== */
.story__text{min-height:150px}
.story__p{font-size:1.05rem;line-height:1.65;color:var(--gray-700)}
.story__p+.story__p{margin-top:12px}
.page-section--dark .story__p{color:rgba(255,255,255,.72)}
.story__lead+.story__p{margin-top:0}
.page-section--dark{background:var(--black);color:var(--white)}
.page-section--dark .ph--text{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.05);color:rgba(255,255,255,.6)}
.story__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.story__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;margin:12px 0 18px}
.story__title .accent{color:var(--orange)}
.story__lead{font-size:1.15rem;font-weight:600;line-height:1.5;margin-bottom:18px}
.story__logo{position:relative;width:min(100%,320px);aspect-ratio:3/1;margin-top:22px;background:var(--paper-warm);overflow:hidden}
.story__logo img{width:100%;height:100%;object-fit:contain;display:block}
.story__logo--branco{width:min(100%,260px);aspect-ratio:auto;background:none;margin-top:30px}   /* logo branco sobre o fundo escuro: sem caixa */
.story__logo--branco img{height:auto}
.story__link{display:inline-block;margin-top:18px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--orange);padding-bottom:3px;transition:color .2s}
.story__link:hover{color:var(--orange)}
.story__photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.story__photo{position:relative;aspect-ratio:4/3;background:var(--paper-warm);overflow:hidden}
.story__photo img{width:100%;height:100%;object-fit:cover;display:block}
.story__photos--duas{grid-template-columns:1fr}   /* 2 fotos da Lider: panorâmica em cima, 4:3 embaixo */
.story__photos--duas .story__photo:first-child{aspect-ratio:8/3}
@media(max-width:920px){
  .story__grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:880px){
  .story__lead{font-size:1.02rem}
  .story__photos{gap:8px}
}

/* ==========================================================================
   LOJA: ícones de conta/carrinho no header, banner de cookies, formulários de
   conta, "Minha conta", carrinho, checkout, confirmação e páginas legais
   ========================================================================== */
/* header: conta + carrinho (desktop dentro de .nav__right; mobile em .nav__actions) */
.nav__right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.nav__icon{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px;color:var(--black);transition:color .2s}
.nav__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav__icon:hover{color:var(--orange)}
.nav__icon-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nav__badge{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--orange);color:var(--ink);font-size:.62rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.nav__badge[hidden]{display:none}
.nav__cta-long{display:inline}
@media(max-width:1600px){.nav__cta-long{display:none}.nav__icon-label{display:none}}
.nav__actions .nav__icon{padding:6px}
/* abaixo de 1280px vale o hambúrguer: os ícones de conta/carrinho são os do .nav__actions (sem isso apareciam em dobro) */
@media(max-width:1279px){.nav__right{display:none}}
.drawer__list>li>a.drawer__account,.drawer__list>li>a.drawer__cart{color:var(--orange)}
/* banner de cookies (LGPD) */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:250;background:var(--black);color:var(--white);padding:18px 20px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);border-top:3px solid var(--orange)}
.cookies__inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cookies p{flex:1 1 420px;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.8)}
.cookies p a{color:var(--orange);text-decoration:underline}
.cookies__btns{display:flex;gap:10px;flex-wrap:wrap}
.cookies .btn{padding:12px 18px;font-size:.78rem}
.cookies .btn--outline-dark{color:var(--white);border-color:rgba(255,255,255,.4)}
.cookies .btn--outline-dark:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
body.drawer-open .cookies{display:none}
/* formulários */
.form{display:grid;gap:14px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form__row--3{grid-template-columns:2fr 1fr 1fr}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-500)}
.field input,.field select,.field textarea{font-family:inherit;font-size:1rem;padding:13px 14px;border:2px solid rgba(0,0,0,.14);background:var(--white);color:var(--black);transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange)}
.field small{font-size:.76rem;color:var(--gray-500)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.45;color:var(--gray-700)}
.check input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--orange)}
.check a{text-decoration:underline}
.form-msg{padding:12px 14px;border-left:3px solid var(--orange);background:rgba(255,115,15,.1);font-size:.9rem;line-height:1.5;color:var(--gray-700)}
.form-msg[hidden]{display:none}
.form-msg--error{border-color:#c62828;background:rgba(198,40,40,.08);color:#8e1b1b}
.form-msg--ok{border-color:#1DA851;background:rgba(29,168,81,.1);color:#14602f}
.form .btn{justify-content:center}
.link-btn{background:none;border:none;padding:0;font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--black);border-bottom:2px solid var(--orange);cursor:pointer}
.link-btn:hover{color:var(--orange)}
/* páginas de conta (entrar / cadastro / recuperar): cartão centralizado */
.auth{padding:64px 5vw 84px;background:var(--paper)}
.auth__card{max-width:520px;margin:0 auto;background:var(--white);border:1px solid rgba(0,0,0,.08);padding:36px 34px}
.auth__card--wide{max-width:760px}
.auth__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:2.2rem;line-height:.95;text-transform:uppercase;margin-bottom:8px}
.auth__title .accent{color:var(--orange)}
.auth__sub{color:var(--gray-500);margin-bottom:24px;line-height:1.5}
.auth__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:.88rem}
.auth__links a{border-bottom:2px solid var(--orange);padding-bottom:1px}
.auth__section{margin-top:8px;padding-top:18px;border-top:1px solid rgba(0,0,0,.08)}
.auth__section h3{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.2rem;text-transform:uppercase;margin-bottom:12px}
/* minha conta */
.acct{padding:56px 5vw 84px;background:var(--paper)}
.acct__inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}
.acct__side{background:var(--white);border:1px solid rgba(0,0,0,.08);padding:18px;position:sticky;top:96px}
.acct__hello{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.5rem;text-transform:uppercase;line-height:1;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(0,0,0,.08)}
.acct__hello span{color:var(--orange)}
.acct__tab{display:block;width:100%;text-align:left;padding:11px 12px;font-family:inherit;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-700);border-left:3px solid transparent;transition:all .2s}
.acct__tab:hover{color:var(--orange)}
.acct__tab.is-active{color:var(--black);border-left-color:var(--orange);background:rgba(255,115,15,.06)}
.acct__tab--out{margin-top:10px;color:#8e1b1b}
.acct__pane{background:var(--white);border:1px solid rgba(0,0,0,.08);padding:30px 32px}
.acct__pane[hidden]{display:none}
.acct__pane h2{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:1.9rem;line-height:.95;text-transform:uppercase;margin-bottom:6px}
.acct__pane>p{color:var(--gray-500);margin-bottom:22px;line-height:1.5}
.acct__static{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.acct__static div{display:flex;flex-direction:column;gap:4px}
.acct__static span{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-500)}
.acct__static strong{font-size:1rem}
.acct__empty{color:var(--gray-500);line-height:1.5}
.acct__danger{margin-top:28px;padding-top:22px;border-top:1px solid rgba(0,0,0,.08)}
.acct__danger h3{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.2rem;text-transform:uppercase;color:#8e1b1b;margin-bottom:8px}
.btn--danger{background:#c62828;color:var(--white);border:2px solid #c62828}
.btn--danger:hover{background:#8e1b1b;border-color:#8e1b1b}
.order{border:1px solid rgba(0,0,0,.1);padding:18px 20px;margin-bottom:12px}
.order__head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
.order__id{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.3rem;text-transform:uppercase}
.order__date{font-size:.82rem;color:var(--gray-500)}
.order__right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.order__status{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;background:var(--paper);color:var(--gray-700)}
.order__status--pago,.order__status--entregue{background:rgba(29,168,81,.12);color:#14602f}
.order__status--cancelado{background:rgba(198,40,40,.1);color:#8e1b1b}
.order__status--enviado,.order__status--em_producao{background:rgba(255,115,15,.14);color:#8a3d05}
.order__track{margin-top:10px;font-size:.86rem}
.order__pay{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:.82rem;color:var(--gray-700)}
.order__pay .btn{padding:10px 18px;font-size:.78rem}
.order__more{margin-top:12px;font:inherit;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--orange);padding-bottom:2px}
.order__detail{margin-top:14px;padding-top:14px;border-top:1px dashed rgba(0,0,0,.14);font-size:.9rem}
.order__items{list-style:none;display:grid;gap:10px}
.order__items li{display:flex;gap:12px;align-items:center}
.order__items img{width:56px;height:56px;object-fit:contain;background:var(--paper);border:1px solid rgba(0,0,0,.08)}
.order__items div{display:flex;flex-direction:column;gap:2px}
.order__items span{font-size:.8rem;color:var(--gray-500)}
.order__totals{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--gray-500)}
.order__totals strong{color:var(--black)}
.order__addr{margin-top:8px;font-size:.82rem;color:var(--gray-500)}
/* carrinho */
.cart{padding:56px 5vw 84px;background:var(--paper)}
.cart__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.cart__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:clamp(2rem,4vw,3rem);line-height:.95;text-transform:uppercase;margin-bottom:22px}
.cart__title span{color:var(--orange)}
.cart__item{display:grid;grid-template-columns:88px 1fr auto auto 32px;gap:16px;align-items:center;background:var(--white);border:1px solid rgba(0,0,0,.08);padding:14px 16px;margin-bottom:10px}
.cart__media{width:88px;height:88px;background:var(--paper);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cart__media img{width:100%;height:100%;object-fit:contain}
.cart__noimg{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:2rem;color:rgba(0,0,0,.2)}
.cart__name{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.15rem;text-transform:uppercase;line-height:1.05}
.cart__tag{font-family:var(--font-body);font-style:normal;font-weight:700;font-size:.58rem;letter-spacing:.14em;padding:3px 6px;background:var(--orange);color:var(--ink);vertical-align:middle}
.cart__desc{font-size:.82rem;color:var(--gray-500);margin-top:4px}
.cart__unit{font-size:.8rem;color:var(--gray-500);margin-top:6px}
.cart__qty{display:flex;flex-direction:column;align-items:center;gap:4px}
.cart__qty small{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500)}
.cart__qty .qty__btn{width:38px;height:40px;font-size:1.1rem}
.cart__qty .qty__input{width:56px;font-size:1.05rem}
.cart__line{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.2rem;min-width:100px;text-align:right}
.cart__remove{width:32px;height:32px;font-size:1.3rem;color:var(--gray-500);border:1px solid rgba(0,0,0,.12);background:var(--white);transition:all .2s}
.cart__remove:hover{color:#c62828;border-color:#c62828}
.cart__empty{background:var(--white);border:1px dashed rgba(0,0,0,.2);padding:40px;text-align:center;color:var(--gray-500);line-height:1.6}
.cart__empty[hidden]{display:none}
.cart__summary{background:var(--white);border:1px solid rgba(0,0,0,.08);padding:24px;position:sticky;top:96px}
.cart__summary[hidden]{display:none}
.cart__summary h2{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.4rem;text-transform:uppercase;margin-bottom:14px}
.sum__row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:.92rem}
.sum__row strong{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.3rem}
.sum__note{margin-top:10px;font-size:.78rem;color:var(--gray-500);line-height:1.5}
.coupon{display:flex;gap:8px;margin:16px 0}
.coupon input{flex:1;padding:11px 12px;border:2px solid rgba(0,0,0,.14);font:inherit;background:var(--paper)}
.coupon button{padding:0 14px;border:2px solid rgba(0,0,0,.14);font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--white);color:var(--gray-500)}
.cart__summary .btn{width:100%;justify-content:center;margin-top:8px}
.cart__continue{display:block;text-align:center;margin-top:12px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cart__continue:hover{color:var(--orange)}
.atacado-hint{margin-top:16px;padding:14px;background:var(--black);color:var(--white);font-size:.85rem;line-height:1.5}
.atacado-hint[hidden]{display:none}
.atacado-hint a{color:var(--orange);text-decoration:underline}
/* checkout */
.co{padding:56px 5vw 84px;background:var(--paper)}
.co__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
.co__step{background:var(--white);border:1px solid rgba(0,0,0,.08);padding:26px 28px;margin-bottom:16px}
.co__step h2{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.5rem;text-transform:uppercase;line-height:1;margin-bottom:16px;display:flex;align-items:center;gap:12px}
.co__step h2 .num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--orange);color:var(--ink);font-size:1rem}
.co__step h2 a{margin-left:auto;font-family:var(--font-body);font-style:normal;font-weight:700;font-size:.7rem;letter-spacing:.1em;border-bottom:2px solid var(--orange)}
.pay{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pay label{display:flex;flex-direction:column;gap:4px;padding:16px;border:2px solid rgba(0,0,0,.14);cursor:pointer;transition:border-color .2s}
.pay label:has(input:checked){border-color:var(--orange);background:rgba(255,115,15,.06)}
.pay input{accent-color:var(--orange)}
.pay strong{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.15rem;text-transform:uppercase}
.pay small{font-size:.76rem;color:var(--gray-500)}
.co__side{position:sticky;top:96px}
.co__summary{background:var(--white);border:1px solid rgba(0,0,0,.08);padding:24px}
.co__summary h2{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.4rem;text-transform:uppercase;margin-bottom:14px}
.co__item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:.88rem}
.frete-opts{display:grid;gap:8px;margin-top:12px}
.frete-opt{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px 14px;align-items:center;padding:12px 14px;border:1px solid rgba(0,0,0,.14);cursor:pointer;font-size:.9rem;background:#fff}
.frete-opt:has(input:checked){border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.frete-opt input{accent-color:var(--orange)}
.frete-opt__name{font-weight:700}
.frete-opt__prazo{font-size:.8rem;color:var(--gray-500);white-space:nowrap}
@media(max-width:600px){.frete-opt{grid-template-columns:auto 1fr auto}.frete-opt__prazo{grid-column:2;font-size:.76rem}}
.co__item .co__media{width:48px;height:48px;background:var(--paper);overflow:hidden}
.co__item .co__media img{width:100%;height:100%;object-fit:contain}
.co__item div{display:flex;flex-direction:column;gap:2px;min-width:0}
.co__item span:last-child{font-family:var(--font-display);font-style:italic;font-weight:800}
.co__item div span{font-size:.78rem;color:var(--gray-500)}
.co__summary .btn{width:100%;justify-content:center;margin-top:14px}
.co__blocked{margin-top:12px}
.co__help{margin-top:14px;background:var(--white);border:1px solid rgba(0,0,0,.08);padding:18px 20px;font-size:.86rem;line-height:1.5;color:var(--gray-700)}
.co__help strong{display:block;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.1rem;text-transform:uppercase;margin-bottom:4px}
.co__help a{font-weight:700;border-bottom:2px solid var(--orange)}
/* confirmação */
.ok{padding:64px 5vw 84px;background:var(--paper)}
.ok__card{max-width:720px;margin:0 auto;background:var(--white);border:1px solid rgba(0,0,0,.08);padding:36px 34px;border-top:4px solid #1DA851}
.ok__title{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:2.4rem;line-height:.95;text-transform:uppercase;margin-bottom:8px}
.ok__title span{color:var(--orange)}
.ok__pay{margin:18px 0}
.ok__pay .btn{margin:8px 0}
.ok__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0;padding:16px 0;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}
.ok__grid div{display:flex;flex-direction:column;gap:3px}
.ok__grid span{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-500)}
.ok__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
/* páginas legais */
.legal{padding:56px 5vw 84px;background:var(--white)}
.legal__inner{max-width:820px;margin:0 auto;line-height:1.7;color:var(--gray-700)}
.legal__inner h2{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:1.6rem;text-transform:uppercase;color:var(--black);margin:34px 0 10px}
.legal__inner h3{font-size:1.05rem;font-weight:700;color:var(--black);margin:22px 0 6px}
.legal__inner p,.legal__inner li{margin-bottom:10px}
.legal__inner ul{margin-left:22px}
.legal__inner table{width:100%;border-collapse:collapse;font-size:.9rem;margin:12px 0}
.legal__inner th,.legal__inner td{border:1px solid rgba(0,0,0,.12);padding:8px 10px;text-align:left;vertical-align:top}
.legal__inner th{background:var(--paper)}
.legal__meta{font-size:.82rem;color:var(--gray-500);margin-bottom:24px}
.legal__draft{padding:14px 16px;border:2px dashed rgba(198,40,40,.5);background:rgba(198,40,40,.05);color:#8e1b1b;font-size:.88rem;margin-bottom:24px}
/* responsivo */
@media(max-width:1024px){
  .acct__inner{grid-template-columns:1fr}
  .acct__side{position:static;display:flex;flex-wrap:wrap;gap:6px}
  .acct__hello{width:100%}
  .acct__tab{width:auto;border-left:none;border-bottom:3px solid transparent}
  .acct__tab.is-active{border-bottom-color:var(--orange)}
  .cart__inner,.co__inner{grid-template-columns:1fr}
  .cart__summary,.co__side{position:static}
}
@media(max-width:880px){
  .auth{padding:36px 6vw 56px}
  .auth__card{padding:26px 20px}
  .form__row,.form__row--3,.acct__static,.ok__grid{grid-template-columns:1fr}
  .acct,.cart,.co,.ok,.legal{padding:36px 6vw 56px}
  .acct__pane{padding:22px 18px}
  .cart__item{grid-template-columns:72px 1fr 32px;grid-template-areas:"media info remove" "media qty line"}
  .cart__media{grid-area:media;width:72px;height:72px}
  .cart__info{grid-area:info}
  .cart__qty{grid-area:qty;align-items:flex-start}
  .cart__line{grid-area:line;text-align:right;align-self:center}
  .cart__remove{grid-area:remove}
  .co__step{padding:20px 16px}
  .pay{grid-template-columns:1fr}
  .cookies{left:8px;right:8px;bottom:8px;padding:14px}
}

/* ============================================================
   SEÇÃO "TINTA" — sublimação em WebGL (assets/tinta.js), depois do catálogo de produtos.
   O canvas ocupa a seção inteira como fundo; os textos ficam por cima, sem capturar o mouse.
   ============================================================ */
.tinta{position:relative;height:calc(100vh - 86px);height:calc(100svh - 86px);min-height:540px;max-height:1040px;overflow:hidden;background:#f3f1ec;isolation:isolate;touch-action:pan-y;cursor:crosshair;-webkit-user-select:none;user-select:none}
.tinta__canvas,.tinta__poster,.tinta__video{position:absolute;inset:0;width:100%;height:100%;display:block}
.tinta__canvas{opacity:0;transition:opacity 1s var(--ease-out)}
.tinta.is-live .tinta__canvas{opacity:1}
.tinta__poster{background:#f3f1ec center/cover no-repeat;opacity:0;transition:opacity .8s var(--ease-out)}
.tinta.is-fallback .tinta__poster{background-image:url(./tinta-poster.webp);opacity:1}
.tinta.is-fallback .tinta__canvas{display:none}
.tinta__video{object-fit:cover;opacity:0;transition:opacity .8s var(--ease-out)}
.tinta.has-video .tinta__video{opacity:1}
.tinta__copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(26px,4.4vh,46px);padding:0 5vw;text-align:center;pointer-events:none}
.tinta__stack{display:grid;place-items:center;width:100%}
.tinta__line{grid-area:1/1;margin:0;max-width:min(92vw,28ch);font-family:var(--font-display);font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(2rem,5vw,4.5rem);line-height:.96;letter-spacing:-.005em;color:var(--white);text-shadow:0 2px 3px rgba(0,0,0,.30),0 10px 40px rgba(0,0,0,.36);visibility:hidden;pointer-events:none}
.tinta__line--dark{color:var(--black);text-shadow:0 1px 0 rgba(255,255,255,.5)}
.tinta__line--1{visibility:visible}
.tinta__w{display:inline-block;will-change:transform,opacity}
.tinta__br-m{display:none}
.tinta__cta{pointer-events:auto;box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}
.tinta.is-live .tinta__actions{visibility:hidden}
.tinta__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* sem WebGL: fica a frase final sobre o pôster/vídeo */
.tinta.is-fallback .tinta__line--1{visibility:hidden}
.tinta.is-fallback .tinta__line--3{visibility:visible}
.tinta__hint{position:absolute;left:calc(5vw + 50px);bottom:23px;z-index:2;margin:0;padding:8px 14px;border-radius:999px;background:rgba(10,10,10,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--white);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;line-height:1;pointer-events:none;visibility:hidden}
.tinta__hint-m{display:none}
.tinta__pause{position:absolute;left:5vw;bottom:18px;z-index:3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(10,10,10,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--white);cursor:pointer;opacity:.75;transition:opacity .2s,transform .25s var(--ease-out),background .2s}
.tinta__pause:hover,.tinta__pause:focus-visible{opacity:1;transform:scale(1.06);background:rgba(10,10,10,.75)}
.tinta__pause:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.tinta__pause svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tinta__pause .i-play{display:none;fill:currentColor;stroke-width:1.5}
.tinta__pause[aria-pressed="true"] .i-pause{display:none}
.tinta__pause[aria-pressed="true"] .i-play{display:block}
.tinta:not(.is-live) .tinta__pause,.tinta:not(.is-live) .tinta__hint{display:none}
@media(max-width:880px){
  .tinta{height:80vh;height:80svh;min-height:460px;max-height:760px;cursor:default}
  .tinta__line{font-size:clamp(2.1rem,10.5vw,3.4rem);max-width:12ch}
  .tinta__line--1{max-width:12ch}
  .tinta__br-m{display:inline}
  .tinta__hint{left:50%;transform:translateX(-50%);bottom:18px;white-space:nowrap}
  .tinta__hint-d{display:none}.tinta__hint-m{display:inline}
  .tinta__pause{left:14px;bottom:12px}
}

/* ============================================================
   2026-09-21 — selo "+10 peças atacado" nos cards, 4º pilar (qualidade constante), "Como funciona" em dois fluxos,
   rodapé com páginas legais + CNPJ, checkout (prazos separados, condições de pagamento, aceite dos termos)
   ============================================================ */
/* selo de atacado: canto inferior esquerdo da área cinza do card, acima do título. O valor (.pc-flag__price) entra pelo assets/precos.js */
.pc-flag{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:7px 11px;background:var(--ink);color:var(--white);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1;white-space:nowrap}
.pc-flag b{color:var(--orange);font-weight:800}
.pc-flag__price{margin-left:3px;padding-left:9px;border-left:1px solid rgba(255,255,255,.3);color:var(--orange);font-size:.8rem;letter-spacing:.03em}
.pc-flag__price[hidden]{display:none}

/* 4º pilar: ocupa a linha inteira, embaixo dos três — mesmo cartão, em duas colunas */
.pillar--wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px 48px;align-items:center;padding:36px 40px}
.pillar--wide .pillar__head{display:flex;align-items:center;gap:22px;position:relative;z-index:1}
.pillar--wide .pillar__icon{margin-bottom:0;flex-shrink:0}
.pillar--wide .pillar__title{margin-bottom:0}
.pillar--wide .pillar__text{font-size:1.02rem;padding-right:70px}
.pillar--wide .pillar__text strong{color:var(--black);font-weight:700}
.pillar--wide .pillar__num{top:50%;transform:translateY(-50%)}

/* COMO FUNCIONA: dois fluxos na mesma seção (site/varejo em cima, WhatsApp/atacado embaixo) */
.process__flow{max-width:1300px;margin:64px auto 0;position:relative}
.process__flow+.process__flow{margin-top:84px;padding-top:70px;border-top:1px solid rgba(255,255,255,.1)}
.process__flow-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 18px}
.process__flow-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;background:var(--orange);color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;line-height:1}
.process__flow-tag svg{width:14px;height:14px;fill:currentColor}
.process__flow--wpp .process__flow-tag{background:var(--green);color:var(--white)}
.process__flow-title{font-family:var(--font-display);font-style:italic;font-weight:900;font-size:2rem;text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.process__flow-title span{color:rgba(255,255,255,.5);font-weight:700}
.process__flow-sub{flex-basis:100%;color:rgba(255,255,255,.6);font-size:.98rem;line-height:1.55;max-width:720px}
.process__flow .process__steps{margin-top:44px}
.process__flow-cta{display:flex;justify-content:center;margin-top:40px}
.process__flow-cta .btn--outline-light{border:2px solid rgba(255,255,255,.35);color:var(--white)}
.process__flow-cta .btn--outline-light:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
.process__flow--wpp .step__num{border-color:var(--green);color:var(--green)}
.process__flow--wpp .step:hover .step__num{background:var(--green);color:var(--white)}
.process__flow--wpp .process__line::after{background:var(--green)}

/* rodapé: CNPJ + páginas legais */
.footer__cnpj{color:rgba(255,255,255,.85)!important;font-weight:600}
.footer__legal{max-width:1300px;margin:16px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.8rem}
.footer__legal a,.footer__cookies{color:rgba(255,255,255,.55);transition:color .2s;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.2)}
.footer__legal a:hover,.footer__cookies:hover{color:var(--orange)}
.footer__cookies{background:none;border:0;padding:0;font:inherit;cursor:pointer}

/* checkout: condições de pagamento, dois prazos e aceite */
.pay__terms{margin:14px 0 0 18px;font-size:.84rem;line-height:1.5;color:var(--gray-700)}
.pay__terms li{margin-bottom:6px}
.co__prazos{display:grid;gap:10px;margin:14px 0 4px}
.co__prazos>div{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px;background:var(--paper);border-left:3px solid var(--orange);font-size:.86rem}
.co__prazos span{color:var(--gray-500)}
.co__prazos strong{text-align:right;font-weight:700}
.co__prazos small{grid-column:1/-1;font-size:.74rem;color:var(--gray-500);line-height:1.4}
.co__aceite{margin:14px 0 4px;font-size:.84rem}
.co__aceite #coAceitePers{display:inline}
.co__aceite #coAceitePers[hidden]{display:none}

/* páginas legais: índice, destaque e nota */
.legal__toc{margin:0 0 26px;padding:16px 18px;background:var(--paper);border-left:3px solid var(--orange);font-size:.9rem}
.legal__toc strong{display:block;margin-bottom:6px;color:var(--black)}
.legal__toc ol{margin:0 0 0 20px;columns:2;column-gap:28px}
.legal__toc li{margin-bottom:4px}
.legal__box{margin:16px 0;padding:16px 18px;border:2px solid var(--orange);background:rgba(255,115,15,.06);color:var(--gray-700)}
.legal__box strong{color:var(--black)}
.legal__inner a{text-decoration:underline;text-underline-offset:3px}
.legal__inner td code,.legal__inner li code{font-size:.84em;background:var(--paper);padding:1px 5px}

@media(max-width:880px){
  .pillar--wide{display:block;padding:28px 24px 24px}
  .pillar--wide .pillar__head{display:block}
  .pillar--wide .pillar__icon{margin-bottom:20px}
  .pillar--wide .pillar__title{margin-bottom:12px}
  .pillar--wide .pillar__text{padding-right:0;font-size:.98rem}
  .pillar--wide .pillar__num{top:18px;transform:none}
  .process__flow{margin-top:40px}
  .process__flow+.process__flow{margin-top:52px;padding-top:44px}
  .process__flow-title{font-size:1.6rem}
  .process__flow .process__steps{margin-top:30px}
  .process__flow-cta{justify-content:flex-start;margin-top:28px}
  .legal__toc ol{columns:1}
  .pc-flag{font-size:.62rem;padding:6px 9px;left:10px;bottom:10px}
}

.legal__inner ol{margin-left:22px}
.legal__toc ol{margin-left:20px}

/* 404: atalhos */
.error-links{margin-top:22px;font-size:.9rem;color:var(--gray-500)}
.error-links a{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.error-links a:hover{color:var(--orange)}

/* ---------- checkout: pagamento no site (Mercado Pago Checkout Bricks) — 2026-09-22 ---------- */
#checkoutForm.is-locked .field input,#checkoutForm.is-locked .field textarea{background:var(--paper);color:var(--gray-500);border-color:rgba(0,0,0,.08)}
#checkoutForm.is-locked .check{color:var(--gray-500)}
#coPagamento{display:grid;gap:14px}
#coPagamento[hidden],.pag-pix[hidden]{display:none}
#coPagamento .form-msg{margin:0}
.pag-loading{font-size:.86rem;color:var(--gray-500);padding:10px 0}
#paymentBrick_container,#statusScreenBrick_container{min-height:0}
.pag-pix{border:1px dashed rgba(0,0,0,.2);padding:14px 16px;font-size:.86rem;color:var(--gray-700);display:grid;gap:10px}
.pag-pix code{display:block;word-break:break-all;font-size:.78rem;background:var(--paper);padding:10px 12px;border:1px solid rgba(0,0,0,.08)}
.pag-pix .btn{justify-self:start;padding:10px 16px;font-size:.74rem}
.pag-actions{display:flex;gap:10px;flex-wrap:wrap}
.pag-actions .btn{padding:12px 18px;font-size:.76rem}
.pag-actions .btn[hidden]{display:none}
/* status novos (conta e painel) */
.order__status--aguardando_pagamento{background:var(--paper);color:var(--gray-700)}
.order__status--estornado,.order__status--em_disputa{background:rgba(198,40,40,.1);color:#8e1b1b}
.adm-status--aguardando_pagamento{background:var(--paper);color:var(--gray-700)}
.adm-status--estornado,.adm-status--em_disputa{background:rgba(198,40,40,.12);color:#8e1b1b}
.adm-list{list-style:none;display:grid;gap:6px;font-size:.84rem;line-height:1.45}
.adm-list li{padding:8px 10px;background:var(--paper);border-left:3px solid rgba(0,0,0,.12)}
.adm-list li.adm-warn{border-left-color:#c62828;background:rgba(198,40,40,.06)}
.adm-actions label input[type=text]{min-width:220px}

/* ---------- pré-lançamento: loja online desligada (config LOJA_ATIVA=false) — 2026-09-25 ----------
   .loja-only some até a API dizer loja=true (site.js põe html.loja-on); .loja-off-only é o aviso "em breve" */
html:not(.loja-on) .loja-only{display:none!important}
html.loja-on .loja-off-only{display:none!important}
.loja-soon{padding:16px 18px;border:2px dashed rgba(0,0,0,.18);background:var(--white);font-size:.88rem;line-height:1.5;color:var(--gray-700)}
.loja-soon strong{display:block;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:1.15rem;text-transform:uppercase;color:var(--black);margin-bottom:4px}
.choice.loja-soon{cursor:default;display:flex;flex-direction:column;justify-content:center}
.ed__foot .loja-soon{margin-bottom:10px}

/* ---------- páginas-pilar (guias) — 2026-09-25: tabelas roláveis no celular, FAQ do guia, link pro guia nas páginas de tecido ---------- */
.tabela{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0}
.legal__inner .tabela table{margin:0}
.tabela--larga table{min-width:760px}
.pilar-faq{margin-top:38px;padding-top:4px;border-top:1px solid rgba(0,0,0,.1)}
.pilar-faq h3{margin-top:20px}
.page-cta__sub a{text-decoration:underline;text-underline-offset:3px}
.fabric-guia{margin-top:24px;font-size:.92rem}
.fabric-guia a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
a.audience__pill{color:inherit;text-decoration:none}

/* ================= CELULAR — revisão de 2026-09-28 (_testes/mobile: auditar.mjs + fluxos.mjs) =================
   Só vale em telas até 880 px (ou de toque). O desktop não muda. */
/* cabeçalho: logo + conta + carrinho + Orçamento + menu passavam de 390 px com a loja aberta → a página rolava
   pro lado, o celular reduzia o zoom e o toque no menu errava o alvo */
@media(max-width:880px){
  .nav,.nav.scrolled{padding-left:16px;padding-right:16px;gap:10px}
  .nav__actions{gap:6px}
  .nav__actions .nav__icon{padding:9px}
}
@media(max-width:430px){#navAccountMobile{display:none!important}}
@media(max-width:380px){.nav__logo img{height:34px!important;min-width:0!important}.nav__cta-top{padding:9px 11px}}
@media(max-width:340px){.nav__logo img{height:30px!important}.nav__actions{gap:4px}.nav__cta-top{padding:8px 9px;font-size:.66rem}}
/* tabelas das páginas legais: rolam dentro da própria caixa (a de cookies tem 4 colunas e nomes técnicos) */
.tabela--media table{min-width:560px}
@media(max-width:880px){
  /* carrinho: o preço da linha caía na coluna de 32 px do botão de remover e saía da caixa */
  .cart__item{grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"media info remove" "qty qty line";row-gap:12px}
  .cart__line{min-width:0;align-self:end}
  .cart__remove{justify-self:end}
  /* botão flutuante do WhatsApp: some nas telas de compra, conta e login, onde cobria o botão principal e os campos */
  /* (só com a loja aberta: fechada, essas telas mostram "em breve" e o WhatsApp é o caminho de contato) */
  html.loja-on body:has(.pz-step--editor:not([hidden])) .float-wpp,html.loja-on body:has(.cart__inner) .float-wpp,html.loja-on body:has(.co__inner) .float-wpp,
  html.loja-on body:has(.acct__inner) .float-wpp,html.loja-on body:has(.auth) .float-wpp,html.loja-on body:has(.ok) .float-wpp{display:none}
  /* rodapé: links com área de toque maior (eram 18 px de altura) */
  .footer__col a{display:inline-block;padding:5px 0}
  .footer__legal a{display:inline-block;padding:6px 0}
}
@media(max-width:880px){
  /* carrinho/checkout em 320 px: a coluna única da grade não encolhia abaixo do campo de cupom (input com largura
     mínima própria) e a página passava da tela */
  .cart__inner,.co__inner{grid-template-columns:minmax(0,1fr)}
  .coupon input{min-width:0}
}
@media(max-width:880px){
  /* alvos de toque: botão Orçamento do topo, links "conhecer o tecido"/"conheça os formatos" e selo de atacado legível */
  .nav__cta-top{min-height:40px;display:inline-flex;align-items:center}
  .pc-flag{font-size:.7rem}
}
@media(pointer:coarse){.check{padding:6px 0}}
@media(pointer:coarse){
  /* links sublinhados curtos: área de toque invisível de ~44 px sem afastar o sublinhado do texto */
  .atacado__more,.item__fabric{position:relative}
  .atacado__more::after,.item__fabric::after{content:'';position:absolute;left:0;right:0;top:-10px;bottom:-12px}
}

/* ---------- banners da home no celular — 2026-10-07 ----------
   As artes são horizontais (8:3). A moldura vertical 4:5 do celular mostrava só 30% de cada uma, ampliada: o texto
   sumia. Agora o banner aparece INTEIRO, na proporção da arte, e o botão fica numa faixa logo abaixo (sem cobrir a arte).
   Quando existirem artes verticais feitas pro celular (1080×1350), dá pra voltar à moldura alta: ver o comentário de
   cada banner no index.html (<source media="(max-width:880px)" …>). */
@media(max-width:880px){
  .slider{background:var(--black)}
  .slide{aspect-ratio:auto;min-height:0;max-height:none;display:flex;flex-direction:column;background:var(--black)}
  .slide__media{position:relative;inset:auto;flex:0 0 auto;width:100%;height:auto;aspect-ratio:1920/720}
  .slide__media img{object-position:50% 50%!important}
  .slide__content,.slide--cta-right .slide__content{position:static;transform:none;left:auto;right:auto;bottom:auto;display:flex;padding:12px 16px 2px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;white-space:normal}
  .slide__cta{width:100%;justify-content:center;padding:14px 20px;font-size:1.15rem}
  .slider__dots{position:static;transform:none;width:max-content;margin:12px auto 14px;padding:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .slider__arrow{top:calc(100vw * .1875)}
}
@media(max-width:600px){.slider__arrow{display:none}}

/* ---------- fotos reais de produto (2026-10-16, assets/produtos/fotos/, _gerador/fotos-produto.py) ----------
   as fotos são 4:5; quando o card corta (modelo quadrado, card 4:3 no celular) o enquadramento fica no rosto/peito */
.model-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-out)}
.model-card:hover .model-card__media img{transform:scale(1.04)}
.model-card__media img,.product-card__media img[srcset*="/fotos/"],.gallery-grid--fotos .gallery-grid__item img{object-position:50% 22%}
.gallery-grid--fotos .gallery-grid__item{display:block}
.gallery-grid--fotos .gallery-grid__item:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
/* preço ainda não definido: o elemento vem com [hidden], mas o display:inline-block da etiqueta vencia e aparecia um
   retângulo laranja vazio no topo das páginas de peça (2026-10-16) */
[data-preco][hidden],[data-preco-produto][hidden],[data-atacado][hidden]{display:none!important}
/* banner 5 (gola polo, 2026-10-16): a arte tem ícones logo acima do canto do botão → no desktop o botão desce */
@media(min-width:881px){.slide--cta-baixo .slide__content{bottom:clamp(12px,1.6vw,30px)}}
/* botão dos banners no desktop: proporcional à tela (em 1920 px fica igual; em 1024 px cobria os ícones das artes) */
@media(min-width:881px){.slide__cta{padding:clamp(10px,.95vw,18px) clamp(20px,2vw,38px);font-size:clamp(1rem,.55rem + .75vw,1.4rem)}}
