/* ============================================================
   Suvidhaa Aapki — 2026 redesign theme
   Loads AFTER bootstrap-and-all.css / style.css / home.css and
   re-themes via CSS variables + component overrides.
   Brand: green #017340 · blue #0091d4 · white
   Fonts: Poppins (headings) · Inter (body) — locally vendored
   ============================================================ */

:root {
  --sa-green: #017340;
  --sa-green-dark: #015c34;
  --sa-green-deep: #013a22;
  --sa-blue: #0091d4;
  --sa-blue-dark: #007ab2;
  --sa-amber: #f5a524;
  --sa-ink: #1c2b24;
  --sa-body: #45564d;
  --sa-line: #e3ece6;
  --sa-mist: #f4f9f6;
  --sa-radius: 16px;
  --sa-shadow: 0 1px 2px rgba(16, 44, 31, .06), 0 8px 24px rgba(16, 44, 31, .07);
  --sa-shadow-lift: 0 2px 4px rgba(16, 44, 31, .08), 0 16px 36px rgba(16, 44, 31, .13);

  /* re-point the template's own variables */
  --main-color: var(--sa-blue);
  --main-color2: var(--sa-green-dark);
  --main-color3: var(--sa-blue);
  --main-color4: var(--sa-amber);
  --black-color: var(--sa-ink);
  --gray-color: var(--sa-body);
  --paragraph-color: var(--sa-body);
  --bg-color: var(--sa-mist);
  --font1: 'Inter', system-ui, sans-serif;
  --font2: 'Inter', system-ui, sans-serif;
  --font3: 'Poppins', sans-serif;
  --font4: 'Poppins', sans-serif;
}

/* ---------- typography ---------- */
body { font-family: 'Inter', system-ui, sans-serif; color: var(--sa-body); }
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Poppins', sans-serif;
  color: var(--sa-ink);
  letter-spacing: -.01em;
}
/* the old "handwriting" accent becomes a clean brand eyebrow */
.font3 { font-family: 'Poppins', sans-serif !important; font-weight: 600; color: var(--sa-green) !important; letter-spacing: .02em; }
p.font3.font22 { font-size: 17px !important; text-transform: uppercase; letter-spacing: .14em; }

