/* Gyalux · Footer · escritorio y base */

.gx-site-footer {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.76) !important;
    font-family: "Inter", sans-serif !important;
    text-align: left !important;
    position: relative !important;
    z-index: 2 !important;
}

.gx-footer-shell {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-top: 4px solid #CBA358 !important;
    background: #001A3A !important;
    box-shadow: 0 -18px 50px rgba(0, 26, 58, 0.08) !important;
    box-sizing: border-box !important;
}

.gx-footer-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 34px !important;
    align-items: center !important;
    padding: 30px 40px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom: 1px solid rgba(0, 26, 58, 0.08) !important;
    box-sizing: border-box !important;
}

.gx-footer-brand-block {
    display: grid !important;
    grid-template-columns: auto minmax(0, 520px) !important;
    gap: 24px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.gx-footer-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-decoration: none !important;
}

.gx-footer-logo {
    width: 164px !important;
    max-width: 164px !important;
    height: auto !important;
    display: block !important;
    filter: none !important;
}

.gx-footer-brand-block p {
    max-width: 520px !important;
    margin: 0 !important;
    color: #4A5568 !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

.gx-footer-partners-compact {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px !important;
    min-width: 0 !important;
}

.gx-footer-partners-title,
    .gx-footer-column h2 {
    color: #CBA358 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.gx-footer-partners-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.gx-footer-partner-pill {
    height: 58px !important;
    min-width: 146px !important;
    padding: 8px 12px !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 26, 58, 0.10) !important;
    border-radius: 14px !important;
    text-decoration: none !important;
    color: #001A3A !important;
    box-shadow: 0 10px 22px rgba(0, 26, 58, 0.07) !important;
    transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease !important;
    box-sizing: border-box !important;
}

.gx-footer-partner-pill:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(203, 163, 88, 0.72) !important;
    box-shadow: 0 14px 28px rgba(0, 26, 58, 0.10) !important;
}

.gx-footer-partner-logo-box {
    width: 72px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    border-radius: 8px !important;
}

.gx-footer-partner-logo-box img {
    display: block !important;
    width: auto !important;
    max-width: 70px !important;
    height: auto !important;
    max-height: 34px !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
}

.gx-footer-partner-logo-box-fiva img {
    width: 70px !important;
    max-width: 70px !important;
    max-height: 30px !important;
}

.gx-footer-fiva-fallback {
    display: none;
    align-items: center;
    justify-content: center;
    color: #6D2F8F;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1;
}

.gx-footer-partner-logo-box-fiva.gx-footer-fiva-missing img {
    display: none !important;
}

.gx-footer-partner-logo-box-fiva.gx-footer-fiva-missing .gx-footer-fiva-fallback {
    display: inline-flex !important;
}

.gx-footer-partner-pill > span:last-child {
    color: #001A3A !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.gx-footer-main {
    background: #001A3A !important;
    padding: 0 40px 24px 40px !important;
    box-sizing: border-box !important;
}

.gx-footer-content {
    display: grid !important;
    grid-template-columns: 1.12fr 1.05fr 1fr 0.82fr 1.05fr !important;
    gap: 34px !important;
    padding: 34px 0 32px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.gx-footer-column h2 {
    display: block !important;
    margin: 0 0 15px 0 !important;
}

.gx-footer-column ul {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.gx-footer-column a,
    .gx-footer-contact span {
    color: rgba(255, 255, 255, 0.70) !important;
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    transition: color 0.28s ease, transform 0.28s ease !important;
}

.gx-footer-column a:hover,
    .gx-footer-column a.active,
    .gx-footer-legal-links a:hover,
    .gx-footer-legal-links a.active {
    color: #CBA358 !important;
}

.gx-footer-contact li {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: flex-start !important;
}

.gx-footer-contact i {
    color: #CBA358 !important;
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
}

.gx-footer-legal-area {
    display: grid !important;
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
    padding: 24px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-sizing: border-box !important;
}

.gx-footer-legal-heading h2 {
    display: block !important;
    margin: 0 0 10px 0 !important;
    color: #CBA358 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

.gx-footer-legal-heading p {
    margin: 0 !important;
    max-width: 360px !important;
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 0.82rem !important;
    line-height: 1.55 !important;
}

.gx-footer-bottomline {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px 34px !important;
    padding: 22px 0 0 0 !important;
}

.gx-footer-company {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px 14px !important;
    align-items: center !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 0.80rem !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
}

.gx-footer-company strong {
    color: #FFFFFF !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    font-weight: 700 !important;
}

.gx-footer-company span::before {
    content: "•" !important;
    margin-right: 12px !important;
    color: #CBA358 !important;
    font-weight: 800 !important;
}

.gx-footer-legal-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
}

.gx-footer-legal-links a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 0.80rem !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    transition: color 0.28s ease !important;
}

.gx-footer-legal-links a:first-child {
    padding-left: 0 !important;
}

.gx-footer-legal-links a:last-child {
    padding-right: 0 !important;
}

.gx-footer-legal-links a + a::before {
    content: "•" !important;
    position: absolute !important;
    left: -2px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #CBA358 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: 0.95 !important;
}

.gx-footer-copy {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 2px 0 0 0 !important;
    color: rgba(255, 255, 255, 0.52) !important;
    font-size: 0.78rem !important;
    line-height: 1.55 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.gx-footer-copy span::before {
    content: "•" !important;
    margin: 0 12px !important;
    color: #CBA358 !important;
    font-weight: 800 !important;
}
