/*
Theme Name: EuroKids Veera Desai
Theme URI: https://example.com
Author: Your School
Author URI: https://example.com
Description: A custom one-page landing theme for the EuroKids preschool, Veera Desai Road (Andheri West, Mumbai). Banner enquiry form, blue theme, amenities, programs, daily schedule, FAQs and a visit/enquiry section.
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eurokids-veera-desai
*/

:root{
  --navy:#0B1F3A;
  --blue:#1E5FCC;
  --blue-dark:#12439B;
  --blue-light:#4C8DFF;
  --sky:#EEF4FF;
  --line:#DCE8FB;
  --sun:#FFC93C;
  --brand-red:#E8412C;
  --bg:#FFFFFF;
  --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Nunito Sans',sans-serif;
  color:var(--navy);
  background:var(--bg);
  line-height:1.55;
  overflow-x:hidden;
}
h1,h2,h3,.display{font-family:'Fredoka',sans-serif;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
ul{list-style:none;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* NAV */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1180px;margin:0 auto;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Baloo 2';font-weight:800;font-size:1.25rem;color:var(--navy);}
.logo-mark{width:36px;height:36px;border-radius:50%;background:conic-gradient(var(--blue),var(--blue-light),var(--sun),var(--blue));flex-shrink:0;}
.nav-links{display:flex;gap:26px;font-weight:600;font-size:0.92rem;list-style:none;}
.nav-links a{opacity:0.75;transition:opacity .2s;}
.nav-links a:hover{opacity:1;color:var(--blue);}
.nav-cta{background:var(--brand-red);color:#fff;padding:10px 20px;border-radius:999px;font-weight:700;font-size:0.88rem;white-space:nowrap;}
.nav-cta:hover{background:#c8331f;}
@media (max-width:900px){.nav-links{display:none;}}

/* BANNER / HERO with form */
.hero{position:relative;padding:52px 24px 0;background:linear-gradient(180deg,var(--sky) 0%,#fff 100%);overflow:hidden;}
.hero-topline{max-width:1180px;margin:0 auto 28px;text-align:center;}
.badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-weight:600;font-size:0.85rem;margin-bottom:16px;}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--sun);}
.hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.12;letter-spacing:-0.01em;max-width:780px;margin:0 auto 14px;}
.hero h1 .hl{color:var(--blue);}
.hero p.lead{font-size:1.05rem;max-width:560px;margin:0 auto;opacity:0.75;}

.hero-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:start;padding-bottom:0;}
.hero-stats-row{display:flex;gap:28px;flex-wrap:wrap;margin:30px 0 34px;}
.stat{display:flex;align-items:center;gap:10px;}
.stat-ico{width:42px;height:42px;border-radius:12px;background:var(--sky);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.stat b{font-family:'Baloo 2';font-size:1.15rem;display:block;color:var(--navy);}
.stat span{font-size:0.78rem;opacity:0.65;font-weight:600;}

.hero-visual-img{position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--blue),var(--blue-light));aspect-ratio:16/11;display:flex;align-items:center;justify-content:center;margin-bottom:24px;}
.hero-visual-img span{font-size:4rem;}
.float-chip{position:absolute;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 16px 32px -16px rgba(11,31,58,0.35);font-weight:700;font-size:0.8rem;display:flex;align-items:center;gap:8px;border:1px solid var(--line);}
.float-chip.c1{top:14px;left:14px;}
.float-chip.c2{bottom:14px;right:14px;}
.chip-dot{width:9px;height:9px;border-radius:50%;}

/* Banner enquiry form */
.hero-form{
  background:#fff;border-radius:var(--radius);
  padding:28px;box-shadow:0 30px 60px -30px rgba(11,31,58,0.35);
  border:1px solid var(--line);
  position:sticky;top:100px;
}
.hero-form .form-eyebrow{display:block;font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;}
.hero-form h3{font-size:1.4rem;margin-bottom:6px;}
.hero-form .sub{font-size:0.88rem;opacity:0.65;margin-bottom:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
label{font-size:0.78rem;font-weight:700;opacity:0.7;}
input,select,textarea{padding:12px 14px;border-radius:10px;border:1px solid var(--line);font-family:'Inter';font-size:0.9rem;background:var(--sky);width:100%;}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(30,95,204,0.25);border-color:var(--blue);background:#fff;}
.consent{display:flex;align-items:flex-start;gap:8px;font-size:0.78rem;opacity:0.7;margin:6px 0 16px;}
.consent input{width:auto;margin-top:3px;}
.form-submit{width:100%;padding:15px;border-radius:12px;border:none;background:var(--brand-red);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .18s ease, background .18s ease;}
.form-submit:hover{transform:translateY(-2px);background:#c8331f;}
.form-note{font-size:0.76rem;opacity:0.55;margin-top:12px;text-align:center;}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;}.hero-form{position:static;}}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}

