/* =====================================================================
   FILE: patterns.css
   ROLE: Page templates, layout shells, and pattern-specific styling.
   PURPOSE:
   - Own all template composition that is too specific for style.css.
   - Hold hero layouts, footer shells, landing-page assemblies,
     plugin bridge layers, and pattern-only layout decisions.
   - Keep reusable card internals out of this file unless a pattern must
     override them locally.

   HOW TO MAINTAIN THIS FILE:
   1. Treat each GROUP as an isolated module.
   2. Change local custom properties before rewriting selector logic.
   3. If a class is reused across multiple templates, consider moving it
      to style.css or cards.css.
   4. Keep page-specific rules close to the page they belong to.

   PRIMARY CONTROL SURFACE
   -----------------------
   GLOBAL TOKENS EXPECTED FROM style.css
   --iss-content-width
   --iss-container-pad
   --iss-gap
   --iss-header-height
   --iss-border
   --iss-radius-*
   --iss-shadow
   --iss-transition
   --iss-red / white / black / grey / green / blue / yellow / brown

   HIGH-IMPACT TEMPLATE CLASSES
   .iss-site-footer*
       Footer layout and legal/contact navigation.

   .iss-front-hero*
       Shared hero system and note/banner logic for home and landing pages.

   .iss-timeline*
       Theme bridge for plugin timeline output.

   .iss-visit-*
       Theme bridge for visit-info and opening-hours output.

   .iss-media-text* / .iss-asymmetric-feature* / .iss-feature-split-stack*
       Structured content patterns for editorial landing pages.

   TABLE OF CONTENTS
   -----------------
    1. Footer Template
    2. Front Page Composition
    3. Hero Page Template
    4. Microblocks
    5. Default Page Template
    6. Inner Page Template
    7. Secondary Landing Cover
    8. Timeline Theme Bridge
   9. Editorial List Styles
  10. Visit Info Module
  11. Single Tour Page
  12. Tours Landing Page
  13. Info Panel (Anmeldung/Besuch/Vermietung)
  14. Feature Split Stack
  15. 50-50 Media Text
  16. Asymmetric Feature
  17. Newsletter + Funders Band
  18. Archive Landing
  19. Mission Support Strip
  20. Salon-Vermietung Page
  21. Single Blog Post Template

   MAINTENANCE RULE:
   When debugging, always check whether the issue is:
   1. global token problem (style.css),
   2. card problem (cards.css),
   3. page composition problem (patterns.css).
   ===================================================================== */

/* =========================================================
   GROUP: FOOTER TEMPLATE
   PURPOSE:
   Global footer composition, including contact columns, legal links,
   social links, and access information.

   USE THIS WHEN:
   - Footer spacing, typography, or column balance needs adjustment.
   - Editors require a clearer footer structure without touching markup.

   LOAD-ORDER NOTE:
   Footer rules should override base spacing and typography only where
   the footer needs a distinct treatment. Shared container behavior stays
   in style.css.
   ========================================================= */
/* ==========================================================================
   Industriesalon footer template
   Add the markup to parts/footer.html or a synced pattern.
   Load this file after the base theme stylesheet.
   ========================================================================== */

/* .iss-site-footer: Base class for iss site footer; apply on primary wrapper/scope. */
.iss-site-footer {
  --iss-footer-bg: var(--iss-black, #1e1e1e);
  --iss-footer-fg: #f9f9fa;
  --iss-footer-text: rgba(249, 249, 250, 0.82);
  --iss-footer-muted: rgba(249, 249, 250, 0.68);
  --iss-footer-rule: rgba(249, 249, 250, 0.16);
  --iss-footer-rule-strong: rgba(249, 249, 250, 0.24);
  --iss-footer-link: #f9f9fa;
  --iss-footer-link-hover: var(--iss-red, #e81d25);

  background: var(--iss-footer-bg);
  color: var(--iss-footer-fg);
  padding-top: clamp(1.75rem, 4vw, 3rem);
  padding-bottom: clamp(1.25rem, 3vw, 2rem);
  border-top: 1px solid var(--iss-footer-rule);
}

.iss-site-footer__inner {
  width: 100%;
  max-width: min(1920px, calc(100vw - 3rem));
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 3vw, 2rem);
}

/* .iss-site-footer__grid: Element class for `iss-site-footer`; apply on `grid` element. */
.iss-site-footer__grid {
  gap: 0;
  align-items: flex-start;
  width: 100%;
  max-width: none;
  margin: 0;
}

/* .iss-site-footer__brand: Element class for `iss-site-footer`; apply on `brand` element. */
.iss-site-footer__brand,
/* .iss-site-footer__contact: Element class for `iss-site-footer`; apply on `contact` element. */
.iss-site-footer__contact,
/* .iss-site-footer__hours: Element class for `iss-site-footer`; apply on `hours` element. */
.iss-site-footer__hours,
/* .iss-site-footer__nav: Element class for `iss-site-footer`; apply on `nav` element. */
.iss-site-footer__nav,
/* .iss-site-footer__legal: Element class for `iss-site-footer`; apply on `legal` element. */
.iss-site-footer__legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding-block: clamp(1.2rem, 2vw, 1.6rem);
  padding-inline: clamp(1rem, 1.9vw, 1.75rem);
  position: relative;
  text-align: left;
}

.iss-site-footer__brand {
  flex-basis: 30%;
}

.iss-site-footer__contact,
.iss-site-footer__hours {
  flex-basis: 18%;
}

.iss-site-footer__nav,
.iss-site-footer__legal {
  flex-basis: 17%;
  gap: 1.1rem;
}

.iss-site-footer__grid > .wp-block-column + .wp-block-column::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--iss-footer-rule);
}

/* .iss-site-footer__logo: Element class for `iss-site-footer`; apply on `logo` element. */
.iss-site-footer__logo {
  margin: 0 0 1.25rem;
}

/* .iss-site-footer__logo: Element class for `iss-site-footer`; apply on `logo` element. */
.iss-site-footer__logo img {
  display: block;
  width: 100%;
  max-width: 14rem;
  max-height: none;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

/* .iss-site-footer__tagline: Element class for `iss-site-footer`; apply on `tagline` element. */
.iss-site-footer__tagline,
/* .iss-site-footer__copyright: Element class for `iss-site-footer`; apply on `copyright` element. */
.iss-site-footer__copyright,
/* .iss-site-footer__text: Element class for `iss-site-footer`; apply on `text` element. */
.iss-site-footer__text {
  margin: 0;
  color: var(--iss-footer-text);
}

/* .iss-site-footer__tagline: Element class for `iss-site-footer`; apply on `tagline` element. */
.iss-site-footer__tagline {
  max-width: 16rem;
  font-size: 1rem;
  line-height: 1.35;
  margin-bottom: 1.2rem;
}

.iss-site-footer__plugin {
  width: 100%;
}

/* .iss-site-footer__socials: Element class for `iss-site-footer`; apply on `socials` element. */
.iss-site-footer__socials {
  margin: 0 0 1rem;
  gap: 0.85rem;
}

.iss-site-footer__social-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
}

.iss-site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--iss-red, #e81d25);
  line-height: 1;
  text-decoration: none;
}

.iss-site-footer__social-link svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
}

.iss-site-footer__social-link:hover,
.iss-site-footer__social-link:focus-visible {
  color: rgba(232, 29, 37, 0.74);
}

/* .iss-site-footer__socials: Element class for `iss-site-footer`; apply on `socials` element. */
/* .wp-social-link: Base class for wp social link; apply on primary wrapper/scope. */
.iss-site-footer__socials .wp-social-link {
  transition: transform 0.2s ease, opacity 0.2s ease;
}

/* .iss-site-footer__socials: Element class for `iss-site-footer`; apply on `socials` element. */
/* .wp-social-link: Base class for wp social link; apply on primary wrapper/scope. */
.iss-site-footer__socials .wp-social-link:hover,
/* .iss-site-footer__socials: Element class for `iss-site-footer`; apply on `socials` element. */
/* .wp-social-link: Base class for wp social link; apply on primary wrapper/scope. */
.iss-site-footer__socials .wp-social-link:focus-within {
  transform: translateY(-1px);
  opacity: 0.92;
}

/* .iss-site-footer__copyright: Element class for `iss-site-footer`; apply on `copyright` element. */
.iss-site-footer__copyright {
  width: 100%;
  padding-top: 1rem;
  border-top: 1px solid var(--iss-footer-rule);
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--iss-footer-muted);
}

/* .iss-site-footer__title: Element class for `iss-site-footer`; apply on `title` element. */
.iss-site-footer__title {
  display: inline-block;
  margin: 0 0 1.15rem;
  padding-bottom: 0.45rem;
  border-bottom: 2px solid var(--iss-red, #e81d25);
  color: var(--iss-footer-fg);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* .iss-site-footer__text: Element class for `iss-site-footer`; apply on `text` element. */
.iss-site-footer__text {
  font-size: 1rem;
  line-height: 1.5;
}

/* .iss-site-footer__text: Element class for `iss-site-footer`; apply on `text` element. */
.iss-site-footer__text + .iss-site-footer__text {
  margin-top: 0.75rem;
}

.iss-site-footer__fact {
  position: relative;
  padding-left: 1.7rem;
}

.iss-site-footer__fact + .iss-site-footer__fact {
  margin-top: 1rem;
}

.iss-site-footer__fact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.12rem;
  width: 1rem;
  height: 1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
  filter: invert(1);
  opacity: 0.82;
}

.iss-site-footer__fact--address::before {
  background-image: url("/wp-content/themes/industriesalon/assets/icons/iss-location.svg");
}

.iss-site-footer__fact--transport::before {
  background-image: url("/wp-content/themes/industriesalon/assets/icons/iss-arrow-right.svg");
}

.iss-site-footer__fact-label {
  margin: 0 0 0.35rem;
  color: var(--iss-footer-fg);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

/* .iss-site-footer__text: Element class for `iss-site-footer`; apply on `text` element. */
.iss-site-footer__text strong {
  color: var(--iss-footer-fg);
  font-weight: 600;
}

/* .iss-site-footer__text: Element class for `iss-site-footer`; apply on `text` element. */
.iss-site-footer__text a {
  color: var(--iss-footer-link);
  text-decoration: none;
}

/* .iss-site-footer__text: Element class for `iss-site-footer`; apply on `text` element. */
.iss-site-footer__text a:hover,
/* .iss-site-footer__text: Element class for `iss-site-footer`; apply on `text` element. */
.iss-site-footer__text a:focus-visible {
  color: var(--iss-footer-link-hover);
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

/* .iss-site-footer__access: Element class for `iss-site-footer`; apply on `access` element. */
.iss-site-footer__access {
  margin-top: 1.35rem;
}

.iss-site-footer__access-badge {
  display: block;
  width: min(100%, 14rem);
  height: auto;
  border: 1px solid var(--iss-footer-rule-strong);
}

.iss-site-footer__map-link-wrap {
  margin: 1rem 0 0;
}

.iss-site-footer__map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--iss-footer-link);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
}

.iss-site-footer__map-link::after {
  content: "›";
  color: var(--iss-red, #e81d25);
  font-size: 1rem;
  line-height: 1;
}

/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
.iss-site-footer__menu {
  width: 100%;
  gap: 0.45rem;
  margin: 0;
}

/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .wp-block-navigation-item: Base class for wp block navigation item; apply on primary wrapper/scope. */
.iss-site-footer__menu .wp-block-navigation-item,
/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .wp-block-navigation-item__content: Element class for `wp-block-navigation-item`; apply on `content` element. */
.iss-site-footer__menu .wp-block-navigation-item__content {
  width: 100%;
}

/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .wp-block-navigation-item__content: Element class for `wp-block-navigation-item`; apply on `content` element. */
.iss-site-footer__menu .wp-block-navigation-item__content {
  position: relative;
  padding: 0 0 0 0.9rem;
  color: var(--iss-footer-text);
  font-size: 0.98rem;
  line-height: 1.55;
  text-decoration: none;
}

.iss-site-footer__menu .wp-block-navigation-item__content::before {
  content: "›";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--iss-red, #e81d25);
  font-size: 1rem;
  line-height: inherit;
}

/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .wp-block-navigation-item__content: Element class for `wp-block-navigation-item`; apply on `content` element. */
.iss-site-footer__menu .wp-block-navigation-item__content:hover,
/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .wp-block-navigation-item__content: Element class for `wp-block-navigation-item`; apply on `content` element. */
.iss-site-footer__menu .wp-block-navigation-item__content:focus-visible,
/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .current-menu-item: Base class for current menu item; apply on primary wrapper/scope. */
/* .wp-block-navigation-item__content: Element class for `wp-block-navigation-item`; apply on `content` element. */
.iss-site-footer__menu .current-menu-item > .wp-block-navigation-item__content,
/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .current-menu-item: Base class for current menu item; apply on primary wrapper/scope. */
/* .wp-block-pages-list__item__link: Element class for `wp-block-pages-list`; apply on `item__link` element. */
.iss-site-footer__menu .current-menu-item > .wp-block-pages-list__item__link {
  color: var(--iss-footer-link-hover);
}

/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .wp-block-navigation__responsive-container: Element class for `wp-block-navigation`; apply on `responsive-container` element. */
.iss-site-footer__menu .wp-block-navigation__responsive-container,
/* .iss-site-footer__menu: Element class for `iss-site-footer`; apply on `menu` element. */
/* .wp-block-navigation__container: Element class for `wp-block-navigation`; apply on `container` element. */
.iss-site-footer__menu .wp-block-navigation__container {
  align-items: flex-start;
}

.iss-site-footer__legal-mark {
  align-self: flex-end;
  width: clamp(3.5rem, 5vw, 5.5rem);
  margin: auto 0 0;
  opacity: 0.95;
}

.iss-site-footer__twinkl-badge {
  align-self: flex-end;
  width: clamp(3.5rem, 5vw, 5.5rem);
  margin: auto 0 0;
}

.iss-site-footer__twinkl-badge a {
  display: block;
}

.iss-site-footer__legal-mark img {
  display: block;
  width: 100%;
  height: auto;
}

.iss-site-footer__twinkl-badge img {
  display: block;
  width: 100%;
  height: auto;
}

.iss-site-footer .iss-visit-hours--footer {
  width: 100%;
  margin-top: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.iss-site-footer .iss-site-footer__plugin + .iss-visit-hours--footer,
.iss-site-footer .iss-visit-hours--footer + .iss-visit-hours--footer {
  margin-top: 1.55rem;
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-hours__title {
  display: inline-block;
  margin: 0 0 1rem;
  padding-bottom: 0.45rem;
  border-bottom: 2px solid var(--iss-red, #e81d25);
  color: var(--iss-footer-fg);
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-hours__summary,
.iss-site-footer .iss-visit-hours--footer .iss-visit-hours__note {
  color: var(--iss-footer-text);
  font-size: 1rem;
  line-height: 1.5;
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-hours__exceptions {
  margin-top: 0.65rem;
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-exceptions__list {
  gap: 0.55rem;
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-exceptions__item {
  display: block;
  padding-bottom: 0.4rem;
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-exceptions__date,
.iss-site-footer .iss-visit-hours--footer .iss-visit-exceptions__time,
.iss-site-footer .iss-visit-hours--footer .iss-visit-exceptions__note {
  display: inline;
  color: var(--iss-footer-muted);
  font-size: 0.93rem;
  line-height: 1.45;
  text-align: left;
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-exceptions__date {
  font-weight: 700;
  color: var(--iss-footer-text);
}

.iss-site-footer .iss-visit-hours--footer .iss-visit-exceptions__date::after {
  content: " ";
}

@media (max-width: 1024px) {
/* .iss-site-footer__grid: Element class for `iss-site-footer`; apply on `grid` element. */
/* .wp-block-column: Base class for wp block column; apply on primary wrapper/scope. */
  .iss-site-footer__grid > .wp-block-column {
    flex-basis: calc(50% - 1rem) !important;
  }

/* .iss-site-footer__brand: Element class for `iss-site-footer`; apply on `brand` element. */
  .iss-site-footer__brand {
    padding-right: 1.5rem;
  }

  .iss-site-footer__grid > .wp-block-column::before {
    display: none;
  }
}

@media (max-width: 781px) {
/* .iss-site-footer: Base class for iss site footer; apply on primary wrapper/scope. */
  .iss-site-footer {
    padding-top: 2rem;
    padding-bottom: 1.75rem;
  }

/* .iss-site-footer__grid: Element class for `iss-site-footer`; apply on `grid` element. */
  .iss-site-footer__grid {
    gap: 2.2rem;
  }

/* .iss-site-footer__grid: Element class for `iss-site-footer`; apply on `grid` element. */
/* .wp-block-column: Base class for wp block column; apply on primary wrapper/scope. */
  .iss-site-footer__grid > .wp-block-column {
    flex-basis: 100% !important;
    padding-inline: 0;
    padding-block: 0;
  }

/* .iss-site-footer__brand: Element class for `iss-site-footer`; apply on `brand` element. */
  .iss-site-footer__brand {
    padding-right: 0;
  }

  .iss-site-footer__grid > .wp-block-column + .wp-block-column::before {
    display: none;
  }

/* .iss-site-footer__logo: Element class for `iss-site-footer`; apply on `logo` element. */
  .iss-site-footer__logo img {
    max-width: 10.5rem;
  }

/* .iss-site-footer__tagline: Element class for `iss-site-footer`; apply on `tagline` element. */
  .iss-site-footer__tagline {
    max-width: none;
  }
}


/* =========================================================
   GROUP: FRONT PAGE COMPOSITION
   PURPOSE:
   Homepage-only layout layer: hero, note/banner, section rhythm,
   mission support, media-text rows, and newsletter band.

   USE THIS WHEN:
   - The homepage needs structural tuning.
   - Hero/banner proportions or homepage spacing feel off.

   MAIN CONTROL VARIABLES:
   --iss-hero-min-h
   --iss-hero-pad-bottom
   --iss-hero-left-pad
   --iss-hero-right-pad
   --iss-banner-shift-x
   --iss-banner-shift-y
   --iss-banner-width
   ========================================================= */
/* =====================================================================
   LANDING HERO FAMILY
   ===================================================================== */

/* .wp-block-cover: Base class for wp block cover; apply on primary wrapper/scope. */
/* .iss-front-hero: Base class for iss front hero; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant.
   Shared gradient token for hero cover and overlay media cards so both use the same atmospheric fade. */
.wp-block-cover.iss-front-hero,
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__media {
  --iss-hero-min-h: 90svh;
  --iss-hero-overlay: linear-gradient(
    90deg,
    rgba(30, 30, 30, 0.78) 0%,
    rgba(30, 30, 30, 0.48) 42%,
    rgba(30, 30, 30, 0.16) 100%
  );
}

/* .iss-front-hero: Base class for iss front hero; apply on primary wrapper/scope. */
.wp-block-cover.iss-front-hero {
  --iss-hero-pad-bottom: clamp(2rem, 5vh, 4rem);
  --iss-hero-left-pad: max(var(--iss-container-pad), calc((100vw - var(--iss-content-width)) / 2 + var(--iss-container-pad)));
  --iss-banner-width: 23rem;
  --iss-hero-right-pad: clamp(0.75rem, 2.2vw, 2.25rem);
  --iss-banner-shift-x: 250px;
  --iss-banner-shift-y: 90px;
  position: relative;
  min-height: var(--iss-hero-min-h);
  margin: 0;
  padding: 0;
  overflow: visible;
}

@supports (min-height: 90dvh) {
  .wp-block-cover.iss-front-hero {
    --iss-hero-min-h: 90dvh;
  }
}

.wp-block-cover.iss-front-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--iss-hero-overlay);
  z-index: 1;
  pointer-events: none;
}

/* .wp-block-cover__inner-container: Element class for `wp-block-cover`; apply on `inner-container` element. */
.wp-block-cover.iss-front-hero > .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  align-content: end;
  column-gap: clamp(1rem, 3vw, 2.5rem);
  width: 100%;
  min-height: inherit;
  max-width: none;
  margin: 0;
  padding: calc(var(--iss-header-height) + 1.5rem) var(--iss-hero-right-pad) var(--iss-hero-pad-bottom) var(--iss-hero-left-pad);
  box-sizing: border-box;
  overflow: visible;
}

.iss-front-hero__row {
  display: contents;
}

.iss-front-hero__shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 44rem);
  gap: 1.5rem;
  width: 100%;
  max-width: none;
  margin: 0;
  min-height: 0;
  align-content: end;
  justify-content: start;
  overflow: visible;
}

.iss-front-hero__content {
  max-width: 44rem;
  color: var(--iss-white);
}

.iss-front-hero__content .iss-kicker,
.iss-front-hero__content .iss-heading__title,
.iss-front-hero__content .iss-heading__text {
  color: var(--iss-white);
}

.iss-front-hero__title {
  max-width: 13ch;
  font-size: clamp(2.9rem, 6vw, 5.5rem);
  line-height: 0.96;
  text-wrap: balance;
}

.iss-front-hero__text {
  max-width: 40rem;
  font-size: clamp(1rem, 1vw + 0.8rem, 1.2rem);
  line-height: 1.55;
  color: rgba(249, 249, 250, 0.9);
}

.iss-front-hero__actions {
  margin-top: 0.75rem;
}

/* =====================================================================
   LANDING SHELL
   Shared rail-and-content layout for curated landing sections.
   ===================================================================== */

.iss-landing-shell {
  display: grid;
  grid-template-columns: minmax(21rem, 27rem) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4.25rem);
  align-items: start;
  padding-inline: var(--iss-container-pad);
}

.iss-landing-shell > * {
  min-width: 0;
}

.iss-container > .iss-landing-shell {
  padding-inline: 0;
}

.iss-landing-shell--flip {
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 27rem);
}

.iss-landing-rail {
  display: grid;
  gap: 1rem;
  align-content: start;
  min-width: 0;
  padding-right: clamp(0.45rem, 1.6vw, 1.35rem);
}

.iss-landing-shell--flip .iss-landing-rail {
  order: 2;
  padding-right: 0;
  padding-left: clamp(0.45rem, 1.6vw, 1.35rem);
}

.iss-landing-rail .iss-heading__title {
  margin-top: 0;
  margin-bottom: 0.6rem;
  font-size: clamp(2rem, 1.65rem + 1vw, 3rem);
  line-height: 0.96;
}

.iss-landing-rail .iss-heading__text {
  font-size: 1.02rem;
  line-height: 1.72;
}

.iss-landing-rail > p {
  margin: 0;
}

.iss-landing-panel {
  display: flex;
  min-width: 0;
  align-self: stretch;
  padding-left: clamp(0.45rem, 1vw, 0.85rem);
}

.iss-landing-panel > .wp-block-image,
.iss-landing-panel > figure,
.iss-landing-panel__image {
  width: 100%;
  height: 100%;
  margin: 0;
}

.iss-landing-panel__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(18rem, 30vw, 26rem);
  object-fit: cover;
}

.iss-landing-shell--flip .iss-landing-panel {
  padding-left: 0;
  padding-right: clamp(0.45rem, 1vw, 0.85rem);
}

/* =====================================================================
   STORY INTRO
   Shared lead + text-columns + note-line composition for editorial sections.
   ===================================================================== */

.iss-story-intro {
  --iss-story-intro-gap: 1.35rem;
  --iss-story-intro-top-columns: minmax(0, 1.08fr) minmax(17rem, 20rem);
  --iss-story-intro-top-gap: clamp(2rem, 5vw, 4.5rem);
  --iss-story-intro-top-align: start;
  --iss-story-intro-copy-max: none;
  --iss-story-intro-head-justify: flex-start;
  --iss-story-intro-head-max: none;
  --iss-story-intro-head-gap: 0.55rem;
  --iss-story-intro-head-align: start;
  --iss-story-intro-lead-max: 48rem;
  --iss-story-intro-lead-size: clamp(1.18rem, 1.02rem + 0.42vw, 1.55rem);
  --iss-story-intro-lead-line: 1.5;
  --iss-story-intro-lead-track: normal;
  --iss-story-intro-lead-color: rgba(30, 30, 30, 0.9);
  --iss-story-intro-title-max: none;
  --iss-story-intro-title-size: clamp(2rem, 1.8rem + 1vw, 3.35rem);
  --iss-story-intro-title-line: 0.96;
  --iss-story-intro-title-track: normal;
  --iss-story-intro-textcols-max: none;
  --iss-story-intro-textcols-gap: 1rem;
  --iss-story-intro-textcols-margin-top: 1.1rem;
  --iss-story-intro-text-color: rgba(30, 30, 30, 0.78);
  --iss-story-intro-text-size: 1.02rem;
  --iss-story-intro-text-line: 1.64;
  --iss-story-intro-text-item-gap: 0.85rem;
  --iss-story-intro-note-max: 46rem;
  --iss-story-intro-note-border: 1px solid rgba(30, 30, 30, 0.08);
  --iss-story-intro-note-color: rgba(30, 30, 30, 0.78);
  --iss-story-intro-note-size: 0.98rem;
  --iss-story-intro-note-line: 1.55;
  display: grid;
  gap: var(--iss-story-intro-gap);
}

.iss-story-intro__top {
  display: grid;
  grid-template-columns: var(--iss-story-intro-top-columns);
  gap: var(--iss-story-intro-top-gap);
  align-items: var(--iss-story-intro-top-align);
}

.iss-story-intro__copy,
.iss-story-intro__head-wrap {
  min-width: 0;
}

.iss-story-intro__copy {
  max-width: var(--iss-story-intro-copy-max);
}

.iss-story-intro__head-wrap {
  display: flex;
  justify-content: var(--iss-story-intro-head-justify);
}

.iss-story-intro__head {
  display: grid;
  gap: var(--iss-story-intro-head-gap);
  align-content: var(--iss-story-intro-head-align);
  max-width: var(--iss-story-intro-head-max);
}

.iss-story-intro__head > * {
  margin: 0;
}

.iss-story-intro__lead {
  max-width: var(--iss-story-intro-lead-max);
  margin: 0;
  color: var(--iss-story-intro-lead-color);
  font-size: var(--iss-story-intro-lead-size);
  line-height: var(--iss-story-intro-lead-line);
  letter-spacing: var(--iss-story-intro-lead-track);
}

.iss-story-intro__textcols {
  max-width: var(--iss-story-intro-textcols-max);
  margin-top: var(--iss-story-intro-textcols-margin-top);
  color: var(--iss-story-intro-text-color);
  font-size: var(--iss-story-intro-text-size);
  line-height: var(--iss-story-intro-text-line);
}

.iss-story-intro__textcols > * {
  margin: 0;
}

.iss-story-intro__textcols--grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--iss-story-intro-textcols-gap);
}

.iss-story-intro__textcols--columns-2 {
  column-count: 2;
  column-gap: var(--iss-story-intro-textcols-gap);
}

.iss-story-intro__textcols--columns-2 > * {
  break-inside: avoid;
}

.iss-story-intro__textcols--columns-2 > * + * {
  margin-top: var(--iss-story-intro-text-item-gap);
}

.iss-story-intro__title {
  max-width: var(--iss-story-intro-title-max);
  margin: 0;
  font-size: var(--iss-story-intro-title-size);
  line-height: var(--iss-story-intro-title-line);
  letter-spacing: var(--iss-story-intro-title-track);
  text-wrap: balance;
}

.iss-story-intro__note {
  max-width: var(--iss-story-intro-note-max);
  padding-top: 1rem;
  border-top: var(--iss-story-intro-note-border);
  color: var(--iss-story-intro-note-color);
  font-size: var(--iss-story-intro-note-size);
  line-height: var(--iss-story-intro-note-line);
}

.iss-story-intro__note > * {
  margin: 0;
}

.iss-story-intro__note > :last-child {
  margin-bottom: 0;
}

.iss-story-intro__note strong {
  color: var(--iss-text);
}

@media (max-width: 1024px) {
  .iss-landing-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .iss-landing-panel__image img {
    min-height: 14rem;
  }

  .iss-landing-panel,
  .iss-landing-shell--flip .iss-landing-panel {
    padding-left: 0;
    padding-right: 0;
  }

  .iss-landing-rail,
  .iss-landing-shell--flip .iss-landing-rail {
    order: 0;
    padding-right: 0;
    padding-left: 0;
  }
}

@media (max-width: 1200px) {
  .iss-story-intro__textcols--grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 781px) {
  .iss-story-intro__textcols--grid-3 {
    grid-template-columns: minmax(0, 1fr);
  }

  .iss-story-intro__textcols--columns-2 {
    column-count: 1;
  }
}

/* Focused dark contrast block for one research/sammlung object.
   Scoped to this pattern so it does not alter the global zebra section system. */
.iss-object-highlight {
  padding: clamp(4.5rem, 8vw, 7.5rem) 0;
  background:
    radial-gradient(circle at 18% 24%, rgba(232, 29, 37, 0.14), transparent 24%),
    radial-gradient(circle at 82% 70%, rgba(255, 255, 255, 0.06), transparent 22%),
    linear-gradient(180deg, #161616 0%, #0e0e0e 100%);
  color: var(--iss-white);
}

.iss-object-highlight .iss-object-highlight__layout {
  gap: clamp(2rem, 4vw, 4.75rem);
  align-items: center;
}

.iss-object-highlight .iss-object-highlight__content,
.iss-object-highlight .iss-object-highlight__media,
.iss-object-highlight .iss-object-highlight__support-col {
  min-width: 0;
}

.iss-object-highlight .iss-object-highlight__content {
  flex-basis: 42%;
}

.iss-object-highlight .iss-object-highlight__media {
  flex-basis: 58%;
}

.iss-object-highlight .iss-object-highlight__support-col--back {
  flex-basis: 38%;
}

.iss-object-highlight .iss-object-highlight__support-col--note {
  flex-basis: 62%;
}

.iss-object-highlight .iss-heading__title,
.iss-object-highlight .iss-heading__text {
  color: var(--iss-white);
}

.iss-object-highlight .iss-heading__title {
  max-width: 12ch;
}

.iss-object-highlight .iss-heading__text {
  max-width: 36rem;
  color: rgba(249, 249, 250, 0.82);
}

.iss-object-highlight .iss-object-highlight__meta {
  max-width: 34rem;
  margin: 0 0 1.4rem;
  color: rgba(249, 249, 250, 0.64);
  font-size: 0.95rem;
}

.iss-object-highlight .iss-object-highlight__media-stack {
  display: grid;
  gap: 1.1rem;
}

.iss-object-highlight .iss-object-highlight__support {
  gap: 1.1rem;
  align-items: start;
}

.iss-object-highlight .iss-object-highlight__support-col {
  min-width: 0;
}

.iss-object-highlight .iss-media-card {
  --iss-media-card-bg: rgba(255, 255, 255, 0.03);
  --iss-media-card-border-width: 1px;
  --iss-media-card-rail-width: 0;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.34);
}

.iss-object-highlight .iss-object-highlight__figure {
  padding: clamp(1rem, 2vw, 1.5rem);
}

.iss-object-highlight .iss-object-highlight__figure img {
  aspect-ratio: 4 / 3;
  object-fit: contain;
}

.iss-object-highlight .iss-object-highlight__back {
  padding: 0.8rem;
}

.iss-object-highlight .iss-object-highlight__back img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.iss-object-highlight .iss-object-highlight__note {
  padding: 0.9rem;
}

.iss-object-highlight .iss-object-highlight__note img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 781px) {
  .iss-object-highlight .iss-object-highlight__support {
    display: grid;
    gap: 1rem;
  }
}

