/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./node_modules/.pnpm/react-photo-album@3.6.1_@types+react@19.2.18_react@19.2.8/node_modules/react-photo-album/dist/styles/rows.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.react-photo-album{display:flex}.react-photo-album,.react-photo-album *{box-sizing:border-box}.react-photo-album--track{align-items:flex-start;display:flex}.react-photo-album--photo{padding:calc(var(--react-photo-album--padding) * 1px);position:relative}.react-photo-album--image{width:100%;height:auto;aspect-ratio:var(--react-photo-album--photo-width) / var(--react-photo-album--photo-height);display:block}.react-photo-album--button{cursor:pointer;border:initial;background:initial}.react-photo-album--rows{row-gap:calc(var(--react-photo-album--spacing) * 1px);flex-direction:column}.react-photo-album--rows .react-photo-album--track{--react-photo-album--track-gaps:calc(var(--react-photo-album--spacing) * (var(--react-photo-album--track-size) - 1) + 2 * var(--react-photo-album--padding) * var(--react-photo-album--track-size));justify-content:space-between}.react-photo-album--rows .react-photo-album--photo{width:calc((100% - var(--react-photo-album--track-gaps) * 1px) / (var(--react-photo-album--container-width) - var(--react-photo-album--track-gaps)) * var(--react-photo-album--photo-width) + 2px * var(--react-photo-album--padding))}
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./node_modules/.pnpm/yet-another-react-lightbox@3.32.2_@types+react-dom@19.2.7_@types+react@19.2.18__@types+_8298b56f1809c045a2da2d94f83cc408/node_modules/yet-another-react-lightbox/dist/styles.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;overflow:hidden;z-index:var(--yarl__portal_zindex,9999);transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);pointer-events:auto}.yarl__portal_open{opacity:1}.yarl__container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:var(--yarl__controller_touch_action,none);overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain)}.yarl__carousel{display:flex;flex:0 0 auto;height:100%;align-content:center;justify-content:center;align-items:stretch;width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%));transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));opacity:var(--yarl__pull_opacity,1)}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{display:flex;justify-content:center;align-content:center;align-items:center}.yarl__slide{flex:1;position:relative;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%)}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);line-height:0}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));animation:yarl__delayed_fadein 1s linear}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{width:var(--yarl__slide_icon_error_size,48px);height:var(--yarl__slide_icon_error_size,48px);color:var(--yarl__slide_icon_error_color,red)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{position:absolute;top:0;right:0;bottom:auto;left:auto;display:flex;justify-content:flex-end;padding:var(--yarl__toolbar_padding,8px)}[dir=rtl] .yarl__toolbar{top:0;right:auto;bottom:auto;left:0}.yarl__icon{width:var(--yarl__icon_size,32px);height:var(--yarl__icon_size,32px)}.yarl__button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);margin:var(--yarl__button_margin,0);outline:none;line-height:0;padding:var(--yarl__button_padding,8px);color:var(--yarl__color_button,hsla(0,0%,100%,.8));filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{position:absolute;top:50%;transform:translateY(-50%);padding:var(--yarl__navigation_button_padding,24px 16px)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./node_modules/.pnpm/yet-another-react-lightbox@3.32.2_@types+react-dom@19.2.7_@types+react@19.2.18__@types+_8298b56f1809c045a2da2d94f83cc408/node_modules/yet-another-react-lightbox/dist/plugins/captions/captions.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.yarl__slide_captions_container{position:absolute;left:var(--yarl__slide_captions_container_left,0);right:var(--yarl__slide_captions_container_right,0);padding:var(--yarl__slide_captions_container_padding,16px);background:var(--yarl__slide_captions_container_background,rgba(0,0,0,.5));-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width, 0px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{overflow:hidden;hyphens:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);text-align:var(--yarl__slide_description_text_align,start);color:var(--yarl__slide_description_color,#fff)}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[5].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[5].use[3]!./src/creator/client/portal-facebook-preview.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.portal-facebook-preview_footer__iE_I_ { display: flex; margin-top: 14px; min-width: 0; }
.portal-facebook-preview_footer__iE_I_ a.portal-facebook-preview_button___8il0 {
  position: relative;
  max-width: 100%;
  height: auto;
  min-height: 2rem;
  padding: 9px 14px;
  gap: 10px;
  overflow: hidden;
  color: var(--primary-foreground);
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.portal-facebook-preview_button___8il0 > span { min-width: 0; white-space: normal; text-align: left; line-height: 1.3; }
.portal-facebook-preview_brand__Ayy_0, .portal-facebook-preview_arrow__QimcP { transition: transform 180ms ease; }
.portal-facebook-preview_button___8il0::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--primary-foreground) 12%, transparent) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 450ms ease;
}
.portal-facebook-preview_footer__iE_I_ a.portal-facebook-preview_button___8il0:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent); }
@media (hover: hover) and (pointer: fine) {
  .portal-facebook-preview_footer__iE_I_ a.portal-facebook-preview_button___8il0:hover { transform: translateY(-1px); box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 18%, transparent); }
  .portal-facebook-preview_button___8il0:hover::after { transform: translateX(120%); }
  .portal-facebook-preview_button___8il0:hover .portal-facebook-preview_arrow__QimcP { transform: translate(2px, -2px); }
  .portal-facebook-preview_button___8il0:hover .portal-facebook-preview_brand__Ayy_0 { transform: rotate(-5deg); }
}
@media (max-width: 600px) { .portal-facebook-preview_footer__iE_I_ a.portal-facebook-preview_button___8il0 { width: 100%; } }
@media (prefers-reduced-motion: reduce) {
  .portal-facebook-preview_footer__iE_I_ a.portal-facebook-preview_button___8il0, .portal-facebook-preview_brand__Ayy_0, .portal-facebook-preview_arrow__QimcP, .portal-facebook-preview_button___8il0::after { transition: none; }
  .portal-facebook-preview_footer__iE_I_ a.portal-facebook-preview_button___8il0:hover, .portal-facebook-preview_button___8il0:hover .portal-facebook-preview_arrow__QimcP, .portal-facebook-preview_button___8il0:hover .portal-facebook-preview_brand__Ayy_0 { transform: none; }
  .portal-facebook-preview_button___8il0::after { display: none; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[5].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[5].use[3]!./src/creator/client/portal-resource-card.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.portal-resource-card_card__gdDb1 {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--card);
  color: var(--card-foreground);
  box-shadow: 0 1px 3px color-mix(in srgb, var(--foreground) 5%, transparent);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.portal-resource-card_icon__qbQj8 {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, var(--card));
  border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--border));
  transition: background 180ms ease, transform 180ms ease;
}
.portal-resource-card_icon__qbQj8 > svg { width: 23px; height: 23px; }
.portal-resource-card_content__yCoyk { display: grid; gap: 4px; min-width: 0; }
.portal-resource-card_eyebrow__diP_U { color: var(--muted-foreground); font-size: .625rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.portal-resource-card_card__gdDb1 .portal-resource-card_text__M13La { margin: 0; font-size: .875rem; font-weight: 600; line-height: 1.4; white-space: pre-wrap; overflow-wrap: anywhere; }
.portal-resource-card_meta__EtU2_ { color: var(--muted-foreground); font-size: .75rem; line-height: 1.35; overflow-wrap: anywhere; }
.portal-resource-card_card__gdDb1 a.portal-resource-card_action__dsWzm { color: var(--primary-foreground); text-decoration: none; }
.portal-resource-card_action__dsWzm > svg { transition: transform 180ms ease; }
.portal-resource-card_card__gdDb1:focus-within { border-color: var(--primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 12%, transparent); }
.portal-resource-card_card__gdDb1:focus-within .portal-resource-card_icon__qbQj8 { background: color-mix(in srgb, var(--primary) 16%, var(--card)); }
@media (hover: hover) and (pointer: fine) {
  .portal-resource-card_card__gdDb1:hover { border-color: color-mix(in srgb, var(--primary) 45%, var(--border)); transform: translateY(-2px); box-shadow: 0 5px 16px color-mix(in srgb, var(--foreground) 8%, transparent); }
  .portal-resource-card_card__gdDb1:hover .portal-resource-card_icon__qbQj8 { transform: rotate(-4deg); background: color-mix(in srgb, var(--primary) 16%, var(--card)); }
  .portal-resource-card_card__gdDb1[data-resource-kind="hyperlink"] .portal-resource-card_action__dsWzm:hover > svg { transform: translate(2px, -2px); }
  .portal-resource-card_card__gdDb1[data-resource-kind="download"] .portal-resource-card_action__dsWzm:hover > svg { transform: translateY(2px); }
}
@media (max-width: 600px) {
  .portal-resource-card_card__gdDb1 { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .portal-resource-card_icon__qbQj8 { width: 40px; height: 40px; }
  .portal-resource-card_action__dsWzm { grid-column: 1 / -1; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .portal-resource-card_card__gdDb1, .portal-resource-card_icon__qbQj8, .portal-resource-card_action__dsWzm, .portal-resource-card_action__dsWzm > svg { transition: none; }
  .portal-resource-card_card__gdDb1:hover, .portal-resource-card_card__gdDb1:hover .portal-resource-card_icon__qbQj8, .portal-resource-card_card__gdDb1[data-resource-kind] .portal-resource-card_action__dsWzm:hover > svg { transform: none; }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/styles/media-portal-public.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.mp-page {
  --mp-page-gutter: 20px;
  min-height: 100dvh;
  background: var(--background);
  color: var(--foreground);
  padding: var(--mp-page-gutter);
  font-family: var(--wc-font-family, var(--font-sans, var(--font-geist-sans, Arial))), sans-serif;
}
.mp-layout { max-width: 1600px; margin-inline: auto; display: grid; gap: 20px; align-items: start; }
.mp-primary, .mp-editorial, .mp-content-main { min-width: 0; }
.mp-header {
  position: sticky;
  top: 0;
  z-index: 30;
  transition: transform 200ms ease;
  /* Background of the theme; the bouncing accent blobs (header-blobs.tsx) paint on top of it, the content above them. */
  background: var(--background);
  color: var(--foreground);
  isolation: isolate;
  overflow: hidden;
}
.mp-header > :not(.mp-header-blobs) { position: relative; z-index: 1; }
.mp-header-blobs { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.mp-blob { position: absolute; top: 0; left: 0; width: 28vw; max-width: 26rem; min-width: 10rem; aspect-ratio: 1; border-radius: 50%; will-change: transform;
  background: color-mix(in srgb, var(--primary) 11%, transparent); filter: blur(52px); }
.mp-blob[data-size="1"] { width: 18vw; max-width: 17rem; min-width: 7rem; }
.mp-blob[data-size="2"] { width: 12vw; max-width: 12rem; min-width: 5rem; filter: blur(34px); }
@media (max-width: 600px) { .mp-blob { width: 50vw; } .mp-blob[data-size="1"] { width: 34vw; } .mp-blob[data-size="2"] { width: 22vw; } }
.mp-header[data-scroll-hidden="true"] { transform: translateY(-100%); }
.mp-header[data-scroll-navigation="true"] { transform: translateY(calc(-1 * var(--mp-header-top-height, 0px))); }
.mp-header { border: 0; border-radius: 0; box-shadow: 0 3px 8px rgb(0 0 0 / 10%); margin: calc(-1 * var(--mp-page-gutter)) calc(-1 * var(--mp-page-gutter)) 0; }
.mp-editorial {
  background: transparent;
  color: var(--foreground);
  border: 0;
  box-shadow: none;
}
.mp-header-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; }
.mp-header-top[data-banner-centered] { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.mp-header-top[data-banner-centered] .mp-brand { justify-self: start; }
.mp-header-top[data-banner-centered] .mp-utilities { justify-self: end; }
.mp-header-top > .mp-banner-horizontal .mp-banner-content { flex-wrap: nowrap; }
.mp-header-top > .mp-banner-horizontal .mp-banner-item { flex: 0 0 210px; }
.mp-brand { display: flex; align-items: center; gap: 10px; font-size: 1.1rem; font-weight: 650; text-decoration: none; min-width: 0; }
.mp-brand .wc-logo { flex-shrink: 0; }
.mp-brand > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-utilities { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.mp-nav-row { position: relative; min-width: 0; --mp-nav-surface: var(--card); background: var(--mp-nav-surface); }
/* Inside the animated header the rows are translucent so the blobs shine through; the first row only separates by a hairline. */
.mp-header .mp-nav-row { --mp-nav-surface: color-mix(in srgb, var(--background) 55%, transparent); border-top: 1px solid color-mix(in srgb, var(--primary) 14%, transparent); }
.mp-header .mp-nav-row-secondary { --mp-nav-surface: color-mix(in srgb, var(--background) 70%, transparent); }
.mp-navigation, .mp-subnavigation { display: flex; flex-wrap: nowrap; align-items: center; gap: 5px; padding: 7px 12px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scroll-padding-inline: 12px; }
.mp-navigation button, .mp-subnavigation button, .mp-nav-measure > span { flex: 0 0 auto; padding: 8px 12px; border: 0; border-radius: 6px; cursor: pointer; font-size: calc(13px * var(--wc-font-scale, 1)); line-height: 1.4; white-space: nowrap; font-weight: 500; }
.mp-navigation button:hover, .mp-subnavigation button:hover { background: var(--accent); color: var(--accent-foreground); }
.mp-navigation button[aria-current], .mp-navigation .mp-nav-more[data-active] { color: var(--foreground); background: color-mix(in srgb, var(--primary) 17%, var(--card)); font-weight: 600; }
.mp-subnavigation button[aria-current] { color: var(--foreground); background: color-mix(in srgb, var(--primary) 10%, var(--mp-nav-surface)); font-weight: 600; }
.mp-navigation button:focus-visible, .mp-subnavigation button:focus-visible { outline: 2px solid var(--ring); outline-offset: -3px; }
.mp-nav-row-secondary { --mp-nav-surface: color-mix(in srgb, var(--muted) 50%, var(--card)); }
.mp-subnavigation { min-height: 40px; padding: 5px 44px 5px 12px; scroll-padding-inline: 12px 44px; scrollbar-width: none; }
.mp-subnavigation::-webkit-scrollbar { display: none; }
.mp-subnavigation button { padding: 6px 10px; font-size: calc(12px * var(--wc-font-scale, 1)); color: var(--muted-foreground); }
.mp-nav-scroll-hint { position: absolute; inset-block: 1px; right: 0; width: 48px; display: flex; justify-content: flex-end; align-items: center; padding-right: 4px; background: linear-gradient(to right, transparent, var(--mp-nav-surface) 40%); pointer-events: none; border-radius: inherit; }
.mp-nav-scroll-hint button { width: 30px; height: 32px; pointer-events: auto; color: var(--muted-foreground); background: var(--mp-nav-surface); }
.mp-nav-scroll-hint-backward { right: auto; left: 0; justify-content: flex-start; padding-right: 0; padding-left: 4px; background: linear-gradient(to left, transparent, var(--mp-nav-surface) 40%); }
.mp-nav-row[data-scroll-backward] .mp-subnavigation, .mp-nav-row[data-scroll-backward] .mp-navigation-scroll { scroll-padding-left: 44px; }
.mp-navigation.mp-navigation-scroll { padding-inline: 8px 44px; scroll-padding-inline: 8px 44px; scrollbar-width: none; }
.mp-navigation-scroll::-webkit-scrollbar { display: none; }
.mp-sortable-nav-item { touch-action: pan-x pan-y; user-select: none; }
.mp-navigation .mp-sortable-nav-item, .mp-subnavigation .mp-sortable-nav-item { cursor: grab; }
.mp-sortable-nav-item[data-dragging] { cursor: grabbing; z-index: 60; background: var(--accent); color: var(--accent-foreground); }
.mp-nav-drag-preview { padding: 8px 12px; border-radius: 6px; background: var(--accent); color: var(--accent-foreground); box-shadow: 0 1px 4px rgb(0 0 0 / 8%); font-size: calc(13px * var(--wc-font-scale, 1)); white-space: nowrap; cursor: grabbing; }
.mp-navigation.mp-navigation-overflow { overflow: hidden; scrollbar-width: none; padding-inline: 12px; }
.mp-navigation-overflow::-webkit-scrollbar { display: none; }
.mp-nav-more { display: inline-flex; align-items: center; gap: 5px; }
.mp-nav-more svg { flex-shrink: 0; }
.mp-nav-measure { position: absolute; inset: 0; height: 0; display: flex; flex-wrap: nowrap; overflow: hidden; visibility: hidden; pointer-events: none; }
.mp-banner-stack { display: grid; gap: 10px; margin-block: 5px 5px; padding-top: 10px; }
.mp-banner-stack:empty { display: none; }
.mp-banner { position: relative; min-width: 0; background: transparent; border: 0; padding: 0; }
.mp-banner-content { margin-inline: auto; max-width: 100%; }
.mp-banner-horizontal .mp-banner-content { min-height: 44px; }
.mp-banner-video .mp-banner-content { width: 728px; aspect-ratio: 728 / 90; }
.mp-banner-top .mp-banner-content { width: 815px; aspect-ratio: 815 / 100; }
.mp-banner-vertical .mp-banner-content { width: 120px; min-height: 400px; }
.mp-vertical-disclosure { min-width: 0; }
.mp-banner-tab { display: none; }
.mp-banner-sidebar { display: none; border: 0; padding: 12px; }
.mp-banner-sidebar .mp-banner-content { min-height: 420px; }
.mp-content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 138px; gap: 20px; align-items: start; }
.mp-content-layout:not(:has(> .mp-vertical-disclosure)) { grid-template-columns: minmax(0, 1fr); gap: 0; }
.mp-editorial { padding: 14px; }
.mp-toolbar { display: flex; gap: 8px; align-items: center; min-width: 0; }
.mp-search { position: relative; flex: 1; min-width: 0; }
.mp-search > svg { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--muted-foreground); }
.mp-search input { padding-left: 34px; }
.mp-toolbar > [data-slot="select-trigger"] { width: auto; }
.mp-article-slot { min-height: 430px; padding-top: 18px; font-size: .875rem; }
.mp-news-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.mp-text-preview-layout { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 14px; align-items: start; }
.mp-news-tile { background: var(--card); color: var(--card-foreground); border: 0px solid var(--border); border-radius: 6px; box-shadow: 0 1px 4px rgb(0 0 0 / 8%); overflow: hidden; min-width: 0; }
.mp-tile-link { display: flex; flex-direction: column; width: 100%; height: 100%; text-align: start; cursor: pointer; }
.mp-tile-link:hover .mp-tile-title, .mp-ticker-item:hover > span { color: var(--primary); }
.mp-tile-link:focus-visible, .mp-ticker-item:focus-visible { outline: 2px solid var(--ring); outline-offset: -3px; border-radius: 6px; }
img.mp-tile-image, span.mp-tile-image { display: block; width: 100%; object-fit: cover; aspect-ratio: 4 / 3; background: var(--muted); }
.mp-tile-hero .mp-tile-image { aspect-ratio: 16 / 9; }
.mp-tile-feature .mp-tile-image { aspect-ratio: 3 / 4; }
.mp-tile-small .mp-tile-image { aspect-ratio: 1; }
.mp-tile-visual { display: block; position: relative; width: 100%; min-width: 0; overflow: hidden; }
.mp-tile-image-overlay { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 12px; background: linear-gradient(to bottom, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 60%) 100%); }
.mp-tile-image-overlay .mp-tile-title, .mp-tile-link:hover .mp-tile-image-overlay .mp-tile-title { color: #fff; text-shadow: 0 1px 2px rgb(0 0 0 / 45%); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mp-tile-small .mp-tile-image-overlay { padding: 8px; }
.mp-image-missing { display: grid; place-items: center; color: var(--muted-foreground); }
.mp-tile-body { display: flex; flex-direction: column; gap: 8px; padding: 12px; min-width: 0; width: 100%; }
.mp-rubric { align-self: flex-start; background: color-mix(in srgb, var(--primary) 10%, var(--card)); color: var(--primary); padding: 3px 6px; border-radius: 3px; font-size: .65rem; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.mp-tile-title { font-weight: 650; font-size: .95rem; line-height: 1.35; overflow-wrap: anywhere; }
.mp-tile-hero .mp-tile-title { font-size: clamp(1.15rem, 1.7vw, 1.65rem); line-height: 1.2; font-weight: 700; }
.mp-tile-feature .mp-tile-title { font-size: 1.15rem; }
.mp-tile-small .mp-tile-title { font-size: .8rem; }
.mp-tile-small .mp-tile-body { padding: 8px; }
.mp-tile-teaser { color: var(--muted-foreground); line-height: 1.5; overflow-wrap: anywhere; }
.mp-tile-meta, .mp-ticker time { color: var(--muted-foreground); font-size: .7rem; }
.mp-text-list { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.mp-hero-block { min-width: 0; }
.mp-image-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; grid-column: 1 / -1; }
.mp-feature-block { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px; grid-column: 1 / -1; align-items: start; }
.mp-small-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: start; }
.mp-ticker { grid-column: 1 / -1; padding: 12px; }
.mp-ticker > .mp-rubric { display: inline-block; margin-bottom: 10px; }
.mp-ticker-row { display: flex; align-items: start; gap: 14px; min-width: 0; }
.mp-ticker-item { display: flex; flex-direction: column; text-align: start; gap: 6px; flex: 1; min-width: 0; cursor: pointer; }
.mp-ticker-item > span { font-size: .8rem; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.mp-ticker-pager { display: flex; align-items: center; gap: 2px; white-space: nowrap; font-size: .65rem; }
.mp-ticker-pager button { width: 24px; height: 28px; }
.mp-feed-empty { grid-column: 1 / -1; color: var(--muted-foreground); padding-block: 20px; }
.mp-feed-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 20px; color: var(--muted-foreground); font-size: .8rem; }
.mp-banner-content { display: flex; flex-wrap: wrap; justify-content: center; align-items: start; gap: 10px; }
.mp-banner-horizontal .mp-banner-item { width: 210px; }
.mp-banner-top .mp-banner-item, .mp-banner-video .mp-banner-item { width: 100%; }
.mp-banner-item { max-width: 100%; }
.mp-banner-item img, .mp-banner-item video { display: block; width: 100%; height: auto; object-fit: contain; }
.mp-banner-item a { font-size: .75rem; }
.mp-page[data-article] .mp-primary { display: flex; flex-direction: column; min-height: 100dvh; }
.mp-page[data-article] .mp-content-layout { flex: 1; }
.mp-article-page { flex: 1; min-width: 0; border: 0; border-radius: 0; background: transparent; margin: 0; padding: 0 16px 16px; box-shadow: none; }
.mp-article-page > article { width: 100%; max-width: var(--mp-detail-width, 720px); margin-inline: auto; }
.mp-article-heading { font-size: 1.5rem; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; margin-block: 20px 12px; overflow-wrap: anywhere; }
.mp-article-subheadline { font-size: .9375rem; line-height: 1.4; color: var(--muted-foreground); margin-block: 0 16px; text-wrap: pretty; }
.mp-article-date { color: var(--muted-foreground); font-size: .8rem; letter-spacing: .035em; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.mp-article-heading:focus { outline: none; }
.mp-detail-content { display: flex; flex-direction: column; gap: clamp(24px, 3vw, 36px); padding-block: 12px; overflow-wrap: anywhere; font-size: .875rem; line-height: 1.45; }
.mp-detail-content .wc-rich-text-content { font-size: inherit; line-height: inherit; }
.mp-detail-content :is(h2,h3,h4) { font-weight: 700; line-height: 1.3; letter-spacing: -.015em; margin-block: 1.4em .6em; }
.mp-detail-content h2 { font-size: 1.375em; }
.mp-detail-content h3 { font-size: 1.25em; }
.mp-detail-content h4 { font-size: 1.125em; }
.mp-detail-content section > h3:first-child { margin-top: .65em; }
.mp-detail-content .mp-article-credits { border-top: 1px solid var(--border); padding-top: 16px; font-size: .8rem; color: var(--muted-foreground); }
.mp-article-community { max-width: 720px; margin: 28px auto 0; font-size: .8125rem; line-height: 1.45; }
.mp-contribute { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 18px; padding: clamp(20px,4vw,32px); border-block: 2px solid var(--primary); background: var(--muted); color: var(--foreground); }
.mp-contribute-icon { width: 32px; height: 32px; color: var(--primary); margin-top: 3px; }
.mp-contribute h2 { font-size: 1.125em; font-weight: 700; line-height: 1.3; letter-spacing: -.015em; }
.mp-contribute p { font-size: 1em; line-height: 1.45; margin-block: 8px 14px; }
.mp-comments { margin-top: 28px; min-width: 0; overflow-wrap: anywhere; }
.mp-comments > h2 { display: flex; align-items: center; gap: 10px; font-size: 1.125em; line-height: 1.3; font-weight: 700; margin-bottom: 16px; }
.mp-comment-form { display: grid; gap: 10px; padding-bottom: 24px; border-bottom: 1px solid var(--border); }
.mp-comment-form textarea { min-height: 100px; font-size: max(1em, 16px); line-height: 1.4; }
.mp-comment-writing-as, .mp-comment-reply-to, .mp-comment-compose-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.mp-comment-reply-to { background: var(--muted); padding: 4px 12px; border-left: 2px solid var(--primary); }
.mp-comment-compose-actions small, .mp-comment-empty { color: var(--muted-foreground); }
.mp-comment-signin { padding: 20px; background: var(--muted); display: grid; justify-items: start; gap: 12px; }
.mp-comment-empty { padding-block: 24px; }
.mp-comment-list, .mp-comment-children { list-style: none; padding: 0; margin: 0; }
.mp-comment-list { --mp-comment-indent: 20px; --mp-comment-origin: 6px; --mp-comment-line: color-mix(in srgb, var(--foreground) 30%, var(--background)); }
.mp-comment-list li { position: relative; min-width: 0; scroll-margin-top: 140px; }
.mp-comment-children { margin-inline-start: var(--mp-comment-origin); padding-inline-start: var(--mp-comment-indent); }
.mp-comment-children > li::before { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--mp-comment-indent)); top: 0; bottom: 0; border-inline-start: 2px solid var(--mp-comment-line); }
.mp-comment-children > li:last-child::before { bottom: auto; height: 24px; }
.mp-comment-children > li::after { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--mp-comment-indent)); top: 24px; width: calc(var(--mp-comment-indent) - 5px); border-top: 2px solid var(--mp-comment-line); }
.mp-comment { padding-block: 14px; border-bottom: 1px solid var(--border); }
.mp-comment:has(+ .mp-comment-children) { position: relative; }
.mp-comment:has(+ .mp-comment-children)::after { content: ""; position: absolute; inset-inline-start: var(--mp-comment-origin); bottom: -1px; height: 12px; border-inline-start: 2px solid var(--mp-comment-line); }
.mp-comment header { display: flex; align-items: flex-start; gap: 8px; font-size: 1em; }
.mp-comment-author { display: flex; flex: 1; min-width: 0; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.mp-comment-author strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-comment time { font-size: .6875rem; color: var(--muted-foreground); }
.mp-comment p { white-space: pre-wrap; line-height: 1.45; font-size: 1em; margin-block: 8px; }
.mp-comment-actions { display: flex; align-items: center; gap: 8px; }
.mp-comment-reply { order: 1; margin-inline-start: auto; }
@media(max-width:600px) {
  .mp-article-page { padding-inline: 0; }
  .mp-article-heading { font-size: 1.25rem; margin-block: 16px 10px; }
  .mp-article-subheadline { font-size: .875rem; }
  .mp-contribute h2, .mp-comments > h2 { font-size: 1.125em; }
  .mp-contribute { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .mp-comment-list { --mp-comment-indent: 12px; --mp-comment-origin: 2px; }
  .mp-comment-compose-actions { align-items: stretch; }
  .mp-comment-compose-actions > button { width: 100%; }
}
.mp-article-page .mp-detail-content img, .mp-article-page .mp-detail-content video { border-radius: 0; }
.mp-detail-content img, .mp-detail-content video { display: block; width: 100%; height: auto; border-radius: 6px; }
.mp-detail-content .mp-article-title-image { text-align: center; }
.mp-detail-content .mp-article-title-image img { width: 100%; max-width: 720px; height: auto; object-fit: contain; margin-inline: auto; }
.mp-detail-content figcaption { font-size: .75rem; color: var(--muted-foreground); margin-top: 6px; }
.mp-detail-content a { color: var(--primary); text-decoration: underline; overflow-wrap: anywhere; }
.mp-body-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.mp-detail-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mp-detail-content .wc-portal-album { width: 100%; min-width: 0; }
.mp-detail-content .wc-portal-embed > iframe { width: 100%; height: 26rem; border: 0; }
.mp-detail-content .wc-portal-embed:is([data-provider="youtube"], [data-provider="vimeo"]) > iframe { height: auto; aspect-ratio: 16 / 9; }
.mp-detail-content .wc-portal-embed:is([data-provider="instagram"], [data-provider="tiktok"]) > iframe { height: 36rem; }
.mp-event-section { container-type: inline-size; }
.mp-event-layout { display: grid; gap: 20px; align-items: start; }
.mp-event-calendar-card { width: 100%; max-width: 400px; min-width: 0; margin-inline: auto; background: var(--card); color: var(--card-foreground); border: 1px solid var(--border); border-radius: 6px; box-shadow: 0 1px 4px rgb(0 0 0 / 8%); overflow: hidden; }
.mp-event-calendar-heading { display: grid; gap: 10px; padding: 12px; background: linear-gradient(120deg, color-mix(in srgb, var(--primary) 13%, var(--card)), var(--card)); }
.mp-event-navigation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 6px; }
.mp-event-navigation button { min-width: 0; height: auto; min-height: 32px; padding: 5px 6px; white-space: normal; font-size: calc(12px * var(--wc-font-scale, 1)); line-height: 1.2; }
.mp-event-eyebrow { display: flex; align-items: center; gap: 6px; color: var(--muted-foreground); font-size: .75rem; }
.mp-event-calendar { width: 100%; padding: 7px 14px; --cell-size: 28px; }
.mp-event-calendar .rdp-months, .mp-event-calendar .rdp-month { width: 100%; }
.mp-event-calendar .rdp-month { gap: 8px; }
.mp-event-calendar .rdp-week { margin-top: 4px; }
.mp-event-calendar td { aspect-ratio: auto; height: auto; }
.mp-event-calendar .rdp-month_caption { margin-bottom: 2px; }
.mp-event-calendar .rdp-caption_label { font-size: 1rem; font-weight: 650; }
.mp-event-calendar td button { min-width: 0; min-height: 24px; aspect-ratio: 2; padding: 0 0 6px; font-size: .9rem; border-radius: 6px; gap: 0; }
.mp-event-calendar td button[data-has-events] { font-weight: 750; border: 1px solid var(--primary); }
.mp-event-calendar td button[data-has-events]:not([data-selected-single="true"]) { background: color-mix(in srgb, var(--primary) 24%, var(--card)); color: var(--foreground); }
.mp-event-calendar td button[data-has-events]:not([data-selected-single="true"]):hover { background: color-mix(in srgb, var(--primary) 38%, var(--card)); }
.mp-event-calendar td button[data-has-events] .mp-event-day-mark { opacity: 1; }
.mp-event-day-mark { position: absolute; bottom: 1px; display: flex; align-items: center; justify-content: center; gap: 3px; height: 8px; font-size: .6rem; }
.mp-event-day-mark i { width: 12px; height: 4px; background: var(--primary); border-radius: 2px; }
.mp-event-calendar [data-selected-single="true"] .mp-event-day-mark i { background: currentColor; }
.mp-event-agenda { padding: 16px; border-top: 1px solid var(--border); }
.mp-event-agenda h3 { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; font-weight: 650; margin-bottom: 12px; }
.mp-event-agenda h3 > span, .mp-event-agenda > p { color: var(--muted-foreground); font-size: .75rem; font-weight: 400; }
.mp-event-agenda-item { display: flex; width: 100%; text-align: left; gap: 12px; padding: 12px; margin-top: 6px; border-left: 3px solid transparent; border-radius: 6px; background: var(--muted); cursor: pointer; }
.mp-event-agenda-item[aria-pressed="true"] { border-left-color: var(--primary); background: color-mix(in srgb, var(--primary) 13%, var(--card)); }
.mp-event-agenda-item:hover { background: var(--accent); }
.mp-event-agenda-item:focus-visible { outline: 2px solid var(--ring); }
.mp-event-agenda-item > span:first-child { font-weight: 700; white-space: nowrap; }
.mp-event-agenda-item > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.mp-event-agenda-item small { display: flex; align-items: center; gap: 4px; color: var(--muted-foreground); margin-top: 4px; }
.mp-event-selection { min-width: 0; }
.mp-event-selection-empty { padding: 28px 20px; color: var(--muted-foreground); display: grid; gap: 12px; border-radius: 6px; background: color-mix(in srgb, var(--primary) 5%, var(--background)); }
.mp-event-selection-empty > svg { color: var(--primary); }
.mp-event-selection-empty h3 { color: var(--foreground); font-size: 1.1rem; font-weight: 650; }
.mp-event-detail .mp-article-heading { margin-top: 0; font-size: 1.5rem; }
.mp-event-date { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; color: var(--foreground); background: color-mix(in srgb, var(--primary) 16%, var(--card)); border-left: 4px solid var(--primary); }
.mp-event-date-number { font-size: 2.5rem; line-height: 1; font-weight: 750; letter-spacing: -.05em; }
.mp-event-date > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: .75rem; }
.mp-tile-small .mp-event-date { flex-wrap: wrap; gap: 6px; padding: 8px; }
.mp-tile-small .mp-event-date-number { font-size: 1.8rem; }
.mp-event-date-label { font-size: .6rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted-foreground); }
.mp-event-date-pending { display: block; padding: 12px; color: var(--muted-foreground); }
.mp-event-articles-heading { font-size: 1.3rem; font-weight: 700; margin-block: 28px 16px; }
@container (min-width: 860px) {
  .mp-event-layout { grid-template-columns: minmax(0, 400px) minmax(280px, 1fr); }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mp-news-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .mp-image-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mp-feature-block { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .mp-small-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-ticker-row { gap: 8px; }
}
@media (min-width: 768px) {
  .mp-vertical-disclosure { margin-top: 14px; }
}
@media (min-width: 1250px) {
  .mp-layout[data-sidebar] { grid-template-columns: minmax(0, 1fr) 280px; }
  .mp-layout[data-sidebar] .mp-banner-sidebar { display: block; margin-top: var(--mp-sidebar-banner-offset, 0px); }
}
@media (max-width: 767px) {
  .mp-header { transition-duration: 250ms; }
  .mp-page { --mp-page-gutter: 10px; }
  .mp-banner-stack { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
  .mp-banner-stack > .mp-banner:has(> .mp-banner-content:empty) { display: none; }
  .mp-banner-stack .mp-banner-content { width: 100%; min-height: 0; aspect-ratio: auto; flex-wrap: nowrap; }
  .mp-banner-stack .mp-banner-item { flex: 1 1 0; min-width: 0; width: auto; }
  .mp-content-layout { grid-template-columns: minmax(0, 1fr); }
  .mp-vertical-disclosure { --mp-banner-drawer-width: 144px; }
  .mp-vertical-panel { position: fixed; z-index: 39; inset: 0 0 0 auto; width: var(--mp-banner-drawer-width); padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: var(--background); transform: translateX(100%); visibility: hidden; transition: transform 220ms ease, visibility 220ms; }
  .mp-vertical-disclosure[data-open="true"] .mp-vertical-panel { transform: translateX(0); visibility: visible; }
  .mp-banner-tab { position: fixed; z-index: 39; right: 0; bottom: 30px; display: grid; place-items: center; width: 32px; height: 56px; border: 0; border-radius: 6px 0 0 6px; background: var(--primary); color: var(--primary-foreground); cursor: pointer; transition: right 220ms ease; }
  .mp-banner-tab:focus-visible { outline: 2px solid var(--ring); outline-offset: -3px; }
  .mp-vertical-disclosure[data-open="true"] .mp-banner-tab { right: var(--mp-banner-drawer-width); }
  .mp-news-layout, .mp-image-row, .mp-feature-block { grid-template-columns: minmax(0, 1fr); }
  .mp-small-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-ticker-row { flex-direction: column; gap: 10px; }
  .mp-ticker-item { flex-direction: row; align-items: start; justify-content: space-between; gap: 12px; width: 100%; }
  .mp-ticker-item time { flex-shrink: 0; }
  .mp-ticker-pager { align-self: flex-end; }
  .mp-subnavigation { padding-inline: 8px 44px; scroll-padding-inline: 8px 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-header, .mp-vertical-panel, .mp-banner-tab { transition: none; }
}
@media (max-width: 600px) {
  .mp-header-top { padding: 10px; gap: 4px; }
  .mp-brand { font-size: .95rem; gap: 6px; }
  .mp-utilities { gap: 0; }
  .mp-utilities button { padding-inline: 7px; }
  .mp-banner-stack { gap: 8px; }
  .mp-editorial { padding: 10px; }
  .mp-toolbar { flex-wrap: wrap; }
  .mp-search { flex-basis: 100%; }
  .mp-article-slot { min-height: 300px; }
}

/* Legal footer: impressum, privacy and cookie settings reachable from every view. */
.mp-legal-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; padding: .75rem; border-top: 1px solid var(--border); }
.mp-legal-text h3 { margin: .75rem 0 .25rem; font-size: .9375rem; font-weight: 600; }
.mp-legal-text p { margin: 0 0 .25rem; }
/* Consent notice: centred card over the blurred portal. z-index below Radix dialogs (z-50), so the privacy notice,
   imprint and cookie settings open above it. Theme colours only. */
.mp-consent-overlay { position: fixed; z-index: 45; inset: 0; display: grid; place-items: center; padding: 1rem;
  background: color-mix(in oklab, var(--background) 35%, transparent); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.mp-consent-card { position: relative; width: min(26rem, 100%); max-height: calc(100dvh - 2rem); overflow: auto; display: grid; justify-items: center; gap: .75rem;
  padding: 2rem 1.75rem 1.25rem; border: 1px solid var(--mp-line); border-radius: calc(var(--mp-r) * 2); text-align: center;
  background: var(--card); color: var(--card-foreground); box-shadow: var(--mp-shadow-raise), 0 30px 80px -20px rgb(0 0 0 / 35%); }
.mp-consent-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; border-radius: inherit;
  background: linear-gradient(90deg, var(--primary), color-mix(in oklab, var(--primary) 40%, var(--card))); }
.mp-consent-icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 999px; color: var(--primary);
  background: color-mix(in oklab, var(--primary) 22%, var(--card)); box-shadow: 0 0 0 7px color-mix(in oklab, var(--primary) 10%, var(--card)); }
.mp-consent-icon svg { width: 1.75rem; height: 1.75rem; }
.mp-consent-card h2 { margin: .25rem 0 0; font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); font-weight: 700; letter-spacing: -.01em; line-height: 1.15;
  background: linear-gradient(120deg, var(--card-foreground) 30%, var(--primary)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mp-consent-card > p { margin: 0; font-size: var(--mp-fs-sm); line-height: 1.5; color: var(--muted-foreground); }
.mp-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; width: 100%; margin-top: .25rem; }
.mp-consent-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem 1rem; margin: 0; }
.mp-consent-links button { padding: .25rem 0; border: 0; background: none; color: var(--muted-foreground); font: inherit; font-size: var(--mp-fs-sm);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.mp-consent-links button:hover, .mp-consent-links button:focus-visible { color: var(--primary); }
@media (prefers-reduced-motion: no-preference) {
  .mp-consent-overlay { animation: mp-consent-fade .25s var(--mp-ease); }
  .mp-consent-card { animation: mp-consent-rise .35s var(--mp-ease); }
}
@keyframes mp-consent-fade { from { opacity: 0; } }
@keyframes mp-consent-rise { from { opacity: 0; transform: translateY(12px) scale(.98); } }
@media (max-width: 600px) { .mp-consent-card { gap: .5rem; padding: 1.25rem 1rem .875rem; } .mp-consent-card > p { font-size: var(--mp-fs-sm); line-height: 1.45; }
  .mp-consent-icon { width: 3rem; height: 3rem; } .mp-consent-actions { grid-template-columns: 1fr; } }
.mp-cookie-option { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--border); }
.mp-cookie-option > span { display: grid; gap: .125rem; }
.mp-cookie-option > span > span { font-size: .8125rem; color: var(--muted-foreground); }
/* Fußbereich-Fenster: gemeinsames Layout für Impressum, Datenschutz, Offenlegung, Hinweisgeber u. a. */
.mp-legal-dialog { width: min(44rem, calc(100vw - 2rem)); max-height: min(44rem, calc(100dvh - 2rem)); display: flex; flex-direction: column; padding: 0; overflow: hidden; border-radius: calc(var(--mp-r) * 2); }
.mp-legal-dialog .mp-legal-head { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 1rem; text-align: left; padding: 1.25rem 1.5rem 1rem; border-bottom: 1px solid var(--border); background: linear-gradient(120deg, color-mix(in oklab, var(--primary) 10%, var(--card)), var(--card)); }
.mp-legal-head > div { display: grid; gap: .25rem; min-width: 0; }
.mp-legal-badge { display: grid; place-items: center; flex: 0 0 auto; width: 2.75rem; height: 2.75rem; border-radius: 999px; color: var(--primary); background: color-mix(in oklab, var(--primary) 18%, var(--card)); box-shadow: 0 0 0 6px color-mix(in oklab, var(--primary) 8%, var(--card)); }
.mp-legal-head [data-slot="dialog-title"], .mp-legal-head h2 { margin: 0; font-size: 1.2rem; font-weight: 700; letter-spacing: -.01em; }
.mp-legal-head [data-slot="dialog-description"], .mp-legal-head p { margin: 0; color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.45; }
.mp-legal-body { overflow: auto; padding: 1rem 1.5rem 1.5rem; display: grid; gap: .75rem; }
.mp-legal-card { display: grid; gap: .5rem; padding: 1rem 1.125rem; border: 1px solid var(--border); border-radius: var(--mp-r); background: var(--card); box-shadow: 0 1px 4px rgb(0 0 0 / 8%);
  animation: mp-legal-rise 360ms var(--mp-ease) both; animation-delay: calc(var(--mp-i, 0) * 70ms); }
