/* ======================================
LAYOUT.CSS
Structural Layout
====================================== */

.container{
width:92%;
max-width:1200px;
margin:auto;
}

/* ======================================
HEADER / NAVBAR
====================================== */

.header{
background:var(--color-primary);
color:white;
position:sticky;
top:0;
z-index:100;
transition:background var(--transition-base), box-shadow var(--transition-base);
}

.header.scrolled{
background:rgba(11,30,60,.96);
backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);
box-shadow:0 4px 24px rgba(0,0,0,.25);
}

/* NAV CONTAINER */

.nav-container{
display:flex;
align-items:center;
justify-content:space-between;
padding:18px 0;
transition:padding var(--transition-base);
}

.header.scrolled .nav-container{
padding:13px 0;
}

/* LOGO */

.logo-wrapper{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
}

.logo-img{
height:56px;
width:auto;
border-radius:var(--radius-sm);
transition:transform var(--transition-base);
}

.logo-wrapper:hover .logo-img{
transform:scale(1.04);
}

.logo-text{
font-size:1.48rem;
font-weight:700;
color:white;
letter-spacing:-0.02em;
line-height:1.2;
}

/* NAVIGATION */

.nav ul{
display:flex;
align-items:center;
gap:6px;
}

.nav a{
color:rgba(255,255,255,.85);
font-weight:500;
font-size:var(--text-sm);
letter-spacing:0.01em;
padding:8px 14px;
border-radius:var(--radius-md);
transition:color var(--transition-fast), background var(--transition-fast);
}

.nav a:hover{
color:white;
background:rgba(255,255,255,.1);
opacity:1;
}

.nav a.active{
color:var(--color-accent);
}

/* HAMBURGER */

.menu-toggle{
display:none;
font-size:26px;
cursor:pointer;
color:white;
padding:6px;
border-radius:var(--radius-md);
transition:background var(--transition-fast);
line-height:1;
}

.menu-toggle:hover{
background:rgba(255,255,255,.12);
}

/* ======================================
HERO STRIP
====================================== */

.hero-strip{
background:var(--gradient-hero);
color:white;
text-align:center;
padding:52px 20px 48px;
position:relative;
overflow:hidden;
}

/* Decorative background pattern */
.hero-strip::before{
content:'';
position:absolute;
inset:0;
background:
  radial-gradient(ellipse 60% 80% at 20% 50%, rgba(201,162,39,.07) 0%, transparent 60%),
  radial-gradient(ellipse 50% 60% at 80% 30%, rgba(255,255,255,.04) 0%, transparent 50%);
pointer-events:none;
}

/* Gold accent bottom border */
.hero-strip::after{
content:'';
position:absolute;
bottom:0;
left:0;
right:0;
height:3px;
background:var(--gradient-accent);
}

.hero-strip h1{
color:white;
font-size:clamp(1.75rem, 4vw, 2.6rem);
margin-bottom:10px;
font-weight:800;
letter-spacing:-0.03em;
position:relative;
}

.hero-strip h2{
color:rgba(255,255,255,.88);
font-size:clamp(1.1rem, 2.5vw, 1.45rem);
margin-bottom:8px;
font-weight:500;
letter-spacing:-0.01em;
position:relative;
}

.hero-strip p{
color:rgba(255,255,255,.72);
font-size:var(--text-base);
max-width:650px;
margin:0 auto 8px;
position:relative;
}

/* ======================================
FEATURE BADGES (within hero region)
====================================== */

.feature-badges{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:10px;
margin-top:24px;
position:relative;
}

.badge{
display:inline-flex;
align-items:center;
gap:7px;
background:rgba(255,255,255,.1);
border:1px solid rgba(255,255,255,.18);
color:rgba(255,255,255,.9);
font-size:var(--text-sm);
font-weight:500;
padding:7px 16px;
border-radius:100px;
backdrop-filter:blur(8px);
letter-spacing:0.01em;
transition:background var(--transition-fast), transform var(--transition-fast);
}

.badge:hover{
background:rgba(255,255,255,.16);
transform:translateY(-1px);
}

.badge-dot{
width:7px;
height:7px;
border-radius:50%;
background:var(--color-accent-light);
flex-shrink:0;
}

/* ======================================
MAIN CONTENT SECTION
====================================== */

.main-section{
background:var(--color-light);
padding:72px 0 64px;
}

