/*
Theme Name:   Asesoría Hormigo (Astra Child)
Theme URI:    https://asesoriahormigo.com/
Description:  Tema hijo de Astra para Asesoría Hormigo. Estilos y funciones propios que no se pierden al actualizar Astra.
Author:       Master Informática
Author URI:   https://gmaster.eu/
Template:     astra
Version:      1.1.1
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hormigo-astra-child
*/

/* ===== Paleta (colores del logotipo) y tipografía del sistema (carga instantánea) ===== */
:root{
  --ah-navy:#1c2b44; --ah-navy-2:#24385a; --ah-blue:#3d5f8c; --ah-blue-osc:#2f4c73;
  --ah-oro:#c79a3b; --ah-texto:#3f4652; --ah-claro:#f3f6fa; --ah-borde:#e2e8f0;
  --ah-radio:10px; --ah-sombra:0 14px 40px rgba(28,43,68,.12);
  --ah-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
body{font-family:var(--ah-font);color:var(--ah-texto);line-height:1.75;font-size:17px}
h1,h2,h3,h4,.main-header-menu{font-family:var(--ah-font)}
h1,h2,h3,h4{color:var(--ah-navy);letter-spacing:-.01em;line-height:1.2;font-weight:700}
a{color:var(--ah-blue-osc)} a:hover{color:var(--ah-navy)}
::selection{background:var(--ah-blue);color:#fff}

/* ===== Barra superior y cabecera blanca fija ===== */
.ah-topbar{background:var(--ah-navy);color:#c9d3e2;font-size:13.5px}
.ah-topbar .ah-wrap{max-width:1200px;margin:auto;padding:8px 20px;display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.ah-topbar a{color:#fff;text-decoration:none} .ah-topbar a:hover{color:var(--ah-oro)}
.ah-topbar .ah-addr{margin-right:auto}
.site-header{position:sticky;top:0;z-index:99;box-shadow:0 2px 18px rgba(28,43,68,.08)}
.ast-primary-header-bar,.main-header-bar{background:#fff!important;border-bottom:0!important}
.custom-logo{max-height:58px;width:auto}
.main-header-menu .menu-link{color:var(--ah-navy)!important;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.main-header-menu .menu-item:hover>.menu-link,.main-header-menu .current-menu-item>.menu-link{color:var(--ah-blue)!important}
.ast-mobile-menu-trigger-minimal,.menu-toggle{color:var(--ah-navy)!important}

/* ===== Botones ===== */
.wp-block-button__link,.wp-element-button,.wpcf7-submit,.ast-button{background:#8a6520!important;color:#fff!important;border-radius:8px;padding:.9em 1.9em;font-weight:700;font-size:15px;letter-spacing:.02em;border:0;transition:transform .2s,box-shadow .2s,background .2s}
.wp-block-button__link:hover,.wpcf7-submit:hover{background:#6f5119!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(199,154,59,.35)}
.is-style-outline .wp-block-button__link{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 2px #fff}
.is-style-outline .wp-block-button__link:hover{background:#fff!important;color:var(--ah-navy)!important;box-shadow:none}

/* ===== Portada a ancho completo ===== */
.home .site-content>.ast-container{max-width:100%;padding:0;display:block}
.home .entry-header{display:none}
.home #primary,.home .site-main,.home .ast-article-single,.home article.page{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.home .entry-content{margin:0}
.home .entry-content>*{margin-top:0;margin-bottom:0}
.entry-content>.ah-section{max-width:none!important;width:100%!important;margin:0!important}
.ah-section{padding:90px 20px}
.ah-eyebrow{display:block!important;color:var(--ah-blue);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin:0 0 10px!important}
.ah-title{font-size:clamp(28px,3.4vw,40px);margin:0 0 14px!important}
.ah-title::after{content:"";display:block;width:56px;height:3px;background:var(--ah-oro);margin:18px 0 0}
.has-text-align-center.ah-title::after{margin:18px auto 0}
.ah-lead{max-width:760px;font-size:18px}
.has-text-align-center.ah-lead{margin-left:auto!important;margin-right:auto!important}

/* Hero */
.ah-hero{min-height:78vh!important}
.ah-hero h1{color:#fff;font-size:clamp(34px,5vw,60px);font-weight:800;line-height:1.08;text-shadow:0 4px 28px rgba(0,0,0,.35);max-width:820px}
.ah-hero p{color:#e8eef6!important;font-size:clamp(16px,1.6vw,20px);max-width:640px}
.ah-hero .ah-eyebrow{color:#e7c77d!important}
.ah-hero .wp-block-cover__inner-container{width:100%}

/* Quiénes somos */
.ah-about{background:#fff}
.ah-about img{border-radius:var(--ah-radio);box-shadow:var(--ah-sombra)}
.ah-badges{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:22px}
.ah-badges img{height:62px;width:auto;box-shadow:none!important;border-radius:6px;background:#fff;padding:6px;border:1px solid var(--ah-borde)}
.ah-firma{font-weight:700;color:var(--ah-navy)}

/* A quién ayudamos */
.ah-clients{background:var(--ah-claro)}
.ah-card{background:#fff;border:1px solid var(--ah-borde);border-radius:var(--ah-radio);overflow:hidden;height:100%;transition:transform .25s,box-shadow .25s}
.ah-card:hover{transform:translateY(-6px);box-shadow:var(--ah-sombra)}
.ah-card figure{margin:0!important} .ah-card img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}
.ah-card .ah-card-body{padding:24px 26px 28px}
.ah-card h3{font-size:21px;margin:0 0 10px}
.ah-card ul{margin:0;padding-left:1.1em} .ah-card li{margin:4px 0}

/* Servicios */
.ah-services{background:var(--ah-navy);color:#c9d3e2}
.ah-services h2,.ah-services h3{color:#fff}
.ah-services .ah-eyebrow{color:#e7c77d!important}
.ah-services .ah-lead{color:#c9d3e2}
.ah-service{background:var(--ah-navy-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--ah-radio);padding:28px 26px;height:100%}
.ah-service .ah-num{font-size:15px;font-weight:800;color:#e7c77d;letter-spacing:.12em;margin:0 0 8px!important}
.ah-service h3{font-size:20px;margin:0 0 10px}
.ah-service p{color:#c9d3e2;margin:0}

/* Por qué confiar */
.ah-why{background:#fff}
.ah-why ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px 28px}
.ah-why li{position:relative;padding:16px 18px 16px 52px;background:var(--ah-claro);border-radius:var(--ah-radio)}
.ah-why li::before{content:"✓";position:absolute;left:18px;top:14px;width:24px;height:24px;border-radius:50%;background:var(--ah-blue);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.ah-why li strong{color:var(--ah-navy)}

/* Contacto */
.ah-contact{background:var(--ah-claro)}
.ah-contact ul.ah-datos{list-style:none;margin:0;padding:0}
.ah-contact ul.ah-datos li{padding:12px 0;border-bottom:1px solid var(--ah-borde)}
.ah-contact ul.ah-datos li strong{color:var(--ah-navy);display:inline-block;min-width:96px}
.ah-formbox{background:#fff;border-radius:var(--ah-radio);padding:30px;box-shadow:var(--ah-sombra)}
.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 textarea,.wpcf7 select{width:100%;background:#fff;border:1px solid #cfd8e3;color:var(--ah-texto);border-radius:8px;padding:12px 14px}
.wpcf7 input:focus,.wpcf7 textarea:focus{border-color:var(--ah-blue);outline:0;box-shadow:0 0 0 3px rgba(61,95,140,.15)}
.wpcf7 label{font-size:15px;width:100%;color:var(--ah-navy);font-weight:600}
.wpcf7 .wpcf7-acceptance label{font-weight:400}

/* Páginas legales */
.page:not(.home) .entry-title{font-size:clamp(28px,3.4vw,40px)}

/* Pie */
.site-footer,.site-below-footer-wrap,.site-primary-footer-wrap{background:var(--ah-navy)!important;color:#aeb9cb}
.site-footer a{color:#fff}
.site-title,.ast-site-title-wrap,.site-description{display:none!important}
html{scroll-behavior:smooth} [id]{scroll-margin-top:100px}

@media (max-width:921px){.ah-section{padding:62px 18px}.ah-hero{min-height:68vh!important}.ah-topbar .ah-addr{display:none}.ah-topbar .ah-wrap{justify-content:center}}
@media (max-width:600px){.ah-topbar .ah-mail{display:none}.ah-formbox{padding:22px}}

/* ===== Franja de confianza ===== */
.ah-trust{background:#fff;padding:26px 20px;border-bottom:1px solid var(--ah-borde)}
.ah-trust .ah-trust-in{max-width:1200px;margin:0 auto;display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap;font-weight:600;color:var(--ah-navy)}
.ah-trust img{height:54px;width:auto}
.ah-trust span{display:flex;align-items:center;gap:8px}
.ah-trust span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ah-oro)}

/* ===== Zona de servicio ===== */
.ah-zona{background:var(--ah-claro)}
.ah-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 0;padding:0;list-style:none}
.ah-chips li{background:#fff;border:1px solid var(--ah-borde);border-radius:999px;padding:8px 16px;font-weight:600;color:var(--ah-navy);font-size:15px}
.ah-chips li.ah-main{background:var(--ah-navy);color:#fff;border-color:var(--ah-navy)}

/* ===== Preguntas frecuentes ===== */
.ah-faq{background:#fff}
.ah-faq details{border:1px solid var(--ah-borde);border-radius:var(--ah-radio);padding:0;margin:0 0 12px;background:#fff}
.ah-faq summary{cursor:pointer;padding:18px 22px;font-weight:700;color:var(--ah-navy);list-style:none;position:relative;padding-right:48px}
.ah-faq summary::-webkit-details-marker{display:none}
.ah-faq summary::after{content:"+";position:absolute;right:22px;top:14px;font-size:24px;color:var(--ah-blue)}
.ah-faq details[open] summary::after{content:"–"}
.ah-faq details p{padding:0 22px 18px;margin:0}
.ah-faq .ah-inner{max-width:860px;margin:0 auto}

/* ===== Llamada a la acción ===== */
.ah-cta{background:linear-gradient(135deg,var(--ah-navy),var(--ah-blue-osc));color:#dfe7f2;text-align:center}
.ah-cta h2{color:#fff}
.ah-cta p{color:#dfe7f2}
.ah-cta .wp-block-buttons{justify-content:center}

/* ===== Páginas de servicio ===== */
.ah-pagehero{min-height:46vh!important}
.ah-pagehero h1{color:#fff;font-size:clamp(30px,4.2vw,50px);font-weight:800;line-height:1.1;max-width:900px;text-shadow:0 4px 24px rgba(0,0,0,.35)}
.ah-pagehero p{color:#e8eef6!important;font-size:19px;max-width:700px}
.ah-pagehero .ah-eyebrow{color:#e7c77d!important}
.ah-body{background:#fff}
.ah-body .ah-inner{max-width:900px;margin:0 auto}
.ah-body h2{font-size:clamp(24px,2.6vw,32px);margin:36px 0 12px}
.ah-body ul.ah-list{list-style:none;padding:0;margin:0 0 10px}
.ah-body ul.ah-list li{position:relative;padding:8px 0 8px 34px;border-bottom:1px solid var(--ah-borde)}
.ah-body ul.ah-list li::before{content:"✓";position:absolute;left:0;top:8px;color:var(--ah-blue);font-weight:800}
.ah-box{background:var(--ah-claro);border-left:4px solid var(--ah-oro);border-radius:8px;padding:20px 24px;margin:28px 0}
.ah-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0 0;padding:0;list-style:none}
.ah-related a{display:block;background:var(--ah-claro);border-radius:8px;padding:14px 16px;font-weight:600;text-decoration:none;color:var(--ah-navy)}
.ah-related a:hover{background:var(--ah-navy);color:#fff}
.ah-card a.ah-more{font-weight:700;text-decoration:none}
.ah-service a{color:#e7c77d;font-weight:700;text-decoration:none}

/* Páginas con plantilla de ancho completo */
.page .site-content>.ast-container{max-width:100%;padding:0;display:block}
.page.ah-full .entry-header{display:none}
.page #primary,.page .site-main,.page .ast-article-single,.page article.page{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.page .entry-content>*{margin-top:0;margin-bottom:0}
.page .entry-content>:not(.ah-section):not(.wp-block-cover){max-width:860px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.ah-legal{padding:60px 20px}
.page:not(.ah-full) .entry-header{max-width:860px;margin:56px auto 18px;padding:0 20px}
.page:not(.ah-full) .entry-content{padding-bottom:60px}
.ah-full .entry-content{padding-bottom:0!important}
.ast-footer-copyright,.ast-footer-copyright p{color:#c9d3e2!important}
.ast-footer-copyright a{color:#fff!important;text-decoration:underline}
.ah-services .ah-service a{color:#e7c77d!important}
.wp-block-cover .wp-block-cover__inner-container .is-layout-constrained>*{margin-left:0!important;margin-right:auto!important}
