/* ==========================================================================
   08 · PLUGINS — EventON, Event Manager, NextGEN, Slick slider, Timeline
   Third-party markup. Treat as a compatibility layer, not as design source.
   --------------------------------------------------------------------------
   The event widgets now run in the cool family throughout. Warm stays on
   the widget title above them, which is what gives the sidebar hierarchy.

   Two light surfaces that predate the dark ground — rgba(242,239,235,.75)
   and rgba(255,255,255,.8) — were leftovers and now use the panel token.
   ========================================================================== */

/* --- prettyPhoto lightbox -------------------------------------------------
   The caption under the image showed raw file names — SCHANDMAUL_BAND_04
   and the like — because no titles are maintained in the media library and
   WordPress falls back to the filename.

   Hiding it is a decision against captions in general, not just against
   these names. If photo credits are ever needed, this rule has to go and
   the titles have to be filled in instead.

   Only the description is hidden. Close button and navigation live in the
   same .pp_details container and stay.
   ------------------------------------------------------------------------ */

.pp_description {
  display: none !important;
}

/* --- Borlabs Cookie 3.4.2.2 ------------------------------------------------
   Repair, not restyle. Our global h1-h6 and p rules carry !important and
   reach into the plugin's dialog: headings arrived at 43px from the fluid
   scale, body copy at 23px in --sm-text — light grey on Borlabs' white
   ground, effectively invisible. The dialog measured 1409x876 in a 1440x731
   viewport.

   Everything below either stops that inheritance or fixes what it broke.
   The plugin's own colours — bronze active tab, grey cards, switches — are
   left alone: they belong in the Borlabs settings, not in a stylesheet that
   would have to be re-checked after every plugin update.
   ------------------------------------------------------------------------ */

[class*="brlbs-"] p,
[class*="brlbs-"] li,
[class*="brlbs-"] span,
[class*="brlbs-"] label,
[class*="brlbs-"] td {
  font-family: var(--sm-font-ui) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--sm-ink) !important;
}

[class*="brlbs-"] h1,
[class*="brlbs-"] h2,
[class*="brlbs-"] h3,
[class*="brlbs-"] h4,
[class*="brlbs-"] h5,
[class*="brlbs-"] h6 {
  font-family: var(--sm-font-display) !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  color: var(--sm-ink) !important;
  letter-spacing: .5px !important;
  -webkit-hyphens: none !important;
  hyphens: none !important;
  flex: 1 1 auto !important;
}

/* Text links inside the plugin — but NOT its buttons. Borlabs styles those
   through its own variables (--content-blocker-button-text-color and
   friends), set in the plugin's settings. A blanket rule here overrode them
   and put our blue on the content blocker's red button.

   The revert further down hands all Borlabs links back to the plugin; this
   rule only re-colours plain text links inside the dialog. */

[class*="brlbs-"] .brlbs-cmpnt-dialog a:not([class*="btn"]):not([class*="button"]),
.brlbs-cmpnt-dialog a:not([class*="btn"]):not([class*="button"]) {
  color: var(--sm-fill) !important;
}

/* No max-height here. Borlabs sets overflow:hidden on the dialog and handles
   scrolling internally; imposing a height clipped the content — 741px of
   text in a 567px box with no way to scroll. Width is safe to cap, height
   is not. */

.brlbs-cmpnt-dialog {
  max-width: 720px !important;
  border-radius: 12px 0 12px 12px !important;
}

/* The logo ran to 336px and squeezed the heading into a 107px column, where
   it broke across four hyphenated lines. */

.brlbs-dialog-logo,
.cookie-logo {
  max-width: 150px !important;
  height: auto !important;
  flex: 0 0 auto !important;
}

/* Header: logo left, heading right-aligned on the same line, the two legal
   links on a row of their own below. The first child is an empty spacer the
   plugin uses for centring — with a left-aligned header it only pushes
   everything sideways.

   Two sand tones, not one: the dialog carries the warmer value, the cards
   inside a lighter step. With a single tone the cards would disappear —
   Borlabs distinguishes them exactly that way, light against white. Both
   are far lighter than --sm-band: that one sits at 30% over dark artwork,
   here it is an opaque surface carrying dark type. */

.brlbs-cmpnt-dialog,
.brlbs-cmpnt-dialog > div,
.brlbs-cmpnt-dialog .brlbs-cmpnt-container {
  background-color: #f6f1e6 !important;
}

.brlbs-cmpnt-dialog [class*="brlbs-bg-white"] {
  background-color: #fbf8f1 !important;
}

.brlbs-cmpnt-dialog-details-header {
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 16px !important;
  padding-right: 4px !important;
}

.brlbs-cmpnt-dialog-details-header > *:first-child {
  display: none !important;
}

.brlbs-cmpnt-dialog-details-header > div:nth-child(2) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.brlbs-cmpnt-dialog-details-header > div:nth-child(2) h1,
.brlbs-cmpnt-dialog-details-header > div:nth-child(2) h2,
.brlbs-cmpnt-dialog-details-header > div:nth-child(2) h3 {
  text-align: right !important;
  flex: 1 1 auto !important;
}

/* Same fault as in the entry dialog, one element further in: the outer
   header wraps, but this inner row does not. At 500px the headline ran 80px
   past the right edge of the dialog. It keeps its right alignment — that was
   a deliberate choice for the desktop case — and only gains the permission
   to drop onto its own line and to hyphenate when it has to.

   These declarations stand after the block above on purpose: same
   specificity, so order decides, and flex has to be overridden. */

.brlbs-cmpnt-dialog-details-header > div:nth-child(2) {
  flex-wrap: wrap !important;
}

.brlbs-cmpnt-dialog-details-header > div:nth-child(2) h1,
.brlbs-cmpnt-dialog-details-header > div:nth-child(2) h2,
.brlbs-cmpnt-dialog-details-header > div:nth-child(2) h3 {
  /* Same 420px basis as in the entry dialog. The settings dialog is wider
     and keeps 547px beside the logo on the desktop, so there the two stay on
     one line — the basis only takes effect once the space runs out. */
  flex: 1 1 420px !important;
  min-width: 0 !important;
  font-size: clamp(18px, 5vw, 22px) !important;
  -webkit-hyphens: auto !important;
  hyphens: auto !important;
  overflow-wrap: anywhere !important;
}

