/* ==========================================================================
   CROE — camada de acabamento premium (só visual; não altera textos)
   Carrega depois de croe.css. Para voltar ao visual anterior, basta
   remover o enqueue de "croe-premium" em functions.php.
   Respeita as decisões de 13/10/2026: títulos sem serifa, sem itálico,
   sem rótulo de seção, pílulas com ícone, prata só sobre azul.
   ========================================================================== */
:root {
	--croe-navy-deep: #1A2B50;   /* blocos escuros e barra superior */
	--croe-navy-night: #121E38;  /* fundo mais escuro dos degradês */
	--croe-silver-soft: rgba(201, 209, 220, .9);
	--croe-silver-line: linear-gradient(90deg, rgba(201, 209, 220, .9), rgba(201, 209, 220, 0));
	--croe-line-soft: rgba(39, 65, 114, .09);
	--croe-gold: #C2A15F;        /* estrelas das avaliações */
	--croe-shadow-soft: 0 30px 60px -36px rgba(18, 30, 56, .38);
	--croe-shadow-deep: 0 48px 96px -56px rgba(18, 30, 56, .7);
	--croe-ease-out: cubic-bezier(.16, 1, .3, 1);
}

/* ---------- Base ---------- */
body { text-rendering: optimizeLegibility; font-feature-settings: "kern" 1; }
::selection { background: var(--croe-navy); color: #fff; }
html { scrollbar-color: rgba(39, 65, 114, .35) transparent; scrollbar-width: thin; }
.elementor-widget-text-editor p { text-wrap: pretty; }
.elementor-kit-5 { line-height: 1.72em; }

/* Títulos: mais escala, tracking fechado, peso médio (ainda sem serifa) */
body .elementor-widget-heading h1.elementor-heading-title,
body .elementor-widget-heading h2.elementor-heading-title { font-weight: 500; letter-spacing: -.032em; text-wrap: balance; }
body .elementor-widget-heading h2.elementor-heading-title { font-size: 52px; line-height: 1.06; }
body .elementor-widget-heading h3.elementor-heading-title { letter-spacing: -.012em; }
.croe-title .elementor-heading-title { line-height: 1.04; }
@media (max-width: 1024px) { body .elementor-widget-heading h2.elementor-heading-title { font-size: 40px; } }
@media (max-width: 767px)  { body .elementor-widget-heading h2.elementor-heading-title { font-size: 32px; line-height: 1.1; } }

.croe-lead, .croe-lead p { font-size: 1.15rem; line-height: 1.7; }
@media (max-width: 767px) { .croe-lead, .croe-lead p { font-size: 1.06rem; } }

/* ---------- Respiro entre seções (desktop) ---------- */
@media (min-width: 1025px) {
	body section.e-con.e-parent:not(.croe-hero) {
		--padding-block-start: calc(var(--padding-top) * 1.25);
		--padding-block-end: calc(var(--padding-bottom) * 1.25);
	}
	.croe-split-head { margin-bottom: 8px; }
}

/* ---------- Cabeçalho ---------- */
.croe-topbar { background-image: linear-gradient(90deg, var(--croe-navy-night), var(--croe-navy-deep)); }
.croe-topbar, .croe-topbar p, .croe-topbar a { color: var(--croe-silver-soft); font-size: 12.5px; letter-spacing: .02em; }
.croe-topbar a:hover { color: #fff; }
.croe-topbar .croe-topbar-sep { font-size: 0; padding: 0 14px; opacity: 1; }
.croe-topbar .croe-topbar-sep::before { content: ""; display: inline-block; width: 1px; height: 11px; vertical-align: -1px; background: rgba(201, 209, 220, .35); }

.croe-mainbar {
	background-color: rgba(255, 255, 255, .9) !important;
	-webkit-backdrop-filter: saturate(1.6) blur(16px); backdrop-filter: saturate(1.6) blur(16px);
	box-shadow: 0 1px 0 var(--croe-line-soft);
	--padding-block-start: 18px; --padding-block-end: 18px;
	transition: box-shadow .4s var(--croe-ease), padding .4s var(--croe-ease);
}
.croe-scrolled .croe-mainbar { --padding-block-start: 11px; --padding-block-end: 11px; box-shadow: 0 1px 0 var(--croe-line-soft), 0 18px 40px -28px rgba(18, 30, 56, .45); }
@media (max-width: 767px) { .croe-mainbar, .croe-scrolled .croe-mainbar { --padding-block-start: 10px; --padding-block-end: 10px; } }

.croe-nav .elementor-nav-menu--main .elementor-item { font-size: 14.5px; letter-spacing: .01em; font-weight: 500; }
.croe-nav .elementor-nav-menu--main .elementor-item.elementor-item:after { height: 1px !important; bottom: 4px; left: 14px; right: 14px; width: auto; }
.croe-nav .elementor-nav-menu--main .sub-menu {
	border-radius: 16px !important; padding: 8px; overflow: hidden; border: 1px solid var(--croe-line-soft);
	box-shadow: 0 30px 60px -28px rgba(18, 30, 56, .4); background: #fff; min-width: 260px !important;
}
.croe-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item { border-radius: 10px; font-size: 14.5px; padding: 11px 14px; }
.croe-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.croe-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active { background-color: var(--croe-bg-soft) !important; color: var(--croe-navy) !important; }

.croe-lang, .croe-lang p { font-size: 12px; letter-spacing: .14em; }

/* ---------- Botões (pílula com ícone no círculo, mais refinados) ---------- */
.croe-btn .elementor-button {
	background-image: linear-gradient(135deg, #2D4B84 0%, #1E3360 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 10px 24px -16px rgba(18, 30, 56, .6);
	padding: 6px 26px 6px 6px; font-size: 15px; letter-spacing: .01em;
}
.croe-btn .elementor-button-icon { width: 44px; height: 44px; background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1px rgba(201, 209, 220, .28); transition: background-color .4s var(--croe-ease), transform .5s var(--croe-ease-out); }
.croe-btn .elementor-button:hover { background-color: var(--croe-navy); background-image: linear-gradient(135deg, #34548F 0%, #233A6B 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 22px 40px -18px rgba(18, 30, 56, .7); }
.croe-btn .elementor-button:hover .elementor-button-icon { background: rgba(255, 255, 255, .2); transform: rotate(-8deg); }

/* botão do cabeçalho: mantém a versão compacta */
.croe-header-btn .elementor-button { padding: 4px 20px 4px 4px; font-size: 14.5px; }
.croe-header-btn .elementor-button-icon { width: 36px; height: 36px; }
@media (max-width: 767px) { .croe-header-btn .elementor-button { padding: 4px; } }

.croe-btn--teal .elementor-button { background-image: linear-gradient(135deg, #5DB8C1 0%, #3E99A3 100%); color: #0D2438; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 12px 28px -16px rgba(30, 110, 120, .7); }
.croe-btn--teal .elementor-button .elementor-button-icon { background: rgba(255, 255, 255, .3); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); }
.croe-btn--teal .elementor-button:hover { background-image: linear-gradient(135deg, #6CC2CA 0%, #48A5AF 100%); color: #0D2438; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 22px 40px -18px rgba(30, 110, 120, .75); }

.croe-btn--ghost .elementor-button { box-shadow: inset 0 0 0 1px rgba(39, 65, 114, .4); padding: 18px 28px; font-size: 15px; letter-spacing: .01em; }
.croe-btn--ghost .elementor-button:hover { box-shadow: inset 0 0 0 1px var(--croe-navy), 0 18px 36px -20px rgba(18, 30, 56, .55); }
.croe-on-dark .croe-btn--ghost .elementor-button, .croe-btn--ghost.croe-btn--light .elementor-button { box-shadow: inset 0 0 0 1px rgba(201, 209, 220, .55); }
.croe-on-dark .croe-btn--ghost .elementor-button:hover, .croe-btn--ghost.croe-btn--light .elementor-button:hover { box-shadow: inset 0 0 0 1px #fff; }

/* Link com seta: sublinhado fino que cresce */
.croe-link .elementor-button { font-size: 15px; letter-spacing: .01em; }
.croe-link .elementor-button-text { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; padding-bottom: 2px; transition: background-size .5s var(--croe-ease-out); }
.croe-link .elementor-button:hover .elementor-button-text { background-size: 100% 1px; }
.croe-link .elementor-button-icon { transition: transform .5s var(--croe-ease-out); }
.croe-link .elementor-button:hover { transform: none; }
.croe-link .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }

/* ---------- Chip "Desde 1988" (sólido, com detalhe prata) ---------- */
.croe-chip .elementor-heading-title {
	background: var(--croe-navy-deep); color: var(--croe-silver); box-shadow: inset 0 0 0 1px rgba(201, 209, 220, .35);
	font-size: 13px; font-weight: 500; letter-spacing: .04em; padding: 9px 18px 9px 14px;
}
.croe-chip .elementor-heading-title::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--croe-teal); box-shadow: 0 0 0 4px rgba(70, 164, 174, .22); }

/* ---------- Hero ---------- */
.croe-hero { isolation: isolate; }
.croe-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(18, 30, 56, .35) 0%, rgba(18, 30, 56, 0) 28%, rgba(18, 30, 56, 0) 62%, rgba(12, 21, 41, .6) 100%);
}
.croe-hero > .elementor-element { position: relative; z-index: 1; }
@media (min-width: 1025px) {
	.croe-hero h1.elementor-heading-title { font-size: 78px !important; line-height: 1 !important; letter-spacing: -.04em !important; }
}
@media (min-width: 768px) and (max-width: 1024px) { .croe-hero h1.elementor-heading-title { font-size: 56px !important; } }
@media (max-width: 767px) { .croe-hero h1.elementor-heading-title { font-size: 40px !important; line-height: 1.04 !important; } }
.croe-hero .croe-lead, .croe-hero .croe-lead p { color: rgba(255, 255, 255, .82); }
.croe-hero .croe-hero-meta { padding-top: 22px; margin-top: 6px; position: relative; }
.croe-hero .croe-hero-meta::before { content: ""; position: absolute; top: 0; left: 0; width: 120px; height: 1px; background: var(--croe-silver-line); }
.croe-hero .croe-hero-meta, .croe-hero .croe-hero-meta p { color: rgba(255, 255, 255, .74); font-size: 13.5px; letter-spacing: 0; }
@media (min-width: 1025px) { .croe-hero .croe-hero-meta { width: max-content; max-width: calc(100vw - 48px); } }
.croe-hero .croe-hero-meta strong { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--croe-silver); margin-right: 4px; }

/* Entrada do hero (uma vez, ao carregar) */
@keyframes croe-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.croe-js .croe-hero .croe-on-dark > .elementor-element { animation: croe-rise 1.1s var(--croe-ease-out) both; }
.croe-js .croe-hero .croe-on-dark > .elementor-element:nth-child(2) { animation-delay: .08s; }
.croe-js .croe-hero .croe-on-dark > .elementor-element:nth-child(3) { animation-delay: .16s; }
.croe-js .croe-hero .croe-on-dark > .elementor-element:nth-child(4) { animation-delay: .24s; }
.croe-js .croe-hero .croe-on-dark > .elementor-element:nth-child(5) { animation-delay: .32s; }

/* ---------- Faixa de confiança ---------- */
.croe-trust { border-bottom: 1px solid var(--croe-line-soft); }
.croe-trust-item .elementor-icon {
	width: 56px; height: 56px; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center;
	font-size: 20px !important; color: var(--croe-teal-text); background: linear-gradient(180deg, #fff, var(--croe-bg-soft));
	box-shadow: inset 0 0 0 1px rgba(70, 164, 174, .3);
}
.croe-trust-item .elementor-icon svg { width: 20px; height: 20px; }
.croe-trust-item .elementor-icon-box-title, .croe-trust-item .elementor-icon-box-title a { font-size: 14.5px !important; font-weight: 500 !important; letter-spacing: .005em; color: var(--croe-ink); line-height: 1.4; }
@media (min-width: 768px) {
	.croe-trust-item { position: relative; }
	.croe-trust-item + .croe-trust-item::before { content: ""; position: absolute; left: -8px; top: 8px; bottom: 8px; width: 1px; background: var(--croe-line-soft); }
}

/* ---------- Card que se expande ---------- */
.croe-expand { gap: 14px !important; }
.croe-expand > .e-con { box-shadow: 0 30px 60px -44px rgba(18, 30, 56, .55); }
.croe-expand > .e-con::after { background: linear-gradient(180deg, rgba(14, 24, 46, 0) 32%, rgba(14, 24, 46, .5) 62%, rgba(14, 24, 46, .92) 100%); }
.croe-expand > .e-con::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: rgba(18, 30, 56, .38); transition: opacity .6s var(--croe-ease);
}
.croe-expand > .e-con.is-active::before { opacity: 0; }
.croe-expand > .e-con:not(.is-active):hover::before { opacity: .55; }
.croe-expand .croe-expand-name .elementor-heading-title { font-size: 24px; font-weight: 500; letter-spacing: -.015em; }
.croe-expand .croe-expand-panel .croe-link .elementor-button { color: #A9E0E5; }
@keyframes croe-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.croe-expand > .e-con.is-active .croe-expand-name { animation: croe-fade .6s var(--croe-ease-out) .1s both; }
@media (min-width: 861px) {
	/* nome na vertical nos cards fechados, em vez de cortado com reticências */
	.croe-expand > .e-con:not(.is-active) .croe-expand-name .elementor-heading-title {
		writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; overflow: visible; text-overflow: clip;
		font-size: 18px; letter-spacing: .01em; max-height: 470px;
	}
	.croe-expand > .e-con:not(.is-active) .croe-expand-name { animation: croe-fade .5s var(--croe-ease-out) both; }
}
@media (max-width: 860px) {
	.croe-expand .croe-expand-name .elementor-heading-title { font-size: 20px; }
}

/* ---------- Bloco escuro (azul profundo com brilho sutil) ---------- */
.croe-dark {
	background-image:
		radial-gradient(90% 80% at 100% 0%, rgba(70, 164, 174, .16) 0%, rgba(70, 164, 174, 0) 60%),
		linear-gradient(155deg, #26407A 0%, var(--croe-navy-deep) 55%, var(--croe-navy-night) 100%) !important;
	box-shadow: inset 0 0 0 1px rgba(201, 209, 220, .1), var(--croe-shadow-deep);
}
.croe-dark .croe-photo img { box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); }
/* Hero escuro de largura total (Nossa História): sem cantos nem sombra de card */
.croe-hero-dark { border-radius: 0 !important; box-shadow: none; }
.croe-silver-line { height: 1px; width: 120px; opacity: 1; background: var(--croe-silver-line); }

.croe-mini { border-radius: 14px; transition: transform .4s var(--croe-ease), box-shadow .4s var(--croe-ease); box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset; }
.croe-mini:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -26px rgba(0, 0, 0, .55); }
.croe-mini .croe-num .elementor-heading-title { font-size: 12px !important; letter-spacing: .18em; font-weight: 600 !important; }
.croe-mini h3.elementor-heading-title { letter-spacing: -.01em; }

/* ---------- Corpo clínico ---------- */
.croe-pro--soft { background: #F3F5F8; }
.croe-pro { transition: transform .45s var(--croe-ease), background-color .45s, box-shadow .45s var(--croe-ease); }
.croe-pro--soft:hover { background: #fff; box-shadow: var(--croe-shadow-soft), inset 0 0 0 1px var(--croe-line-soft); }
.croe-pro .croe-pro-photo img { transition: transform 1.2s var(--croe-ease-out); }
.croe-pro:hover .croe-pro-photo img { transform: scale(1.04); }
.croe-pro .croe-pro-name .elementor-heading-title { letter-spacing: -.015em; }
.croe-pro .croe-pro-meta, .croe-pro .croe-pro-meta p { font-size: 13px; line-height: 1.6; color: #5D6886; }
.croe-tag {
	font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; padding: 7px 12px; top: 14px; left: 14px;
	background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	box-shadow: 0 6px 16px -10px rgba(18, 30, 56, .45);
}
.croe-avatars img { box-shadow: 0 8px 18px -10px rgba(18, 30, 56, .5); }
.croe-avatars span { font-size: 13px; letter-spacing: .04em; font-weight: 500; color: var(--croe-slate); margin-left: 14px; }

/* ---------- Carrossel ---------- */
.croe-carousel-nav { gap: 16px; margin-top: 28px; }
.croe-carousel-nav button { width: 48px; height: 48px; border: 1px solid rgba(39, 65, 114, .28); }
.croe-carousel-nav button:hover:not(:disabled) { border-color: var(--croe-navy); box-shadow: 0 12px 24px -14px rgba(18, 30, 56, .6); }
.croe-carousel-nav .croe-count { font-size: 13px; letter-spacing: .14em; font-weight: 500; }
.croe-on-dark .croe-carousel-nav button { border-color: rgba(201, 209, 220, .4); }

/* ---------- Resultados ---------- */
.croe-compare { border-radius: var(--croe-r-card); }
.croe-compare--empty { background: linear-gradient(180deg, #EEF2F6, #E6ECF2); border: 1px dashed rgba(72, 94, 135, .25); color: #6A7693; }
.croe-compare .croe-compare-handle { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 10px 30px rgba(18, 30, 56, .3), inset 0 0 0 1px rgba(255, 255, 255, .6); }

/* ---------- Avaliações ---------- */
.croe-review { position: relative; border-color: var(--croe-line-soft); transition: transform .45s var(--croe-ease), box-shadow .45s var(--croe-ease); }
.croe-review::before {
	content: "\201C"; position: absolute; top: 14px; right: 22px; left: auto; bottom: auto; width: auto; height: auto; opacity: 1; mix-blend-mode: normal; font-family: Figtree, sans-serif; font-size: 72px; line-height: 1;
	color: rgba(70, 164, 174, .22); pointer-events: none;
}
.croe-review:hover { transform: translateY(-4px); box-shadow: var(--croe-shadow-soft); }
.croe-stars { color: var(--croe-gold); letter-spacing: 3px; font-size: 15px; }
.croe-rating-big .elementor-heading-title { font-size: 56px !important; font-weight: 500 !important; letter-spacing: -.04em; margin-right: 6px; }
/* coluna estreita das avaliações: título um pouco menor para não virar 5 linhas */
@media (min-width: 1025px) { .e-con:has(> .e-con .croe-rating-big) > .elementor-widget-heading h2.elementor-heading-title { font-size: 42px; } }
@media (min-width: 1025px) { .croe-reviews-intro > .elementor-widget-heading h2.elementor-heading-title { font-size: 42px; } }

/* Nota ao vivo: shortcode [croe_google_rating] do tema */
.croe-grating { display: flex; align-items: center; gap: 16px; }
.croe-grating-num { font-family: Figtree, sans-serif; font-size: 56px; font-weight: 500; line-height: 1; letter-spacing: -.04em; color: var(--croe-navy); }
.croe-grating-meta { display: flex; flex-direction: column; gap: 6px; color: var(--croe-text); font-size: 15px; line-height: 1.3; }
.croe-grating-stars { position: relative; display: inline-block; font-size: 15px; letter-spacing: 3px; line-height: 1; color: rgba(194, 161, 95, .25); }
.croe-grating-stars::before { content: "★★★★★"; }
.croe-grating-stars > span { position: absolute; inset: 0 auto 0 0; width: var(--fill, 100%); overflow: hidden; white-space: nowrap; color: var(--croe-gold); }

/* Widget do plugin Rich Showcase for Google Reviews (.croe-greviews), no visual dos cards .croe-review */
.croe-greviews .wp-gr {
	--card-bg: #fff !important; --rev-bg: #fff !important; --card-shadow: none !important; --card-radius: var(--croe-r-card) !important;
	--card-br: 1px solid !important; --card-br-color: var(--croe-line-soft) !important; --card-padding: var(--croe-pad-card) !important;
	--card-star-color: var(--croe-gold) !important; --card-star-size: 15px !important;
	--name-color: var(--croe-ink) !important; --card-color: var(--croe-text) !important; --time-color: #7D88A1 !important; --card-sep-color: var(--croe-line-soft) !important;
	--card-img-size: 40px !important;
	--slider-btn-bg: #fff !important; --slider-btn-bc: var(--croe-navy) !important; --slider-btn-bw: 1.5px !important; --slider-btn-color: var(--croe-navy) !important;
	--slider-btn-shadow: none !important; --slider-btn-size: 16px !important; --slider-btn-padding: 13px !important;
	--slider-dot-color: var(--croe-slate) !important; --slider-act-dot-color: var(--croe-navy) !important;
	font-family: "Noto Sans", sans-serif;
}
.croe-greviews .grw-header { display: none !important; }
.croe-greviews .grw-review-inner { transition: transform .45s var(--croe-ease), box-shadow .45s var(--croe-ease); }
.croe-greviews .grw-review-inner:hover { transform: translateY(-4px); --card-shadow: var(--croe-shadow-soft) !important; }
/* aspas verde-água no lugar do "G" de cada card (a origem Google já aparece na nota ao lado) */
.croe-greviews .grw-review-inner::before {
	content: "\201C" !important; position: absolute; top: 14px; right: 22px; width: auto; height: auto; border: 0; border-radius: 0; background: none !important;
	font-family: Figtree, sans-serif; font-size: 72px; line-height: 1; color: rgba(70, 164, 174, .22); pointer-events: none;
}
.croe-greviews .wp-google-text { font-size: 15px !important; line-height: 1.6 !important; color: var(--croe-text) !important; }
.croe-greviews .wp-google-name { font-family: Figtree, sans-serif !important; font-size: 15px !important; font-weight: 600 !important; color: var(--croe-ink) !important; text-decoration: none !important; }
.croe-greviews .wp-google-time { font-size: 13px !important; }
.croe-greviews .wp-more-toggle { color: var(--croe-teal-text) !important; font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important; }
.croe-greviews .rpi-ltgt { transition: background-color .3s var(--croe-ease) !important; }
.croe-greviews .rpi-ltgt:hover { --slider-btn-bg: var(--croe-navy) !important; --slider-btn-color: #fff !important; }

/* ---------- Fotos, cards e mapa ---------- */
.croe-photo img { box-shadow: 0 40px 80px -56px rgba(18, 30, 56, .6); }
.croe-card { transition: transform .45s var(--croe-ease), background-color .45s, box-shadow .45s var(--croe-ease); }
.croe-card:hover { box-shadow: var(--croe-shadow-soft), inset 0 0 0 1px var(--croe-line-soft); }
.croe-card-img { overflow: hidden; border-radius: var(--croe-r-photo); }
.croe-card-img img { transition: transform 1.2s var(--croe-ease-out); }
.croe-card:hover .croe-card-img img { transform: scale(1.04); }
.croe-map iframe { filter: grayscale(.9) contrast(1.05) brightness(1.02); transition: filter .8s var(--croe-ease); }
.croe-map:hover iframe { filter: none; }

/* Passos numerados: círculo de contorno no lugar do círculo cheio */
.croe-step .croe-step-n .elementor-heading-title {
	background: #fff; color: var(--croe-teal-text); box-shadow: inset 0 0 0 1px rgba(70, 164, 174, .45);
	font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums;
}
.croe-steps--line .croe-step:not(:last-child) .croe-step-n::after { background: linear-gradient(90deg, rgba(201, 209, 220, .9), rgba(201, 209, 220, .2)); }

/* Linha do tempo */
.croe-tl-item { border-left: 1px solid var(--croe-line); transition: border-color .4s; }
.croe-timeline .croe-tl-year .elementor-heading-title { font-weight: 500 !important; letter-spacing: -.02em; }

/* ---------- FAQ ---------- */
.croe-faq details { border-color: var(--croe-line-soft); border-radius: 14px; transition: border-color .4s, background-color .4s, box-shadow .4s; }
.croe-faq details:hover { border-color: rgba(39, 65, 114, .2); }
.croe-faq details[open] { border-color: rgba(70, 164, 174, .45); box-shadow: 0 20px 40px -32px rgba(18, 30, 56, .4); }
.croe-faq summary { font-size: 16.5px; padding: 22px 60px 22px 26px; letter-spacing: -.005em; }
.croe-faq summary::after { width: 10px; height: 10px; border-width: 0 1.5px 1.5px 0; right: 26px; }
.croe-faq details > div { padding: 0 26px 24px; }

/* Listas com marcador */
.croe-list li::before { background-color: rgba(70, 164, 174, .14); }

/* Chamada final clara: centraliza o bloco estreito */
.e-con.croe-max-760:has(> .elementor-widget-button) { margin-inline: auto; }

/* ---------- Formulário ---------- */
.croe-form .elementor-field-textual { border-width: 1px !important; border-color: rgba(39, 65, 114, .16) !important; transition: border-color .3s, box-shadow .3s; }
.croe-form .elementor-field-type-radio .elementor-field-option label { border-width: 1px; }

/* ---------- Rodapé ---------- */
.croe-footer { border-top: 1px solid var(--croe-line-soft); }
.croe-footer .croe-footer-title .elementor-heading-title { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 600; color: var(--croe-slate); }
.croe-footer, .croe-footer p, .croe-footer li { font-size: 14.5px; line-height: 1.7; }
.croe-footer a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .5s var(--croe-ease-out), color .3s; }
.croe-footer a:hover { background-size: 100% 1px; color: var(--croe-navy); }
.croe-footer .croe-logo a { background: none; }
.croe-footer-list li { margin-bottom: 10px; }
.croe-footer-legal, .croe-footer-legal p { font-size: 12.5px; color: #6A7693; }

/* ---------- WhatsApp flutuante: discreto, na cor da marca ---------- */
.croe-wa-float {
	height: 56px; padding: 0 22px 0 8px; gap: 12px; background: var(--croe-navy-deep); color: #fff !important;
	font-size: 14.5px; font-weight: 500; letter-spacing: .01em;
	box-shadow: inset 0 0 0 1px rgba(201, 209, 220, .22), 0 18px 40px -16px rgba(12, 21, 41, .7);
}
.croe-wa-float svg { width: 40px; height: 40px; padding: 9px; border-radius: 50%; background: #25D366; color: #fff; box-sizing: border-box; }
.croe-wa-float:hover { box-shadow: inset 0 0 0 1px rgba(201, 209, 220, .4), 0 24px 48px -16px rgba(12, 21, 41, .75); }
@media (max-width: 767px) { .croe-wa-float { width: 56px; padding: 0; } }

/* ---------- Entrada ao rolar: mais suave ---------- */
.croe-js .croe-reveal { transform: translateY(26px); transition: opacity 1s var(--croe-ease-out), transform 1.1s var(--croe-ease-out); }

@media (prefers-reduced-motion: reduce) {
	.croe-js .croe-hero .croe-on-dark > .elementor-element, .croe-expand .croe-expand-name { animation: none !important; }
	.croe-pro:hover .croe-pro-photo img, .croe-card:hover .croe-card-img img { transform: none; }
}

/* ---------- Faixa de destaques (shortcode [croe_stats]), no visual dos stats em vidro ---------- */
.croe-statband {
	position: relative; overflow: hidden; border-radius: 32px;
	background: linear-gradient(135deg, #3F5480, var(--croe-slate));
}
.croe-statband::before {
	content: ""; position: absolute; inset: 0; opacity: .16; pointer-events: none;
	background: repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px 80px), repeating-linear-gradient(0deg, #fff 0 1px, transparent 1px 80px);
	-webkit-mask-image: radial-gradient(70% 90% at 70% 30%, #000, transparent); mask-image: radial-gradient(70% 90% at 70% 30%, #000, transparent);
}
.croe-statband > * { position: relative; }
.croe-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.croe-stat {
	background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; padding: 24px;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff;
	transition: background .3s, transform .3s var(--croe-ease);
}
.croe-stat:hover { background: rgba(255, 255, 255, .18); transform: translateY(-4px); }
.croe-stat b {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	font-family: Figtree, sans-serif; font-size: clamp(38px, 4vw, 54px); font-weight: 400; letter-spacing: -.03em; line-height: 1;
	font-variant-numeric: tabular-nums;
}
.croe-stat > span { display: block; margin-top: 10px; font-size: 15px; line-height: 1.45; color: rgba(255, 255, 255, .85); max-width: 30ch; }
.croe-stat-stars { font-size: 17px; letter-spacing: 3px; color: var(--croe-gold); font-weight: 400; }
@media (max-width: 767px) {
	.croe-statband { border-radius: 24px; }
	.croe-stats { grid-template-columns: 1fr; gap: 10px; }
	.croe-stat { padding: 20px; }
}

/* Cards de contato horizontais (painel escuro da página Contato) */
.croe-on-dark .croe-mini--row { background: linear-gradient(135deg, #FFFFFF 0%, #F2F5F8 55%, #E4EEF2 100%); border: 1px solid rgba(255, 255, 255, .5); }
.croe-mini--row .elementor-icon-box-wrapper { align-items: flex-start; }
.croe-mini--row .elementor-icon-box-icon { margin-top: 2px; }
.croe-mini--row .elementor-icon-box-description { margin: 4px 0 0; color: var(--croe-text); font-size: 15px; line-height: 1.55; }
.croe-mini--row .elementor-icon-box-description a { color: var(--croe-teal-text); }
