/* NIVORA CORE v0.1 — componentes sem identidade visual rígida.
   Personalize via --nv-*; engenharia reaproveitável para outros nichos. */
:root{--nv-radius:18px;--nv-ink:#442a23;--nv-accent:#c58c57;--nv-surface:#fffaf3;--nv-border:rgba(68,42,35,.13)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--nv-accent);outline-offset:4px}
.nv-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nv-pill{display:inline-flex;justify-content:center;align-items:center;gap:16px;text-decoration:none;border:0;cursor:pointer;border-radius:999px;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.nv-pill:hover{transform:translateY(-3px)}
.nv-tabs{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.nv-tab{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 23px;border-radius:999px;border:1px solid var(--nv-border);background:transparent;color:var(--nv-ink);font-weight:700;font-size:13px;letter-spacing:.01em;cursor:pointer;transition:background .25s,color .25s,transform .25s,border-color .25s}
.nv-tab:hover{border-color:var(--nv-ink);transform:translateY(-2px)}
.nv-tab[aria-selected="true"]{color:#fff9ef;background:var(--nv-ink);border-color:var(--nv-ink)}
.nv-product-card{min-width:0;overflow:hidden;border:1px solid var(--nv-border);border-radius:var(--nv-radius);background:var(--nv-surface);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.nv-product-card:hover{transform:translateY(-5px);box-shadow:0 23px 45px rgba(62,38,28,.10);border-color:rgba(68,42,35,.25)}
.nv-product-image-wrap{overflow:hidden;position:relative;background:#dec6af}
.nv-product-image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.nv-product-card:hover .nv-product-image{transform:scale(1.06)}
.nv-action{cursor:pointer;transition:transform .22s ease,background .22s ease,border-color .22s ease}
.nv-action:hover{transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nv-pill,.nv-tab,.nv-product-card,.nv-product-image,.nv-action{transition:none!important;transform:none!important}}