.iss-front-hero__actions-wrap {
  position: relative;
  z-index: 6;
  width: 100%;
  margin-top: 0.45rem;
}

.iss-front-hero__actions-wrap .iss-front-hero__actions {
  margin-top: 0;
  gap: 0.85rem;
}

@media (max-width: 782px) {
  .iss-front-hero__actions-wrap {
    width: 100%;
    margin-top: 0.45rem;
  }
}

/* =====================================================================
   HERO BANNER / NOTE
   ===================================================================== */

.wp-block-cover.iss-front-hero .iss-front-banner-slot {
  position: relative;
  width: min(100%, var(--iss-banner-width));
  max-width: var(--iss-banner-width);
  grid-column: 2;
  justify-self: end;
  transform: translateX(var(--iss-banner-shift-x)) translateY(var(--iss-banner-shift-y));
  z-index: 5;
}

.wp-block-cover.iss-front-hero .iss-front-banner-slot:empty {
  display: none;
}

.wp-block-cover.iss-front-hero > .wp-block-cover__inner-container > .iss-front-hero__shell,
.wp-block-cover.iss-front-hero > .wp-block-cover__inner-container > .iss-front-hero__row > .iss-front-hero__shell {
  grid-column: 1;
}

.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  width: 100%;
  min-height: 20rem;
  padding: 0.15rem 0 0.25rem 1.15rem;
  background: none;
  color: var(--iss-white);
  border-left: 3px solid rgba(232, 29, 37, 0.95);
  text-align: left;
}

/* top marker */

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__marker: Element class for `iss-hero-note`; apply on `marker` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__marker {
  position: absolute;
  top: -0.2rem;
  left: -0.42rem;
  width: 0.65rem;
  height: 0.65rem;
  background: var(--iss-red);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(232, 29, 37, 0.12);
}

/* kicker */

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__kicker: Element class for `iss-hero-note`; apply on `kicker` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__kicker {
  margin: 0 0 0.1rem;
  color: rgba(249, 249, 250, 0.82);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* title */

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__title: Element class for `iss-hero-note`; apply on `title` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__title {
  margin: 0;
  color: var(--iss-white);
  font-size: clamp(1.7rem, 1.2rem + 0.8vw, 2.25rem);
  font-weight: 700;
  line-height: 1.02;
  max-width: 11ch;
  text-wrap: balance;
}

/* red separator between title and text */

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__text: Element class for `iss-hero-note`; apply on `text` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__text {
  position: relative;
  margin-top: 0.7rem;
  padding-top: 0.95rem;
  max-width: 21ch;
}

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__text: Element class for `iss-hero-note`; apply on `text` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.2rem;
  height: 2px;
  background: var(--iss-red);
}

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__text: Element class for `iss-hero-note`; apply on `text` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__text,
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__text p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 1.45;
}

/* line between text and link */

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__link: Element class for `iss-hero-note`; apply on `link` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link {
  position: relative;
  margin-top: 1rem;
  padding-top: 0.95rem;
}

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__link: Element class for `iss-hero-note`; apply on `link` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 8.5rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
}

/* link */

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__link: Element class for `iss-hero-note`; apply on `link` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--iss-white);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--iss-transition), transform var(--iss-transition);
}

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__link-icon: Element class for `iss-hero-note`; apply on `link-icon` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  color: var(--iss-red);
  font-size: 0.95rem;
  line-height: 1;
  transform: translateY(-0.02em);
}

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__link-text: Element class for `iss-hero-note`; apply on `link-text` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link-text {
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-thickness: 1px;
}

/* .home: Base class for home; apply on primary wrapper/scope. */
/* .iss-front-banner-slot: Base class for iss front banner slot; apply on primary wrapper/scope. */
/* .iss-hero-note__link: Element class for `iss-hero-note`; apply on `link` element. */
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link a:hover,
.iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link a:focus-visible {
  color: var(--iss-red);
  transform: translateX(2px);
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 1100px) {
  .wp-block-cover.iss-front-hero > .wp-block-cover__inner-container {
    grid-template-columns: 1fr;
    row-gap: 1rem;
    padding-left: var(--iss-container-pad);
    padding-right: var(--iss-container-pad);
  }

  .wp-block-cover.iss-front-hero .iss-front-banner-slot {
    grid-column: 1;
    width: 100%;
    max-width: 100%;
    margin-top: 0.75rem;
    justify-self: stretch;
    transform: none;
  }

}

@media (max-width: 782px) {
  .iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note {
    min-height: 0;
    max-width: 100%;
  }

  .iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__title,
  .iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__text {
    max-width: none;
  }

  .iss-front-banner-slot .wp-block-industriesalon-notice-banner.iss-notice-skin--front .iss-hero-note__link::before {
    max-width: 100%;
  }

  .wp-block-cover.iss-front-hero > .wp-block-cover__inner-container {
    padding-top: calc(var(--iss-header-height) + 0.75rem);
    padding-bottom: clamp(1.25rem, 4vh, 2rem);
  }

  .iss-front-hero__shell {
    gap: 1rem;
  }

  .iss-front-hero__title {
    max-width: 11ch;
    font-size: clamp(2.4rem, 10vw, 3.75rem);
  }

  .iss-front-hero__text {
    max-width: 100%;
  }

  .iss-front-hero__actions {
    flex-direction: column;
    align-items: flex-start;
  }

}

/* =====================================================
   MICROBLOCKS
   cleaner icon version
   ===================================================== */

