/* ==========================================================================
   Root Overseas — Nepal Group Tour — Website Design System
   Brand colors ported from the PDF itinerary for visual consistency.
   ========================================================================== */

:root{
  --blue:#0B4DA0;      --blue-soft:#EAF1FB;  --blue-dark:#0A2A4D;
  --teal:#0E8074;      --teal-soft:#E7F5F2;
  --amber:#C9782E;     --amber-soft:#FBF0E4; --amber2:#E79239;
  --ink:#0A2A4D;        --body:#3B4B5B;        --muted:#5A6B7B;
  --line:#E4E9EF;       --bg:#FFFFFF;          --bg-alt:#F6F9FC;
  --whatsapp:#25D366;
  --radius-sm:10px; --radius-md:16px; --radius-lg:24px;
  --shadow-sm:0 2px 10px rgba(10,42,77,.06);
  --shadow-md:0 10px 30px rgba(10,42,77,.10);
  --shadow-lg:0 20px 50px rgba(10,42,77,.16);
  --maxw:1180px;
  --nav-h:68px;
  font-size:16px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 14px);}
body{
  margin:0; background:var(--bg); color:var(--body);
  font-family:'Hind Siliguri','Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  line-height:1.65; -webkit-font-smoothing:antialiased;
}
body[data-lang="bn"]{ font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif; }
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
button{font:inherit; cursor:pointer; background:none; border:none; color:inherit;}
h1,h2,h3,h4,p{margin:0;}
.ico{flex:none; display:inline-block; vertical-align:middle;}

.head-font{ font-family:'Baloo Da 2','Poppins','Hind Siliguri',sans-serif; }
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px;}
@media(min-width:768px){ .wrap{padding:0 32px;} }

