/* ============================================================
   CHENNAI EDGE LAYOUT FIX v3.2.5
   Header alignment, visible hero content, zero outer section gaps,
   full-width homepage edges, and independent sidebar row sizing.
============================================================ */

:root {
  --v325-ink: #2f2950;
  --v325-muted: #625d73;
  --v325-violet: #5946c8;
  --v325-violet-deep: #382b82;
  --v325-coral: #ef5b78;
  --v325-teal: #239f91;
  --v325-line: rgba(62, 48, 120, .14);
  --v325-soft: #f7f5ff;
  --v325-white: #ffffff;
}

/* ---------- Global edge reset ---------- */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow-x: clip !important;
}

body.home main,
body.home .home-main,
body.home .site-main,
body.home .page-wrap,
body.home .content-area,
body.home .container,
body.home .wrap,
body.front-page main,
body.front-page .home-main,
body.front-page .site-main,
body.front-page .page-wrap,
body.front-page .content-area,
body.front-page .container,
body.front-page .wrap,
body.page-template-front-page main,
body.page-template-front-page .home-main,
body.page-template-front-page .site-main,
body.page-template-front-page .page-wrap,
body.page-template-front-page .content-area,
body.page-template-front-page .container,
body.page-template-front-page .wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   DESKTOP HEADER
============================================================ */
@media (min-width: 901px) {
  body .site-header.premium-header {
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--v325-line) !important;
    box-shadow: 0 6px 22px rgba(47, 41, 80, .08) !important;
  }

  body .site-header.premium-header::before {
    height: 4px !important;
  }

  body .site-header.premium-header .premium-header-inner {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 108px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  body .site-header.premium-header .header-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 220px !important;
    min-width: 220px !important;
    height: 108px !important;
    padding: 14px 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 0 !important;
    border-right: 1px solid var(--v325-line) !important;
    box-shadow: none !important;
  }

  body .site-header.premium-header .site-logo-link {
    width: 100% !important;
    height: auto !important;
    justify-content: center !important;
  }

  body .site-header.premium-header .lp10-site-logo,
  body .site-header.premium-header .site-logo {
    display: block !important;
    width: 188px !important;
    max-width: 188px !important;
    height: auto !important;
    max-height: 72px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: none !important;
  }

  body .site-header.premium-header .premium-header-main {
    display: grid !important;
    grid-template-rows: 58px 50px !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 108px !important;
    background: #ffffff !important;
  }

  body .site-header.premium-header .premium-header-top {
    display: grid !important;
    grid-template-columns: minmax(280px, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 8px 16px !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(62, 48, 120, .08) !important;
  }

  body .site-header.premium-header .header-search {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
  }

  body .site-header.premium-header .callglin-smart-search-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 78px !important;
    width: 100% !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body .site-header.premium-header .header-search input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    background: #f7f5ff !important;
    color: var(--v325-ink) !important;
    border: 1px solid rgba(89, 70, 200, .22) !important;
    border-right: 0 !important;
    border-radius: 12px 0 0 12px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    opacity: 1 !important;
  }

  body .site-header.premium-header .header-search input::placeholder {
    color: #827b94 !important;
    opacity: 1 !important;
  }

  body .site-header.premium-header .header-search button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 78px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    background: var(--v325-violet) !important;
    color: #ffffff !important;
    border: 1px solid var(--v325-violet) !important;
    border-radius: 0 12px 12px 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
  }

  body .site-header.premium-header .header-auth {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  body .site-header.premium-header .header-auth .btn-auth {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: var(--v325-ink) !important;
    border: 1px solid var(--v325-line) !important;
    box-shadow: 0 5px 14px rgba(47, 41, 80, .07) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
  }

  body .site-header.premium-header .header-auth .btn-register {
    background: linear-gradient(135deg, var(--v325-coral), #ea4b88) !important;
    color: #ffffff !important;
    border-color: transparent !important;
  }

  body .site-header.premium-header .header-auth .btn-contact {
    background: var(--v325-violet-deep) !important;
    color: #ffffff !important;
    border-color: transparent !important;
  }

  body .site-header.premium-header .premium-header-bottom {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    gap: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
  }

  /* The empty ad slot was reserving 300px and pushing the menu sideways. */
  body .site-header.premium-header .header-ad {
    display: none !important;
    width: 0 !important;
    flex: 0 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .site-header.premium-header .header-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
  }

  body .site-header.premium-header .nav-menu,
  body .site-header.premium-header .wx-primary-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    width: 100% !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body .site-header.premium-header .nav-menu li,
  body .site-header.premium-header .wx-primary-menu li {
    margin: 0 !important;
    padding: 0 !important;
  }

  body .site-header.premium-header .nav-menu li a,
  body .site-header.premium-header .wx-primary-menu li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: var(--v325-ink) !important;
    -webkit-text-fill-color: var(--v325-ink) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    opacity: 1 !important;
  }

  body .site-header.premium-header .nav-menu li a:hover,
  body .site-header.premium-header .nav-menu li a:focus,
  body .site-header.premium-header .nav-menu .current-menu-item > a {
    background: #eeeafe !important;
    color: var(--v325-violet-deep) !important;
    -webkit-text-fill-color: var(--v325-violet-deep) !important;
  }
}

