/* ==========================================================================
   ANBOOST UI — legal pages (terms, privacy, refund). Builds on anboost-ui.css. Scoped to body.anboost-ui.au-legal-page.
   The document itself is the page builder's unchanged output (terms_condition_one widget: .legal-page, .legal-page-notice,
   .legal-page-section, .legal-page-prose …); these rules only restyle it — its Tailwind utility classes do nothing here.
   ========================================================================== */

.au-legal-page { --doc: 760px; }

/* ---------- Hero ---------- */
.au-legal-page .au-lg-hero { position: relative; padding: calc(var(--nav-h) + clamp(34px, 5vw, 64px)) 0 clamp(22px, 3vw, 36px); isolation: isolate; }
.au-legal-page .au-lg-hero::before { content: ""; position: absolute; inset: 0 0 -120px; z-index: -1; pointer-events: none; background: radial-gradient(560px 240px at 14% 18%, rgba(15, 184, 170, .11), transparent 70%), radial-gradient(380px 200px at 92% 0%, rgba(233, 85, 43, .05), transparent 70%); }
.au-legal-page.is-rtl .au-lg-hero::before { background: radial-gradient(560px 240px at 86% 18%, rgba(15, 184, 170, .11), transparent 70%), radial-gradient(380px 200px at 8% 0%, rgba(233, 85, 43, .05), transparent 70%); }
.au-legal-page .au-lg-hero .au-kicker { margin-bottom: 10px; }
.au-legal-page .au-lg-hero__title { font-family: var(--display); font-weight: 800; font-size: clamp(32px, 4.4vw, 56px); line-height: 1.1; letter-spacing: -.03em; overflow-wrap: anywhere; }
.au-legal-page.is-rtl .au-lg-hero__title, .au-legal-page .au-lg-hero__title:dir(rtl) { font-weight: 700; letter-spacing: 0; line-height: 1.35; }
.au-legal-page .au-lg-hero__note { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 14px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); color: var(--navy-2); font-size: 14px; }
.au-legal-page .au-lg-hero__note .au-i { color: var(--teal-ink); }

/* ---------- Body: TOC · document · aside ---------- */
.au-legal-page .au-lg-body { display: grid; grid-template-columns: minmax(200px, 250px) minmax(0, var(--doc)) minmax(180px, 230px); justify-content: space-between; align-items: start; gap: 28px; padding-bottom: clamp(64px, 8vw, 110px); }
.au-legal-page .au-lg-toc { position: sticky; top: calc(var(--nav-h) + 20px); max-height: calc(100vh - var(--nav-h) - 40px); overflow-y: auto; min-width: 0; }
.au-legal-page .au-lg-toc__box { border-radius: 20px; background: var(--paper); border: 1px solid var(--line); }
.au-legal-page .au-lg-toc__title { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; padding: 0 16px; font-weight: 700; font-size: 14.5px; cursor: pointer; list-style: none; }
.au-legal-page .au-lg-toc__title::-webkit-details-marker { display: none; }
.au-legal-page .au-lg-toc__chev { font-size: 16px; color: var(--mute); transition: transform .25s var(--ease); }
.au-legal-page .au-lg-toc__box[open] .au-lg-toc__chev { transform: rotate(180deg); }
.au-legal-page .au-lg-toc__list { margin: 0; padding: 0 8px 10px; list-style: none; counter-reset: toc; font-family: "IBM Plex Sans Arabic", var(--body); }
.au-legal-page .au-lg-toc__list li { counter-increment: toc; }
.au-legal-page .au-lg-toc__list a { display: flex; gap: 8px; align-items: flex-start; min-height: 44px; padding: 10px 8px; border-radius: 12px; color: var(--navy-2); font-size: 14px; line-height: 1.5; }
.au-legal-page .au-lg-toc__list a::before { content: counter(toc); flex: none; min-width: 20px; font-family: var(--latin); font-weight: 700; color: var(--teal-ink); }
.au-legal-page .au-lg-toc__list a:hover, .au-legal-page .au-lg-toc__list a.is-active { background: var(--ivory); color: var(--navy); }

