:root{--bg:#f6f1e9;--surface:#fffdf9;--surface2:rgba(0,0,0,.035);--text:#2e2924;--muted:#7d7367;--accent:#9a7b55;--accent2:#c8ad86;--on-accent:#fff;--line:rgba(0,0,0,.08);--side:#3b342c;--side-text:#efe6d8;--b1:#ece1cf;--b2:#f4ece0;--b3:#e2d4bd;--r:4px;--side-w:272px;--head:68px;
--serif:'Cormorant Garamond','Cormorant',Georgia,'Times New Roman',serif;--sans:'Jost','Helvetica Neue',Arial,sans-serif;
--linen:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M0 0h6v1H0zM0 3h6v1H0z' fill='%23fff' fill-opacity='.05'/%3E%3Cpath d='M0 0v6h1V0zM3 0v6h1V0z' fill='%23000' fill-opacity='.05'/%3E%3C/svg%3E");
--stitch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='80'%3E%3Cpath d='M0 40 Q40 10 80 40 T160 40' fill='none' stroke='%23000' stroke-width='1.4' stroke-dasharray='7 6'/%3E%3C/svg%3E");
font-family:var(--sans)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;font-weight:400;letter-spacing:.01em;min-height:100vh;transition:background .4s,color .4s;overflow-x:hidden}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:500;letter-spacing:.01em;margin:0 0 .4em;text-wrap:balance;line-height:1.15}
h3{font-size:1.35rem}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:500}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%;display:block}
.muted{color:var(--muted)}.small{font-size:.85em}.hide{display:none!important}

/* Fundo animado (suave, atrás de tudo) */
.bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--bg)}
.bgfx i{position:absolute;width:55vmax;height:55vmax;border-radius:50%;filter:blur(70px);opacity:.55}
.bgfx i:nth-child(1){background:var(--b1);top:-20vmax;left:-10vmax}
.bgfx i:nth-child(2){background:var(--b2);bottom:-25vmax;right:-15vmax}
.bgfx i:nth-child(3){background:var(--b3);top:30%;left:40%;width:35vmax;height:35vmax}
[data-anim=drift] .bgfx i{animation:drift 26s ease-in-out infinite alternate}
[data-anim=drift] .bgfx i:nth-child(2){animation-duration:32s;animation-direction:alternate-reverse}
[data-anim=aurora] .bgfx i{animation:aurora 18s ease-in-out infinite alternate;opacity:.7}
[data-anim=aurora] .bgfx i:nth-child(3){animation-duration:24s}
[data-anim=float] .bgfx i{animation:float 20s ease-in-out infinite}
[data-anim=float] .bgfx i:nth-child(2){animation-delay:-7s}[data-anim=float] .bgfx i:nth-child(3){animation-delay:-13s}
[data-anim=wave] .bgfx i{animation:wave 16s ease-in-out infinite alternate}
[data-anim=wave] .bgfx i:nth-child(2){animation-duration:21s}
[data-anim=shimmer] .bgfx::after{content:"";position:absolute;inset:-50%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);animation:shimmer 14s linear infinite}
[data-anim=shimmer] .bgfx i{animation:drift 30s ease-in-out infinite alternate}
[data-anim=threads] .bgfx::after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(115deg,transparent 0 46px,var(--b3) 46px 47px);opacity:.55;animation:threads 60s linear infinite}
[data-anim=threads] .bgfx i{animation:drift 34s ease-in-out infinite alternate}
[data-anim=stitch] .bgfx::after{content:"";position:absolute;inset:-10%;background:var(--accent2);opacity:.16;-webkit-mask:var(--stitch) 0 0/320px 160px;mask:var(--stitch) 0 0/320px 160px;animation:stitch 40s linear infinite}
[data-anim=stitch] .bgfx i{animation:float 24s ease-in-out infinite}
@keyframes threads{to{transform:translateX(94px)}}
@keyframes stitch{to{-webkit-mask-position:320px 160px;mask-position:320px 160px}}
@keyframes drift{to{transform:translate(12vw,8vh) scale(1.15)}}
@keyframes aurora{0%{transform:translate(0,0) rotate(0) scale(1)}50%{transform:translate(18vw,6vh) rotate(40deg) scale(1.25)}100%{transform:translate(-8vw,14vh) rotate(-20deg) scale(.95)}}
@keyframes float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8vh) scale(1.1)}}
@keyframes wave{to{transform:translate(-14vw,-6vh) scale(1.2) skewX(8deg)}}
@keyframes shimmer{from{transform:translateX(-30%)}to{transform:translateX(30%)}}
@media (prefers-reduced-motion:reduce){.bgfx i,.bgfx::after{animation:none!important}}

