/* Typography and neutral palette from the K Raheja Corp Homes Helios page. */
@font-face {
  font-family: "Helios Playfair";
  src: url("../fonts/PlayfairDisplay.ttf") format("truetype");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helios Open Sans";
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --font-body: "Helios Open Sans", Arial, sans-serif;
  --font-heading: "Helios Playfair", Georgia, serif;
  --gold: #3a3a3a;
  --gold-hover: #595959;
  --gold-light: #4b4f58;
  --gold-dark: #222;
  --gold-rgb: 58, 58, 58;
  --gold-glow: 0 2px 12px rgb(0 0 0 / 8%);
  --gold-glow-lg: 0 4px 20px rgb(0 0 0 / 12%);
  --dark: #fff;
  --dark-deep: #f7f7f7;
  --dark-2: #eaeef0;
  --dark-rgb: 255, 255, 255;
  --text: #4b4f58;
  --text-muted: #656565;
  --bg: #fff;
  --bg-dark: #eaeef0;
  --border: #d9dddf;
  --popup-bg: #fff;
  --popup-bg-rgb: 255, 255, 255;
  --popup-bg-input: #f7f7f7;
  --radius: 2px;
  --radius-lg: 4px;
  --shadow: 0 4px 20px rgb(0 0 0 / 6%);
  --shadow-lg: 0 12px 36px rgb(0 0 0 / 10%);
}
body { font-family: var(--font-body); background: #fff; color: var(--text); }
button, input, select, textarea { font-family: var(--font-body); }
h1, h2, h3, h4, .logo-text, .bannerPrice,
.quotePopup .quoteTitle, .legalModalBody h3 {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.35;
  color: #3a3a3a;
}
.price-card-amount, .logo-text span { font-family: var(--font-body); }
.mainHeader { background: #fff; border-bottom: 1px solid var(--border); box-shadow: var(--shadow); }
.headerLogo img, .quotePopup .popupLogo, .thankyou-logo {
  filter: grayscale(1) brightness(.55) contrast(1.1);
}
.headerLink, .headerContact, .logo-text span { color: var(--text); }
.headerContact { border-color: #aaa; border-radius: 2px; }
.page-section { border-top: 1px solid #e4e6e7; }
.page-section::before, .page-section::after { display: none; }
.page-section--alt { background: #eaeef0; }
.section-title::after, .overviewTitle::after, .map-title::after {
  height: 1px;
  width: 56px;
  background: #aaa;
}
.bannerContentSection { background: #fff; }
.bannerLocationRow, .bannerPropertyDescription, .bannerPriceNote,
.quoteTitle, .quoteCheckboxWrapper span, .overviewDescription,
.highlightsList li, .carouselSlideTitle, .price-card-type,
.price-card-meta-label, .price-card-area, .price-card-amount,
.loc-card-list li, .loc-dot, .aboutSectionDescription,
.quotePopup .quoteCheckboxWrapper span, .legalModalBody {
  color: var(--text);
}
.bannerPriceNote, .price-card-meta-label { color: var(--text-muted); }
.bannerOfferPill { border-radius: 2px; background: #eaeef0; border-color: #d9dddf; }
.bannerPriceBox, .quoteForm { background: #f7f7f7; border-color: var(--border); border-radius: 3px; }
.quoteInput, .quotePhoneInput, .quoteSelect,
.quotePopup .quoteInput, .quotePopup .quotePhoneInput, .quotePopup .quoteSelect {
  color: var(--text);
  background: #fff;
  border-color: #c8cccf;
  border-radius: 2px;
}
.quoteSelect option, .quotePopup .quoteSelect option { color: var(--text); background: #fff; }
.quoteInput::placeholder, .quotePhoneInput::placeholder,
.quotePopup .quoteInput::placeholder, .quotePopup .quotePhoneInput::placeholder {
  color: #6c7075;
}
.quotePopup .quotePhoneWrapper { border-radius: 2px; border-color: #c8cccf; }
.quoteSubmit, .requestButton, .overviewRequestBrochureButton,
.amenitiesDownloadButton, .galleryDownloadButton { border-radius: 2px; }
.price-card { background: #fff; border-color: var(--border); border-radius: 3px; box-shadow: var(--shadow); }
.price-card:hover { box-shadow: var(--shadow-lg); }
.loc-card, .floorPlanCard { border-color: var(--border); border-radius: 3px; }
.floorPlanPrev, .floorPlanNext, .galleryPrev, .galleryNext,
.amenitiesPrev, .amenitiesNext { background: #3a3a3a; color: #fff; }
.loc-dot { background: #eaeef0; border-color: #b9bec1; }
.loc-dot.active { background: #3a3a3a; color: #fff; }
.mobileBottomBar { background: #fff; border-top: 1px solid var(--border); }
.mobileBottomBar a { color: var(--text); }
.quotePopupClose { background: #eee; color: #333; }
.quotePopupContent, .legalModalDialog { border-radius: 4px; }
.footerContainer { background: #333; --gold: #fff; --gold-light: #fff; }
.footerContainer, .footerRegistration, .footerAdvertiser, .footerProjectNumber,
.footerDisclaimer, .footerLinks { color: #d3d3d3; }
.footerDisclaimer { font-style: normal; }
.card { background: #fff; border: 1px solid var(--border); border-radius: 4px; box-shadow: var(--shadow-lg); }
.card p { color: var(--text); }
.card h1 { color: #3a3a3a; }
.card .backBtn, .card .phone_url { background: #3a3a3a; color: #fff; border-radius: 2px; }
.card .backBtn:hover { background: #595959; }
.legalModalBody a, .InnerSection a { color: #3a3a3a; text-decoration: underline; }
:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
.location-details-intro { margin-bottom: 22px; }
.location-details-intro h3 { font-size: clamp(1.4rem, 2vw, 1.8rem); margin-bottom: 8px; }
.location-details-intro p { font-size: .9rem; line-height: 1.65; color: var(--text-muted); }
.location-accordion { display: grid; gap: 12px; }
.location-category { border: 1px solid #d1d6d9; border-radius: 4px; background: #fff; overflow: hidden; }
.location-category summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
}
.location-category summary::-webkit-details-marker { display: none; }
.location-category summary:hover { background: #f7f7f7; }
.location-category summary:focus-visible { outline-offset: -3px; }
.location-category-heading { display: grid; gap: 5px; min-width: 0; }
.location-category-title { font-family: var(--font-heading); color: #3a3a3a; font-size: 1.2rem; line-height: 1.35; }
.location-category-subtitle { color: var(--text-muted); font-size: .8rem; line-height: 1.5; }
.location-category-chevron {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #555;
  border-bottom: 1.5px solid #555;
  transform: rotate(45deg);
  flex-shrink: 0;
}
.location-category[open] .location-category-chevron { transform: rotate(225deg); }
.location-category[open] summary { border-bottom: 1px solid #e4e6e7; }
.location-category-list { list-style: none; padding: 8px 20px 14px; margin: 0; }
.location-category-list li { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; font-size: .88rem; line-height: 1.5; color: var(--text); }
.location-category-list li + li { border-top: 1px solid #f0f0f0; }
.location-category-list li::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #757575; flex-shrink: 0; }
@media (max-width: 768px) {
  .price-container {
    grid-template-columns: minmax(0, 360px);
    justify-content: center;
    justify-items: center;
    padding-inline: 16px;
  }
  .price-card { width: 100%; max-width: 360px; margin-inline: auto; }
  .headerNav { background: #fff; }
  .bannerMainTitle { font-size: clamp(1.8rem, 7vw, 2.3rem); }
  .card { padding: 32px 22px; }
}
