/* v38 — Refinamento premium: acabamento, tipografia, microinterações.
   Camada final: apenas ajustes sutis, sem alterar estrutura, links ou imagens. */
:root{
  --rv-ease:cubic-bezier(.22,1,.36,1);
  --rv-gold-line:rgba(198,142,5,.55);
  --rv-gold-soft:rgba(198,142,5,.10);
  --rv-shadow:0 1px 2px rgba(3,22,16,.10),0 8px 24px -14px rgba(3,22,16,.35);
  --rv-shadow-hover:0 2px 4px rgba(3,22,16,.12),0 14px 30px -16px rgba(3,22,16,.45);
}
html,body{overflow-x:clip}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* Tipografia editorial */
h1,h2,h3{text-wrap:balance;font-kerning:normal}
p{text-wrap:pretty}
.section-heading h2,.section-heading .title{letter-spacing:-.018em;line-height:1.08}
.eyebrow{letter-spacing:.2em;font-weight:600}

/* Botões: bordas finas, profundidade discreta, movimento delicado */
.button{
  border-width:1px;border-radius:999px;padding-inline:28px;
  letter-spacing:.02em;line-height:1;
  box-shadow:var(--rv-shadow);
  transition:background-color .35s var(--rv-ease),color .35s var(--rv-ease),border-color .35s var(--rv-ease),box-shadow .45s var(--rv-ease),transform .45s var(--rv-ease);
}
.button:hover{transform:translateY(-1px);box-shadow:var(--rv-shadow-hover)}
.button:active{transform:translateY(0) scale(.985);transition-duration:.12s}
.button-outline{border-color:var(--rv-gold-line);box-shadow:none}
.button-outline:hover{background:var(--rv-gold-soft);border-color:var(--gold)}
.button-gold,.button-green{border-color:var(--rv-gold-line)}
.hero-actions .button,.hero-actions .button-gold{border-radius:999px}
.button svg,.text-link svg{transition:transform .45s var(--rv-ease)}
.button:hover svg,.text-link:hover svg{transform:translate(2px,-2px)}

.icon-button{transition:background-color .3s var(--rv-ease),color .3s var(--rv-ease),border-color .3s var(--rv-ease),transform .3s var(--rv-ease)}
.icon-button:active{transform:scale(.95)}

/* Cards: cantos e sombras consistentes */
.product-card,.service-card,.review-card,.frame-panel,.brand-item{
  border-radius:14px;
  transition:transform .6s var(--rv-ease),box-shadow .6s var(--rv-ease),border-color .4s var(--rv-ease);
}
.product-card--light{box-shadow:var(--rv-shadow);border-color:rgba(3,22,16,.08)}
.review-card{border-color:rgba(198,142,5,.18)}
.product-image img,.frame-visual img{transition:transform 1.2s var(--rv-ease)}
@media (hover:hover){
  .product-card:hover .product-image img{transform:scale(1.025)}
}

/* Foco acessível */
:where(a,button,summary,[tabindex]):focus-visible{
  outline:1.5px solid var(--gold);outline-offset:3px;border-radius:inherit;
}
.skip-link:focus{outline-offset:2px}

/* Mobile: proporções e áreas de toque */
@media (max-width:640px){
  .button{min-height:46px;padding-inline:22px;font-size:.84rem}
  .section-heading h2{line-height:1.1}
  .eyebrow{letter-spacing:.16em}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}

/* v39: proporção nativa dos novos cards ilustrados. */
#produtos .product-image{aspect-ratio:3/4}
