/*
Theme Name: citaltiva (GeneratePress hijo)
Template: generatepress
Description: Tema hijo de GeneratePress con la línea gráfica de citaltiva. Colores, fuentes y estilos de bloques en theme.json; encabezado, pie y portada en functions.php.
Version: 1.0.0
Text Domain: citaltiva
*/
:root{--ct-navy:#123047;--ct-navy-800:#1B4260;--ct-teal:#16B8A6;--ct-teal-400:#4FCDBF;--ct-teal-700:#0B7A6F;--ct-mint:#E9F7F3;--ct-mint-50:#F4FBF9;--ct-mint-200:#CDEDE5;--ct-gray:#607582;--ct-muted:#55697A;--ct-line:#D7E3E8;--ct-radius:16px;--ct-radius-sm:12px;--ct-shadow:0 1px 2px rgba(18,48,71,.05),0 2px 8px rgba(18,48,71,.04)}body{overflow-x:clip}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ct-teal-700);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}::selection{background:var(--ct-mint-200);color:var(--ct-navy)}.ct-logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ct-navy);font-family:var(--wp--preset--font-family--manrope);font-weight:800;font-size:1.4rem;letter-spacing:-.03em;line-height:1}.ct-logo span{display:flex;flex-direction:column}.ct-logo small{font-family:var(--wp--preset--font-family--inter);font-weight:500;font-size:.75rem;letter-spacing:0;margin-top:4px;color:var(--ct-mint-200)}.ct-logo-inverse{color:#fff}.ct-header{border-bottom:1px solid var(--ct-line);padding-top:16px;padding-bottom:16px;background:#fff}.ct-header .wp-block-navigation a{font-weight:500;padding:8px 4px;text-decoration:none}.ct-header .wp-block-navigation a:hover{color:var(--ct-teal-700);text-decoration:underline;text-underline-offset:4px}.ct-footer{background:var(--ct-navy);color:#fff;padding-top:56px;padding-bottom:24px;margin-top:80px}.ct-footer a{color:#fff;opacity:.88;text-decoration:none}.ct-footer a:hover{opacity:1;text-decoration:underline}.ct-footer .ct-footer-brand{max-width:320px}.ct-footer .ct-small{color:rgba(255,255,255,.8)}.ct-footer .ct-footer-col p{line-height:2}.ct-footer .ct-urgent{max-width:260px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--ct-radius-sm);padding:16px}.ct-footer .ct-copy{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;margin-top:40px;text-align:center}.ct-eyebrow{font-size:.75rem!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ct-teal-700);margin:0}.ct-accent{color:var(--ct-teal-700)}.ct-muted{color:var(--ct-muted)}.ct-small{font-size:.875rem!important;line-height:1.6}.ct-rule{display:block;width:40px;height:4px;border-radius:4px;background:var(--ct-teal)}.ct-icon{display:inline-flex;width:44px;height:44px;border-radius:999px;align-items:center;justify-content:center;background:var(--ct-mint);color:var(--ct-teal-700);flex-shrink:0}.ct-step{display:inline-block;margin:0 0 0 12px!important;font-family:var(--wp--preset--font-family--manrope);font-weight:800;font-size:.875rem;color:var(--ct-teal-700)}.ct-display{font-size:clamp(2.25rem,5vw,3.5rem)!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.02em}.ct-tagline{font-family:var(--wp--preset--font-family--manrope);font-weight:600;font-size:clamp(1.25rem,2.4vw,1.5rem);color:var(--ct-navy);margin-top:8px!important}.ct-lead{font-size:1.125rem;color:var(--ct-muted);max-width:40rem}.ct-hero{background:var(--ct-mint);padding:56px 16px 64px;margin-top:0!important;position:relative;overflow:hidden}.ct-hero::after{content:"";position:absolute;right:-60px;top:-40px;width:260px;height:260px;border-radius:0 70%;background:var(--ct-mint-200);opacity:.8;transform:rotate(20deg);pointer-events:none}.ct-hero>*{position:relative;z-index:1}.ct-search{background:#fff;border:1px solid var(--ct-line);border-radius:var(--ct-radius);box-shadow:0 4px 12px rgba(18,48,71,.08);padding:20px 24px;margin-top:32px!important}.ct-search .ct-search-label{margin:0 0 12px}.ct-section{padding:56px 16px}.ct-section.ct-tight{padding-top:0}.ct-mint{background:var(--ct-mint-50)}.ct-card{background:#fff;border:1px solid var(--ct-line);border-radius:var(--ct-radius);box-shadow:var(--ct-shadow);padding:24px;height:100%;box-sizing:border-box}.ct-card>.wp-block-html:first-child{display:flex;align-items:center;gap:12px}.ct-card .wp-block-heading{margin-top:16px}.ct-card-doctor{background:var(--ct-navy);border-color:var(--ct-navy);color:#fff}.ct-card-doctor .wp-block-heading{color:#fff}.ct-card-doctor .ct-accent,.ct-card-doctor .ct-eyebrow{color:var(--ct-teal-400)}.ct-card-doctor .ct-icon{background:rgba(255,255,255,.1);color:var(--ct-teal-400)}.ct-card-doctor .wp-block-button.is-style-outline>.wp-block-button__link{border-color:#fff!important;color:#fff!important}.ct-card-doctor .wp-block-button.is-style-outline>.wp-block-button__link:hover{background:rgba(255,255,255,.1)!important}.ct-card-link{transition:border-color .2s,box-shadow .2s;position:relative}.ct-card-link:hover{border-color:rgba(15,156,140,.6);box-shadow:0 4px 12px rgba(18,48,71,.08)}.ct-card-link h3 a{color:var(--ct-navy);text-decoration:none}.ct-card-link h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--ct-radius)}.ct-card-link h3 a:hover{text-decoration:underline}.ct-checks{list-style:none;padding-left:0}.ct-checks li{position:relative;padding-left:30px;margin-bottom:10px}.ct-checks li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:999px;border:1.75px solid var(--ct-teal-700);background:linear-gradient(var(--ct-teal-700),var(--ct-teal-700)) no-repeat 50% 50%/0 0}.ct-checks li::after{content:"";position:absolute;left:6px;top:calc(.2em + 4px);width:5px;height:9px;border:solid var(--ct-teal-700);border-width:0 1.75px 1.75px 0;transform:rotate(45deg)}.ct-note,p.has-background{border-radius:var(--ct-radius-sm);padding:16px 20px!important}.ct-note{background:var(--ct-mint);color:var(--ct-navy)}.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent!important;border:2px solid var(--ct-navy)!important;color:var(--ct-navy)!important;padding:calc(.75rem - 2px) calc(1.25rem - 2px)!important}.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--ct-mint)!important}.wp-block-button.is-style-ct-accent>.wp-block-button__link{background:var(--ct-teal)!important;color:var(--ct-navy)!important}.wp-block-button.is-style-ct-accent>.wp-block-button__link:hover{background:var(--ct-teal-400)!important}.wp-block-button__link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.wp-block-post-content a:not(.wp-element-button){text-decoration-thickness:2px;text-underline-offset:3px}.wp-block-post-content ul:not(.ct-checks) li::marker{color:var(--ct-teal-700)}.wp-block-separator{border-color:var(--ct-line)!important;opacity:1}@media (max-width:781px){.ct-hero{padding:40px 16px 48px}.ct-section{padding:40px 16px}.ct-footer .ct-footer-col,.ct-footer .ct-urgent,.ct-footer .ct-footer-brand{max-width:none;width:100%}}

/* ===== Ajustes para GeneratePress ===== */
:root{--contrast:#123047;--contrast-2:#55697A;--contrast-3:#607582;--base:#E9F7F3;--base-2:#F4FBF9;--base-3:#FFFFFF;--accent:#0B7A6F}
body{font-family:var(--wp--preset--font-family--inter);font-size:1.0625rem;line-height:1.6;color:var(--ct-navy);background:#fff}
h1,h2,h3,h4,h5,h6,.main-title{font-family:var(--wp--preset--font-family--manrope);color:var(--ct-navy)}
a{color:var(--ct-teal-700)}a:hover,a:focus{color:var(--ct-navy)}
/* Encabezado */
.site-header{border-bottom:1px solid var(--ct-line);background:#fff}
.site-header .inside-header{padding:16px 24px;max-width:1340px}
.site-header .site-branding .main-title{margin:0;line-height:1}
.main-navigation,.main-navigation ul ul{background:#fff}
.main-navigation .main-nav ul li a{font-size:.9375rem;font-weight:500;color:var(--ct-navy);padding-left:12px;padding-right:12px;line-height:56px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li.current-menu-item>a{color:var(--ct-teal-700);text-decoration:underline;text-underline-offset:4px;background:transparent}
.main-navigation .menu-toggle{color:var(--ct-navy);background:transparent;min-height:44px}
/* Contenido: mismo ancho de lectura que el tema de bloques */
.separate-containers .inside-article,.one-container .site-content{padding:40px 24px}
.entry-content>:where(:not(.alignwide):not(.alignfull)){max-width:var(--wp--style--global--content-size);margin-left:auto;margin-right:auto}
.entry-content>.alignwide{max-width:var(--wp--style--global--wide-size);margin-left:auto;margin-right:auto}
.entry-header .entry-title{font-weight:800;max-width:var(--wp--style--global--content-size);margin:0 auto}
.entry-content ul:not(.ct-checks) li::marker{color:var(--ct-teal-700)}
.entry-content a:not(.wp-element-button){text-decoration-thickness:2px;text-underline-offset:3px}
/* Portada a todo el ancho, sin título ni márgenes */
.ct-portada .site-content,.ct-portada.one-container .site-content{padding:0}
.ct-portada .site.grid-container{max-width:none}
.ct-portada .entry-content>.alignfull{margin-left:0;margin-right:0;max-width:none;width:auto}
.ct-portada .entry-content>:first-child{margin-top:0}
.ct-portada .inside-article{padding:0}
/* Pie propio: sin barra de créditos de GeneratePress */
.site-footer .ct-footer{margin-top:80px;padding-left:24px;padding-right:24px}
.ct-footer>.alignwide{max-width:1340px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;align-items:flex-start}

/* Botones: GeneratePress pinta gris los botones sin color propio */
html input[type=button],input[type=reset],input[type=submit],a.button,a.wp-block-button__link:not(.has-background){background-color:var(--ct-navy);color:#fff}
input[type=submit]:hover,input[type=submit]:focus,a.button:hover,a.button:focus,a.wp-block-button__link:not(.has-background):hover,a.wp-block-button__link:not(.has-background):focus{background-color:var(--ct-navy-800);color:#fff}
.main-navigation .menu-toggle,.main-navigation .menu-toggle:hover,.main-navigation .menu-toggle:focus{background:transparent;color:var(--ct-navy)}
.ct-footer .ct-footer-col p{margin:0 0 8px}
/* Títulos: GeneratePress usa h2 fino (300); se iguala al tema de bloques */
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.01em}
h1{font-weight:800}h2{font-size:clamp(1.5rem,3vw,1.875rem)}h3{font-size:1.25rem}
