/**
 * Alya Hotel System — systematic responsive layer (1.2.90)
 *
 * Breakpoints (use consistently):
 *   Desktop: ≥992px
 *   Tablet:  768–991px (WP admin chrome often uses 782px)
 *   Mobile:  ≤767px (≤575px fine-tuning)
 *
 * Print CSS from 1.2.89 (admin / front / qa-polish) is intentionally untouched.
 */

/* -------------------------------------------------------------------------- */
/* Shared: no horizontal overflow + sensible box model                         */
/* -------------------------------------------------------------------------- */

.alya-hs,
.alya-hs-admin,
.alya-hs-traveler-admin,
.wrap.alya-hs-admin,
.alya-hs-crm-shell,
.alya-hs-crm-subnav-host,
.alya-hs-voucher-wrap,
.alya-hs-modal__dialog {
  max-width: 100%;
  box-sizing: border-box;
}

.alya-hs,
.alya-hs-admin,
.alya-hs-traveler-admin,
.wrap.alya-hs-admin {
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  .alya-hs,
  .alya-hs-admin,
  .alya-hs-traveler-admin,
  .wrap.alya-hs-admin {
    overflow-x: hidden;
  }
}

.alya-hs *,
.alya-hs *::before,
.alya-hs *::after,
.alya-hs-admin *,
.alya-hs-admin *::before,
.alya-hs-admin *::after,
.alya-hs-traveler-admin *,
.alya-hs-traveler-admin *::before,
.alya-hs-traveler-admin *::after {
  box-sizing: border-box;
}

.alya-hs img,
.alya-hs svg,
.alya-hs video,
.alya-hs-admin img,
.alya-hs-admin svg,
.alya-hs-traveler-admin img,
.alya-hs-traveler-admin svg {
  max-width: 100%;
  height: auto;
}

/* Table scroll shells (desktop + tablet keep real tables) */
.alya-hs-table-scroll,
.alya-hs-admin .alya-hs-table-scroll,
.alya-hs-traveler-admin .alya-hs-table-scroll,
.alya-hs-admin--pro .alya-hs-chart-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* -------------------------------------------------------------------------- */
/* Desktop ≥992px — sticky first column only when scrolling tables help        */
/* -------------------------------------------------------------------------- */

@media (min-width: 992px) {
  .alya-hs-admin--pro .alya-hs-table-scroll table.alya-hs-bookings-table th.alya-hs-col-sticky,
  .alya-hs-admin--pro .alya-hs-table-scroll table.alya-hs-bookings-table td.alya-hs-col-sticky {
    position: sticky;
    left: 0;
    z-index: 2;
  }
}

/* -------------------------------------------------------------------------- */
/* Tablet ≤991px (front + shared)                                              */
/* -------------------------------------------------------------------------- */

