﻿:root {
    --fire-red: #ff4b4b;
    --fire-salmon: #ff9b93;
    --public-bg: #071115;
    --public-bg-soft: #0d1b20;
    --public-card: #122228;
    --public-border: rgba(255, 255, 255, .08);
    --public-text: #f4f7f8;
    --public-muted: #9daeb5;
}

* {
    box-sizing: border-box;
}
.public-logo {
    width: 72px;
    height: 72px;
    object-fit: contain;
    display: block;
}
html,
body {
    min-height: 100%;
}

.public-body {
    background: var(--public-bg);
    color: var(--public-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.public-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(7, 17, 21, .92);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--public-border);
}

.public-navbar {
    min-height: 76px;
}

.public-brand {
    font-weight: 900;
    letter-spacing: .08em;
    color: var(--fire-red) !important;
}

    .public-brand span {
        color: var(--public-text);
    }

.public-link {
    color: var(--public-muted) !important;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
    font-weight: 700;
}

    .public-link:hover,
    .public-link.active {
        color: var(--fire-salmon) !important;
    }

.public-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--fire-salmon), var(--fire-red));
    color: #210909;
    text-decoration: none;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 12px;
    box-shadow: 0 12px 25px rgba(255, 75, 75, .18);
}

    .public-btn:hover {
        color: #210909;
        transform: translateY(-1px);
    }

.public-login-link {
    color: var(--public-text);
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
}

    .public-login-link:hover {
        color: var(--fire-salmon);
    }

.public-dropdown {
    background: #0d1b20;
    border: 1px solid var(--public-border);
}

    .public-dropdown .dropdown-item {
        color: var(--public-text);
    }

        .public-dropdown .dropdown-item:hover {
            background: rgba(255, 255, 255, .06);
            color: var(--fire-salmon);
        }

.public-main {
    min-height: 70vh;
}

.public-footer {
    border-top: 1px solid var(--public-border);
    padding: 54px 0;
    background: #071115;
    color: var(--public-muted);
}

    .public-footer h5,
    .public-footer h6 {
        color: var(--public-text);
        font-weight: 900;
        letter-spacing: .08em;
    }

    .public-footer h5 {
        color: var(--fire-red);
    }

        .public-footer h5 span {
            color: var(--public-text);
        }

    .public-footer a {
        display: block;
        color: var(--public-muted);
        text-decoration: none;
        margin-bottom: 8px;
    }

        .public-footer a:hover {
            color: var(--fire-salmon);
        }

.public-footer-icons {
    display: flex;
    gap: 14px;
    justify-content: flex-end;
    color: var(--public-muted);
    font-size: 20px;
}

@media (max-width: 991px) {
    .public-navbar {
        padding: 14px 0;
    }

    .public-btn {
        margin-top: 10px;
        width: 100%;
    }

    .public-footer-icons {
        justify-content: flex-start;
    }
}

/* =========================
   MODALES LEGALES
========================= */

.legal-modal-content {
    background: #101d25;
    color: #f4f7f8;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 0;
}

.legal-modal-header {
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 22px 24px;
}

.legal-eyebrow {
    display: block;
    color: #ffaaa5;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.legal-modal-header .modal-title {
    color: #ffffff;
    font-size: 28px;
    font-weight: 950;
    text-transform: uppercase;
    margin: 0;
}

.legal-modal-body {
    padding: 24px;
}

    .legal-modal-body p {
        color: #cbd5dc;
        line-height: 1.75;
        margin-bottom: 16px;
    }

.legal-note {
    margin-top: 18px;
    background: rgba(255, 111, 97, .12);
    border-left: 4px solid #ff6f61;
    padding: 14px 16px;
    color: #ffccc8;
    font-weight: 700;
}

.legal-modal-footer {
    border-top: 1px solid rgba(255,255,255,.08);
    padding: 18px 24px;
}

.legal-btn-secondary {
    min-height: 44px;
    border: 0;
    background: #26343b;
    color: #ffffff;
    padding: 0 22px;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

    .legal-btn-secondary:hover {
        background: #34434d;
    }

@media (hover: hover) and (pointer: fine) {
    body {
        cursor: none !important;
    }

    button,
    a,
    input,
    textarea,
    select {
        cursor: none !important;
    }

    #cursor {
        display: block;
    }
}

@media (hover: none), (pointer: coarse) {
    body,
    button,
    a,
    input,
    textarea,
    select {
        cursor: auto !important;
    }

    #cursor {
        display: none !important;
    }
}
#cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 80px;
    height: 100px;
    pointer-events: none;
    z-index: 999999;
    transform: translate(-50%,-50%);
    transition: filter .15s;
}

    #cursor img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    #cursor.lights-on {
        animation: sirena .35s infinite;
    }

@keyframes sirena {

    0%,100% {
        filter: drop-shadow(-4px -4px 5px rgba(255,0,0,.2)) drop-shadow(4px -4px 10px rgba(255,0,0,.95));
    }

    50% {
        filter: drop-shadow(-4px -4px 10px rgba(255,0,0,.95)) drop-shadow(4px -4px 5px rgba(255,0,0,.2));
    }
}

