/* ===================== DARIPE SEMIJOIAS — ESTILO ===================== */
/* Paleta extraída da logo: vinho/bordô escuro + rosé-gold (pêssego) */
:root{
  --ouro: #a8664c;         /* rosé-gold médio (acentos, bordas, links) */
  --ouro-claro: #e3b696;   /* pêssego claro (destaques, gradientes) */
  --ouro-escuro: #6d2740;  /* vinho-rosado (selos, hover) */
  --preto: #2f1019;        /* vinho quase-preto (texto principal, fundo escuro) */
  --preto-suave: #4a1c2b;  /* vinho escuro (gradientes, footer) */
  --creme: #faf3ef;        /* fundo geral, creme rosado */
  --branco: #ffffff;
  --cinza: #7d6a63;
  --linha: #ecdcd3;
  --sombra: 0 10px 30px rgba(47,16,25,.10);
  --radius: 14px;
  --fonte-titulo: 'Playfair Display', Georgia, serif;
  --fonte-corpo: 'Poppins', Arial, sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}

html{scroll-behavior:smooth;}

body{
  font-family: var(--fonte-corpo);
  color: var(--preto);
  background: var(--creme);
  line-height:1.6;
}

img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer;}

.container{
  width:92%;
  max-width:1180px;
  margin:0 auto;
}

h1,h2,h3,h4{font-family: var(--fonte-titulo); font-weight:700; color:var(--preto);}

.secao{padding:70px 0;}
.secao-alt{background:var(--branco);}

.titulo-secao{
  text-align:center;
  margin-bottom:14px;
  font-size:2.1rem;
}
.subtitulo-secao{
  text-align:center;
  color:var(--cinza);
  max-width:640px;
  margin:0 auto 46px;
  font-size:1rem;
}
.linha-ouro{
  width:64px;
  height:3px;
  background: var(--ouro-escuro);
  margin: 12px auto 0;
  border-radius:3px;
}
.linha-ouro.esquerda{margin:12px 0 0;}

/* ===================== BOTÕES ===================== */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 30px;
  border-radius:50px;
  font-weight:600;
  font-size:.95rem;
  border:2px solid transparent;
  transition:.25s ease;
}
.btn-primario{
  background: var(--preto);
  color:var(--branco);
  box-shadow: 0 6px 16px rgba(47,16,25,.18);
}
.btn-primario:hover{transform:translateY(-2px); background:var(--preto-suave); box-shadow:0 10px 22px rgba(47,16,25,.24);}
.btn-secundario{
  background:transparent;
  border-color: var(--ouro);
  color: var(--ouro-escuro);
}
.btn-secundario:hover{background:var(--ouro); color:var(--branco);}
.btn-whatsapp{
  background:var(--ouro-escuro);
  color:#fff;
}
.btn-whatsapp:hover{transform:translateY(-2px); background:var(--preto);}

/* ===================== TOPO / AVISO ===================== */
.faixa-topo{
  background:var(--preto);
  color:var(--ouro-claro);
  text-align:center;
  font-size:.82rem;
  letter-spacing:.5px;
  padding:8px 12px;
}

