/* The Jeevan Patri page, its marks in the shell, and the book in the patri look (PDR-0037, 0043). The book keeps its own type sizes, so this is not in v2.css. */
/* ---- the Jeevan Patri page (patri.js, PDR-0045): the first page of the book, then what is in it ---- */
.patri,.jp2,.patri-card{--fs-1:30px;--fs-2:24px;--fs-3:20px;--fs-4:17px;--fs-5:15px;--fs-6:13.5px;--fs-7:12px;--caution-line:#E7D6B5;--caution-bg:#F2E6CC;--jp-paper:#F7EDD5;--jp-paper-2:#FBF5E6;--jp-ink:#2E1F14;--jp-muted:#6B5440;--jp-red:#8E1B1B;--jp-saffron:#D27F26;--jp-rule:rgba(142,27,27,.32)}
.patri{padding:12px 8px 8px}
.small-note{font-size:var(--fs-c);line-height:1.5;color:var(--muted)}
.notice{margin:0 0 12px;padding:12px 16px;border-radius:12px;background:var(--soft);border:1px solid var(--line)}
.notice.error{background:#F5E2D8;border-color:#D9A58F;color:#6A1212}
.patri-sheet{position:relative;padding:26px 22px 20px;background:radial-gradient(130% 90% at 40% 35%,var(--jp-paper-2) 0%,var(--jp-paper) 72%);border:2.5px solid var(--jp-red);box-shadow:0 12px 30px rgba(70,35,10,.14)}
.patri-sheet::before{content:"";position:absolute;inset:6px;border:1.5px solid var(--jp-saffron);pointer-events:none}
.patri-sheet::after{content:"";position:absolute;inset:9px;border:.75px solid var(--jp-red);opacity:.5;pointer-events:none}
.patri-sheet > *{position:relative;z-index:1}
.patri-sheet .jp2-corner-at{position:absolute;width:22px;height:22px;z-index:0}
.patri-sheet .jp2-corner-at.tl{top:11px;left:11px}.patri-sheet .jp2-corner-at.tr{top:11px;right:11px}.patri-sheet .jp2-corner-at.bl{bottom:11px;left:11px}.patri-sheet .jp2-corner-at.br{bottom:11px;right:11px}
.patri-sheet .jp2-invocation{margin:0;text-align:center;font-size:15px}
.patri-sheet .jp2-rule{margin:2px auto 12px;width:150px}
.patri-grid{display:grid;gap:22px}
.patri-ribbon{display:inline-flex;align-items:center;gap:8px;background:var(--jp-red);color:#FFEFD2;padding:5px 16px 5px 10px;font-size:13px;font-weight:600;letter-spacing:.04em;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 50%,100% 100%,0 100%)}
:lang(hi) .patri-ribbon{letter-spacing:0}
.patri-ribbon i{width:8px;height:8px;background:var(--jp-saffron);transform:rotate(45deg);display:block}
.patri-h1{margin:10px 0 8px;font-size:34px;line-height:1.1;color:var(--jp-red)}
:lang(hi) .patri-h1{font-weight:400;font-size:36px;line-height:1.25}
.patri-h1 em{font-style:normal;background:linear-gradient(transparent 64%,rgba(210,127,38,.38) 64%)}
.patri-lede{margin:0;font-size:var(--fs-b)}
.patri-long{display:none}
.patri-ticks{list-style:none;margin:12px 0 16px;padding:0;display:grid;gap:5px;font-size:15px}
.patri-ticks li{display:flex;gap:8px;align-items:center}
.patri-ck{width:20px;height:20px;flex:none;color:#2E7D4F}
.patri-google{gap:10px;padding:0 14px;font-size:15px}
.patri-g{width:28px;height:28px;flex:none;border-radius:50%;background:#fff;display:grid;place-items:center}
.patri-g .g{width:17px;height:17px}
.patri-fine{margin-top:10px}
.patri-who{margin:0 0 10px}
.patri-who select{width:100%;min-height:48px;border-radius:14px;border:1.5px solid #D9C29A;background:var(--card);padding:0 12px}
.patri-notes{margin:0 0 12px}
.patri-notes summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--jp-red);font-weight:600;font-size:15px;list-style:none}
.patri-notes summary::-webkit-details-marker{display:none}
.patri-hints{margin:4px 0 8px;padding-left:18px}
.patri-notes textarea{width:100%;border-radius:12px;border:1.5px solid #D9C29A;background:var(--card);padding:10px 12px}
.patri-foot{display:flex;justify-content:space-between;gap:12px;margin-top:4px}
.patri-needs{margin-top:8px}
.patri-needs .v2-row{margin-top:10px}
.patri-approx{margin:0 0 10px}
.patri-for{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:0 0 8px;padding:8px 12px;background:rgba(255,252,246,.7);border:1px solid #E7D6B5;border-radius:12px;font-size:15px}
.patri-for .link{min-height:28px}
.patri-used{margin:0 0 10px;padding:8px 12px;background:rgba(142,27,27,.07);border-left:3px solid var(--jp-red);font-size:14.5px}
.patri-used .link{min-height:28px}
.patri-price{margin:12px 0 0;color:var(--muted);font-size:15px}
.patri-price b{font:600 32px var(--serif);color:var(--ink);margin-right:6px}
:lang(hi) .patri-price b{font-family:Fraunces,Georgia,serif}
.patri-soon{margin-top:12px}
.patri-held{display:flex;gap:12px;align-items:center}
.patri-held h2,.patri-progress h2{font-size:24px;line-height:1.3;color:var(--jp-red)}
:lang(hi) .patri-held h2,:lang(hi) .patri-progress h2{font-weight:400}
.patri-held-line{margin:10px 0 8px}
.patri-progress{text-align:center}
.patri-else{margin-top:14px;padding:14px 16px;border:1.5px dashed #CDB68C;border-radius:14px;background:rgba(255,252,246,.6)}
.patri-else h3{font-size:18px}
:lang(hi) .patri-else h3{font-weight:400;font-size:20px}
.patri-else p{margin:4px 0 12px;font-size:15px;color:var(--muted)}
.patri-else b{color:var(--ink)}
.patri-reading > .patri-else{max-width:780px;margin:18px auto}
.patri-reading .patri-who{max-width:780px;margin:0 auto 10px}
.patri-paidline{margin:18px 0 0;padding-top:12px;border-top:1px solid var(--jp-rule);text-align:center;font-size:14px;color:var(--muted)}
.patri-paidline b{color:var(--ink)}
.patri-paidline .link{min-height:28px;font-size:14px}
.patri-fig{margin:0;text-align:center}
.patri-fig svg{display:block;width:100%;max-width:280px;height:auto;margin:0 auto;overflow:visible}
.patri-fig figcaption{margin-top:8px;color:var(--jp-red);font-family:var(--serif);font-size:18px}
.patri-fig figcaption b{display:block;font-weight:600}
:lang(hi) .patri-fig figcaption b{font-weight:400}
.patri-preview{margin:16px 0 0;padding:0 14px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.patri-preview summary{cursor:pointer;min-height:52px;display:flex;align-items:center;font:600 var(--fs-b) var(--serif);color:var(--jp-red)}
:lang(hi) .patri-preview summary{font-weight:400}
.patri-preview .book-sample{padding-bottom:14px}
.patri-about{padding:26px 6px 0}
.patri-about h2{margin:26px 0 2px;text-align:center;font-size:26px;color:var(--jp-red)}
:lang(hi) .patri-about h2{font-weight:400}
.patri-about h2:first-child{margin-top:0}
.patri-sub{margin:0 0 14px;text-align:center}
.patri-toc{list-style:none;margin:0;padding:8px 18px;background:var(--jp-paper-2);border:1.5px solid var(--jp-saffron);box-shadow:0 0 0 3px var(--jp-paper-2),0 0 0 5px var(--jp-red)}
.patri-toc li{padding:10px 0 10px 20px;position:relative;border-bottom:1px dotted var(--jp-rule);break-inside:avoid}
.patri-toc li:last-child{border-bottom:0}
.patri-toc li::before{content:"";position:absolute;left:2px;top:18px;width:8px;height:8px;background:var(--jp-saffron);transform:rotate(45deg)}
.patri-toc b{display:block;color:var(--jp-red);font:600 var(--fs-b) var(--serif)}
:lang(hi) .patri-toc b{font-weight:400}
.patri-toc span{display:block;font-size:14.5px;color:var(--muted)}
.patri-sample{margin:18px 0 0;text-align:center;font-size:15px;color:var(--muted)}
.patri-tiers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.patri-tiers li{background:var(--jp-paper-2);border-top:4px solid var(--jp-red);padding:12px}
.patri-tiers li:last-child{grid-column:1/-1;border-top-color:#CBB48A}
.patri-tiers b{display:block;color:var(--jp-red)}
.patri-tiers span{font-size:14px;color:var(--muted)}
.patri-faq details{border-top:1px solid var(--jp-rule);padding:4px 0}
.patri-faq details:last-child{border-bottom:1px solid var(--jp-rule)}
.patri-faq summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;list-style:none}
.patri-faq summary::-webkit-details-marker{display:none}
.patri-faq summary::after{content:"+";color:var(--jp-saffron);font-size:22px;line-height:1}
.patri-faq details[open] summary::after{content:"–"}
.patri-faq p{margin:0 0 10px;color:var(--muted)}
.patri-card{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;margin:14px var(--gutter) 2px;padding:16px;text-decoration:none;color:var(--ink);background:radial-gradient(130% 90% at 40% 35%,#FCF6E8 0%,#F3E3C2 80%);border:2px solid #8E1B1B;box-shadow:inset 0 0 0 4px #F6EAD0,inset 0 0 0 5.5px #D27F26;border-radius:4px}
.patri-card svg{display:block;width:100%;height:auto;overflow:visible}
.patri-card .jp2-planet,.patri-card .jp2-sign{display:none}
.patri-card-text{display:grid;gap:4px;justify-items:start}
.patri-card .eyebrow{margin:0;color:#8E1B1B}
.patri-card b{font:600 20px/1.2 var(--serif);color:#8E1B1B}
:lang(hi) .patri-card b{font-weight:400;font-size:22px}
.patri-card .btn{min-height:44px;margin-top:6px;padding:0 20px}
.v2-free-badge{margin-left:6px;padding:1px 7px;border-radius:999px;background:#8E1B1B;color:#FFF5E3;font-size:11px;font-weight:600;line-height:1.5}
.v2-tabs [data-tab=patri]{position:relative}
.v2-tab-dot{position:absolute;top:9px;left:calc(50% + 9px);width:8px;height:8px;border-radius:50%;background:#D27F26;box-shadow:0 0 0 2px var(--card)}
.v2-strip-patri{background:#8E1B1B;color:#FFF5E3;border-bottom:0}
.v2-strip-patri a{color:#FFE2B0;font-weight:600;text-underline-offset:2px;display:inline-flex;align-items:center;min-height:44px;margin-left:auto}
.v2-strip-patri .v2-strip-line{flex:0 1 auto}
.v2-strip-patri .v2-strip-x{color:#F3D7A8}
@media (min-width:768px){
  .patri{padding:0 16px 8px}
  .patri-sheet{padding:32px 44px 24px}
  .patri-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:44px;align-items:center}
  .patri-sheet .jp2-corner-at{width:32px;height:32px}
  .patri-h1{font-size:54px}
  :lang(hi) .patri-h1{font-size:56px;line-height:1.2}
  .patri-long{display:inline}
  .patri-lede{font-size:18px}
  .patri-ticks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:16px 0 20px}
  .patri-google,.patri-copy .btn.wide{width:auto;padding:0 28px}
  .patri-google{font-size:17px}
  .patri-who select{max-width:420px}
  .patri-toc{columns:2;column-gap:44px;column-rule:1px solid var(--jp-rule);padding:12px 26px;max-width:940px;margin:0 auto}
  .patri-tiers{grid-template-columns:repeat(5,1fr)}
  .patri-tiers li:last-child{grid-column:auto}
  .patri-faq{max-width:760px;margin:0 auto}
  .patri-card{grid-template-columns:110px 1fr;margin-left:0;margin-right:0}
}
.patri-fig .jp2-sign,.patri-card .jp2-sign{fill:var(--jp-saffron)}

/* ---- the book, carried over from web/styles.css with edition 2's parchment sheet ---- */
.ask-from { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px }
.ask-from-label { font-size:var(--fs-7); letter-spacing:.06em; text-transform:uppercase; color:var(--muted) }
.ask-chips { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none }
.ask-chip { display:inline-flex; align-items:center; max-width:100%; padding:6px 12px; border-radius:16px; border:1px solid transparent; background:var(--teal-soft); color:var(--teal); font-size:var(--fs-6); line-height:1.4; text-align:left }
button.ask-chip { min-height:44px; cursor:pointer }
button.ask-chip:hover { border-color:var(--teal); text-decoration:underline }
.ask-chip.static { background:var(--soft); color:var(--ink) }
.ask-chip.has-src { flex-direction:column; align-items:flex-start; justify-content:center; gap:1px }
.ask-chip-line { min-width:0; overflow-wrap:anywhere }
.ask-chip-src { font-size:var(--fs-7); line-height:1.3; letter-spacing:.02em; font-weight:600; color:var(--muted); font-variant-numeric:tabular-nums }
button.ask-chip.has-src .ask-chip-src { color:inherit }
.ask-back { margin:10px 0 8px; padding-top:8px; border-top:1px dashed var(--line); font-style:italic; color:var(--ink) }
.ask-free, .ask-reply-note, .conv-free { margin:6px 0 0; color:var(--muted) }
.ask-cannot { margin:8px 0 0; padding-left:12px; border-left:2px solid var(--line); font-size:var(--fs-6); color:var(--muted) }
.sample-periods { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:12px }
.period { border:1px solid var(--line); border-radius:14px; padding:14px 18px; background:var(--card) }
.period h4 { margin:0 0 4px; font-family:var(--serif); font-size:var(--fs-4); }
.period p { margin:4px 0 }
.period-current { border-color:var(--teal); background:var(--teal-soft) }
.period-badge { font-family:var(--sans); font-size:var(--fs-7); letter-spacing:.06em; text-transform:uppercase; color:var(--teal); margin-left:8px; font-weight:600 }
.period-locked { background:var(--soft); border-style:dashed }
.period-lock { color:var(--muted) }
.period-rows { margin:10px 0 0 }
.period-rows dt { font-size:var(--fs-7); letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:8px }
.period-rows dd { margin:2px 0 0; max-width:68ch }
.period-subs { margin:10px 0 0; padding-left:18px; font-size:var(--fs-6); color:var(--muted) }
.period-subs li.current { color:var(--ink); font-weight:600 }
.book { margin-top:28px }
.book-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; margin-bottom:12px }
.book-title { font-size:var(--fs-2); margin:0 }
.book-question { flex-basis:100%; margin:6px 0; padding:2px 0 2px 14px; border-left:3px solid var(--gold); font-family:var(--serif); font-size:var(--fs-4); }
.book-pdf { text-decoration:none; display:inline-flex; align-items:center; margin-left:auto }
.book-gates { margin:0 0 18px; padding:12px 16px; border:1px solid var(--caution-line); background:var(--caution-bg); border-radius:12px }
.book-gate { margin:4px 0 }
.book-layout { display:grid; grid-template-columns:minmax(0,230px) minmax(0,1fr); gap:28px; align-items:start }
.book-nav { position:sticky; top:84px; max-height:calc(100vh - 100px); overflow:auto }
.book-nav-select { display:none }
.book-nav-list { list-style:none; margin:0; padding:0; counter-reset:none }
.book-nav-list a { display:flex; gap:8px; padding:8px 4px; min-height:44px; box-sizing:border-box; align-items:center; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); font-size:var(--fs-6); line-height:1.35 }
.book-nav-list a:hover { color:var(--teal); text-decoration:underline }
.book-num { display:inline-block; min-width:1.6em; font-weight:600; color:var(--teal) }
.book-chapter { padding:22px 0; border-bottom:1px solid var(--line); scroll-margin-top:84px }
.book-chapter-title { font-family:var(--serif); font-size:var(--fs-3); margin:0 0 10px }
.book-body { max-width:68ch; line-height:1.7 }
.book-body h4 { font-family:var(--serif); font-size:var(--fs-4); margin:18px 0 6px }
.book-body p, .book-body ol, .book-body ul { margin:0 0 12px }
.book-body li { margin-bottom:8px }
.book-cites { margin-top:12px }
.book-cannot { margin-top:14px; max-width:68ch }
.book-missing-line { color:var(--muted); max-width:68ch }
.book-closing { border:1px solid var(--line); border-left:4px solid var(--ink); margin:18px 0; background:var(--soft); padding-inline:20px; border-radius:var(--radius) }
.book-footer { margin-top:22px; max-width:68ch }
.book-table-wrap { overflow-x:auto; margin:12px 0; border:1px solid var(--line); border-radius:12px }
.book-table { border-collapse:collapse; width:100%; min-width:520px; font-size:var(--fs-6); }
.book-table th, .book-table td { text-align:left; vertical-align:top; padding:8px 12px; border-bottom:1px solid var(--line) }
.book-table th { background:var(--soft); font-weight:600 }
.book-table td.nw { white-space:nowrap }
.jp-reader .book-cites, .jp-reader .book-cannot { font-family:var(--sans) }
.book-cites-more { margin-top:8px; min-height:44px }
/* Book tables on a phone (UX review 1 Nov 2026): below 600 px each row of the same table is a card, the first value its title, the rest "label value" pairs that wrap; the header row stays for screen readers. Every value is visible, nothing scrolls sideways. */
@media(max-width:600px) {
  .book-table-wrap, .jp-reader .book-table-wrap { overflow:visible; border:0; border-radius:0; background:none }
  .book-table, .book-table caption, .book-table tbody, .book-table tr, .book-table td { display:block }
  .book-table, .jp-reader .book-table { min-width:0; width:100% }
  .jp-reader .book-table caption { padding:0 0 6px }
  .book-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
  .book-table tr { display:flex; flex-wrap:wrap; gap:2px 16px; margin:0 0 8px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--card) }
  .book-table-wrap .book-table td, .jp-reader .book-table td { display:flex; flex:0 1 auto; gap:6px; min-width:0; padding:0; border:0; overflow-wrap:anywhere }
  .book-table td::before { content:attr(data-label); flex:none; color:var(--muted); font-size:var(--fs-7); }
  .book-table td[data-label=""]::before, .book-table td:first-child::before { display:none }
  .book-table-wrap .book-table td:first-child { flex:0 0 100%; font-weight:600 }
}
.jp-reader-nav { display:flex; justify-content:space-between; gap:12px; margin-top:24px; padding-top:16px; border-top:1px solid var(--line) }
.jp-reader-nav .quiet-button[aria-disabled="true"] { opacity:.45; cursor:default }
.jp-explorer[data-touched] .jp-ex-item[aria-current="true"] { background:var(--teal-soft); border-color:var(--teal); font-weight:600 }
@media(min-width:900px) { .jp-ex-item[aria-current="true"] { background:var(--teal-soft); border-color:var(--teal); font-weight:600 } }
.jp2 { --jp-paper:#F7EDD5; --jp-paper-2:#FBF5E6; --jp-ink:#2E1F14; --jp-muted:#6B5440; --jp-red:#8E1B1B; --jp-saffron:#D27F26; --jp-rule:rgba(142,27,27,.32) }
.jp2 .jp2-tools { justify-content:flex-end }
.jp2-sheet { position:relative; color-scheme:light; max-width:780px; margin:0 auto; padding:56px clamp(22px,6vw,68px) 44px; background:radial-gradient(130% 90% at 50% 40%, var(--jp-paper-2) 0%, var(--jp-paper) 70%); color:var(--jp-ink); border:3px solid var(--jp-red); box-shadow:0 10px 32px rgba(70,35,10,.14); font-family:var(--serif) }
.jp2-sheet::before { content:""; position:absolute; inset:7px; border:1.5px solid var(--jp-saffron); pointer-events:none }
.jp2-sheet::after { content:""; position:absolute; inset:11px; border:.75px solid var(--jp-red); opacity:.55; pointer-events:none }
.jp2-corner-at { position:absolute; width:34px; height:34px; color:var(--jp-red); pointer-events:none }
.jp2-corner-at.tl { top:15px; left:15px }
.jp2-corner-at.tr { top:15px; right:15px; transform:scaleX(-1) }
.jp2-corner-at.bl { bottom:15px; left:15px; transform:scaleY(-1) }
.jp2-corner-at.br { bottom:15px; right:15px; transform:scale(-1,-1) }
.jp2-corner { display:block; width:100%; height:100% }
.jp2-top { text-align:center }
.jp2-invocation { margin:0 0 6px; color:var(--jp-red); font-family:var(--serif); font-size:var(--fs-4); word-spacing:.25em }
html:not(:lang(hi)) .jp2-invocation { font-family:"Kohinoor Devanagari","Devanagari Sangam MN","Nirmala UI",system-ui,serif }   /* lang="hi", so its --serif is Tiro; an English page takes a system face, as .jp-cover-title (review 19) */
.jp2-title { margin:0; color:var(--jp-red); font-family:var(--serif); font-size:var(--fs-1); font-weight:600; letter-spacing:.02em; line-height:1.25 }
.jp2-sheet:lang(hi) .jp2-title { font-weight:400 }
.jp2-name { margin:6px 0 0; font-size:var(--fs-3); color:var(--jp-ink) }
.jp2-rule { display:block; width:min(220px,70%); height:14px; margin:12px auto; color:var(--jp-saffron) }
.jp2-gates { margin:6px auto 0; max-width:56ch; font-family:var(--sans); font-size:var(--fs-6); color:var(--jp-muted) }
.jp2-gates p { margin:2px 0 }
.jp2-chapter { padding:6px 0 10px; scroll-margin-top:84px }
.jp2-chapter-title { margin:34px 0 0; text-align:center; color:var(--jp-red); font-family:var(--serif); font-size:var(--fs-2); font-weight:600; line-height:1.3 }
.jp2-sheet:lang(hi) .jp2-chapter-title { font-weight:400 }
.jp2-first .jp2-chapter-title { margin-top:18px; font-size:var(--fs-3); }
.jp2-body { max-width:62ch; margin:0 auto; font-size:var(--fs-4); line-height:1.75 }
.jp2-sheet:lang(hi) .jp2-body { line-height:1.9 }
.jp2-first .jp2-body { text-align:center; color:var(--jp-muted) }
.jp2-body h4 { color:var(--jp-red); font-size:var(--fs-4); margin:20px 0 6px }
.jp2-body li::marker { color:var(--jp-saffron) }
.jp2-sheet .book-missing-line { text-align:center; color:var(--jp-muted) }
.jp2-patri { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:20px 28px; align-items:center; margin:14px 0 6px }
.jp2-kundli { margin:0; text-align:center }
.jp2-kundli-svg { display:block; width:100%; max-width:360px; height:auto; margin:0 auto; overflow:visible }
.jp2-lines rect, .jp2-lines path { fill:none; stroke:var(--jp-red); stroke-width:2.2; stroke-linejoin:round }
.jp2-kundli-svg text { text-anchor:middle; font-family:var(--serif) }
.jp2-sign { fill:var(--jp-red) }   /* sizes are attributes on the SVG text: they scale with the chart */
.jp2-planet { fill:var(--jp-ink); font-weight:600 }
.jp2-sheet:lang(hi) .jp2-planet { font-weight:400 }
.jp2-kundli figcaption { margin-top:6px; color:var(--jp-red); font-size:var(--fs-5); }
.jp2-particulars { width:100%; border-collapse:collapse; border-top:2px solid var(--jp-red); border-bottom:2px solid var(--jp-red); font-size:var(--fs-6); }
.jp2-particulars caption { padding:0 0 6px; color:var(--jp-red); font-size:var(--fs-5); font-weight:600; text-align:center }
.jp2-particulars th, .jp2-particulars td { padding:7px 8px; border-bottom:1px solid var(--jp-rule); text-align:left; vertical-align:top; overflow-wrap:anywhere }
.jp2-particulars th { width:42%; color:var(--jp-muted); font-weight:600 }
.jp2-particulars tr:last-child th, .jp2-particulars tr:last-child td { border-bottom:0 }
.jp2-sheet .book-table-wrap { background:transparent; border-color:var(--jp-rule); font-family:var(--sans) }
.jp2-sheet .book-table { min-width:0 }
.jp2-sheet .book-table caption { padding:10px 12px 4px; color:var(--jp-red); font-weight:600; text-align:left }
.jp2-sheet .book-table th { background:rgba(210,127,38,.13); color:var(--jp-ink) }
.jp2-sheet .book-table th, .jp2-sheet .book-table td { border-color:var(--jp-rule) }
.jp2-foot { margin-top:26px; text-align:center }
.jp2-foot .book-footer { margin:0 auto; max-width:56ch; color:var(--jp-muted) }
.jp2 .book-nav-list a { font-family:var(--serif) }
.jp2 .book-nav-list .book-num { color:#8E1B1B }
@media(max-width:640px) {
  .jp2-sheet { padding:44px 18px 32px; border-width:2px }
  .jp2-sheet::before { inset:5px }
  .jp2-sheet::after { inset:8px }
  .jp2-corner-at { width:22px; height:22px }
  .jp2-corner-at.tl { top:11px; left:11px } .jp2-corner-at.tr { top:11px; right:11px } .jp2-corner-at.bl { bottom:11px; left:11px } .jp2-corner-at.br { bottom:11px; right:11px }
  .jp2-patri { grid-template-columns:minmax(0,1fr) }
  .jp2-chapter-title { margin-top:26px }
  .jp2-sheet .book-table tr { background:var(--jp-paper-2); border-color:var(--jp-rule) }
}
@media print {
  .jp2-sheet { max-width:none; box-shadow:none; -webkit-print-color-adjust:exact; print-color-adjust:exact }
  .jp2-patri { break-inside:avoid }
  .jp2-chapter-title { break-after:avoid }
}
@media (max-width:1023px){
  .book-layout{display:block}
  .book-nav{position:static;max-height:none;margin-bottom:12px}
  .book-nav-list{display:none}
  .book-nav-select{display:block}
  .book-nav-select select{width:100%;min-height:48px;border-radius:14px;border:1.5px solid #D9C29A;background:var(--card);padding:0 12px}
}
/* From tablet width the page has room for the sheet and the kundli side by side, and for the chapter list beside the book. */
@media (min-width:768px){main:has(> [data-surface=patri]:not([hidden])){max-width:1120px}}
