/* CHENNAI UI FIXES v3.2.7 */

:root {
  --v327-page: #faf9ff;
  --v327-white: #ffffff;
  --v327-soft: #f4f1ff;
  --v327-ink: #29243d;
  --v327-muted: #665f75;
  --v327-violet: #5946c8;
  --v327-violet-deep: #382b82;
  --v327-coral: #ef5b78;
  --v327-teal: #239f91;
  --v327-line: rgba(62,48,120,.14);
  --v327-shadow: 0 12px 34px rgba(55,42,118,.09);
}

/* Header: banner between logo and smaller search, centered menu */
@media (min-width:901px) {
  body .site-header.premium-header .premium-header-top {
    display:grid !important;
    grid-template-columns:minmax(220px,300px) minmax(220px,340px) minmax(280px,1fr) !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
    padding:7px 16px !important;
    background:#fff !important;
  }

  body .site-header.premium-header .header-ad {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:300px !important;
    height:42px !important;
    flex:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid var(--v327-line) !important;
    border-radius:10px !important;
    box-shadow:none !important;
  }

  body .site-header.premium-header .header-ad a,
  body .site-header.premium-header .header-ad img {
    display:block !important;
    width:100% !important;
    height:100% !important;
  }

  body .site-header.premium-header .header-ad img {
    object-fit:cover !important;
    object-position:center !important;
  }

  body .site-header.premium-header .header-search {
    width:100% !important;
    max-width:340px !important;
    min-width:220px !important;
    margin:0 !important;
  }

  body .site-header.premium-header .callglin-smart-search-form {
    grid-template-columns:minmax(0,1fr) 68px !important;
    height:40px !important;
  }

  body .site-header.premium-header .header-search input {
    height:40px !important;
    padding:0 13px !important;
    font-size:13px !important;
  }

  body .site-header.premium-header .header-search button {
    width:68px !important;
    height:40px !important;
    padding:0 10px !important;
    font-size:12px !important;
  }

  body .site-header.premium-header .header-auth {
    justify-content:flex-end !important;
  }

  body .site-header.premium-header .premium-header-bottom,
  body .site-header.premium-header .header-nav {
    justify-content:center !important;
  }

  body .site-header.premium-header .nav-menu,
  body .site-header.premium-header .wx-primary-menu {
    justify-content:center !important;
    width:auto !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Browse by location: full light palette */
body .loc-page,
body .loc-page.loc-page-compact,
body .chennai-loc-page {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px 18px 34px !important;
  background:
    radial-gradient(circle at 4% 2%, rgba(89,70,200,.055), transparent 26rem),
    radial-gradient(circle at 96% 4%, rgba(239,91,120,.05), transparent 24rem),
    var(--v327-page) !important;
  color:var(--v327-ink) !important;
}

body .loc-compact-hero,
body .loc-popular-strip,
body .loc-directory-shell,
body .loc-no-results {
  max-width:1500px !important;
  background:var(--v327-white) !important;
  background-image:none !important;
  color:var(--v327-ink) !important;
  border:1px solid var(--v327-line) !important;
  box-shadow:var(--v327-shadow) !important;
  backdrop-filter:none !important;
}

body .loc-compact-hero {
  background:
    radial-gradient(circle at 94% 10%, rgba(239,91,120,.10), transparent 20rem),
    radial-gradient(circle at 8% 100%, rgba(35,159,145,.09), transparent 20rem),
    linear-gradient(135deg,#f0ecff 0%,#fff7fa 58%,#eefaf8 100%) !important;
}

body .loc-compact-hero::before { display:none !important; content:none !important; }

body .loc-kicker {
  background:#fff0f4 !important;
  color:var(--v327-coral) !important;
  -webkit-text-fill-color:var(--v327-coral) !important;
  border-color:rgba(239,91,120,.28) !important;
}

body .loc-compact-hero h1 {
  color:var(--v327-violet-deep) !important;
  -webkit-text-fill-color:var(--v327-violet-deep) !important;
  text-shadow:none !important;
}

body .loc-compact-hero p {
  color:var(--v327-muted) !important;
  -webkit-text-fill-color:var(--v327-muted) !important;
}

body .loc-compact-tools {
  background:rgba(255,255,255,.88) !important;
  border-color:var(--v327-line) !important;
  box-shadow:0 12px 30px rgba(55,42,118,.08) !important;
}

body .loc-mini-search {
  background:#fff !important;
  border-color:rgba(239,91,120,.30) !important;
  box-shadow:none !important;
}

body .loc-mini-search span,
body .loc-mini-search input {
  color:var(--v327-ink) !important;
  -webkit-text-fill-color:var(--v327-ink) !important;
}

body .loc-mini-search input::placeholder {
  color:#847d91 !important;
  -webkit-text-fill-color:#847d91 !important;
}

body .loc-compact-stats div {
  background:linear-gradient(145deg,#f5f2ff,#fff) !important;
  border-color:var(--v327-line) !important;
}

body .loc-compact-stats strong,
body .loc-strip-title strong,
body .loc-directory-label span,
body .loc-feature-card span,
body .loc-city-name,
body .loc-letter-head h2,
body .loc-letter-head span {
  color:var(--v327-violet-deep) !important;
  -webkit-text-fill-color:var(--v327-violet-deep) !important;
}

body .loc-compact-stats span,
body .loc-directory-label strong,
body .loc-feature-card small,
body .loc-city-card small,
body .loc-city-card em {
  color:var(--v327-muted) !important;
  -webkit-text-fill-color:var(--v327-muted) !important;
}

body .loc-popular-strip,
body .loc-directory-shell,
body .loc-az-nav,
body .loc-letter-block {
  background:#fff !important;
  border-color:var(--v327-line) !important;
  box-shadow:var(--v327-shadow) !important;
}

body .loc-strip-title span,
body .loc-directory-label b,
body .loc-toolbar-note {
  color:var(--v327-coral) !important;
  -webkit-text-fill-color:var(--v327-coral) !important;
}

body .loc-feature-card,
body .loc-city-card {
  background:linear-gradient(145deg,#fff,#f7f5ff) !important;
  color:var(--v327-ink) !important;
  border-color:var(--v327-line) !important;
  box-shadow:0 7px 20px rgba(55,42,118,.06) !important;
}

body .loc-feature-card::after,
body .loc-city-card::after {
  background:rgba(89,70,200,.08) !important;
}

body .loc-feature-card:hover,
body .loc-city-card:hover {
  background:#f1edff !important;
  border-color:rgba(89,70,200,.34) !important;
}

body .loc-toolbar {
  background:rgba(247,245,255,.96) !important;
  border-color:var(--v327-line) !important;
  box-shadow:0 8px 22px rgba(55,42,118,.07) !important;
}

body .loc-toolbar-note {
  background:#fff0f4 !important;
  border-color:rgba(239,91,120,.24) !important;
}

body .loc-az-nav a {
  background:var(--v327-soft) !important;
  color:var(--v327-violet-deep) !important;
  -webkit-text-fill-color:var(--v327-violet-deep) !important;
  border-color:var(--v327-line) !important;
}

/* Sponsored ads: remove black/grey surfaces */
body .banner-wrap,
body .banner-main,
body .normal-banner-main,
body .normal-banner-heading,
body .location-banner-wrap,
body .agency-banner-wrap,
body .tour-banner-wrap,
body .couple-banner-wrap,
body .trans-banner-wrap,
body .wx-banner-wrap,
body .city-banner-main,
body .city-banner-grid,
body .city-banner-heading,
body .city-sponsored-content,
body .city-sponsored-disclosure,
body .city-sponsored-summary-action,
body .city-sponsored-summary-title,
body .ad-banners {
  background-color:#fff !important;
  background-image:none !important;
  color:var(--v327-ink) !important;
  border-color:var(--v327-line) !important;
  box-shadow:none !important;
}

body .banner-wrap,
body .location-banner-wrap,
body .agency-banner-wrap,
body .tour-banner-wrap,
body .couple-banner-wrap,
body .trans-banner-wrap,
body .wx-banner-wrap,
body .city-banner-main,
body .city-sponsored-content {
  border-top:1px solid var(--v327-line) !important;
  border-bottom:1px solid var(--v327-line) !important;
}

body .banner-heading,
body .normal-banner-heading,
body .banner-mobile-toggle,
body .city-banner-heading,
body .city-sponsored-summary-title,
body .city-sponsored-disclosure {
  color:var(--v327-violet-deep) !important;
  -webkit-text-fill-color:var(--v327-violet-deep) !important;
}

body .normal-banner-item,
body .city-banner-item,
body .city-banner-item--no-link,
body .banner-grid > a {
  background:#fff !important;
  border-color:var(--v327-line) !important;
  box-shadow:0 7px 20px rgba(55,42,118,.06) !important;
}

/* Footer logo: white contrast panel */
body .site-footer .footer-logo,
body .premium-footer .footer-logo {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  max-width:340px !important;
  margin:0 0 18px !important;
  padding:10px 14px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.26) !important;
  border-radius:14px !important;
  box-shadow:0 8px 24px rgba(25,19,66,.16) !important;
}

body .site-footer .footer-logo-link,
body .premium-footer .footer-logo-link {
  display:inline-flex !important;
  width:100% !important;
  background:#fff !important;
}

body .site-footer .lp10-footer-logo-img,
body .premium-footer .lp10-footer-logo-img {
  display:block !important;
  width:290px !important;
  max-width:100% !important;
  height:auto !important;
  max-height:72px !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
}

@media (max-width:1180px) and (min-width:901px) {
  body .site-header.premium-header .premium-header-top {
    grid-template-columns:minmax(190px,250px) minmax(200px,280px) minmax(250px,1fr) !important;
    gap:9px !important;
  }
  body .site-header.premium-header .header-ad { max-width:250px !important; }
  body .site-header.premium-header .header-search { max-width:280px !important; }
}

@media (max-width:900px) {
  body .loc-page,
  body .loc-page.loc-page-compact,
  body .chennai-loc-page { padding:12px 10px 26px !important; }

  body .site-footer .footer-logo { max-width:290px !important; }
  body .site-footer .lp10-footer-logo-img { width:250px !important; }
}
