/* =========================================================
   BHOPAL TIFFIN SERVICE — LEGAL PAGES
   (Privacy Policy · Terms & Conditions · Refund & Cancellation)
   File : /assets/css/legal.css
   Standalone — sirf in 3 pages ki CSS. Colours header.css ke :root se.
========================================================= */

.rk-legal{
    color:var(--rk-ink);
    background:var(--rk-cream);
    overflow-x:clip;
}

.rk-legal *{ box-sizing:border-box; }

.rk-legal h1,
.rk-legal h2{
    font-family:var(--rk-font-display);
    color:var(--rk-ink);
    line-height:1.2;
    letter-spacing:-.01em;
}

.lg-container{
    max-width:1180px;
    margin:0 auto;
    padding:0 24px;
}

/* =========================================================
   HERO
========================================================= */
.lg-hero{
    position:relative;
    padding:52px 0 60px;
    overflow:hidden;
    text-align:center;
    background:
        radial-gradient(50% 70% at 0% 0%,rgba(233,160,25,.18),transparent 60%),
        radial-gradient(40% 60% at 100% 100%,rgba(30,107,82,.1),transparent 60%),
        linear-gradient(180deg,#FFF3E6 0%,var(--rk-cream) 100%);
    border-bottom:1px solid var(--rk-border);
}

.lg-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(rgba(180,35,24,.08) 1.2px,transparent 1.2px);
    background-size:22px 22px;
    mask-image:linear-gradient(180deg,#000,transparent 80%);
    -webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);
    pointer-events:none;
}

.lg-hero .lg-container{ position:relative; max-width:820px; }

.lg-breadcrumb{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-bottom:20px;
    font-size:13.5px;
    color:var(--rk-muted);
}

.lg-breadcrumb a{
    color:var(--rk-brand-dark);
    font-weight:600;
}

.lg-kicker{
    display:inline-block;
    margin-bottom:14px;
    padding:6px 14px;
    border-radius:999px;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--rk-brand-dark);
    background:var(--rk-brand-soft);
}

.lg-hero h1{
    font-size:clamp(32px,4.4vw,50px);
    font-weight:800;
    margin-bottom:16px;
}

.lg-lead{
    font-size:16.5px;
    line-height:1.8;
    color:var(--rk-ink-2);
}

.lg-updated{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:20px;
    padding:7px 14px;
    border-radius:999px;
    font-size:13px;
    font-weight:600;
    color:var(--rk-leaf-dark);
    background:#fff;
    border:1px solid var(--rk-border);
}

.lg-updated svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
}

/* =========================================================
   BODY GRID
========================================================= */
.lg-body{ padding:56px 0 110px; }

.lg-grid{
    display:grid;
    grid-template-columns:270px 1fr;
    gap:48px;
    align-items:start;
}

/* ---------- table of contents ---------- */
.lg-toc{
    position:sticky;
    top:100px;
    padding:22px 20px;
    border-radius:var(--rk-radius-md);
    background:#fff;
    border:1px solid var(--rk-border);
}

.lg-toc-title{
    margin-bottom:12px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--rk-muted);
}

.lg-toc ol{
    list-style:none;
    counter-reset:toc;
    display:grid;
    gap:2px;
}

.lg-toc li{ counter-increment:toc; }

.lg-toc ol a{
    display:flex;
    gap:10px;
    padding:7px 10px;
    border-radius:10px;
    font-size:14px;
    line-height:1.4;
    color:var(--rk-ink-2);
    transition:background .2s ease, color .2s ease;
}

.lg-toc ol a::before{
    content:counter(toc,decimal-leading-zero);
    flex-shrink:0;
    font-weight:700;
    color:var(--rk-brand);
}

.lg-toc ol a:hover{
    background:var(--rk-brand-soft);
    color:var(--rk-brand-dark);
}

.lg-toc-other{
    margin-top:18px;
    padding-top:16px;
    border-top:1px dashed var(--rk-border);
}

.lg-toc-other a{
    display:block;
    padding:4px 0;
    font-size:14px;
    font-weight:600;
    color:var(--rk-leaf-dark);
}

.lg-toc-other a:hover{ text-decoration:underline; }

/* ---------- content ---------- */
.lg-content{
    min-width:0;
    padding:40px 44px;
    border-radius:var(--rk-radius-lg);
    background:#fff;
    border:1px solid var(--rk-border);
    box-shadow:var(--rk-shadow-sm);
}

