/*
Theme Name: National Model School (Campus-2)
Author: SchoolBridge Theme Studio
Description: A responsive Bengali-first school WordPress theme for Kindergarten through SSC (Classes Play to 10). Includes school page templates and Customizer options.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: schoolbridge-bd
Tags: education, custom-logo, custom-menu, featured-images, translation-ready, blog, two-columns
*/
:root{--navy:#14283f;--deep:#0e2136;--teal:#0c827c;--teal-dark:#096a65;--orange:#ffb24f;--paper:#f4f8fa;--text:#33465a;--muted:#687b8c;--line:#e4ebef;--white:#fff;--shadow:0 22px 55px rgba(11,41,66,.09);--radius:19px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font:16px/1.75 'Noto Sans Bengali','Hind Siliguri',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration:none}a:hover{color:var(--teal-dark)}img{max-width:100%;height:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{color:var(--navy);line-height:1.35}h1{font-size:clamp(2.2rem,4.1vw,4.15rem);font-weight:850;letter-spacing:-.04em}h2{font-size:clamp(1.8rem,2.8vw,2.7rem);letter-spacing:-.025em;font-weight:800}h3{font-size:1.2rem}p{margin-bottom:1rem}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 42px));margin:auto}.screen-reader-text{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}.screen-reader-text:focus{clip-path:none;width:auto;height:auto;position:fixed;z-index:9999;top:10px;left:10px;padding:10px;background:#fff;color:#000}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:13px 23px;border-radius:12px;font-weight:750;transition:.2s ease;background:var(--teal);color:white;border:2px solid var(--teal);white-space:nowrap}.btn:hover{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff;transform:translateY(-1px)}.btn-outline{background:transparent;border-color:rgba(20,40,63,.15);color:var(--navy)}.btn-outline:hover{background:var(--navy);border-color:var(--navy);color:#fff}.btn-orange{background:var(--orange);border-color:var(--orange);color:var(--navy)}.btn-orange:hover{background:#ffca7d;border-color:#ffca7d;color:var(--navy)}.section{padding:85px 0}.section-soft{background:var(--paper)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:34px}.section-top p{max-width:640px;color:var(--muted);margin-bottom:0}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--teal);font-size:.87rem;font-weight:850;letter-spacing:.02em;margin-bottom:13px}.eyebrow:before{content:'';display:inline-block;width:21px;height:3px;border-radius:3px;background:var(--orange)}.muted{color:var(--muted)}.chip{display:inline-block;border-radius:999px;background:#e8f5f3;color:var(--teal-dark);padding:5px 13px;font-weight:750;font-size:.82rem}.site-top{background:var(--navy);color:#d7e5ee;font-size:.82rem}.top-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}.top-inner a{color:#eff7fa}.top-inner a:hover{text-decoration:underline}.top-group{display:flex;gap:23px;flex-wrap:wrap}.dot{color:var(--orange);margin-right:7px}.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 3px 23px rgba(20,40,63,.05)}body.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;gap:25px;min-height:93px}.brand{display:flex;align-items:center;gap:13px;min-width:200px}.brand-icon{background:var(--teal);width:51px;height:51px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;font-weight:850;box-shadow:0 9px 18px #0c827c2d}.custom-logo{max-width:65px;height:auto}.brand-words{display:flex;flex-direction:column}.site-name{font-size:1.17rem;color:var(--navy);font-weight:900;line-height:1.4}.site-tag{color:var(--muted);font-size:.74rem}.main-nav{margin-left:auto}.menu{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:22px}.menu li{position:relative}.menu a{display:inline-block;color:var(--navy);font-weight:750;font-size:.92rem;padding:15px 0}.menu a:hover,.menu .current-menu-item>a{color:var(--teal)}.menu .sub-menu{position:absolute;left:0;top:100%;background:white;min-width:170px;padding:10px 18px;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;display:none;z-index:2}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}.menu .sub-menu li{white-space:nowrap}.menu .sub-menu a{padding:7px 0}.header-cta{padding:11px 17px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--navy);font-weight:800}.announcement{background:#e6f5f3;border-bottom:1px solid #cce8e4;color:#205a58;font-size:.9rem}.announcement-inner{display:flex;align-items:center;gap:12px;padding:10px 0}.announcement-label{background:var(--teal);color:#fff;border-radius:6px;font-size:.75rem;padding:1px 8px;font-weight:850}.hero{background:linear-gradient(124deg,#f3fafb 0%,#fefdf9 66%,#fff8ec 100%);overflow:hidden;position:relative;padding:67px 0 88px}.hero:after{content:'';position:absolute;right:-12vw;bottom:-245px;width:550px;height:550px;border-radius:50%;background:#f9d39a25;pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:50px}.hero h1{margin-bottom:19px}.hero h1 em{color:var(--teal);font-style:normal}.hero-lead{max-width:550px;color:#5e7282;font-size:1.08rem;line-height:1.9;margin-bottom:27px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-trust{display:flex;gap:13px;align-items:center;margin-top:30px;color:var(--muted);font-size:.88rem}.trust-avatars{display:flex}.trust-avatars span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#cdebe8;border:3px solid white;margin-left:-8px;color:var(--teal);font-size:.85rem}.trust-avatars span:first-child{margin-left:0}.hero-visual{position:relative}.campus-wrap{background:#e8f4f2;border-radius:35px 95px 45px 95px;min-height:395px;padding:18px;position:relative;box-shadow:var(--shadow);transform:rotate(-1deg)}.campus-wrap img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:1.23;border-radius:24px 80px 33px 80px}.float-note{position:absolute;background:#fff;border-radius:15px;box-shadow:0 15px 38px #173e4930;padding:13px 17px;font-size:.87rem;font-weight:850;color:var(--navy);display:flex;align-items:center;gap:10px}.float-note.one{left:-35px;bottom:32px}.float-note.two{right:-23px;top:30px}.float-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#e3f5f3;color:var(--teal);font-size:1.2rem}.stats-strip{margin-top:-40px;position:relative;z-index:2}.stats-box{border-radius:20px;background:var(--navy);display:grid;grid-template-columns:repeat(4,1fr);box-shadow:var(--shadow);padding:19px 10px}.stat{padding:15px 25px;text-align:center;color:#cfdee8;border-right:1px solid #ffffff2a}.stat:last-child{border-right:0}.stat strong{display:block;color:#fff;font-size:1.48rem;line-height:1.25}.stat span{font-size:.86rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:.2s}.feature:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.feature-icon{width:57px;height:57px;border-radius:14px;display:grid;place-items:center;background:#e4f5f1;font-size:1.65rem;margin-bottom:21px}.feature:nth-child(2) .feature-icon{background:#fff1d9}.feature:nth-child(3) .feature-icon{background:#ebedff}.feature p{color:var(--muted);margin-bottom:13px}.link-arrow{font-weight:850;display:inline-flex;align-items:center;gap:8px}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:63px}.about-art{border-radius:32px;min-height:400px;position:relative;background:linear-gradient(135deg,#daeef0,#eff9e8 60%,#fff0d8);display:flex;align-items:center;justify-content:center;overflow:hidden}.about-art:before{content:'';width:370px;height:370px;border:2px dashed #77b6aa;border-radius:50%;position:absolute}.about-art img{width:83%;position:relative;filter:drop-shadow(0 12px 18px #5a8a873a)}.about-count{position:absolute;bottom:26px;left:27px;background:white;padding:13px 23px;border-radius:13px;box-shadow:var(--shadow)}.about-count strong{display:block;color:var(--teal);font-size:1.4rem}.check-list{list-style:none;padding:0;margin:18px 0 25px}.check-list li{margin:10px 0;display:flex;align-items:start;gap:11px}.check-list li:before{content:'✓';background:#e0f6ee;color:var(--teal);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:900;font-size:.8rem}.notice-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:25px}.panel{background:white;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}.panel-header{padding:24px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-header h3{margin:0}.notice-item{display:flex;align-items:center;gap:17px;padding:20px 25px;border-bottom:1px solid var(--line)}.notice-item:last-child{border-bottom:0}.date-box{background:#f0f8f7;min-width:64px;padding:8px;text-align:center;border-radius:10px;color:var(--teal);font-weight:850;line-height:1.2}.date-box small{display:block;color:var(--muted);font-size:.75rem;font-weight:600;margin-top:5px}.notice-copy{flex:1}.notice-copy a{font-weight:800;color:var(--navy)}.notice-copy a:hover{color:var(--teal)}.notice-copy small{color:var(--muted);display:block;margin-top:5px}.highlight-panel{background:var(--teal);color:white;border:0;position:relative;min-height:320px;padding:35px}.highlight-panel:after{content:'';position:absolute;width:225px;height:225px;right:-80px;bottom:-110px;border-radius:50%;border:40px solid #ffffff14}.highlight-panel h3{font-size:1.65rem;color:white;margin-top:25px}.highlight-panel p{color:#e2f7f4;max-width:350px}.highlight-icon{background:#ffffff24;display:grid;place-items:center;width:65px;height:65px;border-radius:16px;font-size:2rem}.teacher-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.teacher-card{border-radius:17px;overflow:hidden;background:white;border:1px solid var(--line);box-shadow:0 5px 19px rgba(15,45,56,.035)}.teacher-photo{aspect-ratio:1.03;background:linear-gradient(135deg,#d1e9e9,#e4eff1);display:grid;place-items:center;color:#0c827c;font-size:3rem}.teacher-photo img{display:block;width:100%;height:100%;object-fit:cover}.teacher-info{padding:20px}.teacher-info h3{margin-bottom:5px}.teacher-info p{font-size:.88rem;color:var(--muted);margin:0}.empty-state{background:#fff;border:1px dashed #bfd4d6;border-radius:16px;padding:27px;color:var(--muted)}.teacher-grid .empty-state{grid-column:1/-1}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card{background:#fff;border-radius:18px;border:1px solid var(--line);overflow:hidden}.event-thumb{height:175px;background:linear-gradient(135deg,#e7f7ef,#fef2d9);display:grid;place-items:center;font-size:3.4rem}.event-thumb img{width:100%;height:100%;object-fit:cover}.event-body{padding:25px}.event-body h3{margin-bottom:8px}.event-body p{color:var(--muted);font-size:.9rem}.cta-banner{border-radius:25px;background:var(--navy);padding:43px 48px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;overflow:hidden}.cta-banner:before{content:'';position:absolute;right:35%;top:-110px;width:270px;height:270px;border:50px solid #ffffff09;border-radius:50%}.cta-banner h2{color:white;font-size:2rem;margin-bottom:8px}.cta-banner p{color:#c5d9e6;margin-bottom:0}.site-footer{background:#0c1f32;color:#bed0dc;padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:38px}.site-footer h3{color:#fff;font-size:1.08rem;margin-bottom:18px}.site-footer .site-name{color:white}.site-footer a{color:#c9d8e2}.site-footer a:hover{color:#fff}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:8px 0}.site-footer p{color:#bed0dc}.footer-bottom{border-top:1px solid #ffffff1b;margin-top:45px;padding-top:22px;font-size:.82rem;display:flex;justify-content:space-between;gap:15px}.page-banner{background:linear-gradient(115deg,#ebf7f5,#fdfbf7);padding:62px 0}.page-banner h1{font-size:clamp(2rem,3.5vw,3.1rem);margin-bottom:9px}.breadcrumb{font-size:.86rem;color:var(--muted)}.content-section{padding:64px 0 95px}.prose{max-width:825px;margin:auto}.prose h2,.prose h3{margin-top:28px}.prose p,.prose li{color:#475e70}.prose img{border-radius:15px}.entry-meta{font-size:.85rem;color:var(--muted);margin-bottom:15px}.list-layout{display:grid;grid-template-columns:1fr;gap:16px}.list-card{border-radius:15px;border:1px solid var(--line);background:white;padding:24px;display:flex;gap:20px;align-items:center}.list-card-body{flex:1}.list-card h3{margin:0 0 6px}.list-card p{color:var(--muted);margin:0}.pagination{margin-top:25px}.pagination .page-numbers{display:inline-flex;padding:8px 14px;border:1px solid var(--line);border-radius:8px;margin:4px}.pagination .current{background:var(--teal);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-card{padding:35px;background:#f5f9f9;border-radius:18px}.contact-card h3{margin-bottom:9px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{padding:28px;border-radius:18px;background:#fff;border:1px solid var(--line)}.step-number{display:grid;place-items:center;background:var(--navy);width:44px;height:44px;border-radius:12px;color:#fff;font-weight:850;margin-bottom:15px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-tile{border-radius:14px;overflow:hidden;background:#e8f3f4;border:1px solid var(--line)}.gallery-tile img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover}.gallery-tile h3{font-size:1rem;padding:14px;margin:0}.info-banner{background:#edf7f5;padding:22px 27px;border-radius:15px;border-left:4px solid var(--teal);margin:25px 0}.wp-block-image img{max-width:100%;height:auto}.alignwide{max-width:1160px;margin-left:auto;margin-right:auto}.alignfull{width:100%}.wp-caption{max-width:100%}.wp-caption-text{font-size:.8rem;color:var(--muted)}.sticky{border-left:4px solid var(--teal)}.gallery-caption{font-size:.8rem}.bypostauthor{font-weight:inherit}.search-form{display:flex;gap:8px}.search-form input[type='search']{flex:1;min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px}.search-form input[type='submit']{background:var(--teal);color:white;border:0;border-radius:10px;padding:10px 18px}.entry-content:after{content:'';display:table;clear:both}
@media(max-width:1050px){.menu{gap:13px}.header-inner{gap:12px}.header-cta{display:none}.hero-grid{gap:25px}.float-note.one{left:5px}.float-note.two{right:0}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){body.admin-bar .site-header{top:46px}.top-inner{justify-content:center}.top-group:nth-child(2){display:none}.header-inner{min-height:78px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:var(--shadow);padding:9px 22px 20px}.main-nav.open{display:block}.menu{flex-direction:column;align-items:stretch;gap:0}.menu a{width:100%;padding:9px 0}.menu .sub-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 17px}.hero{padding:44px 0 75px}.hero-grid,.about-grid,.notice-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{max-width:600px;margin:15px auto 0;width:100%}.campus-wrap{min-height:300px}.feature-grid,.events-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.teacher-grid{grid-template-columns:repeat(2,1fr)}.stats-box{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #ffffff2a}.section{padding:60px 0}.section-top{align-items:start;flex-direction:column}.cta-banner{align-items:start;flex-direction:column}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.container{width:min(100% - 28px,1160px)}.brand{min-width:0}.site-name{font-size:1rem}.site-tag{font-size:.66rem}.brand-icon{width:43px;height:43px;font-size:22px}.hero h1{font-size:2.35rem}.hero-lead{font-size:.98rem}.campus-wrap{min-height:auto;padding:9px;border-radius:28px 57px 30px 57px}.campus-wrap img{border-radius:18px 47px 25px 47px}.float-note{font-size:.73rem;padding:7px}.float-note.two{top:8px}.float-note.one{bottom:10px}.float-icon{width:25px;height:25px;font-size:.9rem}.stats-box{padding:9px}.stat{padding:13px 10px}.stat strong{font-size:1.25rem}.feature-grid,.events-grid,.steps-grid,.teacher-grid,.footer-grid,.gallery-grid{grid-template-columns:1fr}.feature{padding:25px}.section{padding:55px 0}.section-top{margin-bottom:25px}.highlight-panel{min-height:300px}.notice-item{padding:16px}.panel-header{padding:19px}.cta-banner{padding:29px}.cta-banner h2{font-size:1.6rem}.footer-bottom{flex-direction:column}.page-banner{padding:45px 0}.content-section{padding:45px 0 70px}.about-art{min-height:275px}.about-art:before{width:250px;height:250px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Keep both grid columns fluid, including when the preview uses inline SVG. */
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.hero-visual{min-width:0}
.campus-wrap>svg{width:100%;height:100%;display:block;aspect-ratio:1.23;border-radius:24px 80px 33px 80px}
.about-art>svg{width:83%;position:relative;filter:drop-shadow(0 12px 18px #5a8a873a)}
@media(max-width:800px){.hero-grid{grid-template-columns:minmax(0,1fr)}.campus-wrap>svg{border-radius:18px 47px 25px 47px}}

/* National Model School (Campus-2) branding */
.brand-words{min-width:0}.brand{min-width:250px}.brand .site-name{max-width:270px;font-size:1.04rem;line-height:1.3;overflow-wrap:anywhere}.brand-icon{flex:none}@media(max-width:1050px){.brand{min-width:215px}.brand .site-name{max-width:225px}}@media(max-width:520px){.brand{min-width:0}.brand .site-name{max-width:245px;font-size:.89rem}.site-tag{font-size:.67rem}}
