/* Modern presentation layer for static information pages. Markup stays unchanged. */
.footer-page-shell {
    min-height: 100%;
    background:
        radial-gradient(circle at 18% 8%, rgba(35, 196, 168, .11), transparent 34%),
        radial-gradient(circle at 88% 24%, rgba(74, 145, 220, .1), transparent 30%),
        linear-gradient(145deg, #0b1b22, #102930 55%, #0a1b21);
}

.footer-pages-nav {
    background: linear-gradient(180deg, rgba(15, 41, 48, .94), rgba(8, 23, 29, .97));
    border-color: rgba(103, 217, 205, .14);
}

.footer-pages-nav-link {
    color: rgba(226, 244, 246, .7);
    border-radius: 12px;
}

.footer-pages-nav-link i { color: rgba(101, 221, 207, .76); }
.footer-pages-nav-link:hover,
.footer-pages-nav-link.active {
    background: linear-gradient(135deg, rgba(42, 194, 171, .17), rgba(65, 145, 211, .09));
    border-color: rgba(108, 224, 210, .24);
}
.footer-pages-nav-link.active { box-shadow: inset 3px 0 0 #52d8c5; }

.footer-page-main { min-height: 0; }
.privacy-page,
.rules-page,
.faq-container {
    max-width: 1480px;
    margin: 0 auto;
    padding: clamp(14px, 2vw, 28px);
    color: #edf9fa;
}

.privacy-hero,
.rules-hero,
.faq-hero {
    position: relative;
    min-height: 0;
    margin: 0 0 16px;
    padding: clamp(20px, 3vw, 34px);
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 0, rgba(66, 218, 190, .25), transparent 42%),
        radial-gradient(circle at 92% 110%, rgba(62, 139, 211, .18), transparent 42%),
        linear-gradient(145deg, rgba(20, 53, 61, .96), rgba(10, 28, 35, .97));
    border: 1px solid rgba(117, 225, 214, .18);
    border-top: 3px solid rgba(86, 217, 198, .82);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .24), inset 0 1px rgba(255,255,255,.05);
}

.privacy-hero::after,
.rules-hero::after,
.faq-hero::after {
    color: rgba(122, 234, 218, .055);
}

.privacy-eyebrow,
.rules-eyebrow {
    color: #79e4d4;
    letter-spacing: .14em;
}

.privacy-hero h1,
.rules-hero h1,
.faq-title {
    margin: 0 0 9px;
    color: #fff;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 900;
    line-height: 1.08;
}

.privacy-hero p,
.rules-hero p,
.faq-subtitle {
    max-width: 820px;
    margin: 0;
    color: rgba(229, 246, 247, .75);
    font-size: 15px;
    line-height: 1.6;
}

.privacy-updated {
    margin-top: 15px;
    color: rgba(239, 211, 134, .9);
    background: rgba(224, 180, 75, .1);
    border-color: rgba(235, 194, 93, .18);
}

.privacy-layout { grid-template-columns: minmax(210px, 280px) minmax(0, 1fr); gap: 16px; }
.privacy-summary,
.privacy-card,
.rules-card,
.faq-main {
    background:
        linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
        rgba(12, 34, 41, .9);
    border: 1px solid rgba(119, 205, 207, .13);
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .18), inset 0 1px rgba(255,255,255,.035);
}

.privacy-summary { padding: 18px; }
.privacy-summary-title,
.privacy-card h2,
.rules-card h2,
.faq-section-title { color: #fff; }
.privacy-summary li::marker,
.privacy-card li::marker,
.rules-card li::marker { color: #5bd9c6; }
.privacy-card { padding: 20px 22px; }
.privacy-card + .privacy-card { margin-top: 12px; }
.privacy-card:hover,
.rules-card:hover { border-color: rgba(102, 222, 207, .24); }

.rules-layout { gap: 14px; }
.rules-card { padding: 20px 22px; }
.rules-note {
    background: rgba(53, 203, 174, .12);
    border-color: rgba(89, 222, 197, .2);
}
.rules-table div,
.rules-points-grid > div {
    background: rgba(255,255,255,.045);
    border-color: rgba(117, 212, 207, .11);
}

.faq-grid { padding: 0 !important; }
.faq-main { padding: clamp(16px, 2vw, 25px); }
.faq-section { margin: 0; }
.accordion-item {
    margin-bottom: 10px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(113, 210, 205, .12);
    border-radius: 13px !important;
}
.accordion-button {
    min-height: 56px;
    padding: 15px 18px;
    font-size: 15px;
}
.accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, rgba(47, 198, 173, .17), rgba(54, 139, 205, .08)) !important;
    color: #8cf0df !important;
}
.accordion-body { padding: 4px 18px 18px; color: rgba(230,246,247,.78); }

@media (max-width: 932px) {
    .privacy-layout { grid-template-columns: 1fr; }
    .privacy-summary { position: static; }
    .rules-layout { grid-template-columns: 1fr; }
    .rules-points-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .footer-page-shell { display: flex; flex-direction: column; min-height: 100%; }
    .footer-pages-nav { flex: 0 0 auto; padding: 7px 8px; }
    .footer-page-main { flex: 1 1 auto; min-height: 0; }
    .privacy-page,
    .rules-page,
    .faq-container { padding: 10px; }
    .privacy-hero,
    .rules-hero,
    .faq-hero { margin-bottom: 10px; padding: 17px; border-radius: 14px; }
    .privacy-hero h1,
    .rules-hero h1,
    .faq-title { font-size: 27px; }
    .privacy-card,
    .rules-card { padding: 16px; border-radius: 13px; }
    .privacy-summary { padding: 14px 16px; border-radius: 13px; }
    .rules-points-grid { grid-template-columns: 1fr; }
    .faq-main { border-radius: 14px; }
}

@media (orientation: landscape) and (max-height: 500px) and (max-width: 932px) {
    .footer-page-shell { display: grid; grid-template-columns: 174px minmax(0, 1fr); }
    .footer-pages-nav { padding: 8px; border-right: 1px solid rgba(103,217,205,.14); border-bottom: 0; }
    .footer-pages-nav-list { display: grid; overflow: visible; gap: 4px; }
    .footer-pages-nav-link { min-height: 34px; padding: 6px 8px; white-space: normal; }
    .privacy-page,
    .rules-page,
    .faq-container { padding: 8px 10px; }
    .privacy-hero,
    .rules-hero,
    .faq-hero { padding: 13px 17px; margin-bottom: 8px; }
    .privacy-hero h1,
    .rules-hero h1,
    .faq-title { font-size: 24px; margin-bottom: 5px; }
    .privacy-hero p,
    .rules-hero p,
    .faq-subtitle { font-size: 12px; line-height: 1.4; }
    .privacy-updated { margin-top: 8px; }
    .privacy-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 8px; }
    .privacy-summary,
    .privacy-card,
    .rules-card { padding: 12px 14px; }
    .rules-layout { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
    .rules-card-main { grid-column: 1 / -1; }
    .faq-main { padding: 12px; }
    .accordion-button { min-height: 44px; padding: 11px 14px; font-size: 13px; }
}
