/* Shared scenery; calm paper surfaces for reading and booking. */
html[data-ami-background="seasonal"] :is(.reservation-card, .arrival-guide-card, .letter-card, .consent-card, .complete-screen, .form-card) {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(127,157,141,.22);
  box-shadow: 0 12px 34px rgba(43,56,48,.08);
}
html[data-ami-background="seasonal"] :is(.reservation-demo-header, .arrival-guide-header, .hero) {
  padding: 28px 20px;
  background: rgba(255,253,247,.88);
  border-radius: 24px;
  overflow-wrap: anywhere;
}
.customer-card-kicker { margin: 0 0 12px; color: #5f7d6d; font-size: .8rem; line-height: 1.7; }
.customer-mypage .reservation-demo-header { text-align: left; }
.customer-mypage .reservation-demo-lead { font-size: 1.1rem; }
.customer-mypage .card-description { padding: 16px; background: #f1f5f2; border-radius: 14px; }
.mypage-action { margin: 14px 0; }
.mypage-action .primary-button { width: 100%; text-decoration: none; }
.customer-quiet-button { min-height: 44px; padding: 10px 4px; border: 0; background: transparent; color: #626f67; font: inherit; font-size: .84rem; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.customer-quiet-button:disabled { opacity: .6; cursor: wait; }
.customer-quiet-button:focus-visible { outline: 3px solid #7f9d8d; outline-offset: 3px; border-radius: 6px; }
.customer-history .reservation-history-group h3 { margin: 26px 0 14px; font-size: 1rem; color: #405b4b; }
.customer-history .customer-booking-card { margin: 14px 0 24px; padding: 20px; background: #fff; border: 1px solid #dfe5e1; border-radius: 20px; overflow-wrap: anywhere; }
.customer-history .customer-booking-date { grid-template-columns: 1fr; display: grid; gap: 8px; padding-bottom: 18px; margin-bottom: 8px; border-bottom: 1px solid #dfe5e1; }
.customer-history .customer-booking-date strong { font-size: clamp(1.2rem, 5vw, 1.55rem); line-height: 1.6; text-align: left; color: #355343; }
.customer-history .customer-booking-card > div:not(.customer-booking-date):not(.reservation-history-actions) { gap: 12px; flex-wrap: wrap; }
.customer-history .reservation-history-actions { grid-template-columns: 1fr; display: grid; gap: 10px; margin-top: 12px; }
.customer-history .primary-button { width: 100%; min-height: 48px; padding: 12px 16px; text-decoration: none; }
.customer-history .customer-quiet-button { justify-self: start; }
@media (max-width: 430px) {
  .customer-history .reservation-card { padding: 20px 14px; }
  .customer-history .customer-booking-card { padding: 16px; }
  html[data-ami-background="seasonal"] :is(.reservation-demo-header, .arrival-guide-header, .hero) { padding: 24px 16px; }
}
@media (min-width: 720px) {
  .customer-mypage .reservation-card { padding: 36px; }
  .customer-history .reservation-history-actions { grid-template-columns: 1fr; }
}
