/* =========================================================
   ARTICLE v2 — pose and pranayama guides
   Loaded by article pages built with tools/build_article.py
   ========================================================= */

.ar{ background:var(--prabhat); color:var(--ink); }
.ar section{ padding:0; }
.ar ul, .ar ol{ list-style:none; }
.ar a{ color:var(--kesar-ink); }
.ar a:hover{ color:var(--neel); }
.ar-body a, .ar-hero-lede a{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.ar a:focus-visible, .ar summary:focus-visible{ outline:3px solid var(--haldi); outline-offset:2px; border-radius:6px; }

/* Hero */

.ar-hero{
    background:
        radial-gradient(ellipse 45% 80% at 88% 30%, rgba(242,182,50,.22), transparent 65%),
        linear-gradient(180deg, var(--neel-deep), var(--neel));
    color:#D4DAF1;
    padding:48px 0 44px;
}

.ar-crumb{ font-size:.95rem; color:#AEB6DA; margin-bottom:16px; }
.ar-crumb a{ color:var(--haldi) !important; }

.ar-dev{
    display:block;
    font-family:var(--font-display);
    font-size:1.6rem;
    line-height:1.3;
    color:var(--haldi);
    margin-bottom:4px;
}

.ar-hero h1{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(2.1rem, 4.6vw, 3.4rem);
    line-height:1.1;
    color:#fff;
    max-width:16em;
    text-wrap:balance;
}

.ar-hero-lede{
    margin-top:16px;
    font-size:1.12rem;
    line-height:1.7;
    max-width:40em;
}

.ar-hero-lede a{ color:#fff !important; }

.ar-facts{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:0;
    margin-top:30px;
    border-top:1px solid rgba(255,255,255,.16);
}

.ar-facts > div{
    padding:14px 18px 4px 0;
}

.ar-facts dt{
    font-size:.88rem;
    color:#AEB6DA;
}

.ar-facts dd{
    color:#fff;
    font-weight:500;
    line-height:1.45;
    margin-top:2px;
}

/* Layout */

.ar-wrap{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:56px;
    padding-top:48px;
    padding-bottom:64px;
}

.ar-toc{
    position:sticky;
    top:96px;
    align-self:start;
    font-size:.95rem;
}

.ar-toc p{
    font-weight:700;
    color:var(--neel);
    margin-bottom:8px;
}

.ar-toc li a{
    display:block;
    padding:5px 0 5px 12px;
    border-left:2px solid var(--line);
    color:var(--ink-soft);
}

.ar-toc li a:hover{
    border-left-color:var(--kesar);
    color:var(--kesar-ink);
}

.ar-body{
    max-width:720px;
    font-size:1.06rem;
    line-height:1.75;
}

.ar-body > section + section{ margin-top:48px; }

.ar-body h2{
    font-family:var(--font-display);
    font-weight:400;
    color:var(--neel);
    font-size:clamp(1.6rem, 2.8vw, 2.1rem);
    line-height:1.2;
    margin-bottom:14px;
    scroll-margin-top:96px;
}

.ar-body h3{
    color:var(--neel);
    font-size:1.15rem;
    margin:26px 0 8px;
}

.ar-body p + p{ margin-top:14px; }
.ar-body p{ color:var(--ink); }

.ar-body ul:not([class]) li{
    position:relative;
    padding:4px 0 4px 22px;
}

.ar-body ul:not([class]) li::before{
    content:"";
    position:absolute;
    left:2px; top:15px;
    width:8px; height:8px;
    border-radius:50%;
    background:var(--kesar);
}

.ar-body ul:not([class]), .ar-body ol:not([class]){ margin-top:10px; }

/* Steps (real sequence, numbered) */

.ar-steps{ counter-reset:st; margin-top:16px; }

.ar-steps li{
    counter-increment:st;
    position:relative;
    padding:0 0 22px 56px;
}

.ar-steps li::before{
    content:counter(st);
    position:absolute;
    left:0; top:0;
    width:38px; height:38px;
    border-radius:50%;
    background:var(--neel);
    color:#fff;
    font-weight:700;
    display:grid;
    place-items:center;
}

.ar-steps li:not(:last-child)::after{
    content:"";
    position:absolute;
    left:18px; top:42px; bottom:4px;
    width:2px;
    background:var(--line);
}

.ar-steps strong{ display:block; color:var(--neel); }

/* Benefit list */

.ar-benefits > li{
    padding:16px 0;
    border-bottom:1px solid var(--line);
}

.ar-benefits > li:first-child{ border-top:1px solid var(--line); }
.ar-benefits strong{ display:block; color:var(--neel); font-size:1.08rem; margin-bottom:2px; }

/* Callouts */

.ar-note,
.ar-warn{
    margin-top:20px;
    padding:16px 20px;
    border-radius:0 12px 12px 0;
    line-height:1.65;
}

.ar-note{ background:var(--neel-soft); border-left:4px solid var(--neel); }
.ar-warn{ background:#FFF4E6; border-left:4px solid var(--kesar); }
.ar-note strong, .ar-warn strong{ color:var(--neel-deep); }

/* Tables */

.ar-table-wrap{
    overflow-x:auto;
    margin-top:16px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
}

.ar-table{
    width:100%;
    min-width:520px;
    border-collapse:collapse;
    font-size:.98rem;
}

.ar-table th, .ar-table td{
    text-align:left;
    padding:11px 16px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
    line-height:1.5;
}

.ar-table thead th{ background:var(--neel); color:#fff; }
.ar-table tbody tr:last-child > *{ border-bottom:0; }
.ar-table tbody th{ color:var(--neel); }

/* FAQ */

.ar-faq details{ border-bottom:1px solid var(--line); }
.ar-faq details:first-of-type{ border-top:1px solid var(--line); }

.ar-faq summary{
    list-style:none;
    cursor:pointer;
    position:relative;
    padding:15px 36px 15px 0;
    font-weight:700;
    color:var(--neel);
    line-height:1.4;
}

.ar-faq summary::-webkit-details-marker{ display:none; }

.ar-faq summary::after{
    content:"";
    position:absolute;
    right:6px; top:50%;
    width:9px; height:9px;
    border-right:2px solid var(--kesar-ink);
    border-bottom:2px solid var(--kesar-ink);
    transform:translateY(-70%) rotate(45deg);
    transition:transform .2s ease;
}

.ar-faq details[open] summary::after{ transform:translateY(-30%) rotate(-135deg); }
.ar-faq details p{ padding:0 0 16px; color:var(--ink-soft); }

.ar-sources li{ padding:4px 0; font-size:.95rem; }
.ar-sources a{ color:var(--ink-soft) !important; }
.ar-updated{ margin-top:18px; font-size:.92rem; color:var(--ink-soft); }

/* Related + find */

.ar-related{ background:#fff; border-top:1px solid var(--line); padding:48px 0 !important; }

.ar-related h2{
    font-family:var(--font-display);
    font-weight:400;
    color:var(--neel);
    font-size:1.7rem;
    margin-bottom:16px;
}

.ar-rel-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0 32px;
}

.ar-rel-list a{
    display:block;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    text-decoration:none !important;
}

.ar-rel-list strong{ display:block; color:var(--neel); }
.ar-rel-list span{ display:block; color:var(--ink-soft); font-size:.95rem; line-height:1.5; }
.ar-rel-list a:hover strong{ color:var(--kesar-ink); }

.ar-find{ background:var(--neel-soft); padding:40px 0 !important; }

.ar-find-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px 32px;
    flex-wrap:wrap;
}

.ar-find h2{
    font-family:var(--font-display);
    font-weight:400;
    color:var(--neel);
    font-size:1.6rem;
}

.ar-find p{ color:var(--ink-soft); margin-top:4px; }

.ar-btn{
    display:inline-block;
    background:var(--kesar);
    color:var(--neel-deep) !important;
    font-weight:700;
    padding:12px 22px;
    border-radius:8px;
    text-decoration:none !important;
}

.ar-btn:hover{ background:var(--haldi); }

@media (max-width:960px){
    .ar-wrap{ grid-template-columns:minmax(0,1fr); gap:24px; padding-top:28px; }
    .ar-toc{ position:static; border:1px solid var(--line); background:#fff; border-radius:12px; padding:14px 16px; }
    .ar-toc ul{ display:flex; flex-wrap:wrap; gap:4px 16px; }
    .ar-toc li a{ border-left:0; padding:3px 0; text-decoration:underline; text-underline-offset:3px; }
    .ar-facts{ grid-template-columns:repeat(2, minmax(0,1fr)); }
    .ar-rel-list{ grid-template-columns:1fr 1fr; }
}

@media (max-width:560px){
    .ar-hero{ padding:36px 0 32px; }
    .ar-dev{ font-size:1.35rem; }
    .ar-body{ font-size:1.02rem; }
    .ar-rel-list{ grid-template-columns:1fr; }
    .ar-steps li{ padding-left:50px; }
}

.ar-table-wrap + p, .ar-note + p, .ar-warn + p, .ar-warn + ul{ margin-top:16px; }

.ar-facts dd, .ar-table td{ overflow-wrap:anywhere; }

.ar-fixed{ table-layout:fixed; }
.ar-fixed th:nth-child(1){ width:38%; }
.ar-fixed th:nth-child(2){ width:40%; }

/* Wide tool pages (photos, calculators, downloads) */
.tl-body{ padding-top:48px; padding-bottom:64px; font-size:1.04rem; line-height:1.7; }
.tl-body > section + section{ margin-top:52px; }
.tl-body h2{
    font-family:var(--font-display); font-weight:400; color:var(--neel);
    font-size:clamp(1.6rem, 2.8vw, 2.1rem); line-height:1.2; margin-bottom:10px;
}
.tl-body > section > p{ max-width:760px; color:var(--ink-soft); }
.tl-body .ar-updated{ margin-top:48px; }
.tl-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; margin-top:20px; }
.tl-card{
    display:flex; flex-direction:column; gap:6px; min-width:0;
    background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px;
}
.tl-card h3{ font-size:1.15rem; color:var(--neel); line-height:1.3; }
.tl-card p{ color:var(--ink-soft); font-size:.97rem; line-height:1.55; flex:1; }
.tl-card .tl-tag{ font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--kesar-ink); }
.tl-card .tl-link{
    align-self:flex-start; margin-top:8px; font-weight:700; color:var(--kesar-ink);
    text-decoration:underline; text-underline-offset:3px;
}
.tl-card .tl-btn{
    align-self:flex-start; margin-top:10px; padding:10px 18px; border-radius:10px;
    background:var(--kesar); color:#fff !important; font-weight:700; text-decoration:none;
}
.tl-card .tl-btn:hover{ background:var(--kesar-ink); }
.tl-card .tl-muted{ color:var(--ink-soft); font-weight:700; margin-top:10px; }
.tl-body .ycard a{ text-decoration:none; }
.tl-body .ycard-btn-call, .tl-body .ycard-photos{ color:#fff !important; }
.tl-body .ycard-btn-alt{ color:var(--y-saffron-deep, #B45300) !important; }
.tl-note{ background:var(--neel-soft); border-radius:12px; padding:16px 18px; max-width:760px; margin-top:16px; color:var(--ink); }
.tl-body .ar-faq{ max-width:760px; }
@media (max-width:640px){ .tl-body{ padding-top:28px; } .tl-grid{ grid-template-columns:1fr; } }
.tl-body .ycard-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:20px; margin-top:20px; }
@media (max-width:640px){ .tl-body .ycard-grid{ grid-template-columns:1fr; } }

/* Pose picture grid */
.ps-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; margin-top:18px; }
.ps-card{ margin:0; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.ps-card a{ display:block; color:inherit; text-decoration:none; }
.ps-card a:hover{ box-shadow:0 0 0 2px var(--kesar) inset; }
.ps-card img{ display:block; width:100%; height:auto; background:var(--prabhat); }
.ps-card figcaption{ padding:8px 10px 10px; line-height:1.3; }
.ps-card strong{ display:block; color:var(--neel); font-size:.95rem; overflow-wrap:anywhere; }
.ps-card span{ display:block; color:var(--ink-soft); font-size:.85rem; }
.ps-card em{ display:block; font-style:normal; color:var(--kesar-ink); font-size:.8rem; font-weight:700; margin-top:4px; }
.ar-body .ps-note{ font-size:.92rem; color:var(--ink-soft); margin-top:14px; }
@media (max-width:700px){ .ps-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media print{ .site-header,.sf,.ar-toc,.ar-related,.ar-find{ display:none !important; } .ps-grid{ grid-template-columns:repeat(4,1fr); } }
.ar-table.ar-kv{ min-width:0; table-layout:fixed; width:100%; }
.ar-kv th{ width:36%; }
.ar-kv td, .ar-kv th{ overflow-wrap:anywhere; }

/* Poster downloads */
.pt-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; margin-top:18px; }
.pt-card{ margin:0; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.pt-card img{ display:block; width:100%; height:auto; }
.pt-card figcaption{ padding:10px 12px 14px; line-height:1.35; }
.pt-card strong{ display:block; color:var(--neel); }
.pt-card span{ display:block; color:var(--ink-soft); font-size:.88rem; }
.pt-card figcaption a{ display:inline-block; margin-top:8px; font-weight:700; color:var(--kesar-ink); }
@media (max-width:700px){ .pt-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; } }

/* Shop */
.sp-disclosure{ margin-top:0; margin-bottom:36px; font-size:.95rem; }
.sp-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:16px; margin-top:16px; }
.sp-grid:empty{ display:none; }
.sp-card{ display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px; }
.sp-card img{ width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:var(--prabhat); border-radius:10px; }
.sp-card h3{ font-size:1.05rem; color:var(--neel); line-height:1.3; }
.sp-card p{ color:var(--ink-soft); font-size:.93rem; line-height:1.5; flex:1; }
.sp-soon{ margin-top:14px; color:var(--ink-soft); font-style:italic; }
.tl-body a.sp-banner{
    position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px;
    margin:18px 0 6px; padding:26px 28px 22px; border-radius:16px; text-decoration:none;
    background:linear-gradient(110deg, var(--neel-deep) 0%, var(--neel) 55%, #2F7A4F 100%); color:#fff;
}
.sp-banner-ad{ position:absolute; top:8px; left:28px; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#F2B632; }
.sp-banner-text strong{ display:block; font-family:var(--font-display); font-weight:400; font-size:clamp(1.25rem, 2.4vw, 1.7rem); line-height:1.25; }
.sp-banner-text span{ display:block; margin-top:4px; color:#DDE3F5; font-size:.95rem; }
.sp-banner-btn{ flex:none; background:var(--kesar); color:#fff; font-weight:700; padding:11px 20px; border-radius:10px; }
.tl-body a.sp-banner:hover .sp-banner-btn{ background:var(--kesar-ink); }
@media (max-width:640px){ .tl-body a.sp-banner{ flex-direction:column; align-items:flex-start; padding:28px 18px 18px; } .sp-banner-ad{ left:18px; } }
.tl-body a.sp-banner-alt{ background:linear-gradient(110deg, #3B1F0E 0%, #8A3A00 55%, var(--kesar) 100%); }
.tl-body a.sp-banner-alt .sp-banner-btn{ background:#fff; color:#8A3A00; }
.tl-body a.sp-banner-amz{ background:linear-gradient(110deg, #131921 0%, #232F3E 60%, #37475A 100%); }
.tl-body a.sp-banner-amz .sp-banner-btn{ background:#FFB000; color:#131921; }
.tl-body a.sp-banner-tm{ background:linear-gradient(110deg, #0B3B3A 0%, #10625F 55%, #2F9E8F 100%); }
.tl-body a.sp-banner-tm .sp-banner-btn{ background:#fff; color:#0B3B3A; }
.tl-body a.sp-banner-ka{ background:linear-gradient(110deg, #1F3A12 0%, #3E6B1F 55%, #8BA640 100%); }
.tl-body a.sp-banner-ka .sp-banner-btn{ background:#F2B632; color:#1F3A12; }
.sp-banners{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; margin:18px 0 6px; }
.sp-banners a.sp-banner{ margin:0; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:30px 22px 20px; }
.sp-banners .sp-banner-ad{ left:22px; }
@media (max-width:640px){ .sp-banners{ grid-template-columns:1fr; } }
.tl-body a.sp-banner-kp{ background:linear-gradient(110deg, #111 0%, #2A2A2A 55%, #6B5A2E 100%); }
.tl-body a.sp-banner-kp .sp-banner-btn{ background:#E9C46A; color:#111; }
.tl-body a.sp-banner-gs{ background:linear-gradient(110deg, #4A2C1A 0%, #7A4E2D 55%, #C9A27A 100%); }
.tl-body a.sp-banner-gs .sp-banner-btn{ background:#fff; color:#4A2C1A; }
