/* ═══════════════════════════════════════════════════════
   footer.css — bribool Capital v2 (dark premium gold)
   Footer dark + floating actions gold + modal soporte dark + responsive global
═══════════════════════════════════════════════════════ */

/* ── Footer ── */
.ad-footer {
    padding: 72px 0 40px;
    background: #0a021e;
    border-top: 1px solid rgba(210,155,25,.10);
}
.ad-footer__grid {
    display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: 40px; margin-bottom: 52px;
}
.ad-footer__logo {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 18px;
}
.ad-footer__logo img { width: 36px; height: 36px; object-fit: contain; filter: brightness(0) invert(1); }
.ad-footer__logo img.ad-footer__logo-img--custom { filter: none; }
.ad-footer__logo--wordmark img {
    width: min(210px, 100%);
    height: auto;
    max-height: 64px;
    filter: none;
}
.ad-footer__logo-text { line-height: 1; text-transform: uppercase; }
.ad-footer__logo-text strong { display: block; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: 1px; }
.ad-footer__logo-text span { display: block; margin-top: 3px; color: rgba(255,255,255,.55); font-size: 10px; font-weight: 700; letter-spacing: 3.5px; }
.ad-footer__desc { color: rgba(255,255,255,.45); font-size: 14px; line-height: 1.7; margin-bottom: 22px; max-width: 320px; }
.ad-footer__social { display: flex; gap: 10px; }
.ad-footer__social a {
    width: 36px; height: 36px; border-radius: 50%;
    display: grid; place-items: center;
    border: 1px solid rgba(210,155,25,.18); color: rgba(255,255,255,.45);
    font-size: 14px; transition: color .2s, border-color .2s, background .2s;
}
.ad-footer__social a:hover { color: var(--gold-mid); border-color: rgba(210,155,25,.50); background: rgba(210,155,25,.08); }
.ad-footer__heading {
    color: rgba(255,255,255,.85); font-size: 12px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .14em; margin-bottom: 18px;
}
.ad-footer__links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.ad-footer__links a {
    color: rgba(255,255,255,.45); font-size: 14px; font-weight: 500; transition: color .2s;
}
.ad-footer__links a:hover { color: var(--gold-mid); }
.ad-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.06); padding: 22px 0;
}
.ad-footer__copy { color: rgba(255,255,255,.30); font-size: 13px; }

/* ── Floating actions ── */
.ad-floating-actions {
    position: fixed; right: 24px; bottom: 24px; z-index: 130;
    display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
}
.ad-floating-actions .ad-floating-top,
.ad-floating-actions .ad-floating-support {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 46px; color: #1c0e00;
    background: linear-gradient(160deg, #e8b840 0%, #d4a020 50%, #b07820 100%);
    border: 1px solid rgba(232,184,64,.45);
    cursor: pointer; text-decoration: none; font-family: inherit; font-weight: 800;
    transition: transform .22s ease;
    box-shadow: none;
}
.ad-floating-actions .ad-floating-top:hover,
.ad-floating-actions .ad-floating-support:hover {
    transform: translateY(-2px); box-shadow: none;
}
.ad-floating-actions .ad-floating-support {
    padding: 0 20px; border-radius: 999px; font-size: .92rem; letter-spacing: .04em;
}
.ad-floating-actions .ad-floating-top {
    width: 46px; height: 46px; flex: 0 0 46px; border-radius: 50%; font-size: 15px;
}

/* ── Modal de soporte ── */
.ad-support-modal {
    position: fixed; inset: 0; z-index: 190;
    display: flex; align-items: center; justify-content: center; padding: 24px;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}
.ad-support-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
body.is-support-modal-open { overflow: hidden; }
.ad-support-modal__backdrop {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.40); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.ad-support-modal__dialog {
    position: relative; z-index: 1; width: min(520px, 100%);
    padding: 28px 26px 24px; border-radius: 20px;
    border: 1px solid rgba(45,14,96,.14);
    background: #ffffff;
    box-shadow: 0 30px 60px rgba(45,14,96,.18);
}
.ad-support-modal__close {
    position: absolute; top: 16px; right: 16px;
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid rgba(45,14,96,.15); background: transparent;
    color: #718096; font-size: 15px; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: color .2s, border-color .2s, background .2s;
}
.ad-support-modal__close:hover {
    color: var(--ad-purple); border-color: rgba(45,14,96,.30); background: rgba(45,14,96,.06);
}
.ad-support-modal__header { margin-bottom: 22px; }
.ad-support-modal__eyebrow {
    display: inline-flex; margin-bottom: 10px; padding: 6px 12px; border-radius: 999px;
    border: 1px solid rgba(45,14,96,.18); background: rgba(45,14,96,.07);
    color: var(--ad-purple); font-size: .78rem; font-weight: 800;
    letter-spacing: .08em; text-transform: uppercase;
}
.ad-support-modal__header h3 {
    margin: 0 0 10px; color: #232835;
    font-size: clamp(1.3rem, 3vw, 1.7rem); font-weight: 800; line-height: 1.1; letter-spacing: -.02em;
}
.ad-support-modal__header p { margin: 0; color: #4e5362; font-size: .95rem; line-height: 1.65; }
.ad-support-modal__options { display: grid; gap: 10px; }
.ad-support-modal__option {
    display: grid; grid-template-columns: auto 1fr; gap: 14px;
    align-items: center; padding: 16px 18px; border-radius: 14px;
    border: 1px solid rgba(45,14,96,.10); background: #f8f7ff;
    text-decoration: none; color: inherit;
    transition: transform .22s, border-color .22s, background .22s;
}
.ad-support-modal__option:hover {
    transform: translateY(-2px); border-color: rgba(45,14,96,.28); background: rgba(45,14,96,.05);
}
.ad-support-modal__icon {
    width: 46px; height: 46px; border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(45,14,96,.09); color: var(--ad-purple); font-size: 1.15rem;
}
.ad-support-modal__copy { display: grid; gap: 4px; }
.ad-support-modal__copy strong { color: #232835; font-size: 1rem; font-weight: 800; }
.ad-support-modal__copy small  { color: #718096; font-size: .88rem; line-height: 1.55; }

/* ── Responsive global ── */
@media (max-width: 1100px) {
    .ad-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 720px) {
    .ad-floating-actions { right: 16px; bottom: 16px; gap: 10px; }
    .ad-floating-actions .ad-floating-support span { display: none; }
    .ad-floating-actions .ad-floating-support { padding: 0; width: 46px; border-radius: 50%; }
    .ad-support-modal { padding: 16px; }
}
@media (max-width: 680px) {
    .ad-footer__grid { grid-template-columns: 1fr; }
}
