/*
 * 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.
 * ═════════════════════════════════════════════════════════════════════════ */

/* ═══ Cabeçalho + hero + faixa de números — layout da referência aprovada, na cor da marca #857D76 ═══
   Só apresentação: nenhum texto/link/conteúdo muda. Os tokens --oc-* valem só para estes três blocos. */
:root{--oc-ink:#3B3631;--oc-brand:#857D76;--oc-brand-dark:#5E5750;--oc-soft:#6B645D;--oc-line:#E3DDD7}

/* Cabeçalho: fundo branco, logo à esquerda, menu centralizado, botão em pílula na cor da marca à direita */
.chb-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0;box-shadow:0 1px 0 var(--oc-line),0 12px 30px -20px rgba(59,54,49,.25)}
.chb-header__logo img{max-height:40px}
.chb-nav__list a{color:var(--oc-ink);font-size:.82rem;font-weight:700;letter-spacing:.01em;transition:color .2s}
.chb-nav__list a:hover,.chb-nav__list a[aria-current]{color:var(--oc-brand)}
.chb-header__wa{background:var(--oc-brand);color:#fff;font-weight:700;box-shadow:0 10px 20px -10px rgba(133,125,118,.65);transition:background .2s,transform .25s cubic-bezier(.2,.7,.2,1)}
.chb-header__wa:hover{background:var(--oc-brand-dark);color:#fff;transform:translateY(-1px)}
@media(min-width:769px){
  .chb-header__inner{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(12px,2vw,32px);min-height:76px}
  .chb-nav{margin:0;justify-self:center}
  .chb-nav__list{gap:clamp(12px,2.1vw,34px)}
  .chb-nav__list a{padding:.5em 0;border-radius:0}
  .chb-header__right{justify-self:end}
  .chb-header__wa{padding:.78em 1.55em;font-size:.8rem;gap:.55em}
}

/* Hero (home): fundo claro, texto à esquerda, foto da equipe em cartão à direita.
   A foto continua sendo a imagem do hero (--chb-hero-bg); o overlay vira só a decoração de fundo. */
.home .chb-hero:not(.chb-hero--compact){min-height:clamp(540px,68vh,680px);background:linear-gradient(180deg,#FAF8F6 0%,#F1EDE9 100%);color:var(--oc-ink)}
.home .chb-hero:not(.chb-hero--compact) .chb-hero__overlay{background:radial-gradient(48% 72% at 76% 44%,rgba(255,255,255,.95),rgba(255,255,255,0) 72%),repeating-radial-gradient(circle at 76% 46%,rgba(133,125,118,0) 0 168px,rgba(133,125,118,.14) 169px 171px)}
.home .chb-hero:not(.chb-hero--compact) .chb-hero__inner{align-items:flex-start;text-align:left;padding-top:clamp(40px,6vh,64px);padding-bottom:clamp(100px,13vh,124px)}
.home .chb-hero:not(.chb-hero--compact) .chb-hero__inner::before{content:"";position:absolute;z-index:-1;top:clamp(28px,5vh,52px);right:clamp(1rem,4vw,2rem);width:52%;aspect-ratio:8/5;border-radius:28px;background:var(--chb-hero-bg) 46% 30%/cover no-repeat,#2B2E2E;box-shadow:0 34px 70px -28px rgba(59,54,49,.5)}
.home .chb-hero:not(.chb-hero--compact) .chb-hero__eyebrow{margin:0 0 clamp(14px,2vh,20px);padding:0;border-radius:0;background:none;color:var(--oc-ink);font-family:var(--chb-font);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-align:left;text-transform:uppercase}
/* Título: 1ª linha em tom escuro, demais na cor da marca (a quebra vem do max-width + balance) */
.home .chb-hero:not(.chb-hero--compact) .chb-hero__title{max-width:100%;margin:0 0 clamp(14px,2vh,22px);color:var(--oc-brand);font-size:clamp(2rem,10vw,3.4rem);line-height:1.06;letter-spacing:-.025em;text-wrap:balance}
.home .chb-hero:not(.chb-hero--compact) .chb-hero__title::first-line{color:var(--oc-ink)}
.home .chb-hero:not(.chb-hero--compact) .chb-hero__text{max-width:27em;margin:0 0 clamp(22px,3.4vh,32px);color:var(--oc-soft);opacity:1;font-size:clamp(1rem,.95rem + .3vw,1.12rem);line-height:1.65}
.home .chb-hero:not(.chb-hero--compact) .chb-hero__actions{justify-content:flex-start;align-items:center;gap:12px 26px}
/* Os botões do topo (Centro e Norte) seguem o mesmo padrão. Cor: a da marca ou a escolhida no campo "Botões — Cor personalizada" do hero
   (variáveis --oc-hero-btn/-hover/-ink, geradas em inc/sections.php; o texto se ajusta sozinho ao fundo). */
.home .chb-hero:not(.chb-hero--compact) .chb-btn--primary,.home .chb-hero:not(.chb-hero--compact) .chb-btn--ghost{padding:.95em 1.7em;border-color:var(--oc-hero-btn,var(--oc-brand));border-radius:12px;background:var(--oc-hero-btn,var(--oc-brand));color:var(--oc-hero-btn-ink,#fff);font-size:.95rem;font-weight:700;box-shadow:0 16px 28px -16px rgba(133,125,118,.8)}
.home .chb-hero:not(.chb-hero--compact) .chb-btn--primary:hover,.home .chb-hero:not(.chb-hero--compact) .chb-btn--ghost:hover{border-color:var(--oc-hero-btn-hover,var(--oc-brand-dark));background:var(--oc-hero-btn-hover,var(--oc-brand-dark));color:var(--oc-hero-btn-ink,#fff)}
.home .chb-hero:not(.chb-hero--compact) .chb-btn--primary::before,.home .chb-hero:not(.chb-hero--compact) .chb-btn--ghost::before{content:"";flex:none;width:1.2em;height:1.2em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat}
.home .chb-hero:not(.chb-hero--compact) .chb-btn:focus-visible{outline-color:var(--oc-brand)}
/* lado a lado: o texto nunca invade o cartão da foto (52% da largura, à direita).
   O título tem a 1ª linha ("Atenção e cuidado", quebra manual no campo do título) em tom escuro e numa linha só: a fonte acompanha a largura da coluna (4.2vw) pra ela caber sem tocar a foto. */
@media(min-width:861px){
  .home .chb-hero:not(.chb-hero--compact) .chb-hero__title{max-width:calc(48% - 2.5rem);font-size:clamp(2rem,4.2vw,3.4rem)}
  .home .chb-hero:not(.chb-hero--compact) .chb-hero__text{max-width:min(27em,calc(48% - 2.5rem))}
  /* os dois botões ficam lado a lado só se couberem na coluna; senão quebram em duas linhas em vez de passar sob a foto */
  .home .chb-hero:not(.chb-hero--compact) .chb-hero__actions{max-width:calc(48% - 3.5rem)}
}
@media(max-width:860px){
  .home .chb-hero:not(.chb-hero--compact) .chb-hero__inner{padding-bottom:clamp(92px,18vw,112px)}
  .home .chb-hero:not(.chb-hero--compact) .chb-hero__inner::before{position:relative;z-index:auto;top:auto;right:auto;order:9;width:100%;margin-top:30px;border-radius:22px}
}

/* ═══ Layout V2 — paleta quente, faixas e componentes ═══ */
body{--chb-paper-alt:#F4F1EE;--chb-line:#E3DDD7;--chb-ink:#3B3631}

/* Faixa de números: taupe, largura total, texto branco */
.chb-stats{background:#857D76;color:#fff;padding-block:0;border:0}
.chb-stats .chb-stats__list{margin-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
.chb-stats .chb-stats__item{padding:44px 20px;text-align:center;color:#fff;background:transparent;border:0;border-radius:0;box-shadow:none;transform:none}
.chb-stats .chb-stats__value{color:#fff;font-weight:500;letter-spacing:-.02em}
.chb-stats .chb-stats__label{color:#fff}

/* Contadores circulares (assets/js/oc-home.js monta o anel e conta até o número) */
.chb-stats.oc-rings .chb-stats__list{gap:clamp(8px,4vw,56px);padding-block:clamp(36px,5vw,60px)}
.chb-stats.oc-rings .chb-stats__item{padding:0;display:flex;flex-direction:column;align-items:center;gap:18px}
.oc-ring{position:relative;width:clamp(150px,17vw,188px);aspect-ratio:1;display:grid;place-items:center}
.oc-ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:rgba(255,255,255,.07)}
.oc-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.oc-ring__track,.oc-ring__arc{fill:none;stroke-width:5}
.oc-ring__track{stroke:rgba(255,255,255,.22)}
.oc-ring__arc{stroke:#fff;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,255,255,.35))}
.oc-ring .chb-stats__value{position:relative;font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1;font-variant-numeric:tabular-nums}
.chb-stats.oc-rings .chb-stats__label{max-width:20ch;font-size:.95rem;line-height:1.35;letter-spacing:.01em}
@media(max-width:560px){
  .chb-stats.oc-rings .chb-stats__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .chb-stats.oc-rings .chb-stats__item{gap:12px}
  .oc-ring{width:min(100%,104px)}
  .oc-ring::before{inset:7px}
  .oc-ring .chb-stats__value{font-size:1rem}
  .chb-stats.oc-rings .chb-stats__label{font-size:.68rem;letter-spacing:0}
}

/* Faixa de números (home e internas): cartão branco, ícone + número + legenda. Logo abaixo do hero da home ele flutua sobre a base do hero.
   O oc-home.js continua contando os números; só o anel circular fica oculto aqui. */
.chb-stats:not(.chb-stats--split){padding:clamp(40px,5vw,64px) 0;background:transparent;color:var(--oc-ink)}
.home .chb-hero+.chb-stats{position:relative;z-index:3;margin-top:calc(-1 * clamp(44px,5vw,58px));padding:0 0 clamp(40px,5vw,64px)}
.chb-stats:not(.chb-stats--split) .chb-stats__list{max-width:900px;margin:0 auto;padding:clamp(18px,2.2vw,26px) clamp(8px,2vw,24px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff;border-radius:clamp(28px,4vw,48px);box-shadow:0 26px 60px -22px rgba(59,54,49,.28),0 2px 8px rgba(59,54,49,.05);text-align:left}
.chb-stats:not(.chb-stats--split) .chb-stats__item{padding:6px clamp(10px,2vw,28px);display:grid;grid-template-columns:auto 1fr;align-items:center;justify-content:center;row-gap:0;column-gap:clamp(10px,1.4vw,16px);color:var(--oc-ink);text-align:left}
.chb-stats:not(.chb-stats--split) .chb-stats__item+.chb-stats__item{border-left:1px solid var(--oc-line)}
.chb-stats:not(.chb-stats--split) .oc-ring{display:contents}
.chb-stats:not(.chb-stats--split) .oc-ring::before,.chb-stats:not(.chb-stats--split) .oc-ring svg{display:none}
.chb-stats:not(.chb-stats--split) .chb-stats__item::before{content:"";grid-row:1 / span 2;width:clamp(34px,3.4vw,44px);aspect-ratio:1;background:var(--oc-brand);-webkit-mask:var(--oc-icon) center/contain no-repeat;mask:var(--oc-icon) center/contain no-repeat}
.chb-stats:not(.chb-stats--split) .chb-stats__item:nth-child(1){--oc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
.chb-stats:not(.chb-stats--split) .chb-stats__item:nth-child(2){--oc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 2v2M5 2v2M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1M8 15a6 6 0 0 0 12 0v-3'/%3E%3Ccircle cx='20' cy='10' r='2'/%3E%3C/svg%3E")}
.chb-stats:not(.chb-stats--split) .chb-stats__item:nth-child(3){--oc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E")}
.chb-stats:not(.chb-stats--split) .chb-stats__value{grid-column:2;grid-row:1;color:var(--oc-ink);font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:800;line-height:1.05;letter-spacing:-.02em}
.chb-stats:not(.chb-stats--split) .chb-stats__label{grid-column:2;grid-row:2;max-width:none;margin-top:3px;color:var(--oc-soft);font-size:.8rem;font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none}
@media(max-width:640px){
  .chb-stats:not(.chb-stats--split) .chb-stats__list{padding:16px 4px;border-radius:26px}
  .chb-stats:not(.chb-stats--split) .chb-stats__item{grid-template-columns:1fr;justify-items:center;row-gap:4px;padding:4px 6px;text-align:center}
  .chb-stats:not(.chb-stats--split) .chb-stats__item::before{grid-row:auto;width:28px}
  .chb-stats:not(.chb-stats--split) .chb-stats__value{grid-column:1;grid-row:auto;font-size:1.1rem}
  .chb-stats:not(.chb-stats--split) .chb-stats__label{grid-column:1;grid-row:auto;font-size:.68rem}
}

/* Convênios: logos em "chips" brancos, numa única linha passando continuamente (assets/js/oc-home.js).
   Sem JS cai na grade centralizada com quebra de linha. */
#convenios{overflow:hidden}
#convenios .chb-gallery__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:960px;margin:28px auto 0}
#convenios .chb-gallery__item{margin:0;width:140px;height:64px;background:#fff;border:0;border-radius:16px;padding:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -18px rgba(59,54,49,.35),0 1px 3px rgba(59,54,49,.06);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
#convenios .chb-gallery__item:hover{transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(59,54,49,.45),0 1px 3px rgba(59,54,49,.06)}
#convenios .chb-gallery__link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;pointer-events:none}
#convenios .chb-gallery__item img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;aspect-ratio:auto;border-radius:0}
#convenios.chb-section--alt{background:#F7F6F4;border:0;padding-block:clamp(48px,6vw,84px)}
#convenios .chb-section-header{margin-bottom:0;text-align:left}
#convenios .chb-section__eyebrow{margin-bottom:12px;color:var(--oc-soft);font-size:.72rem;font-weight:600;letter-spacing:.24em}
#convenios .chb-section__title{color:var(--oc-ink);font-size:clamp(1.65rem,1.1rem + 1.5vw,2.2rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
#convenios .chb-section__lead{max-width:40em;margin:10px 0 0;color:var(--oc-soft);font-size:clamp(.95rem,.9rem + .2vw,1.03rem)}
/* Linha contínua: trilho com dois blocos idênticos, desloca -50% em loop sem emenda (margem, não gap, mantém o cálculo exato) */
#convenios .chb-gallery__grid.oc-marquee{display:block;max-width:none;width:100vw;margin:22px 0 0 calc(50% - 50vw);padding:10px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
#convenios .oc-marquee__track{display:flex;width:max-content;animation:oc-marquee var(--oc-marquee-dur,45s) linear infinite}
#convenios .oc-marquee:hover .oc-marquee__track{animation-play-state:paused}
#convenios .oc-marquee .chb-gallery__item{flex:none;width:156px;height:68px;margin:0 16px 0 0}
@keyframes oc-marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  #convenios .chb-gallery__grid.oc-marquee{overflow-x:auto}
  #convenios .oc-marquee__track{animation:none}
}

/* ═══ Home — Corpo clínico (#corpo): cabeçalho à esquerda com botão contornado à direita, 5 cartões com retrato, nome, registro e botão em pílula (referência aprovada) ═══
   Só apresentação: markup, textos e links do plugin não mudam. */
#corpo .chb-section-header{margin-bottom:clamp(20px,3vw,32px);text-align:left}
#corpo .chb-section__title{color:var(--oc-ink);font-size:clamp(1.65rem,1.1rem + 1.5vw,2.2rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
#corpo .chb-section__lead{max-width:34em;margin:10px 0 0;color:var(--oc-soft);font-size:clamp(.95rem,.9rem + .2vw,1.03rem)}
@media(min-width:900px){
  /* o botão da seção sobe para o canto direito do cabeçalho */
  #corpo>.chb-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px}
  #corpo .chb-section-header{grid-column:1;grid-row:1}
  #corpo .chb-link-cards__grid,#corpo .oc-carousel{grid-column:1/-1;grid-row:2;min-width:0}
  #corpo .chb-section__cta{grid-column:2;grid-row:1;align-self:center;margin:0 0 clamp(20px,3vw,32px)}
}
#corpo .chb-section__cta .chb-btn--primary{padding:.8em 1.5em;border:1.5px solid var(--oc-brand);border-radius:12px;background:#fff;color:var(--oc-brand-dark);font-size:.9rem;font-weight:700}
#corpo .chb-section__cta .chb-btn--primary::before{content:"→";order:2}
#corpo .chb-section__cta .chb-btn--primary:hover{background:var(--oc-brand);border-color:var(--oc-brand);color:#fff;box-shadow:0 12px 24px -14px rgba(94,87,80,.7)}

/* grade → carrossel (o JS de assets/js/oc-home.js põe as setas): 5 cartões no desktop, 3 no tablet, 1 com um pedaço do próximo no celular.
   Se couberem todos, não há rolagem nem setas; se houver mais médicos do que cabem, as setas aparecem sozinhas. */
.oc-carousel{position:relative}
#corpo .chb-link-cards__grid{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:20px;margin:-12px -6px -34px;padding:12px 6px 34px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#corpo .chb-link-cards__grid::-webkit-scrollbar{display:none}
/* centraliza quando sobra espaço e começa à esquerda quando rola (margens automáticas colapsam sem folga) */
#corpo .chb-link-card:first-child{margin-left:auto}
#corpo .chb-link-card:last-child{margin-right:auto}
#corpo .chb-link-card{flex:0 0 calc((100% - 40px) / 3);scroll-snap-align:start;border:1px solid #EFEBE7;border-radius:18px;background:#fff;box-shadow:0 18px 40px -26px rgba(59,54,49,.35),0 1px 3px rgba(59,54,49,.05);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
@media(min-width:1100px){#corpo .chb-link-card{flex-basis:calc((100% - 80px) / 5)}}
@media(max-width:640px){
  #corpo .chb-link-cards__grid{gap:14px;margin-inline:calc(-1 * clamp(1rem,4vw,2rem));padding-inline:clamp(1rem,4vw,2rem);scroll-padding-inline:clamp(1rem,4vw,2rem)}
  #corpo .chb-link-card{flex:0 0 min(72%,260px)}
  #corpo .chb-section__cta{margin-top:20px}
}
/* setas */
.oc-carousel__arrow{position:absolute;top:calc(50% - 34px);z-index:3;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--oc-brand-dark);box-shadow:0 10px 26px -8px rgba(59,54,49,.5),0 1px 3px rgba(59,54,49,.12);cursor:pointer;opacity:1;transition:opacity .2s,transform .2s,background .2s,color .2s}
.oc-carousel__arrow svg{width:20px;height:20px}
.oc-carousel__arrow:hover{background:var(--oc-brand);color:#fff;transform:scale(1.06)}
.oc-carousel__arrow:focus-visible{outline:3px solid var(--oc-brand);outline-offset:3px}
.oc-carousel__arrow--prev{left:-14px}
.oc-carousel__arrow--next{right:-14px}
.oc-carousel__arrow[hidden]{display:none}
@media(max-width:640px){
  .oc-carousel__arrow{width:40px;height:40px}
  .oc-carousel__arrow--prev{left:-6px}
  .oc-carousel__arrow--next{right:-6px}
}
@media(prefers-reduced-motion:reduce){.oc-carousel__arrow{transition:none}}
#corpo a.chb-link-card:hover{border-color:#EFEBE7;transform:translateY(-6px);box-shadow:0 28px 50px -26px rgba(59,54,49,.45),0 1px 3px rgba(59,54,49,.05)}
#corpo .chb-link-card__media{overflow:hidden}
#corpo .chb-link-card__media img{aspect-ratio:5/4;width:100%;object-fit:cover;object-position:center 8%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
#corpo a.chb-link-card:hover .chb-link-card__media img{transform:scale(1.05)}
#corpo .chb-link-card__body{padding:16px 16px 18px;gap:0}
#corpo .chb-link-card__title{color:var(--oc-ink);font-size:1rem;font-weight:800;line-height:1.25;letter-spacing:-.01em}
#corpo .chb-link-card__meta{margin:6px 0 14px;color:var(--oc-soft);font-family:var(--chb-font);font-size:.76rem;line-height:1.4}
#corpo .chb-link-card__cta{align-self:flex-start;margin-top:auto;padding:.5em 1.15em;border:1.5px solid var(--oc-brand);border-radius:999px;color:var(--oc-brand-dark);font-family:var(--chb-font);font-size:.8rem;font-weight:700;transition:background .25s,color .25s,border-color .25s}
#corpo a.chb-link-card:hover .chb-link-card__cta{background:var(--oc-brand);border-color:var(--oc-brand);color:#fff}

/* Faixa de chamada: foto de fundo (assets/img/cta-bg.webp) com o olho à esquerda, título ao centro e botões à direita (referência aprovada).
   Só apresentação: markup, textos e links do plugin não mudam. */
.chb-cta{position:relative;padding-block:clamp(36px,5vw,60px);color:#fff;text-align:left;background:linear-gradient(90deg,rgba(94,87,80,0) 0%,rgba(94,87,80,.3) 38%,rgba(94,87,80,.5) 100%),url("../img/cta-bg.webp") left center/cover no-repeat,#857D76!important}
.chb-cta__inner{display:flex;align-items:center;gap:clamp(24px,4.5vw,72px);padding-left:calc(clamp(1rem,4vw,2rem) + clamp(0px,22vw,290px))}
.chb-cta__title{flex:1 1 auto;max-width:17em;margin:0;color:#fff;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);font-weight:800;line-height:1.2;letter-spacing:-.015em;text-wrap:balance;text-shadow:0 2px 16px rgba(59,54,49,.3)}
.chb-cta__actions{flex:0 0 auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;margin:0}
.chb-cta__btn-wrap{display:block}
.chb-cta .chb-btn{width:100%;min-width:15rem;padding:.95em 1.7em;border-radius:12px;font-size:.95rem;font-weight:700}
.chb-cta .chb-btn--primary,.chb-cta .chb-btn--ghost{box-shadow:0 16px 28px -16px rgba(59,54,49,.65)}
.chb-cta .chb-btn--primary::before,.chb-cta .chb-btn--ghost::before{content:"";flex:none;width:1.2em;height:1.2em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:900px){
  /* tablet/celular: o olho fica livre no alto e o texto desce sobre degradê */
  .chb-cta{padding-top:clamp(150px,42vw,230px);padding-bottom:clamp(32px,6vw,48px);background:linear-gradient(180deg,rgba(94,87,80,0) 0%,rgba(94,87,80,.15) 30%,rgba(94,87,80,.82) 62%,rgba(94,87,80,.9) 100%),url("../img/cta-bg.webp") left top/cover no-repeat,#857D76!important}
  .chb-cta__inner{flex-direction:column;align-items:flex-start;gap:22px;padding-left:clamp(1rem,4vw,2rem)}
  .chb-cta__title{max-width:none}
  .chb-cta__actions{align-self:stretch}
  .chb-cta .chb-btn{min-width:0}
}

/* ═══ Efeitos: botões ═══ */
.chb-btn{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background-color .2s,color .2s;position:relative;overflow:hidden;will-change:transform}
.chb-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(94,87,80,.22)}
.chb-btn:active{transform:translateY(0);box-shadow:none}
.chb-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.chb-btn:hover::after{transform:translateX(120%)}
.chb-btn--ghost:hover{background:rgba(255,255,255,.14)}
.chb-btn:focus-visible{outline:3px solid #5E5750;outline-offset:3px}
.chb-cta .chb-btn:focus-visible,.chb-hero .chb-btn:focus-visible{outline-color:#fff}
/* Links "Saiba mais": seta anda no hover */
.chb-card__link,.chb-link-card__link,.chb-text-image__cta a{transition:letter-spacing .2s,color .2s}
.chb-card__link:hover,.chb-link-card:hover .chb-link-card__link{letter-spacing:.02em}

/* ═══ Efeitos: cards ═══ */
.chb-card,.chb-link-card,.chb-location-card{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.chb-card:hover,.chb-location-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(59,54,49,.14)}
.chb-card img,.chb-link-card__media img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.chb-card:hover img{transform:scale(1.05)}
.chb-card__icon,.chb-card__media{overflow:hidden}
.chb-text-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.chb-text-image img:hover{transform:scale(1.015);box-shadow:0 22px 44px rgba(59,54,49,.18)}

/* Reveal ao rolar (só com JS ativo; respeita reduced-motion) */
.oc-js .oc-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.oc-js .oc-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .oc-js .oc-reveal{opacity:1;transform:none;transition:none}
  .chb-btn,.chb-btn::after,.chb-card,.chb-link-card,.chb-location-card,.chb-card img,.chb-link-card__media img{transition:none!important}
  .chb-btn:hover,.chb-card:hover,.chb-location-card:hover,.chb-card:hover img{transform:none}
  .chb-btn::after{display:none}
}
/* Todos os botões da faixa (Centro e Norte) seguem o mesmo padrão: fundo branco, texto escuro e ícone de agenda.
   A cor personalizada da seção (campo "Botões — Cor personalizada", sections/cta.php) vale para todos: o plugin cuida do botão 1; os demais, aqui. */
.chb-cta .chb-btn--primary{background:#fff;color:#5E5750}
.chb-cta .chb-btn--ghost{border-color:#fff;background:#fff;color:#5E5750}
.chb-cta .chb-btn--ghost:hover{border-color:#fff;background:var(--chb-paper-alt);color:#5E5750}
.chb-cta .chb-btn--ghost.chb-cta__btn--custom-color,.chb-cta .chb-btn--ghost.chb-cta__btn--custom-color:hover{border-color:var(--chb-cta-btn-color);background:var(--chb-cta-btn-color);color:var(--chb-cta-btn-ink)}
.chb-cta .chb-btn--ghost.chb-cta__btn--custom-color:hover{filter:brightness(.92)}

/* ═══ Home — Catarata: banner com foto de fundo (assets/img/catarata-bg.webp), texto à esquerda e botão branco (referência aprovada) ═══
   Só apresentação: o markup do plugin não muda. A foto lateral original continua no código, mas fica oculta porque a imagem de fundo já traz o cirurgião. */
.home #catarata{position:relative;display:flex;align-items:center;min-height:clamp(440px,38vw,620px);padding-block:clamp(40px,5vw,72px);border:0;color:#fff;background:linear-gradient(90deg,rgba(94,87,80,.66) 0%,rgba(94,87,80,.34) 42%,rgba(94,87,80,0) 68%),url("../img/catarata-bg.webp?v=2") 72% center/cover no-repeat,#857D76}
.home #catarata .chb-text-image__grid{display:block;width:100%}
.home #catarata .chb-text-image__media{display:none}
.home #catarata .chb-text-image__content{max-width:min(34rem,52%)}
.home #catarata .chb-section-header{margin-bottom:14px;text-align:left}
.home #catarata .chb-section__eyebrow{margin-bottom:14px;color:rgba(255,255,255,.9);font-size:.7rem;font-weight:700;letter-spacing:.22em}
.home #catarata .chb-section__title{color:#fff;font-size:clamp(1.9rem,1.2rem + 2.6vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;text-shadow:0 2px 18px rgba(59,54,49,.3)}
.home #catarata .chb-prose p{max-width:32em;margin:0 0 26px;color:rgba(255,255,255,.94);font-size:clamp(.95rem,.9rem + .25vw,1.05rem);line-height:1.65;text-wrap:pretty;text-shadow:0 1px 10px rgba(59,54,49,.3)}
.home #catarata .chb-link-arrow{display:inline-flex;align-items:center;gap:.5em;margin-top:0;padding:.95em 1.6em;border-radius:12px;background:#fff;color:var(--oc-brand-dark);font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:0 16px 28px -16px rgba(59,54,49,.6);transition:transform .25s cubic-bezier(.2,.7,.2,1),background .2s,box-shadow .25s}
.home #catarata .chb-link-arrow:hover{background:#F4F1EE;color:var(--oc-ink);text-decoration:none;transform:translateY(-2px);box-shadow:0 20px 32px -16px rgba(59,54,49,.7)}
.home #catarata .chb-link-arrow:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:900px){
  /* tablet/celular: foto no alto, texto ancorado embaixo sobre degradê para manter a leitura */
  .home #catarata .chb-text-image__content{max-width:34rem}
  .home #catarata{align-items:flex-end;min-height:clamp(520px,135vw,640px);padding-block:36px 40px;background:linear-gradient(0deg,rgba(94,87,80,.95) 0%,rgba(94,87,80,.84) 44%,rgba(94,87,80,0) 74%),url("../img/catarata-bg.webp?v=2") 68% center/cover no-repeat,#857D76}
}

/* ═══ Cartões de serviço (home e internas): cartões com foto no topo, painel branco arredondado e botão circular (referência aprovada) ═══
   Só apresentação: o markup do plugin não muda. O link "Saiba mais" continua no DOM (texto oculto só visualmente) e o cartão inteiro segue clicável. */
.home #servicos{background:#FFFFFF;padding-block:clamp(48px,6vw,84px)}
.chb-cards .chb-section-header{margin-bottom:clamp(28px,4vw,44px)}
.home #servicos .chb-section__eyebrow{margin-bottom:12px;color:var(--oc-soft);font-size:.72rem;font-weight:600;letter-spacing:.24em}
.home #servicos .chb-section__title{color:var(--oc-ink);font-size:clamp(1.7rem,1.2rem + 1.8vw,2.4rem);font-weight:800;letter-spacing:-.02em}
.home #servicos .chb-section__lead{max-width:56ch;margin-top:10px;color:var(--oc-soft);font-size:clamp(.92rem,.88rem + .2vw,1.02rem)}
.chb-cards .chb-cards__grid{gap:clamp(16px,2vw,28px)}
@media(min-width:600px){.chb-cards .chb-cards__grid--cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.chb-cards .chb-cards__grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

.chb-cards .chb-card:has(>.chb-card__icon--image){position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr;align-content:start;height:auto;padding:0;border:0;border-radius:22px;background:#fff;color:var(--oc-ink);box-shadow:0 18px 40px -24px rgba(59,54,49,.3),0 1px 3px rgba(59,54,49,.06)}
.chb-cards .chb-card:has(>.chb-card__icon--image):hover{box-shadow:0 28px 52px -24px rgba(59,54,49,.4),0 1px 3px rgba(59,54,49,.06)}
/* foto */
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__icon{grid-column:1/-1;grid-row:1;z-index:0;margin:0;font-size:0;aspect-ratio:2/1;overflow:hidden;background:#E6E1DC}
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__icon img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}
/* painel branco com cantos de cima arredondados, sobrepondo a base da foto */
.chb-cards .chb-card:has(>.chb-card__icon--image)::before{content:"";grid-column:1/-1;grid-row:2/4;z-index:1;margin-top:-20px;border-radius:20px 20px 0 0;background:#fff}
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__title{grid-column:1;grid-row:2;z-index:2;margin:0;padding:6px 0 0 clamp(18px,2vw,26px);color:var(--oc-ink);font-size:clamp(1.15rem,1.05rem + .4vw,1.4rem);font-weight:800;letter-spacing:-.01em;line-height:1.2}
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__text{grid-column:1;grid-row:3;z-index:2;max-width:34ch;margin:8px 0 0;padding:0 0 clamp(18px,2vw,26px) clamp(18px,2vw,26px);color:var(--oc-soft);font-size:.88rem;line-height:1.5}
/* botão circular com seta; texto do link só para leitores de tela */
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__link{grid-column:2;grid-row:2/4;z-index:2;align-self:center;justify-self:end;display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0 clamp(18px,2vw,26px) 0 12px;padding:0;border-radius:50%;background:var(--oc-brand);color:#fff;font-size:0;line-height:0;letter-spacing:0;transition:background .25s,transform .25s cubic-bezier(.2,.7,.2,1)}
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__link::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.chb-cards .chb-card:has(>.chb-card__icon--image):hover .chb-card__link,.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__link:hover{background:var(--oc-brand-dark);color:#fff;letter-spacing:0}
.chb-cards .chb-card:has(>.chb-card__icon--image):hover .chb-card__link::before{transform:translateX(3px)}
/* cartão inteiro clicável */
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__link::after{content:"";position:absolute;inset:0;border-radius:22px}
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__link:focus-visible{outline:none}
.chb-cards .chb-card:has(>.chb-card__icon--image) .chb-card__link:focus-visible::after{outline:3px solid var(--oc-brand);outline-offset:-6px}
/* botão "Veja todos…" no padrão de botão da home */
.chb-cards .chb-section__cta{margin-top:clamp(28px,4vw,44px)}
.chb-cards .chb-section__cta .chb-btn--primary{padding:.95em 1.8em;border-radius:12px;background:var(--oc-brand);color:#fff;font-size:.95rem;font-weight:700;box-shadow:0 16px 28px -16px rgba(133,125,118,.8)}
.chb-cards .chb-section__cta .chb-btn--primary:hover{background:var(--oc-brand-dark);color:#fff}

/* ═══ Home — Cuidando da sua visão (#clinica): texto à esquerda, botão na cor da marca e foto grande arredondada à direita (referência aprovada) ═══
   Só apresentação: o markup do plugin não muda. */
.home #clinica{background:#F7F6F4;border:0;padding-block:clamp(48px,6vw,88px)}
@media(min-width:820px) and (max-width:899px){.home #clinica .chb-text-image__grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:900px){
  .home #clinica .chb-text-image__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,4.5vw,64px)}
}
.home #clinica .chb-section-header{margin-bottom:clamp(14px,2vw,20px)}
.home #clinica .chb-section__title{max-width:15em;color:var(--oc-ink);font-size:clamp(1.65rem,1.1rem + 1.5vw,2.2rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
.home #clinica .chb-prose p{max-width:34em;margin:0 0 .9em;color:var(--oc-soft);font-size:clamp(.95rem,.9rem + .2vw,1.03rem);line-height:1.65}
.home #clinica .chb-link-arrow{display:inline-flex;align-items:center;gap:.5em;margin-top:clamp(10px,1.6vw,16px);padding:.95em 1.7em;border-radius:12px;background:var(--oc-brand);color:#fff;font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:0 16px 28px -16px rgba(94,87,80,.8);transition:transform .25s cubic-bezier(.2,.7,.2,1),background .2s,box-shadow .25s}
.home #clinica .chb-link-arrow:hover{background:var(--oc-brand-dark);color:#fff;text-decoration:none;transform:translateY(-2px)}
.home #clinica .chb-link-arrow:focus-visible{outline:3px solid var(--oc-brand-dark);outline-offset:3px}
.home #clinica .chb-text-image__media:not(.oc-collage) img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:3/2;object-fit:cover;border-radius:22px;box-shadow:0 30px 60px -30px rgba(59,54,49,.5),0 2px 8px rgba(59,54,49,.06)}

/* Colagem de fotos da seção "Texto + Fotos" (sections/texto-fotos.php): foto principal grande + até 2 menores à direita.
   Fotos editáveis no builder e no /painel (campos "Foto principal", "Foto 2" e "Foto 3"). Com 1 ou 2 fotos a grade se ajusta. */
.oc-collage{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,1.1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);aspect-ratio:1.9/1}
.oc-collage--2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);aspect-ratio:1.7/1}
.oc-collage--1{grid-template-columns:minmax(0,1fr);aspect-ratio:3/2}
.oc-collage figure{margin:0;overflow:hidden;border-radius:clamp(14px,1.6vw,20px);background:#E6E1DC;box-shadow:0 22px 44px -26px rgba(59,54,49,.5),0 1px 3px rgba(59,54,49,.06)}
.oc-collage figure img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;border-radius:0;box-shadow:none;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.oc-collage figure:hover img,.chb-text-image .oc-collage figure img:hover{transform:scale(1.05);box-shadow:none}
.oc-collage__main{grid-column:1;grid-row:1/3}
.oc-collage__a{grid-column:2;grid-row:1}
.oc-collage__b{grid-column:2;grid-row:2}
.oc-collage--2 .oc-collage__a{grid-row:1/3}
@media(max-width:560px){.oc-collage{aspect-ratio:1.5/1}}

/* ═══ Home — Unidades (#contato): cabeçalho à esquerda e cartões brancos com ícones de endereço, telefone e horário (referência aprovada) ═══
   Só apresentação: markup, textos e links do plugin não mudam. As fotos das unidades e o botão "Como chegar" do mockup não existem no site. */
#contato{background:#fff;padding-block:clamp(48px,6vw,84px)}
#contato .chb-section-header{margin-bottom:clamp(20px,3vw,32px);text-align:left}
#contato .chb-section__eyebrow{margin-bottom:12px;color:var(--oc-soft);font-size:.72rem;font-weight:600;letter-spacing:.24em}
#contato .chb-section__title{color:var(--oc-ink);font-size:clamp(1.65rem,1.1rem + 1.5vw,2.2rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
#contato .chb-section__lead{max-width:40em;margin:10px 0 0;color:var(--oc-soft);font-size:clamp(.95rem,.9rem + .2vw,1.03rem)}
#contato .chb-locations__grid{gap:clamp(16px,2vw,28px)}
#contato .chb-location-card{gap:0;padding:clamp(22px,2.6vw,32px);border:1px solid #EFEBE7;border-radius:22px;background:#fff;box-shadow:0 18px 40px -26px rgba(59,54,49,.35),0 1px 3px rgba(59,54,49,.05)}
#contato .chb-location-card__title{margin:0 0 18px;color:var(--oc-ink);font-size:1.25rem;font-weight:800;letter-spacing:-.01em}
#contato .chb-location-card__address,#contato .chb-location-card__meta span{position:relative;display:block;padding-left:34px;color:var(--oc-soft);font-size:.92rem;line-height:1.55}
#contato .chb-location-card__address{margin:0 0 14px}
#contato .chb-location-card__meta{flex-direction:column;gap:10px;margin:0}
#contato .chb-location-card__address::before,#contato .chb-location-card__meta span::before{content:"";position:absolute;left:0;top:.1em;width:21px;height:21px;background:var(--oc-brand);-webkit-mask:var(--oc-ico) center/contain no-repeat;mask:var(--oc-ico) center/contain no-repeat}
#contato .chb-location-card__address{--oc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
#contato .chb-location-card__meta span:nth-child(1){--oc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
#contato .chb-location-card__meta span:nth-child(2){--oc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E")}
#contato .chb-location-card__actions{margin-top:auto;padding-top:22px}
#contato .chb-location-card__actions .chb-btn{padding:.9em 1.5em;border-radius:12px;background:var(--oc-brand);color:#fff;font-size:.9rem;font-weight:700;box-shadow:0 14px 26px -16px rgba(94,87,80,.8)}
#contato .chb-location-card__actions .chb-btn:hover{background:var(--oc-brand-dark);color:#fff}
#contato .chb-location-card__actions .chb-btn::before{content:"";flex:none;width:1.15em;height:1.15em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") center/contain no-repeat}

/* Unidades com foto (sections/unidades.php): foto no topo do cartão; ao lado do texto em telas largas. Fotos editáveis no builder e no /painel. */
#contato .oc-location__body{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}
#contato .oc-location--photo{padding:14px}
#contato .oc-location__photo{margin:0;overflow:hidden;border-radius:16px;background:#E6E1DC;aspect-ratio:16/10}
#contato .oc-location__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:20% 50%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
#contato .oc-location--photo:hover .oc-location__photo img{transform:scale(1.04)}
#contato .oc-location--photo .oc-location__body{padding:20px 12px 10px}
@media(min-width:1100px){
  #contato .oc-location--photo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:stretch}
  #contato .oc-location__photo{aspect-ratio:auto;height:100%;min-height:270px}
  #contato .oc-location--photo .oc-location__body{padding:12px 14px 12px 6px;justify-content:center}
  #contato .oc-location--photo .chb-location-card__actions{margin-top:0}
}

/* ═══ Páginas internas — mesma linguagem visual da home (cor da marca #857D76, cartões brancos arredondados, botões de 12px) ═══
   Só apresentação: markup, textos e links não mudam. Regras da home com ID (#servicos, #clinica…) continuam valendo por cima destas. */

/* Títulos de seção (eyebrow, título, subtítulo) */
.chb-section__eyebrow{color:var(--oc-soft);font-size:.72rem;font-weight:600;letter-spacing:.24em}
.chb-section__title{color:var(--oc-ink);font-size:clamp(1.65rem,1.1rem + 1.5vw,2.2rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
.chb-section__lead{color:var(--oc-soft);font-size:clamp(.95rem,.9rem + .2vw,1.03rem)}
.chb-section--alt{background:#F7F6F4;border:0}

/* Botões */
.chb-btn{border-radius:12px;font-weight:700}
.chb-btn--primary{background:var(--oc-brand);color:#fff}
.chb-btn--primary:hover{background:var(--oc-brand-dark);color:#fff}
.chb-btn--ghost{border-color:var(--oc-brand);color:var(--oc-brand-dark)}
.chb-btn--ghost:hover{background:var(--oc-brand);border-color:var(--oc-brand);color:#fff}

/* Hero compacto das páginas internas: fundo claro com círculos suaves, texto à esquerda (igual ao hero da home) */
.chb-hero.chb-hero--plain.chb-hero--compact{min-height:0;color:var(--oc-ink);border-bottom:1px solid #EFEBE7;background:radial-gradient(40% 90% at 84% 30%,rgba(255,255,255,.95),rgba(255,255,255,0) 70%),repeating-radial-gradient(circle at 84% 42%,rgba(133,125,118,0) 0 168px,rgba(133,125,118,.14) 169px 171px),linear-gradient(180deg,#FAF8F6 0%,#F1EDE9 100%)}
.chb-hero--compact .chb-hero__inner{align-items:flex-start;text-align:left;padding-block:clamp(44px,6vw,84px)}
.chb-hero--plain.chb-hero--compact .chb-hero__eyebrow{margin:0 0 clamp(12px,2vh,18px);padding:0;border-radius:0;background:none;color:var(--oc-ink);font-family:var(--chb-font);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-align:left;text-transform:uppercase}
.chb-hero--plain.chb-hero--compact .chb-hero__title{max-width:18em;margin:0 0 clamp(12px,2vh,18px);color:var(--oc-brand);font-size:clamp(2rem,1.2rem + 2.8vw,3.2rem);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.chb-hero--plain.chb-hero--compact .chb-hero__title::first-line{color:var(--oc-ink)}
.chb-hero--plain.chb-hero--compact .chb-hero__sub,.chb-hero--plain.chb-hero--compact .chb-hero__text{max-width:38em;margin:0;color:var(--oc-soft);opacity:1;font-size:clamp(1rem,.95rem + .3vw,1.12rem);line-height:1.65}
.chb-hero--plain.chb-hero--compact .chb-hero__actions{justify-content:flex-start;margin-top:22px}

/* Texto + Imagem: foto arredondada com sombra, link como botão na cor da marca */
.chb-text-image__media img{width:100%;max-height:620px;object-fit:cover;object-position:center 15%;border-radius:22px;box-shadow:0 30px 60px -30px rgba(59,54,49,.5),0 1px 3px rgba(59,54,49,.06)}
.chb-text-image .chb-link-arrow{display:inline-flex;align-items:center;gap:.5em;margin-top:clamp(10px,1.6vw,16px);padding:.95em 1.7em;border-radius:12px;background:var(--oc-brand);color:#fff;font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:0 16px 28px -16px rgba(94,87,80,.8);transition:transform .25s cubic-bezier(.2,.7,.2,1),background .2s}
.chb-text-image .chb-link-arrow:hover{background:var(--oc-brand-dark);color:#fff;text-decoration:none;transform:translateY(-2px)}
.chb-prose p,.chb-prose li{color:var(--oc-soft)}

/* Cartões sem foto (ex.: valores): cartão branco arredondado */
.chb-cards .chb-card:not(:has(>.chb-card__icon--image)){padding:clamp(20px,2.4vw,28px);border:1px solid #EFEBE7;border-radius:18px;background:#fff;box-shadow:0 18px 40px -26px rgba(59,54,49,.35),0 1px 3px rgba(59,54,49,.05)}
.chb-card__title{color:var(--oc-ink);font-weight:800}
.chb-card__text{color:var(--oc-soft)}
.chb-card__link{color:var(--oc-brand-dark)}

/* Cartões de link (ex.: O Olho): mesmo padrão do corpo clínico */
.chb-link-card{border:1px solid #EFEBE7;border-radius:18px;background:#fff;box-shadow:0 18px 40px -26px rgba(59,54,49,.35),0 1px 3px rgba(59,54,49,.05);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
a.chb-link-card:hover{border-color:#EFEBE7;transform:translateY(-6px);box-shadow:0 28px 50px -26px rgba(59,54,49,.45),0 1px 3px rgba(59,54,49,.05)}
.chb-link-card__media{overflow:hidden}
.chb-link-card__media img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
a.chb-link-card:hover .chb-link-card__media img{transform:scale(1.05)}
.chb-link-card__body{padding:16px 16px 18px}
.chb-link-card__title{margin-bottom:12px;color:var(--oc-ink);font-size:1.05rem;font-weight:800;line-height:1.25;letter-spacing:-.01em}
.chb-link-card__cta{align-self:flex-start;margin-top:auto;padding:.5em 1.15em;border:1.5px solid var(--oc-brand);border-radius:999px;color:var(--oc-brand-dark);font-family:var(--chb-font);font-size:.8rem;font-weight:700;transition:background .25s,color .25s,border-color .25s}
a.chb-link-card:hover .chb-link-card__cta{background:var(--oc-brand);border-color:var(--oc-brand);color:#fff}
@media(min-width:600px){.chb-link-cards__grid--cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.chb-link-cards__grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Colunas com checklist (Serviços): cada coluna num cartão branco */
.chb-columns-checklist__grid{align-items:start}
.chb-columns-checklist__col{padding:clamp(20px,2.6vw,32px);border:1px solid #EFEBE7;border-radius:22px;background:#fff;box-shadow:0 18px 40px -26px rgba(59,54,49,.35),0 1px 3px rgba(59,54,49,.05)}
.chb-columns-checklist__title{color:var(--oc-ink);font-size:1.2rem;font-weight:800}
.chb-columns-checklist__check{color:var(--oc-brand)}
.chb-columns-checklist__list li{color:var(--oc-soft)}

/* Galeria de ambientes: fotos arredondadas, 3 por linha com a última linha centralizada (os convênios têm regras próprias) */
.chb-gallery:not(#convenios) .chb-gallery__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,1.6vw,20px)}
.chb-gallery:not(#convenios) .chb-gallery__item{flex:0 0 calc((100% - 2 * clamp(12px,1.6vw,20px)) / 3);border:0;border-radius:20px;box-shadow:0 18px 40px -26px rgba(59,54,49,.45),0 1px 3px rgba(59,54,49,.06)}
@media(max-width:640px){.chb-gallery:not(#convenios) .chb-gallery__item{flex-basis:calc((100% - 12px) / 2)}}

/* Contato: formulário em cartão branco, campos arredondados com foco na cor da marca */
.chb-contact__info .chb-section-header{text-align:left}
.chb-contact__info .chb-section__lead{margin-inline:0}
.chb-contact__form{padding:clamp(22px,3vw,36px);border:1px solid #EFEBE7;border-radius:22px;background:#fff;box-shadow:0 24px 50px -30px rgba(59,54,49,.4),0 1px 3px rgba(59,54,49,.05)}
.chb-contact__list strong{color:var(--oc-soft);font-size:.72rem;font-weight:600;letter-spacing:.2em}
.chb-contact__list a{color:var(--oc-ink);font-weight:600}
.chb-contact__list a:hover{color:var(--oc-brand)}
.chb-form-field label{color:var(--oc-ink);font-weight:700}
.chb-form-field input:not([type=hidden]),.chb-form-field textarea{padding:.8em 1em;border:1.5px solid #E3DDD7;border-radius:12px;background:#fff}
.chb-form-field input:not([type=hidden]):focus,.chb-form-field textarea:focus{border-color:var(--oc-brand);background:#fff;box-shadow:0 0 0 3px rgba(133,125,118,.22);outline:none}

/* Ambientes por unidade (sections/ambientes.php): fotos separadas por unidade + tour virtual do Google Maps. Editável no builder e no /painel. */
.oc-ambientes__unit+.oc-ambientes__unit{margin-top:clamp(44px,6vw,80px);padding-top:clamp(36px,5vw,64px);border-top:1px solid #E3DDD7}
.oc-ambientes__name{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 clamp(20px,3vw,32px);color:var(--oc-ink);font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);font-weight:800;letter-spacing:-.01em;text-align:center}
.oc-ambientes__name::before{content:"";flex:none;width:24px;height:24px;background:var(--oc-brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat}
/* 4 por linha quando a unidade tem 4+ fotos (7 fotos = 4 + 3 centralizadas), 3 por linha nos demais casos */
.chb-gallery.oc-ambientes:not(#convenios) .oc-ambientes__grid--cols-4 .chb-gallery__item{flex-basis:calc((100% - 3 * clamp(12px,1.6vw,20px)) / 4)}
@media(max-width:899px){.chb-gallery.oc-ambientes:not(#convenios) .oc-ambientes__grid .chb-gallery__item{flex-basis:calc((100% - 2 * clamp(12px,1.6vw,20px)) / 3)}}
@media(max-width:640px){.chb-gallery.oc-ambientes:not(#convenios) .oc-ambientes__grid .chb-gallery__item{flex-basis:calc((100% - 12px) / 2)}}
.oc-ambientes__tour{max-width:900px;margin:clamp(28px,4vw,44px) auto 0}
.oc-ambientes__tour-title{margin:0 0 14px;color:var(--oc-soft);font-size:.72rem;font-weight:600;letter-spacing:.24em;text-align:center;text-transform:uppercase}
.oc-ambientes__frame{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:22px;background:#E6E1DC;box-shadow:0 24px 50px -28px rgba(59,54,49,.5),0 1px 3px rgba(59,54,49,.06)}
.oc-ambientes__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:640px){.oc-ambientes__frame{aspect-ratio:4/5}}

/* ═══ Postagem (templates/single-post.php): topo com foto de capa, texto em coluna de leitura, "Leia também" ═══ */
.oc-post-hero .chb-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(24px,4vw,64px);align-items:center}
.oc-post-hero__text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.oc-post-hero .chb-hero__eyebrow a{color:inherit;text-decoration:none}
.oc-post-hero .chb-hero__eyebrow a:hover{color:var(--oc-brand)}
.oc-post-hero__media{margin:0;overflow:hidden;border-radius:22px;background:#E6E1DC;aspect-ratio:3/2;box-shadow:0 30px 60px -30px rgba(59,54,49,.5),0 1px 3px rgba(59,54,49,.06)}
.oc-post-hero__media img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:860px){
  .oc-post-hero .chb-hero__inner{grid-template-columns:minmax(0,1fr)}
  .oc-post-hero__media{max-width:520px}
}

.oc-post{padding-block:clamp(36px,5vw,72px)}
.oc-post__shell{max-width:800px}
.oc-post__content{font-size:clamp(1rem,.96rem + .2vw,1.08rem);line-height:1.85}
.oc-post__content>*:first-child{margin-top:0}
.oc-post__content p{margin:0 0 1.15em;color:#4A453F}
.oc-post__content strong{color:var(--oc-ink)}
/* "subtítulos" dos artigos (parágrafos só em negrito, em caixa alta no texto original) */
.oc-post__content p.oc-post__sub{margin:2em 0 .6em;padding-left:14px;border-left:3px solid var(--oc-brand);color:var(--oc-ink);font-size:1.02rem;letter-spacing:.03em;line-height:1.5}
.oc-post__content p.oc-post__sub:first-child{margin-top:0}
.oc-post__content a{color:var(--oc-brand-dark);text-decoration:underline;text-underline-offset:3px}
.oc-post__content ul,.oc-post__content ol{margin:0 0 1.2em;padding-left:1.3em;color:#4A453F}
.oc-post__content li{margin-bottom:.4em}
.oc-post__content img{display:block;max-width:100%;height:auto;margin:1.4em auto .4em;border-radius:14px;box-shadow:0 14px 30px -20px rgba(59,54,49,.45)}
.oc-post__back{margin-top:clamp(28px,4vw,44px);padding-top:clamp(20px,3vw,28px);border-top:1px solid #E3DDD7}

.oc-post-related .chb-section-header{margin-bottom:clamp(20px,3vw,32px)}

/* ═══ Contato (sections/contato.php): informações das unidades + formulário único com assunto selecionável ═══ */
.oc-contact{padding-block:clamp(40px,5vw,72px)}
.oc-contact__grid{display:grid;gap:clamp(28px,4vw,56px);align-items:start}
.oc-contact__formwrap{order:-1}
@media(min-width:900px){
  .oc-contact__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .oc-contact__formwrap{order:0}
}
.oc-contact__info-title{margin:0 0 10px;color:var(--oc-ink);font-size:clamp(1.4rem,1.1rem + 1vw,1.8rem);font-weight:800;line-height:1.2;letter-spacing:-.02em}
.oc-contact__info-text{margin:0 0 24px;color:var(--oc-soft);line-height:1.65}
.oc-contact__units{display:grid;gap:16px}
.oc-contact__unit{padding:clamp(18px,2.2vw,24px);border:1px solid #EFEBE7;border-radius:18px;background:#fff;box-shadow:0 18px 40px -26px rgba(59,54,49,.35),0 1px 3px rgba(59,54,49,.05)}
.oc-contact__unit-name{margin:0 0 12px;color:var(--oc-ink);font-size:1.1rem;font-weight:800;letter-spacing:-.01em}
.oc-contact__row{position:relative;margin:0 0 8px;padding-left:32px;color:var(--oc-soft);font-size:.92rem;line-height:1.55}
.oc-contact__row::before{content:"";position:absolute;left:0;top:.12em;width:20px;height:20px;background:var(--oc-brand);-webkit-mask:var(--oc-ico) center/contain no-repeat;mask:var(--oc-ico) center/contain no-repeat}
.oc-contact__row--pin{--oc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.oc-contact__row--phone{--oc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.oc-contact__row--clock{--oc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E")}
.oc-contact__row--mail{--oc-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E")}
.oc-contact__row a{color:var(--oc-ink);font-weight:600;text-decoration:none}
.oc-contact__row a:hover{color:var(--oc-brand-dark);text-decoration:underline}
.oc-contact__unit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.oc-contact__mail{margin-top:22px}
.oc-contact__mail span{margin-right:.4em;color:var(--oc-soft);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}

/* cartão do formulário */
.oc-contact__formwrap{padding:clamp(22px,3vw,36px);border:1px solid #EFEBE7;border-radius:22px;background:#fff;box-shadow:0 24px 50px -30px rgba(59,54,49,.4),0 1px 3px rgba(59,54,49,.05)}
.oc-contact__formwrap .chb-form-msg{margin-bottom:18px;border-radius:12px}
.oc-form__subjects{min-width:0;margin:0 0 20px;padding:0;border:0;display:flex;flex-wrap:wrap;gap:10px}
.oc-form__subjects legend{width:100%;padding:0;margin-bottom:10px;color:var(--oc-ink);font-size:.85rem;font-weight:700}
.oc-form__pill{position:relative;cursor:pointer}
.oc-form__pill input{position:absolute;opacity:0;pointer-events:none}
.oc-form__pill span{display:inline-flex;align-items:center;padding:.7em 1.3em;border:1.5px solid #E3DDD7;border-radius:999px;background:#fff;color:var(--oc-ink);font-size:.9rem;font-weight:700;transition:background .2s,border-color .2s,color .2s}
.oc-form__pill:hover span{border-color:var(--oc-brand)}
.oc-form__pill input:checked+span{border-color:var(--oc-brand);background:var(--oc-brand);color:#fff}
.oc-form__pill input:focus-visible+span{outline:3px solid rgba(133,125,118,.45);outline-offset:2px}
.chb-form-field select{width:100%;padding:.8em 1em;border:1.5px solid #E3DDD7;border-radius:12px;background:#fff;color:inherit;font:inherit}
.chb-form-field select:focus{border-color:var(--oc-brand);box-shadow:0 0 0 3px rgba(133,125,118,.22);outline:none}
.oc-form__count{display:block;margin-top:4px;color:var(--oc-soft);font-size:.75rem;text-align:right}
.oc-form__hint{display:block;margin-top:6px;color:var(--oc-soft);font-size:.78rem}
.oc-form__file[hidden]{display:none}
.oc-form__file input[type=file]{width:100%;padding:.7em 1em;border:1.5px dashed #CFC8C1;border-radius:12px;background:#FAF8F6;font:inherit;font-size:.9rem}
.oc-form .chb-btn--full{margin-top:6px;padding:.95em 1.5em;font-size:.95rem}

/* ═══ Navegação mobile: barra inferior do ch-builder (Agendar no Centro · Agendar no Norte · Menu) + cabeçalho só com a logo ═══
   Só vale com a barra ligada (o ch-builder põe .chb-has-bottom-nav no body). O item "Menu" abre o menu do cabeçalho (assets/js/oc-home.js). */
@media(max-width:768px){
  body.chb-has-bottom-nav .chb-hamburger,
  body.chb-has-bottom-nav .chb-header__right{display:none}
  body.chb-has-bottom-nav .chb-header__inner{justify-content:center}

  .chb-bottom-nav{padding-top:8px;border-top:1px solid #EFEBE7;background:#fff;box-shadow:0 -12px 30px -14px rgba(59,54,49,.28)}
  .chb-bottom-nav__item{gap:4px;color:var(--oc-ink);font-size:11px;font-weight:700;letter-spacing:.01em;-webkit-tap-highlight-color:transparent}
  .chb-bottom-nav__item svg{width:22px;height:22px;color:var(--oc-brand)}
  .chb-bottom-nav__item.is-current,.chb-bottom-nav__item.is-open{color:var(--oc-brand-dark)}
  .chb-bottom-nav__item.is-open svg,.chb-bottom-nav__item.is-open::before{color:var(--oc-brand-dark)}
  /* item "Menu": ícone de hambúrguer (o conjunto de ícones do plugin não tem) */
  .chb-bottom-nav__item[href="#chb-menu"] svg{display:none}
  .chb-bottom-nav__item[href="#chb-menu"]::before{content:"";width:22px;height:22px;background:var(--oc-brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M4 6.5h16M4 12h16M4 17.5h16'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M4 6.5h16M4 12h16M4 17.5h16'/%3E%3C/svg%3E") center/contain no-repeat}
  .chb-bottom-nav__item[href="#chb-menu"].is-open::before{background:var(--oc-brand-dark)}

  /* menu aberto: painel que sobe de cima da barra inferior, com o fundo escurecido */
  body.chb-has-bottom-nav .chb-nav{inset:auto 0 calc(58px + env(safe-area-inset-bottom,0px)) 0;max-height:calc(100vh - 68px - 70px - env(safe-area-inset-bottom,0px));overflow-y:auto;padding:10px 12px 6px;border:0;border-radius:22px 22px 0 0;box-shadow:0 -20px 40px -20px rgba(59,54,49,.4)}
  body.chb-has-bottom-nav .chb-nav__list a{padding:.85em .7em;font-size:1rem;border-bottom:1px solid #F1EDE9}
  body.chb-has-bottom-nav .chb-nav__list li:last-child a{border-bottom:0}
  body.oc-menu-open::before,body.oc-assist-open::before{content:"";position:fixed;inset:0;z-index:940;background:rgba(59,54,49,.4)}
}

/* ═══ Assistente (módulo do ch-builder): botão flutuante no desktop; no celular abre pelo item "Assistente" da barra inferior ═══
   Perguntas, respostas e botões vêm do /painel → Assistente. */
.chb-assist{right:24px;bottom:24px}
.chb-assist__fab{width:58px;height:58px;background:var(--chb-assist-color,#25D366);color:var(--chb-assist-ink,#1a1b1f);font-size:0;box-shadow:0 14px 30px -10px rgba(59,54,49,.55),0 2px 6px rgba(59,54,49,.15);transition:transform .25s cubic-bezier(.2,.7,.2,1),background .2s}
.chb-assist__fab::before{content:"";width:26px;height:26px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E") center/contain no-repeat}
.chb-assist__fab[aria-expanded="true"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E")}
.chb-assist__fab:hover{background:var(--chb-assist-color,#25D366);filter:brightness(.92);transform:scale(1.07)}
.chb-assist__fab:focus-visible{outline:3px solid var(--oc-brand-dark);outline-offset:3px}
.chb-assist__panel{bottom:72px;width:min(360px,calc(100vw - 40px));max-height:min(540px,calc(100vh - 150px));padding:20px 18px 16px;border:1px solid #EFEBE7;border-radius:22px;box-shadow:0 30px 60px -24px rgba(59,54,49,.5),0 2px 8px rgba(59,54,49,.08)}
.chb-assist__list{gap:8px}
.chb-assist__list[hidden]{display:none}
.chb-assist__list::before{content:"Como podemos ajudar?";display:block;margin:0 2px 6px;color:var(--oc-ink);font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.chb-assist__q{position:relative;padding:12px 38px 12px 14px;border:1.5px solid #EFEBE7;border-radius:14px;background:#fff;color:var(--oc-ink);font-size:.9rem;font-weight:600;line-height:1.35;transition:border-color .2s,background .2s}
.chb-assist__q::after{content:"";position:absolute;right:13px;top:50%;width:16px;height:16px;margin-top:-8px;background:var(--oc-brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.chb-assist__q:hover{border-color:var(--oc-brand);background:#FAF8F6}
.chb-assist__q:focus-visible{outline:3px solid var(--oc-brand);outline-offset:2px}
.chb-assist__back{margin-bottom:12px;color:var(--oc-brand-dark);font-size:.85rem;font-weight:700}
.chb-assist__answer p{margin:0;color:#4A453F;font-size:.92rem;line-height:1.6;white-space:pre-line}
.chb-assist__cta{display:flex;align-items:center;justify-content:center;margin-top:16px;padding:.85em 1.2em;border-radius:12px;background:var(--oc-brand);color:#fff;font-size:.92rem;font-weight:700;text-decoration:none;box-shadow:0 14px 26px -16px rgba(94,87,80,.8);transition:background .2s}
.chb-assist__cta:hover{background:var(--oc-brand-dark);color:#fff}
/* Cores do botão e do balão: as escolhidas em /painel → Assistente (variáveis na raiz do widget, geradas pelo ch-builder: --chb-assist-color/-ink = botão,
   --chb-assist-hint-color/-ink = balão; balão em branco usa a cor do botão) ou, sem escolha, o verde do WhatsApp (#25D366, o mesmo dos botões de
   WhatsApp do ch-builder) com texto/ícone escuro para manter o contraste.
   Balão "Precisa de Ajuda?" ao lado do botão (inserido por assets/js/oc-home.js): some enquanto o painel está aberto; clicar nele abre o painel. */
.oc-assist-hint{position:absolute;right:calc(100% + 14px);top:50%;padding:.65em 1.1em;border-radius:14px;background:var(--chb-assist-hint-color,var(--chb-assist-color,#25D366));color:var(--chb-assist-hint-ink,var(--chb-assist-ink,#1a1b1f));font-size:.9rem;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;box-shadow:0 14px 28px -12px rgba(59,54,49,.45),0 2px 6px rgba(59,54,49,.12);transform:translateY(-50%);animation:oc-hint-in .5s cubic-bezier(.2,.7,.2,1) .8s both}
.oc-assist-hint::after{content:"";position:absolute;right:-5px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:3px;background:var(--chb-assist-hint-color,var(--chb-assist-color,#25D366));transform:rotate(45deg)}
.chb-assist__fab[aria-expanded="true"] ~ .oc-assist-hint{display:none}
@keyframes oc-hint-in{from{opacity:0;transform:translate(10px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@media(prefers-reduced-motion:reduce){.chb-assist__fab,.chb-assist__q{transition:none}.chb-assist__fab:hover{transform:none}.oc-assist-hint{animation:none}}

/* celular (com a barra inferior ativa): o botão flutuante some (e o balão junto) e o painel sobe de cima da barra, como o menu */
@media(max-width:768px){
  body.chb-has-bottom-nav .chb-assist{display:block;position:static}
  body.chb-has-bottom-nav .chb-assist__fab,body.chb-has-bottom-nav .oc-assist-hint{display:none}
  body.chb-has-bottom-nav .chb-assist__panel{position:fixed;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));z-index:960;width:auto;max-height:calc(100vh - 68px - 70px - env(safe-area-inset-bottom,0px));padding:20px 16px 16px;border:0;border-radius:22px 22px 0 0;box-shadow:0 -20px 40px -20px rgba(59,54,49,.4)}
  /* quatro itens: os dois "Agendar" ganham mais largura para o rótulo caber numa linha */
  .chb-bottom-nav__item:nth-child(-n+2){flex:1.4}
}
@media(max-width:380px){.chb-bottom-nav__item{font-size:10.5px}}

/* ═══ Rodapé claro (#F4F1EE) ═══ */
.chb-footer{--chb-footer-bg:#F4F1EE;--chb-footer-text:#3B3631;background:#F4F1EE;color:#3B3631}
.chb-footer a:hover{color:#5E5750}
.chb-footer__social a:hover{background:#3B3631;border-color:#3B3631;color:#fff}
.chb-footer__links li::before{background-color:#857D76}
.chb-footer__credit img[src*="invert"]{filter:invert(1)}
