/* APD 341 — luxury motion and date-selection polish */
@media (max-width: 767px) {
  html body.apd341-mobile-premium.apd186-search-modal-open {
    --apd341-ink:#222222;
    --apd341-line:#dddddd;
    --apd341-soft:#f5f5f5;
    --apd341-range:#ededed;
    --apd341-range-edge:#f8f8f8;
    --apd341-shadow-sm:0 4px 10px rgba(0,0,0,.04);
    --apd341-shadow-md:0 10px 24px rgba(0,0,0,.08);
    --apd341-shadow-lg:0 16px 34px rgba(0,0,0,.12);
    --apd341-ease:cubic-bezier(.22,1,.36,1);
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search > .apd5-search-field > button:first-child,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-mode > button,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-flexibility > button,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-duration > button,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-months [data-apd-flex-month],
  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer .apd176-footer-primary {
    transition:transform .2s var(--apd341-ease), box-shadow .24s var(--apd341-ease), background-color .2s var(--apd341-ease), border-color .2s var(--apd341-ease), color .2s var(--apd341-ease), opacity .2s var(--apd341-ease) !important;
    will-change:transform, box-shadow !important;
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search > .apd5-search-field > button:first-child:active,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer .apd176-footer-primary:active,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-flexibility > button:active,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-duration > button:active,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-months [data-apd-flex-month]:active {
    transform:scale(.982) !important;
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search > .apd5-search-field > button:first-child {
    box-shadow:0 10px 28px rgba(0,0,0,.03) !important;
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-date-panel,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-view[data-apd-date-view] {
    animation:apd341-fade-slide .28s var(--apd341-ease) both;
  }

  @keyframes apd341-fade-slide {
    from { opacity:0; transform:translateY(8px); }
    to { opacity:1; transform:translateY(0); }
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-mode {
    position:relative !important;
    border-radius:999px !important;
    box-shadow:inset 0 0 0 1px #e6e6e6 !important;
    background:linear-gradient(180deg,#f3f3f3 0%,#efefef 100%) !important;
    padding:5px !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-mode > button {
    border-radius:999px !important;
    font-weight:700 !important;
    letter-spacing:-.02em !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-mode > button.is-active {
    background:#fff !important;
    box-shadow:0 8px 18px rgba(0,0,0,.08), inset 0 0 0 1px #e7e7e7 !important;
    transform:translateY(-1px) !important;
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-month {
    background:transparent !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days {
    row-gap:7px !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button {
    transition:transform .18s var(--apd341-ease), box-shadow .2s var(--apd341-ease), background-color .18s var(--apd341-ease), color .18s var(--apd341-ease) !important;
    overflow:visible !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button:hover:not(:disabled) {
    transform:scale(1.04) !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button.is-in-range {
    background:linear-gradient(180deg,var(--apd341-range-edge) 0%, var(--apd341-range) 100%) !important;
    color:#252525 !important;
    border-radius:0 !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button.is-start,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button.is-end,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button.is-selected:not(.is-in-range) {
    background:linear-gradient(180deg,#2b2b2b 0%, #171717 100%) !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(18,18,18,.20), 0 0 0 2px rgba(255,255,255,.88) inset !important;
    transform:translateY(-1px) !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button.is-start::after,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button.is-end::after {
    content:'' !important;
    position:absolute !important;
    inset:-2px !important;
    border-radius:50% !important;
    box-shadow:0 0 0 1px rgba(34,34,34,.12) !important;
    pointer-events:none !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd5-calendar-days button.apd341-picked,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-flexibility > button.apd341-picked,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-duration > button.apd341-picked,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-months [data-apd-flex-month].apd341-picked,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer .apd176-footer-primary.apd341-picked {
    animation:apd341-pop .28s var(--apd341-ease) both;
  }
  @keyframes apd341-pop {
    0% { transform:scale(.965); }
    55% { transform:scale(1.028); }
    100% { transform:scale(1); }
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-flexibility {
    margin-top:14px !important;
    padding:10px 2px 8px !important;
    gap:10px !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-flexibility > button {
    min-height:48px !important;
    padding:0 18px !important;
    border:1px solid #d9d9d9 !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#fff 0%, #fcfcfc 100%) !important;
    box-shadow:0 2px 6px rgba(0,0,0,.03) !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-date-flexibility > button.is-active {
    background:linear-gradient(180deg,#262626 0%, #171717 100%) !important;
    border-color:#171717 !important;
    color:#fff !important;
    box-shadow:0 10px 18px rgba(23,23,23,.20) !important;
    transform:translateY(-1px) !important;
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-duration {
    gap:14px !important;
    padding:2px 0 6px !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-duration > button {
    background:linear-gradient(180deg,#fff 0%, #fbfbfb 100%) !important;
    box-shadow:0 3px 8px rgba(0,0,0,.035) !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-duration > button.is-active {
    background:#fff !important;
    border-color:#1d1d1d !important;
    box-shadow:0 10px 18px rgba(0,0,0,.08), inset 0 0 0 1px #1d1d1d !important;
    transform:translateY(-1px) !important;
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-months {
    gap:16px !important;
    padding-right:18px !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-months [data-apd-flex-month] {
    background:linear-gradient(180deg,#ffffff 0%, #fbfbfb 100%) !important;
    box-shadow:0 8px 18px rgba(0,0,0,.035) !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-months [data-apd-flex-month].is-active,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd186-search-portal #apd5-search .apd15-flexible-months [data-apd-flex-month][aria-pressed="true"] {
    background:#fff !important;
    box-shadow:0 14px 26px rgba(0,0,0,.08), inset 0 0 0 1px #222 !important;
    transform:translateY(-2px) !important;
  }

  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer {
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer .apd176-footer-primary.apd339-next-step,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer .apd176-footer-primary.apd339-final-step {
    box-shadow:var(--apd341-shadow-lg) !important;
  }
  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer .apd176-footer-primary.apd339-next-step:hover,
  html body.apd341-mobile-premium.apd186-search-modal-open .apd176-mobile-footer .apd176-footer-primary.apd339-final-step:hover {
    transform:translateY(-1px) !important;
  }
}