@media (max-width: 991px) {
  /* Classic search → 2-col, full-width destination / ages / CTA */
  .alya-hs-search--classic .alya-hs-search__form,
  .alya-hs-search:not(.alya-hs-search--home) .alya-hs-search__form {
    grid-template-columns: 1fr 1fr !important;
    align-items: start !important;
  }

  .alya-hs-search--classic .alya-hs-search__field--destination,
  .alya-hs-search--classic .alya-hs-search__field--child-ages,
  .alya-hs-search--classic .alya-hs-search__actions,
  .alya-hs-search:not(.alya-hs-search--home) .alya-hs-search__field--destination,
  .alya-hs-search:not(.alya-hs-search--home) .alya-hs-search__field--child-ages,
  .alya-hs-search:not(.alya-hs-search--home) .alya-hs-search__actions {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  /* Home glass search — stack row (fixes mobile/tablet overflow) */
  .alya-hs-search--home {
    padding-left: max(0.75rem, env(safe-area-inset-left));
    padding-right: max(0.75rem, env(safe-area-inset-right));
  }

  .alya-hs-search--home .alya-hs-search__card {
    padding: 20px !important;
    border-radius: 36px !important;
    overflow: hidden;
  }

  .alya-hs-search--home .alya-hs-search__form {
    overflow: hidden;
    border-radius: 28px !important;
  }

  .alya-hs-search--home .alya-hs-search__row {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow: visible;
    width: 100%;
  }

  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field,
  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field--advance-panel,
  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 80px;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    padding: 12px 16px 12px 3.1rem !important;
    transform: none !important;
  }

  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field:not(:last-child)::after,
  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field--advance-panel::after {
    display: none !important;
  }

  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field:hover,
  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field--advance-panel:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field--destination {
    border-radius: 28px 28px 0 0 !important;
  }

  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field--advance-panel {
    padding: 12px 16px !important;
  }

  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__actions {
    border-bottom: 0 !important;
    border-radius: 0 0 28px 28px !important;
    padding: 16px !important;
    min-height: 0;
    height: auto !important;
  }

  .alya-hs-search--home .alya-hs-btn--navy,
  .alya-hs-search--home .alya-hs-btn--search.alya-hs-btn--navy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 64px !important;
    min-height: 44px;
    border-radius: 24px !important;
  }

  .alya-hs-search--home .alya-hs-search__dropdown,
  .alya-hs-search--home .alya-hs-search__dropdown--advance {
    inset-inline: 0 !important;
    min-width: 0 !important;
    max-width: 100%;
    width: 100%;
  }

  /* Results / hotel cards */
  .alya-hs-results__list {
    grid-template-columns: 1fr !important;
  }

  .alya-hs-card,
  .alya-hs-card--v2 {
    grid-template-columns: 1fr;
  }

  .alya-hs-card__price-panel,
  .alya-hs-card--v2 .alya-hs-card__price-panel {
    border-left: none;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }

  .alya-hs-hotel__facilities .alya-hs-facilities {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* Booking / preconfirm / confirmation grids */
  .alya-hs-booking__header {
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .alya-hs-prefs {
    width: 100%;
  }

  /* Modal */
  .alya-hs-modal {
    padding: 0.75rem !important;
  }

  .alya-hs-modal__dialog {
    width: min(920px, calc(100% - 1.5rem)) !important;
    max-width: calc(100% - 1.5rem) !important;
  }

  /* Admin / Traveler CRM — tablet */
  .alya-hs-admin .alya-hs-cards,
  .alya-hs-traveler-admin .alya-hs-admin .alya-hs-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alya-hs-crm-dashboard .alya-hs-cards--kpi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alya-hs-dash-grid {
    grid-template-columns: 1fr !important;
  }

  .alya-hs-admin--pro .alya-hs-hotel-detail .alya-hs-cards,
  .alya-hs-admin--pro .alya-hs-cards--modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alya-hs-crm-subnav__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
    scrollbar-width: thin;
  }

  .alya-hs-crm-subnav__link {
    flex: 0 0 auto;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.9rem;
  }

  .alya-hs-admin--pro .alya-hs-booking-filters__field--grow {
    flex: 1 1 100%;
    min-width: 0;
  }

  .alya-hs-admin--pro .alya-hs-chart {
    min-width: 360px;
  }

  .alya-hs-log-message {
    max-width: none;
  }
}

/* -------------------------------------------------------------------------- */
/* WP admin folded / phone chrome ≈782px                                       */
/* -------------------------------------------------------------------------- */