.brlbs-cmpnt-dialog-details-header > div:nth-child(3) {
  flex: 0 0 100% !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  margin-left: 0 !important;
  margin-top: 6px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  white-space: nowrap !important;
}


/* Content blocker buttons keep the plugin's own colours. Not `revert` — that
   would fall back to the browser default, because Borlabs' rules are author
   styles just like ours. Pointing at the plugin's variable hands the value
   back to the Borlabs settings, where it belongs.

   Scoped to the content blocker on purpose: this variable is the blocker's,
   and it is white for the red button. Applied to every Borlabs button it put
   white on the dialog's light grey Save button. */

.brlbs-cmpnt-content-blocker a[class*="btn"],
.brlbs-cmpnt-content-blocker button[class*="btn"],
a.brlbs-cmpnt-cb-btn,
button.brlbs-cmpnt-cb-btn {
  color: var(--content-blocker-button-text-color) !important;
}


/* --- Borlabs Cookie: entry dialog header ----------------------------------
   The plugin ships two dialogs with different markup. Everything above
   addresses .brlbs-cmpnt-dialog-details-header — that is the settings
   dialog. The entry dialog uses .brlbs-cmpnt-dialog-bar-header, which was
   never covered here and stands on flex-wrap: nowrap.

   At 500px that meant a 111px logo plus a 383px headline in 447px of space:
   the logo hung 28px out on the left, the headline 28px out on the right,
   past the edge of the dialog itself. Allowing the row to wrap is the whole
   repair — the desktop case is untouched, there both still sit side by side.

   The headline needs the long selector to outrank the [class*="brlbs-"]
   h1-h6 block above, which pins 22px and hyphens:none. On a 375px screen
   "Datenschutzeinstellungen" fits on one line at no size that is still
   readable, so hyphenation is handed back — the document is lang="de" and
   the browser breaks the word correctly.
   ------------------------------------------------------------------------ */

.brlbs-cmpnt-dialog-bar-header {
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 6px 14px !important;
}

.brlbs-cmpnt-dialog-bar-header img {
  flex: 0 0 auto !important;
}

.brlbs-cmpnt-dialog-bar-header h1.brlbs-cmpnt-dialog-entrance-headline,
.brlbs-cmpnt-dialog-bar-header h2.brlbs-cmpnt-dialog-entrance-headline,
.brlbs-cmpnt-dialog-bar-header h3.brlbs-cmpnt-dialog-entrance-headline {
  /* 420px basis. Two smaller values were tried and both failed: at 240 the
     headline squeezed in beside the logo and broke across two hyphenated
     lines instead of dropping below it. At 320 it still did that on the
     desktop entry dialog, where the bar layout leaves only 340px beside the
     logo while the word measures 383px.

     420 is that measured width plus headroom. Anything narrower than the
     basis makes the row break before the word does, so the logo keeps one
     line and the headline the next, each in one piece. */
  flex: 1 1 420px !important;
  min-width: 0 !important;
  text-align: left !important;
  font-size: clamp(18px, 5vw, 22px) !important;
  -webkit-hyphens: auto !important;
  hyphens: auto !important;
  overflow-wrap: anywhere !important;
}

/* --- Borlabs Cookie: consent dots -----------------------------------------
   The three group markers in the entry dialog take their colour from
   var(--dialog-button-save-consent-color) — the Save button's #f7f7f7. On
   our sand ground that is 1,0 : 1. Not faint, absent. And all three carried
   the same value, so the state was not readable either way.

   Ring for off, filled for on. The state is now carried by shape as well as
   by colour, which is what makes it legible at 14px. Bronze #ac844c is the
   dialog's own accent — the same value the tabs and separators use — at
   3,0 : 1 against the sand.

   NOTE: the inputs behind these dots are disabled. The entry dialog's list
   is a status display; the choice happens through the buttons below it. The
   :checked rule therefore only ever reflects a state, it never reacts to a
   click. That is Borlabs' construction, not a gap in this block.
   ------------------------------------------------------------------------ */

#BorlabsCookieBox .brlbs-cmpnt-consent-list-item-dot {
  width: 14px !important;
  height: 14px !important;
  box-sizing: border-box !important;
  background-color: transparent !important;
  border: 2px solid #ac844c !important;
}

#BorlabsCookieBox input:checked + .brlbs-cmpnt-consent-list-item-dot {
  background-color: #ac844c !important;
}

/* --- Borlabs Cookie: checkboxes -------------------------------------------
   Colours run through the plugin's own variables, so they stay adjustable in
   the Borlabs settings and survive a plugin update. Only the size is set
   directly: Borlabs offers no setting for it, and 20px with a 16px mark sits
   below what reads as a control on a phone.

   The resting border was #a72828. Red means fault everywhere else on this
   site, and an unticked box is a normal state — the same reasoning that took
   the red off EventON's empty month. Bronze instead, and red stays reserved.

   The disabled state was the worst of the three: #999 on #e6e6e6 is 2,3 : 1.
   Essential is the one box the visitor cannot change, so it has to look
   deliberate rather than broken. #6b5430 on #e7dcc4 gives 6,4 : 1.
   ------------------------------------------------------------------------ */

.brlbs-cmpnt-dialog {
  --dialog-checkbox-background-color-inactive: #fff !important;
  --dialog-checkbox-border-color-inactive: #ac844c !important;
  --dialog-checkbox-background-color-active: #ac844c !important;
  --dialog-checkbox-border-color-active: #ac844c !important;
  --dialog-checkbox-check-mark-color-active: #fff !important;
  --dialog-checkbox-background-color-disabled: #e7dcc4 !important;
  --dialog-checkbox-border-color-disabled: #c9b58d !important;
  --dialog-checkbox-check-mark-color-disabled: #6b5430 !important;
}

.brlbs-cmpnt-dialog input.brlbs-cmpnt-checkbox {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  flex: 0 0 24px !important;
}

