.mlms-section {
  --mlms-primary: var(--ml-primary, var(--ml-green, #86b882));
  --mlms-primary-hover: var(--ml-primary-hover, #6fa36b);
  --mlms-light: var(--ml-primary-light, #edf6ec);
  --mlms-ink: #263127;
  --mlms-muted: #667067;
  background: transparent;
  box-sizing: border-box;
  color: var(--mlms-ink);
  font-family: Rajdhani, sans-serif;
  margin: 0 auto;
  max-width: 1360px;
  padding: 0 20px clamp(54px, 6vw, 88px);
  width: 100%;
}
.mlms-section * { box-sizing: border-box; }
.mlms-section__inner { margin: 0 auto; max-width: 1240px; }
.mlms-section__header { margin: 0 auto 20px; text-align: center; }
.mlms-section__eyebrow, .mlms-event__label, .mlms-empty__label { color: var(--mlms-primary-hover); font-size: 14px; font-weight: 700; letter-spacing: .13em; margin: 0 0 8px; text-transform: uppercase; }
.mlms-section__header h2 { color: var(--mlms-ink); font-family: "Glass Antiqua", serif; font-size: clamp(36px, 4vw, 55px); font-weight: 400; line-height: 1.05; margin: 0; text-transform: none; }
.mlms-events { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mlms-events.has-one { grid-template-columns: minmax(0, 1fr); justify-content: center; margin-inline: auto; width: min(100%, var(--mlms-featured-card-width, 1110px)); }
.mlms-carousel { margin-inline: auto; width: min(100%, var(--mlms-featured-card-width, 1110px)); }
.mlms-events.has-carousel { display: flex; gap: 0; grid-template-columns: none; margin: 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; width: 100%; -ms-overflow-style: none; }
.mlms-events.has-carousel::-webkit-scrollbar { display: none; }
.mlms-events.has-carousel .mlms-event { flex: 0 0 100%; min-width: 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.mlms-carousel__controls { align-items: center; display: flex; gap: 13px; justify-content: center; margin-top: 16px; }
.mlms-carousel__arrow { align-items: center; appearance: none; background: #fff; border: 1px solid #dce5da; border-radius: 50%; color: var(--mlms-ink); cursor: pointer; display: inline-flex; height: 38px; justify-content: center; padding: 0; transition: background .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease; width: 38px; }
.mlms-carousel__arrow:hover { background: var(--mlms-light); border-color: var(--mlms-primary); color: var(--mlms-primary-hover); }
.mlms-carousel__arrow:disabled { cursor: default; opacity: .35; }
.mlms-carousel__arrow svg { fill: none; height: 19px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 19px; }
.mlms-carousel__dots { align-items: center; display: flex; gap: 7px; justify-content: center; }
.mlms-carousel__dot { appearance: none; background: #d7dfd6; border: 0; border-radius: 999px; cursor: pointer; height: 8px; padding: 0; transition: background .2s ease, width .2s ease; width: 8px; }
.mlms-carousel__dot.is-active { background: var(--mlms-primary); width: 22px; }
.mlms-event { align-items: stretch; background: #fff; border: 1px solid #e1e7e0; border-radius: 16px; box-shadow: 0 12px 32px rgba(38,49,39,.07); display: grid; grid-template-columns: 112px minmax(0, 1fr); min-height: 270px; overflow: hidden; }
.mlms-event__map { background: var(--mlms-light); display: block; grid-column: 1 / -1; height: clamp(180px, 22vw, 245px); overflow: hidden; position: relative; }
.mlms-event__map img { display: block; height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.mlms-event__map-fallback { inset: 0; position: absolute; }
.mlms-event__map-primary { inset: 0; position: absolute; }
.mlms-event__map-primary.is-map-error { display: none; }
.mlms-event__map:hover img:not(.is-map-error) { transform: scale(1.015); }
.mlms-event__date { align-items: center; background: var(--mlms-primary); color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 24px 12px; text-align: center; }
.mlms-event__date span { font-size: 20px; font-weight: 700; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.mlms-event__date strong { font-size: 54px; font-weight: 600; line-height: 1.05; }
.mlms-event__date small { font-size: 15px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.mlms-event__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 3vw, 38px); }
.mlms-event__body { background: var(--mlms-light); }
.mlms-event__body h3, .mlms-empty__content h3 { color: var(--mlms-ink); font-family: Rajdhani, sans-serif; font-size: clamp(26px, 2.6vw, 35px); font-weight: 600; line-height: 1.08; margin: 0 0 3px; text-transform: uppercase; }
.mlms-event__venue { color: var(--mlms-primary-hover); font-size: 18px; font-weight: 600; margin: 0 0 13px; }
.mlms-event__facts { color: var(--mlms-muted); font-size: 16px; line-height: 1.35; }
.mlms-event__fact { align-items: flex-start; display: flex; gap: 8px; margin: 7px 0; }
.mlms-event__fact--address .mlms-icon { padding-top: 2px; }
.mlms-icon { align-items: center; color: var(--mlms-primary); display: inline-flex; flex: 0 0 20px; height: 20px; justify-content: center; width: 20px; }
.mlms-icon svg { display: block; height: 18px; overflow: visible; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; width: 18px; }
.mlms-icon--clock svg { fill: none; }
.mlms-icon--pin svg { fill: currentColor; stroke: none; }
.mlms-icon--pin svg circle { fill: #fff; }
.mlms-event__note { border-top: 1px solid #edf0ec; color: var(--mlms-muted); font-size: 15px; margin: 14px 0 0; padding-top: 12px; }
.mlms-event__actions, .mlms-empty__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; margin-top: 18px; }
.mlms-button { background: var(--mlms-primary); border: 1px solid var(--mlms-primary); border-radius: 7px; color: #fff !important; display: inline-flex; font-size: 16px; font-weight: 700; justify-content: center; letter-spacing: .04em; line-height: 1; padding: 13px 20px; text-decoration: none !important; text-transform: uppercase; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.mlms-button:hover { background: var(--mlms-primary-hover); border-color: var(--mlms-primary-hover); transform: translateY(-1px); }
.mlms-text-link { color: var(--mlms-ink) !important; font-size: 16px; font-weight: 700; text-decoration: none !important; text-transform: uppercase; }
.mlms-text-link span { color: var(--mlms-primary); display: inline-block; margin-left: 3px; transition: transform .2s ease; }
.mlms-text-link:hover span { transform: translateX(4px); }
.mlms-empty { background: #fff; border: 1px solid #e1e7e0; border-radius: 18px; box-shadow: 0 14px 38px rgba(38,49,39,.07); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); margin: 0 auto; max-width: 1110px; min-height: 410px; overflow: hidden; width: min(100%, var(--mlms-featured-card-width, 1110px)); }
.mlms-empty__visual { background: #fff; min-height: 410px; overflow: hidden; position: relative; }
.mlms-empty__image { display: block; height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.mlms-empty__content { align-self: stretch; background: var(--mlms-light); display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 5vw, 62px); }
.mlms-empty__content > p:not(.mlms-empty__label) { color: var(--mlms-muted); font-size: 18px; line-height: 1.5; margin: 11px 0; }
.mlms-empty__content .mlms-empty__secondary { font-size: 16px !important; }
.mlms-houston-map { background: linear-gradient(145deg, #eef5ed, #dfeadd); height: 100%; inset: 0; overflow: hidden; position: absolute; }
.mlms-houston-map::before { border: 24px solid rgba(255,255,255,.48); border-radius: 46% 54% 55% 45%; content: ""; height: 64%; left: 10%; position: absolute; top: 13%; transform: rotate(-8deg); width: 72%; }
.mlms-map-road { background: rgba(255,255,255,.85); height: 7px; left: -10%; position: absolute; top: 47%; transform: rotate(-17deg); width: 120%; }
.mlms-map-road.road-two { height: 5px; top: 29%; transform: rotate(23deg); }
.mlms-map-road.road-three { height: 4px; left: 42%; top: -5%; transform: rotate(7deg); width: 5px; height: 110%; }
.mlms-map-road.road-four { height: 4px; top: 69%; transform: rotate(8deg); }
.mlms-map-pin { background: var(--mlms-primary); border: 5px solid #fff; border-radius: 50% 50% 50% 0; box-shadow: 0 5px 14px rgba(38,49,39,.2); height: 38px; left: calc(50% - 19px); position: absolute; top: 39%; transform: rotate(-45deg); width: 38px; }
.mlms-houston-map strong { bottom: 19%; color: var(--mlms-ink); font-size: clamp(28px, 4vw, 46px); left: 0; letter-spacing: .2em; position: absolute; right: 0; text-align: center; }
.mlms-houston-map small { bottom: 14%; color: var(--mlms-primary-hover); font-size: 13px; font-weight: 700; left: 0; letter-spacing: .38em; position: absolute; right: 0; text-align: center; }
/* v1.0.11 — when the Homepage Showcase Featured Product is present,
   frontend.js measures its rendered card width and supplies --mlms-featured-card-width.
   This avoids Divi row-width differences while preserving all market layout breakpoints. */
/* v1.0.10 — match the Featured Product module's outer width geometry at every viewport.
   Layout/stacking breakpoints are intentionally unchanged. */
@media (max-width: 1100px) {
  .mlms-section {
    max-width: 1100px;
    padding-inline: 16px;
  }
}
@media (max-width: 850px) {
  .mlms-events { grid-template-columns: 1fr; }
  .mlms-empty { grid-template-columns: 1fr; }
  .mlms-empty__visual { min-height: 330px; }
}
@media (max-width: 600px) {
  .mlms-section { padding: 0 16px 44px; }
  .mlms-section__header { margin-bottom: 14px; }
  .mlms-event { grid-template-columns: 82px minmax(0, 1fr); min-height: 0; }
  .mlms-event__map { height: 190px; }
  .mlms-event__date { padding: 20px 8px; }
  .mlms-event__date span { font-size: 16px; }
  .mlms-event__date strong { font-size: 42px; }
  .mlms-event__date small { font-size: 12px; }
  .mlms-event__body { padding: 23px 19px; }
  .mlms-event__body h3, .mlms-empty__content h3 { font-size: 26px; }
  .mlms-event__venue { font-size: 16px; }
  .mlms-event__facts { font-size: 15px; }
  .mlms-icon { flex-basis: 18px; height: 18px; width: 18px; }
  .mlms-icon svg { height: 16px; width: 16px; }
  .mlms-event__actions, .mlms-empty__actions { align-items: stretch; flex-direction: column; gap: 13px; }
  .mlms-empty__visual { min-height: 260px; }
  .mlms-empty__content { padding: 30px 23px 34px; }
  .mlms-empty__content > p:not(.mlms-empty__label) { font-size: 16px; }
  .mlms-button { width: 100%; }
  .mlms-text-link { text-align: center; }
  .mlms-carousel__controls { margin-top: 13px; }
  .mlms-carousel__arrow { height: 36px; width: 36px; }
}

@media (max-width: 390px) {
  .mlms-section { padding-inline: 12px; }
}

/* v1.0.6 — keep the single scheduled-market card visually coordinated with
   the no-market card at wide/tablet-desktop layouts: map left, info right. */
@media (min-width: 851px) {
  .mlms-events.has-one .mlms-event.has-map,
  .mlms-events.has-carousel .mlms-event.has-map {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    grid-template-rows: auto 1fr;
    min-height: 410px;
  }
  .mlms-events.has-one .mlms-event.has-map .mlms-event__map,
  .mlms-events.has-carousel .mlms-event.has-map .mlms-event__map {
    grid-column: 1;
    grid-row: 1 / span 2;
    height: auto;
    min-height: 410px;
  }
  .mlms-events.has-one .mlms-event.has-map .mlms-event__date,
  .mlms-events.has-carousel .mlms-event.has-map .mlms-event__date {
    align-items: baseline;
    flex-direction: row;
    gap: 10px;
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-start;
    padding: 18px clamp(28px, 3vw, 38px) 16px;
    text-align: left;
  }
  .mlms-events.has-one .mlms-event.has-map .mlms-event__date span,
  .mlms-events.has-one .mlms-event.has-map .mlms-event__date small,
  .mlms-events.has-carousel .mlms-event.has-map .mlms-event__date span,
  .mlms-events.has-carousel .mlms-event.has-map .mlms-event__date small {
    font-size: 15px;
    line-height: 1;
  }
  .mlms-events.has-one .mlms-event.has-map .mlms-event__date strong,
  .mlms-events.has-carousel .mlms-event.has-map .mlms-event__date strong {
    font-size: 34px;
    line-height: 1;
  }
  .mlms-events.has-one .mlms-event.has-map .mlms-event__body,
  .mlms-events.has-carousel .mlms-event.has-map .mlms-event__body {
    grid-column: 2;
    grid-row: 2;
    padding: clamp(28px, 4vw, 46px);
  }
}
