/* Revisions limited to the approved display, navigation and accessibility items. */
html { scroll-padding-top: 96px; }
body.sine-booking-open .floating-booking-wrapper { display: none !important; }

.package-price-unit {
  margin: 8px 0 10px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--primary);
}
.package-rental-facts {
  margin: 0 0 8px;
  padding: 10px 12px;
  border: 1px solid var(--card-border);
  border-radius: 10px;
  background: var(--section-alt-bg);
  color: var(--card-text);
  font-size: .8125rem;
  line-height: 1.5;
}
.package-rental-facts > div {
  display: grid;
  grid-template-columns: minmax(96px, .9fr) minmax(0, 1.2fr);
  gap: 10px;
  padding: 4px 0;
}
.package-rental-facts dt { color: var(--muted-text); white-space: nowrap; }
.package-rental-facts dd { margin: 0; font-weight: 600; overflow-wrap: break-word; }
.package-rental-facts .package-dp-info { border-top: 1px solid var(--card-border); margin-top: 4px; padding-top: 8px; }
.package-rental-facts .package-dp-info dd { color: var(--primary); }
.swal2-popup .booking-package-card { height: auto; min-height: 0; margin-bottom: 0; }
.swal2-popup .booking-package-content { flex: none; }
.swal2-popup .booking-package-card .package-slider,
.swal2-popup .booking-package-card .package-no-image { flex-basis: 168px; height: 168px; }
.swal2-popup .booking-package-description {
  flex: none;
  overflow: visible;
  min-height: auto;
  font-size: .875rem;
  line-height: 1.65;
  padding: 0;
}
.swal2-popup .booking-package-description ul { list-style: disc; margin-left: 20px; }
.swal2-popup .booking-package-description li { margin-bottom: 5px; }
.package-facilities-title { font-weight: 700; margin-bottom: 6px; }
.booking-package-details { margin-top: 8px; }
.booking-package-details summary {
  min-height: 44px;
  display: list-item;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--input-border);
  color: var(--primary);
  font-size: .875rem;
  font-weight: 600;
  cursor: pointer;
}
.booking-package-details .details-close-text,
.booking-package-details[open] .details-open-text { display: none; }
.booking-package-details[open] .details-close-text { display: inline; }
.package-full-details { padding-top: 8px !important; }
.package-avail-swiper-wrap { padding-bottom: 0; }
.package-avail-controls { margin-bottom: 12px; }
#bookingPackageStatus { font-weight: 700; font-size: .9375rem; margin-bottom: 10px; color: var(--modal-text); }
.package-avail-buttons { display: flex; gap: 10px; }
.package-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  min-height: 44px;
  padding: 10px 8px;
  background: var(--input-bg);
  color: var(--primary);
  border: 1px solid var(--primary);
  border-radius: 10px;
  font: inherit;
  font-size: .8125rem;
  font-weight: 600;
  cursor: pointer;
}
.package-nav-button:disabled { opacity: .45; border-color: var(--input-border); color: var(--muted-text); cursor: default; }
.package-avail-swiper-wrap .package-avail-pagination { position: static; margin-top: 10px; }
.package-avail-pagination .swiper-pagination-bullet { width: 24px; height: 24px; padding: 7px; background-clip: content-box; }
.package-avail-help, .booking-optional-note, .booking-form-hint, .booking-field-hint {
  font-size: .875rem;
  line-height: 1.6;
  color: var(--muted-text);
}
.booking-optional-note { margin-top: 8px; }
.booking-form-hint { margin-bottom: 14px; }
.booking-field-hint { margin-top: 6px; }
.required-mark, .booking-field-error { color: #c0392b; }
html[data-theme="dark"] .required-mark,
html[data-theme="dark"] .booking-field-error { color: #ff9e93; }
.booking-field-error { font-size: .875rem; line-height: 1.5; margin-top: 6px; }
.booking-field-error[hidden] { display: none; }
.booking-payment-note { padding: 14px; border-left: 3px solid var(--primary); border-radius: 8px; background: var(--orange-light); font-size: .875rem; line-height: 1.65; color: var(--body-text); }
html[data-theme="dark"] .booking-payment-note { background: rgba(241, 93, 48, .12); }
.booking-payment-note strong { color: var(--heading-color); }
.booking-payment-note p { margin-top: 6px; }
.swal2-popup .booking-calendar-nav { width: 44px; height: 44px; }
.swal2-popup .booking-calendar-note { font-size: .875rem; line-height: 1.6; }
.swal2-popup .booking-calendar-week div { font-size: .75rem; }
.swal2-popup .booking-day { padding-left: 2px; padding-right: 2px; }
.swal2-popup .booking-day-stock { font-size: .6875rem; white-space: nowrap; word-break: normal; }
#swalRulesHint, #swalAgreeLabel, .booking-readability-note { font-size: .875rem !important; line-height: 1.6; }
.swal2-popup .sine-voucher-button { background: var(--primary); color: #fff; border: none; border-radius: 10px; min-height: 44px; }
.swal2-popup .sine-voucher-button:hover { background: var(--primary-dark); color: #fff; }
.rules-title { width: 100%; border: 0; background: transparent; text-align: left; font-family: inherit; font-size: inherit; }
.rules-title:focus-visible,
.booking-package-details summary:focus-visible,
.package-nav-button:focus-visible,
.booking-calendar-nav:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }

@media (max-width: 480px) {
  .sine-hero { min-height: 0; }
  .sine-hero-container { padding-top: 28px; padding-bottom: 40px; }
  .hero-badge { margin-bottom: 14px; }
  .sine-eyebrow { font-size: .75rem; margin-bottom: 14px !important; }
  .sine-hero-title {
    font-size: clamp(1.75rem, 8.8vw, 2.625rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.5px;
    word-break: normal;
    overflow-wrap: normal;
    margin-bottom: 18px !important;
  }
  .sine-hero-description { font-size: .9375rem; line-height: 1.65; margin-bottom: 20px; }
  .sine-hero-buttons { margin-bottom: 24px; }
  .sine-btn-primary, .sine-btn-outline { min-height: 44px; }
  .swal2-popup .booking-package-card { padding: 12px; }
  .swal2-popup .booking-package-card .package-slider,
  .swal2-popup .booking-package-card .package-no-image { flex-basis: 150px; height: 150px; }
  .swal2-popup .booking-package-name { font-size: 1.05rem; }
  .swal2-popup .booking-stock-badge { font-size: .75rem; }
  .package-rental-facts > div { grid-template-columns: 104px minmax(0, 1fr); gap: 8px; }
}
