.booking-page {
  background: #f5f3ee;
}

.reservation-hero {
  max-width: 1440px;
  margin: 0 auto;
  padding: 169px clamp(20px, 6vw, 86px) 24px;
  background:
    radial-gradient(circle at 88% 10%, rgba(180, 140, 77, .13), transparent 27%),
    linear-gradient(180deg, #faf8f4 0%, #f5f3ee 100%);
  border-bottom: 1px solid rgba(23, 61, 50, .08);
}

.reservation-hero h1 {
  max-width: 900px;
  margin: 8px 0 12px;
  color: #17241f;
  font: 400 clamp(36px, 4.4vw, 58px)/1.04 Georgia, serif;
  letter-spacing: -.025em;
}

.reservation-hero > p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: #65706b;
  font-size: 15px;
  line-height: 1.55;
}

.reservation-hero .steps {
  margin-top: 18px;
  gap: 8px;
}

.reservation-hero .step {
  padding: 7px 11px 7px 7px;
  border: 1px solid #e4ded3;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
}

.reservation-hero .step i {
  width: 24px;
  height: 24px;
}

.booking-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 14px;
  color: #56635d;
  font-size: 11px;
  font-weight: 700;
}

.booking-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.booking-trust span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b48c4d;
}

.google-vr-rate-summary {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(280px, 1.3fr);
  gap: 10px 24px;
  max-width: 960px;
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(180, 140, 77, .36);
  border-radius: 14px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 10px 30px rgba(23, 36, 31, .06);
}

.google-vr-rate-summary[hidden] {
  display: none;
}

.google-vr-rate-heading {
  display: grid;
  align-content: center;
  gap: 2px;
}

.google-vr-rate-heading span,
.google-vr-rate-offer span {
  color: #68746f;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
}

.google-vr-rate-heading strong {
  color: #17241f;
  font: 400 22px/1.15 Georgia, serif;
}

.google-vr-rate-itinerary {
  grid-column: 1 / -1;
  margin: 0;
  color: #45534d;
  font-size: 13px;
  line-height: 1.55;
}

.google-vr-rate-itinerary > span[aria-hidden="true"] {
  padding: 0 5px;
  color: #b48c4d;
}

.google-vr-rate-offer {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}

.google-vr-rate-offer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.google-vr-rate-offer strong {
  flex: none;
  color: #173d32;
  font: 700 22px/1 Suisse, Arial, sans-serif;
}

.google-vr-rate-summary.is-unavailable {
  border-color: rgba(145, 78, 58, .28);
}

.google-vr-rate-summary.is-unavailable .google-vr-rate-offer p {
  margin: 0;
  color: #854a39;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.booking-page .layout {
  width: min(1440px, 100%);
  margin: 0 auto;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  padding: 20px clamp(20px, 6vw, 86px) 56px;
}

.booking-page .card {
  border-color: rgba(23, 61, 50, .12);
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 36px rgba(23, 36, 31, .06);
}

.booking-page .calendar-card,
.booking-page .summary {
  padding: 22px;
}

.booking-page .calendar-card,
.booking-page .booking-form,
.booking-page .payment-checkout {
  scroll-margin-top: calc(var(--header-h, 100px) + 16px);
}

.booking-page .card-title {
  margin-bottom: 14px;
}

.booking-page .card-title h2,
.booking-page .summary h2 {
  font-size: 27px;
}