.brlbs-cmpnt-dialog input.brlbs-cmpnt-checkbox::before {
  width: 18px !important;
  height: 18px !important;
}




/* --- Event Manager (eme) ------------------------------------------------- */

.eme_events_list {
  list-style: none;
}

.entry-content .eme_events_list {
  margin-left: 0 !important;
}

.eme_events_list > li {
  background: var(--sm-panel);
  margin-bottom: 20px;
  padding-left: 20px;
  padding-top: 20px;
  padding-bottom: 25px;
}

/* --- Widget titles --------------------------------------------------------
   The dotted rule is gone. It was the last decorative element from the old
   theme — nothing else on the page is dotted — and it divided a surface
   that the widget's own outline already frames. Without it the glass reads
   more clearly.
   ------------------------------------------------------------------------ */

.edgtf-sidebar .edgtf-widget-title {
  border-bottom: 0 !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}

/* The widget's calendar header is empty — in the full calendar view it
   carries the month filters and arrows, in the widget nothing. Hiding it
   removes the 22px of stacked margins it left behind. Scoped to the
   sidebar so the calendar page keeps its controls. */

.edgtf-sidebar .evo_widget .calendar_header {
  display: none !important;
}

/* --- Event cards ----------------------------------------------------------
   The rule under the title is out. What it left behind was 33px of pure
   residue: 8px padding and 15px margin on the title plus 10px on the
   columns — space the line needed, still standing after it went.

   The last card drops its margin and the calendar container its bottom
   padding, so the gap below the list matches the widget's 24px sides.
   ------------------------------------------------------------------------ */

