/*
 * Amelia shared popup layout 1.0.0 — GPL-2.0-or-later.
 * Based on the working desktop layout observed on the site on 12.10.2026.
 * Match the booking form itself, including catalog and manual/button popups.
 * Keep Amelia's native touch/mobile layout.
 */
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) .el-overlay-dialog {
    align-items: center;
    justify-content: center;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) .el-dialog {
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    width: 1216px !important;
    max-width: calc(100vw - 48px) !important;
    height: min(960px, calc(100vh - 48px)) !important;
    height: min(960px, calc(100dvh - 48px)) !important;
    max-height: calc(100vh - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
    margin: auto !important;
    padding: 0 !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) .el-dialog__header {
    flex: 0 0 auto;
    min-height: 0;
    padding: 0;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) .el-dialog__headerbtn {
    top: 12px;
    right: 12px;
    z-index: 10;
    color: #1a2c37 !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) .el-dialog__headerbtn i {
    color: inherit !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) .el-dialog__body {
    flex: 1 1 0;
    min-height: 0;
    padding: 0 !important;
    overflow: hidden;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container.am-fs__wrapper {
    min-height: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs__main {
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
    max-width: none !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs__main-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs__main-heading {
    flex: 0 0 auto;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs__main-inner > div[show-cart] {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-height: 0;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs__main-content {
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden auto;
    height: auto !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs__main-footer {
    flex: 0 0 auto;
    position: static !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs-dt__calendar {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-fs__pas-app-content {
    width: 100%;
    min-width: 0;
    height: auto;
    max-height: none;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__wrapper {
    display: grid !important;
    grid-template: "header ." "duration ." "zone ." "calendar slots" / minmax(0, 520px) minmax(220px, 1fr);
    column-gap: 24px;
    align-items: start;
    width: 100%;
    min-width: 0;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__header {
    display: grid !important;
    grid-area: header;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 12px;
    width: 100%;
    min-width: 0;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__header > .am-select-wrapper {
    width: 100%;
    min-width: 0;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__duration { grid-area: duration; }
  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__time-zone { grid-area: zone; }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc {
    grid-area: calendar;
    width: 100%;
    min-width: 0;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__slots-wrapper {
    grid-area: slots;
    min-width: 0;
    overflow: visible;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__slots {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-content: start;
    align-items: stretch;
    max-width: 328px !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc__slots-item {
    min-width: 0;
    width: 100% !important;
    max-width: none !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc .fc-view-harness {
    height: 288px !important;
    min-height: 288px !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc .fc-scrollgrid-sync-table {
    height: 240px !important;
    min-height: 240px !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc .fc-daygrid-body,
  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc .fc-col-header,
  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc .fc-scrollgrid-sync-table {
    width: 100% !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc .fc-scrollgrid-sync-table > tbody > tr {
    height: 40px !important;
  }

  .am-dialog-popup.amelia-v2-booking:has(#amelia-container.am-fs__wrapper) #amelia-container .am-advsc .am-advsc__dayGridMonth-cell .fc-daygrid-day-frame {
    height: 32px !important;
    min-height: 32px !important;
  }
}