/* Cabeçalho */
.top{position:sticky;top:0;z-index:40;height:var(--head);display:flex;align-items:center;gap:12px;padding:0 18px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.55rem;font-weight:500;white-space:nowrap;letter-spacing:.04em}
.brand .logo{width:36px;height:36px;color:var(--accent);flex:none}
.brand small{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:-2px}
.search{flex:1;max-width:520px;margin:0 auto;position:relative}
.search input{width:100%;height:42px;border-radius:2px;letter-spacing:.02em;border:1px solid var(--line);background:var(--surface2);padding:0 16px 0 40px;outline:none}
.search input:focus{border-color:var(--accent);background:var(--surface)}
.search svg{position:absolute;left:14px;top:12px;width:18px;height:18px;color:var(--muted)}
.iconbtn{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;font-size:1.15rem;flex:none}
.iconbtn:hover{border-color:var(--line);background:var(--surface2)}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:.72rem;font-weight:700;display:grid;place-items:center;padding:0 5px}
.menu-btn{display:none}

/* Layout */
.layout{display:flex;min-height:calc(100vh - var(--head))}
.side{width:var(--side-w);flex:none;position:sticky;top:var(--head);height:calc(100vh - var(--head));overflow-y:auto;background:var(--side) var(--linen);color:var(--side-text);scrollbar-width:thin;transition:background .4s,color .4s}
.side::after{content:"";position:absolute;top:0;bottom:0;right:7px;border-right:1.5px dashed color-mix(in srgb,var(--side-text) 30%,transparent);pointer-events:none}
.side>*{position:relative}
.side-inner{padding:22px 18px 34px}
.side h4{font-family:var(--sans);font-size:.66rem;font-weight:500;text-transform:uppercase;letter-spacing:.28em;opacity:.6;margin:22px 10px 8px}
.side a.nav,.side button.nav{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:2px;border:0;background:none;color:inherit;cursor:pointer;text-align:left;font-size:.93rem;letter-spacing:.02em;transition:.2s}
.side .nav .ic{width:17px;height:17px;opacity:.75}
.side .nav:hover{background:color-mix(in srgb,var(--side-text) 8%,transparent);padding-left:14px}
.side .nav.on{background:color-mix(in srgb,var(--side-text) 12%,transparent);box-shadow:inset 2px 0 0 var(--accent2)}
.side .nav .ct{margin-left:auto;font-size:.72rem;opacity:.55;font-variant-numeric:tabular-nums}
.side .swatches{display:flex;flex-wrap:wrap;gap:8px;padding:0 10px}
.sw{width:22px;height:22px;border-radius:50%;border:1px solid color-mix(in srgb,var(--side-text) 40%,transparent);cursor:pointer}
.sw.on{outline:1.5px solid var(--accent2);outline-offset:3px}
.side select,.side input{width:100%;padding:8px 10px;border-radius:2px;border:1px solid color-mix(in srgb,var(--side-text) 25%,transparent);background:color-mix(in srgb,var(--side-text) 6%,transparent);color:inherit}
.side select option{color:#000}
.side .row{padding:0 10px;display:flex;gap:8px}
.chip-dark{display:inline-block;margin:3px;padding:4px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--side-text) 30%,transparent);font-size:.78rem;cursor:pointer;background:none;color:inherit;letter-spacing:.03em}
.chip-dark.on{background:var(--side-text);color:var(--side);border-color:transparent}
.side-note{margin:26px 10px 0;padding-top:16px;border-top:1px dashed color-mix(in srgb,var(--side-text) 25%,transparent);font-family:var(--serif);font-style:italic;font-size:1.05rem;opacity:.8}
main{flex:1;min-width:0;padding:22px clamp(14px,3vw,34px) 90px}
.overlay{display:none}

