/* FMBC Modern Luxe 1.0.16 — Events directory and single-event fidelity */

/* Events directory page */
.fmbc-events-page-hero {
  position: relative !important;
  isolation: isolate;
  min-height: 520px !important;
  padding: 0 24px !important;
  display: flex;
  justify-content: center;
  background-position: center 43% !important;
  background-size: cover !important;
  overflow: hidden;
}
.fmbc-events-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg,rgba(2,17,40,.96) 0%,rgba(3,26,58,.90) 40%,rgba(3,26,58,.48) 73%,rgba(3,26,58,.30) 100%);
}
.fmbc-events-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 5px;
  background: linear-gradient(90deg,#d99a24,#f2bd4d 50%,#d99a24);
}
.fmbc-events-hero-inner,
.fmbc-events-hero-inner > .e-con-inner {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%,1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding: 92px 0 98px !important;
  align-items: flex-start !important;
  justify-content: center !important;
}
.fmbc-events116-kicker .elementor-heading-title,
.fmbc-events116-section-kicker .elementor-heading-title,
.fmbc-events116-closing-kicker .elementor-heading-title {
  margin: 0;
  color: #e3a72d !important;
  font: 800 13px/1.2 Inter,"Segoe UI",Arial,sans-serif !important;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.fmbc-events-hero-title .elementor-heading-title {
  max-width: 710px;
  margin: 13px 0 0 !important;
  color: #fff !important;
  font: 700 clamp(52px,6vw,84px)/.98 Georgia,"Times New Roman",serif !important;
  letter-spacing: -.035em;
}
.fmbc-events-hero-title::after { display: none !important; }
.fmbc-events-hero-copy,
.fmbc-events-hero-copy .elementor-widget-container { max-width: 620px !important; }
.fmbc-events-hero-copy p {
  margin: 21px 0 0;
  color: rgba(255,255,255,.84);
  font: 400 18px/1.68 Inter,"Segoe UI",Arial,sans-serif;
}
.fmbc-events116-hero-actions,
.fmbc-events116-hero-actions > .e-con-inner,
.fmbc-events116-closing-actions,
.fmbc-events116-closing-actions > .e-con-inner {
  display: flex !important;
  flex-flow: row wrap !important;
  gap: 12px !important;
  margin-top: 28px;
}
.fmbc-events116-hero-actions .elementor-widget-button,
.fmbc-events116-closing-actions .elementor-widget-button { width: auto !important; }
.fmbc-events116-primary .elementor-button,
.fmbc-events116-secondary .elementor-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px !important;
  border-radius: 8px !important;
  font: 800 11px/1 Inter,"Segoe UI",Arial,sans-serif !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition: transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.fmbc-events116-primary .elementor-button { color: #031a3a !important; background: #e3a72d !important; border: 1px solid #e3a72d !important; }
.fmbc-events116-secondary .elementor-button { color: #fff !important; background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.55) !important; }
.fmbc-events116-primary .elementor-button:hover,
.fmbc-events116-secondary .elementor-button:hover { transform: translateY(-2px); }
.fmbc-events116-primary .elementor-button:hover { background: #f2bd4d !important; border-color: #f2bd4d !important; }
.fmbc-events116-secondary .elementor-button:hover { color: #031a3a !important; background: #fff !important; border-color: #fff !important; }

.fmbc-events-page-section {
  padding: 88px 24px 92px !important;
  background: #fff !important;
}
.fmbc-events-intro,
.fmbc-events-intro > .e-con-inner {
  width: min(100%,760px) !important;
  max-width: 760px !important;
  margin: 0 auto 45px !important;
  align-items: center !important;
  text-align: center;
}
.fmbc-events-page-title .elementor-heading-title {
  margin: 12px 0 0 !important;
  color: #031a3a !important;
  font: 700 clamp(38px,4.5vw,58px)/1.08 Georgia,"Times New Roman",serif !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
}
.fmbc-events-page-title::before,
.fmbc-events-page-title::after { display: none !important; }
.fmbc-events-page-intro,
.fmbc-events-page-intro .elementor-widget-container { max-width: 700px !important; }
.fmbc-events-page-intro p {
  margin: 16px 0 0;
  color: #667085;
  font: 400 16px/1.7 Inter,"Segoe UI",Arial,sans-serif;
}
.fmbc-events-shortcode { width: min(100%,1180px) !important; max-width: 1180px !important; margin-inline: auto !important; }
.fmbc-events-directory-wrap { width: 100%; }
.fmbc-events-directory {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 22px !important;
  width: 100%;
  max-width: 1180px !important;
  margin: 0 auto;
}
.fmbc-event-feature {
  display: grid !important;
  grid-template-columns: minmax(0,1.02fr) minmax(270px,.98fr) !important;
  min-width: 0;
  min-height: 440px !important;
  background: #fff !important;
  border: 1px solid #e1e6ee !important;
  border-radius: 19px !important;
  overflow: hidden;
  box-shadow: 0 16px 42px rgba(3,26,58,.10) !important;
  transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.fmbc-event-feature:hover { transform: translateY(-4px); border-color: rgba(217,154,36,.62) !important; box-shadow: 0 23px 52px rgba(3,26,58,.14) !important; }
.fmbc-event-feature-media { position: relative; min-height: 440px !important; overflow: hidden; background: #031a3a; }
.fmbc-event-feature-media img,
.fmbc-event-image-placeholder { width: 100%; height: 100%; min-height: 440px !important; object-fit: cover; }
.fmbc-event-feature-info { min-width: 0; padding: 29px 28px 26px !important; }
.fmbc-event-feature-date { margin-bottom: 13px; }
.fmbc-event-feature-date span { color: #d99a24; font-size: 13px; letter-spacing: .11em; }
.fmbc-event-feature-date strong { color: #031a3a; font-size: 23px; line-height: 1.08; }
.fmbc-event-feature-info h3 { margin: 0 0 15px; color: #031a3a; font: 700 30px/1.07 Georgia,"Times New Roman",serif; }
.fmbc-event-meta-row { grid-template-columns: 42px 1fr; gap: 11px; padding: 11px 0; }
.fmbc-event-meta-row > .fmbc-event-meta-icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: #f2bd4d;
  background: #031a3a;
  border-radius: 50%;
  line-height: 1;
}
.fmbc-event-meta-row > .fmbc-event-meta-icon svg {
  width: 21px;
  height: 21px;
  display: block;
  flex: 0 0 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fmbc-event-meta-row > div > span { display: block; margin-top: 3px; color: #475467; }
.fmbc-event-feature-description { margin: 14px 0 18px; font-size: 14px; line-height: 1.55; }
.fmbc-event-details-button { min-height: 43px; align-items: center; padding: 12px 16px; }
.fmbc-event-status-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 8px 11px;
  border-radius: 999px;
  color: #031a3a;
  background: #f2bd4d;
  font: 900 10px/1 Inter,"Segoe UI",Arial,sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(3,26,58,.18);
}
.fmbc-event-feature--past .fmbc-event-feature-media img { filter: saturate(.82); }
.fmbc-events-empty {
  max-width: 820px;
  margin: 0 auto;
  padding: 30px 32px;
  justify-content: flex-start;
  gap: 16px;
  text-align: left;
  background: #f7f4ee;
  border: 1px solid rgba(217,154,36,.32);
}
.fmbc-events-empty > .fmbc-event-meta-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  color: #f2bd4d;
}
.fmbc-events-empty > .fmbc-event-meta-icon svg {
  display: block;
  fill: none;
  stroke: currentColor;
}
.fmbc-events-empty div { display: flex; flex-direction: column; gap: 5px; }
.fmbc-events-empty strong { font: 700 23px/1.2 Georgia,"Times New Roman",serif; }
.fmbc-events-empty span { color: #667085; font-size: 14px; line-height: 1.55; }
.fmbc-events-recent { margin-top: 78px; padding-top: 64px; border-top: 1px solid #e4e7ec; }
.fmbc-events-recent-heading { max-width: 680px; margin: 0 auto 36px; text-align: center; }
.fmbc-events-recent-heading > span { color: #d99a24; font: 800 12px/1.2 Inter,"Segoe UI",Arial,sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.fmbc-events-recent-heading h3 { margin: 10px 0 0; color: #031a3a; font: 700 42px/1.08 Georgia,"Times New Roman",serif; }
.fmbc-events-recent-heading p { margin: 13px 0 0; color: #667085; font-size: 15px; line-height: 1.65; }

.fmbc-events116-closing { padding: 0 24px 96px !important; background: #fff !important; }
.fmbc-events116-closing-inner,
.fmbc-events116-closing-inner > .e-con-inner {
  width: min(100%,1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding: 38px 40px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center !important;
  gap: 24px !important;
  color: #fff;
  background: linear-gradient(135deg,#031a3a,#082b61) !important;
  border: 1px solid rgba(217,154,36,.42);
  border-radius: 20px !important;
  box-shadow: 0 20px 48px rgba(3,26,58,.14);
}
.fmbc-events116-closing-icon .fmbc-icon-svg {
  width: 66px;
  height: 66px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f2bd4d;
  background: rgba(217,154,36,.11);
  border: 1px solid rgba(217,154,36,.45);
  border-radius: 50%;
}
.fmbc-events116-closing-icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.fmbc-events116-closing-title .elementor-heading-title { margin: 7px 0 0; color: #fff !important; font: 700 34px/1.12 Georgia,"Times New Roman",serif !important; }
.fmbc-events116-closing-copy p { margin: 10px 0 0; max-width: 590px; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.6; }
.fmbc-events116-closing-actions,
.fmbc-events116-closing-actions > .e-con-inner { margin-top: 0; }

/* Individual event */
.fmbc-event-single { background: #f7f4ee; }
.fmbc-event-single-hero { position: relative; isolation: isolate; padding: 76px 24px 82px; background: linear-gradient(135deg,#031a3a,#082b61); color: #fff; overflow: hidden; }
.fmbc-event-single-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 78% 20%,rgba(18,59,209,.18),transparent 32%),linear-gradient(120deg,transparent 60%,rgba(217,154,36,.08)); }
.fmbc-event-single-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: linear-gradient(90deg,#d99a24,#f2bd4d 50%,#d99a24); }
.fmbc-event-single-hero-inner { width: min(100%,1180px); max-width: 1180px; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 55px; }
.fmbc-event-single-kicker { margin-bottom: 13px; font-size: 12px; letter-spacing: .18em; }
.fmbc-event-single-copy h1 { max-width: 570px; font-size: clamp(48px,5.5vw,76px); line-height: .98; letter-spacing: -.035em; }
.fmbc-event-single-date { margin: 22px 0 0; font-size: 19px; line-height: 1.4; }
.fmbc-event-single-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.fmbc-event-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 13px 19px; border: 1px solid transparent; border-radius: 8px; text-decoration: none !important; font: 800 11px/1 Inter,"Segoe UI",Arial,sans-serif; letter-spacing: .07em; text-transform: uppercase; transition: transform .2s ease,background-color .2s ease,border-color .2s ease; }
.fmbc-event-button:hover { transform: translateY(-2px); }
.fmbc-event-button--gold { color: #031a3a !important; background: #e3a72d; border-color: #e3a72d; }
.fmbc-event-button--gold:hover { background: #f2bd4d; border-color: #f2bd4d; }
.fmbc-event-button--outline { color: #fff !important; background: transparent; border-color: rgba(255,255,255,.55); }
.fmbc-event-button--outline:hover { color: #031a3a !important; background: #fff; border-color: #fff; }
.fmbc-event-single-image { position: relative; }
.fmbc-event-single-image::before { content: ""; position: absolute; left: -16px; bottom: -16px; width: 42%; height: 42%; border-left: 3px solid #d99a24; border-bottom: 3px solid #d99a24; border-radius: 0 0 0 20px; }
.fmbc-event-single-image img { position: relative; width: 100%; height: 410px; border-radius: 20px; border: 1px solid rgba(217,154,36,.48); box-shadow: 0 25px 55px rgba(0,0,0,.25); }
.fmbc-event-single-body { padding: 84px 24px 96px; background: #f7f4ee; scroll-margin-top: 110px; }
.fmbc-event-single-layout { width: min(100%,1080px); max-width: 1080px; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 28px; align-items: stretch; }
.fmbc-event-single-content { padding: 42px 42px 44px; color: #475467; background: #fff; border: 1px solid #e1e6ee; border-radius: 18px; box-shadow: 0 13px 36px rgba(3,26,58,.07); }
.fmbc-event-single-eyebrow { margin: 0; color: #d99a24; font: 800 12px/1.2 Inter,"Segoe UI",Arial,sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.fmbc-event-single-content h2 { margin: 10px 0 18px; color: #031a3a; font: 700 40px/1.08 Georgia,"Times New Roman",serif; letter-spacing: -.02em; }
.fmbc-event-single-description { font-size: 17px; line-height: 1.75; }
.fmbc-event-single-description p { margin: 0 0 1em; }
.fmbc-event-single-details { padding: 31px 28px 28px; background: #fff; border-top: 4px solid #d99a24; border-radius: 18px; box-shadow: 0 13px 36px rgba(3,26,58,.07); }
.fmbc-event-single-details-kicker { margin: 0 0 7px; color: #d99a24; font: 800 11px/1.2 Inter,"Segoe UI",Arial,sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.fmbc-event-single-details h2 { margin-bottom: 18px; font-size: 29px; }
.fmbc-event-single-row { grid-template-columns: 42px 1fr; gap: 12px; padding: 14px 0; }
.fmbc-event-single-row > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: #f2bd4d;
  background: #031a3a;
  line-height: 1;
}
.fmbc-event-single-row > span svg {
  display: block;
  flex: 0 0 22px;
  fill: none;
  stroke: currentColor;
}
.fmbc-event-single-detail-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.fmbc-event-single-direction,
.fmbc-event-single-back { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; margin: 0; padding: 11px 14px; border-radius: 7px; text-decoration: none !important; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.fmbc-event-single-direction { color: #031a3a !important; background: #e3a72d; }
.fmbc-event-single-back { color: #fff !important; background: #031a3a; }
.fmbc-event-single-direction:hover { background: #f2bd4d; }
.fmbc-event-single-back:hover { background: #0a3269; }
.fmbc-event-single-highlights { width: min(100%,1080px); margin: 26px auto 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.fmbc-event-single-highlights article { padding: 27px 25px; background: #fff; border: 1px solid #e1e6ee; border-radius: 16px; box-shadow: 0 10px 28px rgba(3,26,58,.055); }
.fmbc-event-single-highlights article > span { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; color: #f2bd4d; background: #031a3a; border-radius: 12px; }
.fmbc-event-single-highlights svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.fmbc-event-single-highlights h3 { margin: 17px 0 8px; color: #031a3a; font: 700 21px/1.2 Georgia,"Times New Roman",serif; }
.fmbc-event-single-highlights p { margin: 0; color: #667085; font-size: 14px; line-height: 1.6; }
.fmbc-event-single-invite { width: min(100%,1080px); margin: 26px auto 0; padding: 39px 40px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 30px; color: #fff; background: linear-gradient(135deg,#031a3a,#082b61); border: 1px solid rgba(217,154,36,.45); border-radius: 20px; box-shadow: 0 20px 48px rgba(3,26,58,.14); }
.fmbc-event-single-invite > div > p { margin: 0; color: #e3a72d; font: 800 11px/1.2 Inter,"Segoe UI",Arial,sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.fmbc-event-single-invite h2 { margin: 8px 0 10px; color: #fff; font: 700 36px/1.1 Georgia,"Times New Roman",serif; }
.fmbc-event-single-invite > div > span { display: block; max-width: 630px; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.6; }
.fmbc-event-single-invite-actions { display: flex; flex-wrap: wrap; gap: 9px; }

@media (max-width: 1100px) {
  .fmbc-events-directory { grid-template-columns: 1fr !important; max-width: 860px !important; }
  .fmbc-events116-closing-inner,
  .fmbc-events116-closing-inner > .e-con-inner { grid-template-columns: auto minmax(0,1fr); }
  .fmbc-events116-closing-actions { grid-column: 2; }
}

@media (max-width: 800px) {
  .fmbc-events-page-hero { min-height: 480px !important; padding-inline: 18px !important; background-position: 64% center !important; }
  .fmbc-events-page-hero::before { background: linear-gradient(90deg,rgba(2,17,40,.96),rgba(3,26,58,.78)); }
  .fmbc-events-hero-inner,
  .fmbc-events-hero-inner > .e-con-inner { padding: 70px 0 78px !important; }
  .fmbc-events-page-section { padding: 66px 16px 72px !important; }
  .fmbc-event-feature { grid-template-columns: 1fr !important; }
  .fmbc-event-feature-media,
  .fmbc-event-feature-media img,
  .fmbc-event-image-placeholder { min-height: 290px !important; height: 290px !important; }
  .fmbc-events116-closing { padding: 0 16px 72px !important; }
  .fmbc-events116-closing-inner,
  .fmbc-events116-closing-inner > .e-con-inner { grid-template-columns: 1fr; padding: 31px 23px !important; }
  .fmbc-events116-closing-icon { display: none; }
  .fmbc-events116-closing-actions { grid-column: auto; }
  .fmbc-event-single-hero { padding: 60px 18px 70px; }
  .fmbc-event-single-hero-inner,
  .fmbc-event-single-layout { grid-template-columns: 1fr; }
  .fmbc-event-single-image img { height: 310px; }
  .fmbc-event-single-body { padding: 62px 16px 72px; }
  .fmbc-event-single-highlights { grid-template-columns: 1fr; }
  .fmbc-event-single-invite { grid-template-columns: 1fr; padding: 32px 24px; }
}

@media (max-width: 520px) {
  .fmbc-events-hero-title .elementor-heading-title { font-size: 47px !important; }
  .fmbc-events-hero-copy p { font-size: 16px; }
  .fmbc-events116-hero-actions,
  .fmbc-events116-hero-actions > .e-con-inner,
  .fmbc-events116-closing-actions,
  .fmbc-events116-closing-actions > .e-con-inner { flex-direction: column !important; width: 100% !important; }
  .fmbc-events116-hero-actions .elementor-widget-button,
  .fmbc-events116-closing-actions .elementor-widget-button,
  .fmbc-events116-hero-actions .elementor-button,
  .fmbc-events116-closing-actions .elementor-button { width: 100% !important; }
  .fmbc-event-feature-media,
  .fmbc-event-feature-media img,
  .fmbc-event-image-placeholder { min-height: 235px !important; height: 235px !important; }
  .fmbc-event-feature-info { padding: 24px 21px 22px !important; }
  .fmbc-event-feature-info h3 { font-size: 27px; }
  .fmbc-events-empty { align-items: flex-start; padding: 24px 20px; }
  .fmbc-events-recent { margin-top: 58px; padding-top: 50px; }
  .fmbc-event-single-copy h1 { font-size: 45px; }
  .fmbc-event-single-hero-actions,
  .fmbc-event-single-invite-actions { flex-direction: column; }
  .fmbc-event-button { width: 100%; }
  .fmbc-event-single-image::before { display: none; }
  .fmbc-event-single-image img { height: 250px; }
  .fmbc-event-single-content { padding: 31px 23px 34px; }
  .fmbc-event-single-content h2 { font-size: 34px; }
  .fmbc-event-single-details { padding: 27px 22px 24px; }
  .fmbc-event-single-detail-actions { flex-direction: column; }
  .fmbc-event-single-direction,
  .fmbc-event-single-back { width: 100%; }
  .fmbc-event-single-invite h2 { font-size: 31px; }
}

@media (prefers-reduced-motion: reduce) {
  .fmbc-event-feature,
  .fmbc-event-button,
  .fmbc-events116-primary .elementor-button,
  .fmbc-events116-secondary .elementor-button { transition: none; }
}