.mp-legal-card h3 { margin: 0; font-size: var(--mp-fs-md); font-weight: 650; color: var(--card-foreground); }
.mp-legal-card p { margin: 0; color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.6; white-space: pre-wrap; }
.mp-legal-list { display: grid; gap: .375rem; margin: 0; padding: 0; list-style: none; }
.mp-legal-list li { display: flex; align-items: center; gap: .5rem; color: var(--muted-foreground); font-size: var(--mp-fs-sm); }
.mp-legal-list li svg { color: var(--primary); flex: 0 0 auto; }
.mp-legal-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .5rem; margin: 0; }
.mp-legal-stats div { display: grid; gap: .125rem; padding: .75rem; border-radius: var(--mp-r); background: color-mix(in oklab, var(--primary) 8%, var(--card)); }
.mp-legal-stats dt { color: var(--muted-foreground); font-size: var(--mp-fs-xs); }
.mp-legal-stats dd { margin: 0; font-size: 1.5rem; font-weight: 700; color: var(--primary); font-variant-numeric: tabular-nums; }
.mp-legal-lead { margin: 0; color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.5; }
.mp-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.mp-steps li { display: grid; justify-items: start; gap: .375rem; padding: .625rem .75rem; border-radius: var(--mp-r); border: 1px solid var(--border); font-size: var(--mp-fs-xs); color: var(--muted-foreground); }
.mp-steps li svg { color: var(--primary); }
.mp-legal-check { display: flex; align-items: flex-start; gap: .5rem; font-size: var(--mp-fs-sm); }
.mp-legal-done { display: grid; justify-items: center; gap: .5rem; text-align: center; padding: 1.5rem 0; animation: mp-legal-rise 420ms var(--mp-ease) both; }
.mp-legal-done svg { color: var(--primary); }
.mp-legal-done p { margin: 0; color: var(--muted-foreground); font-size: var(--mp-fs-sm); }
.mp-hp { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }
@keyframes mp-legal-rise { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .mp-legal-card, .mp-legal-done { animation: none; } }
@media (max-width: 600px) { .mp-steps { grid-template-columns: 1fr; } .mp-legal-head { padding: 1rem; } .mp-legal-body { padding: .875rem 1rem 1.25rem; } }
/* Hinweis unter den Kommentaren: gleiche Breite wie ein Kommentar, klein und ruhig. */
.mp-comment-notice { display: flex; gap: .625rem; align-items: flex-start; margin-top: 18px; padding: .75rem .875rem; border-radius: var(--mp-r); background: color-mix(in oklab, var(--muted) 60%, transparent); border: 1px dashed var(--border); }
.mp-comment-notice svg { flex: 0 0 auto; width: 14px; height: 14px; margin-top: 2px; color: var(--muted-foreground); }
.mp-comment-notice p { margin: 0; font-size: var(--mp-fs-xs); line-height: 1.55; color: var(--muted-foreground); }

