/* Modale documenti: piscina, menu T-Punch, insalate, pacchetti ed e-bike */
.document-modal {
  position: fixed; inset: 0; z-index: 1300;
  display: grid; place-items: center;
  padding: 1rem;
  background: rgba(28, 19, 16, .78);
  backdrop-filter: blur(5px);
  opacity: 0; pointer-events: none;
  transition: opacity .25s ease;
}
.document-modal.is-open { opacity: 1; pointer-events: auto; }
.document-modal__dialog {
  display: flex; flex-direction: column;
  width: min(1040px, 100%);
  height: min(88dvh, 820px);
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
}
.document-modal__bar {
  flex: 0 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem;
  padding: .8rem 1rem;
  background: #5c1a25;
  color: #fff;
}
.document-modal__title { font-family: 'Jost', sans-serif; font-weight: 500; }
.document-modal__close {
  width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%; background: rgba(255,255,255,.12); color: #fff;
  font-size: 1.5rem; cursor: pointer;
}
.document-modal__content { flex: 1; min-height: 0; display: flex; flex-direction: column; background: #f4f0eb; }
.document-modal__frame { flex: 1; width: 100%; border: 0; background: #fff; }
.document-modal__external { flex: 0 0 auto; padding: .8rem 1rem; background: #fff; color: #7a2230; text-align: center; font-family: 'Jost', sans-serif; font-weight: 500; }
body.document-modal-open { overflow: hidden; }

/* Popup giornaliero delle offerte */
.daily-popup {
  position: fixed; inset: 0; z-index: 1250;
  display: grid; place-items: center;
  padding: 1.25rem;
  background: rgba(42, 28, 24, .58);
  backdrop-filter: blur(4px);
  animation: overlay-in .25s ease both;
}
.daily-popup.is-closing { animation: overlay-out .25s ease both; }
.daily-popup__card {
  position: relative;
  width: min(520px, 100%);
  padding: 2.7rem 1.6rem 1.8rem;
  border: 1px solid rgba(200,162,74,.45);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(250,247,242,.98));
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
  text-align: center;
}
.daily-popup__eyebrow { margin-bottom: .55rem; color: #7a2230; font-family: 'Jost', sans-serif; font-size: .78rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.daily-popup h2 { margin-bottom: .8rem; color: #5c1a25; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2rem, 7vw, 2.8rem); line-height: 1; }
.daily-popup p:not(.daily-popup__eyebrow) { color: #6f6660; font-family: 'Jost', sans-serif; line-height: 1.55; }
.daily-popup__close {
  position: absolute; top: .8rem; right: .8rem;
  width: 38px; height: 38px; border: 0; border-radius: 50%;
  background: #f1e9df; color: #5c1a25; font-size: 1.65rem; line-height: 1;
  cursor: pointer;
}
.daily-popup__actions { display: grid; gap: .75rem; margin-top: 1.5rem; }
.daily-popup__offer, .daily-popup__pool {
  display: block; padding: .9rem 1rem; border-radius: 50px;
  font-family: 'Jost', sans-serif; font-size: .88rem; font-weight: 500;
  letter-spacing: .045em; line-height: 1.35; text-decoration: none;
}
.daily-popup__offer { background: #7a2230; color: #fff; }
.daily-popup__pool { border: 1px solid #7a2230; color: #7a2230; }
body.daily-popup-open { overflow: hidden; }
@keyframes overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes overlay-out { from { opacity: 1; } to { opacity: 0; } }

/* CTA informative nelle esperienze */
.exp-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.25rem; }
.info-action {
  display: inline-block; padding: .65rem 1rem; border: 1px solid #7a2230;
  border-radius: 50px; color: #7a2230; background: #fff;
  font-family: 'Jost', sans-serif; font-size: .82rem; font-weight: 500;
  letter-spacing: .05em; text-decoration: none; text-transform: uppercase;
}
.info-action--primary { background: #7a2230; color: #fff; }
@media (min-width: 720px) { .daily-popup__card { padding: 3rem 2.5rem 2.2rem; } }
