/* Shared contracts expose semantic state and geometry without flattening the
 * source-specific page families into a single visual implementation. */
.lamilka-detail__booking {
  --lm-control-height-context: var(--lm-control-height-booking);
  --lamilka-booking-control-height: var(--lm-control-height-booking) !important;
}
.lamilka-transfer {
  --lm-control-height-context: var(--lm-control-height-transfer);
  --lamilka-control-height: var(--lm-control-height-transfer);
}
.lamilka-contact { --lm-control-height-context: var(--lm-control-height-contact); }
.lamilka-private__contact,
.lamilka-service {
  --lm-control-height-context: var(--lm-control-height-service);
  --lamilka-control-height: var(--lm-control-height-service);
}
.lamilka-phone-field { --lamilka-control-height: var(--lm-control-height-context, var(--lm-control-height-contact)); }

:where(.lamilka-phone-field, .lamilka-hotel-field, .lamilka-date-field) {
  --lm-control-border: var(--lm-color-border-strong);
  --lm-control-focus: var(--lm-color-focus);
  --lm-control-surface: var(--lm-color-surface);
  --lm-control-text: var(--lm-color-text);
}

:where(.lamilka-detail__booking, .lamilka-transfer, .lamilka-contact, .lamilka-private__contact, .lamilka-service)
  :where(input, select, textarea, button):disabled { cursor: not-allowed; }

:where(.lamilka-detail__booking, .lamilka-transfer, .lamilka-contact, .lamilka-private__contact, .lamilka-service)
  :where(input, select, textarea, button):focus-visible { outline-color: var(--lm-color-focus); }

:where(.lamilka-tour-card, .lamilka-detail__booking, .lamilka-transfer__booking, .lamilka-contact form, .lamilka-service form) {
  --lm-card-border: var(--lm-color-border);
  --lm-card-surface: var(--lm-color-surface-elevated);
}

:where(.lamilka-detail__faq, .lamilka-about__faq, .lamilka-service__faq) {
  --lm-faq-border: var(--lm-color-border);
  --lm-faq-surface: var(--lm-color-surface);
}

:where(.lamilka-notice, .lamilka-navigation-form-message, .lamilka-contact__form-footer) {
  --lm-notice-error: var(--lm-color-error);
  --lm-notice-success: var(--lm-color-success);
  --lm-notice-warning: var(--lm-color-warning);
}

:where(.lamilka-phone-field__menu, .lamilka-hotel-field__results, .lamilka-transfer__hotel-results, .lamilka-date-field__calendar) {
  z-index: var(--lm-dropdown-z);
}

:where(.lamilka-detail dialog) { z-index: var(--lm-dialog-z); }

.lamilka-antispam-field {
  height: 1px !important;
  left: -10000px !important;
  overflow: hidden !important;
  position: absolute !important;
  top: auto !important;
  width: 1px !important;
}
