/* ============================================================
 * OM FOOTER — estilos
 * ============================================================ */

.omf-wrap {
    --omf-primary: #29108F;
    --omf-primary-2: #5C1F9E;
    --omf-primary-3: #3F1480;
    --omf-accent: #C33FBC;
    --omf-accent-2: #EC199C;
    --omf-text-soft: rgba(255, 255, 255, 0.75);
    --omf-text-mute: rgba(255, 255, 255, 0.55);
    --omf-text-dim: rgba(255, 255, 255, 0.45);
    --omf-bg-glass: rgba(255, 255, 255, 0.06);
    --omf-border: rgba(255, 255, 255, 0.12);
    --omf-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    font-family: var(--omf-font);
    background: linear-gradient(180deg, #29108F 0%, #5C1F9E 60%, #3F1480 100%);
    color: #fff;
    padding: 56px 0 0;
    position: relative;
    overflow: hidden;
    line-height: 1.5;
}

.omf-wrap *,
.omf-wrap *::before,
.omf-wrap *::after {
    box-sizing: border-box;
}

.omf-wrap a { text-decoration: none; color: inherit; }

/* Glow shapes */
.omf-wrap::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(195, 63, 188, 0.18) 0%, transparent 70%);
    pointer-events: none;
}
.omf-wrap::after {
    content: '';
    position: absolute;
    bottom: 60px;
    left: -150px;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(236, 25, 156, 0.12) 0%, transparent 70%);
    pointer-events: none;
}

.omf-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    position: relative;
    z-index: 2;
}

/* ============================================================
 * GRID PRINCIPAL — 3 columnas
 * ============================================================ */
.omf-top {
    display: grid;
    grid-template-columns: 1.3fr 1.1fr 1fr;
    gap: 56px;
    padding-bottom: 48px;
    align-items: start;
}

/* Brand col */
.omf-brand-img {
    height: 78px;
    width: auto;
    display: block;
    margin-bottom: 12px;
}
.omf-tagline {
    font-size: 14px;
    color: var(--omf-text-soft);
    font-weight: 500;
    margin-bottom: 22px;
    line-height: 1.5;
    max-width: 320px;
}
.omf-rnt {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 0;
}
.omf-rnt__label {
    font-size: 9.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--omf-text-mute);
    line-height: 1;
}
.omf-rnt__num {
    font-size: 11.5px;
    font-weight: 800;
    color: #fff;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    margin-top: 2px;
}

/* Heading común */
.omf-heading {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--omf-text-mute);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.omf-heading::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.18), transparent);
}

.omf-col { padding-top: 4px; }

/* Contact row */
.omf-contact {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 14px;
}
.omf-contact__icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--omf-bg-glass);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--omf-accent-2);
}
.omf-contact__icon svg { width: 14px; height: 14px; stroke-width: 2; }
.omf-contact__label {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--omf-text-mute);
    margin-bottom: 2px;
}
.omf-contact__value {
    font-size: 13.5px;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
    word-break: break-word;
}
.omf-contact__value a { transition: color 0.15s; }
.omf-contact__value a:hover { color: #FFCEEB; }

/* Address */
.omf-address {
    font-size: 13.5px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
    margin-bottom: 20px;
}
.omf-address strong {
    display: block;
    color: #fff;
    font-weight: 700;
    margin-bottom: 2px;
}

/* Social */
.omf-social {
    display: flex;
    gap: 8px;
}
.omf-social a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--omf-bg-glass);
    border: 1px solid rgba(255, 255, 255, 0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: all 0.2s;
}
.omf-social a:hover {
    background: linear-gradient(135deg, var(--omf-accent-2), var(--omf-accent));
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(236, 25, 156, 0.4);
}
.omf-social svg { width: 16px; height: 16px; }

/* ============================================================
 * BOTTOM BAR
 * ============================================================ */
.omf-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    padding: 12px 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.omf-partners {
    display: flex;
    align-items: center;
    gap: 22px;
}
.omf-partners__label {
    font-size: 9.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--omf-text-dim);
}
.omf-partners__img {
    height: 40px;
    width: auto;
    opacity: 0.9;
    transition: opacity 0.2s;
}
.omf-partners__img:hover { opacity: 1; }
.omf-copyright {
    font-size: 11.5px;
    color: var(--omf-text-mute);
    font-weight: 500;
    text-align: right;
    line-height: 1.5;
}
.omf-copyright a {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 700;
    transition: color 0.15s;
}
.omf-copyright a:hover { color: #FFCEEB; }

/* ============================================================
 * RESPONSIVE
 * ============================================================ */
@media (max-width: 900px) {
    .omf-top {
        grid-template-columns: 1fr;
        gap: 36px;
        padding-bottom: 32px;
    }
    .omf-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
    .omf-copyright {
        text-align: left;
    }
    .omf-inner { padding: 0 22px; }
    .omf-wrap { padding-top: 40px; }
    .omf-brand-img { height: 38px; }
}

/* Supratecnia logo inline en copyright */
.omf-powered {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.omf-powered a {
    display: inline-flex;
    align-items: center;
    transition: opacity 0.2s;
}
.omf-powered a:hover { opacity: 0.8; }
.omf-powered__img {
    height: 22px;
    width: auto;
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}
@media (max-width: 900px) {
    .omf-powered__img { height: 20px; }
}
