/* Loja: header, catálogo, sacola, conta e acompanhamento */
.acts{display:flex;gap:10px;align-items:center}
.hbtn{background:transparent;border:1px solid var(--gold);color:var(--cream);font:inherit;font-size:.88rem;padding:9px 16px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:background .2s,color .2s}
.hbtn:hover{background:var(--gold);color:var(--cherry-d)}
.hbtn .cnt{background:var(--gold);color:var(--cherry-d);border-radius:99px;min-width:20px;height:20px;font-size:.75rem;display:grid;place-items:center;font-weight:600;padding:0 6px}
.hbtn:hover .cnt{background:var(--cherry-d);color:var(--gold)}
@media(max-width:560px){.hbtn .lbl{display:none}}

.shop{background:var(--cream)}
.shop-head{display:flex;justify-content:space-between;gap:30px;align-items:end;flex-wrap:wrap;margin-bottom:36px}
.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:9px 18px;border:1px solid rgba(197,162,103,.7);background:transparent;font:inherit;font-size:.9rem;color:var(--mocha);cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--cherry)}
.chip[aria-pressed="true"]{background:var(--cherry);color:var(--cream);border-color:var(--cherry)}
.sel,.search{padding:9px 14px;border:1px solid rgba(197,162,103,.7);background:var(--paper);font:inherit;font-size:.9rem;color:var(--mocha)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:1000px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pgrid{grid-template-columns:1fr 1fr;gap:12px}}
.pc{background:var(--paper);border:1px solid rgba(197,162,103,.45);display:flex;flex-direction:column;position:relative}
.pc .ph{aspect-ratio:1/1.05;display:grid;place-items:center;padding:22px;cursor:pointer;background:radial-gradient(circle at 50% 40%,#fff6ea,#f0dfca);overflow:hidden}
.pc .ph svg,.pc .ph img{max-height:100%;max-width:78%;height:100%;object-fit:contain;transition:transform .5s}
.pc .ph img{max-width:100%;width:100%;object-fit:cover;max-height:none}
.pc:hover .ph svg{transform:scale(1.05) rotate(-2deg)}
.pc .tag{position:absolute;left:12px;top:12px;font-size:.78rem;background:var(--cherry);color:var(--cream);padding:3px 10px}
.pc .tag.off{background:#7a6a62}
.pc .pb{padding:16px 18px 20px;display:flex;flex-direction:column;gap:4px;flex:1}
.pc .fam{font-size:.82rem;color:var(--gold)}
.pc h3{font-size:1.55rem;color:var(--cherry);cursor:pointer}
.pc .nt{font-size:.85rem;font-weight:300;color:#6a554b}
.pc .row{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.pc .price{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--cherry)}
.pc .price small{display:block;font-family:var(--sans);font-size:.72rem;font-weight:300;color:#6a554b;margin-top:-4px}
.add{border:1px solid var(--cherry);background:var(--cherry);color:var(--cream);font:inherit;font-size:.85rem;padding:9px 14px;cursor:pointer;transition:.2s}
.add:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:var(--cherry-d)}
.add:disabled{opacity:.45;cursor:not-allowed}
.empty{grid-column:1/-1;text-align:center;padding:50px 0;font-weight:300}

/* overlay / drawers / modais */
.ov{position:fixed;inset:0;background:rgba(30,4,10,.55);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s;z-index:90}
.ov.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(460px,100%);background:var(--cream);z-index:100;transform:translateX(100%);transition:transform .38s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;box-shadow:none}
.drawer.on{transform:none;box-shadow:-20px 0 50px rgba(0,0,0,.25)}
.dh{background:var(--cherry);color:var(--cream);padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.dh h3{font-size:1.7rem;color:var(--cream)}
.x{background:none;border:0;color:var(--cream);font-size:1.8rem;cursor:pointer;line-height:1;padding:0 4px}
.db{flex:1;overflow:auto;padding:22px}
.df{padding:18px 22px;border-top:1px solid rgba(197,162,103,.5);background:var(--paper)}
.df .tot{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.95rem}
.df .tot.big{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--cherry);margin:6px 0 14px}
.df .btn{width:100%;text-align:center}
.free{font-size:.85rem;background:#ecd9c7;padding:10px 12px;margin-bottom:16px}
.bar{height:5px;background:rgba(197,162,103,.35);margin-top:6px}.bar i{display:block;height:100%;background:var(--cherry);transition:width .4s}
.li{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid rgba(197,162,103,.4);align-items:center}
.li .im{width:64px;height:72px;background:#f0dfca;display:grid;place-items:center;padding:4px}
.li .im svg,.li .im img{height:100%;width:100%;object-fit:contain}
.li b{font-family:var(--serif);font-size:1.25rem;color:var(--cherry);display:block;line-height:1.1}
.li small{font-size:.8rem;font-weight:300}
.qty{display:inline-flex;border:1px solid rgba(197,162,103,.7);margin-top:6px}
.qty button{background:none;border:0;width:28px;height:28px;cursor:pointer;font-size:1rem;color:var(--cherry)}
.qty span{width:26px;text-align:center;line-height:28px;font-size:.9rem}
.li .pr{text-align:right;font-weight:500}
.li .rm{background:none;border:0;color:#8b6f64;font-size:.78rem;cursor:pointer;text-decoration:underline;display:block;margin-left:auto;margin-top:6px}

.fld{margin-bottom:14px}
.fld label{display:block;font-size:.85rem;margin-bottom:5px;color:var(--cherry);font-weight:500}
.fld input,.fld select,.fld textarea{width:100%;padding:12px 14px;border:1px solid rgba(197,162,103,.8);background:var(--paper);font:inherit;color:var(--mocha)}
.fld input:focus,.fld select:focus{outline:2px solid var(--gold);outline-offset:1px}
.fld small{display:block;font-size:.78rem;font-weight:300;margin-top:4px;color:#6a554b}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.three{display:grid;grid-template-columns:1.4fr .6fr;gap:12px}
.tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px;border:1px solid rgba(197,162,103,.7)}
.tabs button{padding:12px;background:transparent;border:0;font:inherit;cursor:pointer;color:var(--mocha)}
.tabs button[aria-selected="true"]{background:var(--cherry);color:var(--cream)}
.err{background:#f8dcdc;color:#7a1020;padding:10px 12px;font-size:.88rem;margin-bottom:14px;display:none}
.err.on{display:block}
.note-in{font-size:.88rem;font-weight:300;background:#ecd9c7;padding:12px 14px;margin-bottom:16px}
.pay{display:grid;gap:8px;margin-bottom:14px}
.pay label{display:flex;gap:10px;align-items:center;border:1px solid rgba(197,162,103,.8);padding:12px 14px;cursor:pointer;background:var(--paper);font-size:.95rem}
.pay input{accent-color:var(--cherry)}

/* conta + acompanhamento */
.me{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.me b{font-family:var(--serif);font-size:1.5rem;color:var(--cherry);display:block;line-height:1.1}
.me small{font-weight:300}
.lnk{background:none;border:0;color:var(--cherry);text-decoration:underline;font:inherit;font-size:.88rem;cursor:pointer}
.ord{border:1px solid rgba(197,162,103,.6);background:var(--paper);margin-bottom:16px}
.ord-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;gap:10px}
.ord-h b{font-family:var(--serif);font-size:1.35rem;color:var(--cherry)}
.badge{font-size:.76rem;padding:4px 10px;background:#ecd9c7;color:var(--cherry);white-space:nowrap}
.badge.ok{background:#dfe9d6;color:#27531c}.badge.bad{background:#f3d3d3;color:#7a1020}.badge.go{background:#e9dcc0;color:#6b4d12}
.ord-b{padding:0 16px 16px;display:none}
.ord.open .ord-b{display:block}
.steps{list-style:none;margin:6px 0 16px;position:relative}
.steps li{position:relative;padding:0 0 18px 30px;font-size:.92rem;color:#8b7469}
.steps li::before{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;border:2px solid var(--gold);background:var(--paper)}
.steps li::after{content:"";position:absolute;left:6px;top:20px;bottom:-1px;width:2px;background:rgba(197,162,103,.5)}
.steps li:last-child::after{display:none}
.steps li.done{color:var(--mocha)}
.steps li.done::before{background:var(--cherry);border-color:var(--cherry)}
.steps li.done::after{background:var(--cherry)}
.steps li.now{font-weight:600;color:var(--cherry)}
.steps li.now::before{box-shadow:0 0 0 4px rgba(102,9,25,.15)}
.steps em{display:block;font-style:normal;font-size:.76rem;font-weight:300}
.ord-it{font-size:.9rem;display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.ord-t{border-top:1px solid rgba(197,162,103,.5);margin-top:8px;padding-top:8px;font-size:.9rem}
.track{background:#ecd9c7;padding:10px 12px;font-size:.88rem;margin-bottom:12px}
.done-box{text-align:center;padding:30px 6px}
.done-box .script{font-size:2rem;color:var(--cherry)}
.done-box h3{font-size:2.2rem;color:var(--cherry);margin:4px 0 10px}

/* modal produto */
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%);width:min(860px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;background:var(--cream);z-index:110;display:grid;grid-template-columns:.9fr 1.1fr;opacity:0;pointer-events:none;transition:.3s}
.modal.on{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.modal .mv{background:radial-gradient(circle at 50% 40%,#fff6ea,#ecd6bd);display:grid;place-items:center;padding:30px;min-height:320px}
.modal .mv svg{width:min(240px,100%)}.modal .mv img{width:100%;max-height:420px;object-fit:contain}
.modal .mi{padding:34px 30px;position:relative}
.modal .mi h3{font-size:2.5rem;color:var(--cherry)}
.modal .mi .fam{color:var(--gold);font-size:.9rem;margin:2px 0 12px}
.modal .mi .x{position:absolute;right:14px;top:10px;color:var(--cherry)}
.modal .pyr{margin:12px 0}
@media(max-width:700px){.modal{grid-template-columns:1fr}.modal .mv{min-height:220px}}

.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);background:var(--cherry-d);color:var(--cream);padding:13px 22px;z-index:200;opacity:0;transition:.3s;pointer-events:none;border:1px solid var(--gold);font-size:.92rem}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media(max-width:560px){.topbar{font-size:.72rem;padding:7px 10px}.hbtn{padding:9px 11px}}

/* ===== login / cadastro: painel central ===== */
#acc.auth-mode{top:50%;left:50%;right:auto;height:auto;max-height:calc(100% - 24px);width:min(900px,calc(100% - 24px));border-radius:24px;overflow:hidden;transform:translate(-50%,-46%);opacity:0;pointer-events:none;box-shadow:none;transition:transform .38s cubic-bezier(.2,.7,.2,1),opacity .25s}
#acc.auth-mode.on{transform:translate(-50%,-50%);opacity:1;pointer-events:auto;box-shadow:0 50px 90px -30px rgba(0,0,0,.65)}
#acc.auth-mode .dh{display:none}
#acc.auth-mode .db{padding:0;overflow:auto}
.au{display:grid;grid-template-columns:.9fr 1.1fr;min-height:560px}
.au-art{position:relative;background:radial-gradient(ellipse at 25% 15%,#8d1428,#660919 55%,#3d0510);color:var(--cream);padding:40px 34px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.au-art img{position:absolute;filter:drop-shadow(0 12px 14px rgba(0,0,0,.45))}
.au-art .a{width:170px;left:-18px;top:26px;transform:rotate(-10deg)}
.au-art .b{width:140px;right:16px;top:72px;transform:rotate(8deg)}
.au-art .c{width:64px;left:44%;top:30px;transform:rotate(14deg)}
.au-art h3{position:relative;font-size:2.3rem;color:var(--cream);line-height:1.05;margin-bottom:16px}
.au-art ul{list-style:none;position:relative;display:grid;gap:10px;font-size:.92rem;font-weight:300;color:#ecd9c7}
.au-art li{display:flex;gap:10px;align-items:flex-start}
.au-art li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--gold)}
.au-form{position:relative;padding:46px 42px 32px;background:var(--cream);display:flex;flex-direction:column;justify-content:center}
.au-x{position:absolute;right:16px;top:10px;color:var(--cherry)}
.au-t{font-size:2.5rem;color:var(--cherry);line-height:1}
.pilltabs{display:grid;grid-template-columns:1fr 1fr;background:#ecdcc8;border-radius:99px;padding:4px;margin:20px 0 22px}
.pilltabs button{border:0;background:transparent;padding:11px;border-radius:99px;font:inherit;font-size:.92rem;cursor:pointer;color:var(--mocha);transition:background .2s,color .2s}
.pilltabs button[aria-selected="true"]{background:var(--cherry);color:var(--cream);box-shadow:0 8px 16px -8px rgba(102,9,25,.7)}
.ff{position:relative;margin-bottom:14px}
.ff input{width:100%;padding:25px 16px 9px;border:1px solid rgba(197,162,103,.85);border-radius:14px;background:var(--paper);font:inherit;color:var(--mocha);transition:border-color .2s,box-shadow .2s}
.ff label{position:absolute;left:17px;top:17px;font-size:.95rem;color:#8b6f64;pointer-events:none;transition:top .18s,font-size .18s,color .18s}
.ff input:focus{outline:0;border-color:var(--cherry);box-shadow:0 0 0 4px rgba(102,9,25,.1)}
.ff input:focus+label,.ff input:not(:placeholder-shown)+label,.ff.raised label{top:8px;font-size:.7rem;color:var(--cherry)}
.au-go{width:100%;padding:15px;border-radius:99px;border:0;background:var(--cherry);color:var(--cream);font:inherit;font-weight:500;font-size:1rem;cursor:pointer;margin-top:6px;transition:background .2s,color .2s}
.au-go:hover:not(:disabled){background:var(--gold);color:var(--cherry-d)}
.au-go:disabled{opacity:.6}
.au-sw{text-align:center;margin-top:16px;font-size:.9rem}
@media(max-width:760px){.au{grid-template-columns:1fr;min-height:0}.au-art{display:none}.au-form{padding:38px 22px 26px}}
