/* events.css — Private Events page */

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.ev-hero {
  position: relative;
  height: 70vh;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.ev-hero__bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center 30%;
  transform: scale(1.04);
  transition: transform 8s ease;
}

.ev-hero__bg.is-loaded { transform: scale(1); }

.ev-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top,
    rgba(7,23,20,0.92) 0%,
    rgba(7,23,20,0.35) 50%,
    rgba(7,23,20,0.15) 100%);
}

.ev-hero__content {
  position: relative; z-index: 1;
  padding: 0 72px 72px;
  max-width: 760px;
}

.ev-hero__title {
  font-size: clamp(52px, 8vw, 96px);
  font-weight: 800; line-height: 0.95;
  text-transform: uppercase; color: #fff;
  letter-spacing: 0.02em; margin-bottom: 16px;
}

.ev-hero__sub {
  font-size: 16px; font-weight: 300;
  color: rgba(255,255,255,0.7);
  max-width: 480px; line-height: 1.6;
}

/* ══════════════════════════════════════
   INTRO
══════════════════════════════════════ */
.ev-intro { background: #fff; }

/* ══════════════════════════════════════
   EVENT TYPES
══════════════════════════════════════ */
.ev-types {
  background: #f7fafa;
  padding: 72px 0 88px;
}

.ev-types__track-outer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 64px;
}

.ev-types__track {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.ev-type-card {
  background: #fff;
  border-radius: 20px;
  padding: 40px 32px 36px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 1px solid rgba(49,147,145,0.1);
  transition: box-shadow 0.3s, transform 0.3s;
}

.ev-type-card:hover {
  box-shadow: 0 16px 48px rgba(49,147,145,0.12);
  transform: translateY(-4px);
}

.ev-type-card__icon {
  width: 48px; height: 48px;
  background: rgba(49,147,145,0.08);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: #319391;
  flex-shrink: 0;
}

.ev-type-card__icon svg { width: 24px; height: 24px; }

.ev-type-card__title {
  font-size: 15px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: #319391; line-height: 1.2;
}

.ev-type-card__desc {
  font-size: 13px; font-weight: 300;
  color: rgba(13,34,32,0.65);
  line-height: 1.75;
}

/* ══════════════════════════════════════
   CAPACITY STRIP
══════════════════════════════════════ */
.ev-strip {
  background: #071712;
  padding: 56px 64px;
  display: flex;
  justify-content: center;
  gap: 0;
}

.ev-strip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex: 1;
  max-width: 200px;
  position: relative;
}

.ev-strip__item + .ev-strip__item::before {
  content: '';
  position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  height: 40px; width: 1px;
  background: rgba(255,255,255,0.12);
}

.ev-strip__num {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800; color: #6de8e6;
  line-height: 1;
  letter-spacing: -0.02em;
}

.ev-strip__label {
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  text-align: center;
}

/* ══════════════════════════════════════
   FORM SECTION
══════════════════════════════════════ */
.ev-form-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 680px;
}

/* Left panel */
.ev-form-left {
  position: relative;
  background: url('../assets/images/With%20People/20.jpg') center/cover no-repeat;
  padding: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
}

.ev-form-left::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(7, 23, 18, 0.82);
}

.ev-form-left > * {
  position: relative;
  z-index: 1;
}

.ev-form-left .section-eyebrow { color: rgba(109,232,230,0.7); }
.ev-form-left .section-title   { color: #fff; }

.ev-form-left .section-title::after {
  background:
    linear-gradient(to right, transparent, #fff 50%, transparent) no-repeat,
    rgba(255,255,255,0.15);
  background-size: 40% 100%, 100% 100%;
}

.ev-form__desc {
  font-size: 14px; font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.85;
}

.ev-form__contact-list {
  display: flex; flex-direction: column; gap: 14px;
  list-style: none;
}

.ev-form__contact-list li {
  display: flex; align-items: center; gap: 12px;
  font-size: 13px; font-weight: 400;
  color: rgba(255,255,255,0.65);
}

.ev-form__contact-list svg {
  width: 16px; height: 16px;
  color: #6de8e6; flex-shrink: 0;
}

.ev-form__contact-list a {
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  transition: color 0.2s;
}

.ev-form__contact-list a:hover { color: #6de8e6; }

/* Right panel */
.ev-form-right {
  background: #fff;
  padding: 72px 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ev-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 520px;
}

.ev-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ev-form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ev-form__label {
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: rgba(13,34,32,0.5);
}

.ev-form__input {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px; font-weight: 400;
  color: #0d2220;
  background: #f7fafa;
  border: 1.5px solid rgba(13,34,32,0.1);
  border-radius: 10px;
  padding: 13px 16px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  width: 100%;
  -webkit-appearance: none;
}

.ev-form__input:focus {
  border-color: #319391;
  background: #fff;
}

.ev-form__input::placeholder { color: rgba(13,34,32,0.3); }

.ev-form__textarea {
  resize: none;
  height: 110px;
}

.ev-form__submit {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #fff;
  background: #319391;
  border: none; border-radius: 100px;
  padding: 18px 40px;
  cursor: pointer;
  align-self: flex-start;
  transition: background 0.25s, transform 0.2s;
}

.ev-form__submit:hover   { background: #237f7d; }
.ev-form__submit:active  { transform: scale(0.97); }

.ev-form__success {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 32px;
  background: rgba(49,147,145,0.06);
  border: 1.5px solid rgba(49,147,145,0.2);
  border-radius: 16px;
}

.ev-form__success.is-visible { display: flex; }

.ev-form__success-icon {
  width: 48px; height: 48px;
  background: rgba(49,147,145,0.1);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

.ev-form__success-title {
  font-size: 18px; font-weight: 800;
  color: #0d2220; text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ev-form__success-msg {
  font-size: 13px; font-weight: 300;
  color: rgba(13,34,32,0.65);
  line-height: 1.7;
  text-align: left;
}

/* ══════════════════════════════════════
   MOBILE
══════════════════════════════════════ */
@media (max-width: 768px) {
  .ev-hero { height: 55vh; min-height: 360px; }
  .ev-hero__content { padding: 0 24px 48px; width: 100%; text-align: center; }
  .ev-hero__title { font-size: clamp(40px, 11vw, 60px); }
  .ev-hero__sub { font-size: 14px; max-width: 100%; text-align: center; text-align-last: center; }

  .ev-types { padding: 48px 0 56px; }

  .ev-types__track-outer {
    max-width: 100%;
    padding: 0 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ev-types__track-outer::-webkit-scrollbar { display: none; }

  .ev-types__track {
    display: flex;
    grid-template-columns: unset;
    gap: 16px;
  }

  .ev-type-card {
    flex: 0 0 85%;
    scroll-snap-align: center;
    padding: 28px 24px 28px;
    gap: 14px;
  }
  .ev-type-card__desc { font-size: 13px; }

  .ev-form-section { grid-template-columns: 1fr; }
  .ev-form-left { padding: 56px 24px 40px; text-align: center; }
  .ev-form-left .section-title::after { left: 50%; transform: translateX(-50%); }
  .ev-form-right { padding: 48px 24px 64px; }
  .ev-form { max-width: 100%; }
  .ev-form__row { grid-template-columns: 1fr; gap: 20px; }
  .ev-form__submit { width: 100%; text-align: center; }
}