.section{padding:64px 0;}
@media(min-width:768px){ .section{padding:96px 0;} }
.section-head{max-width:680px; margin:0 0 40px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.eyebrow-tag{
  display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.78rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--blue); background:var(--blue-soft);
  padding:6px 14px; border-radius:99px; margin-bottom:14px;
}
.section-title{font-family:'Baloo Da 2','Poppins',sans-serif; font-weight:700; font-size:1.9rem; color:var(--ink); line-height:1.25;}
@media(min-width:768px){ .section-title{font-size:2.4rem;} }
.section-sub{margin-top:10px; font-size:1.05rem; color:var(--muted);}
.bg-alt{background:var(--bg-alt);}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 24px; border-radius:99px; font-weight:700; font-size:.98rem;
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease; white-space:nowrap;
}
.btn:active{transform:scale(.97);}
.btn-primary{background:#fff; color:var(--blue); box-shadow:var(--shadow-md);}
.btn-primary:hover{box-shadow:var(--shadow-lg); transform:translateY(-2px);}
.btn-whatsapp{background:var(--whatsapp); color:#fff; box-shadow:0 8px 22px rgba(37,211,102,.35);}
.btn-whatsapp:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(37,211,102,.45);}
.btn-outline{border:1.5px solid rgba(255,255,255,.55); color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-ghost{border:1.5px solid var(--line); color:var(--ink);}
.btn-ghost:hover{border-color:var(--blue); color:var(--blue);}
.btn-block{width:100%;}
.btn-sm{padding:9px 16px; font-size:.86rem;}

/* ---------------- Nav ---------------- */
#nav{
  position:fixed; top:0; left:0; right:0; z-index:200; height:var(--nav-h);
  display:flex; align-items:center; background:rgba(255,255,255,0); transition:background .25s ease, box-shadow .25s ease;
}
#nav.solid{background:rgba(255,255,255,.96); backdrop-filter:blur(8px); box-shadow:0 1px 0 var(--line), var(--shadow-sm);}
#nav .wrap{display:flex; align-items:center; justify-content:space-between; width:100%;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Baloo Da 2',sans-serif; font-weight:700; font-size:1.15rem;}
.brand .mark{height:40px; padding:6px 10px; border-radius:9px; background:#fff; box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:center;}
.brand .mark img{height:100%; width:auto; display:block;}
.brand .name{display:none;}
#nav.solid .brand .name{color:var(--ink);}
.brand .sub{display:block; font-size:.62rem; font-weight:600; letter-spacing:.04em; color:rgba(255,255,255,.8); font-family:'Hind Siliguri',sans-serif;}
#nav.solid .brand .sub{color:var(--muted);}

.nav-links{display:none; align-items:center; gap:28px;}
@media(min-width:1000px){ .nav-links{display:flex;} }
.nav-links a{font-weight:600; font-size:.94rem; color:rgba(255,255,255,.92); position:relative; padding:6px 0; transition:color .25s ease;}
#nav.solid .nav-links a{color:var(--body);}
.nav-links a.active, .nav-links a:hover{color:#fff;}
#nav.solid .nav-links a.active, #nav.solid .nav-links a:hover{color:var(--blue);}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2.5px;border-radius:2px;background:currentColor;}

.nav-actions{display:flex; align-items:center; gap:10px;}
.lang-btn{
  display:flex; align-items:center; gap:6px; font-weight:700; font-size:.86rem; color:#fff;
  border:1.5px solid rgba(255,255,255,.55); padding:8px 14px; border-radius:99px; transition:all .25s ease;
}
#nav.solid .lang-btn{color:var(--ink); border-color:var(--line);}
.lang-btn:hover{background:rgba(255,255,255,.15);}
#nav.solid .lang-btn:hover{background:var(--bg-alt);}
.nav-cta{display:none;}
@media(min-width:1000px){ .nav-cta{display:inline-flex;} }
.hamburger{display:flex; width:40px; height:40px; align-items:center; justify-content:center; color:#fff; border-radius:9px;}
#nav.solid .hamburger{color:var(--ink);}
@media(min-width:1000px){ .hamburger{display:none;} }

#mobile-menu{
  position:fixed; inset:0; z-index:199; background:#fff; padding:calc(var(--nav-h) + 20px) 24px 40px;
  transform:translateX(100%); transition:transform .3s ease; overflow-y:auto;
}
#mobile-menu.open{transform:translateX(0);}
#mobile-menu > a{display:block; font-size:1.2rem; font-weight:700; color:var(--ink); padding:14px 0; border-bottom:1px solid var(--line);}
#mobile-menu .mm-actions{margin-top:24px; display:flex; flex-direction:column; gap:12px;}
#mobile-menu .mm-actions .btn{gap:9px;}

/* ---------------- Hero ---------------- */
.hero{
  position:relative; overflow:hidden; color:#fff; padding-top:calc(var(--nav-h) + 48px); padding-bottom:64px;
  background:linear-gradient(135deg,#0B4DA0 0%,#0E6C8C 55%,#0E8074 100%);
}
.hero::before{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background:radial-gradient(circle at 15% 15%, rgba(255,255,255,.14), transparent 45%),
             radial-gradient(circle at 85% 85%, rgba(255,255,255,.10), transparent 40%);
}
.hero-peaks{position:absolute; left:0; right:0; bottom:-2px; width:100%; opacity:.9;}
.hero .inner{position:relative; z-index:2;}
.hero-eyebrow{font-weight:700; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:#EAF3FF; opacity:.92; margin-bottom:16px;}
.hero h1{font-family:'Baloo Da 2',sans-serif; font-weight:700; line-height:1.02; margin:0 0 6px;}
.hero h1 .pre{display:block; font-size:1.3rem; font-weight:600; opacity:.85; margin-bottom:2px;}
.hero h1 .main{display:block; font-size:3.4rem;}
@media(min-width:640px){ .hero h1 .main{font-size:4.6rem;} }
.hero .subtitle{font-size:1.15rem; font-weight:500; color:#EAF3FF; margin:14px 0 26px; max-width:560px;}

.route-row{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:30px;}
.rchip{background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.38); border-radius:99px; padding:7px 14px; font-size:.86rem; font-weight:600;}
.rarrow{opacity:.75; display:inline-flex;}
.rarrow .rot-l{transform:rotate(-90deg);}

.badge-row{display:grid; grid-template-columns:1fr; gap:12px; margin-bottom:28px;}
@media(min-width:640px){ .badge-row{grid-template-columns:repeat(3,1fr);} }
.badge{background:rgba(255,255,255,.97); border-radius:14px; padding:14px 18px; color:var(--ink);}
.badge .label{font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); display:flex; align-items:center; gap:6px;}
.badge .value{font-family:'Baloo Da 2',sans-serif; font-weight:700; font-size:1.3rem; margin-top:4px;}
.badge.price{background:linear-gradient(135deg,#E79239,#C9782E); color:#fff;}
.badge.price .label{color:#FFEBD2;}
.badge.price .sub{color:#FFEBD2; font-size:.72rem; font-weight:600;}

.countdown{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px;}
.cd-box{background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); border-radius:12px; padding:10px 16px; min-width:74px; text-align:center;}
.cd-box .n{font-family:'Baloo Da 2',sans-serif; font-size:1.6rem; font-weight:700; line-height:1;}
.cd-box .l{font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; opacity:.85; margin-top:4px;}
.cd-label{font-size:.82rem; font-weight:600; opacity:.85; margin-bottom:8px;}

.hero-ctas{display:flex; flex-wrap:wrap; gap:12px;}
.scroll-hint{position:absolute; left:50%; bottom:18px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; font-size:.75rem; font-weight:600; color:rgba(255,255,255,.85); z-index:2;}
.scroll-hint .chevron{animation:bob 1.8s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(6px);}}

/* ---------------- About ---------------- */
.about-grid{display:grid; grid-template-columns:1fr; gap:36px;}
@media(min-width:900px){ .about-grid{grid-template-columns:1.3fr 1fr;} }
.about-copy p{margin-bottom:16px; font-size:1.02rem;}
.fact-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; align-content:start;}
.fact-card{background:var(--bg-alt); border-radius:14px; padding:16px; border:1px solid var(--line);}
.fact-card .label{font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--muted);}
.fact-card .value{font-family:'Baloo Da 2',sans-serif; font-weight:700; color:var(--ink); font-size:1.06rem; margin-top:5px;}

.divider-peaks{width:100%; height:auto; display:block; color:var(--bg-alt);}

/* ---------------- Why ---------------- */
.why-grid{display:grid; grid-template-columns:1fr; gap:18px;}
@media(min-width:640px){ .why-grid{grid-template-columns:1fr 1fr;} }
@media(min-width:1000px){ .why-grid{grid-template-columns:repeat(3,1fr);} }
.why-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; transition:transform .2s ease, box-shadow .2s ease;}
.why-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);}
.why-card .ic{width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; background:var(--blue-soft); color:var(--blue);}
.why-card:nth-child(2n) .ic{background:var(--teal-soft); color:var(--teal);}
.why-card:nth-child(3n) .ic{background:var(--amber-soft); color:var(--amber);}
.why-card h3{font-family:'Baloo Da 2',sans-serif; font-size:1.08rem; color:var(--ink); margin-bottom:8px;}
.why-card p{font-size:.94rem; color:var(--muted);}

/* ---------------- Overview ---------------- */
.ov-grid{display:grid; grid-template-columns:1fr; gap:18px; margin-bottom:28px;}
@media(min-width:768px){ .ov-grid{grid-template-columns:1fr 1fr;} }
.ov-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:22px; box-shadow:var(--shadow-sm);}
.ov-card h3{display:flex; align-items:center; gap:9px; font-family:'Baloo Da 2',sans-serif; color:var(--blue); font-size:1.1rem; margin-bottom:14px;}
.ov-row{display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:10px 0; border-bottom:1px dashed var(--line);}
.ov-row:last-child{border-bottom:none;}
.ov-row .l{font-size:.88rem; color:var(--muted); font-weight:600;}
.ov-row .r{font-weight:700; color:var(--ink); text-align:right; font-size:.94rem;}
.ov-row .r small{display:block; font-weight:600; color:var(--muted); font-size:.78rem;}