/* ============================================================
   HOMEPAGE GRID: SIDEBAR NO LONGER CREATES A VERTICAL VOID
============================================================ */
body.home .home-grid,
body.front-page .home-grid,
body.page-template-front-page .home-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  grid-template-areas:
    "top sidebar"
    "content sidebar" !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

body.home .home-left-top,
body.front-page .home-left-top,
body.page-template-front-page .home-left-top {
  grid-area: top !important;
}

body.home .home-right.main-right,
body.front-page .home-right.main-right,
body.page-template-front-page .home-right.main-right {
  grid-area: sidebar !important;
  align-self: stretch !important;
  width: 320px !important;
  min-width: 320px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-left: 1px solid var(--v325-line) !important;
}

body.home .home-left-content,
body.front-page .home-left-content,
body.page-template-front-page .home-left-content {
  grid-area: content !important;
}

body.home .home-left,
body.front-page .home-left,
body.page-template-front-page .home-left,
body.home .home-left-top,
body.front-page .home-left-top,
body.page-template-front-page .home-left-top,
body.home .home-left-content,
body.front-page .home-left-content,
body.page-template-front-page .home-left-content {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* ---------- Hero visibility and edge alignment ---------- */
body .fp-hero,
body.home .fp-hero,
body.front-page .fp-hero,
body.page-template-front-page .fp-hero,
body.home .home-left > .fp-hero,
body.front-page .home-left > .fp-hero,
body.page-template-front-page .home-left > .fp-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
  align-items: stretch !important;
  gap: 24px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 30px 32px !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v325-line) !important;
  background:
    radial-gradient(circle at 92% 4%, rgba(239, 91, 120, .13), transparent 23rem),
    radial-gradient(circle at 8% 100%, rgba(35, 159, 145, .12), transparent 21rem),
    linear-gradient(135deg, #f0ecff 0%, #fff7fa 56%, #eefaf8 100%) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  opacity: 1 !important;
}

body .fp-hero::before,
body .fp-hero::after {
  display: none !important;
  content: none !important;
}

body .fp-hero-copy,
body.home .fp-hero-copy,
body.front-page .fp-hero-copy,
body.page-template-front-page .fp-hero-copy {
  display: block !important;
  align-self: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
}

body .fp-hero .fp-kicker,
body.home .fp-hero .fp-kicker,
body.front-page .fp-hero .fp-kicker,
body.page-template-front-page .fp-hero .fp-kicker {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  padding: 8px 12px !important;
  background: #e4f8f5 !important;
  color: #9a2d27 !important;
  -webkit-text-fill-color: #9a2d27 !important;
  border: 1px solid rgba(35, 159, 145, .24) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .075em !important;
  opacity: 1 !important;
}

body .fp-hero h1,
body.home .fp-hero h1,
body.front-page .fp-hero h1,
body.page-template-front-page .fp-hero h1 {
  display: block !important;
  max-width: 820px !important;
  margin: 0 0 14px !important;
  color: var(--v325-violet-deep) !important;
  -webkit-text-fill-color: var(--v325-violet-deep) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  font-size: clamp(2.35rem, 3.45vw, 4rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.042em !important;
}

body .fp-hero p,
body.home .fp-hero p,
body.front-page .fp-hero p,
body.page-template-front-page .fp-hero p {
  display: block !important;
  max-width: 760px !important;
  margin: 0 !important;
  color: #5d576e !important;
  -webkit-text-fill-color: #5d576e !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
}

body .fp-hero-proof span {
  color: #49435c !important;
  -webkit-text-fill-color: #49435c !important;
  opacity: 1 !important;
}

body .fp-hero-destinations {
  align-self: stretch !important;
  margin: 0 !important;
  padding: 18px !important;
  background: rgba(255, 255, 255, .86) !important;
  border: 1px solid rgba(89, 70, 200, .14) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(55, 42, 118, .08) !important;
  opacity: 1 !important;
}

body .fp-hero-destinations-head > span,
body .fp-hero-destination-card strong {
  color: var(--v325-violet-deep) !important;
  -webkit-text-fill-color: var(--v325-violet-deep) !important;
  opacity: 1 !important;
}

body .fp-hero-destination-card em {
  color: #6b6579 !important;
  -webkit-text-fill-color: #6b6579 !important;
  opacity: 1 !important;
}

/* ============================================================
   ZERO OUTER GAP BETWEEN HOMEPAGE SECTIONS
============================================================ */
body.home .home-left-top > section,
body.front-page .home-left-top > section,
body.page-template-front-page .home-left-top > section,
body.home .home-left-content > section,
body.front-page .home-left-content > section,
body.page-template-front-page .home-left-content > section,
body.home .home-right > section,
body.front-page .home-right > section,
body.page-template-front-page .home-right > section,
body.home .cc-strip,
body.front-page .cc-strip,
body.page-template-front-page .cc-strip,
body.home .fp-register-cta,
body.front-page .fp-register-cta,
body.page-template-front-page .fp-register-cta,
body.home .banner-wrap,
body.front-page .banner-wrap,
body.page-template-front-page .banner-wrap,
body.home .listing-block,
body.front-page .listing-block,
body.page-template-front-page .listing-block,
body.home .fp-trust-strip,
body.front-page .fp-trust-strip,
body.page-template-front-page .fp-trust-strip,
body.home .fp-seo-content,
body.front-page .fp-seo-content,
body.page-template-front-page .fp-seo-content,
body.home .side-panel.mini-section,
body.front-page .side-panel.mini-section,
body.page-template-front-page .side-panel.mini-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

/* Keep internal breathing room while removing external voids. */
body .cc-strip {
  padding: 12px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v325-line) !important;
  box-shadow: none !important;
}

