/* ==========================================================================
   Admission pages — content blocks. The pages use the About Ying Wa section
   template (photo hero, sidebar, brick wall). Text is the school's own; these
   rules only lay it out.
   ========================================================================== */

.ab-sub-content h2.ab-adm-h{margin-top:0!important}
.ab-sub-content h3.ab-adm-sub{margin-top:.6em!important;font-family:var(--ab-display);font-weight:500;font-size:clamp(22px,1.9vw,28px);color:var(--ab-muted)}
.ab-sub-content h3.ab-adm-proc{margin-top:2.2em!important}

/* numbered notes (the page's own 1., 7., 8. …) */
.ab-adm-item{position:relative;padding-left:clamp(44px,5vw,64px)!important;margin-top:clamp(36px,4vw,56px)!important}
.ab-adm-item > *{margin:0!important}
.ab-adm-item > * + *{margin-top:1em!important}
.ab-sub-content .ab-adm-item > .ab-adm-no{position:absolute;left:0;top:.1em;margin:0!important;font-family:var(--ab-label);font-size:15px;letter-spacing:.08em;color:var(--ab-gold)}
.ab-sub-content .ab-adm-item > .ab-adm-no::after{content:"";display:block;width:22px;height:1px;margin-top:10px;background:var(--ab-gold-soft)}
.ab-sub-content .ab-adm-lead2{font-family:var(--ab-display);font-weight:500;font-size:clamp(22px,1.8vw,26px);line-height:1.3;color:var(--ab-navy)}
.ab-sub-content .ab-adm-remark{font-size:14.5px;line-height:1.7;color:var(--ab-muted)}

/* PDFs side by side */
.ab-adm-files{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px!important}
.ab-adm-files > *{margin:0!important}

/* ---------- timeline: one row per step; the line runs through ---------- */
.ab-adm-dates{margin-top:22px!important}
.ab-adm-dates > *{margin:0!important}
.ab-adm-date{position:relative;display:grid!important;grid-template-columns:clamp(120px,15vw,176px) 30px minmax(0,1fr);column-gap:clamp(14px,2vw,26px);padding:24px 0;transition:opacity .4s}
.ab-adm-date > *{margin:0!important;grid-column:3}
.ab-adm-date > * + *{margin-top:10px!important}
.ab-sub-content .ab-adm-when{grid-column:1;grid-row:1 / span 6;margin-top:0!important;font-family:var(--ab-display);font-weight:500;font-size:clamp(19px,1.6vw,23px);line-height:1.2;color:var(--ab-navy)}
.ab-adm-date::before{content:"";position:absolute;top:0;bottom:0;left:calc(clamp(120px,15vw,176px) + clamp(14px,2vw,26px) + 14.5px);width:1px;background:var(--ab-line)}
.ab-adm-date:first-child::before{top:34px}
.ab-adm-date:last-child::before{bottom:auto;height:34px}
/* node: the page's own number if there is one, otherwise a dot */
.ab-adm-date::after{content:"";grid-column:2;grid-row:1;justify-self:center;align-self:start;margin-top:8px;width:11px;height:11px;border-radius:50%;
  background:var(--ab-paper);box-shadow:inset 0 0 0 1.5px var(--ab-navy);position:relative;z-index:1;transition:background-color .4s,box-shadow .4s}
