/*
 * EASY HOME modern interaction system
 * Dark graphite controls, controlled gold accents, calm motion.
 * This file is intentionally last in the cascade so every feature module
 * inherits one interaction language without changing its data or behaviour.
 */
:root {
  --eh-button-graphite: #1d2024;
  --eh-button-charcoal: #2a2e33;
  --eh-button-black: #111316;
  --eh-button-silver: #e9ebed;
  --eh-button-line: #bfc4c9;
  --eh-button-focus: #b59a62;
  --eh-button-motion: cubic-bezier(.22, .7, .25, 1);
  --eh-button-duration: 220ms;
}

button, a, select, input, textarea { -webkit-tap-highlight-color: transparent; }
button, select { font-family: inherit; }

/* Primary actions: quiet graphite, never bright gold. */
.button, .header-find-home,
.button-primary, .button-success, .button-danger,
.tour-controls .button-primary,
.final-cta .button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid #3d434a !important;
  border-radius: 8px !important;
  background: var(--eh-button-graphite) !important;
  color: #f5f6f7 !important;
  box-shadow: 0 3px 0 #111316, 0 8px 20px #11131618;
  font: 600 12px/1.3 var(--eh-font, 'DM Sans', sans-serif);
  letter-spacing: .018em;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  transition: background var(--eh-button-duration) var(--eh-button-motion), border-color var(--eh-button-duration) var(--eh-button-motion), box-shadow var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion), color var(--eh-button-duration) var(--eh-button-motion);
}
.button::before, .header-find-home::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 30%, #ffffff12 48%, transparent 67%);
  transform: translateX(-130%);
  transition: transform 520ms var(--eh-button-motion);
  pointer-events: none;
}
.button > *, .header-find-home > * { position: relative; z-index: 1; }
.button:hover:not(:disabled), .header-find-home:hover,
.button:focus-visible, .header-find-home:focus-visible {
  background: var(--eh-button-charcoal) !important;
  border-color: #697078 !important;
  color: #fff !important;
  box-shadow: 0 4px 0 #111316, 0 11px 24px #1113162b;
  transform: translateY(-2px);
}
.button:hover:not(:disabled)::before, .header-find-home:hover::before { transform: translateX(130%); }
.button:active:not(:disabled), .header-find-home:active { transform: translateY(1px) scale(.985); box-shadow: 0 1px 0 #111316, 0 4px 10px #11131618; }
.button:focus-visible, .header-find-home:focus-visible { outline: 2px solid var(--eh-button-focus) !important; outline-offset: 3px; }
.button:disabled, .button[aria-disabled='true'], .header-find-home[aria-disabled='true'] { background: #8d9297 !important; border-color: #8d9297 !important; color: #e3e5e7 !important; box-shadow: none; cursor: not-allowed; opacity: .58; transform: none; }
.button.button-small { min-height: 38px; padding: 9px 14px; font-size: 11px; }
.button.full { width: 100%; }
.button .booking-ui-icon, .button svg, .header-find-home svg { width: 15px; height: 15px; flex: 0 0 15px; transition: transform var(--eh-button-duration) var(--eh-button-motion); }
.button:hover:not(:disabled) .booking-ui-icon, .button:hover:not(:disabled) svg, .header-find-home:hover svg { transform: translateX(3px); }
.journey-back:hover .booking-ui-icon, .journey-back:hover svg { transform: translateX(-3px); }

/* Secondary and ghost controls. */
.button-secondary, .button-ghost,
.fp-control, .fp-home-choice, .fp-type-control,
.showcase-dialog-header button, .showcase-dialog-controls button {
  min-height: 42px;
  border: 1px solid var(--eh-button-line) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--eh-button-graphite) !important;
  box-shadow: none;
  transition: background var(--eh-button-duration) var(--eh-button-motion), border-color var(--eh-button-duration) var(--eh-button-motion), color var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion);
}
.button-secondary:hover:not(:disabled), .button-ghost:hover:not(:disabled),
.fp-control:hover:not(:disabled), .fp-home-choice:hover, .fp-type-control:hover,
.showcase-dialog-header button:hover, .showcase-dialog-controls button:hover { background: #f0f2f3 !important; border-color: #7e858c !important; color: #15181b !important; transform: translateY(-1px); }
.button-ghost { background: transparent !important; color: inherit !important; border-color: currentColor !important; box-shadow: none; }
.button-ghost:hover:not(:disabled) { background: #ffffff12 !important; color: inherit !important; border-color: #fff !important; }
.hero-redesign .hero-actions .button-secondary { background: transparent !important; border-color: #ffffff55 !important; color: #f1f3f4 !important; }
.hero-redesign .hero-actions .button-secondary:hover:not(:disabled) { background: #ffffff12 !important; border-color: #ffffffaa !important; color: #fff !important; }

/* Text actions keep a directional cue without becoming another pill button. */
.text-link, .card-link, .hero-secondary-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 5px 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #4a5056;
  font: 600 12px/1.35 var(--eh-font, 'DM Sans', sans-serif);
  text-decoration: none;
  cursor: pointer;
  transition: color var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion);
}
.text-link::after, .card-link::after, .hero-secondary-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 1px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform var(--eh-button-duration) var(--eh-button-motion); opacity: .65; }
.text-link:hover, .card-link:hover, .hero-secondary-link:hover { color: #171a1d; transform: translateX(2px); text-decoration: none; }
.text-link:hover::after, .card-link:hover::after, .hero-secondary-link:hover::after { transform: scaleX(1); }
.text-link:focus-visible, .card-link:focus-visible, .hero-secondary-link:focus-visible { outline: 2px solid var(--eh-button-focus) !important; outline-offset: 4px; }
.text-link span, .card-link span, .hero-secondary-link span { transition: transform var(--eh-button-duration) var(--eh-button-motion); }
.text-link:hover span, .card-link:hover span, .hero-secondary-link:hover span { transform: translateX(3px); }
.journey-back:hover { transform: translateX(-2px); }
.journey-back:hover span { transform: translateX(-3px); }
.hero-redesign .text-link, .hero-redesign .hero-secondary-link, .film-story .text-link { color: #e6e8ea; }
.hero-redesign .text-link:hover, .hero-redesign .hero-secondary-link:hover, .film-story .text-link:hover { color: #fff; }
.card-link { color: #353b41; }

/* Header actions belong to the same family without visually competing with the CTA. */
.header .nav-item > a, .header-login, .header-language-trigger {
  min-height: 34px;
  padding: 7px 2px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #34383d;
  transition: color var(--eh-button-duration) var(--eh-button-motion), opacity var(--eh-button-duration) var(--eh-button-motion);
}
.header .nav-item > a:hover, .header .nav-item > a[aria-expanded='true'], .header-login:hover, .header-login[aria-expanded='true'], .header-language-trigger:hover, .header-language-trigger[aria-expanded='true'] { color: #111316 !important; }
.header-notification-trigger, .search-open {
  min-height: 34px;
  min-width: 34px;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #373c42;
  transition: background var(--eh-button-duration) var(--eh-button-motion), border-color var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion);
}
.header-notification-trigger:hover, .header-notification-trigger[aria-expanded='true'], .search-open:hover { background: #eceeef !important; border-color: #c7cbd0 !important; color: #171a1d !important; transform: translateY(-1px); }
.header .nav-item > a:focus-visible, .header-login:focus-visible, .header-language-trigger:focus-visible, .header-notification-trigger:focus-visible, .search-open:focus-visible { outline: 2px solid var(--eh-button-focus) !important; outline-offset: 3px; }
.header .header-find-home { box-shadow: 0 3px 0 #111316, 0 7px 16px #1113161e; }
.language-picker select, .header-premium-panel select {
  appearance: none;
  min-height: 34px;
  padding: 7px 28px 7px 10px !important;
  border: 1px solid #c7cbd0 !important;
  border-radius: 7px !important;
  background-color: #fff !important;
  color: #30353a !important;
  background-image: linear-gradient(45deg, transparent 50%, #646a70 50%), linear-gradient(135deg, #646a70 50%, transparent 50%);
  background-position: calc(100% - 12px) 50%, calc(100% - 8px) 50%;
  background-size: 4px 4px, 4px 4px;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: border-color var(--eh-button-duration) var(--eh-button-motion), background var(--eh-button-duration) var(--eh-button-motion), box-shadow var(--eh-button-duration) var(--eh-button-motion);
}
.language-picker select:hover, .header-premium-panel select:hover { border-color: #7e858c !important; background-color: #f5f6f7 !important; }
.language-picker select:focus-visible, .header-premium-panel select:focus-visible { outline: 2px solid var(--eh-button-focus) !important; outline-offset: 3px; box-shadow: none; }

/* Tabs, filters and location controls: neutral at rest, graphite when selected. */
.bhk-filter button, .portal-tabs button, .admin-nav button, .image-library-filters button,
.section-switcher button, .apartment-tools button, .assistant-prompts button,
.company-directory-jumps a, .cd-button, .gallery-arrow, .explorer-toggle, .map-pin, .favorite-chip {
  border: 1px solid #c8cdd1 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #4c5359 !important;
  box-shadow: none;
  transition: background var(--eh-button-duration) var(--eh-button-motion), border-color var(--eh-button-duration) var(--eh-button-motion), color var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion);
}
.bhk-filter button:hover, .portal-tabs button:hover, .admin-nav button:hover, .image-library-filters button:hover,
.section-switcher button:hover, .apartment-tools button:hover, .assistant-prompts button:hover,
.company-directory-jumps a:hover, .cd-button:hover, .gallery-arrow:hover, .explorer-toggle:hover, .map-pin:hover, .favorite-chip:hover { border-color: #7e858c !important; background: #f0f2f3 !important; color: #171a1d !important; transform: translateY(-1px); }
.bhk-filter button.selected, .portal-tabs button.selected, .admin-nav button.selected,
.image-library-filters button[aria-pressed='true'], .section-switcher button[aria-pressed='true'],
.apartment-tools button[aria-pressed='true'], .explorer-toggle[aria-pressed='true'], .cd-button-primary,
.fp-home-choice[aria-selected='true'], .fp-type-control[aria-pressed='true'] { background: var(--eh-button-graphite) !important; border-color: var(--eh-button-graphite) !important; color: #fff !important; }
.bhk-filter button:focus-visible, .portal-tabs button:focus-visible, .admin-nav button:focus-visible, .image-library-filters button:focus-visible,
.section-switcher button:focus-visible, .apartment-tools button:focus-visible, .assistant-prompts button:focus-visible, .cd-button:focus-visible, .gallery-arrow:focus-visible, .explorer-toggle:focus-visible, .map-pin:focus-visible, .favorite-chip:focus-visible { outline: 2px solid var(--eh-button-focus) !important; outline-offset: 3px; }

/* Guided location and flat cards. */
#selection .steps { grid-template-columns: repeat(8, minmax(0, 1fr)); }
#selection .step { border-radius: 7px !important; transition: background var(--eh-button-duration) var(--eh-button-motion), color var(--eh-button-duration) var(--eh-button-motion), border-color var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion); }
#selection .step:hover:not(:disabled) { background: #eef0f1; transform: translateY(-1px); }
#selection .step.active { background: var(--eh-button-graphite) !important; color: #fff !important; }
#selection .step:focus-visible, #selection .choice:focus-visible, #selection .selection-path-chip:focus-visible { outline: 2px solid var(--eh-button-focus) !important; outline-offset: 3px; }
#selection .choice { border-radius: 8px !important; background: #f5f6f6 !important; border-color: #d4d8da !important; transition: background var(--eh-button-duration) var(--eh-button-motion), border-color var(--eh-button-duration) var(--eh-button-motion), color var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion), box-shadow var(--eh-button-duration) var(--eh-button-motion); }
#selection .choices { transition: opacity .12s var(--eh-button-motion), transform .12s var(--eh-button-motion); }
#selection .choices.is-advancing { opacity: .45; transform: translateY(4px); }
#selection .choice:hover:not(:disabled) { background: #fff !important; border-color: #767e85 !important; box-shadow: 0 6px 16px #11131612; transform: translateY(-2px); }
#selection .choice.is-selected { background: var(--eh-button-graphite) !important; border-color: var(--eh-button-graphite) !important; color: #fff !important; box-shadow: 0 5px 0 #111316, 0 12px 22px #11131620; }
#selection .choice.is-selected small, #selection .choice.is-selected .choice-counts span, #selection .choice.is-selected .choice-counts strong { color: #e1e4e6 !important; }
#selection .flat-grid-home { border-radius: 10px !important; background: #fff !important; }
#selection .flat-grid-home.is-selected { background: var(--eh-button-graphite) !important; border-color: var(--eh-button-graphite) !important; color: #fff !important; box-shadow: 0 5px 0 #111316, 0 12px 22px #11131620; }
#selection .flat-grid-home.is-selected .flat-grid-area, #selection .flat-grid-home.is-selected .flat-grid-heading strong small { color: #d7dcdf !important; }
#selection .flat-grid-home.unavailable { cursor: not-allowed; }
#selection .flat-grid-home.unavailable:hover { transform: none; box-shadow: none; border-color: #d8dcde !important; }
#selection .selection-navigation .button { min-width: 180px; }
#selection .selection-navigation .text-link { min-height: 40px; }
#selection .home-select-shell select, .choice-search { border-radius: 7px !important; }
#selection .home-select-shell select:focus-visible, .choice-search:focus-visible { outline: 2px solid var(--eh-button-focus) !important; outline-offset: 3px; box-shadow: none; }

/* Inputs/selects: a calm custom appearance instead of browser chrome. */
input:not([type='checkbox']):not([type='radio']):not([type='range']), textarea, select {
  border-radius: 7px !important;
  border-color: #c8cdd1 !important;
  transition: border-color var(--eh-button-duration) var(--eh-button-motion), box-shadow var(--eh-button-duration) var(--eh-button-motion), background var(--eh-button-duration) var(--eh-button-motion);
}
input:not([type='checkbox']):not([type='radio']):not([type='range']):hover, textarea:hover, select:hover { border-color: #90979d !important; }
input:not([type='checkbox']):not([type='radio']):not([type='range']):focus, textarea:focus, select:focus { border-color: #7a8289 !important; box-shadow: 0 0 0 3px #b59a6230 !important; outline: none !important; }

/* Loading, success and error states are available to forms and future API calls. */
.button.is-loading, .button[aria-busy='true'], .cd-button.is-loading, .cd-button[aria-busy='true'] { color: transparent !important; pointer-events: none; cursor: progress; }
.button.is-loading::after, .button[aria-busy='true']::after, .cd-button.is-loading::after, .cd-button[aria-busy='true']::after { content: ''; position: absolute; width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; color: #eef0f1; animation: eh-button-spin 700ms linear infinite; }
.button.is-success, .button[data-state='success'] { background: #294238 !important; border-color: #6e9480 !important; color: #f2faf4 !important; }
.button.is-error, .button[data-state='error'] { background: #3b2e2c !important; border-color: #97736c !important; color: #fff5f2 !important; }
.button.is-success::before, .button.is-error::before { display: none; }
@keyframes eh-button-spin { to { transform: rotate(360deg); } }

/* Global country master: India is actionable; every other country is visibly future-phase. */
#selection .country-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#selection .country-choice { min-height: 132px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; text-align: left; }
#selection .country-choice-top { display: flex; align-items: flex-start; gap: 11px; }
#selection .country-flag { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; font-size: 23px; line-height: 1; }
#selection .country-choice-name { display: grid; gap: 4px; min-width: 0; }
#selection .country-choice-name strong { font-size: 15px; line-height: 1.2; }
#selection .country-choice-name small { color: #737a80; font-size: 11px; line-height: 1.25; }
#selection .country-official-mark { display: grid; place-items: center; width: 26px; height: 26px; margin: -38px 0 0 auto; border: 1px dashed #c7ccd0; border-radius: 6px; color: #8a9298; font-size: 15px; }
#selection .country-official-mark img { width: 18px; height: 18px; object-fit: contain; }
#selection .choice-selected-indicator { display: grid; place-items: center; width: 18px; height: 18px; margin-left: auto; border-radius: 50%; background: #d8e5d6; color: #356d53; font-size: 11px; font-weight: 800; opacity: 0; transform: scale(.7); transition: opacity var(--eh-button-duration) var(--eh-button-motion), transform var(--eh-button-duration) var(--eh-button-motion); }
#selection .choice.is-selected .choice-selected-indicator { opacity: 1; transform: scale(1); }
#selection .choice-entity-mark { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 24px; height: 24px; border: 1px dashed #c7ccd0; border-radius: 6px; color: #8a9298; font-size: 14px; }
#selection .choice-entity-mark + .choice-heading { padding-right: 30px; }
#selection .country-choice-meta { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 7px; color: #596168; font-size: 11px; font-weight: 700; letter-spacing: .03em; }
#selection .country-choice-meta small { grid-column: 2 / -1; color: #7a8187; font-size: 10px; font-weight: 500; letter-spacing: 0; }
#selection .country-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #9ca3a8; }
#selection .country-choice.status-available-now .country-status-dot { background: #428466; box-shadow: 0 0 0 3px #4284661c; }
#selection .country-choice.status-available-now .country-choice-meta > span:nth-child(2) { color: #356d53; }
#selection .country-choice.status-coming-soon { background: #f0f1f2 !important; }
#selection .country-choice.status-coming-soon:hover:not(:disabled) { background: #fff !important; }
#selection .country-choice.is-selected .country-choice-name small, #selection .country-choice.is-selected .country-choice-meta, #selection .country-choice.is-selected .country-choice-meta small { color: #dce2e5 !important; }
#selection .country-choice.is-selected .country-status-dot { background: #d7b66e; box-shadow: 0 0 0 3px #d7b66e25; }
.country-availability-notice { display: grid; gap: 6px; margin-top: 14px; padding: 15px 17px; border: 1px solid #b6bdc2; border-inline-start: 3px solid #7a8289; border-radius: 8px; background: #f3f4f4; color: #3f474d; }
.country-availability-notice strong { display: flex; align-items: center; gap: 8px; color: #171a1d; font-size: 14px; }
.country-availability-notice strong .booking-ui-icon { width: 17px; height: 17px; color: #676f76; }
.country-availability-notice span { font-size: 14px; line-height: 1.5; }
.country-availability-notice small { color: #737b82; font-size: 12px; line-height: 1.45; }
#selection .journey-auto-note { margin-left: auto; color: #697178; font-size: 11px; }
#selection .selection-platform-status { margin-top: 18px; }
.selection-platform-status { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 10px 16px; padding: 13px 16px; border: 1px solid #d1d5d8; border-radius: 8px; background: #f6f7f7; color: #4c545a; }
.selection-platform-status span { color: #6d747a; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.selection-platform-status strong { color: #1d2428; font-size: 14px; }
.selection-platform-status small { color: #697178; font-size: 12px; line-height: 1.4; }
html[dir='rtl'] #selection .country-choice, html[dir='rtl'] .country-availability-notice { text-align: right; }
html[dir='rtl'] #selection .country-choice-top { flex-direction: row-reverse; }
html[dir='rtl'] #selection .country-choice-meta { grid-template-columns: 1fr auto auto; }
html[dir='rtl'] #selection .country-choice-meta small { grid-column: 1 / 3; }
html[dir='rtl'] #selection .choice-entity-mark { right: auto; left: 12px; }

@media (max-width: 680px) {
  .button, .header-find-home { min-height: 44px; padding-inline: 15px; }
  .button.full { width: 100%; }
  #selection .selection-navigation .button { flex: 1 1 100%; min-width: 0; }
  #selection .selection-navigation .text-link { min-height: 42px; }
  .company-directory-jumps a, .cd-button { min-height: 42px; }
  #selection .country-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #selection .country-choice { min-height: 124px; }
  .selection-platform-status { grid-template-columns: 1fr; gap: 4px; }
  #selection .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #selection .journey-auto-note { margin-left: 0; }
}

@media (max-width: 420px) {
  #selection .country-choices { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .button:hover:not(:disabled), .header-find-home:hover, .text-link:hover, .card-link:hover, .choice:hover:not(:disabled) { transform: none; }
}
