/* ============================================================
   PRIMUS NUTRI — GAVETA DO CARRINHO
   Painel lateral com barra de frete gratis, itens, ofertas e
   rodape. Tudo escopado em `.pg`; nada vaza para o resto.

   Duas peles pelos tokens abaixo: o padrao e a loja de chas
   (verde/creme) e `.pg--lumina` troca para vinho/rosa. Nenhuma
   regra depois daqui repete cor crua — sempre var().

   Arquivo separado de propostio: a LP do Lumina dispensa o
   style.css do tema, e este precisa sobreviver a isso.
   ============================================================ */

.pg{
  /* superficie */
  --pg-fundo:#FFFFFF;
  --pg-fundo-2:#F6F2E9;
  --pg-linha:#E7E1D2;
  --pg-tinta:#14140F;
  --pg-tinta-fraca:#6B6558;

  /* marca */
  --pg-marca:#0F5C40;
  --pg-marca-esc:#0B4531;
  --pg-marca-clara:#E7F0EA;
  --pg-realce:#9A7B2D;
  --pg-realce-claro:#FBF3DB;

  /* barra do frete */
  --pg-trilho:#E7E1D2;
  --pg-progresso:linear-gradient(90deg,#C08A2A,#E0B558);
  --pg-ok:#0F5C40;

  --pg-f-tit:"Fraunces",Georgia,serif;
  --pg-f-txt:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --pg-r:12px;
  --pg-mola:cubic-bezier(.16,1,.3,1);

  position:fixed;inset:0;z-index:9000;
  visibility:hidden;pointer-events:none;
}
.pg.is-aberta{visibility:visible;pointer-events:auto}

.pg--lumina{
  --pg-fundo:#FDF9F6;
  --pg-fundo-2:#F8F1EB;
  --pg-linha:#E7D9D1;
  --pg-tinta:#2B1620;
  --pg-tinta-fraca:#6E5560;
  --pg-marca:#7A2540;
  --pg-marca-esc:#5C1A2F;
  --pg-marca-clara:#F7E4E9;
  --pg-realce:#8A6A2F;
  --pg-realce-claro:#F3E7CE;
  --pg-trilho:#EFE3DA;
  --pg-progresso:linear-gradient(90deg,#A8495F,#C9A45C);
  --pg-ok:#7A2540;
  --pg-f-txt:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ---------- casca ---------- */
.pg__fundo{
  position:absolute;inset:0;background:rgba(20,20,15,.42);
  opacity:0;transition:opacity .32s ease;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.pg.is-aberta .pg__fundo{opacity:1}

.pg__painel{
  position:absolute;top:0;right:0;height:100%;
  width:min(430px,100%);
  display:flex;flex-direction:column;
  background:var(--pg-fundo);color:var(--pg-tinta);
  font-family:var(--pg-f-txt);font-size:15px;line-height:1.5;
  box-shadow:-24px 0 60px -30px rgba(20,20,15,.5);
  transform:translateX(101%);
  transition:transform .42s var(--pg-mola);
  outline:none;
}
.pg.is-aberta .pg__painel{transform:translateX(0)}

/* ---------- cabecalho ---------- */
.pg__topo{
  flex:none;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:18px 20px;border-bottom:1px solid var(--pg-linha);
}
.pg__titulo{
  font-family:var(--pg-f-tit);font-size:20px;font-weight:600;
  letter-spacing:-.01em;line-height:1.2;margin:0;
}
.pg--lumina .pg__titulo{color:var(--pg-marca)}
.pg__x{
  flex:none;width:34px;height:34px;display:grid;place-items:center;
  border:0;background:transparent;border-radius:50%;cursor:pointer;
  color:var(--pg-tinta-fraca);transition:background .2s ease,color .2s ease;
}
.pg__x svg{width:19px;height:19px}
.pg__x:hover{background:var(--pg-fundo-2);color:var(--pg-tinta)}

/* ---------- area rolavel ---------- */
.pg__rolagem{
  flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--pg-linha) transparent;
}
.pg__rolagem::-webkit-scrollbar{width:8px}
.pg__rolagem::-webkit-scrollbar-thumb{background:var(--pg-linha);border-radius:8px}

/* ---------- barra do frete gratis ---------- */
.pg__frete{padding:16px 20px 18px;background:var(--pg-fundo-2);border-bottom:1px solid var(--pg-linha)}
.pg__frete-txt{
  display:flex;align-items:center;gap:9px;margin:0 0 11px;
  font-size:13.5px;line-height:1.4;color:var(--pg-tinta-fraca);
}
.pg__frete-txt strong{color:var(--pg-tinta);font-weight:600}
.pg__frete-ico{flex:none;display:grid;place-items:center;width:24px;height:24px;color:var(--pg-realce)}
.pg__frete-ico svg{width:20px;height:20px}
.pg__frete.is-ok .pg__frete-ico{color:var(--pg-ok)}
.pg__frete.is-ok .pg__frete-txt strong{color:var(--pg-ok)}

.pg__trilho{
  position:relative;height:7px;border-radius:99px;background:var(--pg-trilho);
  margin-right:13px;
}
.pg__preenche{
  display:block;height:100%;border-radius:99px;background:var(--pg-progresso);
  transition:width .55s var(--pg-mola);
}
.pg__marco{
  position:absolute;right:-13px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:var(--pg-fundo);border:1.5px solid var(--pg-trilho);
  color:var(--pg-tinta-fraca);transition:all .35s ease;
}
.pg__marco svg{width:14px;height:14px}
.pg__frete.is-ok .pg__marco{
  background:var(--pg-ok);border-color:var(--pg-ok);color:#fff;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--pg-ok) 16%,transparent);
}

/* ---------- itens ---------- */
.pg__itens{padding:6px 20px}
.pg__item{
  display:grid;grid-template-columns:76px 1fr auto;gap:14px;
  align-items:start;padding:18px 0;border-bottom:1px solid var(--pg-linha);
}
.pg__itens .pg__item:last-child{border-bottom:0}
.pg__foto{
  width:76px;height:76px;border-radius:10px;overflow:hidden;
  background:var(--pg-fundo-2);border:1px solid var(--pg-linha);
}
.pg__foto img{width:100%;height:100%;object-fit:cover;display:block}
.pg__info{min-width:0}
.pg__nome{
  font-family:var(--pg-f-txt);font-size:14.5px;font-weight:600;line-height:1.35;
  margin:0 0 3px;color:var(--pg-tinta);
}
.pg--lumina .pg__nome .pl-logo{font-size:1.45em;vertical-align:-.06em}
.pg__var{margin:0;font-size:12.5px;color:var(--pg-tinta-fraca)}
.pg__linha{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}

.pg__qtd{
  display:inline-flex;align-items:center;
  border:1px solid var(--pg-linha);border-radius:99px;background:var(--pg-fundo);
}
.pg__qtd-btn{
  width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;
  border-radius:50%;cursor:pointer;color:var(--pg-tinta);transition:background .18s ease;
}
.pg__qtd-btn svg{width:13px;height:13px}
.pg__qtd-btn:hover:not(:disabled){background:var(--pg-fundo-2)}
.pg__qtd-btn:disabled{opacity:.32;cursor:default}
.pg__qtd-num{min-width:24px;text-align:center;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.pg__preco{font-size:14.5px;font-weight:600;white-space:nowrap}
.pg__preco .woocommerce-Price-amount{font-weight:inherit}

.pg__lixo{
  flex:none;width:30px;height:30px;display:grid;place-items:center;border:0;
  background:transparent;border-radius:8px;cursor:pointer;
  color:var(--pg-tinta-fraca);transition:color .2s ease,background .2s ease;
}
.pg__lixo svg{width:16px;height:16px}
.pg__lixo:hover{color:#C0392B;background:var(--pg-fundo-2)}

/* ---------- complete seu pedido ---------- */
.pg__mais{padding:18px 20px 22px;background:var(--pg-marca-clara);border-top:1px solid var(--pg-linha)}
.pg__mais-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.pg__mais-tit{
  font-family:var(--pg-f-tit);font-size:15.5px;font-weight:600;margin:0;
  color:var(--pg-marca-esc);letter-spacing:-.005em;
}
.pg__setas{display:flex;gap:6px}
.pg__seta{
  width:28px;height:28px;display:grid;place-items:center;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--pg-marca) 22%,transparent);
  background:var(--pg-fundo);border-radius:50%;color:var(--pg-marca);
  transition:background .2s ease,opacity .2s ease;
}
.pg__seta svg{width:14px;height:14px}
.pg__seta:hover{background:var(--pg-fundo-2)}
.pg__seta:disabled{opacity:.35;cursor:default}

.pg__carrossel{
  display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px;
}
.pg__carrossel::-webkit-scrollbar{display:none}
.pg__oferta{
  flex:0 0 100%;scroll-snap-align:start;
  display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;
  background:var(--pg-fundo);border:1px solid var(--pg-linha);
  border-radius:var(--pg-r);padding:10px 12px;
}
.pg__oferta-foto{width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--pg-fundo-2)}
.pg__oferta-foto img{width:100%;height:100%;object-fit:cover;display:block}
.pg__oferta-txt{min-width:0}
.pg__oferta-nome{
  font-family:var(--pg-f-txt);font-size:13.5px;font-weight:600;line-height:1.3;margin:0 0 4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pg__oferta-sub{margin:0 0 4px;font-size:11.5px;color:var(--pg-tinta-fraca);line-height:1.3}
.pg__oferta-preco{margin:0;font-size:13px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.pg__oferta-preco s{color:var(--pg-tinta-fraca);font-size:12px}
.pg__oferta-preco strong{font-weight:600}
.pg__oferta-preco em{
  font-style:normal;font-size:11px;font-weight:700;letter-spacing:.02em;
  color:var(--pg-marca);
}
.pg__oferta-add{
  flex:none;width:34px;height:34px;display:grid;place-items:center;border:0;
  border-radius:50%;background:var(--pg-marca);color:#fff;cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.pg__oferta-add svg{width:16px;height:16px}
.pg__oferta-add:hover{background:var(--pg-marca-esc);transform:scale(1.06)}

/* ---------- rodape ---------- */
.pg__rodape{
  flex:none;padding:16px 20px calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid var(--pg-linha);background:var(--pg-fundo);
  box-shadow:0 -10px 24px -22px rgba(20,20,15,.55);
}
.pg__cupom{display:flex;gap:8px}
.pg__cupom-campo{
  flex:1 1 auto;min-width:0;height:42px;padding:0 14px;
  border:1px solid var(--pg-linha);border-radius:99px;background:var(--pg-fundo);
  font-family:inherit;font-size:14px;color:var(--pg-tinta);
  transition:border-color .2s ease;
}
.pg__cupom-campo::placeholder{color:var(--pg-tinta-fraca)}
.pg__cupom-campo:focus{outline:none;border-color:var(--pg-marca)}
.pg__cupom-btn{
  flex:none;height:42px;padding:0 22px;border:0;border-radius:99px;cursor:pointer;
  background:var(--pg-marca);color:#fff;font-family:inherit;font-size:14px;font-weight:600;
  transition:background .2s ease;
}
.pg__cupom-btn:hover{background:var(--pg-marca-esc)}
.pg__cupom.is-erro .pg__cupom-campo{border-color:#C0392B}

.pg__recado{margin:8px 2px 0;font-size:12.5px;color:#C0392B}

.pg__cupons{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pg__chip{
  display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;
  border-radius:99px;background:var(--pg-marca-clara);color:var(--pg-marca-esc);
  font-size:12px;font-weight:600;letter-spacing:.01em;
}
.pg__chip svg{width:13px;height:13px}
.pg__chip button{
  border:0;background:transparent;cursor:pointer;color:inherit;opacity:.6;
  display:grid;place-items:center;padding:0;
}
.pg__chip button svg{width:12px;height:12px}
.pg__chip button:hover{opacity:1}

.pg__totais{margin:14px 0 0}
.pg__tot-linha{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px}
.pg__tot-linha dt{color:var(--pg-tinta-fraca)}
.pg__tot-linha dd{margin:0;font-weight:500}
.pg__tot-linha--desc dd{color:var(--pg-marca)}
.pg__frete-nota{color:var(--pg-tinta-fraca);font-size:13px;font-weight:400}
.pg__tot-linha--total{
  margin-top:6px;padding-top:11px;border-top:1px solid var(--pg-linha);
  font-size:17px;
}
.pg__tot-linha--total dt{color:var(--pg-tinta);font-weight:600}
.pg__tot-linha--total dd{font-family:var(--pg-f-tit);font-weight:600;font-size:20px}
.pg--lumina .pg__tot-linha--total dd{color:var(--pg-marca)}

.pg__ir{
  display:block;margin-top:14px;height:52px;line-height:52px;text-align:center;
  border-radius:99px;background:var(--pg-marca);color:#fff;
  font-size:16px;font-weight:600;letter-spacing:.005em;
  transition:background .2s ease,box-shadow .2s ease;
}
.pg__ir:hover{background:var(--pg-marca-esc);box-shadow:0 12px 26px -14px color-mix(in srgb,var(--pg-marca) 70%,transparent)}
.pg--lumina .pg__ir{
  background:linear-gradient(135deg,var(--pg-marca),var(--pg-marca-esc));
  box-shadow:0 10px 24px -14px rgba(122,37,64,.6);
}
.pg__voltar{
  display:block;width:100%;margin-top:10px;padding:6px 0;border:0;background:transparent;
  cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;color:var(--pg-marca);
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
}
.pg__voltar:hover{color:var(--pg-marca-esc)}

/* ---------- vazio ---------- */
.pg__vazio{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;padding:40px 28px;text-align:center;color:var(--pg-tinta-fraca);
}
.pg__vazio svg{width:52px;height:52px;color:var(--pg-linha)}
.pg__vazio p{margin:0;font-size:15px}
.pg__voltar--solo{width:auto;margin-top:2px}

/* ---------- trabalhando ---------- */
.pg__painel.is-ocupado{pointer-events:none}
.pg__painel.is-ocupado .pg__rolagem,
.pg__painel.is-ocupado .pg__rodape{opacity:.55;transition:opacity .18s ease}

/* ---------- telas pequenas ---------- */
@media (max-width:479px){
  .pg__painel{width:100%}
  .pg__topo{padding:15px 16px}
  .pg__frete{padding:14px 16px 16px}
  .pg__itens{padding:2px 16px}
  .pg__item{grid-template-columns:64px 1fr auto;gap:11px;padding:15px 0}
  .pg__foto{width:64px;height:64px}
  .pg__mais{padding:16px 16px 18px}
  .pg__rodape{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
  .pg__ir{height:50px;line-height:50px}
}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  .pg__painel,.pg__fundo,.pg__preenche,.pg__marco{transition:none}
}
