/* AAS-in-Asia 2026 — Conference Events / Body Only */
.conference-events-page {
  --events-navy: #102b3f;
  --events-maroon: #7b1e2b;
  --events-gold: #c89a43;
  --events-cream: #f7f3ec;
  --events-light: #fbfaf7;
  --events-ink: #1b2730;
  --events-muted: #68727a;
  --events-line: rgba(16,43,63,.13);
  background: var(--events-light);
  color: var(--events-ink);
  overflow: hidden;
}

.conference-events-page * { box-sizing: border-box; }

.events-intro-section {
  padding: clamp(55px, 7vw, 95px) 0 55px;
  background: var(--events-cream);
  border-bottom: 1px solid var(--events-line);
}

.events-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: 70px;
  align-items: end;
}

.events-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--events-maroon);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.events-intro-copy h1 {
  max-width: 850px;
  margin: 0;
  color: var(--events-navy);
  font-size: clamp(2.8rem, 6vw, 6.4rem);
  line-height: .92;
  letter-spacing: -.045em;
}

.events-intro-copy .lead {
  max-width: 760px;
  margin: 28px 0 0;
  color: var(--events-muted);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.75;
}

.events-intro-note {
  position: relative;
  padding: 28px 0 0 30px;
  border-left: 3px solid var(--events-gold);
}

.note-label {
  display: block;
  margin-bottom: 10px;
  color: var(--events-gold);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.events-intro-note strong {
  display: block;
  color: var(--events-navy);
  font-size: 1.35rem;
  line-height: 1.3;
}

.events-intro-note p {
  margin: 13px 0 0;
  color: var(--events-muted);
  line-height: 1.7;
}

.events-grid-section { padding: clamp(55px, 7vw, 95px) 0; }

.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: end;
  margin-bottom: 42px;
}

.section-heading h2 {
  margin: 0;
  color: var(--events-navy);
  font-size: clamp(2rem, 3.5vw, 3.7rem);
  line-height: 1;
  letter-spacing: -.035em;
}

.section-heading > p {
  max-width: 480px;
  margin: 0;
  color: var(--events-muted);
  line-height: 1.7;
}

.events-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.event-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--events-line);
  box-shadow: 0 8px 30px rgba(16,43,63,.045);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.event-card:hover {
  transform: translateY(-7px);
  border-color: rgba(123,30,43,.22);
  box-shadow: 0 18px 45px rgba(16,43,63,.11);
}

.event-image-wrap {
  position: relative;
  width: 100%;
  height: 390px;
  overflow: hidden;
  background: #ddd;
}

.event-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .7s cubic-bezier(.2,.65,.25,1);
}

.event-card:hover .event-image { transform: scale(1.045); }