/* AMENITIES STRIP */
.amenities{background:var(--navy);padding:34px 24px;}
.amen-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.amen-item{text-align:center;color:#fff;}
.amen-ico{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 10px;}
.amen-item span{font-size:0.78rem;font-weight:600;opacity:0.85;display:block;}
@media (max-width:900px){.amen-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.amen-grid{grid-template-columns:repeat(2,1fr);}}

/* SECTION HEADERS */
.eyebrow{font-weight:700;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;display:block;}
.section{padding:80px 24px;}
.section h2{font-size:clamp(1.8rem,3vw,2.3rem);font-weight:800;max-width:640px;margin-bottom:16px;}
.section .sub{max-width:560px;opacity:0.72;font-size:1.02rem;margin-bottom:44px;}

/* WHY US */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.why-card{background:var(--sky);border-radius:var(--radius);padding:30px 26px;border:1px solid var(--line);transition:transform .2s ease;}
.why-card:hover{transform:translateY(-4px);}
.why-ico{width:46px;height:46px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:16px;border:1px solid var(--line);}
.why-card h3{font-size:1.1rem;margin-bottom:10px;}
.why-card p{font-size:0.92rem;opacity:0.75;}
@media (max-width:900px){.why-grid{grid-template-columns:1fr;}}

/* PROGRAMS */
.programs{background:var(--navy);color:#fff;}
.programs .eyebrow{color:var(--sun);}
.programs h2{color:#fff;}
.programs .sub{color:rgba(255,255,255,0.7);}
.prog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.prog-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius);padding:26px 22px;}
.prog-age{font-family:'Baloo 2';font-weight:700;font-size:0.92rem;color:var(--sun);margin-bottom:6px;}
.prog-card h3{font-size:1.15rem;margin-bottom:10px;}
.prog-card ul{font-size:0.85rem;opacity:0.8;}
.prog-card li{margin-bottom:6px;padding-left:14px;position:relative;}
.prog-card li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--blue-light);}
@media (max-width:900px){.prog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.prog-grid{grid-template-columns:1fr;}}

/* DAILY RHYTHM */
.rhythm{background:var(--bg);}
.rhythm-path{position:relative;max-width:960px;margin:0 auto;padding:20px 0 0;}
.rhythm-svg{width:100%;height:auto;display:block;}
.rhythm-stops{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:-30px;}
.stop{text-align:center;padding:0 6px;}
.stop-dot{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Baloo 2';font-weight:700;color:#fff;margin:0 auto 14px;font-size:0.95rem;box-shadow:0 10px 20px -8px rgba(11,31,58,0.4);}
.stop-time{font-weight:700;font-size:0.8rem;opacity:0.5;margin-bottom:4px;}
.stop h4{font-size:0.96rem;margin-bottom:6px;}
.stop p{font-size:0.82rem;opacity:0.68;}
@media (max-width:820px){.rhythm-stops{grid-template-columns:repeat(2,1fr);gap:28px 16px;}.rhythm-svg{display:none;}}

/* TESTIMONIALS */
.testi{background:var(--sky);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.stars{color:var(--sun);font-size:0.95rem;margin-bottom:12px;letter-spacing:2px;}
.testi-card p{font-size:0.92rem;opacity:0.82;margin-bottom:18px;}
.testi-who{display:flex;align-items:center;gap:12px;}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--blue-light);flex-shrink:0;}
.testi-who b{font-size:0.88rem;display:block;}
.testi-who span{font-size:0.78rem;opacity:0.6;}
@media (max-width:820px){.testi-grid{grid-template-columns:1fr;}}

/* FAQ */
.faq-list{max-width:820px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{padding:20px 4px;font-weight:700;font-size:1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:1.4rem;color:var(--blue);flex-shrink:0;transition:transform .2s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 4px 20px;font-size:0.92rem;opacity:0.75;max-width:720px;}

/* LOCATION / VISIT */
.visit{padding:80px 24px;background:var(--sky);}
.visit-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:24px;}
.visit-info{background:var(--navy);color:#fff;border-radius:var(--radius);padding:34px;}
.visit-info h3{font-size:1.3rem;margin-bottom:18px;}
.info-line{display:flex;gap:12px;margin-bottom:16px;font-size:0.9rem;align-items:flex-start;}
.info-line .ico{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.map-frame{border-radius:16px;overflow:hidden;border:1px solid var(--line);}
.map-frame iframe{width:100%;height:100%;min-height:340px;border:0;}
@media (max-width:900px){.visit-grid{grid-template-columns:1fr;}}

/* FOOTER */
footer.site-footer{background:var(--navy);color:rgba(255,255,255,0.72);padding:50px 24px 26px;}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-bottom:34px;}
.foot-logo{display:flex;align-items:center;gap:10px;font-family:'Baloo 2';font-weight:800;color:#fff;font-size:1.15rem;margin-bottom:10px;}
footer p{font-size:0.85rem;max-width:280px;}
.foot-links{display:flex;gap:44px;flex-wrap:wrap;}
.foot-col h4{color:#fff;font-size:0.82rem;margin-bottom:14px;}
.foot-col a{display:block;font-size:0.83rem;margin-bottom:9px;opacity:0.75;}
.foot-col a:hover{opacity:1;}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:22px;font-size:0.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;opacity:0.6;}

/* generic page content */
.content-page{padding:80px 24px;max-width:760px;margin:0 auto;}
.content-page h1{font-size:2.2rem;margin-bottom:24px;}
.content-page p{margin-bottom:16px;}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
