/* Burgess Astra Child — main stylesheet
   Design language: deep navy, white, gold accent, generous spacing,
   moderate rounded corners, elegant shadows. Same major sections on
   desktop and mobile; mobile is a responsive rework, not a separate site.
*/

* { box-sizing: border-box; }

body {
    font-family: var(--burgess-font-body);
    color: var(--burgess-text);
    background: var(--burgess-off-white);
}

h1, h2, h3, h4 {
    font-family: var(--burgess-font-heading);
    color: var(--burgess-navy);
    margin: 0 0 .5em;
}

a { color: var(--burgess-navy); }

.burgess-gold { color: var(--burgess-gold); }

.burgess-section { padding: 60px 6vw; max-width: 1280px; margin: 0 auto; }
.burgess-section-title { text-align: center; margin-bottom: 32px; font-size: 1.8rem; position: relative; }
.burgess-section-title::after {
    content: ""; display: block; width: 60px; height: 3px; background: var(--burgess-gold);
    margin: 10px auto 0; border-radius: 3px;
}

.burgess-eyebrow { display:inline-block; color: var(--burgess-gold-dark); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; margin-bottom:8px; }
.burgess-eyebrow-light { color: var(--burgess-gold); }

/* Buttons */
.burgess-btn { display:inline-block; padding: 12px 26px; border-radius: var(--burgess-radius-sm); font-weight:600; text-decoration:none; transition: transform .15s ease, box-shadow .15s ease; }
.burgess-btn:hover { transform: translateY(-2px); }
.burgess-btn-gold { background: var(--burgess-gold); color: var(--burgess-navy-dark); }
.burgess-btn-navy { background: var(--burgess-navy); color: #fff; }
.burgess-btn-outline { border: 2px solid #fff; color: #fff; background: transparent; }

/* ---------------- Hero ---------------- */
.burgess-hero { position: relative; overflow: hidden; height: 78vh; min-height: 460px; }
.burgess-hero-slide {
    position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease;
    background-image: var(--burgess-hero-desktop-bg); background-size: cover; background-position: center;
    display:flex; align-items:center;
}
.burgess-hero-slide.is-active { opacity: 1; z-index: 1; }
.burgess-hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(7,21,49,.88) 10%, rgba(7,21,49,.35) 60%, rgba(7,21,49,.15) 100%); }
.burgess-hero-content { position:relative; z-index:2; color:#fff; padding: 0 6vw; max-width: 640px; }
.burgess-hero-content h1 { color:#fff; font-size: clamp(1.9rem, 4vw, 3rem); line-height:1.15; }
.burgess-hero-content p { font-size:1.05rem; opacity:.92; margin-bottom:22px; }
.burgess-hero-buttons { display:flex; gap:14px; flex-wrap:wrap; }
.burgess-hero-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; background:rgba(255,255,255,.15); color:#fff; border:none; width:44px; height:44px; border-radius:50%; font-size:1.5rem; cursor:pointer; }
.burgess-hero-prev { left: 20px; } .burgess-hero-next { right: 20px; }
.burgess-hero-dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:8px; }
.burgess-hero-dot { width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.5); border:none; cursor:pointer; }
.burgess-hero-dot.is-active { background: var(--burgess-gold); width:22px; border-radius:5px; }

/* ---------------- Quick Actions ---------------- */
.burgess-quick-actions-wrap { padding: 0 6vw; margin-top: -34px; position: relative; z-index: 5; }
.burgess-quick-actions {
    background:#fff; border-radius: var(--burgess-radius-lg); box-shadow: var(--burgess-shadow-md);
    display:flex; justify-content:space-between; padding: 18px 10px; max-width:1200px; margin:0 auto;
}
.burgess-quick-action { flex:1; text-align:center; text-decoration:none; color: var(--burgess-navy); font-size:.85rem; font-weight:600; padding: 10px 6px; }
.burgess-icon { display:block; width:26px; height:26px; margin:0 auto 6px; background: var(--burgess-gold); border-radius:50%; }