.au-legal-page .au-lg-doc { min-width: 0; }
.au-legal-page .au-lg-aside { position: sticky; top: calc(var(--nav-h) + 20px); display: grid; gap: 14px; min-width: 0; }
.au-legal-page .au-lg-help { display: grid; gap: 10px; padding: 18px; border-radius: 20px; background: var(--navy); color: var(--ivory); }
.au-legal-page .au-lg-help__title { font-weight: 700; line-height: 1.4; }
.au-legal-page .au-lg-help .au-btn { background: var(--paper); color: var(--navy); height: 44px; }
.au-legal-page .au-lg-related__title { margin-top: 4px; color: var(--mute); font-size: 13px; font-weight: 700; }
.au-legal-page .au-lg-related { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.au-legal-page .au-lg-related a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 0 12px; border-radius: 12px; font-weight: 600; font-size: 14.5px; color: var(--navy-2); }
.au-legal-page .au-lg-related a:hover { background: var(--paper); color: var(--teal-ink); }
.au-legal-page .au-lg-related .au-i { font-size: 15px; color: var(--mute); }
.au-legal-page .au-lg-top { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--mute); font-weight: 600; font-size: 14px; }
.au-legal-page .au-lg-top__i { transform: rotate(90deg); }
.au-legal-page .au-lg-top:hover { color: var(--teal-ink); }

/* ---------- The document (page-builder widget markup, unchanged) ---------- */
.au-legal-page .au-lg-doc :is(.pb-section, .section-inner, .xgp_row, .pb-column, .xgp-widget) { display: block; width: auto; max-width: none; margin: 0; padding: 0; }
.au-legal-page .au-lg-doc .legal-page { padding: 0; font-family: "IBM Plex Sans Arabic", var(--body); color: var(--navy); font-size: 17px; line-height: 1.95; }
.au-legal-page .au-lg-doc .legal-page .container { width: auto; max-width: none; margin: 0; padding: 0; }
.au-legal-page .au-lg-doc .legal-page-notice { margin-bottom: 22px; padding: clamp(20px, 3vw, 28px); border-radius: 24px; background: var(--paper); border: 1px solid var(--line); border-inline-start: 4px solid var(--teal-2); }
.au-legal-page .au-lg-doc .legal-page-notice h2 { font-family: "Readex Pro", "IBM Plex Sans Arabic", var(--display); font-weight: 700; font-size: clamp(21px, 2.2vw, 26px); line-height: 1.45; margin: 0 0 8px; }
.au-legal-page .au-lg-doc .legal-page-notice p { margin: 0; color: var(--navy-2); }
.au-legal-page .au-lg-doc .legal-page-body { padding: clamp(20px, 3.4vw, 40px); border-radius: 26px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 26px 50px -46px rgba(13, 26, 44, .5); }
.au-legal-page .au-lg-doc .legal-page-section { padding: 0; border: 0; }
.au-legal-page .au-lg-doc .legal-page-section + .legal-page-section { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.au-legal-page .au-lg-doc .legal-page-section h3 { scroll-margin-top: calc(var(--nav-h) + 24px); margin: 0 0 10px; font-family: "Readex Pro", "IBM Plex Sans Arabic", var(--display); font-weight: 700; font-size: clamp(19px, 1.9vw, 22px); line-height: 1.5; color: var(--navy); }
.au-legal-page .au-lg-doc .legal-page-prose p { margin: 0 0 12px; }
.au-legal-page .au-lg-doc .legal-page-prose p:last-child { margin-bottom: 0; }
.au-legal-page .au-lg-doc .legal-page-prose ul { margin: 0 0 12px; padding-inline-start: 22px; list-style: disc; }
.au-legal-page .au-lg-doc .legal-page-prose li { margin: 6px 0; padding-inline-start: 4px; }
.au-legal-page .au-lg-doc .legal-page-prose li::marker { color: var(--teal-2); }
.au-legal-page .au-lg-doc .legal-page-section:target h3 { color: var(--teal-ink); }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
    .au-legal-page .au-lg-body { grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); }
    .au-legal-page .au-lg-aside { grid-column: 2; position: static; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); align-items: start; }
    .au-legal-page .au-lg-related__title, .au-legal-page .au-lg-top { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
    .au-legal-page .au-lg-body { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .au-legal-page .au-lg-toc { position: static; max-height: none; }
    .au-legal-page .au-lg-aside { grid-column: auto; }
}
@media (max-width: 640px) {
    .au-legal-page .au-lg-doc .legal-page { font-size: 16.5px; line-height: 1.9; }
    .au-legal-page .au-lg-doc .legal-page-body { border-radius: 20px; }
    .au-legal-page .au-lg-hero__note { border-radius: 16px; }
}
@media print {
    .au-legal-page .au-nav, .au-legal-page .au-footer, .au-legal-page .au-lg-toc, .au-legal-page .au-lg-aside { display: none !important; }
    .au-legal-page .au-lg-body { display: block; }
    .au-legal-page .au-lg-doc .legal-page-body, .au-legal-page .au-lg-doc .legal-page-notice { box-shadow: none; border: 0; padding: 0; }
}