@media (max-width: 782px) {
  .alya-hs-admin--pro .alya-hs-admin-stickybar {
    top: 46px;
  }

  .alya-hs-traveler-admin .alya-hs-admin-stickybar {
    top: 0;
  }

  .alya-hs-admin--pro .alya-hs-quick-actions .button,
  .alya-hs-admin--pro .alya-hs-booking-filters__actions .button,
  .alya-hs-row-actions .button,
  .alya-hs-traveler-admin .alya-hs-row-actions .button {
    min-height: 44px;
  }

  .alya-hs-admin--pro .alya-hs-quick-actions .button {
    flex: 1 1 calc(50% - 0.5rem);
    justify-content: center;
  }

  .alya-hs-admin--pro .alya-hs-booking-filters__actions {
    margin-left: 0;
    width: 100%;
  }

  .alya-hs-admin--pro .alya-hs-booking-filters__actions .button {
    flex: 1 1 auto;
    justify-content: center;
  }

  .alya-hs-admin .alya-hs-log-filters,
  .alya-hs-traveler-admin .alya-hs-log-filters,
  .alya-hs-admin .alya-hs-admin-filters,
  .alya-hs-traveler-admin .alya-hs-admin-filters {
    flex-direction: column;
    align-items: stretch;
  }

  .alya-hs-admin .alya-hs-log-filters > *,
  .alya-hs-traveler-admin .alya-hs-log-filters > *,
  .alya-hs-admin .alya-hs-admin-filters > *,
  .alya-hs-traveler-admin .alya-hs-admin-filters > * {
    width: 100%;
    max-width: 100%;
  }

  .alya-hs-admin .alya-hs-facts,
  .alya-hs-traveler-admin .alya-hs-facts,
  .alya-hs-traveler-admin .alya-hs-admin .alya-hs-facts {
    grid-template-columns: 1fr;
    gap: 0.15rem 0;
  }

  .alya-hs-admin--pro .alya-hs-table-scroll table.alya-hs-bookings-table th.alya-hs-col-sticky,
  .alya-hs-admin--pro .alya-hs-table-scroll table.alya-hs-bookings-table td.alya-hs-col-sticky {
    position: static;
    box-shadow: none;
  }

  .alya-hs-admin--pro .alya-hs-pay-ops--compact {
    max-width: none;
  }

  /* form-table stack in Traveler + admin */
  .alya-hs-admin table.form-table > tbody > tr > th,
  .alya-hs-traveler-admin table.form-table > tbody > tr > th {
    display: block;
    width: auto;
    padding-bottom: 0.15rem;
  }

  .alya-hs-admin table.form-table > tbody > tr > td,
  .alya-hs-traveler-admin table.form-table > tbody > tr > td {
    display: block;
    width: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .alya-hs-admin .regular-text,
  .alya-hs-admin input[type="text"],
  .alya-hs-admin input[type="search"],
  .alya-hs-admin input[type="email"],
  .alya-hs-admin input[type="url"],
  .alya-hs-admin input[type="password"],
  .alya-hs-admin input[type="number"],
  .alya-hs-admin select,
  .alya-hs-admin textarea,
  .alya-hs-traveler-admin .regular-text,
  .alya-hs-traveler-admin input[type="text"],
  .alya-hs-traveler-admin input[type="search"],
  .alya-hs-traveler-admin input[type="email"],
  .alya-hs-traveler-admin select,
  .alya-hs-traveler-admin textarea {
    max-width: 100%;
    width: 100%;
  }

  .alya-hs-admin--pro .alya-hs-settings-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
  }

  .alya-hs-admin--pro .alya-hs-settings-tabs .nav-tab {
    margin: 0;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* -------------------------------------------------------------------------- */
/* Mobile ≤767px                                                               */
/* -------------------------------------------------------------------------- */

@media (max-width: 767px) {
  /* Classic search → single column */
  .alya-hs-search--classic .alya-hs-search__hero,
  .alya-hs-search:not(.alya-hs-search--home) .alya-hs-search__hero {
    padding: 2rem 1rem 1.5rem;
    border-radius: 0 0 28px 28px;
    min-height: auto;
  }

  .alya-hs-search--classic .alya-hs-search__form,
  .alya-hs-search:not(.alya-hs-search--home) .alya-hs-search__form {
    grid-template-columns: 1fr !important;
    padding: 1.1rem;
  }

  .alya-hs-search__hero--compact {
    padding: 1.5rem 1rem 1.35rem !important;
    border-radius: 0 0 24px 24px;
  }

  /* Touch targets */
  .alya-hs-btn,
  .alya-hs-btn--search,
  .alya-hs-control,
  .alya-hs-results__controls .alya-hs-control,
  .alya-hs-search__tab,
  .alya-hs-modal__close,
  .alya-hs-admin .button,
  .alya-hs-traveler-admin .button,
  .alya-hs-admin--pro .alya-hs-quick-actions .button,
  .alya-hs-log-filters .button,
  .alya-hs-booking-filters .button {
    min-height: 44px;
  }

  .alya-hs-search__form input,
  .alya-hs-search__form select,
  .alya-hs-booking input,
  .alya-hs-booking select,
  .alya-hs-history input {
    min-height: 44px;
  }

  /* Cards / rates / rooms */
  .alya-hs-card__price-panel .alya-hs-btn,
  .alya-hs-card--v2 .alya-hs-btn--open-hotel {
    width: 100%;
    min-width: 0;
  }

  .alya-hs-card--v2 .alya-hs-card__price-panel {
    flex-direction: column;
    align-items: stretch;
  }

  .alya-hs-rate {
    flex-direction: column;
  }

  .alya-hs-rate__action {
    align-items: stretch;
    width: 100%;
    text-align: left;
  }

  .alya-hs-hotel--v2 .alya-hs-hotel__header {
    flex-direction: column;
  }

  .alya-hs-hotel--v2 .alya-hs-hotel__header-price {
    text-align: left;
  }

  .alya-hs-hotel--v2 .alya-hs-hotel__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alya-hs-hotel--v2 .alya-hs-hotel__gallery img {
    height: 110px;
  }

  .alya-hs-hotel__contact-list,
  .alya-hs-hotel__nearby-list,
  .alya-hs-rates-grid {
    grid-template-columns: 1fr;
  }

  .alya-hs-hotel__facilities .alya-hs-facilities,
  .alya-hs-room__amenities .alya-hs-facilities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alya-hs-room__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alya-hs-booking {
    padding: 1.25rem 1rem;
  }

  .alya-hs-booking__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .alya-hs-booking__header-price {
    text-align: left;
  }

  .alya-hs-booking__summary dl > div,
  .alya-hs-preconfirm__grid > div,
  .alya-hs-confirmation__grid > div {
    grid-template-columns: 1fr;
  }

  .alya-hs-history-card__top {
    flex-direction: column;
  }

  .alya-hs-toast {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
  }

  .alya-hs-modal__dialog {
    padding: 1rem;
    max-height: 94vh;
    border-radius: 16px;
  }

  .alya-hs-prefs__field {
    min-width: 0;
    flex: 1 1 100%;
  }

  .alya-hs-search--home .alya-hs-search__dropdown-grid,
  .alya-hs-search--home .alya-hs-prefs--inline {
    grid-template-columns: 1fr;
  }

  /* Admin / Traveler — KPI + modules single/dual */
  .alya-hs-admin .alya-hs-cards,
  .alya-hs-traveler-admin .alya-hs-admin .alya-hs-cards,
  .alya-hs-crm-dashboard .alya-hs-cards--kpi,
  .alya-hs-admin--pro .alya-hs-hotel-detail .alya-hs-cards,
  .alya-hs-admin--pro .alya-hs-cards--modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .alya-hs-admin .alya-hs-kpi {
    font-size: 1.55rem;
  }

  .alya-hs-crm-dashboard .alya-hs-card--kpi .alya-hs-kpi {
    font-size: 1.4rem;
  }

  .alya-hs-admin--pro .alya-hs-chart {
    min-width: 280px;
  }

  .alya-hs-admin--pro .alya-hs-booking-filters {
    padding: 0.75rem;
  }

  .alya-hs-admin--pro .alya-hs-booking-filters__row {
    flex-direction: column;
    align-items: stretch;
  }

  .alya-hs-admin--pro .alya-hs-booking-filters__field,
  .alya-hs-admin--pro .alya-hs-booking-filters__field--grow,
  .alya-hs-admin--pro .alya-hs-booking-filters__field--narrow,
  .alya-hs-admin--pro .alya-hs-booking-filters__group {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
  }

  .alya-hs-admin--pro .alya-hs-booking-filters select,
  .alya-hs-admin--pro .alya-hs-booking-filters input[type="search"],
  .alya-hs-admin--pro .alya-hs-booking-filters input[type="number"],
  .alya-hs-admin--pro .alya-hs-booking-filters input[type="date"] {
    min-height: 44px;
    width: 100%;
  }

  /* Card-stack list tables that have a thead; key-value (th/td) tables keep scroll */
  .alya-hs-admin .alya-hs-table-scroll:has(.alya-hs-responsive-table thead),
  .alya-hs-traveler-admin .alya-hs-table-scroll:has(.alya-hs-responsive-table thead),
  .alya-hs-table-scroll:has(.alya-hs-responsive-table thead) {
    overflow: visible;
  }

  .alya-hs-admin .alya-hs-responsive-table:has(thead) thead,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) thead,
  .alya-hs-responsive-table:has(thead) thead {
    display: none;
  }

  .alya-hs-admin .alya-hs-responsive-table:has(thead),
  .alya-hs-admin .alya-hs-responsive-table:has(thead) tbody,
  .alya-hs-admin .alya-hs-responsive-table:has(thead) tr,
  .alya-hs-admin .alya-hs-responsive-table:has(thead) td,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead),
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) tbody,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) tr,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) td,
  .alya-hs-responsive-table:has(thead),
  .alya-hs-responsive-table:has(thead) tbody,
  .alya-hs-responsive-table:has(thead) tr,
  .alya-hs-responsive-table:has(thead) td {
    display: block;
    width: 100%;
  }

  .alya-hs-admin .alya-hs-responsive-table:has(thead) tbody tr,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) tbody tr,
  .alya-hs-responsive-table:has(thead) tbody tr {
    background: #fff;
    border: 1px solid #d8dee4;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
    margin: 0 0 0.85rem;
    padding: 0.75rem 0.9rem;
  }

  .alya-hs-admin .alya-hs-responsive-table:has(thead) td,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) td,
  .alya-hs-responsive-table:has(thead) td {
    border: 0;
    border-bottom: 1px solid #eef0f2;
    padding: 0.45rem 0;
    text-align: left;
  }

  .alya-hs-admin .alya-hs-responsive-table:has(thead) td:last-child,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) td:last-child,
  .alya-hs-responsive-table:has(thead) td:last-child {
    border-bottom: 0;
    padding-top: 0.65rem;
  }

  .alya-hs-admin .alya-hs-responsive-table:has(thead) td[data-label]:not([data-label=""])::before,
  .alya-hs-traveler-admin .alya-hs-responsive-table:has(thead) td[data-label]:not([data-label=""])::before,
  .alya-hs-responsive-table:has(thead) td[data-label]:not([data-label=""])::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #667085;
    margin-bottom: 0.15rem;
  }

  .alya-hs-admin .alya-hs-bookings-table .alya-hs-col-secondary,
  .alya-hs-admin .alya-hs-bookings-table .alya-hs-col-id,
  .alya-hs-bookings-table .alya-hs-col-secondary,
  .alya-hs-bookings-table .alya-hs-col-id {
    display: block;
  }

  .alya-hs-row-actions,
  .alya-hs-traveler-admin .alya-hs-row-actions {
    width: 100%;
  }

  .alya-hs-row-actions .button,
  .alya-hs-traveler-admin .alya-hs-row-actions .button {
    flex: 1 1 auto;
    text-align: center;
  }

  /* Maximize readable content width in WP admin on phone */
  .wrap.alya-hs-admin {
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .alya-hs-admin .alya-hs-card,
  .alya-hs-traveler-admin .alya-hs-admin .alya-hs-card {
    padding: 0.9rem 1rem;
  }

  .alya-hs-admin-title {
    flex-wrap: wrap;
  }

  .alya-hs-admin--pro .alya-hs-admin-stickybar {
    gap: 0.35rem;
    padding: 0.55rem 0.7rem;
  }

  /* Voucher / confirmation still readable (print rules unchanged) */
  .alya-hs-voucher,
  .alya-hs-voucher-wrap {
    max-width: 100%;
  }

  .alya-hs-confirmation__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .alya-hs-confirmation__actions .alya-hs-btn {
    width: 100%;
  }
}

