/*
 * CH Builder Child — reskin do WooCommerce + estrutura fora do construtor.
 *
 * Carregado por inc/chb-bridge.php DEPOIS do chb-base.css do plugin (dep
 * ['chb-base']), então sobrescreve componentes sem !important. Usa só tokens
 * --chb-* (injetados por chb_brand_css()). NÃO substitui o CSS estrutural do
 * WooCommerce — só cor, raio e tipografia.
 *
 * Cole overrides específicos do projeto no fim, na seção marcada.
 */

/* Tokens locais — cores que o plugin não expõe (com fallback sensato). */
:root {
	--chb-wa: #1ec773;
	--chb-wa-dark: #15a862;
	--chb-success: #14803b;
	--chb-success-soft: #e6f7ec;
}

/* ── Sticky footer — chb-base.css não define isto; sem ele o rodapé sobe em
      páginas curtas (carrinho vazio, 404, minha conta). ── */
body.chb-site { display: flex; flex-direction: column; min-height: 100vh; }
body.chb-site .chb-main { flex: 1 0 auto; }

/* ── Página comum (page.php) ── */
.chb-page { padding-block: var(--chb-space-4, 32px); }
.chb-page__title { font-family: var(--chb-font-display); font-size: var(--chb-text-3xl, 2rem); margin: 0 0 var(--chb-space-2, 16px); }

/* ── Barra de promoção (inc/promo-bar.php) ── */
.chb-promo-bar {
	background: var(--chb-ink); color: var(--chb-paper);
	font-family: var(--chb-font-condensed, var(--chb-font)); font-size: 12.5px;
	letter-spacing: .04em; text-transform: uppercase;
}
.chb-promo-bar .chb-shell { display: flex; flex-wrap: wrap; gap: 6px 22px; justify-content: center; padding-block: 7px; }
.chb-promo-bar span { position: relative; }
.chb-promo-bar span + span::before { content: '·'; position: absolute; left: -13px; opacity: .5; }

/* ── Wrapper de loja (inc/woocommerce.php) ── */
.chb-woo { padding-block: var(--chb-space-4, 32px); }
.woocommerce-breadcrumb { font-size: 12px; letter-spacing: .5px; text-transform: uppercase; color: var(--chb-ink-mute); margin-bottom: var(--chb-space-2, 16px); }