/* Content card wrapper */
.main-grid-card{
background:var(--gradient-card);
border-radius:var(--radius-xl);
box-shadow:var(--shadow-lg);
border:1px solid var(--color-border);
padding:52px 48px;
margin-bottom:48px;
}

.main-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:56px;
align-items:start;
}

.left-content{
flex:1;
}

.right-content{
flex:1;
align-items:center;
justify-content:flex-start;
}

/* AUTHORITY TEXT */

.authority-text{
background:white;
border-radius:var(--radius-lg);
box-shadow:var(--shadow-sm);
border:1px solid var(--color-border);
padding:40px 48px;
max-width:100%;
margin:0 auto;
line-height:1.8;
font-size:var(--text-base);
}

.authority-text h2{
font-size:var(--text-2xl);
margin-bottom:20px;
}

.authority-text p{
margin-bottom:18px;
}

.authority-text a{
color:var(--color-accent);
font-weight:600;
}

.authority-text a:hover{
opacity:.8;
}

/* ======================================
FOOTER
====================================== */

.footer{
background:var(--color-primary-deep);
color:white;
padding:64px 0 44px;
border-top:3px solid var(--color-accent);
content-visibility:auto;
contain-intrinsic-size:1px 420px;
}

.footer-grid{
display:grid;
grid-template-columns:1fr 2fr 1fr;
gap:40px;
align-items:start;
}

.footer h4{
color:white;
margin-bottom:14px;
font-size:var(--text-base);
font-weight:600;
letter-spacing:0.01em;
}

.footer-link-label{
display:inline-block;
margin:14px 0 0;
color:white;
font-size:var(--text-base);
font-weight:600;
letter-spacing:0.01em;
line-height:1.4;
}

.footer-section-title{
display:block;
margin:0 0 14px;
color:white;
font-size:var(--text-base);
font-weight:600;
letter-spacing:0.01em;
line-height:1.4;
}

.footer p,
.footer-address,
.footer-contact,
.footer-copy{
color:rgba(255,255,255,.75);
font-size:var(--text-sm);
}

.footer a{
color:var(--color-accent);
font-weight:500;
transition:opacity var(--transition-fast);
}

.footer a:hover{
opacity:.8;
}

.footer-copy{
font-size:var(--text-sm);
margin-bottom:10px;
}

.footer-address{
font-size:var(--text-sm);
line-height:1.6;
margin:12px 0;
color:rgba(255,255,255,.65);
}

.footer-contact{
font-size:var(--text-sm);
color:rgba(255,255,255,.65);
}

/* FOOTER MEDIA */

.footer-media{
background:white;
width:100%;
max-width:100%;
border-radius:var(--radius-md);
overflow:hidden;
margin:auto;
box-shadow:var(--shadow-md);
}

.footer-media iframe{
width:100%;
height:100%;
border:0;
display:block;
}

.deferred-embed{
position:relative;
display:flex;
align-items:flex-end;
justify-content:flex-start;
width:100%;
height:100%;
padding:20px;
border:0;
background-color:#10274a;
background-position:center;
background-repeat:no-repeat;
background-size:cover;
color:var(--color-white);
text-align:left;
cursor:pointer;
}

.deferred-embed::before{
content:'';
position:absolute;
inset:0;
background:
radial-gradient(circle at top left, rgba(201,162,39,.22), transparent 42%),
linear-gradient(180deg, rgba(7,21,43,.08) 0%, rgba(7,21,43,.6) 100%);
pointer-events:none;
}

.deferred-embed > *{
position:relative;
z-index:1;
}

.deferred-embed:hover{
opacity:1;
}

.deferred-embed-copy{
max-width:260px;
}

.deferred-embed-label{
display:inline-flex;
align-items:center;
gap:8px;
padding:6px 12px;
margin-bottom:12px;
border-radius:999px;
background:rgba(255,255,255,.12);
font-size:var(--text-xs);
font-weight:700;
letter-spacing:.06em;
text-transform:uppercase;
}

.deferred-embed-play{
position:absolute;
right:20px;
bottom:20px;
display:inline-flex;
align-items:center;
justify-content:center;
width:58px;
height:58px;
border-radius:50%;
background:var(--gradient-accent);
box-shadow:var(--shadow-accent);
color:var(--color-primary);
font-size:1.3rem;
font-weight:700;
}

