/* =====================================================================
   finish-polish.css - final quality pass (loaded LAST in MasterPage.master)
   * readable colour contrast (WCAG AA) for buttons, labels and small text
   * one font (DM Sans) everywhere except the italic heading accent
   * crisper focus rings and smoother tap targets
   To undo: delete the <link> line for this file in MasterPage.master.
   ===================================================================== */

/* 1. Green buttons: white text must be readable (was 3:1, now 4.7:1) */
body .ph-btn-lime, body .ax-btn-lime, body .btn-v2.btn-v2-green, body .map-btn-primary, body .gal-more-btn,
body .pr .ph-btn-lime{ background:#2a8420 !important; color:#fff !important; box-shadow:0 8px 18px rgba(42,132,32,.24) !important; }
body .ph-btn-lime:hover, body .ax-btn-lime:hover, body .btn-v2.btn-v2-green:hover, body .map-btn-primary:hover, body .gal-more-btn:hover{
  background:#0a2c63 !important; color:#fff !important; }
body .abh-btn, body.inner-page .page-about-us .btn-default, body.inner-page .page-contact-us .btn-default,
body.inner-page .post-entry .btn-default, body .btn-default{
  background:linear-gradient(135deg,#25781c,#2e8e24) !important; color:#fff !important; }
body .map-btn-wa{ background:#17753f !important; }
body .map-btn-wa:hover{ background:#0f5f31 !important; }

/* 2. Small green / grey / red / amber text -> darker shades that pass AA */
body .sg-r, body .ax-kicker, body .ax-vno{ color:#287f1d !important; }
.p-sign .sg-r{ color:#287f1d !important; }
body .abt-chip small, body .cx-lb, body .pr-facts span, body .pr-facts li span, body .adm-note{ color:#56657a !important; }
body .bl .bl-meta, body .bl .bl-meta span, body .wwu .wwu-drop small, body .wwu .wwu-file .fname em, body .wwu .wwu-actions .note,
body .ptm-sec .ptm-time span{ color:#5a6a82 !important; }
body .bl .bl-card.c-r .bl-more, body .bl .bl-card.c-r .bl-more .fa{ color:#c8364a !important; }
body .bl .bl-cat{ text-shadow:0 1px 1px rgba(0,0,0,.18); }
body .bl .bl-card.c-r .bl-cat{ background:#c8364a !important; }
.mpd .sec-e, a.sec-e{ --sec2:#8f5400 !important; }
body a.sec-e{ color:#8f5400 !important; }

/* step badges on the Admissions page: keep the white numbers legible */
.pr-steps li b{ box-shadow:0 6px 14px rgba(10,44,99,.16); }
.pr-steps li[style*="e69a00"] b{ color:#0a2c63 !important; }
.pr-steps li[style*="e0505f"] b{ background:#c8364a !important; }
.pr-steps li[style*="2f8f22"] b{ background:#287f1d !important; }

/* 3. One font family: DM Sans (icons keep their own icon fonts) */
body .post-entry, body .post-entry p, body .post-entry li, body .post-entry td, body .post-entry th{ font-family:"DM Sans",sans-serif; }
body input, body select, body textarea, body button{ font-family:"DM Sans",sans-serif; }

/* 4. Finishing touches */
html{ -webkit-text-size-adjust:100%; text-rendering:optimizeLegibility; }
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:3px solid #1a6fd6; outline-offset:2px; border-radius:8px; }
img{ max-width:100%; height:auto; }
.photo-gallery a{ display:block; }
@media (max-width:767px){
  body .ph-btn, body .btn-default, body .map-btn{ min-height:48px; }
}
@media (prefers-reduced-motion:reduce){ *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }

/* 5. Coloured small text / badges that borrow a card colour: darken a little so they stay readable */
body .bl .bl-more{ color:color-mix(in srgb, var(--c) 68%, #000) !important; }
body:not(#x) .mv-link:not(:hover){ color:color-mix(in srgb, var(--c) 66%, #000) !important; }
body .acad-step, body .acad-cta{ color:color-mix(in srgb, var(--acc, #2f8f22) 68%, #000) !important; }
body .pr .adm-big{ color:color-mix(in srgb, var(--c) 70%, #000) !important; }
body .cx-card em{ color:color-mix(in srgb, var(--iv-green, #2f8f22) 80%, #000) !important; }
body .bl .bl-cat, body .spt-tag{ background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)); }
body .faq4-btn-wa{ background:#17753f !important; }
body .faq4-btn-wa:hover{ background:#0f5f31 !important; }

/* 6. "Right click is disabled" notice: always in the bottom-right corner, beside the scroll button */
body .guard-toast{ position:fixed !important; left:auto !important; top:auto !important; right:90px !important; bottom:22px !important; }
@media (max-width:575px){
  body .guard-toast{ right:12px !important; bottom:74px !important; width:auto !important; max-width:calc(100vw - 24px) !important; }
}

/* Gallery album items never show list bullets (before the page script builds the cards) */
.post-entry > li{ list-style:none; }

/* Tables on list pages (Notices, Syllabus, Results, Holiday, ...): clear horizontal + vertical lines */
body.inner-page .inner-tbl { border: 1.5px solid #8fa6cc !important; }
body.inner-page .inner-tbl > table tr > td,
body.inner-page .inner-tbl > table tr > td:first-child { border-bottom: 1px solid #9db2d3 !important; border-right: 1px solid #9db2d3 !important; }
body.inner-page .inner-tbl > table tr > td:last-child { border-right: 0 !important; }
body.inner-page .inner-tbl > table tr:last-child > td { border-bottom: 0 !important; }
body.inner-page .inner-tbl > table tr > th { border-right: 1px solid rgba(255,255,255,.45) !important; }
body.inner-page .inner-tbl > table tr > th:last-child { border-right: 0 !important; }