.edgtf-sidebar .evoet_title,
.edgtf-sidebar .evcal_desc2,
.edgtf-sidebar .evcal_event_title {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.edgtf-sidebar .evoet_c2,
.edgtf-sidebar .evoet_c3 {
  margin-bottom: 0 !important;
}

.edgtf-sidebar .eventon_events_list .eventon_list_event .evcal_list_a::after {
  display: none !important;
}

.edgtf-sidebar .eventon_events_list .eventon_list_event:last-child {
  margin-bottom: 0 !important;
}

.edgtf-sidebar .ajde_evcal_calendar {
  padding-bottom: 0 !important;
}

/* --- EventON: expanded event card ----------------------------------------
   The open card was a foreign body: a near-white panel with dark type
   inside the blue glass, headings at 38px in a 316px column, and the ticket
   details in monospace on white — the last because the content sits in a
   <pre> element that the theme styles as code.

   Headings here are gold, not blue: they are not links, and with linked
   headings running blue across the site, blue would have been a false
   signal. The ticket links carry the blue instead.

   These rules deliberately reach beyond the sidebar — the same markup is
   used on the events overview and in EventON's own lightboxes.
   ------------------------------------------------------------------------ */

.event_description,
.evcal_evdata_row,
.evcal_evdata_cell,
.evocard_row,
.evocard_box,
.evo_metarow_details {
  background-color: transparent !important;
  border-color: var(--sm-hairline) !important;
}

.event_description {
  background-color: rgba(0, 0, 0, .20) !important;
  border-radius: 0 0 var(--sm-radius) 0 !important;
  padding: 20px !important;
}

.event_description,
.event_description * {
  font-family: var(--sm-font-ui) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  color: var(--sm-text) !important;
}

.event_description strong {
  font-weight: 600 !important;
  color: var(--sm-heading) !important;
}

.event_description h2,
.event_description h3,
.event_description .evo_h3 {
  font-family: var(--sm-font-display) !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  color: var(--sm-gold) !important;
  margin: 0 0 6px 0 !important;
}

.event_description h4,
.event_description h5 {
  font-family: var(--sm-font-display) !important;
  font-size: 17px !important;
  color: var(--sm-gold-light) !important;
  margin: 0 0 4px 0 !important;
}

.event_description a {
  color: var(--sm-link) !important;
  font-size: 17px !important;
}

.event_description a:hover {
  color: var(--sm-link-hover) !important;
}

/* The ticket block sits in a <pre>. Beyond the colours it needs to wrap —
   at fixed width it was cut off in the sidebar column. Note this rule hits
   every pre on the site; there is no code listing here, but that is a
   deliberate trade, not an oversight. */

.edgtf-sidebar pre,
.eventon_events_list pre,
.evo_lightboxes pre,
.event_description pre {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 8px 0 !important;
  color: var(--sm-text) !important;
  font-family: var(--sm-font-ui) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  white-space: pre-wrap !important;
  overflow: visible !important;
}

/* EventON ships its own blue for these controls — rgb(0,170,251), the one
   colour on the page that belonged to no family at all. */

.evo_btn_arr,
.evolb_trigger,
.evo_get_direction_button,
.evcal_btn,
.evo_do_btn {
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
  border: 0 !important;
  border-radius: 12px 0 12px 12px !important;
  transition: background-color .15s ease-out !important;
}

.evo_btn_arr:hover,
.evolb_trigger:hover,
.evo_get_direction_button:hover,
.evcal_btn:hover {
  background-color: var(--sm-fill-hover) !important;
}

.evo_card_row_end,
.evcal_close {
  background-color: rgba(0, 0, 0, .25) !important;
  border: 0 !important;
  border-radius: 0 0 var(--sm-radius) 0 !important;
}

.evo_card_row_end svg,
.evcal_close svg,
.evo_card_row_end i,
.evcal_close i {
  fill: var(--sm-text) !important;
  color: var(--sm-text) !important;
}

/* --- Open event card ------------------------------------------------------
   Deep gold instead of the resting blue, so the expanded event is obvious
   in a long list. The bright gold could not carry the white card type —
   2.4 : 1 — while the deep step gives 5.7 : 1.

   The borders are gone: a light hairline around the open card plus the
   close bar's own outline read as two competing frames inside a panel that
   is already framed.

   The selector carries the .eventon_events_list prefix on purpose. Without
   it this rule and the resting tint further down have equal specificity,
   and the tint wins simply by standing later in the file.
   ------------------------------------------------------------------------ */

.eventon_events_list .eventon_list_event.open .desc_trig {
  background-color: var(--sm-gold-deep) !important;
}

.eventon_events_list .eventon_list_event.open .desc_trig * {
  color: var(--sm-white) !important;
}

.eventon_events_list .eventon_list_event.open .desc_trig:hover {
  background-color: #6b5430 !important;
}

.event_description {
  border: 0 !important;
  outline: 0 !important;
}

.evo_card_row_end,
.evcal_close {
  outline: 0 !important;
  border: 0 !important;
}


/* Focus ring: the card is an <a>, so clicking it left a 2.8px outline that
   looked like a border on the open state. It is not part of that state —
   it appears on every click, including when collapsing.

   Removing it outright would strand keyboard users, so it is only
   suppressed for pointer input. On tab it shows, and with more offset than
   the browser default. */

.eventon_events_list .desc_trig:focus:not(:focus-visible),
.eventon_events_list .evcal_list_a:focus:not(:focus-visible) {
  outline: 0 !important;
}

.eventon_events_list .desc_trig:focus-visible,
.eventon_events_list .evcal_list_a:focus-visible {
  outline: 2px solid var(--sm-link) !important;
  outline-offset: 3px !important;
}

/* Calendar head controls take the same bevelled corner as every other
   button. The long selectors are needed: the older EventON block sets
   border-radius: 0 with four classes and wins otherwise. */

/* Size and icon colour only. The corner is set further down, in the EventON
   controls block, where the same selector already existed — a second rule
   here would have lost to it on order alone. */

.ajde_evcal_calendar .calendar_header .evcal_arrows {
  width: 35px !important;
  height: 35px !important;
}

/* The chevron inside is an <i> with its own grey — the button's colour does
   not reach it. */

.ajde_evcal_calendar .calendar_header .evcal_arrows i,
.ajde_evcal_calendar .calendar_header .evcal_arrows:hover i {
  color: var(--sm-white) !important;
}

.termine .ajde_evcal_calendar .calendar_header .evo_j_dates .legend a,
.terminuebersicht .ajde_evcal_calendar .calendar_header .evo_j_dates .legend a {
  border-radius: 8px 0 8px 8px !important;
  padding: 6px 12px !important;
}


/* --- Empty month -----------------------------------------------------------
   Was a white box with red type. The red was my own earlier mistake: the old
   stylesheet had it red, and I mapped it onto --sm-signal. But a month
   without events is a normal state, not a fault — and if red says "nothing
   here", it stops meaning "something is wrong" where that matters.

   PROVISIONAL, third of its kind: the text is replaced in CSS, so it lives
   only in the stylesheet. Wording is maintained in EventON → Language.
   ------------------------------------------------------------------------ */

/* EventON draws a left and bottom border here (border: 1px #e5e5e5 with top
   and right switched off), which reads as an angle bracket around the
   message. Checking border-top alone misses it — that one is set to none. */

.eventon_events_list .eventon_list_event.no_events {
  background: transparent !important;
  border: 0 !important;
}

p.no_events {
  background-color: rgba(0, 0, 0, .20) !important;
  color: var(--sm-meta) !important;
  font-family: var(--sm-font-ui) !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  border: 0 !important;
  border-radius: var(--sm-radius-alt) !important;
  outline: 0 !important;
  padding: 18px 24px !important;
  margin: 8px 0 !important;
  text-align: center !important;
}

.cal_head_btn,
.evo-gototoday-btn {
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
  border: 0 !important;
  border-radius: 8px 0 8px 8px !important;
  font-family: var(--sm-font-ui) !important;
  font-size: 14px !important;
  padding: 6px 14px !important;
  transition: background-color .15s ease-out !important;
}

.cal_head_btn:hover,
.evo-gototoday-btn:hover {
  background-color: var(--sm-fill-hover) !important;
}


/* --- Location lightbox ----------------------------------------------------
   The "Other Events" button opens a layer that carried none of the design:
   white panel, light grey backdrop, headings at 44px.

   On the double scrollbar: the theme forces html { overflow-y: scroll } and
   the overlay scrolled on top of that. Tying it to a body class did not
   work — EventON sets .evo_overflow when the layer opens and never removes
   it, so it is useless as an "open" marker. The overlay simply no longer
   scrolls; the panel inside does.
   ------------------------------------------------------------------------ */

/* Colours only. An earlier attempt here set overflow:hidden on the overlay
   and moved scrolling to an inner element, to get rid of the second
   scrollbar next to the theme's permanent html one. It broke both layers:
   EventON uses different inner markup for the location layer
   (.evolb_content_*) and the event card (.evo_content_*), and the
   replacement scroll area never took — max-height is ignored there because
   the height comes from elsewhere.

   Scrolling is a function, the duplicate bar is cosmetic. The overlays keep
   EventON's own behaviour. */

.evo_lightbox {
  background-color: rgba(6, 14, 20, .88) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  backdrop-filter: blur(6px) !important;
}

.evolb_content {
  background-color: rgba(11, 32, 48, .97) !important;
  -webkit-backdrop-filter: var(--sm-panel-blur) !important;
  backdrop-filter: var(--sm-panel-blur) !important;
  border-radius: var(--sm-radius-alt) !important;
  outline: var(--sm-outline) !important;
  outline-offset: var(--sm-outline-offset) !important;
  padding: 28px !important;
}

.evolb_content,
.evolb_content p,
.evolb_content span,
.evolb_content div {
  color: var(--sm-text) !important;
}

.evolb_content a { color: var(--sm-link) !important; }
.evolb_content a:hover { color: var(--sm-link-hover) !important; }

.evo_term_events {
  background-color: rgba(0, 0, 0, .20) !important;
  border-radius: var(--sm-radius) !important;
  padding: 16px !important;
}

.evolb_content h2,
.evolb_content .evo_h2 {
  font-family: var(--sm-font-display) !important;
  font-size: 30px !important;
  color: var(--sm-gold) !important;
  line-height: 1.25 !important;
  margin: 0 0 8px 0 !important;
}

.evolb_content h3,
.evolb_content .evotax_term_subtitle {
  font-family: var(--sm-font-display) !important;
  font-size: 24px !important;
  color: var(--sm-gold) !important;
  margin: 0 0 8px 0 !important;
}

.evolb_content .cal_head_btn,
.evolb_content button {
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
  border: 0 !important;
  border-radius: 8px !important;
  font-family: var(--sm-font-ui) !important;
  font-size: 14px !important;
  padding: 6px 12px !important;
}

.evolb_content .cal_head_btn:hover,
.evolb_content button:hover {
  background-color: var(--sm-fill-hover) !important;
}

/* NOTE: the map inside the layer stays light grey. That is Google's own
   styling, not ours — changing it needs a map style in EventON's settings
   and possibly an API key. */


/* --- Below 680: event typography ------------------------------------------
   The event list ran at desktop sizes on the phone — 24px titles and 30px
   date figures in a 279px card, which made every entry 208px tall. At twelve
   dates that is roughly 850px of extra page.

   Note the selectors: the page class sits on BODY, so it has to be
   body.terminuebersicht, not body .terminuebersicht — the descendant form
   looks for a child with that class and matches nothing.
   ------------------------------------------------------------------------ */

@media only screen and (max-width: 680px) {
  .eventon_events_list .evoet_title,
  .eventon_events_list .evcal_desc2,
  .eventon_events_list .evcal_event_title {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }
  .eventon_events_list .evo_start .date {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }
  .eventon_events_list .evo_start .month {
    font-size: 10px !important;
  }
  .eventon_events_list .eventon_list_event .evcal_list_a {
    padding: 12px !important;
  }
  body.terminuebersicht .wpb_content_element.vc_separator h4,
  body.termine .wpb_content_element.vc_separator h4 {
    font-size: 18px !important;
    letter-spacing: 1px !important;
    line-height: 1.2 !important;
  }
  body.terminuebersicht .ajde_evcal_calendar #evcal_head.calendar_header #evcal_cur,
  body.termine .ajde_evcal_calendar #evcal_head.calendar_header #evcal_cur,
  body.terminuebersicht .ajde_evcal_calendar .evo_month_title {
    font-size: 19px !important;
  }
}

/* The separator is a flex row: line, heading, line. The heading box takes
   the remaining width and its text was left-aligned inside it, so it sat
   off-centre between the lines. */

body.terminuebersicht .wpb_content_element.vc_separator h4,
body.termine .wpb_content_element.vc_separator h4 {
  text-align: center !important;
}

/* --- EventON: display face ------------------------------------------------
   EventON ships Poppins for titles and date blocks. Pulling them onto the
   theme's display face keeps the sidebar in one voice; the gap on the date
   block compensates for Cinzel's narrower figures.
   ------------------------------------------------------------------------ */

.evoet_title,
.evcal_desc2,
.evcal_event_title,
.evcal_event_title span,
.evo_start .date,
.evo_start .month,
.evo_start .time,
.evo_end .date,
.evo_end .month {
  font-family: var(--sm-font-display) !important;
}

.edgtf-sidebar .evcal_cblock {
  margin-right: 14px !important;
}

/* --- EventON: cards ------------------------------------------------------ */

.eventon_events_list .eventon_list_event .desc_trig,
.evopop_top {
  background-color: var(--sm-tint) !important;
}

.eventon_events_list .eventon_list_event .desc_trig:hover,
.evopop_top:hover {
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
}

.desc_trig:hover > .evcal_cblock,
.desc_trig:hover > .evcal_cblock > .evo_start,
.desc_trig:hover > .evcal_cblock > .evo_end,
.desc_trig:hover > .evcal_desc > .evcal_event_title {
  color: var(--sm-white) !important;
}

.desc_trig:hover > .evcal_cblock > .evo_end:before {
  background-color: var(--sm-white) !important;
}

.desc_trig_outter > a {
  border-color: var(--sm-white) !important;
}

/* --- EventON: typography and colour -------------------------------------- */

.evcal_evdata_row .evcal_evdata_cell h2,
.evcal_evdata_row .evcal_evdata_cell h3,
.evorow .evo_clik_row h3,
.evcal_evdata_row .evcal_evdata_cell h3 a {
  color: var(--sm-link) !important;
}

#evcal_list .eventon_list_event .evcal_cblock,
.evo_lightboxes .evo_pop_body .evcal_cblock {
  color: var(--sm-link) !important;
}

span.evoet_title.evcal_desc2.evcal_event_title,
span.evo_start .date,
span.evo_start .time {
  color: var(--sm-heading) !important;
}

/* #evcal_cur and p.evo_month_title are the SAME element — an id and a class
   on one node. That cost a detour: removing the month-line selector here
   changed nothing, because the id below matches it directly. One rule, one
   value, gold like every other heading. */

.ajde_evcal_calendar #evcal_head.calendar_header #evcal_cur {
  color: var(--sm-gold) !important;
  text-shadow: 0px 0px 6px var(--sm-veil-25);
}

