/* ==========================================================================
   UFO HUNT CALENDAR OVERLAY
   ========================================================================== */

/* ==========================================================================
   1. Overlay shell
   ========================================================================== */

#va-ufo-calendar-overlay[hidden]{
  display:none !important;
}

#va-ufo-calendar-overlay{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:start center;
  width:100vw;
  height:100dvh;
  min-height:100dvh;
  padding:clamp(40px, 8vw, 96px) clamp(28px, 6vw, 78px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

#va-ufo-calendar-overlay .va-ufoCalendar__backdrop{
  position:fixed;
  inset:0;
  background:radial-gradient(120% 120% at 50% 30%, rgba(0,0,0,0.72), rgba(0,0,0,0.95));
  backdrop-filter:blur(2px);
}

#va-ufo-calendar-overlay .va-ufoCalendar__panel{
  position:relative;
  width:min(1120px, 84vw);
  max-height:min(82vh, 980px);
  margin:0;
  zoom:var(--site-global-zoom, 1);
}

#va-ufo-calendar-overlay .va-ufoCalendar__shell{
  width:100%;
  max-height:inherit;
  overflow:hidden;
  border-radius:14px;
  border:3px solid rgba(255,246,184,0.90);
  background:rgba(0,0,0,0.72);
  box-shadow:
    0 0 8px rgba(255,249,194,0.42),
    0 0 18px rgba(125,255,112,0.24),
    0 0 34px rgba(72,255,124,0.16);
}

#va-ufo-calendar-overlay .va-ufoCalendar__scroll{
  max-height:inherit;
  overflow:auto;
  padding:clamp(24px, 4vw, 40px);
}

/* ==========================================================================
   2. Header
   ========================================================================== */

.va-ufoCalendar__header{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 0 28px;
  text-align:center;
}

.va-ufoCalendar__title{
  margin:0;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:18px;
  color:#fff6b8;
  text-shadow:
    0 0 2px rgba(255,249,194,0.98),
    0 0 10px rgba(194,255,126,0.96),
    0 0 22px rgba(125,255,112,0.92),
    0 0 38px rgba(72,255,124,0.82),
    0 0 56px rgba(72,255,124,0.62);
}

.va-ufoCalendar__auth{
  margin:0;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.va-ufoCalendar__auth.is-needed{
  color:#ffb35c;
  text-shadow:
    0 0 4px rgba(255,179,92,0.78),
    0 0 12px rgba(255,140,72,0.34);
}

.va-ufoCalendar__auth.is-granted{
  color:#8fd6ff;
  text-shadow:
    0 0 4px rgba(143,214,255,0.82),
    0 0 12px rgba(103,194,255,0.36);
}

/* ==========================================================================
   3. Cards and notes
   ========================================================================== */

.va-ufoCalendar__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}

.va-ufoCalendar__card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  background:rgba(255,255,255,0.03);
}

.va-ufoCalendar__card--seasonal{
  grid-row:span 2;
}


.va-ufoCalendar__cardTitle{
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  margin:0 0 12px;
  color:#fff6b8;
  font-size:19px;
  text-align:center;
  text-shadow:
    0 0 1px rgba(255,244,182,0.88),
    0 0 4px rgba(255,244,182,0.62),
    0 0 10px rgba(253,253,244,0.22),
    0 0 16px rgba(253,253,244,0.14);
}

.va-ufoCalendar__noteText{
  display:flex;
  flex-direction:column;
  flex:1;
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:rgba(255,255,255,0.74);
  text-align:center;
}

.va-ufoCalendar__noteItem{
  padding:10px 0;
  text-align:center;
}

.va-ufoCalendar__noteItem + .va-ufoCalendar__noteItem{
  border-top:1px solid rgba(255,255,255,0.08);
}

.va-ufoCalendar__noteLabel{
  display:block;
  margin-bottom:9px;
  color:#f5ff57;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:16px;
  text-align:center;
  line-height:1.15;
  letter-spacing:0.02em;
  text-shadow:
    0 0 4px rgba(245,255,87,0.88),
    0 0 10px rgba(245,255,87,0.42),
    0 0 18px rgba(245,255,87,0.18);
}

.va-ufoCalendar__noteBody{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.va-ufoCalendar__noteBody span{
  display:block;
  line-height:1.4;
}

.va-ufoCalendar__noteAccent{
  display:inline-block;
  color:#ffffff;
  font-weight:700;
  text-shadow:0 0 4px rgba(255,255,255,0.72), 0 0 12px rgba(255,255,255,0.28);
}

.va-ufoCalendar__noteMuted{
  display:inline;
  color:#7dff9f;
  font-style:italic;
  text-shadow:
    0 0 4px rgba(125,255,159,0.42),
    0 0 10px rgba(125,255,159,0.26),
    0 0 18px rgba(72,255,124,0.18);
}

.va-ufoCalendar__noteBody > .va-ufoCalendar__noteAccent{
  display:block;
}

.va-ufoCalendar__noteAccent--sky{
  color:#9fe7ff;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:12px;
  line-height:1.15;
  text-shadow:0 0 4px rgba(159,231,255,0.82), 0 0 12px rgba(125,207,255,0.36);
}

.va-ufoCalendar__noteBody > .va-ufoCalendar__noteAccent--sky{
  margin-top:2px;
}

.va-ufoCalendar__unlockBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:176px;
  padding:7px 16px;
  border:2px solid rgba(253,253,244,0.90);
  border-radius:10px;
  background:rgba(0,0,0,0.34);
  color:#fff6b8;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-shadow:
    0 0 2px rgba(255,249,194,0.98),
    0 0 10px rgba(194,255,126,0.96),
    0 0 22px rgba(125,255,112,0.92),
    0 0 34px rgba(72,255,124,0.72);
  cursor:pointer;
  box-shadow:none;
  transition:border-color .18s ease, text-shadow .18s ease, transform .18s ease, filter .18s ease;
}