/* warm template creams -> clean green-tinted whites */
.bglight  { background-color: #fbfdfc !important; }
.bglight2 { background-color: var(--sa-mist) !important; }
.bglight3 { background-color: var(--sa-mist) !important; }
.bgf5     { background-color: var(--sa-mist) !important; }

/* soften the busy corner shapes */
.shapehira { opacity: .16; }

/* ---------- buttons: 44px+ tap targets ---------- */
.btns {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: .55rem 1.35rem;
  font-family: 'Poppins', sans-serif; font-weight: 600;
  border-radius: 12px; border: 0;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btns.btn-sm { min-height: 44px; padding: .4rem 1rem; }
.btn1, .btn-1, .btn-base { background: var(--sa-green) !important; color: #fff !important; }
.btn-base:hover { background: var(--sa-green-dark) !important; color: #fff !important; }
.btn1:hover, .btn-1:hover { background: var(--sa-green-dark) !important; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(1, 115, 64, .28); }
.btn2 { background: var(--sa-blue) !important; color: #fff !important; }
.btn2:hover { background: var(--sa-blue-dark) !important; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 145, 212, .28); }
/* secondary outline: the three destination "See Packages" CTAs */
.btns.btn-white.border1 {
  background: #fff !important; color: var(--sa-blue) !important;
  border: 2px solid var(--sa-blue) !important;
}
.btns.btn-white.border1:hover {
  background: var(--sa-blue) !important; color: #fff !important;
  transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 145, 212, .25);
}
/* section eyebrow headings in brand green */
h2.ls3, h3.ls3 { color: var(--sa-green) !important; opacity: 1 !important; }
/* package-card location marker: inline SVG pin (replaces missing icon-font glyph) */
.covered ul::before {
  content: '' !important;
  display: inline-block; width: 14px; height: 14px; margin-right: 4px;
  vertical-align: -2px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23017340'%3E%3Cpath d='M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10m0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6'/%3E%3C/svg%3E") no-repeat center / contain;
}
a:focus-visible, button:focus-visible, .btns:focus-visible {
  outline: 3px solid rgba(0, 145, 212, .55); outline-offset: 2px; border-radius: 12px;
}

/* ---------- header ---------- */
.sticky-header, header .navbar { background: rgba(255, 255, 255, .96) !important; backdrop-filter: blur(10px); }
.sticky-active { box-shadow: 0 2px 18px rgba(16, 44, 31, .10) !important; }
.navbar .nav-link { min-height: 44px; display: inline-flex; align-items: center; font-weight: 500; }
.navbar .nav-link:hover { color: var(--sa-green) !important; }

/* ---------- hero: full-bleed photo ---------- */
.hiralal {
  position: relative;
  min-height: 90vh;
  background: var(--sa-green-deep) !important;
  padding-top: 3.5rem !important;
}
/* banner slider becomes the full-bleed backdrop, equal height every slide */
.hiralal .shapepho {
  position: absolute; inset: 0; z-index: 0 !important;
  width: 100% !important; max-width: none !important; height: 100% !important;
  margin: 0 !important; border-radius: 0; box-shadow: none;
  clip-path: none !important; -webkit-clip-path: none !important;
}
.hiralal .crossfadio { position: absolute; inset: 0; height: 100% !important; }
.hiralal .crossFadee { width: 100% !important; height: 100% !important; object-fit: cover; }
/* readability gradient: strongest bottom-left */
.hiralal::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(to top, rgba(1, 24, 14, .84) 0%, rgba(1, 24, 14, .48) 34%, rgba(1, 24, 14, .10) 62%, rgba(1, 24, 14, .22) 100%),
    linear-gradient(100deg, rgba(1, 24, 14, .55) 0%, rgba(1, 24, 14, 0) 55%);
}
.hiralal > .container-fluid { position: relative; z-index: 2; }
.hiralal .shapehira { display: none; }
.hiralal h1 {
  font-size: clamp(2.1rem, 5.5vw, 3.6rem);
  font-weight: 800; line-height: 1.1;
  color: #fff !important; text-shadow: 0 2px 20px rgba(0, 0, 0, .45);
}
.hiralal p.font3 { color: #b7ecce !important; text-shadow: 0 1px 10px rgba(0, 0, 0, .5); }
/* search box floats on the hero's bottom edge */
.tour_search_form { border-radius: var(--sa-radius) !important; border: 1px solid var(--sa-line); box-shadow: 0 18px 48px rgba(0, 0, 0, .30) !important; }
@media (min-width: 992px) {
  .hiralal { padding-bottom: 0 !important; }
  .hiralal .theme_search_form_area { transform: translateY(36px); }
  .sa-trust .container { padding-top: 3rem; }
}
/* mobile hero: shorter, bottom-aligned, thumb-friendly */
@media (max-width: 991.98px) {
  .hiralal {
    min-height: 68vh;
    display: flex; flex-direction: column; justify-content: flex-end !important;
    padding-top: 4rem !important; padding-bottom: 1.25rem !important;
  }
  .hiralal .text-center-sm { text-align: left !important; }
  .hiralal h1 { font-size: 2.1rem; }
  .hiralal .btns.btn1.btn-lg { width: 100%; min-height: 52px; }
  .hiralal .tour_search_form { box-shadow: 0 10px 30px rgba(0, 0, 0, .25) !important; }
}

/* stats strip under hero */
.montediu > div { border-radius: 14px !important; border: 1px solid var(--sa-line); box-shadow: var(--sa-shadow); }

/* ---------- trust bar (injected) ---------- */
.sa-trust { background: #fff; border-block: 1px solid var(--sa-line); }
.sa-trust .container {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; padding-block: 1rem;
  max-width: 100%; padding-inline: clamp(1rem, 4vw, 4rem);
}
.sa-trust-item {
  display: flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 44px; padding: .35rem .5rem; text-align: center;
  font: 600 14px/1.3 'Poppins', sans-serif; color: var(--sa-ink); text-decoration: none;
}
.sa-trust-item i { font-size: 1.35rem; color: var(--sa-green); }
.sa-trust-stars { color: var(--sa-amber); letter-spacing: .1em; font-size: 15px; }
a.sa-trust-item:hover { color: var(--sa-green); }
@media (min-width: 768px) { .sa-trust .container { grid-template-columns: repeat(4, 1fr); } }

/* ---------- cards: experiences, destinations, packages ---------- */
.rounded-3.ofhidden.p-3.border1 { border-radius: var(--sa-radius) !important; border-color: var(--sa-line) !important; transition: transform .2s ease, box-shadow .2s ease; }
.rounded-3.ofhidden.p-3.border1:hover { transform: translateY(-4px); box-shadow: var(--sa-shadow-lift); }

/* destination photos: rounded + hover zoom */
a.d-block.height100.rounded-1 { overflow: hidden; border-radius: var(--sa-radius) !important; display: block; }
a.d-block.height100.rounded-1 img { transition: transform .5s ease; }
a.d-block.height100.rounded-1:hover img { transform: scale(1.05); }
.nichu { border-radius: var(--sa-radius) !important; border-bottom: 4px solid var(--sa-green) !important; box-shadow: var(--sa-shadow) !important; }

/* package cards */
.thumbnail { border-radius: var(--sa-radius) !important; border-color: var(--sa-line) !important; transition: transform .2s ease, box-shadow .2s ease; }
.thumbnail:hover { transform: translateY(-4px); box-shadow: var(--sa-shadow-lift); }
.thumbnail .img-wrap { overflow: hidden; border-radius: 12px; }
.thumbnail .img-wrap img { transition: transform .5s ease; border-radius: 12px !important; }
.thumbnail:hover .img-wrap img { transform: scale(1.06); }
.thumbnail .bi { color: var(--sa-green); }

/* ---------- testimonials ---------- */
.testimonials-carousel { border-radius: var(--sa-radius) !important; }
.testimonial { border-radius: var(--sa-radius); }
.testimonial .bg-white9 { background: rgba(255, 255, 255, .94) !important; border-radius: var(--sa-radius) !important; box-shadow: var(--sa-shadow); backdrop-filter: blur(4px); }

/* ---------- why choose (brand band) ---------- */
.bg3 { background: linear-gradient(150deg, var(--sa-green-dark), var(--sa-green-deep)) !important; }
.bg3 .bg-white { border-radius: 14px !important; border: 0 !important; box-shadow: none; }
.bg3 h3 { color: rgba(255, 255, 255, .92) !important; opacity: 1 !important; }

/* ---------- affiliations + founder ---------- */
.afficarousel img { background: #fff; border: 1px solid var(--sa-line); border-radius: 12px; padding: 6px; transition: transform .2s ease, box-shadow .2s ease; }
.afficarousel img:hover { transform: translateY(-3px); box-shadow: var(--sa-shadow); }
.bglight.border1.rounded-1.shadow { border-radius: var(--sa-radius) !important; border-color: var(--sa-line) !important; box-shadow: var(--sa-shadow) !important; overflow: hidden; }

/* ---------- footer ---------- */
.bg22, footer.ifooter { background: var(--sa-green-deep) !important; }
footer.ifooter a:hover { color: #7ee2b0 !important; }

/* ---------- sticky mobile bottom bar (injected) ---------- */
.sa-bottombar {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 1030;
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
  padding: 10px max(12px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));
  background: rgba(255, 255, 255, .97); backdrop-filter: blur(10px);
  border-top: 1px solid var(--sa-line); box-shadow: 0 -6px 24px rgba(16, 44, 31, .10);
}
.sa-bottombar a {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 48px; border-radius: 12px; text-decoration: none;
  font: 600 15px 'Poppins', sans-serif; color: #fff;
}
.sa-bb-wa { background: var(--sa-green); }
.sa-bb-wa:hover, .sa-bb-wa:focus { background: var(--sa-green-dark); color: #fff; }
.sa-bb-call { background: var(--sa-blue); }
.sa-bb-call:hover, .sa-bb-call:focus { background: var(--sa-blue-dark); color: #fff; }
.sa-bottombar i { font-size: 1.15rem; }
@media (max-width: 991.98px) { body { padding-bottom: 78px; } #toTop { bottom: 90px; } }
@media (min-width: 992px) { .sa-bottombar { display: none; } }
@media print { .sa-bottombar { display: none; } }

/* ---------- restraint ---------- */
@media (prefers-reduced-motion: reduce) {
  .btns, .thumbnail, .thumbnail .img-wrap img,
  a.d-block.height100.rounded-1 img, .afficarousel img { transition: none !important; }
}

/* ---------- breadcrumbs (inner pages) ---------- */
.sa-crumbs { background: var(--sa-mist); border-bottom: 1px solid var(--sa-line); }
.sa-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: .55rem 0; font: 500 13px/1.4 'Inter', sans-serif; }
.sa-crumbs li { display: inline-flex; align-items: center; color: var(--sa-body); }
.sa-crumbs li + li::before { content: "\203A"; margin: 0 .45rem; color: var(--sa-body); opacity: .55; }
.sa-crumbs a { color: var(--sa-green); text-decoration: none; padding: .35rem 0; }
.sa-crumbs a:hover { text-decoration: underline; }
.sa-crumbs [aria-current="page"] { color: var(--sa-ink); font-weight: 600; }

/* ---------- best price elements ---------- */
.sa-bestprice {
  display: flex; flex-direction: column; justify-content: center; gap: 2px;
  min-height: 48px; margin-top: .65rem; padding: .5rem .8rem;
  border: 1px dashed rgba(1, 115, 64, .45); border-radius: 12px;
  background: rgba(1, 115, 64, .05); text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.sa-bestprice:hover { background: rgba(1, 115, 64, .11); border-color: var(--sa-green); }
.sa-bp-top { font: 600 13.5px/1.35 'Poppins', sans-serif; color: var(--sa-green); }
.sa-bp-sub { font: 500 12.5px/1.35 'Inter', sans-serif; color: var(--sa-body); }
.sa-bestprice:hover .sa-bp-sub { color: var(--sa-green); }
.sa-bp-btn {
  background: var(--sa-green) !important; color: #fff !important;
  display: flex; width: 100%; min-height: 48px;
}
.sa-bp-btn:hover { background: var(--sa-green-dark) !important; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(1, 115, 64, .28); }
.sa-bp-btn .bi-whatsapp { font-size: 1.15rem; }

/* ---------- blog banners: original strip proportions ---------- */
.banner-img img { display: block; width: 100%; height: auto; }
.main-blog-img { aspect-ratio: 1200 / 628; overflow: hidden; border-radius: 12px; }
.main-blog-img img { width: 100%; height: 100%; object-fit: cover; }