#secondary .ajde_evcal_calendar #evcal_head.calendar_header #evcal_cur {
  color: var(--sm-gold) !important;
}

.eventon_full_description .eventon_desc_in a {
  color: var(--sm-link) !important;
}

.eventon_full_description .eventon_desc_in a:hover {
  color: var(--sm-link-hover) !important;
}

/* p.no_events is handled in the empty-month block above — it is a normal
   state, not a signal. --sm-signal stays reserved for actual faults. */

/* --- EventON: structure -------------------------------------------------- */

#evcal_list {
  border-right: 0px solid var(--sm-fill) !important;
  border-bottom: 0px solid var(--sm-fill) !important;
  border-top: 0px solid var(--sm-fill) !important;
  border-radius: 0px !important;
}

.evcal_month_line {
  margin: 10px 0px 10px 0px !important;
}

.eventon_events_list .eventon_list_event .evcal_list_a::after {
  height: 1.11px !important;
  background-color: var(--sm-link) !important;
}

.evcal_cblock .evo_end:before {
  background-color: var(--sm-fill) !important;
}

.eventon_sorting_section {
  margin: 5px 0;
  padding: 8px 0 18px !important;
  border-top: 1px solid transparent !important;
  border-bottom: 1px solid transparent !important;
}

.evo_j_container {
  padding-bottom: 18px !important;
}