/* ---------- Footer: brand with glowing logo, section links, legal/transparency columns, contact; accent-tinted light. ---------- */
.mp-footer { position: relative; isolation: isolate; overflow: hidden; margin-top: 2.5rem; padding: 3rem 1.25rem 1.25rem;
  color: var(--card-foreground); border-top: 1px solid color-mix(in oklab, var(--primary) 22%, var(--border));
  background: var(--card); }
.mp-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px;
  background: linear-gradient(90deg, transparent, var(--primary) 30%, color-mix(in oklab, var(--primary) 55%, white) 50%, var(--primary) 70%, transparent);
  background-size: 200% 100%; animation: mp-footer-shimmer 9s linear infinite; }
.mp-footer-inner { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.7fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem 2rem; max-width: 78rem; margin: 0 auto; }
.mp-footer-sections ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
.mp-footer-brand { display: grid; align-content: start; justify-items: start; gap: .75rem; }
.mp-footer-logo { width: 4.5rem; height: 4.5rem; object-fit: contain; }
.mp-footer-monogram { display: grid; place-items: center; font-size: 2.25rem; font-weight: 800; color: var(--primary); border-radius: 1rem; background: color-mix(in oklab, var(--primary) 12%, var(--card)); }
.mp-footer-name { margin: .25rem 0 0; font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1;
  background: linear-gradient(100deg, var(--card-foreground) 20%, var(--primary) 85%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mp-footer-tagline { margin: 0; max-width: 28rem; color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.6; }
.mp-footer-publisher { margin: 0; font-size: var(--mp-fs-xs); color: color-mix(in oklab, var(--primary) 70%, var(--muted-foreground)); font-weight: 600; letter-spacing: .02em; }
.mp-footer-column { display: grid; align-content: start; gap: .25rem; min-width: 0; }
.mp-footer-column h2 { margin: 0 0 .5rem; font-size: var(--mp-fs-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: color-mix(in oklab, var(--primary) 75%, var(--muted-foreground)); }
.mp-footer-column h2::after { content: ""; display: block; width: 1.75rem; height: 2px; margin-top: .5rem; border-radius: 2px; background: linear-gradient(90deg, var(--primary), transparent); }
.mp-footer-column ul { display: grid; gap: .125rem; margin: 0; padding: 0; list-style: none; }
.mp-footer-column li { animation: mp-footer-rise 520ms var(--mp-ease) both; animation-delay: calc(var(--mp-i, 0) * 45ms); }
.mp-footer-link { display: inline-flex; align-items: center; gap: .5rem; padding: .3rem 0; border: 0; background: none; color: var(--card-foreground); font: inherit; font-size: var(--mp-fs-sm); text-align: left; cursor: pointer; position: relative; transition: color 180ms ease, transform 220ms var(--mp-ease); }
.mp-footer-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: .1rem; height: 1px; background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform 240ms var(--mp-ease); }
.mp-footer-link:hover, .mp-footer-link:focus-visible { color: var(--primary); transform: translateX(3px); outline: none; }
.mp-footer-link:hover::after, .mp-footer-link:focus-visible::after { transform: scaleX(1); }
.mp-footer-link-icon { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: .45rem; color: var(--primary); background: color-mix(in oklab, var(--primary) 12%, transparent); transition: background 180ms ease, transform 220ms var(--mp-ease); }
.mp-footer-link-icon svg { width: 14px; height: 14px; }
.mp-footer-link:hover .mp-footer-link-icon { background: color-mix(in oklab, var(--primary) 26%, transparent); transform: rotate(-6deg) scale(1.08); }
.mp-footer-link-plain::before { content: "›"; color: var(--primary); font-weight: 700; opacity: .7; }
.mp-footer-contact { font-style: normal; gap: .5rem; }
.mp-footer-operator { margin: 0; font-weight: 650; font-size: var(--mp-fs-sm); }
.mp-footer-contact-row { display: flex; align-items: flex-start; gap: .5rem; margin: 0; font-size: var(--mp-fs-sm); line-height: 1.5; color: var(--muted-foreground); }
.mp-footer-contact-row svg { flex: 0 0 auto; width: 15px; height: 15px; margin-top: .2rem; color: var(--primary); }
.mp-footer-contact-row a { color: var(--card-foreground); text-decoration: none; border-bottom: 1px solid color-mix(in oklab, var(--primary) 40%, transparent); transition: color 180ms ease, border-color 180ms ease; }
.mp-footer-contact-row a:hover { color: var(--primary); border-color: var(--primary); }
.mp-footer-base { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; max-width: 76rem; margin: 2.5rem auto 0; padding-top: 1rem;
  border-top: 1px solid color-mix(in oklab, var(--primary) 18%, var(--border)); color: var(--muted-foreground); font-size: var(--mp-fs-xs); }
.mp-footer-base p { margin: 0; }
.mp-footer-base strong { color: var(--card-foreground); font-weight: 600; }
.mp-footer-top { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .9rem; border-radius: 999px; border: 1px solid color-mix(in oklab, var(--primary) 40%, var(--border)); background: color-mix(in oklab, var(--primary) 10%, var(--card)); color: var(--card-foreground); font: inherit; font-size: var(--mp-fs-xs); font-weight: 600; cursor: pointer; transition: background 180ms ease, box-shadow 220ms ease, transform 220ms var(--mp-ease); }
.mp-footer-top svg { width: 14px; height: 14px; color: var(--primary); transition: transform 260ms var(--mp-ease); }
.mp-footer-top:hover { background: color-mix(in oklab, var(--primary) 22%, var(--card)); box-shadow: 0 10px 24px -14px var(--primary); transform: translateY(-2px); }
.mp-footer-top:hover svg { transform: translateY(-3px); }
@keyframes mp-footer-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@keyframes mp-footer-rise { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) { .mp-footer::before, .mp-footer-column li { animation: none; } }
@media (max-width: 1100px) { .mp-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mp-footer-brand { grid-column: 1 / -1; } .mp-footer-sections { grid-column: 1 / -1; } .mp-footer-sections ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mp-footer { padding: 2.25rem 1rem 1rem; } .mp-footer-inner { grid-template-columns: 1fr; gap: 1.75rem; } .mp-footer-sections ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mp-footer-base { justify-content: center; text-align: center; } }

/* ---------- Quick navigation (same bar as in the app): fixed at the bottom, centred, at most 700px wide. ---------- */
.mp-page { padding-bottom: calc(var(--mp-page-gutter) + 3rem + 24px); }
.mp-quick-nav { position: fixed; z-index: 35; left: 50%; bottom: 12px; transform: translateX(-50%); width: min(700px, calc(100% - 2rem));
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 3rem; padding: .25rem; border: 1px solid var(--primary); border-radius: 6px;
  background: var(--card); color: var(--card-foreground); box-shadow: 0 1px 4px rgb(0 0 0 / 8%); isolation: isolate; overflow: hidden; }
.mp-quick-nav > :not(.mp-header-blobs) { position: relative; z-index: 1; }
.mp-quick-nav > button, .mp-quick-nav > a { display: grid; justify-items: center; align-content: center; gap: .1rem; min-width: 0; min-height: 2.25rem; padding: .125rem .25rem;
  border: 0; border-radius: 7px; background: transparent; color: var(--muted-foreground); font: inherit; font-size: .625rem; line-height: 1.1; text-decoration: none; cursor: pointer; }
.mp-quick-nav > :is(button, a) svg { width: 1.25rem; height: 1.25rem; }
.mp-quick-nav > :is(button, a) > span { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
.mp-quick-nav > :is(button, a):hover { color: var(--foreground); }
.mp-quick-nav > [aria-current="page"] { color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--card)); }
.mp-quick-nav > :is(button, a):focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; }
@media (max-width: 600px) {
  .mp-quick-nav { left: 0; right: 0; bottom: 0; transform: none; width: auto; border-radius: 0; border-width: 1px 0 0; padding-bottom: calc(.25rem + env(safe-area-inset-bottom)); }
  .mp-page { padding-bottom: calc(var(--mp-page-gutter) + 3rem + env(safe-area-inset-bottom)); }
}

