/*
Theme Name: PAUD IT Salsabila
Theme URI: https://example.com
Author: Claude
Author URI: https://claude.ai
Description: Theme WordPress ceria dan interaktif untuk PAUD IT Salsabila, terinspirasi gaya childcare modern. Dilengkapi hero split, layanan, jam operasional, galeri kegiatan, testimoni, dan FAQ.
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: paudsalsabila
*/

:root{
  --pink:#F4436C; --navy:#1F2A4D; --mint:#38C9A6; --yellow:#FFC94D; --sky:#4FC3F7;
  --bg:#FFFFFF; --card:#ffffff; --text:#2D2A32; --sub:#7a7684; --soft:#FFF3F6;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Segoe UI','Trebuchet MS',sans-serif; background:var(--bg); color:var(--text); overflow-x:hidden;}
h1,h2,h3{font-family:'Poppins','Segoe UI',sans-serif;}
a{text-decoration:none; color:inherit;}
.wrap{max-width:1150px; margin:0 auto; padding:0 20px;}
button{font-family:inherit;}
.screen-reader-text{position:absolute; left:-9999px;}

/* NAVBAR */
.site-header{position:sticky; top:0; z-index:100; background:var(--card); box-shadow:0 2px 14px rgba(0,0,0,.06);}
.navbar{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; flex-wrap:wrap;}
.logo{font-size:1.15rem; font-weight:800; color:var(--pink); line-height:1.2;}
.logo span{color:var(--text);}
.navlinks{display:flex; gap:28px; list-style:none;}
.navlinks li a{font-weight:600; font-size:.95rem;}
.nav-right{display:flex; align-items:center; gap:14px; font-weight:700; color:var(--pink); font-size:.9rem;}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer;}
.burger span{width:26px; height:3px; background:var(--pink); border-radius:3px;}
@media(max-width:850px){
  .navlinks{position:absolute; top:100%; left:0; right:0; background:var(--card); flex-direction:column; padding:10px 20px; display:none; width:100%;}
  .navlinks.open{display:flex;}
  .navlinks li{padding:10px 0; border-top:1px solid rgba(0,0,0,.06);}
  .burger{display:flex;} .nav-right{display:none;}
}