body .fp-register-cta {
  padding: 22px 24px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v325-line) !important;
  box-shadow: none !important;
}

body .banner-wrap {
  padding: 16px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v325-line) !important;
  box-shadow: none !important;
}

body .listing-block {
  padding: 24px 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v325-line) !important;
  box-shadow: none !important;
  background: #ffffff !important;
}

body .fp-trust-strip,
body .fp-seo-content {
  padding: 26px 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v325-line) !important;
  box-shadow: none !important;
}

body.home .home-right .side-panel.mini-section,
body.front-page .home-right .side-panel.mini-section,
body.page-template-front-page .home-right .side-panel.mini-section {
  padding: 18px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v325-line) !important;
  box-shadow: none !important;
  background: #ffffff !important;
}

/* Sidebar card text and images remain readable. */
body .home-right .panel-title,
body .home-right .mini-title,
body .home-right .mini-subtitle,
body .home-right .mini-profile,
body .home-right .mini-profile * {
  opacity: 1 !important;
  visibility: visible !important;
}

body .home-right .panel-title,
body .home-right .mini-title {
  color: var(--v325-violet-deep) !important;
  -webkit-text-fill-color: var(--v325-violet-deep) !important;
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1200px) and (min-width: 901px) {
  body .site-header.premium-header .premium-header-inner {
    grid-template-columns: 190px minmax(0, 1fr) !important;
  }

  body .site-header.premium-header .header-logo {
    width: 190px !important;
    min-width: 190px !important;
    padding: 12px !important;
  }

  body .site-header.premium-header .lp10-site-logo {
    width: 164px !important;
    max-width: 164px !important;
  }

  body .site-header.premium-header .nav-menu li a {
    padding: 0 7px !important;
    font-size: 12px !important;
  }

  body.home .home-grid,
  body.front-page .home-grid,
  body.page-template-front-page .home-grid {
    grid-template-columns: minmax(0, 1fr) 290px !important;
  }

  body.home .home-right.main-right,
  body.front-page .home-right.main-right,
  body.page-template-front-page .home-right.main-right {
    width: 290px !important;
    min-width: 290px !important;
  }

  body .fp-hero {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  body.home .home-grid,
  body.front-page .home-grid,
  body.page-template-front-page .home-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "top"
      "sidebar"
      "content" !important;
    width: 100% !important;
  }

  body.home .home-right.main-right,
  body.front-page .home-right.main-right,
  body.page-template-front-page .home-right.main-right {
    width: 100% !important;
    min-width: 0 !important;
    border-left: 0 !important;
  }

  body .fp-hero,
  body.home .fp-hero,
  body.front-page .fp-hero,
  body.page-template-front-page .fp-hero {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px 18px !important;
    border-radius: 0 !important;
  }

  body .fp-hero h1 {
    font-size: clamp(2rem, 8.6vw, 3.1rem) !important;
  }

  body .cc-strip,
  body .fp-register-cta,
  body .banner-wrap,
  body .listing-block,
  body .fp-trust-strip,
  body .fp-seo-content {
    border-radius: 0 !important;
  }
}

@media (max-width: 560px) {
  body .fp-hero {
    padding: 21px 15px !important;
  }

  body .fp-hero h1 {
    font-size: 2.05rem !important;
    line-height: 1.06 !important;
  }

  body .fp-hero p {
    font-size: 15px !important;
  }

  body .fp-hero-destinations {
    padding: 14px !important;
    border-radius: 14px !important;
  }

  body .cc-strip,
  body .fp-register-cta,
  body .banner-wrap,
  body .listing-block,
  body .fp-trust-strip,
  body .fp-seo-content {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
