
/* Britannia College v16: single consolidated public responsive layer.
   Replaces v13-v15 overrides, without changing PHP, data or application flows. */
:root{--bc-content-size:13px;--bc-border:#e0e5e9}
body{font-size:13px;line-height:1.55}
main p,main li,main dd,main dt,main td,main th{font-size:13px;line-height:1.55}
main h1{font-size:clamp(27px,2.8vw,39px);line-height:1.17}
main h2{font-size:clamp(20px,2vw,27px);line-height:1.24}
main h3{font-size:clamp(16px,1.55vw,20px);line-height:1.3}
.wrap{width:min(calc(100% - 44px),var(--wrap))}
.btn,button{font-size:12px}
.btn{min-height:36px;padding:8px 13px;line-height:1.25}
.masthead{min-height:68px;padding-block:8px;gap:14px}
.brand img{width:49px;height:49px}
.brand strong{font-size:25px}.brand small{font-size:10px}
.header-actions{display:flex;align-items:center;gap:12px;min-width:0}
.header-course-search{display:flex;align-items:stretch;flex:0 1 260px;width:260px;min-width:0;height:38px;margin:0;padding:0;border:1px solid #d6dce1}
.header-course-search input{box-sizing:border-box;flex:1 1 auto;width:0;min-width:0;height:36px;padding:7px 10px;margin:0;border:0;border-radius:0;font-size:12px}
.header-course-search button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:66px;height:36px;padding:0 10px;margin:0;border:0;border-radius:0;font-size:12px}
.header-actions .header-login{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:38px;min-height:38px;margin:0;padding:0 16px;font-size:12px;line-height:1}
.nav-row{min-height:42px;gap:clamp(11px,1.5vw,22px)}.nav-row a{font-size:11.5px}
/* Shared public banners */
.page-banner,.course-directory-banner,.bc-fees-hero,.contact-hero{padding:36px 0;background:#10283f;color:#fff;border-bottom:3px solid var(--gold)}
.page-banner h1,.course-directory-banner h1,.bc-fees-hero h1,.contact-hero h1,.course-hero-redesign h1{font-family:var(--sans);font-size:clamp(28px,3vw,39px);font-weight:700;line-height:1.19;letter-spacing:-.02em;color:#fff}
.page-banner p:not(.eyebrow),.course-directory-banner p:not(.eyebrow),.bc-fees-hero p:not(.eyebrow),.contact-hero-copy>p:last-child{font-size:13px;line-height:1.55}
.course-hero-redesign{padding-block:35px}
/* Directory, including actual outer aside and fieldset padding */
.course-directory{padding:27px 0 50px}
.course-search-panel{padding:15px 17px}
.course-search-panel>label{font-family:var(--sans);font-size:18px;font-weight:650;margin-bottom:6px}
.course-search-control input{min-height:39px;padding:8px 11px;font-size:12px}
.course-search-control button{min-height:39px;min-width:70px;font-size:12px}
.course-directory-layout{grid-template-columns:205px minmax(0,1fr);gap:20px;margin-top:20px}
.course-filters{box-sizing:border-box;padding:0!important;margin:0;min-width:0}
.course-filter-header{padding:11px 12px;gap:8px}
.course-filter-header h2{font-family:var(--sans);font-size:16px;font-weight:700;line-height:1.25;margin:0}
.course-filter-header button{font-size:11px}
.course-filters fieldset{box-sizing:border-box;margin:0;padding:11px 12px 8px;border:0;border-bottom:1px solid #e4e7ea;min-width:0}
.course-filters fieldset:last-child{border-bottom:0}
.course-filters legend{box-sizing:border-box;width:100%;margin:0 0 8px;padding:0;font-family:var(--sans);font-size:13px;font-weight:700;line-height:1.3}
.course-filters label{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:7px;align-items:start;margin:0 0 7px;font-size:12px;line-height:1.35}
.course-filters label span{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.course-filters input[type=checkbox]{width:13px;height:13px;margin:2px 0 0}
.course-filters label small{min-width:19px;padding:1px 4px;font-size:10px}
.course-results-header{gap:12px;margin-bottom:12px}
.course-results-header h2{font-family:var(--sans);font-size:20px;font-weight:700}
.course-results-header>span{font-size:12px}
.course-results-list{gap:11px}
.course-result{grid-template-columns:minmax(0,1fr) 28px;gap:13px;padding:16px 17px;border-left-width:3px}
.course-result-subject{font-size:10px;margin:0 0 5px}
.course-result h3{font-family:var(--sans);font-size:17px;font-weight:700;line-height:1.3;margin:0 0 6px}
.course-result>div>p:not(.course-result-subject){font-size:12.5px;line-height:1.48;margin:0}
.course-result dl{gap:7px 17px;margin:11px 0 0}
.course-result dl div{gap:5px}
.course-result dt,.course-result dd{font-size:11.5px}
.course-result-link{width:28px;height:28px;font-size:16px}
.course-result .tuition-fee,.course-result .course-tuition-fee,.course-result .course-result-fee,.course-result [class*="tuition"]{font-size:12.5px!important;line-height:1.45}
.course-result .tuition-fee strong,.course-result .course-tuition-fee strong,.course-result .course-result-fee strong,.course-result [class*="tuition"] strong{font-size:13px!important;font-weight:650}
.course-empty,.course-loading{padding:17px}
/* Individual course */
.course-detail-page{padding:42px 0 60px}
.course-detail-layout{grid-template-columns:minmax(0,1fr) 250px;gap:26px}
.course-detail-notice{padding:18px;margin-top:20px}
.course-detail-notice h2{font-size:22px}
.course-detail-layout aside{gap:12px}
.course-detail-page .bc-course-tabs button{min-height:42px;padding:10px 9px;font-size:12px;line-height:1.3}
.course-detail-page .bc-course-panel p,.course-detail-page .bc-course-panel li,.course-detail-page .course-copy{font-size:13px;line-height:1.58}
.course-detail-page .bc-course-panel>h2{font-size:22px}
.course-detail-page .bc-unit>summary strong{font-size:14px}
.bc-tuition-amount{font-size:24px!important}
.course-facts strong{font-size:13px}
/* Contact page */
.contact-hero-inner{min-height:0;padding:0;display:flex;align-items:center;gap:28px}
.contact-hero-copy{max-width:740px}
.contact-hero h1{margin:0 0 12px}
.contact-hero-copy>p:last-child{margin:0;line-height:1.55}
.contact-hero-actions{min-width:180px;gap:8px}
.contact-hero-actions .btn{min-height:36px;padding:8px 12px}
.contact-page{padding:35px 0 50px}
.contact-introduction{grid-template-columns:105px minmax(0,1.1fr) minmax(220px,.8fr);gap:20px;margin-bottom:27px}
.contact-introduction h2{font-family:var(--sans);font-size:clamp(23px,2.4vw,30px);font-weight:700;line-height:1.25}
.contact-introduction>p:last-child{font-size:13px;line-height:1.55}
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:20px}
.contact-resources-heading{padding:19px 21px 15px}
.contact-resources-heading h2,.enquiry-panel-heading h2{font-family:var(--sans);font-size:21px;font-weight:700}
.contact-resource-list{gap:8px;padding:12px}
.contact-resource-list a{min-height:62px;padding:11px 13px;gap:10px;grid-template-columns:minmax(0,1fr) 20px}
.contact-resource-copy strong{font-family:var(--sans);font-size:16px;font-weight:650;margin-bottom:4px}
.contact-resource-copy small{font-size:12px}
.enquiry-disclosure>summary strong{font-family:var(--sans);font-size:18px;font-weight:700}
.contact-form{padding:18px 21px 22px}
.contact-form .field{margin-bottom:13px}
.contact-form input,.contact-form select{min-height:38px;padding:8px 10px;font-size:12px}
.contact-form textarea{min-height:110px;padding:9px 10px;font-size:12px}
/* Fees and institutional pages */
.bc-fees-page{padding:29px 0 48px}
.bc-fees-layout{grid-template-columns:185px minmax(0,1fr);gap:20px}
.bc-fees-local{padding:14px;gap:8px}
.bc-fees-local strong{font-size:14px}
.bc-fees-local a{font-size:12px}
.bc-fees-article{padding:23px}
.bc-fees-article section{padding:22px 0}
.bc-fees-article h2{font-size:21px}
.bc-fees-article h3{font-size:17px}
.bc-fees-article p,.bc-fees-article li{font-size:13px;line-height:1.58}
.bc-fee-table{font-size:12px}
.bc-fee-table th,.bc-fee-table td{padding:9px 8px;line-height:1.4}
.content-layout{grid-template-columns:195px minmax(0,1fr);gap:25px}
.prose-section h2{font-size:21px}
/* Other public sections, never portal or course editor */
.home-hero-layout{min-height:0;padding:46px 0;gap:28px}
.home-hero h1{font-size:clamp(30px,3.5vw,45px)}
.home-hero-lead{font-size:14px}
.home-introduction,.home-latest-courses,.home-study{padding:43px 0}
.home-introduction h2,.home-latest-courses .home-section-heading h2,.home-study-introduction h2,.home-community-content h2,.home-admissions h2{font-size:clamp(23px,2.5vw,31px)}
.home-study-links a{min-height:64px;padding:10px 4px}
.home-study-links strong{font-family:var(--sans);font-size:16px}
.home-admissions{padding:39px 0}

/* Mobile, reference 360 x 800. */
.wrap{width:calc(100% - 26px)}
.masthead{flex-wrap:wrap;gap:8px;padding-block:9px}
.brand img{width:40px;height:40px}.brand strong{font-size:20px}.brand small{font-size:8px}
.header-actions{flex:1 1 100%;width:100%;gap:8px}
.header-course-search{flex:1 1 auto;width:auto;height:36px}.header-course-search input,.header-course-search button{height:34px}
.header-actions .header-login{height:36px;min-height:36px;padding:0 12px}
.nav-row{display:flex;flex-wrap:nowrap;overflow-x:auto;min-height:38px;gap:16px}.nav-row a{white-space:nowrap;flex:0 0 auto}
.page-banner,.course-directory-banner,.bc-fees-hero,.contact-hero{padding:23px 0}
.page-banner h1,.course-directory-banner h1,.bc-fees-hero h1,.contact-hero h1,.course-hero-redesign h1{font-size:26px}
.course-directory{padding:18px 0 35px}.course-search-panel{padding:12px}.course-search-panel>label{font-size:16px}
.course-directory-layout{grid-template-columns:1fr;gap:14px}.course-filters{display:block}
.course-filters fieldset{border-right:0;border-bottom:1px solid #e4e7ea;padding:9px 11px}.course-filters fieldset:last-child{border-bottom:0}
.course-filter-header{padding:9px 11px}.course-filter-header h2{font-size:15px}
.course-result{padding:13px;grid-template-columns:minmax(0,1fr) 25px}.course-result h3{font-size:16px}.course-results-header h2{font-size:18px}
.course-detail-page{padding:25px 0 40px}.course-detail-layout{grid-template-columns:1fr}
.course-detail-page .bc-course-tabs{display:flex;overflow-x:auto}.course-detail-page .bc-course-tabs button{flex:0 0 auto;font-size:11px}
.contact-hero-inner{flex-direction:column;gap:16px}.contact-hero-actions{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap}.contact-hero-actions .btn{width:auto}
.contact-page{padding:23px 0 38px}.contact-introduction,.contact-layout{grid-template-columns:1fr}.contact-introduction{margin-bottom:18px}.contact-introduction .kicker{grid-column:auto}.contact-introduction h2{font-size:23px}
.contact-resources-heading{padding:15px}.contact-resources-heading h2,.enquiry-panel-heading h2{font-size:19px}.contact-resource-list a{min-height:58px}.contact-form{padding:15px}
.bc-fees-page{padding:19px 0 35px}.bc-fees-layout,.content-layout{grid-template-columns:1fr}.bc-fees-local{position:static;display:flex;flex-wrap:wrap;gap:8px 12px}.bc-fees-local strong{flex-basis:100%}.bc-fees-article{padding:16px}.bc-fees-article h2{font-size:20px}
.home-hero-layout{padding:32px 0}.home-hero h1{font-size:29px}.home-introduction,.home-latest-courses,.home-study{padding:32px 0}
/* v20: restore course card breathing room; full-width aligned filter dividers. */
.course-result{padding:18px!important;margin-bottom:16px!important;row-gap:12px!important}
.course-result h3{margin:5px 0 9px!important}
.course-result dl{margin-top:15px!important}
.course-result .bc-result-fee{display:flex;align-items:baseline;gap:10px;margin:12px 0!important;font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;line-height:1.5}
.course-result .bc-result-fee strong{font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:600!important;line-height:1.5;letter-spacing:0}
.course-action-card .bc-fee-callout strong,.course-action-card .bc-tuition-amount{font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:600!important;line-height:1.45;letter-spacing:0}
.course-filters{padding:0!important;overflow:hidden}
.course-filters .course-filter-header{box-sizing:border-box;padding:12px!important;margin:0!important;border-bottom:1px solid #dfe4e8!important}
.course-filters fieldset{box-sizing:border-box;display:block;width:100%;min-width:0;margin:0!important;padding:12px!important;border:0!important;border-bottom:1px solid #dfe4e8!important}
.course-filters fieldset:last-child{border-bottom:0!important}
.course-filters fieldset legend{box-sizing:border-box;float:left;display:block;width:100%;margin:0 0 10px!important;padding:0!important;border:0!important}
.course-filters fieldset legend+*{clear:both}
.course-filters fieldset::after{content:'';display:block;clear:both}
.course-filters label{margin:7px 0!important}
