/* -----------------------------------------------------------
   InfoLink Lite – Sitewide Responsive CSS
   Mobile-first • Safe-scoped classes • No framework required
----------------------------------------------------------- */
.p-index .page-title { display:none; }


/* base: mobile drawer CTA default hidden (ডেস্কটপে লুকানো থাকবে) */
.nav .cta-mobile{display:none}

/* <= 992px: drawer এ CTA দেখান */
@media (max-width:992px){
  .cta{display:none}
  .nav .cta-mobile{display:flex;gap:10px;margin-top:6px}
}

/* হেডারের নিচে হালকা gap */
.site-header{margin-bottom:10px}


/* Reset / base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans",sans-serif;color:#0f172a;background:#f8fafc}
img,svg,video{max-width:100%;height:auto;vertical-align:middle}
a{color:#1a73e8;text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit}
:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}

/* Layout helpers */
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.content{padding:18px 0}
.section{padding:18px 0}
.hr{height:1px;background:#e2e8f0;border:0;margin:16px 0}

/* Typography */
h1{font-size:clamp(1.25rem,2.6vw+1rem,2rem);line-height:1.2;margin:0 0 12px 0;font-weight:800}
h2{font-size:clamp(1.1rem,1.8vw+0.9rem,1.5rem);line-height:1.25;margin:0 0 10px 0;font-weight:800}
h3{font-size:clamp(1rem,1.2vw+0.85rem,1.25rem);line-height:1.3;margin:0 0 8px 0;font-weight:700}
p{margin:.5rem 0 1rem;color:#334155}

/* Buttons */
.btn{display:inline-block;white-space:nowrap;background:#1a73e8;color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:700}
.btn:hover{filter:saturate(1.1);text-decoration:none}
.btn.btn-outline{background:#fff;color:#0f172a;border:1px solid #e2e8f0}
.btn.sm{padding:7px 12px;border-radius:8px;font-weight:600}

/* Cards / utilities */
.card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}
.badge{display:inline-block;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}
.badge.yes{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.badge.no{background:#fef2f2;color:#991b1b;border-color:#fecaca}

.grid{display:grid;gap:14px}
.grid.auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* -----------------------------------------------------------
   Header & Navigation
----------------------------------------------------------- */
.site-header{background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}
.site-header .bar{display:flex;align-items:center;gap:12px;height:60px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.logo{height:34px;width:auto}
.logo-text{font-weight:800;font-size:18px;white-space:nowrap}

.nav{display:flex;gap:18px;align-items:center}
.nav a{color:#0f172a;padding:10px 12px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover{background:#f1f5f9;text-decoration:none}
.nav a.active{background:#1a73e8;color:#fff}

.cta{display:flex;gap:10px;align-items:center;margin-left:auto}

/* Mobile nav toggle */
.menu-toggle{margin-left:auto;display:none;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.menu-toggle .bars{display:block;width:18px;height:2px;background:#0f172a;position:relative}
.menu-toggle .bars::before,.menu-toggle .bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#0f172a}
.menu-toggle .bars::before{top:-6px}
.menu-toggle .bars::after{top:6px}

/* --- Mobile layout (<= 992px) ---------------------------------- */
@media (max-width:992px){
  .site-header .bar{height:58px}
  .cta{display:none} /* CTAs go inside mobile panel below */
  .menu-toggle{display:flex}

  /* Hide horizontal nav, show as drawer when opened */
  .nav{
    position:fixed;inset:58px 0 auto 0; /* below header */
    background:#fff;border-bottom:1px solid #e2e8f0;
    padding:10px 16px 14px;
    display:none;flex-direction:column;gap:8px;
  }
  .nav a{padding:12px;border-radius:10px}
  .nav .cta-mobile{display:flex;gap:10px;margin-top:6px}
  .nav .cta-mobile .btn{flex:1;text-align:center}

  /* When body has .nav-open class, show panel */
  .nav-open .nav{display:flex}
  .nav-open body{overflow:hidden}
}

/* --- Desktop (>= 993px) ---------------------------------------- */
@media (min-width:993px){
  .menu-toggle{display:none}
  .nav{margin-left:24px}
}

/* Hero slider (admin managed) */
.hero-slider{width:min(1100px,calc(100% - 32px));margin:12px auto 16px;padding:0}
.hero-slides{position:relative;border-radius:14px;overflow:hidden;background:#e2e8f0;border:1px solid #e2e8f0;touch-action:pan-y;cursor:grab}
.hero-track{display:flex;transform:translate3d(0,0,0);will-change:transform}
.hero-slide{position:relative;min-width:100%;flex:0 0 100%}
.hero-slide picture{display:block}
.hero-slide img{width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none}
.hero-slides.dragging{cursor:grabbing}
.hero-slide-link{display:block}
.hero-slide-overlay{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);padding:12px;border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.hero-slide-overlay h2{margin:0;color:#fff;font-size:clamp(1rem,2vw,1.35rem)}
.hero-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px;z-index:3}
.hero-dot{width:9px;height:9px;border-radius:999px;border:0;background:rgba(255,255,255,.55);padding:0;cursor:pointer}
.hero-dot.active{width:22px;background:#fff}
@media (max-width:992px){
  .hero-slider{width:min(1100px,calc(100% - 24px))}
  .hero-slide-overlay{left:10px;right:10px;bottom:10px;padding:10px}
  .hero-dots{bottom:8px}
}

/* -----------------------------------------------------------
   Page specific helpers
----------------------------------------------------------- */
/* Packages cards */
.pack-card h3{margin-bottom:2px}
.price{font-weight:800;color:#0f172a;font-size:clamp(1.05rem,1.2vw+1rem,1.3rem)}
.tiny{font-size:.85rem;color:#475569}

/* Tables */
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #e2e8f0;text-align:left}
th{background:#f1f5f9}
.table-wrap{width:100%;overflow:auto;border-radius:12px}

/* Forms */
form .row{display:grid;gap:12px}
@media (min-width:640px){form .row.two{grid-template-columns:1fr 1fr}}
label{display:block;margin:6px 0 4px}
input,select,textarea{width:100%;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
textarea{min-height:140px}

/* Footer */
.site-faqs{margin-top:20px;margin-bottom:8px}
.site-faqs__card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #dbeafe;
  border-radius:18px;
  padding:20px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.site-faqs__head{margin-bottom:14px}
.site-faqs__head h2{
  margin:0 0 6px;
  font-size:clamp(1.2rem,1.2vw + 1rem,1.6rem);
  color:#0f172a;
}
.site-faqs__head p{
  margin:0;
  color:#475569;
  font-size:.95rem;
  line-height:1.6;
}
.site-faqs__list{display:grid;gap:12px}
.site-faq{
  border:1px solid #dbeafe;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.site-faq:hover{border-color:#93c5fd}
.site-faq[open]{border-color:#93c5fd;box-shadow:0 8px 20px rgba(30,64,175,.10)}
.site-faq summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
}
.site-faq summary::-webkit-details-marker{display:none}
.site-faq summary::marker{content:''}
.site-faq__q{
  font-weight:700;
  color:#0f172a;
  font-size:1rem;
  line-height:1.5;
}
.site-faq__toggle{
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:999px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  position:relative;
  margin-top:1px;
}
.site-faq__toggle::before,
.site-faq__toggle::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:2px;
  background:#1d4ed8;
  border-radius:999px;
  transform:translate(-50%,-50%);
}
.site-faq__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.site-faq[open] .site-faq__toggle::after{opacity:0}
.site-faq__answer{
  padding:0 16px 14px;
  color:#334155;
  line-height:1.75;
  font-size:.96rem;
}
@media (max-width:640px){
  .site-faqs{margin-top:16px}
  .site-faqs__card{padding:14px;border-radius:14px}
  .site-faq summary{padding:12px}
  .site-faq__answer{padding:0 12px 12px}
  .site-faq__q{font-size:.95rem}
}

.site-footer{
  border-top:1px solid #dbeafe;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  margin-top:20px;
  box-shadow:0 -8px 24px rgba(15,23,42,.04);
}
.site-footer .footer-top{
  display:grid;
  grid-template-columns:1.2fr 1.8fr;
  gap:22px;
  padding:22px 0 12px;
}
.site-footer .cols{display:grid;gap:14px}
@media (min-width:768px){.site-footer .cols{grid-template-columns:1fr 1fr 1fr}}
.footer-brand{
  border:1px solid #dbeafe;
  border-radius:14px;
  padding:14px;
  background:#fff;
}
.footer-title{margin:0 0 10px;font-size:1rem;font-weight:800;color:#0f172a}
.footer-tagline{margin:0 0 10px;color:#475569;line-height:1.7}
.footer-contact-inline{display:flex;flex-wrap:wrap;gap:10px}
.footer-contact-inline a{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:700;
  font-size:.9rem;
}
.site-footer ul{margin:0;padding-left:18px}
.site-footer li{margin:0 0 6px}
.footer-bottom{
  border-top:1px dashed #dbeafe;
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:10px 0 16px;
  color:#64748b;
  font-size:.9rem;
}
@media (max-width:900px){
  .site-footer .footer-top{grid-template-columns:1fr}
}

/* Floating contact buttons (desktop/facebook + mobile/whatsapp) */
.floating-contact{
  position:fixed;
  z-index:9999;
  text-decoration:none !important;
  font-weight:700;
  border-radius:999px;
  box-shadow:0 12px 24px rgba(15,23,42,.22), 0 3px 8px rgba(15,23,42,.2);
}
.floating-contact-desktop{
  right:18px;
  bottom:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  background:#1877f2;
  color:#fff;
}
.floating-contact-desktop:hover{filter:brightness(1.05)}

.floating-contact-mobile{
  left:12px;
  right:12px;
  bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  display:none;
  min-height:46px;
  align-items:center;
  justify-content:center;
  background:#25d366;
  color:#fff;
  border-radius:12px;
}

@media (max-width:992px){
  .floating-contact-desktop{display:none}
  .floating-contact-mobile{display:flex}
  body{padding-bottom:74px}
}


/* -----------------------------------------------------------
   Rich content (TinyMCE output safe defaults)
----------------------------------------------------------- */
.content .hero{background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:14px;padding:18px}
.content .grid.auto{margin-top:8px}
.content figure{margin:0}
.content img{border-radius:12px}

/* Misc helpers */
.muted{color:#64748b}
.center{text-align:center}
.mt-0{margin-top:0}.mt-1{margin-top:6px}.mt-2{margin-top:12px}.mt-3{margin-top:18px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:6px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:18px}
