.cp-shell main{background:transparent!important;}
.cp-shell{background:#0b0705;}
body.elementor-page-3593,body.elementor-page-3350,body.elementor-page-3421,body.elementor-page-3148,body.elementor-page-3594{background:#0b0705!important;}
body.elementor-page main,body.elementor-default main{background:transparent!important;}

/* ══════════════ HOME-OMNI · estilos pontuais escopados ══════════════ */

/* Hero mais fina: menos altura e menos respiro vertical */
#cp-page .omni-hero{min-height:clamp(500px,70vh,720px);}
#cp-page .omni-hero .cp-hero__in{padding-block:clamp(2.2rem,4.5vw,4rem);}
#cp-page .omni-hero h1{font-size:clamp(2.4rem,1.1rem + 5vw,5rem);}
#cp-page .omni-hero__sub-tags{display:flex; flex-wrap:wrap; gap:0.55rem; margin-top:1.6rem;}
#cp-page .omni-hero__tag{display:inline-flex; align-items:center; gap:0.5rem;
  font-size:0.82rem; letter-spacing:0.03em; color:var(--cp-cream);
  background:rgba(10,7,5,0.55); backdrop-filter:blur(6px);
  border:1px solid var(--cp-line-soft); padding:0.5rem 0.95rem; border-radius:999px;}
#cp-page .omni-hero__tag svg{width:15px; height:15px; color:var(--cp-gold); flex-shrink:0;}

/* Vitrine em destaque */
#cp-page .omni-vitrine__head{display:flex; flex-wrap:wrap; align-items:flex-end;
  justify-content:space-between; gap:1.5rem 2rem; max-width:100%;}
#cp-page .omni-vitrine__head-text{max-width:640px;}
#cp-page .omni-vitrine__grid{margin-top:clamp(2.2rem,3.5vw,3rem);}
#cp-page .omni-vitrine__foot{display:flex; flex-wrap:wrap; align-items:center;
  justify-content:space-between; gap:1.2rem 2rem; margin-top:clamp(2.2rem,3.5vw,3rem);}
#cp-page .omni-vitrine__foot p{color:var(--cp-cream-dim); font-size:0.92rem; max-width:46ch;}
@media (max-width:640px){#cp-page .omni-vitrine__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:400px){#cp-page .omni-vitrine__grid{grid-template-columns:1fr;}}

/* Faixa Caixas & Kits */
#cp-page .omni-kits__grid{display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(1rem,2vw,1.5rem); margin-top:clamp(2.2rem,3.5vw,3rem);}
#cp-page .omni-kit{position:relative; display:flex; flex-direction:column; overflow:hidden;
  border-radius:var(--cp-r); border:1px solid var(--cp-line-soft); background:var(--cp-bg-2);
  transition:border-color .3s ease, transform .35s var(--cp-ease), box-shadow .35s ease;}
#cp-page .omni-kit:hover{border-color:var(--cp-line); transform:translateY(-5px);
  box-shadow:0 20px 48px -20px rgba(0,0,0,0.55);}
#cp-page .omni-kit__media{position:relative; aspect-ratio:16/10; overflow:hidden; flex-shrink:0;}
#cp-page .omni-kit__media img{width:100%; height:100%; object-fit:cover;
  transition:transform .6s var(--cp-ease);}
#cp-page .omni-kit:hover .omni-kit__media img{transform:scale(1.05);}
#cp-page .omni-kit__scrim{position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(11,7,5,0.10) 0%,rgba(11,7,5,0.35) 50%,rgba(11,7,5,0.92) 100%);}
#cp-page .omni-kit__tag{position:absolute; left:1rem; top:1rem; z-index:2;}
#cp-page .omni-kit__body{padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; flex:1;}
#cp-page .omni-kit__title{font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  font-size:1.5rem; line-height:1.02; letter-spacing:0.01em; color:var(--cp-cream);}
#cp-page .omni-kit__desc{margin-top:0.7rem; color:var(--cp-cream-dim); font-size:0.92rem; line-height:1.55;}
#cp-page .omni-kit__cortes{margin-top:1.1rem; display:flex; flex-wrap:wrap; gap:0.45rem;}
#cp-page .omni-kit__corte{display:inline-flex; align-items:center; gap:0.4rem;
  font-size:0.78rem; letter-spacing:0.02em; color:var(--cp-cream);
  background:rgba(247,232,204,0.04); border:1px solid var(--cp-line-soft);
  padding:0.35rem 0.7rem; border-radius:999px;}
#cp-page .omni-kit__corte::before{content:""; width:5px; height:5px; border-radius:50%; background:var(--cp-gold);}
#cp-page .omni-kit__foot{margin-top:auto; padding-top:1.4rem;
  display:flex; align-items:flex-end; justify-content:space-between; gap:1rem;}
#cp-page .omni-kit__price{display:flex; flex-direction:column; gap:0.15rem;}
#cp-page .omni-kit__price small{font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--cp-cream-dim); opacity:0.8;}
#cp-page .omni-kit__price strong{font-family:var(--cp-font-d); font-weight:400; font-size:1.6rem;
  line-height:1; color:var(--cp-gold); letter-spacing:0.01em;}
@media (max-width:820px){#cp-page .omni-kits__grid{grid-template-columns:1fr;}}

/* ══════════════ VOUCHERS (2ª dobra, protagonista) ══════════════ */
#cp-page .omni-vouch__head{display:flex; flex-wrap:wrap; align-items:flex-end;
  justify-content:space-between; gap:1.4rem 2rem;}
#cp-page .omni-vouch__head-text{max-width:680px;}
#cp-page .omni-vouch__grid{margin-top:clamp(2.2rem,3.5vw,3rem);}
#cp-page .omni-vouch__foot{display:flex; flex-wrap:wrap; align-items:center;
  justify-content:space-between; gap:1.2rem 2rem; margin-top:clamp(2.2rem,3.5vw,3rem);}
#cp-page .omni-vouch__foot p{color:var(--cp-cream-dim); font-size:0.92rem; max-width:46ch;}

/* ══════════════ DELIVERY PRÓPRIO (protagonismo) ══════════════ */
#cp-page .omni-deliv{display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(1.5rem,3vw,3.2rem); align-items:center;}
#cp-page .omni-deliv__media{position:relative; border-radius:var(--cp-r); overflow:hidden;
  aspect-ratio:5/4; min-height:320px; border:1px solid var(--cp-line-soft);}
#cp-page .omni-deliv__media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
#cp-page .omni-deliv__media .cp-scrim-media{position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(11,7,5,0.55) 100%),
    radial-gradient(80% 90% at 20% 100%,rgba(122,20,8,0.4) 0%,transparent 60%);}