/* Componentes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;border-radius:2px;border:1px solid transparent;background:var(--text);color:var(--bg);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;cursor:pointer;transition:transform .15s,filter .2s;white-space:nowrap}
.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.97)}
.btn.ghost{background:var(--surface);color:var(--text);border-color:var(--line)}
.btn.sm{height:34px;padding:0 14px;font-size:.68rem;letter-spacing:.12em}
.btn.gold{background:var(--accent);color:var(--on-accent)}
.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.danger{background:#c0392b;color:#fff}.btn.ok{background:#1e8e5a;color:#fff}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.pad{padding:18px}
.section{margin:56px 0}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:14px}
.sec-head h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0}
.sec-head a.more{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid currentColor;padding-bottom:2px}
.tag{display:inline-block;font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:4px 9px;border-radius:1px;background:var(--surface);color:var(--text)}
.tag.soft{background:var(--surface2);color:var(--text);font-weight:600}
.tag.sale{background:var(--text);color:var(--bg)}
input.f,select.f,textarea.f{width:100%;padding:11px 12px;border-radius:2px;border:1px solid var(--line);background:var(--surface);outline:none;color:var(--text)}
input.f:focus,select.f:focus,textarea.f:focus{border-color:var(--accent)}
label.l{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin:10px 0 4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}

/* Hero / banners */
.hero{position:relative;border-radius:2px;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;min-height:420px;background:var(--side) var(--linen);color:var(--side-text)}
.hero .copy{padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative;z-index:1}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;font-weight:400;margin:10px 0 12px}
.hero h1 em{font-style:italic;color:var(--accent2)}
.hero p{max-width:440px;opacity:.82;margin:0 0 18px}
.hero .eyebrow{color:var(--accent2)}
.hero .btn{background:var(--side-text);color:var(--side)}
.hero .btn.line{background:transparent;color:var(--side-text);border-color:color-mix(in srgb,var(--side-text) 45%,transparent)}
.hero .art{position:relative;overflow:hidden}
.hero .art::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 60% 40%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 65%)}
.hero .art .stack{position:absolute;inset:8% 10% 18%;}
.hero .art img{position:absolute;width:52%;aspect-ratio:5/6;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.35);border:6px solid var(--surface);animation:sway 9s ease-in-out infinite alternate}
.hero .art img:nth-child(1){left:2%;top:10%;transform:rotate(-6deg)}
.hero .art img:nth-child(2){right:2%;top:0;transform:rotate(5deg);animation-delay:-3s}
.hero .art img:nth-child(3){left:26%;top:34%;transform:rotate(-1deg);animation-delay:-6s;z-index:2}
@keyframes sway{to{translate:0 -10px}}
.tape{position:absolute;left:0;right:0;bottom:0;height:34px;background:#e9cf7c;color:#3a2f12;z-index:3;font-size:.6rem;font-weight:500;overflow:hidden;
background-image:repeating-linear-gradient(90deg,#3a2f12 0 1px,transparent 1px 10px),repeating-linear-gradient(90deg,#3a2f12 0 1px,transparent 1px 50px);background-size:100% 8px,100% 15px;background-repeat:repeat-x;background-position:0 0,0 0}
.tape span{position:absolute;top:16px;transform:translateX(-50%);font-variant-numeric:tabular-nums}
.promos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;margin-top:1px;background:var(--line);border:1px solid var(--line)}
.promo{padding:22px 22px;background:var(--surface);position:relative}
.promo b{font-family:var(--serif);font-size:1.4rem;font-weight:500;display:block}
.promo .small{color:var(--muted)}
.promo .code{display:inline-block;margin-top:10px;padding:5px 12px;border:1px dashed var(--accent);color:var(--accent);font-size:.75rem;letter-spacing:.2em;cursor:pointer}
.marquee{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding:12px 0;margin:28px 0 0;font-family:var(--serif);font-size:1.25rem;font-style:italic;color:var(--muted)}
.marquee div{display:inline-block;animation:marq 40s linear infinite}
.marquee span{margin:0 28px}.marquee span::before{content:"✦";margin-right:28px;font-style:normal;color:var(--accent);font-size:.8rem}
@keyframes marq{to{transform:translateX(-50%)}}
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:44px 0}
.perk{display:flex;gap:14px;align-items:flex-start}.perk .ic{width:28px;height:28px;color:var(--accent);flex:none;stroke-width:1.2}
.perk b{display:block;font-weight:500;font-size:.92rem}.perk span{font-size:.82rem;color:var(--muted)}
.catrow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.catcard{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--surface2);display:flex;align-items:flex-end;cursor:pointer}
.catcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.catcard:hover img{transform:scale(1.06)}
.catcard b{position:relative;margin:12px;padding:6px 12px;background:var(--surface);font-family:var(--serif);font-weight:500;font-size:1.15rem}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding:clamp(24px,4vw,48px);background:var(--surface);border:1px solid var(--line)}
/* Produtos */
.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:28px 18px}
.prod{position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;background:transparent;border:0}
.prod .ph{position:relative;aspect-ratio:4/5;background:#f4f1ec;overflow:hidden}
.prod .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.prod:hover .ph img{transform:scale(1.06)}
.prod .cta{position:absolute;left:10px;right:10px;bottom:10px;opacity:0;transform:translateY(8px);transition:.3s;height:38px}
.prod:hover .cta{opacity:1;transform:none}
.prod .info{padding:12px 2px 6px;display:flex;flex-direction:column;gap:2px;flex:1}
.prod .nm{font-family:var(--serif);font-weight:500;font-size:1.2rem;line-height:1.2}
.prod .tags{position:absolute;top:10px;left:10px;display:flex;gap:5px;flex-wrap:wrap}
.price{font-weight:500;font-size:1rem;font-variant-numeric:tabular-nums}.old{text-decoration:line-through;color:var(--muted);font-size:.85rem;margin-left:6px;font-weight:400}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid var(--line);vertical-align:-1px;margin-right:4px}
.prod .quick{position:absolute;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:var(--surface);color:var(--text);box-shadow:0 2px 10px rgba(0,0,0,.08);cursor:pointer;display:grid;place-items:center;transition:.2s}
.prod .quick .ic{width:17px;height:17px}.prod .quick.fav{top:10px}.prod .quick.lk{top:52px}
.prod .quick:hover{background:var(--text);color:var(--bg)}.prod .quick.on{color:#b8455a}.prod .quick.on .ic{fill:currentColor}

/* Looks */
.looks{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.look .mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;background:var(--surface2)}
.look .mosaic img{aspect-ratio:5/6;object-fit:cover;border-radius:8px;background:#f4f1ec}
.meter{height:6px;border-radius:3px;background:var(--surface2);overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))}