.booking-page .month-nav button {
  width: 38px;
  height: 38px;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.booking-page .month-nav button:hover:not(:disabled) {
  border-color: #b48c4d;
  background: #f8f2e7;
  transform: translateY(-1px);
}

.booking-page .day {
  min-height: 82px;
  border-radius: 9px;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.booking-page .calendar-guidance {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-top: 14px;
}

.booking-page .calendar-guidance .hint {
  margin: 0;
}

.booking-page .calendar-guidance .message {
  width: min(620px, 100%);
  margin-top: 0;
  text-align: center;
}

.booking-page .day:hover:not(:disabled) {
  transform: translateY(-1px);
}

.booking-page .date-boxes,
.booking-page .field input,
.booking-page .field select,
.booking-page .field textarea {
  background: #faf9f6;
}

.booking-page .field-help {
  color: #68746f;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
}

.booking-page .summary {
  position: static;
}

.booking-page .primary,
.booking-page .secondary {
  min-height: 48px;
  border-radius: 12px;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.booking-page .primary:hover:not(:disabled),
.booking-page .secondary:hover {
  transform: translateY(-1px);
}

.booking-page .primary:hover:not(:disabled) {
  box-shadow: 0 8px 22px rgba(23, 61, 50, .18);
}

.booking-page .booking-form,
.booking-page .confirmation,
.booking-page .payment-checkout {
  padding: 26px;
}

.booking-page .payment-checkout[hidden] {
  display: none;
}

.booking-page .payment-checkout {
  width: min(820px, 100%);
  box-sizing: border-box;
  justify-self: center;
}

.booking-page .payment-checkout-head {
  margin-bottom: 18px;
  text-align: center;
}

.booking-page .payment-checkout-head h2 {
  margin: 8px 0;
  color: #17241f;
  font: 400 32px/1.1 Georgia, serif;
}

.booking-page .payment-checkout-head p {
  margin: 0;
  color: #68746f;
  font-size: 13px;
}

.booking-page .mercadopago-brand {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 12px 15px;
  border-radius: 10px;
  background: #eaf5ff;
  color: #173d32;
  font-size: 12px;
}

.booking-page .mercadopago-brand strong {
  color: #0878c9;
}

.booking-page #paymentBrick_container {
  min-height: 260px;
  padding: 10px;
  border: 1px solid #e1ddd5;
  border-radius: 14px;
  background: #fff;
}

.booking-page .payment-back {
  display: block;
  margin: 16px auto 0;
}

.booking-page .checkout-heading {
  margin-bottom: 22px;
}

.booking-page .checkout-heading h2 {
  margin-bottom: 8px;
}

.booking-page .checkout-heading p {
  margin: 0;
  color: #68746f;
}

.booking-page .checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
}

.booking-page .checkout-form {
  display: grid;
  gap: 16px;
}

.booking-page .checkout-section {
  margin: 0;
  padding: 22px;
  border: 1px solid #ddd9d1;
  border-radius: 14px;
  background: #fff;
}

.booking-page .checkout-section legend {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px;
  color: #17241f;
  font: 600 20px/1.2 Georgia, serif;
}

.booking-page .checkout-section legend span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #173d32;
  color: #fff;
  font: 800 12px/1 Arial, sans-serif;
}

.booking-page .checkout-section > p {
  margin: 2px 0 18px;
  color: #68746f;
  font-size: 13px;
}

.booking-page .checkout-security {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 15px 17px;
  border-radius: 12px;
  background: #edf3ef;
  color: #405149;
}

.booking-page .checkout-security > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #173d32;
  color: #fff;
  font-weight: 900;
}

.booking-page .checkout-security p {
  display: grid;
  gap: 2px;
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}

.booking-page .checkout-security strong {
  color: #173d32;
  font-size: 12px;
}

.booking-page .payment-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.booking-page .payment-option {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 14px;
  border: 1px solid #dcd7cf;
  border-radius: 12px;
  background: #faf9f6;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.booking-page .payment-option.active {
  border-color: #173d32;
  background: #eef3ef;
  box-shadow: 0 0 0 3px rgba(23, 61, 50, .08);
}

.booking-page .payment-option:disabled,
.booking-page .payment-option.disabled {
  opacity: .48;
  cursor: not-allowed;
}

.booking-page .payment-option-mark {
  min-height: 36px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #173d32;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
}

.booking-page .payment-option strong,
.booking-page .payment-option small {
  display: block;
}

.booking-page .checkout-section > .payment-choice-help {
  margin: 13px 0 0;
  color: #52615b;
  font-size: 11px;
  text-align: center;
}

.booking-page .payment-form-actions {
  justify-content: space-between;
}

.booking-page .payment-form-actions span {
  color: #68746f;
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
}