.evo_cal_above {
  padding-bottom: 12px !important;
}

.evo_page_body {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.eventon_main_section {
  background: var(--sm-panel);
}

.evo_sin_page #evcal_list .eventon_list_event {
  border-right: 0px solid transparent !important;
  border-top: 0px solid transparent !important;
  border-radius: 0px !important;
}

/* --- EventON: controls ---------------------------------------------------
   Filled controls carry white type, so they use the deep step of the cool
   family. The lighter tones cannot hold white text.
   ------------------------------------------------------------------------ */

.eventon_sorting_section p.evo_filter_submit {
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
  border-radius: 0px !important;
}

.eventon_sorting_section p.evo_filter_submit:hover {
  background-color: var(--sm-fill-hover) !important;
}

.evo_cal_above span {
  opacity: 1 !important;
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
  padding: 3px 10px !important;
  border-radius: 0px !important;
  cursor: pointer;
  margin-right: 4px;
}

.evo_cal_above span:hover {
  background-color: var(--sm-fill-hover) !important;
}

.ajde_evcal_calendar .calendar_header .evo_j_dates .legend a {
  border-radius: 0px !important;
}

.ajde_evcal_calendar .calendar_header .evo_j_dates .legend a.set {
  color: var(--sm-white) !important;
  background-color: var(--sm-fill) !important;
}

.ajde_evcal_calendar .calendar_header .evo_j_dates .legend a:hover {
  color: var(--sm-white) !important;
  background-color: var(--sm-fill-hover) !important;
}

.ajde_evcal_calendar .calendar_header .evcal_arrows {
  color: var(--sm-white) !important;
  border-color: transparent !important;
  background-color: var(--sm-fill) !important;
  border-radius: 8px 0 8px 8px !important;
}

.ajde_evcal_calendar .calendar_header .evcal_arrows:hover {
  background-color: var(--sm-fill-hover) !important;
}

/* --- EventON: widget ----------------------------------------------------- */

#evcal_widget .eventon_events_list .evcal_cblock .evo_start .date {
  font-size: 30px !important;
}

#evcal_widget .eventon_events_list .eventon_list_event .evcal_cblock .evo_end {
  display: none;
}

#evcal_widget .eventon_events_list .evcal_desc2 {
  line-height: 120%;
  font-size: 20px !important;
}

#evcal_widget .eventon_events_list .eventon_list_event .mul_val .evcal_desc {
  padding-left: 50px !important;
}

@media only screen and (min-width: 1400px) {
  #evcal_widget .eventon_events_list .eventon_list_event .evcal_desc,
  #evcal_widget .eventon_events_list .eventon_list_event .no_val.hasFtIMG .evcal_desc {
    max-width: 80%;
  }
}

/* Between 769 and 1399 EventON centres date over title and forces the title
   column onto its own line with flex-basis:100%. That was built for a
   narrow sidebar — with the columns now stacking at 1024, the list sits in
   a full-width column and every card was twice as tall as it needed to be.
   Below 769 the centred layout stays: there it earns its keep. */

@media only screen and (min-width: 769px) and (max-width: 1399px) {
  .eventon_events_list .eventon_list_event .evcal_desc,
  .evo_pop_body .evcal_desc,
  #page-content p.evcal_desc {
    text-align: left !important;
  }
  .eventon_events_list .eventon_list_event .evcal_cblock,
  .evo_pop_body .evcal_cblock {
    text-align: center !important;
  }
  .eventon_events_list .eventon_list_event .evcal_list_a {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
  }
  .eventon_events_list .eventon_list_event .evoet_c3 {
    flex-basis: auto !important;
    flex: 1 1 auto !important;
  }
}

@media only screen and (max-width: 768px) {
  .eventon_events_list .eventon_list_event .evcal_desc,
  .evo_pop_body .evcal_desc,
  #page-content p.evcal_desc {
    text-align: center;
  }
  .eventon_events_list .eventon_list_event .evcal_cblock,
  .evo_pop_body .evcal_cblock {
    text-align: center !important;
  }
  .eventon_events_list .eventon_list_event .evcal_list_a {
    justify-content: center;
  }
}

@media (max-width: 568px) {
  .evcal_eventcard .evcal_evdata_row .evcal_evdata_cell {
    padding-left: 0px !important;
    margin-left: 0px !important;
  }
  .evcal_eventcard .evcal_evdata_cell .evo_h3,
  .ajde_evcal_calendar #evcal_list .evcal_eventcard .evcal_evdata_cell_title,
  .evo_pop_body .evcal_evdata_cell_title {
    padding-left: 0px !important;
    padding-top: 2px;
  }
}

/* --- NextGEN gallery ----------------------------------------------------- */

.ngg-navigation a.page-numbers,
.ngg-navigation a.next,
.ngg-navigation a.prev,
.ngg-navigation span.page-numbers,
.ngg-navigation span.next,
.ngg-navigation span.prev,
.ngg-navigation span.current {
  background: var(--sm-tint) !important;
}

.ngg-navigation span.current,
.ngg-navigation a.page-numbers:hover,
.ngg-navigation span.page-numbers:hover,
.ngg-navigation span.current:hover {
  background: var(--sm-fill) !important;
}

/* --- Slick slider -------------------------------------------------------- */

.wphtsp-slick-slider button.slick-next,
.wphtsp-slick-slider button.slick-next:hover,
.wphtsp-slick-slider button.slick-next:focus {
  background: url(../images/arrow-right.png) center center no-repeat !important;
  border: 1px solid var(--sm-white) !important;
}

.wphtsp-slick-slider button.slick-prev,
.wphtsp-slick-slider button.slick-prev:hover,
.wphtsp-slick-slider button.slick-prev:focus {
  background: url(../images/arrow-left.png) center center no-repeat !important;
  border: 1px solid var(--sm-white) !important;
}

.wphtsp-slider-design-1 .wphtsp-slick-slider .slick-arrow {
  top: 50% !important;
  margin-top: -30px !important;
}