.lg-summary{
    margin-bottom:34px;
    padding:22px 24px;
    border-radius:var(--rk-radius-md);
    background:var(--rk-accent-soft);
    border:1px solid #F7DFA6;
}

.lg-summary-title{
    margin-bottom:10px;
    font-family:var(--rk-font-display);
    font-size:18px;
    font-weight:800;
    color:var(--rk-ink);
}

.lg-summary ul{
    list-style:none;
    display:grid;
    gap:8px;
}

.lg-summary li{
    position:relative;
    padding-left:28px;
    font-size:15px;
    line-height:1.65;
    color:var(--rk-ink-2);
}

.lg-summary li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:3px;
    width:18px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    font-size:11px;
    color:#fff;
    background:var(--rk-leaf);
}

.lg-summary strong{ color:var(--rk-ink); }

.lg-section{
    scroll-margin-top:110px;
    padding:26px 0;
    border-top:1px solid var(--rk-border);
}

.lg-section:first-of-type{ border-top:none; padding-top:0; }

.lg-section h2{
    display:flex;
    align-items:baseline;
    gap:12px;
    margin-bottom:14px;
    font-size:clamp(21px,2.2vw,25px);
    font-weight:800;
}

.lg-section h2 span{
    flex-shrink:0;
    font-size:.85em;
    color:var(--rk-brand);
}

.lg-section p,
.lg-section li{
    font-size:15.5px;
    line-height:1.85;
    color:var(--rk-ink-2);
}

.lg-section p + p,
.lg-section ul + p,
.lg-section p + ul{ margin-top:12px; }

.lg-section ul{
    list-style:none;
    display:grid;
    gap:8px;
}

.lg-section ul li{
    position:relative;
    padding-left:22px;
}

.lg-section ul li::before{
    content:"";
    position:absolute;
    left:4px;
    top:.8em;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--rk-brand);
}

.lg-section strong{ color:var(--rk-ink); }

.lg-section a,
.lg-contact a:not(.lg-btn){
    color:var(--rk-brand-dark);
    font-weight:600;
    border-bottom:1.5px solid rgba(180,35,24,.3);
}

.lg-section a:hover,
.lg-contact a:not(.lg-btn):hover{ border-color:var(--rk-brand); }

/* ---------- contact box ---------- */
.lg-contact{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:30px;
    padding:24px 26px;
    border-radius:var(--rk-radius-md);
    background:var(--rk-leaf-soft);
    border:1px solid rgba(30,107,82,.25);
}

.lg-contact-title{
    margin-bottom:6px;
    font-family:var(--rk-font-display);
    font-size:18px;
    font-weight:800;
    color:var(--rk-ink);
}

.lg-contact p{
    font-size:14px;
    line-height:1.7;
    color:var(--rk-ink-2);
}

.lg-btn{
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:48px;
    padding:0 22px;
    border-radius:999px;
    font-size:14.5px;
    font-weight:600;
    white-space:nowrap;
    color:#fff;
    background:var(--rk-whatsapp);
    box-shadow:0 12px 24px -12px rgba(37,211,102,.7);
    transition:transform .2s ease;
}

.lg-btn:hover{ transform:translateY(-2px); }

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width:960px){
    .lg-grid{ grid-template-columns:1fr; gap:24px; }
    .lg-toc{ position:static; }
    .lg-toc ol{ grid-template-columns:1fr 1fr; gap:2px 12px; }
    .lg-content{ padding:32px 28px; }
}

@media (max-width:640px){
    .lg-container{ padding:0 16px; }
    .lg-hero{ padding:40px 0 44px; }
    .lg-lead{ font-size:15.5px; }
    .lg-body{ padding:32px 0 90px; }

    .lg-toc{ padding:18px 14px; }
    .lg-toc ol{ grid-template-columns:1fr; }

    .lg-content{ padding:24px 18px; border-radius:var(--rk-radius-md); }
    .lg-summary{ padding:18px 16px; }
    .lg-section p,
    .lg-section li{ font-size:15px; line-height:1.8; }

    .lg-contact{ flex-direction:column; align-items:flex-start; padding:20px 18px; }
    .lg-btn{ width:100%; }
}

@media print{
    .lg-toc, .lg-contact .lg-btn{ display:none; }
    .lg-grid{ grid-template-columns:1fr; }
    .lg-content{ border:none; box-shadow:none; padding:0; }
}

@media (prefers-reduced-motion:reduce){
    .rk-legal *{ transition:none !important; }
}
