/* ===== CLARIELLE LINGERIE ===== */
:root{
  --blush:#fbe9ec; --blush2:#f6d6dc; --rosa:#d98a9b; --rose:#b9566d; --vinho:#8a3348;
  --ouro:#c59a4b; --ouro2:#e2c27f; --creme:#fffaf8; --texto:#4a2a33; --cinza:#8d7479;
  --borda:#f0d3d9; --sombra:0 10px 30px rgba(138,51,72,.10); --raio:14px;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Montserrat',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--texto);background:var(--creme);font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:0 auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--vinho);line-height:1.15}

/* topo */
.faixa-topo{background:linear-gradient(90deg,var(--vinho),var(--rose));color:#fff;text-align:center;font-size:12px;letter-spacing:.12em;padding:7px 10px;text-transform:uppercase}
.cabecalho{background:rgba(255,250,248,.96);backdrop-filter:blur(8px);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--borda)}
.cab-linha{display:flex;align-items:center;gap:24px;padding:14px 0}
.logo{display:flex;flex-direction:column;align-items:center;line-height:1}
.logo-nome{font-family:var(--serif);font-style:italic;font-weight:700;font-size:34px;background:linear-gradient(180deg,#b04a64,var(--vinho));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo-sub{font-size:10px;letter-spacing:.5em;color:var(--ouro);margin-top:2px;padding-left:.5em}
.busca{flex:1;display:flex;max-width:440px;margin-left:auto;border:1px solid var(--borda);border-radius:40px;background:#fff;overflow:hidden}
.busca input{flex:1;border:0;padding:10px 18px;font:inherit;outline:0;background:transparent}
.busca button{border:0;background:transparent;padding:0 16px;cursor:pointer;color:var(--rose);font-size:18px}
.cab-acoes{display:flex;gap:20px;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.cab-acoes a:hover{color:var(--rose)}
.sacola{position:relative}
.sacola b{position:absolute;top:-9px;right:-16px;background:var(--rose);color:#fff;font-size:11px;min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center}
.menu-cats{border-top:1px solid var(--borda)}
.menu-cats .container{display:flex;gap:30px;justify-content:center;padding:11px 0;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;overflow-x:auto;white-space:nowrap}
.menu-cats a{position:relative;padding-bottom:3px}
.menu-cats a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ouro);transform:scaleX(0);transition:.3s}
.menu-cats a:hover:after{transform:scaleX(1)}
.menu-btn{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px}
.menu-btn span{width:22px;height:2px;background:var(--vinho);display:block}

/* hero */
.hero{position:relative;background:radial-gradient(ellipse at 70% 40%,#fff 0,var(--blush) 45%,var(--blush2) 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;min-height:520px}
.hero-txt{padding:60px 0}
.hero-txt .pre{color:var(--ouro);letter-spacing:.35em;font-size:12px;text-transform:uppercase;margin-bottom:14px}
.hero-txt h1{font-size:clamp(40px,5.4vw,70px);font-style:italic;margin-bottom:18px}
.hero-txt p{font-size:16px;color:var(--cinza);max-width:460px;margin-bottom:30px}
.hero-img{align-self:stretch;position:relative}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.renda{position:absolute;width:260px;height:260px;opacity:.55;pointer-events:none;background:url("../img/renda.svg") no-repeat center/contain}
.renda.r1{top:-40px;left:-60px}
.renda.r2{bottom:-70px;right:-50px;transform:rotate(180deg)}

/* botoes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 34px;border-radius:40px;border:0;cursor:pointer;font:500 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;transition:.25s}
.btn-rosa{background:linear-gradient(135deg,var(--rose),var(--vinho));color:#fff;box-shadow:0 8px 22px rgba(138,51,72,.25)}
.btn-rosa:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(138,51,72,.32)}
.btn-linha{border:1px solid var(--rose);color:var(--rose);background:transparent}
.btn-linha:hover{background:var(--rose);color:#fff}
.btn-ouro{background:linear-gradient(135deg,var(--ouro2),var(--ouro));color:#fff}
.btn-bloco{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* beneficios */
.beneficios{background:#fff;border-bottom:1px solid var(--borda)}
.beneficios .container{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:22px 0}
.bene{display:flex;align-items:center;gap:12px;justify-content:center;font-size:13px}
.bene i{font-style:normal;width:40px;height:40px;border-radius:50%;background:var(--blush);display:grid;place-items:center;color:var(--rose);font-size:18px;flex-shrink:0}
.bene b{display:block;color:var(--vinho);font-weight:600}

/* secoes */
.secao{padding:70px 0}
.titulo-secao{text-align:center;margin-bottom:40px}
.titulo-secao span{color:var(--ouro);letter-spacing:.35em;font-size:11.5px;text-transform:uppercase}
.titulo-secao h2{font-size:clamp(30px,3.5vw,44px);font-style:italic;margin-top:6px}
.titulo-secao h2:after{content:'';display:block;width:70px;height:1px;background:var(--ouro);margin:14px auto 0}

/* categorias em circulo */
.cats-circ{display:flex;flex-wrap:wrap;justify-content:center;gap:34px}
.cat-c{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.cat-c .circ{width:130px;height:130px;border-radius:50%;background:linear-gradient(145deg,#fff,var(--blush2));border:1px solid var(--ouro2);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:46px;color:var(--rose);transition:.3s;box-shadow:var(--sombra)}
.cat-c .circ{overflow:hidden}
.cat-c .circ img{width:100%;height:100%;object-fit:cover;transition:.4s}
.cat-c:hover .circ img{transform:scale(1.08)}
.cat-c:hover .circ{transform:translateY(-4px);border-color:var(--rose)}

/* vitrine */
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.card{background:#fff;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);transition:.3s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(138,51,72,.16)}
.card-foto{position:relative;aspect-ratio:3/4;background:var(--blush)}
.card-foto img{width:100%;height:100%;object-fit:cover}
.selo{position:absolute;top:12px;left:12px;background:var(--rose);color:#fff;font-size:11px;padding:4px 10px;border-radius:20px;letter-spacing:.08em}
.selo-cinza{background:#9b8a8e}
.card-info{padding:16px 16px 18px;text-align:center}
.card-info h3{font-size:20px;font-weight:600;margin-bottom:6px;color:var(--texto)}
.precos s{color:var(--cinza);font-size:13px;margin-right:6px}
.precos strong{color:var(--vinho);font-size:17px}
.card-info small{color:var(--cinza);font-size:12px}

/* faixa emocional */
.faixa-amor{background:linear-gradient(120deg,var(--vinho),var(--rose));color:#fff;text-align:center;padding:70px 0;position:relative;overflow:hidden}
.faixa-amor h2{color:#fff;font-style:italic;font-size:clamp(30px,4vw,48px);margin-bottom:12px}
.faixa-amor p{opacity:.9;max-width:560px;margin:0 auto 26px}

/* loja / filtros */
.loja-topo{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.loja-topo h1{font-size:40px;font-style:italic}
.filtro select{border:1px solid var(--borda);background:#fff;border-radius:30px;padding:9px 16px;font:inherit}
.vazio{text-align:center;padding:60px 20px;color:var(--cinza)}

/* produto */
.prod{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding:50px 0}
.galeria-principal{border-radius:var(--raio);overflow:hidden;background:var(--blush);aspect-ratio:3/4}
.galeria-principal img{width:100%;height:100%;object-fit:cover}
.miniaturas{display:flex;gap:10px;margin-top:12px}
.miniaturas img{width:78px;height:100px;object-fit:cover;border-radius:10px;cursor:pointer;border:2px solid transparent;opacity:.75}
.miniaturas img.ativa,.miniaturas img:hover{border-color:var(--rose);opacity:1}
.prod-info h1{font-size:42px;font-style:italic;margin-bottom:10px}
.prod-preco{margin:14px 0 6px}
.prod-preco s{color:var(--cinza);margin-right:10px}
.prod-preco strong{font-size:30px;color:var(--vinho);font-family:var(--serif)}
.parcela{color:var(--cinza);font-size:13px;margin-bottom:22px}
.rotulo{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin:18px 0 10px}
.opcoes{display:flex;flex-wrap:wrap;gap:10px}
.opcao input{display:none}
.opcao span{display:block;min-width:52px;text-align:center;padding:9px 14px;border:1px solid var(--borda);border-radius:30px;cursor:pointer;background:#fff;transition:.2s}
.opcao input:checked+span{background:var(--rose);border-color:var(--rose);color:#fff}
.opcao.sem span{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.qtd{display:inline-flex;border:1px solid var(--borda);border-radius:30px;overflow:hidden;background:#fff}
.qtd button{border:0;background:none;width:38px;font-size:18px;cursor:pointer;color:var(--rose)}
.qtd input{width:44px;border:0;text-align:center;font:inherit;outline:0}
.prod-acoes{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.prod-desc{margin-top:34px;border-top:1px solid var(--borda);padding-top:24px;color:#6b4e56;white-space:pre-line}
.estoque-aviso{color:var(--rose);font-size:13px;margin-top:10px;min-height:20px}
.selos-prod{display:flex;gap:18px;margin-top:26px;font-size:12.5px;color:var(--cinza);flex-wrap:wrap}

/* carrinho / checkout */
.pagina{padding:50px 0 80px}
.pagina h1{font-size:40px;font-style:italic;margin-bottom:26px}
.duas-col{display:grid;grid-template-columns:1.6fr 1fr;gap:34px;align-items:start}
.caixa{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:26px}
.caixa h2{font-size:26px;margin-bottom:16px}
.item-car{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--borda)}
.item-car img{width:80px;height:100px;object-fit:cover;border-radius:10px}
.item-car h3{font-size:19px;color:var(--texto)}
.item-car small{color:var(--cinza)}
.remover{background:none;border:0;color:var(--cinza);cursor:pointer;font-size:12px;text-decoration:underline}
.resumo-linha{display:flex;justify-content:space-between;padding:8px 0}
.resumo-total{border-top:1px solid var(--borda);margin-top:8px;padding-top:14px;font-size:20px;font-weight:600;color:var(--vinho)}
.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.campo label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cinza)}
.campo input,.campo select,.campo textarea{border:1px solid var(--borda);border-radius:10px;padding:11px 14px;font:inherit;background:#fff;outline:0}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--rosa);box-shadow:0 0 0 3px rgba(217,138,155,.15)}
.linha-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.frete-op{display:flex;align-items:center;gap:12px;border:1px solid var(--borda);border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:pointer;background:#fff}
.frete-op:has(input:checked){border-color:var(--rose);background:var(--blush)}
.frete-op .fv{margin-left:auto;font-weight:600;color:var(--vinho)}
.frete-op small{display:block;color:var(--cinza)}
.cep-linha{display:flex;gap:10px}
.cep-linha input{flex:1}
.alerta{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}
.alerta-ok{background:#e8f5e9;color:#2e7d32}
.alerta-erro{background:#fdecea;color:#b3261e}
.alerta-info{background:var(--blush);color:var(--vinho)}
.badge{display:inline-block;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;letter-spacing:.04em}
.linha-tempo{list-style:none;border-left:2px solid var(--borda);margin:20px 0 0 8px;padding-left:20px}
.linha-tempo li{position:relative;margin-bottom:16px}
.linha-tempo li:before{content:'';position:absolute;left:-27px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--rose)}
.linha-tempo small{color:var(--cinza)}
.texto-pagina{max-width:760px}
.texto-pagina h2{font-size:26px;margin:24px 0 8px}
.texto-pagina p,.texto-pagina li{color:#6b4e56;margin-bottom:10px}
.texto-pagina ul{padding-left:20px}
table.medidas{border-collapse:collapse;width:100%;margin:10px 0 20px;background:#fff}
table.medidas th,table.medidas td{border:1px solid var(--borda);padding:8px;text-align:center}
table.medidas th{background:var(--blush);color:var(--vinho)}

/* rodape */
.rodape{background:#2f1a20;color:#e9d3d8;padding:60px 0 0;margin-top:40px}
.rod-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:34px}
.rodape h4{font-family:var(--serif);font-size:20px;color:var(--ouro2);margin-bottom:14px;font-weight:600}
.rodape a{display:block;margin-bottom:8px;font-size:14px;opacity:.85}
.rodape a:hover{opacity:1;color:#fff}
.rod-logo{align-items:flex-start;margin-bottom:12px}
.rod-logo .logo-nome{background:linear-gradient(180deg,#f3c6d0,#e09aac);-webkit-background-clip:text;background-clip:text}
.redes{display:flex;gap:12px;margin-top:16px}
.redes a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(226,194,127,.55);opacity:1;margin:0;transition:.25s}
.redes a:hover{background:var(--ouro);border-color:var(--ouro)}
.redes svg{width:20px;height:20px;fill:#f3d9df}
.contato-rod{margin-top:14px;font-size:14px;line-height:1.9}
.contato-rod a{display:flex;align-items:center;gap:8px;margin:0}
.contato-rod svg{width:16px;height:16px;fill:var(--ouro2);flex-shrink:0}
.formas{font-size:14px}
.mini{font-size:12px;opacity:.7;margin-top:8px}
.rod-fim{text-align:center;font-size:12px;opacity:.6;padding:22px 0;margin-top:40px;border-top:1px solid rgba(255,255,255,.08)}
.wa-flutuante{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.2);z-index:60}

/* celular */
@media (max-width:980px){
  .grade{grid-template-columns:repeat(3,1fr)}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-img{height:300px;order:-1}
  .hero-img img{-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
  .hero-txt{padding:10px 0 50px;text-align:center}
  .hero-txt p{margin-left:auto;margin-right:auto}
  .prod,.duas-col{grid-template-columns:1fr}
  .rod-grid{grid-template-columns:1fr 1fr}
  .beneficios .container{grid-template-columns:1fr 1fr;gap:18px}
}
@media (max-width:640px){
  .grade{grid-template-columns:1fr 1fr;gap:14px}
  .card-info h3{font-size:17px}
  .busca{display:none}
  .menu-btn{display:flex}
  .cab-linha{gap:12px}
  .logo{margin:0 auto}
  .logo-nome{font-size:28px}
  .cab-acoes a[href="pedido.php"]{display:none}
  .menu-cats{display:none}
  body.menu-aberto .menu-cats{display:block}
  body.menu-aberto .menu-cats .container{flex-direction:column;gap:14px;align-items:center}
  .cat-c .circ{width:96px;height:96px;font-size:34px}
  .cats-circ{gap:18px}
  .rod-grid{grid-template-columns:1fr}
  .bene{justify-content:flex-start}
  .item-car{grid-template-columns:64px 1fr;}
  .item-car img{width:64px;height:82px}
}