.wphtsp-slick-slider .slick-dots li.slick-active button {
  background: var(--sm-link) !important;
}

.wphtsp-slider-design-1 .wphtsp-slider-nav-title .wphtsp-title > div {
  color: var(--sm-heading);
}

.wphtsp-slider-design-1 .wphtsp-slider-nav-title .wphtsp-main-title {
  background: var(--sm-link);
  color: var(--sm-link);
}

.wphtsp-slider-design-1 .wphtsp-slider-nav-title.slick-current .wphtsp-main-title {
  background: var(--sm-white);
}

.wphtsp-slider-design-1 .wphtsp-slider-nav-title.slick-current .wphtsp-main-title:after,
.wphtsp-slider-design-1 .wphtsp-slider-nav-title.slick-current .wphtsp-main-title:before {
  border-top-color: var(--sm-white);
}

.wphtsp-slider-wrp .wphtsp-slider-for .wphtsp-content-title a,
.wphtsp-slider-wrp .wphtsp-slider-for .wphtsp-content-title a:visited {
  color: var(--sm-heading);
}

.wphtsp-slider-design-1 .wphtsp-slider-for .wphtsp-slider-nav-content .wphtsp-content-title {
  margin-top: 48px !important;
}

/* --- Timeline (Tourtagebuecher) ------------------------------------------
   The ring around each marker is one of the places where warm still shows.
   On hover it moves into the cool family like every other control.
   ------------------------------------------------------------------------ */

.wphtsp-history-design-1 .wphtsp-timeline-block .wphtsp-content-title a,
.wphtsp-history-design-1 .wphtsp-post-date,
.wphtsp-history-design-1 .wphtsp-post-date .fa,
.wphtsp-history-design-1 .wphtsp-content div {
  color: var(--sm-text) !important;
}

.wphtsp-history-design-1 .wphtsp-timeline-content {
  border-radius: var(--sm-radius);
  box-shadow: none !important;
  background: var(--sm-panel) !important;
}

.wphtsp-history-design-1 .wphtsp-timeline-block:nth-child(odd) .wphtsp-timeline-content::before,
.wphtsp-history-design-1 .wphtsp-timeline-block:nth-child(even) .wphtsp-timeline-content::before {
  border-right: 13px solid var(--sm-panel) !important;
}

.wphtsp-history-design-1 .wphtsp-timeline-img {
  background: var(--sm-white);
  border: 1px solid var(--sm-panel);
  box-shadow: 0px 0px 0px 10px var(--sm-gold);
}

.wphtsp-history-design-1 .wphtsp-timeline .wphtsp-timeline-img i.fa {
  color: var(--sm-gold-deep);
}

.wphtsp-history-design-1 .wphtsp-timeline-block .wphtsp-timeline-img:hover {
  background: var(--sm-fill);
  border: 15px solid var(--sm-hairline);
}

.wphtsp-history-design-1 .wphtsp-timeline-block .wphtsp-timeline-img:hover i.fa {
  color: var(--sm-white);
}


/* ==========================================================================
   EVENTS PAGE — two of them
   --------------------------------------------------------------------------
   This site has two: /termine/ is EventON's post-type archive (body class
   .termine), /terminuebersicht/ is a normal WordPress page (.terminuebersicht)
   carrying the same calendar in a two-column layout with a sidebar. Both are
   reachable and show the same events; which one survives is an editorial
   decision, not a styling one.

   They need different structural treatment: the archive has no column, so
   the calendar itself takes the panel. The page has a left column, so the
   panel sits there and the calendar inside stays bare — otherwise it would
   be glass on glass.

   Everything below the structure — type, filters, controls — applies to both.
   ========================================================================== */

/* --- Archive: the calendar carries the panel ------------------------------
   box-sizing matters: the plugin's width is content-box, so 24px padding was
   added on the outside and the element filled the viewport again despite the
   width being applied correctly. */

.termine .ajde_evcal_calendar {
  width: min(var(--sm-grid), calc(100% - var(--sm-gutter))) !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  background-color: var(--sm-panel) !important;
  -webkit-backdrop-filter: var(--sm-panel-blur) !important;
  backdrop-filter: var(--sm-panel-blur) !important;
  padding: 24px !important;
  border-radius: var(--sm-radius-alt) !important;
  outline: var(--sm-outline) !important;
  outline-offset: var(--sm-outline-offset) !important;
}

/* --- Page: the column carries the panel -----------------------------------
   The 40px gap needed two corrections: the content column brought 20px of
   right padding and the sidebar column another 20px on the left. Both come
   from the theme grid and were harmless while no panel existed — with
   visible surfaces they add to the gap instead of forming it. */

.terminuebersicht .edgtf-two-columns-75-25 .edgtf-column1 > .edgtf-column-inner {
  background-color: var(--sm-panel) !important;
  -webkit-backdrop-filter: var(--sm-panel-blur) !important;
  backdrop-filter: var(--sm-panel-blur) !important;
  padding: 24px !important;
  margin-right: var(--sm-gap) !important;
  border-radius: var(--sm-radius-alt) !important;
  outline: var(--sm-outline) !important;
  outline-offset: var(--sm-outline-offset) !important;
  box-sizing: border-box !important;
}

.terminuebersicht .edgtf-two-columns-75-25 .edgtf-column1 {
  padding-right: 0 !important;
}

.terminuebersicht .edgtf-two-columns-75-25 .edgtf-column2 > .edgtf-column-inner {
  padding-left: 0 !important;
}

/* Below 1024 the columns stack, so the gap to the sidebar goes. Same reason
   as in 07-content.css: the reset has to repeat this selector, a shorter
   one in a media query would lose on specificity. */

@media only screen and (max-width: 1024px) {
  .terminuebersicht .edgtf-two-columns-75-25 .edgtf-column1 > .edgtf-column-inner {
    margin-right: 0 !important;
  }
}

.terminuebersicht .ajde_evcal_calendar {
  background-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  outline: 0 !important;
  width: auto !important;
}