.booking-page .payment-active .checkout-section:not(.payment-section) {
  opacity: .68;
}

.booking-page .payment-active .checkout-section:not(.payment-section) input,
.booking-page .payment-active .checkout-section:not(.payment-section) select,
.booking-page .payment-active .checkout-section:not(.payment-section) textarea,
.booking-page .payment-active .payment-form-actions {
  pointer-events: none;
}

.booking-page .payment-active .payment-form-actions {
  display: none;
}

.booking-page .payment-option strong {
  color: #17241f;
  font-size: 13px;
}

.booking-page .payment-option small {
  margin-top: 4px;
  color: #68746f;
  font-size: 10px;
  line-height: 1.35;
}

.booking-page .checkout-summary {
  position: sticky;
  top: 150px;
  padding: 22px;
  border: 1px solid #dcd7cf;
  border-radius: 14px;
  background: #faf9f6;
}

.booking-page .checkout-summary h3 {
  margin: 8px 0 2px;
  color: #17241f;
  font: 400 27px/1.15 Georgia, serif;
}

.booking-page .checkout-location {
  margin: 0 0 20px;
  color: #68746f;
  font-size: 12px;
}

.booking-page .summary-date-picker {
  position: relative;
}

.booking-page .checkout-stay {
  width: 100%;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 18px minmax(0, 1fr);
  align-items: center;
  padding: 0;
  border: 1px solid #ddd9d1;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.booking-page .checkout-stay:hover,
.booking-page .checkout-stay:focus-visible,
.booking-page .checkout-stay[aria-expanded="true"] {
  border-color: #8d6f3d;
  box-shadow: 0 0 0 3px rgba(141, 111, 61, .12);
  outline: none;
}

.booking-page .summary-calendar-icon {
  width: 18px;
  height: 18px;
  margin-left: 11px;
  fill: #8d6f3d;
}

.booking-page .summary-date-part {
  padding: 13px;
  min-width: 0;
}

.booking-page .summary-date-arrow {
  color: #8d6f3d;
  font-size: 16px;
  text-align: center;
}

.booking-page .checkout-stay span,
.booking-page .checkout-meta span,
.booking-page .checkout-total span {
  display: block;
  color: #6c7671;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.booking-page .checkout-stay strong {
  display: block;
  margin-top: 6px;
  overflow: hidden;
  color: #273b33;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.booking-page .summary-calendar-popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + 9px);
  right: 0;
  width: min(336px, calc(100vw - 34px));
  padding: 14px;
  border: 1px solid #d8d2c8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(24, 42, 35, .2);
}

.booking-page .summary-calendar-popover[hidden] {
  display: none;
}

.booking-page .summary-calendar-head {
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  align-items: center;
  margin-bottom: 10px;
}

.booking-page .summary-calendar-head strong {
  color: #173d32;
  font-size: 13px;
  text-align: center;
  text-transform: capitalize;
}

.booking-page .summary-calendar-head button {
  width: 32px;
  height: 32px;
  border: 1px solid #ddd9d1;
  border-radius: 50%;
  background: #fff;
  color: #173d32;
  font-size: 20px;
  cursor: pointer;
}

.booking-page .summary-calendar-head button:disabled {
  opacity: .3;
  cursor: default;
}

.booking-page .summary-weekdays,
.booking-page .summary-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.booking-page .summary-weekdays {
  margin-bottom: 5px;
}

.booking-page .summary-weekdays span {
  color: #7a837f;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
}

.booking-page .summary-day {
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: #f5f3ee;
  color: #273b33;
  font: 700 11px/1 Suisse, Arial, sans-serif;
  cursor: pointer;
}

.booking-page .summary-day:hover:not(:disabled) {
  background: #e8efe9;
}

.booking-page .summary-day.outside,
.booking-page .summary-day:disabled {
  opacity: .28;
  cursor: default;
}

.booking-page .summary-day.in-range {
  border-radius: 3px;
  background: #e3ece7;
}

.booking-page .summary-day.selected {
  background: #173d32;
  color: #fff;
}

.booking-page .summary-calendar-hint {
  margin: 10px 0 0;
  color: #68746f;
  font-size: 10px;
  text-align: center;
}

.booking-page .summary-date-message {
  display: none;
  margin-top: 8px;
  color: #a0372a;
  font-size: 10px;
  line-height: 1.35;
  text-align: center;
}

.booking-page .summary-date-message.show {
  display: block;
}

.booking-page .checkout-meta {
  padding: 13px 0;
  border-bottom: 1px solid #ddd9d1;
}

.booking-page .checkout-meta p {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 9px 0;
}

.booking-page .checkout-meta span {
  letter-spacing: 0;
  text-transform: none;
}

.booking-page .checkout-meta strong {
  color: #273b33;
  font-size: 11px;
  text-align: right;
}

.booking-page .checkout-total {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 0 12px;
}

.booking-page .checkout-total strong {
  color: #173d32;
  font: 700 23px/1 Georgia, serif;
}

.booking-page .checkout-summary > small {
  display: block;
  color: #68746f;
  font-size: 10px;
  line-height: 1.45;
}

.booking-page .confirmation-icon.waiting {
  background: #f2e9d8;
  color: #8a6734;
}

.booking-page .confirmation-icon.error {
  background: #f7e7e4;
  color: #a0372a;
}

.booking-page .confirmation-icon.warning {
  background: #fff1d5;
  color: #8a5c00;
}

.booking-page .pix-payment {
  width: min(680px, 100%);
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  margin: 24px auto 16px;
  padding: 20px;
  border: 1px solid #ddd7ca;
  border-radius: 15px;
  background: #faf9f6;
  text-align: left;
}

.booking-page .pix-payment[hidden] {
  display: none;
}

.booking-page .pix-payment img {
  width: 190px;
  height: 190px;
  padding: 8px;
  border: 1px solid #e1ddd4;
  border-radius: 10px;
  background: #fff;
  object-fit: contain;
}

.booking-page .pix-copy {
  display: grid;
  gap: 8px;
}

.booking-page .pix-copy label {
  color: #173d32;
  font-size: 12px;
  font-weight: 800;
}

.booking-page .pix-copy textarea {
  width: 100%;
  resize: none;
  padding: 11px;
  border: 1px solid #d8d3ca;
  border-radius: 9px;
  background: #fff;
  color: #3f4c47;
  font: 400 11px/1.4 monospace;
}

.booking-page .pix-copy button {
  min-height: 42px;
  border: 0;
  border-radius: 9px;
  background: #173d32;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.booking-page .payment-countdown {
  grid-column: 1 / -1;
  margin: -6px 0 0;
  color: #8a6734;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.booking-page .payment-live-status {
  width: min(680px, 100%);
  margin: 12px auto 20px;
  padding: 12px 15px;
  border-radius: 10px;
  background: #f2eee6;
  color: #5f5a50;
  font-size: 12px;
  font-weight: 700;
}

.booking-page .payment-live-status.success {
  background: #e7f1e9;
  color: #1e6038;
}

.booking-page .payment-live-status.error {
  background: #f8e9e6;
  color: #9a3428;
}

.booking-page .payment-live-status.warning {
  background: #fff1d5;
  color: #755000;
}

.access-notice {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  margin: 24px 0;
  padding: 20px;
  border: 1px solid rgba(180, 140, 77, .28);
  border-radius: 14px;
  background: linear-gradient(135deg, #fbf7ef, #f7f2e8);
}

.access-notice-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #173d32;
  color: #fff;
  font-size: 24px;
}

.access-notice h3,
.guest-registration-head h3,
.contact-heading h3 {
  margin: 5px 0 8px;
  color: #17241f;
  font: 400 25px/1.15 Georgia, serif;
}

.access-notice p {
  max-width: 900px;
  margin: 0;
  color: #5f6b66;
  font-size: 14px;
  line-height: 1.55;
}

.access-notice .photo-guidance {
  margin-top: 9px;
  color: #35463f;
}

.guest-registration-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 28px 0 14px;
}

