/* Mr M.T. Eventkalender — frontend styles
 * Scoped to .mmt-events so the theme can keep control of the page.
 * ExS / ExS Pro injects these variables from the Customizer on :root.
 */
.mmt-events {
  --mmt-light:var(--colorLight,#fff);
  --mmt-text:var(--colorFont,#183555);
  --mmt-ink:var(--colorDarkMuted,var(--colorDark,#183555));
  --mmt-muted:var(--colorFontMuted,#58718e);
  --mmt-accent:var(--colorMain,#51780b);
  --mmt-line:var(--colorBorder,#d9dfe3);
  --mmt-surface:var(--colorBackground,#f5f7f8);
  --mmt-dark:var(--colorDark,#414141);
  color:var(--mmt-text);
  font-family:inherit;
}
.mmt-events * { box-sizing:border-box; }
.mmt-events a { color:inherit; }
.mmt-eyebrow { color:var(--mmt-accent); font-size:.76rem; font-weight:700; letter-spacing:.16em; line-height:1.4; margin:0 0 .35rem; text-transform:uppercase; }
.mmt-list { display:grid; gap:3.8rem; grid-template-columns:minmax(210px,.72fr) minmax(0,1.55fr); max-width:1400px; }
.mmt-list__aside { padding-top:.1rem; }
.mmt-list__month { align-items:center; color:var(--mmt-ink); display:flex; font-size:2rem; gap:1rem; line-height:1.1; margin:.8rem 0 1.3rem; }
.mmt-list__month span { background:var(--mmt-accent); display:inline-block; height:3px; width:28px; }
.mmt-list__intro { color:var(--mmt-muted); font-size:1rem; line-height:1.75; max-width:260px; }
.mmt-list__intro p { margin:0 0 1rem; }
.mmt-list__cta { align-items:center; background:var(--mmt-dark); border-radius:5px; color:var(--mmt-light)!important; display:inline-flex; font-size:.92rem; gap:2.2rem; margin-top:4.2rem; padding:1rem 1.65rem; text-decoration:none; }
.mmt-list__cta:hover,.mmt-list__cta:focus { filter:brightness(.88); }
.mmt-list__cta span,.mmt-button span { font-size:1.35rem; line-height:.65; }
.mmt-list__entries { min-width:0; }
.mmt-list__item { border-bottom:1px solid var(--mmt-line); display:grid; gap:2.3rem; grid-template-columns:minmax(170px,.6fr) minmax(0,1.35fr); padding:1.9rem 0; }
.mmt-list__item:first-child { padding-top:.1rem; }
.mmt-list__date time { color:var(--mmt-ink); display:block; font-size:1.65rem; font-weight:700; line-height:1.2; }
.mmt-list__time { color:var(--mmt-muted); font-size:.92rem; margin:.25rem 0 0; }
.mmt-list__content h3 { color:var(--mmt-ink); font-size:1.55rem; line-height:1.25; margin:0 0 1rem; }
.mmt-list__content h3 a { text-decoration:none; }
.mmt-list__content h3 a:hover { color:var(--mmt-accent); }
.mmt-list__content>p { color:var(--mmt-muted); line-height:1.6; margin:0 0 1.6rem; }
.mmt-list__excerpt { color:var(--mmt-muted); font-size:1rem; line-height:1.6; margin:.15rem 0 1.25rem; max-width:70ch; }
.mmt-button { align-items:center; background:var(--mmt-accent); border-radius:5px; color:var(--mmt-light)!important; display:flex; font-size:.88rem; gap:1.6rem; justify-content:center; min-height:2rem; padding:.35rem 1rem; text-decoration:none; }
.mmt-button:hover,.mmt-button:focus { filter:brightness(.88); }
.mmt-events__header { border-bottom:1px solid var(--mmt-line); margin-bottom:1.2rem; padding-bottom:.85rem; }
.mmt-events__header h2 { color:var(--mmt-ink); font-size:1.55rem; margin:0; }
.mmt-calendar__header { align-items:center; border-bottom:1px solid var(--mmt-line); display:grid; grid-template-columns:1fr auto 1fr; gap:1.25rem; margin-bottom:1.2rem; padding:0 0 .85rem; }
.mmt-calendar__header h2 { color:var(--mmt-ink); font-size:1.55rem; line-height:1.2; margin:0; text-align:center; }
.mmt-calendar__header .mmt-calendar__nav { align-items:center; color:var(--mmt-accent); display:inline-flex; font-size:.86rem; font-weight:600; min-height:2rem; text-decoration:none; white-space:nowrap; }
.mmt-calendar__header .mmt-calendar__nav:hover,.mmt-calendar__header .mmt-calendar__nav:focus { color:var(--mmt-ink); text-decoration:underline; }
.mmt-calendar__nav--next { justify-content:flex-end; text-align:right; }
@media (max-width:560px) { .mmt-calendar__header { grid-template-columns:auto 1fr auto; gap:.5rem; } .mmt-calendar__header .mmt-calendar__nav span { display:none; } }
.mmt-table-wrap { overflow-x:auto; }
.mmt-table { border-collapse:collapse; min-width:650px; width:100%; }
.mmt-table th { color:var(--mmt-muted); font-size:.78rem; letter-spacing:.08em; padding:.8rem .75rem; text-align:left; text-transform:uppercase; }
.mmt-table td { border-top:1px solid var(--mmt-line); padding:1rem .75rem; vertical-align:top; }
.mmt-table td:first-child,.mmt-table th:first-child { padding-left:0; }
.mmt-table__label { color:var(--mmt-accent); display:block; font-size:.7rem; font-weight:700; letter-spacing:.11em; margin-bottom:.25rem; text-transform:uppercase; }
.mmt-table td a { font-weight:600; text-decoration:none; }
.mmt-table__link { color:var(--mmt-accent)!important; white-space:nowrap; }
.mmt-events__empty { color:var(--mmt-muted); padding:1.5rem 0; }
.mmt-calendar { border-left:1px solid var(--mmt-line); border-top:1px solid var(--mmt-line); display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.mmt-calendar__weekday { background:var(--mmt-surface); color:var(--mmt-muted); font-size:.78rem; font-weight:700; letter-spacing:.04em; padding:.7rem; text-align:center; text-transform:uppercase; }
.mmt-calendar__day { border-bottom:1px solid var(--mmt-line); border-right:1px solid var(--mmt-line); min-height:9rem; padding:.5rem; }
.mmt-calendar__day>time { color:var(--mmt-muted); display:block; font-size:.85rem; font-weight:700; margin-bottom:.35rem; }
.mmt-calendar__day.is-outside { background:var(--mmt-surface); opacity:.55; }
.mmt-calendar__day a { background:var(--mmt-surface); border-left:3px solid var(--mmt-accent); display:block; font-size:.72rem; line-height:1.35; margin:.25rem 0; overflow:hidden; padding:.2rem .3rem; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.mmt-calendar__day a:hover { filter:brightness(.94); }
.mmt-calendar__day a span { color:var(--mmt-accent); font-weight:700; margin-right:.2rem; }
.mmt-year-calendar { display:grid; gap:1.25rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.mmt-year-calendar__month { border:1px solid var(--mmt-line); padding:.8rem; }
.mmt-year-calendar__month h3 { font-size:1rem; margin:0 0 .65rem; }
.mmt-year-calendar__days { display:grid; font-size:.73rem; gap:.18rem; grid-template-columns:repeat(7,1fr); text-align:center; }
.mmt-year-calendar__days span { aspect-ratio:1; display:grid; place-items:center; }
.mmt-year-calendar__days span.has-event { background:var(--mmt-accent); border-radius:50%; color:var(--mmt-light); font-weight:700; }

/* Single event ---------------------------------------------------------
 * Important: the outer event is a block. The previous implementation
 * accidentally let the theme's grid rules turn hero/description/bottom
 * into grid columns, producing the vertical-letter layout seen in the
 * browser screenshot.
 */
.mmt-single-event {
  display:block!important;
  width:100%;
  max-width:100%;
  margin:2rem 0 2.5rem;
  padding:0;
  border:0;
  color:var(--mmt-text);
  background:transparent;
  clear:both;
}
.mmt-single-event__hero {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,34%);
  gap:2rem;
  align-items:stretch;
  width:100%;
  margin:0;
  padding:1.5rem;
  border:1px solid var(--mmt-line);
  background:var(--mmt-light);
}
.mmt-single-event__info {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:.25rem 0;
}
.mmt-single-event__info h2 {
  color:var(--mmt-ink);
  font-size:clamp(1.7rem,3vw,2.35rem);
  line-height:1.15;
  margin:.1rem 0 1.1rem;
  font-weight:600;
  overflow-wrap:normal;
  word-break:normal;
  white-space:normal;
}
.mmt-single-event__date {
  display:flex;
  flex-direction:column;
  gap:.3rem;
  margin:0 0 1rem;
}
.mmt-single-event__date time {
  color:var(--mmt-ink);
  font-size:1.35rem;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
}
.mmt-single-event__date span {
  color:var(--mmt-muted);
  font-size:.92rem;
  line-height:1.55;
}
.mmt-single-event__location {
  color:var(--mmt-muted);
  margin:0 0 .4rem;
  font-size:1rem;
  line-height:1.5;
}
.mmt-single-event__slurl { margin:0 0 1.15rem; }
.mmt-single-event__slurl a {
  color:var(--mmt-accent);
  font-weight:600;
  text-decoration:none;
}
.mmt-single-event__slurl a:hover,.mmt-single-event__slurl a:focus { text-decoration:underline; }
.mmt-single-event__image {
  min-width:0;
  width:100%;
  max-width:360px;
  justify-self:end;
  align-self:start;
  overflow:hidden;
  line-height:0;
  background:var(--mmt-surface);
}
.mmt-single-event__image img {
  display:block;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:1/1;
  object-fit:cover;
  margin:0!important;
}
.mmt-single-event__no-image {
  display:grid;
  width:100%;
  aspect-ratio:1/1;
  place-items:center;
  padding:1rem;
  background:var(--mmt-surface);
  color:var(--mmt-muted);
  font-size:.9rem;
  line-height:1.4;
  text-align:center;
}
.mmt-event-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1rem 0 0;
}
.mmt-event-actions .mmt-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.4rem;
  padding:.45rem 1rem;
  border-radius:5px;
  background:var(--mmt-accent);
  color:var(--mmt-light)!important;
  font-size:.88rem;
  text-decoration:none!important;
}
.mmt-event-actions .mmt-button:hover,.mmt-event-actions .mmt-button:focus { filter:brightness(.88); }

/* Used by the single-event shortcode only. On a normal single event the
 * WordPress post content is already rendered before the event box. */
.mmt-single-event__description {
  width:100%;
  margin:1.5rem 0 0;
  padding:1.5rem 0 0;
  border-top:1px solid var(--mmt-line);
  line-height:1.7;
}
.mmt-single-event__description>:first-child { margin-top:0; }
.mmt-single-event__description>:last-child { margin-bottom:0; }

/* Reminder and series always span the full event width. */
.mmt-single-event__bottom {
  display:block!important;
  width:100%;
  margin:1.25rem 0 0;
  padding:0;
}
.mmt-single-event__bottom .mmt-subscribe {
  width:100%;
  margin:0!important;
  padding:1.25rem 1.5rem!important;
  border:1px solid var(--mmt-line)!important;
  border-radius:5px!important;
  background:var(--mmt-surface);
}
.mmt-single-event__bottom .mmt-subscribe h3 {
  color:var(--mmt-ink);
  font-size:1.35rem;
  line-height:1.25;
  margin:0 0 .8rem;
}
.mmt-single-event__bottom .mmt-subscribe__notice {
  color:var(--mmt-muted);
  margin:0 0 .7rem;
}
.mmt-single-event__bottom .mmt-subscribe form {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
  margin:0;
}
.mmt-single-event__bottom .mmt-subscribe label { flex:1 1 240px; min-width:0; }
.mmt-single-event__bottom .mmt-subscribe input[type=email] {
  display:block;
  width:100%;
  min-width:0;
  padding:.65rem .75rem;
  border:1px solid var(--mmt-line);
  border-radius:4px;
  background:#fff;
}
.mmt-single-event__bottom .mmt-subscribe button {
  flex:0 0 auto;
  padding:.65rem 1rem;
  border:0;
  border-radius:4px;
  background:var(--mmt-dark);
  color:#fff;
  cursor:pointer;
}
.mmt-single-event__bottom .mmt-subscribe button:hover,.mmt-single-event__bottom .mmt-subscribe button:focus { filter:brightness(.9); }
.mmt-single-event__bottom .mmt-event-help {
  color:var(--mmt-muted);
  font-size:.84rem;
  line-height:1.55;
  margin:.7rem 0 0;
}
.mmt-event-series {
  width:100%;
  margin:0;
  padding:1.35rem 1.5rem 1.5rem;
  border:1px solid var(--mmt-line);
  border-top:0;
  border-radius:0 0 5px 5px;
  background:var(--mmt-light);
}
.mmt-event-series h3 {
  color:var(--mmt-ink);
  font-size:1.25rem;
  line-height:1.3;
  margin:0 0 1rem;
}
.mmt-event-series__list {
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border-top:1px solid var(--mmt-line);
}
.mmt-event-series__item {
  list-style:none!important;
  border-bottom:1px solid var(--mmt-line);
  margin:0!important;
  padding:0!important;
}
.mmt-event-series__item a {
  display:grid;
  grid-template-columns:minmax(120px,180px) minmax(0,1fr);
  gap:1rem;
  align-items:center;
  width:100%;
  padding:.75rem 0;
  color:inherit;
  text-decoration:none;
}
.mmt-event-series__item a:hover .mmt-event-series__date,.mmt-event-series__item a:focus .mmt-event-series__date { color:var(--mmt-accent); }
.mmt-event-series__date { color:var(--mmt-ink); font-weight:700; transition:color .15s ease; }
.mmt-event-series__time { color:var(--mmt-muted); font-size:.9rem; }

@media (max-width:760px) {
  .mmt-list { gap:2rem; grid-template-columns:1fr; }
  .mmt-list__cta { margin-top:1rem; }
  .mmt-list__item { gap:1rem; grid-template-columns:1fr; }
  .mmt-calendar { overflow-x:auto; min-width:620px; }
  .mmt-events--calendar { overflow-x:auto; }
  .mmt-year-calendar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mmt-single-event__hero { grid-template-columns:1fr!important; gap:1.25rem; padding:1rem; }
  .mmt-single-event__image { order:-1; justify-self:stretch; max-width:none; }
  .mmt-single-event__info { padding:.25rem 0; }
  .mmt-single-event__date time { white-space:normal; }
  .mmt-single-event__bottom .mmt-subscribe { padding:1.1rem!important; }
  .mmt-event-series { padding:1.1rem; }
  .mmt-event-series__item a { grid-template-columns:1fr; gap:.2rem; }
  .mmt-event-actions .mmt-button { flex:1 1 150px; }
}
@media (max-width:430px) {
  .mmt-year-calendar { grid-template-columns:1fr; }
  .mmt-list__month { font-size:1.7rem; }
  .mmt-list__content h3 { font-size:1.3rem; }
  .mmt-single-event__hero { padding:.8rem; }
  .mmt-single-event__info h2 { font-size:1.6rem; }
}


/* Event list: venue above date */
.mmt-list__venue { color:var(--mmt-accent); font-size:.76rem; font-weight:700; letter-spacing:.16em; line-height:1.4; margin:0 0 .35rem; text-transform:uppercase; }
.mmt-list__date .mmt-list__venue + time { margin-top:.1rem; }

/* Mature rating and venue links: detail view only */
.mmt-mature-rating { align-items:center; border-radius:50%; display:inline-flex; font-size:.7rem; font-weight:800; height:28px; justify-content:center; letter-spacing:.02em; margin:0 0 .75rem; width:28px; }
.mmt-mature-rating--pg { background:#2f73b8; color:#fff; }
.mmt-mature-rating--moderate { background:#414141; color:#fff; }
.mmt-mature-rating--adult { background:#b3262e; color:#fff; }
.mmt-venue-links { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 1rem; }
.mmt-venue-links span a { border-bottom:1px solid var(--mmt-line); color:var(--mmt-accent); font-size:.88rem; text-decoration:none; padding-bottom:.15rem; }
.mmt-venue-links span a:hover { border-color:var(--mmt-accent); }

/* Public venue detail page */
.mmt-venue-page { max-width:1100px; margin:0 auto; padding:2rem 0 4rem; }
.mmt-venue-detail__image { margin:0 0 2rem; }
.mmt-venue-detail__image img { display:block; height:auto; max-height:520px; object-fit:cover; width:100%; }
.mmt-venue-detail h1 { color:var(--mmt-ink); font-size:clamp(2rem,4vw,3rem); margin:.15rem 0 1.2rem; }
.mmt-venue-detail__description { color:var(--mmt-text); line-height:1.75; max-width:75ch; }
.mmt-venue-detail__links { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.5rem 0 2rem; }
.mmt-venue-detail__links span a { background:var(--mmt-accent); border-radius:5px; color:var(--mmt-light)!important; display:inline-block; padding:.65rem 1rem; text-decoration:none!important; }
.mmt-venue-detail__links span a:hover { filter:brightness(.9); }
.mmt-venue-detail__gallery { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:2rem; }
.mmt-venue-detail__gallery img { display:block; height:100%; object-fit:cover; width:100%; }
@media (max-width:760px) { .mmt-venue-detail__gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:430px) { .mmt-venue-detail__gallery { grid-template-columns:1fr; } }


/* 1.2.28 - venue logo and Second Life location controls */
.mmt-single-event__venue-line{display:flex;align-items:center;gap:.55rem;margin:0 0 .55rem;min-height:28px}.mmt-single-event__venue{color:var(--mmt-ink);font-size:1rem;font-weight:600;line-height:1.4}.mmt-single-event__venue-line .mmt-mature-rating{flex:0 0 28px;margin:0}.mmt-single-event__info>.mmt-mature-rating{margin:0 0 .6rem}.mmt-single-event__image{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}.mmt-single-event__image img{width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;background:var(--mmt-light)}
.mmt-venue-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:.55rem 0 .85rem}.mmt-venue-actions__button{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.4rem .9rem;border:1px solid var(--mmt-accent);border-radius:5px;background:var(--mmt-accent);color:var(--mmt-light)!important;font-size:.82rem;font-weight:600;text-decoration:none!important}.mmt-venue-actions__button:hover,.mmt-venue-actions__button:focus{filter:brightness(.88)}
.mmt-venue-detail__links{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0 1.5rem}.mmt-venue-detail__links span a{display:inline-flex;padding:.45rem .8rem;border:1px solid var(--mmt-line);border-radius:5px;color:var(--mmt-accent);text-decoration:none}.mmt-venue-detail__links span a:hover,.mmt-venue-detail__links span a:focus{border-color:var(--mmt-accent)}.mmt-venue-detail__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.mmt-venue-detail__gallery img{display:block;width:100%;height:auto}@media(max-width:760px){.mmt-venue-detail__gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.mmt-venue-detail__gallery{grid-template-columns:1fr}}


/* 1.2.30 - venue rating, social icons and full event venue details */
.mmt-single-event__venue-line { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; margin:0 0 .55rem; min-height:30px; }
.mmt-single-event__venue { display:inline-flex; align-items:center; gap:.3rem; color:var(--mmt-ink); font-size:1rem; font-weight:600; line-height:1.4; }
.mmt-single-event__venue .dashicons { width:18px; height:18px; font-size:18px; line-height:18px; }
.mmt-single-event__venue-line .mmt-mature-rating { flex:0 0 30px; margin:0; }
.mmt-mature-rating { width:30px; height:30px; flex:0 0 30px; border-radius:50%; align-items:center; justify-content:center; display:inline-flex; font-size:.68rem; font-weight:800; letter-spacing:.01em; line-height:1; }
.mmt-mature-rating--pg { background:#2f73b8; color:#fff; }
.mmt-mature-rating--moderate { background:#414141; color:#fff; }
.mmt-mature-rating--adult { background:#b3262e; color:#fff; }
.mmt-venue-links--summary { margin:.45rem 0 0; }
.mmt-venue-details-button { display:inline-flex!important; width:auto; }

.mmt-event-venue-detail { width:100%; margin:1.75rem 0 0; padding:1.35rem 1.5rem; border:1px solid var(--mmt-line); background:var(--mmt-surface); }
.mmt-event-venue-detail__header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:.9rem; border-bottom:1px solid var(--mmt-line); }
.mmt-event-venue-detail__header h3 { color:var(--mmt-ink); font-size:1.25rem; line-height:1.25; margin:0; }
.mmt-event-venue-detail__name { display:inline-flex; align-items:center; gap:.35rem; color:var(--mmt-ink); font-weight:600; }
.mmt-event-venue-detail__name .dashicons { width:18px; height:18px; font-size:18px; line-height:18px; }
.mmt-event-venue-detail__name .mmt-mature-rating { margin-left:.35rem; }
.mmt-event-venue-detail .mmt-venue-detail-links { display:flex; flex-wrap:wrap; gap:.55rem .9rem; margin:1rem 0 .8rem; }
.mmt-event-venue-detail .mmt-venue-detail-links a,
.mmt-venue-detail__links a { display:inline-flex; align-items:center; gap:.35rem; color:var(--mmt-accent); text-decoration:none; font-size:.9rem; }
.mmt-event-venue-detail .mmt-venue-detail-links a:hover,
.mmt-event-venue-detail .mmt-venue-detail-links a:focus,
.mmt-venue-detail__links a:hover,
.mmt-venue-detail__links a:focus { text-decoration:underline; }
.mmt-event-venue-detail .dashicons,
.mmt-venue-detail__links .dashicons { width:17px; height:17px; font-size:17px; line-height:17px; }
.mmt-event-venue-detail .mmt-venue-actions { margin:.75rem 0 0; }
.mmt-event-venue-detail .mmt-venue-actions__button { display:inline-flex; align-items:center; }

/* Venue summary on the event card: only the venue-details button is shown. */
.mmt-venue-links--summary .mmt-button span { font-size:1.15rem; }

/* Venue post page */
.mmt-venue-detail__rating { margin:.25rem 0 1rem; }
.mmt-venue-detail__rating .mmt-mature-rating { margin:0; vertical-align:middle; }

@media (max-width:760px) {
  .mmt-event-venue-detail { padding:1.1rem; }
  .mmt-event-venue-detail__header { align-items:flex-start; flex-direction:column; }
}


/* 1.2.31 - compact square mature-rating badge before venue */
.mmt-single-event__venue-line { align-items:center; gap:.45rem; min-height:26px; }
.mmt-single-event__venue-line .mmt-mature-rating { width:25px; height:25px; flex:0 0 25px; border-radius:6px; margin:0; font-size:.66rem; line-height:1; }
.mmt-single-event__venue { gap:0; }
.mmt-event-venue-detail__name { display:inline-flex; align-items:center; gap:.45rem; }
.mmt-event-venue-detail__name .mmt-mature-rating { width:25px; height:25px; flex:0 0 25px; border-radius:6px; margin:0; font-size:.66rem; line-height:1; }

/* 1.2.32 - venue excerpt, unified event actions and venue detail reuse */
.mmt-single-event__venue-excerpt {
  margin:1rem 0 0;
  padding:1rem 0 0;
  border-top:1px solid var(--mmt-line);
}
.mmt-single-event__venue-excerpt h3 {
  color:var(--mmt-ink);
  font-size:1.15rem;
  line-height:1.3;
  margin:0 0 .45rem;
}
.mmt-single-event__venue-excerpt p {
  color:var(--mmt-text);
  font-size:.95rem;
  line-height:1.65;
  margin:0;
}
.mmt-event-actions {
  align-items:center;
  margin-top:1rem;
}
.mmt-event-actions .mmt-venue-details-button {
  margin:0;
}
.mmt-event-venue-detail__excerpt {
  margin:1rem 0 0;
  max-width:75ch;
}
.mmt-event-venue-detail__excerpt h4 {
  color:var(--mmt-ink);
  font-size:1.1rem;
  line-height:1.3;
  margin:0 0 .45rem;
}
.mmt-event-venue-detail__excerpt p {
  color:var(--mmt-text);
  line-height:1.65;
  margin:0;
}
.mmt-event-venue-detail .mmt-venue-detail-links {
  margin-top:1rem;
}
@media (max-width:760px) {
  .mmt-event-actions { align-items:stretch; }
  .mmt-event-actions .mmt-button { flex:0 1 auto; }
}

/* 1.2.34 - venue rating eyebrow */
.mmt-single-event__venue-line {
  display:flex;
  align-items:center;
  gap:.55rem;
  margin:0 0 .65rem;
  min-height:25px;
}
.mmt-single-event__venue-line .mmt-mature-rating {
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:6px;
  margin:0;
  font-size:.66rem;
}
.mmt-single-event__venue {
  display:inline-flex;
  align-items:center;
  color:var(--mmt-ink);
  font-size:1rem;
  font-weight:600;
  line-height:1.35;
}
.mmt-event-venue-detail__about {
  display:flex;
  align-items:center;
  gap:.65rem;
  padding-bottom:.9rem;
  border-bottom:1px solid var(--mmt-line);
}
.mmt-event-venue-detail__about h3 {
  margin:0;
  color:var(--mmt-ink);
  font-size:1.25rem;
  line-height:1.3;
}
.mmt-event-venue-detail__about-rating:empty { display:none; }
.mmt-event-venue-detail__about-rating .mmt-mature-rating {
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:6px;
  font-size:.66rem;
}
.mmt-event-venue-detail__excerpt {
  margin:1rem 0 0;
  max-width:75ch;
  color:var(--mmt-text);
  font-size:.95rem;
  line-height:1.65;
}
.mmt-event-venue-detail .mmt-venue-detail-links {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem .9rem;
  margin:1rem 0 .8rem;
}
.mmt-event-venue-detail .mmt-venue-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:.9rem 0 0;
}

.mmt-venue-summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,34%);
  gap:2rem;
  align-items:stretch;
  width:100%;
  margin:2rem 0 2.5rem;
  padding:1.5rem;
  border:1px solid var(--mmt-line);
  background:var(--mmt-light);
}
.mmt-venue-summary__info {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mmt-venue-summary__eyebrow {
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:0 0 .35rem;
  color:var(--mmt-muted);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.3;
  text-transform:uppercase;
}
.mmt-venue-summary__eyebrow .mmt-mature-rating {
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:5px;
  font-size:.6rem;
  letter-spacing:0;
}
.mmt-venue-summary__info h2 {
  margin:.1rem 0 .7rem;
  color:var(--mmt-ink);
  font-size:clamp(1.7rem,3vw,2.35rem);
  line-height:1.15;
  font-weight:600;
}
.mmt-venue-summary__rating {
  min-height:25px;
  margin:0 0 .9rem;
}
.mmt-venue-summary__rating:empty { display:none; }
.mmt-venue-summary__rating .mmt-mature-rating {
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:6px;
  font-size:.66rem;
}
.mmt-venue-summary__excerpt {
  max-width:75ch;
  margin:0 0 1rem;
  color:var(--mmt-text);
  font-size:.95rem;
  line-height:1.65;
}
.mmt-venue-summary__links {
  display:flex;
  flex-direction:column;
  gap:.55rem;
  margin:.1rem 0 .4rem;
}
.mmt-venue-summary__link {
  display:flex;
  align-items:flex-start;
  gap:.4rem;
  min-width:0;
  color:var(--mmt-text);
  font-size:.9rem;
  line-height:1.5;
}
.mmt-venue-summary__link .dashicons {
  flex:0 0 17px;
  width:17px;
  height:17px;
  margin-top:2px;
  color:var(--mmt-accent);
  font-size:17px;
  line-height:17px;
}
.mmt-venue-summary__link strong { flex:0 0 auto; }
.mmt-venue-summary__link a {
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--mmt-accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.mmt-venue-summary__actions {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
}
.mmt-venue-summary__actions .mmt-button {
  display:inline-flex;
  width:auto;
}
.mmt-venue-summary__logo {
  min-width:0;
  width:100%;
  max-width:360px;
  aspect-ratio:1/1;
  justify-self:end;
  align-self:start;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--mmt-surface);
}
.mmt-venue-summary__logo img {
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain;
  margin:0!important;
}
.mmt-venue-summary__no-logo {
  padding:1rem;
  color:var(--mmt-muted);
  font-size:.9rem;
  line-height:1.4;
  text-align:center;
}

@media (max-width:760px) {
  .mmt-venue-summary { grid-template-columns:1fr; gap:1.25rem; padding:1rem; }
  .mmt-venue-summary__logo { order:-1; max-width:none; justify-self:stretch; }
  .mmt-venue-summary__link { display:block; }
  .mmt-venue-summary__link .dashicons { display:inline-block; vertical-align:-3px; margin-right:.3rem; }
}


/* 1.2.35 - venue summary top alignment and consistent rating badge */
.mmt-venue-summary {
  align-items:start;
}
.mmt-venue-summary__info {
  justify-content:flex-start;
  align-self:start;
}
.mmt-venue-summary__eyebrow {
  align-items:center;
  min-height:25px;
}
.mmt-venue-summary__eyebrow .mmt-mature-rating {
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:6px;
  font-size:.66rem;
  line-height:1;
}
.mmt-venue-summary__logo {
  align-self:start;
}


/* 1.2.36 - venue rating badge exactly matches event rating badge */
.mmt-venue-summary__eyebrow {
  display:flex!important;
  align-items:center!important;
  gap:.55rem!important;
  min-height:25px!important;
  margin:0 0 .35rem!important;
  line-height:25px!important;
}
.mmt-venue-summary__eyebrow .mmt-mature-rating,
.mmt-venue-summary__eyebrow > .mmt-mature-rating {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  min-height:25px!important;
  flex:0 0 25px!important;
  margin:0!important;
  padding:0!important;
  border-radius:6px!important;
  font-size:.66rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
}
.mmt-venue-summary__eyebrow > span:not(.mmt-mature-rating) {
  line-height:25px!important;
}

/* 1.2.48 - native WordPress post tags on events */
.mmt-event-tags {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin:0 0 .9rem;
}
.mmt-event-tag {
  display:inline-flex;
  align-items:center;
  min-height:1.65rem;
  padding:.18rem .55rem;
  border:1px solid var(--mmt-line);
  border-radius:999px;
  background:var(--mmt-surface);
  color:var(--mmt-muted);
  font-size:.75rem;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}

/* 1.2.50 - align Visit rating badge vertically with the heading */
.mmt-event-venue-detail__about { align-items:center; }
.mmt-event-venue-detail__about-rating { display:inline-flex; align-items:center; justify-content:center; line-height:1; height:25px; }
.mmt-event-venue-detail__about-rating .mmt-mature-rating { display:inline-flex; align-items:center; justify-content:center; vertical-align:middle; }

/* 1.2.51 - vertically center the Visit rating badge and its letter */
.mmt-event-venue-detail__about-rating {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  min-height:25px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:25px !important;
  vertical-align:middle !important;
}
.mmt-event-venue-detail__about-rating .mmt-mature-rating {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  min-height:25px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:6px !important;
  line-height:25px !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
