/*
Theme Name: BMISSS PDF School
Theme URI: https://example.com/
Author: Custom
Description: Full-screen responsive school theme recreated from the supplied BMISS PDF design, with BMISSS branding and school logo.
Version: 3.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: bmisss-pdf
Tags: education, school, responsive, custom-logo, featured-images, accessibility-ready
*/

:root{
 --p:#7800e8;
 --p2:#4b0c98;
 --p3:#270b68;
 --blue:#5b9bd5;
 --ink:#1b1730;
 --muted:#6d6877;
 --paper:#fff;
 --soft:#f5f2fb;
 --line:rgba(39,11,104,.14);
 --radius:22px;
 --shadow:0 18px 55px rgba(43,10,91,.13);
 --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Segoe UI",Arial,sans-serif;line-height:1.65}
body.dark-mode{--paper:#11101a;--ink:#f5f2fb;--muted:#c2bbcc;--soft:#1c1926;--line:rgba(255,255,255,.13)}
a{color:var(--p);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header closely follows the PDF: one-line purple navigation and large BMISSS logo. */
.site-header{
 position:sticky;top:0;z-index:1000;color:#fff;
 background:linear-gradient(180deg,#8b00f2 0%,#5e08bd 54%,#30106e 100%);
 box-shadow:0 5px 25px rgba(34,0,80,.2)
}
.header-inner{min-height:128px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;flex-shrink:0}
.brand:hover{text-decoration:none}
.logo{width:104px;height:104px;object-fit:contain;border-radius:50%;background:#fff;padding:2px}
.brand-name{font-size:clamp(38px,4vw,58px);font-weight:900;line-height:1;letter-spacing:.02em}
.brand-sub{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-top:5px}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;align-items:center;gap:2px;list-style:none;padding:0;margin:0}
.main-nav a{color:#fff;font-size:13px;font-weight:700;padding:10px 11px;border-radius:9px;white-space:nowrap}
.main-nav a:hover,.main-nav .current-menu-item>a{background:rgba(255,255,255,.14);text-decoration:none}
.header-tools{display:flex;gap:5px;align-items:center}
.tool{border:0;background:#000;color:#fff;min-width:30px;height:30px;border-radius:3px;cursor:pointer;font-weight:800}
.menu-toggle{display:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:9px;padding:8px 12px;font-weight:800}

/* Full-screen hero */
.full-hero{
 min-height:calc(100vh - 128px);
 display:flex;align-items:center;color:#fff;
 background:
 radial-gradient(circle at 76% 18%,rgba(170,65,255,.35),transparent 25%),
 linear-gradient(135deg,#8b00f5 0%,#6507c5 48%,#2f106d 100%);
}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:55px 0}
.eyebrow{font-weight:900;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.full-hero h1{font-size:clamp(42px,5.5vw,76px);line-height:1.03;margin:14px 0 20px;letter-spacing:-.035em}
.full-hero p{font-size:18px;max-width:650px;opacity:.92}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;padding:12px 21px;border-radius:999px;font-weight:900}
.btn-white{background:#fff;color:#4c0b98}.btn-outline{border:1px solid rgba(255,255,255,.45);color:#fff}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.hero-logo{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);border-radius:32px;padding:25px;box-shadow:0 30px 75px rgba(18,0,58,.25)}
.hero-logo img{display:block;width:min(460px,100%);margin:auto;border-radius:50%;box-shadow:0 18px 45px rgba(0,0,0,.2)}

/* Play-way introduction from PDF */
.playway{padding:60px 0}
.playway-box{
 max-width:1050px;margin:auto;padding:36px 46px;color:#fff;
 background:#5b9bd5;border:2px solid #2c5f91;border-radius:42px;
 box-shadow:var(--shadow)
}
.playway-box p{margin:0;font-size:18px}
.playway-box strong{font-weight:900}

/* Photo slider */
.section{padding:82px 0}
.section.alt{background:var(--soft)}
.section-title{text-align:center;margin:0 0 38px;font-size:clamp(32px,4vw,50px);line-height:1.1}
.slider{position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}
.slides{display:flex;transition:transform .45s ease}
.slide{min-width:100%;position:relative;aspect-ratio:16/6;background:#19083f}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 30px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.slide-caption h3{margin:0;font-size:28px}
.slide-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.62);color:#fff;width:45px;height:45px;border-radius:50%;font-size:23px;cursor:pointer}
.slide-prev{left:15px}.slide-next{right:15px}
.dots{text-align:center;padding-top:15px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#ccc;margin:0 4px;border:0;cursor:pointer}.dot.active{background:var(--p)}

/* Counters from PDF */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;text-align:center}
.stat{padding:20px}
.stat-ring{width:150px;height:150px;border-radius:50%;margin:auto;display:grid;place-items:center;border:3px solid #e9e4ef;position:relative;background:var(--paper)}
.stat-ring:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid transparent;border-top-color:var(--p);border-right-color:#f0b000;transform:rotate(20deg)}
.stat-number{font-size:34px;font-weight:900}.stat-label{display:block;margin-top:13px;font-size:12px;font-weight:900;text-transform:uppercase}

/* Facilities */
.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.facility{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(40,10,80,.07)}
.facility img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.facility-body{padding:20px}.facility h3{margin:0 0 7px;color:#a06f94;font-size:18px}.facility p{margin:0;color:var(--muted);font-size:14px}

/* Messages */
.message-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.message{display:grid;grid-template-columns:1fr .85fr;color:#fff;background:linear-gradient(135deg,#8100eb,#40108a);overflow:hidden;min-height:430px}
.message-copy{padding:42px}.message-copy h2{font-size:38px;line-height:1.1;margin:8px 0 16px}.message-copy p{opacity:.9}
.message-photo{min-height:100%;background:#ddd}.message-photo img{width:100%;height:100%;object-fit:cover}

/* Generic WP pages/news */
.page-wrap{padding:75px 0;min-height:70vh}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:42px}
.entry-title{font-size:clamp(36px,5vw,62px);line-height:1.08;margin:0 0 22px}
.entry-content{font-size:17px}.entry-content img{border-radius:14px}.entry-content blockquote{border-left:4px solid var(--p);background:var(--soft);padding:15px 22px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(30,8,70,.07)}
.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.post-body{padding:20px}.post-meta{font-size:12px;color:var(--muted)}.post-card h2{font-size:21px;line-height:1.2;margin:7px 0}
.sidebar .widget{padding:20px;margin-bottom:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.widget-title{margin-top:0}
.search-form{display:flex;gap:8px}.search-field{flex:1;padding:11px;border:1px solid #d6cfdf;border-radius:9px}.search-submit{border:0;background:var(--p);color:#fff;padding:10px 15px;border-radius:9px;font-weight:800}
.comments-area{margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}

/* Footer: PDF specifically says not to repeat the menu here. */
.site-footer{background:#210b52;color:#fff;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}.site-footer h2,.site-footer h3{color:#fff}.site-footer a{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:18px;font-size:13px;opacity:.78}

/* Gutenberg */
.wp-block-button__link{background:var(--p)}.alignwide{max-width:var(--max);margin-left:auto;margin-right:auto}
.wp-caption-text{font-size:12px;color:var(--muted)}

@media(max-width:1050px){
 .header-inner{gap:15px}.main-nav a{font-size:12px;padding:9px 7px}.brand-name{font-size:30px}
 .stats{gap:10px}.stat-ring{width:125px;height:125px}
}
@media(max-width:850px){
 .header-inner{min-height:98px}.logo{width:76px;height:76px}.brand-name{font-size:32px}
 .menu-toggle{display:block;margin-left:auto}.main-nav{display:none;width:100%}.main-nav.open{display:block}
 .main-nav ul{flex-direction:column;align-items:stretch;padding:8px 0 12px}.main-nav a{font-size:14px}
 .header-inner{flex-wrap:wrap}.header-tools{order:3}
 .full-hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:55px 0}.hero-logo{max-width:520px;margin:auto}
 .stats{grid-template-columns:repeat(2,1fr)}.facility-grid,.post-grid{grid-template-columns:1fr 1fr}
 .message-grid{grid-template-columns:1fr}.content-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 .container{width:calc(100% - 24px)}.brand-sub{display:none}.brand-name{font-size:29px}
 .playway-box{padding:25px 22px;border-radius:27px}.playway-box p{font-size:16px}
 .section{padding:58px 0}.slide{aspect-ratio:16/9}.slide-caption{padding:18px}.slide-caption h3{font-size:20px}
 .stats{grid-template-columns:1fr 1fr;gap:0}.stat-ring{width:105px;height:105px}.stat-number{font-size:26px}
 .facility-grid,.post-grid{grid-template-columns:1fr}.message-copy{padding:28px}.message-copy h2{font-size:30px}
}
