/* Editorial enquiry section. Load after style.css and popup.css.
   Existing form IDs, validation, dropdown, calendar and notification mode remain. */
#contact.enquiry-section {
  --enquiry-ink: #402d31; --enquiry-muted: #786569; --enquiry-line: #d9c9c5;
  display: grid; grid-template-columns: minmax(230px, .85fr) minmax(0, 1.7fr);
  column-gap: clamp(32px, 6vw, 90px); align-content: center;
  padding: 72px max(5%, calc((100vw - 1280px)/2));
  background: #f9f5f0; color: var(--enquiry-ink); text-align: left;
  border-block: 1px solid #e5dad5; overflow: visible;
}
#contact *, #contact *::before, #contact *::after { box-sizing: border-box; }
#contact > .section-label {
  grid-column: 1; align-self: end; margin: 0 0 22px; padding: 0;
  color: #875463; font: 600 10px/1.5 'Segoe UI', sans-serif;
  text-transform: uppercase; letter-spacing: .24em; text-align: left;
}
#contact #enquirySectionTitle {
  grid-column: 1; align-self: start; margin: 0; max-width: 360px;
  color: var(--enquiry-ink); font: 400 clamp(40px, 4.4vw, 64px)/1.03 Georgia, serif;
  letter-spacing: -.045em; text-align: left; text-wrap: balance;
}
#contact #enquirySectionIntro {
  grid-column: 1; align-self: start; max-width: 310px; margin: 24px 0 0; padding: 22px 0 0;
  border-top: 1px solid var(--enquiry-line); color: var(--enquiry-muted);
  font: 14px/1.8 'Segoe UI', Arial, sans-serif; text-align: left;
}
#contact .enquiry-card {
  grid-column: 2; grid-row: 1 / 4; align-self: center;
  width: 100%; max-width: none; margin: 0; padding: 0 0 0 32px;
  border: 0; border-left: 1px solid var(--enquiry-line); border-radius: 0;
  background: transparent; box-shadow: none; overflow: visible;
}
#contact #enquiryForm { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 24px; }
#contact .enquiry-field { min-width: 0; gap: 8px; margin: 0; }
#contact .enquiry-field label { color: var(--enquiry-ink); font: 600 11px/1.5 'Segoe UI',sans-serif; letter-spacing: .04em; }
#contact .enquiry-field label span { color: #975466; }
#contact .enquiry-field input:not([type=hidden]),
#contact .enquiry-field textarea,
#contact .custom-select-trigger,
#contact .calendar-trigger,
#contact .phone-input-wrapper {
  width: 100%; min-width: 0; min-height: 48px; height: auto; margin: 0;
  padding: 12px 13px; border: 1px solid #d9c9c5; border-radius: 3px;
  background: #fffdfa; color: var(--enquiry-ink); box-shadow: none;
  font: 14px/1.5 'Segoe UI',Arial,sans-serif; letter-spacing: normal;
}
#contact .enquiry-field input::placeholder, #contact .enquiry-field textarea::placeholder { color: #85777a; opacity: 1; }
#contact .phone-input-wrapper { display: flex; align-items: center; gap: 10px; padding: 0 13px; }
#contact .phone-country-code { flex: none; color: #875463; padding-right: 10px; border-right: 1px solid var(--enquiry-line); font-size: 13px; }
#contact .phone-input-wrapper #enquiryPhone { min-width: 0; border: 0; padding: 12px 0; background: transparent; box-shadow: none; }
#contact .calendar-display, #contact #customSelectText { color: var(--enquiry-muted); }
#contact .calendar-trigger, #contact .custom-select-trigger { display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
#contact .calendar-trigger-icon, #contact .custom-select-arrow { color: #875463; }
#contact .enquiry-field-full { grid-column: 1 / -1; }
#contact #enquiryMessage { height: 94px; min-height: 94px; resize: vertical; }
#contact .enquiry-submit { grid-column: 1 / -1; display: flex; flex-direction: row; align-items: center; gap: 20px; margin: 0; padding: 0; }
#contact #enquirySubmitButton {
  flex: 0 0 200px; width: auto; min-height: 48px; padding: 14px 24px;
  border: 1px solid #703b50; border-radius: 999px; background: #703b50;
  color: #fff; box-shadow: none; cursor: pointer;
  font: 600 11px/1.4 'Segoe UI',sans-serif; letter-spacing: .12em;
}
#contact #enquirySubmitButton:hover { background: #54293b; transform: none; }
#contact .enquiry-privacy { margin: 0; max-width: 235px; color: var(--enquiry-muted); text-align: left; font: 11px/1.6 'Segoe UI',sans-serif; }
#contact input:focus-visible, #contact textarea:focus-visible, #contact button:focus-visible { outline: 2px solid #92586d; outline-offset: 3px; }
#contact .phone-input-wrapper:focus-within { outline: 2px solid #92586d; outline-offset: 3px; }
#contact .phone-input-wrapper input:focus-visible { outline: none; }
#contact .custom-select-menu, #contact .calendar-popup { background: #fffdfa; border: 1px solid var(--enquiry-line); border-radius: 8px; box-shadow: 0 12px 32px rgb(64 45 49 / 14%); }
#contact .custom-select-option { color: var(--enquiry-ink); background: transparent; font-size: 13px; }
#contact .custom-select-option:hover, #contact .custom-select-option.selected { background: #f3e3e7; color: #703b50; }
#contact .calendar-month, #contact .calendar-weekdays span, #contact .calendar-day { color: var(--enquiry-ink); }
#contact .calendar-day:hover, #contact .calendar-day.selected { background: #703b50; color: white; }
#contact .calendar-day.disabled { color: #a89c9b; background: transparent; }
#contact .calendar-nav, #contact .calendar-footer-button { color: #703b50; background: #f7e9ed; border-color: var(--enquiry-line); }
#contact .enquiry-context { margin: 0 0 20px; padding: 14px; border: 1px solid var(--enquiry-line); background: #f5e8eb; color: var(--enquiry-ink); }
#contact .enquiry-context strong, #contact .enquiry-context p, #contact .enquiry-context-label { color: var(--enquiry-ink); }
#contact #enquiryForm.coupon-notification-mode { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
#contact #enquiryForm.coupon-notification-mode .enquiry-field:has(#enquiryPhone) { grid-column: 1 / -1 !important; }
@media(max-width: 900px) {
  #contact.enquiry-section { grid-template-columns: 1fr; padding: 48px 6%; }
  #contact > .section-label, #contact #enquirySectionTitle, #contact #enquirySectionIntro { grid-column: 1; max-width: 620px; }
  #contact #enquirySectionTitle { font-size: 46px; }
  #contact #enquirySectionIntro { margin-top: 18px; padding-top: 16px; }
  #contact .enquiry-card { grid-column: 1; grid-row: auto; margin-top: 30px; padding: 0; border: 0; }
}
@media(max-width: 540px) {
  #contact #enquirySectionTitle { font-size: 39px; }
  #contact #enquiryForm, #contact #enquiryForm.coupon-notification-mode { grid-template-columns: 1fr !important; gap: 18px; }
  #contact .enquiry-submit { flex-direction: column; align-items: stretch; gap: 12px; }
  #contact #enquirySubmitButton { flex: auto; width: 100%; }
  #contact .enquiry-privacy { max-width: none; text-align: center; }
  #contact .calendar-popup { width: min(310px, 100%); right: 0; }
}
/* Clear the legacy absolute positioning of the phone prefix. */
#contact .phone-country-code { position: static; inset: auto; transform: none; display: block; }
#contact .phone-input-wrapper #enquiryPhone { flex: 1; width: 0; }
#contact .enquiry-submit { justify-content: flex-start; }

