:root {
  --lca-green: #2F3E46;
  --lca-green-2: #52796F;
  --lca-light: #F6F4F4;
  --lca-accent: #C44536;
  --lca-white: #FFFFFF;
  --lca-text: #2F3E46;
}

.lca-event-landing,
.lca-event-landing * ,
.lca-event-payment-card,
.lca-event-payment-card * {
  box-sizing: border-box;
}

.lca-event-landing {
  max-width: 1180px;
  margin: 0 auto 72px;
  padding: 0 18px;
  font-family: Poppins, Arial, sans-serif;
  color: var(--lca-text);
}

.lca-event-hero {
  min-height: 520px;
  border-radius: 28px;
  margin: 34px 0 28px;
  padding: 54px;
  display: flex;
  align-items: flex-end;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}

.lca-event-hero__inner {
  max-width: 780px;
  color: var(--lca-white);
}

.lca-event-hero h1 {
  color: var(--lca-white);
  font-size: clamp(38px, 5vw, 70px);
  line-height: 1.02;
  margin: 16px 0 18px;
  letter-spacing: -0.04em;
}

.lca-event-hero p {
  color: rgba(255,255,255,.9);
  font-size: clamp(17px, 2vw, 22px);
  margin: 0;
  line-height: 1.55;
}

.lca-event-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 9px 15px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,255,255,.16);
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
  backdrop-filter: blur(8px);
}

.lca-event-badge.is-open {
  background: rgba(82,121,111,.95);
  border-color: rgba(82,121,111,.95);
}

.lca-event-badge.is-closed {
  background: rgba(196,69,54,.95);
  border-color: rgba(196,69,54,.95);
}

.lca-event-payment-card {
  max-width: 1180px;
  margin: 28px auto;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .55fr);
  gap: 24px;
  padding: 30px;
  border-radius: 28px;
  background: var(--lca-white);
  color: var(--lca-text);
  border: 1px solid rgba(47,62,70,.12);
  box-shadow: 0 22px 60px rgba(47,62,70,.10);
  font-family: Poppins, Arial, sans-serif;
}

.lca-event-payment-card.is-compact {
  padding: 24px;
}

.lca-event-payment-card h2 {
  margin: 18px 0 10px;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.1;
  color: var(--lca-green);
  letter-spacing: -0.03em;
}

.lca-event-payment-card p {
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 16px;
}

.lca-event-payment-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.lca-event-payment-facts div {
  border-radius: 18px;
  background: var(--lca-light);
  padding: 16px;
}

.lca-event-payment-facts strong {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--lca-green-2);
}

.lca-event-payment-facts span {
  font-weight: 650;
  color: var(--lca-green);
}

.lca-event-payment-card__aside {
  border-radius: 24px;
  padding: 26px;
  background: linear-gradient(145deg, var(--lca-green), #233038);
  color: var(--lca-white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  text-align: center;
}

.lca-event-payment-card__aside p,
.lca-event-payment-card__aside small {
  color: rgba(255,255,255,.86);
}

.lca-event-price {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
  font-weight: 800;
  margin-bottom: 14px;
  color: var(--lca-white);
}

.lca-event-price .woocommerce-Price-amount {
  color: var(--lca-white);
}

.lca-event-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  margin: 8px 0 12px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--lca-accent);
  color: var(--lca-white) !important;
  text-decoration: none !important;
  font-weight: 750;
  border: 0;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.lca-event-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(196,69,54,.28);
}

.lca-event-button.is-disabled {
  opacity: .55;
  cursor: not-allowed;
}

.lca-event-warning {
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.12);
  color: #fff;
}

.lca-event-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 30px;
}

.lca-event-detail-block {
  border-radius: 28px;
  padding: 34px;
  background: var(--lca-light);
}

.lca-event-detail-block--dark {
  background: var(--lca-green);
  color: var(--lca-white);
}

.lca-event-detail-block span {
  color: var(--lca-accent);
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: 12px;
  font-weight: 700;
}

.lca-event-detail-block h2 {
  margin: 12px 0 14px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
  color: inherit;
}

.lca-event-detail-block p {
  font-size: 17px;
  line-height: 1.7;
}

.lca-event-thankyou {
  margin: 28px 0;
  padding: 26px;
  border-radius: 20px;
  background: var(--lca-light);
  border-left: 5px solid var(--lca-green-2);
}

.woocommerce-checkout .form-row .input-text[name="lca_event_message"] {
  min-height: 110px;
}

@media (max-width: 900px) {
  .lca-event-hero {
    min-height: 440px;
    padding: 34px 24px;
    border-radius: 22px;
  }
  .lca-event-payment-card,
  .lca-event-details-grid {
    grid-template-columns: 1fr;
  }
  .lca-event-payment-facts {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .lca-event-payment-card,
  .lca-event-detail-block {
    padding: 22px;
  }
  .lca-event-payment-facts {
    grid-template-columns: 1fr;
  }
}