/* ---------------- Latest / Notices Tabs ---------------- */
.burgess-tab-buttons { display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.burgess-tab-btn { background:none; border:1px solid var(--burgess-gray-300); padding:8px 18px; border-radius: 30px; cursor:pointer; font-weight:600; }
.burgess-tab-btn.is-active { background: var(--burgess-navy); color:#fff; border-color: var(--burgess-navy); }
.burgess-tab-panel { display:none; }
.burgess-tab-panel.is-active { display:block; }
.burgess-notice-list { list-style:none; margin:0; padding:0; background:#fff; border-radius: var(--burgess-radius-md); overflow:hidden; box-shadow: var(--burgess-shadow-sm); }
.burgess-notice-item { display:flex; align-items:center; gap:16px; padding:14px 20px; border-bottom:1px solid var(--burgess-gray-100); }
.burgess-notice-item:last-child { border-bottom:none; }
.burgess-notice-date { color: var(--burgess-gold-dark); font-weight:700; font-size:.85rem; min-width:90px; }
.burgess-notice-title { flex:1; }
.burgess-notice-download { text-decoration:none; font-weight:700; }
.burgess-view-all { display:block; text-align:center; margin-top:16px; font-weight:700; text-decoration:none; color: var(--burgess-navy); }

/* ---------------- Welcome ---------------- */
.burgess-welcome { display:grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items:center; }
.burgess-welcome-image img { width:100%; border-radius: var(--burgess-radius-lg); box-shadow: var(--burgess-shadow-md); }

/* ---------------- Vision / Mission ---------------- */
.burgess-vm-cards { display:grid; grid-template-columns: 1fr 1fr; gap:24px; }
.burgess-vm-card { background:#fff; border-radius: var(--burgess-radius-md); padding:28px; box-shadow: var(--burgess-shadow-sm); text-align:center; }
.burgess-vm-icon { font-size:2rem; color: var(--burgess-gold-dark); display:block; margin-bottom:10px; }

/* ---------------- Principal ---------------- */
.burgess-principal { background: var(--burgess-navy); color:#fff; display:grid; grid-template-columns: 260px 1fr; gap:40px; align-items:center; border-radius: var(--burgess-radius-lg); }
.burgess-principal h2, .burgess-principal-name { color:#fff; }
.burgess-photo-placeholder { width:220px; height:220px; border-radius:50%; background: rgba(255,255,255,.1); }
.burgess-principal-photo img { width:220px; height:220px; object-fit:cover; border-radius:50%; border:4px solid var(--burgess-gold); }
.burgess-quote { font-size:1.1rem; font-style:italic; opacity:.95; }
.burgess-principal-name { font-weight:700; margin-bottom:0; }
.burgess-principal-title { opacity:.75; margin-bottom:16px; }

/* ---------------- Life at Burgess ---------------- */
.burgess-life-cards { display:grid; grid-template-columns: repeat(4, 1fr); gap:20px; }
.burgess-life-card { text-decoration:none; color:inherit; background:#fff; border-radius: var(--burgess-radius-md); overflow:hidden; box-shadow: var(--burgess-shadow-sm); }
.burgess-life-card-image { height:150px; background:#dbe1ee center/cover; }
.burgess-life-card-body { padding:16px; }
.burgess-life-card-body h3 { font-size:1rem; margin-bottom:4px; }
.burgess-life-card-body p { font-size:.85rem; color: var(--burgess-gray-600); margin:0; }

/* ---------------- Academic Excellence ---------------- */
.burgess-result-cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:20px; margin-bottom:24px; }
.burgess-result-card { background:#fff; border-radius: var(--burgess-radius-md); padding:22px; text-align:center; box-shadow: var(--burgess-shadow-sm); }
.burgess-result-class { display:block; font-weight:700; color: var(--burgess-navy); margin-bottom:8px; }
.burgess-result-label { display:block; font-size:.8rem; color: var(--burgess-gray-600); }
.burgess-result-value { display:block; font-size:2rem; font-weight:800; color: var(--burgess-gold-dark); }

/* ---------------- Campus ---------------- */
.burgess-campus-cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap:20px; margin-bottom:24px; }
.burgess-campus-card { background:#fff; border-radius: var(--burgess-radius-md); padding:22px; text-align:center; box-shadow: var(--burgess-shadow-sm); }
.burgess-campus-card strong { display:block; font-size:1.6rem; color: var(--burgess-navy); }

/* ---------------- Alumni ---------------- */
.burgess-alumni-home { background: var(--burgess-navy-dark); color:#fff; border-radius: var(--burgess-radius-lg); }
.burgess-alumni-home h2 { color:#fff; }
.burgess-alumni-cards, .burgess-alumni-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:20px; margin-bottom:20px; }
.burgess-alumni-card { background: rgba(255,255,255,.06); border-radius: var(--burgess-radius-md); padding:20px; }
.burgess-alumni-card-full { background:#fff; color: var(--burgess-text); box-shadow: var(--burgess-shadow-sm); }
.burgess-alumni-card img { border-radius:50%; width:64px; height:64px; object-fit:cover; }
.burgess-alumni-batch { color: var(--burgess-gold); font-size:.85rem; }
.burgess-alumni-quote { font-style:italic; opacity:.85; }

/* ---------------- Disclosure teaser ---------------- */
.burgess-disclosure-teaser-inner { display:flex; align-items:center; gap:24px; background:#fff; border-radius: var(--burgess-radius-lg); padding:30px; box-shadow: var(--burgess-shadow-sm); flex-wrap:wrap; }
.burgess-icon-doc { width:50px; height:50px; background: var(--burgess-gold); border-radius: var(--burgess-radius-sm); flex-shrink:0; }

/* ---------------- Contact ---------------- */
.burgess-contact-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-bottom:20px; }
.burgess-contact-item { background:#fff; padding:18px; border-radius: var(--burgess-radius-md); box-shadow: var(--burgess-shadow-sm); }

/* ---------------- Generic pages ---------------- */
.burgess-page { max-width: 1100px; margin: 0 auto; padding: 40px 6vw 80px; }
.burgess-page-header { text-align:center; margin-bottom: 30px; }
.burgess-page-content textarea, .burgess-page-content input, .burgess-alumni-form input, .burgess-alumni-form textarea, .burgess-enquiry-form input, .burgess-enquiry-form textarea, .burgess-tc-form input {
    width:100%; padding:10px 12px; border:1px solid var(--burgess-gray-300); border-radius:6px; margin-top:4px;
}
.burgess-alumni-form label, .burgess-enquiry-form label { display:block; margin-bottom:14px; font-weight:600; }
.burgess-alumni-form button, .burgess-enquiry-form button, .burgess-tc-form button { background: var(--burgess-navy); color:#fff; border:none; padding:12px 28px; border-radius:6px; font-weight:700; cursor:pointer; }

/* Disclosure + Downloads + Results tables */
.burgess-disclosure-table-public, .burgess-downloads-table { width:100%; border-collapse: collapse; background:#fff; border-radius: var(--burgess-radius-md); overflow:hidden; box-shadow: var(--burgess-shadow-sm); margin-bottom: 30px; }
.burgess-disclosure-table-public th, .burgess-disclosure-table-public td, .burgess-downloads-table th, .burgess-downloads-table td { padding: 12px 16px; border-bottom: 1px solid var(--burgess-gray-100); text-align:left; }
.burgess-disclosure-table-public th, .burgess-downloads-table th { background: var(--burgess-navy); color:#fff; }
.burgess-disclosure-section h2 { margin-top: 30px; }

/* TC search */
.burgess-tc-search { background:#fff; padding: 28px; border-radius: var(--burgess-radius-lg); box-shadow: var(--burgess-shadow-sm); max-width: 560px; margin: 0 auto; }
.burgess-tc-form { display:flex; gap:10px; }
.burgess-tc-hint { color: var(--burgess-gray-600); font-size:.85rem; }
.burgess-tc-result { margin-top: 18px; }

/* Staff / Gallery grids */
.burgess-staff-grid, .burgess-card-grid, .burgess-gallery-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-bottom: 30px; }
.burgess-staff-card, .burgess-simple-card, .burgess-gallery-card { background:#fff; border-radius: var(--burgess-radius-md); padding:16px; text-align:center; box-shadow: var(--burgess-shadow-sm); text-decoration:none; color:inherit; }
.burgess-gallery-cover { height:140px; background:#dbe1ee center/cover; border-radius: var(--burgess-radius-sm); margin-bottom:10px; }

/* ---------------- Floating buttons: chatbot + scroll-to-top ---------------- */
.burgess-floating-buttons { position: fixed; right: 20px; bottom: 20px; z-index: 999; display:flex; flex-direction:column; gap:12px; align-items:flex-end; }
.burgess-scroll-top, .burgess-chat-toggle {
    width:52px; height:52px; border-radius:50%; border:none; cursor:pointer; box-shadow: var(--burgess-shadow-md);
    display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.burgess-scroll-top { background:#fff; color: var(--burgess-navy); opacity:0; pointer-events:none; transition: opacity .2s ease; }
.burgess-scroll-top.is-visible { opacity:1; pointer-events:auto; }
.burgess-chat-toggle { background: var(--burgess-navy); color:#fff; }
.burgess-chat-panel { position: fixed; right: 20px; bottom: 90px; width: 340px; max-width: 90vw; max-height: 70vh; background:#fff; border-radius: var(--burgess-radius-md); box-shadow: var(--burgess-shadow-md); display:none; flex-direction:column; overflow:hidden; z-index: 998; }
.burgess-chat-panel.is-open { display:flex; }
.burgess-chat-header { background: var(--burgess-navy); color:#fff; padding:14px 16px; font-weight:700; display:flex; justify-content:space-between; }
.burgess-chat-messages { flex:1; overflow-y:auto; padding:14px; font-size:.9rem; }
.burgess-chat-msg { margin-bottom:10px; padding:8px 12px; border-radius:10px; max-width:85%; }
.burgess-chat-msg.bot { background: var(--burgess-gray-100); }
.burgess-chat-msg.user { background: var(--burgess-navy); color:#fff; margin-left:auto; }
.burgess-chat-input-row { display:flex; border-top:1px solid var(--burgess-gray-100); }
.burgess-chat-input-row input { flex:1; border:none; padding:12px; }
.burgess-chat-input-row button { background: var(--burgess-gold); border:none; padding: 0 16px; font-weight:700; cursor:pointer; }

/* ---------------- Single/Archive detail pages (Part 2) ---------------- */
.burgess-staff-profile, .burgess-message-profile { display:grid; grid-template-columns: 260px 1fr; gap:36px; align-items:start; background:#fff; padding:30px; border-radius: var(--burgess-radius-lg); box-shadow: var(--burgess-shadow-sm); margin-bottom: 24px; }
.burgess-staff-profile-photo img, .burgess-message-photo img { width:220px; height:220px; object-fit:cover; border-radius: var(--burgess-radius-md); }
.burgess-staff-designation, .burgess-message-designation { color: var(--burgess-gold-dark); font-weight:700; }
.burgess-staff-category-tag { display:inline-block; background: var(--burgess-gray-100); padding:4px 12px; border-radius: 20px; font-size:.8rem; }
.burgess-staff-meta-list { list-style:none; margin:16px 0; padding:0; }
.burgess-staff-meta-list li { padding: 6px 0; border-bottom: 1px solid var(--burgess-gray-100); }

.burgess-event-meta { display:flex; gap:20px; justify-content:center; color: var(--burgess-gray-600); flex-wrap:wrap; }

.burgess-lightbox-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(180px,1fr)); gap:14px; margin: 24px 0; }
.burgess-lightbox-item img { width:100%; border-radius: var(--burgess-radius-sm); display:block; }

.burgess-gallery-filters { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom: 24px; }

.burgess-vacancy-status { display:inline-block; padding:4px 14px; border-radius:20px; font-weight:700; font-size:.85rem; }
.burgess-vacancy-status-open { background: #e5f6ea; color: #1c7a3b; }
.burgess-vacancy-status-closed { background: var(--burgess-gray-100); color: var(--burgess-gray-600); }

.burgess-empty-note { text-align:center; color: var(--burgess-gray-600); padding: 20px; background:#fff; border-radius: var(--burgess-radius-md); }
.burgess-form-error { color: #b3261e; font-weight:600; }
.burgess-form-note { color: var(--burgess-gray-600); font-size:.85rem; margin-bottom: 14px; }

/* ---------------- Mobile ---------------- */
@media (max-width: 900px) {
    .burgess-welcome, .burgess-principal, .burgess-staff-profile, .burgess-message-profile { grid-template-columns: 1fr; }
    .burgess-life-cards { grid-template-columns: repeat(2, 1fr); }
    .burgess-quick-actions { flex-wrap: wrap; }
    .burgess-quick-action { flex: 0 0 33%; }
}
@media (max-width: 600px) {
    .burgess-hero { height: 90vh; }
    .burgess-hero-slide { background-image: var(--burgess-hero-mobile-bg); }
    .burgess-life-cards { grid-template-columns: 1fr 1fr; }
    .burgess-quick-action { flex: 0 0 50%; }
    .burgess-tc-form { flex-direction: column; }
    .burgess-chat-panel { right: 10px; left: 10px; width: auto; }
    .burgess-floating-buttons { right: 12px; bottom: 12px; }
}