.event-type {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 8px 12px;
  color: #fff;
  background: var(--events-maroon);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.event-card-body { position: relative; padding: 26px 26px 30px; flex: 1; }

.event-number {
  display: block;
  margin-bottom: 14px;
  color: var(--events-gold);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .15em;
}

.event-card h3 {
  margin: 0 0 15px;
  color: var(--events-navy);
  font-size: 1.35rem;
  line-height: 1.2;
  letter-spacing: -.015em;
}

.event-card p {
  margin: 0;
  color: var(--events-muted);
  font-size: .96rem;
  line-height: 1.72;
}

.event-card-featured:nth-child(1) { grid-column: span 1; }
.event-card-featured:nth-child(4) { grid-column: span 1; }

.event-card-text {
  min-height: 350px;
}

.event-card-accent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  color: #fff;
  background: var(--events-navy);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.event-card-text:nth-child(6n+2) .event-card-accent { background: var(--events-maroon); }
.event-card-text:nth-child(6n+3) .event-card-accent { background: #465b62; }

.event-card-global {
  color: #fff;
  background:
    radial-gradient(circle at 20% 20%, rgba(200,154,67,.35), transparent 35%),
    linear-gradient(135deg, var(--events-navy), #183e54);
}

.event-global-mark {
  padding: 35px 26px 18px;
  color: var(--events-gold);
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 900;
  line-height: .82;
  letter-spacing: -.04em;
}

.event-card-global .event-card-body { padding-top: 10px; }
.event-card-global .event-number { color: #e1bb70; }
.event-card-global h3 { color: #fff; }
.event-card-global p { color: rgba(255,255,255,.76); }

.events-closing-section { padding: 0 0 clamp(55px, 7vw, 95px); }

.events-closing-panel {
  display: grid;
  grid-template-columns: 1fr .75fr;
  gap: 60px;
  align-items: center;
  padding: clamp(35px, 5vw, 65px);
  color: #fff;
  background: var(--events-maroon);
}

.events-closing-panel h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(2rem, 4vw, 4.3rem);
  line-height: .98;
  letter-spacing: -.035em;
}

.events-closing-panel .events-eyebrow { color: #e6bf78; }

.events-closing-panel > p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  line-height: 1.8;
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.25,1);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991.98px) {
  .events-intro-grid,
  .events-closing-panel { grid-template-columns: 1fr; gap: 35px; }

  .section-heading { display: block; }
  .section-heading > p { margin-top: 22px; }

  .events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .events-intro-section,
  .events-grid-section { padding-top: 48px; }

  .events-grid { grid-template-columns: 1fr; gap: 18px; }

  .event-image-wrap { height: min(125vw, 500px); }

  .event-card-text { min-height: auto; }

  .events-closing-panel { padding: 34px 25px; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .event-card,
  .event-image { transition: none !important; }
}

/* Updated supplied-thumbnail treatment */
.conference-events-page .event-image-wrap {
  aspect-ratio: 4 / 5;
  height: auto;
  min-height: 0;
  overflow: hidden;
  background: #f7f3ec;
}
.conference-events-page .event-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (max-width: 767.98px) {
  .conference-events-page .event-image-wrap {
    aspect-ratio: 4 / 5;
  }
}

/* Final image-card treatment: exactly four image cards */
.conference-events-page .event-image-wrap {
  aspect-ratio: 4 / 5;
  height: auto;
  min-height: 0;
  overflow: hidden;
  background: #f7f3ec;
}
.conference-events-page .event-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
@media (max-width: 767.98px) {
  .conference-events-page .event-image-wrap { aspect-ratio: 4 / 5; }
}


/* Updated event-card system: image, tag, title, schedule and modal trigger. */
.event-card { height: 100%; }
.event-card-body { display:flex; flex-direction:column; }
.event-meta { display:grid; gap:8px; margin:0 0 22px; color:var(--events-muted); font-size:.88rem; line-height:1.45; }
.event-meta span { display:flex; flex-direction:column; }
.event-meta strong { color:var(--events-navy); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:2px; }
.event-read-more { align-self:flex-start; margin-top:auto; border:1px solid var(--events-navy); background:transparent; color:var(--events-navy); padding:11px 15px; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; transition:all .25s ease; cursor:pointer; }
.event-read-more:hover { background:var(--events-maroon); border-color:var(--events-maroon); color:#fff; }
.event-read-more span { margin-left:12px; font-size:1rem; }
.event-detail-modal { display:none; position:fixed; inset:0; z-index:9999; padding:30px 15px; background:rgba(16,43,63,.78); overflow-y:auto; }
.event-detail-modal.is-open { display:flex; align-items:center; justify-content:center; }
.event-detail-dialog { position:relative; width:min(760px,100%); max-height:calc(100vh - 60px); overflow-y:auto; padding:42px; background:var(--events-light); box-shadow:0 25px 80px rgba(0,0,0,.25); }
.event-modal-close { position:absolute; top:12px; right:16px; border:0; background:none; color:var(--events-navy); font-size:2rem; line-height:1; cursor:pointer; }
.event-modal-tag { display:inline-block; margin-bottom:14px; color:var(--events-maroon); font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.event-detail-dialog h3 { margin:0 0 18px; color:var(--events-navy); font-size:clamp(1.6rem,3vw,2.5rem); line-height:1.12; }
.event-modal-meta { display:flex; flex-wrap:wrap; gap:12px 28px; padding:14px 0 20px; margin-bottom:20px; border-top:1px solid var(--events-line); border-bottom:1px solid var(--events-line); color:var(--events-muted); }
.event-modal-description { white-space:pre-line; color:var(--events-ink); font-size:1rem; line-height:1.8; }
.event-video-wrap { position:relative; margin-top:25px; padding-top:56.25%; overflow:hidden; }
.event-video-wrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
@media (max-width:767.98px) { .event-detail-dialog { padding:34px 24px 28px; } .event-image-wrap { height:330px; } }


/* Venue and modal image additions */
.event-meta .event-venue,
.event-modal-meta .event-venue {
  display: flex;
  flex-direction: column;
}

.event-modal-meta {
  align-items: flex-start;
}

.event-modal-meta > span {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.event-modal-meta > span strong {
  color: var(--events-navy);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.event-modal-image-wrap {
  width: 100%;
  margin: 28px auto 0;
  text-align: center;
}

.event-modal-image {
  display: block;
  width: 90%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

@media (max-width: 767.98px) {
  .event-modal-image {
    width: 100%;
  }
}


/* Final modal metadata consistency fix */
.conference-events-page .modal-meta,
.conference-events-page .event-modal-meta,
.conference-events-page .modal-body .event-details,
.conference-events-page .modal-body .event-meta {
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.6;
}

.conference-events-page .modal-meta-label,
.conference-events-page .event-modal-meta .modal-meta-label,
.conference-events-page .modal-body .event-details .modal-meta-label,
.conference-events-page .modal-body .event-meta .modal-meta-label {
    display: inline-block;
    min-width: 4.5rem;
    margin-right: .35rem;
    font-family: inherit;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

.conference-events-page .modal-meta-value,
.conference-events-page .event-modal-meta .modal-meta-value {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
}


/* Corrected modal metadata: every field has the same label/value structure. */
.event-modal-meta .event-meta-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
}

.event-modal-meta .event-meta-label {
  display: block;
  margin: 0;
  color: var(--events-navy);
  font-family: inherit;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}

.event-modal-meta .event-meta-value {
  display: block;
  margin: 0;
  color: var(--events-muted);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

@media (max-width: 767.98px) {
  .event-modal-meta .event-meta-item {
    flex: 1 1 100%;
  }
}


/* Reference-document content inside event modals */
.event-modal-description h4 { margin: 1.35rem 0 .55rem; color: var(--events-navy); font-size: 1.12rem; line-height: 1.3; }
.event-modal-description p { margin: 0 0 1rem; }
.event-modal-table-wrap { width: 100%; overflow-x: auto; margin: 1.5rem 0 1.75rem; }
.event-modal-table { width: 100%; border-collapse: collapse; min-width: 560px; font: inherit; color: inherit; }
.event-modal-table th, .event-modal-table td { border: 1px solid var(--events-line); padding: 12px 14px; text-align: left; vertical-align: top; line-height: 1.5; }
.event-modal-table th { background: var(--events-cream); color: var(--events-navy); font-weight: 700; }
.event-modal-image-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin-top: 1.5rem; }
.event-modal-image-gallery .event-modal-image-wrap { margin: 0; }
.event-modal-image-gallery .event-modal-image { width: 100%; height: auto; max-height: none; object-fit: contain; }
.event-modal-image-wrap + .event-modal-image-wrap { margin-top: 1rem; }
@media (max-width: 700px) { .event-modal-table { min-width: 480px; } .event-modal-image-gallery { grid-template-columns: 1fr; } }