.ab-adm-date.has-no::after{display:none}
.ab-sub-content .ab-adm-date > .ab-adm-no{grid-column:2;grid-row:1;justify-self:center;align-self:start;margin-top:0!important;position:relative;z-index:1;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--ab-paper);box-shadow:inset 0 0 0 1.5px var(--ab-navy);font-family:var(--ab-label);font-size:13px;line-height:1;color:var(--ab-navy);transition:background-color .4s,color .4s,box-shadow .4s}
.ab-adm-date.is-key::after{background:var(--ab-navy)}
.ab-adm-date.is-key > .ab-adm-no{background:var(--ab-navy);color:#fff}
.ab-sub-content .ab-adm-what{font-family:var(--ab-display);font-weight:600;font-size:clamp(21px,1.7vw,25px);line-height:1.2;color:var(--ab-navy)}
.ab-sub-content .ab-adm-note{font-size:16px;line-height:1.7;color:#2C3B57}
.ab-adm-date.is-past{opacity:.55}
.ab-adm-date.is-past::after,.ab-adm-date.is-past > .ab-adm-no{box-shadow:inset 0 0 0 1.5px var(--ab-muted);background:var(--ab-paper);color:var(--ab-muted)}
.ab-adm-date.is-next::after,.ab-adm-date.is-now::after,.ab-adm-date.is-next > .ab-adm-no,.ab-adm-date.is-now > .ab-adm-no{background:var(--ab-gold);color:#fff;box-shadow:inset 0 0 0 1.5px var(--ab-gold),0 0 0 6px rgba(184,146,74,.18)}

/* status tags and "Add to calendar" (added by the script) */
.ab-adm-tag{display:inline-block;vertical-align:middle;margin-left:10px;padding:3px 10px 2px;border-radius:999px;font-family:var(--ab-label);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;font-style:normal;position:relative;top:-2px;white-space:nowrap}
.ab-adm-when .ab-adm-tag{display:table;margin:8px 0 0;top:0}
.is-past .ab-adm-tag{background:var(--ab-paper-2);color:var(--ab-muted)}
.is-next .ab-adm-tag{background:var(--ab-gold);color:#fff}
.is-now .ab-adm-tag{background:var(--ab-navy);color:#fff}
.ab-ics{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-top:12px;padding:0 14px;border:1px solid var(--ab-line);border-radius:999px;background:#fff;color:var(--ab-navy);font-family:var(--ab-label);font-size:12.5px;letter-spacing:.08em;cursor:pointer;transition:border-color .25s,background-color .25s}
.ab-ics:hover{border-color:var(--ab-gold-soft);background:#FFFDF8}
.ab-ics svg{width:15px;height:15px;color:var(--ab-gold)}
.ab-adm-date > .ab-ics{grid-column:3;justify-self:start}
.is-past .ab-ics{display:none}

/* label / value rows (Period :, Office Hours : …) */
.ab-adm-rows{display:grid!important;gap:0;border-top:1px solid var(--ab-line)}
.ab-adm-rows > *{margin:0!important}
.ab-adm-row{display:grid!important;grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--ab-line)}
.ab-adm-row > *{margin:0!important}
.ab-sub-content .ab-adm-k{font-family:var(--ab-label);font-size:13px;letter-spacing:.08em;line-height:1.6;color:var(--ab-gold);padding-top:2px}
.ab-sub-content .ab-adm-v{font-size:15.5px;line-height:1.65;color:#2C3B57}
.ab-sub-content ul.ab-adm-check{list-style:none;padding:0!important;margin:0!important}
.ab-sub-content ul.ab-adm-check li{position:relative;padding:6px 0 6px 30px;font-size:15.5px;line-height:1.55}
.ab-sub-content ul.ab-adm-check li::before{content:"";position:absolute;left:0;top:8px;width:18px;height:18px;border-radius:50%;
  background:var(--ab-paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14.5 7' fill='none' stroke='%23B8924A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}

/* ---------- places (item 7) ---------- */
.ab-adm-places{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px!important}
/* a bar under the tiles, in proportion 51 : 11 : 98 */
.ab-adm-places::after{content:"";grid-column:1 / -1;height:8px;margin-top:4px;border-radius:99px;
  background:linear-gradient(90deg,var(--ab-navy) 0 31.875%,var(--ab-paper) 31.875% calc(31.875% + 3px),var(--ab-gold-soft) calc(31.875% + 3px) 38.75%,var(--ab-paper) 38.75% calc(38.75% + 3px),var(--ab-line) calc(38.75% + 3px) 100%)}
.ab-adm-places > *{margin:0!important}
.ab-adm-place{min-width:0;padding:16px 16px 14px!important;border-radius:14px;background:#fff;border:1px solid var(--ab-line)}
.ab-adm-place > *{margin:0!important}
.ab-adm-place.is-dp{background:var(--ab-navy);border-color:var(--ab-navy)}
.ab-adm-place.is-un{background:#FBF4E6;border-color:var(--ab-gold-soft)}
.ab-sub-content .ab-adm-big{font-family:var(--ab-display);font-weight:500;font-size:clamp(34px,3.4vw,52px);line-height:1;color:var(--ab-navy)}
.ab-sub-content .ab-adm-lbl{margin-top:8px!important;font-size:13px;line-height:1.4;color:var(--ab-muted)}
.ab-sub-content .is-dp .ab-adm-big{color:#fff}
.ab-sub-content .is-dp .ab-adm-lbl{color:#C9D5EC}

/* ---------- criteria (item 8): one half ring each, length = weight ---------- */
.ab-adm-criteria{margin-top:22px!important}
.ab-adm-criteria > *{margin:0!important}
.ab-adm-rings{display:none}
.ab-adm-legend{list-style:none!important;padding:0!important;margin:0!important;border-top:1px solid var(--ab-line)}
.ab-adm-legend li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:16px;row-gap:10px;padding:16px 0 18px;border-bottom:1px solid var(--ab-line);font-size:16px;line-height:1.45;color:#2C3B57;cursor:default;transition:opacity .3s}
.ab-adm-legend strong{font-family:var(--ab-display);font-weight:500;font-size:clamp(28px,2.6vw,36px);line-height:1;color:var(--ab-navy);font-variant-numeric:tabular-nums}
/* the bar (added by the script): full width = 100% */
.ab-adm-bar{grid-column:1 / -1;position:relative;display:block;height:12px;border-radius:99px;background:var(--ab-paper-2);overflow:hidden}
.ab-adm-bar i{position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:99px;background:var(--c);transform-origin:0 50%;transition:transform 1.4s cubic-bezier(.65,0,.25,1) calc(var(--d,0) * 1ms)}
.ab-adm-criteria.is-pending .ab-adm-bar i{transform:scaleX(0)}
.ab-adm-criteria.is-focus .ab-adm-legend li:not(.is-hot){opacity:.35}
@media (prefers-reduced-motion:reduce){.ab-adm-bar i{transition:none}}
.ab-adm-c1{--c:var(--ab-navy)}
.ab-adm-c2{--c:var(--ab-blue)}
.ab-adm-c3{--c:var(--ab-gold)}
.ab-adm-c4{--c:#A4553A}

/* ---------- briefing session card (item 10) ---------- */
.ab-adm-session{position:relative;overflow:hidden;isolation:isolate;padding:clamp(24px,3.4vw,40px)!important;border-radius:22px;background:var(--ab-navy);color:#E4EAF6}
.ab-adm-session::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.07;background:url(../images/brick.webp) 0 0/360px 240px repeat;mix-blend-mode:screen}
.ab-adm-session > *{margin:0!important}
.ab-adm-session > * + *{margin-top:22px!important}
.ab-adm-session .ab-adm-rows{border-top-color:rgba(255,255,255,.14)}
.ab-adm-session .ab-adm-row{border-bottom-color:rgba(255,255,255,.14)}
.ab-sub-content .ab-adm-session .ab-adm-k{color:var(--ab-gold-soft)}
.ab-sub-content .ab-adm-session .ab-adm-v{color:#E4EAF6}
.ab-sub-content .ab-adm-session .ab-adm-v.ab-adm-what{font-family:var(--ab-display);font-weight:500;font-size:clamp(24px,2.4vw,32px);line-height:1.1;color:#fff}
.ab-adm-session .ab-ics{background:transparent;color:#fff;border-color:rgba(217,188,133,.5)}
.ab-adm-session .ab-ics:hover{background:rgba(255,255,255,.06)}
.ab-adm-row.is-date > .ab-ics{grid-column:2;justify-self:start;margin-top:4px!important}
.ab-adm-session .is-past{opacity:.6}
.ab-sub-content .ab-adm-session .wp-block-button__link{background:var(--ab-gold)!important;color:var(--ab-navy-deep)!important}

/* ---------- S2 / S3: the envelope ---------- */
.ab-adm-envelope{position:relative;max-width:520px;margin-top:16px!important;padding:46px 28px 24px!important;border-radius:6px;
  background:linear-gradient(180deg,#FFFDF8,#F6F0E3);box-shadow:0 1px 0 #fff inset,0 18px 40px -22px rgba(70,36,14,.4),0 0 0 1px rgba(184,146,74,.25)}
.ab-adm-envelope::before{content:"";position:absolute;left:0;right:0;top:0;height:34px;
  background:linear-gradient(to bottom right,transparent 49.5%,rgba(184,146,74,.22) 50%,transparent 51%) 0 0/50% 100% no-repeat,
             linear-gradient(to bottom left,transparent 49.5%,rgba(184,146,74,.22) 50%,transparent 51%) 100% 0/50% 100% no-repeat}
.ab-adm-envelope::after{content:"";position:absolute;right:18px;top:16px;width:38px;height:46px;border:1.5px dashed rgba(164,85,58,.55);border-radius:3px;
  background:repeating-linear-gradient(45deg,rgba(164,85,58,.08) 0 4px,transparent 4px 8px)}
.ab-adm-envelope > *{margin:0!important}
.ab-sub-content .ab-adm-env-title{font-family:var(--ab-display);font-size:clamp(24px,2.2vw,30px);line-height:1.15;color:var(--ab-navy);padding-bottom:12px;border-bottom:1px dashed rgba(11,34,84,.25);margin-bottom:12px!important;max-width:calc(100% - 60px)}
.ab-sub-content .ab-adm-env-title strong{font-weight:500}
.ab-adm-call{margin-top:clamp(36px,4vw,56px)!important;padding:24px 28px!important;border-left:2px solid var(--ab-gold);background:rgba(241,236,226,.6);border-radius:0 14px 14px 0}
.ab-adm-call > *{margin:0!important}

/* ---------- Financial aid ---------- */
.ab-aid-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px!important}
.ab-aid-filter button{min-height:38px;padding:0 16px;border:1px solid var(--ab-line);border-radius:999px;background:#fff;color:var(--ab-navy);font-family:var(--ab-label);font-size:13px;letter-spacing:.08em;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
.ab-aid-filter button:hover{border-color:var(--ab-gold-soft)}
.ab-aid-filter button[aria-pressed="true"]{background:var(--ab-navy);border-color:var(--ab-navy);color:#fff}
.ab-sub-content h3.ab-aid-group{margin-top:2em!important}
.ab-aid-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px!important}
.ab-aid-cards > *{margin:0!important}
.ab-aid-card{display:flex!important;flex-direction:column;padding:20px 20px 18px!important;border-radius:16px;background:#fff;border:1px solid var(--ab-line);transition:opacity .35s,transform .35s}
.ab-aid-card > *{margin:0!important}
.ab-sub-content .ab-aid-card p{font-size:15px;line-height:1.65}
.ab-sub-content .ab-aid-card strong{font-weight:500;color:var(--ab-navy)}
.ab-aid-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px!important}
.ab-aid-tag{display:inline-block;padding:3px 10px 2px;border-radius:999px;background:var(--ab-paper-2);font-family:var(--ab-label);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ab-muted)}
.ab-aid-tag.is-when{background:transparent;box-shadow:inset 0 0 0 1px var(--ab-gold-soft);color:#8E6D2E}
.ab-aid-tag.is-soon{background:var(--ab-gold);box-shadow:none;color:#fff}
.ab-aid-tag.is-now{background:var(--ab-navy);box-shadow:none;color:#fff}
.is-hidden-by-filter{display:none!important}
/* school funds: the page's accordion, as cards */
.ab-sub-content .ab-aid-fund{margin-top:12px!important;border-radius:16px;background:#fff;border:1px solid var(--ab-line);overflow:hidden;transition:border-color .3s}
.ab-sub-content .ab-aid-fund[open]{border-color:var(--ab-gold-soft)}
.ab-sub-content .ab-aid-fund > summary{position:relative;display:block;list-style:none;cursor:pointer;padding:20px 64px 18px 22px;font-family:var(--ab-display);font-weight:600;font-size:clamp(21px,1.8vw,25px);line-height:1.2;color:var(--ab-navy)}
.ab-sub-content .ab-aid-fund > summary::-webkit-details-marker{display:none}
.ab-sub-content .ab-aid-fund > summary::after{content:"";position:absolute;right:22px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;
  background:var(--ab-paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230B2254' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .35s}
.ab-sub-content .ab-aid-fund[open] > summary::after{transform:rotate(180deg)}
.ab-sub-content .ab-aid-fund > summary .ab-aid-tags{margin:10px 0 0!important}
.ab-sub-content .ab-aid-fund > :not(summary){margin:0 22px!important}
.ab-sub-content .ab-aid-fund > :not(summary) + :not(summary){margin-top:8px!important}
.ab-sub-content .ab-aid-fund > :last-child{margin-bottom:22px!important}
.ab-sub-content .ab-aid-fund p{font-size:15.5px;line-height:1.7}
.ab-sub-content .ab-aid-k{margin-top:18px!important;padding-top:14px;border-top:1px solid var(--ab-line);font-family:var(--ab-label);font-size:13px;letter-spacing:.08em;color:var(--ab-gold)}
.ab-sub-content .ab-aid-fund > .ab-aid-k:first-of-type{margin-top:4px!important}
.ab-sub-content ul.ab-aid-list{padding-left:1.2em}
.ab-sub-content ul.ab-aid-list li{font-size:15.5px;line-height:1.65;margin:.3em 0}

/* ---------- sidebar: enquiries (Admission pages only) ---------- */
.ab-contact-card{margin-top:0;padding:24px 26px;border-radius:22px;background:var(--ab-paper);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 60px -36px rgba(70,36,14,.35)}
.ab-contact-card small{display:block;font-family:var(--ab-label);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ab-gold)}
.ab-contact-card p{margin:10px 0 0;font-size:14.5px;line-height:1.6;color:#2C3B57}
.ab-contact-card a{font-family:var(--ab-display);font-size:26px;font-weight:500;color:var(--ab-navy);text-decoration:none;white-space:nowrap}
.ab-contact-card a:hover{color:var(--ab-blue)}
.ab-contact-card .ab-contact-map{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--ab-label);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.ab-contact-card .ab-contact-map i{display:block;width:22px;height:1px;background:var(--ab-gold)}

/* ---------- small screens ---------- */
@media (max-width:760px){
  .ab-adm-files{grid-template-columns:1fr}
  .ab-adm-item{padding-left:0!important}
  .ab-sub-content .ab-adm-item > .ab-adm-no{position:static;margin-bottom:8px!important}
  .ab-sub-content .ab-adm-item > .ab-adm-no::after{display:none}
  .ab-adm-date{grid-template-columns:30px minmax(0,1fr);column-gap:14px}
  .ab-adm-date::before{left:14.5px}
  .ab-adm-date::after,.ab-sub-content .ab-adm-date > .ab-adm-no{grid-column:1;grid-row:1 / span 2}
  .ab-adm-date > *,.ab-adm-date > .ab-ics{grid-column:2}
  .ab-sub-content .ab-adm-when{grid-column:2;grid-row:auto;font-size:15px;font-family:var(--ab-label);letter-spacing:.06em;color:var(--ab-gold)}
  .ab-adm-row{grid-template-columns:1fr;gap:2px}
  .ab-adm-row.is-date > .ab-ics{grid-column:1}
  .ab-aid-cards{grid-template-columns:1fr}
}