/* -------------------------------------------------------------------------- */
/* Fine mobile ≤575px                                                          */
/* -------------------------------------------------------------------------- */

@media (max-width: 575px) {
  .alya-hs-search--home .alya-hs-search__card {
    padding: 12px !important;
    border-radius: 28px !important;
  }

  .alya-hs-search--home .alya-hs-search__tabs {
    width: 100%;
    padding: 6px;
    justify-content: flex-start;
    margin-bottom: 16px;
    border-radius: 20px;
  }

  .alya-hs-search--home .alya-hs-search__tab {
    height: 44px;
    min-height: 44px;
    padding: 0 20px;
    font-size: 13px;
  }

  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field {
    min-height: 70px;
    padding: 8px 16px 8px 3rem !important;
  }

  .alya-hs-search--home .alya-hs-btn--navy,
  .alya-hs-search--home .alya-hs-btn--search.alya-hs-btn--navy {
    height: 56px !important;
    font-size: 15px;
    border-radius: 20px !important;
  }

  .alya-hs-admin .alya-hs-cards,
  .alya-hs-traveler-admin .alya-hs-admin .alya-hs-cards,
  .alya-hs-crm-dashboard .alya-hs-cards--kpi,
  .alya-hs-admin--pro .alya-hs-hotel-detail .alya-hs-cards,
  .alya-hs-admin--pro .alya-hs-cards--modules {
    grid-template-columns: 1fr;
  }

  .alya-hs-admin--pro .alya-hs-quick-actions .button {
    flex: 1 1 100%;
  }

  .alya-hs-hotel--v2 .alya-hs-hotel__gallery {
    grid-template-columns: 1fr;
  }

  .alya-hs-results__controls {
    width: 100%;
    flex-direction: column;
  }

  .alya-hs-control {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
  }

  .alya-hs-room__amenities .alya-hs-facilities {
    grid-template-columns: 1fr;
  }
}

/* -------------------------------------------------------------------------- */
/* Reduced motion — keep layouts, soften hover transforms on small screens     */
/* -------------------------------------------------------------------------- */

@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .alya-hs-search--home .alya-hs-search__row > .alya-hs-search__field,
  .alya-hs-search--home .alya-hs-btn--navy,
  .alya-hs-card--v2 {
    transition: none !important;
    transform: none !important;
  }
}