/* ── Grade de produtos ── */
.woocommerce ul.products {
	display: grid; gap: var(--chb-space-3, 24px); margin: 0; padding: 0; list-style: none;
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 640px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 960px) { .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); } }
.woocommerce ul.products li.product {
	margin: 0; width: auto; float: none;
	background: var(--chb-paper); border: 1px solid var(--chb-line); border-radius: var(--chb-radius-lg, 16px);
	padding: var(--chb-space-2, 16px); transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover {
	box-shadow: var(--chb-shadow); transform: translateY(-3px);
	border-color: rgba(var(--chb-primary-rgb), .35);
}
.woocommerce ul.products li.product a img {
	border-radius: var(--chb-radius, 10px); aspect-ratio: 1 / 1; object-fit: cover;
	background: var(--chb-paper-alt); margin-bottom: var(--chb-space-1, 8px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--chb-font-display); font-weight: 600; font-size: var(--chb-text-sm, 14px);
	color: var(--chb-ink); padding: 0; line-height: 1.35;
}
.woocommerce ul.products li.product .price {
	color: var(--chb-primary); font-weight: 700; font-size: var(--chb-text-base, 16px);
}
.woocommerce ul.products li.product .price del { opacity: .5; font-weight: 400; font-size: var(--chb-text-sm, 13px); }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Selo de promoção */
.woocommerce span.onsale {
	background: var(--chb-accent); color: var(--chb-accent-text, #fff);
	border-radius: 6px; padding: 3px 9px; font-size: 11px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em; min-height: 0; line-height: 1.6;
	top: 10px; right: 10px; left: auto; margin: 0;
}

/* Botões */
.woocommerce a.button, .woocommerce button.button,
.woocommerce .single_add_to_cart_button, .chb-loop-btn {
	background: var(--chb-primary); color: var(--chb-primary-ink, #fff);
	border-radius: var(--chb-radius, 8px); font-family: var(--chb-font); font-weight: 700;
	font-size: var(--chb-text-sm, 13px); text-transform: uppercase; letter-spacing: .03em;
	padding: 10px 18px; transition: background .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover, .chb-loop-btn:hover { background: var(--chb-primary-dark); color: var(--chb-primary-ink, #fff); }
.woocommerce ul.products li.product .chb-loop-btn { display: block; text-align: center; margin-top: 10px; }

/* Avisos */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-top-color: var(--chb-primary); border-radius: var(--chb-radius-lg, 14px);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--chb-primary); }

/* Tabelas de carrinho / checkout */
.woocommerce table.shop_table { border-radius: var(--chb-radius-lg, 14px); }
.woocommerce table.shop_table th { background: var(--chb-paper-alt); }
.woocommerce #place_order, .woocommerce-checkout #place_order {
	background: var(--chb-primary); color: var(--chb-primary-ink, #fff);
	border-radius: var(--chb-radius, 8px); font-weight: 700; text-transform: uppercase;
}
.woocommerce #place_order:hover { background: var(--chb-primary-dark); }

/* ── Página de produto (PDP) ── */
.single-product .product .product_title {
	font-family: var(--chb-font-display); font-size: clamp(24px, 3.4vw, 34px);
	color: var(--chb-secondary, var(--chb-ink));
}
.single-product .price { color: var(--chb-primary); font-family: var(--chb-font-display); font-weight: 700; }
.single-product .woocommerce-product-details__short-description { color: var(--chb-ink-soft); font-size: var(--chb-text-sm, 14px); }
.single-product form.cart {
	background: var(--chb-paper); border: 1px solid var(--chb-line); border-radius: var(--chb-radius-lg, 14px);
	box-shadow: var(--chb-shadow); padding: var(--chb-space-3, 20px); margin-block: var(--chb-space-3, 20px);
}

/* Galeria vertical em telas largas */
@media (min-width: 860px) {
	.single-product div.product .woocommerce-product-gallery { display: grid; grid-template-columns: 82px 1fr; gap: 12px; }
	.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
	.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { width: 82px; }
}
.woocommerce-product-gallery__wrapper {
	border: 1px solid var(--chb-line); border-radius: var(--chb-radius-lg, 14px); overflow: hidden; background: var(--chb-paper);
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border-color: var(--chb-primary); }

/* Tags categoria + estoque (inc/single-product.php) */
.chb-pdp-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.chb-pdp-tag {
	font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	padding: 4px 10px; border-radius: 999px; line-height: 1.4;
}
.chb-pdp-tag--cat { background: rgba(var(--chb-primary-rgb), .1); color: var(--chb-primary); }
.chb-pdp-tag--stock { background: var(--chb-success-soft); color: var(--chb-success); }

/* Botão "Pedir no WhatsApp" (inc/single-product.php) */
.chb-pdp-whatsapp {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 12px;
	padding: 11px 18px; border: 1.5px solid var(--chb-wa); border-radius: var(--chb-radius, 8px);
	color: var(--chb-wa-dark); font-weight: 700; font-size: var(--chb-text-sm, 13px);
	text-transform: uppercase; letter-spacing: .03em; text-decoration: none; transition: background .15s ease;
}
.chb-pdp-whatsapp:hover { background: var(--chb-success-soft); }
.chb-pdp-whatsapp svg { flex: none; }

/* Aba Especificações (inc/single-product.php) */
.woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--chb-line); }
.woocommerce-tabs ul.tabs li a { font-family: var(--chb-font); font-weight: 700; font-size: var(--chb-text-sm, 13px); text-transform: uppercase; color: var(--chb-ink-mute); }
.woocommerce-tabs ul.tabs li.active a { color: var(--chb-secondary, var(--chb-ink)); }
.chb-pdp-specs { display: flex; flex-direction: column; }
.chb-pdp-specs__row {
	display: flex; justify-content: space-between; gap: 16px;
	padding: 9px 0; border-bottom: 1px solid var(--chb-line); font-size: var(--chb-text-sm, 13px);
}
.chb-pdp-specs__row span { color: var(--chb-ink-mute); }
.chb-pdp-specs__row strong { color: var(--chb-secondary, var(--chb-ink)); text-align: right; }

/* Relacionados */
.related.products > h2, .upsells.products > h2 {
	font-family: var(--chb-font-display); font-size: var(--chb-text-2xl, 24px);
	color: var(--chb-secondary, var(--chb-ink)); margin-top: var(--chb-space-5, 48px);
}

/* ═══════════════════════════════════════════════════════════════════════════
 * OVERRIDES DO PROJETO — cole aqui o que for específico deste cliente
 * (retoques de cor, ajustes de seção do plugin tipo .chb-hero / .chb-cta,
 * layout da PDP, etc.). Mantém o starter acima limpo pra receber updates.
 * ═════════════════════════════════════════════════════════════════════════ */

/* ── Pubrasil: tipografia e tokens ─────────────────────────────────────── */
:root {
	--chb-font: 'Geist', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--chb-font-display: 'Antonio', 'Arial Narrow', sans-serif;
	--chb-font-condensed: 'Geist', sans-serif;
	--chb-title-weight: 700;
	--chb-title-tracking: -0.02em;
	--chb-radius: 6px;
	--chb-radius-lg: 6px;
	--chb-shadow: none;
	--chbc-card: #150d07;
	--chbc-green: #00763A;
	--chbc-cream: #fff3d6;
}
html { scroll-behavior: smooth; }
body { font-weight: 500; }
.chb-hero__title, .chb-section-header h2, .chb-cta__title, .chb-location-card__title, .chb-stats__value {
	font-family: var(--chb-font-display); font-weight: 700; text-transform: uppercase; line-height: 1.05;
}
.chb-section-header h2, .chb-cta__title { font-size: clamp(38px, 5vw, 76px); line-height: 1.08; letter-spacing: -.016em; }
.chb-hero__title { font-size: clamp(52px, 7.5vw, 112px); max-width: none; }
.chb-hero__text, .chb-prose p, .chb-cta__text { font-size: 18px; line-height: 1.4; color: var(--chbc-cream); }

/* Botões e selos em pílula, sem sombra */
.chb-btn, .chb-nav__list .chb-nav-cta a, .chb-hero__badge-pill, .chb-hero__eyebrow { border-radius: 9999px; box-shadow: none; }
.chb-btn { font-size: 13px; text-transform: uppercase; letter-spacing: .02em; font-weight: 500; }
.chb-btn--primary { background: #FFBA00; color: #000; }
.chb-btn--primary:hover { background: var(--chbc-cream); color: #000; }
.chb-btn--ghost { color: #FFBA00; border: 1px solid #FFBA00; }
.chb-btn--ghost:hover { background: #FFBA00; color: #000; }
.chb-hero .chb-btn--ghost { color: #FFBA00; }
.chb-hero .chb-btn--ghost:hover { background: #FFBA00; color: #000; }

/* Rótulo de seção = pílula verde */
.chb-section__eyebrow {
	display: inline-block; background: var(--chbc-green); color: #fff; border-radius: 9999px;
	padding: 4px 12px; font-size: 12px; letter-spacing: .02em; font-weight: 500;
}
.chb-hero__eyebrow {
	display: inline-block; border: 1px solid #FFBA00; color: #FFBA00; padding: 6px 14px;
	font-size: 12px; letter-spacing: .02em; text-transform: uppercase; background: transparent;
}

/* Divisórias pontilhadas verdes entre seções */
.chb-section + .chb-section:not(.chb-stats) { border-top: 1px dotted var(--chbc-green); }

/* ── Cabeçalho ─────────────────────────────────────────────────────────── */
.chb-header { border-bottom: 1px dotted #FFBA00; background: #000; }
.chb-header__logo { display: flex; align-items: center; gap: 12px; }
.chb-header__logo img { height: 44px; width: 44px; object-fit: contain; animation: chbc-spin 10s linear infinite; }
.chb-header__logo::after {
	content: 'PUBRASIL'; font-family: var(--chb-font-display); font-weight: 700; font-size: 22px;
	letter-spacing: .02em; color: #FFBA00;
}
.chb-nav__list a { text-transform: uppercase; font-size: 13px; border: 1px solid #FFBA00; border-radius: 9999px; padding: 8px 17px; color: #FFBA00; }
.chb-nav__list a:hover { background: #FFBA00; color: #000; }
.chb-nav__list .chb-nav-cta a { background: #FFBA00; color: #000; padding: 10px 20px; }
.chb-nav__list .chb-nav-cta a:hover { background: var(--chbc-cream); color: #000; }

/* ── Hero ──────────────────────────────────────────────────────────────── */
.chb-hero, .chb-hero--plain { position: relative; overflow: hidden; background: #000; }
.chb-hero::before {
	content: ''; position: absolute; right: -8vw; top: -4vw; width: min(62vw, 760px); aspect-ratio: 1;
	background: var(--chbc-logo, none) center/contain no-repeat; opacity: .14;
	animation: chbc-spin 40s linear infinite; pointer-events: none;
}
.chb-hero__media { display: flex; justify-content: center; align-items: center; min-height: 420px; }
.chb-hero__media::before {
	content: ''; position: absolute; width: min(90%, 520px); aspect-ratio: 1; opacity: .9;
	background: var(--chbc-logo, none) center/contain no-repeat; animation: chbc-spin 24s linear infinite;
}
.chb-hero__media img { position: relative; width: min(78%, 460px); animation: chbc-floaty 7s ease-in-out infinite; }
.chb-hero__badge {
	background: #FFBA00; color: #000; border-radius: 9999px; padding: 6px 14px; box-shadow: none;
	animation: chbc-pulse 2s ease-in-out infinite; text-transform: uppercase; letter-spacing: .02em;
}
.chb-hero__badge-title { font-family: var(--chb-font); font-weight: 500; font-size: 12px; }
.chb-hero__badge-text { display: none; }
.chb-hero__title { animation: chbc-heroin .9s cubic-bezier(.2, .7, .2, 1) both; }

/* ── Números ───────────────────────────────────────────────────────────── */
.chb-stats__item { background: var(--chbc-card); border: 0; border-radius: 6px; padding: 16px; }
.chb-stats__item:last-child { background: var(--chbc-green); }
.chb-stats__item:last-child .chb-stats__label { color: #fff; }
.chb-stats__value { font-size: 48px; line-height: .95; color: #FFBA00; }
.chb-stats__item:last-child .chb-stats__value { color: #fff; }
.chb-stats__label { font-size: 13px; color: var(--chbc-cream); }

/* ── Faixa em movimento ────────────────────────────────────────────────── */
.chbc-marquee { overflow: hidden; border-block: 2px solid var(--chbc-green); padding: 14px 0; margin-block: 80px 0; }
.chbc-marquee__track { display: flex; width: max-content; animation: chbc-marquee 30s linear infinite; }
.chbc-marquee:hover .chbc-marquee__track { animation-play-state: paused; }
.chbc-marquee__item { display: flex; align-items: center; gap: 20px; padding-right: 20px; }
.chbc-marquee__item img { height: 48px; width: 48px; object-fit: contain; animation: chbc-spin 6s linear infinite; }
.chbc-marquee__item span { font-family: var(--chb-font-display); font-weight: 700; font-size: 42px; line-height: 1; text-transform: uppercase; color: #FFBA00; white-space: nowrap; }

/* ── Unidades ──────────────────────────────────────────────────────────── */
.chb-location-card {
	background: var(--chbc-card); border: 1px solid var(--chbc-card); border-radius: 6px; padding: 20px;
	transition: transform .3s, border-color .3s;
}
.chb-location-card:hover { transform: translateY(-8px); border-color: var(--chbc-green); }
.chb-location-card__title { font-size: 34px; color: #FFBA00; }
.chb-location-card__address, .chb-location-card__meta { font-size: 14px; color: var(--chbc-cream); }

/* ── Galeria ───────────────────────────────────────────────────────────── */
.chb-gallery__item { background: var(--chbc-card); border: 1px solid var(--chbc-card); border-radius: 6px; overflow: hidden; transition: border-color .3s; }
.chb-gallery__item:hover { border-color: var(--chbc-green); }
.chb-gallery__item img { transition: transform .5s; }
.chb-gallery__item:hover img { transform: scale(1.12) rotate(-4deg); }
.chb-gallery__item:nth-child(even):hover img { transform: scale(1.12) rotate(4deg); }

/* ── Chamada final ─────────────────────────────────────────────────────── */
.chb-cta {
	background: var(--chbc-card) !important; color: #FFBA00; border: 1px solid var(--chbc-green);
	border-radius: 6px; margin: 100px clamp(16px, 3vw, 42px) 0; position: relative; overflow: hidden;
}
.chb-cta::before {
	content: ''; position: absolute; right: -60px; bottom: -80px; width: 340px; aspect-ratio: 1; opacity: .16;
	background: var(--chbc-logo, none) center/contain no-repeat; animation: chbc-spin 30s linear infinite; pointer-events: none;
}
.chb-cta .chb-btn--primary {
	background: linear-gradient(110deg, #FFBA00 35%, #fff3d6 50%, #FFBA00 65%) 0 0/200% 100%; color: #000;
	animation: chbc-shine 3s linear infinite;
}
.chb-cta .chb-btn--primary:hover { background: var(--chbc-cream); }

/* ── Rodapé ────────────────────────────────────────────────────────────── */
.chb-footer { border-top: 1px dotted #FFBA00; }
.chb-footer__logo img { height: 44px; width: 44px; object-fit: contain; }

/* ── Animações (mesmos keyframes do layout aprovado) ───────────────────── */
@keyframes chbc-spin { to { transform: rotate(360deg); } }
@keyframes chbc-marquee { to { transform: translateX(-50%); } }
@keyframes chbc-floaty { 0%, 100% { transform: rotate(-6deg) translateY(0); } 50% { transform: rotate(-3deg) translateY(-14px); } }
@keyframes chbc-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes chbc-shine { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes chbc-heroin { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }
@keyframes chbc-fadeup { from { opacity: 0; transform: translateY(48px); } to { opacity: 1; transform: none; } }
@supports (animation-timeline: view()) {
	.chb-section, .chb-cta, .chb-footer { animation: chbc-fadeup linear both; animation-timeline: view(); animation-range: entry 0% entry 35%; }
}
@media (max-width: 768px) {
	.chbc-marquee__item span { font-size: 30px; }
	.chb-hero__media { min-height: 300px; }
	.chb-cta { margin-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Alinhamento à esquerda como no layout aprovado */
.chb-section-header { text-align: left; }
.chb-section-header .chb-section__lead { margin-inline: 0; }
.chb-stats__item { text-align: left; }
.chb-text .chb-shell, .chb-text .chb-shell--narrow, .chb-text .chb-prose { max-width: var(--chb-shell); }
.chb-text .chb-prose p:first-child { max-width: 60ch; }
.chb-cta__inner { text-align: left; align-items: flex-start; }

/* Depoimento em destaque (citação grande) */
.chb-testimonials__grid { grid-template-columns: 1fr; }
.chb-testi { background: transparent; border: 0; padding: 0; box-shadow: none; }
.chb-testi__stars { color: #FFBA00; font-size: 24px; letter-spacing: .2em; }
.chb-testi__quote {
	font-family: var(--chb-font-display); font-weight: 500; text-transform: uppercase; color: #fff3d6;
	font-size: clamp(26px, 3.2vw, 48px); line-height: 1.2; max-width: 1000px; font-style: normal;
}
.chb-testi__author { font-size: 13px; color: var(--chbc-cream); }

/* Chamada final alinhada à esquerda */
.chb-cta__inner { padding-block: clamp(24px, 4vw, 56px); }
.chb-cta__text { margin-inline: 0; max-width: 420px; }
.chb-cta__actions { justify-content: flex-start; }

/* Rodapé: linha final em 2 colunas (logo + frase | direitos reservados) */
.chb-footer__bottom { text-align: left; opacity: 1; }
.chb-footer__bottom .chb-shell { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px 32px; }
.chb-footer__line { display: flex; align-items: center; gap: 12px; margin: 0; font-size: var(--chb-text-base); }
.chb-footer__line::before {
	content: ''; flex: none; width: 44px; height: 44px;
	background: var(--chbc-logo, none) center/contain no-repeat; animation: chbc-spin 10s linear infinite;
}
.chb-footer__copy { justify-content: flex-end; color: var(--chbc-cream); }
@media (max-width: 768px) {
	.chb-footer__bottom .chb-shell { grid-template-columns: 1fr; }
	.chb-footer__copy { justify-content: flex-start; }
}

/* ── Cardápio online (Cartão Digital) ──────────────────────────────────── */
.chbc-menu__tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.chbc-menu__tab, .chbc-chip {
	font: inherit; font-size: 13px; text-transform: uppercase; letter-spacing: .02em; cursor: pointer;
	background: transparent; color: #FFBA00; border: 1px solid #FFBA00; border-radius: 9999px; padding: 9px 20px;
	transition: background .2s, color .2s;
}
.chbc-menu__tab:hover, .chbc-chip:hover, .chbc-menu__tab.is-active, .chbc-chip.is-active { background: #FFBA00; color: #000; }
.chbc-menu__tools { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.chbc-menu__search {
	width: 100%; max-width: 420px; background: var(--chbc-card); color: var(--chbc-cream); border: 1px solid #2a1d0f;
	border-radius: 9999px; padding: 11px 18px; font: inherit; font-size: 14px;
}
.chbc-menu__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chbc-chip { padding: 7px 16px; font-size: 12px; }
.chbc-sub { margin-bottom: 32px; }
.chbc-sub__title { font-family: var(--chb-font-display); text-transform: uppercase; font-size: 28px; color: #FFBA00; margin: 0 0 14px; border-bottom: 1px dotted var(--chbc-green); padding-bottom: 8px; }
.chbc-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.chbc-item { display: flex; gap: 14px; background: var(--chbc-card); border: 1px solid var(--chbc-card); border-radius: 6px; padding: 14px; transition: border-color .3s; }
.chbc-item:hover { border-color: var(--chbc-green); }
.chbc-item.is-off { display: none; }
.chbc-item__img { width: 88px; height: 88px; object-fit: cover; border-radius: 6px; flex: none; background: #000; }
.chbc-item__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.chbc-item__name { font-family: var(--chb-font-display); text-transform: uppercase; font-size: 22px; line-height: 1.1; color: #FFBA00; margin: 0; }
.chbc-item__desc { font-size: 13px; line-height: 1.4; color: var(--chbc-cream); margin: 0; }
.chbc-item__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.chbc-item__price { font-family: var(--chb-font-display); font-size: 22px; color: #fff; }
.chbc-add.is-added { transform: scale(.94); }
.chbc-note-input, .chbc-select, .chbc-form input, .chbc-form select {
	width: 100%; background: #000; color: var(--chbc-cream); border: 1px solid #2a1d0f; border-radius: 6px; padding: 8px 10px; font: inherit; font-size: 12px;
}
.chbc-form input, .chbc-form select { font-size: 15px; padding: 11px 12px; }
.chbc-item__opt { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--chbc-cream); }
.chbc-addons { font-size: 12px; color: var(--chbc-cream); }
.chbc-addons summary { cursor: pointer; color: #FFBA00; text-transform: uppercase; letter-spacing: .02em; }
.chbc-addons__list { display: flex; flex-direction: column; gap: 4px; max-height: 190px; overflow: auto; margin-top: 6px; }
.chbc-addon { display: flex; align-items: center; gap: 8px; background: #000; border-radius: 6px; padding: 5px 8px; cursor: pointer; }
.chbc-addon span { flex: 1; }
.chbc-addon b { color: #FFBA00; font-weight: 500; }
.chbc-addon input { width: auto; accent-color: #FFBA00; }
.chbc-note, .chbc-menu__empty, .chbc-menu__noresult { color: var(--chbc-cream); font-size: 16px; }

/* barra do carrinho */
.chbc-cartbar { position: fixed; inset: auto 0 0 0; z-index: 90; display: flex; justify-content: center; padding: 12px 16px; pointer-events: none; }
.chbc-cartbar[hidden] { display: none; }
.chbc-cartbar__btn {
	pointer-events: auto; font: inherit; font-size: 14px; cursor: pointer; display: flex; align-items: center; gap: 10px; width: min(100%, 520px);
	background: #FFBA00; color: #000; border: 0; border-radius: 9999px; padding: 14px 22px;
}
.chbc-cartbar__go { margin-left: auto; text-transform: uppercase; font-size: 12px; letter-spacing: .02em; }

/* modal */
.chbc-modal { position: fixed; inset: 0; z-index: 200; background: rgba(0, 0, 0, .78); display: flex; align-items: flex-end; justify-content: center; }
.chbc-modal[hidden] { display: none; }
.chbc-modal__box { background: var(--chbc-card); border: 1px solid var(--chbc-green); border-radius: 12px 12px 0 0; width: min(100%, 560px); max-height: 94dvh; overflow: auto; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
@media (min-width: 700px) { .chbc-modal { align-items: center; } .chbc-modal__box { border-radius: 12px; } }
.chbc-modal__head { display: flex; align-items: center; justify-content: space-between; }
.chbc-modal__head h3 { font-family: var(--chb-font-display); text-transform: uppercase; font-size: 28px; color: #FFBA00; margin: 0; }
.chbc-modal__close { font: inherit; font-size: 30px; line-height: 1; background: none; border: 0; color: #FFBA00; cursor: pointer; }
.chbc-line { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px dotted #2a1d0f; color: var(--chbc-cream); font-size: 14px; }
.chbc-line__ctl { display: inline-flex; align-items: center; gap: 8px; }
.chbc-line__ctl button { width: 28px; height: 28px; border-radius: 50%; border: 1px solid #FFBA00; background: none; color: #FFBA00; font: inherit; cursor: pointer; }
.chbc-line__sum { min-width: 76px; text-align: right; color: #fff; }
.chbc-form { display: flex; flex-direction: column; gap: 12px; }
.chbc-form label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; text-transform: uppercase; letter-spacing: .02em; color: var(--chbc-cream); }
.chbc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.chbc-hp { position: absolute; left: -9999px; }
.chbc-modal__foot { display: flex; flex-direction: column; gap: 12px; }
.chbc-modal__total { display: flex; justify-content: space-between; align-items: baseline; color: var(--chbc-cream); }
.chbc-modal__total strong { font-family: var(--chb-font-display); font-size: 34px; color: #FFBA00; }
.chbc-modal__msg { margin: 0; color: #ff8a80; font-size: 14px; }
.chbc-send { width: 100%; justify-content: center; }
.chbc-lock { overflow: hidden; }
.chbc-toast { position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%); z-index: 300; background: #FFBA00; color: #000; padding: 10px 20px; border-radius: 9999px; font-size: 14px; }

/* Campos do cardápio: vencem o estilo padrão de inputs do GeneratePress */
.chbc-menu input[type="text"], .chbc-menu input[type="search"], .chbc-menu input[type="tel"], .chbc-menu select {
	background: #000; color: var(--chbc-cream); border: 1px solid #2a1d0f; border-radius: 6px; box-shadow: none;
}
.chbc-menu input.chbc-menu__search { border-radius: 9999px; background: var(--chbc-card); }
.chbc-menu input::placeholder { color: #8a7a60; opacity: 1; }
.chbc-menu input[type="text"]:focus, .chbc-menu input[type="search"]:focus, .chbc-menu input[type="tel"]:focus, .chbc-menu select:focus { border-color: #FFBA00; outline: 0; background: #000; color: var(--chbc-cream); }
.chbc-menu input[type="checkbox"] { width: auto; }

/* Pedido em painel lateral (slider à direita) */
.chbc-modal { align-items: stretch; justify-content: flex-end; background: rgba(0, 0, 0, .6); }
.chbc-modal__box {
	width: min(100%, 440px); height: 100dvh; max-height: none; border-radius: 0; border: 0; border-left: 1px solid var(--chbc-green);
	animation: chbc-slide-in .28s cubic-bezier(.2, .7, .2, 1) both;
}
@media (min-width: 700px) { .chbc-modal { align-items: stretch; } .chbc-modal__box { border-radius: 0; } }
@keyframes chbc-slide-in { from { transform: translateX(100%); } to { transform: none; } }
.chbc-modal__items { flex: none; }
.chbc-modal { z-index: 100000; }
.chbc-toast { z-index: 100001; }
.chbc-cartbar { z-index: 9990; }

/* A animação de entrada (transform) das seções prenderia o painel/barra "fixed" dentro da seção */
.chb-section.chbc-menu { animation: none; transform: none; }

/* [hidden] precisa vencer o display:flex dos rótulos do formulário */
.chbc-form [hidden], .chbc-form label[hidden] { display: none !important; }
.chbc-line__ctl button {
	display: inline-flex; align-items: center; justify-content: center; padding: 0; line-height: 1; font-size: 18px;
	background: none; box-shadow: none; min-width: 28px;
}
.chbc-line__ctl button:hover { background: #FFBA00; color: #000; }

/* Rodapé: só a linha final (logo + frase | direitos). Bloco de marca/tagline/Instagram removido. */
.chb-footer__grid { display: none; }

/* Respiro entre a última seção e o rodapé */
.chb-main { padding-bottom: clamp(48px, 8vw, 100px); }

/* Nossa História: separador com estrela e assinatura final */
.chb-text-image__content hr.chbc-star {
	border: 0; height: 22px; margin: 22px 0; position: relative; background: none; opacity: 1;
}
.chb-text-image__content hr.chbc-star::before {
	content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px dotted var(--chbc-green);
}
.chb-text-image__content hr.chbc-star::after {
	content: '★'; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	background: #000; color: #FFBA00; padding: 0 14px; font-size: 20px; line-height: 1;
}
.chb-text-image__content > .chb-prose > p:first-child::first-letter,
.chb-text-image__content .chb-prose > p:first-of-type::first-letter {
	font-family: var(--chb-font-display); font-weight: 700; color: #FFBA00; float: left;
	font-size: 3.6em; line-height: .85; padding: .05em .12em 0 0;
}
.chb-text-image__content .chbc-history-sign {
	margin-top: 26px; font-family: var(--chb-font-display); text-transform: uppercase; font-size: clamp(22px, 2.6vw, 34px);
	line-height: 1.15; color: #FFBA00;
}
.chb-text-image__content .chbc-history-sign strong { color: #fff; font-weight: 700; }

/* Nossa História (página completa): mesmo separador e inicial em destaque */
.chb-prose hr.chbc-star { border: 0; height: 22px; margin: 22px 0; position: relative; background: none; opacity: 1; }
.chb-prose hr.chbc-star::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px dotted var(--chbc-green); }
.chb-prose hr.chbc-star::after {
	content: '★'; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	background: #000; color: #FFBA00; padding: 0 14px; font-size: 20px; line-height: 1;
}
.chbc-history > p:first-of-type::first-letter {
	font-family: var(--chb-font-display); font-weight: 700; color: #FFBA00; float: left;
	font-size: 3.6em; line-height: .85; padding: .05em .12em 0 0;
}
.chbc-history p { font-size: clamp(18px, 1.6vw, 22px); }
.chbc-history .chbc-history-sign {
	margin-top: 32px; font-family: var(--chb-font-display); text-transform: uppercase; font-size: clamp(24px, 3vw, 40px);
	line-height: 1.15; color: #FFBA00;
}
.chbc-history .chbc-history-sign strong { color: #fff; font-weight: 700; }

.chbc-note--paused { background: var(--chbc-card); border: 1px solid #FFBA00; border-radius: 6px; padding: 12px 16px; color: #FFBA00; margin-bottom: 18px; }