.guest-registration-head h3,
.contact-heading h3 {
  margin-bottom: 0;
}

#guest-registration-count {
  padding: 7px 11px;
  border-radius: 999px;
  background: #e8eee9;
  color: #173d32;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.guest-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.guest-card {
  padding: 17px;
  border: 1px solid #e2ddd3;
  border-radius: 14px;
  background: #fff;
}

.guest-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid #eee9e1;
}

.guest-card-head span {
  color: #173d32;
  font-weight: 900;
}

.guest-card-head small {
  color: #8a6734;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.photo-field {
  position: relative;
  display: grid;
  grid-template-columns: 58px 1fr;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 10px;
  border: 1px dashed #c9b995;
  border-radius: 12px;
  background: #fbf9f4;
  cursor: pointer;
}

.photo-field:hover {
  border-color: #8a6734;
  background: #f8f3e9;
}

.photo-field input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.photo-preview {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: #173d32;
  color: #fff;
  font-size: 24px;
}

.photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-copy {
  display: grid;
  gap: 4px;
}

.photo-copy strong {
  color: #173d32;
  font-size: 13px;
}

.photo-copy small {
  color: #6d7772;
  font-size: 11px;
  line-height: 1.35;
}

.consent-box {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 12px;
  align-items: start;
  margin: 18px 0 30px;
  padding: 16px;
  border-radius: 12px;
  background: #eef3ef;
  color: #44534d;
  cursor: pointer;
}

