/* ===== SHARED CSS FOR ALL PAGES ===== */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:'Poppins',sans-serif;color:#222;background:#fff;overflow-x:hidden;line-height:1.6;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;}
:root{
  --green:#3AE883;--green-dark:#2BC257;--navy:#0D1B3E;
  --bg-mint:#E6F5F0;--text-gray:#555;--blue:#1964FB;--white:#fff;--nav-h:68px;
}
:focus-visible{outline:3px solid var(--green-dark);outline-offset:3px;border-radius:4px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* NAV */
nav.main-nav{position:fixed;top:0;width:100%;z-index:9999;background:#fff;height:var(--nav-h);padding:0 4%;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 15px rgba(0,0,0,0.1);}
.logo-text{font-size:1.5rem;font-weight:800;color:#111;letter-spacing:-0.02em;}
.logo-text span{color:var(--green-dark);}
.nav-links{display:flex;align-items:center;gap:1.5rem;list-style:none;}
.nav-links a{color:#333;font-size:0.87rem;font-weight:500;transition:color 0.3s;padding:0.3rem 0;}
.nav-links a:hover,.nav-links a.active{color:var(--green-dark);}
.nav-links .has-dropdown{position:relative;}
.nav-links .sub-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,0.12);min-width:220px;padding:0.5rem 0;z-index:9999;}
.nav-links .has-dropdown:hover .sub-menu,.nav-links .has-dropdown:focus-within .sub-menu{display:block;}
.nav-links .sub-menu a{display:block;padding:0.6rem 1.2rem;color:#333;font-size:0.84rem;transition:background 0.2s;}
.nav-links .sub-menu a:hover{background:#f0fbf5;color:var(--green-dark);}
.btn-nav-book{background:var(--green);color:#111;padding:0.55rem 1.4rem;border-radius:50px;font-weight:700;font-size:0.87rem;border:none;cursor:pointer;transition:all 0.3s;white-space:nowrap;}
.btn-nav-book:hover{background:var(--navy);color:#fff;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;border-radius:6px;}
.hamburger span{display:block;width:25px;height:3px;background:#333;border-radius:3px;transition:all 0.3s;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,6px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px);}
.mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:#fff;z-index:9998;box-shadow:0 8px 30px rgba(0,0,0,0.15);padding:1rem 0;max-height:calc(100vh - var(--nav-h));overflow-y:auto;}
.mobile-menu.open{display:block;}
.mobile-menu ul{list-style:none;padding:0 1.5rem;}
.mobile-menu ul li{border-bottom:1px solid #f0f0f0;}
.mobile-menu ul li a{display:block;padding:0.85rem 0;color:#333;font-size:0.95rem;font-weight:500;}
.mobile-menu ul li a:hover{color:var(--green-dark);}
.mobile-menu .mob-sub a{font-size:0.88rem;color:#666;padding-left:1rem;}
.mobile-book-btn{margin:1rem 1.5rem 0.5rem;}
.mobile-book-btn button{width:100%;padding:0.85rem;background:var(--green);color:#111;border:none;border-radius:50px;font-size:1rem;font-weight:700;cursor:pointer;}

/* LAYOUT */
.page-top{margin-top:var(--nav-h);}
.section{padding:60px 5%;}
.container{max-width:1200px;margin:0 auto;}
.sec-tag{font-size:0.8rem;font-weight:600;color:var(--green-dark);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.4rem;}
.sec-title{font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:800;color:#111;margin-bottom:0.7rem;line-height:1.2;}
.sec-desc{font-size:0.92rem;color:var(--text-gray);line-height:1.8;max-width:650px;}

/* BUTTONS */
.btn-green{display:inline-block;background:var(--green);color:#111;padding:0.85rem 2.5rem;border-radius:50px;font-weight:700;font-size:1rem;border:none;cursor:pointer;transition:all 0.3s;}
.btn-green:hover{background:var(--navy);color:#fff;transform:translateY(-2px);}
.btn-outline{display:inline-flex;align-items:center;gap:0.5rem;background:var(--green);color:#111;padding:0.75rem 1.8rem;border-radius:50px;font-weight:700;font-size:0.9rem;border:none;cursor:pointer;transition:all 0.3s;}
.btn-outline:hover{background:var(--navy);color:#fff;}

/* CARDS */
.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.07);transition:transform 0.3s,box-shadow 0.3s;}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(0,0,0,0.13);}
.card-img{width:100%;height:210px;object-fit:cover;transition:transform 0.5s;}
.card:hover .card-img{transform:scale(1.05);}
.card-body{padding:1.2rem 1.4rem 1.5rem;}
.card-body h3{font-size:1.05rem;font-weight:700;color:#111;margin-bottom:0.45rem;}
.card-body p{font-size:0.83rem;color:var(--text-gray);line-height:1.65;margin-bottom:0.9rem;}
.book-link{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.84rem;font-weight:700;color:var(--green-dark);background:none;border:none;cursor:pointer;padding:0;transition:color 0.3s;}
.book-link:hover{color:var(--navy);}

/* FORMS */
.fg{margin-bottom:1rem;}
.fg label{display:block;font-size:0.76rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;color:#333;}
.fg input,.fg select,.fg textarea{width:100%;padding:0.72rem 0.9rem;border:1.5px solid #E0E6ED;border-radius:8px;font-family:'Poppins',sans-serif;font-size:0.87rem;color:#333;outline:none;background:#FAFAFA;transition:border-color 0.3s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--green-dark);}
.fg textarea{resize:vertical;min-height:90px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.btn-submit{width:100%;padding:0.9rem;background:var(--green);color:#111;border:none;border-radius:8px;cursor:pointer;font-family:'Poppins',sans-serif;font-size:0.95rem;font-weight:700;transition:all 0.3s;margin-top:0.3rem;}
.btn-submit:hover{background:var(--navy);color:#fff;}

/* FOOTER */
footer{background:var(--navy);color:rgba(255,255,255,0.65);padding:3.5rem 5% 1.8rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;max-width:1200px;margin:0 auto 2.5rem;}
.footer-logo{font-size:1.4rem;font-weight:800;color:#fff;display:block;margin-bottom:0.8rem;}
.footer-logo span{color:var(--green);}
.footer-brand p{font-size:0.83rem;line-height:1.75;max-width:280px;}
.footer-col h4{color:#fff;font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:1.1rem;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:0.55rem;display:flex;align-items:flex-start;gap:0.55rem;}
.footer-col ul li i{color:var(--green);margin-top:3px;font-size:0.8rem;min-width:13px;}
.footer-col ul a{color:rgba(255,255,255,0.6);font-size:0.83rem;transition:color 0.3s;}
.footer-col ul a:hover{color:var(--green);}
.footer-col ul li span{font-size:0.82rem;color:rgba(255,255,255,0.6);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:1.8rem;max-width:1200px;margin:0 auto;text-align:center;font-size:0.78rem;}

/* WHATSAPP */
.wa-btn{position:fixed;bottom:24px;right:24px;z-index:9997;background:#25D366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:0 4px 20px rgba(37,211,102,0.45);transition:transform 0.3s;text-decoration:none;}
.wa-btn:hover{transform:scale(1.12);}
.wa-tooltip{position:absolute;right:68px;background:#333;color:#fff;font-size:0.78rem;font-weight:600;padding:0.4rem 0.8rem;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s;font-family:'Poppins',sans-serif;}
.wa-btn:hover .wa-tooltip{opacity:1;}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:99999;align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;position:relative;}
.modal h2{font-size:1.3rem;font-weight:800;color:#111;margin-bottom:1.2rem;text-align:center;}
.modal-close{position:absolute;top:1rem;right:1.1rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:#666;}
.modal-close:hover{color:#111;}

/* TOAST */
.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:0.9rem 2rem;border-radius:50px;font-size:0.92rem;font-weight:600;z-index:99999;opacity:0;transition:all 0.4s;pointer-events:none;white-space:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.success{background:#2BC257;}
.toast.error{background:#e53e3e;}

/* PAGE HERO */
.page-hero{position:relative;height:380px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;}
.page-hero::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.52);}
.page-hero-inner{position:relative;z-index:2;color:#fff;padding:0 2rem;}
.page-hero-inner h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;margin-bottom:0.5rem;text-shadow:0 4px 20px rgba(0,0,0,0.3);}
.page-hero-inner p{font-size:1rem;opacity:0.9;max-width:600px;margin:0 auto 1.5rem;}
.breadcrumb{font-size:0.82rem;color:rgba(255,255,255,0.7);margin-bottom:0.8rem;}
.breadcrumb a{color:rgba(255,255,255,0.7);transition:color 0.3s;}
.breadcrumb a:hover{color:var(--green);}

/* HIGHLIGHT GRID */
.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.5rem 0 2rem;}
.highlight-card{background:var(--bg-mint);border-radius:12px;padding:1.4rem;text-align:center;}
.highlight-card i{font-size:2rem;color:var(--green-dark);margin-bottom:0.6rem;}
.highlight-card h4{font-size:0.92rem;font-weight:700;color:#111;margin-bottom:0.3rem;}
.highlight-card p{font-size:0.8rem;color:#666;}

/* RESPONSIVE */
@media(max-width:1024px){
  .highlight-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
}
@media(max-width:768px){
  :root{--nav-h:60px;}
  .nav-links,.btn-nav-book{display:none;}
  .hamburger{display:flex;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-brand p{max-width:100%;}
  .section{padding:45px 4%;}
  .page-hero{height:260px;}
  .highlight-grid{grid-template-columns:1fr;}
}