/* Montador de look */
.builder{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:18px;align-items:start}
.mannequin{position:sticky;top:calc(var(--head) + 16px)}
.slot{display:flex;align-items:center;gap:12px;padding:10px;border:1px dashed color-mix(in srgb,var(--text) 22%,transparent);border-radius:2px;margin-bottom:8px;cursor:pointer;transition:.2s;background:var(--surface)}
.slot.on{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.slot .thumb{width:54px;height:64px;border-radius:8px;background:var(--surface2);display:grid;place-items:center;font-size:1.4rem;overflow:hidden;flex:none}
.slot .thumb img{width:100%;height:100%;object-fit:cover}
.slot .x{margin-left:auto;border:0;background:none;cursor:pointer;font-size:1.1rem;color:var(--muted)}
.palette{display:flex;gap:6px;margin:10px 0}.palette span{flex:1;height:26px;border-radius:6px;border:1px solid var(--line)}
.pick-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px;scrollbar-width:none}
.pick-tabs button{flex:none;padding:8px 16px;border-radius:999px;letter-spacing:.03em;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:.88rem}
.pick-tabs button.on{background:var(--accent);color:var(--on-accent);border-color:transparent}
.match{position:absolute;top:10px;left:10px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:4px 9px;background:var(--text);color:var(--bg)}