.consent-box input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #173d32;
}

.consent-box span {
  font-size: 12px;
  line-height: 1.5;
}

.consent-box strong {
  display: block;
  margin-bottom: 3px;
  color: #173d32;
  font-size: 13px;
}

.contact-heading {
  margin: 4px 0 16px;
}

@media (max-width: 930px) {
  .booking-page .layout {
    grid-template-columns: 1fr;
  }

  .booking-page .summary {
    position: static;
  }

  .booking-page .checkout-layout {
    grid-template-columns: 1fr;
  }

  .booking-page .checkout-summary {
    position: static;
    grid-row: 1;
  }
}

@media (max-width: 620px) {
  .reservation-hero {
    padding: 112px 16px 18px;
  }

  .google-vr-rate-summary {
    grid-template-columns: 1fr;
    padding: 15px;
  }

  .google-vr-rate-itinerary,
  .google-vr-rate-offer {
    grid-column: 1;
    grid-row: auto;
  }

  .google-vr-rate-offer > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .reservation-hero h1 {
    font-size: 36px;
  }

  .reservation-hero > p:not(.eyebrow) {
    font-size: 14px;
  }

  .reservation-hero .steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
    overflow: visible;
    padding-bottom: 0;
  }

  .reservation-hero .step {
    min-width: 0;
    padding: 7px 2px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    border-radius: 12px;
    font-size: 9px;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  .booking-page .layout {
    padding: 14px 14px 42px;
    max-width: 100%;
    overflow: visible;
  }

  .booking-page .layout > * {
    min-width: 0;
    width: 100%;
  }

  .booking-page .calendar-card,
  .booking-page .summary,
  .booking-page .booking-form,
  .booking-page .payment-checkout {
    padding: 16px;
  }

  .booking-page .mercadopago-brand {
    display: grid;
    text-align: center;
  }

  .booking-page .card {
    border-radius: 14px;
  }

  .booking-page #form-checkin,
  .booking-page #form-checkout {
    overflow-wrap: anywhere;
  }

  .access-notice {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .guest-grid {
    grid-template-columns: 1fr;
  }

  .booking-page .payment-options {
    grid-template-columns: 1fr;
  }

  .booking-page .pix-payment {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 16px;
  }

  .booking-page .pix-copy {
    width: 100%;
  }

  .guest-registration-head {
    align-items: start;
  }

  .booking-page .day {
    min-height: 54px;
    min-width: 0;
    width: 100%;
    padding-right: 1px;
    padding-left: 1px;
  }

  .booking-page .weekdays,
  .booking-page .calendar {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .booking-page .month-title {
    min-width: 0;
    flex: 1 1 auto;
  }

  .booking-page .month-nav button {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  .booking-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    font-size: 10px;
  }
}