/* ---------- Info pages (Firmen-App, Inserieren) and registration ---------- */
.mp-info { display: grid; gap: 1.25rem; max-width: 900px; margin: 0 auto; padding-block: .5rem 1rem; }
.mp-info h1 { font-family: var(--wc-font-heading, inherit); font-size: clamp(1.5rem, 3.2vw, 2.25rem); line-height: 1.15; margin: 0; display: flex; align-items: center; gap: .6rem; }
.mp-info h1 svg { width: 1.6rem; height: 1.6rem; color: var(--primary); flex: none; }
.mp-info-lead { font-size: 1.05rem; line-height: 1.55; color: var(--muted-foreground); margin: 0; }
.mp-info-back { justify-self: start; }
.mp-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .875rem; }
.mp-info-plans { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.mp-info-card { padding: 1rem 1.1rem 1.1rem; display: grid; gap: .5rem; align-content: start; }
.mp-info-card h2 { font-size: 1rem; margin: 0; display: flex; align-items: center; gap: .5rem; }
.mp-info-card h2 svg { width: 1.1rem; height: 1.1rem; color: var(--primary); flex: none; }
.mp-info-card p, .mp-info-card li { font-size: .9rem; line-height: 1.5; color: var(--muted-foreground); margin: 0; }
.mp-info-card ul { margin: 0; padding-inline-start: 1.1rem; display: grid; gap: .3rem; }
.mp-info-plan { border-top: 3px solid var(--primary); }
.mp-info-price { font-size: 1.35rem; font-weight: 700; color: var(--foreground) !important; }
.mp-info-cta { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: .25rem; }
.mp-info-note { font-size: .8rem; color: var(--muted-foreground); display: inline-flex; align-items: center; gap: .35rem; }
.mp-reg-field { display: grid; gap: .3rem; font-size: .85rem; color: var(--muted-foreground); }
.mp-reg-field input { color: var(--foreground); }
.mp-reg-error { display: flex; align-items: center; gap: .4rem; color: var(--destructive); font-size: .85rem; margin: 0; }
.mp-reg-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; list-style: none; font-size: .8rem; color: var(--muted-foreground); }
.mp-reg-steps li { display: flex; align-items: center; gap: .5rem; padding: .5rem .6rem; border-radius: 6px; border: 1px solid var(--mp-line); background: var(--card); }
.mp-reg-steps li > span { width: 1.4rem; height: 1.4rem; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 600; background: var(--muted); color: var(--muted-foreground); flex: none; }
.mp-reg-steps li[aria-current="step"] { border-color: var(--primary); color: var(--foreground); }
.mp-reg-steps li[aria-current="step"] > span, .mp-reg-steps li[data-done] > span { background: var(--primary); color: var(--primary-foreground); }
.mp-reg-progress { margin: 0; padding: 0; list-style: none; display: grid; gap: .45rem; }
.mp-reg-progress li { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); column-gap: .5rem; align-items: center; font-size: .9rem; color: var(--muted-foreground); }
.mp-reg-progress li small { grid-column: 2; font-size: .75rem; }
.mp-reg-progress li[data-status="running"] { color: var(--foreground); }
.mp-reg-progress li[data-status="done"] svg { color: var(--primary); }
.mp-reg-progress li[data-status="failed"] { color: var(--destructive); }
.mp-reg-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--mp-line); justify-self: center; }
.mp-hourglass { animation: mp-hourglass 1.6s ease-in-out infinite; transform-origin: center; color: var(--primary); }
@keyframes mp-hourglass { 0%, 15% { transform: rotate(0); } 50%, 65% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .mp-hourglass { animation: none; } }
@media (max-width: 600px) { .mp-reg-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Profile dialog: news subscription toggle */
.mp-news-toggle { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.25rem; font-size: .9rem; cursor: pointer; }
.mp-news-toggle input { width: 1.1rem; height: 1.1rem; accent-color: var(--primary); }

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/styles/media-portal-shared.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Public portal – shared design system of the section pages.
   Every colour, radius and shadow comes from the active theme (--background, --card, --primary, --muted,
   --border, --radius, --shadow-*), so all themes, light/dark and custom palettes keep working.
   Sizes are rem based and follow the portal typography scale. Motion only without reduced-motion preference. */

:where(.mp-page, .mp-compare) {
  --mp-r: var(--radius, .5rem);
  --mp-r-sm: max(2px, calc(var(--radius, .5rem) * .6));
  --mp-line: var(--border);
  --mp-line-soft: color-mix(in oklab, var(--border) 70%, transparent);
  --mp-soft: color-mix(in oklab, var(--muted) 65%, var(--card));
  --mp-tint: color-mix(in oklab, var(--primary) 10%, var(--card));
  --mp-tint-strong: color-mix(in oklab, var(--primary) 18%, var(--card));
  --mp-shadow-rest: var(--shadow-2xs, 0 1px 2px rgb(0 0 0 / 8%));
  --mp-shadow-raise: var(--shadow-md, 0 12px 28px -10px rgb(0 0 0 / 35%));
  --mp-ease: cubic-bezier(.2, .7, .2, 1);
  --mp-fs-2xs: .625rem;
  --mp-fs-xs: .6875rem;
  --mp-fs-sm: .75rem;
  --mp-fs-base: .8125rem;
  --mp-fs-md: .875rem;
  --mp-fs-lg: 1rem;
  --mp-fs-xl: 1.375rem;
  --mp-fs-display: clamp(1.45rem, 1rem + 1.5vw, 2.15rem);
}

/* ---------- detail width per section (the community block keeps its own column) ---------- */
.mp-article-page > article:is([data-section="product"], [data-section="service"], [data-section="merchandise"], [data-section="used"], [data-section="company"]) { --mp-detail-width: 1040px; }
.mp-article-page > article:is([data-section="publication"], [data-section="job"], [data-section="event"], [data-section="congress"], [data-section="webinar"], [data-section="training"]) { --mp-detail-width: 900px; }
.mp-article-page > article[data-section="library"] { --mp-detail-width: 1080px; }
.mp-article-page > article:is([data-section="project"], [data-section="article"], [data-section="channel"], [data-section="clipping"]) { --mp-detail-width: 780px; }
.mp-article-page > article[data-section="posting"] { --mp-detail-width: 680px; }

/* ---------- shell refinements: toolbar, ticker, blueprint tiles, community ---------- */
.mp-toolbar { gap: 10px; }
.mp-toolbar :is(input, button) { border-radius: var(--mp-r); }
.mp-search input { background: var(--card); border-color: var(--mp-line); height: 2.5rem; font-size: max(16px, var(--mp-fs-md)); }
.mp-toolbar > button, .mp-toolbar [data-slot="select-trigger"] { height: 2.5rem; font-size: var(--mp-fs-md); background: var(--card); border: 1px solid var(--mp-line); }
.mp-article-slot { padding-top: 22px; }
.mp-rubric { align-self: flex-start; background: none; padding: 0; border-radius: 0; color: var(--primary); font-size: var(--mp-fs-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; }
.mp-news-tile { border: 1px solid var(--mp-line); border-radius: var(--mp-r); box-shadow: var(--mp-shadow-rest); }
.mp-tile-body { gap: 7px; padding: 14px 16px 16px; }
.mp-tile-title { font-size: var(--mp-fs-md); font-weight: 600; line-height: 1.35; letter-spacing: -.005em; }
.mp-tile-hero .mp-tile-title { font-size: clamp(1.15rem, .8rem + 1.2vw, 1.75rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.18; }
.mp-tile-feature .mp-tile-title { font-size: 1.05rem; }
.mp-tile-small .mp-tile-title { font-size: var(--mp-fs-sm); line-height: 1.3; }
.mp-tile-teaser { font-size: var(--mp-fs-base); line-height: 1.55; color: var(--muted-foreground); }
.mp-tile-meta { font-size: var(--mp-fs-xs); color: var(--muted-foreground); }
.mp-tile-image-overlay { padding: 16px; background: linear-gradient(to bottom, rgb(0 0 0 / 0%) 35%, rgb(0 0 0 / 72%) 100%); }
.mp-ticker { padding: 14px 16px; }
.mp-ticker > .mp-rubric { margin-bottom: 10px; }
.mp-ticker-row { gap: 0; }
.mp-ticker-item { padding: 2px 16px; gap: 6px; border-inline-start: 1px solid var(--mp-line); }
.mp-ticker-item:first-child { padding-inline-start: 0; border-inline-start: 0; }
.mp-ticker-item > span:first-child { font-size: var(--mp-fs-base); font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: break-word; }
.mp-ticker-item > .mp-ticker-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: var(--mp-fs-xs); font-weight: 400; color: var(--muted-foreground); -webkit-line-clamp: unset; }
.mp-ticker-meta small { text-transform: uppercase; letter-spacing: .07em; font-size: var(--mp-fs-2xs); font-weight: 600; }
.mp-ticker-item:hover > .mp-ticker-meta { color: var(--muted-foreground); }
.mp-ticker-pager { padding-inline-start: 10px; }
.mp-feed-pagination { padding-top: 18px; border-top: 1px solid var(--mp-line); font-size: var(--mp-fs-sm); }
/* Remaining shell surfaces follow the theme radius and shadow instead of fixed 6px corners. */
.mp-navigation button, .mp-subnavigation button, .mp-nav-measure > span { border-radius: var(--mp-r); }
.mp-nav-drag-preview { border-radius: var(--mp-r, var(--radius, 6px)); }
.mp-tile-link:focus-visible, .mp-ticker-item:focus-visible { border-radius: var(--mp-r); }
.mp-detail-content img, .mp-detail-content video { border-radius: var(--mp-r); }
.mp-event-calendar-card { border-color: var(--mp-line); border-radius: var(--mp-r); box-shadow: var(--mp-shadow-rest); }
.mp-event-calendar td button { border-radius: var(--mp-r-sm); }
.mp-event-agenda-item, .mp-event-selection-empty { border-radius: var(--mp-r); }
.mp-contribute { border: 1px solid var(--mp-line); border-inline-start: 3px solid var(--primary); border-radius: var(--mp-r); background: var(--mp-tint); }
.mp-ticker-compact { margin-top: 36px; }
.mp-ticker-compact .mp-ticker { background: var(--mp-soft); box-shadow: none; }
@media (max-width: 767px) {
  .mp-ticker-item { padding: 10px 0 0; border-inline-start: 0; border-top: 1px solid var(--mp-line); }
  .mp-ticker-item:first-child { padding-top: 0; border-top: 0; }
  .mp-ticker-item > .mp-ticker-meta { flex-shrink: 0; flex-direction: column; align-items: flex-end; }
  /* Ticker am Handy: Einträge seitlich scrollbar, je Eintrag einrastend; der Pager bleibt am rechten Rand stehen. */
  .mp-ticker-row { overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; gap: 12px; padding-bottom: 6px; }
  .mp-ticker-item, .mp-ticker-item:first-child { flex: 0 0 82%; padding: 12px; border: 1px solid var(--mp-line); border-radius: var(--mp-r); scroll-snap-align: start; }
  .mp-ticker-item:first-child { padding-inline-start: 12px; }
  .mp-ticker-pager { position: sticky; inset-inline-end: 0; flex: none; padding-inline-start: 4px; background: var(--card); }
}

/* ---------- typography primitives ---------- */
.mp-kicker { display: inline-block; min-width: 0; max-width: 100%; color: var(--primary); font-size: var(--mp-fs-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-kicker[data-tone="muted"] { color: var(--muted-foreground); }
.mp-kicker-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
/* Separator dots sit in the gap before each item; the ones at a line start fall into the clipped strip. */
.mp-meta { display: flex; flex-wrap: wrap; align-items: center; row-gap: 2px; min-width: 0; margin-inline-start: -16px; clip-path: inset(-4px -4px -4px 16px); color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.45; }
.mp-meta > span { position: relative; display: inline-flex; align-items: center; gap: 4px; min-width: 0; margin-inline-start: 16px; }
.mp-meta > span::before { content: ""; position: absolute; left: -10px; top: 50%; width: 3px; height: 3px; margin-top: -1.5px; border-radius: 50%; background: currentColor; opacity: .55; }
.mp-meta svg { width: 13px; height: 13px; flex-shrink: 0; }
.mp-icon-meta { display: inline-flex; align-items: center; gap: 4px; color: var(--muted-foreground); font-size: var(--mp-fs-sm); }
.mp-icon-meta > svg { width: 13px; height: 13px; flex-shrink: 0; }

/* ---------- cards ---------- */
.mp-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--card); color: var(--card-foreground); border: 1px solid var(--mp-line); border-radius: var(--mp-r); box-shadow: var(--mp-shadow-rest); overflow: hidden; }
.mp-card-link { display: flex; flex-direction: column; flex: 1; width: 100%; min-width: 0; text-align: start; cursor: pointer; color: inherit; background: none; border: 0; padding: 0; font: inherit; }
.mp-card-link:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; border-radius: var(--mp-r); }
.mp-card-visual { display: block; position: relative; width: 100%; min-width: 0; overflow: hidden; background: var(--mp-soft); aspect-ratio: 4 / 3; }
.mp-card-image { display: block; width: 100%; height: 100%; object-fit: cover; }
span.mp-card-visual.mp-image-missing { display: grid; place-items: center; color: var(--muted-foreground); }
.mp-card-body { display: flex; flex-direction: column; gap: 7px; padding: 14px 16px 16px; min-width: 0; flex: 1; }
.mp-card-title { color: var(--card-foreground); font-size: var(--mp-fs-md); font-weight: 600; line-height: 1.38; letter-spacing: -.005em; overflow-wrap: break-word; hyphens: auto; text-wrap: pretty; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mp-card-teaser { color: var(--muted-foreground); font-size: var(--mp-fs-base); line-height: 1.55; overflow-wrap: break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.mp-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; color: var(--muted-foreground); font-size: var(--mp-fs-sm); }
.mp-card-meta > svg, .mp-meta-icon > svg { width: 13px; height: 13px; flex-shrink: 0; }
.mp-meta-icon { display: inline-flex; align-items: center; gap: 3px; }
.mp-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0 16px 16px; }
.mp-card-host { font-size: var(--mp-fs-xs); color: var(--muted-foreground); overflow-wrap: anywhere; }
.mp-action-link { font-size: var(--mp-fs-sm); }
.mp-more { display: inline-flex; align-items: center; gap: 4px; color: var(--primary); font-weight: 600; font-size: var(--mp-fs-sm); }
.mp-more > svg { width: 14px; height: 14px; }
.mp-monogram { display: inline-grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--mp-tint-strong); color: var(--primary); font-weight: 700; font-size: 1.05rem; line-height: 1; }