/* Editorial thank-you dialog */
#enquirySuccessOverlay { padding: 20px; background: rgb(43 29 35 / 55%); backdrop-filter: blur(6px); }
#enquirySuccessOverlay *, #enquirySuccessOverlay *::before, #enquirySuccessOverlay *::after { animation: none !important; transition: none !important; box-sizing: border-box; }
#enquirySuccessOverlay #enquirySuccessCard {
  width: min(440px, 100%); max-width: 440px; min-height: 0;
  max-height: calc(100dvh - 40px); overflow: auto;
  padding: 42px 32px 28px; border: 1px solid #e8d8d5; border-radius: 20px;
  background: #fffaf5; box-shadow: 0 24px 80px rgb(43 29 35 / 24%);
  color: #402d31; text-align: center; transform: none !important;
}
#enquirySuccessCard::before, #enquirySuccessCard::after { content: none !important; }
#enquirySuccessOverlay .dhanyavaad-animation,
#enquirySuccessOverlay .success-lotus,
#enquirySuccessOverlay .success-greeting-decoration,
#enquirySuccessOverlay .success-progress { display: none !important; }
#enquirySuccessOverlay .success-status { display: flex; justify-content: center; gap: 12px; margin: 0 0 18px; }
#enquirySuccessOverlay .success-status span { background: #d7babf; width: 22px; height: 1px; }
#enquirySuccessOverlay #successStatusText { color: #875463; font: 600 10px/1.5 'Segoe UI',sans-serif; letter-spacing: .18em; margin: 0; }
#enquirySuccessOverlay #enquirySuccessTitle { margin: 0 0 16px; padding: 0; color: #402d31; background: none; -webkit-text-fill-color: #402d31; font: 400 48px/1.1 Georgia,serif; letter-spacing: -.04em; opacity: 1; transform: none; }
#enquirySuccessOverlay #successMessage { margin: 0; color: #786569; font: 14px/1.7 'Segoe UI',sans-serif; opacity: 1; transform: none; }
#enquirySuccessOverlay .success-greeting { margin: 24px 0; padding: 18px 0; border-block: 1px solid #e5d5d0; background: none; border-radius: 0; opacity: 1; transform: none; }
#enquirySuccessOverlay #successQuote { margin: 0; color: #875463; font: italic 18px/1.5 Georgia,serif; }
#enquirySuccessOverlay #successContinueButton { display: flex; align-items: center; justify-content: center; gap: 18px; width: 100%; min-height: 46px; margin: 0; padding: 12px 22px; border: 1px solid #703b50; border-radius: 999px; background: #703b50; color: white; font: 600 12px/1.4 'Segoe UI',sans-serif; cursor: pointer; box-shadow: none; transform: none; }
#enquirySuccessOverlay #successContinueButton * { color: inherit; cursor: pointer; }
#enquirySuccessOverlay #successCloseButton { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid #e5d5d0; border-radius: 50%; color: #402d31; background: #fff; font-size: 24px; cursor: pointer; transform: none; }
#enquirySuccessOverlay .success-redirect-text { margin: 12px 0 0; color: #786569; font: 11px/1.5 'Segoe UI',sans-serif; }
#enquirySuccessOverlay .success-redirect-text strong { color: #703b50; }
#enquirySuccessOverlay .success-tagline { display: none; }
#enquirySuccessOverlay button:focus-visible { outline: 2px solid #875463; outline-offset: 4px; }
@media(max-width:480px) { #enquirySuccessOverlay #enquirySuccessCard { padding: 42px 22px 24px; } }

/* Calendar stacking and visible redirect countdown — corrective patch. */
#contact .enquiry-field { position: relative; z-index: auto; }
#contact .enquiry-field:has(.custom-calendar.open) { z-index: 100 !important; }
#contact .enquiry-field:has(.custom-enquiry-select.open) { z-index: 90 !important; }
#contact .custom-calendar.open { position: relative; z-index: 100 !important; }
#contact .calendar-popup { z-index: 101 !important; }
#enquirySuccessOverlay .success-status,
#enquirySuccessOverlay #successContinueButton,
#enquirySuccessOverlay .success-redirect-text,
#enquirySuccessOverlay .success-progress {
  opacity: 1 !important; visibility: visible !important; transform: none !important;
}
#enquirySuccessOverlay .success-progress {
  display: block !important; height: 4px !important;
  margin: 12px auto 0 !important; width: 100% !important;
  background: #ebdbdf; border: 0; border-radius: 999px; overflow: hidden;
}
#enquirySuccessOverlay #successProgressBar {
  width: 0%; height: 100%; background: #875463; box-shadow: none;
}
#enquirySuccessOverlay.counting #successProgressBar {
  animation: enquiryRedirectProgress 6s linear forwards !important;
}
@keyframes enquiryRedirectProgress { from { width: 0%; } to { width: 100%; } }
#enquirySuccessOverlay #enquirySuccessCard { height: auto !important; min-height: 0 !important; }

