/* Pardis School: school pages, sign-up form and homepage band.
   Loaded by mu-plugins/pardis-school.php. */

/* School sub-navigation */
.ps-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.6rem;padding:.6rem;background:var(--panel);border:1px solid var(--line)}
.ps-nav a{display:inline-block;padding:.4rem .8rem;border-radius:999px;text-decoration:none;color:var(--ink);font-size:.92rem;border:1px solid transparent}
.ps-nav a:hover{border-color:var(--line);background:#fff}
.ps-nav a[aria-current="page"]{background:var(--night,#0d2a30);color:#f4eee1}
.ps-nav a:focus-visible{outline:2px solid var(--live);outline-offset:2px}
@media (max-width:760px){.ps-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ps-nav::-webkit-scrollbar{display:none}.ps-nav a{white-space:nowrap;flex:none}}

/* Text pieces */
.ps-lede{font-size:1.12rem;line-height:1.65}
.ps-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--muted);margin:0 0 .3rem}
.ps-link{display:inline-block;margin-left:.8rem;font-weight:600}
.ps-callout{background:var(--panel2);border:1px solid var(--line);border-left:4px solid #b8913f;padding:1.1rem 1.3rem;margin:1.6rem 0}
.ps-callout p{margin:.4rem 0}
.ps-callout .btn{margin-top:.3rem}

/* Boxes */
.ps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem;margin:1.2rem 0 1.8rem}
.ps-box{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--live);padding:1rem 1.15rem}
.ps-box h3{margin:0 0 .4rem;font-size:1.12rem}
.ps-box p{margin:0;color:var(--muted)}

