/* ==========================================================================
   Deep Audiobooks – Terms & Conditions / Copyright & Disclaimer pages
   Additions only (prefix .lg_). Light / dark theme via the template variables.
   ========================================================================== */
.lg_page { font-family: 'Poppins', 'Segoe UI', Arial, sans-serif; padding: 70px 0 70px; }
.lg_page h1, .lg_page h2, .lg_page h3, .lg_page h4, .lg_page p, .lg_page li, .lg_page span, .lg_page a, .lg_page b { font-family: 'Poppins', 'Segoe UI', Arial, sans-serif; }
.lg_wrap { max-width: 1120px; margin: 0 auto; padding: 0 15px; }
.lg_grad { background: linear-gradient(135deg, #fa5b41, #ff8a50); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.lg_reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.lg_reveal.in { opacity: 1; transform: none; }

/* intro */
.lg_intro { position: relative; padding: 44px 46px; border-radius: 24px; color: #fff; overflow: hidden; margin-bottom: 50px;
    background: linear-gradient(135deg, #1b1a4a 0%, #04031d 60%, #fa5b41 170%); }
.lg_intro:before { content: ""; position: absolute; right: -80px; top: -100px; width: 300px; height: 300px; border-radius: 50%; background: #fa5b41; filter: blur(80px); opacity: .5; }
.lg_intro > * { position: relative; z-index: 1; }
.lg_intro .lg_badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; border-radius: 50px; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
    background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25); margin-bottom: 18px; }
.lg_intro h2 { font-size: 34px; font-weight: 700; line-height: 1.3; text-transform: none; color: #fff; margin: 0 0 14px; }
.lg_intro p { font-size: 15.5px; line-height: 1.95; color: rgba(255, 255, 255, .8); margin: 0 0 12px; max-width: 860px; }
.lg_intro p:last-child { margin-bottom: 0; }

/* layout with sticky contents */
.lg_layout { display: flex; gap: 46px; align-items: flex-start; }
.lg_toc { flex: 0 0 250px; position: sticky; top: 100px; padding: 24px 20px; border-radius: 18px; background: var(--box-color); border: 1px solid var(--border-color); }
.lg_toc h4 { font-size: 13px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; color: var(--hover-color); margin: 0 0 14px; padding: 0 10px; }
.lg_toc a { display: flex; align-items: center; gap: 12px; padding: 10px 10px; border-radius: 10px; font-size: 14.5px; color: var(--para-color); transition: background .25s, color .25s; }
.lg_toc a b { flex: 0 0 26px; height: 26px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; background: rgba(250, 91, 65, .1); color: var(--hover-color); }
.lg_toc a:hover, .lg_toc a.on { background: rgba(250, 91, 65, .1); color: var(--heading-color); }
.lg_toc a.on b { background: linear-gradient(135deg, #fa5b41, #ff8a50); color: #fff; }
.lg_main { flex: 1 1 0; min-width: 0; }

/* section blocks */
.lg_sec { position: relative; padding: 38px 38px 34px; margin-bottom: 28px; border-radius: 20px; background: var(--box-color); border: 1px solid var(--border-color); scroll-margin-top: 100px; overflow: hidden; }
.lg_sec .lg_bgnum { position: absolute; right: 24px; top: 6px; font-size: 90px; font-weight: 700; line-height: 1; color: var(--hover-color); opacity: .07; pointer-events: none; }
.lg_sec_head { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.lg_ic { flex: 0 0 54px; width: 54px; height: 54px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 21px; color: #fff; background: linear-gradient(135deg, #fa5b41, #ff8a50); transform: rotate(-5deg); box-shadow: 0 10px 22px rgba(250, 91, 65, .3); }
.lg_sec h3 { font-size: 24px; font-weight: 600; line-height: 1.35; text-transform: none; margin: 0; padding: 0; color: var(--heading-color); }
.lg_sec p { font-size: 15.5px; line-height: 1.95; color: var(--para-color); margin: 0 0 14px; }
.lg_sec p:last-child { margin-bottom: 0; }
.lg_sub { font-size: 16px; font-weight: 600; color: var(--heading-color); margin: 26px 0 12px; display: flex; align-items: center; gap: 10px; }
.lg_sub span { display: inline-block; padding: 3px 12px; border-radius: 50px; font-size: 12px; background: rgba(250, 91, 65, .12); color: var(--hover-color); letter-spacing: .6px; }

/* numbered rule cards */
.lg_rules { list-style: none; margin: 0 0 6px; padding: 0; counter-reset: lg; }
.lg_rules li { position: relative; margin: 0 0 12px; padding: 16px 20px 16px 66px; border-radius: 14px; font-size: 15px; line-height: 1.85; color: var(--para-color);
    background: rgba(250, 91, 65, .045); border: 1px solid var(--border-color); counter-increment: lg; transition: transform .3s, border-color .3s; }
.lg_rules li:hover { transform: translateX(6px); border-color: rgba(250, 91, 65, .5); }
.lg_rules li:before { content: counter(lg); position: absolute; left: 18px; top: 16px; width: 31px; height: 31px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 600; color: #fff; background: linear-gradient(135deg, #fa5b41, #ff8a50); }
.lg_rules.alpha { counter-reset: lga; }
.lg_rules.alpha li { counter-increment: lga; }
.lg_rules.alpha li:before { content: counter(lga, lower-alpha); }
.lg_rules li strong { color: var(--heading-color); font-weight: 600; }
.lg_note { margin: 20px 0 0; padding: 18px 22px; border-radius: 14px; border-left: 4px solid var(--hover-color); background: rgba(250, 91, 65, .08); font-size: 15px; line-height: 1.85; color: var(--heading-color); }

/* contact CTA */
.lg_cta { margin-top: 10px; padding: 40px 30px; text-align: center; border-radius: 20px; background: var(--box-color); border: 1px solid var(--border-color); position: relative; }
.lg_cta:before { content: ""; position: absolute; left: 50%; top: -1px; width: 110px; height: 4px; transform: translateX(-50%); border-radius: 0 0 6px 6px; background: linear-gradient(90deg, #fa5b41, #ff8a50); }
.lg_cta h4 { font-size: 22px; font-weight: 600; text-transform: none; margin: 0 0 10px; color: var(--heading-color); }
.lg_cta p { font-size: 15px; color: var(--para-color); margin: 0 0 20px; }
.lg_cta p a { color: var(--hover-color); }

/* copyright / disclaimer page */
.lg_seal_wrap { text-align: center; margin-bottom: 46px; }
.lg_seal { position: relative; width: 132px; height: 132px; margin: 0 auto 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 56px; font-weight: 700; color: #fff;
    background: linear-gradient(135deg, #fa5b41, #ff8a50); box-shadow: 0 18px 40px rgba(250, 91, 65, .4); }
.lg_seal:before, .lg_seal:after { content: ""; position: absolute; inset: -12px; border-radius: 50%; border: 2px solid rgba(250, 91, 65, .5); animation: lg_ring 2.8s ease-out infinite; }
.lg_seal:after { animation-delay: 1.4s; }
@keyframes lg_ring { 0% { transform: scale(.85); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
.lg_seal_wrap h2 { font-size: 36px; font-weight: 700; text-transform: none; margin: 0 0 12px; color: var(--heading-color); }
.lg_seal_wrap p { max-width: 640px; margin: 0 auto; font-size: 16px; line-height: 1.9; color: var(--para-color); }
.lg_pair { display: flex; gap: 28px; align-items: stretch; margin-bottom: 28px; }
.lg_pair > .lg_sec { flex: 1 1 0; margin-bottom: 0; }
.lg_chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.lg_chips span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 50px; font-size: 13px; font-weight: 500; color: var(--heading-color); background: rgba(250, 91, 65, .09); border: 1px solid rgba(250, 91, 65, .3); }
.lg_chips span i { color: var(--hover-color); }
.lg_narrow { max-width: 960px; margin: 0 auto; }

@media (max-width: 991px) {
    .lg_layout { flex-direction: column; gap: 30px; }
    .lg_toc { position: static; flex-basis: auto; width: 100%; display: flex; flex-wrap: wrap; gap: 6px; padding: 18px; }
    .lg_toc h4 { width: 100%; }
    .lg_pair { flex-direction: column; }
}
@media (max-width: 575px) {
    .lg_page { padding-top: 40px; }
    .lg_intro { padding: 30px 22px; border-radius: 18px; }
    .lg_intro h2 { font-size: 26px; }
    .lg_sec { padding: 28px 20px 24px; }
    .lg_sec h3 { font-size: 20px; }
    .lg_rules li { padding-left: 58px; }
    .lg_seal_wrap h2 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    .lg_seal:before, .lg_seal:after { animation: none; }
    .lg_reveal { opacity: 1; transform: none; transition: none; }
}
