/* ==========================================================================
   TIPOGRAFÍA INSTITUCIONAL: GOTHAM (TEXTOS) & POPPINS (TÍTULOS)
   ========================================================================== */

/* Gotham @font-face declarations */
@font-face {
    font-family: 'Gotham';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Gotham Light'), local('Gotham-Light'),
         url('./gotham/GothamLight.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: local('Gotham Light Italic'), local('Gotham-LightItalic'),
         url('./gotham/GothamLightItalic.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Gotham Book'), local('Gotham-Book'), local('Gotham'),
         url('./gotham/GothamBook.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: local('Gotham Book Italic'), local('Gotham-BookItalic'),
         url('./gotham/GothamBookItalic.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Gotham Medium'), local('Gotham-Medium'),
         url('./gotham/GothamMedium.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: local('Gotham Medium Italic'), local('Gotham-MediumItalic'),
         url('./gotham/GothamMediumItalic.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Gotham Bold'), local('Gotham-Bold'),
         url('./gotham/GothamBold.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: local('Gotham Bold Italic'), local('Gotham-BoldItalic'),
         url('./gotham/GothamBoldItalic.woff') format('woff');
}
@font-face {
    font-family: 'Gotham';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: local('Gotham Black'), local('Gotham-Black'),
         url('./gotham/GothamBlack.woff') format('woff');
}

/* CSS Variables */
:root {
    --wp--preset--font-family--body: var(--onepress-font-body, "Gotham", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    --wp--preset--font-family--heading: var(--onepress-font-heading, "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    --wp--preset--font-family--open-sans: var(--onepress-font-body, "Gotham", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
    --wp--preset--font-family--raleway: var(--onepress-font-heading, "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
}

/* ==========================================================================
   REGLAS GLOBALES PARA TEXTOS (BODY / CUERPO)
   ========================================================================== */
html,
body,
button,
input,
select,
textarea,
p,
li,
a,
span,
blockquote,
label,
table,
td,
th,
.site-description,
.section-desc,
.member-position,
.service-desc,
.counter__title,
.entry-content,
.entry-content p,
.entry-summary,
.comment-content,
.footer-connect,
.site-info,
.onepress-menu ul li a {
    font-family: var(--onepress-font-body, "Gotham", "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif) !important;
}
body, p, .entry-content p {
    font-size: var(--onepress-size-body, 15px);
    line-height: var(--onepress-lineheight-body, 1.6);
}

/* ==========================================================================
   REGLAS GLOBALES PARA TÍTULOS Y ENCABEZADOS (HEADINGS)
   ========================================================================== */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.site-title,
.site-text-logo,
.hero__title,
.hero__content h1,
.hero__content h2,
.hero-content-style1 h1,
.hero-content-style1 h2,
.hero-content-style1 h3,
.hero-large-text,
.hero-small-text,
.section-title,
.section-subtitle,
.member-name,
.member-name a,
.entry-header .entry-title,
.entry-header .entry-title a,
.widget-title,
.btn,
.button,
.btn-theme-primary,
.btn-secondary-outline,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    font-family: var(--onepress-font-heading, "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif) !important;
}

/* Tamaños ajustables */
h1, .hero__title, .hero-content-style1 h1, .hero-large-text {
    font-size: var(--onepress-size-h1, 48px) !important;
}
h2, .section-title, .section-title-area .section-title, .hero-content-style1 h2 {
    font-size: var(--onepress-size-h2, 32px) !important;
}
h3, .section-subtitle, .section-title-area .section-subtitle, .hero-content-style1 h3 {
    font-size: var(--onepress-size-h3, 22px) !important;
}
.onepress-menu > li > a, .nav-menu > li > a, .onepress-menu ul li a {
    font-family: var(--onepress-font-heading, "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif) !important;
    font-size: var(--onepress-size-menu, 14px) !important;
}

/* ==========================================================================
   FOOTER: FRANJA NEGRA CON CONTACTO + REDES SOCIALES (2 COLUMNAS)
   ========================================================================== */
.site-footer {
    background-color: #111111 !important;
}
.site-footer .footer-connect {
    background-color: #111111 !important;
    padding: 70px 0 !important;
    text-align: left !important;
}
.site-footer .footer-connect .footer-contact-col {
    padding-right: 35px;
}
.site-footer .footer-connect .footer-contact-title {
    font-family: var(--onepress-font-heading, 'Poppins', sans-serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    letter-spacing: 0.5px;
}
.site-footer .footer-connect .footer-contact-item {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 14px !important;
    color: #e5e7eb !important;
}
.site-footer .footer-connect .footer-contact-item:last-child {
    margin-bottom: 0 !important;
}
.site-footer .footer-connect .footer-contact-item .fa-stack {
    flex-shrink: 0;
    margin-right: 14px !important;
    margin-top: 3px !important;
    font-size: 14px;
}
.site-footer .footer-connect .footer-contact-item .fa-stack .fa-circle {
    color: var(--wp--preset--color--primary, #03c4eb) !important;
}
.site-footer .footer-connect .footer-contact-item .fa-stack .fa-inverse {
    color: #111111 !important;
}
.site-footer .footer-connect .footer-contact-text {
    font-family: var(--onepress-font-body, 'Gotham', sans-serif) !important;
    font-size: var(--onepress-size-body, 14px) !important;
    line-height: var(--onepress-lineheight-body, 1.6) !important;
    color: #d1d5db !important;
}
.site-footer .footer-connect .footer-contact-text a {
    color: var(--wp--preset--color--primary, #03c4eb) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.site-footer .footer-connect .footer-contact-text a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}
.site-footer .footer-connect .footer-social-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}
@media (min-width: 768px) {
    .site-footer .footer-connect .footer-social-col {
        border-left: none !important;
        padding-left: 35px;
    }
}
@media (max-width: 767px) {
    .site-footer .footer-connect .footer-social-col {
        margin-top: 40px;
        padding-top: 30px;
        border-top: none !important;
    }
    .site-footer .footer-connect {
        padding: 50px 0 !important;
    }
}
.site-footer .footer-connect .follow-heading {
    font-family: var(--onepress-font-heading, 'Poppins', sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
}
.site-footer .footer-connect .footer-social-icons a {
    font-size: 22px !important;
    color: #ffffff !important;
    margin: 0 10px;
    transition: all 0.2s ease;
}
.site-footer .footer-connect .footer-social-icons a:hover {
    color: var(--wp--preset--color--primary, #03c4eb) !important;
}
.site-footer .site-info {
    background-color: #0a0a0a !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 25px 0 !important;
}