/* ===================== HEADER ===================== */
header{
  position:sticky; top:0; z-index:100;
  background: rgba(250,243,239,.92);
  backdrop-filter: blur(6px);
  border-bottom:1px solid var(--linha);
}
.navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family: var(--fonte-titulo);
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:1.5px;
  color:var(--preto);
}
.logo img{width:42px; height:42px; border-radius:50%; display:block;}
.logo span{color:var(--ouro); display:block; font-size:.62rem; font-weight:500; letter-spacing:2.5px; font-family:var(--fonte-corpo); margin-top:2px;}
.logo .texto-logo{display:flex; flex-direction:column; line-height:1.05;}
.menu{
  display:flex;
  gap:34px;
  font-size:.92rem;
  font-weight:500;
}
.menu a{position:relative; padding:4px 0;}
.menu a::after{
  content:"";
  position:absolute; left:0; bottom:-2px;
  width:0; height:2px;
  background:var(--ouro);
  transition:.25s;
}
.menu a:hover::after{width:100%;}
.acoes-header{display:flex; align-items:center; gap:16px;}
.icone-carrinho{position:relative; font-size:1.3rem;}
.contador-carrinho{
  position:absolute; top:-8px; right:-10px;
  background:var(--ouro-escuro); color:#fff;
  font-size:.68rem; font-weight:700;
  width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.btn-menu-mobile{display:none; font-size:1.5rem; background:none; border:none;}

@media(max-width:900px){
  .menu{
    position:fixed; top:0; right:-100%; height:100vh; width:78%; max-width:320px;
    background:var(--branco);
    flex-direction:column;
    padding:90px 32px; gap:26px;
    box-shadow:-10px 0 30px rgba(0,0,0,.12);
    transition:.35s ease;
  }
  .menu.aberto{right:0;}
  .btn-menu-mobile{display:block;}
}

/* ===================== HERO ===================== */
.hero{
  position:relative;
  padding:90px 0 80px;
  background:
    radial-gradient(circle at 85% 15%, rgba(227,182,150,.18), transparent 50%),
    var(--preto);
  color:var(--branco);
  overflow:hidden;
}
.hero .container{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:50px;
  align-items:center;
}
.hero-tag{
  display:inline-block;
  color:var(--ouro-claro);
  border:1px solid var(--ouro);
  border-radius:50px;
  padding:6px 16px;
  font-size:.78rem;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:18px;
}
.hero h1{
  font-size:2.9rem;
  color:var(--branco);
  line-height:1.2;
  margin-bottom:18px;
}
.hero h1 em{color:var(--ouro-claro); font-style:normal;}
.hero p{
  color:#d8d3c8;
  max-width:480px;
  margin-bottom:30px;
  font-size:1.02rem;
}
.hero-botoes{display:flex; gap:16px; flex-wrap:wrap;}
.hero-visual{
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.circulo-hero{
  width:340px; height:340px; border-radius:50%;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 30px 60px rgba(0,0,0,.4), 0 0 0 8px rgba(227,182,150,.12);
}
.circulo-hero img{width:100%; height:100%; object-fit:cover;}
.selo-flutuante{
  position:absolute;
  background:var(--branco);
  color:var(--preto);
  padding:12px 18px;
  border-radius:12px;
  font-size:.8rem;
  font-weight:600;
  box-shadow: var(--sombra);
  display:flex; align-items:center; gap:8px;
}
.selo-1{top:10%; left:-4%;}
.selo-2{bottom:8%; right:-2%;}

@media(max-width:900px){
  .hero .container{grid-template-columns:1fr; text-align:center;}
  .hero p{margin-left:auto; margin-right:auto;}
  .hero-botoes{justify-content:center;}
  .hero-visual{margin-top:20px;}
  .circulo-hero{width:230px; height:230px;}
  .hero h1{font-size:2.1rem;}
}

/* ===================== FAIXA CONFIANÇA ===================== */
.faixa-confianca{
  background:var(--branco);
  border-bottom:1px solid var(--linha);
  padding:26px 0;
}
.faixa-confianca .container{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  text-align:center;
}
.item-confianca{font-size:.85rem; color:var(--cinza); font-weight:500;}
.item-confianca span{display:block; font-size:1.6rem; margin-bottom:6px; filter:grayscale(85%) contrast(1.05) opacity(.85);}
@media(max-width:700px){.faixa-confianca .container{grid-template-columns:repeat(2,1fr);}}

/* ===================== SOBRE A SEMIJOIA (INFO) ===================== */
.grade-info{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.card-info{
  background:var(--creme);
  border:1px solid var(--linha);
  border-radius:var(--radius);
  padding:30px 26px;
  transition:.25s;
}
.card-info:hover{transform:translateY(-6px); box-shadow:var(--sombra);}
.card-info .icone{font-size:2.1rem; margin-bottom:14px; filter:grayscale(85%) contrast(1.05) opacity(.85);}
.card-info h3{font-size:1.1rem; margin-bottom:10px;}
.card-info p{font-size:.9rem; color:var(--cinza);}
@media(max-width:850px){.grade-info{grid-template-columns:1fr;}}

.bloco-explicativo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
  margin-top:60px;
}
.bloco-explicativo .caixa{
  background:var(--preto);
  color:var(--creme);
  border-radius:var(--radius);
  padding:36px;
}
.bloco-explicativo h3{color:var(--ouro-claro); margin-bottom:16px; font-size:1.3rem;}
.bloco-explicativo ul li{
  padding:8px 0 8px 26px;
  position:relative;
  font-size:.92rem;
  color:#e5e0d3;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.bloco-explicativo ul li:last-child{border-bottom:none;}
.bloco-explicativo ul li::before{
  content:"✓";
  position:absolute; left:0; top:8px;
  color:var(--ouro-claro); font-weight:700;
}
.texto-explicativo h3{margin-bottom:14px; font-size:1.4rem;}
.texto-explicativo p{color:var(--cinza); margin-bottom:14px; font-size:.95rem;}
@media(max-width:850px){.bloco-explicativo{grid-template-columns:1fr;}}

/* ===================== CATÁLOGO / PRODUTOS ===================== */
.filtros{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-bottom:40px;
}
.filtro-btn{
  padding:10px 22px;
  border-radius:50px;
  border:1px solid var(--linha);
  background:var(--branco);
  font-size:.85rem;
  font-weight:600;
  color:var(--cinza);
  transition:.2s;
}
.filtro-btn:hover{border-color:var(--ouro);}
.filtro-btn.ativo{
  background: var(--ouro);
  color:var(--branco);
  border-color:var(--ouro);
}

.barra-busca{
  max-width:420px;
  margin:0 auto 40px;
  position:relative;
}
.barra-busca input{
  width:100%;
  padding:13px 20px 13px 42px;
  border-radius:50px;
  border:1px solid var(--linha);
  font-family:inherit;
  font-size:.9rem;
  background:var(--branco);
}
.barra-busca input:focus{outline:none; border-color:var(--ouro);}
.barra-busca .icone-busca{position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--cinza);}

.grade-produtos{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}
@media(max-width:1050px){.grade-produtos{grid-template-columns:repeat(3,1fr);}}
@media(max-width:760px){.grade-produtos{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.grade-produtos{grid-template-columns:1fr;}}

.card-produto{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--radius);
  overflow:hidden;
  transition:.25s;
  display:flex;
  flex-direction:column;
  position:relative;
}
.card-produto:hover{transform:translateY(-6px); box-shadow:var(--sombra);}
.selo-produto{
  position:absolute; top:12px; left:12px;
  background:var(--ouro-escuro); color:#fff;
  font-size:.7rem; font-weight:700;
  padding:5px 11px; border-radius:50px;
  text-transform:uppercase; letter-spacing:.4px;
  z-index:2;
}
.selo-produto.novidade{background:var(--preto);}
.imagem-produto{
  height:200px;
  background:var(--creme);
  display:flex; align-items:center; justify-content:center;
  font-size:4rem;
}
.imagem-produto img{width:100%; height:100%; object-fit:cover;}
.emoji-produto{filter:grayscale(85%) contrast(1.05) opacity(.85);}
.info-produto{padding:18px 18px 20px; display:flex; flex-direction:column; flex:1;}
.categoria-produto{font-size:.72rem; text-transform:uppercase; letter-spacing:.6px; color:var(--ouro-escuro); font-weight:700; margin-bottom:6px;}
.nome-produto{font-size:1.02rem; margin-bottom:6px; font-family:var(--fonte-titulo);}
.material-produto{font-size:.78rem; color:var(--cinza); margin-bottom:12px;}
.linha-preco{display:flex; align-items:baseline; gap:8px; margin-bottom:14px;}
.preco-antigo{font-size:.82rem; color:#a39d8f; text-decoration:line-through;}
.preco-atual{font-size:1.25rem; font-weight:700; color:var(--preto);}
.botoes-produto{display:flex; gap:8px; margin-top:auto;}
.botoes-produto .btn{flex:1; justify-content:center; padding:10px 14px; font-size:.82rem;}

.aviso-vazio{
  text-align:center;
  color:var(--cinza);
  padding:60px 20px;
  display:none;
}

/* ===================== CUIDADOS ===================== */
.grade-cuidados{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.card-cuidado{
  text-align:center;
  padding:24px 16px;
}
.card-cuidado .numero{
  width:44px; height:44px;
  border-radius:50%;
  background: var(--ouro-escuro);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:700;
  margin:0 auto 14px;
}
.card-cuidado h4{font-size:.98rem; margin-bottom:8px;}
.card-cuidado p{font-size:.85rem; color:var(--cinza);}
@media(max-width:850px){.grade-cuidados{grid-template-columns:repeat(2,1fr);}}

/* ===================== DEPOIMENTOS ===================== */
.grade-depoimentos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.card-depoimento{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--radius);
  padding:26px;
}
.estrelas{color:var(--ouro); margin-bottom:12px; font-size:.95rem;}
.card-depoimento p{font-size:.9rem; color:var(--preto); margin-bottom:16px; font-style:italic;}
.autor-depoimento{display:flex; align-items:center; gap:10px;}
.avatar-depoimento{
  width:38px; height:38px; border-radius:50%;
  background: var(--ouro-escuro);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:.85rem;
}
.autor-depoimento span{font-size:.85rem; font-weight:600;}
@media(max-width:850px){.grade-depoimentos{grid-template-columns:1fr;}}

/* ===================== FAQ ===================== */
.faq-item{
  border-bottom:1px solid var(--linha);
  padding:18px 0;
}
.faq-pergunta{
  display:flex; justify-content:space-between; align-items:center;
  cursor:pointer;
  font-weight:600;
  font-size:.98rem;
}
.faq-pergunta .sinal{color:var(--ouro-escuro); font-size:1.3rem; transition:.25s;}
.faq-item.aberto .sinal{transform:rotate(45deg);}
.faq-resposta{
  max-height:0;
  overflow:hidden;
  transition:.3s ease;
  color:var(--cinza);
  font-size:.9rem;
}
.faq-item.aberto .faq-resposta{max-height:260px; margin-top:12px;}

/* ===================== CONTATO ===================== */
.grade-contato{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}
.card-contato-item{
  display:flex; gap:16px; align-items:flex-start;
  margin-bottom:24px;
}
.card-contato-item .icone{
  width:46px; height:46px; border-radius:50%;
  background: var(--preto); color:var(--ouro-claro);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; flex-shrink:0;
}
.card-contato-item h4{font-size:.98rem; margin-bottom:4px;}
.card-contato-item p{font-size:.85rem; color:var(--cinza);}
.form-contato{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--radius);
  padding:32px;
}
.form-contato input, .form-contato textarea{
  width:100%;
  padding:13px 16px;
  border:1px solid var(--linha);
  border-radius:10px;
  font-family:inherit;
  font-size:.9rem;
  margin-bottom:16px;
}
.form-contato textarea{min-height:110px; resize:vertical;}
.form-contato input:focus, .form-contato textarea:focus{outline:none; border-color:var(--ouro);}
.form-contato .btn{width:100%; justify-content:center;}
@media(max-width:850px){.grade-contato{grid-template-columns:1fr;}}

/* ===================== NEWSLETTER ===================== */
.newsletter{
  background: linear-gradient(120deg, var(--preto), var(--preto-suave));
  color:var(--branco);
  text-align:center;
  padding:60px 0;
}
.newsletter h2{color:var(--branco); margin-bottom:10px;}
.newsletter p{color:#cfc8b8; margin-bottom:26px;}
.form-newsletter{
  display:flex; gap:12px; max-width:440px; margin:0 auto; flex-wrap:wrap; justify-content:center;
}
.form-newsletter input{
  flex:1; min-width:220px;
  padding:13px 18px;
  border-radius:50px;
  border:none;
  font-family:inherit;
}

/* ===================== FOOTER ===================== */
footer{
  background:var(--preto);
  color:#cfc8b8;
  padding:60px 0 20px;
}
.grade-footer{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.3fr;
  gap:36px;
  padding-bottom:36px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.grade-footer h4{color:var(--ouro-claro); font-size:.95rem; margin-bottom:16px;}
.grade-footer p{font-size:.85rem; line-height:1.7;}
.grade-footer ul li{margin-bottom:10px; font-size:.85rem;}
.grade-footer ul li a:hover{color:var(--ouro-claro);}
.redes-sociais{display:flex; gap:12px; margin-top:16px;}
.redes-sociais a{
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
}
.redes-sociais a:hover{background:var(--ouro);}
.copyright{
  text-align:center;
  padding-top:22px;
  font-size:.8rem;
  color:#948c7a;
}
@media(max-width:850px){.grade-footer{grid-template-columns:1fr 1fr; row-gap:30px;}}
@media(max-width:500px){.grade-footer{grid-template-columns:1fr;}}

/* ===================== BOTÃO WHATSAPP FLUTUANTE ===================== */
.whats-flutuante{
  position:fixed;
  bottom:24px; right:24px;
  width:60px; height:60px;
  background:var(--preto);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem;
  color:#fff;
  box-shadow:0 10px 26px rgba(47,16,25,.35);
  z-index:99;
  transition:.25s;
}
.whats-flutuante:hover{transform:scale(1.08);}

/* ===================== MODAL PRODUTO ===================== */
.modal-fundo{
  display:none;
  position:fixed; inset:0;
  background:rgba(26,23,18,.6);
  z-index:200;
  align-items:center; justify-content:center;
  padding:20px;
}
.modal-fundo.ativo{display:flex;}
.modal-produto{
  background:var(--branco);
  border-radius:var(--radius);
  max-width:640px; width:100%;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  max-height:90vh;
}
.modal-fechar{
  position:absolute; top:16px; right:20px;
  font-size:1.6rem; cursor:pointer; color:var(--branco); z-index:5;
}
.modal-imagem{
  background: var(--creme);
  display:flex; align-items:center; justify-content:center;
  font-size:6rem;
  position:relative;
}
.modal-imagem img{width:100%; height:100%; object-fit:cover;}
.modal-info{padding:30px; overflow-y:auto;}
.modal-info h3{margin-bottom:8px;}
.modal-info .categoria-produto{margin-bottom:10px;}
.modal-info .linha-preco{margin:16px 0;}
.modal-info p{font-size:.9rem; color:var(--cinza); margin-bottom:18px;}
@media(max-width:600px){.modal-produto{grid-template-columns:1fr;} .modal-imagem{height:180px; font-size:4rem;}}

/* ===================== TOAST (aviso) ===================== */
.toast{
  position:fixed;
  bottom:100px; right:24px;
  background:var(--preto);
  color:var(--branco);
  padding:14px 22px;
  border-radius:10px;
  font-size:.85rem;
  box-shadow:var(--sombra);
  z-index:300;
  opacity:0;
  transform:translateY(10px);
  transition:.3s;
  pointer-events:none;
}
.toast.mostrar{opacity:1; transform:translateY(0);}

/* ===================== UTIL ===================== */
.centralizado{text-align:center;}
.mt-40{margin-top:40px;}

/* ===================== CONTA / CARRINHO — ÍCONES DO HEADER ===================== */
.icone-conta{
  background:none; border:none; font-size:1.3rem; cursor:pointer; color:var(--preto);
  display:flex; align-items:center;
}
.acoes-header .icone-carrinho{
  position:relative; background:none; border:none; font-size:1.3rem; cursor:pointer; color:var(--preto);
  display:flex; align-items:center;
}
.acoes-header .contador-carrinho{
  position:absolute; top:-8px; right:-10px;
  background:var(--ouro-escuro); color:#fff;
  font-size:.65rem; font-weight:700;
  min-width:18px; height:18px; padding:0 3px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}

/* ===================== MODAL DE CONTA / CHECKOUT ===================== */
.modal-conta{
  background:var(--branco);
  border-radius:var(--radius);
  max-width:520px; width:100%;
  max-height:90vh; overflow-y:auto;
  padding:36px 32px;
  position:relative;
}
.modal-fechar-escuro{
  position:absolute; top:16px; right:20px;
  font-size:1.4rem; cursor:pointer; color:var(--cinza);
}
.titulo-modal-conta{font-size:1.4rem; margin-bottom:18px;}
.texto-confirmacao{font-size:.92rem; color:var(--cinza); line-height:1.7; margin-bottom:20px;}

.conta-tabs{display:flex; gap:8px; margin-bottom:22px; border-bottom:1px solid var(--linha);}
.conta-tab{
  background:none; border:none; padding:10px 4px; margin-right:18px;
  font-size:.92rem; font-weight:600; color:var(--cinza); cursor:pointer;
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.conta-tab.ativo{color:var(--ouro-escuro); border-bottom-color:var(--ouro);}
.abas-conta-logada{display:flex; flex-wrap:wrap; gap:4px 18px; margin-bottom:20px; border-bottom:1px solid var(--linha);}

.form-conta{display:flex; flex-direction:column;}
.form-conta label{font-size:.8rem; font-weight:600; color:#4a4038; margin:12px 0 6px;}
.form-conta label:first-child{margin-top:0;}
.form-conta input, .form-conta select, .form-conta textarea{
  padding:11px 14px; border:1px solid var(--linha); border-radius:8px;
  font-family:inherit; font-size:.88rem;
}
.form-conta input:focus, .form-conta select:focus, .form-conta textarea:focus{outline:none; border-color:var(--ouro);}
.form-conta input:disabled{background:var(--creme); color:var(--cinza);}
.form-conta button{margin-top:18px;}

.linha-checkbox{
  display:flex !important; flex-direction:row !important; align-items:flex-start; gap:10px;
  font-size:.8rem !important; font-weight:400 !important; color:var(--cinza);
  margin-top:14px !important;
}
.linha-checkbox input{width:auto !important; margin-top:3px; flex-shrink:0;}
.linha-checkbox a{color:var(--ouro-escuro); text-decoration:underline;}

.link-secundario{
  text-align:center; font-size:.82rem; color:var(--ouro-escuro);
  margin-top:14px; cursor:pointer; text-decoration:underline;
}
.aviso-campos-obrig{font-size:.72rem; color:var(--cinza); text-align:center; margin-top:10px;}

.linha-dois-campos{display:grid; grid-template-columns:1fr 1fr; gap:12px;}

.select-checkout{
  width:100%; padding:11px 14px; border:1px solid var(--linha); border-radius:8px;
  font-family:inherit; font-size:.88rem;
}

.secao-conta{padding-top:4px;}

.card-endereco{
  border:1px solid var(--linha); border-radius:10px; padding:14px 16px; margin-bottom:12px; font-size:.85rem;
}
.card-endereco p{margin-bottom:2px;}
.tag-padrao{
  display:inline-block; background:var(--ouro-claro); color:var(--preto);
  font-size:.65rem; font-weight:700; padding:2px 8px; border-radius:50px; margin-left:6px;
}

.card-pedido{border:1px solid var(--linha); border-radius:10px; padding:14px 16px; margin-bottom:12px;}
.topo-card-pedido{display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; font-size:.85rem;}
.status-pedido{
  background:var(--creme); border:1px solid var(--linha); color:var(--ouro-escuro);
  font-size:.7rem; font-weight:700; padding:3px 10px; border-radius:50px;
}
.itens-pedido-lista{font-size:.82rem; color:var(--cinza); padding-left:2px; margin:8px 0;}
.itens-pedido-lista li{list-style:none; padding:2px 0;}
.total-pedido{font-size:.9rem; font-weight:700; margin-top:6px;}

.carrinho-vazio{text-align:center; color:var(--cinza); font-size:.88rem; padding:30px 10px;}

/* ===================== PAINEL CARRINHO (gaveta lateral) ===================== */
.fundo-painel{
  display:none; position:fixed; inset:0; background:rgba(47,16,25,.5); z-index:190;
}
.fundo-painel.ativo{display:block;}

.painel-carrinho{
  position:fixed; top:0; right:-100%; height:100vh; width:92%; max-width:400px;
  background:var(--branco); z-index:195;
  display:flex; flex-direction:column;
  box-shadow:-10px 0 30px rgba(0,0,0,.15);
  transition:right .3s ease;
}
.painel-carrinho.aberto{right:0;}
.topo-painel{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 24px; border-bottom:1px solid var(--linha);
}
.topo-painel h3{font-size:1.15rem;}
.itens-carrinho{flex:1; overflow-y:auto; padding:16px 24px;}

.item-carrinho{display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--linha);}
.item-carrinho:last-child{border-bottom:none;}
.imagem-item-carrinho{
  width:60px; height:60px; border-radius:10px; flex-shrink:0;
  background:var(--creme);
  display:flex; align-items:center; justify-content:center; font-size:1.8rem; overflow:hidden;
}
.imagem-item-carrinho img{width:100%; height:100%; object-fit:cover;}
.info-item-carrinho{flex:1;}
.nome-item-carrinho{font-size:.88rem; font-weight:600; margin-bottom:2px;}
.preco-item-carrinho{font-size:.82rem; color:var(--cinza); margin-bottom:8px;}
.qtd-carrinho{display:flex; align-items:center; gap:10px;}
.qtd-carrinho button{
  width:26px; height:26px; border-radius:50%; border:1px solid var(--linha); background:var(--branco);
  font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.qtd-carrinho span{font-size:.85rem; font-weight:600; min-width:16px; text-align:center;}
.remover-item{border:none !important; background:none !important; margin-left:auto; font-size:.9rem;}

.rodape-carrinho{padding:18px 24px 24px; border-top:1px solid var(--linha);}
.total-carrinho{display:flex; justify-content:space-between; align-items:center; font-size:1.05rem; margin-bottom:14px;}
.total-carrinho strong{color:var(--ouro-escuro); font-size:1.2rem;}

@media(max-width:600px){
  .modal-conta{padding:26px 20px;}
  .linha-dois-campos{grid-template-columns:1fr;}
}
