/*
Theme Name: Divine Will School
Theme URI: https://divinewillps.org
Author: School Website Development Team
Description: Responsive WordPress theme for Divine Will Public School with editable slider, academics, activities, faculty, downloads, transfer certificates and CBSE disclosure.
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: divine-will-school
*/
:root{--ink:#14223b;--green:#0b4d91;--deep:#052f67;--lime:#f3c842;--cream:#eaf6ff;--paper:#ffffff;--line:#cfdeeb;--muted:#586b7d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.utility{background:var(--deep);color:#dbe7df;font-size:12px;padding:10px 0}.utility .wrap,.nav,.footer-grid{display:flex;align-items:center;justify-content:space-between}.nav{min-height:82px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{display:block;width:auto;max-width:72px;height:64px;object-fit:contain}.brand-mark{display:grid;place-items:center;width:48px;height:52px;background:var(--green);color:#fff;border-radius:50% 50% 42% 42%;font-family:Georgia,serif;font-weight:700}.brand strong{display:block;font-family:Georgia,serif;font-size:19px}.brand small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.menu{display:flex;gap:24px;align-items:center;list-style:none;margin:0;padding:0;font-size:13px;font-weight:700}.menu-toggle{display:none}.hero{background:var(--cream);padding:85px 0}.hero-grid,.split,.leadership-grid,.fee-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--green)}h1,h2{font-family:Georgia,serif;font-weight:500;line-height:1.05;margin:0}h1{font-size:clamp(48px,6vw,78px)}h2{font-size:clamp(38px,4.5vw,60px)}em{color:var(--green)}.lead{font-size:18px;line-height:1.75;color:var(--muted)}.button{display:inline-block;background:var(--green);color:#fff;padding:15px 20px;font-size:13px;font-weight:800}.section{padding:95px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head>p{max-width:400px;line-height:1.7;color:var(--muted)}.disclosure-cta,.fee{background:var(--green);color:white;padding:38px 0}.disclosure-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.disclosure-cta h2,.fee h2{font-size:30px}.button-light{background:var(--lime);color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);padding:23px}.card h3{font-family:Georgia,serif;font-size:21px}.card p{color:var(--muted);line-height:1.6;font-size:13px}.leadership{background:#eef2ed}.leadership-grid{align-items:stretch;gap:28px}.leader{display:grid;grid-template-columns:180px 1fr;background:white}.leader-photo{min-height:330px;background:#b9d1c4 center/cover;display:grid;place-items:center}.leader-photo span{width:75px;height:75px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px}.leader-copy{padding:28px}.leader-copy blockquote{font-family:Georgia,serif;line-height:1.65;margin:18px 0}.faculty-table,.disclosure-table{width:100%;border-collapse:collapse;background:white}.faculty-table th,.faculty-table td,.disclosure-table th,.disclosure-table td{padding:13px;border:1px solid #c7cec9;text-align:left}.faculty-table th,.disclosure-table th{background:var(--green);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid img{width:100%;height:250px;object-fit:cover}.download-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.download-item{padding:20px;background:white;border:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.fee-grid{grid-template-columns:1fr auto}.fee small{display:block;color:#b8ccc3;margin-top:8px}.notice{border-bottom:1px solid var(--line);padding:18px 0}.notice time{color:var(--green);font-size:11px;font-weight:800}.notice h3{margin:7px 0;font-family:Georgia,serif}.disclosure-section{margin-bottom:28px}.disclosure-section h3{background:#e5ece7;padding:14px;text-transform:uppercase}.table-scroll{overflow-x:auto}footer{background:var(--deep);color:#fff;padding:30px 0}.empty{padding:28px;border:1px dashed var(--line);color:var(--muted)}
@media(max-width:900px){.menu-toggle{display:block}.menu{display:none}.menu.is-open{display:grid;position:absolute;top:82px;left:20px;right:20px;background:white;padding:20px;box-shadow:0 10px 30px #0002;z-index:10}.hero-grid,.split,.leadership-grid,.fee-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.leader{grid-template-columns:200px 1fr}.section-head{display:block}.fee-grid{gap:25px}}
@media(max-width:600px){.wrap{width:min(100% - 28px,1160px)}.section{padding:65px 0}.utility .email{display:none}.cards,.gallery-grid,.download-list{grid-template-columns:1fr}.leader{grid-template-columns:1fr}.leader-photo{min-height:260px}.disclosure-cta .wrap{align-items:flex-start;flex-direction:column}.footer-grid{align-items:flex-start;flex-direction:column;gap:15px}.faculty-table{min-width:650px}}

.album-card{margin:0;background:var(--cream);border:1px solid var(--line)}.album-cover{height:250px;display:grid;place-items:center;background:#c4d8ce;overflow:hidden;position:relative}.album-cover img{width:100%;height:100%;object-fit:cover}.album-cover>span{font-size:44px;color:var(--green)}.album-cover>small{position:absolute;bottom:25px;text-transform:uppercase;font-size:9px;letter-spacing:.12em;color:var(--green)}.album-caption{background:var(--green);color:white;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px}.album-caption strong{font-family:Georgia,serif}.album-caption a{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--lime);white-space:nowrap}.album-page{padding:80px 0}.album-page .back-link{display:inline-block;margin-bottom:28px;color:var(--green);font-weight:700}.album-page header{margin-bottom:35px}.album-page .entry-content .wp-block-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.album-page .entry-content figure{margin:0}.album-page .entry-content img{width:100%;height:280px;object-fit:cover}
.hero-photo{min-height:430px;background:#b9d1c4 center/cover no-repeat;box-shadow:18px 18px 0 #dce7df}.hero-photo-placeholder{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);text-align:center;gap:8px}.hero-photo-placeholder span{font-size:12px;color:var(--muted)}
.footer-actions{display:flex;align-items:center;gap:12px}.social-link{width:34px;height:34px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;transition:.2s}.social-link:hover{background:var(--lime);color:var(--deep);border-color:var(--lime)}.social-link svg{width:17px;height:17px;fill:currentColor}
.utility{background:var(--deep)}header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 20px #052f6714}.nav{min-height:92px}.brand-mark{background:var(--green);border-radius:50%;width:58px;height:58px}.brand strong{font-size:21px;color:var(--deep)}.brand small{font-size:10px;color:var(--green)}.menu{gap:18px}.menu a{padding:36px 0 32px;border-bottom:3px solid transparent}.menu a:hover{color:var(--green);border-color:var(--lime)}.dw-hero{height:min(650px,70vh);min-height:500px;position:relative;overflow:hidden;background:var(--deep)}.dw-slide{position:absolute;inset:0;opacity:0;visibility:hidden;background:center/cover no-repeat;transition:opacity .8s}.dw-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031c3ddd 0%,#052f6790 47%,#052f6718 100%)}.dw-slide.is-active{opacity:1;visibility:visible}.dw-slide-content{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;z-index:1;color:#fff}.dw-slide-content .eyebrow{color:var(--lime)}.dw-slide-content h1{font-size:clamp(44px,6vw,76px);max-width:850px;text-shadow:0 2px 12px #0007}.dw-slide-content .lead{color:#edf6ff;max-width:650px}.button{background:var(--green);border-radius:4px}.button:hover{background:var(--deep)}.button-light{background:var(--lime)}.dw-quick-section{background:var(--cream)}.dw-activities{background:#fff}.dw-link-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.dw-link-card{background:#fff;border:1px solid var(--line);padding:28px;min-height:185px;display:flex;flex-direction:column;transition:.25s}.dw-activities .dw-link-card{background:var(--cream)}.dw-link-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #052f6718;border-color:var(--green)}.dw-link-card span{font-size:11px;font-weight:800;color:var(--green);letter-spacing:.15em}.dw-link-card strong{font-family:Georgia,serif;font-size:21px;margin:22px 0 10px;color:var(--deep)}.dw-link-card small{color:var(--muted);line-height:1.5}.disclosure-cta{background:var(--deep)}.faculty-table th,.disclosure-table th{background:var(--deep)}
.brand-logo-crop{display:block;flex:0 0 auto;width:72px;height:72px;border-radius:50%;background-repeat:no-repeat;background-position:left center;background-size:auto 72px}.nav{width:min(1240px,calc(100% - 24px));gap:56px}.brand{flex:0 0 auto;margin-right:0}.menu{margin-left:auto;gap:14px;white-space:nowrap}
@media(max-width:1120px){.menu-toggle{display:block}.menu{display:none}.menu.is-open{display:grid;position:absolute;top:92px;left:20px;right:20px;background:white;padding:20px;box-shadow:0 10px 30px #0002;z-index:10}.menu a{padding:8px 0}}
@media(max-width:1100px){.menu{gap:12px;font-size:11px}.dw-link-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){header{position:relative}.nav{position:relative}.menu a{padding:8px 0}.dw-hero{height:560px}.dw-slide:after{background:#031c3db5}}@media(max-width:600px){.brand strong{font-size:15px}.brand small{font-size:8px}.brand-logo,.brand-mark{width:48px;height:48px}.dw-hero{min-height:520px;height:70vh}.dw-slide-content h1{font-size:42px}.dw-link-grid{grid-template-columns:1fr}.dw-link-card{min-height:auto}.section{padding:62px 0}}

/* Single-button navigation drawer */
.nav{justify-content:space-between}
.menu-toggle{display:flex;align-items:center;gap:10px;margin-left:auto;padding:12px 16px;border:1px solid #d8e0e8;border-radius:5px;background:#fff;color:var(--deep);font:700 13px Arial,sans-serif;cursor:pointer}
.menu-toggle:hover,.menu-toggle:focus-visible{background:var(--deep);color:#fff}
.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:20px;height:2px;background:currentColor;content:"";transition:.25s}
.menu-icon{position:relative}.menu-icon:before{position:absolute;top:-6px}.menu-icon:after{position:absolute;top:6px}
.menu-overlay{position:fixed;inset:0;background:#031c3d99;opacity:0;visibility:hidden;transition:.3s;z-index:90}
.menu-drawer{position:fixed;top:0;right:0;width:min(390px,88vw);height:100vh;background:#f7f3e8;color:#052f67;transform:translateX(100%);transition:transform .3s ease;z-index:100;padding:28px;overflow-y:auto;box-shadow:-15px 0 45px #031c3d33}
.menu-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #d9c58a;color:#052f67;font-family:Georgia,serif;font-size:24px}
.menu-close{width:42px;height:42px;border:2px solid #d9a719;border-radius:50%;background:transparent;color:#052f67;font-size:30px;line-height:1;cursor:pointer}
.menu-drawer .menu{display:grid;margin:14px 0 0;padding:0;gap:0;white-space:normal;font-size:15px}
.menu-drawer .menu li{border-bottom:1px solid #d9c58a}
.menu-drawer .menu a{display:block;padding:16px 10px;border:0;color:#052f67;transition:.2s}
.menu-drawer .menu a:hover,.menu-drawer .menu a:focus-visible{padding-left:16px;background:#052f67;color:#fff}
.menu-open{overflow:hidden}.menu-open .menu-overlay{opacity:1;visibility:visible}.menu-open .menu-drawer{transform:translateX(0)}
@media(max-width:600px){.nav{gap:14px}.menu-toggle{padding:11px}.menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.menu-drawer{padding:22px}}
.dw-infrastructure{background:var(--cream)}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.facility-card{background:#fff;border:1px solid var(--line);overflow:hidden}.facility-card img{width:100%;height:230px;object-fit:cover;display:block}.facility-card>div{padding:20px}.facility-card h3{font-family:Georgia,serif;color:var(--deep);font-size:21px;margin:0 0 8px}.facility-card p{color:var(--muted);font-size:13px;line-height:1.55}.page-hero{padding:82px 0;background:linear-gradient(135deg,var(--deep),var(--green));color:#fff}.page-hero .eyebrow{color:var(--lime)}.page-hero h1{font-size:clamp(44px,6vw,72px)}.page-content{padding:70px 0}.entry-content{max-width:900px;font-size:17px;line-height:1.75}.entry-content h2,.entry-content h3{color:var(--deep);margin-top:38px}.entry-content h2{font-size:34px}.entry-content h3{font-size:24px}.entry-content ul,.entry-content ol{padding-left:24px}.entry-content li{margin-bottom:8px}.entry-content table{width:100%;border-collapse:collapse;margin:25px 0}.entry-content th,.entry-content td{border:1px solid var(--line);padding:12px;text-align:left}.entry-content th{background:var(--deep);color:#fff}.wp-block-buttons{margin:25px 0}.wp-block-button__link{background:var(--green);border-radius:4px}
@media(max-width:900px){.facility-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.facility-grid{grid-template-columns:1fr}.facility-card img{height:220px}.page-hero{padding:58px 0}.page-content{padding:48px 0}.entry-content{font-size:16px}}
@media(max-width:800px){.album-page .entry-content .wp-block-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.album-page .entry-content .wp-block-gallery{grid-template-columns:1fr}}
