/* ==========================================================================
   Brasília Indica — página do café (loja)
   Carregada só em /cafe/. Depende das variáveis de estilo.css.
   ========================================================================== */

.aviso-teste{background:var(--laranja);color:var(--azul-esc);font-size:.88rem;padding:11px 0;font-weight:600;line-height:1.5}
.aviso-teste b{font-weight:900}

.produto{padding:clamp(24px,4vw,52px) 0 clamp(30px,4vw,56px);position:relative;overflow:hidden}
.produto__grade{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,58px);align-items:start}
@media (max-width:900px){.produto__grade{grid-template-columns:1fr;gap:26px}}

/* galeria */
.galeria{position:sticky;top:112px}
@media (max-width:900px){.galeria{position:static}}
.galeria__principal{
  aspect-ratio:1/1;border-radius:var(--raio);overflow:hidden;background:var(--creme-2);
  box-shadow:var(--sombra);
}
.galeria__principal img{width:100%;height:100%;object-fit:cover}
.galeria__miniaturas{display:flex;gap:10px;margin-top:12px}
.galeria__miniaturas button{
  flex:1;aspect-ratio:1/1;border-radius:10px;overflow:hidden;border:2px solid transparent;
  background:var(--creme-2);padding:0;cursor:pointer;transition:border-color .18s ease;
}
.galeria__miniaturas button[aria-current="true"]{border-color:var(--laranja)}
.galeria__miniaturas img{width:100%;height:100%;object-fit:cover;display:block}

/* painel de compra */
.compra h1{
  font-family:var(--fonte-titulo);font-weight:800;letter-spacing:-.02em;line-height:1.05;
  font-size:clamp(1.9rem,3.6vw,2.9rem);margin:14px 0 12px;
}
.compra__linha{font-size:1.05rem;color:#4c4e68;margin:0 0 18px;max-width:52ch}
.notas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.notas li{
  background:var(--creme-2);color:var(--azul);font-size:.78rem;font-weight:700;
  padding:7px 13px;border-radius:999px;letter-spacing:.01em;
}
.compra__preco{display:flex;align-items:baseline;gap:10px;margin:0 0 4px}
.compra__preco b{font-family:var(--fonte-display);font-size:clamp(2rem,4vw,2.8rem);color:var(--azul);font-weight:400;letter-spacing:.01em}
.compra__preco s{color:var(--taupe);font-size:1rem}
.compra__preco em{font-style:normal;font-size:.82rem;color:var(--verde);font-weight:800;background:rgba(74,107,82,.12);padding:4px 10px;border-radius:999px}
.compra__rende{font-size:.82rem;color:var(--taupe);margin:0 0 22px}

.campo{margin-bottom:20px}
.campo__titulo{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;
  font-size:.74rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--azul);
}
.campo__titulo span{font-weight:600;letter-spacing:0;text-transform:none;color:var(--taupe);font-size:.8rem}
.opcoes{display:flex;flex-wrap:wrap;gap:9px}
.opcao{
  background:var(--papel);border:1.5px solid rgba(37,39,64,.2);color:var(--azul);border-radius:11px;
  padding:11px 15px;font-weight:700;font-size:.9rem;cursor:pointer;transition:.16s;line-height:1.2;
  display:flex;flex-direction:column;gap:2px;align-items:flex-start;
}
.opcao small{font-weight:600;font-size:.74rem;color:var(--taupe)}
.opcao:hover{border-color:var(--azul)}
.opcao[aria-pressed="true"]{background:var(--azul);border-color:var(--azul);color:var(--creme)}
.opcao[aria-pressed="true"] small{color:rgba(244,240,230,.72)}

