/**
 * Booking & CTA UI — comfortable padding inside borders (all pages)
 */

:root {
  --btn-padding-y: 0.9375rem;
  --btn-padding-x: 1.75rem;
  --btn-padding-compact-y: 0.8125rem;
  --btn-padding-compact-x: 1.375rem;
  --surface-padding: var(--space-xl);
  --surface-padding-lg: var(--space-2xl);
}

/* Primary / WhatsApp buttons — padding tokens defined in :root above */
.btn-primary,
.btn-whatsapp {
  padding: var(--btn-padding-y) var(--btn-padding-x);
  text-align: center;
}

.site-header__actions .btn-primary,
.site-header__actions .btn-whatsapp {
  padding: var(--btn-padding-compact-y) var(--btn-padding-compact-x);
  font-size: 0.6875rem;
  min-height: 2.5rem;
  white-space: nowrap;
}

.hero__actions .btn-primary,
.hero__actions .btn-whatsapp,
.page-header__actions .btn-primary,
.page-header__actions .btn-whatsapp,
.cta-band__actions .btn-primary,
.cta-band__actions .btn-whatsapp,
.contact-map__actions .btn-primary,
.contact-form__actions .btn-primary {
  padding: var(--btn-padding-y) var(--btn-padding-x);
  min-height: 2.75rem;
}

/* Mobile sticky booking bar */
.booking-bar {
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  padding-bottom: max(var(--space-md), env(safe-area-inset-bottom, 0px));
}

.booking-bar .btn-primary,
.booking-bar .btn-whatsapp {
  flex: 1 1 0;
  min-width: 0;
  padding: 0.9375rem 1.125rem;
  min-height: 3rem;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1.35;
}

body.booking-bar-active {
  padding-bottom: 5.75rem;
}

body.has-booking-bar {
  padding-bottom: 5.75rem;
}

body.booking-bar-active .whatsapp-float,
body.has-booking-bar .whatsapp-float {
  bottom: calc(var(--space-lg) + 5rem);
}

/* Desktop sticky booking strip (if present) */
.booking-sticky-bar {
  padding: var(--space-md) var(--space-lg);
}

.booking-sticky-bar__actions .btn-primary,
.booking-sticky-bar__actions .btn-whatsapp {
  padding: var(--btn-padding-compact-y) var(--btn-padding-compact-x);
  min-height: 2.625rem;
}

/* Offer cards — offers page & shared component */
.offer-card__body {
  padding: var(--surface-padding) var(--surface-padding) var(--surface-padding-lg);
  gap: var(--space-md);
}

.page-offers .offer-card__body {
  padding: 0;
  min-width: 0;
}

.page-offers .offer-card__terms {
  margin: 0 0 var(--space-lg);
  padding: var(--space-md) var(--space-sm) 0;
  border-top: 1px solid var(--color-border);
}

.page-offers .offer-card__inclusions {
  padding-left: 1.35rem;
  padding-right: var(--space-sm);
}

.page-offers .offer-card__actions {
  gap: var(--space-md);
  padding-top: var(--space-sm);
}

.page-offers .offer-card__actions .btn-primary,
.page-offers .offer-card__actions .btn-whatsapp {
  flex: 1 1 calc(50% - var(--space-md));
  min-width: 9rem;
  padding: 0.9375rem 1.25rem;
  min-height: 2.875rem;
}

/* Home & inner page offer summary cards */
.offers__card {
  padding: var(--space-xl) var(--space-xl) var(--space-2xl);
}

.offers__badge {
  padding: 0.45em 0.9em;
  margin-bottom: var(--space-md);
}

.offers__desc,
.offers__terms {
  padding-right: var(--space-xs);
}

/* Contact / reservation form */
.contact-form input,
.contact-form textarea,
.contact-form select {
  padding: 0.875rem 1rem;
  line-height: 1.5;
}

.contact__panel,
.contact__panel--form,
.contact-hours {
  padding: var(--space-xl) var(--space-xl);
}

.contact-form--styled {
  padding: 0;
}

/* Chip rows & amenity tiles */
.amenity-row__item {
  padding: var(--space-sm) var(--space-lg);
  line-height: 1.45;
}

.page-home .amenities__item {
  padding: var(--space-lg) var(--space-md);
}

/* FAQ accordion panels — legacy .faq-list / glass cards only (not faq.html flat stack) */
.faq-list > .faq-item,
.faq-item.glass-panel:not(.faq-item--flat) {
  padding: var(--space-md) var(--space-lg);
}

.page-faq details.faq-item,
.page-faq .faq-item.faq-item--flat {
  padding: 0;
}

.faq-list .faq-item summary,
.faq-item.glass-panel:not(.faq-item--flat) summary {
  padding: var(--space-sm) var(--space-xs);
  line-height: 1.45;
}

/* Cross-links & related nav blocks */
.cross-links a,
.cross-links__link {
  padding: var(--space-md) var(--space-lg);
  line-height: 1.5;
}

@media (max-width: 767px) {
  .site-header__menu--many a,
  .site-header--many-links .site-header__menu a {
    padding: var(--space-sm) var(--space-md);
  }

  .booking-bar .btn-primary,
  .booking-bar .btn-whatsapp {
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
  }
}

@media (min-width: 768px) {
  body.booking-bar-active,
  body.has-booking-bar {
    padding-bottom: 0;
  }
}