/* ---------- chips, badges, prices ---------- */
.mp-chip-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.mp-chip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 3px 9px; border: 1px solid var(--mp-line); border-radius: var(--mp-r); background: transparent; color: var(--muted-foreground); font-size: var(--mp-fs-xs); line-height: 1.35; font-weight: 500; overflow-wrap: anywhere; }
.mp-chip > svg { width: 12px; height: 12px; flex-shrink: 0; }
.mp-chip[data-tone="primary"] { border-color: color-mix(in oklab, var(--primary) 45%, transparent); background: color-mix(in oklab, var(--primary) 8%, transparent); color: var(--primary); }
.mp-chip[data-tone="accent"] { border-color: transparent; background: var(--primary); color: var(--primary-foreground); font-weight: 600; }
.mp-chip[data-tone="muted"], .mp-chip[data-tone="outline"] { color: var(--muted-foreground); }
button.mp-chip-button { cursor: pointer; font: inherit; font-size: var(--mp-fs-xs); color: var(--foreground); }
button.mp-chip-button:hover { border-color: var(--primary); color: var(--primary); }
button.mp-chip-button:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.mp-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 7px; border-radius: var(--mp-r-sm); background: var(--mp-soft); color: var(--foreground); font-size: var(--mp-fs-2xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.45; }
.mp-badge[data-tone="accent"] { background: var(--primary); color: var(--primary-foreground); }
.mp-image-badge { position: absolute; top: 10px; left: 10px; z-index: 1; max-width: calc(100% - 64px); padding: 3px 8px; border-radius: var(--mp-r-sm); background: color-mix(in oklab, var(--card) 88%, transparent); color: var(--card-foreground); font-size: var(--mp-fs-xs); font-weight: 600; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; box-shadow: 0 1px 3px rgb(0 0 0 / 18%); backdrop-filter: blur(6px); }
.mp-image-badge[data-tone="accent"] { background: var(--primary); color: var(--primary-foreground); text-transform: uppercase; letter-spacing: .06em; font-size: var(--mp-fs-2xs); font-weight: 700; }
.mp-tile-badge { position: absolute; top: 10px; right: 10px; z-index: 1; display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: var(--mp-r-sm); background: rgb(0 0 0 / 55%); color: #fff; font-size: var(--mp-fs-xs); font-weight: 600; line-height: 1.3; backdrop-filter: blur(6px); }
.mp-tile-badge > svg { width: 12px; height: 12px; }
.mp-price { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.15; min-width: 0; }
.mp-price strong { color: var(--card-foreground); font-size: var(--mp-fs-lg); font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.mp-price small { margin-top: 2px; color: var(--muted-foreground); font-size: var(--mp-fs-xs); }
.mp-price-sm strong { font-size: var(--mp-fs-md); }
.mp-price-lg strong { font-size: 1.85rem; letter-spacing: -.02em; }
.mp-price:is([data-price-kind="free"], [data-price-kind="request"]) strong { color: var(--primary); font-size: var(--mp-fs-md); font-weight: 600; }
.mp-price-lg:is([data-price-kind="free"], [data-price-kind="request"]) strong { font-size: 1.2rem; }

/* ---------- masthead, facets, empty state ---------- */
.mp-masthead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 28px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--mp-line); }
.mp-masthead-text { display: grid; gap: 5px; min-width: 0; max-width: 70ch; }
.mp-masthead-text > h2 { color: var(--foreground); font-size: var(--mp-fs-xl); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; overflow-wrap: break-word; }
.mp-masthead-text > p { color: var(--muted-foreground); font-size: var(--mp-fs-base); line-height: 1.55; }
.mp-masthead-aside { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 24px; }
.mp-stat { display: grid; justify-items: end; gap: 2px; text-align: end; }
.mp-stat > strong { color: var(--foreground); font-size: 1.6rem; font-weight: 700; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.mp-stat > small { color: var(--muted-foreground); font-size: var(--mp-fs-xs); text-transform: uppercase; letter-spacing: .07em; font-weight: 600; }
.mp-stat-note { color: var(--muted-foreground); font-size: var(--mp-fs-xs); line-height: 1.45; text-align: end; }
.mp-stat-note strong { color: var(--foreground); font-size: var(--mp-fs-sm); font-variant-numeric: tabular-nums; }
.mp-overview-count { color: var(--muted-foreground); font-size: var(--mp-fs-sm); font-variant-numeric: tabular-nums; }
.mp-commerce-range { color: var(--muted-foreground); font-size: var(--mp-fs-xs); }
.mp-facets { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: -6px 0 22px; }
.mp-facet-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.mp-facet-label { color: var(--muted-foreground); font-size: var(--mp-fs-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-inline-end: 4px; }
.mp-facet-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 11px; border: 1px solid var(--mp-line); border-radius: var(--mp-r); background: transparent; color: var(--foreground); font-size: var(--mp-fs-sm); line-height: 1.2; cursor: pointer; text-align: start; }
.mp-facet-chip:hover { border-color: color-mix(in oklab, var(--primary) 60%, var(--mp-line)); }
.mp-facet-chip[aria-pressed="true"] { border-color: var(--primary); background: var(--primary); color: var(--primary-foreground); }
.mp-facet-chip[aria-pressed="true"] .mp-facet-count { color: inherit; opacity: .8; }
.mp-facet-chip:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.mp-facet-count { color: var(--muted-foreground); font-size: var(--mp-fs-2xs); font-variant-numeric: tabular-nums; }
.mp-empty { display: grid; justify-items: center; gap: 10px; padding: 48px 24px; text-align: center; color: var(--muted-foreground); border: 1px dashed var(--mp-line); border-radius: var(--mp-r); background: color-mix(in oklab, var(--card) 40%, transparent); grid-column: 1 / -1; }
.mp-empty > svg { color: var(--primary); width: 30px; height: 30px; }
.mp-empty h3 { color: var(--foreground); font-size: var(--mp-fs-lg); font-weight: 600; }
.mp-empty p { max-width: 48ch; font-size: var(--mp-fs-base); }
.mp-inline-link { display: inline-flex; align-items: center; gap: 4px; color: var(--primary); text-decoration: underline; text-decoration-color: color-mix(in oklab, var(--primary) 45%, transparent); text-underline-offset: 3px; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; overflow-wrap: anywhere; text-align: start; }
.mp-inline-link:hover { text-decoration-color: currentColor; }
.mp-inline-link:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: 3px; }
.mp-publisher { display: inline-flex; align-items: center; gap: 5px; }
.mp-segmented { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 18px 6px; }

/* ---------- dates and terms ---------- */
.mp-stamp { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 58px; padding: 7px 8px 8px; border: 1px solid var(--mp-line); border-radius: var(--mp-r); background: var(--card); color: var(--card-foreground); line-height: 1.05; text-align: center; flex-shrink: 0; }
.mp-stamp strong { font-size: 1.5rem; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.mp-stamp small { font-size: var(--mp-fs-2xs); text-transform: uppercase; letter-spacing: .08em; color: var(--muted-foreground); font-weight: 600; }
.mp-stamp small.mp-stamp-month { order: -1; margin-bottom: 3px; color: var(--primary); }
.mp-stamp small.mp-stamp-weekday { order: 2; margin-top: 3px; }
.mp-stamp small.mp-stamp-until, .mp-stamp small.mp-stamp-time { order: 3; margin-top: 4px; text-transform: none; letter-spacing: 0; font-size: var(--mp-fs-2xs); font-weight: 500; color: var(--card-foreground); }
.mp-stamp-sm { min-width: 50px; padding: 5px 6px 6px; }
.mp-stamp-sm strong { font-size: 1.25rem; }
.mp-stamp-lg { min-width: 108px; padding: 14px 14px 12px; }
.mp-stamp-lg strong { font-size: 2.75rem; }
.mp-stamp-lg small { font-size: var(--mp-fs-xs); }
.mp-stamp[data-pending] { border-style: dashed; gap: 4px; color: var(--muted-foreground); background: transparent; }
.mp-stamp[data-pending] > svg { width: 18px; height: 18px; }
.mp-stamp-overlay { position: absolute; left: 12px; bottom: 12px; z-index: 1; border-color: transparent; box-shadow: 0 6px 18px rgb(0 0 0 / 28%); }
.mp-term-badge { display: inline-flex; align-items: center; gap: 6px; padding: 2px 8px; border-radius: var(--mp-r-sm); font-size: var(--mp-fs-2xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.5; background: var(--mp-soft); color: var(--foreground); white-space: nowrap; }
.mp-term-badge[data-soon] { background: var(--mp-tint-strong); color: var(--primary); }
.mp-term-badge:is([data-term="today"], [data-term="running"]) { background: var(--primary); color: var(--primary-foreground); }
.mp-term-badge:is([data-term="past"], [data-term="pending"]) { background: transparent; box-shadow: inset 0 0 0 1px var(--mp-line); color: var(--muted-foreground); }
.mp-live-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }

/* ---------- facts (spec sheet), sessions, lists ---------- */
.mp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); column-gap: 24px; margin: 0; border-top: 1px solid var(--mp-line); }
.mp-fact { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 12px 0; border-bottom: 1px solid var(--mp-line); }
.mp-fact dt { display: flex; align-items: center; gap: 6px; color: var(--muted-foreground); font-size: var(--mp-fs-2xs); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.mp-fact dt > svg { width: 13px; height: 13px; flex-shrink: 0; color: var(--primary); }
.mp-fact dd { margin: 0; color: var(--foreground); font-size: var(--mp-fs-base); font-weight: 500; line-height: 1.45; overflow-wrap: break-word; hyphens: auto; white-space: pre-line; }
.mp-sessions { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--mp-line); }
.mp-session { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 12px 10px; border-bottom: 1px solid var(--mp-line); }
.mp-session[data-next] { background: var(--mp-tint); box-shadow: inset 3px 0 0 var(--primary); }
.mp-session[data-past] { opacity: .6; }
.mp-session-date { display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; color: var(--foreground); }
.mp-session-date strong { font-size: 1.35rem; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.mp-session-date small { margin-top: 3px; font-size: var(--mp-fs-2xs); text-transform: uppercase; letter-spacing: .08em; color: var(--primary); font-weight: 600; }
.mp-session-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mp-session-title { font-weight: 600; font-size: var(--mp-fs-base); overflow-wrap: break-word; }
.mp-session-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; color: var(--muted-foreground); font-size: var(--mp-fs-sm); }
.mp-session-meta .mp-chip { padding: 1px 7px; }
.mp-session-text { color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.5; white-space: pre-line; }
.mp-sessions-compact .mp-session { padding: 8px 6px; grid-template-columns: 40px minmax(0, 1fr) auto; }
.mp-sessions-toggle { justify-self: start; margin-bottom: 6px; }
.mp-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mp-checklist li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; line-height: 1.55; }
.mp-checklist svg { width: 16px; height: 16px; margin-top: 4px; color: var(--primary); }

/* ---------- detail chrome ---------- */
.mp-detail-header { display: flex; flex-direction: column; gap: 10px; padding-top: 22px; }
.mp-detail-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; }
.mp-detail-header .mp-article-heading { margin: 0; color: var(--foreground); font-size: var(--mp-fs-display); font-weight: 700; line-height: 1.14; letter-spacing: -.025em; text-wrap: balance; }
.mp-detail-header .mp-article-subheadline { margin: 0; font-size: var(--mp-fs-lg); line-height: 1.55; color: var(--muted-foreground); max-width: 68ch; }
.mp-detail-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 4px; padding: 12px 0; border-block: 1px solid var(--mp-line); color: var(--muted-foreground); font-size: var(--mp-fs-sm); }
.mp-detail-meta > span { display: inline-flex; align-items: center; gap: 5px; }
.mp-detail-meta > span > svg { width: 14px; height: 14px; }
.mp-detail-meta-end { margin-inline-start: auto; }
.mp-detail-meta .mp-chip-row { gap: 4px; }
.mp-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mp-detail-media { display: grid; gap: 12px; }
.mp-detail-media video { width: 100%; }
.mp-detail-content { font-size: var(--mp-fs-md); line-height: 1.7; }
.mp-detail-content .mp-body-text, .mp-detail-content .wc-rich-text-content { font-size: inherit; line-height: inherit; }
.mp-detail-section > h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; color: var(--foreground); font-size: 1.15rem; font-weight: 700; letter-spacing: -.015em; margin-block: 0 14px; }
.mp-detail-section > h2 small, .mp-programme h2 small { font-size: var(--mp-fs-xs); font-weight: 500; color: var(--muted-foreground); letter-spacing: 0; }
.mp-downloads > h2 { font-size: 1.05rem; }
.mp-figure-caption { font-size: var(--mp-fs-xs); color: var(--muted-foreground); margin-top: 8px; overflow-wrap: anywhere; }
.mp-reading-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 45; background: var(--primary); transform-origin: 0 50%; transform: scaleX(var(--mp-progress, 0)); pointer-events: none; }

