/* APTASE 2026 · estilos comunes (cabecera, pie, blog, formularios, WooCommerce y páginas genéricas).
   Los estilos propios de cada página del diseño están en assets/css/pages/{página}.css */

:root { --ap-verde: #0F6466; --ap-azul: #4295AF; --ap-celeste: #A9D4E0; --ap-noche: #083233; --ap-crema: #FAFBF3; --ap-agua: #E3F0EE; --ap-gris: #DCE7E3; --ap-texto: #1C2A30; --ap-suave: #4A5A61; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
.wp-site-blocks { position: relative; }
.wp-site-blocks > *, .ap-main > *, .ap-header-part, .ap-footer-part { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.ap-main { overflow-x: clip; }
.ap-s { font-family: var(--wp--preset--font-family--source-sans); color: var(--ap-texto); }
.ap-s a { text-decoration: none; }
.ap-s h1, .ap-s h2, .ap-s h3 { color: inherit; }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--ap-azul); outline-offset: 2px; border-radius: 4px; }
.btn { transition: transform .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.lift { transition: transform .25s ease, box-shadow .25s ease; }
.lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(15, 100, 102, .14); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ---------- cabecera ---------- */
.ap-header { background: var(--ap-noche); font-family: var(--wp--preset--font-family--outfit); }
.ap-header__in { max-width: 1200px; margin: 0 auto; box-sizing: border-box; padding: 18px 32px; gap: 16px 28px; }
.ap-header .wp-block-html { margin: 0; }
.ap-logo { display: block; line-height: 0; }
.ap-logo img { height: 46px; width: auto; display: block; }
.ap-nav { font-size: 15px; font-weight: 500; gap: 10px 24px; }
.ap-nav .wp-block-navigation__container { gap: 10px 24px; align-items: center; }
.ap-header .ap-nav .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #E3F0EE; text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; }
.ap-header .ap-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--ap-celeste); }
.ap-header .ap-nav .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #FFFFFF; border-bottom-color: var(--ap-celeste); }
.ap-header .ap-nav .ap-nav-cta > .wp-block-navigation-item__content.wp-block-navigation-item__content { background: var(--ap-celeste); color: var(--ap-noche); padding: 12px 20px; border-radius: 999px; font-weight: 600; border-bottom: 0; }
.ap-header .ap-nav .ap-nav-cta > .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { background: #FFFFFF; color: var(--ap-noche); }
.ap-nav .wp-block-navigation__responsive-container-open, .ap-nav .wp-block-navigation__responsive-container-close { color: #FFFFFF; }
.ap-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.ap-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--ap-noche) !important; color: #FFFFFF !important; padding: 28px; }
.ap-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 22px; align-items: flex-start; }
.ap-header .ap-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content { font-size: 22px; padding: 4px 0; }
.ap-header .ap-nav .wp-block-navigation__responsive-container.is-menu-open .ap-nav-cta > .wp-block-navigation-item__content.wp-block-navigation-item__content { font-size: 18px; padding: 14px 26px; margin-top: 10px; }
/* En la portada, la cabecera va superpuesta sobre la foto */
.ap-inicio .ap-header-part { position: absolute; top: 0; left: 0; right: 0; z-index: 20; }
.ap-inicio .ap-header { background: transparent; }
.ap-inicio .ap-header__in { max-width: 1280px; padding-top: 24px; padding-bottom: 24px; }
.ap-inicio .ap-logo img { height: 52px; }
.ap-header-space { height: 100px; position: relative; z-index: 2; }
body.admin-bar.ap-inicio .ap-header-part { top: 0; }