.deferred-embed-map{
background-image:
linear-gradient(180deg, rgba(7,21,43,.06) 0%, rgba(7,21,43,.32) 100%),
linear-gradient(90deg, rgba(255,255,255,.18) 0 3%, transparent 3% 24%, rgba(255,255,255,.16) 24% 27%, transparent 27% 100%),
linear-gradient(0deg, rgba(255,255,255,.14) 0 4%, transparent 4% 34%, rgba(255,255,255,.12) 34% 37%, transparent 37% 100%),
radial-gradient(circle at 72% 42%, rgba(201,162,39,.95) 0 7%, rgba(11,30,60,.92) 8% 13%, transparent 14%),
radial-gradient(circle at 68% 46%, rgba(255,255,255,.16) 0 20%, transparent 21%),
linear-gradient(135deg, #eef3e4 0%, #d9e6d2 48%, #c5d8bf 100%);
overflow:hidden;
}

.deferred-embed-map .deferred-embed-copy{
max-width:220px;
align-self:flex-start;
}

.deferred-embed-map .deferred-embed-play{
width:62px;
height:44px;
border-radius:999px;
font-size:var(--text-xs);
letter-spacing:.08em;
}

.deferred-embed-map::after{
content:'Radha Study Halls\A ECIL, Hyderabad';
position:absolute;
left:18px;
bottom:18px;
white-space:pre-line;
padding:10px 12px;
border-radius:12px;
background:rgba(11,30,60,.82);
box-shadow:0 8px 20px rgba(0,0,0,.16);
color:var(--color-white);
font-size:12px;
font-weight:600;
line-height:1.45;
pointer-events:none;
z-index:1;
}

.deferred-embed-map .deferred-embed-label{
background:rgba(11,30,60,.78);
color:rgba(255,255,255,.96);
backdrop-filter:blur(8px);
}

.deferred-embed.is-loading{
cursor:progress;
}

.content-visibility-auto{
content-visibility:auto;
contain-intrinsic-size:1px 600px;
}

/* QR */

#qrContainer{
height:190px;
width:190px;
display:flex;
align-items:center;
justify-content:center;
background:white;
border-radius:var(--radius-md);
overflow:hidden;
margin:auto;
box-shadow:var(--shadow-md);
}

#qrContainer img{
width:100%;
height:100%;
object-fit:contain;
}

/* MAP */

#mapContainer{
height:190px;
width:255px;
margin:0 auto;
}

#mapContainer iframe{
width:100%;
height:100%;
border:0;
display:block;
}

/* SITE FOOTER */

.site-footer{
background:var(--color-primary-deep);
border-top:1px solid rgba(255,255,255,.08);
padding-bottom:20px;
}

/* ======================================
RESPONSIVE
====================================== */

@media (max-width:1024px){

.main-grid-card{
padding:40px 32px;
}

.authority-text{
padding:32px 36px;
}

}

@media (max-width:900px){

.main-grid{
flex-direction:column;
text-align:center;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

#qrContainer{
margin:0 auto;
}

}

@media (max-width:768px){

.main-section{
padding:48px 0 40px;
}

.main-grid{
grid-template-columns:1fr;
}

.right-content{
order:-1;
}

.main-grid-card{
padding:28px 20px;
border-radius:var(--radius-lg);
}

.authority-text{
padding:24px 20px;
border-radius:var(--radius-lg);
}

.footer{
padding:48px 0 36px;
}

.footer-grid{
grid-template-columns:1fr;
gap:28px;
}

.footer-media iframe{
height:100%;
}

.deferred-embed{
min-height:200px;
padding:18px;
}

.deferred-embed-map::after{
left:14px;
bottom:14px;
font-size:11px;
padding:8px 10px;
}

.deferred-embed-play{
right:18px;
bottom:18px;
width:52px;
height:52px;
}

}

/* ======================================
MOBILE NAV
====================================== */

@media (max-width:900px){

.menu-toggle{
display:block;
}

.nav ul{
position:absolute;
top:80px;
right:4%;
background:rgba(7,21,43,.97);
backdrop-filter:blur(20px);
flex-direction:column;
gap:4px;
padding:12px;
display:none;
border-radius:var(--radius-lg);
border:1px solid rgba(255,255,255,.1);
box-shadow:var(--shadow-xl);
min-width:200px;
}

.nav ul.active{
display:flex;
}

.nav ul li a{
display:block;
padding:10px 18px;
border-radius:var(--radius-md);
}

}
