.holiday-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.holiday-modal.is-visible {
  display: flex;
}

.holiday-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 28, 38, 0.68);
  backdrop-filter: blur(2px);
}

.holiday-modal-card {
  position: relative;
  width: min(100%, 560px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  border: 1px solid #dbe3eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  padding: 26px;
}

.holiday-modal-kicker {
  margin-bottom: 8px;
  color: #1261a0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.holiday-modal-card h2 {
  margin: 0 0 12px;
  color: #182334;
  font-size: clamp(23px, 5vw, 31px);
  line-height: 1.15;
}

.holiday-modal-summary,
.holiday-modal-copy {
  color: #344256;
  font-size: 16px;
  line-height: 1.6;
}

.holiday-modal-summary {
  margin: 0 0 10px;
}

.holiday-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.holiday-modal-actions .btn,
.holiday-modal-actions .btn-secondary {
  min-height: 44px;
}

.holiday-alternatives {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.holiday-alternative {
  width: 100%;
  border: 1px solid #b8c9d8;
  border-radius: 10px;
  background: #f5f9fc;
  color: #173b58;
  cursor: pointer;
  padding: 10px 12px;
  text-align: left;
  font: inherit;
  font-weight: 700;
}

.holiday-alternative:hover,
.holiday-alternative:focus-visible {
  border-color: #1261a0;
  background: #eaf4fb;
}

body.has-holiday-modal {
  overflow: hidden;
}

@media (max-width: 520px) {
  .holiday-modal {
    align-items: flex-end;
    padding: 12px;
  }

  .holiday-modal-card {
    border-radius: 16px;
    padding: 21px 18px;
  }

  .holiday-modal-actions > * {
    width: 100%;
  }
}
