/* ISCN prayer times — Direction A.1 "Calm Cards" (staging build 1.1.0-a1, 5 Oct 2026).
   Ported from /workspace/iscn-prayer-design/_src/direction-a-calm-cards/{page,strip}.html.
   Rules: every selector is scoped to .iscn-pt (tokens too — nothing on :root). Colour tokens
   (--green, --gold-*, --sage, --ink, --line, --display, --sans) come from the theme :root (0.6.313).
   NOT shipped from the mock-up: site chrome, Google Fonts, .iscn-button CSS (theme owns it),
   the global focus rule (theme 0.6.107 owns it), demo panel. Corner system = approved asymmetric
   side-half-star values, unchanged. No opacity on passed/past states. */

.iscn-pt{
  --gold-text:#8F641C; --muted:#5E6762; --sun-ink:#6E4B12;
  --arabic:"Tajawal","Geeza Pro","Segoe UI",sans-serif;
  --r-frame:0 2.75rem 0 2.75rem;  --r-frame-alt:2.75rem 0 2.75rem 0;
  --r-panel:0 1.75rem 0 1.75rem;  --r-panel-alt:1.75rem 0 1.75rem 0;
  --r-card:0 14px 0 14px; --r-btn:0 10px 0 10px; --r-chip:0 8px 0 8px;
  --frame-line:1px solid rgba(11,77,62,.22); --panel-line:1px solid rgba(183,128,47,.42);
  --shadow-1:none; --shadow-2:0 24px 60px rgba(6,55,46,.09);
  --ease:cubic-bezier(.2,.7,.2,1); --t-fast:200ms; --t-med:360ms; --t-slow:600ms;
  /* --mark and --pattern are set inline from the theme's own asset URLs (wp_add_inline_style). */
  color:var(--ink); font-family:var(--sans); line-height:1.5;
}
.iscn-pt *,.iscn-pt *::before,.iscn-pt *::after{box-sizing:border-box}
.iscn-pt .pt-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.iscn-pt a:not(.iscn-button){color:var(--green)}
.iscn-pt [lang=ar]{font-family:var(--arabic);direction:rtl}
.iscn-pt .num{font-variant-numeric:tabular-nums lining-nums}
.iscn-pt h1,.iscn-pt h2,.iscn-pt h3{letter-spacing:normal}
/* Component addition: theme 0.6.107 recipe extended to keyboard-scrollable regions (theme list lacks them). */
.iscn-pt [role=region][tabindex]:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px;box-shadow:0 0 0 6px var(--green-black)}
.iscn-pt .pt-wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* ===== PAGE ===== */
.iscn-pt--page{display:block;background:#fff;padding-bottom:8px}
/* Intro — white (Brand v2.0), lattice at 6% */
.iscn-pt .pt-intro{background:#fff;position:relative;overflow:hidden;padding:40px 0 30px}
.iscn-pt .pt-intro::after{content:"";position:absolute;right:-60px;top:-40px;width:520px;height:460px;background:var(--pattern) repeat;opacity:.06;pointer-events:none;
  -webkit-mask:radial-gradient(closest-side,#000 40%,transparent);mask:radial-gradient(closest-side,#000 40%,transparent)}
.iscn-pt .pt-intro .pt-wrap{position:relative;z-index:1}
.iscn-pt .pt-crumb{font-size:13px;color:var(--muted);margin:0 0 18px}.iscn-pt .pt-crumb a{color:var(--muted)}
.iscn-pt .pt-intro h1{font-family:var(--display);font-weight:400;font-size:clamp(32px,4.2vw,48px);line-height:1.12;margin:0 0 12px;color:var(--green-black);max-width:780px}
.iscn-pt .pt-lede{max-width:700px;margin:0 0 20px;color:var(--muted);font-size:17px}
.iscn-pt .pt-dates{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.iscn-pt .chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-chip);padding:8px 14px;font-size:14.5px}
.iscn-pt .chip svg{color:var(--gold)}.iscn-pt .chip strong{font-weight:500}
.iscn-pt .chip [lang=ar]{font-size:16px;color:var(--green)}
.iscn-pt .chip-note{font-size:12px;color:var(--muted)}

/* Hero: next prayer */
.iscn-pt .pt-hero{position:relative;z-index:2}
.iscn-pt .hero-card{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-frame);background:linear-gradient(135deg,var(--green) 0%,var(--green-black) 100%);color:#fff;box-shadow:var(--shadow-2);
  display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;padding:38px 44px}
.iscn-pt .hero-card::before{content:"";position:absolute;z-index:0;inset:0 55% 0 0;background:var(--pattern) repeat;opacity:.08;pointer-events:none;
  -webkit-mask:linear-gradient(90deg,#000,transparent 85%);mask:linear-gradient(90deg,#000,transparent 85%)}
.iscn-pt .hero-card::after{content:"";position:absolute;z-index:0;top:50%;right:-5.25rem;width:10.5rem;height:10.5rem;transform:translateY(-50%);background:var(--mark) center/contain no-repeat;opacity:.12;pointer-events:none}
.iscn-pt .hero-card>*{position:relative;z-index:1}
.iscn-pt .hero-card--ended{grid-template-columns:1fr}
.iscn-pt .hero-card--ended h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,40px);color:#fff;margin:0 0 8px}
.iscn-pt .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);font-weight:500}
/* Pulse: 2 × 2.4s = 4.8s then still (WCAG 2.2.2 ≤5s); restarted only on milestone change; off under reduced motion */
.iscn-pt .pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold-bright)}
.iscn-pt .pulse.run{animation:iscnPtPulse 2.4s var(--ease) 2}
@keyframes iscnPtPulse{0%{box-shadow:0 0 0 0 rgba(224,171,60,.55)}70%{box-shadow:0 0 0 10px rgba(224,171,60,0)}100%{box-shadow:0 0 0 0 rgba(224,171,60,0)}}
.iscn-pt .np-name{display:flex;align-items:baseline;gap:16px;margin:10px 0 6px}
.iscn-pt .np-name h2{font-family:var(--display);font-weight:400;font-size:clamp(40px,5.2vw,64px);line-height:1;margin:0;letter-spacing:-.01em;color:#fff}
.iscn-pt .np-name [lang=ar]{font-size:30px;color:var(--gold-light)}
.iscn-pt .np-meta{font-size:17px;color:#D6E4DE;margin:0}
.iscn-pt .np-meta b{color:#fff;font-weight:500}
.iscn-pt .np-tag{display:inline-block;margin-top:14px;font-size:13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:5px 12px;border-radius:var(--r-chip);color:#EAF1EE}
.iscn-pt .np-tag[hidden]{display:none}
.iscn-pt .swap{transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease)}
.iscn-pt .swap.out{opacity:0;transform:translateY(6px)}
.iscn-pt .count{justify-self:end;text-align:right}
.iscn-pt .count-label{font-size:14px;color:#CFE0D8;margin:0 0 8px}
.iscn-pt .digits{display:flex;justify-content:flex-end;gap:10px}
.iscn-pt .unit{display:flex;flex-direction:column;align-items:center;gap:6px}
.iscn-pt .unit .box{min-width:96px;padding:12px 10px 10px;border-radius:var(--r-btn);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;
  font-size:56px;line-height:1;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow:hidden;text-align:center}
.iscn-pt .unit small{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#B9CFC6}
.iscn-pt .colon{font-size:44px;font-weight:300;color:var(--gold-light);align-self:flex-start;padding-top:14px}
.iscn-pt .dg,.iscn-pt .sep{display:inline-block}
.iscn-pt .dg.tick{animation:iscnPtTick 320ms var(--ease)}
@keyframes iscnPtTick{from{transform:translateY(-40%);opacity:.25}to{transform:none;opacity:1}}
.iscn-pt .bar{margin-top:18px;height:5px;border-radius:0;background:rgba(255,255,255,.12);overflow:hidden}
.iscn-pt .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-bright));border-radius:0;transition:width 1s linear}
.iscn-pt .bar-cap{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:#B9CFC6;margin-top:6px}
.iscn-pt .asof{display:none;font-size:14px;color:#D6E4DE;margin:14px 0 0}

/* Toolbar + tabs (every control ≥44×44). Print / Download PDF / Add to calendar use theme .iscn-button. */
.iscn-pt .pt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:40px 0 22px;flex-wrap:wrap}
.iscn-pt .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.iscn-pt .actions .iscn-button{gap:10px}
.iscn-pt .actions .iscn-button svg{flex:none}
.iscn-pt .seg{position:relative;display:inline-flex;background:var(--sage);border-radius:var(--r-btn);padding:5px}
.iscn-pt .seg button{position:relative;z-index:1;min-height:44px;min-width:44px;border:0;background:none;font:500 15px var(--sans);color:var(--green);padding:10px 22px;border-radius:var(--r-chip);cursor:pointer;transition:color var(--t-fast)}
.iscn-pt .seg button:focus-visible{z-index:3}
.iscn-pt .seg button[aria-selected=true]{color:#fff}
.iscn-pt .tab-ink{position:absolute;z-index:0;top:5px;left:0;width:0;height:calc(100% - 10px);border-radius:var(--r-chip);background:var(--green);transition:left var(--t-med) var(--ease),width var(--t-med) var(--ease)}
.iscn-pt .pt-panel{margin-top:0}
.iscn-pt .pt-panel[hidden]{display:none}
.iscn-pt .pt-panel.is-in{animation:iscnPtPanelIn var(--t-med) var(--ease) both}
@keyframes iscnPtPanelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.iscn-pt .ph2{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.25;margin:0 0 8px;color:var(--green-black)}

/* Prayer cards */
.iscn-pt .legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--muted);margin:0 0 16px}
.iscn-pt .legend span{display:inline-flex;align-items:center;gap:6px}
.iscn-pt .legend .lg-b{font-weight:500;color:var(--ink)}.iscn-pt .legend .lg-j{color:var(--green)}
.iscn-pt .legend--inline{margin:0}
.iscn-pt .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.iscn-pt .pc{position:relative;isolation:isolate;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:20px 22px 22px;
  transition:border-color var(--t-slow) var(--ease),box-shadow var(--t-slow) var(--ease),background-color var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}
.iscn-pt .pc-h{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.iscn-pt .pc-name{font-family:var(--display);font-size:22px;color:var(--green-black)}
.iscn-pt .pc-h [lang=ar]{font-size:18px;color:var(--gold-text);margin-inline-start:2px}
.iscn-pt .badge{margin-left:auto;font-size:12px;font-weight:500;letter-spacing:.04em;padding:4px 10px;border-radius:var(--r-chip);background:var(--sage);color:var(--green);white-space:nowrap}
.iscn-pt .badge:empty{display:none}
.iscn-pt .pc dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}
.iscn-pt .pc dl>div{padding:2px 0}
.iscn-pt .pc dl>div+div{border-left:1px solid var(--line);padding-left:18px}
.iscn-pt .pc dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-weight:400}
.iscn-pt .pc dd{margin:0;font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ink)}
.iscn-pt .pc dd.j{font-weight:700;color:var(--green)}
.iscn-pt .pc dd small{font-size:14px;font-weight:400;color:var(--muted);margin-left:3px}
.iscn-pt .pc .note{font-size:13px;color:var(--muted);margin:12px 0 0}
/* states — solid colours only, NO opacity (every text ≥4.5:1; HANDOVER §10) */
.iscn-pt .pc[data-status=passed]{background:var(--sage);border-color:var(--sage)}
.iscn-pt .pc[data-status=passed] .pc-h [lang=ar]{color:var(--muted)}
.iscn-pt .pc[data-status=passed] dd{color:var(--muted)}
.iscn-pt .pc[data-status=passed] dd.j{color:var(--green-black);font-weight:400}
.iscn-pt .pc[data-status=passed] dl>div+div{border-left-color:#C9D4CE}
.iscn-pt .pc[data-status=passed] .badge{background:#fff;color:var(--muted)}
.iscn-pt .pc[data-status=current]{border-color:#B7CFC4}
.iscn-pt .pc[data-status=current] .badge{background:var(--green);color:#fff}
/* Next: gold border + one 3.6s glow (≤5s, once; off under reduced motion) */
.iscn-pt .pc[data-status=next]{border-color:var(--gold);box-shadow:0 0 0 3px rgba(224,171,60,.16),var(--shadow-2);transform:translateY(-3px);animation:iscnPtGlow 3.6s ease-in-out 1}
.iscn-pt .pc[data-status=next] .badge{background:var(--gold-light);color:#5C3F0E}
@keyframes iscnPtGlow{0%,100%{box-shadow:0 0 0 3px rgba(224,171,60,.16),var(--shadow-2)}50%{box-shadow:0 0 0 6px rgba(224,171,60,.10),var(--shadow-2)}}
/* sunrise: live gold tint token */
.iscn-pt .pc.sun{background:var(--gold-bright-20);border:1px dashed var(--gold-60)}
.iscn-pt .pc.sun dl{grid-template-columns:1fr}
.iscn-pt .pc.sun .pc-name{color:var(--sun-ink)}
.iscn-pt .pc.sun .sun-ic{color:var(--gold)}
.iscn-pt .pc.sun dd{color:var(--sun-ink)}
.iscn-pt .pc.sun[data-status=passed]{background:var(--sage);border:1px dashed var(--gold-60)}
.iscn-pt .pc.sun[data-status=passed] dd{color:var(--sun-ink)}

/* Friday block — white + gold panel line, mirrored panel radius, attributed to NCM */
.iscn-pt .fri{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;margin-top:22px;padding:24px 30px;border-radius:var(--r-panel-alt);background:#fff;border:var(--panel-line)}
.iscn-pt .fri img{width:58px;height:58px}
.iscn-pt .fri h3{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.3;margin:0 0 4px;color:var(--green-black)}
.iscn-pt .fri p{margin:0;color:var(--muted);font-size:14.5px}
.iscn-pt .fri .times{display:flex;gap:28px}
.iscn-pt .fri .times div{text-align:right}
.iscn-pt .fri .times span{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.iscn-pt .fri .times b{font-size:28px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
.iscn-pt .fri .times .b b{font-weight:400;color:var(--ink)}
.iscn-pt .pattern-label{display:inline-block;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#7A5A1E;background:var(--gold-light);border-radius:var(--r-chip);padding:2px 8px;margin-bottom:6px}
.iscn-pt .about{margin:20px 0 0;font-size:14px;color:var(--muted);max-width:780px}

/* Timetable (week/month) */
.iscn-pt .vt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.iscn-pt .vt .ph2{margin:0}
.iscn-pt .tt-wrap{position:relative;border:var(--frame-line);border-radius:var(--r-panel);overflow:auto;background:#fff}
.iscn-pt .tt-wrap--month{max-height:640px}
.iscn-pt .tt{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;margin:0;font-size:16px}
.iscn-pt .tt th,.iscn-pt .tt td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.iscn-pt .tt thead th{position:sticky;top:0;background:var(--green);color:#fff;font-weight:500;font-size:14px;letter-spacing:.02em;z-index:2}
.iscn-pt .tt thead th.tt-sunrise{background:var(--green-black)}
.iscn-pt .tt th.tt-day{text-align:left;position:sticky;left:0;background:#fff;z-index:1;font-weight:400;min-width:150px}
.iscn-pt .tt thead th.tt-day{z-index:3;background:var(--green)}
.iscn-pt .tt-dow{font-weight:500;color:var(--green-black)}.iscn-pt .tt-dn{font-weight:500}
.iscn-pt .tt-hj{display:block;font-size:12.5px;color:var(--muted)}
.iscn-pt .tt-flag{display:inline-block;margin-left:8px;font-size:11px;font-weight:500;background:var(--gold-light);color:#5C3F0E;padding:1px 7px;border-radius:var(--r-chip);vertical-align:2px}
.iscn-pt .tt .tb{display:block;font-size:13.5px;color:var(--muted)}
.iscn-pt .tt .tj{display:block;font-size:17px;font-weight:700;color:var(--green)}
.iscn-pt .tt .tl{display:block;font-size:11px;color:#7A5A1E;letter-spacing:.02em}
.iscn-pt .tt td.tt-sun{background:var(--gold-bright-20)}.iscn-pt .tt td.tt-sun .tb{font-size:16px;color:var(--sun-ink)}
.iscn-pt .tt tr.is-today th,.iscn-pt .tt tr.is-today td{background:var(--sage)}
.iscn-pt .tt tr.is-today th.tt-day{box-shadow:inset 4px 0 0 var(--gold)}
.iscn-pt .tt tr.is-friday td.is-jumuah{background:var(--gold-20)}
.iscn-pt .tt tr.is-past th,.iscn-pt .tt tr.is-past td,.iscn-pt .tt tr.is-past .tt-dow,.iscn-pt .tt tr.is-past .tb,.iscn-pt .tt tr.is-past .tt-hj{color:var(--muted)}
.iscn-pt .tt tr.is-past .tj{color:var(--muted);font-weight:500}
.iscn-pt .tt tr.is-past td.tt-sun .tb{color:var(--muted)}
.iscn-pt .tt tr.tt-note td{white-space:normal;background:#fff;text-align:left;font-size:13.5px;color:var(--sun-ink);padding:10px 16px;border-top:1px solid var(--gold-60);border-bottom:1px solid var(--gold-60)}
.iscn-pt .tt tr.tt-note td span{position:sticky;left:16px}
.iscn-pt .tt[data-show=begin] .tj,.iscn-pt .tt[data-show=begin] .tl{display:none}
.iscn-pt .tt[data-show=begin] .tb{font-size:16px;color:var(--ink)}
.iscn-pt .tt[data-show=jamat] td:not(.tt-sun) .tb{display:none}
.iscn-pt .mini{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--r-btn);background:#fff}
.iscn-pt .mini button{min-height:44px;min-width:44px;border:0;border-radius:var(--r-chip);background:#fff;font:500 14px var(--sans);color:var(--green);padding:8px 14px;cursor:pointer}
.iscn-pt .mini button[aria-pressed=true]{background:var(--green);color:#fff}
.iscn-pt .hint{display:none;font-size:12.5px;color:var(--muted);margin:8px 0 0}
.iscn-pt .pt-panel + .pt-panel{margin-top:0}

/* Unavailable / stale message */
.iscn-pt .pt-msg{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:30px 34px;border:var(--panel-line);border-radius:var(--r-panel);background:#fff;margin:8px 0 0}
.iscn-pt .pt-msg::after{content:"";position:absolute;z-index:-1;top:50%;right:-4rem;width:8rem;height:8rem;transform:translateY(-50%);background:var(--mark) center/contain no-repeat;opacity:.06;pointer-events:none}
.iscn-pt .pt-msg img{width:44px;height:44px}
.iscn-pt .pt-msg h2{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.25;margin:0 0 6px;color:var(--green-black)}
.iscn-pt .pt-msg p{margin:0;color:var(--muted);max-width:640px}
.iscn-pt .pt-msg[hidden]{display:none}

/* Attribution — plugin meta attribution_html (single source) */
.iscn-pt .attrib{margin:44px 0 40px;padding:20px 24px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff;display:flex;gap:16px;align-items:flex-start;color:var(--muted);font-size:13.5px}
.iscn-pt .attrib img{width:30px;height:30px;flex:none;margin-top:2px}
.iscn-pt .attrib p{margin:0;max-width:900px}
.iscn-pt .attrib a{color:var(--green);font-weight:500}
.iscn-pt .attrib--compact{margin:16px 0 0}
.iscn-pt .pt-extra{margin-top:40px}

/* No-JS (server-rendered default; JS swaps .is-nojs → .is-js) */
.iscn-pt.is-nojs .count,.iscn-pt.is-nojs .pulse,.iscn-pt.is-nojs .seg,.iscn-pt.is-nojs .bar-cap,.iscn-pt.is-nojs .mini{display:none!important}
.iscn-pt.is-nojs .pt-toolbar{justify-content:flex-end}
.iscn-pt.is-nojs .asof{display:block}
.iscn-pt.is-nojs #p-today{margin-top:40px}            /* Architect A.1 observation 2: spacing under hero without toolbar */
.iscn-pt.is-nojs #p-month{margin-top:44px}
/* Stale after midnight (JS): fail closed — times blanked, message shown */
.iscn-pt.is-stale .pt-hero,.iscn-pt.is-stale .pt-toolbar,.iscn-pt.is-stale .pt-panel,.iscn-pt.is-stale [data-r=dates]{display:none!important}

/* ===== STRIP ===== */
.pt-strip.iscn-pt{position:relative;z-index:3;display:block}
.pt-strip--over-hero{margin-top:-64px;margin-bottom:12px}      /* CoS default: over the hero, as mocked */
.pt-strip--below-promise{margin:40px 0 8px}                    /* staging comparison: ?pt_strip=below-promise */
.pt-strip--inline{margin:24px 0}
.pt-strip--inline .pt-wrap{padding:0}
.iscn-pt .ps{position:relative;isolation:isolate;display:grid;grid-template-columns:300px 1fr auto;background:#fff;border-radius:var(--r-panel);box-shadow:0 24px 60px rgba(6,55,46,.14);overflow:hidden;border:var(--panel-line)}
.iscn-pt .ps::after{content:"";position:absolute;z-index:0;top:50%;right:-4rem;width:8rem;height:8rem;transform:translateY(-50%);background:var(--mark) center/contain no-repeat;opacity:.06;pointer-events:none}
.iscn-pt .ps>*{position:relative;z-index:1}
.iscn-pt .ps-next{position:relative;background:#fff;padding:20px 24px;border-right:var(--panel-line);overflow:visible;min-width:0}
.iscn-pt .ps-next::after{content:"";position:absolute;inset:0;background:var(--pattern);opacity:.05;pointer-events:none;-webkit-mask:linear-gradient(90deg,transparent 40%,#000);mask:linear-gradient(90deg,transparent 40%,#000)}
.iscn-pt .eb{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7A5A1E;font-weight:500}
.pt-strip .pulse{width:8px;height:8px}
.iscn-pt .nm{display:flex;align-items:baseline;gap:10px;margin:6px 0 2px;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.iscn-pt .nm.out{opacity:0;transform:translateY(5px)}
.iscn-pt .nm b{font-family:var(--display);font-weight:400;font-size:30px;color:var(--green-black);line-height:1.1}
.iscn-pt .nm [lang=ar]{font-size:20px;color:var(--gold-text)}
.iscn-pt .cd-row{display:flex;align-items:baseline;gap:8px}
.iscn-pt .cd-row .cl{font-size:13.5px;color:var(--muted)}
.iscn-pt .cd{font-size:28px;font-weight:500;color:var(--green);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.pt-strip .bar{height:3px;background:var(--gold-40);margin-top:10px}
.pt-strip .asof{font-size:13px;color:var(--muted);margin:4px 0 0}
.iscn-pt .ps-times{padding:16px 22px;min-width:0}
.iscn-pt .ps-date{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:13.5px;color:var(--muted);margin:0 0 10px}
.iscn-pt .ps-date b{font-weight:500;color:var(--ink)}
.iscn-pt .ps-date .loc{font-weight:500;color:var(--green-black)}
.iscn-pt .ps-date .dot{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.iscn-pt .ps-date .lg{margin-left:auto;font-size:12px}
.iscn-pt .ps-scroll{position:relative}
.iscn-pt .ps-list{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;list-style:none;margin:0;padding:0}
.iscn-pt .ps-list li{position:relative;margin:0;padding:8px 8px 9px;border-radius:var(--r-chip);text-align:center;transition:background-color .6s var(--ease),box-shadow .6s var(--ease)}
.iscn-pt .ps-list .n{display:block;font-size:13px;font-weight:500;color:var(--green-black);letter-spacing:.02em}
.iscn-pt .ps-list .j{display:block;font-size:22px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums;line-height:1.2}
.iscn-pt .ps-list .b{display:block;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.iscn-pt .ps-list .tm{display:inline-block;font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#5C3F0E;background:var(--gold-light);border-radius:var(--r-chip);padding:0 6px;margin-left:4px;vertical-align:1px}
.iscn-pt .ps-list li.sun{background:var(--gold-bright-20)}.iscn-pt .ps-list li.sun .j{font-weight:400;color:var(--sun-ink)}.iscn-pt .ps-list li.sun .n{color:var(--sun-ink)}
.iscn-pt .ps-list li[data-status=passed] .j{color:var(--muted);font-weight:400}
.iscn-pt .ps-list li[data-status=passed] .n{color:var(--muted)}
.iscn-pt .ps-list li.sun[data-status=passed]{background:var(--sage)}
.iscn-pt .ps-list li.sun[data-status=passed] .j,.iscn-pt .ps-list li.sun[data-status=passed] .n{color:var(--muted)}
.iscn-pt .ps-list li[data-status=next]{background:var(--sage);box-shadow:inset 0 -3px 0 var(--gold)}
.iscn-pt .ps-list li[data-status=current] .n::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px;vertical-align:2px}
.iscn-pt .ps-go{display:flex;align-items:center;padding:0 24px;border-left:1px solid var(--line)}
.iscn-pt .ps-src{grid-column:1/-1;margin:0;padding:10px 24px 11px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);background:#fff}
.iscn-pt .ps-src b{font-weight:500;color:var(--ink)}
.iscn-pt .ps-src a{color:var(--green);font-weight:500}
.pt-strip [role=region][tabindex]:focus-visible{outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--green-black)}
.pt-strip.is-nojs .cd-row,.pt-strip.is-nojs .bar{display:none!important}

/* ===== Responsive ===== */
/* R1 (Architect): strip cells clipped at 721–830 and 1024–1130. Combine (a)+(b):
   — .ps-go on its own row through ~1180 (clears button collision)
   — .ps-scroll mobile treatment (overflow-x, edge fade, hint, snap) through ~1180
   — .ps-next stacked above times through ~860 */
@media (max-width:1180px){
  .iscn-pt .ps{grid-template-columns:260px 1fr}
  .iscn-pt .ps-go{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:12px 22px;justify-content:flex-end}
  .iscn-pt .ps-times{padding:12px 0;min-width:0}
  .iscn-pt .ps-date{padding:0 18px}
  .iscn-pt .ps-scroll{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-mask:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 28px),transparent)}
  .iscn-pt .ps-scroll::-webkit-scrollbar{height:6px}
  .iscn-pt .ps-scroll::-webkit-scrollbar-thumb{background:var(--gold-60,rgba(191,154,74,.55));border-radius:3px}
  .iscn-pt .ps-list{display:flex;padding:2px 18px 4px;gap:8px;width:max-content}
  .iscn-pt .ps-list li{flex:0 0 100px;scroll-snap-align:start;border:1px solid var(--line)}
  .iscn-pt .ps-list li[data-status=next]{border-color:var(--gold)}
  .pt-strip .hint{display:block;margin:6px 18px 0;font-size:12px;color:var(--muted)}
  .iscn-pt .ps-src{padding:10px 18px 12px}
}
@media (max-width:1023px){
  .iscn-pt .grid{grid-template-columns:repeat(2,1fr)}
  .iscn-pt .hero-card{grid-template-columns:1fr;gap:24px}
  .iscn-pt .count{justify-self:start;text-align:left}.iscn-pt .digits{justify-content:flex-start}
}
/* Architect polish: sticky theme header clipped countdown right edge ~853 CSS px (150% of 1280).
   Raise strip above sticky chrome; tighten countdown so HH:MM:SS is not truncated. */
@media (max-width:900px){
  .pt-strip.iscn-pt{z-index:30}
  .iscn-pt .ps-next{overflow:visible;min-width:0}
  .iscn-pt .cd-row{flex-wrap:wrap;justify-content:flex-end;gap:4px 8px}
  .iscn-pt .cd{font-size:24px;letter-spacing:0}
}
@media (max-width:860px){
  .iscn-pt .ps{grid-template-columns:1fr}
  .iscn-pt .ps::after{top:auto;bottom:-2rem;transform:none;right:-3rem;width:6rem;height:6rem}
  .iscn-pt .ps-next{border-right:0;border-bottom:var(--panel-line);padding:16px 18px;display:grid;grid-template-columns:1fr auto;align-items:end;overflow:visible}
  .iscn-pt .ps-next .eb{grid-column:1/-1}.iscn-pt .nm b{font-size:26px}.iscn-pt .cd-row{flex-direction:column;align-items:flex-end;gap:0}.iscn-pt .cd{font-size:26px}
  .pt-strip .bar,.pt-strip .asof{grid-column:1/-1}
}
@media (max-width:720px){
  .iscn-pt .pt-wrap{padding:0 18px}
  .iscn-pt .pt-intro{padding:22px 0}.iscn-pt .pt-lede{font-size:15.5px}.iscn-pt .chip{font-size:13px;padding:6px 11px}.iscn-pt .pt-dates{gap:8px}
  .iscn-pt .hero-card{padding:26px 22px;gap:18px}
  .iscn-pt .hero-card::after{right:-4rem;width:8rem;height:8rem;top:auto;bottom:-1.5rem;transform:none}
  .iscn-pt .np-name{gap:12px}.iscn-pt .np-name [lang=ar]{font-size:24px}.iscn-pt .np-meta{font-size:15.5px}
  .iscn-pt .unit .box{min-width:0;width:76px;font-size:40px;padding:10px 6px 8px}.iscn-pt .colon{font-size:32px;padding-top:8px}.iscn-pt .digits{gap:6px}
  .iscn-pt .pt-toolbar{margin:28px 0 16px}.iscn-pt .seg{width:100%}.iscn-pt .seg button{flex:1;padding:10px 6px;font-size:14.5px}.iscn-pt .actions{width:100%}.iscn-pt .actions .iscn-button{flex:1;justify-content:center}
  .iscn-pt .ph2{font-size:20px}
  .iscn-pt .grid{grid-template-columns:1fr;gap:10px}
  .iscn-pt .pc{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px 16px}
  .iscn-pt .pc-h{margin:0;display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:4px;align-items:baseline}.iscn-pt .pc-name{font-size:19px}.iscn-pt .pc-h [lang=ar]{font-size:16px;justify-self:start}
  .iscn-pt .pc-h .sun-ic{display:none}
  .iscn-pt .badge{grid-column:1/-1;justify-self:start;margin-left:0;font-size:11.5px;padding:2px 8px}
  .iscn-pt .pc dl{grid-template-columns:auto auto;gap:0}
  .iscn-pt .pc dl>div{text-align:right;min-width:74px}.iscn-pt .pc dl>div+div{padding-left:14px}
  .iscn-pt .pc dt{font-size:10.5px;margin-bottom:2px}.iscn-pt .pc dd{font-size:24px}
  .iscn-pt .pc.sun dl{grid-template-columns:auto}.iscn-pt .pc .note{grid-column:1/-1;margin-top:6px;font-size:12.5px}
  .iscn-pt .pc[data-status=next]{transform:none}
  .iscn-pt .fri{grid-template-columns:auto 1fr;gap:14px;padding:18px}.iscn-pt .fri img{width:44px;height:44px}.iscn-pt .fri .times{grid-column:1/-1;justify-content:space-between}.iscn-pt .fri .times div{text-align:left}
  .iscn-pt .tt th,.iscn-pt .tt td{padding:10px}.iscn-pt .tt th.tt-day{min-width:108px}.iscn-pt .hint{display:block}
  .iscn-pt .pt-msg{grid-template-columns:1fr;padding:22px}
  .iscn-pt .attrib{font-size:12.5px}
  /* strip — mobile refinements on top of ≤1180 / ≤860 */
  .pt-strip--over-hero{margin-top:-60px}
  .iscn-pt .ps-date{font-size:12.5px;gap:4px 8px}.iscn-pt .ps-date .lg{display:none}
  .iscn-pt .ps-scroll{scrollbar-width:none}
  .iscn-pt .ps-scroll::-webkit-scrollbar{display:none}
  .iscn-pt .ps-go{padding:12px 18px}.iscn-pt .ps-go .iscn-button{width:100%}
}

/* ===== ISCN side-half-star lock (mirrors theme 0.6.200 cascade lock) — after component rules ===== */
.iscn-pt .pc::before{content:"";position:absolute;z-index:-1;inset-block-start:50%;inset-inline-end:-34px;width:68px;height:68px;transform:translateY(-50%);
  background:var(--mark) center/contain no-repeat;opacity:.075;pointer-events:none}
.iscn-pt .pc>*{position:relative;z-index:1}
.iscn-pt .pc[data-status=next]::after{content:"";position:absolute;z-index:2;left:0;top:0;width:72px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-bright))}
@media (max-width:560px){.iscn-pt .pc::before{inset-inline-end:-28px;width:56px;height:56px;opacity:.06}}

/* Reduced motion — scoped to the component (the mock-up's global rule is not shipped) */
@media (prefers-reduced-motion:reduce){
  .iscn-pt,.iscn-pt *,.iscn-pt *::before,.iscn-pt *::after{animation:none!important;transition:none!important}
}
@media print{
  /* Hide theme/chrome noise and interactive chrome; show all timetable panels. */
  body.iscn-pt-page #wpadminbar,
  body.iscn-pt-page .site-header,
  body.iscn-pt-page .site-footer,
  body.iscn-pt-page header.site-header,
  body.iscn-pt-page footer.site-footer,
  body.iscn-pt-page .site-nav,
  body.iscn-pt-page nav.site-navigation,
  .pt-strip,
  .iscn-pt .pt-hero,
  .iscn-pt .pt-toolbar,
  .iscn-pt .pt-crumb,
  .iscn-pt .hint,
  .iscn-pt .asof,
  .iscn-pt .badge,
  .iscn-pt .mini,
  .iscn-pt .bar,
  .iscn-pt .bar-cap,
  .iscn-pt .count,
  .iscn-pt .pulse{display:none!important}
  .iscn-pt .pt-panel[hidden]{display:block!important;animation:none!important}
  .iscn-pt .pt-panel{break-inside:avoid;page-break-inside:avoid;margin-top:18px}
  .iscn-pt .pt-intro{margin-bottom:8px}
  .iscn-pt .grid{grid-template-columns:repeat(3,1fr)!important;gap:10px}
  .iscn-pt .tt-wrap{overflow:visible!important}
  .iscn-pt a[href]:after{content:""}
}
