:root {
    --ct-purple: #201751;
    --ct-navy: #09283f;
    --ct-text: #251c48;
    --ct-muted: #6f6c80;
    --ct-line: #e9e8ef;
    --ct-bg-soft: #f6f7fa;
    --ct-white: #ffffff;
    --ct-max: 1500px;
    --ct-left-pad: clamp(28px, 5vw, 86px);
    --ct-font: "Century Gothic", CenturyGothic, AppleGothic, "Avenir Next", Avenir, Arial, sans-serif;
}

html { scroll-behavior: smooth; }

body {
    margin: 0;
    color: var(--ct-text);
    background: #fff;
    font-family: var(--ct-font);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
a { color: inherit; }

.ct-site-main { width: 100%; overflow-x: clip; }
.ct-content-shell { max-width: var(--ct-max); margin: 0 auto; padding: 60px var(--ct-left-pad); }
.ct-entry-title { margin-top: 0; }

/* Mantiene el contenido de WPBakery intacto: no forzamos anchos, display ni grid globales */
.vc_row, .vc_column_container, .wpb_wrapper { box-sizing: border-box; }

.ct-eyebrow {
    margin: 0 0 12px;
    font-size: 12px;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.ct-primary-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 22px;
    background: var(--ct-purple);
    color: #fff;
    text-decoration: none;
    border: 1px solid var(--ct-purple);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    transition: transform .2s ease, opacity .2s ease;
}
.ct-primary-cta:hover { transform: translateY(-1px); opacity: .95; }

.ct-404 { min-height: 55vh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.ct-404 h1 { font-size: clamp(36px, 5vw, 68px); max-width: 800px; margin: 0 0 14px; }
.ct-404 p { max-width: 700px; }


/* =========================================================
   TIPOGRAFIA GLOBAL CLASS TOURS - v1.3.8
   Century Gothic en desktop, tablet y movil.
   Se evita tocar clases de iconos para no romper Font Awesome
   u otros iconos cargados por plugins.
   ========================================================= */
html,
body,
button,
input,
select,
textarea {
    font-family: var(--ct-font) !important;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body p, body a, body li, body label, body small, body strong, body b,
body em, body i:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad),
body span:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not([class*="icon-"]):not([class^="icon-"]),
body button, body input, body select, body textarea,
body .vc_row, body .vc_column_container, body .wpb_wrapper,
body .wpb_text_column, body .wpb_text_column *,
body .ct-site-header, body .ct-site-header *,
body .ct-site-footer, body .ct-site-footer * {
    font-family: var(--ct-font) !important;
}

/* Evita falsos bold/italic en navegadores moviles cuando el peso no existe. */
body {
    font-synthesis: none;
}

/* Elementos de texto del Hero: misma familia en cualquier breakpoint. */
body .ct-exact-hero,
body .ct-exact-hero p,
body .ct-exact-hero span,
body .ct-exact-hero strong,
body .ct-exact-hero small,
body .ct-exact-hero div,
body .ct-exact-hero button,
body .ct-exact-hero a,
body .ct-exact-eyebrow,
body .ct-exact-stat-number,
body .ct-exact-stat-label,
body .ct-exact-sectur-title,
body .ct-exact-sectur-name,
body .ct-exact-sectur-register {
    font-family: var(--ct-font) !important;
}