/* ---------- pie ---------- */
.ap-footer { background: var(--ap-noche); color: #CFE2E7; font-family: var(--wp--preset--font-family--source-sans); }
.ap-footer__in { max-width: 1200px; margin: 0 auto; box-sizing: border-box; padding: 64px 32px 36px; display: flex; flex-direction: column; gap: 40px; }
.ap-footer__in > * { margin: 0 !important; }
.ap-footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; }
.ap-footer__top > * { margin: 0 !important; }
.ap-footer__brand { max-width: 340px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ap-footer__brand .ap-subscribe { align-self: stretch; }
.ap-footer__brand > * { margin: 0 !important; }
.ap-footer__brand p { margin: 0; font-size: 15px; line-height: 1.55; }
.ap-footer__logo { height: 52px !important; width: auto !important; display: block; margin-bottom: 4px; }
.ap-footer__nl { font-family: var(--wp--preset--font-family--outfit); font-size: 13px !important; font-weight: 600; letter-spacing: .14em; color: var(--ap-celeste); margin-top: 6px !important; }
.ap-footer .fl, .ap-footer a { color: #FFFFFF; text-decoration: none; }
.ap-footer .fl:hover, .ap-footer a:hover { color: var(--ap-celeste); }

/* ---------- suscripción (Jetpack) ---------- */
.ap-subscribe { margin: 0 !important; }
.ap-subscribe form { display: flex !important; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 0; }
.ap-subscribe form > p, .ap-subscribe .wp-block-jetpack-subscriptions__form-elements > p { margin: 0 !important; }
.ap-subscribe .wp-block-jetpack-subscriptions__form-elements { display: flex !important; flex-wrap: wrap; gap: 10px; width: 100%; }
.ap-subscribe #subscribe-email, .ap-subscribe p:has(input[type=email]) { flex: 1 1 220px; min-width: 0; }
.ap-subscribe input[type=email] { width: 100% !important; box-sizing: border-box; height: 52px !important; border-radius: 999px !important; border: 1px solid #B9D3CF !important; background: #FFFFFF !important; color: var(--ap-texto) !important; padding: 0 22px !important; font: 16px/1 var(--wp--preset--font-family--source-sans) !important; margin: 0 !important; }
.ap-subscribe button, .ap-subscribe .wp-block-button__link { height: 52px !important; border: 0 !important; border-radius: 999px !important; background: var(--ap-verde) !important; color: #FFFFFF !important; padding: 0 28px !important; font: 600 16px/1 var(--wp--preset--font-family--outfit) !important; cursor: pointer; margin: 0 !important; width: auto !important; }
.ap-subscribe--dark input[type=email] { height: 46px !important; background: transparent !important; border-color: rgba(207,226,231,.35) !important; color: #FFFFFF !important; padding: 0 18px !important; font-size: 15px !important; }
.ap-subscribe--dark input[type=email]::placeholder { color: #9FC0C9; }
.ap-subscribe--dark button { height: 46px !important; background: var(--ap-celeste) !important; color: var(--ap-noche) !important; padding: 0 20px !important; font-size: 15px !important; }
.ap-subscribe .wp-block-jetpack-subscriptions__subscount { display: none; }
.ap-subscribe-sec .ap-subscribe-box { max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
.ap-subscribe-sec { padding: 48px 32px 0; }
.ap-subscribe-box { background: var(--ap-agua); border-radius: 24px; padding: 32px 36px !important; display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; }
.ap-subscribe-box > * { margin: 0 !important; }
.ap-subscribe-box__txt { flex: 1 1 380px; display: flex; gap: 18px; align-items: flex-start; }
.ap-subscribe-box__txt svg { flex-shrink: 0; }
.ap-subscribe-box__txt h2 { margin: 0 0 6px; font: 600 26px/1.15 var(--wp--preset--font-family--outfit); color: var(--ap-verde); }
.ap-subscribe-box__txt p { margin: 0; font-size: 17px; line-height: 1.5; color: #34474E; }
.ap-subscribe-box .ap-subscribe { flex: 1 1 420px; }
.ap-hero-link { align-self: flex-start; color: var(--ap-celeste) !important; font-family: var(--wp--preset--font-family--outfit); font-weight: 600; font-size: 17px; border-bottom: 1.5px solid rgba(169,212,224,.6); padding-bottom: 2px; }
.ap-hero-link:hover { color: #FFFFFF !important; }

/* ---------- listados de entradas ---------- */
.ap-wrap { max-width: 1200px; margin: 0 auto !important; box-sizing: border-box; padding: 80px 32px 96px; display: flex; flex-direction: column; gap: 28px; }
.ap-wrap > * { margin: 0 !important; }
.ap-latest { background: var(--ap-crema); }
.ap-bloglist .ap-wrap { padding-top: 48px; }
.ap-cards { list-style: none; margin: 0 !important; padding: 0; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 22px; }
.ap-cards > li { margin: 0 !important; display: flex; }
.ap-card { flex: 1; background: #FFFFFF; border: 1px solid var(--ap-gris); border-radius: 20px; padding: 28px !important; display: flex; flex-direction: column; gap: 12px; transition: transform .25s ease, box-shadow .25s ease; }
.ap-card > * { margin: 0 !important; }
.ap-bloglist .ap-card { background: var(--ap-crema); }
.ap-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(15, 100, 102, .14); }
.ap-card__date { font-size: 14px; color: var(--ap-suave); }
.ap-card__title { font: 600 22px/1.25 var(--wp--preset--font-family--outfit) !important; letter-spacing: 0; }
.ap-card__title a { color: var(--ap-verde); text-decoration: none; }
.ap-card__title a::after { content: ""; position: absolute; inset: 0; }
.ap-card { position: relative; }
.ap-card__ex, .ap-card__ex p { font-size: 16px; line-height: 1.55; color: #34474E; margin: 0; }
.ap-card__ex .wp-block-post-excerpt__more-text { display: none; }
.ap-card__au { margin-top: auto !important; padding-top: 6px; font-size: 14px; color: var(--ap-suave); }
.ap-pagination { margin-top: 12px !important; font-family: var(--wp--preset--font-family--outfit); gap: 8px; }
.ap-pagination a, .ap-pagination .page-numbers { padding: 8px 14px; border-radius: 999px; text-decoration: none; }
.ap-pagination .page-numbers.current { background: var(--ap-verde); color: #FFFFFF; }

/* ---------- páginas genéricas y entradas ---------- */
.ap-pagehero { background: var(--ap-verde); color: #FFFFFF; }
.ap-pagehero .ap-wrap { padding: 72px 32px 80px; gap: 16px; }
.ap-pagehero__t { margin: 0; color: #FFFFFF !important; font: 600 clamp(36px, 5vw, 60px)/1.05 var(--wp--preset--font-family--outfit) !important; letter-spacing: -0.025em; max-width: 960px; }
.ap-kicker { margin: 0; font: 600 14px/1 var(--wp--preset--font-family--outfit); letter-spacing: .2em; }
.ap-kicker a { color: var(--ap-celeste); text-decoration: none; }
.ap-meta { color: #D5E6E4; font-size: 16px; gap: 6px 18px; }
.ap-meta > * { margin: 0 !important; }
.ap-content { padding: 56px 32px 96px; box-sizing: border-box; }
.ap-content a { text-decoration: underline; text-underline-offset: 2px; }
.ap-content .wp-block-button__link { text-decoration: none; }
.ap-featured { margin-bottom: 32px !important; }
.ap-featured img { border-radius: 20px; }
.ap-postnav { margin-top: 56px !important; padding-top: 24px; border-top: 1px solid var(--ap-gris); font-family: var(--wp--preset--font-family--outfit); font-weight: 600; }

/* ---------- formularios (Jetpack Forms) ---------- */
.ap-form { gap: 18px !important; }
.ap-form label, .ap-form .grunion-field-label { font-size: 14px !important; font-weight: 600 !important; color: #34474E !important; font-family: var(--wp--preset--font-family--source-sans) !important; margin-bottom: 6px; }
.ap-form input[type=text], .ap-form input[type=email], .ap-form input[type=tel], .ap-form input[type=url], .ap-form select, .ap-form .contact-form__select-wrapper select { height: 50px !important; border-radius: 12px !important; border: 1px solid #C9D9DE !important; padding: 0 16px !important; font: 16px var(--wp--preset--font-family--source-sans) !important; color: var(--ap-texto) !important; background: #FFFFFF !important; box-sizing: border-box; width: 100%; }
.ap-form textarea { min-height: 150px; border-radius: 12px !important; border: 1px solid #C9D9DE !important; padding: 14px 16px !important; font: 16px/1.5 var(--wp--preset--font-family--source-sans) !important; box-sizing: border-box; width: 100%; }
.ap-form input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--ap-verde); }
.ap-form .grunion-field-checkbox-wrap label, .ap-form .contact-form__checkbox-label { font-weight: 400 !important; font-size: 15px !important; }
.ap-submit .wp-block-button__link { height: 56px; padding: 0 36px !important; background: var(--ap-verde) !important; color: #FFFFFF !important; border-radius: 999px !important; font: 600 18px var(--wp--preset--font-family--outfit) !important; border: 0; cursor: pointer; }
.ap-submit .wp-block-button__link:hover { background: var(--ap-noche) !important; }
.ap-contact__in { max-width: 1200px; margin: 0 auto; box-sizing: border-box; padding: 80px 32px; display: flex; flex-wrap: wrap; gap: 48px; }
.ap-contact__in > * { margin: 0 !important; }
.ap-contact__form { flex: 1 1 560px; min-width: 0; }
.ap-sponsor { background: var(--ap-celeste); color: var(--ap-noche); }
.ap-sponsor__in { max-width: 1200px; margin: 0 auto; box-sizing: border-box; padding: 88px 32px; display: flex; flex-direction: column; gap: 32px; }
.ap-sponsor__in > * { margin: 0 !important; }
.ap-formcard { background: #FFFFFF; border-radius: 24px; padding: 40px !important; scroll-margin-top: 24px; display: flex; flex-direction: column; gap: 20px; }
.ap-formcard > * { margin: 0 !important; }
@media (max-width: 600px) { .ap-formcard { padding: 26px !important; } }

/* ---------- tarjeta de pago (Asóciate y Acreditación) ---------- */
.ap-paycard { flex: 1 1 520px; background: #FFFFFF; border-radius: 24px; padding: 36px; border: 1px solid #DCE8EB; display: flex; flex-direction: column; gap: 18px; box-sizing: border-box; }
.ap-paycard__head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; padding-bottom: 16px; border-bottom: 1px solid #DCE8EB; }
.ap-paycard__k { font: 600 14px/1 var(--wp--preset--font-family--outfit); letter-spacing: .16em; text-transform: uppercase; color: var(--ap-verde); }
.ap-paycard__v { font: 600 40px/1 var(--wp--preset--font-family--outfit); color: var(--ap-verde); letter-spacing: -0.02em; }
.ap-paycard__v s { font-size: 22px; color: var(--ap-suave); font-weight: 500; margin-left: 8px; }
.ap-steps { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; font-size: 17px; line-height: 1.5; }
.ap-paycard__btn { display: block; text-align: center; background: var(--ap-verde); color: #FFFFFF !important; font: 600 18px/1 var(--wp--preset--font-family--outfit); padding: 19px 24px; border-radius: 999px; }
.ap-paycard__btn:hover { background: var(--ap-noche); }
.ap-paycard__note { margin: 0; font-size: 15px; line-height: 1.5; background: var(--ap-agua); border-radius: 14px; padding: 14px 16px; }
.ap-paycard__safe { margin: 0; font-size: 14px; color: var(--ap-suave); text-align: center; }

/* ---------- WooCommerce (carrito, finalizar compra, Mi cuenta) ---------- */
.woocommerce-page .ap-content, .woocommerce .ap-content { padding-top: 48px; }
.wc-block-components-button:not(.is-link), .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #place_order { background: var(--ap-verde) !important; color: #FFFFFF !important; border-radius: 999px !important; font-family: var(--wp--preset--font-family--outfit) !important; font-weight: 600 !important; border: 0 !important; }
.wc-block-components-button:not(.is-link):hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--ap-noche) !important; }
.wc-block-components-title, .wc-block-checkout__form h2 { font-family: var(--wp--preset--font-family--outfit) !important; color: var(--ap-verde); }
.woocommerce-store-notice, p.demo_store { background: var(--ap-verde); }
.ap-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 48px; }