#cp-page .omni-deliv__badge{position:absolute; left:1rem; top:1rem; z-index:2;}
@media (max-width:820px){#cp-page .omni-deliv{grid-template-columns:1fr;}
  #cp-page .omni-deliv__media{order:-1;}}

/* ══════════════ DELIVERY iFood — paineis de mundo (shortcode porcao_delivery) ══════════════ */
/* So o mundo ativo aparece; o inativo fica realmente escondido (button dlv-world troca via JS). */
.cp-shell .dlv-world-panel[hidden]{display:none!important;}
.cp-shell .dlv-world-panel{display:block;}
.cp-shell .dlv-world-panel .dlv-cats{position:sticky;top:0;z-index:50;}

/* ══════════════ PDP RODÍZIOS (Single Product template · categoria Rodízios) ══════════════ */
/* Fundo dark: o Single Product template não tem elementor-page-<id> fixo (é dinâmico por produto). */
body.single-product{background:#0b0705!important;}
body.single-product main,body.single-product.cp-shell main{background:transparent!important;}

/* --- Colunas de compra --- */
.cp-shell .cp-crumb{margin-bottom:0.4rem;}

/* Título do produto (widget Woo) no display Anton, como o mockup vpd-h1 */
.single-product.cp-shell .elementor-widget-woocommerce-product-title h1,
.single-product.cp-shell .elementor-widget-woocommerce-product-title .product_title{
  font-family:var(--cp-font-d,'Anton','Oswald',Impact,sans-serif); font-weight:400; text-transform:uppercase;
  font-size:clamp(2rem,1.2rem + 2.2vw,3.2rem); line-height:1.02; letter-spacing:0.01em;
  color:var(--cp-cream,#f7e8cc); margin:0;}

/* Preço (widget Woo) em gold display */
.single-product.cp-shell .elementor-widget-woocommerce-product-price .price,
.single-product.cp-shell .elementor-widget-woocommerce-product-price .price ins,
.single-product.cp-shell .elementor-widget-woocommerce-product-price .price .amount{
  font-family:var(--cp-font-d,'Anton','Oswald',Impact,sans-serif); font-weight:400; letter-spacing:0.01em;
  color:var(--cp-gold,#eeae4f)!important; font-size:clamp(2rem,1.4rem + 1.6vw,2.7rem); line-height:1;}
.single-product.cp-shell .elementor-widget-woocommerce-product-price .price del{
  color:var(--cp-cream-dim,#c9b48f)!important; font-family:var(--cp-font-b,'Figtree',sans-serif);
  font-size:1rem; opacity:0.7; margin-right:0.5rem;}
.single-product.cp-shell .elementor-widget-woocommerce-product-price .price del .amount{
  color:var(--cp-cream-dim,#c9b48f)!important; font-family:var(--cp-font-b,'Figtree',sans-serif); font-size:1rem;}

/* Descrição curta */
.single-product.cp-shell .elementor-widget-woocommerce-product-short-description,
.single-product.cp-shell .woocommerce-product-details__short-description{
  color:var(--cp-cream-dim,#c9b48f); font-size:1rem; line-height:1.7; max-width:56ch;}
.single-product.cp-shell .woocommerce-product-details__short-description p{margin:0 0 0.6rem;}

/* --- Galeria (widget Woo product-images) --- */
.single-product.cp-shell .elementor-widget-woocommerce-product-images .woocommerce-product-gallery{
  border-radius:var(--cp-r,14px); overflow:hidden; border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14));
  background:var(--cp-bg-2,#141210);}
.single-product.cp-shell .woocommerce-product-gallery__wrapper{margin:0;}
/* Imagem principal com proporção de cartão de voucher */
.single-product.cp-shell .woocommerce-product-gallery__image img,
.single-product.cp-shell .woocommerce-product-gallery__image a img{display:block; width:100%; height:auto;}
/* Tira de thumbs: uma linha rolável (produto tem 30+ imagens) */
.single-product.cp-shell .flex-control-thumbs{display:flex!important; flex-wrap:nowrap!important; gap:0.6rem; margin:0.85rem 0 0; padding:0 0 0.4rem; list-style:none; overflow-x:auto; scrollbar-width:thin; scrollbar-color:var(--cp-line,rgba(238,174,79,0.30)) transparent;}
.single-product.cp-shell .flex-control-thumbs::-webkit-scrollbar{height:6px;}
.single-product.cp-shell .flex-control-thumbs::-webkit-scrollbar-thumb{background:var(--cp-line,rgba(238,174,79,0.30)); border-radius:999px;}
.single-product.cp-shell .flex-control-thumbs li{width:78px; flex:0 0 78px; margin:0; list-style:none;}
.single-product.cp-shell .flex-control-thumbs img{width:78px; height:78px; object-fit:cover; border-radius:var(--cp-rsm,8px); border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14)); opacity:0.7; transition:opacity .2s,border-color .2s; cursor:pointer;}
.single-product.cp-shell .flex-control-thumbs img.flex-active,
.single-product.cp-shell .flex-control-thumbs img:hover{opacity:1; border-color:var(--cp-gold,#eeae4f);}

/* --- Formulário de variações + add-to-cart (Dia × Horário reais) --- */
.single-product.cp-shell .elementor-widget-woocommerce-product-add-to-cart .variations{
  width:100%; border-collapse:collapse; margin:0 0 0.6rem;}
.single-product.cp-shell .variations tr{display:flex; flex-direction:column; gap:0.5rem; margin-bottom:1rem;}
.single-product.cp-shell .variations th.label{
  font-family:var(--cp-font-b,'Figtree',sans-serif); font-size:0.78rem; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--cp-cream-dim,#c9b48f); text-align:left; padding:0; font-weight:600;}
.single-product.cp-shell .variations td.value{padding:0;}

/* Variation Swatches (plugin ativo) no tema dark */
.single-product.cp-shell ul.variable-items-wrapper{display:flex; flex-wrap:wrap; gap:0.55rem; margin:0; padding:0;}
.single-product.cp-shell ul.variable-items-wrapper li{margin:0!important;}
.single-product.cp-shell .variable-items-wrapper .variable-item:not(.radio-variable-item),
.single-product.cp-shell .variable-items-wrapper .variable-item{
  background:rgba(247,232,204,0.03)!important; border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14))!important;
  border-radius:var(--cp-rsm,8px)!important; box-shadow:none!important; padding:0.6rem 0.95rem!important;
  color:var(--cp-cream,#f7e8cc)!important; font-family:var(--cp-font-b,'Figtree',sans-serif); min-height:auto;}
.single-product.cp-shell .variable-items-wrapper .variable-item .variable-item-span{
  color:var(--cp-cream,#f7e8cc)!important; font-size:0.9rem; font-weight:600; line-height:1.2;}
.single-product.cp-shell .variable-items-wrapper .variable-item:hover{
  border-color:var(--cp-line,rgba(238,174,79,0.30))!important; background:var(--cp-bg-3,#1c1815)!important;}
.single-product.cp-shell .variable-items-wrapper .variable-item.selected{
  border-color:var(--cp-gold,#eeae4f)!important; background:rgba(238,174,79,0.08)!important;
  box-shadow:0 0 0 1px rgba(238,174,79,0.3) inset!important;}
.single-product.cp-shell .variable-items-wrapper .variable-item.selected .variable-item-span{color:var(--cp-gold,#eeae4f)!important;}

/* Fallback: se as variações renderizarem como <select> normal */
.single-product.cp-shell .variations select{
  width:100%; background:var(--cp-bg-2,#141210); color:var(--cp-cream,#f7e8cc);
  border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14)); border-radius:var(--cp-rsm,8px);
  padding:0.85rem 1rem; font-family:var(--cp-font-b,'Figtree',sans-serif); font-size:0.95rem;}

/* Preço da variação escolhida */
.single-product.cp-shell .woocommerce-variation-price .price,
.single-product.cp-shell .woocommerce-variation-price .price .amount{
  color:var(--cp-gold,#eeae4f)!important; font-family:var(--cp-font-d,'Anton',sans-serif);
  font-size:clamp(1.8rem,1.3rem + 1.4vw,2.4rem);}
.single-product.cp-shell .woocommerce-variation-availability{color:var(--cp-cream-dim,#c9b48f);}
.single-product.cp-shell .reset_variations{color:var(--cp-cream-dim,#c9b48f); font-size:0.82rem;}

/* Quantidade — stepper horizontal fiel ao mockup (.cp-qty). O tema renderiza um
   bootstrap-touchspin (.input-group com botões .bootstrap-touchspin-down/up), que
   por default sai vertical e em azul-link. Aqui: layout em linha [ − | val | + ]. */
.single-product.cp-shell .quantity{
  display:inline-flex!important; align-items:center; border:1px solid var(--cp-line,rgba(238,174,79,0.30));
  border-radius:var(--cp-rsm,8px); overflow:hidden; width:auto; padding:0; background:transparent;}
.single-product.cp-shell .quantity .input-group,
.single-product.cp-shell .quantity .bootstrap-touchspin{
  display:inline-flex!important; align-items:stretch; flex-wrap:nowrap; width:auto; margin:0; border:0; box-shadow:none;}
.single-product.cp-shell .quantity .input-group-btn{display:inline-flex; align-items:stretch;}
.single-product.cp-shell .quantity .input-group-addon{display:none!important;}
/* Botões − e + : quadrados 40x40, fundo bg-2, texto cream, hover gold */
.single-product.cp-shell .quantity .bootstrap-touchspin-down,
.single-product.cp-shell .quantity .bootstrap-touchspin-up,
.single-product.cp-shell .quantity .input-group-btn > .btn{
  width:40px; height:40px; min-width:40px; padding:0; margin:0; display:grid; place-items:center;
  background:var(--cp-bg-2,#141210)!important; border:none!important; border-radius:0!important;
  color:var(--cp-cream,#f7e8cc)!important; font-family:var(--cp-font-b,'Figtree',sans-serif);
  font-size:1.2rem; line-height:1; font-weight:400; text-decoration:none!important; box-shadow:none!important;
  cursor:pointer; transition:background .2s ease,color .2s ease;}
.single-product.cp-shell .quantity .bootstrap-touchspin-down:hover,
.single-product.cp-shell .quantity .bootstrap-touchspin-up:hover,
.single-product.cp-shell .quantity .input-group-btn > .btn:hover{
  background:var(--cp-bg-3,#1c1815)!important; color:var(--cp-gold,#eeae4f)!important;}
/* Input central */
.single-product.cp-shell .quantity input.qty{
  width:52px!important; min-width:52px; height:40px; text-align:center; background:var(--cp-bg,#0b0705)!important;
  border:none!important; border-left:1px solid var(--cp-line-soft,rgba(238,174,79,0.14))!important;
  border-right:1px solid var(--cp-line-soft,rgba(238,174,79,0.14))!important; border-radius:0!important;
  color:var(--cp-cream,#f7e8cc)!important; font-family:var(--cp-font-b,'Figtree',sans-serif);
  font-weight:600; font-size:0.95rem; padding:0!important; box-shadow:none!important; -moz-appearance:textfield;}
.single-product.cp-shell .quantity input.qty::-webkit-outer-spin-button,
.single-product.cp-shell .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}

/* Botão adicionar à sacola (gold, grande) — só adicionar, sem comprar agora */
.single-product.cp-shell .elementor-widget-woocommerce-product-add-to-cart .cart{
  display:flex; flex-wrap:wrap; align-items:center; gap:0.85rem; margin-top:0.4rem;}
.single-product.cp-shell .single_add_to_cart_button,
.single-product.cp-shell button.single_add_to_cart_button{
  background:var(--cp-gold,#eeae4f)!important; color:var(--cp-bg,#0b0705)!important;
  font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:600; letter-spacing:0.04em;
  border:none!important; border-radius:999px!important; padding:1.1rem 2.4rem!important;
  font-size:1.05rem!important; text-transform:none; line-height:1; cursor:pointer;
  transition:background .25s ease,transform .2s var(--cp-ease,cubic-bezier(.16,1,.3,1)),box-shadow .25s ease;}
.single-product.cp-shell .single_add_to_cart_button:hover{
  background:var(--cp-gold-hi,#f6c979)!important; transform:translateY(-2px);
  box-shadow:0 10px 26px -10px rgba(238,174,79,0.6);}

/* --- Steps (Como funciona) --- */
.cp-shell .vpd-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(0.9rem,1.8vw,1.35rem); margin-top:clamp(2.2rem,3.5vw,3rem);}
@media(max-width:760px){.cp-shell .vpd-steps{grid-template-columns:1fr;}}
.cp-shell .vpd-step{position:relative; padding:clamp(1.5rem,2.4vw,2.1rem); border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14)); border-radius:var(--cp-r,14px); background:var(--cp-bg-2,#141210); transition:border-color .3s ease,transform .3s var(--cp-ease,cubic-bezier(.16,1,.3,1)),background .3s ease;}
.cp-shell .vpd-step:hover{border-color:var(--cp-line,rgba(238,174,79,0.30)); transform:translateY(-4px); background:var(--cp-bg-3,#1c1815);}
.cp-shell .vpd-step__num{position:absolute; top:1.1rem; right:1.3rem; font-family:var(--cp-font-d,'Anton',sans-serif); font-size:1.6rem; color:rgba(238,174,79,0.28); line-height:1;}
.cp-shell .vpd-step__title{font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; text-transform:uppercase; font-size:1.2rem; letter-spacing:0.01em; color:var(--cp-cream,#f7e8cc); margin-top:1rem;}
.cp-shell .vpd-step__desc{margin-top:0.6rem; color:var(--cp-cream-dim,#c9b48f); font-size:0.94rem; line-height:1.6;}

/* --- Cabeçalho relacionados --- */
.cp-shell .vpd-related-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin-bottom:clamp(1.6rem,3vw,2.4rem);}
.cp-shell .vpd-related-title{font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; text-transform:uppercase; font-size:clamp(1.6rem,1rem + 2vw,2.6rem); line-height:1; letter-spacing:0.01em; color:var(--cp-cream,#f7e8cc);}

/* --- Produtos relacionados (widget Woo) no grid dark --- */
.single-product.cp-shell .elementor-widget-woocommerce-product-related h2{display:none;}
.single-product.cp-shell ul.products{display:grid!important; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2vw,1.5rem); margin:0; padding:0; list-style:none;}
@media(max-width:900px){.single-product.cp-shell ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.single-product.cp-shell ul.products{grid-template-columns:1fr;}}
.single-product.cp-shell ul.products li.product{
  background:var(--cp-bg-2,#141210); border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14));
  border-radius:var(--cp-r,14px); overflow:hidden; margin:0; padding:0; width:auto!important; float:none!important;
  transition:border-color .3s ease,transform .3s var(--cp-ease,cubic-bezier(.16,1,.3,1));}
.single-product.cp-shell ul.products li.product:hover{border-color:var(--cp-line,rgba(238,174,79,0.30)); transform:translateY(-4px);}
.single-product.cp-shell ul.products li.product img{margin:0; border-radius:0;}
.single-product.cp-shell ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; text-transform:uppercase; font-size:1.1rem;
  line-height:1.1; color:var(--cp-cream,#f7e8cc); padding:0 1rem; margin:0.9rem 0 0.4rem;}
.single-product.cp-shell ul.products li.product .price{
  color:var(--cp-gold,#eeae4f)!important; font-family:var(--cp-font-d,'Anton',sans-serif); font-size:1.3rem;
  padding:0 1rem; display:block;}
.single-product.cp-shell ul.products li.product .price del{color:var(--cp-cream-dim,#c9b48f)!important; font-size:0.9rem; font-family:var(--cp-font-b,'Figtree',sans-serif);}
.single-product.cp-shell ul.products li.product .button{
  display:block; margin:0.9rem 1rem 1.2rem; background:var(--cp-gold,#eeae4f)!important; color:var(--cp-bg,#0b0705)!important;
  border-radius:999px!important; text-align:center; padding:0.7rem 1rem!important; font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:600; border:none!important;}
.single-product.cp-shell ul.products li.product .button:hover{background:var(--cp-gold-hi,#f6c979)!important;}
.single-product.cp-shell ul.products li.product .star-rating{display:none;}

/* --- Faixa Clube --- */
.cp-shell .vpd-clube{position:relative; overflow:hidden; border-radius:var(--cp-r,14px); border:1px solid var(--cp-gold,#eeae4f); background:linear-gradient(165deg,rgba(238,174,79,0.10) 0%,var(--cp-bg-2,#141210) 58%); box-shadow:0 0 0 1px rgba(238,174,79,0.20),0 30px 70px -34px rgba(238,174,79,0.32); padding:clamp(1.8rem,3.5vw,2.8rem); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;}
.cp-shell .vpd-clube__title{font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; text-transform:uppercase; font-size:clamp(1.4rem,1rem + 1.6vw,2.1rem); line-height:1.05; letter-spacing:0.01em; color:var(--cp-cream,#f7e8cc);}
.cp-shell .vpd-clube__sub{margin-top:0.7rem; color:var(--cp-cream-dim,#c9b48f); font-size:0.98rem; line-height:1.6; max-width:52ch;}

/* ══════════════════════════════════════════════════════════════════════════
   WOOCOMMERCE CLÁSSICO — Cart (7) · Checkout (8) · Conta (9)
   Shortcode Woo (não Elementor). O header/footer editoriais (Theme Builder
   3601/3602) já vêm site-wide, mas o CONTEÚDO Woo sai cru dentro de
   .groser-main-page-wrapper (tema pinta branco). Aqui: pinta dark + mapeia o
   markup clássico do Woo pros looks do mockup (.cp-cart-table / .cp-summary /
   .cp-radio-card / .cp-dash / .cp-auth). Tokens --cp-* re-declarados no body
   porque #cp-page não está no escopo do conteúdo Woo.
   ══════════════════════════════════════════════════════════════════════════ */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
  --cp-bg:#0b0705; --cp-bg-2:#141210; --cp-bg-3:#1c1815;
  --cp-red:#a80000; --cp-red-ember:#7a1408;
  --cp-gold:#eeae4f; --cp-gold-hi:#f6c979;
  --cp-cream:#f7e8cc; --cp-cream-dim:#c9b48f;
  --cp-line:rgba(238,174,79,0.30); --cp-line-soft:rgba(238,174,79,0.14);
  --cp-font-d:'Anton','Oswald',Impact,sans-serif;
  --cp-font-b:'Figtree','Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  --cp-r:14px; --cp-rsm:8px;
  --cp-ease:cubic-bezier(.16,1,.3,1);
  background:#0b0705!important;
}
/* Fundo dark em toda a coluna de conteúdo (o tema pinta branco aqui) */
body.woocommerce-cart .groser-main-page-wrapper,
body.woocommerce-checkout .groser-main-page-wrapper,
body.woocommerce-account .groser-main-page-wrapper,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-account .site-content,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-account #content{ background:transparent!important; }
body.woocommerce-cart .groser-main-page-wrapper,
body.woocommerce-checkout .groser-main-page-wrapper,
body.woocommerce-account .groser-main-page-wrapper{
  padding-top:clamp(2.5rem,5vw,4rem); padding-bottom:clamp(4rem,8vw,7rem);
}
/* article/entry sem caixa branca */
body.woocommerce-cart article.page,
body.woocommerce-checkout article.page,
body.woocommerce-account article.page,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce{ background:transparent!important; box-shadow:none!important; border:0!important; }

/* Texto base dark em todo o conteúdo Woo destas páginas */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce{
  color:var(--cp-cream); font-family:var(--cp-font-b);
}
body.woocommerce-cart .woocommerce a,
body.woocommerce-checkout .woocommerce a,
body.woocommerce-account .woocommerce a{ color:var(--cp-gold); }
body.woocommerce-cart .woocommerce a:hover,
body.woocommerce-checkout .woocommerce a:hover,
body.woocommerce-account .woocommerce a:hover{ color:var(--cp-gold-hi); }

/* Título de seção Woo (h1/h2/account__title) no display Anton, dourado creme */
body.woocommerce-cart .woocommerce h1,
body.woocommerce-cart .woocommerce h2,
body.woocommerce-checkout .woocommerce h1,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-account .woocommerce h1,
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .account__title{
  font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  letter-spacing:0.02em; color:var(--cp-cream);
  font-size:clamp(1.8rem,1rem + 2.4vw,3rem); line-height:1.05; margin:0 0 1.4rem;
}

/* Preço Woo (amount) em creme; totais em gold cuidam no bloco de cada página */
body.woocommerce-cart .woocommerce-Price-amount,
body.woocommerce-checkout .woocommerce-Price-amount,
body.woocommerce-account .woocommerce-Price-amount{ color:var(--cp-cream); }

/* Avisos Woo (notices) no tom da casa */
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-account .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-account .woocommerce-message{
  background:var(--cp-bg-2)!important; border:1px solid var(--cp-line-soft)!important;
  border-top:2px solid var(--cp-gold)!important; border-radius:var(--cp-rsm);
  color:var(--cp-cream-dim)!important; box-shadow:none!important;
}
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-account .woocommerce-info::before{ color:var(--cp-gold)!important; }

/* Inputs Woo (todos) mapeados pro .cp-input do kit */
body.woocommerce-cart .woocommerce .input-text,
body.woocommerce-checkout .woocommerce .input-text,
body.woocommerce-account .woocommerce .input-text,
body.woocommerce-cart .woocommerce input[type="text"],
body.woocommerce-cart .woocommerce input[type="email"],
body.woocommerce-cart .woocommerce input[type="tel"],
body.woocommerce-cart .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce input[type="password"],
body.woocommerce-account .woocommerce input[type="text"],
body.woocommerce-account .woocommerce input[type="email"],
body.woocommerce-account .woocommerce input[type="tel"],
body.woocommerce-account .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce .select2-selection{
  background:var(--cp-bg)!important; border:1px solid var(--cp-line-soft)!important;
  border-radius:var(--cp-rsm)!important; padding:0.7rem 0.9rem!important;
  color:var(--cp-cream)!important; font-family:var(--cp-font-b)!important;
  font-size:0.92rem!important; box-shadow:none!important; height:auto!important;
  min-height:44px; width:100%; transition:border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-cart .woocommerce input:focus,
body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-account .woocommerce input:focus{
  border-color:var(--cp-gold)!important; box-shadow:0 0 0 3px rgba(238,174,79,0.12)!important; outline:none!important;
}
body.woocommerce-cart .woocommerce ::placeholder,
body.woocommerce-checkout .woocommerce ::placeholder,
body.woocommerce-account .woocommerce ::placeholder{ color:var(--cp-cream-dim); opacity:0.45; }
body.woocommerce-checkout .woocommerce .select2-selection__rendered{ color:var(--cp-cream)!important; line-height:44px!important; padding:0!important; }
body.woocommerce-checkout .woocommerce .select2-selection__arrow{ top:10px!important; }
body.woocommerce-checkout .select2-dropdown{ background:var(--cp-bg-2)!important; border:1px solid var(--cp-line)!important; color:var(--cp-cream)!important; }
body.woocommerce-checkout .select2-results__option{ color:var(--cp-cream-dim)!important; }
body.woocommerce-checkout .select2-results__option--highlighted{ background:rgba(238,174,79,0.12)!important; color:var(--cp-gold)!important; }

/* Labels de formulário Woo no padrão .cp-field label (uppercase, dim) */
body.woocommerce-cart .woocommerce label,
body.woocommerce-checkout .woocommerce .form-row label,
body.woocommerce-account .woocommerce label{
  font-size:0.8rem; font-weight:600; letter-spacing:0.06em;
  color:var(--cp-cream-dim); text-transform:uppercase; margin-bottom:0.35rem; display:block;
}
body.woocommerce-cart .woocommerce label.checkbox,
body.woocommerce-checkout .woocommerce label.checkbox,
body.woocommerce-checkout .woocommerce label.woocommerce-form__label-for-checkbox,
body.woocommerce-account .woocommerce label.woocommerce-form__label-for-checkbox{
  text-transform:none; letter-spacing:0.01em; font-weight:500; color:var(--cp-cream-dim);
  display:inline-flex; align-items:center; gap:0.5rem;
}
body.woocommerce-cart .required,
body.woocommerce-checkout .required,
body.woocommerce-account .required,
body.woocommerce-checkout .required_field{ color:var(--cp-gold); border:0; }

/* Botões Woo (thm-btn e .button) mapeados pro .cp-btn--gold do kit */
body.woocommerce-cart .woocommerce .button,
body.woocommerce-cart .woocommerce .thm-btn,
body.woocommerce-checkout .woocommerce .button,
body.woocommerce-checkout .woocommerce .thm-btn,
body.woocommerce-checkout #place_order,
body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce .thm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.55rem;
  background:var(--cp-gold)!important; color:var(--cp-bg)!important;
  font-family:var(--cp-font-b)!important; font-weight:700!important; letter-spacing:0.04em!important;
  border:1px solid transparent!important; border-radius:999px!important;
  padding:0.95rem 2rem!important; font-size:0.95rem!important; text-transform:none!important;
  line-height:1!important; cursor:pointer; box-shadow:0 10px 30px -12px rgba(238,174,79,0.55);
  transition:background .25s ease, transform .2s var(--cp-ease), box-shadow .25s ease;
}
body.woocommerce-cart .woocommerce .button:hover,
body.woocommerce-cart .woocommerce .thm-btn:hover,
body.woocommerce-checkout .woocommerce .button:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce .thm-btn:hover{
  background:var(--cp-gold-hi)!important; transform:translateY(-2px);
  box-shadow:0 16px 40px -12px rgba(238,174,79,0.7);
}
/* botão fantasma (aplicar cupom / calcular frete) */
body.woocommerce-cart .woocommerce .thm-btn.br-0,
body.woocommerce-cart .woocommerce .shipping-calculator-form .button,
body.woocommerce-checkout .woocommerce .checkout_coupon .button{
  background:rgba(247,232,204,0.03)!important; color:var(--cp-cream)!important;
  border:1px solid var(--cp-line)!important; box-shadow:none!important;
}
body.woocommerce-cart .woocommerce .thm-btn.br-0:hover,
body.woocommerce-checkout .woocommerce .checkout_coupon .button:hover{
  border-color:var(--cp-gold)!important; color:var(--cp-gold)!important; background:rgba(238,174,79,0.06)!important;
}
/* remove o wrap decorativo do thm-btn (dupla label) */
body.woocommerce-cart .woocommerce .thm-btn .btn-wrap span + span{ display:none; }
body.woocommerce-cart .woocommerce .thm-btn .btn-wrap{ display:inline-flex; }
/* FIX hover (29/07): o .thm-btn__2 do tema (Aplicar cupom / Atualizar carrinho) desliza a label no
   hover contando com a 2ª span — que escondemos acima. Resultado: no hover o texto sumia. Trava o
   movimento e garante só a 1ª label, estática e visível. */
body.woocommerce-cart .woocommerce .thm-btn:hover .btn-wrap,
body.woocommerce-cart .woocommerce .thm-btn:focus .btn-wrap,
body.woocommerce-checkout .woocommerce .thm-btn:hover .btn-wrap,
body.woocommerce-checkout .woocommerce .thm-btn:focus .btn-wrap{ transform:none!important; }
body.woocommerce-cart .woocommerce .thm-btn:hover .btn-wrap span,
body.woocommerce-cart .woocommerce .thm-btn:focus .btn-wrap span,
body.woocommerce-checkout .woocommerce .thm-btn:hover .btn-wrap span,
body.woocommerce-checkout .woocommerce .thm-btn:focus .btn-wrap span{ transform:none!important; opacity:1!important; }
body.woocommerce-cart .woocommerce .thm-btn:hover .btn-wrap span + span,
body.woocommerce-cart .woocommerce .thm-btn:focus .btn-wrap span + span,
body.woocommerce-checkout .woocommerce .thm-btn:hover .btn-wrap span + span,
body.woocommerce-checkout .woocommerce .thm-btn:focus .btn-wrap span + span{ display:none!important; }

/* ─────────────────────────── CART (page 7) ─────────────────────────── */
body.woocommerce-cart .woocommerce-cart-form{
  float:none!important; width:100%!important; margin:0 0 2rem;
}
@media (min-width:901px){
  body.woocommerce-cart .cart-section{
    display:grid; grid-template-columns:1.55fr 0.95fr;
    gap:clamp(1.75rem,3.5vw,3.5rem); align-items:start;
  }
  body.woocommerce-cart .woocommerce-cart-form{ grid-column:1; margin-bottom:0; }
  body.woocommerce-cart .cart-collaterals{ grid-column:2; }
}
body.woocommerce-cart table.cart{
  width:100%; border-collapse:collapse; background:transparent!important; border:0!important; margin:0;
}
body.woocommerce-cart table.cart thead th{
  text-align:left; font-family:var(--cp-font-b); font-size:0.75rem; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--cp-cream-dim);
  padding:0 0 0.9rem; border-bottom:1px solid var(--cp-line-soft); background:transparent!important;
}
body.woocommerce-cart table.cart thead th.product-price{ text-align:right; }
body.woocommerce-cart table.cart td{
  padding:1.2rem 0.6rem!important; border-bottom:1px solid var(--cp-line-soft)!important;
  vertical-align:middle; background:transparent!important; color:var(--cp-cream);
}
body.woocommerce-cart table.cart td.product-remove{ padding-left:0!important; width:44px; }
body.woocommerce-cart table.cart td.product-thumbnail{ width:80px; }
body.woocommerce-cart table.cart td.product-thumbnail img{
  width:64px; height:64px; border-radius:var(--cp-rsm); object-fit:cover;
  border:1px solid var(--cp-line-soft);
}
body.woocommerce-cart table.cart td.product-name a{
  font-size:0.94rem; font-weight:600; color:var(--cp-cream)!important; line-height:1.3;
}
body.woocommerce-cart table.cart td.product-name a:hover{ color:var(--cp-gold)!important; }
body.woocommerce-cart table.cart td.product-price,
body.woocommerce-cart table.cart td.product-subtotal{ text-align:right; }
body.woocommerce-cart table.cart td.product-subtotal .woocommerce-Price-amount{
  font-family:var(--cp-font-d); font-size:1.1rem; color:var(--cp-cream); letter-spacing:0.01em;
}
body.woocommerce-cart table.cart td.product-price .woocommerce-Price-amount{ color:var(--cp-cream-dim); }
body.woocommerce-cart table.cart a.remove{
  display:inline-grid!important; place-items:center; width:34px; height:34px;
  border-radius:50%!important; border:1px solid var(--cp-line-soft);
  background:rgba(247,232,204,0.03)!important; color:var(--cp-cream-dim)!important;
  font-size:1rem!important; line-height:1; text-decoration:none;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
body.woocommerce-cart table.cart a.remove:hover{
  border-color:var(--cp-red); color:var(--cp-red)!important; background:rgba(168,0,0,0.08)!important;
}
body.woocommerce-cart table.cart .quantity{
  display:inline-flex; align-items:center; border:1px solid var(--cp-line);
  border-radius:var(--cp-rsm); overflow:hidden;
}
body.woocommerce-cart table.cart .quantity input.qty{
  width:56px; height:40px; text-align:center; background:var(--cp-bg)!important;
  border:none!important; color:var(--cp-cream)!important; font-family:var(--cp-font-b);
  font-weight:600; font-size:0.95rem; box-shadow:none!important; min-height:40px; padding:0!important;
}
body.woocommerce-cart table.cart td.actions{ padding:1.4rem 0 0!important; border-bottom:0!important; }
body.woocommerce-cart .coupon{ display:flex; gap:0.6rem; flex-wrap:wrap; align-items:center; }
body.woocommerce-cart .coupon .input-text{ flex:1; min-width:170px; max-width:280px; }
body.woocommerce-cart .cart-collaterals .cart_totals{
  float:none!important; width:100%!important;
  background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); padding:clamp(1.4rem,2.5vw,2rem);
  position:sticky; top:96px;
}
body.woocommerce-cart .cart_totals h2{
  font-family:var(--cp-font-d); font-size:1.25rem; text-transform:uppercase;
  letter-spacing:0.04em; color:var(--cp-cream); margin:0 0 1.2rem;
}
body.woocommerce-cart .cart_totals table{ width:100%; border-collapse:collapse; background:transparent!important; border:0!important; }
body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td{
  padding:0.75rem 0!important; border:0!important; border-bottom:1px solid var(--cp-line-soft)!important;
  background:transparent!important; font-size:0.9rem; color:var(--cp-cream-dim); vertical-align:top; text-align:left;
}
body.woocommerce-cart .cart_totals table th{ font-weight:600; color:var(--cp-cream-dim); }
body.woocommerce-cart .cart_totals td[data-title]{ text-align:right; color:var(--cp-cream); }
body.woocommerce-cart .cart_totals .order-total th{ color:var(--cp-cream); font-weight:700; font-size:1.05rem; }
body.woocommerce-cart .cart_totals .order-total td,
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount{
  font-family:var(--cp-font-d)!important; font-size:1.5rem!important; color:var(--cp-gold)!important; text-align:right;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{ border-bottom:0!important; padding-top:1rem!important; }
body.woocommerce-cart .shipping-calculator-button{ color:var(--cp-gold)!important; font-size:0.86rem; }
body.woocommerce-cart .woocommerce-shipping-calculator .button{ width:100%; margin-top:0.6rem; }
body.woocommerce-cart .wc-proceed-to-checkout{ padding-top:1.2rem!important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  width:100%; justify-content:center; font-size:1.02rem!important; padding:1.1rem 2rem!important;
}

/* ───────────────────────── CHECKOUT (page 8) ───────────────────────── */
@media (min-width:901px){
  body.woocommerce-checkout form.checkout{
    display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);
    gap:clamp(1.5rem,3vw,3rem); align-items:start;
  }
  body.woocommerce-checkout #customer_details{ grid-column:1; grid-row:1 / span 3; min-width:0; }
  body.woocommerce-checkout #order_review_heading{ grid-column:2; grid-row:1; margin-top:0; }
  body.woocommerce-checkout #order_review{ grid-column:2; grid-row:2; min-width:0; }
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{ float:none!important; width:100%!important; }
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); padding:clamp(1.4rem,2.6vw,2rem); margin-bottom:1.25rem;
}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3{
  font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  font-size:1.25rem; letter-spacing:0.02em; color:var(--cp-cream); margin:0 0 1.3rem;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.1rem;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .notes{ grid-column:1 / -1; }
@media (max-width:560px){ body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ grid-template-columns:1fr; } }
body.woocommerce-checkout .form-row{ margin:0 0 0.2rem; padding:0; }
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last{ width:auto!important; float:none!important; }
body.woocommerce-checkout .woocommerce-input-wrapper{ display:block; width:100%; }
body.woocommerce-checkout #order_review{
  background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); padding:clamp(1.4rem,2.5vw,2rem); position:sticky; top:90px;
}
body.woocommerce-checkout #order_review_heading{
  font-family:var(--cp-font-d); font-size:1.25rem; text-transform:uppercase;
  letter-spacing:0.04em; color:var(--cp-cream); margin:0 0 1.2rem;
}
body.woocommerce-checkout #order_review table.shop_table{
  width:100%; border-collapse:collapse; background:transparent!important; border:0!important; margin:0;
}
body.woocommerce-checkout #order_review table th,
body.woocommerce-checkout #order_review table td{
  padding:0.7rem 0!important; border:0!important; border-bottom:1px solid var(--cp-line-soft)!important;
  background:transparent!important; font-size:0.9rem; color:var(--cp-cream-dim); text-align:left; vertical-align:top;
}
body.woocommerce-checkout #order_review table thead th{
  font-family:var(--cp-font-b); font-size:0.72rem; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--cp-cream-dim);
}
body.woocommerce-checkout #order_review td.product-total,
body.woocommerce-checkout #order_review th.product-total,
body.woocommerce-checkout #order_review .product-total{ text-align:right; }
body.woocommerce-checkout #order_review td.product-name{ color:var(--cp-cream); font-weight:600; }
body.woocommerce-checkout #order_review .cart-subtotal td,
body.woocommerce-checkout #order_review .cart-subtotal th{ color:var(--cp-cream); }
body.woocommerce-checkout #order_review .order-total th{ color:var(--cp-cream); font-weight:700; font-size:1.05rem; border-bottom:0!important; padding-top:1rem!important; }
body.woocommerce-checkout #order_review .order-total td{ border-bottom:0!important; padding-top:1rem!important; text-align:right; }
body.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount{
  font-family:var(--cp-font-d)!important; font-size:1.5rem!important; color:var(--cp-gold)!important;
}
body.woocommerce-checkout #payment{ background:transparent!important; border-radius:0; margin-top:1.2rem; }
body.woocommerce-checkout #payment ul.wc_payment_methods{
  list-style:none; margin:0; padding:0; display:grid; gap:0.7rem; border:0;
}
/* cada método = card flex; o radio e o texto ficam na MESMA linha; a caixa do
   método (payment_box) quebra pra uma linha full-width abaixo (flex-wrap). */
body.woocommerce-checkout #payment li.wc_payment_method{
  display:flex; flex-wrap:wrap; align-items:center; gap:0.8rem; margin:0;
  padding:1rem 1.2rem; background:var(--cp-bg); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); cursor:pointer;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
body.woocommerce-checkout #payment li.wc_payment_method:hover{
  border-color:var(--cp-line); background:var(--cp-bg-3);
}
body.woocommerce-checkout #payment li.wc_payment_method:has(> input[type="radio"]:checked){
  border-color:var(--cp-gold); background:rgba(238,174,79,0.04); box-shadow:0 0 0 1px rgba(238,174,79,0.25);
}
body.woocommerce-checkout #payment li.wc_payment_method > input[type="radio"]{
  accent-color:var(--cp-gold); width:20px; height:20px; flex:0 0 20px; margin:0; order:0; cursor:pointer;
}
body.woocommerce-checkout #payment li.wc_payment_method > label{
  flex:1 1 auto; order:1; display:flex; align-items:center; gap:0.6rem; margin:0; padding:0;
  background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important;
  cursor:pointer; text-transform:none; letter-spacing:0.01em;
  font-weight:600; font-size:0.95rem; color:var(--cp-cream);
}
body.woocommerce-checkout #payment li.wc_payment_method > label img{ height:22px; width:auto; margin-left:auto; }
body.woocommerce-checkout #payment li.wc_payment_method > .payment_box{ order:2; flex:0 0 100%; width:100%; }
body.woocommerce-checkout #payment .payment_box{
  background:rgba(238,174,79,0.05)!important; border:1px solid var(--cp-line-soft)!important;
  border-radius:var(--cp-rsm); color:var(--cp-cream-dim); font-size:0.88rem; line-height:1.55;
  margin:0.4rem 0 0!important; padding:1rem 1.15rem!important;
}
body.woocommerce-checkout #payment .payment_box::before{ display:none!important; }
body.woocommerce-checkout #payment .place-order{ padding:1.2rem 0 0!important; margin:0; }
body.woocommerce-checkout #payment #place_order{ width:100%; justify-content:center; font-size:1.05rem!important; padding:1.1rem 2rem!important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ color:var(--cp-cream-dim); font-size:0.82rem; margin-top:0.8rem; }
body.woocommerce-checkout #ship-to-different-address{ color:var(--cp-cream); font-family:var(--cp-font-b); }
body.woocommerce-checkout .checkout_coupon{
  background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); padding:1.4rem; margin-bottom:1.5rem;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{ text-align:left; }

/* ─────────────────────────── CONTA (page 9) ─────────────────────────── */
body.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:520px; margin-inline:auto;
}
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account .account__input-field{
  background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); padding:clamp(1.8rem,3.5vw,2.6rem); margin:0;
}
body.woocommerce-account .woocommerce-form-login .form-row{ margin-bottom:1.1rem; }
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit{ width:100%; margin-top:0.4rem; }
body.woocommerce-account .woocommerce-form-login__rememberme{ text-transform:none; }
body.woocommerce-account .lost_password a{ color:var(--cp-gold)!important; font-size:0.88rem; }
@media (min-width:721px){
  body.woocommerce-account.logged-in .woocommerce{
    display:grid; grid-template-columns:220px 1fr; gap:2rem; align-items:start;
  }
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); overflow:hidden; float:none!important; width:auto!important; margin:0;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0; border:0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block; padding:0.85rem 1.2rem; font-size:0.9rem; color:var(--cp-cream-dim)!important;
  border-bottom:1px solid var(--cp-line-soft); transition:color .2s ease, background .2s ease; text-decoration:none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{ border-bottom:0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ color:var(--cp-cream)!important; background:var(--cp-bg-3); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation-link--active a{
  color:var(--cp-gold)!important; background:rgba(238,174,79,0.05);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); padding:clamp(1.4rem,2.5vw,2rem); float:none!important; width:auto!important; margin:0;
}
body.woocommerce-account .woocommerce-MyAccount-content p{ color:var(--cp-cream-dim); line-height:1.7; }
body.woocommerce-account .woocommerce-MyAccount-content strong{ color:var(--cp-cream); }
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .shop_table{ background:transparent!important; border:0!important; width:100%; border-collapse:collapse; }
body.woocommerce-account .woocommerce-orders-table th{
  font-size:0.75rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--cp-cream-dim); border-bottom:1px solid var(--cp-line-soft)!important; padding:0 0 0.8rem; text-align:left;
}
body.woocommerce-account .woocommerce-orders-table td{
  padding:0.9rem 0!important; border-bottom:1px solid var(--cp-line-soft)!important;
  color:var(--cp-cream-dim); background:transparent!important; vertical-align:middle;
}
body.woocommerce-account .woocommerce-button{ padding:0.6rem 1.2rem!important; font-size:0.85rem!important; }

/* ─────────────────── ETIQUETA DE ORIGEM (hook mu-plugin) ─────────────────── */
body.woocommerce-cart .porcao-origin,
body.woocommerce-checkout .porcao-origin{
  display:inline-flex; align-items:center; gap:0.34rem; margin:0.5rem 0.4rem 0.1rem 0;
  font-family:var(--cp-font-b); font-size:0.62rem; font-weight:700; letter-spacing:0.11em;
  text-transform:uppercase; padding:0.2rem 0.5rem 0.22rem; border-radius:999px;
  border:1px solid var(--cp-line-soft); line-height:1; vertical-align:middle;
}
body.woocommerce-checkout .porcao-origin{ margin:0 0 0.32rem; }
body.woocommerce-cart .porcao-origin svg,
body.woocommerce-checkout .porcao-origin svg{ width:11px; height:11px; flex-shrink:0; }
.porcao-origin--voucher,.porcao-origin--clube{ color:var(--cp-gold); background:rgba(238,174,79,0.08); border-color:rgba(238,174,79,0.28); }
.porcao-origin--delivery{ color:#e79a86; background:rgba(122,20,8,0.16); border-color:rgba(168,0,0,0.32); }
.porcao-origin--emporio{ color:var(--cp-cream); background:rgba(247,232,204,0.05); border-color:var(--cp-line-soft); }
.porcao-origin--caixa{ color:var(--cp-gold-hi); background:rgba(238,174,79,0.06); border-color:rgba(238,174,79,0.22); }

/* ══════════════════════════════════════════════════════════════════════════
   QUICK VIEW (WPClever Smart Quick View · .woosq / Magnific Popup .mfp-content)
   ----------------------------------------------------------------------------
   O modal renderiza no skin BRANCO nativo do WPClever, injetado direto no
   <body> (fora de #cp-page), então TODO seletor aqui é escopado sob
   .mfp-content / .woosq-popup e usa hex literal (os tokens --cp-* não estão
   no escopo). Casa com build-ecom/shots/delivery-modal.png: fundo dark/brasa,
   textos creme, checkboxes/radios gold, botão adicionar gold, PPOM legível.
   NÃO vaza pro resto do site (todo seletor exige .mfp-content ou .woosq-popup).
   ══════════════════════════════════════════════════════════════════════════ */

/* Overlay mais escuro (o do Magnific vem cinza-claro) */
.mfp-bg.woosq-mfp,.mfp-bg{ background:#060403!important; }
.mfp-bg.woosq-mfp.mfp-ready,.mfp-bg.mfp-ready{ opacity:0.88!important; }

/* Painel do modal: fundo dark com brasa vermelha no canto */
.mfp-content .woosq-popup,
.mfp-content .woosq-product{
  background:#0b0705!important;
  background-image:
    radial-gradient(120% 90% at 12% 4%,rgba(122,20,8,0.28) 0%,transparent 55%),
    linear-gradient(180deg,#141210 0%,#0b0705 60%)!important;
  color:#f7e8cc!important;
  border:1px solid rgba(238,174,79,0.20)!important;
  border-radius:16px!important; box-shadow:0 40px 90px -30px rgba(0,0,0,0.8)!important;
  font-family:'Figtree','Manrope',-apple-system,BlinkMacSystemFont,sans-serif!important;
}
.mfp-content .woosq-product .product{ background:transparent!important; }
.mfp-content .woosq-product .product-row,
.mfp-content .woosq-product .summary,
.mfp-content .woosq-product .entry-summary,
.mfp-content .woosq-product .summary-content{ background:transparent!important; color:#f7e8cc!important; }
.mfp-content .woosq-product .col-md-12{ background:transparent!important; }

/* Coluna da imagem: moldura dark em vez do branco */
.mfp-content .woosq-product .images,
.mfp-content .woosq-product .thumbnails,
.mfp-content .woosq-product .thumbnail{
  background:#141210!important; border-color:rgba(238,174,79,0.14)!important;
}
.mfp-content .woosq-product .woocommerce-placeholder{ opacity:0.35; }

/* Título do produto: Anton, creme */
.mfp-content .woosq-product .entry-title,
.mfp-content .woosq-product .product_title{
  font-family:'Anton','Oswald',Impact,sans-serif!important; font-weight:400!important;
  text-transform:uppercase!important; letter-spacing:0.01em!important; line-height:1.02!important;
  color:#f7e8cc!important; font-size:clamp(1.6rem,1.1rem + 1.6vw,2.2rem)!important;
}

/* Preço base: gold Anton */
.mfp-content .woosq-product .price,
.mfp-content .woosq-product .price .amount,
.mfp-content .woosq-product .price .woocommerce-Price-amount,
.mfp-content .woosq-product .price ins .amount{
  font-family:'Anton','Oswald',Impact,sans-serif!important; color:#eeae4f!important;
  font-size:clamp(1.5rem,1rem + 1.4vw,2rem)!important; letter-spacing:0.01em!important;
}
.mfp-content .woosq-product .price del,
.mfp-content .woosq-product .price del .amount{
  color:#c9b48f!important; font-family:'Figtree',sans-serif!important; font-size:1rem!important; opacity:0.7;
}
.mfp-content .woosq-product .woocommerce-Price-currencySymbol{ color:inherit!important; }

/* Descrição curta / textos correntes */
.mfp-content .woosq-product .woocommerce-product-details__short-description,
.mfp-content .woosq-product .woocommerce-product-details__short-description p,
.mfp-content .woosq-product p,
.mfp-content .woosq-product .product_meta,
.mfp-content .woosq-product .posted_in,
.mfp-content .woosq-product .product_meta a{ color:#c9b48f!important; }
.mfp-content .woosq-product .product_meta a:hover{ color:#eeae4f!important; }

/* Botão fechar */
.mfp-content .mfp-close,
.woosq-popup .mfp-close{
  color:#f7e8cc!important; opacity:1!important; font-size:0!important;
  width:40px!important; height:40px!important; line-height:40px!important;
  background:rgba(11,7,5,0.7)!important; border:1px solid rgba(238,174,79,0.20)!important;
  border-radius:50%!important; top:12px!important; right:12px!important;
  transition:border-color .2s ease,color .2s ease!important;
}
.mfp-content .mfp-close::after,.woosq-popup .mfp-close::after{
  content:"\00d7"; font-size:22px; line-height:38px; display:block; text-align:center; color:#f7e8cc;
}
.mfp-content .mfp-close:hover,.woosq-popup .mfp-close:hover{ border-color:#eeae4f!important; }
.mfp-content .mfp-close:hover::after{ color:#eeae4f; }

/* ─────── PPOM (opcionais/adicionais/ponto da carne/observação) ─────── */
.mfp-content .ppom-wrapper,
.mfp-content .ppom-wrapper_outer-acompanhamentos,
.mfp-content .ppom-wrapper_outer-adicionais,
.mfp-content .ppom-wrapper_outer-ponto_da_carne,
.mfp-content .ppom-wrapper_outer-observacao,
.mfp-content .ppom-field-wrapper,
.mfp-content .ppom-rendering-fields,
.mfp-content .form-group,
.mfp-content .form-row{
  background:transparent!important; border-color:rgba(238,174,79,0.14)!important; color:#f7e8cc!important;
}
/* Cada grupo separado por uma linha no topo, como o mockup */
.mfp-content .ppom-field-wrapper{
  border-top:1px solid rgba(238,174,79,0.14)!important;
  padding-top:1.1rem!important; margin-top:1.1rem!important;
}
.mfp-content .ppom-field-wrapper:first-of-type{ border-top:0!important; margin-top:0.4rem!important; }

/* Rótulo do grupo (ex.: "Escolha 2 acompanhamentos") em creme, bold */
.mfp-content .ppom-input-option-label,
.mfp-content .form-control-label,
.mfp-content .ppom-field-wrapper > label{
  color:#f7e8cc!important; font-weight:700!important; font-size:0.95rem!important;
  letter-spacing:0.01em!important; font-family:'Figtree',sans-serif!important;
}
.mfp-content .ppom-input-desc{ color:#c9b48f!important; font-size:0.78rem!important; opacity:0.9; }
.mfp-content .ppom-required{ color:#eeae4f!important; }

/* Cada opção: linha clicável com divisória */
.mfp-content .form-check,
.mfp-content .ppom-simple-option,
.mfp-content label.ppom-label-checkbox,
.mfp-content label.ppom-label-radio{
  display:flex!important; align-items:center!important; gap:0.75rem!important;
  color:#f7e8cc!important; font-size:0.9rem!important; font-family:'Figtree',sans-serif!important;
  padding:0.55rem 0!important; margin:0!important;
  border-bottom:1px solid rgba(238,174,79,0.10)!important; cursor:pointer;
}
.mfp-content .form-check:last-child,
.mfp-content .ppom-simple-option:last-child{ border-bottom:0!important; }
.mfp-content .form-check-label,
.mfp-content .ppom-option-label{ color:#f7e8cc!important; }
.mfp-content .ppom-option-label-price{ color:#eeae4f!important; font-weight:600!important; margin-left:auto!important; }

/* Checkboxes / radios pintados de gold (accent-color pega no navegador moderno) */
.mfp-content .ppom-check-input,
.mfp-content .form-check input[type="checkbox"],
.mfp-content .form-check input[type="radio"],
.mfp-content .ppom-input input[type="checkbox"],
.mfp-content .ppom-input input[type="radio"],
.mfp-content input.checkbox,
.mfp-content input.radio{
  accent-color:#eeae4f!important; width:20px!important; height:20px!important;
  flex-shrink:0!important; margin:0!important; cursor:pointer;
}

/* Campo observação (textarea) */
.mfp-content .ppom-wrapper_outer-observacao textarea,
.mfp-content .ppom-input textarea,
.mfp-content .woosq-product textarea,
.mfp-content .woosq-product .form-control,
.mfp-content .woosq-product input.input-text[type="text"]{
  background:#0b0705!important; border:1px solid rgba(238,174,79,0.14)!important;
  border-radius:8px!important; color:#f7e8cc!important; padding:0.7rem 0.9rem!important;
  font-family:'Figtree',sans-serif!important; font-size:0.9rem!important; width:100%!important;
  box-shadow:none!important;
}
.mfp-content .woosq-product textarea:focus,
.mfp-content .woosq-product .form-control:focus{
  border-color:#eeae4f!important; box-shadow:0 0 0 3px rgba(238,174,79,0.12)!important; outline:none!important;
}
.mfp-content .woosq-product ::placeholder{ color:#c9b48f!important; opacity:0.45; }

/* Preço dinâmico do PPOM (total conforme escolhe) */
.mfp-content .ppom-price,
.mfp-content .ppom-price .amount,
.mfp-content [class*="ppom-price-container"]{ color:#eeae4f!important; font-weight:700!important; }

/* ─────── Quantidade + Adicionar (rodapé do modal) ─────── */
.mfp-content .woosq-product .quantity{
  display:inline-flex!important; align-items:center!important;
  border:1px solid rgba(238,174,79,0.30)!important; border-radius:8px!important;
  overflow:hidden!important; background:transparent!important;
}
.mfp-content .woosq-product .quantity .bootstrap-touchspin-down,
.mfp-content .woosq-product .quantity .bootstrap-touchspin-up,
.mfp-content .woosq-product .quantity .input-group-btn > .btn{
  width:40px!important; height:44px!important; min-width:40px!important; padding:0!important;
  display:grid!important; place-items:center!important; background:#141210!important;
  border:0!important; border-radius:0!important; color:#f7e8cc!important;
  font-size:1.2rem!important; box-shadow:none!important; text-decoration:none!important; cursor:pointer;
}
.mfp-content .woosq-product .quantity .bootstrap-touchspin-down:hover,
.mfp-content .woosq-product .quantity .bootstrap-touchspin-up:hover,
.mfp-content .woosq-product .quantity .input-group-btn > .btn:hover{
  background:#1c1815!important; color:#eeae4f!important;
}
.mfp-content .woosq-product .quantity input.qty{
  width:52px!important; height:44px!important; text-align:center!important; background:#0b0705!important;
  border:0!important; border-left:1px solid rgba(238,174,79,0.14)!important;
  border-right:1px solid rgba(238,174,79,0.14)!important; border-radius:0!important;
  color:#f7e8cc!important; font-family:'Figtree',sans-serif!important; font-weight:600!important;
  font-size:0.95rem!important; box-shadow:none!important; -moz-appearance:textfield;
}
.mfp-content .woosq-product .quantity input.qty::-webkit-outer-spin-button,
.mfp-content .woosq-product .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* Botão adicionar à sacola: gold, arredondado */
.mfp-content .woosq-product .single_add_to_cart_button,
.mfp-content .woosq-product button.single_add_to_cart_button,
.mfp-content .woosq-product .add-to-cart-btn .button{
  background:#eeae4f!important; color:#0b0705!important;
  font-family:'Figtree',sans-serif!important; font-weight:700!important; letter-spacing:0.03em!important;
  border:0!important; border-radius:999px!important; padding:1rem 2rem!important;
  font-size:1rem!important; text-transform:none!important; line-height:1!important; cursor:pointer;
  box-shadow:0 10px 28px -10px rgba(238,174,79,0.6)!important;
  transition:background .25s ease,transform .2s ease!important;
}
.mfp-content .woosq-product .single_add_to_cart_button:hover{
  background:#f6c979!important; transform:translateY(-1px);
}
.mfp-content .woosq-product .cart{
  display:flex!important; align-items:center!important; gap:0.85rem!important; flex-wrap:wrap!important;
  background:transparent!important; margin-top:0.6rem!important;
}
.mfp-content .woosq-product .btn-wrap span + span{ display:none!important; }

/* Notices dentro do modal */
.mfp-content .woosq-product .woocommerce-notices-wrapper .woocommerce-message,
.mfp-content .woosq-product .woocommerce-info{
  background:#141210!important; border:1px solid rgba(238,174,79,0.14)!important;
  border-top:2px solid #eeae4f!important; color:#c9b48f!important; box-shadow:none!important;
}

/* Scrollbar do perfect-scrollbar (ps-theme-wpc) em gold discreto */
.mfp-content .ps-scrollbar-y{ background:rgba(238,174,79,0.35)!important; }
.mfp-content .ps-scrollbar-y-rail{ background:transparent!important; }

/* ══════════════════════════ PORCAO-JORNADA-FIX (2026-07-16) ═════════════════════════ */
/* Correções da jornada WooCommerce: vouchers home, grid checkout, grid conta,           */
/* bloco Clube (carrinho+checkout), cabeçalho de página, toggle Saldo do Clube.          */

/* ---------- VOUCHERS na home: markup .omni-vouch idêntico ao mockup home-omni.html ---------- */
#cp-page .omni-vouch__grid{display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,1.8vw,1.5rem); margin-top:clamp(2.2rem,3.5vw,3rem);}
#cp-page .omni-vouch{position:relative; display:flex; flex-direction:column; overflow:hidden;
  border-radius:var(--cp-r); border:1px solid var(--cp-line-soft); background:var(--cp-bg-2);
  transition:border-color .3s ease, transform .35s var(--cp-ease), box-shadow .35s ease;}
#cp-page .omni-vouch:hover{border-color:var(--cp-line); transform:translateY(-5px);
  box-shadow:0 20px 48px -20px rgba(0,0,0,0.55);}
#cp-page .omni-vouch.is-hero{border-color:var(--cp-gold);
  box-shadow:0 0 0 1px rgba(238,174,79,0.22), 0 26px 60px -30px rgba(238,174,79,0.4);}
#cp-page .omni-vouch__media{position:relative; aspect-ratio:4/5; overflow:hidden; flex-shrink:0;
  background:var(--cp-bg-3); display:block;}
#cp-page .omni-vouch__media a{display:block; width:100%; height:100%;}
#cp-page .omni-vouch__media img{width:100%; height:100%; object-fit:cover;
  transition:transform .6s var(--cp-ease);}
#cp-page .omni-vouch:hover .omni-vouch__media img{transform:scale(1.05);}
#cp-page .omni-vouch__scrim{position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(11,7,5,0.05) 0%,rgba(11,7,5,0.25) 55%,rgba(11,7,5,0.9) 100%);}
#cp-page .omni-vouch__tag{position:absolute; left:0.85rem; top:0.85rem; z-index:2;}
#cp-page .omni-vouch__ribbon{position:absolute; right:0.85rem; top:0.85rem; z-index:2;
  display:inline-flex; align-items:center; padding:0.3rem 0.7rem; border-radius:999px;
  font-size:0.66rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; line-height:1;
  background:rgba(238,174,79,0.94); color:var(--cp-bg); backdrop-filter:blur(6px);}
#cp-page .omni-vouch__body{padding:1.2rem 1.25rem 1.4rem; display:flex; flex-direction:column; flex:1;}
#cp-page .omni-vouch__name{font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  font-size:1.2rem; line-height:1.04; letter-spacing:0.01em; color:var(--cp-cream);}
#cp-page .omni-vouch__desc{margin-top:0.6rem; color:var(--cp-cream-dim); font-size:0.86rem; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
#cp-page .omni-vouch__price-row{display:flex; align-items:baseline; flex-wrap:wrap; gap:0.4rem;
  margin-top:1.1rem;}
#cp-page .omni-vouch__from{font-size:0.72rem; letter-spacing:0.06em; color:var(--cp-cream-dim);
  text-transform:uppercase; width:100%; margin-bottom:0.1rem;}
#cp-page .omni-vouch__price{font-family:var(--cp-font-d); font-size:1.6rem; line-height:1;
  color:var(--cp-gold); letter-spacing:0.01em;}
#cp-page .omni-vouch__price-row del{font-size:0.95rem; color:var(--cp-cream-dim); opacity:0.55;
  text-decoration:line-through; font-family:var(--cp-font-b);}
#cp-page .omni-vouch__cta{display:flex; align-items:center; justify-content:center; gap:0.5rem;
  width:100%; margin-top:1.15rem; padding:0.75rem 1rem; border-radius:var(--cp-rsm);
  background:var(--cp-gold); color:var(--cp-bg); font-family:var(--cp-font-b); font-weight:700;
  font-size:0.86rem; letter-spacing:0.04em; border:1px solid transparent; text-decoration:none;
  transition:background .22s ease, transform .2s var(--cp-ease), box-shadow .22s ease;}
#cp-page .omni-vouch__cta svg{width:15px; height:15px; flex-shrink:0;}
#cp-page .omni-vouch__cta:hover{background:var(--cp-gold-hi); transform:translateY(-1px);
  box-shadow:0 8px 20px -8px rgba(238,174,79,0.5); color:var(--cp-bg);}
@media (max-width:960px){#cp-page .omni-vouch__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:420px){#cp-page .omni-vouch__grid{grid-template-columns:1fr;}}

/* ---------- CHECKOUT: reforço do grid (vence float/width do tema Groser) ---------- */
@media (min-width:901px){
  body.woocommerce-checkout form.checkout{ display:grid!important; }
  body.woocommerce-checkout #customer_details{ width:auto!important; float:none!important;
    grid-column:1!important; }
  body.woocommerce-checkout #order_review{ width:auto!important; float:none!important;
    grid-column:2!important; }
  body.woocommerce-checkout #order_review_heading{ grid-column:2!important; }
}
/* mobile: garante coluna única e ordem lógica */
@media (max-width:900px){
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review{ width:auto!important; float:none!important; }
}

/* ---------- CONTA (logado): colocação explícita nav/conteúdo (corrige swap do tema) ---------- */
@media (min-width:901px){
  body.woocommerce-account.logged-in .woocommerce{ display:grid!important;
    grid-template-columns:220px minmax(0,1fr)!important; gap:2rem!important; align-items:start!important; }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{ grid-column:1!important;
    grid-row:1!important; width:auto!important; float:none!important; margin:0!important; }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{ grid-column:2!important;
    grid-row:1!important; width:auto!important; float:none!important; margin:0!important; min-width:0!important; }
}
@media (max-width:900px){
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{ width:auto!important; float:none!important; }
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{ margin-bottom:1.5rem!important; }
}

/* ---------- CABEÇALHO de página WC (carrinho / checkout) ---------- */
.porcao-wc-head{ margin:0 0 clamp(1.6rem,3vw,2.4rem); padding:0; border:0; background:transparent; }
.porcao-wc-head__eyebrow{ display:inline-block; font-family:var(--cp-font-b); font-weight:700;
  font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--cp-gold);
  margin-bottom:0.7rem; }
.porcao-wc-head__title{ font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.1rem,4.5vw,3.2rem); line-height:0.98; letter-spacing:0.01em;
  color:var(--cp-cream); margin:0; }
.porcao-wc-head__lead{ margin:0.9rem 0 0; max-width:56ch; color:var(--cp-cream-dim);
  font-size:1rem; line-height:1.6; }

/* ---------- BLOCO CLUBE (carrinho + checkout) ---------- */
.porcao-clube-note{ position:relative; margin:0 0 1.6rem; padding:1.15rem 1.35rem;
  border-radius:var(--cp-r); border:1px solid var(--cp-line-soft); background:var(--cp-bg-2);
  display:flex; flex-direction:column; gap:0.35rem; }
.porcao-clube-note--member{ border-color:var(--cp-line);
  background:linear-gradient(180deg,rgba(238,174,79,0.06),rgba(20,18,16,0.9)); }
.porcao-clube-note--offer{ border-left:3px solid var(--cp-gold); }
.porcao-clube-note__eyebrow{ font-family:var(--cp-font-b); font-weight:700; font-size:0.7rem;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--cp-gold); }
.porcao-clube-note__txt{ margin:0; color:var(--cp-cream); font-size:0.95rem; line-height:1.55; }
.porcao-clube-note__txt strong{ color:var(--cp-gold-hi); font-weight:700; }
.porcao-clube-note__cta{ align-self:flex-start; margin-top:0.5rem; display:inline-flex;
  align-items:center; gap:0.4rem; padding:0.6rem 1.15rem; border-radius:999px;
  background:var(--cp-gold); color:var(--cp-bg); font-family:var(--cp-font-b); font-weight:700;
  font-size:0.82rem; letter-spacing:0.03em; text-decoration:none; border:1px solid transparent;
  transition:background .2s ease, transform .2s var(--cp-ease); }
.porcao-clube-note__cta:hover{ background:var(--cp-gold-hi); transform:translateY(-1px);
  color:var(--cp-bg); }

/* ---------- TOGGLE "usar Saldo do Clube" (WPS Wallet partial payment) on-brand ---------- */
body.woocommerce-checkout .wallet_partial_payment,
body.woocommerce-checkout #wps_wpr_partial_payment,
body.woocommerce-checkout .wps-wallet-partial-payment{
  background:var(--cp-bg-3)!important; border:1px solid var(--cp-line-soft)!important;
  border-radius:var(--cp-rsm)!important; padding:0.9rem 1rem!important; margin:0.8rem 0!important;
  color:var(--cp-cream)!important; }
body.woocommerce-checkout .wallet_partial_payment label,
body.woocommerce-checkout .wps-wallet-partial-payment label{ color:var(--cp-cream)!important;
  font-size:0.9rem!important; }
body.woocommerce-checkout .wallet_partial_payment a,
body.woocommerce-checkout .wps-wallet-partial-payment a{ color:var(--cp-gold)!important; }

/* ══════════════ PORCAO-WALLET-FIX (2026-07-16) — página Saldo do Clube on-brand ══════════════ */
/* Card roxo do plugin WPS Wallet -> dark/brasa+gold; painel branco de abas -> escuro; campos dark. */

/* --- Card de saldo (era roxo) --- */
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_display_wrapper,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_display_wrapper_with_qr,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_balance_container{
  background:linear-gradient(135deg,var(--cp-red-ember) 0%,var(--cp-bg-2) 55%,var(--cp-bg-3) 100%)!important;
  border:1px solid var(--cp-line)!important; border-radius:var(--cp-r)!important;
  color:var(--cp-cream)!important; box-shadow:0 18px 44px -24px rgba(0,0,0,0.6)!important;
}
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_balance_container *{ color:var(--cp-cream)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wallet-balance-title,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_cashback_wrap{ color:var(--cp-gold)!important; }
/* valores grandes em Anton/gold */
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_balance_container .woocommerce-Price-amount,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_balance_container bdi{
  font-family:var(--cp-font-d)!important; color:var(--cp-gold)!important; letter-spacing:0.01em; }
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_view_transaction a,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wsfw_wallet_user_id{ color:var(--cp-cream-dim)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_wallet_view_transaction a:hover{ color:var(--cp-gold)!important; }

/* --- Painel de abas (era branco) --- */
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_main_tabs_template,
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_body_template,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_content_template{
  background:var(--cp-bg-2)!important; border:1px solid var(--cp-line-soft)!important;
  border-radius:var(--cp-r)!important; color:var(--cp-cream)!important; box-shadow:none!important;
}
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs *,
body.woocommerce-account .woocommerce-MyAccount-content .wps_wcb_main_tabs_template > *{ color:var(--cp-cream)!important; }
/* abas / tab items */
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw__re-tab-item,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw__prom-tab-item,
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs > *{
  background:transparent!important; color:var(--cp-cream-dim)!important; border-color:var(--cp-line-soft)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-active,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw__re-tab-item.wps-active,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw__prom-tab-item.wps-active{
  color:var(--cp-gold)!important; background:rgba(238,174,79,0.06)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-active svg,
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs svg{ stroke:var(--cp-gold)!important; fill:none!important; }

/* --- Labels dos campos --- */
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container label,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container > label{
  color:var(--cp-cream-dim)!important; font-size:0.72rem!important; letter-spacing:0.1em!important;
  text-transform:uppercase!important; font-weight:700!important; }

/* --- Inputs / select / textarea dark --- */
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container input,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container select,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container textarea,
body.woocommerce-account .woocommerce-MyAccount-content select.wps-wallet-method,
body.woocommerce-account .woocommerce-MyAccount-content select.wps-wallet-userselect{
  background:var(--cp-bg-3)!important; border:1px solid var(--cp-line-soft)!important;
  border-radius:var(--cp-rsm)!important; color:var(--cp-cream)!important; box-shadow:none!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container input:focus,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container select:focus,
body.woocommerce-account .woocommerce-MyAccount-content .wps-wallet-field-container textarea:focus{
  border-color:var(--cp-gold)!important; outline:none!important; }

/* --- Botões --- */
body.woocommerce-account .woocommerce-MyAccount-content .wps-btn__filled,
body.woocommerce-account .woocommerce-MyAccount-content .wps-btn__filled.button{
  background:var(--cp-gold)!important; color:var(--cp-bg)!important; border:1px solid transparent!important;
  border-radius:999px!important; font-family:var(--cp-font-b)!important; font-weight:700!important;
  text-transform:none!important; box-shadow:0 8px 22px -10px rgba(238,174,79,0.55)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-btn__filled:hover{
  background:var(--cp-gold-hi)!important; transform:translateY(-1px); }

/* --- Tabela de movimentações --- */
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw-wallet-field-table{
  background:transparent!important; color:var(--cp-cream-dim)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw-wallet-field-table th{
  color:var(--cp-cream)!important; border-bottom:1px solid var(--cp-line-soft)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw-wallet-field-table td{
  border-bottom:1px solid var(--cp-line-soft)!important; }

/* --- WALLET tabs (li.active branco -> dark/gold) --- */
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs ul.tabs{ display:flex; gap:0.6rem; list-style:none; margin:0 0 1.2rem; padding:0; }
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs ul.tabs li{ background:var(--cp-bg-3)!important; border:1px solid var(--cp-line-soft)!important; border-radius:var(--cp-rsm)!important; flex:1; overflow:hidden; }
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs ul.tabs li a{ color:var(--cp-cream-dim)!important; display:flex; flex-direction:column; align-items:center; gap:0.4rem; padding:1rem; text-decoration:none; }
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs ul.tabs li.active{ background:rgba(238,174,79,0.08)!important; border-color:var(--cp-line)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs ul.tabs li.active a{ color:var(--cp-gold)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wallet-tabs ul.tabs li svg{ stroke:currentColor!important; fill:none!important; width:22px; height:22px; }

/* ══════════════ PORCAO-LEGAL-FIX (2026-07-16) — paginas institucionais dark ═════════════ */
body.porcao-legal .site-content,
body.porcao-legal .groser-main-page-wrapper,
body.porcao-legal article.page,
body.porcao-legal .entry-content,
body.porcao-legal .page-content,
body.porcao-legal #content,
body.porcao-legal #primary{ background:transparent!important; box-shadow:none!important; border:0!important; }
body.porcao-legal{ background:var(--cp-bg)!important; }

.cp-legal{ padding:clamp(2.4rem,5vw,4.5rem) 0 clamp(3rem,6vw,5rem); }
.cp-legal .cp-cont{ max-width:940px; margin:0 auto; padding:0 clamp(1.2rem,4vw,2rem); }
.cp-legal .porcao-wc-head{ margin-bottom:clamp(2rem,4vw,3rem); padding-bottom:1.6rem;
  border-bottom:1px solid var(--cp-line-soft); }
.cp-legal__prose{ color:var(--cp-cream-dim); font-family:var(--cp-font-b); font-size:1rem; line-height:1.78; }
.cp-legal__prose > *:first-child{ margin-top:0; }
.cp-legal__prose h2{ font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  color:var(--cp-cream); font-size:clamp(1.35rem,2.6vw,1.85rem); letter-spacing:0.01em;
  margin:2.6rem 0 1rem; padding-top:1.7rem; border-top:1px solid var(--cp-line-soft); }
.cp-legal__prose h2:first-child{ border-top:0; padding-top:0; margin-top:0; }
.cp-legal__prose h3{ font-family:var(--cp-font-b); font-weight:700; color:var(--cp-cream);
  font-size:1.08rem; letter-spacing:0.01em; margin:1.7rem 0 0.6rem; }
.cp-legal__prose h4{ font-family:var(--cp-font-b); font-weight:700; color:var(--cp-cream-dim);
  font-size:0.95rem; text-transform:uppercase; letter-spacing:0.08em; margin:1.4rem 0 0.5rem; }
.cp-legal__prose p{ margin:0 0 1.1rem; }
.cp-legal__prose strong,.cp-legal__prose b{ color:var(--cp-cream); font-weight:700; }
.cp-legal__prose a{ color:var(--cp-gold); text-decoration:underline; text-underline-offset:2px;
  transition:color .2s ease; }
.cp-legal__prose a:hover{ color:var(--cp-gold-hi); }
.cp-legal__prose ul,.cp-legal__prose ol{ margin:0 0 1.2rem; padding-left:1.4rem; }
.cp-legal__prose li{ margin:0 0 0.55rem; }
.cp-legal__prose li::marker{ color:var(--cp-gold); }
.cp-legal__prose hr{ border:0; border-top:1px solid var(--cp-line-soft); margin:2rem 0; }
.cp-legal__prose table{ width:100%; border-collapse:collapse; margin:0 0 1.4rem; }
.cp-legal__prose th,.cp-legal__prose td{ text-align:left; padding:0.7rem 0.9rem;
  border-bottom:1px solid var(--cp-line-soft); }
.cp-legal__prose th{ color:var(--cp-cream); font-weight:700; }

/* ══════════════ PORCAO-CONTATO-FIX (2026-07-16) — página Contato ══════════════ */
.porcao-contato{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(1.5rem,3.5vw,3rem);
  align-items:start; margin-top:clamp(1.5rem,3vw,2.5rem); }
@media (max-width:820px){ .porcao-contato{ grid-template-columns:1fr; } }
.porcao-contato__info{ display:flex; flex-direction:column; gap:1.7rem; }
.porcao-contato__label{ font-family:var(--cp-font-b); font-weight:700; font-size:0.72rem;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--cp-gold); display:block; margin-bottom:0.45rem; }
.porcao-contato__item p{ margin:0; color:var(--cp-cream); line-height:1.65; }
.porcao-contato__item a{ color:var(--cp-cream); text-decoration:none; transition:color .2s ease; }
.porcao-contato__item a:hover{ color:var(--cp-gold); }
.porcao-contato__form{ background:var(--cp-bg-2); border:1px solid var(--cp-line-soft);
  border-radius:var(--cp-r); padding:clamp(1.5rem,3vw,2.2rem); }
/* neutraliza grid Bootstrap do CF7 e aplica grid do kit */
.porcao-contato__form .contact-from__wrap{ padding:0!important; margin:0!important; }
.porcao-contato__form .row{ display:grid!important; grid-template-columns:1fr 1fr;
  gap:1rem!important; margin:0!important; }
.porcao-contato__form [class*="col-"]{ width:auto!important; max-width:none!important;
  flex:none!important; padding:0!important; }
.porcao-contato__form .col-md-12,.porcao-contato__form .col-12,
.porcao-contato__form .col-lg-12{ grid-column:1 / -1; }
.porcao-contato__form .contact-from__field{ margin-bottom:0!important; }
.porcao-contato__form input,
.porcao-contato__form textarea,
.porcao-contato__form select{ width:100%!important; background:var(--cp-bg-3)!important;
  border:1px solid var(--cp-line-soft)!important; border-radius:var(--cp-rsm)!important;
  color:var(--cp-cream)!important; padding:0.85rem 1rem!important; font-family:var(--cp-font-b)!important;
  box-shadow:none!important; }
.porcao-contato__form textarea{ min-height:140px; resize:vertical; }
.porcao-contato__form input:focus,
.porcao-contato__form textarea:focus,
.porcao-contato__form select:focus{ border-color:var(--cp-gold)!important; outline:none!important; }
.porcao-contato__form ::placeholder{ color:var(--cp-cream-dim)!important; opacity:0.5; }
.porcao-contato__form .wpcf7-submit{ background:var(--cp-gold)!important; color:var(--cp-bg)!important;
  border:1px solid transparent!important; border-radius:999px!important; padding:0.9rem 2.2rem!important;
  font-family:var(--cp-font-b)!important; font-weight:700!important; text-transform:none!important;
  letter-spacing:0.02em!important; cursor:pointer; width:auto!important; margin-top:0.6rem!important;
  box-shadow:0 10px 26px -12px rgba(238,174,79,0.55)!important;
  transition:background .2s ease, transform .2s ease!important; }
.porcao-contato__form .wpcf7-submit:hover{ background:var(--cp-gold-hi)!important; transform:translateY(-1px); }
.porcao-contato__form .wpcf7-spinner{ background:var(--cp-cream-dim); }
.porcao-contato__form .wpcf7-not-valid-tip{ color:#ffb4a2!important; font-size:0.82rem; }
.porcao-contato__form .wpcf7-response-output{ border-color:var(--cp-line-soft)!important;
  color:var(--cp-cream)!important; border-radius:var(--cp-rsm); margin:1rem 0 0!important; }

/* --- Contato: botao submit (theme thm-btn) --- */
.porcao-contato__form button[type="submit"],
.porcao-contato__form .thm-btn,
.porcao-contato__form .wpcf7-submit{
  background:var(--cp-gold)!important; color:var(--cp-bg)!important; border:1px solid transparent!important;
  border-radius:999px!important; padding:0.9rem 2.2rem!important; font-family:var(--cp-font-b)!important;
  font-weight:700!important; font-size:0.9rem!important; text-transform:none!important; letter-spacing:0.02em!important;
  cursor:pointer; width:auto!important; margin-top:0.6rem!important; box-shadow:0 10px 26px -12px rgba(238,174,79,0.55)!important;
  transition:background .2s ease, transform .2s ease!important; }
.porcao-contato__form button[type="submit"]:hover,
.porcao-contato__form .thm-btn:hover{ background:var(--cp-gold-hi)!important; transform:translateY(-1px); }
.porcao-contato__form button[type="submit"] *{ color:var(--cp-bg)!important; }

/* ═══════════ PORCAO-FEEDBACK-20260716 — ajustes do feedback do Rodrigo ═══════════ */
/* Escopo REAL do DOM no WP = .cp-shell (o mockup usa #cp-page; na porta trocou). */

/* ---------- [HOME] Cards de voucher: alinhar CTA no rodapé (botões na mesma linha) ---------- */
.cp-shell .omni-vouch__body{ display:flex; flex-direction:column; flex:1; }
.cp-shell .omni-vouch__desc{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cp-shell .omni-vouch__price-row{ margin-top:1rem; min-height:1.7rem; align-items:baseline; }
.cp-shell .omni-vouch__cta{ margin-top:auto; }
/* Slot do card = 2:3 pra caber o cartão-voucher desenhado (1200x1800) sem cortar borda/serial */
.cp-shell .omni-vouch__media{ aspect-ratio:2/3; }

/* ---------- [HOME] Empório: preço em branco/creme (estava cinza), mantendo o riscado dim ---------- */
.cp-shell .cp-prod__price,
.cp-shell .cp-prod__price .woocommerce-Price-amount,
.cp-shell .cp-prod__price bdi,
.cp-shell .cp-prod__price .woocommerce-Price-currencySymbol{ color:var(--cp-cream)!important; }
.cp-shell .cp-prod__price del,
.cp-shell .cp-prod__price del *{ color:var(--cp-cream-dim)!important; opacity:0.6; }

/* ---------- [HOME] Caixas & Kits: carrossel horizontal no desktop (estavam empilhadas) ---------- */
.cp-shell .omni-kits__grid{ display:block; }
.cp-shell .porcao-caixas{
  display:flex; gap:clamp(1rem,1.8vw,1.5rem);
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:2px;
  padding-bottom:0.75rem; margin-top:clamp(2rem,3.5vw,3rem);
  -webkit-overflow-scrolling:touch; scrollbar-width:thin;
  scrollbar-color:rgba(238,174,79,0.4) transparent;
}
.cp-shell .porcao-caixas > .cp-prod{ flex:0 0 clamp(280px, 31.5%, 400px); scroll-snap-align:start; }
.cp-shell .porcao-caixas::-webkit-scrollbar{ height:7px; }
.cp-shell .porcao-caixas::-webkit-scrollbar-track{ background:transparent; }
.cp-shell .porcao-caixas::-webkit-scrollbar-thumb{ background:rgba(238,174,79,0.35); border-radius:99px; }
@media (max-width:640px){ .cp-shell .porcao-caixas > .cp-prod{ flex-basis:82%; } }

/* ---------- [HOME + FOOTER] TrustIndex embrulhado no tema dark ---------- */
.cp-shell .cp-ti{ margin-top:1.6rem; }
.cp-shell .cp-ti--reviews, .cp-shell .cp-ti--feed{ --ti-star-color:#eeae4f; background:transparent; }
.cp-shell .cp-ti .ti-widget, .cp-shell .cp-ti .ti-widget *{ color:var(--cp-cream)!important; }
.cp-shell .cp-ti .ti-widget .ti-review-item,
.cp-shell .cp-ti .ti-widget .ti-box{
  background:rgba(255,255,255,0.04)!important;
  border:1px solid rgba(238,174,79,0.20)!important; border-radius:14px!important;
}
.cp-shell .cp-ti .ti-widget .ti-stars .ti-star.f,
.cp-shell .cp-ti .ti-widget .ti-star svg{ color:#eeae4f!important; fill:#eeae4f!important; }
.cp-shell .cp-ti--footer .ti-widget *{ color:var(--cp-cream-dim)!important; }

/* TrustIndex fallback on-brand (some quando o widget renderiza via :has) */
.cp-shell .cp-ti__fallback{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.6rem;color:var(--cp-cream);font-size:clamp(1rem,0.95rem+0.3vw,1.15rem);padding:1.6rem 0;text-align:center;}
.cp-shell .cp-ti__fallback .stars{color:#eeae4f;letter-spacing:2px;font-size:1.15em;}
.cp-shell .cp-ti--reviews:has(.ti-widget) .cp-ti__fallback{display:none;}

/* [Minha Conta] hover do menu discreto (era estranho) */
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:transparent!important; color:var(--cp-gold)!important; }
/* [Wallet] fallback: esconde abas de transferencia/resgate */
.wallet-tabs a[href*="wallet-transfer"], .wallet-tabs a[href*="wallet-withdrawal"]{ display:none!important; }
.wallet-tabs li:has(a[href*="wallet-transfer"]), .wallet-tabs li:has(a[href*="wallet-withdrawal"]){ display:none!important; }

/* [Carrinho] botao do Clube legivel (era dourado no dourado) */
.porcao-clube-note__cta, .porcao-clube-note__cta:link, .porcao-clube-note__cta:visited,
.porcao-clube-note__cta.add_to_cart_button{ color:#0b0705!important; background:var(--cp-gold)!important; border-color:transparent!important; }
.porcao-clube-note__cta:hover, .porcao-clube-note__cta:focus{ color:#0b0705!important; background:var(--cp-gold-hi)!important; }
/* [Carrinho] tabela: texto legivel (creme) */
body.woocommerce-cart table.cart td.product-name a,
body.woocommerce-cart table.cart td.product-name,
body.woocommerce-cart table.cart td.product-name .variation,
body.woocommerce-cart table.cart td.product-name .variation *,
body.woocommerce-cart table.cart td.product-price .woocommerce-Price-amount,
body.woocommerce-cart table.cart td.product-price .woocommerce-Price-amount bdi{ color:var(--cp-cream)!important; }
/* [Carrinho] botao Finalizar: respiro + centralizado */
body.woocommerce-cart .wc-proceed-to-checkout{ padding-top:2.4rem!important; text-align:center; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button{ display:inline-flex!important; width:auto!important; min-width:min(420px,100%); margin:0 auto!important; float:none!important; }

/* [Delivery] botao "Adicionar ao pedido" com texto (pronta + emporio) */
.cp-shell .dlv-item__add{ display:inline-flex; align-items:center; gap:0.4rem; padding:0.5rem 0.9rem; border-radius:999px; background:var(--cp-gold); color:#0b0705; font-family:var(--cp-font-b); font-weight:700; font-size:0.78rem; line-height:1; border:0; cursor:pointer; text-decoration:none; white-space:nowrap; transition:background .2s ease,transform .2s ease; }
.cp-shell .dlv-item__add:hover{ background:var(--cp-gold-hi); transform:translateY(-1px); color:#0b0705; }
.cp-shell .dlv-item__add svg{ width:14px; height:14px; }
/* midia nunca estoura o card */
.cp-shell .dlv-item__media{ height:104px!important; max-height:104px; align-self:center; }
@media(min-width:1024px){ .cp-shell .dlv-item__media{ height:156px!important; max-height:156px; } }
/* cross-sell entre mundos */
.cp-shell .dlv-cross{ margin-top:clamp(1.6rem,3vw,2.4rem); padding:clamp(1.6rem,3vw,2.2rem); border-radius:var(--cp-r); border:1px dashed var(--cp-line); background:linear-gradient(180deg,rgba(238,174,79,0.05),rgba(20,18,16,0.6)); text-align:center; display:flex; flex-direction:column; align-items:center; gap:0.4rem; }
.cp-shell .dlv-cross__eyebrow{ font-family:var(--cp-font-b); font-weight:700; font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--cp-gold); }
.cp-shell .dlv-cross__title{ margin:0; color:var(--cp-cream); font-size:clamp(1.05rem,0.98rem + 0.4vw,1.3rem); font-family:var(--cp-font-d); font-weight:400; max-width:44ch; }
.cp-shell .dlv-cross__cta{ margin-top:0.6rem; display:inline-flex; align-items:center; gap:0.45rem; padding:0.7rem 1.4rem; border-radius:999px; background:transparent; color:var(--cp-gold); border:1px solid var(--cp-gold); font-family:var(--cp-font-b); font-weight:700; font-size:0.86rem; cursor:pointer; transition:background .2s ease,color .2s ease; }
.cp-shell .dlv-cross__cta:hover{ background:var(--cp-gold); color:#0b0705; }

/* ═══════════ PORCAO-FEEDBACK-R4 (2026-07-16 noite) — rodada 4 (Rodrigo + Estevão) ═══════════ */
/* Escopo: modal Quick View (botão+PPOM), tabela do carrinho, swatches indisponíveis. DOM real = .cp-shell / .mfp-content. */

/* ---------- [B1] Botão "Adicionar" do modal: o tema (.thm-btn__2) desliza 2 spans no hover
   e o texto sumia (dourado sem texto). Mata a animação, mantém o texto, e a caixa cobre o texto. ---------- */
.mfp-content .woosq-product .single_add_to_cart_button{
  flex:1 1 auto!important; width:auto!important; min-width:220px!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  white-space:nowrap!important; overflow:visible!important; text-align:center!important;
}
.mfp-content .woosq-product .single_add_to_cart_button .btn-wrap{
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  transform:none!important; transition:none!important; overflow:visible!important; position:static!important;
}
.mfp-content .woosq-product .single_add_to_cart_button .btn-wrap span{
  position:static!important; transform:none!important; transition:none!important;
  opacity:1!important; color:#0b0705!important; display:inline!important;
}
.mfp-content .woosq-product .single_add_to_cart_button .btn-wrap span + span{ display:none!important; }
.mfp-content .woosq-product .single_add_to_cart_button:hover,
.mfp-content .woosq-product .single_add_to_cart_button:hover .btn-wrap,
.mfp-content .woosq-product .single_add_to_cart_button:hover .btn-wrap span{
  transform:none!important; color:#0b0705!important;
}
.mfp-content .woosq-product .single_add_to_cart_button:hover{ background:#f6c979!important; }

/* ---------- [B2] PPOM: alinhar checkbox/radio com o texto. O wrapper real é label.form-check-label
   (input + span). Antes o CSS mirava .ppom-simple-option (que está no <input>), então nada alinhava. ---------- */
.mfp-content .form-check-inline{
  display:block!important; width:100%!important; margin:0!important; padding:0!important;
}
.mfp-content .form-check-label{
  display:flex!important; align-items:center!important; gap:0.65rem!important;
  margin:0!important; padding:0.6rem 0!important; cursor:pointer!important;
  border-bottom:1px solid rgba(238,174,79,0.10)!important; width:100%!important;
}
.mfp-content .form-check-inline:last-child .form-check-label{ border-bottom:0!important; }
.mfp-content .form-check-label input[type="checkbox"],
.mfp-content .form-check-label input[type="radio"]{
  accent-color:#eeae4f!important; width:20px!important; height:20px!important;
  min-width:20px!important; flex:0 0 20px!important; margin:0!important; cursor:pointer!important;
}
/* Label da OPÇÃO (Arroz Branco...) = peso normal, creme — NÃO bold de título */
.mfp-content .ppom-input-option-label.ppom-label-checkbox,
.mfp-content .ppom-input-option-label.ppom-label-radio,
.mfp-content span.ppom-input-option-label{
  color:#f7e8cc!important; font-weight:400!important; font-size:0.92rem!important;
  line-height:1.25!important; letter-spacing:0!important; flex:1 1 auto!important;
}
/* Só o TÍTULO do grupo (Escolha 2 acompanhamentos / Ponto da carne) fica bold */
.mfp-content .form-control-label{
  display:block!important; color:#f7e8cc!important; font-weight:700!important;
  font-size:0.98rem!important; margin-bottom:0.35rem!important;
}
.mfp-content .form-control-label .ppom-input-desc{
  display:block!important; font-weight:400!important; font-size:0.78rem!important;
  color:#c9b48f!important; margin-top:0.15rem!important;
}

/* ---------- [B3] defensivo: garantir 1 único botão de fechar no modal ---------- */
.mfp-content .woosq-close,
.mfp-content .woosq-product .close,
.mfp-content .pswp__button--close,
.mfp-content .mfp-close + .mfp-close{ display:none!important; }

/* ---------- [item 4] Carrinho: header da tabela mais legível (era cream-dim, ficou apagado). ---------- */
body.woocommerce-cart table.cart thead th{ color:var(--cp-cream)!important; opacity:0.92; }
body.woocommerce-cart table.cart td.product-price .woocommerce-Price-amount,
body.woocommerce-cart table.cart td.product-price .woocommerce-Price-amount bdi{ color:var(--cp-cream)!important; }

/* ---------- [D1-polish] Swatch de variação indisponível: dim discreto, sem X/risco vermelho ---------- */
.single-product.cp-shell .variable-items-wrapper .variable-item.disabled,
.single-product.cp-shell .variable-items-wrapper .variable-item[aria-disabled="true"],
.single-product.cp-shell .variable-items-wrapper .variable-item.wvs-disabled{
  opacity:0.3!important; filter:none!important; cursor:not-allowed!important;
}
.single-product.cp-shell .variable-items-wrapper .variable-item.disabled::before,
.single-product.cp-shell .variable-items-wrapper .variable-item.disabled::after,
.single-product.cp-shell .variable-items-wrapper .variable-item.wvs-disabled::before,
.single-product.cp-shell .variable-items-wrapper .variable-item.wvs-disabled::after{
  content:none!important; display:none!important; background:none!important;
}

/* [B3-fix v2 2026-07-17] X duplo = feather(::before) + texto nativo ×. Mata SO o texto nativo (font-size:0) e o ::after; MANTEM o feather ::before (X premium no circulo). */
.mfp-content .mfp-close::after,.woosq-popup .mfp-close::after{ content:none!important; display:none!important; }
.mfp-content .mfp-close,.woosq-popup .mfp-close{ font-size:0!important; line-height:40px!important; color:#f7e8cc!important; text-indent:0!important; }
.mfp-content .mfp-close::before,.woosq-popup .mfp-close::before{ color:#f7e8cc!important; width:40px!important; height:40px!important; line-height:40px!important; font-size:22px!important; display:flex!important; align-items:center; justify-content:center; }
.mfp-content .mfp-close:hover::before,.woosq-popup .mfp-close:hover::before{ color:#eeae4f!important; }

/* ══════════════════════════════════════════════════════════════════════════
   PORCAO — AJUSTES 2026-07-17 (feedback Rodrigo) — Onda 1 (CSS puro)
   Tasks: 6 (menu 1 linha) · 7 (busca dark) · 8 (clube/conta) · 9 (texto cinza) · 4B (pill)
   ══════════════════════════════════════════════════════════════════════════ */

/* [T6] CTA "Conhecer o Clube Meet" nunca quebra em 2 linhas */
.cp-shell .cp-nav .cp-btn--gold{ white-space:nowrap; }

/* [T4B] blindar o botao pill do delivery contra o CSS morto (blob redondo) servido por cache antigo */
.cp-shell .dlv-item__add{ width:auto!important; border-radius:999px!important; }

/* [T8] Menu da conta: matar a faixa PRETA de hover (::before do tema expandia p/ width:100% em #000).
   Vira um tracinho dourado sutil + realce leve no item (pedido: selecao mais clara). */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:before{
  background:var(--cp-gold)!important; width:3px!important; height:100%!important; top:0!important;
  opacity:0; transition:opacity .2s ease, width .2s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover:before,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active:before{ width:3px!important; opacity:1; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover{ background:rgba(238,174,79,0.06)!important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover a{ color:var(--cp-gold)!important; }

/* [T8] Tabela do clube: fundo do thead e zebra ainda vinham claros (#F4F6F8 do plugin) */
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw-wallet-field-table thead tr{ background:#1a1a1a!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw-wallet-field-table thead tr th{ color:var(--cp-gold)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw-wallet-field-table tbody tr td{ color:var(--cp-cream)!important; background:transparent!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps-wsfw-wallet-field-table tbody tr:nth-of-type(even) td{ background:rgba(255,255,255,0.03)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps_wallet_credit{ color:#3bb77e!important; }
body.woocommerce-account .woocommerce-MyAccount-content .wps_wallet_debit{ color:#e9564b!important; }

/* [T7] Pagina de busca /?s= : cai no template de BLOG do tema (body.search, sem cp-shell),
   que nunca recebeu o dark. Redeclara tokens no escopo body.search e pinta dark. */
body.search{
  --cp-bg:#0b0705; --cp-bg-2:#141210; --cp-bg-3:#1c1815;
  --cp-gold:#eeae4f; --cp-gold-hi:#f6c979; --cp-cream:#f7e8cc; --cp-cream-dim:#c9b48f;
  --cp-line:rgba(238,174,79,0.30); --cp-line-soft:rgba(238,174,79,0.14); --cp-r:14px;
  background:#0b0705!important;
}
body.search .site-content, body.search #content, body.search .blog, body.search .blog-post-wrap,
body.search .groser-main-page-wrapper, body.search article.page, body.search main{ background:transparent!important; }
body.search .blog-post-wrap{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:clamp(1rem,2vw,1.6rem); }
body.search article.tx-post-item, body.search article.tx-post{
  background:var(--cp-bg-2)!important; border:1px solid var(--cp-line-soft); border-radius:var(--cp-r);
  overflow:hidden; margin:0!important; transition:border-color .3s ease, transform .35s ease;
}
body.search article.tx-post-item:hover{ border-color:var(--cp-line); transform:translateY(-4px); }
body.search .post-thumb{ margin:0; }
body.search .post-thumb img{ width:100%; height:auto; display:block; }
body.search .post-content{ padding:1rem 1.1rem 1.3rem!important; }
body.search .post-title, body.search .post-title a, body.search h1, body.search h2, body.search .page-title, body.search .section-title{ color:var(--cp-cream)!important; }
body.search .post-title a:hover{ color:var(--cp-gold)!important; }
body.search .post-content, body.search .post-content p, body.search .excerpt{ color:var(--cp-cream-dim)!important; }
body.search .breadcrumb-area, body.search .breadcrumb-area *{ color:var(--cp-cream)!important; }
/* esconder ruido de blog num resultado de loja: autor / tags / tempo de leitura / comentarios */
body.search .post-meta, body.search .post-tags, body.search .tx-post-meta{ display:none!important; }

/* [T9] PDP do EMPORIO usa o template do tema (.shop-single-section, NAO cp-shell) ->
   herda o cinza global do tema (--color-default #5F6871 / #434D55 / #121416) e some no preto.
   Escopado com :not(.cp-shell) pra nao tocar a PDP cp-shell dos Rodizios (ja tratada). */
body.single-product:not(.cp-shell){
  --cp-gold:#eeae4f; --cp-cream:#f7e8cc; --cp-cream-dim:#c9b48f; --cp-bg-2:#141210; --cp-line-soft:rgba(238,174,79,0.14);
}
body.single-product:not(.cp-shell) .shop-single-section,
body.single-product:not(.cp-shell) .single-product-info,
body.single-product:not(.cp-shell) .product-details,
body.single-product:not(.cp-shell) .product-details p,
body.single-product:not(.cp-shell) .woocommerce-Tabs-panel,
body.single-product:not(.cp-shell) .woocommerce-Tabs-panel p,
body.single-product:not(.cp-shell) .entry-content{ color:var(--cp-cream)!important; }
body.single-product:not(.cp-shell) .product_title,
body.single-product:not(.cp-shell) .product_title.entry-title,
body.single-product:not(.cp-shell) .thb-product-meta-before .product_meta > span{ color:var(--cp-cream)!important; }
body.single-product:not(.cp-shell) .thb-product-meta-before .product_meta > span a{ color:var(--cp-gold)!important; }
body.single-product:not(.cp-shell) .product-details del bdi{ color:rgba(247,232,204,.5)!important; }
body.single-product:not(.cp-shell) .woocommerce-tabs ul.tabs li a{ color:var(--cp-cream-dim)!important; }
body.single-product:not(.cp-shell) .woocommerce-tabs ul.tabs li.active a{ color:var(--cp-gold)!important; }
body.single-product:not(.cp-shell) .related.products .realted-porduct h3,
body.single-product:not(.cp-shell) .related.products h2{ color:var(--cp-cream)!important; }
body.single-product:not(.cp-shell) .related.products ul.products li.product{ background:var(--cp-bg-2)!important; border:1px solid var(--cp-line-soft); border-radius:14px; overflow:hidden; }
body.single-product:not(.cp-shell) .related.products .product__title a{ color:var(--cp-cream)!important; }
body.single-product:not(.cp-shell) .related.products .product__price,
body.single-product:not(.cp-shell) .related.products .woocommerce-Price-amount,
body.single-product:not(.cp-shell) .related.products .product__price .amount{ color:var(--cp-gold)!important; }
/* fim ajustes 2026-07-17 Onda 1 */

/* [T4A] Card do delivery inteiro clicavel (hoje so a foto/botao pegam).
   Overlay do proprio botao cobre o card: PRONTA abre o modal (woosq), EMPORIO faz add-to-cart.
   Nada de position setado nos .dlv-item* antes disto, entao o ::after resolve no .dlv-item. */
.cp-shell .dlv-item{ cursor:pointer; }
/* fim T4A (clique do card inteiro tratado por JS em porcao-front.php delivery()) */

/* [T5] Footer agora tem 5 colunas (nova coluna Clientes). O grid original era fixo em 4 -> Institucional caia pra 2a linha. So no desktop. */
@media (min-width:1024px){ .cp-foot__grid{ grid-template-columns:1.4fr 1fr 1fr !important; } }
/* fim T5 */

/* [T3] CTA Espaco Meet no card corporativo (>40 pessoas) */
.cp-shell .vc-card__meet{ display:inline-flex; align-items:center; gap:0.4rem; margin-top:0.75rem; font-size:0.82rem; font-weight:600; letter-spacing:0.01em; color:var(--cp-gold); text-decoration:none; line-height:1.35; }
.cp-shell .vc-card__meet:hover{ color:var(--cp-gold-hi); text-decoration:underline; }
/* fim T3 */

/* ═════ PORCAO AJUSTES 2026-07-17 Onda 3 (feedback 2) ═════ */

/* [T8b] Controles do DataTables da tabela do clube (label/select/info vinham pretos/#212b36 e sumiam no dark) */
body.woocommerce-account .woocommerce-MyAccount-content .dataTables_wrapper .dataTables_length,
body.woocommerce-account .woocommerce-MyAccount-content .dataTables_wrapper .dataTables_length label,
body.woocommerce-account .woocommerce-MyAccount-content .dataTables_wrapper .dataTables_info{ color:var(--cp-cream-dim)!important; }
body.woocommerce-account .woocommerce-MyAccount-content .dataTables_wrapper .dataTables_length select{ color:var(--cp-cream)!important; background:var(--cp-bg-3)!important; border:1px solid var(--cp-line)!important; border-radius:6px!important; padding:2px 6px!important; }
body.woocommerce-account .woocommerce-MyAccount-content .dataTables_wrapper .dataTables_length select option{ color:var(--cp-cream)!important; background:var(--cp-bg-2)!important; }

/* [T9-global] Find-and-replace GLOBAL do cinza do tema: --color-default era #5F6871 (main.css :root) e vazava em todo <p>/<li>/<span> sem classe (sobre, rodape inferior, avaliacoes). Overrides carrega por ultimo -> :root aqui vence. Site 100% dark => texto default claro sempre correto. So pinta texto (0 uso em bg/border). */
:root{ --color-default:#c9b48f; }

/* [T7] Busca renderiza cards de produto (.cp-shell > .cp-prod-grid) via mu-plugin porcao-busca.php + template search-produtos.php */
.cp-shell .cp-prod-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:clamp(1rem,2vw,1.6rem); }
body.search{ background:#0b0705!important; }
body.search .cp-prod-grid{ margin-top:1.4rem; }
/* fim Onda 3 */

/* ═════ PORCAO R4 2026-07-17 (feedback 3) ═════ */
/* [item 5] /vouchers/ grid uniforme (igual busca), sem card-heroi */
.cp-shell .vc-grid{ grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
.cp-shell .vc-card.is-feat{ grid-column:auto; flex-direction:column; box-shadow:none; }
.cp-shell .vc-card.is-feat .vc-card__media{ aspect-ratio:4/5; width:100%; min-height:0; align-self:auto; }
.cp-shell .vc-card.is-feat .vc-card__body{ padding:1.1rem 1.2rem 1.4rem; justify-content:flex-start; }
.cp-shell .vc-card.is-feat .vc-card__name{ font-size:1.15rem; }
.cp-shell .vc-card.is-feat .vc-card__desc{ -webkit-line-clamp:2; font-size:0.87rem; max-width:none; }
.cp-shell .vc-card.is-feat .vc-card__price{ font-size:1.6rem; }
.cp-shell .vc-card.is-feat .vc-card__cta{ width:100%; align-self:auto; padding:0.82rem 1rem; margin-top:auto; }
.cp-shell .vc-card.is-feat .vc-card__ribbon{ display:none; }

/* [item 6] home vouchers: 3 por linha, ultima linha centralizada (serve 5 ou 7 cards) */
.cp-shell .omni-vouch__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,250px)); justify-content:center; gap:clamp(0.9rem,1.6vw,1.35rem); }
.cp-shell .omni-vouch__grid > .omni-vouch{ flex:none; }
@media(max-width:520px){ .cp-shell .omni-vouch__grid{ grid-template-columns:repeat(2,1fr); } }

/* [item 2] flash do card ao voltar do modal (deep-link qv) */
.cp-shell .dlv-item--flash{ animation:dlvFlash 1.4s ease-out; }
@keyframes dlvFlash{ 0%,100%{box-shadow:none} 25%{box-shadow:0 0 0 2px var(--cp-gold)} }
/* fim R4 */

/* ═════ R5 2026-07-17 (feedback 4) — modal woosq ═════ */
/* [item 2] short description sempre clara (blindagem se vier HTML com cor inline #333/#000) */
.mfp-content .woosq-product .woocommerce-product-details__short-description,
.mfp-content .woosq-product .woocommerce-product-details__short-description section,
.mfp-content .woosq-product .woocommerce-product-details__short-description div,
.mfp-content .woosq-product .woocommerce-product-details__short-description h2,
.mfp-content .woosq-product .woocommerce-product-details__short-description h2 strong,
.mfp-content .woosq-product .woocommerce-product-details__short-description h3,
.mfp-content .woosq-product .woocommerce-product-details__short-description strong,
.mfp-content .woosq-product .woocommerce-product-details__short-description b,
.mfp-content .woosq-product .woocommerce-product-details__short-description span,
.mfp-content .woosq-product .woocommerce-product-details__short-description li{ color:#f7e8cc!important; }
.mfp-content .woosq-product .woocommerce-product-details__short-description a{ color:#eeae4f!important; }

/* [item 3] modal de produto VARIAVEL (Bone/Bolsa): swatches, variacao, reset, quantidade */
.mfp-content .woosq-product table.variations{ display:block!important; width:100%!important; border:0!important; margin:0 0 1rem!important; background:transparent!important; border-collapse:collapse!important; }
.mfp-content .woosq-product table.variations tbody,
.mfp-content .woosq-product table.variations tr{ display:block!important; }
.mfp-content .woosq-product table.variations tr{ margin-bottom:1rem!important; }
.mfp-content .woosq-product .variations th.label,
.mfp-content .woosq-product .variations td.label{ display:block!important; text-align:left!important; padding:0 0 0.5rem!important; background:transparent!important; border:0!important; font-size:0.78rem!important; font-weight:600!important; letter-spacing:0.14em!important; text-transform:uppercase!important; color:#c9b48f!important; }
.mfp-content .woosq-product .variations td.value{ display:block!important; padding:0!important; background:transparent!important; border:0!important; }
.mfp-content .woosq-product ul.variable-items-wrapper{ display:flex!important; flex-wrap:wrap!important; gap:0.55rem!important; margin:0!important; padding:0!important; list-style:none!important; }
.mfp-content .woosq-product ul.variable-items-wrapper li{ margin:0!important; }
.mfp-content .woosq-product .variable-items-wrapper .variable-item,
.mfp-content .woosq-product .variable-items-wrapper li.variable-item{ width:auto!important; height:auto!important; min-height:0!important; padding:0.55rem 0.95rem!important; margin:0!important; background:rgba(247,232,204,0.03)!important; border:1px solid rgba(238,174,79,0.14)!important; border-radius:8px!important; box-shadow:none!important; color:#f7e8cc!important; cursor:pointer!important; transition:border-color .2s ease,background .2s ease,color .2s ease!important; }
.mfp-content .woosq-product .variable-item .variable-item-span,
.mfp-content .woosq-product .variable-item .variable-item-span-button{ color:#f7e8cc!important; background:transparent!important; font-size:0.85rem!important; font-weight:600!important; line-height:1.2!important; text-transform:none!important; }
.mfp-content .woosq-product .variable-items-wrapper .variable-item:hover{ background:#1c1815!important; border-color:rgba(238,174,79,0.30)!important; color:#f7e8cc!important; }
.mfp-content .woosq-product .variable-items-wrapper .variable-item.selected,
.mfp-content .woosq-product .variable-items-wrapper li.variable-item.selected{ background:rgba(238,174,79,0.10)!important; border-color:#eeae4f!important; color:#eeae4f!important; box-shadow:0 0 0 1px rgba(238,174,79,0.35) inset!important; }
.mfp-content .woosq-product .variable-item.selected .variable-item-span,
.mfp-content .woosq-product .variable-item.selected .variable-item-span-button{ color:#eeae4f!important; }
.mfp-content .woosq-product .variable-item.disabled,
.mfp-content .woosq-product .variable-item[aria-disabled="true"],
.mfp-content .woosq-product .variable-item.wvs-disabled{ opacity:0.35!important; cursor:not-allowed!important; }
.mfp-content .woosq-product .variations select{ width:100%!important; background:#141210!important; color:#f7e8cc!important; border:1px solid rgba(238,174,79,0.14)!important; border-radius:8px!important; padding:0.8rem 1rem!important; font-size:0.95rem!important; -webkit-appearance:none!important; appearance:none!important; }
.mfp-content .woosq-product .variations select option{ background:#141210!important; color:#f7e8cc!important; }
.mfp-content .woosq-product .reset_variations{ color:#c9b48f!important; font-size:0.8rem!important; text-decoration:underline!important; }
.mfp-content .woosq-product .reset_variations:hover{ color:#eeae4f!important; }
.mfp-content .woosq-product .single_variation_wrap{ background:transparent!important; color:#f7e8cc!important; }
.mfp-content .woosq-product .single_variation .price,
.mfp-content .woosq-product .woocommerce-variation-price .price,
.mfp-content .woosq-product .single_variation .price .amount{ color:#eeae4f!important; font-weight:700!important; }
.mfp-content .woosq-product .woocommerce-variation-availability p,
.mfp-content .woosq-product .woocommerce-variation-description,
.mfp-content .woosq-product .woocommerce-variation-description p{ color:#c9b48f!important; }
.mfp-content .woosq-product .woocommerce-variation-add-to-cart{ display:flex!important; align-items:center!important; flex-wrap:wrap!important; gap:0.85rem!important; margin-top:0.6rem!important; background:transparent!important; }
.mfp-content .woosq-product .quantity input.qty.product-count,
.mfp-content .woosq-product input.qty[type="number"]{ -moz-appearance:textfield!important; }
.mfp-content .woosq-product .quantity input.qty::-webkit-outer-spin-button,
.mfp-content .woosq-product .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none!important; margin:0!important; }
.mfp-content .woosq-product .single_add_to_cart_button.disabled,
.mfp-content .woosq-product .single_add_to_cart_button.wc-variation-selection-needed{ opacity:0.45!important; cursor:not-allowed!important; box-shadow:none!important; transform:none!important; }
/* fim R5 modal */


/* @@PORCAO-EMPDIA-APPEND@@ */

/* ═══════════ EMPORIO: 2 produtos por linha (cards horizontais dlv-item--emp) ═══════════ */
#cp-page .dlv-catsec .dlv-list:has(.dlv-item--emp){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(0.7rem,1.5vw,1.15rem);align-items:stretch;}
#cp-page .dlv-catsec .dlv-list:has(.dlv-item--emp) .dlv-item--emp{width:auto;max-width:none;margin:0;}
@media (max-width:640px){#cp-page .dlv-catsec .dlv-list:has(.dlv-item--emp){grid-template-columns:1fr;}}

/* ══════════════ ESPECIAL DIA DOS PAIS · destaque vertical (dpais-) ══════════════
   Ingresso editorial premium. Vertical e estreito, deliberadamente diferente dos
   cards de voucher horizontais da grade omni-vouch, entao domina a pagina como a
   oferta principal. Escopado sob #cp-page, so tokens cp-*. Entra ANTES da grade,
   dentro de um wrapper cp-cont. Motion so em transform/opacity/box-shadow. */

.dpais-hero{
  --dpais-w:clamp(340px,90vw,460px);
  --dpais-notch:15px;
  position:relative;
  width:var(--dpais-w); max-width:100%;
  margin-inline:auto;
  margin-block:clamp(1.5rem,4vw,3.25rem);
  perspective:1200px;
  isolation:isolate;
}
/* halo dourado + brasa atras do ingresso, pra puxar o olho antes da grade.
   insets 0 na horizontal pra nunca sangrar pra fora e gerar scroll lateral */
.dpais-hero::before{
  content:""; position:absolute; inset:-10% 0 -14%; z-index:0; pointer-events:none;
  background:
    radial-gradient(70% 45% at 50% 6%,rgba(238,174,79,0.22) 0%,transparent 70%),
    radial-gradient(80% 55% at 50% 100%,rgba(122,20,8,0.30) 0%,transparent 72%);
  filter:blur(6px);
}

/* ── O ingresso ── */
.dpais-hero__ticket{
  position:relative; z-index:1; overflow:hidden;
  display:flex; flex-direction:column;
  border:1px solid var(--cp-gold);
  border-radius:calc(var(--cp-r) + 4px);
  background:
    radial-gradient(120% 55% at 50% 0%,rgba(122,20,8,0.36) 0%,rgba(122,20,8,0.08) 34%,transparent 60%),
    linear-gradient(180deg,var(--cp-bg-3) 0%,var(--cp-bg-2) 30%,var(--cp-bg) 100%);
  box-shadow:
    0 0 0 1px rgba(238,174,79,0.20),
    0 40px 90px -44px rgba(238,174,79,0.42),
    0 24px 60px -30px rgba(0,0,0,0.82);
  transition:transform .5s var(--cp-ease),box-shadow .5s ease;
  will-change:transform;
}
.dpais-hero__ticket:hover{
  transform:translateY(-6px);
  box-shadow:
    0 0 0 1px rgba(238,174,79,0.32),
    0 52px 110px -44px rgba(238,174,79,0.55),
    0 30px 70px -30px rgba(0,0,0,0.88);
}
/* fio dourado no topo, feito ingresso lacrado */
.dpais-hero__ticket::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; z-index:5;
  background:linear-gradient(90deg,transparent,var(--cp-gold) 22%,var(--cp-gold-hi) 50%,var(--cp-gold) 78%,transparent);
}
/* passe-partout interno tipo cartaz */
.dpais-hero__ticket::after{
  content:""; position:absolute; inset:9px; z-index:4; pointer-events:none;
  border:1px solid var(--cp-line-soft); border-radius:calc(var(--cp-r) - 1px);
}

/* ── Tratamento de brasa no topo (herda a linguagem cp-ember) ── */
.dpais-hero__ember{
  position:absolute; inset:0 0 auto 0; height:200px; z-index:1;
  pointer-events:none; overflow:hidden;
}
.dpais-hero__ember-glow{
  position:absolute; left:50%; top:-90px; width:150%; height:220px;
  transform:translateX(-50%);
  background:
    radial-gradient(52% 100% at 50% 100%,rgba(246,201,121,0.42) 0%,rgba(238,174,79,0.18) 30%,transparent 66%),
    radial-gradient(70% 120% at 50% 100%,rgba(168,0,0,0.30) 0%,transparent 62%);
  filter:blur(2px);
  animation:dpaisEmber 5.5s ease-in-out infinite;
}
@keyframes dpaisEmber{
  0%,100%{opacity:.72; transform:translateX(-50%) scale(1);}
  50%{opacity:1; transform:translateX(-50%) scale(1.05);}
}
.dpais-hero__spark{
  position:absolute; top:118px; width:3px; height:3px; border-radius:50%;
  background:var(--cp-gold-hi);
  box-shadow:0 0 6px 1px rgba(246,201,121,0.8);
  opacity:0;
  animation:dpaisSpark 4.4s ease-in infinite;
}
.dpais-hero__spark--1{left:24%; animation-delay:.2s;}
.dpais-hero__spark--2{left:44%; animation-delay:1.6s;}
.dpais-hero__spark--3{left:63%; animation-delay:2.9s;}
.dpais-hero__spark--4{left:78%; animation-delay:3.7s;}
@keyframes dpaisSpark{
  0%{opacity:0; transform:translateY(0) scale(.6);}
  18%{opacity:1;}
  100%{opacity:0; transform:translateY(-92px) scale(1);}
}

/* ── STUB / cabecalho do ingresso ── */
.dpais-hero__stub{
  position:relative; z-index:2;
  display:grid; grid-template-columns:auto 1fr;
  align-items:center; gap:clamp(0.9rem,3vw,1.25rem);
  padding:clamp(1.5rem,4.5vw,2rem) clamp(1.4rem,4vw,1.9rem) clamp(1.1rem,3vw,1.35rem);
}
.dpais-hero__seal{
  position:relative;
  display:grid; place-items:center;
  width:clamp(54px,14vw,66px); aspect-ratio:1;
  color:var(--cp-gold-hi); border-radius:50%;
  background:
    radial-gradient(circle at 34% 30%,rgba(246,201,121,0.28) 0%,transparent 60%),
    var(--cp-bg);
  box-shadow:
    inset 0 0 0 1px rgba(238,174,79,0.45),
    0 8px 22px -10px rgba(238,174,79,0.55);
}
.dpais-hero__seal svg{width:78%; height:78%;}
.dpais-hero__pulse{
  position:absolute; top:-2px; right:-2px; z-index:1;
  width:9px; height:9px; border-radius:50%; background:var(--cp-gold);
  box-shadow:0 0 0 0 rgba(238,174,79,0.6);
  animation:dpaisPulse 2s infinite;
}
@keyframes dpaisPulse{
  0%{box-shadow:0 0 0 0 rgba(238,174,79,0.6);}
  70%{box-shadow:0 0 0 9px rgba(238,174,79,0);}
  100%{box-shadow:0 0 0 0 rgba(238,174,79,0);}
}
.dpais-hero__stub-txt{display:flex; flex-direction:column; gap:0.4rem; min-width:0;}
.dpais-hero__kicker{
  font-family:var(--cp-font-b); font-weight:700;
  font-size:0.74rem; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--cp-gold); line-height:1.1;
}
.dpais-hero__date{
  display:inline-flex; align-items:center; gap:0.4rem;
  font-family:var(--cp-font-b); font-weight:600;
  font-size:0.82rem; letter-spacing:0.04em; color:var(--cp-cream-dim);
}
.dpais-hero__date svg{width:14px; height:14px; color:var(--cp-gold); flex-shrink:0;}

/* micro-texto vertical do talao numerado */
.dpais-hero__code{
  position:absolute; top:0; right:0; bottom:0; z-index:2;
  width:clamp(26px,7vw,32px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.5rem;
  border-left:1px dashed var(--cp-line);
  background:rgba(238,174,79,0.045);
}
.dpais-hero__code b,
.dpais-hero__code i{
  writing-mode:vertical-rl; text-orientation:mixed;
  font-style:normal; letter-spacing:0.24em; text-transform:uppercase;
  transform:rotate(180deg);
}
.dpais-hero__code b{font-family:var(--cp-font-d); font-weight:400; font-size:0.72rem; color:var(--cp-gold);}
.dpais-hero__code i{font-family:var(--cp-font-b); font-weight:600; font-size:0.56rem; color:var(--cp-cream-dim); opacity:0.72;}

/* ── SERRILHA de recorte com recortes laterais ── */
.dpais-hero__perf{
  position:relative; z-index:3; height:0;
  margin-right:clamp(26px,7vw,32px);
}
.dpais-hero__perf::before,
.dpais-hero__perf::after{
  content:""; position:absolute; top:50%; z-index:4;
  width:calc(var(--dpais-notch) * 2); aspect-ratio:1;
  background:var(--cp-bg);
  border-radius:50%;
  transform:translateY(-50%);
  box-shadow:inset 0 0 0 1px var(--cp-line-soft);
}
.dpais-hero__perf::before{left:calc(var(--dpais-notch) * -1);}
.dpais-hero__perf::after{right:calc(var(--dpais-notch) * -1);}
.dpais-hero__perf-line{
  position:absolute; top:0; left:var(--dpais-notch); right:var(--dpais-notch);
  height:1px;
  background-image:linear-gradient(90deg,var(--cp-line) 0 55%,transparent 0);
  background-size:9px 1px; background-repeat:repeat-x;
  opacity:0.9;
}

/* ── CORPO ── */
.dpais-hero__body{
  position:relative; z-index:2;
  padding:clamp(1.6rem,4.5vw,2.15rem) clamp(1.4rem,4vw,1.9rem) clamp(1.6rem,4.5vw,2.1rem);
}
.dpais-hero__flag{
  display:inline-block;
  font-family:var(--cp-font-b); font-weight:600;
  font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--cp-cream-dim); margin-bottom:0.6rem;
}
.dpais-hero__title{
  font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.4rem,1.3rem + 7vw,3.5rem);
  line-height:0.92; letter-spacing:0.015em;
  color:var(--cp-cream);
  text-shadow:0 6px 40px rgba(0,0,0,0.55);
  margin:0;
}
.dpais-hero__title-gold{
  color:var(--cp-gold);
  text-shadow:0 4px 34px rgba(238,174,79,0.26);
}
.dpais-hero__lead{
  margin:1rem 0 0; max-width:42ch;
  color:var(--cp-cream-dim); font-size:0.95rem; line-height:1.62;
}

/* ── OS DOIS LOTES ── */
.dpais-hero__lots{
  list-style:none; margin:clamp(1.5rem,4vw,2rem) 0 0; padding:0;
  display:grid; gap:0.85rem;
}
.dpais-hero__lot{
  position:relative; overflow:hidden;
  padding:1.1rem 1.25rem 1.15rem;
  border-radius:var(--cp-r);
  border:1px solid var(--cp-line-soft);
  background:var(--cp-bg-3);
  transition:border-color .3s ease,transform .3s var(--cp-ease),background .3s ease;
}
.dpais-hero__lot::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--cp-line);
}
.dpais-hero__lot:hover{border-color:var(--cp-line); transform:translateX(2px);}
/* Lote 1: prime (reserva garantida) */
.dpais-hero__lot--prime{
  border-color:var(--cp-line);
  background:linear-gradient(150deg,rgba(238,174,79,0.10),var(--cp-bg-3) 62%);
}
.dpais-hero__lot--prime::before{
  background:linear-gradient(180deg,var(--cp-gold-hi),var(--cp-gold));
}
.dpais-hero__lot--prime:hover{
  border-color:var(--cp-gold);
  box-shadow:0 22px 50px -26px rgba(238,174,79,0.5);
}

.dpais-hero__lot-head{
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between;
  gap:0.35rem 0.9rem;
}
.dpais-hero__lot-tag{
  font-family:var(--cp-font-b); font-weight:700;
  font-size:0.67rem; letter-spacing:0.13em; text-transform:uppercase;
  color:var(--cp-cream-dim);
}
.dpais-hero__lot--prime .dpais-hero__lot-tag{color:var(--cp-gold);}
.dpais-hero__lot-time{
  font-family:var(--cp-font-d); font-weight:400; text-transform:uppercase;
  font-size:clamp(1.15rem,0.9rem + 1.3vw,1.4rem); line-height:1;
  letter-spacing:0.02em; color:var(--cp-cream);
}
.dpais-hero__lot-price{
  font-family:var(--cp-font-d); font-weight:400; line-height:0.9;
  font-size:clamp(2rem,1.2rem + 3.4vw,2.6rem);
  color:var(--cp-cream); letter-spacing:0.01em; white-space:nowrap;
  margin-top:0.55rem;
}
.dpais-hero__lot--prime .dpais-hero__lot-price{color:var(--cp-gold-hi);}
.dpais-hero__lot-price em{
  font-style:normal; font-size:0.44em; color:var(--cp-cream-dim);
  margin-right:0.14em; vertical-align:0.5em; letter-spacing:0.02em;
}
.dpais-hero__lot--prime .dpais-hero__lot-price em{color:var(--cp-gold);}
.dpais-hero__lot-price sup{font-size:0.4em; vertical-align:0.95em; letter-spacing:0.01em;}
.dpais-hero__lot-unit{
  margin:0.4rem 0 0; font-size:0.74rem; letter-spacing:0.03em;
  text-transform:uppercase; color:var(--cp-cream-dim); opacity:0.85;
}
.dpais-hero__perks{
  list-style:none; margin:0.95rem 0 0; padding:0.95rem 0 0;
  display:grid; gap:0.55rem;
  border-top:1px solid var(--cp-line-soft);
}
.dpais-hero__perks li{
  display:flex; gap:0.6rem; align-items:flex-start;
  font-size:0.85rem; line-height:1.4; color:var(--cp-cream);
}
.dpais-hero__perks li svg{
  width:15px; height:15px; margin-top:2px; flex-shrink:0; color:var(--cp-gold);
}

/* ── CTA dourado grande ── */
.dpais-hero__cta{
  display:inline-flex; align-items:center; justify-content:center; gap:0.65rem;
  width:100%; margin-top:clamp(1.5rem,4vw,1.9rem);
  font-family:var(--cp-font-b); font-size:1.05rem; font-weight:700;
  letter-spacing:0.03em; line-height:1; color:var(--cp-bg);
  text-decoration:none;
  background:linear-gradient(135deg,var(--cp-gold-hi),var(--cp-gold));
  border:1px solid transparent; border-radius:999px;
  padding:1.15rem 1.6rem; cursor:pointer;
  box-shadow:0 16px 40px -14px rgba(238,174,79,0.62);
  transition:transform .22s var(--cp-ease),box-shadow .25s ease,background .25s ease;
}
.dpais-hero__cta svg{transition:transform .25s var(--cp-ease);}
.dpais-hero__cta:hover{
  background:linear-gradient(135deg,#ffd98f,var(--cp-gold-hi));
  transform:translateY(-2px);
  box-shadow:0 22px 52px -14px rgba(238,174,79,0.78);
}
.dpais-hero__cta:hover svg{transform:translateX(4px);}
.dpais-hero__cta:focus-visible{outline:2px solid var(--cp-gold-hi); outline-offset:3px;}
.dpais-hero__fine{
  margin:0.95rem 0 0; text-align:center;
  font-size:0.75rem; letter-spacing:0.02em;
  color:var(--cp-cream-dim); opacity:0.82;
}

/* ── Responsivo ── */
@media (max-width:420px){
  .dpais-hero{ --dpais-notch:12px; }
  .dpais-hero__code{ display:none; }
  .dpais-hero__perf{ margin-right:0; }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion:reduce){
  .dpais-hero__ember-glow,
  .dpais-hero__spark,
  .dpais-hero__pulse{animation:none;}
  .dpais-hero__spark{opacity:0;}
  .dpais-hero__ticket,
  .dpais-hero__cta,
  .dpais-hero__lot{transition:none;}
  .dpais-hero__ticket:hover{transform:none;}
}
/* @@END-PORCAO-EMPDIA-APPEND@@ */

/* ═══════════════ DIA DOS PAIS · destaque COMPACTO (dpais-mini) — dentro da secao de vouchers ═══════════════
   Formato enxuto e organizado (nao o ingresso gigante .dpais-hero). Reusa os keyframes de brasa
   dpaisEmber / dpaisSpark / dpaisPulse (ja definidos acima). Mobile-first: empilha < 860px. */
.cp-shell .dpais-mini{
  position:relative; overflow:hidden; isolation:isolate;
  display:grid; grid-template-columns:auto auto 1fr; align-items:center;
  gap:clamp(0.9rem,2.4vw,1.7rem);
  margin:0 0 clamp(1.6rem,3vw,2.4rem);
  padding:clamp(0.95rem,2.4vw,1.35rem) clamp(1.1rem,3vw,1.7rem);
  border:1px solid var(--cp-gold,#eeae4f);
  border-radius:calc(var(--cp-r,14px) + 2px);
  background:
    radial-gradient(120% 150% at 0% 0%,rgba(122,20,8,0.30) 0%,transparent 55%),
    linear-gradient(180deg,var(--cp-bg-3,#1c1815) 0%,var(--cp-bg-2,#141210) 100%);
  box-shadow:0 0 0 1px rgba(238,174,79,0.18),0 30px 70px -40px rgba(238,174,79,0.4),0 18px 44px -26px rgba(0,0,0,0.8);
}
.cp-shell .dpais-mini::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; z-index:5;
  background:linear-gradient(90deg,transparent,var(--cp-gold,#eeae4f) 22%,var(--cp-gold-hi,#f6c979) 50%,var(--cp-gold,#eeae4f) 78%,transparent);
}
.cp-shell .dpais-mini__ember{ position:absolute; inset:0 0 auto 0; height:96px; z-index:0; pointer-events:none; overflow:hidden; }
.cp-shell .dpais-mini__ember-glow{
  position:absolute; left:50%; top:-58px; width:120%; height:128px; transform:translateX(-50%);
  background:
    radial-gradient(52% 100% at 50% 100%,rgba(246,201,121,0.34) 0%,rgba(238,174,79,0.14) 32%,transparent 66%),
    radial-gradient(70% 120% at 50% 100%,rgba(168,0,0,0.24) 0%,transparent 62%);
  filter:blur(2px); animation:dpaisEmber 5.5s ease-in-out infinite;
}
.cp-shell .dpais-mini__spark{
  position:absolute; top:58px; width:3px; height:3px; border-radius:50%;
  background:var(--cp-gold-hi,#f6c979); box-shadow:0 0 6px 1px rgba(246,201,121,0.8);
  opacity:0; animation:dpaisSpark 4.4s ease-in infinite;
}
.cp-shell .dpais-mini__spark--1{ left:15%; animation-delay:.3s; }
.cp-shell .dpais-mini__spark--2{ left:38%; animation-delay:1.9s; }
.cp-shell .dpais-mini__spark--3{ left:66%; animation-delay:3.2s; }
.cp-shell .dpais-mini__stub{ position:relative; z-index:2; display:flex; align-items:center; gap:0.75rem; min-width:0; }
.cp-shell .dpais-mini__seal{
  position:relative; display:grid; place-items:center; flex-shrink:0;
  width:clamp(42px,9vw,50px); aspect-ratio:1; color:var(--cp-gold-hi,#f6c979); border-radius:50%;
  background:radial-gradient(circle at 34% 30%,rgba(246,201,121,0.28) 0%,transparent 60%),var(--cp-bg,#0b0705);
  box-shadow:inset 0 0 0 1px rgba(238,174,79,0.45),0 8px 22px -10px rgba(238,174,79,0.55);
}
.cp-shell .dpais-mini__seal svg{ width:72%; height:72%; }
.cp-shell .dpais-mini__pulse{
  position:absolute; top:-2px; right:-2px; width:8px; height:8px; border-radius:50%;
  background:var(--cp-gold,#eeae4f); box-shadow:0 0 0 0 rgba(238,174,79,0.6); animation:dpaisPulse 2s infinite;
}
.cp-shell .dpais-mini__stub-txt{ display:flex; flex-direction:column; gap:0.25rem; min-width:0; }
.cp-shell .dpais-mini__kicker{
  font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:700; font-size:0.7rem;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--cp-gold,#eeae4f); line-height:1.1;
}
.cp-shell .dpais-mini__date{
  display:inline-flex; align-items:center; gap:0.4rem;
  font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:600; font-size:0.82rem;
  letter-spacing:0.02em; color:var(--cp-cream-dim,#c9b48f);
}
.cp-shell .dpais-mini__date svg{ width:14px; height:14px; color:var(--cp-gold,#eeae4f); flex-shrink:0; }
.cp-shell .dpais-mini__lots{
  position:relative; z-index:2; list-style:none; margin:0; padding:0;
  display:flex; gap:0.7rem; flex-wrap:wrap;
}
.cp-shell .dpais-mini__lot{
  display:flex; flex-direction:column; gap:0.12rem; padding:0.55rem 0.9rem;
  border-radius:var(--cp-rsm,10px); border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14));
  background:var(--cp-bg,#0b0705); min-width:0;
}
.cp-shell .dpais-mini__lot--prime{
  border-color:var(--cp-gold,#eeae4f);
  background:linear-gradient(150deg,rgba(238,174,79,0.10),var(--cp-bg,#0b0705) 62%);
}
.cp-shell .dpais-mini__lot-time{
  font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:700; font-size:0.66rem;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--cp-cream-dim,#c9b48f);
}
.cp-shell .dpais-mini__lot--prime .dpais-mini__lot-time{ color:var(--cp-gold,#eeae4f); }
.cp-shell .dpais-mini__lot-price{
  font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; line-height:0.95;
  font-size:clamp(1.3rem,1rem + 1.2vw,1.6rem); color:var(--cp-cream,#f7e8cc); white-space:nowrap;
}
.cp-shell .dpais-mini__lot--prime .dpais-mini__lot-price{ color:var(--cp-gold-hi,#f6c979); }
.cp-shell .dpais-mini__lot-price em{ font-style:normal; font-size:0.5em; color:var(--cp-cream-dim,#c9b48f); margin-right:0.12em; vertical-align:0.45em; }
.cp-shell .dpais-mini__lot--prime .dpais-mini__lot-price em{ color:var(--cp-gold,#eeae4f); }
.cp-shell .dpais-mini__lot-price sup{ font-size:0.45em; vertical-align:0.9em; }
.cp-shell .dpais-mini__lot-tag{ font-size:0.63rem; letter-spacing:0.02em; color:var(--cp-cream-dim,#c9b48f); opacity:0.9; }
.cp-shell .dpais-mini__cta{
  justify-self:end; position:relative; z-index:2;
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; white-space:nowrap;
  font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:700; font-size:0.92rem; letter-spacing:0.02em;
  color:var(--cp-bg,#0b0705); text-decoration:none;
  background:linear-gradient(135deg,var(--cp-gold-hi,#f6c979),var(--cp-gold,#eeae4f));
  border-radius:999px; padding:0.85rem 1.4rem;
  box-shadow:0 14px 34px -14px rgba(238,174,79,0.6);
  transition:transform .22s var(--cp-ease,cubic-bezier(.16,1,.3,1)),box-shadow .25s ease,background .25s ease;
}
.cp-shell .dpais-mini__cta svg{ width:18px; height:18px; transition:transform .25s var(--cp-ease,cubic-bezier(.16,1,.3,1)); }
.cp-shell .dpais-mini__cta:hover{
  background:linear-gradient(135deg,#ffd98f,var(--cp-gold-hi,#f6c979)); transform:translateY(-2px);
  box-shadow:0 20px 44px -14px rgba(238,174,79,0.75);
}
.cp-shell .dpais-mini__cta:hover svg{ transform:translateX(4px); }
.cp-shell .dpais-mini__cta:focus-visible{ outline:2px solid var(--cp-gold-hi,#f6c979); outline-offset:3px; }
@media (max-width:860px){
  .cp-shell .dpais-mini{ grid-template-columns:1fr; gap:1rem; }
  .cp-shell .dpais-mini__lots{ width:100%; }
  .cp-shell .dpais-mini__lot{ flex:1 1 42%; }
  .cp-shell .dpais-mini__cta{ justify-self:stretch; width:100%; }
}
@media (prefers-reduced-motion:reduce){
  .cp-shell .dpais-mini__ember-glow,.cp-shell .dpais-mini__spark,.cp-shell .dpais-mini__pulse{ animation:none!important; }
}

/* ═══════════════ EMPÓRIO NA HOME (emp-home) — componente do /delivery/ com abas (1 categoria por vez) ═══════════════
   Reusa .dlv-item--emp / .dlv-catsec / .dlv-list / .dlv-cattab (post-14.css, escopo .cp-shell). Aqui so:
   barra de abas NAO-sticky, toggle de painel e grid robusto (minmax) mobile-first. Card e um <a> (deep-link). */
.cp-shell .emp-home{ margin-top:clamp(2.2rem,3.5vw,3rem); }
.cp-shell .emp-home__tabs{
  display:flex; gap:0.5rem; overflow-x:auto; padding-block:0.4rem;
  margin-bottom:clamp(1.3rem,2.5vw,1.9rem); scrollbar-width:none; -ms-overflow-style:none;
}
.cp-shell .emp-home__tabs::-webkit-scrollbar{ display:none; }
.cp-shell .emp-home__panel{ padding-top:0; }
.cp-shell .emp-home__panel[hidden]{ display:none!important; }
.cp-shell .emp-home .dlv-list{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(0.7rem,1.5vw,1.15rem); }
@media (max-width:760px){ .cp-shell .emp-home .dlv-list{ grid-template-columns:1fr; } }
.cp-shell a.dlv-item.emp-home__card{ text-decoration:none; color:inherit; }
.cp-shell .emp-home__card .dlv-item__add{ pointer-events:none; }
/* [Kits] lista 'O que vem no kit' no Quick View (short description) */
.mfp-content .kit-conteudo-h,.cp-shell .kit-conteudo-h{margin:.7rem 0 .3rem;color:var(--cp-gold,#eeae4f);font-weight:700;font-size:.9rem;letter-spacing:.02em;}
.mfp-content .kit-conteudo,.cp-shell .kit-conteudo{margin:.2rem 0 .7rem;padding-left:1.15rem;list-style:disc;color:var(--cp-cream,#f7e8cc);}
.mfp-content .kit-conteudo li,.cp-shell .kit-conteudo li{margin:.18rem 0;font-size:.9rem;line-height:1.4;}

/* ═══ [Mobile fix 2026-07-18] PDP galeria não estoura + Quick View rolável ═══ */
/* (1) A imagem 2:3 do voucher (600x900) estourava o container da galeria (~345px) no mobile e cobria o resumo. */
@media (max-width:1024px){
  .single-product .elementor-element-pdp-gallery,
  .single-product .elementor-element-pdp-col-media{ height:auto !important; min-height:0 !important; }
  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image{ height:auto !important; }
  .single-product .woocommerce-product-gallery__image img,
  .single-product img.wp-post-image{ height:auto !important; max-width:100% !important; display:block; }
}
/* (2) Quick View alto (kits com lista de itens) rola dentro do modal pra alcançar o botão Adicionar. */
.mfp-content .woosq-product{ max-height:88vh !important; overflow-y:auto !important; overflow-x:hidden !important; -webkit-overflow-scrolling:touch; }
@media (max-width:768px){ .mfp-content .woosq-product{ max-height:85vh !important; } }

/* [Mobile fix 2026-07-18b] pdp-grid fica flex-row no mobile e trava a altura das colunas empilhadas (345px), cortando a imagem 2:3 sobre o resumo. Bloco no mobile solta a altura. */
@media (max-width:1024px){
  .single-product .elementor-element-pdp-grid{ display:block !important; }
  .single-product .elementor-element-pdp-col-media,
  .single-product .elementor-element-pdp-col-info{ display:block !important; width:100% !important; height:auto !important; }
  .single-product .elementor-element-pdp-gallery{ height:auto !important; }
}

/* [2026-07-18] Dia dos Pais faixa SLIM (sem preço) */
.cp-shell .dpais-mini{ grid-template-columns:1fr auto !important; padding:clamp(0.55rem,1.5vw,0.8rem) clamp(1rem,3vw,1.4rem) !important; }
.cp-shell .dpais-mini__lots{ display:none !important; }
.cp-shell .dpais-mini__seal{ width:clamp(36px,7vw,42px) !important; }
.cp-shell .dpais-mini__ember{ height:64px !important; }
@media (max-width:560px){ .cp-shell .dpais-mini{ grid-template-columns:1fr !important; gap:0.7rem !important; } .cp-shell .dpais-mini__cta{ justify-self:start !important; width:auto !important; } }
/* [2026-07-18] Preço 'a partir de' no topo da PDP */
.single-product .prf-price-head{ display:inline-flex; align-items:baseline; gap:.45rem; flex-wrap:wrap; }
.single-product .prf-price-lbl{ font-family:var(--cp-font-b,'Figtree',sans-serif); font-size:.9rem; font-weight:400; color:var(--cp-cream-dim,#c9b48f); text-transform:none; letter-spacing:0; }
.single-product .prf-price-val{ font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; color:var(--cp-gold,#eeae4f) !important; font-size:clamp(1.8rem,1.3rem + 1.6vw,2.7rem); line-height:1; }
.single-product .prf-price-note{ font-family:var(--cp-font-b,'Figtree',sans-serif); font-size:.85rem; color:var(--cp-cream-dim,#c9b48f); }


/* ═══════════════════════════════════════════════════════════════════════
   [2026-07-21] VOUCHER ÚNICO CONFIGURÁVEL
   (1) .vch-tipos  — chips de tipo no topo do configurador da PDP
   (2) .vch-regras — descrição + regras literais (details/summary nativo)
   Usa só as variáveis do kit dark existente. Sem JS novo.
   ═══════════════════════════════════════════════════════════════════════ */

/* ---------- (1) Chips de tipo ---------- */
.vch-tipos{ margin:0 0 18px; }
.vch-tipos__lbl{
  display:block; font-size:.82rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--cp-gold,#c8a24b); margin-bottom:8px;
}
.vch-tipos__row{
  display:flex; gap:8px; overflow-x:auto; padding-bottom:4px;
  scrollbar-width:thin; -webkit-overflow-scrolling:touch;
}
.vch-tipo{
  flex:0 0 auto; display:flex; flex-direction:column; gap:2px;
  padding:9px 13px; border-radius:11px; text-decoration:none;
  background:var(--cp-bg-2,#140d0a); border:1px solid var(--cp-line-soft,#3a2a20);
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.vch-tipo:hover{ border-color:var(--cp-gold,#c8a24b); transform:translateY(-1px); }
.vch-tipo:focus-visible{ outline:2px solid var(--cp-gold,#c8a24b); outline-offset:2px; }
.vch-tipo.is-on{ border-color:var(--cp-gold,#c8a24b); background:rgba(200,162,75,.10); }
.vch-tipo__n{ font-size:.92rem; font-weight:600; color:var(--cp-cream,#f3ece4); white-space:nowrap; }
.vch-tipo__s{ font-size:.76rem; color:var(--cp-cream-dim,#b7a48a); white-space:nowrap; }
.vch-tipos__nota{ margin:9px 0 0; font-size:.8rem; line-height:1.45; color:var(--cp-cream-dim,#b7a48a); }

/* ---------- (2) Descrição + regras ---------- */
.vch-regras .vch-acc{
  border-bottom:1px solid var(--cp-line-soft,rgba(238,174,79,.14));
}
.vch-regras .vch-acc__sum{
  list-style:none; cursor:pointer; padding:1.05rem 2rem 1.05rem 0; position:relative;
  font-size:1rem; font-weight:600; color:var(--cp-cream,#f3ece4);
  transition:color .2s ease;
}
.vch-regras .vch-acc__sum::-webkit-details-marker{ display:none; }
.vch-regras .vch-acc__sum:hover{ color:var(--cp-gold,#eeae4f); }
.vch-regras .vch-acc__sum:focus-visible{ outline:2px solid var(--cp-gold,#eeae4f); outline-offset:2px; }
.vch-regras .vch-acc__sum::after{
  content:""; position:absolute; right:.35rem; top:50%; width:9px; height:9px;
  border-right:2px solid var(--cp-gold,#eeae4f); border-bottom:2px solid var(--cp-gold,#eeae4f);
  transform:translateY(-70%) rotate(45deg); transition:transform .2s ease;
}
.vch-regras .vch-acc[open] > .vch-acc__sum::after{ transform:translateY(-30%) rotate(-135deg); }
.vch-regras .vch-acc[open] > .vch-acc__sum{ color:var(--cp-gold,#eeae4f); }
.vch-regras .vch-acc__body{ padding:0 0 1.4rem; }
.vch-regras .vch-acc__body p{ margin:0 0 .85rem; }
.vch-regras .vch-acc__body ul{ margin:0 0 .85rem; padding-left:1.15rem; }
.vch-regras .vch-acc__body li{ margin:0 0 .45rem; }
.vch-regras .vch-acc__body a{ color:var(--cp-gold,#eeae4f); }
.vch-regras__link{ margin-top:1.6rem; }
.vch-regras__link a{ color:var(--cp-gold,#eeae4f); }

/* [2026-07-24 Rodrigo] "O que está incluso" (movido do accordion "Sobre o Rodízio Meet") + grupos didáticos das regras.
   Recupera a formatação do texto rico (parágrafos espaçados, lista destacada, strong em relevo) que se perdia. */
.vch-incluso{ margin:0 0 .4rem; }
.vch-incluso p{ margin:0 0 1rem; line-height:1.72; }
.vch-incluso strong{ color:var(--cp-cream,#f7e8cc); }
.vch-incluso__lista{ list-style:none; margin:1.2rem 0 1.4rem; padding:0; display:grid; gap:.6rem; }
.vch-incluso__lista li{ position:relative; padding:.85rem 1rem .85rem 2.4rem; border:1px solid rgba(238,174,79,.16); border-radius:12px; background:rgba(238,174,79,.05); line-height:1.5; }
.vch-incluso__lista li::before{ content:""; position:absolute; left:1rem; top:1.12rem; width:8px; height:8px; border-radius:50%; background:var(--cp-gold,#eeae4f); box-shadow:0 0 0 3px rgba(238,174,79,.18); }
.vch-incluso__lista li strong{ color:var(--cp-gold,#eeae4f); }
.vch-regras__intro{ margin:0 0 1.1rem; color:var(--cp-cream-dim,#b7a48a); }
.vch-regras__grupo{ font-family:var(--cp-font-b,'Figtree',sans-serif); font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--cp-gold,#eeae4f); margin:1.9rem 0 .5rem; opacity:.92; }
.vch-regras__grupo:first-of-type{ margin-top:.7rem; }

/* ===== PORCAO T27 — QUICK VIEW: galeria completa visivel (2026-07-21) =====
   O carrossel do WPC Smart Quick View ja traz TODAS as fotos do produto, mas as setas (#222)
   e as bolinhas (#000) do slick sao pretas sobre o modal escuro (#0b0705) e sobre foto de
   carne: o cliente enxergava uma foto so. Aqui: setas/bolinhas legiveis + tira de miniaturas
   (.pq-strip, montada em porcao-front.php). Nao mexe no fix de scroll do modal (88vh). */
.mfp-content .woosq-product .thumbnails .slick-arrow,
.woosq-product .thumbnails .slick-arrow{
  width:40px; height:40px; line-height:40px;
  color:var(--cp-cream,#f7e8cc)!important;
  background:rgba(11,7,5,0.62)!important;
  border:1px solid rgba(238,174,79,0.34)!important;
  border-radius:50%!important;
  box-shadow:0 4px 14px rgba(0,0,0,0.5);
  opacity:0.95; transition:background-color .18s ease,color .18s ease,opacity .18s ease;
}
.mfp-content .woosq-product .thumbnails .slick-arrow:before{ line-height:38px; font-size:20px; }
.mfp-content .woosq-product .thumbnails .slick-arrow.slick-prev{ left:10px; }
.mfp-content .woosq-product .thumbnails .slick-arrow.slick-next{ right:10px; }
.mfp-content .woosq-product .thumbnails .slick-arrow:hover,
.mfp-content .woosq-product .thumbnails .slick-arrow:focus-visible{
  background:var(--cp-gold,#eeae4f)!important; color:#0b0705!important; opacity:1;
}
.mfp-content .woosq-product .thumbnails .slick-dots{ bottom:8px; }
.mfp-content .woosq-product .thumbnails .slick-dots li button{ opacity:0.6; }
.mfp-content .woosq-product .thumbnails .slick-dots li button:before{
  background-color:var(--cp-cream,#f7e8cc)!important;
  box-shadow:0 0 0 1px rgba(0,0,0,0.6),0 1px 4px rgba(0,0,0,0.55);
}
.mfp-content .woosq-product .thumbnails .slick-dots li.slick-active button{ opacity:1; }
.mfp-content .woosq-product .thumbnails .slick-dots li.slick-active button:before{
  background-color:var(--cp-gold,#eeae4f)!important;
}
.woosq-product .thumbnails .pq-strip{
  display:flex; align-items:center; gap:0.6rem; margin:0.7rem 0 0.2rem; background:transparent;
}
.woosq-product .thumbnails .pq-count{
  flex:0 0 auto; font-family:'Figtree','Manrope',sans-serif; font-size:0.72rem; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--cp-cream-dim,#c9b48f); white-space:nowrap;
}
.woosq-product .thumbnails .pq-thumbs{
  display:flex; gap:0.45rem; overflow-x:auto; padding:2px 2px 6px; scrollbar-width:thin;
  scrollbar-color:rgba(238,174,79,0.45) transparent;
}
.woosq-product .thumbnails .pq-thumbs::-webkit-scrollbar{ height:5px; }
.woosq-product .thumbnails .pq-thumbs::-webkit-scrollbar-thumb{ background:rgba(238,174,79,0.4); border-radius:3px; }
.woosq-product .thumbnails .pq-thumb{
  flex:0 0 auto; width:54px; height:54px; padding:0; cursor:pointer;
  background:#141210; border:1px solid rgba(238,174,79,0.20); border-radius:8px; overflow:hidden;
  opacity:0.62; transition:opacity .18s ease,border-color .18s ease,transform .18s ease;
}
.woosq-product .thumbnails .pq-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.woosq-product .thumbnails .pq-thumb:hover{ opacity:1; transform:translateY(-1px); }
.woosq-product .thumbnails .pq-thumb:focus-visible{ outline:2px solid var(--cp-gold,#eeae4f); outline-offset:2px; }
.woosq-product .thumbnails .pq-thumb.is-active{
  opacity:1; border-color:var(--cp-gold,#eeae4f); box-shadow:0 0 0 1px var(--cp-gold,#eeae4f);
}
@media (max-width:760px){
  .woosq-product .thumbnails .pq-thumb{ width:46px; height:46px; }
  .woosq-product .thumbnails .pq-strip{ margin-top:0.55rem; }
  .mfp-content .woosq-product .thumbnails .slick-arrow{ width:34px; height:34px; line-height:34px; }
  .mfp-content .woosq-product .thumbnails .slick-arrow:before{ line-height:32px; font-size:17px; }
}
/* Onde a tira mora. No DESKTOP o popup tem altura fixa (460px) e a foto ocupa a coluna
   inteira: nao ha folga, entao a tira flutua sobre o rodape da foto (scrim escuro) e
   substitui as bolinhas. No MOBILE ha folga, entao a tira fica empilhada abaixo da foto. */
@media (min-width:1024px){
  .mfp-content .woosq-product .thumbnails{ overflow:visible!important; }
  .woosq-product .thumbnails .pq-strip{
    position:absolute; left:0; right:0; bottom:0; z-index:9; margin:0;
    padding:0.5rem 0.6rem 0.55rem;
    background:linear-gradient(180deg,rgba(11,7,5,0) 0%,rgba(11,7,5,0.72) 45%,rgba(11,7,5,0.94) 100%);
  }
  .woosq-product .thumbnails.pq-on .slick-dots{ display:none!important; }
}
@media (max-width:1023px){
  .mfp-content .woosq-product .thumbnails,
  .mfp-content .woosq-product > .product .thumbnails{
    max-height:none!important; height:auto!important; overflow:visible!important;
  }
}
/* ===== /PORCAO T27 ===== */


/* ===== FIX-CHIPS-TIPOS-20260721 =====================================
   .vch-tipos__row era overflow-x:auto SEM seta e SEM fade, entao o chip
   'Corporativo' ficava fora da area visivel em 1440 E em 390 (scrollWidth
   732 x clientWidth 576/374). Sem affordance, o cliente nao descobria.
   Passa a quebrar linha: os 5 tipos sempre visiveis, zero scroll escondido.
   =================================================================== */
.vch-tipos__row{ flex-wrap:wrap; overflow-x:visible; padding-bottom:0; }
.vch-tipos__row > .vch-tipo{ flex:0 1 auto; }


/* ===== FIX-CPTABS-OVF-20260721 =====================================
   PRE-EXISTENTE (nao e regressao desta rodada): em 390px os 3 .cp-tab da PDP
   somam ~351px dentro de um .cp-tabs de 334px ENQUANTO a webfont nao carregou
   (larguras 116px antes, ~117 depois). Nesse intervalo o ultimo tab passava de
   393px num viewport de 390 e empurrava a pagina inteira (doc=393 vs vw=390).
   Depois da fonte assentar cabe sozinho, entao o scroll so engata no transiente
   e nenhum conteudo fica escondido no estado final.
   =================================================================== */
@media (max-width:560px){
  .cp-tabs{ overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .cp-tabs::-webkit-scrollbar{ display:none; }
  .cp-tabs > .cp-tab{ flex:0 0 auto; }
}


/* ===================== AUDITORIA MOBILE 2026-07-21 - INICIO =====================
   Origem: auditoria de 2 rodadas, 239 agentes, 118 defeitos confirmados por medicao.
   Dossie: _revisao-estevao-2026-07-20/auditoria-mobile-2026-07-21/
   Backup do arquivo anterior: porcao-overrides.css.bak-20260721-audit (md5 c5d487dc...)
   Para reverter: apagar deste marcador ate o marcador FIM.
   =============================================================================== */

/* ═════════ AUDITORIA MOBILE 2026-07-21 R2 — INICIO ═════════
   Append em wp-content/uploads/porcao-ecom/porcao-overrides.css
   Backup antes: porcao-overrides.css.bak-20260721-r2
   Depois: opcache_reset + PURGE Varnish

   REGRA DE PREFIXO — duas superficies distintas:
   • DOM da pagina  -> `.cp-shell .x` (0,2,0). #cp-page NAO EXISTE, e codigo morto.
   • DOM de plugin  -> #woofc-area (mini-cart), .mfp-woosq (quick view) e o
     checkout WooCommerce renderizam FORA do .cp-shell. Verificado por 4 agentes
     independentes: prefixar com .cp-shell ali deixa a regra INERTE. Usa-se
     `body #woofc-area` / `body .mfp-woosq` / `body.woocommerce-checkout`.
   ════════════════════════════════════════════════════════════ */


/* ─── B1. CARDS DO DELIVERY/EMPORIO ───────────────────────────────────────
   Raiz: 1fr == minmax(auto,1fr); o piso e o min-content do card, inflado pelo
   .dlv-item__foot (flex nowrap + botao nowrap de 169px). Card 398px num
   container de 228-350px: foto amputada 78% @320, borda direita inexistente.
   Tambem quebra 768 (2a coluna decepada) — viewport que a rodada 1 nao viu.
   As 3 ultimas regras sao OBRIGATORIAS: sem elas o botao "Adicionar ao pedido"
   deixa de estourar a viewport mas passa POR BAIXO da foto (37 cards no
   delivery, 48 no emporio). Contagem de offenders e cega pra isso.
   1200/1440 medidos BYTE-IDENTICOS.                                        */
.cp-shell .dlv-list{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
@media (max-width:760px){
  .cp-shell .dlv-list,
  .cp-shell .emp-home .dlv-list{ grid-template-columns:minmax(0,1fr); }
}
.cp-shell .dlv-item{ min-width:0; }
.cp-shell .dlv-item--emp{ width:auto; max-width:none; margin:0; }
.cp-shell .dlv-item__foot{ flex-wrap:wrap; column-gap:.6rem; row-gap:.5rem; align-items:center; }
.cp-shell .dlv-item__price{ flex:0 0 auto; white-space:nowrap; line-height:1.15; }
.cp-shell .dlv-item__add{ white-space:normal; min-width:0; }
/* NAO escrever regra de largura pra .dlv-item__media: provado por injecao que
   os 74 offenders de thumb zeram so com o min-width:0 do pai. width:72px no
   thumb mascara @390 e a colisao persiste @320. */


/* ─── B2. HOME: fotos travadas por min-height + aspect-ratio ──────────────
   min-height:340px/320px + aspect-ratio 4/3 e 5/4 transferem o minimo pra
   LARGURA (453x340 e 400x320) numa coluna de 260-367px. Foto sangra com o
   canto arredondado decepado. SEM media query de proposito: morde em <513px
   E em 821-1010px (grid volta a 2 colunas estreitas). No-op em 600-819px e
   em 1024/1440 (byte-identicos).                                           */
.cp-shell .cp-split__media,
.cp-shell .omni-deliv__media{ min-height:0; }


/* ─── B3. DELIVERY: barra de info enterra a nav de categorias ─────────────
   MEDIDO 2026-07-21: .dlv-bar sticky top:0 z:55 h=223@360 / 178@390-430,
   fundo opaco; .dlv-cats sticky top:0 z:50 h=68.6. Apos scrollY=2797 o
   elementFromPoint no centro do chip retorna `dlv-bar__label` — a navegacao
   primaria do cardapio existe, e renderizada, e esta 100% morta.
   NAO usar .dlv-cats{top:178px}: a altura da barra varia por viewport.      */
@media (max-width:1024px){
  .cp-shell .dlv-bar{ position:static; }
  .cp-shell .dlv-bar__in{ padding-block:.6rem; gap:.7rem 1.3rem; }
  .cp-shell .dlv-bar__label{ display:block; font-size:.75rem; line-height:1.1; }
  .cp-shell .dlv-bar__ico{ width:28px; height:28px; grid-template-columns:28px; }
  .cp-shell .dlv-bar__ico svg{ width:15px; height:15px; }
  /* [CORRIGIDO 21/07, depois do B16] O B16 tornou o header do Elementor sticky,
     o que invalidou a premissa deste bloco. Com top:0 os chips passaram a renderizar
     DEBAIXO do header: medido chip.top=14 contra header.bottom=116, coberto em
     scrollY 1200/2500/5000, com elementFromPoint retornando cp-topbar. Trocamos um
     elemento cobrindo a nav (a dlv-bar) por outro (o header). Alturas de header
     medidas em /delivery/: 116px ate 767, 138px em 768-1023, 111px em 1024+. */
  .cp-shell .dlv-cats,
  .cp-shell .dlv-world-panel .dlv-cats{ top:116px; z-index:56; background:#0b0705; }
  /* ancora #cat-*: header (116) + nav de categorias (69 medidos) = 185 */
  .cp-shell .dlv .dlv-catsec[id^="cat-"]{ scroll-margin-top:185px; }
}
@media (min-width:768px) and (max-width:1023px){
  .cp-shell .dlv-cats,
  .cp-shell .dlv-world-panel .dlv-cats{ top:138px; }
  .cp-shell .dlv .dlv-catsec[id^="cat-"]{ scroll-margin-top:207px; }
}
@media (min-width:1024px){
  /* o desktop tem o mesmo problema: .dlv-cats e sticky top:0 na folha base e o
     header sticky de 111px passaria por cima. O B3 original so cobria ate 1024. */
  .cp-shell .dlv-cats,
  .cp-shell .dlv-world-panel .dlv-cats{ top:111px; z-index:56; }
  .cp-shell .dlv .dlv-catsec[id^="cat-"]{ scroll-margin-top:180px; }
}
/* NAO mexer em .dlv-cattab / .dlv-cats__scroll: e scroller horizontal
   INTENCIONAL e funcional (arrasto por toque validado, peek da 4a pilula
   visivel). Medido que wrap vira faixa sticky de 165px e shrink trunca as
   8 abas — os dois "fixes" sao piores que o estado atual. */


/* ─── B4. CLUBE MEET: hero mantem 2 colunas no mobile ─────────────────────
   MEDIDO 2026-07-21: unico grid da pagina sem media query.
   @390 gtc="184.984px 335.391px" -> cartao vaza 182.4px, CTA com 89.2px de
   altura (3 linhas dentro da pilula) contra 56.8px no desktop.
   @768 ainda vaza 32.5px. @861 ja cabe (-30.3). @1440 gtc="538.547px
   517.453px" INTOCADO. Breakpoint 860 confirmado.
   !important obrigatorio: a regra concorrente vem de <style> no BODY.       */
@media (max-width:860px){
  .cp-shell .cp-club-hero__grid{ grid-template-columns:minmax(0,1fr) !important; gap:2.5rem !important; }
  .cp-shell .cp-club-hero__copy{ max-width:none !important; }
  .cp-shell .cp-club-pass-wrap{ max-width:100% !important; }
  .cp-shell .cp-club-pass{ width:min(440px,100%) !important; }
}


/* ─── B5. PDP: calendario de reserva ──────────────────────────────────────
   Mata 6 achados de uma vez. Raiz unica: repeat(7,1fr) nos DOIS grids, mas o
   piso min-content do preco ("R$149,90") infla so o grid dos DIAS (46,66px)
   e nao o dos ROTULOS (39,14px). Consequencias:
     a) coluna de SABADO fora da tela em 320/360/390 (dias 1,8,15,22,29)
     b) deriva de ate 113px: o rotulo "SAB" cai sobre QUINTA. Num voucher
        datado, o cliente le o dia da semana errado e reserva a data errada.
     c) o defeito e INTERMITENTE POR MES: julho (mes default) passa limpo em
        390; agosto quebra. Auditoria que nao clica no ">" nao ve.
   A regra do .prf-cal-dows e obrigatoria: sem ela sobra ~1.7px de deriva.
   O clamp do preco precisa de (0,3,0): `.prf-day .prf-dprice` sai inline no
   shortcode e empata com (0,2,0), vencendo por ordem. Medido: 0 precos
   cortados em 320/360/390 nos 4 meses testados. 1440 inalterado.            */
.cp-shell .prf-cal-grid,
.cp-shell .prf-cal-dows{ grid-template-columns:repeat(7,minmax(0,1fr)); }
.cp-shell .prf-day{ min-width:0; overflow:hidden; }
.cp-shell .prf-day .prf-dnum{ max-width:100%; }
.cp-shell .prf-day .prf-dprice{ max-width:100%; white-space:nowrap; letter-spacing:-.02em; }
@media (max-width:430px){
  .cp-shell .porcao-reserva-form{ padding:16px; }
  .cp-shell .prf-cal{ padding:10px; }
  .cp-shell .prf-cal-grid,
  .cp-shell .prf-cal-dows{ gap:3px; }
  /* aspect-ratio:auto + min-height preserva o .prf-dot (31/31) e sustenta o
     mes de 6 linhas (agosto) sem reinflar a coluna */
  .cp-shell .prf-day{ aspect-ratio:auto; min-height:3rem; padding:5px 1px; gap:1px; }
  .cp-shell .prf-day .prf-dprice{ font-size:clamp(.4rem,2.05vw,.62rem); }
}
/* setas de mes: 38x38 -> 44x44. .prf-next e o UNICO caminho pro mes com
   estoque (nao ha dropdown nem swipe) e .prf-prev vem disabled no mes atual. */
.cp-shell .prf-cal-nav{ width:44px; height:44px; }
/* carregaMes() nao tem .catch(): falha de rede trava o calendario em "..."
   pra sempre, sem mensagem, com as duas setas habilitadas. Mitigacao CSS —
   o conserto real e o .catch() no PHP (ver "Fora do alcance").
   grid-column:1/-1 obrigatorio: sem ele o ::after vira grid item de UMA
   coluna e sai como fita vertical de 8 linhas em 1/3 do card. */
.cp-shell .prf-cal-grid:empty::after{
  content:"Não conseguimos carregar as datas agora. Recarregue a página ou tente em instantes.";
  grid-column:1/-1; display:block; padding:18px 6px; text-align:center;
  font-size:.85rem; line-height:1.45; color:#ff9d7a;
  opacity:0; animation:prfCalTardou 1ms linear 6s forwards;
}
@keyframes prfCalTardou{ to{ opacity:1 } }


/* ─── B6. PDP: tira de abas ───────────────────────────────────────────────
   As 3 abas somam 362px. Estouro: 98px@320, 58px@360, 28px@390, 0@430.
   @320 a aba "Onde usar" fica 100% invisivel (os 18px visiveis sao padding
   puro, sem tinta) e o painel escondido carrega ONDE O VOUCHER E RESGATADO.
   SUPERSEDE o bloco FIX-CPTABS-OVF-20260721 ja no arquivo — deve vir depois.
   Fade/mask foi MEDIDO e REJEITADO: preto-sobre-preto, 0,05% de pixels
   alterados @320, e apaga o glifo truncado que era a unica pista em 360/390.
   Enxuga padding e tracking; font-size e altura de toque (49px) intactos.    */
.cp-shell .cp-tabs{ scrollbar-width:none; }
.cp-shell .cp-tabs::-webkit-scrollbar{ display:none; }
@media (max-width:429px){
  .cp-shell .cp-tabs .cp-tab{ padding-left:9px; padding-right:9px; letter-spacing:0; }
}


/* ─── B7. TOPBAR DE AVISOS (header global) ────────────────────────────────
   .cp-topbar__inner: scrollWidth 705 vs clientWidth 320-414. A 3a mensagem
   (gold, "Seu saldo do Clube abate na compra") comeca em x=469 — 100% fora da
   tela em TODAS as larguras mobile, inclusive 430. A 2a e cortada no meio da
   palavra ("Pix, cartão em at").
   DECISAO: NAO reverter pra wrap. O nowrap+scroll e o item (16) do
   porcao-fixes-estevao.php, resposta explicita a uma reclamacao do Estevao
   sobre a barra de 3 linhas. Em vez disso: promove a mensagem do Clube pra
   1a posicao (order) + fade como affordance de arraste. Uma linha preservada,
   mensagem comercial visivel, altura segue 42px.
   Escopo @media obrigatorio: sem ele o order:-1 reordena o DESKTOP e deixa um
   separador orfao no fim (verificado em 1024 e 1440).
   Nem `order` nem `mask-image` sao declarados pelo <style> inline do
   porcao-fixes-estevao.php, entao nao ha disputa de cascata aqui.
   TRADEOFF: quem passa a ser truncado e "Entregamos em BH e regiao". */
@media (max-width:767px){
  .cp-shell .cp-topbar .cp-topbar__inner > span.gold{ order:-1; }
  .cp-shell .cp-topbar .cp-topbar__inner > span.gold::after{ content:" ·"; opacity:.55; }
  .cp-shell .cp-topbar .cp-topbar__inner{
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);
            mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);
  }
}


/* ─── B8. NAVEGACAO: hamburguer + drawer (global) ─────────────────────────
   MEDIDO 2026-07-21, e PIOR que a rodada 1 reportou: o .cp-nav__toggle tem
   30x30 em 360/390/430/768, mas em 320px COLAPSA PARA 10.1x10.1px — porque
   ele e flex:0 1 auto ao lado de uma logo de 199.5px que nao cede. E a UNICA
   entrada de navegacao do mobile (.cp-nav__links tem width 0).
   flex:0 0 auto no toggle + min-width:0 na logo sao os dois obrigatorios.    */
@media (max-width:1024px){
  .cp-nav .cp-nav__cta{ gap:10px; flex:0 0 auto; }
  .cp-nav .cp-nav__toggle{
    width:44px; height:44px; min-width:44px; padding:0; box-sizing:border-box;
    display:grid; place-content:center; flex:0 0 auto;
  }
  .cp-nav .cp-nav__logo{ min-width:0; flex:0 1 auto; }
  .cp-nav .cp-nav__logo img,
  .cp-nav .cp-nav__logo svg{ max-width:100%; height:auto; }
}
/* drawer aberto: o fundo rolava junto (453px por gesto, no painel E no
   overlay) e o usuario era cuspido ~900px longe. html/body nao aceitam
   prefixo .cp-shell. A 2a linha nao e redundante: e o fallback pra browser
   sem :has(). */
html:has(.cp-drawer.is-open),
html:has(.cp-drawer.is-open) body{ overflow:hidden !important; }
.cp-shell .cp-drawer__panel{ overscroll-behavior:contain; }
/* botao Fechar: alvo util real de 25px de altura. NAO usar o shorthand
   `margin:-10px -12px 0 0` — ele sobrescreve o margin-left:auto que alinha o
   botao a direita e o joga pra x=95, colado em "Vouchers". */
.cp-shell .cp-drawer__close{ min-height:44px; padding:10px 12px; align-items:center; position:sticky; top:0; z-index:2; background:rgb(20,18,16); }
/* em viewport curta (320x568, 375x553 = iPhone SE com barra do Safari,
   360x640) o CTA "Conhecer o Clube Meet" nascia 100% fora e o "Carrinho"
   cortado ao meio. Compactacao pura resolve: os 133px de estouro viram 0 e
   TUDO cabe sem rolagem. NAO usar position:sticky no CTA — medido: a barra
   opaca cobre integralmente o link "Carrinho". */
@media (max-height:700px){
  .cp-shell .cp-drawer__panel{ padding-bottom:12px; }
  .cp-shell .cp-drawer__close{ margin-top:-8px; }
  .cp-shell .cp-drawer__links a{ padding-top:8px; padding-bottom:8px; min-height:44px; }
  .cp-shell .cp-drawer__cta{ margin-top:12px; }
  .cp-shell .cp-drawer__cta .cp-btn,
  .cp-shell .cp-drawer__cta a{ padding-top:12px; padding-bottom:12px; }
}


/* ─── B9. GUTTERS: 4 trilhos de alinhamento convivendo ────────────────────
   MEDIDO 2026-07-21 @390:
     home  -> .cp-section x=10 (padding 10px do Elementor) vs nav x=20, h x=30
     PDP   -> crumb/grid/h1/related todos x=8 vs nav x=28
     /cart/-> .container padL 12px vs rodape padL 20px
   O token da casa e clamp(1.25rem,5vw,2.25rem).                             */
.elementor-element-omniwrap{ padding-left:0 !important; padding-right:0 !important; }
@media (max-width:1024px){
  .elementor-element-pdp-crumb,
  .elementor-element-pdp-grid{ padding-inline:clamp(20px,5vw,36px); }
}
.vpd-related-head{ padding-inline:var(--cp-gut); }
/* breakpoint 575.98 OBRIGATORIO: medido @768 o .container ja alinha por
   max-width+margin:auto (x=24 + padL 12 = 36 = padL do rodape). Somar padding
   acima de 576 QUEBRA o alinhamento que hoje esta certo. */
@media (max-width:575.98px){
  .breadcrumb-area > .container,
  .groser-main-page-wrapper > .container{ padding-inline:clamp(1.25rem,5vw,2.25rem); }
}


/* ─── B10. VOUCHERS: preco encosta no botao Reservar ──────────────────────
   MEDIDO 2026-07-21 na HOME (o bloco NAO existe em /vouchers/ — 0 matches,
   a rodada 1 errou a pagina). gaps preco->CTA = [40, 0, 0, 79.8] em 320/360/
   390: 2 dos 4 cards com gap ZERO enquanto os irmaos tem 40-80px de ar.
   Causa: `.cp-shell .omni-vouch__cta{margin-top:auto}` apagou o
   `margin-top:1.15rem` do base. Devolve o piso no irmao block-level, o auto
   absorve o resto e o alinhamento dos CTAs por linha continua intacto.       */
.cp-shell .omni-vouch__price-row{ margin-bottom:1.15rem; }
/* @320 os QUATRO precos quebram em 2 linhas (altura 51.2 vs 25.6) e o nome
   "ANIVERSARIANTES" estoura 53px. Escopo <=375 obrigatorio: sem ele o 390
   regride. */
@media (max-width:374.98px){
  .cp-shell .omni-vouch__price{ white-space:nowrap; font-size:min(1.6rem, calc(11.5vw - 18.5px)); }
  .cp-shell .omni-vouch__name{ overflow-wrap:break-word; hyphens:auto; }
}


/* ─── B11. PDP: rail de miniaturas da galeria ─────────────────────────────
   32 thumbs de 78px (scrollWidth 3113) em ~372px, com overflow:hidden vindo
   do CORE do WooCommerce. O FlexSlider nao arrasta o rail atras do slide
   ativo (scrollLeft cravado em 0 mesmo apos swipe), entao 28 das 32
   miniaturas sao inalcancaveis por qualquer gesto.
   !important OBRIGATORIO: o concorrente e
   `.woocommerce div.product div.images .flex-control-thumbs` (0,4,2).
   O proprio porcao-overrides.css ja tem uma tentativa em (0,3,0) que esta
   MORTA em producao desde que foi escrita.
   @media obrigatorio: acima de 768px o rail e coluna vertical.               */
@media (max-width:767px){
  .single-product.cp-shell .flex-control-thumbs{
    overflow-x:auto !important; overflow-y:hidden !important;
    overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity; scrollbar-width:none;
  }
  .single-product.cp-shell .flex-control-thumbs::-webkit-scrollbar{ display:none; }
  .single-product.cp-shell .flex-control-thumbs li{ scroll-snap-align:start; flex:0 0 auto; }
}


/* ─── B12. POLIMENTO (todos os itens re-medidos em 2026-07-21) ────────────
   Raiz comum: resets de shell (.cp-shell p{margin:0}) clobberando margens
   autorais, shorthands zerando o topo, e componentes de OVERLAY reusados em
   fluxo normal.                                                             */
/* gap 0 medido entre o paragrafo e o mini-card (marginTop computado 0px) */
.cp-shell .dpais-mini{ margin-top:clamp(1.1rem,3vw,1.6rem); }
/* .dpais-mini__ember e caixa de recorte de 64px e o glow filho transborda 9px
   (medido) -> aresta dura. Mascara vai no GLOW: mascarar o container apagaria
   as faiscas .dpais-mini__spark. */
.cp-shell .dpais-mini__ember-glow{
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 95%);
          mask-image:linear-gradient(180deg,#000 55%,transparent 95%);
}
/* .cp-h2 medido com line-height 32.64px sobre font-size 32px = 1.02. Em Anton
   caixa-alta PT-BR o acento da capital da linha 2 funde com o glifo da 1. */
@media (max-width:768px){ .cp-shell .cp-h2{ line-height:1.20; } }
/* 3 dos 5 .cp-seal medem 330x56 (2 linhas) contra 37px de 1 linha nos que
   cabem. :not([class*="tag"]) preserva "Mais pedido"/"Entrega em BH". */
.cp-shell .cp-seal:not([class*="tag"]){ text-wrap:balance; text-align:center; }
/* PDP: selo de OVERLAY reusado em fluxo acima do H1 -> gap medido = 0 */
.elementor-element-pdp-seal .cp-seal{ margin-bottom:14px !important; }
/* CORRIGIDO 21/07 no gate pre-deploy: `.summary` / `.entry-summary` NAO existem nesta PDP
   (ela e template do Elementor, post 3608, nao o single-product padrao do Woo) — o seletor
   original casava 0 vezes. O h1 real medido e
   h1.product_title.entry-title.elementor-heading-title dentro de .elementor-element-pdp-title. */
.cp-shell h1.product_title{ line-height:1.15 !important; margin-top:0 !important; }
/* PDP: coluna forcada a display:block em <=1024px torna o row-gap do flex
   INERTE -> card de reserva colado na caixa de garantias (gap medido = 0). */
@media (max-width:1024px){ .single-product .elementor-element-pdp-trust{ margin-top:20px; } }
/* PDP: .vch-tipos__nota declara margin:9px 0 0 mas o reset .cp-shell p
   {margin:0} (0,1,1) vence (0,1,0). Gap medido = 0. */
.cp-shell p.vch-tipos__nota{ margin-top:9px; }
/* PDP: 5 chips com larguras MEDIDAS em [119.1, 134.5, 124.2, 179.2, 131.4] —
   borda direita serrilhada. minmax(0,1fr) e NAO 1fr: o min-content de
   "Aniversariante e convidados" (179px) estoura a cota e gera colunas
   desiguais. SUPERSEDE parcialmente o FIX-CHIPS-TIPOS ja no arquivo. */
@media (max-width:560px){
  .vch-tipos__row{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .vch-tipos__row > .vch-tipo{ flex:none; width:auto; min-width:0; }
  .vch-tipos__row > .vch-tipo .vch-tipo__n,
  .vch-tipos__row > .vch-tipo .vch-tipo__s{ white-space:normal; overflow-wrap:anywhere; }
}
/* Clube: tag "(em breve)" medida com 36.2px de altura (2 linhas) e
   white-space:normal + flex:0 1 auto. NAO usar flex-wrap:wrap no li: joga o
   icone sozinho na 1a linha em todos os perks multilinha. */
.cp-shell .cp-club-tier__perks li .soon{ white-space:nowrap; flex:0 0 auto; }
/* prova social do rodape: medida 21.1px @390 (1 linha) e 42.2px @365 (2
   linhas, "BH" orfao). Escopo <=375. */
@media (max-width:375px){ .cp-reviews > span:not(.stars){ text-wrap:balance; } }
/* /cart/ vazio: padding-left medido 40px reservado pra um icone com
   ::before{display:none}. NAO incluir .woocommerce-error nem
   .woocommerce-message: esses ainda renderizam icone. */
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-info{ padding-left:15px; }


/* ═══════════════════════════════════════════════════════════════════════
   B13-B15: DOM DE PLUGIN. Estes tres blocos NAO levam .cp-shell — os
   elementos sao filhos diretos de <body>, fora do shell. Verificado com
   cor de controle: a versao com .cp-shell nao casa nenhum elemento.
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── B13. MINI-CART (WPC Fly Cart) ───────────────────────────────────────
   O painel roda inteiro no skin default do plugin. Seis defeitos, um bloco.  */
/* a) a .woofc-area-mid e SOBRA de layout (inner 80% - top 48px - bot fixo).
      Em 844x390 sobra 23px contra 320px de conteudo: o cliente ve
      "Total R$ 50,24" e ZERO produto — sem nome, foto, preco ou stepper. */
body #woofc-area.woofc-position-05 .woofc-inner{ max-height:92% !important; }
body #woofc-area .woofc-area-mid{ min-height:150px !important; }
@media (max-height:640px){
  body #woofc-area .woofc-area-bot .woofc-share,
  body #woofc-area .woofc-area-bot .woofc-continue,
  body #woofc-area .woofc-area-bot .woofc-subtotal{ display:none !important; }
  body #woofc-area .woofc-area-bot .woofc-action{ padding:10px 15px 0 15px !important; }
}
/* b) skin -> tokens da marca (#253d4e azul-ardosia num site preto e dourado) */
body #woofc-area.woofc-style-01 .woofc-inner{ background-color:#141414 !important; }
body #woofc-area.woofc-style-01 .woofc-area-top{ background-color:rgba(201,180,143,.14) !important; }
/* c) preco do item a 2,02:1 (dourado sobre card branco). O texto mora no
      filho .woocommerce-Price-amount, pintado DIRETO por `p,li,span{color:
      var(--color-default)}` do tema — pintar so o pai nao alcanca. */
body #woofc-area .woofc-area-mid .woofc-item .woofc-item-info .woofc-item-price,
body #woofc-area .woofc-area-mid .woofc-item .woofc-item-info .woofc-item-price span{
  color:#6b5220 !important; font-size:14px !important; font-weight:600 !important;
}
/* d) remover item: 20x20 e glifo a 2,02:1. Usa a calha de 40px que o
      .woofc-item-inner JA reserva (padding-right:40px) em vez de crescer pra
      esquerda e invadir o "+" — medido: width:44px rouba 2 de 7 pontos do
      botao "+", transformando erro inofensivo em acao destrutiva.
      A cor precisa mirar o <i>: o glifo herda de .hint--left. */
body #woofc-area .woofc-item .woofc-item-inner .woofc-item-remove{
  width:40px !important; height:44px !important; right:0 !important;
  display:flex !important; align-items:center; justify-content:center;
}
body #woofc-area .woofc-item .woofc-item-inner .woofc-item-remove i{ color:#8a2b20 !important; font-size:15px !important; }
/* e) stepper 30x30. A ALTURA e livre (28px de folga no item de 100px). A
      LARGURA so cresce >=361px: medido que em 320 a pill de 128px engole o
      "x" de remover e tocar "+" APAGA o item. */
body #woofc-area .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-qty .woofc-item-qty-inner .woofc-item-qty-minus,
body #woofc-area .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-qty .woofc-item-qty-inner .woofc-item-qty-plus{
  height:44px !important; line-height:44px !important; font-size:18px !important;
}
body #woofc-area .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-qty .woofc-item-qty-inner input{
  height:44px !important; line-height:44px !important; font-size:15px !important;
}
@media (min-width:361px){
  body #woofc-area .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-qty .woofc-item-qty-inner .woofc-item-qty-minus,
  body #woofc-area .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-qty .woofc-item-qty-inner .woofc-item-qty-plus{ width:44px !important; }
  body #woofc-area .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-qty .woofc-item-qty-inner input{ width:40px !important; }
}
/* f) CTAs a 40px de altura e texto coral #cc6055 (3,91:1) fora da paleta —
      o coral aparece em exatamente 3 nos da pagina inteira, todos do plugin.
      Os :hover explicitos sao obrigatorios: sem eles os !important matam o
      feedback de hover do plugin. */
body #woofc-area .woofc-area-bot .woofc-action .woofc-action-inner > div a{
  min-height:48px !important; height:auto !important; line-height:1.2 !important;
  display:flex !important; align-items:center; justify-content:center;
}
body #woofc-area .woofc-area-bot .woofc-action-checkout{ background-color:#c9b48f !important; color:#141414 !important; border-color:#c9b48f !important; }
body #woofc-area .woofc-area-bot .woofc-action-checkout:hover{ background-color:#b9a079 !important; color:#141414 !important; border-color:#b9a079 !important; }
body #woofc-area .woofc-area-bot .woofc-action-cart{ background-color:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.55) !important; }
body #woofc-area .woofc-area-bot .woofc-action-cart:hover{ background-color:rgba(255,255,255,.12) !important; color:#fff !important; border-color:#fff !important; }
/* g) botao X de fechar com 20px de largura (a altura ja e 48) */
body #woofc-area.woofc-style-01 .woofc-area-top .woofc-close{
  width:48px !important; height:48px !important; right:8px !important;
  display:flex !important; align-items:center; justify-content:center;
}
body #woofc-area.woofc-style-01 .woofc-area-top{ padding-right:64px !important; }


/* ─── B14. QUICK VIEW (woosq) ─────────────────────────────────────────────
   A galeria come 338px dos 715px de caixa de clip e empurra o CTA
   "Adicionar ao carrinho" pra fora: em 15 medicoes (5 produtos x 3 viewports)
   o botao NUNCA aparece inteiro; em 360 quatro de cinco produtos mostram
   ZERO pixel dele, e o elementFromPoint no centro retorna o overlay.
   Pior: o "Adicionar ao pedido" que se ve logo abaixo e o CARD ESMAECIDO
   ATRAS do modal — ativamente enganoso.
   200px validado em 5 produtos x 360/390. NAO usar sticky no form.cart: os
   ancestrais .summary/.summary-content sao overflow-y:auto e capturam.       */
/* [2026-07-24 PDP-QVFOTO] o cap de 200px era só pra mobile (proteger o CTA) mas vazava pro desktop
   SEM width:100% -> foto pequena com a moldura #141210 gigante em volta. Agora escopado por breakpoint. */
@media (max-width:1023px){
  body .mfp-woosq .woosq-product .images,
  body .mfp-woosq .woosq-product .images img{ height:200px; max-height:200px; }
}
@media (min-width:1024px){
  body .mfp-woosq .woosq-product .images,
  body .mfp-woosq .woosq-product .images .slick-list,
  body .mfp-woosq .woosq-product .images .slick-track,
  body .mfp-woosq .woosq-product .images .thumbnail,
  body .mfp-woosq .woosq-product .images img{ height:auto!important; max-height:none!important; }
  body .mfp-woosq .woosq-product .images img{ width:100%!important; object-fit:cover; display:block; }
}
body .mfp-woosq .woosq-product form.cart{ margin-bottom:0; }
/* caixa de quantidade com 76px de largura do tema pra um input de 52px, sem
   botoes +/-: sobra uma celula morta de 23px contigua a direita que le como
   stepper quebrado. UMA declaracao so — a linha `input.qty{width:64px}` do
   laudo original e inerte (perde pro width:52px !important ja no arquivo). */
body .mfp-woosq .woosq-product .quantity{ width:auto; }


/* ─── B15. CARRINHO E CHECKOUT (WooCommerce) ──────────────────────────────
   a) stepper do carrinho: .input-group de 100px dentro de .quantity de 76px
      com overflow:hidden (regra NOSSA) -> o "+" perde 14px dos 29 e vira uma
      lasca. Continua tocavel, mas a affordance morre. */
body.woocommerce-cart .woocommerce-cart-form .quantity{ width:auto; min-width:112px; }
body.woocommerce-cart .woocommerce-cart-form .quantity .input-group{ width:100%; }
body.woocommerce-cart .woocommerce-cart-form .quantity .btn.bootstrap-touchspin-up,
body.woocommerce-cart .woocommerce-cart-form .quantity .btn.bootstrap-touchspin-down{ min-width:44px; min-height:44px; }
/* b) botao remover item com 18x18. !important OBRIGATORIO: o tema tem
      `.woocommerce-cart .woocommerce table.shop_table .cart_single td
      a.remove{width:18px}` em (0,5,3). A tentativa de 34px ja existente no
      porcao-overrides.css esta morta exatamente por isso. */
body.woocommerce-cart td.product-remove{ width:44px !important; }
body.woocommerce-cart td.product-remove a.remove{ width:44px !important; height:44px !important; line-height:1 !important; }
/* c) rotulo ":" orfao acima da foto de cada item: o
      woocommerce-smallscreen.css aplica `content: attr(data-title) ": "` com
      float:left em TODO td, e a regra irma com display:none cobre so
      td.actions e td.product-remove. Como o thumbnail nao tem data-title,
      sobra o ":" creme sozinho, somando 24px de altura por item. */
body.woocommerce-cart .woocommerce table.shop_table_responsive tr td.product-thumbnail::before{ display:none; }
/* d) campo de cupom travado em 227px contra um botao de 326px. A causa NAO e
      o max-width:280 do nosso arquivo (227 < 280, nao vincula) e sim o tema,
      que faz `display:unset` no .coupon em <=767px derrubando a linha flex.
      @media obrigatorio: sem ele 1440 REGRIDE (input 227 -> 202). */
@media (max-width:767px){
  body.woocommerce-cart .woocommerce table.cart td.actions .coupon .input-text{ max-width:none !important; width:100% !important; }
}
/* e) iOS Safari zooma ao focar campo com font-size < 16px. O meta viewport do
      site nao tem maximum-scale, entao nada suprime o zoom, e ele NAO reverte
      no blur: a pagina fica ampliada pelo resto de um form de 12 campos.
      Os <select> ficam de fora de proposito (iOS abre picker, nao zooma).    */
body.woocommerce-cart .woocommerce .input-text,
body.woocommerce-checkout .woocommerce .input-text,
body.woocommerce-account .woocommerce .input-text,
body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce input[type="number"],
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-cart .woocommerce input[type="number"]{ font-size:16px !important; }
/* o cupom precisa de nivel ID: o tema o fixa em
   `.woocommerce-cart .woocommerce table.shop_table td.actions #coupon_code`
   e a regra por classe acima NAO o alcanca (medido 3x). */
body.woocommerce-cart .woocommerce table.shop_table td.actions #coupon_code{ font-size:16px !important; }
/* f) bloco #payment inteiro (metodos, privacidade e "Finalizar pedido") 25px
      pra dentro de cada lado. Os 25px eram o inset de um card CINZA CLARO do
      tema groser; o redesign dark neutralizou o fundo (medido: bg
      rgba(0,0,0,0), border 0, radius 0, shadow none) e deixou o padding
      orfao. SEM media query: o mesmo degrau existe em 768 e 1440 e a regra
      corrige os tres. padding-left/right e nao padding:0, pra preservar os
      25px verticais que seguram o ritmo. */
body.woocommerce-checkout #payment{ padding-left:0 !important; padding-right:0 !important; }
/* g) select de Pais com 69px (loja de pais unico). O WooCommerce marca
      .country_to_state--single e o DESESTILIZA de proposito (pointer-events:
      none, 1 opcao, valor ja correto) pra virar rotulo de texto; a nossa
      propria regra .input-text o re-encaixota num box morto. Honra o
      upstream em vez de alargar um controle inerte pra 319px. */
body.woocommerce-checkout .woocommerce form .form-row select.country_to_state--single{
  background:none !important; border:0 !important; min-height:0 !important;
  height:auto !important; padding:0 !important; box-shadow:none !important;
  width:auto !important; font-size:14.72px !important; line-height:1.4 !important;
  color:var(--cp-ink,#f5efe6) !important;
}

/* ═════════ AUDITORIA MOBILE 2026-07-21 R2 — FIM ═════════ */


/* ---------- B16 Header sticky: o menu que sumia ao rolar ----------
   Causa medida (nao era o overflow-x:clip, como a auditoria supos): nav.cp-nav JA e
   position:sticky, mas TODA a cadeia de ancestrais ate .elementor-location-header tem
   exatamente 112px, a altura do header. Sticky so viaja dentro do bloco de contencao,
   entao o nav (70px) tinha ~42px de curso e ia embora junto com o header.
   Provado: remover o clip do .cp-shell NAO conserta (navTop seguia -1146) e ainda cria
   93px de scroll horizontal em 390 e 274px em 1440. O clip fica como esta.
   Correcao: ancorar o sticky no header do Elementor, que e filho direto do body e tem
   curso pela pagina inteira. O :has() escopa ao header que realmente contem o .cp-shell.
   z-index 70: acima do nav (60), abaixo do drawer (90).
   Verificado 36/36 (6 paginas x 6 larguras): sticky OK, delta de scroll horizontal 0,
   altura do documento identica. Efeito colateral desejado: o hamburguer sai de
   inalcancavel (burgerClicavel=false) para clicavel. */
header.elementor-location-header:has(> .elementor-section .cp-shell){
  position:sticky; top:0; z-index:70;
}

/* ---------- B17 Glifo quebrado no botao "Adicionar ao pedido" ----------
   Achado na conferencia visual pos-deploy, nao pelas 3 lentes da auditoria.
   O botao dos cards do Delivery tambem carrega a classe .woosq-btn (e o gatilho
   do Quick View). O tema declara, em themes/groser/assets/css/woocommerce.css:800,
   `.woosq-btn:before{content:"\f422"}` SEM font-family. Esse codepoint e da
   Font Awesome 5 Pro, que NAO esta carregada neste site (as unicas fontes de
   icone presentes sao woofc, WooCommerce e revicons). Sem a fonte certa o
   pseudo-elemento herda a Goldplay e o U+F422 cai num glifo de fallback, que
   aparecia como um "O" torto antes do texto.
   Varredura confirmou que e caso unico: 85 ocorrencias, todas deste seletor, so
   em /delivery/. Home, PDP e carrinho dao zero.
   O botao ja diz "Adicionar ao pedido" — o icone e redundante. Escopado em
   .dlv-item__add pra nao mexer em outros gatilhos de quick view. */
.cp-shell .dlv-item__add.woosq-btn::before{ content:none; }

/* ====================== AUDITORIA MOBILE 2026-07-21 - FIM ====================== */

/* ═══════════ DP-COMPOSICAO-2026-07-22 · equilibrio do dpais-mini (pedido Rodrigo) ═══════════ */
/* [2026-07-24] restaura os lotes de preço no lugar da régua vazia (pedido Rodrigo) */
@media (min-width:561px){
  .cp-shell .dpais-mini{ grid-template-columns:auto 1fr auto !important; }
  .cp-shell .dpais-mini__lots{ display:flex !important; justify-self:center; gap:0.7rem; }
  .cp-shell .dpais-mini__rule{ display:none !important; }
}
@media (max-width:560px){
  .cp-shell .dpais-mini__lots{ display:flex !important; width:100%; }
  .cp-shell .dpais-mini__rule{ display:none; }
  .cp-shell .dpais-mini__cta{ justify-self:stretch !important; width:100% !important; }
}
/* ═══════════ FIM DP-COMPOSICAO-2026-07-22 ═══════════ */

/* ══════ CART-CONTRASTE-2026-07-22 · totais do carrinho legiveis no tema dark (pedido Rodrigo) ══════ */
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td,
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .amount{ color:var(--cp-cream,#f7e8cc) !important; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total .amount{ color:var(--cp-gold-hi,#f6c979) !important; }
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .shipping-calculator-form label,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals tr.shipping td{ color:var(--cp-cream-dim,#c9b48f) !important; }
/* ══════ FIM CART-CONTRASTE-2026-07-22 ══════ */

/* ══════ PDP-RELATED-CARROSSEL-2026-07-22 · demais rodizios em carrossel no mobile/tablet (pedido Rodrigo) ══════ */
@media (max-width:820px){
  [data-id="pdp-related"] .omni-vouch__grid{ display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; scroll-snap-type:x mandatory; gap:1rem; padding-bottom:.6rem; scrollbar-width:none; }
  [data-id="pdp-related"] .omni-vouch__grid::-webkit-scrollbar{ display:none; }
  [data-id="pdp-related"] .omni-vouch{ flex:0 0 78% !important; max-width:290px; scroll-snap-align:start; }
}
/* ══════ FIM PDP-RELATED-CARROSSEL-2026-07-22 ══════ */

/* ══════ VCH-EMP-LISTAGEM-2026-07-22 · qualificador de preco no card de voucher (layout Emporio) ══════ */
.cp-shell .vch-emp-list .dlv-item__price .vch-q{ display:inline-block; margin-right:0.35rem; font-family:var(--cp-font-b); font-size:0.66rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--cp-cream-dim); opacity:0.85; }
/* ══════ FIM VCH-EMP-LISTAGEM-2026-07-22 ══════ */

/* ══════ PDP-HIERARQUIA-2026-07-22 · respiro por grupo + separador galeria/info + DP secundario (pedido Rodrigo) ══════ */
.single-product .elementor-element-pdp-col-info{ gap:0 !important; }
.single-product .elementor-element-pdp-title{ margin-top:6px; }
.single-product .elementor-element-pdp-proof{ margin-top:18px; }
.single-product .elementor-element-pdp-price{ margin-top:24px; }
.single-product .elementor-element-pdp-shortdesc{ margin-top:16px; }
.single-product .elementor-element-pdp-atc{ margin-top:24px; padding-top:24px; border-top:1px solid var(--cp-line-soft); }
.single-product .elementor-element-pdp-trust{ margin-top:22px; }
@media (max-width:1024px){ .single-product .elementor-element-pdp-col-info{ margin-top:22px; padding-top:26px; border-top:1px solid var(--cp-line-soft); } }
@media (min-width:1025px){ .single-product .elementor-element-pdp-col-info{ position:relative; } .single-product .elementor-element-pdp-col-info::before{ content:""; position:absolute; top:6px; bottom:6px; left:-24px; width:1px; background:linear-gradient(to bottom, transparent, var(--cp-line-soft) 10%, var(--cp-line-soft) 90%, transparent); pointer-events:none; } }
.single-product .elementor-element-pdp-atc .elementor-add-to-cart{ display:flex; flex-direction:column; }
.single-product .elementor-element-pdp-atc .prf-dp-offer{ order:-1; margin:0 0 22px; }
/* ══════ FIM PDP-HIERARQUIA-2026-07-22 ══════ */

/* ══════ CHECKOUT-HIERARQUIA-2026-07-22 · erro semantico + pais oculto + barra fixa mobile + aviso CEP ══════ */
:root{ --cp-danger:#c0392b; }
.porcao-hide-row{ display:none !important; }
.woocommerce-invalid input,.woocommerce-invalid select,.woocommerce-invalid textarea{ border-color:var(--cp-danger) !important; box-shadow:0 0 0 1px rgba(192,57,43,.35) !important; }
.woocommerce-error{ border-left:3px solid var(--cp-danger) !important; background:rgba(192,57,43,.10) !important; }
.porcao-cep-aviso{ margin:6px 0 0; font-size:.82rem; color:var(--cp-danger); }
.porcao-cta-bar{ position:fixed; left:0; right:0; bottom:0; z-index:9999; display:flex; align-items:center; gap:12px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:rgba(11,7,5,.96); border-top:1px solid var(--cp-line,rgba(238,174,79,.2)); backdrop-filter:blur(8px); }
.porcao-cta-bar .porcao-cta-total{ flex:1; color:var(--cp-gold-hi,#f6c979); font-family:var(--cp-font-d,'Anton',sans-serif); font-size:1.05rem; }
.porcao-cta-bar .porcao-cta-btn{ background:linear-gradient(135deg,var(--cp-gold-hi,#f6c979),var(--cp-gold,#eeae4f)); color:#0b0705; border:0; border-radius:999px; padding:13px 22px; font-weight:700; font-size:1rem; cursor:pointer; white-space:nowrap; }
@media (min-width:769px){ .porcao-cta-bar{ display:none !important; } }
body.woocommerce-checkout{ padding-bottom:80px; }
@media (min-width:769px){ body.woocommerce-checkout{ padding-bottom:0; } }
/* ══════ FIM CHECKOUT-HIERARQUIA-2026-07-22 ══════ */

/* CHECKOUT-INVALID-REFORCO-2026-07-22 · vence a especificidade do kit .input-text */
body.woocommerce-checkout .woocommerce .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce .woocommerce-invalid select,
body.woocommerce-checkout .woocommerce .woocommerce-invalid textarea{ border-color:var(--cp-danger) !important; box-shadow:0 0 0 1px rgba(192,57,43,.35) !important; }

/* ══════ POS-COMPRA-2026-07-22 · confirmacao + upsell na tela de pedido recebido ══════ */
body.woocommerce-order-received .cp-shell{ max-width:920px; margin-inline:auto; }
.pos-hero{ text-align:center; padding:clamp(1.4rem,4vw,2.4rem) 0 clamp(.8rem,2vw,1.2rem); }
.pos-hero__badge{ display:inline-grid; place-items:center; width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,var(--cp-gold-hi,#f6c979),var(--cp-gold,#eeae4f)); color:#0b0705; margin-bottom:12px; }
.pos-hero__badge svg{ width:30px; height:30px; }
.pos-hero__title{ font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; text-transform:uppercase; font-size:clamp(1.8rem,1rem + 3vw,2.8rem); line-height:1.02; color:var(--cp-cream,#f7e8cc); margin:0; }
.pos-hero__sub{ margin:.55rem 0 0; color:var(--cp-cream-dim,#c9b48f); font-size:1rem; }
.pos-hero__status{ color:var(--cp-gold-hi,#f6c979); font-weight:600; }
.pos-next{ margin-top:clamp(1.4rem,4vw,2.2rem); padding:clamp(1.1rem,3vw,1.5rem); border:1px solid var(--cp-line-soft); border-radius:var(--cp-r,14px); background:var(--cp-bg-2); }
.pos-h2{ font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; text-transform:uppercase; font-size:clamp(1.3rem,1rem + 1.4vw,1.7rem); color:var(--cp-cream,#f7e8cc); margin:0 0 .6rem; letter-spacing:.01em; }
.pos-next__txt{ color:var(--cp-cream-dim,#c9b48f); font-size:.95rem; line-height:1.6; margin:0 0 1rem; }
.pos-cta-row{ display:flex; flex-wrap:wrap; gap:.7rem; }
.pos-btn{ display:inline-flex; align-items:center; justify-content:center; padding:.85rem 1.4rem; border-radius:999px; font-weight:700; font-size:.95rem; text-decoration:none; }
.pos-btn--gold{ background:linear-gradient(135deg,var(--cp-gold-hi,#f6c979),var(--cp-gold,#eeae4f)); color:#0b0705; }
.pos-btn--ghost{ border:1px solid var(--cp-line,rgba(238,174,79,.3)); color:var(--cp-cream,#f7e8cc); }
.pos-upsell{ margin-top:clamp(1.6rem,4vw,2.4rem); }
.pos-upsell__kicker{ display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cp-gold,#eeae4f); margin-bottom:.3rem; }
body.woocommerce-order-received .woocommerce-order .woocommerce-column__title, body.woocommerce-order-received .woocommerce-order-details__title, body.woocommerce-order-received .woocommerce-customer-details__title{ font-size:1.15rem !important; }
/* ══════ FIM POS-COMPRA-2026-07-22 ══════ */

/* ══════ COMPRA-FOCUS-2026-07-22 · telas de compra sem menu/footer + barra minima + contraste tabela pedido ══════ */
body.porcao-compra-focus .elementor-location-header, body.porcao-compra-focus .elementor-location-footer{ display:none !important; }
body.porcao-compra-focus .cpf-bar{ display:flex; align-items:center; gap:1rem; justify-content:space-between; padding:14px clamp(1rem,4vw,2rem); border-bottom:1px solid var(--cp-line-soft,rgba(238,174,79,.14)); background:var(--cp-bg,#0b0705); position:sticky; top:0; z-index:100; }
body.porcao-compra-focus .cpf-back{ display:inline-flex; align-items:center; gap:.4rem; color:var(--cp-cream-dim,#c9b48f); text-decoration:none; font-size:.9rem; flex:1 1 0; min-width:0; }
body.porcao-compra-focus .cpf-back svg{ width:18px; height:18px; flex-shrink:0; }
body.porcao-compra-focus .cpf-back:hover{ color:var(--cp-cream,#f7e8cc); }
body.porcao-compra-focus .cpf-logo{ display:inline-flex; flex-shrink:0; }
body.porcao-compra-focus .cpf-logo img{ height:30px; width:auto; }
body.porcao-compra-focus .cpf-spacer{ flex:1 1 0; }
@media (max-width:560px){ body.porcao-compra-focus .cpf-back span{ display:none; } body.porcao-compra-focus .cpf-logo img{ height:26px; } }
body.woocommerce-order-received .woocommerce-table--order-details th, body.woocommerce-order-received .woocommerce-table--order-details td, body.woocommerce-order-received .woocommerce-order-details th, body.woocommerce-order-received .woocommerce-order-details td, body.woocommerce-order-received .woocommerce-table--order-details .woocommerce-Price-amount{ color:var(--cp-cream,#f7e8cc) !important; }
body.woocommerce-order-received .woocommerce-table--order-details tfoot th{ color:var(--cp-cream-dim,#c9b48f) !important; }
body.woocommerce-order-received .woocommerce-thankyou-order-received{ display:none !important; }
/* ══════ FIM COMPRA-FOCUS-2026-07-22 ══════ */

/* COMPRA-FOCUS-DEDUP-2026-07-22 · tira duplicacao (overview Woo) + breadcrumb nas telas de compra */
body.woocommerce-order-received ul.woocommerce-order-overview{ display:none !important; }
body.porcao-compra-focus .woocommerce-breadcrumb, body.porcao-compra-focus nav.woocommerce-breadcrumb, body.porcao-compra-focus .breadcrumbs, body.porcao-compra-focus .bc-breadcrumb{ display:none !important; }

/* ══════ OTO-2026-07-22 · one-time offer card grande na pos-compra ══════ */
.pos-oto{ margin-top:clamp(1.6rem,4vw,2.4rem); }
.pos-oto__flag{ display:inline-flex; align-items:center; gap:.5rem; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cp-gold-hi,#f6c979); font-weight:700; margin-bottom:.6rem; }
.pos-oto__pulse{ width:8px; height:8px; border-radius:50%; background:var(--cp-gold,#eeae4f); box-shadow:0 0 0 0 rgba(238,174,79,.6); animation:dpaisPulse 2s infinite; }
.pos-oto__card{ display:grid; grid-template-columns:minmax(0,.9fr) 1fr; gap:clamp(1rem,3vw,1.8rem); align-items:center; padding:clamp(1.1rem,3vw,1.6rem); border:1px solid var(--cp-gold,#eeae4f); border-radius:calc(var(--cp-r,14px) + 2px); background:radial-gradient(120% 150% at 0% 0%,rgba(122,20,8,.28) 0%,transparent 55%),linear-gradient(180deg,var(--cp-bg-3,#1c1815),var(--cp-bg-2,#141210)); box-shadow:0 0 0 1px rgba(238,174,79,.18),0 30px 70px -40px rgba(238,174,79,.4); }
.pos-oto__media{ position:relative; aspect-ratio:1; border-radius:var(--cp-r,14px); overflow:hidden; }
.pos-oto__media img{ width:100%; height:100%; object-fit:cover; }
.pos-oto__badge{ position:absolute; top:10px; left:10px; background:linear-gradient(135deg,var(--cp-gold-hi,#f6c979),var(--cp-gold,#eeae4f)); color:#0b0705; font-weight:800; font-size:.9rem; padding:.3rem .7rem; border-radius:999px; }
.pos-oto__kicker{ display:block; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cp-gold,#eeae4f); margin-bottom:.3rem; }
.pos-oto__name{ font-family:var(--cp-font-d,'Anton',sans-serif); font-weight:400; text-transform:uppercase; font-size:clamp(1.4rem,1rem + 2vw,2rem); line-height:1.02; color:var(--cp-cream,#f7e8cc); margin:0; }
.pos-oto__desc{ margin:.5rem 0 0; color:var(--cp-cream-dim,#c9b48f); font-size:.9rem; line-height:1.5; }
.pos-oto__price{ display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem; margin:.8rem 0 0; }
.pos-oto__from{ color:var(--cp-cream-dim,#c9b48f); text-decoration:line-through; font-size:1rem; }
.pos-oto__now{ font-family:var(--cp-font-d,'Anton',sans-serif); font-size:clamp(1.8rem,1rem + 3vw,2.4rem); color:var(--cp-gold-hi,#f6c979); line-height:1; }
.pos-oto__save{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--cp-gold,#eeae4f); }
.pos-oto__urg{ margin:.7rem 0 0; font-size:.85rem; color:var(--cp-cream-dim,#c9b48f); }
.pos-oto__cta{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1rem; background:linear-gradient(135deg,var(--cp-gold-hi,#f6c979),var(--cp-gold,#eeae4f)); color:#0b0705; font-weight:700; font-size:1rem; padding:.9rem 1.5rem; border-radius:999px; text-decoration:none; box-shadow:0 14px 34px -14px rgba(238,174,79,.6); }
.pos-oto__cta svg{ width:18px; height:18px; }
@media (max-width:620px){ .pos-oto__card{ grid-template-columns:1fr; } .pos-oto__media{ aspect-ratio:16/10; } }
/* ══════ FIM OTO-2026-07-22 ══════ */

/* ══════ COMPRA-FIX-2026-07-22 · CTA gold visivel + alvo de toque do voltar ══════ */
body.woocommerce-order-received .pos-btn.pos-btn--gold, body.woocommerce-order-received a.pos-btn--gold, .cp-shell .pos-oto__cta{ color:#0b0705 !important; }
body.porcao-compra-focus .cpf-bar{ display:grid !important; grid-template-columns:1fr auto 1fr; }
body.porcao-compra-focus .cpf-back{ justify-self:start; flex:none !important; padding:13px 8px; margin:-13px 0; min-height:44px; box-sizing:border-box; }
body.porcao-compra-focus .cpf-logo{ justify-self:center; }
body.porcao-compra-focus .cpf-spacer{ justify-self:end; }
/* ══════ FIM COMPRA-FIX-2026-07-22 ══════ */

/* ══════ CONTA-MOBILE-2026-07-22 · menu da conta em tabs horizontais no mobile (conteudo aparece logo) ══════ */
@media (max-width:768px){
  .woocommerce-account .woocommerce-MyAccount-navigation ul{ display:flex !important; flex-wrap:nowrap; overflow-x:auto; gap:.5rem; margin:0 0 1.2rem !important; padding:0 0 .4rem; list-style:none; scrollbar-width:none; -webkit-overflow-scrolling:touch; border:0 !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{ display:none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li{ flex:0 0 auto; margin:0 !important; border:0 !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a{ display:inline-block; white-space:nowrap; padding:.6rem 1rem !important; border-radius:999px !important; border:1px solid var(--cp-line-soft,rgba(238,174,79,.14)) !important; background:var(--cp-bg-2,#141210); color:var(--cp-cream-dim,#c9b48f) !important; font-size:.85rem; text-decoration:none; letter-spacing:.02em; }
  .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:linear-gradient(135deg,var(--cp-gold-hi,#f6c979),var(--cp-gold,#eeae4f)) !important; color:#0b0705 !important; border-color:transparent !important; font-weight:700; }
  .woocommerce-account .woocommerce-MyAccount-content{ margin:0 !important; width:100% !important; }
}
/* ══════ FIM CONTA-MOBILE-2026-07-22 ══════ */

/* ══════ CHECKOUT-FIX2-2026-07-22 · botao voucher dourado + esconde headings Woo orfaos no stepper ══════ */
.porcao-reserva-form button.prf-add, .porcao-reserva-form .prf-add.button, .porcao-reserva-form .prf-add.button.alt{ background:#c8a24b !important; background-image:none !important; color:#140d0a !important; }
.porcao-reserva-form button.prf-add:hover{ background:#d8b25e !important; }
form.porcao-steps .woocommerce-billing-fields, form.porcao-steps .woocommerce-additional-fields{ display:none !important; }
/* ══════ FIM CHECKOUT-FIX2-2026-07-22 ══════ */

/* ══════ TRILHA-CONFIG-2026-07-22 · progresso do configurador em stepper (nao botoes) ══════ */
.cp-shell .porcao-reserva-form .prf-guia{ position:sticky; top:122px; z-index:30; display:grid !important; grid-template-columns:repeat(4,1fr); background:#140d0a !important; border:1px solid #2a1e17 !important; border-radius:12px; padding:16px 14px 12px !important; margin:0 0 20px !important; counter-reset:prfstep; align-items:start; box-shadow:0 12px 26px -14px rgba(0,0,0,0.9); }
.cp-shell .porcao-reserva-form .prf-guia::before{ content:""; position:absolute; top:29px; left:12.5%; right:12.5%; height:2px; background:#3a2a20; z-index:0; }
.cp-shell .porcao-reserva-form .prf-guia-pill{ display:flex; flex-direction:column; align-items:center; gap:7px; padding:0 !important; border:0 !important; background:transparent !important; border-radius:0 !important; text-align:center; font-size:.64rem !important; letter-spacing:.02em; color:#7d6b58 !important; position:relative; z-index:1; min-width:0; white-space:normal !important; }
.cp-shell .porcao-reserva-form .prf-guia-pill .prf-guia-ic{ width:28px !important; height:28px !important; border:2px solid #4a3d31 !important; background:#0c0806 !important; color:#7d6b58 !important; font-size:.78rem !important; font-weight:700; }
.cp-shell .porcao-reserva-form .prf-guia-pill .prf-guia-ic::before{ counter-increment:prfstep; content:counter(prfstep); }
.cp-shell .porcao-reserva-form .prf-guia-pill.done .prf-guia-ic{ border-color:#c8a24b !important; background:#c8a24b !important; color:#140d0a !important; }
.cp-shell .porcao-reserva-form .prf-guia-pill.done .prf-guia-ic::before{ content:"✓"; }
.cp-shell .porcao-reserva-form .prf-guia-pill.now .prf-guia-ic{ border-color:#c8a24b !important; color:#c8a24b !important; background:#1a120d !important; box-shadow:0 0 0 4px rgba(200,162,75,.15); }
.cp-shell .porcao-reserva-form .prf-guia-pill.now{ color:#f3ece4 !important; }
.cp-shell .porcao-reserva-form .prf-guia-pill.done{ color:#c8a24b !important; }
.cp-shell .porcao-reserva-form .prf-guia-hint{ grid-column:1 / -1; text-align:center; margin-top:12px !important; }
/* ══════ FIM TRILHA-CONFIG-2026-07-22 ══════ */

/* ══════ CONTA-DROPDOWN-2026-07-22 · menu da conta como dropdown no mobile (substitui as tabs) ══════ */
@media (max-width:768px){
  .woocommerce-account .woocommerce-MyAccount-navigation{ margin:0 0 1.2rem !important; position:relative; }
  .porcao-acct-toggle{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.9rem 1.1rem; background:var(--cp-bg-2,#141210); border:1px solid var(--cp-line-soft,rgba(238,174,79,.2)); border-radius:12px; color:var(--cp-cream,#f7e8cc); font-family:var(--cp-font-d,'Anton',sans-serif); text-transform:uppercase; font-size:1rem; letter-spacing:.02em; cursor:pointer; }
  .porcao-acct-toggle svg{ width:18px; height:18px; transition:transform .2s ease; color:var(--cp-gold,#eeae4f); flex-shrink:0; }
  .porcao-acct-toggle[aria-expanded="true"] svg{ transform:rotate(180deg); }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{ display:block !important; flex-wrap:initial !important; overflow:visible !important; margin:.4rem 0 0 !important; padding:.4rem !important; border:1px solid var(--cp-line-soft,rgba(238,174,79,.2)) !important; border-radius:12px !important; background:var(--cp-bg,#0b0705) !important; list-style:none; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul[hidden]{ display:none !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation li{ flex:initial !important; margin:0 !important; border:0 !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block !important; white-space:normal !important; padding:.8rem .9rem !important; border-radius:8px !important; color:var(--cp-cream-dim,#c9b48f) !important; text-decoration:none; font-size:.95rem; border:0 !important; background:transparent !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:rgba(238,174,79,.12) !important; color:var(--cp-gold-hi,#f6c979) !important; font-weight:700; }
}
/* ══════ FIM CONTA-DROPDOWN-2026-07-22 ══════ */

/* ══════ ESTEVAO-2026-07-22 · PDP: DP antes do form + Reservar como CTA principal ══════ */
.single-product .porcao-reserva-form button.prf-add.button.alt{ width:100% !important; background-image:linear-gradient(135deg,#f6c979,#eeae4f) !important; background-color:#eeae4f !important; color:#0b0705 !important; box-shadow:0 10px 26px rgba(238,174,79,.28) !important; font-size:1.12rem !important; padding:17px !important; border:0 !important; }
.single-product .porcao-reserva-form .prf-add:hover{ filter:brightness(1.05); }
.single-product .prf-dp-offer .dpais-mini__cta{ background:transparent !important; background-image:none !important; color:#f6c979 !important; border:1px solid rgba(238,174,79,.55) !important; box-shadow:none !important; font-weight:600; }
.single-product .prf-dp-offer .dpais-mini__cta:hover{ background:rgba(238,174,79,.10) !important; }
/* ══════ FIM ESTEVAO-2026-07-22 ══════ */

/* ══════ ESTEVAO-2026-07-22 · dobra Kits no padrao do Emporio ══════ */
/* o wrapper antigo (.porcao-caixas) era um carrossel flex de .cp-prod; o markup novo e o
   card do Emporio (.emp-home), entao a dobra usa .porcao-kits e herda o layout do Emporio. */
.cp-shell .omni-kits__grid{ display:block; }
.cp-shell .porcao-kits{ margin-top:clamp(2rem,3.5vw,3rem); }
.cp-shell .porcao-kits .emp-home__nota{ margin:1.4rem 0 0; font-size:.92rem; color:var(--cp-cream-dim,#c9b48f); }
.cp-shell .porcao-kits .emp-home__nota a{ color:var(--cp-gold-hi,#f6c979); }
/* ══════ FIM ══════ */

/* [2026-07-24] checkout: nas etapas iniciais (sem resumo) o form vira 1 coluna centralizada; na revisao volta a 2 colunas */
body.woocommerce-checkout form.checkout.porcao-steps:not(.is-review){ display:block !important; max-width:600px; margin-inline:auto; }

/* ═══════════ DP-CARD-CENTRADO-2026-07-24 · Rodrigo escolheu a variante "card centrado" ═══════════
   Consolida o destaque Dia dos Pais num card compacto e centralizado, matando o vao morto do desktop.
   Vence os blocos anteriores (base grid ~1985 + SLIM ~2139 + DP-COMPOSICAO ~2891) por ordem + !important.
   Markup/conteudo do shortcode porcao_sc_diadospais intactos. */
.cp-shell .dpais-mini{
  display:flex!important; flex-direction:column!important; align-items:center!important; text-align:center!important;
  grid-template-columns:none!important;
  max-width:clamp(360px,56vw,520px)!important; margin-left:auto!important; margin-right:auto!important;
  padding:clamp(1.5rem,3vw,2.1rem) clamp(1.4rem,3vw,2rem)!important; gap:1.05rem!important;
}
.cp-shell .dpais-mini__stub{ flex-direction:column!important; align-items:center!important; gap:.55rem!important; text-align:center!important; }
.cp-shell .dpais-mini__stub-txt{ align-items:center!important; text-align:center!important; }
.cp-shell .dpais-mini__seal{ width:56px!important; height:56px!important; }
.cp-shell .dpais-mini__lots{ display:flex!important; gap:.8rem!important; justify-content:center!important; width:100%!important; }
.cp-shell .dpais-mini__lot{ flex:1 1 0!important; min-width:128px!important; }
.cp-shell .dpais-mini__cta{ width:100%!important; max-width:300px!important; margin:.2rem auto 0!important; justify-self:center!important; }
@media (max-width:480px){
  .cp-shell .dpais-mini__lots{ flex-direction:column!important; }
  .cp-shell .dpais-mini__lot{ width:100%!important; }
}

/* [2026-07-24 CK-CLUBECART] seletor dos 3 perfis do Clube no carrinho/checkout */
.porcao-clube-tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:0.6rem; margin-top:0.75rem; }
.porcao-clube-tier{ display:flex; flex-direction:column; align-items:flex-start; gap:0.25rem; padding:0.85rem 0.9rem; border-radius:var(--cp-r,14px); border:1px solid var(--cp-line-soft,rgba(238,174,79,0.14)); background:var(--cp-bg-3,#1a1410); }
.porcao-clube-tier--feat{ border-color:var(--cp-gold,#eeae4f); }
.porcao-clube-tier__flag{ font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:700; font-size:0.6rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--cp-gold,#eeae4f); }
.porcao-clube-tier__name{ font-family:var(--cp-font-b,'Figtree',sans-serif); font-weight:700; font-size:0.95rem; color:var(--cp-cream,#f7e8cc); }
.porcao-clube-tier__price{ font-size:0.9rem; color:var(--cp-gold-hi,#f6c979); font-weight:700; }
.porcao-clube-tier__price .amount{ color:var(--cp-gold-hi,#f6c979); }
.porcao-clube-tier__cash{ font-size:0.78rem; color:var(--cp-cream,#f7e8cc); opacity:0.85; line-height:1.3; margin-bottom:0.35rem; }
.porcao-clube-tier .porcao-clube-note__cta{ margin-top:auto; }
@media (max-width:600px){ .porcao-clube-tiers{ grid-template-columns:1fr; } }

/* [2026-07-24 CK-EMBRULHO] Caixa Presente no carrinho (stepper + botao) */
/* ── Upsell compacto (Caixa Presente / Kit Corporativo): oferta enxuta que expande no clique ── */
/* margin-top em todos (não :first-of-type — o upsell não é o 1º filho do form): respiro consistente
   do cupom acima e entre os dois cards, sem ficar grudado. */
body.woocommerce-cart .porcao-upsell{ margin:1.1rem 0 0; padding:0; border:1px solid var(--cp-line-soft,rgba(238,174,79,.14)); border-radius:var(--cp-r,14px); background:var(--cp-bg-2,#141210); overflow:hidden; }
body.woocommerce-cart .porcao-upsell__head{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1.1rem; background:transparent; border:0; cursor:pointer; text-align:left; color:var(--cp-cream,#f7e8cc); font-family:inherit; }
body.woocommerce-cart .porcao-upsell__head:hover{ background:rgba(238,174,79,.04); }
body.woocommerce-cart .porcao-upsell__lead{ display:flex; flex-direction:column; gap:.18rem; min-width:0; }
body.woocommerce-cart .porcao-upsell__eyebrow{ font-family:var(--cp-font-b); font-weight:700; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cp-gold,#eeae4f); }
body.woocommerce-cart .porcao-upsell__txt{ font-size:.88rem; color:var(--cp-cream-dim,#c9b48f); line-height:1.35; }
body.woocommerce-cart .porcao-upsell__txt strong{ color:var(--cp-cream,#f7e8cc); font-weight:700; }
body.woocommerce-cart .porcao-upsell__chev{ flex:0 0 auto; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--cp-line,rgba(238,174,79,.3)); color:var(--cp-gold,#eeae4f); transition:transform .28s var(--cp-ease,cubic-bezier(.16,1,.3,1)), background .2s ease; }
body.woocommerce-cart .porcao-upsell__chev svg{ width:15px; height:15px; }
body.woocommerce-cart .porcao-upsell.is-open .porcao-upsell__chev{ transform:rotate(180deg); background:rgba(238,174,79,.1); }
body.woocommerce-cart .porcao-upsell__cfg{ padding:.2rem 1.1rem 1.05rem; }
body.woocommerce-cart .porcao-upsell__cfg[hidden]{ display:none; }
.porcao-embrulho__ctrl{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-top:.5rem; }
.porcao-embrulho__step{ display:inline-flex; align-items:center; border:1px solid var(--cp-line-soft,rgba(238,174,79,.14)); border-radius:999px; overflow:hidden; }
.porcao-embrulho__step button{ width:34px; height:38px; background:transparent; border:0; color:var(--cp-gold,#eeae4f); font-size:1.1rem; line-height:1; cursor:pointer; }
.porcao-embrulho__step button:hover{ color:var(--cp-gold-hi,#f6c979); }
.porcao-embrulho__qty{ width:46px; height:38px; text-align:center; background:transparent; border:0; color:var(--cp-cream,#f7e8cc); font-size:1rem; -moz-appearance:textfield; }
.porcao-embrulho__qty::-webkit-outer-spin-button,.porcao-embrulho__qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
/* [2026-07-24 CK-KITCORP] controle do kit corporativo no carrinho */
.porcao-kit-corp__ctrl{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.5rem}
.porcao-kit-corp__on{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;color:var(--cp-cream,#f7e8cc);font-size:.92rem;cursor:pointer}
.porcao-kit-corp__qty{display:inline-flex;align-items:center;gap:6px;color:var(--cp-cream-dim,#c9b48f);font-size:.9rem}
.porcao-kit-n{width:64px;text-align:center;-moz-appearance:textfield}
.porcao-kit-n::-webkit-outer-spin-button,.porcao-kit-n::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.porcao-kit-qtd{font-size:.9rem;color:var(--cp-cream-dim,#c9b48f)}
/* [2026-07-24 RG-BOLOSITE] botoes dos 2 tamanhos de bolo no carrinho */
.porcao-bolo__ops{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.porcao-bolo__ops .porcao-clube-note__cta{flex:1 1 auto}

/* ══════════════════════════════════════════════════════════════════════════
   REDESIGN CHECKOUT + CARRINHO — 2026-07-28 (acordeão + MP dark + carrinho)
   Bloco no FIM do arquivo de propósito: cascata vence os blocos CHECKOUT/CART
   anteriores sem editá-los. Casa com porcao-checkout-etapas.php v2 (acordeão)
   e porcao-cart-ux.php. Tokens --cp-* já declarados no body destas páginas.
   ══════════════════════════════════════════════════════════════════════════ */

/* ─── A. CHECKOUT: limpar os wrappers vazios do Woo ───────────────────────
   Os .form-row de billing/entrega migraram pros cards do acordeão. Os wrappers
   originais (.woocommerce-billing-fields etc.) ficariam como CAIXAS CINZA VAZIAS
   (era o "box vazio" do print). Neutraliza-os. */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
  background:transparent!important; border:0!important; padding:0!important; margin:0!important;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #customer_details > .col-1 > .woocommerce-billing-fields__field-wrapper:empty{ display:none!important; }
/* o heading do resumo à direita mantém "Seu pedido" (não é mais escondido em desktop) */
@media (min-width:901px){ body.woocommerce-checkout form.porcao-acc #order_review_heading{ display:block!important; } }

/* ─── B. MERCADO PAGO: form de cartão dark nativo (classes REAIS do plugin v8) ───
   Wrapper #mp-checkout-custom-root.mp-checkout-container > .mp-checkout-custom-container
   (a caixa branca). Prefixo #payment (id) pra VENCER o empate de especificidade/ordem
   com o CSS do plugin (que usa .mp-checkout-container .mp-* ...!important e carrega depois).
   Campos PCI (número/validade/CVV) são iframes → container vira chip CREME (texto legível). */
/* a "casca" ganha superfície dark da casa */
body.woocommerce-checkout #payment .mp-checkout-custom-container{
  background:var(--cp-bg-2)!important; background-color:var(--cp-bg-2)!important;
  border:1px solid var(--cp-line-soft)!important; border-radius:var(--cp-r)!important;
  padding:1.15rem!important; box-shadow:none!important; color:var(--cp-cream)!important;
}
/* superfícies internas transparentes (herdam o dark da casca) */
body.woocommerce-checkout #payment .mp-checkout-container,
body.woocommerce-checkout #payment #mp-checkout-custom-root,
body.woocommerce-checkout #payment #mp-custom-checkout-form-container,
body.woocommerce-checkout #payment .mp-checkout-custom-card-form,
body.woocommerce-checkout #payment .mp-checkout-custom-card-row,
body.woocommerce-checkout #payment .mp-checkout-custom-card-column,
body.woocommerce-checkout #payment .mp-checkout-custom-input-document,
body.woocommerce-checkout #payment .mp-input,
body.woocommerce-checkout #payment .mp-input-document,
body.woocommerce-checkout #payment #mp-checkout-custom-installments-card,
body.woocommerce-checkout #payment .mp-checkout-custom-installments-container,
body.woocommerce-checkout #payment .mp-checkout-custom-installments-select-container,
body.woocommerce-checkout #payment .mp-checkout-custom-issuers-container,
body.woocommerce-checkout #payment .mp-checkout-custom-card-flags,
body.woocommerce-checkout #payment .mp-checkout-custom-security-code-tooltip,
body.woocommerce-checkout #payment .mp-wallet-button-container-wrapper,
body.woocommerce-checkout #payment .mp-wallet-button-container,
body.woocommerce-checkout #payment .mp-privacy-policy-footer,
body.woocommerce-checkout #payment #mp-checkout-pix-root,
body.woocommerce-checkout #payment .mp-checkout-pix-container,
body.woocommerce-checkout #payment .mp-checkout-pix-test-mode,
body.woocommerce-checkout #payment .mp-pix-template-container,
body.woocommerce-checkout #payment .mp-checkout-pix-terms-and-conditions,
body.woocommerce-checkout #payment .mp-terms-and-conditions-container,
body.woocommerce-checkout #payment .mp-checkout-custom-load{
  background:transparent!important; background-color:transparent!important;
  box-shadow:none!important; border-color:var(--cp-line-soft)!important;
}
/* textos/labels/títulos → creme */
body.woocommerce-checkout #payment .mp-checkout-custom-container span,
body.woocommerce-checkout #payment .mp-checkout-custom-container p,
body.woocommerce-checkout #payment .mp-checkout-custom-container label,
body.woocommerce-checkout #payment .mp-checkout-custom-container h1,
body.woocommerce-checkout #payment .mp-checkout-custom-container h2,
body.woocommerce-checkout #payment .mp-input-label,
body.woocommerce-checkout #payment .mp-installments-tax-info,
body.woocommerce-checkout #payment .mp-wallet-button-title{ color:var(--cp-cream-dim)!important; }
/* selects (parcelas, emissor, tipo de doc) → dark com borda dourada */
body.woocommerce-checkout #payment #form-checkout__identificationType,
body.woocommerce-checkout #payment #form-checkout__issuer,
body.woocommerce-checkout #payment #form-checkout__installments,
body.woocommerce-checkout #payment .mp-custom-checkout-select-input,
body.woocommerce-checkout #payment .mp-input-select-input{
  background:var(--cp-bg)!important; background-color:var(--cp-bg)!important; color:var(--cp-cream)!important;
  border:1px solid var(--cp-line-soft)!important; border-radius:var(--cp-rsm)!important; min-height:44px!important;
}
/* TODOS os campos de texto (3 iframes PCI + nome + CPF) → mesmo chip CREME, uniforme.
   Nos inputs reais o texto precisa ser ESCURO (chip claro), não creme. */
body.woocommerce-checkout #payment #form-checkout__cardNumber-container,
body.woocommerce-checkout #payment #form-checkout__expirationDate-container,
body.woocommerce-checkout #payment #form-checkout__securityCode-container,
body.woocommerce-checkout #payment input#form-checkout__cardholderName,
body.woocommerce-checkout #payment input.mp-document,
body.woocommerce-checkout #payment input#form-checkout__identificationNumber{
  background:#f4ecdd!important; background-color:#f4ecdd!important;
  border:1px solid var(--cp-line)!important; border-radius:var(--cp-rsm)!important; min-height:46px!important;
}
body.woocommerce-checkout #payment input#form-checkout__cardholderName,
body.woocommerce-checkout #payment input.mp-document,
body.woocommerce-checkout #payment input#form-checkout__identificationNumber{
  color:#221a10!important; padding:0 .85rem!important;
}
body.woocommerce-checkout #payment input#form-checkout__cardholderName::placeholder,
body.woocommerce-checkout #payment input.mp-document::placeholder{ color:#8a7a5f!important; opacity:1; }
/* box "Modo Teste" (custom element <test-mode> > .mp-test-mode-card) no tom da casa */
body.woocommerce-checkout #payment .mp-test-mode-card{
  background:rgba(238,174,79,.09)!important; background-color:rgba(238,174,79,.09)!important;
  border:1px solid var(--cp-line-soft)!important; border-left:3px solid var(--cp-gold)!important;
  border-radius:var(--cp-rsm)!important;
}
body.woocommerce-checkout #payment .mp-test-mode-card *{ color:var(--cp-cream)!important; }
body.woocommerce-checkout #payment .mp-test-mode-badge{ background:var(--cp-gold)!important; color:var(--cp-bg)!important; }
body.woocommerce-checkout #payment .mp-privacy-policy-footer,
body.woocommerce-checkout #payment .mp-privacy-policy-footer *{ color:var(--cp-cream-dim)!important; }

/* ─── B2. WALLET "pague com um toque" + PIX: textos que ficavam pretos no dark ───
   Ancorado com DOIS ids (#payment #mp-checkout-*-root) pra vencer as regras do
   plugin/Andes que também usam 1 id + !important e carregam depois. */
/* wallet: bloco quick-pay legível */
body.woocommerce-checkout #payment #mp-checkout-custom-root .mp-wallet-button-container-wrapper{
  border:1px solid var(--cp-line-soft)!important; border-radius:var(--cp-rsm)!important;
  padding:1rem 1.1rem!important; margin:0 0 1rem!important; background:rgba(238,174,79,.04)!important;
}
body.woocommerce-checkout #payment #mp-checkout-custom-root .mp-wallet-button-title,
body.woocommerce-checkout #payment #mp-checkout-custom-root .mp-wallet-button-title *{
  color:var(--cp-cream)!important; font-weight:600!important;
}
body.woocommerce-checkout #payment #mp-checkout-custom-root .mp-privacy-policy-footer,
body.woocommerce-checkout #payment #mp-checkout-custom-root .mp-privacy-policy-footer span{ color:var(--cp-cream-dim)!important; }
body.woocommerce-checkout #payment #mp-checkout-custom-root .mp-privacy-policy-footer a{ color:var(--cp-gold)!important; text-decoration:underline; }
/* pix: título/subtítulo/termos legíveis + caixa branca interna neutralizada */
body.woocommerce-checkout #payment #mp-checkout-pix-root .mp-pix-template-container{ background:transparent!important; text-align:center; }
body.woocommerce-checkout #payment #mp-checkout-pix-root .mp-pix-template-title{ color:var(--cp-cream)!important; font-weight:700!important; }
body.woocommerce-checkout #payment #mp-checkout-pix-root .mp-pix-template-subtitle,
body.woocommerce-checkout #payment #mp-checkout-pix-root .mp-terms-and-conditions-text{ color:var(--cp-cream-dim)!important; }
body.woocommerce-checkout #payment #mp-checkout-pix-root .mp-terms-and-conditions-link{ color:var(--cp-gold)!important; text-decoration:underline; }
body.woocommerce-checkout #payment #mp-checkout-pix-root .mp-pix-template-image{ height:40px; width:auto; margin:0 auto .4rem; display:block; }

/* ─── B3. MICROCOPY DE SEGURANÇA acima dos métodos (injetado pelo acordeão) ──── */
body.woocommerce-checkout .porcao-pay-trust{
  display:flex; align-items:flex-start; gap:.7rem;
  background:rgba(238,174,79,.045); border:1px solid var(--cp-line-soft); border-left:3px solid var(--cp-gold);
  border-radius:var(--cp-rsm); padding:.9rem 1.05rem; margin:0 0 1rem;
}
body.woocommerce-checkout .porcao-pay-trust__ico{ flex:0 0 auto; color:var(--cp-gold); margin-top:.1rem; }
body.woocommerce-checkout .porcao-pay-trust__ico svg{ width:22px; height:22px; display:block; }
body.woocommerce-checkout .porcao-pay-trust__txt{ display:flex; flex-direction:column; gap:.25rem; min-width:0; }
body.woocommerce-checkout .porcao-pay-trust__t{ font-family:var(--cp-font-b); font-weight:700; color:var(--cp-cream); font-size:.9rem; }
body.woocommerce-checkout .porcao-pay-trust__d{ font-family:var(--cp-font-b); color:var(--cp-cream-dim); font-size:.8rem; line-height:1.5; }
body.woocommerce-checkout .porcao-pay-trust__chips{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.4rem; }
body.woocommerce-checkout .porcao-pay-trust__chip{
  display:inline-flex; align-items:center; gap:.35rem; font-family:var(--cp-font-b); font-size:.72rem; font-weight:600;
  color:var(--cp-cream-dim); background:var(--cp-bg); border:1px solid var(--cp-line-soft);
  border-radius:999px; padding:.3rem .65rem; white-space:nowrap;
}
body.woocommerce-checkout .porcao-pay-trust__chip svg{ width:13px; height:13px; flex:0 0 13px; color:var(--cp-gold); }

/* ─── C. CARRINHO: grupos por origem, sub-linhas, urgência, trust, vazio ──── */
/* cabeçalho de grupo por origem (injetado por porcao-cart-ux.php) */
body.woocommerce-cart .porcao-cart-group{
  font-family:var(--cp-font-b); font-size:.72rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--cp-gold); padding:1.4rem 0 .3rem;
}
body.woocommerce-cart tr.porcao-cart-group-row td{ border-bottom:0!important; padding:1.3rem 0 .2rem!important; }
body.woocommerce-cart tr.porcao-cart-group-row:first-child td{ padding-top:0!important; }
/* sub-linhas de detalhe do item (voucher datado: data/turno/pessoas) */
body.woocommerce-cart td.product-name .porcao-item-meta,
body.woocommerce-cart td.product-name dl.variation{
  margin:.35rem 0 0; font-size:.8rem; color:var(--cp-cream-dim); line-height:1.5;
}
body.woocommerce-cart td.product-name dl.variation dt{ font-weight:600; float:left; margin-right:.35rem; clear:left; }
body.woocommerce-cart td.product-name dl.variation dd{ margin:0; }
/* banner de urgência (voucher não reservado) */
body.woocommerce-cart .porcao-cart-urgency{
  display:flex; align-items:center; gap:.6rem; margin:0 0 1.4rem;
  background:rgba(168,0,0,.08); border:1px solid rgba(168,0,0,.3); border-left:3px solid var(--cp-red);
  border-radius:var(--cp-rsm); padding:.85rem 1.1rem; color:var(--cp-cream); font-size:.86rem; line-height:1.45;
}
body.woocommerce-cart .porcao-cart-urgency svg{ width:18px; height:18px; flex:0 0 18px; color:var(--cp-red); }
/* total dentro do CTA + trust abaixo (injetado por porcao-cart-ux.php) */
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button .porcao-cta-total{ font-weight:800; margin-left:.5rem; opacity:.95; }
body.woocommerce-cart .porcao-cart-trust{
  display:flex; flex-direction:column; gap:.55rem; margin-top:1.1rem; padding-top:1.1rem;
  border-top:1px solid var(--cp-line-soft);
}
body.woocommerce-cart .porcao-cart-trust__row{ display:flex; align-items:center; gap:.55rem; font-size:.78rem; color:var(--cp-cream-dim); }
body.woocommerce-cart .porcao-cart-trust__row svg{ width:15px; height:15px; flex:0 0 15px; color:var(--cp-gold); }
body.woocommerce-cart .porcao-cart-flags{ display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.2rem; }
body.woocommerce-cart .porcao-cart-flags img{ height:22px; width:auto; border-radius:3px; }
/* FIX carrinho (29/07): o tema Groser flutuava .wc-proceed-to-checkout à direita → o bloco de
   trust (injetado logo depois) caía no vão de ~37px que sobrava, quebrando palavra por linha, e o
   botão flutuado sobrepunha o texto. Tira o float, limpa e força largura total. */
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{ float:none!important; clear:both!important; width:100%!important; }
body.woocommerce-cart .cart_totals .porcao-cart-trust{ clear:both; width:100%; }
/* carrinho vazio de marca */
body.woocommerce-cart .cart-empty.woocommerce-info{
  text-align:center; font-size:1.05rem; color:var(--cp-cream);
  background:var(--cp-bg-2)!important; border:1px solid var(--cp-line-soft)!important; border-top:2px solid var(--cp-gold)!important;
  padding:2.4rem 1.5rem!important;
}
body.woocommerce-cart .cart-empty.woocommerce-info::before{ display:none!important; }
body.woocommerce-cart .return-to-shop{ text-align:center; margin-top:1.2rem; }
body.woocommerce-cart .return-to-shop .button{ display:inline-flex!important; width:auto!important; }

/* ═════════ OFERTAS SEMANAIS PORCÃO - /ofertas-semanais-porcao/ ═════════
   A seleção vem da categoria WooCommerce `ofertas-semanais`. O escopo .cp-shell
   preserva a página e os cards sem alterar as vitrines de delivery existentes. */
.cp-shell .ofsw-product-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.8rem,1.8vw,1.25rem);
}
.cp-shell .ofsw-card{
  position:relative; min-width:0; min-height:218px; display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,38%);
  overflow:hidden; background:var(--cp-bg-2,#141210); border:1px solid rgba(238,174,79,.34);
  border-radius:var(--cp-r,14px); transition:border-color .22s ease,transform .22s ease;
}
.cp-shell .ofsw-card::after{ content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#a80000; pointer-events:none; }
.cp-shell .ofsw-card:hover{ border-color:#eeae4f; transform:translateY(-2px); }
.cp-shell .ofsw-card__copy{ min-width:0; display:flex; flex-direction:column; justify-content:center; padding:clamp(1rem,2.2vw,1.55rem); }
.cp-shell .ofsw-card__world{
  align-self:flex-start; margin-bottom:.48rem; color:#eeae4f; font-size:.62rem; font-weight:800;
  letter-spacing:.12em; line-height:1; text-transform:uppercase;
}
.cp-shell .ofsw-card__sale{
  align-self:flex-start; margin-bottom:.72rem; padding:.36rem .66rem; border-radius:5px;
  background:#a80000; color:#f7e8cc; font-size:.7rem; font-weight:900;
  letter-spacing:.08em; line-height:1; text-transform:uppercase;
}
.cp-shell .ofsw-card__name{
  margin:0; color:var(--cp-cream,#f7e8cc); font-family:var(--cp-font-d,'Anton');
  font-size:clamp(1.28rem,1.06rem + .55vw,1.72rem); font-weight:400; line-height:1.05; text-transform:uppercase;
}
.cp-shell .ofsw-card__desc{ margin:.62rem 0 0; color:var(--cp-cream-dim,#c9b48f); font-size:.86rem; line-height:1.48; }
.cp-shell .ofsw-card__foot{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.72rem; margin-top:auto; padding-top:1.05rem; }
.cp-shell .ofsw-card__price{ display:flex; flex-direction:column; gap:.24rem; line-height:1; }
.cp-shell .ofsw-price__from{ color:#c9b48f; font-size:.68rem; font-weight:650; text-transform:uppercase; }
.cp-shell .ofsw-price__from del{ margin-left:.18rem; font-size:.82rem; }
.cp-shell .ofsw-price__to{ color:#eeae4f; font-family:var(--cp-font-d,'Anton'); font-size:1.62rem; font-weight:400; }
.cp-shell .ofsw-price__to small{ color:#f7e8cc; font-family:var(--cp-font-b,'Figtree'); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.cp-shell .ofsw-card__cta{
  display:inline-flex; align-items:center; justify-content:center; width:auto!important; min-width:112px; height:auto!important; min-height:38px; padding:.58rem .82rem!important; border:0; border-radius:8px;
  background:var(--cp-red,#a80000); color:var(--cp-cream,#f7e8cc); font-family:var(--cp-font-b,'Figtree');
  font-size:.78rem; font-weight:750; line-height:1.1; white-space:nowrap; cursor:pointer; transition:background .2s ease,transform .2s ease;
}
.cp-shell .ofsw-card__cta.woosq-btn::before{ content:none; }
.cp-shell .ofsw-card__cta:hover,.cp-shell .ofsw-card__cta:focus-visible{ background:#a80000; color:var(--cp-cream,#f7e8cc); transform:translateY(-1px); }
.cp-shell .ofsw-card__media.woosq-btn{
  display:block!important; width:100%!important; min-width:0!important; max-width:none!important; height:100%!important; min-height:100%!important;
  padding:0!important; border:0!important; border-radius:0!important; background:#17120d; font-size:0!important; cursor:pointer; overflow:hidden;
}
.cp-shell .ofsw-card__media.woosq-btn::before{ content:none; }
.cp-shell .ofsw-card__media img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s var(--cp-ease,cubic-bezier(.16,1,.3,1)); }
.cp-shell .ofsw-card:hover .ofsw-card__media img{ transform:scale(1.035); }

.cp-shell .ofsw-emp-section{
  margin-top:clamp(3.6rem,8vw,6.5rem); padding-top:clamp(2.4rem,5vw,4rem); border-top:1px solid rgba(238,174,79,.28); scroll-margin-top:96px;
}
.cp-shell .ofsw-section-head{ max-width:760px; margin-bottom:clamp(1.3rem,3vw,2rem); }
.cp-shell .ofsw-section-head > span{ color:#eeae4f; font-size:.7rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.cp-shell .ofsw-section-head h2{ margin:.45rem 0 0; color:#f7e8cc; font-family:var(--cp-font-d,'Anton'); font-size:clamp(2.2rem,1.5rem + 3vw,4.5rem); font-weight:400; line-height:.96; text-transform:uppercase; }
.cp-shell .ofsw-section-head p{ max-width:58ch; margin:.8rem 0 0; color:#c9b48f; line-height:1.58; }
.cp-shell .ofsw-section-cta{ display:inline-flex; align-items:center; gap:.55rem; margin-top:1.25rem; padding:.82rem 1.08rem; border:1px solid #eeae4f; border-radius:8px; color:#eeae4f; font-weight:800; text-decoration:none; }
.cp-shell .ofsw-section-cta:hover,.cp-shell .ofsw-section-cta:focus-visible{ background:#eeae4f; color:#070707; }
.cp-shell .ofsw-section-cta svg{ width:17px; height:17px; }

.cp-shell .ofsw-voucher-list{ display:grid; gap:1rem; }
.cp-shell .ofsw-voucher{
  display:grid; grid-template-columns:minmax(280px,44%) minmax(0,1fr); min-height:340px; overflow:hidden;
  border:1px solid #a80000; border-radius:var(--cp-r,14px); background:linear-gradient(135deg,#17120d,#141210 62%);
}
.cp-shell .ofsw-voucher__media{ display:block; min-width:0; overflow:hidden; background:#17120d; }
.cp-shell .ofsw-voucher__media img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--cp-ease,cubic-bezier(.16,1,.3,1)); }
.cp-shell .ofsw-voucher:hover .ofsw-voucher__media img{ transform:scale(1.025); }
.cp-shell .ofsw-voucher__copy{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(1.5rem,4vw,3.2rem); }
.cp-shell .ofsw-voucher__label{ padding:.4rem .65rem; border-radius:5px; background:#a80000; color:#f7e8cc; font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.cp-shell .ofsw-voucher__name{ margin:.52rem 0 0; color:var(--cp-cream,#f7e8cc); font-family:var(--cp-font-d,'Anton'); font-size:clamp(2rem,1.55rem + 1.35vw,3.15rem); font-weight:400; line-height:1; text-transform:uppercase; }
.cp-shell .ofsw-voucher__desc{ max-width:46ch; margin:.85rem 0 0; color:var(--cp-cream-dim,#c9b48f); line-height:1.6; }
.cp-shell .ofsw-voucher__price{ margin:1.25rem 0 0; line-height:1; }
.cp-shell .ofsw-voucher__price span{ display:block; margin-bottom:.34rem; color:#c9b48f; font-size:.72rem; font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.cp-shell .ofsw-voucher__price strong{ color:#eeae4f; font-family:var(--cp-font-d,'Anton'); font-size:2rem; font-weight:400; }
.cp-shell .ofsw-voucher__price strong small{ color:#f7e8cc; font-family:var(--cp-font-b,'Figtree'); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.cp-shell .ofsw-voucher__coupon{ display:flex; align-items:center; gap:.48rem; margin-top:1rem; padding:.62rem .72rem; border:1px dashed #eeae4f; border-radius:7px; color:#c9b48f; font-size:.72rem; text-transform:uppercase; }
.cp-shell .ofsw-voucher__coupon strong{ padding:.28rem .48rem; border-radius:4px; background:#f7e8cc; color:#070707; font-size:.86rem; letter-spacing:.08em; }
.cp-shell .ofsw-voucher__coupon small{ color:#eeae4f; font-size:.62rem; font-weight:800; }
.cp-shell .ofsw-voucher__cta{
  display:inline-flex; align-items:center; gap:.5rem; margin-top:1.3rem; padding:.78rem 1.05rem; border-radius:8px;
  background:var(--cp-red,#a80000); color:var(--cp-cream,#f7e8cc); font-weight:750; text-decoration:none;
}
.cp-shell .ofsw-voucher__cta:hover,.cp-shell .ofsw-voucher__cta:focus-visible{ background:#a80000; color:var(--cp-cream,#f7e8cc); }
.cp-shell .ofsw-voucher__cta svg{ width:17px; height:17px; }
.cp-shell .ofsw-empty{ padding:2.2rem; border:1px solid var(--cp-line-soft,rgba(238,174,79,.14)); border-radius:14px; text-align:center; background:var(--cp-bg-2,#141210); }
.cp-shell .ofsw-empty p{ margin:0 0 .8rem; color:var(--cp-cream,#f7e8cc); }
.cp-shell .ofsw-empty a{ color:var(--cp-gold,#eeae4f); font-weight:700; }

@media(max-width:900px){
  .cp-shell .ofsw-product-grid{ grid-template-columns:minmax(0,1fr); }
}
@media(max-width:640px){
  .cp-shell .ofsw-card{ min-height:0; grid-template-columns:minmax(0,1fr) 118px; }
  .cp-shell .ofsw-card__copy{ padding:1rem; }
  .cp-shell .ofsw-card__desc{ font-size:.8rem; }
  .cp-shell .ofsw-card__foot{ align-items:flex-start; flex-direction:column; }
  .cp-shell .ofsw-card__cta{ width:100%!important; }
  .cp-shell .ofsw-voucher{ grid-template-columns:1fr; min-height:0; }
  .cp-shell .ofsw-voucher__media{ aspect-ratio:16/10; }
  .cp-shell .ofsw-voucher__copy{ padding:1.35rem; }
}
@media(prefers-reduced-motion:reduce){
  .cp-shell .ofsw-card,.cp-shell .ofsw-card__media img,.cp-shell .ofsw-voucher__media img{ transition:none; }
}

/* Acabamento do documento Elementor v4 da página de ofertas. Layout e tokens
   principais permanecem editáveis no Elementor; aqui ficam estados e divisores
   que precisam conversar com o shortcode WooCommerce. */
.s-ofertas-root{ box-sizing:border-box; overflow:hidden; }
.s-ofertas-delivery,.s-ofertas-vouchers,#ofertas-emporio{ scroll-margin-top:96px; }
.s-ofertas-hero-inner{ position:relative; }
.s-ofertas-hero-inner::after{
  content:"ATÉ\A 20% OFF"; position:absolute; z-index:4; top:34px; right:20px; display:flex; align-items:center; justify-content:center;
  width:112px; aspect-ratio:1; border:3px solid #f7e8cc; border-radius:50%; background:#a80000; color:#f7e8cc;
  font-family:var(--cp-font-d,'Anton'); font-size:1.5rem; line-height:.9; text-align:center; white-space:pre; transform:rotate(7deg); box-shadow:0 12px 34px rgba(0,0,0,.42);
}
.s-ofertas-hero-image img,
img.s-ofertas-hero-image{ display:block; width:100%; height:100%; object-fit:cover; }
.s-ofertas-hero-actions{ flex-wrap:wrap; }
.s-ofertas-vouchers-btn,.s-ofertas-emporio-btn{ border:1px solid #eeae4f; }
.s-ofertas-emporio-btn{
  display:inline-flex!important; align-items:center; justify-content:center; padding:15px 22px!important; border-radius:8px;
  background:#17120d!important; color:#eeae4f!important; font-family:var(--cp-font-b,'Figtree'); font-size:15px; font-weight:700; line-height:1;
}
.s-ofertas-delivery-btn,.s-ofertas-emporio-btn,.s-ofertas-delivery-all,.s-ofertas-vouchers-all,
.s-ofertas-vouchers-btn{ text-decoration:none; transition:background .2s ease,color .2s ease,transform .2s ease; }
.s-ofertas-delivery-btn:hover,.s-ofertas-delivery-all:hover,.s-ofertas-vouchers-all:hover{
  background:#a80000!important; color:#f7e8cc!important; transform:translateY(-1px);
}
.s-ofertas-vouchers-btn:hover,.s-ofertas-emporio-btn:hover{ background:#eeae4f!important; color:#070707!important; transform:translateY(-1px); }
.s-ofertas-trust{ border-top:1px solid #a80000; border-bottom:1px solid #a80000; background:#17120d; }
.s-ofertas-trust-inner > * + *{ border-left:1px solid rgba(238,174,79,.18); padding-left:clamp(1.2rem,3vw,3.5rem); }
.s-ofertas-delivery-inner > .elementor-widget-shortcode,
.s-ofertas-vouchers-inner > .elementor-widget-shortcode{ width:100%; }
.s-ofertas-passo-delivery,.s-ofertas-passo-voucher,.s-ofertas-passo-checkout,
.s-ofertas-faq-semana,.s-ofertas-faq-entrega,.s-ofertas-faq-voucher{ border-top:1px solid rgba(238,174,79,.18); }
.s-ofertas-passo-checkout,.s-ofertas-faq-voucher{ border-bottom:1px solid rgba(238,174,79,.18); }

@media(max-width:767px){
  .s-ofertas-hero{ min-height:0!important; }
  .s-ofertas-hero-inner::after{ top:12px; right:8px; width:78px; border-width:2px; font-size:1.05rem; }
  .s-ofertas-trust-inner > * + *{ border-left:0; padding-left:0; }
  .s-ofertas-trust-inner > * + *::before{ content:""; display:block; width:42px; height:1px; margin:0 0 9px; background:rgba(238,174,79,.34); }
  .s-ofertas-delivery-btn,.s-ofertas-emporio-btn,.s-ofertas-vouchers-btn{ flex:1 1 120px; }
}

/* 2026-08-16 — revisão Estevão: menu agrupado + guia sticky de reserva (T01/T23). */
.cp-shell .cp-nav__commerce{position:relative;}
.cp-shell .cp-nav__commerce>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:inherit;font:inherit;white-space:nowrap;}
.cp-shell .cp-nav__commerce>summary::-webkit-details-marker{display:none;}
.cp-shell .cp-nav__commerce>summary::after{content:"⌄";color:#eeae4f;font-size:14px;line-height:1;transition:transform .2s ease;}
.cp-shell .cp-nav__commerce[open]>summary::after{transform:rotate(180deg);}
.cp-shell .cp-nav__commerce-menu{position:absolute;z-index:100;top:calc(100% + 16px);left:50%;min-width:210px;padding:8px;transform:translateX(-50%);border:1px solid rgba(238,174,79,.28);border-radius:10px;background:#17120d;box-shadow:0 18px 40px rgba(0,0,0,.42);}
.cp-shell .cp-nav__commerce-menu::before{content:"";position:absolute;left:0;right:0;top:-17px;height:18px;}
.cp-shell .cp-nav__commerce-menu a{display:block!important;padding:11px 13px!important;border-radius:7px;color:#f7e8cc!important;text-decoration:none;}
.cp-shell .cp-nav__commerce-menu a:hover,.cp-shell .cp-nav__commerce-menu a:focus-visible{background:rgba(238,174,79,.12);color:#eeae4f!important;outline:none;}

.single-product .vpd-reserve-guide{position:sticky;top:132px;margin-top:22px;padding:22px;border:1px solid rgba(238,174,79,.24);border-radius:12px;background:#17120d;color:#f7e8cc;box-shadow:0 18px 48px rgba(0,0,0,.22);}
.single-product .vpd-reserve-guide__kicker{display:block;margin-bottom:7px;color:#eeae4f;font:700 12px/1.2 var(--cp-font-b,'Figtree');letter-spacing:.16em;text-transform:uppercase;}
.single-product .vpd-reserve-guide h2{margin:0 0 15px;color:#f7e8cc;font:400 28px/1 var(--cp-font-d,'Anton');text-transform:uppercase;}
.single-product .vpd-reserve-guide ol{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:vpd-guide;}
.single-product .vpd-reserve-guide li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;color:#c9b48f;font-size:14px;line-height:1.45;counter-increment:vpd-guide;}
.single-product .vpd-reserve-guide li::before{content:counter(vpd-guide);display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(238,174,79,.35);border-radius:50%;color:#eeae4f;font-weight:800;}
.single-product .vpd-reserve-guide strong{display:block;margin-bottom:2px;color:#f7e8cc;}
@media(max-width:1024px){.single-product .vpd-reserve-guide{position:static;}}

/* PORCAO IOS CHECKOUT CONTRAST 2026-09-09 - INICIO
 * iOS/Safari: impede text-fill herdado escuro nos campos do fluxo de compra. */
body.woocommerce-cart #coupon_code,
body.woocommerce-checkout form.checkout input[type="text"],
body.woocommerce-checkout form.checkout input[type="email"],
body.woocommerce-checkout form.checkout input[type="tel"],
body.woocommerce-checkout form.checkout input[type="number"],
body.woocommerce-checkout form.checkout textarea{
 color:var(--cp-cream,#f7e8cc)!important;
 -webkit-text-fill-color:var(--cp-cream,#f7e8cc)!important;
 caret-color:var(--cp-gold,#eeae4f)!important;
}
body.woocommerce-cart #coupon_code::placeholder,
body.woocommerce-checkout form.checkout input::placeholder,
body.woocommerce-checkout form.checkout textarea::placeholder{
 color:var(--cp-cream-dim,#c9b48f)!important;
 -webkit-text-fill-color:var(--cp-cream-dim,#c9b48f)!important;
 opacity:.78!important;
}
/* PORCAO IOS CHECKOUT CONTRAST 2026-09-09 - FIM */