.va-ufoCalendar__unlockBtn:hover,
.va-ufoCalendar__unlockBtn:focus-visible{
  outline:none;
  border-color:rgba(255,255,255,0.98);
  text-shadow:
    0 0 3px rgba(255,249,194,1),
    0 0 12px rgba(194,255,126,0.98),
    0 0 26px rgba(125,255,112,0.96),
    0 0 40px rgba(72,255,124,0.78);
  transform:translateY(-1px);
  filter:brightness(1.05);
}

.va-ufoCalendar__unlockBtn:disabled{
  cursor:wait;
  opacity:0.72;
  transform:none;
}

.va-ufoCalendar__footnote{
  margin:18px 0 0;
  color:#cba7ff;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:15px;
  font-style:italic;
  line-height:1.75;
  text-align:center;
  text-shadow:0 0 6px rgba(203,167,255,0.26);
}

/* ==========================================================================
   4. Confirm modal
   ========================================================================== */

.va-ufoCalendar__modal[hidden]{
  display:none !important;
}

.va-ufoCalendar__modal{
  position:fixed;
  inset:0;
  z-index:82;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,0.76);
  padding:20px;
}

.va-ufoCalendar__modalBox{
  width:min(420px, 100%);
  padding:24px 24px 20px;
  border:2px solid rgba(255,244,182,0.92);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(10,10,14,0.98), rgba(5,5,8,0.98));
  box-shadow:0 0 22px rgba(255,244,182,0.20), 0 0 34px rgba(255,244,182,0.12);
  text-align:center;
}

.va-ufoCalendar__modalTitle{
  margin:0 0 10px;
  color:#fff6b8;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:18px;
  text-shadow:0 0 1px rgba(255,244,182,0.88), 0 0 4px rgba(255,244,182,0.54), 0 0 12px rgba(255,244,182,0.18);
}

.va-ufoCalendar__modalText,
.va-ufoCalendar__modalMeta{
  margin:0;
  color:#f5f5ff;
  line-height:1.7;
}

.va-ufoCalendar__modalText{
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

.va-ufoCalendar__modalMeta{
  font-family:'Montserrat', 'Segoe UI', Roboto, Arial, sans-serif;
}

.va-ufoCalendar__modalMeta{
  margin-top:8px;
  color:#fff6b8;
  font-weight:600;
}

.va-ufoCalendar__modalPrice{
  color:#fff6b8;
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  text-shadow:0 0 1px rgba(255,244,182,0.88), 0 0 4px rgba(255,244,182,0.54), 0 0 12px rgba(255,244,182,0.18);
}

.va-ufoCalendar__modalError{
  margin:14px 0 0;
  color:#ffd2d2;
  font-size:14px;
  line-height:1.5;
}

.va-ufoCalendar__modalActions{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:18px;
}

.va-ufoCalendar__modalBtn{
  min-width:120px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  font-family:'Orbitron', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:13px;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.va-ufoCalendar__modalBtn:hover,
.va-ufoCalendar__modalBtn:focus-visible{
  outline:none;
  transform:translateY(-1px);
}

.va-ufoCalendar__modalBtn--cancel{
  background:rgba(255,255,255,0.05);
  color:#f5f5ff;
}

.va-ufoCalendar__modalBtn--confirm{
  border-color:rgba(255,244,182,0.40);
  background:linear-gradient(180deg, rgba(255,244,182,0.14), rgba(255,244,182,0.06));
  color:#fff6b8;
  box-shadow:0 0 12px rgba(255,244,182,0.12);
}

/* ==========================================================================
   5. Responsive
   ========================================================================== */

@media (max-width: 900px){
  .va-ufoCalendar__grid{
    grid-template-columns:1fr;
  }

  .va-ufoCalendar__card--seasonal{
    grid-row:auto;
  }
}

@media (max-width: 768px){
  #va-ufo-calendar-overlay{
    padding:28px 18px;
  }

  #va-ufo-calendar-overlay .va-ufoCalendar__panel{
    width:100%;
  }

  #va-ufo-calendar-overlay .va-ufoCalendar__scroll{
    padding:22px 18px;
  }

  .va-ufoCalendar__modalActions{
    flex-direction:column;
  }

  .va-ufoCalendar__modalBtn{
    width:100%;
  }
}