/* .iss-microblocks: Base class for iss microblocks; apply on primary wrapper/scope. */
.iss-microblocks {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

/* .iss-microblock: Base class for iss microblock; apply on primary wrapper/scope. */
.iss-microblock {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  gap: 0.9rem;
  align-items: start;
}

/* .iss-microblock: Base class for iss microblock; apply on primary wrapper/scope. */
.iss-microblock + .iss-microblock {
  padding-top: 1rem;
  border-top: 1px solid var(--iss-border);
}

/* .iss-microblock__icon: Element class for `iss-microblock`; apply on `icon` element. */
.iss-microblock__icon {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0;
  padding-top: 0.1rem;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 1.35rem;
}

/* .iss-microblock__icon: Element class for `iss-microblock`; apply on `icon` element. */
.iss-microblock__icon .iss-icon {
  display: block;
  width: 100%;
  height: 100%;
  color: var(--iss-accent);
}

/* .iss-microblock__content: Element class for `iss-microblock`; apply on `content` element. */
.iss-microblock__content {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

/* .iss-microblock__title: Element class for `iss-microblock`; apply on `title` element. */
.iss-microblock__title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.2;
}

/* .iss-microblock__text: Element class for `iss-microblock`; apply on `text` element. */
.iss-microblock__text {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.55;
  color: rgba(30, 30, 30, 0.72);
}

@media (max-width: 782px) {
/* .iss-microblock: Base class for iss microblock; apply on primary wrapper/scope. */
  .iss-microblock {
    grid-template-columns: 2rem 1fr;
    gap: 0.75rem;
  }

/* .iss-microblock__icon: Element class for `iss-microblock`; apply on `icon` element. */
  .iss-microblock__icon {
    width: 1.2rem;
    height: 1.2rem;
    flex-basis: 1.2rem;
  }

/* .iss-microblock__text: Element class for `iss-microblock`; apply on `text` element. */
  .iss-microblock__text {
    font-size: 0.94rem;
  }
}


/* =========================================================
   GROUP: DEFAULT PAGE TEMPLATE
   PURPOSE:
   Shared inner-page hero and page shell for standard content pages.

   USE THIS WHEN:
   - A generic landing page or inner page needs hero tuning.
   - Content pages should stay visually aligned with the front page
     system without duplicating homepage rules.
   ========================================================= */
/* =====================================================================
   INNER PAGE TEMPLATE
   Shared landing-page hero for all pages except front page.
   ===================================================================== */

/* .iss-page-template: Base class for iss page template; apply on primary wrapper/scope. */
.iss-page-template {
  margin: 0;
}

/* .iss-page-hero__kicker: Element class for `iss-page-hero`; apply on `kicker` element. */
.iss-page-hero__kicker,
/* .iss-page-hero__title: Element class for `iss-page-hero`; apply on `title` element. */
.iss-page-hero__title,
/* .iss-page-hero__text: Element class for `iss-page-hero`; apply on `text` element. */
.iss-page-hero__text {
  max-width: 46rem;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

/* .iss-page-hero__kicker: Element class for `iss-page-hero`; apply on `kicker` element. */
.iss-page-hero__kicker {
  margin-bottom: 0.25rem;
}

/* .iss-page-hero__title: Element class for `iss-page-hero`; apply on `title` element. */
.iss-page-hero__title {
  margin: 0;
  color: var(--iss-white);
  font-size: clamp(2.5rem, 5vw, 4.75rem);
  line-height: 0.98;
  text-wrap: balance;
}

/* .iss-page-hero__text: Element class for `iss-page-hero`; apply on `text` element. */
.iss-page-hero__text {
  margin: 0;
  color: rgba(249, 249, 250, 0.9);
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  line-height: 1.55;
}

/* .iss-page-hero__text: Element class for `iss-page-hero`; apply on `text` element. */
.iss-page-hero__text p {
  margin: 0;
}

/* .iss-page-content: Base class for iss page content; apply on primary wrapper/scope. */
.iss-page-content {
  position: relative;
  z-index: 3;
}

/* .iss-page-content: Base class for iss page content; apply on primary wrapper/scope. */
/* .wp-block-post-content: Base class for wp block post content; apply on primary wrapper/scope. */
.iss-page-content > .wp-block-post-content {
  width: 100%;
}

/* .iss-page-content: Base class for iss page content; apply on primary wrapper/scope. */
/* .wp-block-post-content: Base class for wp block post content; apply on primary wrapper/scope. */
.iss-page-content > .wp-block-post-content > *:first-child {
  margin-top: 0;
}

.iss-hero__actions > p,
.iss-hero__actions > .wp-block-buttons,
.iss-feature-stack__actions > p,
.iss-feature-stack__actions > .wp-block-buttons {
  margin: 0;
}

.iss-hero__actions {
  margin-top: 0.75rem;
}

/* =========================================================
   GROUP: EDITORIAL LIST STYLES
   PURPOSE:
   Gutenberg core/list style variations for editorial lists, rail lists,
   process steps, and compact fact lists.

   USE THIS WHEN:
   - Editors need reusable list treatments without custom blocks.
   - Long project or publication prose needs clearer internal structure.

   OWNERSHIP:
   Block style registration lives in functions.php. These selectors only style
   the stable `is-style-iss-list-*` classes that Gutenberg stores on core/list.
   ========================================================= */
.wp-block-list:is(.is-style-iss-list-plain, .is-style-iss-list-rail, .is-style-iss-list-steps, .is-style-iss-list-facts) {
  margin: 1.1rem 0 1.4rem;
  color: var(--iss-list-text, rgba(30, 30, 30, 0.82));
  line-height: 1.58;
}

.wp-block-list:is(.is-style-iss-list-plain, .is-style-iss-list-rail, .is-style-iss-list-steps, .is-style-iss-list-facts) > li {
  margin-bottom: 0.55rem;
  line-height: 1.58;
}

.wp-block-list:is(.is-style-iss-list-plain, .is-style-iss-list-rail, .is-style-iss-list-steps, .is-style-iss-list-facts) > li:last-child {
  margin-bottom: 0;
}

ul.wp-block-list.is-style-iss-list-plain {
  padding-left: 1.15rem;
  list-style: disc;
}

ol.wp-block-list.is-style-iss-list-plain {
  padding-left: 1.3rem;
  list-style: decimal;
}

.wp-block-list.is-style-iss-list-plain > li::marker {
  color: var(--iss-list-accent, var(--iss-accent, var(--iss-red)));
}

.wp-block-list.is-style-iss-list-rail {
  padding-left: 0;
  list-style: none;
}

.wp-block-list.is-style-iss-list-rail > li {
  margin-bottom: 0.8rem;
  padding-left: 0.9rem;
  border-left: 3px solid var(--iss-list-accent, var(--iss-accent, var(--iss-red)));
}

.wp-block-list.is-style-iss-list-steps {
  counter-reset: iss-list-step;
  padding-left: 0;
  list-style: none;
}

.wp-block-list.is-style-iss-list-steps > li {
  counter-increment: iss-list-step;
  position: relative;
  margin: 0;
  padding: 0.85rem 0 0.85rem 3.9rem;
  border-top: 1px solid rgba(30, 30, 30, 0.14);
}

.wp-block-list.is-style-iss-list-steps > li:last-child {
  border-bottom: 1px solid rgba(30, 30, 30, 0.14);
}

.wp-block-list.is-style-iss-list-steps > li::before {
  content: counter(iss-list-step, decimal-leading-zero);
  position: absolute;
  top: 0.85rem;
  left: 0;
  width: 3rem;
  color: var(--iss-list-accent, var(--iss-accent, var(--iss-red)));
  font-size: 0.92rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1.58;
}

.wp-block-list.is-style-iss-list-facts {
  padding-left: 0;
  list-style: none;
}

.wp-block-list.is-style-iss-list-facts > li {
  position: relative;
  padding-left: 1.15rem;
}

.wp-block-list.is-style-iss-list-facts > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.64em;
  width: 0.42rem;
  height: 0.42rem;
  background: var(--iss-list-accent, var(--iss-accent, var(--iss-red)));
}

/* .iss-hero-note: Base class for iss hero note; apply on primary wrapper/scope. */
.iss-hero-note {
  width: 100%;
  max-width: 23rem;
  padding: 1.4rem 1.35rem 1.5rem;
  border-left: 3px solid var(--iss-accent);
  background: rgba(30, 30, 30, 0.38);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* .iss-hero-note__kicker: Element class for `iss-hero-note`; apply on `kicker` element. */
.iss-hero-note__kicker {
  margin: 0 0 0.5rem;
  color: rgba(249, 249, 250, 0.74);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* .iss-hero-note__title: Element class for `iss-hero-note`; apply on `title` element. */
.iss-hero-note__title {
  margin: 0;
  color: var(--iss-white);
  font-size: clamp(1.4rem, 1rem + 1vw, 2rem);
  line-height: 1.04;
}

/* .iss-hero-note__text: Element class for `iss-hero-note`; apply on `text` element. */
.iss-hero-note__text,
/* .iss-hero-note__link: Element class for `iss-hero-note`; apply on `link` element. */
.iss-hero-note__link {
  margin: 0.9rem 0 0;
  color: rgba(249, 249, 250, 0.84);
}

/* .iss-hero-note__link: Element class for `iss-hero-note`; apply on `link` element. */
.iss-hero-note__link a {
  color: var(--iss-white);
  font-weight: 600;
  text-underline-offset: 0.16em;
}

@media (max-width: 1024px) {
/* .iss-page-hero__title: Element class for `iss-page-hero`; apply on `title` element. */
  .iss-page-hero__title,
/* .iss-page-hero__text: Element class for `iss-page-hero`; apply on `text` element. */
  .iss-page-hero__text {
    max-width: 38rem;
  }
}

@media (max-width: 781px) {
/* .iss-page-hero__kicker: Element class for `iss-page-hero`; apply on `kicker` element. */
  .iss-page-hero__kicker,
/* .iss-page-hero__title: Element class for `iss-page-hero`; apply on `title` element. */
  .iss-page-hero__title,
/* .iss-page-hero__text: Element class for `iss-page-hero`; apply on `text` element. */
  .iss-page-hero__text {
    max-width: none;
  }

/* .iss-page-hero__title: Element class for `iss-page-hero`; apply on `title` element. */
  .iss-page-hero__title {
    font-size: clamp(2rem, 9vw, 3.2rem);
  }

/* .iss-page-hero__text: Element class for `iss-page-hero`; apply on `text` element. */
  .iss-page-hero__text {
    font-size: 0.98rem;
  }

/* .iss-hero-note: Base class for iss hero note; apply on primary wrapper/scope. */
  .iss-hero-note {
    max-width: none;
  }
}


/* =========================================================
   GROUP: TIMELINE THEME BRIDGE
   PURPOSE:
   Theme-owned layer for plugin timeline output. This block should style
   plugin markup without owning the plugin's structural logic.

   USE THIS WHEN:
   - Timeline colors, alignment, buttons, or intro blocks need theme
     alignment.
   - Plugin output looks centered or visually disconnected from the site.
   ========================================================= */
/* =====================================================================
   TIMELINE THEME LAYER
   ---------------------------------------------------------------------
   Theme-owned visual tokens/hooks for plugin-rendered timeline markup.
   Structural timeline layout remains in plugin CSS.
   ===================================================================== */

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
.iss-timeline-sections,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
.iss-timeline-query {
  --iss-tl-text: var(--iss-black, #1e1e1e);
  --iss-tl-muted: rgba(30, 30, 30, 0.72);
  --iss-tl-line: var(--iss-accent-border, rgba(232, 29, 37, 0.28));
  --iss-tl-primary: var(--iss-accent, #e81d25);
  --iss-tl-pill-bg: #f5f5f5;
}

/* .iss-timeline__summary: Element class for `iss-timeline`; apply on `summary` element. */
.iss-timeline__summary {
  color: var(--iss-tl-muted);
}

/* .iss-timeline__btn--primary: Element class for `iss-timeline`; apply on `btn--primary` element. */
.iss-timeline__btn--primary {
  background: var(--iss-tl-primary);
  border-color: var(--iss-tl-primary);
}

/* .iss-timeline__footer: Element class for `iss-timeline`; apply on `footer` element. */
.iss-timeline__footer {
  margin-inline: auto;
  width: 100%;
  padding-top: 2rem;
  /* border-top: 1px solid var(--iss-tl-line); */
  justify-content: right;
}

.iss-timeline__choice-label,
.iss-timeline__filter select,
.iss-timeline__filter input,
.iss-timeline__apply {
  border: 1px solid var(--iss-border, rgba(30, 30, 30, 0.14));
  background: var(--iss-white, #fff);
  box-shadow: none;
}

.iss-timeline__apply {
  color: var(--iss-black, #1e1e1e);
}

.is-tour-calendar__calendar,
.is-tour-calendar__appointments,
.is-tour-calendar__slot-card,
.is-tour-calendar__appointment,
.is-tour-calendar__booking-summary,
.is-tour-calendar-modal__panel,
.is-tour-calendar__field input,
.is-tour-calendar__field select,
.is-tour-calendar__time-btn,
.is-tour-calendar__appointment-btn,
.is-tour-calendar__day-cell {
  border: 1px solid var(--iss-border, rgba(30, 30, 30, 0.14));
  background: var(--iss-white, #fff);
  box-shadow: none;
}

.is-tour-calendar__appointment {
  border-left: 0;
  border-right: 0;
}

.is-tour-calendar__day-cell--empty {
  border-color: transparent;
  background: transparent;
}

/* =====================================================================
   TIMELINE COLOR SCHEMES
   ---------------------------------------------------------------------
   Optional wrapper classes aligned with theme.json palette slugs:
   - .iss-timeline--scheme-scarlet-red
   - .iss-timeline--scheme-vaporous-white
   - .iss-timeline--scheme-eerie-black
   - .iss-timeline--scheme-cerebral-grey
   - .iss-timeline--scheme-turtle-green
   - .iss-timeline--scheme-pale-rock-blue
   - .iss-timeline--scheme-sunrise-yellow
   - .iss-timeline--scheme-russet-brown
   ===================================================================== */

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-scarlet-red: Modifier class for `iss-timeline`; combine for `scheme-scarlet-red` variant. */
.iss-timeline.iss-timeline--scheme-scarlet-red,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-scarlet-red: Modifier class for `iss-timeline`; combine for `scheme-scarlet-red` variant. */
.iss-timeline-sections.iss-timeline--scheme-scarlet-red,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-scarlet-red: Modifier class for `iss-timeline`; combine for `scheme-scarlet-red` variant. */
.iss-timeline-query.iss-timeline--scheme-scarlet-red,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-scarlet-red: Modifier class for `iss-timeline`; combine for `scheme-scarlet-red` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-scarlet-red .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-scarlet-red: Modifier class for `iss-timeline`; combine for `scheme-scarlet-red` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-scarlet-red .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--scarlet-red, #e81d25);
  --iss-tl-line: rgba(232, 29, 37, 0.28);
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-vaporous-white: Modifier class for `iss-timeline`; combine for `scheme-vaporous-white` variant. */
.iss-timeline.iss-timeline--scheme-vaporous-white,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-vaporous-white: Modifier class for `iss-timeline`; combine for `scheme-vaporous-white` variant. */
.iss-timeline-sections.iss-timeline--scheme-vaporous-white,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-vaporous-white: Modifier class for `iss-timeline`; combine for `scheme-vaporous-white` variant. */
.iss-timeline-query.iss-timeline--scheme-vaporous-white,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-vaporous-white: Modifier class for `iss-timeline`; combine for `scheme-vaporous-white` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-vaporous-white .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-vaporous-white: Modifier class for `iss-timeline`; combine for `scheme-vaporous-white` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-vaporous-white .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--vaporous-white, #f9f9fa);
  --iss-tl-line: rgba(249, 249, 250, 0.55);
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-eerie-black: Modifier class for `iss-timeline`; combine for `scheme-eerie-black` variant. */
.iss-timeline.iss-timeline--scheme-eerie-black,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-eerie-black: Modifier class for `iss-timeline`; combine for `scheme-eerie-black` variant. */
.iss-timeline-sections.iss-timeline--scheme-eerie-black,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-eerie-black: Modifier class for `iss-timeline`; combine for `scheme-eerie-black` variant. */
.iss-timeline-query.iss-timeline--scheme-eerie-black,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-eerie-black: Modifier class for `iss-timeline`; combine for `scheme-eerie-black` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-eerie-black .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-eerie-black: Modifier class for `iss-timeline`; combine for `scheme-eerie-black` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-eerie-black .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--eerie-black, #1e1e1e);
  --iss-tl-line: rgba(30, 30, 30, 0.35);
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-cerebral-grey: Modifier class for `iss-timeline`; combine for `scheme-cerebral-grey` variant. */
.iss-timeline.iss-timeline--scheme-cerebral-grey,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-cerebral-grey: Modifier class for `iss-timeline`; combine for `scheme-cerebral-grey` variant. */
.iss-timeline-sections.iss-timeline--scheme-cerebral-grey,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-cerebral-grey: Modifier class for `iss-timeline`; combine for `scheme-cerebral-grey` variant. */
.iss-timeline-query.iss-timeline--scheme-cerebral-grey,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-cerebral-grey: Modifier class for `iss-timeline`; combine for `scheme-cerebral-grey` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-cerebral-grey .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-cerebral-grey: Modifier class for `iss-timeline`; combine for `scheme-cerebral-grey` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-cerebral-grey .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--cerebral-grey, #c0b8b5);
  --iss-tl-line: rgba(192, 184, 181, 0.38);
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-turtle-green: Modifier class for `iss-timeline`; combine for `scheme-turtle-green` variant. */
.iss-timeline.iss-timeline--scheme-turtle-green,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-turtle-green: Modifier class for `iss-timeline`; combine for `scheme-turtle-green` variant. */
.iss-timeline-sections.iss-timeline--scheme-turtle-green,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-turtle-green: Modifier class for `iss-timeline`; combine for `scheme-turtle-green` variant. */
.iss-timeline-query.iss-timeline--scheme-turtle-green,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-turtle-green: Modifier class for `iss-timeline`; combine for `scheme-turtle-green` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-turtle-green .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-turtle-green: Modifier class for `iss-timeline`; combine for `scheme-turtle-green` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-turtle-green .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--turtle-green, #579e7d);
  --iss-tl-line: rgba(87, 158, 125, 0.32);
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-pale-rock-blue: Modifier class for `iss-timeline`; combine for `scheme-pale-rock-blue` variant. */
.iss-timeline.iss-timeline--scheme-pale-rock-blue,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-pale-rock-blue: Modifier class for `iss-timeline`; combine for `scheme-pale-rock-blue` variant. */
.iss-timeline-sections.iss-timeline--scheme-pale-rock-blue,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-pale-rock-blue: Modifier class for `iss-timeline`; combine for `scheme-pale-rock-blue` variant. */
.iss-timeline-query.iss-timeline--scheme-pale-rock-blue,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-pale-rock-blue: Modifier class for `iss-timeline`; combine for `scheme-pale-rock-blue` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-pale-rock-blue .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-pale-rock-blue: Modifier class for `iss-timeline`; combine for `scheme-pale-rock-blue` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-pale-rock-blue .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--pale-rock-blue, #869fba);
  --iss-tl-line: rgba(134, 159, 186, 0.34);
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-sunrise-yellow: Modifier class for `iss-timeline`; combine for `scheme-sunrise-yellow` variant. */
.iss-timeline.iss-timeline--scheme-sunrise-yellow,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-sunrise-yellow: Modifier class for `iss-timeline`; combine for `scheme-sunrise-yellow` variant. */
.iss-timeline-sections.iss-timeline--scheme-sunrise-yellow,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-sunrise-yellow: Modifier class for `iss-timeline`; combine for `scheme-sunrise-yellow` variant. */
.iss-timeline-query.iss-timeline--scheme-sunrise-yellow,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-sunrise-yellow: Modifier class for `iss-timeline`; combine for `scheme-sunrise-yellow` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-sunrise-yellow .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-sunrise-yellow: Modifier class for `iss-timeline`; combine for `scheme-sunrise-yellow` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-sunrise-yellow .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--sunrise-yellow, #ebbc1e);
  --iss-tl-line: rgba(235, 188, 30, 0.38);
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-russet-brown: Modifier class for `iss-timeline`; combine for `scheme-russet-brown` variant. */
.iss-timeline.iss-timeline--scheme-russet-brown,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-russet-brown: Modifier class for `iss-timeline`; combine for `scheme-russet-brown` variant. */
.iss-timeline-sections.iss-timeline--scheme-russet-brown,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-russet-brown: Modifier class for `iss-timeline`; combine for `scheme-russet-brown` variant. */
.iss-timeline-query.iss-timeline--scheme-russet-brown,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-russet-brown: Modifier class for `iss-timeline`; combine for `scheme-russet-brown` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-sections.iss-timeline--scheme-russet-brown .iss-timeline,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-timeline--scheme-russet-brown: Modifier class for `iss-timeline`; combine for `scheme-russet-brown` variant. */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
.iss-timeline-query.iss-timeline--scheme-russet-brown .iss-timeline {
  --iss-tl-primary: var(--wp--preset--color--russet-brown, #753a18);
  --iss-tl-line: rgba(117, 58, 24, 0.36);
}

/* =====================================================================
   TIMELINE SECTION INTRO ALIGNMENT
   ---------------------------------------------------------------------
   Plugin markup can still place a narrow intro block visually centered
   inside a grid/flex parent. Scope the fix here instead of changing the
   global .iss-heading system.
   ===================================================================== */

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
.iss-timeline .iss-heading,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
.iss-timeline-sections .iss-heading,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
.iss-timeline-query .iss-heading {
  width: 100%;
  margin-left: 0;
  margin-right: auto;
  align-self: flex-start;
  justify-self: start;
  text-align: left;
}

/* keep readable measure unless plugin/editor sets uncaged explicitly */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading--uncaged: Modifier class for `iss-heading`; combine for `uncaged` variant. */
.iss-timeline .iss-heading:not(.iss-heading--uncaged),
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading--uncaged: Modifier class for `iss-heading`; combine for `uncaged` variant. */
.iss-timeline-sections .iss-heading:not(.iss-heading--uncaged),
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading--uncaged: Modifier class for `iss-heading`; combine for `uncaged` variant. */
.iss-timeline-query .iss-heading:not(.iss-heading--uncaged) {
  max-width: var(--iss-heading-max-width, 42rem);
}

/* children must inherit left alignment cleanly */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-kicker: Base class for iss kicker; apply on primary wrapper/scope. */
.iss-timeline .iss-heading > .iss-kicker,
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading__title: Element class for `iss-heading`; apply on `title` element. */
.iss-timeline .iss-heading > .iss-heading__title,
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading__text: Element class for `iss-heading`; apply on `text` element. */
.iss-timeline .iss-heading > .iss-heading__text,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-kicker: Base class for iss kicker; apply on primary wrapper/scope. */
.iss-timeline-sections .iss-heading > .iss-kicker,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading__title: Element class for `iss-heading`; apply on `title` element. */
.iss-timeline-sections .iss-heading > .iss-heading__title,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading__text: Element class for `iss-heading`; apply on `text` element. */
.iss-timeline-sections .iss-heading > .iss-heading__text,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-kicker: Base class for iss kicker; apply on primary wrapper/scope. */
.iss-timeline-query .iss-heading > .iss-kicker,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading__title: Element class for `iss-heading`; apply on `title` element. */
.iss-timeline-query .iss-heading > .iss-heading__title,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .iss-heading: Base class for iss heading; apply on primary wrapper/scope. */
/* .iss-heading__text: Element class for `iss-heading`; apply on `text` element. */
.iss-timeline-query .iss-heading > .iss-heading__text {
  margin-left: 0;
  margin-right: 0;
  text-align: inherit;
}

/* if plugin wrappers use flex/grid, anchor their children left */
/* .iss-timeline__header: Element class for `iss-timeline`; apply on `header` element. */
.iss-timeline__header,
/* .iss-timeline__intro: Element class for `iss-timeline`; apply on `intro` element. */
.iss-timeline__intro,
/* .iss-timeline__summary-wrap: Element class for `iss-timeline`; apply on `summary-wrap` element. */
.iss-timeline__summary-wrap,
/* .iss-timeline-sections__header: Element class for `iss-timeline-sections`; apply on `header` element. */
.iss-timeline-sections__header,
/* .iss-timeline-sections__intro: Element class for `iss-timeline-sections`; apply on `intro` element. */
.iss-timeline-sections__intro,
/* .iss-timeline-query__header: Element class for `iss-timeline-query`; apply on `header` element. */
.iss-timeline-query__header,
/* .iss-timeline-query__intro: Element class for `iss-timeline-query`; apply on `intro` element. */
.iss-timeline-query__intro {
  justify-items: start;
  align-items: flex-start;
}

/* buttons and text helpers inside timeline intros stay left */
/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .wp-block-buttons: Base class for wp block buttons; apply on primary wrapper/scope. */
.iss-timeline .wp-block-buttons,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .wp-block-buttons: Base class for wp block buttons; apply on primary wrapper/scope. */
.iss-timeline-sections .wp-block-buttons,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .wp-block-buttons: Base class for wp block buttons; apply on primary wrapper/scope. */
.iss-timeline-query .wp-block-buttons {
  justify-content: flex-start;
}

/* .iss-timeline: Base class for iss timeline; apply on primary wrapper/scope. */
/* .has-text-align-center: Base class for has text align center; apply on primary wrapper/scope. */
.iss-timeline .has-text-align-center,
/* .iss-timeline-sections: Base class for iss timeline sections; apply on primary wrapper/scope. */
/* .has-text-align-center: Base class for has text align center; apply on primary wrapper/scope. */
.iss-timeline-sections .has-text-align-center,
/* .iss-timeline-query: Base class for iss timeline query; apply on primary wrapper/scope. */
/* .has-text-align-center: Base class for has text align center; apply on primary wrapper/scope. */
.iss-timeline-query .has-text-align-center {
  text-align: left;
}


/* =========================================================
   GROUP: VISIT INFO MODULE
   PURPOSE:
   Theme layer for visit-status, opening-hours, exceptions, address, and
   related visitor information surfaces.

   USE THIS WHEN:
   - Opening-hours widgets need better site integration.
   - Visit panels should look like native site modules.
   ========================================================= */
/* =====================================================================
   VISIT INFO THEME LAYER
   ---------------------------------------------------------------------
   Theme-owned visual tokens/hooks for plugin-rendered visit info markup.
   Structural output stays in the plugin.
   ===================================================================== */

/* .iss-visit-info: Base class for iss visit info; apply on primary wrapper/scope. */
.iss-visit-info,
/* .iss-visit-status: Base class for iss visit status; apply on primary wrapper/scope. */
.iss-visit-status,
/* .iss-visit-hours: Base class for iss visit hours; apply on primary wrapper/scope. */
.iss-visit-hours,
/* .iss-visit-exceptions: Base class for iss visit exceptions; apply on primary wrapper/scope. */
.iss-visit-exceptions {
  --iss-visit-surface: #fff;
  --iss-visit-text: var(--iss-black, #1e1e1e);
  --iss-visit-muted: rgba(30, 30, 30, 0.72);
  --iss-visit-border: var(--iss-border, rgba(30, 30, 30, 0.14));
  --iss-visit-accent: var(--iss-red, #e81d25);
  --iss-visit-radius: var(--iss-radius-md, 16px);
  --iss-visit-gap: 0.75rem;
  --iss-visit-pad: 1.25rem;
}

/* .iss-visit-info: Base class for iss visit info; apply on primary wrapper/scope. */
.iss-visit-info {
  display: grid;
  gap: 1rem;
  color: var(--iss-visit-text);
}

/* .iss-visit-info: Base class for iss visit info; apply on primary wrapper/scope. */
/* .alignwide: Base class for alignwide; apply on primary wrapper/scope. */
.iss-visit-info.alignwide {
  max-width: var(--iss-content-width, 1720px);
  margin-inline: auto;
}

/* .iss-visit-info: Base class for iss visit info; apply on primary wrapper/scope. */
/* .alignfull: Base class for alignfull; apply on primary wrapper/scope. */
.iss-visit-info.alignfull {
  width: 100%;
}

/* .iss-visit-info__grid: Element class for `iss-visit-info`; apply on `grid` element. */
.iss-visit-info__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 1rem;
  align-items: stretch;
}

/* .iss-visit-info__col: Element class for `iss-visit-info`; apply on `col` element. */
.iss-visit-info__col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  height: 100%;
}

/* .iss-visit-status: Base class for iss visit status; apply on primary wrapper/scope. */
.iss-visit-status {
  margin: 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--iss-visit-border);
  border-left: 4px solid var(--iss-visit-accent);
  border-radius: var(--iss-visit-radius);
  background: var(--iss-visit-surface);
  font-weight: 700;
  line-height: 1.4;
}

/* .iss-visit-status--special: Modifier class for `iss-visit-status`; combine for `special` variant. */
.iss-visit-status--special {
  --iss-visit-accent: var(--iss-yellow, #ebbc1e);
}

/* .iss-visit-status--open: Modifier class for `iss-visit-status`; combine for `open` variant. */
.iss-visit-status--open {
  --iss-visit-accent: var(--iss-green, #579e7d);
}

/* Exceptional opening states remain semantically open but need a distinct accent. */
.iss-visit-status--kind-special_open,
.iss-visit-status--kind-extended,
.iss-visit-status--kind-reduced,
.iss-visit-status--kind-event_day,
.iss-visit-status--kind-by_appointment {
  --iss-visit-accent: var(--iss-yellow, #ebbc1e);
}

/* .iss-visit-status--closed: Modifier class for `iss-visit-status`; combine for `closed` variant. */
.iss-visit-status--closed {
  --iss-visit-accent: var(--iss-brown, #753a18);
}

/* .iss-visit-hours: Base class for iss visit hours; apply on primary wrapper/scope. */
.iss-visit-hours,
/* .iss-visit-exceptions: Base class for iss visit exceptions; apply on primary wrapper/scope. */
.iss-visit-exceptions {
  padding: var(--iss-visit-pad);
  border: 1px solid var(--iss-visit-border);
  border-radius: var(--iss-visit-radius);
  background: var(--iss-visit-surface);
}

/* .iss-visit-card: Base class for iss visit card; apply on primary wrapper/scope. */
.iss-visit-card {
  display: grid;
  gap: 1rem;
  height: 100%;
  padding: var(--iss-visit-pad);
  border: 1px solid var(--iss-visit-border);
  border-radius: var(--iss-visit-radius);
  background: var(--iss-visit-surface);
}

/* .iss-visit-card__kicker: Element class for `iss-visit-card`; apply on `kicker` element. */
.iss-visit-card__kicker {
  margin: 0;
}

/* .iss-visit-card__title: Element class for `iss-visit-card`; apply on `title` element. */
.iss-visit-card__title {
  margin: 0;
  font-size: clamp(1.3rem, 2vw, 1.85rem);
  line-height: 1.1;
}

/* .iss-visit-card__button: Element class for `iss-visit-card`; apply on `button` element. */
.iss-visit-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--iss-visit-border);
  border-radius: var(--iss-radius-pill, 999px);
  color: var(--iss-visit-text);
  text-decoration: none;
  font-weight: 700;
  line-height: 1.2;
}

/* .iss-visit-card__button--primary: Element class for `iss-visit-card`; apply on `button--primary` element. */
.iss-visit-card__button--primary {
  border-color: var(--iss-visit-accent);
  background: var(--iss-visit-accent);
  color: #fff;
}

/* .iss-visit-card__button--secondary: Element class for `iss-visit-card`; apply on `button--secondary` element. */
.iss-visit-card__button--secondary {
  background: rgba(30, 30, 30, 0.03);
}

/* .iss-visit-card__button--placeholder: Element class for `iss-visit-card`; apply on `button--placeholder` element. */
.iss-visit-card__button--placeholder {
  border-style: dashed;
  color: var(--iss-visit-muted);
}

/* .iss-visit-card__button--disabled: Element class for `iss-visit-card`; apply on `button--disabled` element. */
.iss-visit-card__button--disabled {
  display: none;
}

/* .iss-visitor-card__list: Element class for `iss-visitor-card`; apply on `list` element. */
.iss-visitor-card__list {
  display: grid;
  gap: 0.85rem;
}

/* .iss-visitor-card__item: Element class for `iss-visitor-card`; apply on `item` element. */
.iss-visitor-card__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  padding: 0.95rem 0 1rem;
  border-top: 1px solid rgba(30, 30, 30, 0.08);
}

/* .iss-visitor-card__item: Element class for `iss-visitor-card`; apply on `item` element. */
.iss-visitor-card__item:first-child {
  border-top: 0;
  padding-top: 0;
}

/* .iss-visitor-card__item-text: Element class for `iss-visitor-card`; apply on `item-text` element. */
.iss-visitor-card__item-text p {
  margin: 0;
  color: rgba(30, 30, 30, 0.78);
  line-height: 1.5;
}

/* .iss-visitor-card__item-action: Element class for `iss-visitor-card`; apply on `item-action` element. */
.iss-visitor-card__item-action {
  display: flex;
  align-items: flex-start;
}

/* .iss-visitor-card__upcoming: Element class for `iss-visitor-card`; apply on `upcoming` element. */
.iss-visitor-card__upcoming {
  display: grid;
  gap: 0.35rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(30, 30, 30, 0.08);
  border-radius: var(--iss-radius-md, 16px);
  background: rgba(30, 30, 30, 0.02);
}

/* .iss-visitor-card__upcoming-label: Element class for `iss-visitor-card`; apply on `upcoming-label` element. */
.iss-visitor-card__upcoming-label {
  margin: 0;
  color: var(--iss-visit-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* .iss-visitor-card__upcoming-link: Element class for `iss-visitor-card`; apply on `upcoming-link` element. */
.iss-visitor-card__upcoming-link {
  display: grid;
  gap: 0.2rem;
  color: var(--iss-visit-text);
  text-decoration: none;
}

/* .iss-visitor-card__upcoming-title: Element class for `iss-visitor-card`; apply on `upcoming-title` element. */
.iss-visitor-card__upcoming-title {
  font-weight: 700;
  line-height: 1.35;
}

/* .iss-visitor-card__upcoming-date: Element class for `iss-visitor-card`; apply on `upcoming-date` element. */
.iss-visitor-card__upcoming-date {
  color: var(--iss-visit-muted);
  font-size: 0.92rem;
}

/* .iss-visitor-card__upcoming-summary: Element class for `iss-visitor-card`; apply on `upcoming-summary` element. */
.iss-visitor-card__upcoming-summary {
  color: var(--iss-visit-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

/* .iss-visitor-card__mini-button: Element class for `iss-visitor-card`; apply on `mini-button` element. */
.iss-visitor-card__mini-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.45rem 0.85rem;
  border: 1px solid rgba(30, 30, 30, 0.14);
  border-radius: var(--iss-radius-pill, 999px);
  background: transparent;
  color: var(--iss-black, #1e1e1e);
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--iss-transition, 180ms ease);
}

/* .iss-visitor-card__mini-button: Element class for `iss-visitor-card`; apply on `mini-button` element. */
.iss-visitor-card__mini-button:hover,
/* .iss-visitor-card__mini-button: Element class for `iss-visitor-card`; apply on `mini-button` element. */
.iss-visitor-card__mini-button:focus-visible {
  border-color: var(--iss-red, #e81d25);
  color: var(--iss-red, #e81d25);
}

/* .iss-visit-card__address: Element class for `iss-visit-card`; apply on `address` element. */
.iss-visit-card__address {
  display: grid;
  gap: 0.4rem;
}

/* .iss-visit-card__address-lead: Element class for `iss-visit-card`; apply on `address-lead` element. */
.iss-visit-card__address-lead {
  margin: 0;
  color: var(--iss-visit-muted);
  font-weight: 600;
}

/* .iss-visit-card__address-value: Element class for `iss-visit-card`; apply on `address-value` element. */
.iss-visit-card__address-value {
  font-style: normal;
  font-weight: 700;
}

/* .iss-visit-card__map-link: Element class for `iss-visit-card`; apply on `map-link` element. */
.iss-visit-card__map-link {
  justify-self: start;
  color: var(--iss-visit-accent);
  font-weight: 700;
}

/* .iss-visit-card__social: Element class for `iss-visit-card`; apply on `social` element. */
.iss-visit-card__social {
  display: grid;
  gap: 0.6rem;
}

/* .iss-visit-card__social-lead: Element class for `iss-visit-card`; apply on `social-lead` element. */
.iss-visit-card__social-lead {
  margin: 0;
  color: var(--iss-visit-muted);
  font-weight: 600;
}

/* .iss-visit-card__social-list: Element class for `iss-visit-card`; apply on `social-list` element. */
.iss-visit-card__social-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* .iss-visit-card__social-item: Element class for `iss-visit-card`; apply on `social-item` element. */
.iss-visit-card__social-item a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--iss-visit-border);
  border-radius: var(--iss-radius-pill, 999px);
  background: rgba(30, 30, 30, 0.03);
  color: var(--iss-visit-text);
  text-decoration: none;
  font-weight: 600;
}

/* .iss-visit-card__social-icon: Element class for `iss-visit-card`; apply on `social-icon` element. */
.iss-visit-card__social-icon {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
}

/* .iss-visit-card__social-icon: Element class for `iss-visit-card`; apply on `social-icon` element. */
.iss-visit-card__social-icon svg {
  width: 100%;
  height: 100%;
}

/* .iss-visit-hours__title: Element class for `iss-visit-hours`; apply on `title` element. */
.iss-visit-hours__title,
/* .iss-visit-exceptions__title: Element class for `iss-visit-exceptions`; apply on `title` element. */
.iss-visit-exceptions__title {
  margin: 0 0 0.85rem;
  color: var(--iss-visit-text);
}

/* .iss-visit-hours__table-wrap: Element class for `iss-visit-hours`; apply on `table-wrap` element. */
.iss-visit-hours__table-wrap {
  display: grid;
  gap: 1rem;
}

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
.iss-visit-hours__table {
  margin: 0;
}

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
.iss-visit-hours__table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
.iss-visit-hours__table th,
/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
.iss-visit-hours__table td {
  padding: 0.85rem 0.75rem;
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
  text-align: left;
  vertical-align: middle;
}

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
.iss-visit-hours__table th {
  padding-top: 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(30, 30, 30, 0.58);
}

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
.iss-visit-hours__table tbody tr:last-child td {
  border-bottom: 0;
}

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
/* .is-today: Base class for is today; apply on primary wrapper/scope. */
.iss-visit-hours__table tbody tr.is-today td {
  background: rgba(var(--iss-accent-rgb), 0.04);
  font-weight: 600;
}

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
/* .is-today: Base class for is today; apply on primary wrapper/scope. */
.iss-visit-hours__table tbody tr.is-today td:first-child {
  box-shadow: inset 4px 0 0 var(--iss-accent);
}

/* .iss-visit-hours__badge: Element class for `iss-visit-hours`; apply on `badge` element. */
.iss-visit-hours__badge {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.25rem 0.65rem;
  border-radius: var(--iss-radius-pill, 999px);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* .iss-visit-hours__badge--open: Element class for `iss-visit-hours`; apply on `badge--open` element. */
.iss-visit-hours__badge--open {
  background: rgba(87, 158, 125, 0.12);
  color: var(--iss-green, #579e7d);
}

/* .iss-visit-hours__badge--closed: Element class for `iss-visit-hours`; apply on `badge--closed` element. */
.iss-visit-hours__badge--closed {
  background: rgba(117, 58, 24, 0.12);
  color: var(--iss-brown, #753a18);
}

/* .iss-visit-hours__badge--special: Element class for `iss-visit-hours`; apply on `badge--special` element. */
.iss-visit-hours__badge--special {
  background: rgba(235, 188, 30, 0.16);
  color: var(--iss-brown, #753a18);
}

.iss-visit-hours__badge--kind-special_open,
.iss-visit-hours__badge--kind-extended,
.iss-visit-hours__badge--kind-reduced,
.iss-visit-hours__badge--kind-event_day,
.iss-visit-hours__badge--kind-by_appointment {
  background: rgba(235, 188, 30, 0.16);
  color: var(--iss-brown, #753a18);
}

/* .iss-visit-hours__summary: Element class for `iss-visit-hours`; apply on `summary` element. */
.iss-visit-hours__summary,
/* .iss-visit-hours__note: Element class for `iss-visit-hours`; apply on `note` element. */
.iss-visit-hours__note {
  margin: 0;
  color: var(--iss-visit-muted);
}

/* .iss-visit-hours__list: Element class for `iss-visit-hours`; apply on `list` element. */
.iss-visit-hours__list,
/* .iss-visit-exceptions__list: Element class for `iss-visit-exceptions`; apply on `list` element. */
.iss-visit-exceptions__list {
  display: grid;
  gap: var(--iss-visit-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* .iss-visit-hours__item: Element class for `iss-visit-hours`; apply on `item` element. */
.iss-visit-hours__item,
/* .iss-visit-exceptions__item: Element class for `iss-visit-exceptions`; apply on `item` element. */
.iss-visit-exceptions__item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

/* .iss-visit-hours__item: Element class for `iss-visit-hours`; apply on `item` element. */
.iss-visit-hours__item:last-child,
/* .iss-visit-exceptions__item: Element class for `iss-visit-exceptions`; apply on `item` element. */
.iss-visit-exceptions__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

/* .iss-visit-hours__days: Element class for `iss-visit-hours`; apply on `days` element. */
.iss-visit-hours__days,
/* .iss-visit-exceptions__date: Element class for `iss-visit-exceptions`; apply on `date` element. */
.iss-visit-exceptions__date {
  font-weight: 700;
}

/* .iss-visit-hours__times: Element class for `iss-visit-hours`; apply on `times` element. */
.iss-visit-hours__times,
/* .iss-visit-exceptions__time: Element class for `iss-visit-exceptions`; apply on `time` element. */
.iss-visit-exceptions__time {
  text-align: right;
  color: var(--iss-visit-muted);
}

/* .iss-visit-hours--inline: Modifier class for `iss-visit-hours`; combine for `inline` variant. */
.iss-visit-hours--inline {
  padding: 0;
  border: 0;
  background: transparent;
}

/* .iss-visit-hours--inline: Modifier class for `iss-visit-hours`; combine for `inline` variant. */
/* .iss-visit-hours__title: Element class for `iss-visit-hours`; apply on `title` element. */
.iss-visit-hours--inline .iss-visit-hours__title {
  display: inline;
  margin-right: 0.35rem;
}

@media (max-width: 782px) {
/* .iss-visit-info__grid: Element class for `iss-visit-info`; apply on `grid` element. */
  .iss-visit-info__grid {
    grid-template-columns: 1fr;
  }

/* .iss-visit-hours__item: Element class for `iss-visit-hours`; apply on `item` element. */
  .iss-visit-hours__item,
/* .iss-visit-exceptions__item: Element class for `iss-visit-exceptions`; apply on `item` element. */
  .iss-visit-exceptions__item {
    flex-direction: column;
    align-items: flex-start;
  }

/* .iss-visit-hours__times: Element class for `iss-visit-hours`; apply on `times` element. */
  .iss-visit-hours__times,
/* .iss-visit-exceptions__time: Element class for `iss-visit-exceptions`; apply on `time` element. */
  .iss-visit-exceptions__time {
    text-align: left;
  }

/* .iss-visitor-card__item: Element class for `iss-visitor-card`; apply on `item` element. */
  .iss-visitor-card__item {
    grid-template-columns: 1fr;
  }

/* .iss-visitor-card__item-action: Element class for `iss-visitor-card`; apply on `item-action` element. */
  .iss-visitor-card__item-action {
    margin-top: 0.25rem;
  }

/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
  .iss-visit-hours__table th:nth-child(3),
/* .iss-visit-hours__table: Element class for `iss-visit-hours`; apply on `table` element. */
  .iss-visit-hours__table td:nth-child(3) {
    text-align: right;
  }

/* .iss-visit-card: Base class for iss visit card; apply on primary wrapper/scope. */
  .iss-visit-card {
    height: auto;
  }
}

/* =========================================================
   GROUP: INFO PANEL COMPONENT
   PURPOSE:
   Quiet boxed information surface used for practical details, short
   notes, and supporting content blocks.

   USE THIS WHEN:
   - Content needs a soft framed treatment without becoming a full card
     grid or hero note.
   ========================================================= */
/* =====================================================================
   INFO PANEL – COMPACT / LEFT ALIGNED
   Left-aligned content block with right-aligned action buttons

   Switch color (key feature)

Optional component-local accent:

iss-info-panel--red
iss-info-panel--green
iss-info-panel--blue
iss-info-panel--yellow
iss-info-panel--brown

   Page wrappers remain the default accent source. Use these modifiers only
   when a panel must intentionally diverge from the surrounding page scheme.
   ===================================================================== */

/* .iss-info-panel: Base class for iss info panel; apply on primary wrapper/scope. */
.iss-info-panel {
  --iss-info-accent: var(--iss-accent);
  --iss-info-rule: var(--iss-info-accent);
  --iss-kicker-accent: var(--iss-info-accent);
  --iss-kicker-color: var(--iss-surface-fg, var(--iss-black));
  --iss-link-fg: var(--iss-info-accent);
  --iss-link-hover-fg: var(--iss-black);
  --iss-button-accent: var(--iss-info-accent);
  --iss-button-border: rgba(30, 30, 30, 0.14);
  --iss-button-fill-bg: white;
  --iss-button-fill-border: white;
  --iss-button-hover-bg: white;
  --iss-button-hover-border: var(--iss-info-accent);
  --iss-info-panel-shell-pad: clamp(1.4rem, 2vw, 1.9rem);
  --iss-info-panel-shell-border: 0;
  --iss-info-panel-shell-border-left: 4px solid var(--iss-info-accent);
  --iss-info-panel-shell-radius: 0;
  --iss-info-panel-shell-bg: var(--iss-white);
  --iss-info-panel-shell-shadow: none;
  --iss-info-panel-grid-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
  --iss-info-panel-grid-gap: clamp(1.75rem, 2.2vw, 3rem);
  --iss-info-panel-title-pad-inline-end: clamp(1rem, 2vw, 2rem);
  --iss-info-panel-title-size: clamp(2.1rem, 2.5vw, 3.35rem);
  --iss-info-panel-row-gap: 1.25rem;
  --iss-info-panel-heading-gap: 0.5rem;
  --iss-info-panel-stack-gap: 0.75rem;

  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--iss-info-panel-stack-gap);
  width: 100%;
  padding: var(--iss-info-panel-shell-pad);
  border: var(--iss-info-panel-shell-border);
  border-left: var(--iss-info-panel-shell-border-left);
  border-radius: var(--iss-info-panel-shell-radius);
  background: var(--iss-info-panel-shell-bg);
  box-shadow: var(--iss-info-panel-shell-shadow);
  text-align: left;
}

@supports (color: color-mix(in srgb, red, blue)) {
  .iss-info-panel {
    --iss-info-rule: color-mix(in srgb, var(--iss-info-accent) 58%, white 42%);
    --iss-button-border: color-mix(in srgb, var(--iss-info-accent) 14%, rgba(30, 30, 30, 0.14) 86%);
    --iss-button-fill-bg: color-mix(in srgb, var(--iss-info-accent) 12%, white 88%);
    --iss-button-fill-border: color-mix(in srgb, var(--iss-info-accent) 24%, white 76%);
    --iss-button-hover-bg: color-mix(in srgb, var(--iss-info-accent) 16%, white 84%);
  }
}

/* Modifier for panels inside narrow columns (e.g. tour asides) */
.iss-info-panel--full-width {
  width: 100%;
}

/* .iss-info-panel__grid: Element class for `iss-info-panel`; apply on `grid` element. */
.iss-info-panel__grid {
  display: grid;
  grid-template-columns: var(--iss-info-panel-grid-columns);
  gap: var(--iss-info-panel-grid-gap);
  align-items: start;
}

/* .iss-info-panel__title-col: Element class for `iss-info-panel`; apply on `title-col` element. */
.iss-info-panel__title-col,
/* .iss-info-panel__rows-col: Element class for `iss-info-panel`; apply on `rows-col` element. */
.iss-info-panel__rows-col {
  min-width: 0;
  align-self: stretch;
}

/* .iss-info-panel__title-col: Element class for `iss-info-panel`; apply on `title-col` element. */
.iss-info-panel__title-col {
  display: flex;
  align-items: stretch;
  padding-inline-end: var(--iss-info-panel-title-pad-inline-end);
}

/* .iss-info-panel__rows-col: Element class for `iss-info-panel`; apply on `rows-col` element. */
.iss-info-panel__rows-col {
  text-align: left;
  border-top: 1px solid var(--iss-info-rule);
  padding-top: 0.8rem;
}

.iss-info-panel__heading,
.iss-info-panel__title-col > .iss-heading {
  --iss-heading-max-width: none;

  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--iss-info-panel-heading-gap);
  width: 100%;
  min-height: 100%;
}

.iss-info-panel__heading > .iss-kicker,
.iss-info-panel__title-col > .iss-heading > .iss-kicker {
  margin: 0 0 0.35rem;
}

/* .iss-info-panel__title: Element class for `iss-info-panel`; apply on `title` element. */
.iss-info-panel__heading > .iss-heading__title,
.iss-info-panel__title-col > .iss-heading > .iss-heading__title,
.iss-info-panel__title {
  margin: 0;
  font-size: var(--iss-info-panel-title-size);
  line-height: 0.96;
  letter-spacing: -0.03em;
  text-wrap: balance;
  hyphens: auto;
  overflow-wrap: anywhere;
}

/* .iss-info-panel__intro: Element class for `iss-info-panel`; apply on `intro` element. */
.iss-info-panel__heading > .iss-heading__text,
.iss-info-panel__title-col > .iss-heading > .iss-heading__text,
.iss-info-panel__intro {
  margin: 0;
  color: var(--iss-heading-text-color, var(--iss-grey));
  font-size: 1rem;
  line-height: 1.5;
}

/* .iss-info-panel__rows: Element class for `iss-info-panel`; apply on `rows` element. */
.iss-info-panel__rows {
  display: grid;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0;
}

/* .iss-info-panel__rows: Element class for `iss-info-panel`; apply on `rows` element. */
/* .iss-info-row: Base class for iss info row; apply on primary wrapper/scope. */
.iss-info-panel__rows > .iss-info-row {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* .iss-info-row: Base class for iss info row; apply on primary wrapper/scope. */
.iss-info-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-items: stretch;
  gap: var(--iss-info-panel-row-gap);
  padding: 0.8rem 0;
  border-top: 1px solid var(--iss-info-rule);
}

/* .iss-info-row: Base class for iss info row; apply on primary wrapper/scope. */
.iss-info-row:first-child {
  padding-top: 0.05rem;
}

/* .iss-info-panel__rows-col: Element class for `iss-info-panel`; apply on `rows-col` element. */
/* .iss-info-row: Base class for iss info row; apply on primary wrapper/scope. */
.iss-info-panel__rows-col .iss-info-row:first-child {
  border-top: 0;
}

/* .iss-info-row__main: Element class for `iss-info-row`; apply on `main` element. */
.iss-info-row__main {
  width: 100%;
  min-width: 0;
  text-align: left;
  max-width: none;
  margin: 0;
}

/* .iss-info-row__text: Element class for `iss-info-row`; apply on `text` element. */
.iss-info-row__text {
  margin: 0;
  color: var(--iss-black);
  font-size: clamp(1rem, 0.96rem + 0.24vw, 1.16rem);
  line-height: 1.18;
  text-align: left;
}

/* .iss-info-row__text: Element class for `iss-info-row`; apply on `text` element. */
.iss-info-row__text strong {
  font-weight: 700;
}

/* .iss-info-row__text: Element class for `iss-info-row`; apply on `text` element. */
.iss-info-row__text a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition:
    color var(--iss-transition),
    border-color var(--iss-transition);
}

/* .iss-info-row__text: Element class for `iss-info-row`; apply on `text` element. */
.iss-info-row__text a:hover,
/* .iss-info-row__text: Element class for `iss-info-row`; apply on `text` element. */
.iss-info-row__text a:focus-visible {
  color: var(--iss-info-accent);
  border-bottom-color: currentColor;
}

/* .iss-info-row__actions: Element class for `iss-info-row`; apply on `actions` element. */
.iss-info-row__actions {
  justify-self: end;
  align-self: center;
  margin: 0;
}

/* .iss-info-row__actions: Element class for `iss-info-row`; apply on `actions` element. */
/* .wp-block-buttons: Base class for wp block buttons; apply on primary wrapper/scope. */
.iss-info-row__actions .wp-block-buttons {
  display: flex;
  width: 100%;
  margin: 0;
  justify-content: flex-end;
}

/* .iss-info-row__button: Element class for `iss-info-row`; apply on `button` element. */
.iss-info-row__button {
  margin: 0;
}

/* .iss-info-row__button: Element class for `iss-info-row`; apply on `button` element. */
/* .wp-block-button__link: Element class for `wp-block-button`; apply on `link` element. */
.iss-info-row__button .wp-block-button__link {
  min-width: 0;
  justify-content: center;
}

/* .iss-info-panel--red: Modifier class for `iss-info-panel`; combine for `red` variant. */
.iss-info-panel--red { --iss-info-accent: var(--iss-red); }
/* .iss-info-panel--green: Modifier class for `iss-info-panel`; combine for `green` variant. */
.iss-info-panel--green { --iss-info-accent: var(--iss-green); }
/* .iss-info-panel--blue: Modifier class for `iss-info-panel`; combine for `blue` variant. */
.iss-info-panel--blue { --iss-info-accent: var(--iss-blue); }
/* .iss-info-panel--yellow: Modifier class for `iss-info-panel`; combine for `yellow` variant. */
.iss-info-panel--yellow { --iss-info-accent: var(--iss-yellow); }
/* .iss-info-panel--brown: Modifier class for `iss-info-panel`; combine for `brown` variant. */
.iss-info-panel--brown { --iss-info-accent: var(--iss-brown); }

.iss-info-panel--skin-plain {
  --iss-info-panel-shell-pad: 0;
  --iss-info-panel-shell-border: 0;
  --iss-info-panel-shell-border-left: 0;
  --iss-info-panel-shell-radius: 0;
  --iss-info-panel-shell-bg: transparent;
  --iss-info-panel-shell-shadow: none;
}

.iss-info-panel--skin-compact {
  --iss-info-panel-grid-columns: 1fr;
  --iss-info-panel-grid-gap: 0.75rem;
  --iss-info-panel-title-pad-inline-end: 0;
  --iss-info-panel-title-size: clamp(1.15rem, 1rem + 0.45vw, 1.55rem);
  --iss-info-panel-row-gap: 0.85rem;
  --iss-info-panel-heading-gap: 0.35rem;
  --iss-info-panel-stack-gap: 0.55rem;
  --iss-info-panel-shell-pad: clamp(1rem, 1.6vw, 1.3rem);
}

.iss-info-panel--skin-aside {
  --iss-info-panel-grid-columns: 1fr;
  --iss-info-panel-grid-gap: 0.85rem;
  --iss-info-panel-title-pad-inline-end: 0;
  --iss-info-panel-title-size: clamp(1.25rem, 1rem + 0.7vw, 1.85rem);
  --iss-info-panel-heading-gap: 0.4rem;
  --iss-info-panel-stack-gap: 0.65rem;
  --iss-info-panel-shell-pad: clamp(1.1rem, 2vw, 1.5rem);
}

.iss-info-panel--skin-menu,
.iss-control-info-panel--skin-menu {
  --iss-info-panel-grid-columns: 1fr;
  --iss-info-panel-grid-gap: 0.6rem;
  --iss-info-panel-title-pad-inline-end: 0;
  --iss-info-panel-title-size: 0.82rem;
  --iss-info-panel-row-gap: 0.8rem;
  --iss-info-panel-heading-gap: 0.2rem;
  --iss-info-panel-stack-gap: 0.45rem;
  --iss-info-panel-shell-pad: 0.95rem 1rem;
  --iss-info-panel-shell-border: 0;
  --iss-info-panel-shell-border-left: 0;
  --iss-info-panel-shell-radius: 0;
  --iss-info-panel-shell-bg: transparent;
  --iss-info-panel-shell-shadow: none;
}

.iss-info-panel--surface-light,
.iss-control-info-panel--surface-light {
  background: var(--iss-white);
  color: var(--iss-black);
}

.iss-info-panel--surface-light .iss-info-panel__title,
.iss-control-info-panel--surface-light .iss-info-panel__title {
  color: var(--iss-black);
}

.iss-info-panel--surface-light .iss-control-info-panel__kicker,
.iss-control-info-panel--surface-light .iss-control-info-panel__kicker {
  color: var(--iss-surface-fg, var(--iss-black));
  border-left-color: var(--iss-info-accent);
}

.iss-info-panel--surface-dark,
.iss-control-info-panel--surface-dark {
  --iss-link-fg: var(--iss-white);
  --iss-link-hover-fg: var(--iss-white);
  --iss-button-fg: var(--iss-white);
  --iss-button-bg: transparent;
  --iss-button-fill-bg: rgba(249, 249, 250, 0.08);
  --iss-button-border: rgba(249, 249, 250, 0.42);
  --iss-button-fill-border: rgba(249, 249, 250, 0.58);
  --iss-button-hover-bg: rgba(249, 249, 250, 0.12);
  --iss-button-hover-border: rgba(249, 249, 250, 0.72);
  --iss-button-hover-fg: var(--iss-white);
  --iss-info-panel-shell-border: 0;
  --iss-info-panel-shell-border-left: 4px solid var(--iss-info-accent);
  --iss-info-panel-shell-bg: var(--iss-black);
  color: var(--iss-white);
}

/* Shared dark method grid used by Projekte and Repair Cafe. */
.iss-method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(2rem, 4vw, 4rem);
  border: 1px solid rgba(249, 249, 250, 0.18);
  background: rgba(249, 249, 250, 0.18);
}

.iss-method-item {
  min-height: 15rem;
  margin-block-start: 0;
  padding: clamp(1.25rem, 2vw, 2rem);
  background: var(--iss-black);
}

.iss-method-item__number {
  display: block;
  margin-bottom: 2rem;
  color: var(--iss-accent);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.iss-method-item__title {
  margin: 0 0 0.75rem;
  color: var(--iss-white);
  font-size: clamp(1.25rem, 1.2vw, 1.75rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.iss-method-item__text {
  margin: 0;
  color: rgba(249, 249, 250, 0.72);
  font-size: 0.98rem;
  line-height: 1.55;
}

.iss-info-panel--surface-dark .iss-info-panel__title,
.iss-info-panel--surface-dark .iss-info-panel__intro,
.iss-info-panel--surface-dark .iss-info-row__text,
.iss-info-panel--surface-dark .iss-info-row__text strong,
.iss-control-info-panel--surface-dark .iss-info-panel__title,
.iss-control-info-panel--surface-dark .iss-info-panel__intro,
.iss-control-info-panel--surface-dark .iss-info-row__text,
.iss-control-info-panel--surface-dark .iss-info-row__text strong {
  color: var(--iss-white);
}

.iss-info-panel--surface-dark .iss-control-info-panel__kicker,
.iss-control-info-panel--surface-dark .iss-control-info-panel__kicker {
  color: color-mix(in srgb, var(--iss-info-accent) 78%, var(--iss-white) 22%);
  border-left-color: var(--iss-info-accent);
}

.iss-control-info-panel__kicker::before {
  background: var(--iss-info-accent);
  border-color: var(--iss-info-accent);
}

.iss-info-panel--surface-dark .iss-info-panel__rows-col,
.iss-info-panel--surface-dark .iss-info-row,
.iss-control-info-panel--surface-dark .iss-info-panel__rows-col,
.iss-control-info-panel--surface-dark .iss-info-row {
  border-color: color-mix(in srgb, var(--iss-white) 18%, transparent);
}

.iss-control-info-panel__kicker {
  margin-bottom: 0.75rem;
}

.iss-control-info-panel__row .iss-info-row__text {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
}

.iss-control-info-panel__icon {
  display: none;
}

.iss-control-info-panel__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.iss-control-info-panel__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.iss-control-info-panel__copy {
  flex: 1 1 auto;
  min-width: 0;
}

.iss-control-info-panel__subline {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.92rem;
  line-height: 1.45;
}

.iss-control-info-panel__subline--exception {
  padding: 0.35rem 0.55rem;
  border-left: 3px solid var(--iss-info-accent);
  background: color-mix(in srgb, var(--iss-info-accent) 10%, transparent);
}

.iss-control-info-panel__subline-label {
  font-weight: 700;
}

.iss-control-info-panel__row--contact .iss-control-info-panel__copy > strong {
  display: block;
}

.iss-control-info-panel__subline--contact {
  margin-top: 0.35rem;
}

.iss-control-info-panel__row--contact .iss-control-info-panel__subline a {
  color: inherit;
}

.iss-control-info-panel__action-link {
  margin: 0;
}

.iss-control-info-panel__action-link .iss-action-link {
  display: inline-flex;
  align-items: center;
}

/* .iss-control-info-panel--skin-menu: Compact single-column visit-info skin for the off-canvas menu shell. */
/* .iss-control-info-panel--skin-menu .iss-control-info-panel__kicker: Optional kicker stays understated in the menu skin. */
.iss-info-panel--skin-menu .iss-control-info-panel__kicker,
.iss-control-info-panel--skin-menu .iss-control-info-panel__kicker {
  margin-bottom: 0.35rem;
  color: rgba(249, 249, 250, 0.58);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
}

/* .iss-control-info-panel--skin-menu .iss-info-panel__title-col: Remove the dedicated left-column feel in the menu shell. */
.iss-info-panel--skin-menu .iss-info-panel__title-col,
.iss-control-info-panel--skin-menu .iss-info-panel__title-col {
  display: grid;
  gap: 0.2rem;
}

/* .iss-control-info-panel--skin-menu .iss-info-panel__title: Keep title small enough to sit under main navigation. */
.iss-info-panel--skin-menu .iss-info-panel__title,
.iss-control-info-panel--skin-menu .iss-info-panel__title {
  margin: 0;
  color: var(--iss-white);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

/* .iss-control-info-panel--skin-menu .iss-info-panel__intro: Quiet optional intro copy for compact menu use. */
.iss-info-panel--skin-menu .iss-info-panel__intro,
.iss-control-info-panel--skin-menu .iss-info-panel__intro {
  color: rgba(249, 249, 250, 0.7);
  font-size: 0.74rem;
  line-height: 1.35;
}

/* .iss-control-info-panel--skin-menu .iss-info-panel__rows: Tighten row rhythm for drawer-height constraints. */
.iss-info-panel--skin-menu .iss-info-panel__rows,
.iss-control-info-panel--skin-menu .iss-info-panel__rows {
  gap: 0.5rem;
}

/* .iss-control-info-panel--skin-menu .iss-info-row: Reduce row padding and keep panel compact. */
.iss-info-panel--skin-compact .iss-info-row,
.iss-info-panel--skin-menu .iss-info-row,
.iss-control-info-panel--skin-menu .iss-info-row {
  padding-top: 0.5rem;
}

/* .iss-control-info-panel--skin-menu .iss-info-row__text: Small readable copy for menu-shell utility content. */
.iss-info-panel--skin-compact .iss-info-row__text,
.iss-info-panel--skin-menu .iss-info-row__text,
.iss-control-info-panel--skin-menu .iss-info-row__text {
  font-size: 0.78rem;
  line-height: 1.35;
}

.iss-info-panel--skin-compact .iss-control-info-panel__subline--contact,
.iss-info-panel--skin-menu .iss-control-info-panel__subline--contact,
.iss-control-info-panel--skin-menu .iss-control-info-panel__subline--contact {
  font-size: inherit;
  line-height: inherit;
}

/* .iss-control-info-panel--skin-menu .iss-control-info-panel__icon: Scale icons to the compact menu rhythm. */
.iss-info-panel--skin-menu .iss-control-info-panel__icon,
.iss-control-info-panel--skin-menu .iss-control-info-panel__icon {
  width: 0.9rem;
  height: 0.9rem;
  flex-basis: 0.9rem;
}

/* .iss-control-info-panel--skin-menu .iss-contact-card--compact-row: Additional contact info line for the compact menu panel. */
.iss-info-panel--skin-menu .iss-contact-card--compact-row,
.iss-control-info-panel--skin-menu .iss-contact-card--compact-row {
  color: rgba(249, 249, 250, 0.74);
  font-size: 0.72rem;
  line-height: 1.35;
}

/* .iss-control-info-panel--skin-menu .iss-contact-card__compact-label: Short inline label for compact menu contact info. */
.iss-info-panel--skin-menu .iss-contact-card__compact-label,
.iss-control-info-panel--skin-menu .iss-contact-card__compact-label {
  color: rgba(249, 249, 250, 0.58);
  font-weight: 700;
}

/* .iss-control-info-panel--skin-menu .iss-contact-card--compact-row a: Keep contact links readable inside the compact skin. */
.iss-info-panel--skin-menu .iss-contact-card--compact-row a,
.iss-control-info-panel--skin-menu .iss-contact-card--compact-row a {
  color: rgba(249, 249, 250, 0.88);
  text-decoration: none;
}

/* .iss-control-info-panel--skin-menu .iss-contact-card__separator: Muted separators for the compact contact row. */
.iss-info-panel--skin-menu .iss-contact-card__separator,
.iss-control-info-panel--skin-menu .iss-contact-card__separator {
  color: rgba(249, 249, 250, 0.42);
}

@media (max-width: 1080px) {
/* .iss-info-panel__title: Element class for `iss-info-panel`; apply on `title` element. */
  .iss-info-panel__title {
    font-size: clamp(1.9rem, 3.6vw, 2.8rem);
  }

/* .iss-info-row: Base class for iss info row; apply on primary wrapper/scope. */
  .iss-info-row {
    gap: 1rem;
  }
}

@media (max-width: 781px) {
/* .iss-info-panel__grid: Element class for `iss-info-panel`; apply on `grid` element. */
  .iss-info-panel__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .iss-info-panel__title-col {
    padding-inline-end: 0;
  }

/* .iss-info-panel__title: Element class for `iss-info-panel`; apply on `title` element. */
  .iss-info-panel__title {
    max-width: none;
    hyphens: none;
  }

/* .iss-info-panel__intro: Element class for `iss-info-panel`; apply on `intro` element. */
  .iss-info-panel__intro {
    max-width: none;
  }

/* .iss-info-row: Base class for iss info row; apply on primary wrapper/scope. */
  .iss-info-row {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0.65rem;
    padding: 0.9rem 0;
  }

/* .iss-info-row__actions: Element class for `iss-info-row`; apply on `actions` element. */
  .iss-info-row__actions {
    justify-self: stretch;
    width: 100%;
  }

/* .iss-info-row__actions: Element class for `iss-info-row`; apply on `actions` element. */
/* .wp-block-buttons: Base class for wp block buttons; apply on primary wrapper/scope. */
  .iss-info-row__actions .wp-block-buttons {
    width: 100%;
    justify-content: flex-end;
  }

/* .iss-info-row__button: Element class for `iss-info-row`; apply on `button` element. */
  .iss-info-row__button {
    width: auto;
    margin-left: auto;
  }

/* .iss-info-row__button: Element class for `iss-info-row`; apply on `button` element. */
/* .wp-block-button__link: Element class for `wp-block-button`; apply on `link` element. */
  .iss-info-row__button .wp-block-button__link {
    width: auto;
    text-align: center;
  }

  .iss-control-info-panel__row .iss-info-row__text {
    gap: 0.75rem;
  }
}


/* =========================================================
   GROUP: FEATURE SPLIT STACK
   PURPOSE:
   Structured two-part editorial feature blocks where media and text
   stack in a controlled asymmetric composition.

   USE THIS WHEN:
   - A landing page needs richer storytelling than a simple 50-50 split.
   ========================================================= */
/* =====================================================================
   FEATURE SPLIT STACKED MEDIA
   Left text, right compact 3-image row aligned closer to text.
   ===================================================================== */

/* .iss-section--feature-split-stack: Modifier class for `iss-section`; combine for `feature-split-stack` variant. */
.iss-section--feature-split-stack,
/* .iss-section--feature-split: Modifier class for `iss-section`; combine for `feature-split` variant. */
.iss-section--feature-split {
  position: relative;
  overflow: hidden;
  --iss-feature-stack-gap: clamp(0.5rem, 1.2vw, 0.9rem);
  --iss-feature-stack-media-gap: 0.75rem;
}

/* .iss-feature-stack: Base class for iss feature stack; apply on primary wrapper/scope. */
.iss-feature-stack {
  display: flex;
  align-items: stretch;
  gap: var(--iss-feature-stack-gap);
  column-gap: var(--iss-feature-stack-gap);
  row-gap: 0;
}

/* .iss-feature-stack: Base class for iss feature stack; apply on primary wrapper/scope. */
/* .wp-block-column: Base class for wp block column; apply on primary wrapper/scope. */
.iss-feature-stack > .wp-block-column {
  min-width: 0;
}

/* .iss-feature-stack__content: Element class for `iss-feature-stack`; apply on `content` element. */
.iss-feature-stack__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  flex-basis: 33%;
}

/* .iss-feature-stack__content: Element class for `iss-feature-stack`; apply on `content` element. */
.iss-feature-stack__content > * {
  margin-top: 0;
}

/* .iss-feature-stack__title: Element class for `iss-feature-stack`; apply on `title` element. */
.iss-feature-stack__title {
  margin: 0;
  font-size: clamp(1.55rem, 1.2rem + 1vw, 2.15rem);
  line-height: 1.12;
  max-width: 12ch;
}

/* .iss-feature-stack__text: Element class for `iss-feature-stack`; apply on `text` element. */
.iss-feature-stack__text {
  margin: 0;
}

/* .iss-feature-stack__content: Element class for `iss-feature-stack`; apply on `content` element. */
/* .iss-kicker: Base class for iss kicker; apply on primary wrapper/scope. */
.iss-feature-stack__content .iss-kicker {
  margin: 0 0 0.5rem 0;
}

/* .iss-feature-stack__actions: Element class for `iss-feature-stack`; apply on `actions` element. */
.iss-feature-stack__actions {
  margin-top: auto;
  width: 100%;
  justify-content: flex-end;
}

/* .iss-feature-stack__media-col: Element class for `iss-feature-stack`; apply on `media-col` element. */
.iss-feature-stack__media-col {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
  align-self: stretch;
  min-height: 0;
  gap: 1rem;
  flex-basis: 67%;
}

.iss-feature-stack--enhanced .iss-feature-stack__content {
  flex-basis: 37%;
}

.iss-feature-stack--enhanced .iss-feature-stack__media-col {
  flex-basis: 63%;
}

/* .iss-feature-stack__media-grid: Element class for `iss-feature-stack`; apply on `media-grid` element. */
.iss-feature-stack__media-grid {
  display: flex;
  flex-direction: row;
  gap: var(--iss-feature-stack-media-gap);
  width: 100%;
  max-width: none;
  min-height: clamp(18rem, 28vw, 24rem);
  margin-left: 0;
  margin-right: 0;
  align-items: stretch;
}

/* .iss-feature-stack__media: Element class for `iss-feature-stack`; apply on `media` element. */
.iss-feature-stack__media {
  margin: 0;
  position: relative;
  overflow: hidden;
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  min-height: 0;
  aspect-ratio: 3 / 4;
  background: rgba(30, 30, 30, 0.04);
}

/* .iss-feature-stack__media--primary: Element class for `iss-feature-stack`; apply on `media--primary` element. */
.iss-feature-stack__media--primary {
  flex: 1 1 0;
}

/* .iss-feature-stack__media--secondary: Element class for `iss-feature-stack`; apply on `media--secondary` element. */
.iss-feature-stack__media--secondary {
  flex: 1 1 0;
}

/* .iss-feature-stack__media--detail: Element class for `iss-feature-stack`; apply on `media--detail` element. */
.iss-feature-stack__media--detail {
  flex: 1 1 0;
}

/* .iss-feature-stack__media: Element class for `iss-feature-stack`; apply on `media` element. */
.iss-feature-stack__media > .wp-block-image,
.iss-feature-stack__media > figure,
.iss-feature-stack__image {
  width: 100%;
  height: 100%;
  margin: 0;
}

/* .iss-feature-stack__media: Element class for `iss-feature-stack`; apply on `media` element. */
.iss-feature-stack__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* .iss-feature-stack__media-copy: Element class for `iss-feature-stack`; apply on `media-copy` element. */
.iss-feature-stack__media-copy {
  max-width: 34rem;
}

/* .iss-feature-stack__media-copy: Element class for `iss-feature-stack`; apply on `media-copy` element. */
.iss-feature-stack__media-copy > * {
  margin-top: 0;
}

@media (max-width: 781px) {
  /*
    Mobile stack behavior:
    - Do not fight inline flex-basis from Columns with !important.
    - Switch container from flex to block so flex-basis is ignored naturally.
    - This keeps Gutenberg markup simple and avoids hard overrides.
  */
/* .iss-feature-stack: Base class for iss feature stack; apply on primary wrapper/scope. */
  .iss-feature-stack {
    display: block;
  }

  /* Both logical columns flow full-width in natural DOM order. */
/* .iss-feature-stack__content: Element class for `iss-feature-stack`; apply on `content` element. */
  .iss-feature-stack__content,
/* .iss-feature-stack__media-col: Element class for `iss-feature-stack`; apply on `media-col` element. */
  .iss-feature-stack__media-col {
    width: 100%;
    max-width: 100%;
    min-height: 0;
  }

  /* Replaces former flex gap once container is block. */
/* .iss-feature-stack__media-col: Element class for `iss-feature-stack`; apply on `media-col` element. */
  .iss-feature-stack__media-col {
    margin-top: 1.5rem;
    justify-content: flex-start;
  }

  /*
    Actions stay left-aligned and width-aware without forcing
    button widths globally.
  */
/* .iss-feature-stack__actions: Element class for `iss-feature-stack`; apply on `actions` element. */
  .iss-feature-stack__actions {
    width: 100%;
  }

/* .iss-feature-stack__actions: Element class for `iss-feature-stack`; apply on `actions` element. */
/* .wp-block-button: Base class for wp block button; apply on primary wrapper/scope. */
  .iss-feature-stack__actions .wp-block-button {
    width: auto;
  }

  /* Keep horizontal image-strip scroll interaction on narrow screens. */
/* .iss-feature-stack__media-grid: Element class for `iss-feature-stack`; apply on `media-grid` element. */
  .iss-feature-stack__media-grid {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    padding-bottom: 0.5rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

/* .iss-feature-stack__media: Element class for `iss-feature-stack`; apply on `media` element. */
  .iss-feature-stack__media {
    flex: 0 0 auto;
    width: 62vw;
    max-width: 16rem;
    height: 13rem;
    scroll-snap-align: start;
  }
}


/* =========================================================
   GROUP: 50-50 MEDIA TEXT
   PURPOSE:
   Balanced media/text split block with predictable height and alignment.

   USE THIS WHEN:
   - Editors need a safe, reusable image + copy composition.
   ========================================================= */
/* =====================================================================
   MEDIA TEXT PATTERN
   Text block + image block.

   HEIGHT CONTROLS
   Change these at the top as needed.
   ===================================================================== */

:root {
  --iss-media-text-section-min-height: 40svh;
  --iss-media-text-section-min-height-mobile: auto;
  --iss-media-text-media-min-height: auto;
  --iss-media-text-media-max-height: none;
  --iss-media-text-image-max-height: 80vh;
  --iss-media-text-image-fit: cover;
}

/* =====================================================================
   EDITOR / UTILITY OPTIONS
   - .iss-media-text--flip
   - .iss-media-text--40-60
   - .iss-media-text--45-55
   - .iss-media-text--50-50
   - .iss-media-text--55-45
   - .iss-media-text--60-40
   - .iss-media-text--gap-s
   - .iss-media-text--gap-m
   - .iss-media-text--gap-l
   - .iss-media-text--gap-xl
   ===================================================================== */

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
.iss-media-text {
  --iss-media-text-content-basis: 40%;
  --iss-media-text-media-basis: 60%;
  --iss-media-text-gap: var(--iss-gap, 1.5rem);

  overflow: clip;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-container: Base class for iss container; apply on primary wrapper/scope. */
.iss-media-text .iss-container {
  min-height: var(--iss-media-text-section-min-height);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__layout: Element class for `iss-media-text`; apply on `layout` element. */
.iss-media-text .iss-media-text__layout {
  margin-top: 1rem;
  align-items: flex-start;
  gap: var(--iss-media-text-gap);
  column-gap: var(--iss-media-text-gap);
  row-gap: var(--iss-media-text-gap);
  flex: 1 1 auto;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__content: Element class for `iss-media-text`; apply on `content` element. */
.iss-media-text .iss-media-text__content,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media-col: Element class for `iss-media-text`; apply on `media-col` element. */
.iss-media-text .iss-media-text__media-col {
  min-width: 0;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__content: Element class for `iss-media-text`; apply on `content` element. */
.iss-media-text .iss-media-text__content {
  align-self: flex-start;
  flex: 0 1 var(--iss-media-text-content-basis);
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media-col: Element class for `iss-media-text`; apply on `media-col` element. */
.iss-media-text .iss-media-text__media-col {
  align-self: stretch;
  flex: 0 1 var(--iss-media-text-media-basis);
  display: flex;
  min-height: 0;
}

/* Stronger than Gutenberg columns defaults, without !important */
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__layout: Element class for `iss-media-text`; apply on `layout` element. */
/* .wp-block-columns: Base class for wp block columns; apply on primary wrapper/scope. */
/* .iss-media-text__content: Element class for `iss-media-text`; apply on `content` element. */
/* .wp-block-column: Base class for wp block column; apply on primary wrapper/scope. */
.iss-media-text .iss-media-text__layout.wp-block-columns > .iss-media-text__content.wp-block-column {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: var(--iss-media-text-content-basis);
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__layout: Element class for `iss-media-text`; apply on `layout` element. */
/* .wp-block-columns: Base class for wp block columns; apply on primary wrapper/scope. */
/* .iss-media-text__media-col: Element class for `iss-media-text`; apply on `media-col` element. */
/* .wp-block-column: Base class for wp block column; apply on primary wrapper/scope. */
.iss-media-text .iss-media-text__layout.wp-block-columns > .iss-media-text__media-col.wp-block-column {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: var(--iss-media-text-media-basis);
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__inner: Element class for `iss-media-text`; apply on `inner` element. */
.iss-media-text .iss-media-text__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.75rem;
  min-height: 0;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__title: Element class for `iss-media-text`; apply on `title` element. */
.iss-media-text .iss-media-text__title,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__text: Element class for `iss-media-text`; apply on `text` element. */
.iss-media-text .iss-media-text__text,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__actions: Element class for `iss-media-text`; apply on `actions` element. */
.iss-media-text .iss-media-text__actions {
  margin: 0;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__actions: Element class for `iss-media-text`; apply on `actions` element. */
/* .wp-block-buttons: Base class for wp block buttons; apply on primary wrapper/scope. */
.iss-media-text .iss-media-text__actions .wp-block-buttons,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .wp-block-buttons: Base class for wp block buttons; apply on primary wrapper/scope. */
.iss-media-text .wp-block-buttons {
  justify-content: flex-start;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
.iss-media-text .iss-media-text__media,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
/* .wp-block-group: Base class for wp block group; apply on primary wrapper/scope. */
.iss-media-text .iss-media-text__media.wp-block-group,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
/* .wp-block-image: Base class for wp block image; apply on primary wrapper/scope. */
.iss-media-text .iss-media-text__media.wp-block-image {
  margin: 0;
  width: 100%;
  min-height: var(--iss-media-text-media-min-height);
  max-height: var(--iss-media-text-media-max-height);
  height: auto;
  display: flex;
  flex-direction: column;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__image: Element class for `iss-media-text`; apply on `image` element. */
.iss-media-text .iss-media-text__image,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__image: Element class for `iss-media-text`; apply on `image` element. */
/* .wp-block-image: Base class for wp block image; apply on primary wrapper/scope. */
.iss-media-text .iss-media-text__image.wp-block-image,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__image: Element class for `iss-media-text`; apply on `image` element. */
.iss-media-text .iss-media-text__image figure {
  margin: 0;
  width: 100%;
  height: 100%;
  align-self: flex-start;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
.iss-media-text .iss-media-text__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: var(--iss-media-text-image-max-height);
  object-fit: var(--iss-media-text-image-fit);
  border-radius: var(--iss-radius-lg);
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; use when the heading should live inside the media card instead of above the columns.
   Admin note: add this class to the section wrapper and move `.iss-media-text__heading` into `.iss-media-text__media`
   so the overlay is scoped to one section and does not depend on global `.section--alt` overrides. */
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__layout {
  margin-top: 0;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__media {
  position: relative;
  overflow: hidden;
  justify-content: flex-end;
  border-radius: var(--iss-radius-lg);
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant.
   Reuse the same overlay gradient as the hero cover block without duplicating the gradient definition. */
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--iss-hero-overlay);
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant. */
/* .iss-media-text__heading: Element class for `iss-media-text`; apply on `heading` element.
   Admin note: this stays inside the media card for this variant so the image becomes the positioning context. */
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__heading {
  position: absolute;
  inset: 0 auto auto 0;
  z-index: 2;
  pointer-events: none;
  width: min(100%, 34rem);
  margin: 0;
  padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2rem) clamp(3rem, 7vw, 5rem);
  background: transparent;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant. */
/* .iss-kicker: Base class for kicker; apply on primary wrapper/scope. */
/* .iss-media-text__title: Element class for `iss-media-text`; apply on `title` element. */
/* .iss-media-text__text: Element class for `iss-media-text`; apply on `text` element. */
.iss-media-text.iss-media-text--overlay-heading .iss-kicker,
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__title,
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__text {
  color: var(--iss-white, #f9f9fa);
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant. */
/* .iss-media-text__image: Element class for `iss-media-text`; apply on `image` element. */
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: inherit;
  overflow: hidden;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant. */
/* .iss-media-text__image: Element class for `iss-media-text`; apply on `image` element. */
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__image.wp-block-image,
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__image figure {
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: inherit;
  overflow: hidden;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant.
   Fill the card area instead of sizing from the image's intrinsic aspect ratio. */
.iss-media-text.iss-media-text--overlay-heading .iss-media-text__image img {
  width: 100%;
  height: 100%;
  max-height: none;
  border-radius: inherit;
  object-fit: cover;
  object-position: top left;
}

/* Width utilities */
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--40-60: Modifier class for `iss-media-text`; combine for `40-60` variant. */
.iss-media-text.iss-media-text--40-60 {
  --iss-media-text-content-basis: 40%;
  --iss-media-text-media-basis: 60%;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--45-55: Modifier class for `iss-media-text`; combine for `45-55` variant. */
.iss-media-text.iss-media-text--45-55 {
  --iss-media-text-content-basis: 45%;
  --iss-media-text-media-basis: 55%;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--50-50: Modifier class for `iss-media-text`; combine for `50-50` variant. */
.iss-media-text.iss-media-text--50-50 {
  --iss-media-text-content-basis: 50%;
  --iss-media-text-media-basis: 50%;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--55-45: Modifier class for `iss-media-text`; combine for `55-45` variant. */
.iss-media-text.iss-media-text--55-45 {
  --iss-media-text-content-basis: 55%;
  --iss-media-text-media-basis: 45%;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--60-40: Modifier class for `iss-media-text`; combine for `60-40` variant. */
.iss-media-text.iss-media-text--60-40 {
  --iss-media-text-content-basis: 60%;
  --iss-media-text-media-basis: 40%;
}

/* Gap utilities */
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--gap-s: Modifier class for `iss-media-text`; combine for `gap-s` variant. */
.iss-media-text.iss-media-text--gap-s {
  --iss-media-text-gap: 0.75rem;
}
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media--gap-s: Modifier class for `iss-media`; combine for `gap-s` variant. */
.iss-media-text.iss-media--gap-s {
  --iss-media-text-gap: 0.75rem;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--gap-m: Modifier class for `iss-media-text`; combine for `gap-m` variant. */
.iss-media-text.iss-media-text--gap-m {
  --iss-media-text-gap: 1rem;
}
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media--gap-m: Modifier class for `iss-media`; combine for `gap-m` variant. */
.iss-media-text.iss-media--gap-m {
  --iss-media-text-gap: 1rem;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--gap-l: Modifier class for `iss-media-text`; combine for `gap-l` variant. */
.iss-media-text.iss-media-text--gap-l {
  --iss-media-text-gap: 1.5rem;
}
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media--gap-l: Modifier class for `iss-media`; combine for `gap-l` variant. */
.iss-media-text.iss-media--gap-l {
  --iss-media-text-gap: 1.5rem;
}

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--gap-xl: Modifier class for `iss-media-text`; combine for `gap-xl` variant. */
.iss-media-text.iss-media-text--gap-xl {
  --iss-media-text-gap: 2rem;
}
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media--gap-xl: Modifier class for `iss-media`; combine for `gap-xl` variant. */
.iss-media-text.iss-media--gap-xl {
  --iss-media-text-gap: 2rem;
}

@media (min-width: 782px) {
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__layout: Element class for `iss-media-text`; apply on `layout` element. */
  .iss-media-text .iss-media-text__layout {
    flex-wrap: nowrap !important;
    align-items: flex-start;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
  .iss-media-text.iss-media-text--overlay-heading .iss-media-text__media {
    min-height: max(32rem, var(--iss-media-text-media-min-height));
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--flip: Modifier class for `iss-media-text`; combine for `flip` variant. */
/* .iss-media-text__content: Element class for `iss-media-text`; apply on `content` element. */
  .iss-media-text.iss-media-text--flip .iss-media-text__content {
    order: 2;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--flip: Modifier class for `iss-media-text`; combine for `flip` variant. */
/* .iss-media-text__media-col: Element class for `iss-media-text`; apply on `media-col` element. */
  .iss-media-text.iss-media-text--flip .iss-media-text__media-col {
    order: 1;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__content: Element class for `iss-media-text`; apply on `content` element. */
/* .wp-block-group: Base class for wp block group; apply on primary wrapper/scope. */
  .iss-media-text .iss-media-text__content > .wp-block-group,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media-col: Element class for `iss-media-text`; apply on `media-col` element. */
/* .wp-block-group: Base class for wp block group; apply on primary wrapper/scope. */
  .iss-media-text .iss-media-text__media-col > .wp-block-group {
    height: auto;
  }
}

@media (max-width: 781px) {
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .section: Base class for section; apply on primary wrapper/scope. */
  .iss-media-text.section {
    padding-top: 1.35rem;
    padding-bottom: 1.35rem;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
  .iss-media-text {
    --iss-media-text-gap: 0.75rem;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-container: Base class for iss container; apply on primary wrapper/scope. */
  .iss-media-text .iss-container {
    min-height: var(--iss-media-text-section-min-height-mobile);
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__layout: Element class for `iss-media-text`; apply on `layout` element. */
  .iss-media-text .iss-media-text__layout {
    gap: var(--iss-media-text-gap);
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__content: Element class for `iss-media-text`; apply on `content` element. */
  .iss-media-text .iss-media-text__content,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media-col: Element class for `iss-media-text`; apply on `media-col` element. */
  .iss-media-text .iss-media-text__media-col {
    flex-basis: 100% !important;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__inner: Element class for `iss-media-text`; apply on `inner` element. */
  .iss-media-text .iss-media-text__inner,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
  .iss-media-text .iss-media-text__media img {
    min-height: 0;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__inner: Element class for `iss-media-text`; apply on `inner` element. */
  .iss-media-text .iss-media-text__inner {
    padding: 1.25rem 0;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
  .iss-media-text .iss-media-text__media,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
/* .wp-block-group: Base class for wp block group; apply on primary wrapper/scope. */
  .iss-media-text .iss-media-text__media.wp-block-group,
/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
/* .wp-block-image: Base class for wp block image; apply on primary wrapper/scope. */
  .iss-media-text .iss-media-text__media.wp-block-image {
    min-height: auto;
    max-height: none;
    height: auto;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text__media: Element class for `iss-media-text`; apply on `media` element. */
  .iss-media-text .iss-media-text__media img {
    aspect-ratio: 4 / 3;
    height: auto;
  }

/* .iss-media-text: Base class for iss media text; apply on primary wrapper/scope. */
/* .iss-media-text--overlay-heading: Modifier class for `iss-media-text`; combine for `overlay-heading` variant.
   Admin note: on mobile the heading remains over the image, but uses full width and shorter padding. */
  .iss-media-text.iss-media-text--overlay-heading .iss-media-text__heading {
    width: 100%;
    padding: 1.25rem 1rem 2.5rem;
  }
}


/* =========================================================
   GROUP: ASYMMETRIC FEATURE
   PURPOSE:
   Editorial layout where one side carries stronger visual weight and the
   other side handles narrative support.

   USE THIS WHEN:
   - A section feels too static in a plain two-column layout.
   ========================================================= */
/* =====================================================================
   ASYMMETRIC FEATURE PATTERN
   Offset content / image section.
   Requires:
   - style.css
   - iss-media-card-utilities.css
   ===================================================================== */

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
.iss-asymmetric-feature {
  position: relative;
  overflow: clip;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__layout: Element class for `iss-asymmetric-feature`; apply on `layout` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(1.25rem, 3vw, 3rem);
  align-items: stretch;
  min-height: clamp(26rem, 50vh, 42rem);
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__content: Element class for `iss-asymmetric-feature`; apply on `content` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__content,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__media {
  min-width: 0;
  min-height: 0;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__content: Element class for `iss-asymmetric-feature`; apply on `content` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__content {
  position: relative;
  z-index: 2;
  padding-top: clamp(1.25rem, 5vw, 5rem);
  display: flex;
  align-items: flex-start;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__content-inner: Element class for `iss-asymmetric-feature`; apply on `content-inner` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__content-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  max-width: 32rem;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__title: Element class for `iss-asymmetric-feature`; apply on `title` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__title {
  margin: 0;
  max-width: 12ch;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__lead: Element class for `iss-asymmetric-feature`; apply on `lead` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__lead {
  margin: 0;
  font-size: clamp(1.5rem, 2.7vw, 2.5rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.02em;
  max-width: 14ch;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__text: Element class for `iss-asymmetric-feature`; apply on `text` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__text {
  margin: 0;
  max-width: 34rem;
  color: rgba(30, 30, 30, 0.78);
  font-size: 1rem;
  line-height: 1.6;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__actions: Element class for `iss-asymmetric-feature`; apply on `actions` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__actions {
  margin-top: 0.5rem;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__media {
  position: relative;
  height: 100%;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__image: Element class for `iss-asymmetric-feature`; apply on `image` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__image,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__image: Element class for `iss-asymmetric-feature`; apply on `image` element. */
/* .wp-block-image: Base class for wp block image; apply on primary wrapper/scope. */
.iss-asymmetric-feature .iss-asymmetric-feature__image.wp-block-image {
  height: 100%;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
.iss-asymmetric-feature .iss-asymmetric-feature__media::after {
  content: "";
  position: absolute;
  right: -7vw;
  bottom: clamp(-1.5rem, -2vw, -0.5rem);
  width: clamp(10rem, 18vw, 18rem);
  aspect-ratio: 1 / 1;
  border: 1.5px solid rgba(var(--iss-accent-rgb), 0.45);
  border-radius: 50%;
  pointer-events: none;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature--flip: Modifier class for `iss-asymmetric-feature`; combine for `flip` variant. */
/* .iss-asymmetric-feature__layout: Element class for `iss-asymmetric-feature`; apply on `layout` element. */
.iss-asymmetric-feature.iss-asymmetric-feature--flip .iss-asymmetric-feature__layout {
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.42fr);
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature--flip: Modifier class for `iss-asymmetric-feature`; combine for `flip` variant. */
/* .iss-asymmetric-feature__content: Element class for `iss-asymmetric-feature`; apply on `content` element. */
.iss-asymmetric-feature.iss-asymmetric-feature--flip .iss-asymmetric-feature__content {
  order: 2;
}

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature--flip: Modifier class for `iss-asymmetric-feature`; combine for `flip` variant. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
.iss-asymmetric-feature.iss-asymmetric-feature--flip .iss-asymmetric-feature__media {
  order: 1;
}

@media (max-width: 1024px) {
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__layout: Element class for `iss-asymmetric-feature`; apply on `layout` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__layout,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature--flip: Modifier class for `iss-asymmetric-feature`; combine for `flip` variant. */
/* .iss-asymmetric-feature__layout: Element class for `iss-asymmetric-feature`; apply on `layout` element. */
  .iss-asymmetric-feature.iss-asymmetric-feature--flip .iss-asymmetric-feature__layout {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    min-height: 0;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__content: Element class for `iss-asymmetric-feature`; apply on `content` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__content,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature--flip: Modifier class for `iss-asymmetric-feature`; combine for `flip` variant. */
/* .iss-asymmetric-feature__content: Element class for `iss-asymmetric-feature`; apply on `content` element. */
  .iss-asymmetric-feature.iss-asymmetric-feature--flip .iss-asymmetric-feature__content,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__media,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature--flip: Modifier class for `iss-asymmetric-feature`; combine for `flip` variant. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
  .iss-asymmetric-feature.iss-asymmetric-feature--flip .iss-asymmetric-feature__media {
    order: initial;
    padding-top: 0;
    height: auto;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__content-inner: Element class for `iss-asymmetric-feature`; apply on `content-inner` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__content-inner {
    max-width: 40rem;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__title: Element class for `iss-asymmetric-feature`; apply on `title` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__title,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__lead: Element class for `iss-asymmetric-feature`; apply on `lead` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__lead {
    max-width: none;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__image: Element class for `iss-asymmetric-feature`; apply on `image` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__image,
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__image: Element class for `iss-asymmetric-feature`; apply on `image` element. */
/* .wp-block-image: Base class for wp block image; apply on primary wrapper/scope. */
  .iss-asymmetric-feature .iss-asymmetric-feature__image.wp-block-image {
    height: auto;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__media::after {
    right: -3rem;
    width: 9rem;
  }
}

@media (max-width: 640px) {
/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .section: Base class for section; apply on primary wrapper/scope. */
  .iss-asymmetric-feature.section {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__content-inner: Element class for `iss-asymmetric-feature`; apply on `content-inner` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__content-inner {
    gap: 0.75rem;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__lead: Element class for `iss-asymmetric-feature`; apply on `lead` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__lead {
    font-size: clamp(1.25rem, 6vw, 1.75rem);
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__text: Element class for `iss-asymmetric-feature`; apply on `text` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__text {
    font-size: 0.95rem;
  }

/* .iss-asymmetric-feature: Base class for iss asymmetric feature; apply on primary wrapper/scope. */
/* .iss-asymmetric-feature__media: Element class for `iss-asymmetric-feature`; apply on `media` element. */
  .iss-asymmetric-feature .iss-asymmetric-feature__media::after {
    width: 7rem;
    right: -2rem;
    bottom: -1rem;
  }
}


/* =========================================================
   GROUP: NEWSLETTER + FUNDERS BAND
   PURPOSE:
   Subscription/support strip and related partner or funder presentation.

   USE THIS WHEN:
   - The page needs a compact call-to-action band near the bottom.
   ========================================================= */
/* ==========================================================================
   Industriesalon Pattern: Newsletter + Förderer
   Usage:
   1. Add the pattern markup to a pattern file or synced pattern.
   2. Load this stylesheet after the base theme stylesheet.
   3. Render The Newsletter Plugin shortcode inside .iss-newsletter-band__formwrap.
   4. Replace the sponsor logo path with the correct media asset.
   ========================================================================== */

/* .iss-newsletter-band: Base class for iss newsletter band; apply on primary wrapper/scope. */
.iss-newsletter-band {
  background: #efefee;
  padding-top: clamp(3rem, 5vw, 5rem);
  padding-bottom: clamp(3rem, 5vw, 5rem);
}

/* .iss-newsletter-band: Base class for iss newsletter band; apply on primary wrapper/scope. */
/* .iss-container: Base class for iss container; apply on primary wrapper/scope. */
.iss-newsletter-band .iss-container {
  max-width: var(--iss-content-width, 1720px);
}

/* .iss-newsletter-band__grid: Element class for `iss-newsletter-band`; apply on `grid` element. */
.iss-newsletter-band__grid {
  gap: clamp(2rem, 4vw, 5rem);
  align-items: center;
}

/* .iss-newsletter-band__main: Element class for `iss-newsletter-band`; apply on `main` element. */
.iss-newsletter-band__main,
/* .iss-newsletter-band__side: Element class for `iss-newsletter-band`; apply on `side` element. */
.iss-newsletter-band__side {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* .iss-newsletter-band__main: Element class for `iss-newsletter-band`; apply on `main` element. */
.iss-newsletter-band__main {
  flex-basis: 68%;
}

/* .iss-newsletter-band__side: Element class for `iss-newsletter-band`; apply on `side` element. */
.iss-newsletter-band__side {
  flex-basis: 32%;
  align-items: flex-start;
}

/* .iss-newsletter-band__heading: Element class for `iss-newsletter-band`; apply on `heading` element. */
.iss-newsletter-band__heading {
  gap: 0.75rem;
  max-width: 44rem;
  margin-bottom: 1.5rem;
}

/* .iss-newsletter-band__heading: Element class for `iss-newsletter-band`; apply on `heading` element. */
/* .iss-heading__title: Element class for `iss-heading`; apply on `title` element. */
.iss-newsletter-band__heading .iss-heading__title {
  font-size: clamp(2.1rem, 3vw, 3.35rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

/* .iss-newsletter-band__lead: Element class for `iss-newsletter-band`; apply on `lead` element. */
.iss-newsletter-band__lead {
  max-width: 34rem;
  margin: 0;
  color: var(--iss-black, #1e1e1e);
  font-size: clamp(1.15rem, 1.2vw, 1.5rem);
  line-height: 1.45;
}

/* .iss-newsletter-band__formwrap: Element class for `iss-newsletter-band`; apply on `formwrap` element. */
.iss-newsletter-band__formwrap {
  max-width: 42rem;
  margin-bottom: 1.5rem;
}

/* .iss-newsletter-form: Base class for iss newsletter form; apply on primary wrapper/scope. */
.iss-newsletter-form {
  width: 100%;
}

.iss-newsletter-form form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: start;
}

.iss-newsletter-form .tnp-field {
  margin: 0;
}

.iss-newsletter-form .tnp-field-email {
  min-width: 0;
}

.iss-newsletter-form .tnp-email,
.iss-newsletter-form .tnp-submit {
  min-height: 3.75rem;
  font: inherit;
  font-size: 1.05rem;
}

.iss-newsletter-form .tnp-email {
  width: 100%;
  padding: 0 1.3rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
  color: var(--iss-black, #1e1e1e);
  box-shadow: inset 0 0 0 1px rgba(30, 30, 30, 0.06);
}

.iss-newsletter-form .tnp-email::placeholder {
  color: rgba(30, 30, 30, 0.45);
}

.iss-newsletter-form .tnp-email:focus {
  outline: none;
  border-color: rgba(var(--iss-accent-rgb), 0.3);
  box-shadow:
    inset 0 0 0 1px rgba(var(--iss-accent-rgb), 0.24),
    0 0 0 3px rgba(var(--iss-accent-rgb), 0.08);
}

.iss-newsletter-form .tnp-submit {
  min-width: 10rem;
  padding: 0 1.6rem;
  border: 0;
  border-radius: 999px;
  background: var(--iss-accent, #e81d25);
  color: var(--iss-white, #f9f9fa);
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease,
    box-shadow 0.2s ease;
}

.iss-newsletter-form .tnp-submit:hover,
.iss-newsletter-form .tnp-submit:focus-visible {
  transform: translateY(-1px);
  opacity: 0.96;
  box-shadow: 0 14px 28px rgba(var(--iss-accent-rgb), 0.18);
}

.iss-newsletter-form .tnp-privacy-field {
  grid-column: 1 / -1;
  color: rgba(30, 30, 30, 0.72);
  font-size: 0.95rem;
  line-height: 1.45;
}

.iss-newsletter-form .tnp-privacy-field label {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
}

.iss-newsletter-form .tnp-privacy {
  margin-top: 0.2rem;
}

.iss-newsletter-form .tnp-privacy-field a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}

/* .iss-newsletter-band__note: Element class for `iss-newsletter-band`; apply on `note` element. */
.iss-newsletter-band__note {
  max-width: 48rem;
  margin: 0;
  color: rgba(30, 30, 30, 0.78);
  font-size: 1rem;
  line-height: 1.65;
  font-style: italic;
}

/* .iss-newsletter-band__note: Element class for `iss-newsletter-band`; apply on `note` element. */
.iss-newsletter-band__note a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}

/* .iss-newsletter-band__side: Element class for `iss-newsletter-band`; apply on `side` element. */
/* .iss-newsletter-band__support: Element class for `iss-newsletter-band`; apply on `support` element. */
.iss-newsletter-band__support {
  width: 100%;
  max-width: none;
  margin-left: 0;
}

/* .iss-newsletter-band__support-title: Element class for `iss-newsletter-band`; apply on `support-title` element. */
.iss-newsletter-band__support-title {
  margin: 0 0 1.5rem;
  color: var(--iss-black, #1e1e1e);
  font-size: clamp(1.2rem, 1.2vw, 1.6rem);
  line-height: 1.45;
}

/* .iss-newsletter-band__logo: Element class for `iss-newsletter-band`; apply on `logo` element. */
.iss-newsletter-band__logo {
  margin: 0;
}

/* .iss-newsletter-band__logo: Element class for `iss-newsletter-band`; apply on `logo` element. */
.iss-newsletter-band__logo img {
  display: block;
  width: 100%;
  max-width: 34rem;
  height: auto;
  object-fit: contain;
}

.iss-newsletter-band__partners {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.iss-newsletter-band__partners-title {
  margin: 0 0 1rem;
  color: rgba(30, 30, 30, 0.72);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.25;
}

.iss-newsletter-band__partner-logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 12rem));
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
}

.iss-newsletter-band__partner-logo {
  margin: 0;
}

.iss-newsletter-band__partner-logo img {
  display: block;
  width: 100%;
  max-height: 5.25rem;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.iss-newsletter-band__partner-logo--erih img {
  width: min(100%, 5.25rem);
}

@media (max-width: 1024px) {
/* .iss-newsletter-band__support: Element class for `iss-newsletter-band`; apply on `support` element. */
  .iss-newsletter-band__support {
    margin-left: 0;
  }
}

@media (max-width: 781px) {
/* .iss-newsletter-band__grid: Element class for `iss-newsletter-band`; apply on `grid` element. */
  .iss-newsletter-band__grid {
    gap: 2.5rem;
  }

  .iss-newsletter-form form {
    grid-template-columns: 1fr;
  }

  .iss-newsletter-form .tnp-submit {
    width: 100%;
    min-width: 0;
  }

/* .iss-newsletter-band__heading: Element class for `iss-newsletter-band`; apply on `heading` element. */
  .iss-newsletter-band__heading,
/* .iss-newsletter-band__lead: Element class for `iss-newsletter-band`; apply on `lead` element. */
  .iss-newsletter-band__lead,
/* .iss-newsletter-band__formwrap: Element class for `iss-newsletter-band`; apply on `formwrap` element. */
  .iss-newsletter-band__formwrap,
/* .iss-newsletter-band__note: Element class for `iss-newsletter-band`; apply on `note` element. */
  .iss-newsletter-band__note,
/* .iss-newsletter-band__support: Element class for `iss-newsletter-band`; apply on `support` element. */
  .iss-newsletter-band__support {
    max-width: none;
  }

/* .iss-newsletter-band__logo: Element class for `iss-newsletter-band`; apply on `logo` element. */
  .iss-newsletter-band__logo img {
    max-width: 100%;
  }

  .iss-newsletter-band__partner-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* =========================================================
   GROUP: MISSION SUPPORT STRIP
   PURPOSE:
   Narrow supporting strip for mission statements, facts, or short
   contextual reinforcement between larger sections.

   USE THIS WHEN:
   - A page needs a compact factual bridge between larger content zones.
   ========================================================= */
/* =====================================================================
   MISSION SUPPORT STRIP
   Quiet white bridge section below hero:
   left mission statement, right three supporting fact modules.
   ===================================================================== */

/* .iss-section--mission-support: Modifier class for `iss-section`; combine for `mission-support` variant. */
.iss-section--mission-support {
  position: relative;
  background: var(--iss-white);
  padding-top: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 4vw, 4rem);
}

/* .iss-mission-support: Base class for iss mission support; apply on primary wrapper/scope. */
.iss-mission-support {
  align-items: start;
  gap: clamp(1.5rem, 3vw, 3rem);
}

.iss-mission-support__intro-col,
.iss-mission-support__facts-col {
  min-width: 0;
}

.iss-mission-support__intro-col {
  flex-basis: 38%;
}

/* .iss-mission-support__intro: Element class for `iss-mission-support`; apply on `intro` element. */
.iss-mission-support__intro {
  max-width: 38rem;
}

/* .iss-mission-support__title: Element class for `iss-mission-support`; apply on `title` element. */
.iss-mission-support__title {
  max-width: 14ch;
  margin: 0;
}

/* .iss-mission-support__text: Element class for `iss-mission-support`; apply on `text` element. */
.iss-mission-support__text {
  margin: 0;
  max-width: 62ch;
  color: rgba(30, 30, 30, 0.76);
}

/* .iss-mission-support__facts-col: Element class for `iss-mission-support`; apply on `facts-col` element. */
.iss-mission-support__facts-col {
  flex-basis: 62%;
}

/* .iss-mission-support__facts: Element class for `iss-mission-support`; apply on `facts` element. */
.iss-mission-support__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.8vw, 1.5rem);
  width: 100%;
}

/* .iss-mission-support__facts: Element class for `iss-mission-support`; apply on `facts` element. */
.iss-mission-support__facts > * {
  margin: 0 !important;
}

/* .iss-mission-fact: Base class for iss mission fact; apply on primary wrapper/scope. */
.iss-mission-fact {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.85rem;
  min-height: 100%;
  padding-top: 1rem;
  border-top: 1px solid rgba(30, 30, 30, 0.14);
}

/* .iss-mission-fact: Base class for iss mission fact; apply on primary wrapper/scope. */
.iss-mission-fact > * {
  margin: 0;
}

/* .iss-mission-fact__head: Element class for `iss-mission-fact`; apply on `head` element. */
.iss-mission-fact__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2rem;
  margin: 0;
}

/* .iss-mission-fact__icon: Element class for `iss-mission-fact`; apply on `icon` element. */
.iss-mission-fact__icon {
  display: inline-block;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  transform: translateY(-0.02em);
  margin: 0;
}

/* .iss-mission-fact__title: Element class for `iss-mission-fact`; apply on `title` element. */
.iss-mission-fact__title {
  margin: 0;
  font-size: clamp(1.15rem, 1rem + 0.3vw, 1.35rem);
  line-height: 1.15;
}

/* .iss-mission-fact__text: Element class for `iss-mission-fact`; apply on `text` element. */
.iss-mission-fact__text {
  margin: 0;
  color: rgba(30, 30, 30, 0.72);
  font-size: 0.98rem;
  line-height: 1.55;
  max-width: 24ch;
}

/* .iss-mission-fact: Base class for iss mission fact; apply on primary wrapper/scope. */
/* .iss-mission-fact__title: Element class for `iss-mission-fact`; apply on `title` element. */
.iss-mission-fact:hover .iss-mission-fact__title,
/* .iss-mission-fact: Base class for iss mission fact; apply on primary wrapper/scope. */
/* .iss-mission-fact__title: Element class for `iss-mission-fact`; apply on `title` element. */
.iss-mission-fact:focus-within .iss-mission-fact__title {
  color: var(--iss-accent);
}

@media (max-width: 1100px) {
/* .iss-mission-support__facts: Element class for `iss-mission-support`; apply on `facts` element. */
  .iss-mission-support__facts {
    grid-template-columns: 1fr;
  }

/* .iss-mission-fact__text: Element class for `iss-mission-fact`; apply on `text` element. */
  .iss-mission-fact__text {
    max-width: none;
  }
}

@media (max-width: 781px) {
/* .iss-section--mission-support: Modifier class for `iss-section`; combine for `mission-support` variant. */
  .iss-section--mission-support {
    padding-top: 1.75rem;
    padding-bottom: 2.5rem;
  }

/* .iss-mission-support: Base class for iss mission support; apply on primary wrapper/scope. */
  .iss-mission-support {
    display: block;
  }

/* .iss-mission-support__facts-col: Element class for `iss-mission-support`; apply on `facts-col` element. */
  .iss-mission-support__facts-col {
    margin-top: 1.5rem;
  }

/* .iss-mission-support__title: Element class for `iss-mission-support`; apply on `title` element. */
  .iss-mission-support__title {
    max-width: 16ch;
  }
}


/* =========================================================
   REPAIR CAFE PAGE
   ========================================================= */
.iss-repair-facts .iss-info-panel,
.iss-repair-contact .iss-info-panel {
  max-width: none;
}

.iss-repair-limits__grid {
  gap: clamp(2rem, 4vw, 4rem);
}

.iss-repair-limits .wp-block-columns.iss-repair-limits__grid {
  display: grid;
  grid-template-columns: minmax(38rem, 1.28fr) minmax(20rem, 0.72fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: start;
}

.iss-repair-limits__intro-col,
.iss-repair-limits__media-col,
.iss-repair-limits__cards-col {
  min-width: 0;
}

.iss-repair-limits__intro-col {
  grid-column: 2;
  flex-basis: 28%;
}

.iss-repair-limits__media-col {
  flex-basis: 18%;
}

.iss-repair-limits__cards-col {
  grid-column: 1;
  grid-row: 1;
  flex-basis: 72%;
}

.iss-repair-limits__lead {
  margin: 1.1rem 0 0;
  max-width: 34rem;
  color: var(--iss-grey);
}

.iss-repair-limits__link {
  margin: 1.2rem 0 0;
}

.iss-repair-limits-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.4vw, 2rem);
  align-items: start;
}

.iss-repair-limits-card {
  display: grid;
  gap: clamp(0.9rem, 1.8vw, 1.25rem);
  height: 100%;
  margin-block-start: 0;
  padding-left: 0.85rem;
  border-left: 1px solid color-mix(in srgb, var(--iss-green) 52%, transparent);
  background: transparent;
}

.iss-repair-limits-card--warning {
  border-top: 3px solid var(--iss-red);
}

.iss-repair-limits-card--rules {
  border-top: 3px solid var(--iss-green);
}

.iss-repair-limits-card__title {
  margin: 0 0 0.82rem;
  font-size: clamp(1rem, 0.94rem + 0.2vw, 1.12rem);
  line-height: 1.2;
}

.iss-repair-limits-card__list {
  --iss-list-accent: var(--iss-green);

  margin-block: 0;
  font-size: 0.9rem;
  line-height: 1.48;
}

.iss-repair-limits-card__image {
  width: 100%;
  align-self: end;
  margin: 0;
}

.iss-repair-limits-card__image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.iss-repair-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.4rem);
  margin-top: 2.5rem;
  padding-block: clamp(1rem, 2vw, 1.35rem);
  border-block: 1px solid color-mix(in srgb, var(--iss-black) 14%, white 86%);
}

.iss-repair-step {
  min-height: 0;
  padding-left: 0.85rem;
  border-left: 1px solid color-mix(in srgb, var(--iss-green) 52%, transparent);
  background: transparent;
}

.iss-repair-step__number {
  display: block;
  margin: 0 0 0.55rem;
  color: var(--iss-green);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

.iss-repair-step__title {
  margin: 0;
  font-size: clamp(0.98rem, 0.94rem + 0.16vw, 1.08rem);
  line-height: 1.22;
}

.iss-repair-step__text {
  margin: 0.48rem 0 0;
  color: rgba(30, 30, 30, 0.72);
  font-size: 0.88rem;
  line-height: 1.48;
}

.iss-repair-contact .iss-info-row__text a {
  color: inherit;
}

.iss-repair-values .iss-method-grid {
  margin-top: 2.5rem;
}

@media (max-width: 1180px) {
  .iss-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  .iss-repair-limits .wp-block-columns.iss-repair-limits__grid,
  .iss-repair-limits__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.64fr);
  }

  .iss-repair-limits__intro-col {
    grid-column: 1 / 2;
  }

  .iss-repair-limits__media-col {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
  }

  .iss-repair-limits__cards-col {
    grid-column: 1 / 2;
  }

  .iss-repair-limits .wp-block-columns.iss-repair-limits__grid {
    grid-template-columns: 1fr;
  }

  .iss-repair-limits__intro-col,
  .iss-repair-limits__cards-col {
    grid-column: auto;
    grid-row: auto;
  }

  .iss-repair-limits-grid,
  .iss-repair-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 781px) {
  .iss-repair-limits .wp-block-columns.iss-repair-limits__grid,
  .iss-repair-limits__grid {
    display: flex;
    grid-template-columns: none;
  }

  .iss-repair-limits__media-col {
    order: 2;
  }

  .iss-repair-limits__cards-col {
    order: 3;
  }

  .iss-method-grid,
  .iss-repair-limits-grid,
  .iss-repair-steps {
    grid-template-columns: 1fr;
  }

}

/* =========================================================
   FRONT PAGE TIMELINE SECTION
   ========================================================= */

.iss-timeline-section__header {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(18rem, 1fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.iss-timeline-section__intro {
  max-width: none;
}

.iss-section--timeline .wp-block-columns {
  display: grid;
  grid-template-columns: clamp(16rem, 24vw, 19rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: start;
}

.iss-section--timeline .wp-block-columns > .wp-block-column {
  margin-top: 0;
}

.iss-timeline-section__intro-col,
.iss-timeline-section__list-col {
  min-width: 0;
}

.iss-timeline-section__intro-col {
  flex: initial;
  flex-basis: auto;
}

.iss-timeline-section__list-col {
  flex: initial;
  flex-basis: auto;
}

.iss-timeline-promo-slot {
  justify-self: end;
  width: min(100%, 22rem);
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 100%;
  padding: clamp(1.5rem, 2.4vw, 2rem) clamp(1.35rem, 2.1vw, 1.8rem) clamp(1.35rem, 2.2vw, 1.9rem);
  border: 1px solid color-mix(in srgb, var(--iss-black) 12%, transparent);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--iss-white) 92%, var(--iss-black) 8%) 0 3.25rem, var(--iss-white) 3.25rem 100%);
  box-shadow:
    0 0.45rem 0 color-mix(in srgb, var(--iss-black) 14%, transparent),
    0 1.2rem 1.8rem color-mix(in srgb, var(--iss-black) 18%, transparent);
  color: var(--iss-black);
  transform: rotate(-1.25deg);
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 50%;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--iss-white) 28%, transparent), transparent 35%), var(--iss-red);
  box-shadow:
    0 0.18rem 0 color-mix(in srgb, var(--iss-black) 22%, transparent),
    0 0.7rem 0.85rem color-mix(in srgb, var(--iss-black) 18%, transparent);
  transform: translateX(-50%);
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note::after {
  content: "";
  position: absolute;
  top: 2rem;
  left: 50%;
  width: 1.5rem;
  height: 1rem;
  background: color-mix(in srgb, var(--iss-black) 14%, transparent);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  transform: translateX(-35%) rotate(14deg);
  opacity: 0.45;
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__kicker,
.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__title,
.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__text,
.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__link {
  margin: 0;
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__marker {
  display: none;
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__kicker {
  margin-top: 1.6rem;
  color: color-mix(in srgb, var(--iss-black) 68%, transparent);
  font-size: 0.76rem;
  letter-spacing: 0.09em;
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__title {
  font-size: clamp(1.25rem, 1.2rem + 0.45vw, 1.7rem);
  line-height: 1.12;
  color: var(--iss-black);
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__text,
.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__text p {
  max-width: 34ch;
  margin-bottom: 0;
  color: color-mix(in srgb, var(--iss-black) 78%, transparent);
  line-height: 1.5;
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__link {
  margin-top: 0.25rem;
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__link a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--iss-black);
  text-decoration: none;
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__link-icon {
  color: var(--iss-red);
}

.iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__link-text {
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-thickness: 1px;
}

@media (max-width: 900px) {
  .iss-timeline-section__header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .iss-section--timeline .wp-block-columns {
    grid-template-columns: 1fr;
  }

  .iss-timeline-promo-slot {
    justify-self: stretch;
    width: 100%;
  }

  .iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note {
    gap: 0.4rem;
    padding: 1rem 1.1rem 1.05rem;
    transform: rotate(-0.65deg);
  }

  .iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__kicker {
    margin-top: 1.35rem;
  }

  .iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__text,
  .iss-timeline-promo-slot.iss-notice-skin--pinned .iss-hero-note__link {
    display: none;
  }
}

.iss-schoneweide-hero {
  padding-top: max(8.75rem, calc(var(--iss-site-logo-bottom, 176px) + 2rem));
  padding-bottom: clamp(3.75rem, 8vw, 6rem);
  background:
    radial-gradient(circle at top right, rgba(207, 34, 44, 0.24), transparent 34%),
    linear-gradient(135deg, rgba(30, 30, 30, 0.98), rgba(30, 30, 30, 0.9)),
    var(--iss-black);
  color: var(--iss-white);
}

.iss-schoneweide-hero .iss-heading__title,
.iss-schoneweide-hero .iss-heading__text,
.iss-schoneweide-hero .iss-kicker {
  color: var(--iss-white);
}

.iss-schoneweide-hero .iss-heading__text {
  max-width: 46rem;
  color: rgba(249, 249, 250, 0.84);
}

.iss-schoneweide-hero__grid,
.iss-schoneweide-register-cta__grid,
.iss-register-place__hero-grid,
.iss-register-place__story-grid {
  gap: clamp(1.5rem, 4vw, 4rem);
}

.iss-schoneweide-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(18rem, 0.82fr);
  align-items: end;
}

.iss-schoneweide-register-cta__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(14rem, 0.65fr);
  align-items: center;
}

.iss-register-place__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(20rem, 0.92fr);
  align-items: start;
}

.iss-register-place__story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(18rem, 0.88fr);
  align-items: start;
}

.iss-schoneweide-hero__note {
  padding: 1.6rem 0 0 1.6rem;
  border-left: 3px solid var(--iss-red);
}

.iss-schoneweide-hero__note p:last-child {
  margin-bottom: 0;
  color: rgba(249, 249, 250, 0.78);
}

.iss-register-place__body > :first-child,
.iss-register-place__body > :last-child {
  margin-top: 0;
  margin-bottom: 0;
}

.iss-register-place__body p,
.iss-register-place__body li {
  font-size: 1.02rem;
  line-height: 1.75;
}

/* Schoneweide reading path: compact numbered chapter rail that bridges atlas and longread. */
.iss-reading-nav {
  display: grid;
  grid-template-columns: min-content minmax(0, 1fr) min-content;
  align-items: stretch;
  border-top: 1px solid rgba(30, 30, 30, 0.08);
  border-bottom: 1px solid rgba(30, 30, 30, 0.12);
  background: rgba(249, 249, 250, 0.94);
}

.iss-reading-nav__inner {
  display: flex;
  gap: 1px;
  overflow-x: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  background: rgba(30, 30, 30, 0.12);
  scrollbar-width: none;
}

.iss-reading-nav__inner::-webkit-scrollbar {
  display: none;
}

.iss-reading-nav__inner > li,
.iss-reading-nav__inner > a {
  flex: 1 0 13rem;
}

.iss-reading-nav__inner > li {
  margin: 0;
}

.iss-reading-nav__inner > li > a,
.iss-reading-nav__inner > a {
  display: block;
  min-height: 100%;
  padding: 1rem;
  background: var(--iss-white);
  color: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.iss-reading-nav__control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  padding: 0;
  border: 0;
  background: rgba(239, 236, 231, 0.98);
  color: rgba(30, 30, 30, 0.82);
  font-size: 1rem;
  cursor: pointer;
}

.iss-reading-nav__control[disabled] {
  opacity: 0.36;
  cursor: default;
}

.iss-reading-nav__control:not([disabled]):hover,
.iss-reading-nav__control:not([disabled]):focus-visible,
.iss-reading-nav__inner > li > a:hover,
.iss-reading-nav__inner > li > a:focus-visible,
.iss-reading-nav a:hover,
.iss-reading-nav a:focus-visible {
  color: var(--iss-accent);
}

.iss-schoneweide-reading-path {
  margin-top: 1.4rem;
}

.iss-schoneweide-reading-path__actions {
  gap: 1rem;
}

.iss-schoneweide-reading-path__actions p {
  margin: 0;
}

.iss-schoneweide-entry-stack,
.iss-register-place__sidebar {
  display: grid;
  gap: 1rem;
}

.iss-schoneweide-entry-card {
  padding: clamp(1.3rem, 3vw, 1.7rem);
  border: 1px solid var(--iss-border);
  border-radius: var(--iss-radius-lg);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--iss-shadow);
}

.iss-schoneweide-entry-card > :last-child,
.iss-register-place__next > :last-child {
  margin-bottom: 0;
}

.iss-schoneweide-entry-card__title {
  margin-top: 0;
  margin-bottom: 0.55rem;
  font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.45rem);
  line-height: 1.16;
}

.iss-schoneweide-entry-card--contrast {
  background:
    linear-gradient(145deg, rgba(30, 30, 30, 0.98), rgba(30, 30, 30, 0.9)),
    var(--iss-black);
  color: var(--iss-white);
  border-color: rgba(255, 255, 255, 0.12);
}

.iss-schoneweide-entry-card--contrast p,
.iss-schoneweide-entry-card--contrast .iss-schoneweide-entry-card__title {
  color: inherit;
}

.iss-schoneweide-entry-links {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding-left: 1.1rem;
}

.iss-schoneweide-entry-links li {
  margin: 0;
}

.iss-schoneweide-entry-links a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.iss-pathway-strip__intro {
  max-width: 48rem;
  margin-bottom: clamp(1.35rem, 2.8vw, 2rem);
}

.iss-pathway-strip__track {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(13.5rem, 1fr);
  gap: clamp(1.1rem, 2vw, 1.5rem);
  overflow-x: auto;
  padding: 0.25rem 0 0.45rem;
  scrollbar-width: thin;
}

.iss-pathway-strip__track::before {
  content: "";
  position: absolute;
  top: 2.72rem;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(30, 30, 30, 0.52);
  pointer-events: none;
}

.iss-pathway-strip__item {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.8rem;
  min-width: 0;
  padding-top: 0.15rem;
}

.iss-pathway-strip__head {
  position: relative;
  display: grid;
  gap: 0.1rem;
  min-height: 4.25rem;
  padding-bottom: 0.5rem;
}

.iss-pathway-strip__head::after {
  content: "";
  position: absolute;
  top: 2.45rem;
  left: 0;
  width: 0.58rem;
  height: 0.58rem;
  border-radius: 999px;
  background: var(--iss-black);
  box-shadow: 0 0 0 0.18rem var(--iss-white);
}

.iss-pathway-strip__index {
  margin: 0;
  color: rgba(30, 30, 30, 0.76);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.iss-pathway-strip__title {
  margin: 0;
  padding-right: 0.5rem;
  font-size: clamp(1.12rem, 1rem + 0.7vw, 2rem);
  line-height: 0.96;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.iss-pathway-strip__media {
  margin: 0;
  aspect-ratio: 1.12 / 1;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(246, 246, 247, 0.96), rgba(255, 255, 255, 0.96));
}

.iss-pathway-strip__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.iss-pathway-strip__text,
.iss-pathway-strip__link {
  margin: 0;
  max-width: 18rem;
}

.iss-pathway-strip__text {
  color: rgba(30, 30, 30, 0.82);
  font-size: 0.94rem;
  line-height: 1.5;
}

.iss-pathway-strip__link {
  margin-top: auto;
  font-size: 0.92rem;
}

@media (max-width: 1099px) {
  .iss-pathway-strip__track {
    grid-auto-columns: minmax(14rem, 18rem);
  }
}

@media (max-width: 781px) {
  .iss-pathway-strip__track {
    gap: 1rem;
  }

  .iss-pathway-strip__title {
    font-size: clamp(1.02rem, 0.94rem + 0.7vw, 1.4rem);
  }

  .iss-pathway-strip__text {
    font-size: 0.88rem;
  }
}

.iss-schoneweide-map__top,
.iss-schoneweide-map__surface,
.iss-schoneweide-map__stats,
.iss-register-place__hero-meta,
.iss-schoneweide-map__detail-actions,
.iss-schoneweide-map__filter-options {
  display: flex;
}

.iss-schoneweide-map__top {
  align-items: end;
  justify-content: space-between;
  gap: clamp(1.5rem, 4vw, 4rem);
}

.iss-schoneweide-map__heading {
  flex: 1 1 auto;
}

.iss-schoneweide-map__stats {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 1.1rem;
  min-width: min(100%, 26rem);
  padding-left: clamp(0.5rem, 2vw, 1.1rem);
}

.iss-schoneweide-map__stat {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  padding-left: 1.1rem;
  border-left: 1px solid rgba(30, 30, 30, 0.08);
}

.iss-schoneweide-map__stat:first-child {
  border-left: 0;
  padding-left: 0;
}

.iss-schoneweide-map__stat-value {
  color: var(--iss-red);
  font-size: clamp(1.5rem, 1.2rem + 0.8vw, 2.1rem);
  font-weight: 700;
  line-height: 1;
}

.iss-schoneweide-map__stat-label {
  color: rgba(30, 30, 30, 0.68);
  font-size: 0.94rem;
  line-height: 1.35;
}

.iss-schoneweide-map {
  margin-top: clamp(1.75rem, 4vw, 2.5rem);
}

.iss-schoneweide-map__surface {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(20rem, 0.82fr);
  gap: clamp(1rem, 3vw, 1.35rem);
}

.iss-schoneweide-map__canvas,
.iss-schoneweide-map__detail,
.iss-schoneweide-map__filters {
  border: 1px solid rgba(30, 30, 30, 0.08);
  border-radius: clamp(1.25rem, 2vw, 1.8rem);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(246, 246, 247, 0.94)),
    var(--iss-white);
  box-shadow: 0 22px 48px rgba(30, 30, 30, 0.08);
}

.iss-schoneweide-map__canvas {
  position: relative;
  min-height: 41rem;
  padding: clamp(1rem, 2.8vw, 1.45rem);
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(207, 34, 44, 0.08), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(30, 30, 30, 0.05), transparent 22%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 246, 247, 0.96));
}

.iss-schoneweide-map__legend,
.iss-schoneweide-map__mode {
  position: absolute;
  top: 1.35rem;
  z-index: 4;
  display: grid;
  gap: 0.6rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(30, 30, 30, 0.08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 30px rgba(30, 30, 30, 0.06);
  backdrop-filter: blur(10px);
}

.iss-schoneweide-map__legend {
  left: 1.35rem;
}

.iss-schoneweide-map__mode {
  right: 1.35rem;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 3rem;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.2;
}

.iss-schoneweide-map__mode::before {
  content: "";
  width: 2rem;
  height: 0.85rem;
  background:
    radial-gradient(circle at 0.2rem 50%, rgba(30, 30, 30, 0.54) 0.14rem, transparent 0.16rem),
    radial-gradient(circle at 1rem 50%, rgba(30, 30, 30, 0.54) 0.14rem, transparent 0.16rem),
    radial-gradient(circle at 1.8rem 50%, rgba(30, 30, 30, 0.54) 0.14rem, transparent 0.16rem),
    linear-gradient(rgba(30, 30, 30, 0.54), rgba(30, 30, 30, 0.54));
  background-size: auto, auto, auto, 1.65rem 1px;
  background-repeat: no-repeat;
  background-position: 0 50%, 0 50%, 0 50%, center 50%;
}

.iss-schoneweide-map__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 1rem;
  line-height: 1.2;
}

.iss-schoneweide-map__legend-dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999px;
}

.iss-schoneweide-map__legend-dot--aktiv {
  background: #1d1d1d;
}

.iss-schoneweide-map__legend-dot--entwicklung {
  background: var(--iss-red);
}

.iss-schoneweide-map__legend-dot--geplant {
  background: var(--iss-brown);
}

.iss-schoneweide-map__legend-dot--unklar {
  background: #8f8f8f;
}

.iss-schoneweide-map__axis-label {
  position: absolute;
  top: 50%;
  z-index: 1;
  color: rgba(30, 30, 30, 0.28);
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.iss-schoneweide-map__axis-label--west {
  left: 2rem;
}

.iss-schoneweide-map__axis-label--east {
  right: 2rem;
}

.iss-schoneweide-map__stage {
  position: relative;
  min-height: 33rem;
  margin-top: 4.2rem;
  margin-bottom: 5.8rem;
}

.iss-schoneweide-map__stage::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 7%;
  top: 54%;
  height: 2px;
  background: linear-gradient(90deg, rgba(30, 30, 30, 0.48), rgba(30, 30, 30, 0.62));
  transform: translateY(-50%);
}

.iss-schoneweide-map__stage::after {
  content: "";
  position: absolute;
  right: 7%;
  top: calc(54% - 0.42rem);
  width: 0.95rem;
  height: 0.95rem;
  border-top: 2px solid rgba(30, 30, 30, 0.62);
  border-right: 2px solid rgba(30, 30, 30, 0.62);
  transform: rotate(45deg);
}

.iss-schoneweide-map__stage-inner {
  position: absolute;
  inset: 0;
}

.iss-schoneweide-map__marker {
  position: absolute;
  top: var(--iss-marker-y);
  left: var(--iss-marker-x);
  z-index: 2;
  width: 1.9rem;
  height: 1.9rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transform: translate(-50%, -50%);
}

.iss-schoneweide-map__marker::before {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  background: rgba(30, 30, 30, 0.18);
  transform: translateX(-50%);
}

.iss-schoneweide-map__marker[data-side="above"]::before {
  top: calc(100% - 0.05rem);
  height: var(--iss-marker-stem);
}

.iss-schoneweide-map__marker[data-side="below"]::before {
  bottom: calc(100% - 0.05rem);
  height: var(--iss-marker-stem);
}

.iss-schoneweide-map__marker-dot {
  display: block;
  width: 1rem;
  height: 1rem;
  margin: 0 auto;
  border: 3px solid rgba(255, 255, 255, 0.98);
  border-radius: 999px;
  background: var(--iss-red);
  box-shadow: 0 0 0 0 rgba(207, 34, 44, 0.25);
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.iss-schoneweide-map__marker[data-status="aktiv"] .iss-schoneweide-map__marker-dot {
  background: #1d1d1d;
}

.iss-schoneweide-map__marker[data-status="entwicklung"] .iss-schoneweide-map__marker-dot {
  background: var(--iss-red);
}

.iss-schoneweide-map__marker[data-status="geplant"] .iss-schoneweide-map__marker-dot {
  background: var(--iss-brown);
}

.iss-schoneweide-map__marker[data-status="unklar"] .iss-schoneweide-map__marker-dot,
.iss-schoneweide-map__marker[data-status="abzug"] .iss-schoneweide-map__marker-dot,
.iss-schoneweide-map__marker[data-status="sucht"] .iss-schoneweide-map__marker-dot {
  background: #8f8f8f;
}

.iss-schoneweide-map__marker:hover .iss-schoneweide-map__marker-dot,
.iss-schoneweide-map__marker:focus-visible .iss-schoneweide-map__marker-dot,
.iss-schoneweide-map__marker.is-active .iss-schoneweide-map__marker-dot {
  transform: scale(1.28);
  box-shadow: 0 0 0 0.55rem rgba(207, 34, 44, 0.14);
}

.iss-schoneweide-map__anchor {
  position: absolute;
  bottom: 1.5rem;
  left: var(--iss-anchor-x);
  z-index: 3;
  max-width: 8.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(30, 30, 30, 0.94);
  font: inherit;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
  transform: translateX(-50%);
}

.iss-schoneweide-map__anchor::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.5rem);
  width: 1px;
  height: 2.2rem;
  background: rgba(30, 30, 30, 0.18);
  transform: translateX(-50%);
}

.iss-schoneweide-map__anchor.is-active {
  color: var(--iss-red);
}

.iss-schoneweide-map__detail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: clamp(1.25rem, 3vw, 1.65rem);
}

.iss-schoneweide-map__loading,
.iss-schoneweide-map__empty {
  margin: 0;
  color: rgba(30, 30, 30, 0.62);
}

.iss-schoneweide-map__detail-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.iss-schoneweide-map__detail-meta,
.iss-register-place__hero-term,
.iss-register-place__term .wp-block-post-terms__separator,
.iss-register-place__fact-label,
.iss-schoneweide-map__filter-label,
.iss-schoneweide-map__detail-fact-label {
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.iss-schoneweide-map__detail-meta {
  margin: 0;
  color: rgba(30, 30, 30, 0.7);
}

.iss-schoneweide-map__detail-close {
  flex: 0 0 auto;
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(30, 30, 30, 0.72);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.iss-schoneweide-map__detail-title {
  margin: 0;
  font-size: clamp(1.7rem, 1.4rem + 0.9vw, 2.4rem);
  line-height: 1.05;
}

.iss-schoneweide-map__detail-address,
.iss-register-place__fact-value,
.iss-register-place__term,
.iss-register-place__term a,
.iss-register-place__fact-value a,
.iss-schoneweide-map__detail-text,
.iss-schoneweide-map__detail-link {
  color: rgba(30, 30, 30, 0.78);
}

.iss-schoneweide-map__detail-address,
.iss-schoneweide-map__detail-text,
.iss-register-place__fact-value,
.iss-register-place__term {
  margin: 0;
  line-height: 1.58;
}

.iss-schoneweide-map__detail-facts {
  display: grid;
  gap: 0.8rem;
  padding: 1rem 1.05rem;
  border-radius: 1rem;
  background: rgba(207, 34, 44, 0.05);
}

.iss-schoneweide-map__detail-fact {
  display: grid;
  gap: 0.2rem;
}

.iss-schoneweide-map__detail-fact-label,
.iss-register-place__fact-label {
  margin: 0;
  color: rgba(30, 30, 30, 0.48);
}

.iss-schoneweide-map__detail-fact-value {
  color: rgba(30, 30, 30, 0.92);
  line-height: 1.45;
}

.iss-schoneweide-map__detail-actions {
  flex-wrap: wrap;
  gap: 0.8rem 1rem;
}

.iss-schoneweide-map__detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0.7rem 1rem;
  border-radius: 0.95rem;
  text-decoration: none;
}

.iss-schoneweide-map__detail-link--primary {
  background: var(--iss-black);
  color: var(--iss-white);
}

.iss-schoneweide-map__detail-link--primary::after,
.iss-schoneweide-map__detail-link::after {
  content: "→";
  margin-left: 0.55rem;
}

.iss-schoneweide-map__detail-link:not(.iss-schoneweide-map__detail-link--primary) {
  background: rgba(255, 255, 255, 0.72);
}

.iss-schoneweide-map__detail-media img,
.iss-schoneweide-map__detail-visual {
  display: block;
  width: 100%;
  border-radius: 1rem;
}

.iss-schoneweide-map__detail-media img {
  height: auto;
}

.iss-schoneweide-map__detail-visual {
  min-height: 13rem;
}

.iss-schoneweide-map__detail-visual--generated {
  display: grid;
  align-content: end;
  gap: 0.55rem;
  padding: 1.25rem;
  color: var(--iss-white);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.iss-schoneweide-map__detail-icon {
  font-size: 2.4rem;
  line-height: 1;
}

.iss-schoneweide-map__detail-overline {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.iss-schoneweide-map__detail-visual-title {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.15;
}

.iss-schoneweide-map__helper {
  position: absolute;
  left: 1.35rem;
  bottom: 1.2rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  color: rgba(30, 30, 30, 0.66);
}

.iss-schoneweide-map__helper strong,
.iss-schoneweide-map__helper span {
  display: block;
}

.iss-schoneweide-map__helper strong {
  color: rgba(30, 30, 30, 0.92);
}

.iss-schoneweide-map__helper-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid rgba(30, 30, 30, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--iss-red);
  font-size: 1.2rem;
}

.iss-schoneweide-map__filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  margin-top: 1rem;
  padding: 1.1rem 1.25rem;
}

.iss-schoneweide-map__filter-group {
  display: grid;
  gap: 0.65rem;
  align-content: start;
}

.iss-schoneweide-map__filter-label {
  color: rgba(30, 30, 30, 0.68);
}

.iss-schoneweide-map__filter-options {
  flex-wrap: wrap;
  gap: 0.55rem;
}

.iss-schoneweide-map__filter-button {
  min-height: 2.4rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid rgba(30, 30, 30, 0.12);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.9);
  color: rgba(30, 30, 30, 0.82);
  font: inherit;
  line-height: 1.25;
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.iss-schoneweide-map__filter-button:hover,
.iss-schoneweide-map__filter-button:focus-visible {
  border-color: rgba(207, 34, 44, 0.32);
}

.iss-schoneweide-map__filter-button.is-active {
  border-color: rgba(207, 34, 44, 0.4);
  background: rgba(207, 34, 44, 0.12);
  color: rgba(127, 18, 26, 0.94);
}

.iss-schoneweide-map__filter-button.is-active[data-filter-value=""] {
  background: var(--iss-black);
  border-color: var(--iss-black);
  color: var(--iss-white);
}

.iss-register-place__hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem 0.6rem;
  margin-top: 1rem;
}

.iss-register-place__hero-term {
  margin: 0;
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.34rem 0.58rem;
  border-radius: var(--iss-radius-sm, 4px);
  background: rgba(255, 255, 255, 0.86);
  color: var(--iss-black);
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: uppercase;
}

.iss-register-place__hero-term a {
  color: inherit;
  text-decoration: none;
}

.iss-register-place__fact-label {
  margin: 0;
  color: rgba(30, 30, 30, 0.5);
  font-size: 0.76rem;
}

.iss-register-places-grid {
  margin-top: clamp(1.5rem, 3vw, 2rem);
}

.iss-register-places-query .wp-block-post-template {
  margin-top: clamp(1.5rem, 3vw, 2rem);
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.iss-register-places-query .wp-block-post {
  margin: 0;
}

.iss-register-place-card .iss-card__body {
  gap: 0.75rem;
}

.iss-register-place-card__meta {
  gap: 0.45rem 0.75rem;
}

.iss-register-place-card__meta .wp-block-post-terms {
  margin: 0;
  color: rgba(30, 30, 30, 0.54);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.iss-register-place-card__meta a {
  color: inherit;
  text-decoration: none;
}

.iss-register-place-card__address {
  margin: -0.1rem 0 0;
  color: rgba(30, 30, 30, 0.64);
  font-size: 0.9rem;
  line-height: 1.45;
}

.iss-register-place-card .iss-card__text {
  font-size: 0.95rem;
  line-height: 1.6;
}

.iss-register-place-card .iss-card__footer {
  padding-top: 0.1rem;
}

.iss-register-place-page .wp-block-cover.iss-front-hero {
  --iss-hero-min-h: 31rem;
  --iss-hero-pad-bottom: 3rem;
}

.iss-register-place-page .iss-front-hero__title {
  max-width: 15ch;
}

.iss-register-place-atlas {
  padding: 0;
  border-top: 1px solid rgba(30, 30, 30, 0.12);
  border-bottom: 1px solid rgba(30, 30, 30, 0.12);
  background: var(--iss-white);
}

.iss-register-place-atlas .iss-container {
  padding-top: clamp(1.1rem, 2.4vw, 1.7rem);
  padding-bottom: clamp(1.1rem, 2.4vw, 1.7rem);
}

.iss-register-place-atlas .iss-atlas-slice {
  grid-template-columns: minmax(0, 1.65fr) minmax(17rem, 0.72fr);
  gap: 0;
  border-top: 2px solid var(--iss-black);
  border-bottom: 1px solid rgba(30, 30, 30, 0.16);
}

.iss-register-place-atlas .iss-atlas-slice__stage,
.iss-register-place-atlas .iss-atlas-slice__body {
  border-color: rgba(30, 30, 30, 0.16);
  border-radius: 0;
}

.iss-register-place-atlas .iss-atlas-slice__stage {
  min-height: clamp(12rem, 22vw, 17rem);
  border-width: 0 1px 0 0;
}

.iss-register-place-atlas .iss-atlas-slice__body {
  align-content: center;
  padding: clamp(1rem, 2.2vw, 1.45rem);
  border-width: 0;
  background: var(--iss-white);
}

.iss-register-place-atlas .iss-atlas-slice__eyebrow {
  color: rgba(30, 30, 30, 0.54);
  letter-spacing: 0;
}

.iss-register-place-atlas .iss-atlas-slice__title {
  font-size: clamp(1.08rem, 1rem + 0.35vw, 1.32rem);
  letter-spacing: 0;
}

.iss-register-place-atlas .iss-related-place-map__marker {
  width: 2rem;
  height: 2rem;
}

.iss-register-place-story {
  background: rgba(246, 246, 247, 0.96);
}

.iss-register-place__dossier-grid {
  display: grid;
  grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
  gap: 2.2rem;
  align-items: start;
}

.iss-register-place__network-rail {
  position: sticky;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.2rem);
  display: grid;
  gap: 1.15rem;
  align-self: start;
}

.iss-register-place__summary {
  display: grid;
  gap: 0.85rem;
  padding-top: 0.95rem;
  border-top: 2px solid var(--iss-black);
}

.iss-register-place__summary-heading {
  gap: 0.35rem;
}

.iss-register-place__summary .iss-register-place__fact + .iss-register-place__fact {
  padding-top: 0.75rem;
  border-top: 1px solid rgba(30, 30, 30, 0.1);
}

.iss-register-place__terms {
  display: grid;
  gap: 0.8rem;
  padding: 1.05rem 0 0;
}

.iss-register-place__section {
  display: grid;
  gap: 1rem;
}

.iss-register-place__section + .iss-register-place__section {
  margin-top: clamp(2.25rem, 5vw, 4rem);
  padding-top: clamp(1.75rem, 4vw, 3rem);
  border-top: 1px solid rgba(30, 30, 30, 0.1);
}

.iss-register-place__section-title {
  margin: 0;
  font-size: clamp(1.35rem, 1.2rem + 0.55vw, 1.8rem);
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
}

.iss-register-place__lead-primary,
.iss-register-place__lead-secondary {
  margin: 0;
}

.iss-register-place__lead-primary {
  font-size: clamp(1.04rem, 0.98rem + 0.22vw, 1.18rem);
  line-height: 1.68;
  color: rgba(30, 30, 30, 0.9);
}

.iss-register-place__lead-secondary {
  font-size: 0.98rem;
  line-height: 1.72;
  color: rgba(30, 30, 30, 0.76);
}

.iss-register-place__fact {
  display: grid;
  gap: 0.3rem;
}

.iss-register-place__fact-value {
  font-size: 0.98rem;
}

.iss-register-place__fact-value--terms {
  margin: 0;
}

.iss-register-place__fact-value--terms a {
  color: inherit;
  text-decoration: none;
}

.iss-register-place__content {
  min-width: 0;
}

.iss-register-place__body {
  margin-top: 1.25rem;
}

.iss-register-place__section .iss-register-place__body {
  margin-top: 0.2rem;
}

.iss-register-place__lead {
  display: grid;
  gap: 1rem;
}

.iss-register-place__compact-facts {
  margin-top: 0.8rem;
}

.iss-register-place__compact-facts .wp-block-group {
  margin: 0;
}

.iss-register-place__compact-facts > .wp-block-group,
.iss-register-place__compact-facts > .iss-register-place__compact-fact,
.iss-register-place__chip-list {
  display: grid;
  gap: 0.8rem;
}

.iss-register-place__compact-facts > .wp-block-group {
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  padding-top: 1rem;
  border-top: 1px solid rgba(30, 30, 30, 0.12);
}

.iss-register-place__compact-fact {
  gap: 0.35rem;
  padding-right: 0.9rem;
  border-right: 1px solid rgba(30, 30, 30, 0.1);
}

.iss-register-place__compact-label,
.iss-register-place__today-label {
  margin: 0;
  color: rgba(30, 30, 30, 0.52);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.iss-register-place__compact-value,
.iss-register-place__today-value {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
}

.iss-register-place__term {
  margin: 0;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 2rem;
  padding: 0.35rem 0.8rem;
  border: 1px solid rgba(30, 30, 30, 0.14);
  border-radius: var(--iss-radius-sm, 4px);
  background: rgba(255, 255, 255, 0.65);
  line-height: 1.4;
}

.iss-register-place__term a {
  color: inherit;
  text-decoration: none;
}

.iss-relation-network {
  border-top: 1px solid var(--iss-relation-network-rule, var(--iss-surface-rule, rgba(30, 30, 30, 0.16)));
}

.iss-relation-network:not(:has(.iss-related-network-group)) {
  display: none;
}

.iss-relation-network__rail {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1rem, 2vw, 1.45rem);
  align-items: start;
}

.iss-relation-network__rail > * {
  min-width: 0;
  margin: 0;
}

.iss-relation-network__rail .iss-related-network-group {
  padding-top: var(--iss-relation-network-group-padding, 0.72rem);
  border-top-color: var(--iss-relation-network-group-rule, var(--iss-surface-rule, rgba(30, 30, 30, 0.16)));
}

.iss-relation-network__rail .iss-related-network-group__title {
  font-size: var(--iss-relation-network-title-size, 1rem);
}

.iss-related-place-links,
.iss-related-network-group {
  display: grid;
  gap: 0.62rem;
  padding-top: 0.72rem;
  border-top: 1px solid var(--iss-surface-rule, rgba(30, 30, 30, 0.16));
}

.iss-related-place-links__head,
.iss-related-network-group__head {
  display: grid;
  gap: 0.18rem;
}

.iss-related-place-links__kicker,
.iss-related-network-group__kicker {
  margin: 0;
  color: var(--iss-surface-muted, rgba(30, 30, 30, 0.72));
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: uppercase;
}

.iss-related-place-links__title,
.iss-related-network-group__title {
  margin: 0;
  color: var(--iss-surface-fg, var(--iss-black));
  font-size: 0.94rem;
  line-height: 1.22;
}

.iss-related-network-group__text {
  margin: 0;
  color: var(--iss-surface-muted, rgba(30, 30, 30, 0.7));
  font-size: 0.82rem;
  line-height: 1.5;
}

.iss-related-place-links__list,
.iss-related-network-group__list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.iss-related-place-links__item,
.iss-related-network-group__item {
  display: grid;
  gap: 0.18rem;
  padding: 0.58rem 0;
  border-top: 1px solid var(--iss-surface-rule, rgba(30, 30, 30, 0.09));
}

.iss-related-place-links__item:first-child,
.iss-related-network-group__item:first-child {
  border-top: 0;
}

.iss-related-place-links__link,
.iss-related-network-group__link {
  color: var(--iss-surface-fg, var(--iss-black));
  font-size: 0.9rem;
  font-weight: 680;
  line-height: 1.35;
  text-decoration: none;
}

.iss-related-place-links__meta,
.iss-related-network-group__meta {
  color: var(--iss-surface-muted, rgba(30, 30, 30, 0.72));
  font-size: 0.74rem;
  line-height: 1.35;
}

.iss-related-network-group--layout-register {
  gap: clamp(1rem, 2vw, 1.35rem);
  width: min(100%, 42rem);
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-top: 0;
  border-top: 0;
}

.iss-related-network-group--layout-register .iss-related-network-group__head {
  gap: clamp(0.45rem, 1vw, 0.7rem);
}

.iss-related-network-group--layout-register .iss-related-network-group__kicker {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--iss-surface-fg, var(--iss-black));
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.iss-related-network-group--layout-register .iss-related-network-group__kicker::before {
  content: "";
  display: block;
  width: 0.44rem;
  height: 0.44rem;
  border-radius: 999px;
  background: var(--iss-kicker-accent, var(--iss-accent));
}

.iss-related-network-group--layout-register .iss-related-network-group__title {
  font-size: clamp(1.55rem, 2.8vw, 1.9rem);
  font-weight: 520;
  line-height: 1.04;
}

.iss-related-network-group--layout-register .iss-related-network-group__list {
  border-top: 2px solid var(--iss-surface-fg, var(--iss-black));
}

.iss-related-network-group--layout-register .iss-related-network-group__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.22rem clamp(1rem, 2vw, 1.35rem);
  align-items: center;
  padding: clamp(0.95rem, 1.8vw, 1.1rem) 0;
  border-top: 1px solid var(--iss-surface-rule, rgba(30, 30, 30, 0.16));
}

.iss-related-network-group--layout-register .iss-related-network-group__item:first-child {
  border-top: 0;
}

.iss-related-network-group--layout-register .iss-related-network-group__item:last-child {
  border-bottom: 1px solid var(--iss-surface-rule, rgba(30, 30, 30, 0.16));
}

.iss-related-network-group--layout-register .iss-related-network-group__type {
  display: block;
  grid-column: 1;
  color: var(--iss-accent);
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.iss-related-network-group--layout-register .iss-related-network-group__link {
  grid-column: 1;
  color: var(--iss-surface-fg, var(--iss-black));
  font-size: clamp(1.08rem, 1.8vw, 1.32rem);
  font-weight: 560;
  line-height: 1.15;
}

.iss-related-network-group--layout-register .iss-related-network-group__link::after {
  content: "";
  position: absolute;
  inset: 0;
}

.iss-related-network-group--layout-register .iss-related-network-group__item::after {
  content: "\2192";
  grid-row: 1 / span 3;
  grid-column: 2;
  color: var(--iss-surface-fg, var(--iss-black));
  font-size: 1.15rem;
  line-height: 1;
  transition:
    color var(--iss-transition),
    transform var(--iss-transition);
}

.iss-related-network-group--layout-register .iss-related-network-group__meta {
  grid-column: 1;
  color: var(--iss-surface-muted, rgba(30, 30, 30, 0.62));
  font-size: 0.82rem;
  line-height: 1.35;
}

.iss-related-network-group--layout-register .iss-related-network-group__item:hover .iss-related-network-group__link,
.iss-related-network-group--layout-register .iss-related-network-group__item:focus-within .iss-related-network-group__link,
.iss-related-network-group--layout-register .iss-related-network-group__item:hover::after,
.iss-related-network-group--layout-register .iss-related-network-group__item:focus-within::after {
  color: var(--iss-accent);
}

.iss-related-network-group--layout-register .iss-related-network-group__item:hover::after,
.iss-related-network-group--layout-register .iss-related-network-group__item:focus-within::after {
  transform: translateX(0.25rem);
}

.iss-register-place__epoch-rail {
  border-top: 2px solid var(--iss-black);
}

.iss-register-place__epoch-row {
  display: grid;
  grid-template-columns: minmax(5.2rem, 8rem) minmax(0, 1fr);
  gap: 1.1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(30, 30, 30, 0.12);
}

.iss-register-place__epoch-row.is-current {
  padding-left: 0.8rem;
  border-left: 3px solid var(--iss-accent);
}

.iss-register-place__epoch-index,
.iss-register-place__epoch-body {
  display: grid;
  gap: 0.35rem;
}

.iss-register-place__epoch-years {
  margin: 0;
  color: var(--iss-accent);
  font-family: var(--wp--preset--font-family--mono, monospace);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.2;
}

.iss-register-place__epoch-meta,
.iss-register-place__epoch-source {
  margin: 0;
  color: rgba(30, 30, 30, 0.56);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: uppercase;
}

.iss-register-place__epoch-title {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.22;
}

.iss-register-place__epoch-text {
  margin: 0;
  color: rgba(30, 30, 30, 0.78);
  font-size: 0.96rem;
  line-height: 1.62;
}

.iss-register-place__data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 2px solid var(--iss-black);
}

.iss-register-place__data-item {
  display: grid;
  gap: 0.28rem;
  padding: 0.82rem 0.9rem 0.86rem 0;
  border-bottom: 1px solid rgba(30, 30, 30, 0.12);
}

.iss-register-place__data-item:nth-child(odd) {
  border-right: 1px solid rgba(30, 30, 30, 0.1);
}

.iss-register-place__data-item:nth-child(even) {
  padding-left: 0.9rem;
}

.iss-register-place__data-label,
.iss-register-place__interpretation-label {
  margin: 0;
  color: rgba(30, 30, 30, 0.54);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: uppercase;
}

.iss-register-place__data-value,
.iss-register-place__interpretation-text {
  margin: 0;
  color: rgba(30, 30, 30, 0.84);
  font-size: 0.96rem;
  line-height: 1.55;
}

.iss-register-place__data-value a {
  color: inherit;
}

.iss-register-place__interpretation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}

.iss-register-place__interpretation-item {
  display: grid;
  gap: 0.45rem;
  padding-top: 0.78rem;
  border-top: 3px solid var(--iss-accent);
}

.iss-register-place__interpretation-item--potential {
  border-top-color: var(--iss-green);
}

.iss-register-place__interpretation-item--risk {
  border-top-color: var(--iss-red);
}

.iss-register-place__interpretation-item--question {
  border-top-color: var(--iss-blue);
}

@media (max-width: 900px) {
  .iss-register-place-atlas .iss-atlas-slice {
    grid-template-columns: minmax(0, 1fr);
  }

  .iss-register-place-atlas .iss-atlas-slice__stage {
    width: 100%;
    height: auto;
  }

  .iss-register-place__dossier-grid,
  .iss-register-place__data-grid,
  .iss-register-place__interpretation {
    grid-template-columns: 1fr;
  }

  .iss-register-place__network-rail {
    position: static;
  }

  .iss-register-place__data-item,
  .iss-register-place__data-item:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
  }

  .iss-register-place__data-item:nth-child(odd) {
    border-right: 0;
  }
}

@media (max-width: 640px) {
  .iss-register-place-page .wp-block-cover.iss-front-hero {
    --iss-hero-min-h: 25rem;
  }

  .iss-register-place__epoch-row {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }
}

.iss-related-feed__intro {
  max-width: 40rem;
}

.iss-related-feed__text {
  margin: 0.6rem 0 0;
  color: rgba(30, 30, 30, 0.82);
  font-size: 0.96rem;
  line-height: 1.58;
}

.iss-related-feed,
.iss-related-cards {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.iss-related-feed--skin-default {
  --iss-related-feed-media-rail: var(--iss-accent);
  --iss-related-feed-media-hover-border: rgba(var(--iss-accent-rgb), 0.28);
  --iss-related-feed-media-hover-shadow: inset 0 0 0 1px rgba(var(--iss-accent-rgb), 0.08);
  --iss-related-feed-media-bg: rgba(var(--iss-accent-rgb), 0.04);
  --iss-related-feed-placeholder-bg:
    linear-gradient(180deg, rgba(var(--iss-accent-rgb), 0.08), rgba(255, 255, 255, 0.98));
  --iss-related-feed-meta-color: rgba(30, 30, 30, 0.62);
  --iss-related-feed-detail-color: rgba(30, 30, 30, 0.72);
}

.iss-related-feed--skin-exhibition {
  --iss-related-feed-media-rail: var(--iss-brown);
  --iss-related-feed-media-hover-border: rgba(117, 58, 24, 0.32);
  --iss-related-feed-media-hover-shadow: inset 0 0 0 1px rgba(117, 58, 24, 0.09);
  --iss-related-feed-media-bg: rgba(117, 58, 24, 0.06);
  --iss-related-feed-placeholder-bg:
    linear-gradient(180deg, rgba(117, 58, 24, 0.1), rgba(255, 255, 255, 0.97));
  --iss-related-feed-meta-color: rgba(117, 58, 24, 0.8);
  --iss-related-feed-detail-color: rgba(117, 58, 24, 0.88);
}

.iss-related-feed__carousel {
  --iss-related-feed-carousel-control-size: clamp(2.85rem, 3.4vw, 3.35rem);
  --iss-related-feed-carousel-control-offset: 0.45rem;
  --iss-related-feed-carousel-control-top: 50%;
  --iss-related-feed-carousel-control-bg: rgba(255, 255, 255, 0.76);
  --iss-related-feed-carousel-control-border: rgba(30, 30, 30, 0.12);
  --iss-related-feed-carousel-control-fg: var(--iss-red);
  --iss-related-feed-carousel-control-hover-bg: var(--iss-red);
  --iss-related-feed-carousel-control-hover-fg: var(--iss-white);
  --iss-related-feed-carousel-control-shadow: 0 0.7rem 1.4rem rgba(30, 30, 30, 0.12);

  display: grid;
  position: relative;
  gap: 0.85rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.iss-related-feed__carousel-controls {
  display: none;
  position: absolute;
  top: var(--iss-related-feed-carousel-control-top);
  right: var(--iss-related-feed-carousel-control-offset);
  left: var(--iss-related-feed-carousel-control-offset);
  z-index: 2;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 0;
  width: auto;
  height: var(--iss-related-feed-carousel-control-size);
  pointer-events: none;
  transform: translateY(-50%);
}

.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__carousel-controls {
  display: flex;
}

.iss-related-feed__carousel-control {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: var(--iss-related-feed-carousel-control-size);
  min-width: var(--iss-related-feed-carousel-control-size);
  height: var(--iss-related-feed-carousel-control-size);
  min-height: var(--iss-related-feed-carousel-control-size);
  padding: 0;
  border: 1px solid var(--iss-related-feed-carousel-control-border);
  border-radius: 999px;
  background: var(--iss-related-feed-carousel-control-bg);
  box-shadow: var(--iss-related-feed-carousel-control-shadow);
  color: var(--iss-related-feed-carousel-control-fg);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  transition:
    background-color var(--iss-transition),
    border-color var(--iss-transition),
    box-shadow var(--iss-transition),
    color var(--iss-transition),
    opacity var(--iss-transition),
    transform var(--iss-transition);
}

.iss-related-feed__carousel-control[disabled] {
  opacity: 0.28;
  cursor: default;
}

.iss-related-feed__carousel-control:not([disabled]):hover,
.iss-related-feed__carousel-control:not([disabled]):focus-visible {
  border-color: var(--iss-related-feed-carousel-control-hover-bg);
  background: var(--iss-related-feed-carousel-control-hover-bg);
  color: var(--iss-related-feed-carousel-control-hover-fg);
  box-shadow: 0 0.85rem 1.65rem rgba(30, 30, 30, 0.16);
  transform: translateY(-1px);
}

.iss-related-feed__carousel-control-icon {
  font-size: 0;
  line-height: 1;
}

.iss-related-feed__carousel-control-icon::before {
  display: block;
  font-size: 2.55rem;
  font-weight: 700;
  line-height: 1;
}

.iss-related-feed__carousel-control--prev .iss-related-feed__carousel-control-icon::before {
  content: "\2039";
}

.iss-related-feed__carousel-control--next .iss-related-feed__carousel-control-icon::before {
  content: "\203a";
}

.iss-related-feed__carousel-control-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.iss-related-feed__grid {
  display: grid;
  gap: 1.4rem;
  margin-top: clamp(1.4rem, 3vw, 2rem);
}

.iss-related-feed__grid--fuehrung,
.iss-related-feed__grid--veranstaltung,
.iss-related-feed__grid--post,
.iss-related-feed__grid--ausstellung,
.iss-related-feed__grid--publication,
.iss-related-feed__grid--video,
.iss-related-feed__grid--projekt,
.iss-related-feed__grid--mixed,
.iss-related-feed__grid--page {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iss-related-feed__grid--columns-1,
.iss-related-feed__grid--layout-stack,
.iss-related-feed__grid--layout-compact {
  grid-template-columns: 1fr;
}

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

.iss-related-feed__grid--columns-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iss-related-feed__grid--columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.iss-related-feed__grid--columns-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.iss-related-feed__grid--columns-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.iss-related-feed__grid--layout-strip {
  --iss-related-feed-strip-card-width: clamp(15.75rem, 24vw, 20rem);

  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 100%;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0.45rem;
  gap: 1.4rem;
  scroll-padding-inline: 0.15rem;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  cursor: grab;
  user-select: none;
}

.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-card,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-card__media,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-card__body,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-related-feed__media-shell,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-card__title,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-related-feed__detail,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-related-feed__meta,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-card__footer {
  cursor: grab;
}

.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip {
  padding-inline: calc(var(--iss-related-feed-carousel-control-size) + 0.7rem);
  scroll-padding-inline: calc(var(--iss-related-feed-carousel-control-size) + 0.7rem);
  scrollbar-width: none;
}

.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip::-webkit-scrollbar {
  display: none;
}

.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-card,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-card__media,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-card__body,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-related-feed__media-shell,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-card__title,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-related-feed__detail,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-related-feed__meta,
.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip.is-dragging .iss-card__footer {
  cursor: grabbing;
}

.iss-related-feed__carousel.is-carousel-ready .iss-related-feed__grid--layout-strip .iss-card__media img {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

.iss-related-feed__grid > * {
  min-width: 0;
}

.iss-related-feed__grid--layout-strip > * {
  flex: 0 0 var(--iss-related-feed-strip-card-width);
  width: var(--iss-related-feed-strip-card-width);
  scroll-snap-align: start;
}

.iss-related-feed__grid .iss-card {
  --iss-card-rail-width: 0;
  --iss-card-rail-width-hover: 0;

  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.iss-related-feed__grid .iss-card:hover,
.iss-related-feed__grid .iss-card:focus-within {
  background: transparent;
}

.iss-related-feed__grid .iss-related-feed__media-shell {
  --iss-media-card-border-width: 1px;
  --iss-media-card-rail-color: var(--iss-related-feed-media-rail, var(--iss-accent));
  --iss-media-card-shadow: none;
  --iss-media-card-radius: var(--iss-radius-sm);

  transition:
    border-color var(--iss-transition),
    box-shadow var(--iss-transition);
}

.iss-related-feed__grid .iss-card:hover .iss-related-feed__media-shell,
.iss-related-feed__grid .iss-card:focus-within .iss-related-feed__media-shell {
  border-color: var(--iss-related-feed-media-hover-border, rgba(var(--iss-accent-rgb), 0.28));
  box-shadow: var(--iss-related-feed-media-hover-shadow, inset 0 0 0 1px rgba(var(--iss-accent-rgb), 0.08));
}

.iss-related-feed__grid .iss-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: var(--iss-related-feed-media-bg, rgba(var(--iss-accent-rgb), 0.04));
}

.iss-related-feed__grid .iss-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.iss-related-feed__grid .iss-related-feed__placeholder {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 0.9rem;
  background: var(--iss-related-feed-placeholder-bg, linear-gradient(180deg, rgba(var(--iss-accent-rgb), 0.08), rgba(255, 255, 255, 0.98)));
  text-decoration: none;
}

.iss-related-feed__grid .iss-related-feed__placeholder--image {
  padding: 0;
  background: var(--iss-related-feed-media-bg, rgba(var(--iss-accent-rgb), 0.04));
}

.iss-related-feed__grid .iss-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.45rem;
  height: auto;
  padding: 0;
}

.iss-related-feed__grid .iss-card__title {
  margin: 0;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.14rem);
  line-height: 1.25;
  min-height: 0;
}

.iss-related-feed__grid .iss-card__text {
  margin: 0;
  color: rgba(30, 30, 30, 0.74);
  font-size: 0.92rem;
  line-height: 1.5;
}

.iss-related-feed__grid .iss-card__footer {
  margin-top: auto;
  padding-top: 0.15rem;
}

.iss-related-feed__meta {
  margin: 0;
  color: var(--iss-related-feed-meta-color, rgba(30, 30, 30, 0.62));
  font-size: 0.82rem;
  line-height: 1.42;
  font-weight: 700;
}

.iss-related-feed__detail {
  margin: 0;
  color: var(--iss-related-feed-detail-color, rgba(30, 30, 30, 0.72));
  font-size: 0.82rem;
  line-height: 1.42;
  font-weight: 700;
}

.iss-related-links a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.iss-related-links a:hover,
.iss-related-links a:focus-visible {
  color: var(--iss-red);
}

.iss-related-place-map__shell {
  display: grid;
  gap: clamp(1.4rem, 2vw, 2rem);
  padding: clamp(1.2rem, 2vw, 1.65rem);
  border: 1px solid rgba(30, 30, 30, 0.12);
  background: linear-gradient(180deg, rgba(246, 246, 247, 0.98) 0%, rgba(255, 255, 255, 0.94) 100%);
  box-shadow: 0 14px 34px rgba(30, 30, 30, 0.05);
}

.iss-related-place-map__intro {
  max-width: 42rem;
}

.iss-related-place-map__intro > *:last-child {
  margin-bottom: 0;
}

.iss-related-place-map__cta {
  margin: 0;
}

.iss-related-place-map__body {
  display: grid;
  gap: clamp(1rem, 1.8vw, 1.5rem);
  align-items: start;
}

.iss-related-place-map__body--panel-show.iss-related-place-map__body--panel-right {
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
}

.iss-related-place-map__body--panel-show.iss-related-place-map__body--panel-below,
.iss-related-place-map__body--panel-hide {
  grid-template-columns: minmax(0, 1fr);
}

.iss-related-place-map__stage,
.iss-related-place-map__panel,
.iss-related-place-map__empty {
  position: relative;
  min-width: 0;
  border: 1px solid rgba(30, 30, 30, 0.11);
  background: rgba(255, 255, 255, 0.95);
}

.iss-related-place-map__stage,
.iss-related-place-map__empty {
  min-height: 0;
}

.iss-related-place-map__stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: var(--iss-related-place-map-ratio, 2400 / 1313);
  background: var(--iss-surface-map);
}

.iss-related-place-map__marker {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  transform: translate(-50%, -50%);
  pointer-events: auto;
  text-decoration: none;
}

.iss-related-place-map__marker-dot {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 1px solid rgba(30, 30, 30, 0.2);
  background: rgba(22, 18, 15, 0.9);
  box-shadow:
    0 0 0 0.45rem rgba(183, 75, 38, 0.14),
    0 8px 22px rgba(22, 18, 15, 0.16);
}

.iss-related-place-map__marker-label {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
}

.iss-related-place-map__marker:hover .iss-related-place-map__marker-dot,
.iss-related-place-map__marker:focus-visible .iss-related-place-map__marker-dot {
  background: var(--iss-red);
  box-shadow:
    0 0 0 0.6rem rgba(183, 75, 38, 0.2),
    0 10px 26px rgba(22, 18, 15, 0.18);
}

.iss-related-place-map__marker:focus-visible {
  outline: none;
}

.iss-related-place-map__empty {
  display: grid;
  place-items: center;
  padding: 1.25rem;
  color: rgba(30, 30, 30, 0.72);
  text-align: center;
}

.iss-related-place-map__panel {
  display: grid;
  gap: 0;
}

.iss-related-place-map__entry {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.9rem;
  padding: 1rem 1.05rem;
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}

.iss-related-place-map__entry:last-child {
  border-bottom: 0;
}

.iss-related-place-map__entry-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 999px;
  background: rgba(22, 18, 15, 0.92);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
}

.iss-related-place-map__entry-body {
  min-width: 0;
}

.iss-related-place-map__entry-kicker,
.iss-related-place-map__entry-title,
.iss-related-place-map__entry-text,
.iss-related-place-map__entry-link {
  margin-top: 0;
}

.iss-related-place-map__entry-kicker {
  margin-bottom: 0.3rem;
  color: rgba(30, 30, 30, 0.58);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.iss-related-place-map__entry-title {
  margin-bottom: 0.4rem;
  font-size: 1.08rem;
  line-height: 1.2;
}

.iss-related-place-map__entry-title a {
  color: inherit;
  text-decoration: none;
}

.iss-related-place-map__entry-title a:hover,
.iss-related-place-map__entry-title a:focus-visible {
  color: var(--iss-red);
}

.iss-related-place-map__entry-text {
  margin-bottom: 0.55rem;
  color: rgba(30, 30, 30, 0.78);
  font-size: 0.95rem;
  line-height: 1.55;
}

.iss-related-place-map__entry-link {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .iss-related-place-map__body--panel-show.iss-related-place-map__body--panel-right {
    grid-template-columns: minmax(0, 1fr);
  }

  .iss-related-feed__grid--veranstaltung,
  .iss-related-feed__grid--post,
  .iss-related-feed__grid--ausstellung,
  .iss-related-feed__grid--publication,
  .iss-related-feed__grid--video,
  .iss-related-feed__grid--projekt,
  .iss-related-feed__grid--mixed,
  .iss-related-feed__grid--page {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iss-related-feed__grid--layout-strip {
    --iss-related-feed-strip-card-width: clamp(15rem, 32vw, 18rem);
  }
}

@media (max-width: 680px) {
  .iss-related-place-map__shell {
    padding: 1rem;
  }

  .iss-related-place-map__stage,
  .iss-related-place-map__empty {
    min-height: 0;
  }

  .iss-related-feed__grid,
  .iss-related-feed__grid--fuehrung,
  .iss-related-feed__grid--veranstaltung,
  .iss-related-feed__grid--post,
  .iss-related-feed__grid--ausstellung,
  .iss-related-feed__grid--publication,
  .iss-related-feed__grid--video,
  .iss-related-feed__grid--projekt,
  .iss-related-feed__grid--mixed,
  .iss-related-feed__grid--page {
    grid-template-columns: minmax(0, 1fr);
  }

  .iss-related-feed__grid--layout-strip {
    --iss-related-feed-strip-card-width: min(82vw, 16.5rem);
  }
}

.iss-publication-single__content {
  min-width: 0;
}

.iss-publication-single__layout--intro {
  align-items: start;
  padding-top: max(6.25rem, calc(var(--iss-header-height, 88px) + 1.25rem));
}

.iss-publication-single__layout--intro .iss-publication-single__sidebar {
  padding-top: 0.3rem;
}

.iss-publication-single__body {
  margin-top: 2rem;
}

.iss-publication-single__body > :first-child {
  margin-top: 0;
}

.iss-publication-single__body > :last-child {
  margin-bottom: 0;
}

.iss-publication-single__body p,
.iss-publication-single__body li {
  font-size: 1.02rem;
  line-height: 1.75;
}

.iss-publication-single__sidebar {
  display: grid;
  gap: 1.25rem;
}

.iss-publication-single__cover .iss-media-card {
  width: 100%;
}

.iss-publication-single__cover .wp-block-post-featured-image {
  margin: 0;
}

.iss-publication-single__cover img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.iss-publication-single__panel {
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--iss-border);
  border-radius: var(--iss-radius-lg);
  background: rgba(255, 255, 255, 0.78);
}

.wp-block-iss-publication-meta,
.wp-block-iss-publication-order-panel {
  margin: 0;
}

.iss-publication-single__panel--order {
  padding: 0;
  border: 0;
  background: transparent;
}

.iss-publication-meta {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
  color: rgba(30, 30, 30, 0.78);
  font-size: 0.98rem;
  line-height: 1.5;
}

.iss-publication-meta li {
  margin: 0;
}

.iss-publication-order-panel {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid var(--iss-border);
  border-radius: var(--iss-radius-lg);
  background: var(--iss-white);
  box-shadow: var(--iss-shadow);
}

.iss-publication-order-panel__price {
  margin: 0 0 0.8rem;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 700;
  line-height: 1.1;
}

.iss-publication-order-panel__text,
.iss-publication-order-panel__note {
  margin: 0;
  color: rgba(30, 30, 30, 0.76);
}

.iss-publication-order-panel__text + .iss-publication-order-panel__note {
  margin-top: 0.85rem;
}

@media (max-width: 900px) {
  .iss-publications-feature,
  .iss-publication-single__layout {
    grid-template-columns: 1fr;
  }

  .iss-schoneweide-hero,
  .iss-register-place-hero {
    padding-top: max(7rem, calc(var(--iss-header-height, 88px) + 1.5rem));
  }

  .iss-schoneweide-hero__grid,
  .iss-schoneweide-map__surface,
  .iss-schoneweide-map__filters,
  .iss-schoneweide-register-cta__grid,
  .iss-register-place__story-grid {
    grid-template-columns: 1fr;
  }

  .iss-schoneweide-map__top,
  .iss-schoneweide-map__stats {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .iss-schoneweide-map__stats {
    padding-left: 0;
  }

  .iss-schoneweide-map__canvas {
    min-height: 34rem;
  }

  .iss-schoneweide-map__legend,
  .iss-schoneweide-map__mode {
    position: static;
    margin-bottom: 0.85rem;
  }

  .iss-schoneweide-map__mode {
    display: inline-flex;
    width: fit-content;
  }

  .iss-schoneweide-map__stage {
    min-height: 24rem;
    margin-top: 0.8rem;
    margin-bottom: 5rem;
  }

  .iss-schoneweide-map__anchor {
    max-width: 6.5rem;
    font-size: 0.84rem;
  }

  .iss-schoneweide-map__helper {
    right: 1rem;
    left: 1rem;
    bottom: 1rem;
  }

  .iss-schoneweide-map__filters {
    gap: 0.9rem;
  }

  .iss-publications-masthead__grid {
    gap: 1.5rem;
  }

  .iss-publication-single__sidebar {
    order: -1;
  }

  .iss-register-place__compact-facts > .wp-block-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iss-register-place__compact-fact {
    padding-right: 0;
    border-right: 0;
  }

  .iss-publication-single__layout--intro .iss-publication-single__sidebar {
    padding-top: 0;
  }

  .iss-publications-masthead {
    padding-top: max(7rem, calc(var(--iss-header-height, 88px) + 1.5rem));
  }

  .iss-publications-intro {
    margin-left: 0;
  }

  .iss-publication-single__layout--intro {
    padding-top: max(5.5rem, calc(var(--iss-header-height, 88px) + 1rem));
  }

  .iss-publication-single__intro {
    margin-left: 0;
  }
}

@media (max-width: 600px) {
  .iss-register-place__compact-facts > .wp-block-group {
    grid-template-columns: 1fr;
  }
}

/* =====================================================================
   GROUP: FLEXIBLE SPLIT BLOCK
   PURPOSE:
   Two-column editorial pattern for text + text or text + image.
   Uses theme tokens only. No Gutenberg constrained layout required.

   USE:
   - Add .iss-flex-split on the section wrapper.
   - Choose one ratio modifier:
     .iss-flex-split--50-50
     .iss-flex-split--40-60
     .iss-flex-split--60-40
   - Optional layout modifier:
     .iss-flex-split--reverse
   - Choose panel type:
     .iss-flex-split__panel--callout
     .iss-flex-split__panel--text
     .iss-flex-split__panel--media
   ===================================================================== */

.iss-flex-split {
  --iss-flex-split-gap: clamp(1.5rem, 4vw, 4.5rem);
  --iss-flex-split-panel-pad: clamp(1.5rem, 3vw, 3rem);
  --iss-flex-split-min-h: clamp(17rem, 28vw, 24rem);
  --iss-flex-split-callout-accent: var(--iss-accent);
  --iss-flex-split-panel-bg: rgba(var(--iss-accent-rgb), 0.10);
  --iss-flex-split-text-measure: 58ch;
}

.iss-flex-split__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--iss-flex-split-gap);
  align-items: stretch;
}

.iss-flex-split--40-60 .iss-flex-split__layout {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.iss-flex-split--60-40 .iss-flex-split__layout {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}

.iss-flex-split--reverse .iss-flex-split__panel:first-child {
  order: 2;
}

.iss-flex-split--reverse .iss-flex-split__panel:nth-child(2) {
  order: 1;
}

.iss-flex-split__panel {
  min-width: 0;
  margin: 0;
}

.iss-flex-split__panel--callout {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--iss-flex-split-min-h);
  padding: var(--iss-flex-split-panel-pad);
  background:
    linear-gradient(135deg, rgba(249, 249, 250, 0.96), var(--iss-flex-split-panel-bg));
  border: 1px solid rgba(30, 30, 30, 0.08);
  border-left: 5px solid var(--iss-flex-split-callout-accent);
  border-radius: var(--iss-radius-lg);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.04);
}

.iss-flex-split__panel--callout::after {
  content: "";
  position: absolute;
  right: clamp(1rem, 2vw, 2rem);
  bottom: clamp(1rem, 2vw, 2rem);
  width: clamp(5rem, 10vw, 9rem);
  aspect-ratio: 2 / 1;
  opacity: 0.08;
  background:
    linear-gradient(135deg, transparent 48%, var(--iss-black) 49% 54%, transparent 55%),
    linear-gradient(45deg, transparent 48%, var(--iss-black) 49% 54%, transparent 55%);
  pointer-events: none;
}

.iss-flex-split__title {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(1.45rem, 1rem + 1.1vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.iss-flex-split__lead {
  max-width: 38ch;
  margin: 1.1rem 0 0;
  color: rgba(30, 30, 30, 0.78);
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.18rem);
  line-height: 1.6;
}

.iss-flex-split__actions {
  margin-top: 1.4rem;
}

.iss-flex-split__panel--text {
  align-self: center;
  max-width: var(--iss-flex-split-text-measure);
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.12rem);
  line-height: 1.65;
  color: var(--iss-black);
}

.iss-flex-split__panel--text > *:first-child {
  margin-top: 0;
}

.iss-flex-split__panel--text > *:last-child {
  margin-bottom: 0;
}

.iss-flex-split__panel--text h3,
.iss-flex-split__panel--text h4 {
  margin: 1.6rem 0 0.7rem;
  font-size: clamp(1.1rem, 1rem + 0.35vw, 1.35rem);
  line-height: 1.25;
}

.iss-flex-split__panel--media {
  min-height: var(--iss-flex-split-min-h);
  overflow: hidden;
  border-radius: var(--iss-radius-lg);
  border: 1px solid rgba(30, 30, 30, 0.10);
  background: var(--iss-grey);
  box-shadow: var(--iss-shadow);
}

.iss-flex-split__panel--media figure,
.iss-flex-split__panel--media .wp-block-image {
  width: 100%;
  height: 100%;
  margin: 0;
}

.iss-flex-split__panel--media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--iss-flex-split-min-h);
  object-fit: cover;
}

.iss-flex-split--blue .iss-flex-split__panel--callout {
  --iss-flex-split-callout-accent: var(--iss-blue);
  --iss-flex-split-panel-bg: rgba(134, 159, 186, 0.14);
}

.iss-flex-split--yellow .iss-flex-split__panel--callout {
  --iss-flex-split-callout-accent: var(--iss-yellow);
  --iss-flex-split-panel-bg: rgba(235, 188, 30, 0.14);
}

.iss-flex-split--brown .iss-flex-split__panel--callout {
  --iss-flex-split-callout-accent: var(--iss-brown);
  --iss-flex-split-panel-bg: rgba(117, 58, 24, 0.10);
}

.iss-flex-split--red .iss-flex-split__panel--callout {
  --iss-flex-split-callout-accent: var(--iss-red);
  --iss-flex-split-panel-bg: rgba(232, 29, 37, 0.08);
}

@media (max-width: 900px) {
  .iss-flex-split__layout,
  .iss-flex-split--40-60 .iss-flex-split__layout,
  .iss-flex-split--60-40 .iss-flex-split__layout {
    grid-template-columns: 1fr;
  }

  .iss-flex-split--reverse .iss-flex-split__panel:first-child,
  .iss-flex-split--reverse .iss-flex-split__panel:nth-child(2) {
    order: initial;
  }

  .iss-flex-split__panel--text {
    max-width: none;
  }
}