/* Modal / gaveta */
.modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}
.modal.show{display:flex;animation:fade .2s}
.modal .box{background:var(--surface);color:var(--text);width:min(1000px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:3px;position:relative;animation:up .25s}
.modal .close{position:absolute;right:12px;top:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:var(--surface2);cursor:pointer;font-size:1.2rem}
@keyframes fade{from{opacity:0}}@keyframes up{from{transform:translateY(20px);opacity:0}}
.pdetail{display:grid;grid-template-columns:1.05fr 1fr;gap:0}
.pdetail .gal{background:#f4f1ec}.pdetail .gal img{width:100%;aspect-ratio:5/6;object-fit:cover}
.thumbs{display:flex;gap:6px;padding:8px}.thumbs img{width:56px;height:66px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent}.thumbs img.on{border-color:var(--accent)}
.sizes{display:flex;flex-wrap:wrap;gap:8px}.sizes button{min-width:48px;height:42px;border-radius:2px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.sizes button.on{background:var(--text);color:var(--bg);border-color:transparent}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:90;background:var(--surface);transform:translateX(105%);transition:transform .3s;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
.drawer.show{transform:none}
.drawer header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.drawer .body{flex:1;overflow:auto;padding:14px 18px}.drawer footer{padding:16px 18px;border-top:1px solid var(--line)}
.citem{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.citem img{width:64px;height:76px;object-fit:cover;border-radius:8px;background:#f4f1ec}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.qty button{width:30px;height:30px;border:0;background:var(--surface2);cursor:pointer}.qty span{min-width:30px;text-align:center}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:85;display:none}.backdrop.show{display:block}

/* Temas */
.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.theme-card{border:1px solid var(--line);border-radius:3px;padding:6px;cursor:pointer;background:var(--surface);text-align:left}
.theme-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.theme-card .pv{height:56px;border-radius:8px;position:relative;overflow:hidden}
.theme-card .pv i{position:absolute;width:26px;height:26px;border-radius:50%;bottom:6px}
.theme-card small{display:block;font-weight:600;margin-top:5px;font-size:.78rem}

/* Checkout / Pix */
.checkout{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}
.summary{position:sticky;top:calc(var(--head) + 16px)}
.sumrow{display:flex;justify-content:space-between;padding:5px 0}.sumrow.total{font-size:1.2rem;font-weight:700;border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.pixbox{text-align:center;max-width:520px;margin:0 auto}
.qr{display:inline-block;padding:14px;background:#fff;border-radius:14px;margin:12px 0}
.copy{display:flex;gap:8px}.copy input{flex:1;font-size:.75rem}
.steps{display:flex;gap:6px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
.status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700}
.st-pendente{background:#fff3cd;color:#8a6100}.st-pago{background:#d4f5e2;color:#14683e}.st-enviado{background:#dbe8ff;color:#1d4fa0}.st-entregue{background:#e6e0ff;color:#4a32a8}.st-cancelado{background:#fde0e0;color:#a32121}
.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty .big{font-size:3rem}

/* Barra inferior mobile */
.tabbar{display:none}
#toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,30px);opacity:0;background:var(--text);color:var(--bg);padding:12px 20px;border-radius:2px;letter-spacing:.02em;z-index:200;transition:.3s;pointer-events:none;max-width:90vw;text-align:center;font-size:.9rem}
#toast.show{opacity:1;transform:translate(-50%,0)}
footer.site{margin-top:60px;padding:40px clamp(18px,4vw,40px) 26px;background:var(--side) var(--linen);color:var(--side-text);display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:24px;font-size:.88rem}
footer.site h5{font-family:var(--sans);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;opacity:.6;margin:0 0 10px;font-weight:500}
footer.site a{display:block;opacity:.85;margin:4px 0}footer.site .brandf{font-family:var(--serif);font-size:1.8rem}
footer.site .legal{grid-column:1/-1;border-top:1px dashed color-mix(in srgb,var(--side-text) 25%,transparent);padding-top:16px;opacity:.6;font-size:.78rem}
main.home-main{padding-bottom:0}

@media (max-width:980px){
  .builder,.checkout{grid-template-columns:1fr}.mannequin,.summary{position:static}
  .pdetail{grid-template-columns:1fr}
}
@media (max-width:860px){
  :root{--head:58px}
  .menu-btn{display:grid}
  .side{position:fixed;left:0;top:0;height:100%;z-index:95;padding-top:env(safe-area-inset-top);transform:translateX(-105%);transition:transform .3s;width:min(300px,86vw)}
  .side.show{transform:none;box-shadow:10px 0 40px rgba(0,0,0,.35)}
  .overlay.show{display:block;position:fixed;inset:0;z-index:94;background:rgba(0,0,0,.45)}
  .top{padding:0 10px;gap:8px}.brand span{display:none}
  .top .hide-m{display:none}
  main{padding:16px 14px 100px}
  .products{grid-template-columns:repeat(2,1fr);gap:10px}
  .prod .info{padding:8px 0 4px}.prod .nm{font-size:1.05rem}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;font-size:.68rem;gap:1px;padding:4px;border-radius:10px;color:var(--muted);position:relative}
  .tabbar a .ic{width:22px;height:22px}.tabbar a.on{color:var(--text)}
  .hero{grid-template-columns:1fr;min-height:0}.hero .art{height:230px;margin-bottom:34px}.hero .art .stack{inset:6% 18% 4%}
  .perks{grid-template-columns:1fr 1fr}.catrow{grid-template-columns:repeat(5,42%);overflow-x:auto;scroll-snap-type:x mandatory}.catcard{scroll-snap-align:start}
  .newsletter{grid-template-columns:1fr}footer.site{grid-template-columns:1fr 1fr}
  .prod .cta{display:none}
  .products{gap:20px 10px}
  .grid2,.grid3{grid-template-columns:1fr}
  .grid2.keep{grid-template-columns:1fr 1fr}
  .modal{padding:0;align-items:flex-end}.modal .box{max-height:94vh;border-radius:18px 18px 0 0}
}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}.tbl th,.tbl td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-variant-numeric:tabular-nums}
.tbl th{font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.tblwrap{overflow-x:auto}
.empty .big .ic{width:44px;height:44px;stroke-width:1;color:var(--accent);margin:0 auto 10px}
footer.site{margin-inline:calc(-1 * clamp(14px,3vw,34px));margin-bottom:-90px;padding-bottom:110px}
.modal .close{display:grid;place-items:center}
.btn .ic{width:18px;height:18px}
.look .mosaic{background:var(--surface2)}
.look .mosaic img{border-radius:0}
.look h3{font-size:1.5rem}
::selection{background:var(--accent2);color:var(--text)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:860px){footer.site{margin-inline:-14px}}