.termine .vc_separator {
  width: min(var(--sm-grid), calc(100% - var(--sm-gutter))) !important;
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.termine .vc_separator h4 {
  font-family: var(--sm-font-display) !important;
  color: var(--sm-gold) !important;
  font-size: 24px !important;
  letter-spacing: 2px !important;
}

.termine .vc_separator .vc_sep_line,
.termine .vc_separator .vc_sep_holder_l,
.termine .vc_separator .vc_sep_holder_r {
  border-color: var(--sm-hairline) !important;
}

.termine .evo_month_title,
.termine .evcal_month_line p,
.termine #evcal_cur,
.terminuebersicht .evo_month_title,
.terminuebersicht .evcal_month_line p,
.terminuebersicht #evcal_cur {
  font-family: var(--sm-font-display) !important;
  color: var(--sm-gold) !important;
  font-size: 24px !important;
  letter-spacing: 1px !important;
}

/* Month and year filters — the resting state was light grey; only the
   active and hover states had been converted earlier. */

.termine .evo_j_dates .legend a,
.terminuebersicht .evo_j_dates .legend a {
  background-color: rgba(0, 0, 0, .25) !important;
  color: var(--sm-text) !important;
  border: 0 !important;
  font-family: var(--sm-font-ui) !important;
  font-size: 16px !important;
}

.termine .evo_j_dates .legend a.set,
.terminuebersicht .evo_j_dates .legend a.set {
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
}

.termine .evo_j_dates .legend a:hover,
.terminuebersicht .evo_j_dates .legend a:hover {
  background-color: var(--sm-fill-hover) !important;
  color: var(--sm-white) !important;
}

.termine .evo_cal_above span,
.terminuebersicht .evo_cal_above span {
  background-color: var(--sm-fill) !important;
  color: var(--sm-white) !important;
  border-radius: 12px 0 12px 12px !important;
  font-family: var(--sm-font-ui) !important;
  font-size: 15px !important;
}


/* ==========================================================================
   EVENT DETAIL — spacing, scale, controls
   ========================================================================== */

/* The plugin's 30px row padding made the open card very airy; at the
   density of the rest of the site 16px carries the same structure. */

.evo_metarow_details,
.evo_metarow_time,
.evcal_evdata_row,
.evo_metarow_locImg,
.evo_metarow_gmap,
.evorow.evcal_evdata_row {
  padding: 16px !important;
}

.evocard_row { padding: 0 0 6px 6px !important; }
.evocard_box { margin: 0 6px 0 0 !important; }
.event_description { padding: 14px !important; }

.event_description h2,
.event_description h3,
.event_description .evo_h3 { margin: 0 0 4px 0 !important; }

.evcal_evdata_cell p,
.event_description p { margin: 0 0 6px 0 !important; }

/* Headings scale with the column they sit in. A 316px sidebar and a 1535px
   main column do not share a measure, so one value cannot serve both. */

.edgtf-content .event_description h2,
.edgtf-content .event_description h3,
.edgtf-content .event_description .evo_h3,
.edgtf-content .evo_h3 a { font-size: 26px !important; line-height: 1.25 !important; }

.edgtf-content .event_description h4,
.edgtf-content .event_description h5 { font-size: 20px !important; }

.edgtf-sidebar .event_description h2,
.edgtf-sidebar .event_description h3,
.edgtf-sidebar .event_description .evo_h3,
.edgtf-sidebar .evo_h3 a { font-size: 20px !important; }

.edgtf-sidebar .event_description h4,
.edgtf-sidebar .event_description h5 { font-size: 17px !important; }

/* The plugin fades truncated text out with a gradient to white. A fade has
   to end in the ground colour to work — over a translucent panel there is
   no fixed ground, so no value can be right. Removed rather than recoloured. */

.eventon_desc_in::after { display: none !important; }

/* Input fields */

.ajde_evcal_calendar input[type=text],
.ajde_evcal_calendar input[type=search],
.evcal_evdata_row input,
.evo_get_dir_input,
.evo_direction_input {
  background-color: rgba(0, 0, 0, .30) !important;
  border: 1px solid var(--sm-hairline) !important;
  color: var(--sm-text) !important;
  font-family: var(--sm-font-ui) !important;
  font-size: 16px !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
}

.ajde_evcal_calendar .evoInput2 {
  padding-right: 48px !important;
  box-sizing: border-box !important;
}

.ajde_evcal_calendar input::placeholder { color: var(--sm-meta) !important; }

/* Copy-address button — it is absolutely positioned INSIDE the field, so it
   is bound to top and bottom rather than given a fixed height; any fixed
   height shifts it off the field's centre line.

   Its icon is <i class="far fa-copy">: Font Awesome Regular, which this site
   does not load — only Solid. That is why clock and map pin render and this
   one showed an empty box. Replaced with an inline SVG mask, so the symbol
   depends on no font, no file and no consent gate, and takes its colour from
   background-color like everything else.

   Radius 3px = the field's 8px minus the 5px inset, so both curves run
   parallel instead of the inner one closing tighter. */

.evo_copy_address {
  position: absolute !important;
  top: 5px !important;
  bottom: 5px !important;
  right: 5px !important;
  left: auto !important;
  height: auto !important;
  width: 34px !important;
  min-width: 34px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--sm-fill) !important;
  border: 0 !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  font-size: 0 !important;
  transition: background-color .15s ease-out !important;
}

.evo_copy_address:hover { background-color: var(--sm-fill-hover) !important; }

.evo_copy_address i,
.evo_copy_address .far { display: none !important; }

.evo_copy_address::before {
  content: '' !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  background-color: var(--sm-white) !important;
  -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Cpath d='M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1'/%3E%3C/svg%3E") center/contain no-repeat !important;
  mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Cpath d='M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

/* The heading of the directions block. Wording comes from EventON →
   Language; this rule only sizes it per column. */

.edgtf-content .event_description .evogetdir_header .evo_h3,
.evogetdir_header .evo_h3 {
  font-size: 26px !important;
  line-height: 1.25 !important;
}

.edgtf-sidebar .event_description .evogetdir_header .evo_h3,
.edgtf-sidebar .evogetdir_header .evo_h3 {
  font-size: 20px !important;
}