/* abas compra x assinatura */
.abas{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.aba{
  border:1.5px solid rgba(37,39,64,.2);background:var(--papel);border-radius:12px;padding:13px 14px;
  text-align:left;cursor:pointer;transition:.16s;
}
.aba b{display:block;font-size:.95rem;color:var(--azul)}
.aba small{display:block;font-size:.76rem;color:var(--taupe);margin-top:2px}
.aba[aria-pressed="true"]{border-color:var(--laranja);background:rgba(229,151,59,.12)}
.aba[aria-pressed="true"] b{color:var(--azul-esc)}

/* quantidade */
.qtd{display:inline-flex;align-items:center;border:1.5px solid rgba(37,39,64,.2);border-radius:11px;overflow:hidden;background:var(--papel)}
.qtd button{width:44px;height:46px;border:0;background:transparent;font-size:1.3rem;color:var(--azul);cursor:pointer;line-height:1}
.qtd button:hover{background:var(--creme-2)}
.qtd input{width:54px;height:46px;border:0;text-align:center;font-weight:800;font-size:1rem;background:transparent;color:var(--azul);font-family:inherit}
.qtd input::-webkit-outer-spin-button,.qtd input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.botao{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;
  background:var(--azul);color:var(--creme);border:0;border-radius:12px;padding:17px 22px;
  font-weight:800;font-size:1rem;cursor:pointer;transition:.18s;letter-spacing:.01em;
}
.botao:hover{background:var(--azul-esc)}
.botao--laranja{background:var(--laranja);color:var(--azul-esc)}
.botao--laranja:hover{background:var(--laranja-esc);color:var(--creme)}
.botao--vazado{background:transparent;color:var(--azul);border:1.5px solid rgba(37,39,64,.25)}
.botao--vazado:hover{background:var(--creme-2)}
.botao[disabled]{opacity:.5;cursor:not-allowed}
.compra__acao{display:flex;gap:12px;align-items:center;margin-top:6px}
.compra__aviso{margin:14px 0 0;font-size:.85rem;color:var(--taupe);line-height:1.55}
.compra__aviso b{color:var(--azul)}
.compra__garantias{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1.5px solid rgba(37,39,64,.14);display:grid;gap:9px;font-size:.86rem;color:#55576f}
.compra__garantias li{line-height:1.55}
.compra__garantias b{color:var(--azul)}

#paypalAssinatura{margin-top:16px;min-height:0}
.caixa-config{
  background:rgba(229,151,59,.14);border:1.5px dashed var(--laranja-esc);border-radius:12px;
  padding:14px 16px;margin-top:16px;font-size:.85rem;color:#6a4a19;line-height:1.5;
}
.caixa-config b{color:var(--azul-esc)}

/* ficha técnica */
.ficha{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(20px,4vw,48px)}
@media (max-width:620px){.ficha{grid-template-columns:1fr}}
.ficha div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1.5px solid rgba(37,39,64,.12);font-size:.94rem}
.ficha dt{color:var(--taupe);font-weight:600;margin:0}
.ficha dd{margin:0;font-weight:700;color:var(--azul);text-align:right}

/* preparo */
.preparo{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.4vw,26px)}
@media (max-width:720px){.preparo{grid-template-columns:1fr}}
.preparo article{background:var(--papel);border-radius:var(--raio);padding:22px 24px;border:1.5px solid rgba(37,39,64,.1)}
.preparo h3{font-family:var(--fonte-titulo);font-size:1.16rem;margin:0 0 8px;font-weight:700}
.preparo p{margin:0 0 6px;font-size:.92rem;color:#55576f;line-height:1.55}
.preparo b{color:var(--laranja-esc);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:6px}

/* faixa da assinatura */
.assina{background:var(--azul);color:var(--creme);padding:clamp(36px,5vw,64px) 0;position:relative;overflow:hidden}
.assina::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;border:2px solid rgba(232,229,220,.13);right:-150px;top:-170px}
.assina .env{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:860px){.assina .env{grid-template-columns:1fr}}
.assina h2{font-family:var(--fonte-display);text-transform:uppercase;font-weight:400;font-size:clamp(1.8rem,4vw,3rem);line-height:.95;margin:10px 0 14px}
.assina p{opacity:.88;max-width:50ch;margin:0 0 18px}
.assina ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.assina li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem}
.assina li span{color:var(--laranja);font-weight:900}
.assina__foto{border-radius:var(--raio);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--sombra)}
.assina__foto img{width:100%;height:100%;object-fit:cover}