/* ---------- related rails ---------- */
.mp-related { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--mp-line); }
.mp-related-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 16px; }
.mp-related-head h2 { color: var(--foreground); font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; }
.mp-related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 14px; }
.mp-related-skeleton { height: 200px; }
.mp-related-text .mp-related-grid { grid-template-columns: minmax(0, 1fr); }
.mp-related-covers .mp-related-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
.mp-related-library .mp-related-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); }
.mp-mini .mp-card-body { padding: 12px; gap: 6px; }
.mp-mini .mp-card-title { font-size: var(--mp-fs-base); -webkit-line-clamp: 3; }
.mp-skeleton { position: relative; display: block; overflow: hidden; background: var(--mp-soft); border-radius: var(--mp-r); min-height: 1em; }
.mp-feed-loading { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.mp-feed-loading > .mp-skeleton { height: 260px; }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  .mp-card, .mp-news-tile { transition: transform 240ms var(--mp-ease), box-shadow 240ms ease, border-color 200ms ease; }
  .mp-card:has(.mp-card-link:focus-visible) { transform: translateY(-3px); box-shadow: var(--mp-shadow-raise); }
  .mp-card-image, .mp-tile-image { transition: transform 700ms var(--mp-ease); }
  .mp-card-title, .mp-tile-title, .mp-more > svg { transition: color 160ms ease, transform 200ms ease; }
  @media (hover: hover) and (pointer: fine) {
    .mp-card:has(.mp-card-link:hover), .mp-news-tile:has(.mp-tile-link:hover) { transform: translateY(-3px); box-shadow: var(--mp-shadow-raise); border-color: color-mix(in oklab, var(--primary) 35%, var(--mp-line)); }
    .mp-card-link:hover .mp-card-image, .mp-tile-link:hover .mp-tile-image { transform: scale(1.045); }
    .mp-card-link:hover .mp-card-title, .mp-tile-link:hover .mp-tile-body .mp-tile-title { color: var(--primary); }
    .mp-card-link:hover .mp-more > svg { transform: translateX(3px); }
  }
  .mp-reveal > .mp-card, .mp-reveal > .mp-reveal-item, .mp-news-layout .mp-news-tile, .mp-text-preview-layout .mp-news-tile { animation: mp-rise 480ms var(--mp-ease) both; animation-delay: calc(min(var(--mp-i, 0), 11) * 40ms); }
  .mp-masthead { animation: mp-fade 360ms ease both; }
  .mp-ticker-item { animation: mp-slide 280ms var(--mp-ease) both; animation-delay: calc(var(--mp-i, 0) * 40ms); }
  .mp-detail-header { animation: mp-rise 420ms var(--mp-ease) both; }
  .mp-facts > .mp-fact { animation: mp-rise 360ms var(--mp-ease) both; animation-delay: calc(140ms + var(--mp-i, 0) * 45ms); }
  .mp-sessions > .mp-session { animation: mp-rise 340ms var(--mp-ease) both; animation-delay: calc(min(var(--mp-i, 0), 10) * 35ms); }
  .mp-facet-chip, button.mp-chip-button { transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease; }
  .mp-facet-chip:active, button.mp-chip-button:active { transform: scale(.97); }
  .mp-session[data-next] { animation: mp-rise 340ms both, mp-pulse-inset 2.4s ease-in-out 400ms 2; }
  .mp-live-dot { animation: mp-live 1.6s ease-in-out infinite; }
  .mp-stat > strong { animation: mp-count-in 520ms var(--mp-ease) both; }
  .mp-reading-progress { transition: transform 120ms linear; }
  .mp-skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--card) 70%, transparent), transparent); animation: mp-shimmer 1.4s infinite; }
}
@keyframes mp-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes mp-slide { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
@keyframes mp-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mp-count-in { from { opacity: 0; transform: translateY(6px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes mp-pulse-inset { 0%, 100% { box-shadow: inset 3px 0 0 var(--primary); } 50% { box-shadow: inset 6px 0 0 var(--primary); } }
@keyframes mp-live { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes mp-shimmer { to { transform: translateX(100%); } }
@media (max-width: 600px) {
  .mp-masthead { align-items: flex-start; gap: 10px 16px; margin-bottom: 16px; padding-bottom: 14px; }
  .mp-masthead-aside { width: 100%; justify-content: space-between; }
  .mp-stat { justify-items: start; text-align: start; grid-auto-flow: column; align-items: baseline; gap: 6px; }
  .mp-stat > strong { font-size: 1.25rem; }
  .mp-session { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; }
  .mp-detail-meta-end { margin-inline-start: 0; }
  .mp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
}
/* ---------- small screens: facet groups scroll horizontally instead of wrapping into many rows ---------- */
@media (max-width: 767px) {
  .mp-facets { flex-direction: column; flex-wrap: nowrap; gap: 8px; margin-inline: -10px; }
  .mp-facet-group { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; padding: 2px 10px; scroll-padding-inline: 10px; }
  .mp-facet-group::-webkit-scrollbar { display: none; }
  .mp-facet-chip { flex: 0 0 auto; white-space: nowrap; }
  .mp-facet-label { flex: 0 0 auto; }
}
/* Long action labels (captured link names) wrap instead of widening their column. */
.mp-term-panel-main, .mp-training-sheet .mp-term-panel-main { grid-template-columns: minmax(0, 1fr); }
:is(.mp-detail-actions, .mp-offer-actions, .mp-card-actions) > :is(a, button):not(.mp-inline-link) { max-width: 100%; height: auto; min-height: 2.25rem; white-space: normal; text-align: start; line-height: 1.3; padding-block: 6px; }
/* Caption source links stay quiet; map links keep their icon on the first line, facts already carry the icon in the label. */
.mp-caption-link { color: inherit; text-decoration: underline; text-decoration-color: color-mix(in oklab, currentColor 40%, transparent); text-underline-offset: 2px; }
.mp-caption-link:hover { color: var(--primary); text-decoration-color: currentColor; }
.mp-inline-link > svg { flex-shrink: 0; align-self: flex-start; margin-top: .2em; }
.mp-fact dd .mp-inline-link > svg { display: none; }

/* Symbol visual for second-hand offers reported by the Portal-Administration (theme colours only). */
.mp-used-symbol { display: grid; place-items: center; position: relative; overflow: hidden; color: var(--primary);
  background: radial-gradient(circle at 50% 45%, var(--mp-tint-strong), var(--mp-tint) 55%, var(--mp-soft)); }
.mp-used-symbol-icon { width: min(46%, 9rem); height: auto; }
.mp-stage .mp-stage-frame.mp-used-symbol { display: grid; place-items: center; width: 100%;
  background: radial-gradient(circle at 50% 45%, var(--mp-tint-strong), var(--mp-tint) 55%, var(--mp-soft)); }
.mp-stage .mp-stage-frame.mp-used-symbol .mp-used-symbol-icon { width: min(42%, 14rem); }
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .mp-used-symbol-icon { transition: transform .3s var(--mp-ease); }
  .mp-card:hover .mp-used-symbol-icon, button:hover > .mp-used-symbol .mp-used-symbol-icon { transform: scale(1.05) rotate(-2deg); }
}

/* Typografie-Rollen (Entwickler-Vorgabe): Überschrift und Teaser; ohne Angabe gilt die Fließtext-/Systemschrift. */
.mp-page h1, .mp-page h2, .mp-page h3, .mp-page .mp-tile-title, .mp-page .mp-card-title, .mp-page .mp-cover-title { font-family: var(--wc-font-heading, inherit); }
.mp-page .mp-tile-teaser, .mp-page .mp-card-teaser, .mp-page .mp-article-subheadline { font-family: var(--wc-font-teaser, inherit); }

/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/styles/media-portal-editorial.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Public portal – editorial family: Artikel (blueprint), User-Kanäle (publisher stream), Fachmedium (cover shelf).
   Design system and tokens: media-portal-shared.css. Column COUNTS of the article blueprint stay bound to the
   JS width mode (records per mode); container queries refine PROPORTIONS for the real content width. */

/* ---------- Artikel ---------- */
.mp-article-overview { container: mp-feed / inline-size; }
.mp-news-layout { gap: 18px; }
.mp-image-row, .mp-feature-block { gap: 18px; }
.mp-small-grid { gap: 14px; }
.mp-text-list { gap: 14px; }
.mp-news-layout[data-layout="wide"] .mp-text-list, .mp-news-layout[data-layout="medium"] .mp-text-list { align-self: stretch; display: grid; grid-auto-rows: 1fr; }
.mp-tile-text .mp-tile-body { flex: 1; padding: 16px 18px; }
.mp-tile-text .mp-tile-teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mp-tile-text .mp-tile-meta { margin-top: auto; padding-top: 4px; }
.mp-tile-meta { display: flex; flex-wrap: wrap; gap: 2px 12px; }
.mp-tile-hero .mp-tile-body { padding: 18px 22px 22px; }
.mp-tile-hero .mp-tile-teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: var(--mp-fs-md); }
.mp-tile-feature .mp-tile-teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
/* Feature picture has a fixed height band, not a width-driven 3:4 ratio: on large screens the 3:4 frame grew past 1000 px. */
.mp-feature-block .mp-tile-feature .mp-tile-image,
.mp-news-layout[data-layout="wide"] .mp-hero-block .mp-tile-hero .mp-tile-image { aspect-ratio: auto; height: clamp(260px, 34vw, 420px); }
/* First block mirrors the feature block: hero picture left, three equal text tiles stacked right. */
.mp-news-layout[data-layout="wide"] .mp-hero-block { align-self: stretch; display: flex; flex-direction: column; }
.mp-news-layout[data-layout="wide"] .mp-hero-block .mp-tile-hero { flex: 1; display: flex; flex-direction: column; }
.mp-news-layout[data-layout="wide"] .mp-hero-block .mp-tile-hero .mp-tile-link { flex: 1; display: flex; flex-direction: column; }
/* Wide: feature picture left, compact tiles stacked right so both columns end at the same height. */
.mp-news-layout[data-layout="wide"] .mp-feature-block { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: stretch; }
.mp-news-layout[data-layout="wide"] .mp-feature-block .mp-small-grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: minmax(0, 1fr); }
.mp-news-layout[data-layout="wide"] .mp-feature-block .mp-tile-small,
.mp-news-layout[data-layout="wide"] .mp-feature-block .mp-tile-small .mp-tile-link { height: 100%; }
.mp-news-layout[data-layout="wide"] .mp-feature-block .mp-tile-small .mp-tile-body { height: 100%; justify-content: center; }
.mp-tile-small .mp-tile-teaser { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.mp-tile-small .mp-tile-meta { margin-top: auto; padding-top: 4px; }
/* A text list that follows a full-width image row or feature block spans the whole width in three columns. */
.mp-news-layout[data-layout="wide"] :is(.mp-image-row, .mp-feature-block) + .mp-text-list { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mp-tile-text { box-shadow: inset 3px 0 0 transparent, var(--mp-shadow-rest); }
.mp-tile-text:has(.mp-tile-link:focus-visible) { box-shadow: inset 3px 0 0 var(--primary), var(--mp-shadow-rest); }
@container mp-feed (max-width: 999px) {
  .mp-news-layout[data-layout="wide"] { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}
@container mp-feed (max-width: 759px) {
  .mp-news-layout[data-layout="wide"] { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
  .mp-news-layout[data-layout="wide"] .mp-tile-text .mp-tile-teaser { -webkit-line-clamp: 2; }
  .mp-news-layout[data-layout="wide"] .mp-tile-image .mp-tile-title { font-size: var(--mp-fs-base); }
}
@container mp-feed (max-width: 600px) {
  .mp-news-layout[data-layout="medium"] { grid-template-columns: minmax(0, 1fr); }
  .mp-news-layout[data-layout="medium"] .mp-text-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
}
/* Medium: the same balanced feature block and full-width closing text list as wide, from tablet width on. */
@container mp-feed (min-width: 601px) {
  .mp-news-layout[data-layout="medium"] .mp-feature-block { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: stretch; }
  .mp-news-layout[data-layout="medium"] .mp-feature-block .mp-small-grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: minmax(0, 1fr); }
  .mp-news-layout[data-layout="medium"] .mp-feature-block .mp-tile-small,
  .mp-news-layout[data-layout="medium"] .mp-feature-block .mp-tile-small .mp-tile-link { height: 100%; }
  .mp-news-layout[data-layout="medium"] .mp-feature-block .mp-tile-small .mp-tile-body { height: 100%; justify-content: center; }
  .mp-news-layout[data-layout="medium"] :is(.mp-image-row, .mp-feature-block) + .mp-text-list { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container mp-feed (min-width: 480px) {
  .mp-news-layout[data-layout="narrow"] .mp-image-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-news-layout[data-layout="narrow"] .mp-small-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mp-news-layout[data-layout="narrow"] .mp-tile-feature .mp-tile-link { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .mp-news-layout[data-layout="narrow"] .mp-tile-feature .mp-tile-body { justify-content: center; }
}
@media (prefers-reduced-motion: no-preference) {
  .mp-tile-text { transition: box-shadow 220ms ease, transform 240ms var(--mp-ease), border-color 200ms ease; }
  .mp-tile-image-overlay { transition: background-color 240ms ease; }
  @media (hover: hover) and (pointer: fine) {
    .mp-tile-text:has(.mp-tile-link:hover) { box-shadow: inset 3px 0 0 var(--primary), var(--mp-shadow-raise); }
    .mp-tile-link:hover .mp-tile-image-overlay { background-color: rgb(0 0 0 / 10%); }
  }
}

/* ---------- User-Kanäle ---------- */
.mp-channel-overview { container: mp-channel / inline-size; }
.mp-channel-header { display: flex; align-items: center; gap: 16px; padding: 18px 20px; margin-bottom: 24px; border: 1px solid var(--mp-line); border-radius: var(--mp-r); background: linear-gradient(115deg, var(--mp-tint), var(--card) 60%); box-shadow: var(--mp-shadow-rest); }
.mp-channel-header .mp-monogram { width: 56px; height: 56px; font-size: 1.4rem; }
.mp-channel-identity { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.mp-channel-identity h2 { color: var(--foreground); font-size: var(--mp-fs-xl); font-weight: 700; letter-spacing: -.02em; line-height: 1.2; overflow-wrap: break-word; }
.mp-channel-stream { display: grid; gap: 14px; max-width: 940px; }
.mp-month-break { display: flex; align-items: center; gap: 12px; margin-top: 10px; color: var(--muted-foreground); font-size: var(--mp-fs-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.mp-month-break::after { content: ""; flex: 1; border-top: 1px solid var(--mp-line); }
.mp-channel-post .mp-card-link { display: grid; grid-template-columns: 58px minmax(0, 1fr) clamp(150px, 28cqi, 250px); gap: 18px; padding: 18px; align-items: start; }
.mp-channel-post:not([data-image]) .mp-card-link { grid-template-columns: 58px minmax(0, 1fr); }
.mp-channel-body { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.mp-channel-body .mp-card-title { font-size: 1rem; }
.mp-channel-body .mp-card-teaser { -webkit-line-clamp: 3; }
.mp-channel-thumb { border-radius: var(--mp-r); }
.mp-channel-post .mp-card-actions { padding: 0 18px 18px calc(58px + 36px); }
@container mp-channel (max-width: 620px) {
  .mp-channel-post .mp-card-link, .mp-channel-post:not([data-image]) .mp-card-link { grid-template-columns: 50px minmax(0, 1fr); gap: 14px; padding: 14px; }
  .mp-channel-post .mp-channel-thumb { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 16 / 9 !important; }
  .mp-channel-post .mp-card-actions { padding-inline-start: 14px; }
  .mp-channel-header { flex-wrap: wrap; padding: 14px; }
}

/* ---------- Fachmedium ---------- */
.mp-publication-overview { container: mp-shelf / inline-size; }
.mp-shelf { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; align-items: start; }
@container mp-shelf (min-width: 460px) { .mp-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container mp-shelf (min-width: 720px) { .mp-shelf { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 22px; } }
@container mp-shelf (min-width: 1000px) { .mp-shelf { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mp-cover-tile { background: transparent; border: 0; box-shadow: none; overflow: visible; }
.mp-cover-tile .mp-card-body { padding: 12px 2px 2px; gap: 5px; }
.mp-cover-tile .mp-card-title { font-size: var(--mp-fs-base); -webkit-line-clamp: 3; }
.mp-cover-tile .mp-card-actions { padding: 8px 2px 0; }
.mp-cover { position: relative; display: block; border-radius: var(--mp-r); overflow: hidden; background: var(--mp-soft); box-shadow: 0 1px 2px rgb(0 0 0 / 12%), 0 10px 24px -8px rgb(0 0 0 / 35%); }
.mp-cover::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 7px; background: linear-gradient(90deg, rgb(0 0 0 / 22%), transparent); pointer-events: none; }
.mp-cover .mp-card-visual { aspect-ratio: 3 / 4; }
.mp-cover .mp-card-image { object-position: top center; }
.mp-cover-text { display: flex; aspect-ratio: 3 / 4; flex-direction: column; justify-content: space-between; gap: 10px; padding: 16px; background: linear-gradient(160deg, var(--mp-tint-strong), var(--card) 75%); color: var(--card-foreground); }
.mp-cover-text > svg { width: 22px; height: 22px; color: var(--primary); }
.mp-cover-text > span { font-weight: 700; font-size: var(--mp-fs-md); line-height: 1.25; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; hyphens: auto; }
.mp-cover-badge { position: absolute; top: 10px; left: 12px; z-index: 1; display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: var(--mp-r-sm); font-size: var(--mp-fs-2xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: color-mix(in oklab, var(--card) 90%, transparent); color: var(--card-foreground); box-shadow: 0 1px 3px rgb(0 0 0 / 22%); backdrop-filter: blur(6px); }
.mp-cover-badge > svg { width: 12px; height: 12px; color: var(--primary); }
.mp-cover[data-overlay]::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, rgb(0 0 0 / 50%) 0%, rgb(0 0 0 / 0%) 26%, rgb(0 0 0 / 0%) 42%, rgb(0 0 0 / 86%) 100%); pointer-events: none; }
.mp-cover-masthead { position: absolute; z-index: 2; top: 12px; left: 12px; right: 76px; color: #fff; font-size: var(--mp-fs-2xs); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; line-height: 1.3; text-shadow: 0 1px 2px rgb(0 0 0 / 45%); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-cover-title { position: absolute; z-index: 2; inset: auto 0 0 0; padding: 14px 12px 14px 16px; color: #fff; font-size: var(--mp-fs-md); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; text-shadow: 0 1px 3px rgb(0 0 0 / 55%); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; hyphens: auto; }
.mp-cover[data-size="lg"] .mp-cover-title { font-size: 1.05rem; padding: 18px 16px 18px 20px; }
.mp-cover[data-overlay] .mp-cover-badge { top: 10px; left: auto; right: 10px; z-index: 3; }
.mp-cover-publisher { font-size: var(--mp-fs-xs); color: var(--muted-foreground); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-publication-detail { container: mp-publication / inline-size; }
.mp-publication-top { display: grid; gap: 22px; }
.mp-publication-cover-column { width: 100%; max-width: 240px; margin: 24px auto 0; }
.mp-publication-cover-column .mp-cover[data-size="lg"] { box-shadow: 0 2px 6px rgb(0 0 0 / 14%), 0 24px 44px -14px rgb(0 0 0 / 45%); }
.mp-publication-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.mp-publication-facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
@container mp-publication (min-width: 660px) {
  .mp-publication-top { grid-template-columns: 230px minmax(0, 1fr); gap: 36px; align-items: start; }
  .mp-publication-cover-column { margin: 28px 0 0; position: sticky; top: 18px; }
}
@media (prefers-reduced-motion: no-preference) {
  .mp-cover { transition: transform 300ms var(--mp-ease), box-shadow 300ms ease; }
  .mp-cover-tile:has(.mp-card-link:focus-visible) { transform: none; box-shadow: none; }
  .mp-cover-tile:has(.mp-card-link:focus-visible) .mp-cover { transform: translateY(-5px); }
  @media (hover: hover) and (pointer: fine) {
    .mp-cover-tile:has(.mp-card-link:hover) { transform: none; box-shadow: none; }
    .mp-cover-tile:has(.mp-card-link:hover) .mp-cover { transform: translateY(-6px) rotate(-.8deg); box-shadow: 0 2px 6px rgb(0 0 0 / 14%), 0 22px 40px -12px rgb(0 0 0 / 50%); }
    .mp-cover-tile .mp-card-link:hover .mp-card-image { transform: none; }
  }
  .mp-cover-badge { animation: mp-badge-in 300ms var(--mp-ease) both; animation-delay: calc(min(var(--mp-i, 0), 11) * 40ms + 200ms); }
  .mp-publication-cover-column { animation: mp-rise 460ms var(--mp-ease) both; }
}
@keyframes mp-badge-in { from { opacity: 0; transform: translate(-4px, -4px); } to { opacity: 1; transform: none; } }
@container mp-shelf (max-width: 719px) {
  .mp-cover-title { font-size: var(--mp-fs-sm); -webkit-line-clamp: 4; padding: 10px 10px 10px 13px; }
  .mp-cover[data-overlay] .mp-cover-masthead { display: none; }
}
.mp-related-covers .mp-cover-title { font-size: var(--mp-fs-xs); -webkit-line-clamp: 4; padding: 10px; }
.mp-related-covers .mp-cover[data-overlay] .mp-cover-masthead { display: none; }
@container mp-shelf (min-width: 720px) { .mp-cover-tile:has(.mp-cover[data-overlay]) .mp-card-body > .mp-kicker { display: none; } }

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/styles/media-portal-commerce.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Public portal – commerce family: Produkte, Dienstleistung, Merchandise, Gebrauchtwaren.
   Design system and tokens: media-portal-shared.css. Columns follow the real content width. */
.mp-commerce { container: mp-shop / inline-size; position: relative; }
.mp-shop-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
@container mp-shop (min-width: 640px) { .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container mp-shop (min-width: 980px) { .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@container mp-shop (min-width: 460px) { .mp-shop-grid[data-kind="merchandise"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container mp-shop (min-width: 760px) { .mp-shop-grid[data-kind="merchandise"] { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@container mp-shop (min-width: 1120px) { .mp-shop-grid[data-kind="merchandise"] { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mp-shop-tile .mp-card-title { -webkit-line-clamp: 2; }
.mp-shop-tile .mp-card-teaser { -webkit-line-clamp: 2; }
.mp-shop-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--mp-line); }
.mp-shop-tile[data-kind="merchandise"] .mp-card-body { padding: 12px 14px 14px; gap: 5px; }
.mp-shop-tile[data-kind="merchandise"] .mp-shop-foot { padding-top: 8px; border-top: 0; }
.mp-used-meta { font-size: var(--mp-fs-sm); }
.mp-used-location { min-width: 0; }
.mp-used-location > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-more-products { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--mp-line); }
.mp-compare-toggle { position: absolute; top: 10px; right: 10px; z-index: 2; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: var(--mp-r); background: color-mix(in oklab, var(--card) 88%, transparent); color: var(--card-foreground); box-shadow: 0 1px 4px rgb(0 0 0 / 22%); cursor: pointer; backdrop-filter: blur(6px); }
.mp-compare-toggle > svg { width: 16px; height: 16px; }
.mp-compare-toggle:hover { color: var(--primary); }
.mp-compare-toggle[aria-pressed="true"] { background: var(--primary); color: var(--primary-foreground); }
.mp-compare-toggle:disabled { opacity: .45; cursor: not-allowed; }
.mp-compare-toggle:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
/* Row mode on small containers: compact horizontal tiles. */
@container mp-shop (max-width: 479px) {
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-card-link { display: grid; grid-template-columns: 116px minmax(0, 1fr); }
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-card-visual { height: 100%; aspect-ratio: auto !important; min-height: 128px; }
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-card-teaser { display: none; }
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-card-body { padding: 12px; }
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-compare-toggle { top: 8px; left: 80px; right: auto; width: 28px; height: 28px; }
}

/* Dienstleistung: ledger cards with a price rail */
.mp-service-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
@container mp-shop (min-width: 1180px) { .mp-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mp-service-card .mp-card-link { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: 18px; padding: 16px 18px; align-items: center; }
.mp-service-card:not([data-image]) .mp-card-link { grid-template-columns: minmax(0, 1fr) auto; }
.mp-service-thumb { border-radius: var(--mp-r); align-self: start; }
.mp-service-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mp-service-body .mp-card-title { font-size: .9375rem; -webkit-line-clamp: 2; }
.mp-service-price { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 4px; text-align: end; min-width: 132px; align-self: stretch; padding-inline-start: 18px; padding-inline-end: 34px; border-inline-start: 1px solid var(--mp-line); }
.mp-service-price .mp-price { align-items: flex-end; }
.mp-service-unit { color: var(--muted-foreground); font-size: var(--mp-fs-xs); }
.mp-service-card .mp-compare-toggle { top: calc(50% - 16px); right: 10px; background: transparent; box-shadow: none; color: var(--muted-foreground); backdrop-filter: none; }
.mp-service-card .mp-compare-toggle[aria-pressed="true"] { background: var(--primary); color: var(--primary-foreground); }
@container mp-shop (max-width: 600px) {
  .mp-service-card .mp-card-link { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 14px; }
  .mp-service-card:not([data-image]) .mp-card-link { grid-template-columns: minmax(0, 1fr); }
  .mp-service-price { grid-column: 1 / -1; flex-direction: row; align-items: baseline; justify-content: space-between; min-width: 0; padding: 12px 40px 0 0; border-inline-start: 0; border-top: 1px solid var(--mp-line); text-align: start; }
  .mp-service-card .mp-compare-toggle { top: auto; bottom: 10px; }
}

/* Vergleich */
.mp-compare-bar { position: sticky; bottom: 14px; z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; width: fit-content; max-width: 100%; margin: 22px auto 0; padding: 8px 10px 8px 14px; border-radius: var(--mp-r); background: var(--popover, var(--card)); color: var(--popover-foreground, var(--card-foreground)); border: 1px solid var(--mp-line); box-shadow: var(--shadow-lg, 0 18px 40px -12px rgb(0 0 0 / 45%)); }
.mp-compare-thumbs { display: inline-flex; padding-inline-start: 8px; }
.mp-compare-thumbs > img, .mp-compare-thumbs > span, .mp-compare-thumb-empty { width: 34px; height: 34px; border-radius: var(--mp-r); object-fit: cover; margin-inline-start: -8px; border: 2px solid var(--popover, var(--card)); background: var(--muted); display: inline-grid; place-items: center; font-weight: 700; font-size: .8rem; color: var(--muted-foreground); }
.mp-compare-count { font-size: var(--mp-fs-sm); font-weight: 600; }
.mp-compare { display: grid; overflow: auto; font-size: var(--mp-fs-sm); }
.mp-compare-row { display: grid; grid-template-columns: 120px repeat(var(--mp-compare-columns, 2), minmax(160px, 1fr)); border-bottom: 1px solid var(--border); }
.mp-compare-row > span { padding: 10px 12px; min-width: 0; overflow-wrap: break-word; }
.mp-compare-label { color: var(--muted-foreground); font-size: var(--mp-fs-2xs, .625rem); font-weight: 700; text-transform: uppercase; letter-spacing: .07em; position: sticky; left: 0; background: var(--background); }
.mp-compare-head .mp-compare-item { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.mp-compare-head .mp-compare-item img, .mp-compare-head .mp-compare-thumb-empty { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius, .5rem); margin: 0; border: 0; }

/* Detail: gallery, sticky offer card and body */
.mp-commerce-detail { container: mp-offer / inline-size; }
.mp-commerce-layout { display: grid; gap: 28px; margin-top: 24px; grid-template-columns: minmax(0, 1fr); }
.mp-commerce-stage:empty { display: none; }
@container mp-offer (min-width: 780px) {
  .mp-commerce-layout { grid-template-columns: minmax(0, 1fr) 330px; grid-template-areas: "stage offer" "body offer"; column-gap: 36px; }
  .mp-commerce-stage { grid-area: stage; }
  .mp-offer-card { grid-area: offer; align-self: start; position: sticky; top: 18px; }
  .mp-commerce-body { grid-area: body; }
  .mp-commerce-stage:empty + .mp-offer-card { grid-row: 1 / span 2; }
}
.mp-stage-figure { margin: 0; }
.mp-stage-frame { display: block; width: 100%; border-radius: var(--mp-r); overflow: hidden; background: var(--mp-soft); border: 1px solid var(--mp-line); }
.mp-stage-frame > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mp-commerce-detail[data-kind="merchandise"] .mp-stage-frame > img { object-fit: contain; }
.mp-stage-figure figcaption { font-size: var(--mp-fs-xs); color: var(--muted-foreground); margin-top: 8px; overflow-wrap: anywhere; }
.mp-stage-thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.mp-stage-thumbs > button { flex: 0 0 72px; width: 72px; height: 54px; padding: 0; border-radius: var(--mp-r); overflow: hidden; border: 2px solid transparent; background: var(--mp-soft); cursor: pointer; opacity: .65; }
.mp-stage-thumbs > button[aria-pressed="true"] { border-color: var(--primary); opacity: 1; }
.mp-stage-thumbs > button:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.mp-stage-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.mp-offer-card { display: grid; gap: 18px; padding: 20px; border-radius: var(--mp-r); background: var(--card); color: var(--card-foreground); border: 1px solid var(--mp-line); box-shadow: var(--shadow-sm, 0 4px 14px rgb(0 0 0 / 10%)); }
.mp-offer-price { display: grid; gap: 4px; padding-bottom: 16px; border-bottom: 1px solid var(--mp-line); }
.mp-offer-tax { color: var(--muted-foreground); font-size: var(--mp-fs-xs); }
.mp-offer-note { color: var(--muted-foreground); font-size: var(--mp-fs-base); line-height: 1.5; }
.mp-offer-actions { display: grid; gap: 8px; }
.mp-offer-actions > a, .mp-offer-actions > button:not(.mp-inline-link) { justify-content: center; height: 2.5rem; }
.mp-offer-actions .mp-inline-link { justify-self: start; font-size: var(--mp-fs-sm); }
.mp-offer-publisher { display: flex; align-items: flex-start; gap: 10px; padding-top: 14px; border-top: 1px solid var(--mp-line); font-size: var(--mp-fs-xs); color: var(--muted-foreground); line-height: 1.45; }
.mp-offer-publisher strong { color: var(--card-foreground); font-size: var(--mp-fs-sm); }
.mp-offer-publisher > svg { width: 18px; height: 18px; margin-top: 2px; color: var(--primary); }
.mp-offer-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.mp-commerce-body { min-width: 0; }
@media (prefers-reduced-motion: no-preference) {
  .mp-shop-foot, .mp-service-price { animation: mp-rise 360ms var(--mp-ease) both; animation-delay: calc(min(var(--mp-i, 0), 11) * 40ms + 140ms); }
  .mp-image-badge, .mp-compare-toggle { animation: mp-pop 300ms var(--mp-ease) both; animation-delay: calc(min(var(--mp-i, 0), 11) * 40ms + 200ms); }
  .mp-compare-toggle { transition: background-color 160ms ease, color 160ms ease, transform 160ms ease; }
  .mp-compare-toggle:active { transform: scale(.92); }
  .mp-compare-bar { animation: mp-bar-in 260ms var(--mp-ease) both; }
  .mp-offer-card { animation: mp-rise 420ms var(--mp-ease) 90ms both; }
  .mp-stage-frame > img { animation: mp-fade 280ms ease both; }
  .mp-stage-thumbs > button { transition: opacity 160ms ease, border-color 160ms ease; }
  @media (hover: hover) and (pointer: fine) {
    .mp-stage-thumbs > button:hover { opacity: 1; }
    .mp-service-card .mp-card-link:hover .mp-card-image { transform: none; }
  }
}
@keyframes mp-pop { from { opacity: 0; transform: scale(.88); } to { opacity: 1; transform: none; } }
@keyframes mp-bar-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@container mp-shop (max-width: 479px) {
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-compare-toggle { top: auto; left: auto; bottom: 10px; right: 10px; }
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-image-badge { top: 8px; left: 8px; max-width: calc(100% - 16px); font-size: var(--mp-fs-2xs); padding: 2px 6px; }
  .mp-shop-grid:is([data-kind="product"], [data-kind="used"]) .mp-shop-foot { padding-right: 40px; }
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/styles/media-portal-dated.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Public portal – dated family: Events, Online-Kongress, Webinar-Reihe, Schulungsangebote.
   Design system and tokens (date stamp, term badge, sessions): media-portal-shared.css. */
.mp-dated { container: mp-dated / inline-size; }
.mp-dated-list-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-block: 40px 18px; padding-bottom: 14px; border-bottom: 1px solid var(--mp-line); }
.mp-dated-list-head .mp-event-articles-heading { margin: 0; font-size: var(--mp-fs-xl); font-weight: 700; letter-spacing: -.02em; }
.mp-dated-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: stretch; }
@container mp-dated (min-width: 560px) {
  .mp-dated-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-dated-tile[data-lead] { grid-column: span 2; }
}
@container mp-dated (min-width: 980px) { .mp-dated-grid:not(.mp-dated-grid-wide) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container mp-dated (min-width: 1280px) { .mp-dated-grid.mp-dated-grid-wide { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mp-dated-divider { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin-top: 14px; color: var(--muted-foreground); font-size: var(--mp-fs-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.mp-dated-divider::before, .mp-dated-divider::after { content: ""; flex: 1; border-top: 1px solid var(--mp-line); }
.mp-dated-body { display: flex; gap: 14px; padding: 16px; align-items: flex-start; min-width: 0; flex: 1; }
.mp-dated-text { display: flex; flex-direction: column; gap: 7px; min-width: 0; flex: 1; }
.mp-dated-text .mp-card-title { font-size: .9375rem; -webkit-line-clamp: 3; }
.mp-dated-line { display: flex; align-items: flex-start; gap: 7px; color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.45; overflow-wrap: break-word; }
.mp-dated-line > svg { width: 14px; height: 14px; margin-top: 2px; flex-shrink: 0; color: var(--primary); opacity: .9; }
.mp-dated-tile .mp-chip-row { gap: 6px; }
.mp-dated-tile .mp-card-actions { padding-top: 0; margin-top: -2px; }
.mp-dated-tile[data-term="past"] { background: color-mix(in oklab, var(--card) 70%, var(--background)); box-shadow: none; }
.mp-dated-tile[data-term="past"] .mp-card-image { filter: grayscale(.55) brightness(.85); }
.mp-dated-tile[data-term="past"] .mp-card-title { color: var(--muted-foreground); }
.mp-dated-tile:is([data-term="today"], [data-term="running"]) { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary), var(--mp-shadow-rest); }
@container mp-dated (min-width: 560px) {
  .mp-dated-tile[data-lead]:has(.mp-dated-visual) .mp-card-link { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .mp-dated-tile[data-lead] .mp-dated-visual { height: 100%; aspect-ratio: auto !important; min-height: 240px; }
  .mp-dated-tile[data-lead] .mp-card-title { font-size: 1.15rem; font-weight: 700; letter-spacing: -.015em; }
  .mp-dated-tile[data-lead] .mp-dated-body { padding: 22px; }
  .mp-dated-tile[data-lead] .mp-card-teaser { -webkit-line-clamp: 3; }
}
.mp-training-tile { box-shadow: inset 3px 0 0 var(--mp-line), var(--mp-shadow-rest); }
.mp-training-tile:is([data-term="upcoming"], [data-term="today"], [data-term="running"]) { box-shadow: inset 3px 0 0 var(--primary), var(--mp-shadow-rest); }
.mp-fact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; margin-top: 2px; border-top: 1px solid var(--mp-line); }
.mp-fact-cell { display: flex; flex-direction: column; gap: 1px; min-width: 0; padding: 7px 0; border-bottom: 1px solid var(--mp-line); }
.mp-fact-cell small { font-size: var(--mp-fs-2xs); text-transform: uppercase; letter-spacing: .08em; color: var(--muted-foreground); font-weight: 700; }
.mp-fact-cell strong { font-size: var(--mp-fs-sm); font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: break-word; }
.mp-series-rail { display: grid; gap: 4px; margin-top: 4px; max-width: 340px; }
.mp-series-track, .mp-series-progress-bar { position: relative; display: block; height: 4px; border-radius: 999px; background: var(--mp-soft); overflow: hidden; }
.mp-series-track > i, .mp-series-progress-bar > i { position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(var(--mp-fill, 0)); background: var(--primary); border-radius: 999px; }
.mp-series-dates { display: flex; justify-content: space-between; gap: 8px; }
.mp-series-dates small { font-size: var(--mp-fs-2xs); color: var(--muted-foreground); font-variant-numeric: tabular-nums; }
.mp-series-progress { display: grid; gap: 6px; max-width: 380px; }
.mp-series-progress small { font-size: var(--mp-fs-xs); color: var(--muted-foreground); }

/* Detail: term panel, programme */
.mp-dated-detail { container: mp-dated-detail / inline-size; }
.mp-term-panel, .mp-training-sheet { display: flex; gap: 22px; align-items: flex-start; margin-top: 24px; padding: 20px; border: 1px solid var(--mp-line); border-radius: var(--mp-r); background: var(--card); box-shadow: var(--shadow-sm, 0 4px 14px rgb(0 0 0 / 10%)); }
.mp-term-panel:is([data-term="past"], [data-term="pending"]) { background: color-mix(in oklab, var(--card) 70%, var(--background)); box-shadow: none; }
.mp-term-panel-main { display: grid; gap: 14px; flex: 1; min-width: 0; }
.mp-term-when { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.mp-term-when > small { flex-basis: 100%; font-size: var(--mp-fs-2xs); text-transform: uppercase; letter-spacing: .09em; color: var(--muted-foreground); font-weight: 700; }
.mp-term-when > strong { color: var(--foreground); font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; }
.mp-term-when > span:not(.mp-term-badge) { color: var(--muted-foreground); font-size: var(--mp-fs-base); }
.mp-term-panel .mp-facts, .mp-training-sheet .mp-facts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.mp-dated-detail .mp-related-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); }
.mp-programme > h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; color: var(--foreground); font-size: 1.15rem; font-weight: 700; margin-bottom: 14px; }
.mp-day-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.mp-programme-day { scroll-margin-top: 140px; display: grid; gap: 10px; }
.mp-programme-day + .mp-programme-day { margin-top: 22px; }
.mp-programme-day > h3 { color: var(--foreground); font-size: var(--mp-fs-md); font-weight: 700; }
@container mp-dated-detail (max-width: 560px) {
  .mp-term-panel, .mp-training-sheet { flex-direction: column; gap: 16px; padding: 16px; }
}
@media (prefers-reduced-motion: no-preference) {
  .mp-series-track > i, .mp-series-progress-bar > i { animation: mp-grow 800ms var(--mp-ease) both; animation-delay: calc(min(var(--mp-i, 0), 11) * 40ms + 220ms); }
  .mp-term-panel, .mp-training-sheet { animation: mp-rise 420ms var(--mp-ease) 90ms both; }
  .mp-stamp-overlay { animation: mp-pop 320ms var(--mp-ease) both; animation-delay: calc(min(var(--mp-i, 0), 11) * 40ms + 180ms); }
  .mp-dated-tile .mp-stamp { transition: border-color 180ms ease, transform 200ms var(--mp-ease); }
  @media (hover: hover) and (pointer: fine) {
    .mp-dated-tile:not([data-term="past"]) .mp-card-link:hover .mp-stamp:not(.mp-stamp-overlay) { border-color: var(--primary); transform: translateY(-2px); }
  }
}
@keyframes mp-grow { from { transform: scaleX(0); } }
/* Lead tiles with an image: the actions sit at the bottom of the text column, not under the image. */
@container mp-dated (min-width: 560px) {
  .mp-dated-tile[data-lead]:has(.mp-dated-visual) { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .mp-dated-tile[data-lead]:has(.mp-dated-visual) > .mp-card-link { grid-column: 1 / -1; grid-row: 1; }
  .mp-dated-tile[data-lead]:has(.mp-dated-visual) > .mp-card-actions { grid-column: 2; grid-row: 1; align-self: end; z-index: 2; padding: 0 22px 20px; }
  .mp-dated-tile[data-lead]:has(.mp-dated-visual):has(> .mp-card-actions) .mp-dated-body { padding-bottom: 76px; }
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/styles/media-portal-showcase.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Public portal – showcase family: Projekte (portfolio), Mediathek (media wall), Firmen (directory).
   Design system and tokens: media-portal-shared.css. */
.mp-showcase { container: mp-showcase / inline-size; }

/* Projekte */
.mp-project-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
@container mp-showcase (min-width: 520px) { .mp-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container mp-showcase (min-width: 820px) { .mp-project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container mp-showcase (min-width: 1180px) { .mp-project-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mp-project-tile .mp-card-teaser { -webkit-line-clamp: 2; }
.mp-project-tile .mp-meta { margin-top: auto; padding-top: 4px; }
.mp-project-tile .mp-kicker[data-phase="completed"] { color: var(--foreground); }
.mp-project-tile .mp-kicker[data-phase="planned"] { color: var(--muted-foreground); }
.mp-phase-track { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.mp-phase-track > i { display: block; height: 4px; border-radius: 999px; background: color-mix(in oklab, var(--card) 55%, transparent); box-shadow: 0 1px 3px rgb(0 0 0 / 30%); }
.mp-phase-track > i[data-done] { background: var(--primary); }
.mp-phase-stepper { list-style: none; display: flex; margin: 22px 0 4px; padding: 16px 12px; border: 1px solid var(--mp-line); border-radius: var(--mp-r); background: var(--card); }
.mp-phase-stepper > li { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--muted-foreground); font-size: var(--mp-fs-sm); text-align: center; }
.mp-phase-stepper > li > svg { position: relative; z-index: 1; width: 24px; height: 24px; background: var(--card); border-radius: 50%; }
.mp-phase-stepper > li:not(:first-child)::before { content: ""; position: absolute; top: 12px; right: calc(50% + 14px); width: calc(100% - 28px); border-top: 2px solid var(--mp-line); }
.mp-phase-stepper > li:is([data-state="done"], [data-state="current"]) { color: var(--foreground); font-weight: 600; }
.mp-phase-stepper > li:is([data-state="done"], [data-state="current"]) > svg { color: var(--primary); }
.mp-phase-stepper > li:is([data-state="done"], [data-state="current"]):not(:first-child)::before { border-top-color: var(--primary); }

/* Mediathek */
.mp-library-wall { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; }
@container mp-showcase (min-width: 640px) {
  .mp-library-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mp-library-tile[data-lead] { grid-column: span 2; grid-row: span 2; }
}
@container mp-showcase (min-width: 900px) { .mp-library-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@container mp-showcase (min-width: 1180px) { .mp-library-wall { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mp-library-tile { border: 0; }
.mp-library-tile .mp-card-link { height: 100%; }
.mp-library-poster { position: relative; display: block; width: 100%; height: 100%; aspect-ratio: 1; overflow: hidden; background: var(--mp-soft); }
.mp-library-poster > .mp-card-image { position: absolute; inset: 0; }
.mp-library-empty { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted-foreground); }
.mp-library-empty > svg { width: 36px; height: 36px; }
.mp-library-counts { position: absolute; top: 10px; right: 10px; z-index: 1; display: flex; gap: 4px; }
.mp-library-counts > span { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: var(--mp-r-sm); background: rgb(0 0 0 / 55%); color: #fff; font-size: var(--mp-fs-xs); font-weight: 600; backdrop-filter: blur(6px); }
.mp-library-counts svg { width: 12px; height: 12px; }
.mp-library-caption { position: absolute; inset: auto 0 0 0; z-index: 1; display: flex; flex-direction: column; gap: 4px; padding: 40px 14px 14px; background: linear-gradient(to bottom, rgb(0 0 0 / 0%), rgb(0 0 0 / 78%)); color: #fff; }
.mp-library-caption .mp-card-title, .mp-library-tile .mp-card-link:hover .mp-card-title { color: #fff; font-size: var(--mp-fs-base); -webkit-line-clamp: 2; text-shadow: 0 1px 2px rgb(0 0 0 / 45%); }
.mp-library-caption .mp-card-teaser { color: #fff; opacity: .86; -webkit-line-clamp: 2; }
.mp-library-topic { font-size: var(--mp-fs-2xs); text-transform: uppercase; letter-spacing: .09em; font-weight: 700; opacity: .9; }
.mp-library-tile[data-lead] .mp-library-caption { padding: 64px 20px 20px; }
.mp-library-tile[data-lead] .mp-library-caption .mp-card-title { font-size: 1.3rem; font-weight: 700; letter-spacing: -.015em; -webkit-line-clamp: 3; }
.mp-library-album { margin-top: 22px; }
.mp-library-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 14px; margin-top: 22px; }
.mp-library-videos > video { width: 100%; border-radius: var(--mp-r); background: var(--mp-soft); }

/* Firmen */
.mp-company-grid { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@container mp-showcase (min-width: 720px) { .mp-company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container mp-showcase (min-width: 1200px) { .mp-company-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mp-company-tile .mp-card-link { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; padding: 18px; align-items: start; }
.mp-company-tile .mp-card-body { padding: 0; gap: 6px; }
.mp-company-logo { width: 72px; height: 72px; border-radius: var(--mp-r); }
.mp-company-tile .mp-monogram.mp-company-logo { font-size: 1.6rem; }
.mp-company-tile .mp-card-actions { padding-inline: 18px; }
.mp-showcase-detail { container: mp-showcase-detail / inline-size; }
.mp-company-layout { display: grid; gap: 28px; margin-top: 12px; }
@container mp-showcase-detail (min-width: 760px) { .mp-company-layout { grid-template-columns: minmax(0, 1fr) 310px; column-gap: 36px; align-items: start; } .mp-company-aside { position: sticky; top: 18px; } }
.mp-company-aside { display: grid; gap: 14px; }
.mp-company-card { display: grid; gap: 14px; padding: 20px; border-radius: var(--mp-r); background: var(--card); color: var(--card-foreground); border: 1px solid var(--mp-line); box-shadow: var(--shadow-sm, 0 4px 14px rgb(0 0 0 / 10%)); }
.mp-company-card > h2 { color: var(--muted-foreground); font-size: var(--mp-fs-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.mp-company-card address { display: grid; gap: 2px; font-style: normal; font-size: var(--mp-fs-base); line-height: 1.5; }
.mp-company-card address strong { font-size: var(--mp-fs-md); }
.mp-company-contact { list-style: none; margin: 0; padding: 14px 0 0; display: grid; gap: 10px; font-size: var(--mp-fs-base); border-top: 1px solid var(--mp-line); }
.mp-company-contact > li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
.mp-company-contact > li > svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: var(--primary); }
.mp-company-contact a { color: var(--card-foreground); text-decoration: underline; text-decoration-color: var(--mp-line); text-underline-offset: 3px; }
.mp-company-contact a:hover { color: var(--primary); text-decoration-color: currentColor; }
.mp-company-links { flex-direction: column; align-items: stretch; }
@media (prefers-reduced-motion: no-preference) {
  .mp-phase-track > i[data-done] { animation: mp-grow 560ms var(--mp-ease) both; transform-origin: 0 50%; animation-delay: calc(min(var(--mp-i, 0), 11) * 40ms + 240ms); }
  .mp-phase-stepper > li { animation: mp-rise 360ms var(--mp-ease) both; }
  .mp-phase-stepper > li:nth-child(2) { animation-delay: 100ms; }
  .mp-phase-stepper > li:nth-child(3) { animation-delay: 200ms; }
  .mp-phase-stepper > li[data-state="current"] > svg { animation: mp-live 1.8s ease-in-out 3; }
  .mp-library-caption { transition: padding 280ms var(--mp-ease); }
  @media (hover: hover) and (pointer: fine) {
    .mp-library-tile .mp-card-link:hover .mp-library-caption { padding-bottom: 20px; }
    .mp-library-tile .mp-card-link:hover .mp-card-image { transform: scale(1.06); }
  }
  .mp-company-card { animation: mp-rise 420ms var(--mp-ease) 90ms both; }
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/.pnpm/next@16.3.4_@babel+core@7.29.7_@playwright+test@1.63.0_@types+node@25.9.5_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/styles/media-portal-stream.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* Public portal – stream family: Posting (social stream), Medienclipping (press review), Jobbörse (job board).
   Design system and tokens: media-portal-shared.css. */
.mp-stream { container: mp-stream / inline-size; }

/* Posting */
.mp-posting-layout { display: grid; gap: 24px; }
@container mp-stream (min-width: 940px) { .mp-posting-layout { grid-template-columns: minmax(0, 660px) minmax(240px, 300px); justify-content: center; align-items: start; } }
.mp-posting-feed { display: grid; gap: 16px; width: 100%; max-width: 660px; margin-inline: auto; }
.mp-post .mp-card-link { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px; }
.mp-post-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mp-post-head .mp-monogram { width: 40px; height: 40px; font-size: 1rem; }
.mp-post-author { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.mp-post-author strong, .mp-post-author .mp-publisher { color: var(--card-foreground); font-size: var(--mp-fs-base); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-post-author time { font-size: var(--mp-fs-xs); color: var(--muted-foreground); }
.mp-post-text { color: var(--card-foreground); font-size: .9375rem; line-height: 1.6; font-weight: 400; white-space: pre-line; overflow-wrap: break-word; }
.mp-post-context { color: var(--muted-foreground); font-size: var(--mp-fs-sm); line-height: 1.5; }
.mp-post-media { border-radius: var(--mp-r); }
.mp-post-video { display: grid; place-items: center; aspect-ratio: 16 / 9; background: var(--mp-soft); color: var(--muted-foreground); }
.mp-post-video > svg { width: 40px; height: 40px; }
.mp-post-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px solid var(--mp-line); }
.mp-post-cta { display: inline-flex; align-items: center; gap: 6px; margin-inline-start: auto; color: var(--muted-foreground); font-size: var(--mp-fs-sm); font-weight: 600; }
.mp-post-cta > svg { width: 16px; height: 16px; }
.mp-post .mp-card-link:hover .mp-post-cta { color: var(--primary); }
.mp-post .mp-card-link:hover .mp-post-text { color: var(--card-foreground); }
.mp-posting-aside { display: none; }
@container mp-stream (min-width: 940px) { .mp-posting-aside { display: grid; gap: 16px; position: sticky; top: 18px; } }
.mp-side-card { padding: 16px 18px; border-radius: var(--mp-r); background: var(--card); color: var(--card-foreground); border: 1px solid var(--mp-line); font-size: var(--mp-fs-sm); }
.mp-side-card > h3 { font-size: var(--mp-fs-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: var(--muted-foreground); margin-bottom: 10px; }
.mp-side-card > p { color: var(--muted-foreground); line-height: 1.55; }
.mp-topic-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.mp-topic-list > li { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mp-topic-list small { min-width: 26px; padding: 1px 7px; border-radius: var(--mp-r-sm); background: var(--mp-tint); color: var(--primary); font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; }
.mp-post-detail { padding-top: 6px; }
.mp-post-detail > .mp-post-head { margin-top: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--mp-line); }
.mp-post-detail .mp-post-head .mp-detail-meta-end { margin-inline-start: auto; }
.mp-post-header .mp-article-heading { font-size: 1.35rem; font-weight: 500; line-height: 1.5; letter-spacing: -.005em; text-wrap: pretty; }

/* Medienclipping */
.mp-clipping-list { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); align-items: stretch; max-width: 940px; }
.mp-day-break { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin-top: 10px; font-size: var(--mp-fs-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: var(--muted-foreground); }
.mp-day-break:first-child { margin-top: 0; }
.mp-day-break::after { content: ""; flex: 1; border-top: 1px solid var(--mp-line); }
.mp-clipping .mp-card-link { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 14px; }
.mp-clipping .mp-card-title { font-size: .9375rem; }
.mp-clipping .mp-card-teaser { -webkit-line-clamp: 3; }
.mp-clipping .mp-card-meta { margin-top: auto; padding-top: 6px; }
.mp-clipping .mp-card-actions { padding: 0 20px 16px; justify-content: space-between; }
.mp-clipping-source { display: inline-flex; align-items: center; gap: 7px; color: var(--primary); font-size: var(--mp-fs-xs); font-weight: 700; letter-spacing: .02em; overflow-wrap: anywhere; }
.mp-clipping-source > svg { width: 15px; height: 15px; flex-shrink: 0; }
.mp-source-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-top: 22px; padding: 16px 20px; border-radius: var(--mp-r); border: 1px solid var(--mp-line); background: var(--card); box-shadow: inset 3px 0 0 var(--primary); }
.mp-source-icon { width: 26px; height: 26px; color: var(--primary); }
.mp-source-card > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mp-source-card small { font-size: var(--mp-fs-2xs); text-transform: uppercase; letter-spacing: .09em; color: var(--muted-foreground); font-weight: 700; }
.mp-source-card strong { color: var(--card-foreground); overflow-wrap: break-word; }
.mp-clipping-detail { container: mp-clipping / inline-size; }
@container mp-clipping (max-width: 560px) {
  .mp-source-card { grid-template-columns: auto minmax(0, 1fr); }
  .mp-source-card > a { grid-column: 1 / -1; justify-self: start; }
}

/* Jobbörse */
.mp-job-list { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@container mp-stream (min-width: 1060px) { .mp-job-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; } }
.mp-job-row .mp-card-link { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 18px; }
.mp-job-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: var(--mp-r); background: var(--mp-tint); color: var(--primary); }
.mp-job-icon > svg { width: 20px; height: 20px; }
.mp-job-body { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.mp-job-body .mp-card-title { font-size: .9375rem; -webkit-line-clamp: 2; }
.mp-job-meta { font-size: var(--mp-fs-sm); }
.mp-job-side { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 10px; align-self: stretch; }
.mp-job-posted { color: var(--muted-foreground); font-size: var(--mp-fs-xs); white-space: nowrap; }
.mp-job-arrow { width: 18px; height: 18px; color: var(--muted-foreground); }
.mp-job-hours { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--muted-foreground); font-size: var(--mp-fs-xs); }
.mp-job-hours > svg { width: 13px; height: 13px; flex-shrink: 0; }
.mp-job-hours > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-job-detail { container: mp-job / inline-size; }
.mp-job-facts { margin-top: 22px; }
.mp-job-layout { display: grid; gap: 28px; margin-top: 10px; }
@container mp-job (min-width: 760px) { .mp-job-layout { grid-template-columns: minmax(0, 1fr) 270px; column-gap: 36px; align-items: start; } .mp-apply-card { position: sticky; top: 18px; margin-top: 18px; } }
.mp-apply-card { display: grid; gap: 12px; padding: 20px; border-radius: var(--mp-r); border: 1px solid var(--mp-line); background: var(--card); box-shadow: var(--shadow-sm, 0 4px 14px rgb(0 0 0 / 10%)); font-size: var(--mp-fs-base); }
.mp-apply-card > h2 { color: var(--card-foreground); font-size: 1.05rem; font-weight: 700; }
.mp-apply-card > p { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--muted-foreground); line-height: 1.5; }
.mp-apply-card > p > svg { width: 16px; height: 16px; color: var(--primary); }
.mp-apply-card > p > strong { color: var(--card-foreground); }
.mp-apply-card .mp-detail-actions { flex-direction: column; align-items: stretch; }
@container mp-stream (max-width: 520px) {
  .mp-job-row .mp-card-link { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .mp-job-icon { width: 38px; height: 38px; }
  .mp-job-side { grid-column: 2; flex-direction: row; align-items: center; justify-content: flex-start; }
  .mp-job-arrow { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .mp-job-arrow, .mp-post-cta > svg, .mp-post-cta { transition: transform 200ms var(--mp-ease), color 180ms ease; }
  .mp-job-icon { transition: transform 240ms var(--mp-ease), background-color 200ms ease; }
  @media (hover: hover) and (pointer: fine) {
    .mp-job-row .mp-card-link:hover .mp-job-arrow { transform: translateX(4px); color: var(--primary); }
    .mp-job-row .mp-card-link:hover .mp-job-icon { transform: rotate(-6deg) scale(1.04); }
    .mp-post .mp-card-link:hover .mp-post-cta > svg { transform: scale(1.15); }
  }
  .mp-apply-card, .mp-source-card { animation: mp-rise 420ms var(--mp-ease) 90ms both; }
  .mp-day-break, .mp-month-break { animation: mp-fade 320ms ease both; }
}