/* Lists */
.ps-checks{list-style:none;padding-left:0}
.ps-checks li{position:relative;padding-left:1.9rem;margin:.55rem 0}
.ps-checks li::before{content:"";position:absolute;left:0;top:.25em;width:1.15rem;height:1.15rem;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2040%2040%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23b8913f%27%20stroke-width%3D%272.4%27%3E%3Crect%20x%3D%279%27%20y%3D%279%27%20width%3D%2722%27%20height%3D%2722%27%2F%3E%3Crect%20x%3D%279%27%20y%3D%279%27%20width%3D%2722%27%20height%3D%2722%27%20transform%3D%27rotate%2845%2020%2020%29%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2720%27%20cy%3D%2720%27%20r%3D%274%27%20fill%3D%27%23127f92%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.ps-steps{counter-reset:ps;list-style:none;padding-left:0}
.ps-steps li{counter-increment:ps;position:relative;padding:0 0 .9rem 2.8rem;margin:0}
.ps-steps li::before{content:counter(ps);position:absolute;left:0;top:0;width:2rem;height:2rem;border-radius:50%;background:var(--night,#0d2a30);color:#e8c08f;display:grid;place-items:center;font-weight:700}

/* FAQ */
.ps-faq details{border:1px solid var(--line);background:var(--panel);margin:.6rem 0;padding:0 1.1rem}
.ps-faq summary{cursor:pointer;padding:.9rem 0;font-weight:600;list-style:none;position:relative;padding-right:1.8rem}
.ps-faq summary::-webkit-details-marker{display:none}
.ps-faq summary::after{content:"+";position:absolute;right:0;top:.75rem;font-size:1.3rem;color:#b8913f}
.ps-faq details[open] summary::after{content:"−"}
.ps-faq details p{margin:0 0 1rem}

/* Sign-up form */
.ps-form{background:var(--panel);border:1px solid var(--line);padding:1.3rem;margin:1.6rem 0}
.ps-form fieldset{border:0;padding:0;margin:0 0 1.2rem}
.ps-form legend{font-weight:700;font-size:1.1rem;margin-bottom:.5rem;padding:0}
.ps-form label{display:block;margin:0 0 .8rem;font-weight:600;font-size:.95rem}
.ps-form input[type=text],.ps-form input[type=email],.ps-form input[type=tel],.ps-form select,.ps-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:.3rem;padding:.65rem .75rem;border:1px solid var(--line);background:#fff;font:inherit;font-weight:400;color:var(--ink);border-radius:4px}
.ps-form input:focus,.ps-form select:focus,.ps-form textarea:focus{outline:2px solid var(--live);outline-offset:1px}
.ps-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.ps-check{display:flex!important;gap:.5rem;align-items:flex-start;font-weight:400!important;margin:.35rem 0!important}
.ps-check input{margin-top:.25rem;flex:none}
.ps-checks-in{margin:0 0 .9rem}
.ps-label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.2rem}
.ps-consent{margin-top:.4rem!important}
.ps-form .req{color:#a95a2c}
.ps-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ps-error{background:#fbeaea;border:1px solid #e3b3b3;color:#7a1f1f;padding:.7rem .9rem}
.ps-thanks h2{margin-top:0}
@media (max-width:640px){.ps-row{grid-template-columns:1fr}.ps-link{margin:.6rem 0 0;display:block}}

/* Homepage school band */
.ps-band{padding:clamp(2rem,5vw,3rem) 0;background:var(--panel);border-bottom:1px solid var(--line)}
.ps-band-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.6rem;align-items:center}
.ps-band .eyebrow{color:#a95a2c}
.ps-band h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3.4vw,2.3rem);margin:.3rem 0 .6rem}
.ps-band p{color:var(--muted);margin:0 0 .9rem}
.ps-band .heart-actions .p2{border-color:var(--line);color:var(--ink)}
.ps-band-stages{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ps-band-stages a{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;padding:.85rem 1.1rem;background:var(--panel2);border:1px solid var(--line);border-left:4px solid #b8913f;text-decoration:none;color:var(--ink)}
.ps-band-stages a:hover{background:#fff}
.ps-band-stages span{font-family:var(--fa);font-size:1.25rem;color:var(--live)}
.ps-band-stages strong{font-family:var(--display);font-weight:400;font-size:1.2rem}
.ps-band-stages em{font-style:normal;color:var(--muted);font-size:.9rem}
@media (max-width:760px){.ps-band-inner{grid-template-columns:1fr}}

/* Persian page */
.ps-fa{font-family:var(--fa);line-height:2}
.ps-fa h2,.ps-fa h3{font-family:var(--fa);font-weight:700}
.ps-fa ul{padding-right:1.4rem;padding-left:0}
.ps-fa .ps-callout{border-left:1px solid var(--line);border-right:4px solid #b8913f}
.ps-fa .ps-link{margin-left:0;margin-right:.8rem}
.ps-fa-note{font-family:var(--fa);border-left:1px solid var(--line);border-right:4px solid #b8913f}
.ps-nav a[lang="fa"]{font-family:var(--fa)}

/* Welcome banner: second button to the school */
.ps-hero-ctas{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.ps-hero-ctas .ps-hero-school{background:transparent;color:#f4eee1;border:1px solid rgba(244,238,225,.6)}
.ps-hero-ctas .ps-hero-school:hover{background:rgba(244,238,225,.12);color:#fff}

/* ===== School pages: wide layout, stage row, week, facts, tables ===== */
body.page-id-382 .entry-content,body.parent-pageid-382 .entry-content{max-width:none}
body.page-id-382 .entry-content>p,body.page-id-382 .entry-content>ul,body.page-id-382 .entry-content>ol,
body.parent-pageid-382 .entry-content>p,body.parent-pageid-382 .entry-content>ul,body.parent-pageid-382 .entry-content>ol{max-width:52rem}
body.page-id-382 .pv-feature,body.parent-pageid-382 .pv-feature{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.4rem}

.cards.ps-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:1.4rem 0 2rem}
.cards.ps-stages .pv-card-img{aspect-ratio:4/3}
.cards.ps-stages .pv-card-img img{object-position:center 40%}
.cards.ps-stages h3{font-size:1.35rem}
@media (max-width:860px){.cards.ps-stages{grid-template-columns:1fr}}

.ps-week{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.2rem 0 2rem;counter-reset:wk}
.ps-step{counter-increment:wk;background:var(--panel);border:1px solid var(--line);padding:1.1rem 1.1rem 1.2rem;position:relative}
.ps-step::before{content:counter(wk);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--night,#0d2a30);color:#e8c08f;font-weight:700;margin-bottom:.7rem}
.ps-step-k{display:block;font-weight:700;font-size:1.05rem;margin-bottom:.3rem}
.ps-step p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.55}
@media (max-width:980px){.ps-week{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ps-week{grid-template-columns:1fr}}

.ps-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0 2rem;padding:0}
.ps-facts>div{background:var(--panel);border:1px solid var(--line);border-top:3px solid #b8913f;padding:1rem 1.1rem}
.ps-facts dt{text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:700;color:#a95a2c;margin:0 0 .35rem}
.ps-facts dd{margin:0;font-size:1rem;line-height:1.5}
@media (max-width:860px){.ps-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ps-facts{grid-template-columns:1fr}}

table.ps-table,table.ps-table-plain{width:100%;border-collapse:collapse;margin:1rem 0 1.8rem;background:var(--panel);border:1px solid var(--line);font-size:.97rem}
table.ps-table th,table.ps-table td,table.ps-table-plain th,table.ps-table-plain td{padding:.7rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
table.ps-table thead th{background:var(--night,#0d2a30);color:#f4eee1;font-weight:600;font-size:.88rem;letter-spacing:.03em;border-bottom:0}
table.ps-table tbody tr:nth-child(even){background:var(--panel2)}
table.ps-table tbody td:first-child{font-weight:600;white-space:nowrap}
table.ps-table-plain th{width:34%;font-weight:600;color:var(--ink);background:var(--panel2)}
.ps-fa table.ps-table th,.ps-fa table.ps-table td{text-align:right}
@media (max-width:700px){
 table.ps-table{border:0;background:transparent}
 table.ps-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 table.ps-table,table.ps-table tbody,table.ps-table tr,table.ps-table td{display:block;width:100%}
 table.ps-table tr{background:var(--panel)!important;border:1px solid var(--line);border-left:4px solid #b8913f;margin:0 0 .8rem;padding:.4rem 0}
 table.ps-table td{border:0;padding:.35rem .9rem;white-space:normal!important}
 table.ps-table td[data-label]::before{content:attr(data-label);display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:#a95a2c;margin-bottom:.1rem}
 table.ps-table tbody td:first-child{font-size:1.05rem}
 table.ps-table tbody td:first-child::before{display:none}
}