/* faq */
.faq{max-width:76ch;margin-inline:auto}
.faq details{border-bottom:1.5px solid rgba(37,39,64,.14)}
.faq summary{
  cursor:pointer;padding:18px 34px 18px 0;font-family:var(--fonte-titulo);font-weight:700;
  font-size:1.08rem;color:var(--azul);position:relative;list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);
  font-family:var(--fonte-texto);font-weight:800;color:var(--laranja-esc);font-size:1.7rem;line-height:1;
}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 20px;color:#55576f;font-size:.96rem;line-height:1.65}

/* carrinho */
.carrinho-botao{
  position:relative;display:inline-flex;align-items:center;gap:8px;background:var(--laranja);
  color:var(--azul-esc);border:0;border-radius:999px;padding:9px 16px;font-weight:800;font-size:.88rem;cursor:pointer;
}
.carrinho-botao:hover{background:var(--laranja-esc);color:var(--creme)}
.carrinho-botao b{
  background:var(--azul);color:var(--creme);border-radius:999px;min-width:20px;height:20px;
  display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;padding:0 5px;
}
.gaveta{position:fixed;inset:0;z-index:120;display:none}
.gaveta.aberta{display:block}
.gaveta__fundo{position:absolute;inset:0;background:rgba(29,31,51,.5);backdrop-filter:blur(2px)}
.gaveta__painel{
  position:absolute;right:0;top:0;bottom:0;width:min(440px,100%);background:var(--creme);
  display:flex;flex-direction:column;box-shadow:-20px 0 60px -30px rgba(29,31,51,.8);
}
.gaveta__topo{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1.5px solid rgba(37,39,64,.12)}
.gaveta__topo h2{font-family:var(--fonte-display);text-transform:uppercase;font-weight:400;font-size:1.3rem;margin:0;color:var(--azul)}
.gaveta__fechar{border:0;background:transparent;font-size:1.6rem;line-height:1;color:var(--azul);cursor:pointer}
.gaveta__itens{flex:1;overflow-y:auto;padding:18px 22px;display:grid;gap:14px;align-content:start}
.gaveta__vazio{color:var(--taupe);font-size:.92rem;text-align:center;padding:40px 0}
.item{display:grid;grid-template-columns:64px 1fr auto;gap:13px;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(37,39,64,.1)}
.item img{width:64px;height:64px;object-fit:cover;border-radius:9px}
.item h3{font-size:.95rem;margin:0 0 3px;font-family:var(--fonte-titulo);font-weight:700}
.item p{margin:0;font-size:.78rem;color:var(--taupe)}
.item__preco{text-align:right;font-weight:800;color:var(--azul);font-size:.92rem;white-space:nowrap}
.item__tirar{display:block;margin-top:5px;background:none;border:0;color:var(--taupe);font-size:.74rem;cursor:pointer;text-decoration:underline;padding:0}
.item__tirar:hover{color:var(--vinho)}
.gaveta__pe{padding:18px 22px 22px;border-top:1.5px solid rgba(37,39,64,.12);background:var(--papel)}
.gaveta__linha{display:flex;justify-content:space-between;font-size:.9rem;color:#55576f;margin-bottom:7px}
.gaveta__total{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;color:var(--azul);font-size:1.15rem;margin:12px 0 14px}
#paypalCarrinho{margin-top:12px}

/* barra fixa no celular */
.barra-compra{
  position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--creme);
  border-top:1.5px solid rgba(37,39,64,.14);padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  display:none;gap:12px;align-items:center;box-shadow:0 -10px 30px -22px rgba(29,31,51,.7);
}
.barra-compra b{font-family:var(--fonte-display);font-size:1.3rem;color:var(--azul);font-weight:400}
.barra-compra .botao{width:auto;flex:1;padding:14px 18px}
@media (max-width:900px){.barra-compra{display:flex}body{padding-bottom:78px}}