.hl-row{display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:20px;}
@media(min-width:768px){ .hl-row{grid-template-columns:repeat(3,1fr);} }
.hl-card{background:var(--bg-alt); border-radius:var(--radius-md); padding:18px; text-align:left;}
.hl-card .ic{width:38px; height:38px; border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:center; color:var(--blue); margin-bottom:10px;}
.hl-card h4{font-family:'Baloo Da 2',sans-serif; font-size:.98rem; color:var(--ink); margin-bottom:4px;}
.hl-card p{font-size:.86rem; color:var(--muted);}
.bfast-note{display:flex; align-items:center; gap:10px; font-size:.9rem; color:var(--muted); background:var(--amber-soft); border-radius:12px; padding:12px 16px; margin-bottom:28px;}
.bfast-note b{color:var(--amber);}

.quote-block{background:linear-gradient(135deg,var(--blue-dark),#123a63); color:#fff; border-radius:var(--radius-lg); padding:32px 28px; position:relative;}
.quote-block .q-ic{color:#8FB4E0; margin-bottom:10px;}
.quote-block p{font-size:1.08rem; line-height:1.75; color:#EAF1FB;}
.quote-block .attrib{margin-top:14px; font-weight:700; color:#8FB4E0; font-size:.88rem;}

/* ---------------- Itinerary tabs ---------------- */
.day-tabs{display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; margin-bottom:28px; scrollbar-width:thin;}
.day-tab{
  flex:none; display:flex; align-items:center; gap:10px; padding:10px 18px; border-radius:99px;
  border:1.5px solid var(--line); font-weight:700; font-size:.9rem; color:var(--muted); background:#fff; transition:all .2s ease;
}
.day-tab .dn{width:24px; height:24px; border-radius:50%; background:var(--line); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.78rem; font-family:'Baloo Da 2',sans-serif;}
.day-tab.active{border-color:var(--accent,var(--blue)); color:var(--accent,var(--blue)); background:var(--accent-soft,var(--blue-soft));}
.day-tab.active .dn{background:var(--accent,var(--blue));}
.day-tab:hover{border-color:var(--accent,var(--blue));}

.day-panel{display:none;}
.day-panel.active{display:block; animation:fadein .35s ease;}
@keyframes fadein{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

.dayband{
  display:flex; align-items:center; gap:14px; padding:16px 20px; border-radius:14px; margin-bottom:22px;
  border-left:5px solid var(--accent,var(--blue)); background:var(--accent-soft,var(--blue-soft));
}
.dayband .num{width:42px; height:42px; border-radius:50%; background:var(--accent,var(--blue)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Baloo Da 2',sans-serif; font-weight:700; font-size:1.2rem; flex:none;}
.dayband .txt{flex:1;}
.dayband .txt .d{font-family:'Baloo Da 2',sans-serif; font-weight:700; font-size:1.15rem; color:var(--ink);}
.dayband .txt .s{font-size:.84rem; color:var(--muted); font-weight:600;}
.dayband .citytag{background:#fff; border:1.2px solid var(--accent,var(--blue)); color:var(--accent,var(--blue)); border-radius:99px; padding:6px 14px; font-size:.8rem; font-weight:700; display:flex; align-items:center; gap:6px; white-space:nowrap;}

.timeline{position:relative; padding-left:30px;}
.timeline::before{content:""; position:absolute; left:13px; top:8px; bottom:8px; width:2px; background:var(--line);}
.event{position:relative; margin-bottom:14px; background:var(--bg-alt); border-radius:12px; padding:14px 16px;}
.event .tl-dot{position:absolute; left:-25px; top:16px; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--accent,var(--blue)); z-index:1;}
.event.card{background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm);}
.event .row{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.event .time{display:inline-flex; align-items:center; gap:6px; background:var(--accent,var(--blue)); color:#fff; border-radius:99px; padding:5px 12px; font-size:.78rem; font-weight:700; flex:none;}
.event .title{font-weight:700; color:var(--ink); font-size:.98rem;}
.event.card .title{display:flex; align-items:center; gap:8px; font-family:'Baloo Da 2',sans-serif; font-size:1.05rem; margin:10px 0 8px; color:var(--accent,var(--blue));}
.event .desc{font-size:.92rem; color:var(--body); margin-top:8px; line-height:1.7;}
.event .sub{font-size:.82rem; color:var(--accent,var(--blue)); font-weight:700; margin:8px 0 2px;}
.event ul.bullets{margin-top:8px;}
.event ul.bullets li{position:relative; padding-left:18px; font-size:.9rem; color:var(--body); margin-bottom:5px;}
.event ul.bullets li::before{content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--accent,var(--blue));}
.event .sublist{margin-top:8px;}
.event .sublist .si{margin-bottom:8px; padding-left:18px; position:relative; font-size:.9rem;}
.event .sublist .si::before{content:"–"; position:absolute; left:0; color:var(--accent,var(--blue)); font-weight:700;}
.event .sublist b{color:var(--ink);}
.event .chips{display:flex; flex-wrap:wrap; gap:7px; margin-top:10px;}
.event .chip{background:#fff; border:1px solid var(--line); border-radius:99px; padding:5px 12px; font-size:.78rem; font-weight:600; color:var(--muted);}
.event .meta{margin-top:10px; font-size:.78rem; color:var(--muted); font-weight:600; border-top:1px dashed var(--line); padding-top:8px;}
.event.meal .row, .event.note .row, .event.drive .row{gap:12px;}
.event.meal .ic-wrap, .event.note .ic-wrap, .event.drive .ic-wrap{width:30px; height:30px; border-radius:9px; background:#fff; display:flex; align-items:center; justify-content:center; color:var(--accent,var(--blue)); flex:none;}
.event.meal .time, .event.note .time, .event.drive .time{margin-left:auto;}
@media(max-width:480px){ .event.meal .time, .event.note .time, .event.drive .time{margin-left:0;} }

/* ---------------- Gallery / route ---------------- */
.route-diagram{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0; padding:28px 10px; background:var(--bg-alt); border-radius:var(--radius-lg); margin-bottom:36px;}
.route-node{display:flex; flex-direction:column; align-items:center; gap:8px; padding:0 14px;}
.route-node .dot{width:44px; height:44px; border-radius:50%; background:#fff; box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:center; color:var(--blue); border:2px solid var(--blue);}
.route-node.teal .dot{color:var(--teal); border-color:var(--teal);}
.route-node.amber .dot{color:var(--amber); border-color:var(--amber);}
.route-node span{font-size:.82rem; font-weight:700; color:var(--ink); white-space:nowrap;}
.route-line{width:34px; height:2px; background:repeating-linear-gradient(90deg,var(--line) 0 6px, transparent 6px 10px); margin:0 2px 24px;}
@media(min-width:640px){ .route-line{width:48px;} }

.mustdo-grid{display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:36px;}
@media(min-width:768px){ .mustdo-grid{grid-template-columns:repeat(3,1fr);} }
.mustdo-col{border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--line);}
.mustdo-col .head{background:var(--accent,var(--blue)); color:#fff; font-family:'Baloo Da 2',sans-serif; font-weight:700; padding:14px 18px; display:flex; align-items:center; gap:8px;}
.mustdo-col ul{padding:16px 18px;}
.mustdo-col li{display:flex; align-items:center; gap:10px; padding:8px 0; font-size:.92rem; color:var(--body); border-bottom:1px solid var(--line);}
.mustdo-col li:last-child{border-bottom:none;}
.mustdo-col li .chk{width:20px; height:20px; border-radius:50%; background:var(--accent-soft,var(--blue-soft)); color:var(--accent,var(--blue)); display:flex; align-items:center; justify-content:center; flex:none;}

.drive-table{border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden;}
.drive-row{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); gap:12px;}
.drive-row:last-child{border-bottom:none;}
.drive-row .l{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--ink); font-size:.94rem;}
.drive-row .l .ic-wrap{color:var(--blue);}
.drive-row .t{background:var(--blue-soft); color:var(--blue); font-weight:700; font-size:.84rem; padding:6px 14px; border-radius:99px; white-space:nowrap;}

/* ---------------- Practical ---------------- */
.practical-grid{display:grid; grid-template-columns:1fr; gap:18px;}
@media(min-width:768px){ .practical-grid{grid-template-columns:1fr 1fr;} }
.pr-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:24px; box-shadow:var(--shadow-sm);}
.pr-card h3{display:flex; align-items:center; gap:10px; font-family:'Baloo Da 2',sans-serif; font-size:1.1rem; color:var(--ink); margin-bottom:14px;}
.pr-card h3 .ic-wrap{width:36px; height:36px; border-radius:10px; background:var(--blue-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; flex:none;}
.pr-card ul.points li{position:relative; padding-left:20px; font-size:.92rem; margin-bottom:10px; line-height:1.6;}
.pr-card ul.points li::before{content:""; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:var(--blue);}
.pr-card ul.points li b{color:var(--blue);}
.pack-list li{display:flex; align-items:center; gap:12px; padding:9px 0; font-size:.92rem; border-bottom:1px solid var(--line); cursor:pointer; user-select:none;}
.pack-list li:last-child{border-bottom:none;}
.pack-list .box{width:21px; height:21px; border-radius:6px; border:2px solid var(--line); flex:none; display:flex; align-items:center; justify-content:center; color:#fff; transition:all .15s ease;}
.pack-list li.checked .box{background:var(--teal); border-color:var(--teal);}
.pack-list li.checked span.txt{color:var(--muted); text-decoration:line-through;}
.pack-hint{font-size:.78rem; color:var(--muted); margin-top:12px; font-style:italic;}

/* ---------------- FAQ ---------------- */
.faq-list{max-width:820px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 4px; text-align:left; font-weight:700; color:var(--ink); font-size:1rem;}
.faq-q .chv{flex:none; color:var(--blue); transition:transform .25s ease;}
.faq-item.open .faq-q .chv{transform:rotate(180deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a-inner{padding:0 4px 20px; font-size:.94rem; color:var(--muted); line-height:1.75; max-width:720px;}

/* ---------------- CTA ---------------- */
.cta-section{background:linear-gradient(135deg,var(--blue),var(--teal)); border-radius:var(--radius-lg); padding:48px 28px; text-align:center; color:#fff; margin:0 20px;}
@media(min-width:768px){ .cta-section{padding:64px 40px; margin:0 32px;} }
.cta-section h2{font-family:'Baloo Da 2',sans-serif; font-size:1.9rem; margin-bottom:12px;}
@media(min-width:768px){ .cta-section h2{font-size:2.3rem;} }
.cta-section p{font-size:1.05rem; color:#EAF3FF; max-width:520px; margin:0 auto 28px;}
.cta-btns{display:flex; flex-wrap:wrap; justify-content:center; gap:14px;}
.cta-contact-row{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:26px;}
.cta-contact-item{display:flex; align-items:center; gap:9px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); border-radius:99px; padding:10px 18px; font-weight:700; font-size:.88rem;}

/* ---------------- Footer ---------------- */
footer{background:var(--blue-dark); color:#B9CBE0; padding:56px 0 26px;}
.foot-grid{display:grid; grid-template-columns:1fr; gap:32px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.12);}
@media(min-width:768px){ .foot-grid{grid-template-columns:1.4fr 1fr 1fr;} }
.foot-brand{display:flex; align-items:center; gap:10px; margin-bottom:12px;}
.foot-brand .mark{height:42px; padding:7px 11px; border-radius:9px; background:#fff; display:flex; align-items:center; justify-content:center;}
.foot-brand .mark img{height:100%; width:auto; display:block;}
.foot-brand .name{display:none;}
footer h4{color:#fff; font-size:.94rem; margin-bottom:14px; font-family:'Baloo Da 2',sans-serif;}
footer .flinks li{margin-bottom:10px;}
footer .flinks a{font-size:.9rem; transition:color .2s ease;}
footer .flinks a:hover{color:#fff;}
footer .fcontact li{display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:.9rem;}
.foot-bottom{display:flex; flex-direction:column; gap:10px; padding-top:22px; font-size:.82rem;}
@media(min-width:640px){ .foot-bottom{flex-direction:row; align-items:center; justify-content:space-between;} }
.foot-note{opacity:.75; max-width:640px;}

/* ---------------- Floating widgets ---------------- */
.float-whatsapp{
  position:fixed; right:20px; bottom:20px; z-index:150; width:58px; height:58px; border-radius:50%;
  background:var(--whatsapp); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(37,211,102,.45); animation:pulse 2.6s ease-in-out infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 10px 26px rgba(37,211,102,.45);} 50%{box-shadow:0 10px 26px rgba(37,211,102,.75), 0 0 0 8px rgba(37,211,102,.12);}}
.back-top{
  position:fixed; right:20px; bottom:88px; z-index:150; width:44px; height:44px; border-radius:50%;
  background:#fff; color:var(--blue); border:1px solid var(--line); box-shadow:var(--shadow-md);
  display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transform:translateY(10px); transition:all .25s ease;
}
.back-top.show{opacity:1; pointer-events:auto; transform:translateY(0);}

/* ---------------- Reveal-on-scroll ---------------- */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------------- utility ---------------- */
.center-text{text-align:center;}
.mt-24{margin-top:24px;}
.hide{display:none !important;}
[data-i18n], [data-i18n-html]{}
.skiplink{position:absolute; left:-999px; top:0; background:#fff; color:var(--ink); padding:10px 16px; z-index:999;}
.skiplink:focus{left:10px; top:10px;}
