/*
Theme Name:   Conselho Corretora
Theme URI:    https://conselhocorretora.com
Description:  Tema filho do Hello Elementor para a Conselho Corretora. Herda cabecalho e rodape do Construtor de Tema do Elementor Pro e adiciona os templates das paginas institucionais (Inicio, Quem Somos, Cotacao Rapida, Fale Conosco) com a identidade "editorial dourada" da marca.
Author:       Conselho Corretora
Author URI:   https://conselhocorretora.com
Template:     hello-elementor
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  conselho-corretora
Tags:         elementor, insurance, editorial
*/

/* =============================================================================
   TOKENS: a fonte unica de verdade visual da marca.
   Cores da paleta aprovada (Instagram @conselhocorretora).
   ========================================================================== */

:root {
  /* Cores da marca */
  --cc-black: #030102;
  --cc-gold: #be9952;
  --cc-offwhite: #fcfcfc;

  /* Derivadas: tons de apoio construidos a partir do dourado */
  --cc-gold-light: #e2c489;
  --cc-gold-deep: #8a6c33;
  /* Dourado que NUNCA é invertido por .cc-section--paper. Serve para elementos
     que ficam sobre preto mesmo dentro de uma seção clara (ex.: card no hover). */
  --cc-gold-on-dark: #e2c489;
  --cc-gold-ghost: rgba(190, 153, 82, 0.14);
  --cc-gold-hairline: rgba(190, 153, 82, 0.28);

  /* Neutros sobre fundo escuro */
  --cc-ink-00: #fcfcfc;
  --cc-ink-60: rgba(252, 252, 252, 0.62);
  /* 0.56 e o piso: os rotulos que usam este tom sao pequenos (~10px) e abaixo
     disso o contraste sobre o preto cai de 4.5:1 e reprova em WCAG AA. */
  --cc-ink-45: rgba(252, 252, 252, 0.56);
  --cc-ink-14: rgba(252, 252, 252, 0.14);
  --cc-black-soft: #0a0608;
  --cc-black-warm: #120c0a;

  /* Tipografia */
  --cc-ff-display: "Poppins", "Century Gothic", "Trebuchet MS", sans-serif;
  --cc-ff-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --cc-ff-script: "Alex Brush", "Monotype Corsiva", cursive;

  --cc-fs-eyebrow: 0.72rem;
  --cc-fs-body: clamp(1rem, 0.94rem + 0.3vw, 1.125rem);
  --cc-fs-lead: clamp(1.06rem, 0.98rem + 0.42vw, 1.3rem);
  --cc-fs-h1: clamp(2.35rem, 1.15rem + 3.45vw, 4.4rem);
  --cc-fs-h2: clamp(1.9rem, 1.3rem + 2.4vw, 3.1rem);

  --cc-lh-tight: 0.98;
  --cc-tracking-wide: 0.34em;
  --cc-tracking-mega: 0.52em;

  /* Espaco e ritmo */
  --cc-container: 1240px;
  --cc-gutter: clamp(1.25rem, 0.6rem + 3vw, 3.25rem);
  --cc-section-y: clamp(4.5rem, 3rem + 6vw, 9rem);

  /* Ajuste para o cabecalho do Elementor Pro quando ele fica sobreposto.
     Se o header do Construtor de Tema NAO for transparente/fixo, deixe em 0px. */
  --cc-header-offset: 92px;

  /* Traco, raio e movimento: raios quase retos, e o que sustenta o ar editorial */
  --cc-radius: 2px;
  --cc-radius-pill: 999px;
  --cc-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --cc-transition: 0.42s var(--cc-ease);
}

/* =============================================================================
   BASE: reset curto e tipografia global das paginas do tema filho.
   Escopado em .cc-page para nao vazar em conteudo montado no Elementor.
   ========================================================================== */

.cc-page {
  background: var(--cc-black);
  color: var(--cc-ink-00);
  font-family: var(--cc-ff-display);
  font-size: var(--cc-fs-body);
  font-weight: 400;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

.cc-page *,
.cc-page *::before,
.cc-page *::after {
  box-sizing: border-box;
}

/* TODOS os resets abaixo usam :where() de propósito.
   Um seletor de tipo qualificado (".cc-page p") tem especificidade 0,1,1 e
   venceria qualquer classe de componente (".cc-section__lead" = 0,1,0),
   zerando silenciosamente margens e cores declaradas depois. :where() derruba
   a especificidade para a de ".cc-page" e devolve a decisão aos componentes. */
.cc-page :where(h1, h2, h3) {
  font-family: var(--cc-ff-display);
  font-weight: 800;
  letter-spacing: -0.032em;
  line-height: var(--cc-lh-tight);
  margin: 0;
  text-wrap: balance;
}

.cc-page :where(p) {
  margin: 0;
}

.cc-page :where(a) {
  color: inherit;
  text-decoration: none;
}

.cc-page :where(img, svg) {
  display: block;
  max-width: 100%;
}

.cc-page :focus-visible {
  outline: 2px solid var(--cc-gold);
  outline-offset: 4px;
  border-radius: var(--cc-radius);
}

.cc-container {
  width: 100%;
  max-width: var(--cc-container);
  margin-inline: auto;
  padding-inline: var(--cc-gutter);
}

/* Texto so para leitor de tela */
.cc-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
