/* NUVARE Core — componentes */
:root{--nv-wine:#7A1F3D;--nv-wine-dark:#531326;--nv-black:#171717;--nv-graphite:#333;--nv-gray:#777;--nv-champagne:#F5EEE8;--nv-nude:#FAF6F2;--nv-white:#fff;--nv-gold:#C6A15B;--nv-gold-light:#E3CC9A;--nv-rose:#B76E79;--nv-wa:#25D366;--nv-success:#2E7D32;--nv-alert:#B3261E;--nv-radius:14px;--nv-shadow:0 10px 30px rgba(23,23,23,.08);--nv-serif:"Playfair Display",Georgia,serif;--nv-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
html.nv-locked,html.nv-locked body{overflow:hidden}
.nv-cookie[hidden],.nv-cookie__prefs[hidden],.nv-age[hidden],.nv-modal[hidden],.nv-search__results[hidden]{display:none!important}
.nv-ico{display:inline-block;vertical-align:middle;flex:none}

/* Botões base (também usados pelo tema) */
.nv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.8em 1.6em;border-radius:999px;border:1px solid transparent;font:600 .95rem/1.1 var(--nv-sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .2s,box-shadow .25s;white-space:nowrap}
.nv-btn:hover{transform:translateY(-1px)}
.nv-btn:focus-visible{outline:2px solid var(--nv-gold);outline-offset:3px}
.nv-btn--wine{background:var(--nv-wine);color:#fff}.nv-btn--wine:hover{background:var(--nv-wine-dark);color:#fff;box-shadow:0 8px 20px rgba(122,31,61,.25)}
.nv-btn--dark{background:var(--nv-black);color:#fff}.nv-btn--dark:hover{background:#000;color:#fff}
.nv-btn--gold{background:linear-gradient(135deg,var(--nv-gold),var(--nv-gold-light));color:var(--nv-black)}.nv-btn--gold:hover{color:var(--nv-black);box-shadow:0 8px 22px rgba(198,161,91,.35)}
.nv-btn--outline{background:transparent;border-color:var(--nv-black);color:var(--nv-black)}.nv-btn--outline:hover{background:var(--nv-black);color:#fff}
.nv-btn--ghost-light{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}.nv-btn--ghost-light:hover{border-color:#fff;color:#fff}
.nv-btn--link{background:none;border:0;color:var(--nv-graphite);text-decoration:underline;text-underline-offset:3px;padding-inline:.6em;min-height:40px}
.nv-btn--whatsapp{background:var(--nv-wa);color:#fff}.nv-btn--whatsapp:hover{background:#1ebe5a;color:#fff}
.nv-btn--sm{min-height:40px;padding:.6em 1.1em;font-size:.85rem}
.nv-btn--block{width:100%}
.nv-btn.is-loading{opacity:.7;pointer-events:none}

/* Aviso +18 */
.nv-age{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(23,23,23,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .3s}
.nv-age.is-open{opacity:1}
.nv-age__box{position:relative;width:min(480px,100%);padding:44px 32px 28px;text-align:center;color:#fff;border-radius:22px;background:radial-gradient(120% 100% at 50% 0%,#7A1F3D 0%,#531326 45%,#171717 100%);border:1px solid rgba(198,161,91,.45);box-shadow:0 30px 80px rgba(0,0,0,.45);transform:translateY(12px) scale(.98);transition:transform .35s}
.nv-age.is-open .nv-age__box{transform:none}
.nv-age__brand{font:600 1.05rem var(--nv-serif);letter-spacing:.5em;color:var(--nv-gold-light);margin-bottom:18px;padding-left:.5em}
.nv-age__badge{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:1.5px solid var(--nv-gold);color:var(--nv-gold-light);font:600 1.25rem var(--nv-serif);margin-bottom:16px}
.nv-age h2{font:600 clamp(1.4rem,4.5vw,1.75rem)/1.25 var(--nv-serif);color:#fff;margin:0 0 12px}
.nv-age p{color:rgba(255,255,255,.82);font-size:.98rem;line-height:1.6;margin:0 0 24px}
.nv-age__actions{display:flex;flex-direction:column;gap:10px}
.nv-age small{display:block;margin-top:18px;color:var(--nv-gold-light);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}

/* Cookies LGPD */
.nv-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:99990;max-width:760px;margin:0 auto;background:#fff;color:var(--nv-graphite);border:1px solid #eadfd6;border-radius:18px;box-shadow:0 18px 50px rgba(23,23,23,.18);padding:18px 20px;transform:translateY(20px);opacity:0;transition:.35s}
.nv-cookie.is-open{transform:none;opacity:1}
.nv-cookie p{margin:0 0 12px;font-size:.9rem;line-height:1.55}
.nv-cookie a{color:var(--nv-wine)}
.nv-cookie__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nv-cookie__prefs{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #f0e6dd}
.nv-switch{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;font-size:.9rem}
.nv-switch input{width:20px;height:20px;accent-color:var(--nv-wine);grid-row:span 2}
.nv-switch small{color:var(--nv-gray);font-size:.8rem}
.nv-cookie__prefs .nv-btn{justify-self:start}

/* WhatsApp flutuante */
.nv-wa-float{position:fixed;right:18px;bottom:18px;z-index:9990;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--nv-wa);color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.4);transition:transform .25s}
.nv-wa-float:hover{transform:scale(1.06);color:#fff}
.nv-wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--nv-wa);animation:nvPulse 2.6s infinite}
.nv-wa-float__tip{position:absolute;right:72px;white-space:nowrap;background:var(--nv-black);color:#fff;font-size:.8rem;padding:7px 12px;border-radius:999px;opacity:0;transform:translateX(6px);transition:.25s;pointer-events:none}
.nv-wa-float:hover .nv-wa-float__tip{opacity:1;transform:none}
@keyframes nvPulse{0%{transform:scale(1);opacity:.6}70%,100%{transform:scale(1.45);opacity:0}}
@media (prefers-reduced-motion:reduce){.nv-wa-float::after{animation:none}}

/* Toast */
.nv-toast{position:fixed;left:50%;bottom:24px;z-index:100001;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:var(--nv-black);color:#fff;padding:12px 20px;border-radius:999px;font-size:.9rem;box-shadow:var(--nv-shadow);transition:.3s;max-width:calc(100% - 32px);text-align:center}
.nv-toast.is-show{opacity:1;transform:translate(-50%,0)}
.nv-toast.is-success{background:var(--nv-success)}.nv-toast.is-error{background:var(--nv-alert)}

/* Ações dos cards */
.nv-card-act{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--nv-black);box-shadow:0 4px 14px rgba(23,23,23,.12);cursor:pointer;transition:.25s}
.nv-card-act:hover{background:var(--nv-wine);color:#fff}
.nv-fav-btn.is-active{color:var(--nv-wine)}.nv-fav-btn.is-active svg path{fill:currentColor}
.nv-fav-btn.is-active:hover{color:#fff}
.nv-fav-btn.is-loading{opacity:.5}
.nv-single-extra .nv-fav-btn{width:auto;height:48px;padding:0 18px;gap:8px;display:inline-flex;border-radius:999px;border:1px solid #e3d6cb;box-shadow:none;font:600 .9rem var(--nv-sans)}

/* Selos */
.nv-card__badges{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.nv-badge{display:inline-block;padding:5px 10px;border-radius:999px;font:600 .68rem/1 var(--nv-sans);letter-spacing:.08em;text-transform:uppercase}
.nv-badge--sale{background:var(--nv-wine);color:#fff}
.nv-badge--new{background:var(--nv-black);color:var(--nv-gold-light)}
.nv-badge--best{background:linear-gradient(135deg,var(--nv-gold),var(--nv-gold-light));color:var(--nv-black)}
.nv-badge--out{background:#e8e2dc;color:var(--nv-graphite)}

/* Preço extra */
.nv-price-extra{display:flex;flex-direction:column;gap:3px;font-size:.85rem;color:var(--nv-gray);margin:4px 0 0}
.nv-price-extra strong{color:var(--nv-graphite)}
.nv-pix-price{display:inline-flex;align-items:center;gap:6px;color:var(--nv-success)}
.nv-pix-price strong{color:var(--nv-success)}
.nv-pix-price em{font-style:normal;font-size:.8em}
.single-product .nv-price-extra{font-size:.95rem;margin:6px 0 18px;padding:14px 16px;background:var(--nv-nude);border-radius:12px}
.nv-sku{font-size:.8rem;color:var(--nv-gray);letter-spacing:.04em;margin:-4px 0 10px}

/* Página do produto */
.nv-buy-now{margin-left:8px}
.nv-single-extra{margin:18px 0 6px;display:grid;gap:14px}
.nv-single-extra__row{display:flex;flex-wrap:wrap;gap:10px}
.nv-discreet{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--nv-gold-light);background:linear-gradient(135deg,#fffaf2,#fff);border-radius:14px;color:var(--nv-graphite)}
.nv-discreet .nv-ico{color:var(--nv-gold);margin-top:2px}
.nv-discreet strong{display:block;color:var(--nv-black);margin-bottom:2px}
.nv-discreet span{font-size:.88rem;color:var(--nv-gray);line-height:1.5}
.nv-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.84rem;color:var(--nv-gray)}
.nv-trust li{display:flex;align-items:center;gap:6px}.nv-trust .nv-ico{color:var(--nv-wine)}
.nv-benefits-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.nv-benefits-list li{display:flex;gap:10px;align-items:flex-start}.nv-benefits-list .nv-ico{color:var(--nv-success);margin-top:2px}
.nv-faq details{border-bottom:1px solid #eee3da;padding:4px 0}
.nv-faq summary{cursor:pointer;padding:14px 28px 14px 0;font-weight:600;list-style:none;position:relative}
.nv-faq summary::-webkit-details-marker{display:none}
.nv-faq summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:1.4rem;color:var(--nv-wine);transition:transform .2s}
.nv-faq details[open] summary::after{transform:rotate(45deg)}
.nv-faq details>div{padding:0 0 12px;color:var(--nv-graphite)}

/* Compre junto */
.nv-together{margin:48px 0;padding:28px;border-radius:20px;background:var(--nv-nude)}
.nv-together__row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px}.nv-together .nv-section-title{font-size:1.6rem;margin-bottom:18px}.nv-together__plus{align-self:center}
.nv-together__item{display:flex;flex-direction:column;gap:6px;width:150px;text-decoration:none;color:var(--nv-black);font-size:.85rem}
.nv-together__item img{border-radius:12px;aspect-ratio:1;object-fit:cover;background:#fff}
.nv-together__plus{font:400 2rem var(--nv-serif);color:var(--nv-gold)}
.nv-together__total{margin-left:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.nv-together__total strong{font:600 1.6rem var(--nv-serif);color:var(--nv-wine)}
@media(max-width:700px){.nv-together__item{width:calc(50% - 30px)}.nv-together__total{margin-left:0;width:100%}}

/* Modal visualização rápida */
.nv-modal{position:fixed;inset:0;z-index:99995;display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .25s}
.nv-modal.is-open{opacity:1}
.nv-modal__overlay{position:absolute;inset:0;background:rgba(23,23,23,.6)}
.nv-modal__box{position:relative;width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.3);transform:translateY(14px);transition:transform .3s}
.nv-modal.is-open .nv-modal__box{transform:none}
.nv-modal__close{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.1);cursor:pointer;display:grid;place-items:center}
.nv-qv{display:grid;grid-template-columns:1fr 1fr}
.nv-qv__media{position:relative;background:var(--nv-nude)}
.nv-qv__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:1}
.nv-qv__media .nv-card__badges{position:absolute;top:14px;left:14px}
.nv-qv__info{padding:32px 28px;display:flex;flex-direction:column;gap:10px}
.nv-qv__title{font:600 1.6rem/1.2 var(--nv-serif);margin:0;color:var(--nv-black)}
.nv-qv__price{font-size:1.3rem;color:var(--nv-wine);font-weight:600}
.nv-qv__desc{color:var(--nv-graphite);font-size:.92rem}
.nv-qv__form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nv-qv__form .quantity input{height:48px;width:72px;text-align:center;border:1px solid #e3d6cb;border-radius:999px}
.nv-discreet-mini{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--nv-gray)}
.nv-link-more{color:var(--nv-wine);font-weight:600;text-decoration:none}
@media(max-width:700px){.nv-qv{grid-template-columns:1fr}.nv-qv__info{padding:22px 18px}}

/* Skeleton */
.nv-skel .nv-skel__img,.nv-skel__line{background:linear-gradient(90deg,#f3ece6 25%,#faf6f2 37%,#f3ece6 63%);background-size:400% 100%;animation:nvSk 1.3s ease infinite}
.nv-skel{gap:24px;padding:24px}.nv-skel__img{aspect-ratio:1;border-radius:14px}
.nv-skel__line{display:block;height:14px;border-radius:8px;margin:12px 0;width:100%}
.nv-skel__line.w80{width:80%}.nv-skel__line.w60{width:60%}.nv-skel__line.w40{width:40%}
@keyframes nvSk{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* Sugestões de busca */
.nv-search__results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:999;background:#fff;border:1px solid #eadfd6;border-radius:16px;box-shadow:0 18px 40px rgba(23,23,23,.14);padding:8px;max-height:70vh;overflow:auto}
.nv-sr__item{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:8px;border-radius:10px;text-decoration:none;color:var(--nv-black)}
.nv-sr__item:hover,.nv-sr__item:focus{background:var(--nv-nude);outline:0}
.nv-sr__item img{width:48px;height:48px;border-radius:8px;object-fit:cover;background:var(--nv-nude)}
.nv-sr__item strong{display:block;font-weight:500;font-size:.9rem}
.nv-sr__item small{color:var(--nv-gray);font-size:.75rem}
.nv-sr__item em{font-style:normal;font-size:.85rem;color:var(--nv-wine);font-weight:600;text-align:right}
.nv-sr__item em del{color:var(--nv-gray);font-weight:400;display:block;font-size:.75rem}
.nv-sr__item em ins{text-decoration:none}
.nv-sr__cats{display:flex;flex-wrap:wrap;gap:6px;padding:6px 6px 10px;border-bottom:1px solid #f2e9e1;margin-bottom:6px}
.nv-sr__cats a{padding:6px 12px;border-radius:999px;background:var(--nv-champagne);color:var(--nv-wine-dark);font-size:.8rem;text-decoration:none}
.nv-sr__all{display:block;text-align:center;padding:10px;font-weight:600;color:var(--nv-wine);text-decoration:none;font-size:.88rem}
.nv-sr__empty{padding:14px;margin:0;color:var(--nv-gray);font-size:.9rem}
.nv-sr__loading{padding:6px 10px}

/* Formulários */
.nv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.nv-newsletter-form__fields{display:flex;gap:10px;flex-wrap:wrap}
.nv-newsletter-form__fields input{flex:1 1 200px;min-height:52px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font:400 1rem var(--nv-sans)}
.nv-newsletter-form__fields input::placeholder{color:rgba(255,255,255,.65)}
.nv-newsletter-form__fields .nv-btn{min-height:52px}
.nv-consent{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.82rem;line-height:1.5}
.nv-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--nv-gold);flex:none}
.nv-consent a{color:inherit;text-decoration:underline}
.nv-form-msg{min-height:1.2em;margin:10px 0 0;font-size:.9rem}
.nv-form-msg.is-error{color:#ffb4ab}.nv-form-msg.is-success{color:#9be3a1}
.nv-contact-form .nv-form-msg.is-error{color:var(--nv-alert)}.nv-contact-form .nv-form-msg.is-success{color:var(--nv-success)}
.nv-contact-form label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px}
.nv-contact-form input,.nv-contact-form select,.nv-contact-form textarea{width:100%;min-height:50px;padding:12px 16px;border:1px solid #e3d6cb;border-radius:12px;font:400 1rem var(--nv-sans);background:#fff}
.nv-contact-form .nv-consent{color:var(--nv-graphite)}.nv-contact-form .nv-consent input{accent-color:var(--nv-wine)}
.nv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.nv-grid-2{grid-template-columns:1fr}}

/* Avaliações */
.nv-reviews{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.nv-review{margin:0;scroll-snap-align:start;background:#fff;border:1px solid #efe5dc;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:0 6px 20px rgba(23,23,23,.04)}
.nv-review__stars{color:var(--nv-gold);display:flex;gap:2px}
.nv-review blockquote{margin:0;font:400 1.02rem/1.6 var(--nv-serif);font-style:italic;color:var(--nv-graphite)}
.nv-review figcaption{display:flex;flex-direction:column;gap:2px;font-size:.85rem;color:var(--nv-gray)}
.nv-review figcaption strong{color:var(--nv-black);font-size:.95rem}
.nv-review figcaption a{color:var(--nv-wine)}
.nv-verified{display:inline-flex;align-items:center;gap:4px;color:var(--nv-success);font-size:.78rem}
.nv-reviews-empty{max-width:640px;margin:0 auto;text-align:center;padding:30px 24px;border:1px dashed var(--nv-gold-light);border-radius:18px;background:#fff;color:var(--nv-gray)}
.nv-reviews-empty .nv-ico{color:var(--nv-gold)}

/* Frete grátis */
.nv-freebar{margin:0 0 20px;padding:14px 18px;border-radius:14px;background:var(--nv-nude);border:1px solid #efe3d8}
.nv-freebar p{margin:0 0 10px;display:flex;align-items:center;gap:8px;font-size:.92rem;flex-wrap:wrap}
.nv-freebar .nv-ico{color:var(--nv-wine)}
.nv-freebar__track{height:8px;border-radius:99px;background:#eadfd5;overflow:hidden}
.nv-freebar__track span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--nv-wine),var(--nv-rose));transition:width .6s ease}
.nv-freebar.is-done .nv-freebar__track span{background:var(--nv-success)}.nv-freebar.is-done .nv-ico{color:var(--nv-success)}

/* Checkout seguro / Pix */
.nv-checkout-safe{font-size:.82rem;color:var(--nv-gray);margin:0 0 14px;line-height:1.6}
.nv-checkout-safe .nv-ico{color:var(--nv-success)}
.nv-pixbox{margin:24px 0;padding:26px;border-radius:20px;background:#fff;border:1px solid var(--nv-gold-light);text-align:center;box-shadow:var(--nv-shadow)}
.nv-pixbox h2{font:600 1.5rem var(--nv-serif);display:flex;gap:8px;align-items:center;justify-content:center;margin:0 0 6px;color:var(--nv-black)}
.nv-pixbox__qr{display:inline-block;padding:12px;background:#fff;border-radius:14px;border:1px solid #eee;margin:10px auto}
.nv-pixbox__qr img,.nv-pixbox__qr canvas{display:block;margin:0 auto}
.nv-pixbox label{display:block;font-weight:600;margin:12px 0 6px}
.nv-pixbox__code{display:flex;flex-direction:column;gap:10px;max-width:520px;margin:0 auto}
.nv-pixbox__code textarea{width:100%;font:400 .8rem monospace;padding:12px;border-radius:12px;border:1px solid #e3d6cb;background:var(--nv-nude);resize:none}
.nv-pixbox__info{color:var(--nv-gray);font-size:.88rem}

/* Linha do tempo do pedido */
.nv-timeline{list-style:none;display:flex;margin:0 0 28px;padding:0;counter-reset:s;overflow-x:auto}
.nv-timeline li{flex:1;min-width:92px;position:relative;text-align:center;font-size:.78rem;color:var(--nv-gray);padding-top:34px}
.nv-timeline li span{position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;background:#eadfd5;border:3px solid #fff;box-shadow:0 0 0 1px #eadfd5;z-index:1}
.nv-timeline li::before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:#eadfd5}
.nv-timeline li:first-child::before{display:none}
.nv-timeline li.is-done span{background:var(--nv-success);box-shadow:0 0 0 1px var(--nv-success)}
.nv-timeline li.is-done::before,.nv-timeline li.is-current::before{background:var(--nv-success)}
.nv-timeline li.is-current span{background:var(--nv-wine);box-shadow:0 0 0 4px rgba(122,31,61,.18)}
.nv-timeline li.is-done,.nv-timeline li.is-current{color:var(--nv-black);font-weight:600}
.nv-timeline--cancel{padding:14px 18px;border-radius:12px;background:#fbeceb;color:var(--nv-alert);margin-bottom:24px}
.nv-tracking{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:var(--nv-nude)}

/* Vazio */
.nv-empty{text-align:center;padding:40px 20px;color:var(--nv-gray)}
.nv-empty .nv-ico{color:var(--nv-wine);margin-bottom:8px}
.nv-error{padding:30px;color:var(--nv-alert)}
.form-row.is-loading input{background-image:linear-gradient(90deg,#f3ece6 25%,#faf6f2 37%,#f3ece6 63%);background-size:400% 100%;animation:nvSk 1.3s infinite}
.nv-price-extra strong,.nv-price-extra span{display:inline!important}.nv-price-extra>span{display:block!important}
