:root { --rosa:#be3d78; --vinho:#7d244c; --creme:#f8f3f1; --preto:#171214; --texto:#64585d; --linha:#e6dcdf; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--preto); background: var(--creme); font-family: Arial, sans-serif; }
button, input, select { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(190,61,120,.3); outline-offset: 3px; }
.cabecalho-produto { display:flex; align-items:center; justify-content:space-between; min-height:76px; padding:12px max(24px,calc((100vw - 1180px)/2)); border-bottom:1px solid var(--linha); background:white; }
.marca { display:inline-flex; align-items:center; gap:11px; color:var(--preto); font:21px Georgia,serif; text-decoration:none; }
.marca img { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.voltar-catalogo { color:var(--vinho); font-size:14px; font-weight:800; text-decoration:none; }
#produto { min-height:calc(100vh - 150px); max-width:1240px; margin:0 auto; padding:34px 28px 80px; }
.voltar { display:inline-block; margin-bottom:28px; color:var(--vinho); font-size:14px; text-decoration:none; }
.produto-detalhes { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:clamp(40px,7vw,90px); align-items:start; }
.galeria { min-width:0; }
.imagem-principal { position:relative; overflow:hidden; aspect-ratio:.78; border-radius:12px; background:#ebe3e6; }
.imagem-principal > img { width:100%; height:100%; object-fit:cover; }
.imagem-principal > button { position:absolute; top:50%; display:grid; place-items:center; width:44px; height:44px; padding:0; transform:translateY(-50%); border:0; border-radius:50%; color:var(--preto); background:rgba(255,255,255,.92); font-size:28px; cursor:pointer; }
#anterior { left:16px; } #proxima { right:16px; }
.miniaturas { display:flex; gap:9px; margin-top:12px; overflow-x:auto; }
.miniaturas button { flex:0 0 72px; height:88px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:7px; background:#eee; cursor:pointer; }
.miniaturas button.ativa { border-color:var(--rosa); }
.miniaturas img { width:100%; height:100%; object-fit:cover; }
.informacoes { position:sticky; top:24px; padding:12px 0; }
.codigo { margin:0 0 15px; color:#907e85; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.informacoes h1 { margin:0; font:400 clamp(36px,4.5vw,58px)/1.08 Georgia,serif; letter-spacing:-.025em; }
.preco { margin:20px 0; color:var(--vinho); font-size:27px; font-weight:800; }
.descricao { padding-bottom:22px; margin:0; border-bottom:1px solid var(--linha); color:var(--texto); font:16px/1.7 Georgia,serif; white-space:pre-line; }
.opcoes-catalogo { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.opcoes-catalogo strong { display:block; margin-bottom:9px; color:#3f3439; font-size:13px; }
.chips { display:flex; flex-wrap:wrap; gap:7px; }
.chips span { display:inline-flex; align-items:center; min-height:34px; padding:7px 11px; border:1px solid #d5c7cc; border-radius:99px; color:#58494f; background:white; font-size:12px; }
.chips .sem-opcao { color:var(--texto); }
.aviso-catalogo { margin-top:24px; padding:17px 18px; border:1px solid #e3cbd6; border-radius:9px; background:#fff8fb; }
.aviso-catalogo strong { color:var(--vinho); font-family:Georgia,serif; font-size:17px; }
.aviso-catalogo p { margin:7px 0 0; color:var(--texto); font-size:13px; line-height:1.55; }
.acoes-secundarias { display:flex; gap:10px; margin-top:11px; }
.acoes-secundarias a, .acoes-secundarias button { flex:1; display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px; border:1px solid #cdbec4; border-radius:7px; color:#58494f; background:transparent; font-size:12px; font-weight:800; text-decoration:none; cursor:pointer; }
.garantias { display:grid; gap:0; margin-top:25px; border-top:1px solid var(--linha); }
.garantias p { display:grid; gap:4px; margin:0; padding:14px 0; border-bottom:1px solid var(--linha); }
.garantias strong { font-family:Georgia,serif; font-size:16px; }
.garantias span { color:var(--texto); font-size:12px; }
.carregando, .estado-erro { padding:70px 20px; text-align:center; color:var(--texto); }
.estado-erro h1 { color:var(--preto); font-family:Georgia,serif; }
.estado-erro a { color:var(--vinho); }
footer { display:flex; justify-content:center; gap:25px; padding:30px; border-top:1px solid var(--linha); background:white; }
footer a { color:var(--texto); font-size:13px; text-decoration:none; }

@media (prefers-reduced-motion: reduce) {
    * { transition:none !important; }
}

@media (max-width:800px) {
    #produto { padding:22px 16px 60px; }
    .produto-detalhes { grid-template-columns:1fr; gap:28px; }
    .imagem-principal { aspect-ratio:.82; }
    .informacoes { position:static; }
}
@media (max-width:430px) {
    .cabecalho-produto { padding:10px 14px; }
    .produto-detalhes { gap:20px; }
    .informacoes h1 { font-size:34px; }
    .opcoes-catalogo { grid-template-columns:1fr; }
    .acoes-secundarias, footer { flex-direction:column; }
}
