/* Frontend popup notice styles */
.fb-popup-modal .modal-content {
    border: 0;
    overflow: hidden;
    border-radius: 1.25rem;
}
.fb-popup-close {
    z-index: 5;
}
.fb-popup-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-bottom: 0.75rem;
}
.fb-popup-title {
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 0.75rem;
}
.fb-popup-desc {
    color: inherit;
    opacity: 0.92;
    line-height: 1.65;
}
.fb-popup-desc p:last-child { margin-bottom: 0; }
.fb-popup-cta { margin-top: 1.35rem; }
.fb-popup-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 10rem;
    padding: 0.8rem 1.4rem;
    border-radius: 0.9rem;
    font-weight: 700;
    text-decoration: none !important;
    color: #fff !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.fb-popup-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}

/* Promo */
.fb-popup--promo .fb-popup-content {
    background: linear-gradient(160deg, #0b1f4d 0%, #0045ad 55%, #1d7bff 100%);
    color: #fff;
}
.fb-popup--promo .btn-close { filter: invert(1); }
.fb-popup--promo .fb-popup-badge { background: rgba(255,255,255,.16); color: #fff; }
.fb-popup--promo .fb-popup-btn {
    background: #fff;
    color: #0045ad !important;
    box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,.18);
}

/* Celebration */
.fb-popup--celebration .fb-popup-content {
    background:
        radial-gradient(circle at 12% 18%, rgba(251,191,36,.35), transparent 35%),
        radial-gradient(circle at 88% 12%, rgba(236,72,153,.35), transparent 32%),
        linear-gradient(145deg, #fff7ed, #fdf2f8 55%, #eff6ff);
    color: #1f2937;
}
.fb-popup--celebration .fb-popup-badge {
    background: linear-gradient(90deg, #db2777, #f59e0b);
    color: #fff;
}
.fb-popup--celebration .fb-popup-btn {
    background: linear-gradient(90deg, #db2777, #ea580c);
    box-shadow: 0 0.75rem 1.5rem rgba(219, 39, 119, .25);
}

/* Urgency */
.fb-popup--urgency .fb-popup-content {
    background: linear-gradient(145deg, #7f1d1d, #c2410c 60%, #ea580c);
    color: #fff;
    animation: fbPopupPulse 2.4s ease-in-out infinite;
}
.fb-popup--urgency .btn-close { filter: invert(1); }
.fb-popup--urgency .fb-popup-badge {
    background: rgba(0,0,0,.25);
    color: #ffedd5;
    text-transform: uppercase;
}
.fb-popup--urgency .fb-popup-btn {
    background: #fff;
    color: #9a3412 !important;
}
@keyframes fbPopupPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(234, 88, 12, 0.35); }
    50% { box-shadow: 0 0 0 10px rgba(234, 88, 12, 0); }
}

/* Glass */
.fb-popup--glass .modal-dialog { max-width: 480px; }
.fb-popup--glass .fb-popup-content {
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.55);
    color: #0f172a;
    box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, .28);
}
.fb-popup--glass .fb-popup-badge {
    background: rgba(15,118,110,.12);
    color: #0f766e;
}
.fb-popup--glass .fb-popup-btn {
    background: linear-gradient(135deg, #0f766e, #0284c7);
}

/* Split */
.fb-popup--split .fb-popup-content { padding: 0; }
.fb-popup-split {
    display: grid;
    grid-template-columns: 0.9fr 1.2fr;
    min-height: 280px;
}
.fb-popup-split-aside {
    background:
        linear-gradient(160deg, rgba(0,69,173,.9), rgba(124,58,237,.85)),
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.25), transparent 45%);
}
.fb-popup-split-main {
    position: relative;
    padding: 1.75rem 1.5rem 1.5rem;
    background: #fff;
    color: #111827;
}
.fb-popup-split-main .fb-popup-close {
    position: absolute;
    top: 0.85rem;
    inset-inline-end: 0.85rem;
}
.fb-popup--split .fb-popup-badge {
    background: #eff6ff;
    color: #1d4ed8;
}
.fb-popup--split .fb-popup-btn {
    background: linear-gradient(135deg, #1e3a8a, #7c3aed);
}
@media (max-width: 767.98px) {
    .fb-popup-split { grid-template-columns: 1fr; }
    .fb-popup-split-aside { min-height: 90px; }
}

/* Spotlight */
.fb-popup--spotlight .modal-content {
    background: #0b1220;
    color: #f8fafc;
    box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 2rem 4rem rgba(0,0,0,.55);
}
.fb-popup--spotlight .btn-close { filter: invert(1); }
.fb-popup--spotlight .fb-popup-badge {
    background: rgba(56,189,248,.15);
    color: #7dd3fc;
}
.fb-popup--spotlight .fb-popup-btn {
    background: linear-gradient(135deg, #38bdf8, #6366f1);
}
.fb-popup--spotlight.modal { --bs-backdrop-opacity: 0.78; }

/* Classic */
.fb-popup--classic .fb-popup-content {
    background: #fff;
    color: #1f2937;
    border: 1px solid #e5e7eb;
}
.fb-popup--classic .fb-popup-badge {
    background: #eff6ff;
    color: #1d4ed8;
}
.fb-popup--classic .fb-popup-btn {
    background: #0045ad;
}

/* Bottom sheet */
.fb-popup-dialog--sheet {
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 640px;
    transform: none;
}
.fb-popup--sheet .modal-dialog-bottom {
    display: flex;
    align-items: flex-end;
    min-height: calc(100% - 0rem);
}
.fb-popup--sheet .fb-popup-content {
    border-radius: 1.25rem 1.25rem 0 0;
    background: linear-gradient(180deg, #f0f9ff, #fff);
    color: #0f172a;
    box-shadow: 0 -1rem 2.5rem rgba(15, 23, 42, .18);
}
.fb-popup--sheet .fb-popup-badge {
    background: #e0f2fe;
    color: #0369a1;
}
.fb-popup--sheet .fb-popup-btn {
    background: linear-gradient(135deg, #0369a1, #0891b2);
    width: 100%;
}
.fb-popup--sheet.fade .modal-dialog {
    transform: translateY(100%);
    transition: transform .3s ease-out;
}
.fb-popup--sheet.show .modal-dialog {
    transform: translateY(0);
}

.fb-popup-modal .modal-body,
.fb-popup-split-main {
    text-align: center;
}
.fb-popup--split .fb-popup-split-main { text-align: start; }
