/* The full page is the only scrolling surface in the owner workspace. */
:root { scrollbar-color: #829671 #f2f0e6; scrollbar-width: thin; }
@supports selector(::-webkit-scrollbar) {
  :root, .mobile-nav, .text-dialog { scrollbar-width: auto; scrollbar-color: auto; }
  ::-webkit-scrollbar { width: 7px; height: 7px; }
  ::-webkit-scrollbar-track { background: transparent; }
  ::-webkit-scrollbar-thumb { background: #829671a8; border: 1px solid transparent; border-radius: 20px; background-clip: padding-box; }
  ::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
}
#inline-editors > section {
  position: relative; inset: auto; width: 100%; min-width: 0; max-width: 100%; max-height: none;
  overflow: visible; margin: 0 0 24px; background: #fffdf6; border: 1px solid #d4deca;
  border-radius: 24px; box-shadow: 0 8px 32px #53683d12; scroll-margin-top: 12px;
}
#inline-editors > section:focus { outline: none; }
#inline-editors .reservation-editor, #details-dialog { padding: clamp(20px,4vw,40px); }
#editor-title, #detail-title { padding-inline-end: 40px; overflow-wrap: anywhere; }
#detail-content { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
#payment-message { padding: 22px; margin-block: 28px; }
#inline-editors [hidden], [hidden]#payment-message { display: none !important; }
.admin-calendar-head { flex-wrap: wrap; }
.month-actions .plain-button { display: inline-flex; align-items: center; padding: 8px; }
.booking-row > *, .stats article > *, .date-field, .booking-bar label { min-width: 0; }
.booking-row h3, #next-name { overflow-wrap: anywhere; }
.gallery-track { scrollbar-width: none; }
@media (max-width: 700px) {
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 0; padding: 16px; }
  .stats article { padding: 0 12px; }
  .stats article:nth-child(2) { border: 0; }
  .stats article:last-child { grid-column: 1 / -1; border: 0; border-top: 1px solid #dfe5d7; padding-top: 12px; }
  .stats article > div > span, .stats small { font-size: 10px; }
  .stats strong { white-space: normal; }
  .mobile-nav { overscroll-behavior-y: contain; scrollbar-width: none; }
  .mobile-nav::-webkit-scrollbar { display: none; }
  .admin-calendar-head .circle-button, .month-actions .plain-button, .dialog-close,
  .interior-top .language button, .header-wrap .menu-toggle { min-height: 44px; min-width: 44px; }
  .interior-top .language button { font-size: 12px; }
  .interior-header .wordmark small { font-size: 7px; }
  .booking-section-heading > p, .offer-description > p, .reservation-intro > p, .guest-form .checkout-note { font-size: 14px; }
  .date-trigger { text-align: start; height: 100%; min-height: 48px; }
  .guest-fields select,.guest-form input,.guest-form textarea,.booking-bar input,.booking-bar select,
  .admin-body input,.admin-body select,.admin-body textarea { font-size: 16px; max-width: 100%; }
  .reservation-editor label,.guest-form label,.date-field > label,.booking-bar label { font-size: 10px; }
  .date-picker { scroll-margin-top: 12px; }
  .date-picker .calendar-day { min-height: 39px; }
  .admin-body .reservation-list button { min-height: 42px; }
  #detail-content { grid-template-columns: minmax(0,1fr); }
  .stay-summary dl > div:last-child dd { font-size: 26px; }
  .stay-summary dl > div:nth-last-child(2) { font-weight: 600; }
  .mobile-nav a { padding-block: 11px; }
  dialog#lightbox { max-height: 92dvh; overflow: auto; }
  dialog#lightbox img { max-height: 72dvh; object-fit: contain; }
}
@media (max-width: 440px) {
  .booking-bar { grid-template-columns: minmax(0,1fr); }
  .booking-bar > *, .booking-bar h2, .booking-bar > label:last-of-type, .booking-bar > .button { grid-column: 1; }
  .booking-bar input { min-height: 42px; }
  .reservation-editor .form-row, .reservation-editor #admin-contact {grid-template-columns: minmax(0,1fr); }
  .admin-body .reservation-editor input { min-width: 0; }
  #availability-form { grid-template-columns: minmax(0,1fr); }
  #check-dates { grid-column: 1; }
  .admin-calendar-head { gap: 6px; }
  .admin-calendar-head .month-actions { width: 100%; justify-content: space-between; }
  .admin-body .calendar-card { padding-inline: 12px; }
  .admin-body .week-row,.admin-body #admin-calendar { grid-template-columns: repeat(7,minmax(0,1fr)); }
  .admin-body .calendar-day { min-width: 0; }
}
@media (forced-colors: active) { :root {scrollbar-color: auto;} }