/* HERO */
.hero{position:relative; padding:70px 20px; overflow:hidden;}
.hero-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; max-width:1150px; margin:0 auto;}
.hero h1{font-size:clamp(2rem,4.5vw,2.8rem); line-height:1.25;}
.hero p{color:var(--sub); margin-top:16px; max-width:420px;}
.cta{display:inline-flex; align-items:center; gap:8px; margin-top:26px; background:var(--pink); color:#fff; padding:14px 28px; border-radius:40px; font-weight:bold; box-shadow:0 8px 20px rgba(244,67,108,.35);}
.hero-photo{position:relative; background:linear-gradient(135deg,var(--sky),var(--mint)); border-radius:30px; aspect-ratio:4/3.2; display:flex; align-items:center; justify-content:center; font-size:5rem;}
.bubble{position:absolute; top:-18px; right:-10px; background:#fff; border-radius:20px; padding:12px 16px; font-size:.85rem; font-weight:700; box-shadow:0 8px 18px rgba(0,0,0,.12); color:var(--text);}
.doodle{position:absolute; font-size:1.6rem; opacity:.7;}
@media(max-width:850px){ .hero-grid{grid-template-columns:1fr;} }

/* SERVICES */
.services{padding:20px 20px 60px;}
.serv-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:26px; max-width:1150px; margin:0 auto;}
.serv-card{display:flex; gap:16px; align-items:flex-start;}
.serv-ic{width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6rem; flex-shrink:0;}
.serv-card h3{font-size:1.05rem; margin-bottom:6px;}
.serv-card p{color:var(--sub); font-size:.9rem;}

/* GROW + HOURS */
.grow{padding:20px 20px 70px;}
.grow-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; max-width:1150px; margin:0 auto; align-items:stretch;}
.grow-photo{border-radius:20px; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; font-size:3.4rem;}
.grow-photo.a{background:linear-gradient(135deg,var(--pink),#ffb3c4);}
.grow-photo.b{background:linear-gradient(135deg,var(--yellow),#ffe29a);}
.hours-card{background:var(--soft); border-radius:20px; padding:26px;}
.hours-card h3{margin-bottom:14px;}
.hours-row{display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(0,0,0,.06); font-size:.9rem;}
.hours-card .cta{width:100%; justify-content:center; margin-top:16px; padding:12px;}
@media(max-width:900px){ .grow-grid{grid-template-columns:1fr;} }

/* BANNER */
.banner{background:var(--navy); color:#fff; padding:60px 20px; position:relative; overflow:hidden;}
.banner-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; max-width:1150px; margin:0 auto;}
.banner-photo{background:linear-gradient(135deg,#334072,#1F2A4D); border-radius:20px; aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; font-size:3.5rem;}
.banner h2{font-size:clamp(1.5rem,3.5vw,2.2rem); margin-bottom:14px;}
.banner p{opacity:.85; max-width:420px;}
.mascot{position:absolute; bottom:-10px; right:20px; font-size:5rem; opacity:.9;}
@media(max-width:850px){ .banner-grid{grid-template-columns:1fr;} .mascot{display:none;} }

/* GENERIC SECTIONS */
section{padding:60px 20px;}
.alt-bg{background:var(--soft);}
.section-title{text-align:center; font-size:2rem; margin-bottom:8px;}
.section-sub{text-align:center; color:var(--sub); margin-bottom:36px;}
.about-grid,.prog-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:22px; max-width:1150px; margin:0 auto;}
.about-card{background:var(--card); border-radius:18px; padding:26px; text-align:center; box-shadow:0 8px 20px rgba(0,0,0,.06);}
.about-card .ic{font-size:2.2rem;}
.prog-card{border-radius:18px; padding:24px; color:#fff;}
.prog-card h3{margin-bottom:8px;}
.p1{background:var(--pink);} .p2{background:var(--sky);} .p3{background:#9B5DE5;} .p4{background:var(--mint);}
.gallery{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; max-width:1150px; margin:0 auto;}
.gal-item{aspect-ratio:1; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:2.4rem; cursor:pointer; border:none; transition:.2s;}
.gal-item:hover{transform:scale(1.05);}
.lightbox{position:fixed; inset:0; background:rgba(0,0,0,.75); display:none; align-items:center; justify-content:center; z-index:200; padding:20px;}
.lightbox.show{display:flex;}
.lightbox-inner{background:var(--card); border-radius:20px; padding:40px; text-align:center; max-width:320px;}
.lightbox-inner .big{font-size:4rem;}
.close-btn{margin-top:16px; background:var(--pink); color:#fff; border:none; padding:10px 22px; border-radius:30px; font-weight:bold; cursor:pointer;}
.testi-box{max-width:600px; margin:0 auto; background:var(--card); border-radius:20px; padding:30px; text-align:center; box-shadow:0 8px 20px rgba(0,0,0,.06);}
.testi-box p{font-style:italic; color:var(--sub); min-height:70px;}
.testi-name{margin-top:12px; font-weight:bold; color:var(--pink);}
.testi-nav{display:flex; justify-content:center; gap:10px; margin-top:16px;}
.dot{width:10px; height:10px; border-radius:50%; background:#ddd; cursor:pointer; border:none;}
.dot.active{background:var(--pink);}
.faq-item{background:var(--card); border-radius:14px; margin-bottom:12px; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,.05); max-width:700px; margin-inline:auto;}
.faq-q{padding:16px 20px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-weight:bold;}
.faq-a{max-height:0; overflow:hidden; padding:0 20px; color:var(--sub); transition:max-height .3s ease, padding .3s;}
.faq-item.open .faq-a{max-height:200px; padding:0 20px 16px;}
.faq-item.open .arrow{transform:rotate(180deg);}
.arrow{transition:.3s;}

/* CONTACT (replaces old registration form) */
.contact-box{max-width:560px; margin:0 auto; background:var(--card); border-radius:20px; padding:34px; box-shadow:0 8px 24px rgba(0,0,0,.08); text-align:center;}
.contact-box .ic{font-size:2rem; margin-bottom:6px;}
.contact-row{display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 0; font-size:1rem; border-bottom:1px solid rgba(0,0,0,.06);}
.contact-row:last-of-type{border-bottom:none;}

/* SIDEBAR / WIDGETS */
.widget{margin-bottom:24px;}
.widget-title{margin-bottom:10px; color:var(--pink);}

/* BLOG / PAGE CONTENT */
#primary{max-width:1150px; margin:0 auto; padding:40px 20px;}
/* Halaman yang dibangun dengan Elementor: biarkan Elementor mengatur lebar & padding sendiri */
.elementor-built-page #primary,
.elementor-built-page #content{max-width:none; margin:0; padding:0;}
.site-main article{background:var(--card); border-radius:16px; padding:24px; margin-bottom:24px; box-shadow:0 6px 16px rgba(0,0,0,.05);}

.site-footer{background:var(--navy); color:#fff; text-align:center; padding:34px 20px;}
.site-footer a{color:var(--yellow);}
.site-footer .copy{margin-top:16px; opacity:.7; font-size:.9rem;}

.reveal{opacity:0; transform:translateY(24px); transition:.6s;}
.reveal.show{opacity:1; transform:translateY(0);}
