:root {
  --dafm-navy: #062b4f;
  --dafm-blue: #0e5f99;
  --dafm-edition-alpsee: #1262a6;
  --dafm-edition-alpsee-alt: #ffed00;
  --dafm-edition-rohrach: #2055ed;
  --dafm-green: #2f7d1d;
  --dafm-green-dark: #245f17;
  --dafm-magenta: #c40052;
  --dafm-magenta-dark: #99003f;
  --dafm-stone: #f4f0ea;
  --dafm-text: #0b1f33;
  --dafm-muted: #667085;
  --dafm-border: #dfe5ea;
  --dafm-white: #fff;
  --dafm-shadow: 0 14px 38px rgba(6, 43, 79, .12);
  --dafm-radius: 14px;
  --dafm-content: min(1600px, calc(100% - clamp(2rem, 5vw, 7rem)));
  --dafm-heading: Georgia, "Times New Roman", serif;
  --dafm-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--dafm-text); background: var(--dafm-white); font-family: var(--dafm-body); line-height: 1.6; overflow-wrap: break-word; word-break: normal; }
main, .prose { overflow-wrap: normal; word-break: normal; }
img { max-width: 100%; height: auto; }
a { color: var(--dafm-magenta); overflow-wrap: break-word; word-break: normal; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--dafm-magenta-dark); }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 { -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
h1, h2, h3 { margin: 0 0 .65em; color: var(--dafm-navy); font-family: var(--dafm-heading); line-height: 1.08; text-wrap: balance; }
h1 { font-size: clamp(2.45rem, 6vw, 5.3rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); }
h3 { font-size: 1.3rem; }
p { margin: 0 0 1rem; }
p, li, dd, figcaption { -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
button, .button, label, legend, summary, .eyebrow, .text-link { -webkit-hyphens: none; hyphens: none; overflow-wrap: normal; word-break: normal; }
.container { width: var(--dafm-content); margin-inline: auto; }
.section { padding-block: clamp(3rem, 7vw, 6rem); }
.section--stone { background: var(--dafm-stone); }
.eyebrow { margin-bottom: .55rem; color: var(--dafm-magenta); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.text-link { font-weight: 750; white-space: nowrap; }

.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 1000; padding: .7rem 1rem; color: #fff; background: var(--dafm-navy); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; z-index: 100; border-bottom: 1px solid rgba(6, 43, 79, .08); background: rgba(255, 255, 255, .97); }
.site-header__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; width: var(--dafm-content); min-height: 88px; margin-inline: auto; gap: clamp(1rem, 2vw, 2rem); }
.brand { display: inline-block; color: var(--dafm-navy); text-decoration: none; }
.brand--logo { width: clamp(184px, 17vw, 222px); line-height: 0; }
.brand__image { display: block; width: 100%; height: auto; overflow: visible; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; border: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.site-nav { min-width: 0; justify-self: center; }
.site-nav__list { display: flex; align-items: center; width: max-content; max-width: 100%; margin: 0; padding: .35rem; border: 1px solid rgba(6, 43, 79, .08); border-radius: 999px; background: #f3f6f7; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85); gap: .15rem; list-style: none; }
.site-nav a { display: flex; align-items: center; min-height: 42px; padding: .55rem clamp(.7rem, 1vw, 1rem); border-radius: 999px; color: var(--dafm-navy); font-size: clamp(.79rem, .85vw, .88rem); font-weight: 760; line-height: 1.15; text-decoration: none; white-space: nowrap; transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease; }
.site-nav a:hover, .site-nav a:focus-visible { color: var(--dafm-navy); background: #fff; box-shadow: 0 5px 16px rgba(6, 43, 79, .1); transform: translateY(-1px); }
.site-nav .current-menu-item > a, .site-nav .current_page_item > a, .site-nav a[aria-current="page"] { color: var(--dafm-magenta-dark); background: #fff; box-shadow: 0 5px 16px rgba(6, 43, 79, .1), inset 0 -3px 0 var(--dafm-magenta); }
.nav-toggle { display: none; border: 0; color: var(--dafm-navy); background: transparent; font-weight: 750; }
.nav-toggle__label { margin-right: .4rem; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.25rem; border: 2px solid var(--dafm-magenta); border-radius: 8px; color: #fff; background: var(--dafm-magenta); font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { border-color: var(--dafm-magenta-dark); color: #fff; background: var(--dafm-magenta-dark); transform: translateY(-1px); }
.button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid #f7a8c9; outline-offset: 3px; }
.button--small { min-height: 42px; padding: .6rem 1rem; font-size: .85rem; }
.button--green { border-color: var(--dafm-green); background: var(--dafm-green); }
.button--green:hover { border-color: var(--dafm-green-dark); background: var(--dafm-green-dark); }
.button--outline { color: var(--dafm-magenta); background: #fff; }
.button--outline:hover { color: #fff; }
.button--wide { width: 100%; }

.hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--dafm-navy); }
.hero__backdrop { position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(90deg, rgba(4, 32, 57, .9) 0%, rgba(4, 32, 57, .64) 40%, rgba(4, 32, 57, .14) 78%), var(--dafm-hero-image, url('../images/stock/AdobeStock_466907970-general.webp')); background-position: center; background-size: cover; background-repeat: no-repeat; }
.hero__backdrop::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4, 32, 57, .58), transparent 52%); content: ""; }
.hero--home .hero__backdrop { background-image: none; }
.hero--home .hero__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero--home .hero__backdrop::after { z-index: 1; background: linear-gradient(90deg, rgba(4, 32, 57, .9) 0%, rgba(4, 32, 57, .64) 40%, rgba(4, 32, 57, .14) 78%), linear-gradient(0deg, rgba(4, 32, 57, .58), transparent 52%); }
.hero--home[data-season="spring"] { --dafm-hero-image: url('../images/stock/AdobeStock_456430078-spring.jpg'); }
.hero--home[data-season="summer"] { --dafm-hero-image: url('../images/stock/AdobeStock_393819709-summer.jpg'); }
.hero--home[data-season="autumn"] { --dafm-hero-image: url('../images/stock/AdobeStock_466907970-hero.jpg'); }
.hero--home[data-season="winter"] { --dafm-hero-image: url('../images/stock/AdobeStock_177320486-winter.jpg'); }
.hero--home[data-season="spring"] .hero__backdrop { background-position: 58% center; }
.hero--home[data-season="spring"] .hero__image { object-position: 58% center; }
.hero--home[data-season="summer"] .hero__backdrop { background-position: 62% center; }
.hero--home[data-season="summer"] .hero__image { object-position: 62% center; }
.hero--home[data-season="autumn"] .hero__backdrop { background-position: 68% center; }
.hero--home[data-season="autumn"] .hero__image { object-position: 68% center; }
.hero--home[data-season="winter"] .hero__backdrop { background-position: 66% center; }
.hero--home[data-season="winter"] .hero__image { object-position: 66% center; }
.hero__content { display: flex; flex-direction: column; justify-content: center; min-height: min(680px, calc(100vh - 82px)); padding-block: clamp(4rem, 8vw, 7rem); }
.hero h1 { max-width: 920px; color: #fff; font-size: clamp(2.45rem, 5.35vw, 4.8rem); hyphens: none; overflow-wrap: normal; }
.hero__lead { max-width: 690px; margin-bottom: 2rem; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.hero--home .eyebrow { color: #abe79c; }
.hero__credit { position: absolute; z-index: 2; right: clamp(.6rem, 2vw, 1.5rem); bottom: .7rem; max-width: calc(100% - 1.2rem); padding: .1rem .3rem; border: 0; border-radius: 3px; color: rgba(4,32,57,.72); background: rgba(255,255,255,.62); box-shadow: none; text-shadow: none; font-size: clamp(.56rem,.58vw,.62rem); font-weight: 500; line-height: 1.25; text-align: right; pointer-events: none; }
.hero--archive .hero__content { min-height: 470px; padding-block: 4.5rem; }
.hero--archive h1 { font-size: clamp(2.4rem, 5vw, 4.4rem); }

/* Event discovery: original layered scene with a restrained Ken-Burns motion. */
.event-discovery-hero { --event-depth-x: 0px; --event-depth-y: 0px; position: relative; isolation: isolate; min-height: clamp(680px, 82vh, 860px); overflow: hidden; color: #fff; background: #041f39; }
.event-discovery-hero__ambient { position: absolute; z-index: 3; inset: auto -12rem -18rem auto; width: 42rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: radial-gradient(circle,rgba(196,0,82,.22),transparent 62%); box-shadow: 0 0 0 4rem rgba(255,255,255,.025),0 0 0 9rem rgba(255,255,255,.018); pointer-events: none; transform: translate(var(--event-depth-x),var(--event-depth-y)); transition: transform .4s ease-out; }
.event-discovery-hero__slides,.event-discovery-slide { position: absolute; inset: 0; }
.event-discovery-slide { visibility: hidden; opacity: 0; transition: opacity .9s ease,visibility .9s step-end; }
.event-discovery-slide.is-active { visibility: visible; opacity: 1; transition: opacity .9s ease,visibility 0s; }
.event-discovery-slide__media,.event-discovery-slide__media img,.event-discovery-slide__fallback { display: block; width: 100%; height: 100%; }
.event-discovery-slide__media,
.event-discovery-slide__media.ai-example-media { position: absolute; inset: 0; overflow: hidden; }
.event-discovery-slide__media img { object-fit: cover; object-position: 58% center; transform: scale(1.025); }
.event-discovery-slide.is-active .event-discovery-slide__media img,.event-discovery-slide.is-active .event-discovery-slide__fallback { animation: dafm-event-ken-burns 8s cubic-bezier(.2,.65,.35,1) both; }
.event-discovery-slide__fallback { background: url('../images/stock/AdobeStock_466907970-general.webp') 58% center/cover no-repeat; }
.event-discovery-slide__veil { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,25,46,.96) 0%,rgba(3,29,52,.86) 38%,rgba(3,31,54,.3) 70%,rgba(3,25,46,.52) 100%),linear-gradient(0deg,rgba(3,25,46,.88) 0%,transparent 56%); }
.event-discovery-slide__inner { position: relative; height: 100%; }
.event-discovery-spotlight { position: absolute; z-index: 4; top: clamp(4.2rem,10vh,7rem); right: 0; display: grid; width: min(34vw,360px); min-height: 315px; align-content: end; padding: 1.35rem; border: 1px solid rgba(255,255,255,.3); border-radius: 30px 8px 30px 8px; color: #fff; background: linear-gradient(180deg,rgba(5,36,64,.12),rgba(5,36,64,.9)); box-shadow: 0 24px 65px rgba(0,0,0,.32); text-decoration: none; backdrop-filter: blur(10px); transform: translate(calc(var(--event-depth-x) * -.65),calc(var(--event-depth-y) * -.65)); transition: transform .4s ease-out,border-color .2s ease; }
.event-discovery-spotlight:hover { border-color: #fff; color: #fff; }
.event-discovery-spotlight__category { width: fit-content; margin-bottom: auto; padding: .35rem .62rem; border-radius: 999px; color: #fff; background: var(--dafm-magenta); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.event-discovery-spotlight time { margin-bottom: .45rem; color: #caedc1; font-size: .76rem; font-weight: 850; }
.event-discovery-spotlight strong { display: block; min-width: 0; color: #fff; font-family: var(--dafm-heading); font-size: clamp(1.45rem,2.5vw,2.2rem); line-height: 1.05; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; text-wrap: balance; }
.event-discovery-spotlight > span:not(.event-discovery-spotlight__category) { margin-top: .5rem; color: rgba(255,255,255,.78); font-size: .8rem; }
.event-discovery-spotlight b { margin-top: 1rem; color: #fff; font-size: .78rem; }
.event-discovery-hero__content { position: relative; z-index: 5; display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.45fr); align-content: center; min-height: clamp(680px,82vh,860px); padding-block: clamp(4rem,8vw,6.5rem) 2rem; gap: 1rem 3rem; pointer-events: none; }
.event-discovery-hero__copy,.event-discovery-controls,.event-discovery-hero__finder { pointer-events: auto; }
.event-discovery-hero__copy { align-self: center; max-width: 760px; padding-bottom: clamp(11rem,23vh,14rem); }
.event-discovery-hero__copy .eyebrow { color: #abe79c; }
.event-discovery-hero__copy h1 { max-width: 11ch; margin-bottom: .3em; color: #fff; font-size: clamp(3rem,6.7vw,6.5rem); line-height: .92; letter-spacing: -.035em; }
.event-discovery-hero__copy > p:last-child { max-width: 53ch; margin: 0; color: rgba(255,255,255,.86); font-size: clamp(1rem,1.6vw,1.25rem); }
.event-discovery-controls { position: absolute; z-index: 6; top: clamp(22rem,48vh,31rem); right: 0; display: flex; align-items: center; gap: .5rem; }
.event-discovery-controls button { display: grid; min-width: 42px; min-height: 42px; padding: .45rem; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; place-items: center; color: #fff; background: rgba(5,36,64,.65); font: inherit; font-weight: 850; cursor: pointer; backdrop-filter: blur(8px); }
.event-discovery-controls button:hover,.event-discovery-controls button:focus-visible { border-color: #fff; background: var(--dafm-magenta); }
.event-discovery-controls__dots { display: flex; gap: .38rem; }
.event-discovery-controls__dots button { min-width: 10px; width: 10px; min-height: 10px; height: 10px; padding: 0; border: 0; background: rgba(255,255,255,.45); }
.event-discovery-controls__dots button[aria-pressed="true"] { width: 28px; background: #fff; }
.event-discovery-controls__pause { display: flex !important; width: auto !important; padding-inline: .75rem !important; gap: .35rem; font-size: .68rem !important; }
.event-discovery-hero__finder { grid-column: 1/-1; align-self: end; }
.event-discovery-hero .event-search { grid-template-columns: minmax(165px,1.2fr) minmax(105px,.55fr) minmax(125px,.7fr) minmax(125px,.7fr) minmax(145px,.85fr) minmax(150px,.9fr) auto; position: relative; z-index: 5; padding: 1rem; border: 1px solid rgba(255,255,255,.28); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 22px 70px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
.event-search__quick { display: flex; grid-column: 1/-1; align-items: center; flex-wrap: wrap; padding-top: .75rem; border-top: 1px solid var(--dafm-border); gap: .45rem; }
.event-search__quick > span { margin-right: .25rem; color: var(--dafm-muted); font-size: .7rem; font-weight: 800; }
.event-search__quick button { min-height: 40px; padding: .35rem .7rem; border: 1px solid var(--dafm-border); border-radius: 999px; color: var(--dafm-navy); background: #fff; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
.event-search__quick button:hover,.event-search__quick button:focus-visible { border-color: var(--dafm-magenta); color: var(--dafm-magenta-dark); background: #fff4f8; }
.event-category-rail { display: flex; max-width: 100%; margin-top: .8rem; padding-bottom: .2rem; overflow-x: auto; gap: .5rem; scrollbar-width: thin; scroll-snap-type: x proximity; }
.event-category-rail a { flex: 0 0 auto; padding: .42rem .76rem; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; color: #fff; background: rgba(4,31,56,.48); font-size: .72rem; font-weight: 800; text-decoration: none; backdrop-filter: blur(8px); scroll-snap-align: start; }
.event-category-rail a:hover { border-color: #fff; color: #fff; background: var(--dafm-magenta); }
.event-results-section { background: linear-gradient(180deg,#eef4f5 0,#fff 19rem); }
@keyframes dafm-event-ken-burns { from { transform: scale(1.025) translate3d(0,0,0); } to { transform: scale(1.11) translate3d(-1.4%,.8%,0); } }

/* Transparent labeling for temporary AI/example imagery. */
.ai-example-background, .ai-example-media { position: relative; }
.ai-example-background::before,
.preview-site .subpage-hero::before,
.preview-site .editorial-preview-hero::before,
.ai-example-media::after,
.preview-site .event-card__media:has(img[src*="/assets/images/editorial/event-"])::after,
.event-card__media:has(.event-card__placeholder)::after,
.event-hero__media:has(.event-hero__placeholder)::after {
  position: absolute;
  z-index: 8;
  right: .7rem;
  padding: .16rem .36rem;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  color: #fff;
  background: rgba(6, 43, 79, .28);
  content: "KI Beispielbild";
  font-size: .48rem;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.2;
  pointer-events: none;
  backdrop-filter: blur(2px);
}
.ai-example-background::before,
.preview-site .subpage-hero::before,
.preview-site .editorial-preview-hero::before { top: .7rem; }
.ai-example-media::after,
.preview-site .event-card__media:has(img[src*="/assets/images/editorial/event-"])::after,
.event-card__media:has(.event-card__placeholder)::after,
.event-hero__media:has(.event-hero__placeholder)::after { bottom: .7rem; }
.subpage-hero.ai-example-background::before,
.location-microsite-hero.ai-example-background::before,
.hero--archive.ai-example-background::before { top:auto; bottom:.7rem; padding:0; border:0; border-radius:0; color:#111; background:transparent; box-shadow:none; text-shadow:0 0 2px #fff,0 0 5px rgba(255,255,255,.9); content:"© Uwe - stock.adobe.com"; font-size:.66rem; font-weight:600; letter-spacing:0; }
.subpage-hero--experience.ai-example-background::before,
.location-microsite-hero.ai-example-background::before { content:"© Dominik Ultes - stock.adobe.com"; }
.subpage-hero--regions.ai-example-background::before { content:"KI-generiertes Stimmungsbild"; }
.subpage-hero--brochures.ai-example-background::before,
.subpage-hero--partner.ai-example-background::before { content:"© NDABCREATIVITY - stock.adobe.com"; }
.event-card__media:has(.event-card__placeholder)::after,
.event-hero__media:has(.event-hero__placeholder)::after { content:"Kein Bild verfügbar"; }

.event-search { display: grid; grid-template-columns: 1.15fr .7fr .9fr 1fr auto; width: 100%; padding: 1rem; border-radius: var(--dafm-radius); color: var(--dafm-text); background: rgba(255, 255, 255, .98); box-shadow: var(--dafm-shadow); gap: .8rem; }
.event-search--with-edition { grid-template-columns: 1.15fr .62fr .82fr .82fr 1fr auto; }
.event-search__field { display: flex; flex-direction: column; gap: .3rem; }
.event-search label { color: var(--dafm-navy); font-size: .76rem; font-weight: 800; }
.event-search__label-note { margin-left: .3rem; color: var(--dafm-green-dark); font-size: .75rem; font-weight: 800; letter-spacing: .025em; white-space: nowrap; }
.event-search input, .event-search select, .results-toolbar select { width: 100%; min-height: 48px; padding: .65rem .75rem; border: 1px solid var(--dafm-border); border-radius: 7px; color: var(--dafm-text); background: #fff; }
.dafm-submission-form { max-width: 920px; margin: 2rem auto; padding: clamp(1.2rem, 3vw, 2.4rem); border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; box-shadow: var(--dafm-shadow); }
.dafm-submission-form label { display: grid; gap: .35rem; font-weight: 750; }
.dafm-submission-form input:not([type="checkbox"]), .dafm-submission-form select, .dafm-submission-form textarea { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--dafm-border); border-radius: 7px; color: var(--dafm-text); background: #fff; }
.dafm-submission-form textarea { min-height: 150px; resize: vertical; }
.dafm-submission-form input[type="checkbox"] { width: 1.2rem; height: 1.2rem; margin-top: .15rem; }
.dafm-submission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.2rem; }
.dafm-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.dafm-submission-message { max-width: 920px; margin: 1.5rem auto; padding: 1rem 1.2rem; border-radius: 8px; }
.dafm-submission-message--success { color: #174a13; background: #e8f4e5; }
.dafm-submission-message--error { color: #7a182d; background: #fbe9ee; }
.dafm-partner-dashboard { width: var(--dafm-content); margin-inline: auto; padding-block: clamp(2.5rem, 6vw, 5rem); }
.dafm-partner-dashboard > h2 { margin-top: 2.5rem; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.dafm-partner-admin-heading { display: flex; align-items: end; justify-content: space-between; margin: 1rem 0 .75rem; gap: 1rem; }
.dafm-partner-admin-heading h1 { margin: 0; }
.dafm-partner-admin-heading .eyebrow { margin: 0 0 .35rem; }
.dafm-partner-admin-note { max-width: 850px; margin: 0 0 1.4rem; color: var(--dafm-muted); }
.dafm-partner-picker, .dafm-partner-editor-card { margin-top: 1.25rem; padding: clamp(1rem, 2.5vw, 1.5rem); border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; box-shadow: 0 8px 26px rgba(6, 43, 79, .06); }
.dafm-partner-picker__controls { display: grid; grid-template-columns: minmax(220px, .85fr) minmax(280px, 1.15fr) auto; align-items: end; gap: .85rem; }
.dafm-partner-picker__status { margin: .7rem 0 0; color: var(--dafm-muted); font-size: .76rem; }
.dafm-partner-editor-card > h2 { margin-bottom: 1.1rem; font-size: clamp(1.45rem, 2.5vw, 2rem); }
.dafm-partner-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; }
.dafm-partner-field { display: grid; min-width: 0; align-content: start; gap: .38rem; }
.dafm-partner-field--wide { grid-column: 1 / -1; }
.dafm-partner-field label { color: var(--dafm-navy); font-size: .8rem; font-weight: 800; }
.dafm-partner-field input:not([type="checkbox"]), .dafm-partner-field select, .dafm-partner-field textarea { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--dafm-border); border-radius: 8px; color: var(--dafm-text); background: #fff; font: inherit; }
.dafm-partner-field textarea { min-height: 115px; resize: vertical; }
.dafm-partner-field small { color: var(--dafm-muted); font-size: .72rem; line-height: 1.45; }
.dafm-partner-choice-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.dafm-partner-choice-group legend { margin-bottom: .5rem; color: var(--dafm-navy); font-size: .8rem; font-weight: 800; }
.dafm-partner-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .65rem; }
.dafm-partner-choice { display: flex; min-height: 48px; align-items: center; padding: .7rem .8rem; border: 1px solid var(--dafm-border); border-radius: 8px; color: var(--dafm-navy); background: #fff; cursor: pointer; gap: .65rem; }
.dafm-partner-choice:has(input:checked) { border-color: var(--dafm-green); background: #eef7eb; box-shadow: inset 0 0 0 1px var(--dafm-green); }
.dafm-partner-choice input { width: 1.25rem; height: 1.25rem; margin: 0; flex: 0 0 auto; accent-color: var(--dafm-green); }
.dafm-partner-choice span { font-size: .82rem; font-weight: 800; }
.dafm-partner-field--checkbox { grid-template-columns: auto 1fr; align-items: center; justify-content: start; }
.dafm-partner-field--checkbox label { grid-column: 2; grid-row: 1; }
.dafm-partner-field--checkbox input { grid-column: 1; grid-row: 1; width: 1.25rem; height: 1.25rem; margin: 0; }
.dafm-partner-form__actions { display: flex; flex-wrap: wrap; margin-top: 1.25rem; gap: .75rem; }
.partner-event-review { margin: 1.5rem 0; padding: 1.3rem; border: 1px solid #bfd7b8; border-radius: 14px; background: #f4faf1; }
.partner-event-review h2 { margin-top: 0; font-size: 1.6rem; }
.partner-event-review summary { cursor: pointer; font-weight: 750; }
.partner-event-review form { display: grid; gap: .5rem; margin-top: 1rem; }
.partner-event-review textarea { width: 100%; padding: .7rem; border: 1px solid var(--dafm-border); border-radius: 8px; font: inherit; }
.partner-admin-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; padding: .8rem max(1rem, calc((100% - 1280px) / 2)); gap: .5rem 1.2rem; border-bottom: 1px solid var(--dafm-border); background: #fff; }
.partner-admin-nav a { font-weight: 750; font-size: .9rem; }
.dafm-partner-section-heading { margin: 1.5rem 0 .2rem; padding-top: 1rem; border-top: 1px solid var(--dafm-border); font-size: 1.25rem; }
.dafm-partner-event h2 { margin: 0 0 .6rem; font-size: 1.3rem; }
.dafm-admin-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: .8rem; margin: 1.5rem 0; }
.dafm-admin-summary article { display: grid; min-width: 0; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 12px; background: #fff; gap: .4rem; }
.dafm-admin-summary strong { color: var(--dafm-navy); font-size: 1.5rem; }
.dafm-admin-summary span { color: var(--dafm-muted); }
.dafm-admin-filter { display: flex; flex-wrap: wrap; align-items: end; margin: 1rem 0; gap: .8rem; }
.dafm-admin-filter label { display: grid; flex: 1 1 220px; gap: .4rem; }
.dafm-admin-filter input, .dafm-admin-filter select { width: 100%; min-height: 46px; padding: .6rem; border: 1px solid var(--dafm-border); border-radius: 8px; background: #fff; font: inherit; }
.dafm-shop-admin .dafm-partner-editor-card { margin-top: 1.5rem; }
.dafm-shop-image img { width: auto; max-width: 100%; max-height: 190px; object-fit: contain; }
.dafm-admin-print .dafm-print-export__hero h1 { font-size: clamp(1.8rem,3.5vw,3rem); }
.dafm-admin-print .dafm-print-export__terms input[type="checkbox"], .dafm-admin-print .dafm-print-export__check input { width: 1.2rem; height: 1.2rem; flex-shrink: 0; accent-color: var(--dafm-green); }
.dafm-admin-print .widefat { width: 100%; border-collapse: collapse; background: #fff; }
.dafm-admin-print .widefat th, .dafm-admin-print .widefat td { padding: .65rem; border-bottom: 1px solid var(--dafm-border); text-align: left; overflow-wrap: anywhere; }
.dafm-admin-print .widefat code { word-break: break-all; font-size: .75rem; }
.dafm-admin-print select, .dafm-admin-print input[type="date"] { padding: .55rem; border: 1px solid var(--dafm-border); border-radius: 8px; font: inherit; }
.dafm-shop-admin :focus-visible, .dafm-admin-print :focus-visible, .partner-admin-nav a:focus-visible { outline: 3px solid var(--dafm-green); outline-offset: 3px; }
.partner-message { padding: .9rem 1rem; border-radius: 8px; font-weight: 700; }
.dafm-partner-message--success { border-left: 4px solid var(--dafm-green); color: #174a13; background: #e8f4e5; }
.dafm-partner-message--error { border-left: 4px solid var(--dafm-magenta); color: #7a182d; background: #fbe9ee; }
.dafm-partner-profile, .dafm-partner-utility-grid > section { padding: 1.25rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; }
.dafm-partner-profile dl { display: grid; grid-template-columns: max-content 1fr; margin: 0; gap: .35rem 1rem; }
.dafm-partner-profile dt { font-weight: 800; }
.dafm-partner-profile dd { margin: 0; }
.dafm-notice { padding: 1rem 1.2rem; border-left: 4px solid var(--dafm-magenta); background: #fbe9ee; }
.dafm-partner-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-block: 1.5rem; gap: 1rem; }
.dafm-partner-summary > div { display: grid; padding: 1.1rem; border-radius: var(--dafm-radius); color: #fff; background: var(--dafm-navy); }
.dafm-partner-summary strong { font-family: var(--dafm-heading); font-size: 2rem; line-height: 1; }
.dafm-partner-summary span { margin-top: .35rem; font-size: .84rem; }
.dafm-partner-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.dafm-partner-events { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.dafm-partner-event { padding: 1.15rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; }
.dafm-partner-event h3 { margin-bottom: .4rem; }
.dafm-partner-table-wrap { overflow-x: auto; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); }
.dafm-partner-table { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; }
.dafm-partner-table th, .dafm-partner-table td { padding: .8rem; border-bottom: 1px solid var(--dafm-border); text-align: left; vertical-align: top; }
.dafm-partner-table th { color: #fff; background: var(--dafm-navy); font-size: .78rem; }
.dafm-partner-utility-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2.5rem; gap: 1rem; }
.dafm-partner-utility-grid h2 { font-size: 1.45rem; }
.dafm-ad { display: grid; grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr); position: relative; overflow: hidden; margin-block: 1.5rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; box-shadow: 0 7px 24px rgba(6, 43, 79, .08); }
.dafm-ad__label { position: absolute; z-index: 1; top: .6rem; left: .6rem; padding: .2rem .45rem; border-radius: 3px; color: #fff; background: rgba(6, 43, 79, .9); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.dafm-ad__image { position: relative; display: block; min-height: 180px; background: var(--dafm-stone); }
.dafm-ad__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dafm-ad__credit { position: absolute; z-index: 2; bottom: .45rem; left: .45rem; max-width: 58%; padding: .22rem .38rem; border-radius: 4px; color: #fff; background: rgba(6,43,79,.82); font-size: clamp(.54rem,.65vw,.64rem); font-weight: 700; line-height: 1.25; text-shadow: 0 1px 1px rgba(0,0,0,.28); pointer-events: none; }
.dafm-ad[data-image-format="portrait"] .dafm-ad__image { aspect-ratio: 3 / 4; min-height: 0; }
.dafm-ad[data-image-format="portrait"] { grid-template-columns: 1fr; }
.dafm-ad[data-image-format="square"] .dafm-ad__image { aspect-ratio: 1 / 1; min-height: 0; }
.dafm-ad[data-image-format="square"] { grid-template-columns: 1fr; }
.dafm-ad[data-image-format="landscape"] .dafm-ad__image { aspect-ratio: 16 / 9; min-height: 0; }
.dafm-ad[data-print-ratio] { grid-template-columns: 1fr; }
.dafm-ad[data-print-ratio] .dafm-ad__image { aspect-ratio: var(--dafm-ad-print-ratio); min-height: 0; }
.dafm-ad[data-print-ratio] .dafm-ad__image img { object-fit: contain; background: #fff; }
.dafm-ad[data-print-ratio] .dafm-ad__pdf { background: #fff; }
.dafm-ad[data-print-ratio] .dafm-ad__pdf object { display: block; width: 100%; height: 100%; border: 0; pointer-events: none; }
.dafm-ad__body { align-self: center; padding: 1.25rem; }
.dafm-ad__brand { position: absolute; right: .7rem; bottom: .7rem; display: grid; max-width: min(38%,150px); max-height: 70px; padding: .42rem .55rem; border: 1px solid rgba(6,43,79,.12); border-radius: 9px; background: rgba(255,255,255,.94); box-shadow: 0 4px 16px rgba(6,43,79,.16); place-items: center; }
.dafm-ad__brand img { width: auto !important; max-width: 100%; height: auto !important; max-height: 54px; object-fit: contain !important; }
.dafm-ad__brand--body { position: static; width: max-content; margin: 0 0 .8rem; box-shadow: none; }
.dafm-ad__title { font-size: 1.45rem; }
.event-search__submit { align-self: end; white-space: nowrap; }
.quick-filters { display: flex; flex-wrap: wrap; margin-top: 1.25rem; gap: .65rem; }
.quick-filters form { margin: 0; }
.quick-filters a, .quick-filters button { display: inline-flex; min-height: 40px; align-items: center; padding: .55rem 1rem; border: 1px solid rgba(255, 255, 255, .7); border-radius: 999px; color: #fff; background: rgba(6, 43, 79, .42); cursor: pointer; font: inherit; font-size: .88rem; font-weight: 750; text-decoration: none; backdrop-filter: blur(8px); }
.quick-filters a:hover, .quick-filters button:hover { border-color: #fff; background: var(--dafm-magenta); }

.edition-showcase { padding-block: clamp(2.4rem, 5vw, 4.4rem); border-bottom: 1px solid rgba(6, 43, 79, .08); background: linear-gradient(115deg, #f5f1eb, #eef5f7); }
.edition-showcase__grid { display: grid; grid-template-columns: minmax(220px, .72fr) repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1.2rem; }
.edition-showcase__intro { align-self: center; padding-right: clamp(.4rem, 2vw, 1.5rem); }
.edition-showcase__intro h2 { max-width: 380px; font-size: clamp(1.85rem, 3.2vw, 3rem); }
.edition-showcase__intro p:last-child { margin-bottom: 0; color: var(--dafm-muted); }
.edition-card { position: relative; display: grid; grid-template-columns: minmax(148px,.68fr) minmax(0,1fr); min-width: 0; overflow: hidden; padding: .85rem; border: 1px solid rgba(6, 43, 79, .1); border-radius: 16px; background: rgba(255, 255, 255, .94); box-shadow: 0 10px 30px rgba(6, 43, 79, .08); gap: 1rem; }
.edition-card::before { position: absolute; top: 0; right: 0; left: 0; height: 5px; background: var(--dafm-edition-alpsee); content: ""; }
.edition-card--rohrach::before { background: var(--dafm-edition-rohrach); }
.edition-card__media { position: relative; display: block; align-self: center; width: 100%; min-height: 0; aspect-ratio: 420/594; overflow: hidden; border-radius: 11px; background: #f3efe7; box-shadow: 0 9px 22px rgba(6,43,79,.15); }
.edition-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.edition-card__media span { position: absolute; right: .5rem; bottom: .5rem; left: .5rem; padding: .42rem .48rem; border-radius: 7px; color: #fff; background: rgba(4,32,57,.84); font-size: .58rem; font-weight: 850; letter-spacing: .04em; line-height: 1.25; text-align: center; text-transform: uppercase; backdrop-filter: blur(6px); }
.edition-card__content { display: flex; min-width: 0; padding: .2rem .2rem .15rem 0; flex-direction: column; }
.edition-card__logo { display: block; padding: .25rem 0 .45rem; border-radius: 10px; line-height: 0; }
.edition-card__logo img { display: block; width: 100%; height: auto; }
.edition-card p { margin: .55rem 0 .75rem; color: var(--dafm-muted); font-size: .78rem; line-height: 1.55; }
.edition-card__topics { display: flex; flex-wrap: wrap; margin: 0 0 .85rem!important; padding: 0!important; list-style: none; gap: .32rem; }
.edition-card__topics li { margin: 0!important; padding: .27rem .45rem; border-radius: 999px; color: #31516d; background: #edf4f8; font-size: .6rem; font-weight: 800; }
.edition-card--rohrach .edition-card__topics li { color: #3545a5; background: #eef0ff; }
.edition-card__link { align-self: flex-start; margin: auto 0 0; color: var(--dafm-edition-alpsee); font-size: .72rem; font-weight: 850; line-height: 1.35; text-decoration: none; }
.edition-card--rohrach .edition-card__link { color: var(--dafm-edition-rohrach); }
.edition-card__link:hover { color: var(--dafm-magenta); }

.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 2rem; gap: 1rem; }
.event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1.35rem; }
.event-grid > .dafm-ad { height: 100%; margin: 0; grid-template-rows: auto 1fr; }
.event-grid > .dafm-ad .dafm-ad__body { display: flex; align-self: stretch; flex-direction: column; }
.event-grid > .dafm-ad .dafm-ad__cta { align-self: flex-start; margin-top: auto; }
.magazine-grid > .dafm-ad { height: 100%; margin: 0; grid-template-rows: auto 1fr; }
.magazine-grid > .dafm-ad .dafm-ad__body { display: flex; align-self: stretch; flex-direction: column; }
.magazine-grid > .dafm-ad .dafm-ad__cta { align-self: flex-start; margin-top: auto; }
.event-card { display: flex; height: 100%; overflow: hidden; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; box-shadow: 0 7px 24px rgba(6, 43, 79, .08); flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.event-card[hidden] { display: none !important; }
.event-card:hover { box-shadow: var(--dafm-shadow); transform: translateY(-4px); }
.event-card__media { position: relative; display: grid; overflow: hidden; background: #d8e5e7; text-decoration: none; flex: 0 0 auto; grid-template-areas: "event-visual"; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); }
.event-card__media > img,.event-card__media > .event-card__placeholder { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; grid-area: event-visual; transition: transform .4s ease; }
.event-card__media > img.event-card__image--fallback { object-fit: contain; object-position: center; background: #eef2ee; }
.event-card:hover .event-card__media img { transform: scale(1.035); }
.event-card__placeholder, .event-hero__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(145deg, #e8eee9, #c9d9d0); }
.event-card__category { position: absolute; bottom: .75rem; left: .75rem; padding: .3rem .55rem; border-radius: 4px; color: #fff; background: var(--dafm-green); font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.event-card__media > .event-card__category { position: static; z-index: 3; align-self: end; justify-self: start; max-width: calc(100% - 1.1rem); margin: .55rem; box-sizing: border-box; overflow: visible; line-height: 1.15; white-space: normal; grid-area: event-visual; }
.event-card__body { display: flex; min-width: 0; padding: 1.1rem; flex: 1 1 auto; flex-direction: column; }
.event-cancelled-banner { display: inline-flex; align-items: center; width: fit-content; margin: 0 0 .75rem; padding: .35rem .65rem; border-radius: .35rem; background: #a11616; color: #fff; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.event-cancelled-banner--detail { display: flex; width: 100%; gap: .6rem; margin: 1rem 0; padding: .85rem 1rem; border-radius: .5rem; letter-spacing: 0; text-transform: none; }
.event-card__edition { width: fit-content; margin: 0 0 .45rem; padding: .24rem .48rem; border-radius: 999px; color: #fff; background: var(--dafm-edition-alpsee); font-size: .62rem; font-weight: 900; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; }
.event-card__edition--rohrach { background: var(--dafm-edition-rohrach); }
.event-card__date { min-height: 2.55em; margin-bottom: .45rem; color: var(--dafm-magenta); font-size: .77rem; font-weight: 800; }
.event-card__title { min-width: 0; min-height: 3.55em; margin-bottom: .45rem; font-size: 1.22rem; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
.event-card__title a { display: block; min-width: 0; color: var(--dafm-navy); text-decoration: none; overflow-wrap: inherit; }
.event-card__location, .event-card__cost { margin: .3rem 0; color: var(--dafm-muted); font-size: .88rem; }
.event-card__location { display: flex; min-height: 3.45em; align-items: flex-start; gap: .38rem; }
.event-card__distance { color: var(--dafm-green-dark); font-weight: 780; white-space: nowrap; }
.event-card__cost { color: var(--dafm-green-dark); font-weight: 750; }
.event-card__cta { width: 100%; min-height: 42px; margin-top: auto; font-size: .82rem; }
.event-card__excerpt { margin: 0 0 .8rem; color: var(--dafm-muted); font-size: .86rem; line-height: 1.55; }
.event-card--featured { grid-column: span 2; display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); }
.event-card--featured .event-card__media { height: 100%; min-height: 355px; }
.event-card--featured .event-card__media > img,.event-card--featured .event-card__media > .event-card__placeholder { height: 100%; aspect-ratio: auto; }
.event-card--featured .event-card__body { padding: clamp(1.15rem,2vw,1.65rem); }
.event-card--featured .event-card__title { min-height: 0; font-size: clamp(1.45rem,2.1vw,2rem); }
.empty-state { grid-column: 1/-1; padding: 3rem; border: 1px dashed #aebbc5; border-radius: var(--dafm-radius); background: #f9fbfc; text-align: center; }

.feature-grid { display: grid; grid-template-columns: .8fr 1.3fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.map-placeholder { position: relative; min-height: 360px; overflow: hidden; border: 1px solid #cad9d1; border-radius: var(--dafm-radius); background: radial-gradient(circle at 20% 25%, rgba(47, 125, 29, .16) 0 7%, transparent 7.5%), linear-gradient(25deg, transparent 46%, rgba(14, 95, 153, .18) 47% 49%, transparent 50%), repeating-linear-gradient(130deg, #edf3e9 0 32px, #e5eee2 32px 64px); box-shadow: inset 0 0 70px rgba(6, 43, 79, .08); }
.map-placeholder__marker { position: absolute; width: 24px; height: 24px; border: 5px solid #fff; border-radius: 50% 50% 50% 0; background: var(--dafm-magenta); box-shadow: 0 4px 12px rgba(6, 43, 79, .3); transform: rotate(-45deg); }
.map-placeholder__marker--one { top: 30%; left: 28%; }
.map-placeholder__marker--two { top: 58%; left: 57%; background: var(--dafm-green); }
.map-placeholder__marker--three { top: 25%; left: 78%; }
.editorial-intro { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.editorial-intro > div { max-width: 720px; }

.nearby-section { background: var(--dafm-stone); }
.nearby-grid { display: grid; grid-template-columns: minmax(270px, .55fr) minmax(0, 1.45fr); min-height: 470px; }
.nearby-panel { padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 4vw, 3.5rem) clamp(2rem, 5vw, 4rem) 0; }
.nearby-panel h2 { font-size: clamp(1.9rem, 2.4vw, 2.5rem); hyphens: none; overflow-wrap: normal; }
.nearby-location { display: flex; align-items: center; margin-top: 1.7rem; color: var(--dafm-navy); font-weight: 750; gap: .42rem; }
.wayfinder-icon { position: relative; display: inline-block; width: 1.12rem; height: 1.12rem; flex: 0 0 1.12rem; color: var(--dafm-green-dark); vertical-align: -.18em; }
.wayfinder-icon::before { position: absolute; bottom: .02rem; left: .51rem; width: .14rem; height: .86rem; border-radius: 999px; background: currentColor; content: ""; }
.wayfinder-icon::after { position: absolute; top: .06rem; left: .05rem; width: .94rem; height: .42rem; border-radius: .08rem; background: currentColor; clip-path: polygon(0 0, 75% 0, 100% 50%, 75% 100%, 0 100%, 13% 50%); content: ""; }
.wayfinder-icon--light { color: #fff; }
.location-tools { width: 100%; margin: 1rem 0 1.2rem; padding: 1rem; border: 1px solid rgba(6, 43, 79, .14); border-radius: 12px; background: rgba(255, 255, 255, .82); box-shadow: 0 7px 22px rgba(6, 43, 79, .06); }
.location-tools label { display: block; margin-bottom: .42rem; color: var(--dafm-navy); font-size: .72rem; font-weight: 820; }
.location-tools__input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
.location-tools input { width: 100%; min-width: 0; min-height: 44px; padding: .66rem .72rem; border: 1px solid rgba(6, 43, 79, .22); border-radius: 8px; color: var(--dafm-text); background: #fff; font: inherit; font-size: .79rem; }
.location-tools input:focus { border-color: var(--dafm-green); outline: 3px solid rgba(47, 125, 29, .16); }
.location-tools__input-row .button { min-height: 44px; padding-inline: .82rem; font-size: .73rem; }
.location-tools__actions { display: flex; flex-wrap: wrap; align-items: center; margin-top: .72rem; gap: .72rem; }
.location-tools__geo, .location-tools__reset { padding: 0; border: 0; color: var(--dafm-blue); background: transparent; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .18em; }
.location-tools__geo { display: inline-flex; align-items: center; gap: .35rem; }
.location-tools__reset { color: var(--dafm-muted); }
.location-tools__geo .wayfinder-icon { width: .9rem; height: .9rem; flex-basis: .9rem; }
.location-tools__target { position: relative; display: inline-block; width: .9rem; height: .9rem; flex: 0 0 .9rem; color: var(--dafm-green-dark); }
.location-tools__target::before { position: absolute; bottom: 0; left: .41rem; width: .12rem; height: .7rem; border-radius: 999px; background: currentColor; content: ""; }
.location-tools__target::after { position: absolute; top: .03rem; left: .02rem; width: .76rem; height: .35rem; border-radius: .06rem; background: currentColor; clip-path: polygon(0 0, 75% 0, 100% 50%, 75% 100%, 0 100%, 13% 50%); content: ""; }
.location-tools__status { margin: .66rem 0 0; color: var(--dafm-muted); font-size: .65rem; line-height: 1.45; }
.location-tools-panel { display: grid; grid-template-columns: minmax(190px, .45fr) minmax(0, 1fr); align-items: center; margin-bottom: 1.5rem; padding: 1.25rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: var(--dafm-stone); gap: 1.2rem; }
.location-tools-panel h2 { margin: 0; font-size: clamp(1.35rem, 3vw, 2rem); }
.location-tools-panel .location-tools { margin: 0; }
.map-region-links { display: flex; flex-wrap: wrap; margin: 1rem 0 1.5rem; gap: .48rem; }
.map-region-links a { padding: .48rem .68rem; border: 1px solid rgba(6, 43, 79, .17); border-radius: 999px; color: var(--dafm-navy); background: rgba(255, 255, 255, .76); font-size: .72rem; font-weight: 780; line-height: 1.2; text-decoration: none; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.map-region-links a:hover, .map-region-links a:focus-visible { border-color: var(--dafm-green); background: #fff; transform: translateY(-1px); }

.dafm-map-shell { position: relative; min-height: 510px; overflow: hidden; color: var(--dafm-text); background: #dfe9df; box-shadow: inset 0 0 90px rgba(6, 43, 79, .1); isolation: isolate; }
.dafm-map-canvas, .dafm-map-fallback { position: absolute; inset: 0; }
.dafm-map-canvas { z-index: 2; opacity: 0; transition: opacity .35s ease; }
.dafm-map-canvas:focus-visible { outline: 4px solid rgba(47, 125, 29, .45); outline-offset: -4px; }
.dafm-map-shell.is-map-loaded .dafm-map-canvas { opacity: 1; }
.dafm-map-fallback { z-index: 1; overflow: hidden; background: radial-gradient(circle at 18% 58%, rgba(14, 95, 153, .25) 0 2.2%, transparent 2.7%), radial-gradient(circle at 74% 65%, rgba(47, 125, 29, .23) 0 5%, transparent 5.6%), linear-gradient(152deg, transparent 0 48%, rgba(255, 255, 255, .7) 48.3% 49%, transparent 49.3%), repeating-linear-gradient(128deg, #edf3e9 0 42px, #e3ede0 42px 84px); }
.dafm-map-fallback::before { position: absolute; inset: 10% 8% 12%; border: 2px solid rgba(6, 43, 79, .16); border-radius: 46% 54% 58% 42% / 39% 44% 56% 61%; background: linear-gradient(135deg, rgba(255, 255, 255, .58), rgba(47, 125, 29, .08)); content: ""; transform: rotate(-4deg); }
.dafm-map-fallback::after { position: absolute; right: -8%; bottom: -25%; left: -8%; height: 58%; background: linear-gradient(142deg, transparent 0 17%, rgba(255,255,255,.72) 17.4% 19%, transparent 19.4% 30%, rgba(14,95,153,.12) 30.5% 32%, transparent 32.5%), linear-gradient(22deg, #87a86e, #dce8d5 53%, #b9cdb0); clip-path: polygon(0 70%, 11% 42%, 20% 63%, 32% 18%, 44% 68%, 56% 34%, 68% 73%, 79% 28%, 91% 59%, 100% 41%, 100% 100%, 0 100%); content: ""; }
.dafm-map-fallback__region { position: absolute; z-index: 2; padding: .4rem .58rem; border: 1px solid rgba(6, 43, 79, .12); border-radius: 7px; color: var(--dafm-navy); background: rgba(255, 255, 255, .9); box-shadow: 0 5px 16px rgba(6, 43, 79, .1); font-size: .72rem; font-weight: 820; }
.dafm-map-fallback__region::before { display: inline-block; width: 8px; height: 8px; margin-right: .38rem; border-radius: 50%; background: var(--dafm-green); content: ""; }
.dafm-map-fallback__region--allgaeu { top: 31%; left: 53%; }
.dafm-map-fallback__region--bregenzerwald { top: 57%; left: 11%; }
.dafm-map-fallback__region--kleinwalsertal { top: 68%; left: 39%; }
.dafm-map-fallback__region--jungholz { top: 48%; right: 11%; }
.dafm-map-consent { position: absolute; top: 50%; left: clamp(1rem, 5vw, 4rem); z-index: 5; width: min(440px, calc(100% - 2rem)); padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(255,255,255,.7); border-radius: 16px; background: rgba(255, 255, 255, .96); box-shadow: 0 18px 52px rgba(6, 43, 79, .22); backdrop-filter: blur(14px); transform: translateY(-50%); }
.dafm-map-consent[hidden] { display: none; }
.dafm-map-consent__icon { display: grid; width: 42px; height: 42px; margin-bottom: .8rem; border-radius: 12px; color: #fff; background: linear-gradient(145deg, var(--dafm-green), var(--dafm-green-dark)); box-shadow: 0 7px 18px rgba(47, 125, 29, .22); place-items: center; }
.dafm-map-consent h3 { margin-bottom: .55rem; font-size: clamp(1.35rem, 2.5vw, 1.85rem); }
.dafm-map-consent p { margin: .45rem 0; font-size: .82rem; line-height: 1.55; }
.dafm-map-consent .eyebrow { color: var(--dafm-green-dark); font-size: .66rem; }
.dafm-map-consent__links { color: var(--dafm-muted); }
.dafm-map-consent__links a { color: var(--dafm-blue); }
.dafm-map-consent__actions { display: flex; flex-wrap: wrap; margin-top: 1rem; gap: .55rem; }
.dafm-map-consent__actions .button { min-height: 42px; font-size: .76rem; }
.dafm-map-privacy-button { position: absolute; right: 1rem; bottom: 2.2rem; z-index: 5; padding: .48rem .68rem; border: 1px solid rgba(6,43,79,.2); border-radius: 999px; color: var(--dafm-navy); background: rgba(255,255,255,.94); box-shadow: 0 4px 16px rgba(6,43,79,.12); cursor: pointer; font-size: .67rem; font-weight: 780; }
.dafm-map-privacy-button[hidden] { display: none; }
.dafm-map-status { position: absolute; right: 1rem; bottom: .55rem; z-index: 4; max-width: calc(100% - 2rem); margin: 0; padding: .35rem .58rem; border-radius: 5px; color: var(--dafm-navy); background: rgba(255,255,255,.96); font-size: .75rem; line-height: 1.45; }
.dafm-map-shell.is-map-loading::after { position: absolute; top: 1rem; left: 50%; z-index: 6; padding: .42rem .7rem; border-radius: 999px; color: #fff; background: rgba(6, 43, 79, .88); content: "Karte wird geladen …"; font-size: .68rem; font-weight: 780; transform: translateX(-50%); }
.dafm-map-marker { display: grid; width: 34px; height: 34px; padding: 0; border: 4px solid #fff; border-radius: 50%; color: #fff; background: var(--dafm-green); box-shadow: 0 5px 16px rgba(6,43,79,.3); cursor: pointer; place-items: center; }
.dafm-map-marker > span { display: block; }
.dafm-map-marker--event { width: 30px; height: 30px; background: var(--dafm-magenta); }
.dafm-map-marker--event > span { width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.dafm-map-marker--region .wayfinder-icon { width: 1rem; height: 1rem; color: #fff; transform: scale(.82); }
.dafm-map-marker--user { width: 28px; height: 28px; border-width: 5px; background: var(--dafm-blue); cursor: default; }
.dafm-map-marker--user > span { width: 8px; height: 8px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px rgba(255, 255, 255, .28); }
.dafm-map-marker:focus-visible { outline: 3px solid var(--dafm-navy); outline-offset: 3px; }
.dafm-map-popup { min-width: 180px; padding: .15rem; }
.dafm-map-popup h3 { margin: .18rem 0 .35rem; color: var(--dafm-navy); font-size: 1rem; }
.dafm-map-popup p { margin: .2rem 0 .55rem; color: var(--dafm-muted); font-size: .73rem; }
.dafm-map-popup a { color: var(--dafm-green-dark); font-size: .74rem; font-weight: 800; }
.dafm-map-popup__eyebrow { color: var(--dafm-magenta) !important; font-size: .61rem !important; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.maplibregl-ctrl-attrib { font-size: 10px; }

.magazine-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.magazine-issue-divider { grid-column: 1 / -1; margin: 1.4rem 0 -.25rem; padding-bottom: .45rem; border-bottom: 1px solid var(--dafm-border); color: var(--dafm-navy); font-family: var(--dafm-heading); font-size: clamp(1.25rem, 2vw, 1.7rem); font-weight: 700; }
.magazine-grid > .empty-state { grid-column: 1 / -1; }
.magazine-card { overflow: hidden; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; box-shadow: 0 7px 24px rgba(6, 43, 79, .08); }
.magazine-card__media { position: relative; display: grid; aspect-ratio: 4 / 3; overflow: hidden; padding: .75rem; background: linear-gradient(145deg,#e8eef0,#f7f9fa); place-items: center; }
.magazine-card__media img { position: absolute; inset: .75rem; width: calc(100% - 1.5rem); max-width: none; height: calc(100% - 1.5rem); max-height: none; object-fit: contain; object-position: center; filter: drop-shadow(0 8px 12px rgba(6,43,79,.17)); }
.magazine-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(145deg, #e8eee9, #c9d9d0); }
.magazine-card__category { position: absolute; bottom: .65rem; left: .65rem; padding: .25rem .5rem; border-radius: 4px; color: #fff; background: var(--dafm-green); font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.magazine-card__body { padding: 1rem; }
.magazine-card__body h3 { margin-bottom: .5rem; font-size: 1.12rem; }
.magazine-card__body h3 a { color: var(--dafm-navy); text-decoration: none; }
.magazine-card__body p { margin: 0; color: var(--dafm-muted); font-size: .76rem; }
.magazine-card__body .magazine-card__terms { margin-bottom: .48rem; color: var(--dafm-green-dark); font-size: .68rem; font-weight: 820; letter-spacing: .035em; text-transform: uppercase; }
.magazine-archive__heading { align-items: end; }
.magazine-archive__heading > p { max-width: 430px; color: var(--dafm-muted); }
.magazine-filter-form { display: grid; grid-template-columns: minmax(230px, 1.45fr) repeat(3, minmax(145px, .8fr)) auto; align-items: end; margin: 1.4rem 0 .9rem; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 16px; background: #fff; box-shadow: 0 9px 28px rgba(6,43,79,.07); gap: .75rem; }
.magazine-filter-form__field { min-width: 0; }
.magazine-filter-form label { display: block; margin: 0 0 .32rem .18rem; color: var(--dafm-navy); font-size: .7rem; font-weight: 820; }
.magazine-filter-form input,.magazine-filter-form select { width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid #cbd7de; border-radius: 9px; color: var(--dafm-navy); background: #fff; font: inherit; font-size: .82rem; }
.magazine-filter-form input:focus,.magazine-filter-form select:focus { border-color: var(--dafm-blue); outline: 3px solid rgba(14,95,153,.16); }
.magazine-filter-form .button { min-height: 46px; white-space: nowrap; }
.magazine-results-summary { display: flex; align-items: baseline; margin-bottom: 1.25rem; color: var(--dafm-muted); gap: .38rem; font-size: .78rem; }
.magazine-results-summary strong { color: var(--dafm-navy); font-size: .9rem; }
.magazine-results-summary a,.magazine-results-summary button { margin-left: auto; padding: 0; border: 0; color: var(--dafm-magenta-dark); background: none; cursor: pointer; font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: .16em; }

/* Editorial landing page: current approved issues first, searchable archive second. */
.magazine-editorial { background: linear-gradient(180deg, #f6f3ed 0, #fff 48rem); }
.magazine-editorial-hero { overflow: hidden; padding: 0 0 clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--dafm-border); background: radial-gradient(circle at 4% 10%, rgba(46,132,40,.12), transparent 22rem), linear-gradient(125deg, #f8f4ed, #eef5f5); }
.magazine-editorial-hero .breadcrumb,.magazine-editorial-hero .breadcrumb a { color: var(--dafm-muted); }
.magazine-editorial-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(500px, 1.2fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.magazine-editorial-hero__copy h1 { max-width: 11ch; margin: .35rem 0 1.2rem; font-size: clamp(2.8rem, 4.3vw, 4.35rem); line-height: .96; text-wrap: balance; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
.magazine-editorial-hero__copy > p:not(.eyebrow) { max-width: 38rem; margin: 0; color: var(--dafm-muted); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.6; }
.magazine-editorial-hero__actions { display: flex; flex-wrap: wrap; align-items: center; margin-top: 1.7rem; gap: 1rem 1.4rem; }
.magazine-editorial-feature { overflow: hidden; border: 1px solid rgba(6,43,79,.13); border-radius: 22px; background: #fff; box-shadow: 0 22px 55px rgba(6,43,79,.14); }
.magazine-editorial-feature__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.magazine-editorial-feature__media::after { position: absolute; inset: auto 0 0; height: 38%; background: linear-gradient(transparent, rgba(4,32,57,.5)); content: ""; pointer-events: none; }
.magazine-editorial-feature__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 47%; transition: transform .35s ease; }
.magazine-editorial-feature__media:hover img { transform: scale(1.018); }
.magazine-editorial-feature__credit { position: absolute; z-index: 2; right: .7rem; bottom: .6rem; padding: .16rem .4rem; border-radius: 999px; color: #fff; background: rgba(4,32,57,.54); font-size: .54rem; font-weight: 650; letter-spacing: .02em; backdrop-filter: blur(4px); }
.magazine-editorial-feature__body { padding: clamp(1.2rem, 3vw, 2rem); }
.magazine-editorial-feature__meta { margin: 0 0 .45rem; color: var(--dafm-green-dark); font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.magazine-editorial-feature__body h2 { max-width: 21ch; margin: 0 0 .65rem; font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1.02; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
.magazine-editorial-feature__body h2 a { color: var(--dafm-navy); text-decoration: none; }
.magazine-editorial-feature__body > p:not(.magazine-editorial-feature__meta) { max-width: 48rem; margin: 0 0 .8rem; color: var(--dafm-muted); }
.magazine-current { padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.magazine-current__heading { align-items: end; }
.magazine-current__heading > p { max-width: 34rem; color: var(--dafm-muted); }
.magazine-current__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.magazine-issue-panel { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr); min-width: 0; overflow: hidden; border: 1px solid var(--dafm-border); border-top: 5px solid var(--dafm-green); border-radius: 18px; background: #fff; box-shadow: 0 11px 32px rgba(6,43,79,.08); }
.magazine-issue-panel--vom-rohrach-zum-paradies { border-top-color: var(--dafm-edition-rohrach); }
.magazine-issue-panel__media { position: relative; min-height: 100%; margin: 0; overflow: hidden; background: #d9e3df; }
.magazine-issue-panel__media img { display: block; width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.magazine-issue-panel--alpsee-gruenten-plus .magazine-issue-panel__media img { object-position: 55% center; }
.magazine-issue-panel__media figcaption { position: absolute; right: .55rem; bottom: .55rem; max-width: calc(100% - 1.1rem); padding: .16rem .4rem; border-radius: 999px; color: #fff; background: rgba(4,32,57,.55); font-size: .52rem; font-weight: 650; letter-spacing: .015em; backdrop-filter: blur(4px); }
.magazine-issue-panel__body { display: flex; min-width: 0; padding: clamp(1.15rem, 2.5vw, 1.75rem); flex-direction: column; }
.magazine-issue-panel__eyebrow { margin: 0 0 .5rem; color: var(--dafm-green-dark); font-size: .65rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.magazine-issue-panel--vom-rohrach-zum-paradies .magazine-issue-panel__eyebrow { color: var(--dafm-edition-rohrach); }
.magazine-issue-panel__body h3 { margin: 0 0 .55rem; font-size: clamp(1.45rem, 2.5vw, 2.05rem); line-height: 1.05; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
.magazine-issue-panel__body > p:not(.magazine-issue-panel__eyebrow) { margin: 0; color: var(--dafm-muted); font-size: .82rem; line-height: 1.55; }
.magazine-issue-panel__stories { display: grid; margin: 1rem 0; padding: 0; border-top: 1px solid var(--dafm-border); list-style: none; }
.magazine-issue-panel__stories li { margin: 0; border-bottom: 1px solid var(--dafm-border); }
.magazine-issue-panel__stories a { display: flex; align-items: baseline; justify-content: space-between; padding: .58rem 0; color: var(--dafm-navy); font-size: .76rem; font-weight: 760; line-height: 1.35; text-decoration: none; gap: .75rem; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
.magazine-issue-panel__stories a:hover,.magazine-issue-panel__stories a:focus-visible { color: var(--dafm-magenta-dark); }
.magazine-issue-panel__stories span { flex: 0 0 auto; color: var(--dafm-magenta); }
.magazine-issue-panel__kiosk { align-self: flex-start; margin-top: auto; color: var(--dafm-navy); font-size: .72rem; font-weight: 820; }
.magazine-topic-nav { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); align-items: start; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); padding: clamp(1.4rem, 3.5vw, 2.4rem); border-radius: 18px; color: #fff; background: linear-gradient(125deg, var(--dafm-navy), #104d71); box-shadow: 0 14px 36px rgba(6,43,79,.13); gap: clamp(1.4rem, 4vw, 3rem); }
.magazine-topic-nav .eyebrow { color: #a8dc93; }
.magazine-topic-nav h2 { margin: .2rem 0 0; color: #fff; font-size: clamp(1.7rem, 3vw, 2.55rem); }
.magazine-topic-nav nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.magazine-topic-nav nav a { display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: .72rem .85rem; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; color: #fff; background: rgba(255,255,255,.07); font-size: .78rem; font-weight: 780; text-decoration: none; gap: .7rem; }
.magazine-topic-nav nav a:hover,.magazine-topic-nav nav a:focus-visible { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.13); }
.magazine-editorial-return { padding-bottom: 1rem; }
.magazine-editorial-return h1 { margin: .25rem 0 0; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.magazine-editorial .magazine-archive { padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.magazine-filter-form__location { grid-column: 1 / -1; margin: 0; color: var(--dafm-muted); font-size: .74rem; }
.magazine-editorial .magazine-card { display: flex; min-width: 0; flex-direction: column; }
.magazine-editorial .magazine-card__media { aspect-ratio: 16 / 10; padding: 0; background: #e8eef0; }
.magazine-editorial .magazine-card__media img { inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; filter: none; }
.magazine-editorial .magazine-card__body { display: flex; flex: 1 1 auto; flex-direction: column; }
.magazine-editorial .magazine-card__body h3 { line-height: 1.08; -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
.magazine-editorial .magazine-card__body > p:not(.magazine-card__terms) { line-height: 1.55; }
.magazine-editorial .magazine-card__body .text-link { align-self: flex-start; margin-top: auto; padding-top: .9rem; }

@media (max-width: 1180px) {
  .magazine-editorial-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 2rem; }
  .magazine-issue-panel { grid-template-columns: minmax(150px, .58fr) minmax(0, 1.42fr); }
}

@media (max-width: 900px) {
  .magazine-editorial-hero__grid { grid-template-columns: 1fr; }
  .magazine-editorial-hero__copy h1 { max-width: 13ch; }
  .magazine-current__grid { grid-template-columns: 1fr; }
  .magazine-issue-panel { grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); }
  .magazine-topic-nav { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .magazine-editorial-hero { padding-bottom: 2.4rem; }
  .magazine-editorial-hero__copy h1 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .magazine-editorial-hero__actions { align-items: flex-start; flex-direction: column; }
  .magazine-editorial-feature { border-radius: 15px; }
  .magazine-current__heading { align-items: start; }
  .magazine-issue-panel { grid-template-columns: 1fr; }
  .magazine-issue-panel__media { min-height: 225px; max-height: 270px; }
  .magazine-issue-panel__media img { min-height: 225px; }
  .magazine-topic-nav nav { grid-template-columns: 1fr; }
  .magazine-results-summary { align-items: flex-start; flex-wrap: wrap; }
  .magazine-results-summary a { width: 100%; margin: .25rem 0 0; }
}

.article-page { padding-block: clamp(2.8rem, 6vw, 5.5rem); background: linear-gradient(180deg, #f7f5f0, #fff 34rem); }
.article-detail { max-width: 920px; }
.article-detail__header { max-width: 820px; margin-inline: auto; text-align: center; }
.article-detail__header h1 { margin-bottom: 1rem; font-size: clamp(2.4rem, 6vw, 4.8rem); line-height: .98; }
.article-detail__lead { color: var(--dafm-muted); font-size: clamp(1.08rem, 2vw, 1.32rem); line-height: 1.55; }
.article-detail__meta { color: var(--dafm-navy); font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.article-detail__image { display: grid; overflow: hidden; margin: 2rem 0; padding: 1rem; border-radius: 16px; background: #e8eef0; box-shadow: var(--dafm-shadow); place-items: center; }
.article-detail__image img { display: block; width: auto; max-width: 100%; height: auto; max-height: 760px; object-fit: contain; filter: drop-shadow(0 10px 15px rgba(6,43,79,.18)); }
.article-detail__content { max-width: 760px; margin-inline: auto; font-size: 1.05rem; line-height: 1.75; }
.article-detail__content h2 { margin-top: 2rem; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.article-detail__content a { text-decoration-thickness: .08em; text-underline-offset: .16em; }
.article-source { max-width: 760px; margin: 3rem auto 0; padding: 1.4rem; border: 1px solid rgba(14,95,153,.2); border-left: 5px solid var(--dafm-blue); border-radius: 10px; background: #f2f7fa; }
.article-source h2 { margin-bottom: .45rem; font-size: 1.25rem; }
.article-source p { color: var(--dafm-muted); font-size: .85rem; }

.newsletter-section { color: var(--dafm-text); background: linear-gradient(90deg, #f6f1ea 0 72%, #c8d7d8 72%); }
.newsletter-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .6fr); min-height: 370px; }
.newsletter-copy { padding: clamp(2.5rem, 5vw, 4rem) 3rem clamp(2.5rem, 5vw, 4rem) 0; }
.newsletter-copy h2 { font-size: clamp(1.9rem, 3.5vw, 3rem); }
.newsletter-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.newsletter-card { padding: 1.25rem; border: 1px solid rgba(6, 43, 79, .08); border-radius: var(--dafm-radius); background: #fff; }
.newsletter-card h3 { margin-bottom: .3rem; color: var(--dafm-green); font-size: 1.3rem; font-style: italic; }
.newsletter-card--rohrach h3 { color: var(--dafm-edition-rohrach); }
.newsletter-card p { color: var(--dafm-muted); font-size: .8rem; }
.newsletter-card .button { margin-top: .35rem; }
.newsletter-visual { position: relative; display: grid; place-items: center; min-width: 0; min-height: 370px; overflow: hidden; margin: 0; padding: 2.5rem 1.5rem 3.2rem; background: radial-gradient(circle at 70% 20%, #f7faf5 0, #dce8e2 45%, #b8ced0 100%); }
.newsletter-visual__covers { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 520px; min-height: 320px; isolation: isolate; }
.newsletter-visual__cover { display: block; flex: 0 0 49%; max-width: 245px; aspect-ratio: 420 / 594; overflow: hidden; border: 4px solid #fff; border-radius: 3px; background: #fff; box-shadow: 0 18px 35px rgba(4,32,57,.27); transform: rotate(-8deg) translate(6%, 3%); transition: transform .2s ease, box-shadow .2s ease; }
.newsletter-visual__cover--rohrach { margin-left: -16%; transform: rotate(7deg) translate(-2%, 4%); }
.newsletter-visual__cover:hover, .newsletter-visual__cover:focus-visible { z-index: 2; box-shadow: 0 22px 42px rgba(4,32,57,.35); transform: rotate(0) translateY(-8px); }
.newsletter-visual__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.newsletter-visual figcaption { position: absolute; right: 1rem; bottom: .8rem; color: #12344d; font-size: .7rem; font-weight: 750; }

.brochure-section { padding-block: clamp(2.5rem, 5vw, 4rem); }
.brochure-section .section-heading { margin-bottom: 1.4rem; }
.brochure-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.brochure-card { display: grid; grid-template-columns: 74px 1fr; align-items: center; min-height: 132px; padding: .8rem; border: 1px solid var(--dafm-border); border-radius: 10px; gap: .9rem; }
.brochure-card h3 { margin-bottom: .4rem; font-family: var(--dafm-body); font-size: .95rem; }
.brochure-card a { font-size: .75rem; font-weight: 750; }
.brochure-cover { display: grid; height: 100px; padding: .45rem; border-radius: 3px; place-items: center; color: #fff; background: linear-gradient(145deg, var(--dafm-blue), var(--dafm-green)); box-shadow: 0 5px 12px rgba(6, 43, 79, .16); font-family: var(--dafm-heading); font-size: .7rem; line-height: 1.1; text-align: center; transform: rotate(-2deg); }
.brochure-cover img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.brochure-cover--two { background: linear-gradient(145deg, #587e42, #d0a84b); transform: rotate(2deg); }
.brochure-cover--three { background: linear-gradient(145deg, #1b6480, #74a846); }
.brochure-cover--four { background: linear-gradient(145deg, #b04a62, #e1be74); transform: rotate(2deg); }

.active-filters { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 1.5rem; gap: .6rem; }
.active-filters span { padding: .45rem .7rem; border-radius: 999px; color: var(--dafm-magenta-dark); background: #fbe7f0; font-size: .83rem; }
.active-filters a { margin-left: auto; font-size: .85rem; font-weight: 750; }
.results-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; gap: 1rem; }
.results-toolbar p { flex: 1 1 auto; min-width: 0; margin: 0; }
.results-toolbar form { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; gap: .65rem; }
.results-toolbar label { flex: 0 0 auto; font-size: .82rem; font-weight: 750; hyphens: none; overflow-wrap: normal; white-space: nowrap; word-break: normal; }
.results-toolbar select { flex: 0 0 auto; width: auto; min-width: 11rem; }
.event-grid--archive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.event-results-count { margin: 1rem 0 0; color: var(--dafm-muted); font-size: .78rem; font-weight: 800; }
.event-calendar-filter { display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); align-items: end; margin: clamp(2rem, 5vw, 3.5rem) 0 1.5rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid #c8d9df; border-radius: 1rem; background: radial-gradient(circle at 0 0, rgba(0,89,166,.12), transparent 19rem), linear-gradient(135deg, #f5f9fb, #f2f8ef); box-shadow: 0 .7rem 2rem rgba(6,43,79,.07); gap: 1.3rem 2rem; }
.event-calendar-filter__copy h2 { margin: .25rem 0 .6rem; font-size: clamp(1.75rem, 3vw, 2.65rem); }
.event-calendar-filter__copy p:last-child { max-width: 32rem; margin: 0; color: var(--dafm-muted); }
.event-calendar-filter__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; gap: .75rem; }
.event-calendar-filter__fields label { display: grid; color: var(--dafm-navy); font-size: .75rem; font-weight: 850; gap: .35rem; }
.event-calendar-filter__fields input { width: 100%; min-height: 49px; padding: .65rem .75rem; border: 1px solid var(--dafm-border); border-radius: .55rem; color: var(--dafm-navy); background: #fff; font: inherit; cursor: pointer; }
.event-calendar-filter__fields .button { min-height: 49px; white-space: nowrap; }
.event-calendar-filter__quick { display: flex; grid-column: 1 / -1; flex-wrap: wrap; padding-top: 1rem; border-top: 1px solid rgba(6,43,79,.1); gap: .55rem; }
.event-calendar-filter__quick button { min-height: 2.35rem; padding: .45rem .8rem; border: 1px solid var(--dafm-border); border-radius: 999px; color: var(--dafm-navy); background: #fff; font: inherit; font-size: .8rem; font-weight: 800; cursor: pointer; }
.event-calendar-filter__quick button:hover, .event-calendar-filter__quick button:focus-visible { border-color: var(--dafm-magenta); color: var(--dafm-magenta-dark); background: #fff5f8; }
.pagination { margin-top: 2.5rem; }
.pagination .nav-links { display: flex; justify-content: center; gap: .35rem; }
.pagination .page-numbers { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--dafm-border); border-radius: 6px; color: var(--dafm-navy); text-decoration: none; }
.pagination .current { border-color: var(--dafm-magenta); color: #fff; background: var(--dafm-magenta); }

.breadcrumb { display: flex; padding-block: 1rem; color: var(--dafm-muted); font-size: .82rem; gap: .5rem; }
.breadcrumb a { color: var(--dafm-muted); }
.event-detail { padding-bottom: 5rem; background: linear-gradient(#f8f7f4 0 600px, #fff 600px); }
.event-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); align-items: start; gap: 1.5rem; }
.event-hero > * { min-width: 0; }
.event-hero__media { position: relative; height: clamp(300px, 28vw, 440px); overflow: hidden; border-radius: var(--dafm-radius); box-shadow: var(--dafm-shadow); }
.event-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.event-hero__example-note,.event-card__example-note { position:absolute;z-index:6;top:.7rem;left:.7rem;right:auto;max-width:45%;padding:.16rem .36rem;border:1px solid rgba(255,255,255,.52);border-radius:999px;color:#16324a;background:rgba(255,255,255,.76);backdrop-filter:blur(4px);font:650 clamp(8px,.62vw,10px)/1.2 system-ui,-apple-system,sans-serif;letter-spacing:.01em;text-align:left;box-shadow:0 1px 4px rgba(0,0,0,.1);pointer-events:none; }
.event-card__example-note { top:.55rem;left:.55rem; }
.event-hero__summary { padding: clamp(1.5rem, 4vw, 2.8rem); border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; box-shadow: var(--dafm-shadow); }
.event-hero__summary h1 { max-width: 19ch; font-size: clamp(2rem, 2.8vw, 2.75rem); -webkit-hyphens: manual; hyphens: manual; overflow-wrap: normal; word-break: normal; }
.event-hero__lead { font-size: 1.05rem; }
.event-actions { display: grid; grid-template-columns: 1fr 1fr; margin-top: .65rem; gap: .6rem; }
.event-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; gap: 1rem; }
.event-facts div { min-width: 0; }
.event-facts dt { color: var(--dafm-muted); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.event-facts dd { margin: .25rem 0 0; color: var(--dafm-navy); font-weight: 720; }
.event-facts--summary { grid-template-columns: 1fr; margin-block: 1.5rem; }
.event-facts-panel { margin-top: 1.5rem; padding: 1.3rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; }
.event-content-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .8fr); align-items: start; padding-bottom: 1rem; gap: clamp(1rem, 2.5vw, 2rem); }
.event-content-grid--sidebar-only { grid-template-columns: minmax(0, 1fr); }
.event-content-grid--sidebar-only .event-sidebar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.event-detail-main { display: grid; min-width: 0; align-content: start; gap: 1rem; }
.event-detail-main .event-detail-summary { max-width: none; padding: clamp(1.2rem, 2.2vw, 2rem); border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; }
.event-detail-main .event-detail-summary > *:first-child { margin-top: 0; }
.event-sidebar .event-facts-panel { margin-top: 0; }
.event-sidebar .event-facts { grid-template-columns: 1fr; }
.event-sidebar .event-facts-panel h2 { margin-top: 0; font-size: 1.35rem; }
.event-detail-sponsor { margin-block: 0 clamp(1.5rem, 3vw, 2.5rem); padding-top: 1.5rem; border-top: 1px solid var(--dafm-border); }
.event-detail-sponsor, .event-detail-footer-ad { container-type: inline-size; }
.event-detail-sponsor .dafm-ad, .event-detail-footer-ad .dafm-ad { margin-inline: auto; }
.event-detail-sponsor .dafm-ad[data-ad-layout="wide"], .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"] { grid-template-columns: minmax(0, 1.65fr) minmax(280px, .7fr); width: 100%; max-width: 1180px; }
.event-detail-sponsor .dafm-ad[data-ad-layout="wide"] .dafm-ad__image, .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"] .dafm-ad__image { height: clamp(230px, 25vw, 360px); min-height: 0; aspect-ratio: auto; }
.event-detail-sponsor .dafm-ad[data-ad-layout="wide"] .dafm-ad__image img, .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"] .dafm-ad__image img { object-fit: cover; object-position: center; }
.event-detail-sponsor .dafm-ad[data-ad-layout="wide"][data-print-ratio] .dafm-ad__image img, .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"][data-print-ratio] .dafm-ad__image img { object-fit: contain; }
@container (max-width: 720px) {
  .event-detail-sponsor .dafm-ad[data-ad-layout="wide"], .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"] { grid-template-columns: 1fr; max-width: 520px; }
  .event-detail-sponsor .dafm-ad[data-ad-layout="wide"] .dafm-ad__image, .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"] .dafm-ad__image { height: auto; aspect-ratio: 16 / 9; }
}
.prose { max-width: 760px; font-size: 1.02rem; }
.prose > * + * { margin-top: 1.25rem; }
.prose h2 { margin-top: 2.25rem; }
.prose h1 { font-size: clamp(2.3rem, 5vw, 4.5rem); }
.event-sidebar { display: flex; flex-direction: column; gap: 1rem; }
.info-card { padding: 1.35rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; }
.info-card h2 { font-size: 1.35rem; }
.page-layout { min-height: 55vh; }
.page-heading { margin-bottom: 2rem; }
.post-list { display: grid; gap: 1rem; }
.post-teaser { padding: 1.5rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); }
.post-teaser h2 { font-size: 1.7rem; }

/* Advertising marketing page and protected booking portal. */
.dafm-ads-page .page-layout { width: 100%; max-width: none; padding: 0; }
.dafm-ads-page .page-layout > .prose { max-width: none; }
.dafm-ads-page .page-layout > .prose > * + * { margin-top: 0; }
.dafm-ads-marketing, .dafm-ads-portal, .dafm-ads-login { width: var(--dafm-content); margin-inline: auto; }
.dafm-ads-marketing-page { background: #fff; }
.dafm-ads-marketing__status { margin-block: 1rem 1.5rem; border: 1px solid #cfe4c9; border-left: 4px solid var(--dafm-green); border-radius: 10px; box-shadow: 0 8px 24px rgba(6,43,79,.06); font-size: .9rem; }
.dafm-ads-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); align-items: center; min-height: 620px; padding-block: clamp(4.5rem, 6vw, 6rem); color: #fff; gap: clamp(2.5rem, 5vw, 4rem); }
.dafm-ads-hero::before { position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; background: radial-gradient(circle at 86% 24%, rgba(196,0,82,.24), transparent 21rem), linear-gradient(125deg, #062b4f 0%, #041f39 72%, #031a31 100%); content: ""; transform: translateX(-50%); }
.dafm-ads-hero h1 { max-width: 12ch; color: #fff; font-size: clamp(3rem, 4.6vw, 4.5rem); line-height: .98; text-wrap: balance; }
.dafm-ads-hero .eyebrow { color: #ff7aae; }
.dafm-ads-hero__lead { max-width: 680px; color: #e4edf5; font-size: 1.12rem; line-height: 1.65; }
.dafm-ads-hero__actions { display: flex; flex-wrap: wrap; margin-top: 1.8rem; gap: .75rem; }
.button--ghost { border-color: rgba(255, 255, 255, .7); color: #fff; background: transparent; }
.button--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, .12); }
.dafm-ads-answer { position: relative; width: 100%; padding: 2.2rem; border: 1px solid rgba(255, 255, 255, .22); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055)); box-shadow: 0 24px 60px rgba(0, 0, 0, .24); backdrop-filter: blur(15px); }
.dafm-ads-answer::before { position: absolute; top: -36px; right: 0; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, rgba(196, 0, 82, .75), transparent 68%); content: ""; pointer-events: none; }
.dafm-ads-answer > span { display: inline-block; margin-bottom: .7rem; color: #ff8cb8; font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.dafm-ads-answer > strong { display: block; max-width: 12ch; color: #fff; font-family: var(--dafm-heading); font-size: clamp(1.7rem, 2.2vw, 2rem); line-height: 1.12; text-wrap: balance; }
.dafm-ads-answer ul { display: grid; margin: 1.4rem 0 0; padding: 0; list-style: none; gap: .7rem; }
.dafm-ads-answer li::before { margin-right: .5rem; color: #87cf76; content: "✓"; }
.dafm-ads-section { padding-block: clamp(3.5rem, 7vw, 6rem); }
.dafm-ads-section > h2 { max-width: 800px; }
.dafm-format-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2rem; gap: 1rem; }
.dafm-format-grid article { display: flex; min-height: 280px; padding: 1.45rem; border: 1px solid var(--dafm-border); border-radius: 18px; flex-direction: column; background: #fff; box-shadow: 0 8px 28px rgba(6, 43, 79, .07); transition: transform .2s ease, box-shadow .2s ease; }
.dafm-format-grid article:hover { box-shadow: var(--dafm-shadow); transform: translateY(-4px); }
.dafm-format-grid article > strong { margin-top: auto; color: var(--dafm-green-dark); font-size: .8rem; }
.dafm-format-icon { display: grid; width: 54px; height: 54px; margin-bottom: 1.2rem; border-radius: 14px; color: #fff; background: linear-gradient(145deg, var(--dafm-magenta), #e04785); place-items: center; font-size: 1.5rem; }
.dafm-format-grid article:nth-child(2) .dafm-format-icon { background: linear-gradient(145deg, var(--dafm-green), #6cad4f); }
.dafm-format-grid article:nth-child(3) .dafm-format-icon { background: linear-gradient(145deg, var(--dafm-blue), #52a3d3); }
.dafm-format-grid article:nth-child(4) .dafm-format-icon { background: linear-gradient(145deg, #6b318b, #a75eca); }
.dafm-pricing { padding-top: 1rem; }.dafm-pricing > p { color: var(--dafm-muted); }.dafm-pricing-grid article { min-height: 260px; }.dafm-pricing-grid article > strong { margin: .25rem 0 0; color: var(--dafm-navy); font-family: var(--dafm-heading); font-size: 1.55rem; }.dafm-pricing-grid article > p { margin: .15rem 0 .8rem; color: var(--dafm-green-dark); font-weight: 800; }.dafm-pricing-grid article > small { color: var(--dafm-muted); font-size: .73rem; }.dafm-pricing-grid article > a { margin-top: auto; font-weight: 800; text-decoration: none; }
.dafm-ads-process { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.dafm-ads-process ol { display: grid; margin: 0; padding: 0; list-style: none; gap: .7rem; }
.dafm-ads-process li { display: flex; align-items: center; padding: 1rem 1.2rem; border: 1px solid var(--dafm-border); border-radius: 13px; background: #f8fafb; gap: 1rem; }
.dafm-ads-process li > span { display: grid; width: 40px; height: 40px; border-radius: 50%; color: #fff; background: var(--dafm-navy); place-items: center; font-weight: 850; }
.dafm-ads-process li strong { color: var(--dafm-navy); }.dafm-ads-process li p { margin: .15rem 0 0; color: var(--dafm-muted); font-size: .84rem; }
.dafm-faq { max-width: 880px; margin-inline: auto; }
.dafm-faq details { border-top: 1px solid var(--dafm-border); }.dafm-faq details:last-child { border-bottom: 1px solid var(--dafm-border); }
.dafm-faq summary { padding: 1.2rem .25rem; color: var(--dafm-navy); font-weight: 800; cursor: pointer; }.dafm-faq details p { padding: 0 .25rem 1.2rem; color: var(--dafm-muted); }
.dafm-ads-cta { display: flex; align-items: center; justify-content: space-between; margin-block: 1rem 5rem; padding: clamp(1.6rem, 4vw, 3rem); border-radius: 22px; color: #fff; background: linear-gradient(125deg, var(--dafm-navy), var(--dafm-blue)); gap: 2rem; }.dafm-ads-cta h2 { color: #fff; }.dafm-ads-cta p { margin-bottom: 0; }.dafm-ads-cta .eyebrow { color: #ff8cb8; }

.dafm-ads-login-area { width: var(--dafm-content); max-width: 1120px; margin: clamp(2.5rem,6vw,5rem) auto; }
.dafm-ads-login-area .dafm-ads-login { width: 100%; max-width: 760px; margin: 0 auto; padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--dafm-border); border-radius: 20px; background: #fff; box-shadow: var(--dafm-shadow); text-align: center; }
.dafm-ads-login__actions { display: flex; justify-content: center; gap: .7rem; }
.dafm-ads-login-options { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); margin-top: 1rem; gap: 1rem; }
.dafm-ads-login-card { min-width: 0; padding: clamp(1.4rem,3vw,2rem); border: 1px solid var(--dafm-border); border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(6,43,79,.07); }
.dafm-ads-login-card h2 { margin-bottom: .65rem; font-size: clamp(1.45rem,2.5vw,2rem); }
.dafm-ads-login-card > p:not(.eyebrow) { margin: 0 0 1.25rem; color: var(--dafm-muted); line-height: 1.6; }
.dafm-ads-login-contact { color: #fff; background: radial-gradient(circle at 100% 0,rgba(196,0,82,.3),transparent 18rem),linear-gradient(135deg,var(--dafm-navy),#0b426f); }
.dafm-ads-login-contact .eyebrow { color: #ff8cb8; }
.dafm-ads-login-contact h2,.dafm-ads-login-contact > p:not(.eyebrow) { color: #fff; }
.dafm-ads-login-contact__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; }
.dafm-ads-login-contact__actions > a:not(.button),.dafm-ads-login-contact small a { color: #fff; font-weight: 800; }
.dafm-ads-login-contact > small { display: block; margin-top: 1.2rem; color: #d9e7f2; }
.dafm-ads-login-shop__links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.dafm-ads-login-shop__links > a { display: flex; min-height: 150px; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 13px; color: var(--dafm-navy); background: #f8fafb; flex-direction: column; text-decoration: none; transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.dafm-ads-login-shop__links > a:hover,.dafm-ads-login-shop__links > a:focus-visible { border-color: var(--dafm-magenta); box-shadow: 0 12px 24px rgba(6,43,79,.1); transform: translateY(-2px); }
.dafm-ads-login-shop__links span { font-family: var(--dafm-heading); font-size: 1.15rem; line-height: 1.15; }
.dafm-ads-login-shop__links small { margin-top: .45rem; color: var(--dafm-green-dark); font-weight: 800; }
.dafm-ads-login-shop__links b { margin-top: auto; color: var(--dafm-magenta); font-size: .78rem; }
.dafm-ads-portal { padding-block: clamp(2.5rem, 6vw, 5rem); }
.dafm-portal-welcome { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.6rem; gap: 2rem; }
.dafm-portal-welcome > div { max-width: 720px; }.dafm-portal-welcome h1 { font-size: clamp(2.4rem, 5vw, 4rem); }.dafm-portal-welcome p { color: var(--dafm-muted); }
.dafm-support-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-width: 280px; padding: 1.1rem; border: 1px solid var(--dafm-border); border-radius: 13px; color: var(--dafm-navy); background: #fff; box-shadow: 0 6px 22px rgba(6,43,79,.06); text-decoration: none; gap: .8rem; }.dafm-support-card > span { display: grid; width: 43px; height: 43px; border-radius: 50%; color: var(--dafm-green); background: #eaf5e6; place-items: center; font-size: 1.6rem; }.dafm-support-card strong,.dafm-support-card small { display: block; }.dafm-support-card small { color: var(--dafm-muted); }.dafm-support-card b { color: var(--dafm-magenta); }
.dafm-portal-message { margin-bottom: 1.25rem; padding: 1rem 1.2rem; border-left: 4px solid var(--dafm-green); border-radius: 5px; color: #174a13; background: #eaf5e6; font-weight: 700; }
.dafm-portal-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: 1.5rem; gap: 1rem; }
.dafm-portal-kpis article { position: relative; min-height: 190px; padding: 1.25rem; border: 1px solid var(--dafm-border); border-radius: 16px; background: #fff; box-shadow: 0 6px 22px rgba(6,43,79,.05); }.dafm-portal-kpis small,.dafm-portal-kpis strong,.dafm-portal-kpis p { display: block; }.dafm-portal-kpis > article > small { margin-top: 1rem; color: var(--dafm-navy); font-weight: 750; }.dafm-portal-kpis > article > strong { margin-top: .25rem; color: var(--dafm-navy); font-family: var(--dafm-heading); font-size: 2.2rem; line-height: 1; }.dafm-portal-kpis p { margin: .45rem 0 0; color: var(--dafm-muted); font-size: .76rem; }
.dafm-kpi-icon { display: grid; width: 40px; height: 40px; border-radius: 11px; color: var(--dafm-green); background: #eaf5e6; place-items: center; font-size: 1.15rem; font-weight: 850; }.dafm-kpi-icon--pink { color: var(--dafm-magenta); background: #fbe7f0; }.dafm-kpi-icon--blue { color: var(--dafm-blue); background: #e8f3fa; }.dafm-kpi-icon--code { color: #6b318b; background: #f1e9f6; }
.dafm-portal-nav { position: sticky; top: 0; z-index: 40; display: flex; margin-block: 1.5rem; padding: .45rem; border: 1px solid var(--dafm-border); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 7px 22px rgba(6,43,79,.07); gap: .35rem; backdrop-filter: blur(12px); }.site-header + main .dafm-portal-nav { top: 89px; }.dafm-portal-nav a { padding: .7rem 1rem; border-radius: 8px; color: var(--dafm-navy); font-size: .82rem; font-weight: 780; text-decoration: none; }.dafm-portal-nav a:hover { color: #fff; background: var(--dafm-navy); }
.dafm-ad-channels { display: grid; grid-template-columns: minmax(210px,.55fr) minmax(0,1.45fr); align-items: center; margin: 1.25rem 0; padding: clamp(1.2rem,3vw,2rem); border-radius: 20px; color: #fff; background: linear-gradient(125deg,#062b4f,#0b426f); gap: clamp(1rem,3vw,2rem); }.dafm-ad-channels h2 { margin: 0; color: #fff; }.dafm-ad-channels .eyebrow { color: #ff9ac2; }.dafm-ad-channel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }.dafm-ad-channel { display: flex; min-height: 190px; padding: 1.2rem; border: 1px solid rgba(255,255,255,.22); border-radius: 15px; color: var(--dafm-navy); background: #fff; flex-direction: column; text-decoration: none; box-shadow: 0 12px 28px rgba(0,0,0,.16); transition: transform .18s ease,box-shadow .18s ease; }.dafm-ad-channel:hover,.dafm-ad-channel:focus-visible { box-shadow: 0 18px 34px rgba(0,0,0,.22); transform: translateY(-3px); }.dafm-ad-channel>span { align-self: flex-start; padding: .28rem .52rem; border-radius: 999px; color: #fff; background: var(--dafm-magenta); font-size: .66rem; font-weight: 900; letter-spacing: .1em; }.dafm-ad-channel--print>span { background: var(--dafm-blue); }.dafm-ad-channel>strong { margin-top: .8rem; font-family: var(--dafm-heading); font-size: 1.35rem; }.dafm-ad-channel>p { margin: .35rem 0 .8rem; color: var(--dafm-muted); font-size: .8rem; }.dafm-ad-channel>b { margin-top: auto; color: var(--dafm-magenta); font-size: .78rem; }.dafm-ad-channel--print>b { color: var(--dafm-blue); }
.dafm-portal-panel { padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--dafm-border); border-radius: 17px; background: #fff; box-shadow: 0 7px 28px rgba(6,43,79,.06); }
.dafm-portal-panel__heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; gap: 1rem; }.dafm-portal-panel__heading h2 { margin-bottom: 0; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.dafm-print-booking { margin-top: 1.25rem; scroll-margin-top: 10rem; background: radial-gradient(circle at 100% 0,rgba(0,89,166,.09),transparent 30rem),#fff; }
.dafm-print-booking__intro { max-width: 850px; color: var(--dafm-muted); }
.dafm-print-products { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1.4rem 0; gap: 1rem; }
.dafm-print-products article { position: relative; display: grid; overflow: hidden; min-height: 220px; padding: 1.3rem; border: 1px solid var(--dafm-border); border-top: 5px solid var(--dafm-blue); border-radius: 15px; background: linear-gradient(145deg,#fff,#eef5fa); transition: transform .18s ease,box-shadow .18s ease; }
.dafm-print-products article:nth-child(2) { border-top-color: var(--dafm-green); background: linear-gradient(145deg,#fff,#eef7ed); }.dafm-print-products article.is-selected { box-shadow: 0 0 0 3px rgba(0,89,166,.14),0 12px 28px rgba(6,43,79,.1); transform: translateY(-2px); }
.dafm-print-products article > span { position: absolute; top: 1rem; right: 1rem; color: rgba(6,43,79,.12); font-family: var(--dafm-heading); font-size: 2.6rem; font-weight: 900; }.dafm-print-products h3 { max-width: 75%; margin: .25rem 0; }.dafm-print-products article > p:not(.eyebrow) { color: var(--dafm-muted); }.dafm-print-products article > strong { margin-top: auto; color: var(--dafm-green-dark); }.dafm-print-products article > a { margin-top: .55rem; color: var(--dafm-blue); font-weight: 850; }
.dafm-print-configurator { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(270px,.5fr); align-items: start; overflow: hidden; border: 1px solid var(--dafm-border); border-radius: 16px; background: #fff; }
.dafm-print-configurator > form { padding: clamp(1rem,3vw,1.6rem); }.dafm-print-configurator script { display: none; }
.dafm-print-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 1rem; overflow: hidden; border-radius: 12px; color: #fff; background: linear-gradient(125deg,var(--dafm-navy),#0d6a9d); }.dafm-print-summary > div { display: grid; align-content: start; gap: .12rem; padding: 1rem; }.dafm-print-summary small,.dafm-print-summary span { color: rgba(255,255,255,.76); }.dafm-print-summary strong { font-size: 1.15rem; }.dafm-print-summary > p { grid-column: 1/-1; margin: 0; padding: .8rem 1rem; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.82); font-size: .7rem; }
.dafm-print-actions { display: flex; flex-wrap: wrap; margin-top: 1rem; gap: .7rem; }
.dafm-print-odoo { min-height: 100%; padding: 1.5rem; color: #fff; background: var(--dafm-navy); }.dafm-print-odoo > span { display: grid; width: 3.4rem; height: 3.4rem; margin-bottom: 1.2rem; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#84469a,#5b2d78); font-weight: 900; place-items: center; }.dafm-print-odoo .eyebrow { color: #a7e39a; }.dafm-print-odoo h3,.dafm-print-odoo p { color: #fff; }.dafm-print-odoo ol { display: grid; margin: 1.2rem 0; padding: 0; gap: .65rem; list-style: none; }.dafm-print-odoo li { display: grid; grid-template-columns: 1.65rem 1fr; align-items: center; font-size: .78rem; gap: .55rem; }.dafm-print-odoo li b { display: grid; width: 1.65rem; height: 1.65rem; border-radius: 50%; color: var(--dafm-navy); background: #fff; place-items: center; }.dafm-print-odoo > p:last-child { color: rgba(255,255,255,.72); font-size: .72rem; }
.dafm-portal-empty { padding: 2.5rem 1rem; border: 1px dashed #bac7d0; border-radius: 12px; background: #f9fbfc; text-align: center; }.dafm-portal-empty > span { display: grid; width: 55px; height: 55px; margin: 0 auto 1rem; border-radius: 50%; color: var(--dafm-magenta); background: #fbe7f0; place-items: center; font-size: 1.6rem; }.dafm-portal-empty a { font-weight: 800; }
.dafm-campaign-list { display: grid; gap: .65rem; }.dafm-campaign-list article { display: grid; grid-template-columns: 70px minmax(180px,1fr) auto minmax(150px,.55fr) auto; align-items: center; padding: .8rem; border-top: 1px solid var(--dafm-border); gap: 1rem; }.dafm-campaign-list article:first-child { border-top: 0; }.dafm-campaign-list article.is-report-selected { border-radius: 10px; background: #f4f9f2; box-shadow: inset 4px 0 0 var(--dafm-green); }.dafm-campaign-visual { display: grid; width: 64px; height: 54px; border-radius: 8px; color: #fff; background: linear-gradient(145deg,var(--dafm-navy),var(--dafm-green)); place-items: center; font-weight: 900; letter-spacing: .08em; }.dafm-campaign-main h3 { margin: .1rem 0; font-family: var(--dafm-body); font-size: .95rem; }.dafm-campaign-main small,.dafm-campaign-main p,.dafm-campaign-metric small { margin: 0; color: var(--dafm-muted); font-size: .73rem; }.dafm-campaign-metric strong,.dafm-campaign-metric small { display: block; }.dafm-campaign-metric > span { display: block; height: 5px; margin-top: .35rem; overflow: hidden; border-radius: 999px; background: #e4e9ed; }.dafm-campaign-metric i { display: block; height: 100%; background: var(--dafm-green); }.dafm-campaign-actions .is-active { border-color: var(--dafm-green); color: #fff; background: var(--dafm-green); }
.dafm-status { padding: .3rem .55rem; border-radius: 999px; color: #475467; background: #eef1f3; font-size: .7rem; font-weight: 800; }.dafm-status--good { color: #245f17; background: #e5f3df; }.dafm-status--pending { color: #7a5610; background: #fff1c8; }.dafm-status--bad { color: #8b2137; background: #fbe7eb; }
.dafm-portal-workspace { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); align-items: start; margin-top: 1.25rem; gap: 1.25rem; }
.dafm-portal-workspace > *, .dafm-portal-panel, .dafm-booking-form, .dafm-builder-layout, .dafm-form-grid { min-width: 0; }
.dafm-safe-badge { padding: .45rem .65rem; border-radius: 999px; color: #245f17; background: #e5f3df; font-size: .72rem; font-weight: 800; }
.dafm-booking-form fieldset { min-width: 0; padding: 0; border: 0; margin: 0; }.dafm-booking-form legend { color: var(--dafm-navy); font-family: var(--dafm-heading); font-size: 1.55rem; font-weight: 800; }.dafm-booking-form fieldset > p { color: var(--dafm-muted); font-size: .9rem; }
.dafm-wizard-progress { display: grid; grid-template-columns: repeat(4,1fr); margin: 0 0 1.8rem; padding: 0; list-style: none; }.dafm-wizard-progress li { position: relative; display: flex; isolation: isolate; align-items: center; color: var(--dafm-muted); font-size: .72rem; font-weight: 750; gap: .35rem; }.dafm-wizard-progress li::after { position: absolute; z-index: 0; top: 15px; right: 8px; left: 42px; height: 2px; background: #dbe2e7; content: ""; }.dafm-wizard-progress li:last-child::after { display: none; }.dafm-wizard-progress li > span { display: grid; z-index: 2; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; color: var(--dafm-muted); background: #e8edf0; place-items: center; }.dafm-wizard-progress li > strong { position: relative; z-index: 2; display: inline-block; padding-right: .55rem; color: inherit; background: #fff; font: inherit; white-space: nowrap; }.dafm-wizard-progress .is-active { color: var(--dafm-magenta); }.dafm-wizard-progress .is-active span { color: #fff; background: var(--dafm-magenta); }.dafm-wizard-progress .is-complete span { color: #fff; background: var(--dafm-green); }
.dafm-wizard-step { display: block; margin-top: 2rem !important; }.dafm-booking-form.is-enhanced .dafm-wizard-step { display: none; margin-top: 0 !important; }.dafm-booking-form.is-enhanced .dafm-wizard-step.is-active { display: block; }
.dafm-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }.dafm-choice-grid label { position: relative; display: grid; grid-template-columns: auto 1fr; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 12px; cursor: pointer; gap: 0 .75rem; }.dafm-choice-grid label:has(input:checked) { border-color: var(--dafm-magenta); background: #fff8fb; box-shadow: inset 0 0 0 1px var(--dafm-magenta); }.dafm-choice-grid input { position: absolute; top: .65rem; right: .65rem; }.dafm-choice-grid label > span { grid-row: 1/3; display: grid; width: 42px; height: 42px; border-radius: 10px; color: var(--dafm-magenta); background: #fbe7f0; place-items: center; }.dafm-choice-grid strong,.dafm-choice-grid small { display: block; }.dafm-choice-grid small { color: var(--dafm-muted); }
.dafm-placement-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }.dafm-placement-grid label { display: flex; padding: .8rem; border: 1px solid var(--dafm-border); border-radius: 10px; cursor: pointer; gap: .65rem; }.dafm-placement-grid label:has(input:checked) { border-color: var(--dafm-green); background: #f5fbf3; }.dafm-placement-grid strong,.dafm-placement-grid small { display: block; }.dafm-placement-grid small { color: var(--dafm-muted); font-size: .72rem; }
.dafm-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }.dafm-form-grid label,.dafm-integration-form label { display: grid; min-width: 0; color: var(--dafm-navy); font-size: .78rem; font-weight: 800; gap: .3rem; }.dafm-form-grid [hidden] { display: none; }.dafm-form-grid input,.dafm-form-grid select,.dafm-form-grid textarea,.dafm-integration-form input,.dafm-integration-form select { width: 100%; min-width: 0; max-width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid var(--dafm-border); border-radius: 7px; color: var(--dafm-text); background: #fff; }.dafm-form-grid textarea { min-height: 110px; resize: vertical; }.dafm-field-wide { grid-column: 1/-1; }
.dafm-creative-variants { margin: 1rem 0; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 14px; background: #f7fafb; }.dafm-creative-variants>div:first-child strong,.dafm-creative-variants>div:first-child small { display: block; }.dafm-creative-variants>div:first-child small,.dafm-creative-variants>p { margin-top: .2rem; color: var(--dafm-muted); font-size: .74rem; }.dafm-creative-variant-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: .9rem; gap: .7rem; }.dafm-creative-variant-grid label { display: grid; min-width: 0; padding: .8rem; border: 1px solid #d9e2e8; border-radius: 10px; color: var(--dafm-navy); background: #fff; font-size: .76rem; font-weight: 850; gap: .35rem; }.dafm-creative-variant-grid input { width: 100%; min-width: 0; }.dafm-creative-variant-grid small { color: var(--dafm-muted); font-size: .68rem; font-weight: 500; }.dafm-creative-credit-fields { margin-top: .85rem; padding: .85rem; border: 1px solid #d8e2e8; border-radius: 11px; background: #edf4f7; }.dafm-creative-credit-fields>div:first-child strong,.dafm-creative-credit-fields>div:first-child small { display: block; }.dafm-creative-credit-fields>div:first-child small { margin-top: .15rem; color: var(--dafm-muted); font-size: .7rem; }.dafm-creative-credit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: .7rem; gap: .65rem; }.dafm-creative-credit-grid label { display: grid; min-width: 0; color: var(--dafm-navy); font-size: .72rem; font-weight: 800; gap: .25rem; }.dafm-creative-credit-grid input { width: 100%; min-width: 0; min-height: 42px; padding: .55rem .65rem; border: 1px solid var(--dafm-border); border-radius: 7px; color: var(--dafm-text); background: #fff; }
.dafm-campaign-editor { margin-top: 1.25rem; scroll-margin-top: 9rem; border-top: 5px solid var(--dafm-magenta); }.dafm-campaign-editor .dafm-portal-panel__heading p { margin: .25rem 0 0; color: var(--dafm-muted); }.dafm-campaign-editor__form { display: grid; gap: 1rem; }.dafm-campaign-editor__locked { display: grid; grid-template-columns: auto minmax(0,1fr); padding: 1.1rem; border: 1px solid #d8e4d3; border-radius: 14px; background: #f5faf3; gap: 1rem; }.dafm-campaign-editor__locked>span { display: grid; min-width: 54px; height: 54px; padding: .5rem; border-radius: 12px; color: #fff; background: var(--dafm-green); place-items: center; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }.dafm-campaign-editor__locked p { margin: .25rem 0 0; color: var(--dafm-muted); }.dafm-campaign-editor__locked dl { display: grid; grid-template-columns: max-content 1fr; margin: .8rem 0 0; gap: .25rem .8rem; }.dafm-campaign-editor__locked dt { color: var(--dafm-muted); }.dafm-campaign-editor__locked dd { margin: 0; font-weight: 800; }.dafm-creative-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1rem 0; gap: .65rem; }.dafm-creative-gallery figure { display: grid; align-content: end; overflow: hidden; min-height: 130px; margin: 0; border: 1px solid var(--dafm-border); border-radius: 11px; background: #eaf0f4; }.dafm-creative-gallery img { width: 100%; height: 120px; object-fit: cover; }.dafm-creative-gallery figure>span { display: grid; min-height: 100px; color: #91a3b3; place-items: center; font-size: 1.8rem; }.dafm-creative-gallery figcaption { display: grid; min-width: 0; padding: .45rem .55rem; color: var(--dafm-navy); background: #fff; font-size: .7rem; font-weight: 850; gap: .12rem; }.dafm-creative-gallery figcaption small { overflow: hidden; color: var(--dafm-muted); font-size: .62rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.dafm-campaign-editor__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }.dafm-campaign-editor__actions .button:disabled { cursor: not-allowed; opacity: .48; }.dafm-campaign-editor__publish-note { margin: -.25rem 0 0; color: var(--dafm-muted); font-size: .78rem; }.dafm-review-send-card,.dafm-review-link-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; margin-top: 1rem; padding: 1rem; border: 1px solid #cbded0; border-radius: 14px; background: linear-gradient(135deg,#f5faf3,#fff); gap: 1rem; }.dafm-review-send-card p,.dafm-review-link-card p { margin: .25rem 0 0; color: var(--dafm-muted); }.dafm-review-link-card { grid-template-columns: minmax(220px,.65fr) minmax(320px,1.35fr); margin: 0 0 1rem; }.dafm-review-link-card>div:first-child { display: grid; gap: .5rem; }.dafm-review-link-card__controls label { display: block; margin-bottom: .4rem; color: var(--dafm-navy); font-size: .78rem; font-weight: 850; }.dafm-review-link-card__controls>div { display: flex; flex-wrap: wrap; gap: .55rem; }.dafm-review-link-card__controls input { min-width: min(100%,420px); flex: 1 1 320px; }
.dafm-campaign-actions { display: flex; flex-direction: column; gap: .35rem; }
.dafm-campaign-remove-panel { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; padding: 1rem; border: 1px solid #efd1d8; border-radius: 12px; background: #fff8fa; gap: 1rem; }.dafm-campaign-remove-panel p { margin: .25rem 0 0; color: var(--dafm-muted); font-size: .78rem; }.dafm-campaign-remove-panel form { flex: 0 0 auto; margin: 0; }.button--danger { border-color: #a82445; color: #a82445; background: #fff; }.button--danger:hover { border-color: #821934; color: #fff; background: #821934; }
.dafm-analytics { margin-top: 1.25rem; scroll-margin-top: 8rem; }.dafm-analytics-selector { padding: .9rem; border: 1px solid var(--dafm-border); border-radius: 12px; background: #f7fafb; }.dafm-analytics-selector label { color: var(--dafm-navy); font-size: .75rem; font-weight: 850; }.dafm-analytics-selector select,.dafm-analytics-selector input[type="date"] { width: 100%; min-width: 0; min-height: 43px; padding: .55rem .7rem; border: 1px solid var(--dafm-border); border-radius: 8px; color: var(--dafm-text); background: #fff; }.dafm-analytics-note { margin: 0 0 .85rem; padding: .7rem .8rem; border-left: 3px solid var(--dafm-blue); border-radius: 0 8px 8px 0; color: var(--dafm-muted); background: #f1f6fa; font-size: .74rem; }.dafm-analytics-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 1.25rem; gap: .75rem; }.dafm-analytics-kpis article { padding: 1rem; border-radius: 12px; color: #fff; background: linear-gradient(140deg,var(--dafm-navy),#104775); }.dafm-analytics-kpis small,.dafm-analytics-kpis strong { display: block; }.dafm-analytics-kpis small { color: #c9d9e6; font-size: .72rem; }.dafm-analytics-kpis strong { margin-top: .25rem; font-family: var(--dafm-heading); font-size: 1.75rem; }.dafm-analytics-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }.dafm-analysis-table { min-width: 0; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 12px; }.dafm-analysis-table h3 { font-family: var(--dafm-body); font-size: .92rem; }.dafm-analysis-table table { width: 100%; border-collapse: collapse; font-size: .72rem; }.dafm-analysis-table th,.dafm-analysis-table td { padding: .45rem .25rem; border-top: 1px solid #e7ecef; text-align: right; }.dafm-analysis-table th:first-child,.dafm-analysis-table td:first-child { width: 43%; text-align: left; }
.dafm-analytics-tools { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; margin-bottom: 1rem; gap: .75rem; }.dafm-analytics-filter { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(360px,1.4fr) minmax(260px,1fr) auto; align-items: end; gap: .75rem; }.dafm-analytics-campaign { display: grid; min-width: 0; gap: .3rem; }.dafm-analytics-periods { min-width: 0; margin: 0; padding: 0; border: 0; }.dafm-analytics-periods legend { margin-bottom: .3rem; color: var(--dafm-navy); font-size: .75rem; font-weight: 850; }.dafm-analytics-period-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--dafm-border); border-radius: 8px; background: #fff; }.dafm-analytics-period-options label { position: relative; display: grid; min-height: 43px; padding: .5rem .55rem; border-left: 1px solid var(--dafm-border); cursor: pointer; place-items: center; text-align: center; }.dafm-analytics-period-options label:first-child { border-left: 0; }.dafm-analytics-period-options label:has(input:checked) { color: #fff; background: var(--dafm-green); }.dafm-analytics-period-options input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }.dafm-analytics-period-options label:focus-within { outline: 3px solid rgba(35,123,40,.22); outline-offset: -3px; }.dafm-analytics-dates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }.dafm-analytics-dates label { display: grid; min-width: 0; gap: .3rem; }.dafm-analytics-download { display: inline-flex; align-items: center; align-self: stretch; white-space: nowrap; }.dafm-analysis-more { width: 100%; margin-top: .7rem; padding: .55rem .7rem; border: 1px solid var(--dafm-border); border-radius: 8px; color: var(--dafm-magenta); background: #fff; font: inherit; font-size: .75rem; font-weight: 850; cursor: pointer; }.dafm-analysis-more:hover,.dafm-analysis-more:focus-visible { border-color: var(--dafm-magenta); background: #fff4f8; }.dafm-analysis-more[aria-expanded="true"] { color: var(--dafm-navy); }
.dafm-package-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1rem 0; gap: .6rem; }.dafm-package-grid label { position: relative; padding: .9rem .65rem; border: 1px solid var(--dafm-border); border-radius: 12px; background: #fff; text-align: center; cursor: pointer; }.dafm-package-grid label:has(input:checked) { border-color: var(--dafm-magenta); background: #fff5fa; box-shadow: inset 0 0 0 1px var(--dafm-magenta); }.dafm-package-grid input { position: absolute; top: .55rem; right: .55rem; }.dafm-package-grid strong,.dafm-package-grid small { display: block; }.dafm-package-grid strong { color: var(--dafm-navy); }.dafm-package-grid small { margin-top: .2rem; color: var(--dafm-muted); font-size: .68rem; }.dafm-date-grid { margin-top: 1rem; }
.dafm-targeting-options { display: grid; margin-top: 1rem; gap: .65rem; }.dafm-targeting-options > article { overflow: hidden; border: 1px solid var(--dafm-border); border-radius: 12px; }.dafm-switch { display: grid; grid-template-columns: auto 1fr auto; align-items: center; padding: .85rem; cursor: pointer; gap: .7rem; }.dafm-switch > input { position: absolute; opacity: 0; pointer-events: none; }.dafm-switch > span { position: relative; width: 42px; height: 24px; border-radius: 99px; background: #cbd5dc; }.dafm-switch > span::after { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2); content: ""; transition: .2s; }.dafm-switch:has(input:checked) > span { background: var(--dafm-green); }.dafm-switch:has(input:checked) > span::after { transform: translateX(18px); }.dafm-switch strong { color: var(--dafm-navy); font-size: .82rem; }.dafm-switch b { color: var(--dafm-magenta); font-size: .74rem; }.dafm-targeting-heading { display: flex; align-items: center; justify-content: space-between; padding: .8rem .9rem; gap: 1rem; }.dafm-targeting-heading > span { display: grid; gap: .12rem; }.dafm-targeting-heading strong { color: var(--dafm-navy); font-size: .82rem; }.dafm-targeting-heading small { color: var(--dafm-muted); font-size: .68rem; }.dafm-targeting-heading b { color: var(--dafm-magenta); font-size: .72rem; white-space: nowrap; }.dafm-targeting-detail { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: .75rem; border-top: 1px solid var(--dafm-border); background: #f8fafb; gap: .65rem; }.dafm-targeting-detail[hidden] { display: none; }.dafm-targeting-detail label { display: grid; color: var(--dafm-navy); font-size: .72rem; font-weight: 750; gap: .25rem; }.dafm-targeting-detail input,.dafm-targeting-detail select { min-height: 40px; padding: .5rem; border: 1px solid var(--dafm-border); border-radius: 7px; background: #fff; }.dafm-targeting-detail small { grid-column: 1/-1; color: var(--dafm-muted); }.dafm-region-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }.dafm-region-picker label { display: flex; align-items: center; }.dafm-region-picker input { min-height: auto; }.dafm-region-summary { display: grid; grid-column: 1/-1; margin: .2rem 0 0; padding: .65rem .75rem; border-left: 3px solid var(--dafm-green); border-radius: 0 8px 8px 0; background: #eef7ec; color: var(--dafm-navy); gap: .15rem; }.dafm-region-summary strong { font-size: .75rem; }.dafm-region-summary span { color: var(--dafm-muted); font-size: .7rem; }.dafm-region-summary.is-targeted { border-left-color: var(--dafm-magenta); background: #fff1f6; }
.dafm-price-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; margin-top: 1rem; padding: 1rem; border-radius: 13px; color: #fff; background: linear-gradient(125deg,var(--dafm-navy),var(--dafm-blue)); gap: .7rem; }.dafm-price-summary small,.dafm-price-summary strong { display: block; }.dafm-price-summary small { color: #c9d9e6; font-size: .67rem; }.dafm-price-summary strong { font-family: var(--dafm-heading); font-size: 1.25rem; }.dafm-price-summary p { grid-column: 1/-1; margin: 0; color: #dbe7f1; font-size: .72rem; }
.dafm-creative-mode { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: .8rem 0 1rem; gap: .65rem; }.dafm-creative-mode label { position: relative; display: grid; grid-template-columns: auto 1fr; padding: .85rem; border: 1px solid var(--dafm-border); border-radius: 11px; cursor: pointer; gap: 0 .65rem; }.dafm-creative-mode label:has(input:checked) { border-color: var(--dafm-magenta); background: #fff6fa; }.dafm-creative-mode input { position: absolute; top: .5rem; right: .5rem; }.dafm-creative-mode span { grid-row: 1/3; color: var(--dafm-magenta); font-size: 1.4rem; }.dafm-creative-mode strong,.dafm-creative-mode small { display: block; }.dafm-creative-mode small { color: var(--dafm-muted); }.dafm-builder-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.72fr); align-items: start; gap: 1rem; }.dafm-event-cta-note { grid-column: 1/-1; margin: 0; padding: .65rem .75rem; border-left: 3px solid var(--dafm-blue); border-radius: 0 8px 8px 0; color: var(--dafm-muted); background: #eef5fb; font-size: .72rem; }.dafm-form-grid option:disabled { color: #98a6b2; }.dafm-creative-preview { overflow: hidden; border: 1px solid var(--dafm-border); border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(6,43,79,.09); }.dafm-creative-preview > span { display: block; padding: .45rem .7rem; color: #fff; background: var(--dafm-navy); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.dafm-creative-preview__image { display: grid; min-height: 145px; color: #fff; background: linear-gradient(145deg,var(--dafm-blue),var(--dafm-green)); background-position: center; background-size: cover; place-items: center; }.dafm-creative-preview__image.has-image b { display: none; }.dafm-creative-preview > div:last-child { padding: .85rem; }.dafm-creative-preview h3 { margin: .15rem 0 .35rem; font-size: 1.15rem; }.dafm-creative-preview p { color: var(--dafm-muted); font-size: .76rem; }.dafm-creative-preview__target { display: block; margin-top: .55rem; color: var(--dafm-muted); font-size: .65rem; font-weight: 700; }.dafm-integration-scope { margin: .75rem 0 1rem; padding: .75rem; border-radius: 9px; color: #365068; background: #f2f6f8; list-style: none; font-size: .74rem; }.dafm-integration-scope li + li { margin-top: .3rem; }
.dafm-wizard-actions { display: flex; align-items: center; justify-content: space-between; margin-top: 1.5rem; gap: .75rem; }.dafm-review-note { margin-top: 1rem; padding: 1rem; border-left: 4px solid var(--dafm-green); border-radius: 5px; background: #f2f8ef; }.dafm-review-note p { margin: .35rem 0 0; color: var(--dafm-muted); font-size: .82rem; }
.dafm-integration-card { position: sticky; top: 150px; }.dafm-integration-card__top { display: flex; align-items: center; gap: .8rem; }.dafm-integration-card__top > span { display: grid; width: 48px; height: 48px; border-radius: 12px; color: #fff; background: linear-gradient(145deg,#6b318b,#a75eca); place-items: center; font-weight: 900; }.dafm-integration-card h2 { margin: 0; font-size: 1.55rem; }.dafm-integration-card > p { color: var(--dafm-muted); font-size: .85rem; }.dafm-integration-form { display: grid; gap: .8rem; }.dafm-integration-form label small { color: var(--dafm-muted); font-weight: 500; }.dafm-integration-status { display: flex; align-items: center; margin-top: 1rem; padding: .85rem; border-radius: 9px; background: #f7f9fa; gap: .65rem; }.dafm-integration-status strong,.dafm-integration-status small { display: block; }.dafm-integration-status small { color: var(--dafm-muted); font-size: .7rem; }.dafm-status-dot { width: 11px; height: 11px; border-radius: 50%; background: #d4a11d; box-shadow: 0 0 0 4px #fff2ca; }.dafm-status-dot--good { background: var(--dafm-green); box-shadow: 0 0 0 4px #e4f2df; }
.dafm-portal-help { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 1.25rem; padding: 1.3rem; border-radius: 15px; color: #fff; background: var(--dafm-navy); gap: 1rem; }.dafm-portal-help article { display: flex; gap: .65rem; }.dafm-portal-help article > span { display: grid; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; color: var(--dafm-navy); background: #fff; place-items: center; font-weight: 850; }.dafm-portal-help strong { display: block; }.dafm-portal-help p { margin: .2rem 0 0; color: #bed0df; font-size: .74rem; }

.site-footer { color: #dbe7f1; background: var(--dafm-navy); }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); width: var(--dafm-content); margin-inline: auto; padding-block: 3.5rem; gap: 2.5rem; }
.site-footer .brand--footer { display: inline-flex; align-items: center; width: min(260px, 100%); margin-bottom: 1rem; padding: .8rem .9rem; border: 1px solid rgba(255, 255, 255, .72); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .18); }
.site-footer .brand--footer .brand__image { display: block; width: 100%; height: auto; }
.footer-editions { color: #b9cad8; font-size: .74rem; line-height: 1.55; }
.footer-editions a { font-size: inherit; font-weight: 750; }
.site-footer h2 { color: #fff; font-family: var(--dafm-body); font-size: .9rem; text-transform: uppercase; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li + li { margin-top: .35rem; }
.site-footer a { color: #dbe7f1; font-size: .88rem; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer__partner { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 2.28fr); align-items: stretch; width: var(--dafm-content); margin: 0 auto 2.5rem; padding: 1.15rem; border: 1px solid rgba(255,255,255,.17); border-radius: 18px; background: linear-gradient(125deg,rgba(196,0,82,.2),rgba(255,255,255,.06)); gap: 1rem; }
.site-footer__partner-intro { padding: .3rem .45rem; }
.site-footer__partner-intro h2 { margin: .2rem 0 .55rem; font-size: 1.2rem; text-transform: none; }
.site-footer__partner-intro > p:last-child { margin: 0; color: #dbe7f1; font-size: .875rem; line-height: 1.6; }
.site-footer__partner-kicker { margin: 0; color: #ffb0d1; font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.site-footer__partner-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.site-footer__partner-links a { --partner-accent: #8ec5e9; position: relative; display: grid; grid-template-rows: auto auto 1fr auto; align-content: start; min-height: 164px; padding: 1rem 2.6rem 1rem 1rem; border: 1px solid rgba(255,255,255,.16); border-top: 3px solid var(--partner-accent); border-radius: 13px; background: rgba(255,255,255,.08); gap: .35rem; transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.site-footer__partner-links a::after { position: absolute; right: 1rem; bottom: .9rem; content: "\2197"; color: var(--partner-accent); font-size: 1rem; font-weight: 900; }
.site-footer__partner-links .site-footer__partner-link--cooperation { --partner-accent: #9ce67c; }
.site-footer__partner-links .site-footer__partner-link--event { --partner-accent: #ff8cbc; }
.site-footer__partner-links .site-footer__partner-link--login { --partner-accent: #8ec5e9; }
.site-footer__partner-links a:hover,.site-footer__partner-links a:focus-visible { border-color: rgba(255,255,255,.46); background: rgba(255,255,255,.14); transform: translateY(-2px); }
.site-footer__partner-links strong,.site-footer__partner-links small,.site-footer__partner-badge,.site-footer__partner-action { display: block; }
.site-footer__partner-badge { color: var(--partner-accent); font-size: .75rem; font-weight: 900; letter-spacing: .09em; line-height: 1.35; text-transform: uppercase; }
.site-footer__partner-links strong { color: #fff; font-size: .94rem; line-height: 1.25; }
.site-footer__partner-links small { color: #dbe7f1; font-size: .875rem; line-height: 1.55; }
.site-footer__partner-action { align-self: end; margin-top: .35rem; color: #fff; font-size: .875rem; font-weight: 850; line-height: 1.35; }
.site-footer__network { display: grid; grid-template-columns: minmax(190px, .55fr) minmax(0, 2.45fr); align-items: center; width: var(--dafm-content); margin-inline: auto; padding: 0 0 2.5rem; gap: 1.4rem 2.5rem; }
.site-footer__network-intro h2 { margin: 0; font-size: 1.2rem; text-transform: none; }
.site-footer__network-kicker { margin: 0 0 .28rem; color: #acd9f5; font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.site-footer__network-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.site-footer__network-link { display: grid; align-items: center; min-height: 72px; padding: .75rem .8rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 10px; background: #fff; box-shadow: 0 7px 20px rgba(0, 0, 0, .12); transition: transform .18s ease, box-shadow .18s ease; }
.site-footer__network-link:hover { background: #fff; box-shadow: 0 10px 26px rgba(0, 0, 0, .2); transform: translateY(-2px); }
.site-footer__network-link img { display: block; width: 100%; max-height: 44px; object-fit: contain; }
.site-footer__share { display: grid; grid-template-columns: minmax(190px, .55fr) minmax(0, 2.45fr); align-items: center; width: var(--dafm-content); margin-inline: auto; padding: 0 0 2rem; gap: 1.4rem 2.5rem; }
.site-footer__share h2 { margin: 0; font-size: 1.2rem; text-transform: none; }
.site-footer__share p { margin: .3rem 0 0; color: #dbe7f1; font-size: .875rem; }
.site-footer__share-links { display: flex; flex-wrap: wrap; gap: .65rem; }
.site-footer__share-links :is(a, button) { display: inline-flex; min-height: 42px; align-items: center; padding: .55rem 1rem; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #fff; background: rgba(255,255,255,.08); font: inherit; font-size: .78rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.site-footer__share-links :is(a, button):hover, .site-footer__share-links :is(a, button):focus-visible { color: var(--dafm-navy); background: #fff; }
.site-footer__share-status { grid-column: 2; margin: -.8rem 0 0; color: #fff; font-size: .78rem; font-weight: 700; }
.site-footer__share-status:empty { display: none; }
.site-footer__bottom { width: var(--dafm-content); margin-inline: auto; padding-block: 1rem; border-top: 1px solid rgba(255, 255, 255, .16); color: #d1deE8; font-size: .8125rem; }

@media (max-width: 1180px) {
  .site-header__inner { grid-template-columns: auto 1fr auto; min-height: 74px; }
  .nav-toggle { display: block; justify-self: end; padding: .65rem .75rem; border-radius: 8px; }
  .nav-toggle:hover, .nav-toggle:focus-visible { background: var(--dafm-stone); }
  .site-header__cta { display: none; }
  .site-nav { position: absolute; top: 100%; right: auto; left: 50%; display: none; width: 100vw; padding: .75rem 0 1rem; border-top: 1px solid var(--dafm-border); background: #fff; box-shadow: var(--dafm-shadow); transform: translateX(-50%); }
  .site-nav.is-open { display: block; }
  .site-nav__list { flex-direction: column; align-items: stretch; width: var(--dafm-content); max-width: none; margin-inline: auto; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; gap: .2rem; }
  .site-nav a { display: block; min-height: 0; padding: .72rem .85rem; border-radius: 9px; font-size: .9rem; white-space: normal; transform: none; }
  .site-nav a:hover, .site-nav a:focus-visible { background: var(--dafm-stone); box-shadow: none; transform: none; }
  .site-nav .current-menu-item > a, .site-nav .current_page_item > a, .site-nav a[aria-current="page"] { color: var(--dafm-magenta-dark); background: #fff1f6; box-shadow: inset 3px 0 0 var(--dafm-magenta); }
}

@media (max-width: 980px) {
  .event-discovery-hero { min-height: 920px; }
  .event-discovery-hero__content { grid-template-columns: 1fr; min-height: 920px; align-content: start; padding-top: 4rem; }
  .event-discovery-hero__copy { max-width: 70%; padding-bottom: 1rem; }
  .event-discovery-spotlight { top: 19rem; width: min(55vw,360px); min-height: 270px; }
  .event-discovery-controls { top: 36.5rem; }
  .event-discovery-hero__finder { margin-top: auto; }
  .event-discovery-hero .event-search { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .event-discovery-hero .event-search__field:first-child { grid-column: span 2; }
  .event-discovery-hero .event-search__submit { grid-column: span 1; }
  .event-search { grid-template-columns: repeat(2, 1fr); }
  .event-search__submit { grid-column: 1/-1; }
  .event-grid, .event-grid--archive { grid-template-columns: repeat(2, 1fr); }
  .edition-showcase__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edition-showcase__intro { grid-column: 1 / -1; max-width: 700px; }
  .magazine-grid, .brochure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .magazine-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .magazine-filter-form__field--search { grid-column: 1 / -1; }
  .nearby-grid, .newsletter-grid { grid-template-columns: 1fr; }
  .nearby-panel, .newsletter-copy { padding-right: 0; }
  .dafm-map-shell { min-height: 470px; }
  .newsletter-section { background: #f6f1ea; }
  .newsletter-visual { min-height: 380px; }
  .event-hero { grid-template-columns: 1fr; }
  .event-hero__media { height: clamp(280px, 46vw, 390px); }
  .event-hero__media--gallery { height: auto; }
  .event-image-carousel.is-enhanced .event-image-carousel__stage { height: clamp(280px, 46vw, 390px); }
  .event-facts { grid-template-columns: repeat(2, 1fr); }
  .event-content-grid--sidebar-only .event-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-calendar-filter { grid-template-columns: 1fr; }
  .event-calendar-filter__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-calendar-filter__fields .button { grid-column: 1 / -1; }
  .site-footer__grid { grid-template-columns: repeat(2, 1fr); }
  .site-footer__partner { grid-template-columns: 1fr; }
  .site-footer__network, .site-footer__share { grid-template-columns: 1fr; }
  .site-footer__share-status { grid-column: 1; }
  .site-footer__network-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dafm-ads-hero, .dafm-ads-process, .dafm-portal-workspace, .dafm-print-configurator, .dafm-ad-channels { grid-template-columns: minmax(0, 1fr); }
  .dafm-ads-hero { min-height: auto; padding-block: 4.5rem; }
  .dafm-ads-answer { width: min(100%, 620px); }
  .dafm-format-grid, .dafm-portal-kpis, .dafm-portal-help, .dafm-package-grid, .dafm-analytics-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dafm-integration-card { position: static; }
  .dafm-campaign-list article { grid-template-columns: 64px minmax(0,1fr) auto; }
  .dafm-campaign-metric { grid-column: 2; }.dafm-campaign-actions { grid-column: 3; }
  .dafm-analytics-tools { grid-template-columns: minmax(0,1fr); }
  .dafm-analytics-filter { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dafm-analytics-periods,.dafm-analytics-filter .button { grid-column: 1/-1; }
  .dafm-analytics-download { justify-content: center; width: 100%; }
}

@media (max-width: 680px) {
  :root { --dafm-content: min(100% - 1.25rem, 1600px); }
  .dafm-submission-grid { grid-template-columns: 1fr; }
  .dafm-partner-summary, .dafm-partner-events, .dafm-partner-utility-grid, .dafm-ad { grid-template-columns: 1fr; }
  .event-detail-sponsor .dafm-ad[data-ad-layout="wide"], .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"] { grid-template-columns: 1fr; max-width: 520px; }
  .event-detail-sponsor .dafm-ad[data-ad-layout="wide"] .dafm-ad__image, .event-detail-footer-ad .dafm-ad[data-ad-layout="wide"] .dafm-ad__image { height: auto; aspect-ratio: 16 / 9; }
  .dafm-partner-admin-heading { align-items: stretch; flex-direction: column; }
  .dafm-partner-admin-heading .button { width: 100%; }
  .dafm-partner-picker__controls, .dafm-partner-form-grid { grid-template-columns: 1fr; }
  .dafm-partner-field--wide { grid-column: auto; }
  .dafm-partner-picker__controls .button { width: 100%; }
  .site-header__inner { min-height: 64px; gap: .75rem; }
  .brand--header { width: 150px; }
  .hero__content { min-height: auto; padding-block: 3.5rem; }
  .hero h1 { font-size: clamp(1.9rem, 8vw, 3rem); hyphens: none; overflow-wrap: normal; word-break: normal; }
  .event-discovery-hero { min-height: 0; }
  .event-discovery-slide__media img,.event-discovery-slide__fallback { object-position: 65% center; }
  .event-discovery-slide__veil { background: linear-gradient(180deg,rgba(3,25,46,.87) 0%,rgba(3,25,46,.62) 36%,rgba(3,25,46,.88) 66%,rgba(3,25,46,.98) 100%); }
  .event-discovery-hero__ambient { display: none; }
  .event-discovery-hero__content { grid-template-columns: minmax(0,1fr); min-height: 0; padding-block: 2.6rem 1rem; }
  .event-discovery-hero__copy { width: 100%; min-width: 0; max-width: none; padding: 0; }
  .event-discovery-hero__copy h1 { max-width: 12ch; font-size: clamp(2.65rem,13vw,4.2rem); }
  .event-discovery-hero__copy > p:last-child { width: 100%; max-width: 100%; font-size: .95rem; overflow-wrap: break-word; }
  .event-discovery-spotlight { display: none; }
  .event-discovery-spotlight strong { font-size: 1.45rem; }
  .event-discovery-controls { position: relative; top: auto; right: auto; left: auto; justify-content: flex-start; margin-top: .65rem; }
  .event-discovery-controls__pause { margin-left: auto; }
  .event-discovery-hero__finder { width: 100%; margin-top: 1rem; margin-right: 0; }
  .event-discovery-hero .event-search { grid-template-columns: repeat(2,minmax(0,1fr)); padding: .75rem; border-radius: 14px; gap: .65rem; }
  .event-discovery-hero .event-search__field:first-child,.event-discovery-hero .event-search__field:nth-child(2),.event-discovery-hero .event-search__field:nth-child(5),.event-discovery-hero .event-search__field:nth-child(6),.event-discovery-hero .event-search__submit { grid-column: 1/-1; }
  .event-discovery-hero .event-search__field--date { grid-column: span 1; }
  .event-discovery-hero .event-search__submit { width: 100%; }
  .event-search__quick { flex-wrap: nowrap; padding-bottom: .2rem; overflow-x: auto; }
  .event-search__quick > span { display: none; }
  .event-category-rail { margin-right: -.65rem; padding-right: .65rem; }
  .event-card--featured { grid-column: auto; display: flex; }
  .event-card--featured .event-card__media { min-height: 0; }
  .event-card--featured .event-card__media > img,.event-card--featured .event-card__media > .event-card__placeholder { height: auto; aspect-ratio: 16/10; }
  .event-card--featured .event-card__body { padding: 1.1rem; }
  .event-card--featured .event-card__title { font-size: 1.32rem; }
  .event-search { grid-template-columns: 1fr; padding: .8rem; }
  .event-search__submit { grid-column: auto; }
  .event-calendar-filter__fields { grid-template-columns: 1fr; }
  .event-calendar-filter__fields .button { grid-column: auto; width: 100%; }
  .quick-filters { flex-wrap: nowrap; margin-right: -.65rem; padding-right: .65rem; overflow-x: auto; }
  .quick-filters form, .quick-filters a, .quick-filters button { flex: 0 0 auto; }
  .section-heading, .editorial-intro, .results-toolbar { align-items: flex-start; flex-direction: column; }
  .event-grid, .event-grid--archive { grid-template-columns: 1fr; }
  .edition-showcase__grid { grid-template-columns: 1fr; }
  .edition-showcase__intro { grid-column: auto; }
  .magazine-grid, .brochure-grid, .newsletter-options { grid-template-columns: 1fr; }
  .magazine-filter-form { grid-template-columns: 1fr; padding: .8rem; }
  .magazine-filter-form__field--search { grid-column: auto; }
  .magazine-filter-form .button { width: 100%; }
  .magazine-results-summary { align-items: flex-start; flex-wrap: wrap; }
  .magazine-results-summary a,.magazine-results-summary button { width: 100%; margin-left: 0; text-align: left; }
  .event-card__date, .event-card__title, .event-card__location { min-height: auto; }
  .location-tools-panel { grid-template-columns: 1fr; }
  .location-tools__input-row { grid-template-columns: 1fr; }
  .location-tools__input-row .button { width: 100%; }
  .feature-grid, .event-content-grid, .event-related-content__grid { grid-template-columns: 1fr; }
  .event-content-grid--sidebar-only .event-sidebar { grid-template-columns: 1fr; }
  .map-placeholder { min-height: 280px; }
  .dafm-map-shell { min-height: 530px; margin-inline: -.65rem; }
  .dafm-map-consent { top: 1rem; left: .65rem; width: calc(100% - 1.3rem); max-height: calc(100% - 4rem); overflow-y: auto; transform: none; }
  .dafm-map-consent__actions { align-items: stretch; flex-direction: column; }
  .dafm-map-consent__actions .button { width: 100%; }
  .dafm-map-status { left: .65rem; right: .65rem; max-width: none; }
  .newsletter-visual { min-height: 320px; }
  .brochure-card { grid-template-columns: 86px 1fr; }
  .active-filters a { width: 100%; margin-left: 0; }
  .results-toolbar form { width: 100%; min-width: 0; align-items: stretch; flex-direction: column; }
  .results-toolbar select { width: 100%; min-width: 0; }
  .event-hero__media { height: clamp(220px, 52vw, 300px); }
  .event-hero__media--gallery { height: auto; }
  .event-image-carousel.is-enhanced .event-image-carousel__stage { height: clamp(220px, 52vw, 300px); }
  .event-hero__summary { padding: 1.25rem; }
  .event-actions, .event-facts { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; padding-block: 2.5rem; }
  .site-footer__partner-links { grid-template-columns: 1fr; }
  .site-footer__network-grid { grid-template-columns: 1fr; }
  .dafm-ads-marketing, .dafm-ads-portal, .dafm-ads-login { width: var(--dafm-content); }
  .dafm-ads-hero { grid-template-columns: 1fr; min-height: auto; padding-block: 3.25rem; gap: 2.25rem; }
  .dafm-ads-hero h1 { font-size: clamp(2.35rem, 11vw, 3.6rem); hyphens: manual; overflow-wrap: normal; word-break: normal; }
  .dafm-ads-hero__lead { font-size: 1rem; }
  .dafm-ads-hero__actions { align-items: stretch; flex-direction: column; }
  .dafm-ads-hero__actions .button { width: 100%; justify-content: center; }
  .dafm-ads-answer { padding: 1.6rem; }
  .dafm-format-grid, .dafm-portal-kpis, .dafm-portal-help, .dafm-choice-grid, .dafm-placement-grid, .dafm-form-grid, .dafm-package-grid, .dafm-analytics-kpis, .dafm-analytics-grid, .dafm-builder-layout, .dafm-creative-mode, .dafm-price-summary, .dafm-print-products, .dafm-print-summary, .dafm-ad-channel-grid, .dafm-creative-variant-grid, .dafm-creative-credit-grid, .dafm-creative-gallery, .dafm-review-send-card, .dafm-review-link-card { grid-template-columns: minmax(0, 1fr); }
  .dafm-print-summary > p { grid-column: auto; }
  .dafm-ads-process { gap: 1rem; }.dafm-ads-cta, .dafm-portal-welcome, .dafm-portal-panel__heading { align-items: flex-start; flex-direction: column; }
  .dafm-support-card { width: 100%; min-width: 0; }.dafm-ads-login__actions,.dafm-ads-login-contact__actions { align-items: stretch; flex-direction: column; }.dafm-ads-login-options,.dafm-ads-login-shop__links { grid-template-columns: minmax(0,1fr); }.dafm-ads-login-area .button { justify-content: center; width: 100%; }
  .dafm-portal-nav { top: 74px; flex-wrap: nowrap; margin-inline: -.25rem; overflow-x: auto; }.dafm-portal-nav a { flex: 0 0 auto; }
  .dafm-wizard-progress li { gap: 0; }.dafm-wizard-progress li > strong { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }.dafm-wizard-progress li::after { right: 5px; left: 35px; }.dafm-wizard-actions { align-items: stretch; flex-direction: column; }.dafm-wizard-actions .button { width: 100%; }
  .dafm-field-wide { grid-column: auto; }.dafm-campaign-list article { grid-template-columns: 52px 1fr; }.dafm-campaign-visual { width: 48px; height: 48px; }.dafm-campaign-list article > .dafm-status,.dafm-campaign-metric,.dafm-campaign-actions { grid-column: 2; justify-self: start; }.dafm-analytics-filter,.dafm-analytics-dates { grid-template-columns: minmax(0,1fr); }.dafm-analytics-campaign,.dafm-analytics-periods,.dafm-analytics-dates,.dafm-analytics-filter .button { grid-column: auto; }.dafm-analytics-period-options { grid-template-columns: repeat(2,minmax(0,1fr)); }.dafm-analytics-period-options label:nth-child(3) { border-left: 0; border-top: 1px solid var(--dafm-border); }.dafm-analytics-period-options label:nth-child(4) { border-top: 1px solid var(--dafm-border); }.dafm-analytics-selector label { min-width: 0; }.dafm-analytics-selector .button,.dafm-analytics-download { width: 100%; }.dafm-price-summary p { grid-column: auto; }.dafm-switch { grid-template-columns: auto 1fr; }.dafm-switch b { grid-column: 2; }.dafm-targeting-heading { align-items: flex-start; flex-direction: column; gap: .25rem; }.dafm-targeting-detail,.dafm-region-picker { grid-template-columns: 1fr; }.dafm-targeting-detail small { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .event-discovery-slide,.event-discovery-slide__media img,.event-discovery-slide__fallback,.event-discovery-spotlight,.event-discovery-hero__ambient { animation: none !important; transition: none !important; transform: none !important; }
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  [data-motion-hero] .hero__backdrop { transform: none !important; }
}

/* Lightweight editorial motion inspired by layered travel and magazine sliders. */
[data-reveal] { opacity: 0; transform: translate3d(0, 24px, 0); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.72,.2,1); }
[data-reveal="left"] { transform: translate3d(-28px, 0, 0); }
[data-reveal="right"] { transform: translate3d(28px, 0, 0); }
[data-reveal].is-revealed { opacity: 1; transform: translate3d(0, 0, 0); }
[data-motion-hero] .hero__backdrop { transform: translate3d(0, var(--dafm-hero-shift, 0), 0) scale(1.035); transition: transform .12s linear; will-change: transform; }

/* Multi-page portal */
.section--compact { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.section-heading__copy { max-width: 460px; margin: 0; color: var(--dafm-muted); }
.portal-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; padding: clamp(.65rem, 1.2vw, 1rem); border: 1px solid rgba(6,43,79,.07); border-radius: 28px; background: linear-gradient(145deg,rgba(247,250,251,.94),rgba(247,243,237,.82)); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 48px rgba(6,43,79,.06); gap: .85rem; }
.portal-card { position: relative; display: grid; min-height: 184px; overflow: hidden; padding: 1.25rem; border: 1px solid color-mix(in srgb, var(--portal-accent, var(--dafm-blue)) 20%, var(--dafm-border)); border-radius: 20px; color: var(--dafm-navy); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--portal-accent, var(--dafm-blue)) 8%, #f4f8fa)); box-shadow: 0 10px 28px rgba(6,43,79,.08); text-decoration: none; isolation: isolate; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.portal-card::before { position: absolute; z-index: -1; inset: auto -22% -62% 35%; aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--portal-accent, var(--dafm-blue)) 22%, transparent); border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--portal-accent, var(--dafm-blue)) 18%, transparent), transparent 68%); content: ""; transition: transform .45s cubic-bezier(.2,.72,.2,1); }
.portal-card::after { position: absolute; top: 1rem; right: 1rem; display: grid; width: 34px; height: 34px; border: 1px solid color-mix(in srgb, var(--portal-accent, var(--dafm-blue)) 24%, transparent); border-radius: 50%; color: var(--portal-accent, var(--dafm-blue)); background: rgba(255,255,255,.68); content: "\2197"; place-items: center; font-size: .9rem; font-weight: 900; backdrop-filter: blur(6px); transition: transform .28s ease; }
.portal-card:hover { border-color: color-mix(in srgb, var(--portal-accent, var(--dafm-blue)) 55%, var(--dafm-border)); color: var(--dafm-navy); box-shadow: 0 18px 46px rgba(6,43,79,.16); transform: translateY(-5px); }
.portal-card:hover::before { transform: translate3d(-8px,-10px,0) scale(1.08); }
.portal-card:hover::after { transform: rotate(45deg); }
.portal-card > span { color: var(--portal-accent, var(--dafm-blue)); font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.portal-card > .portal-card__title { align-self: end; margin-top: 2rem; color: var(--dafm-navy); font-family: var(--dafm-heading); font-size: clamp(1.35rem,2vw,1.65rem); font-weight: 700; letter-spacing: normal; line-height: 1.05; }
.portal-card > small { max-width: 22ch; color: var(--dafm-muted); font-size: .76rem; }
.portal-card--regions, .portal-card--events { grid-column: span 2; min-height: 250px; color: #fff; border-color: transparent; background-position: center; background-size: cover; }
.portal-card--regions { background-image: linear-gradient(125deg,rgba(4,32,57,.92),rgba(47,125,29,.55)), url('../images/stock/AdobeStock_393819709-nature.webp'); }
.portal-card--events { background-image: linear-gradient(125deg,rgba(4,32,57,.92),rgba(196,0,82,.55)), url('../images/stock/AdobeStock_276307224-market.webp'); }
.portal-card--regions > span, .portal-card--events > span { color: #fff; }
.portal-card--regions > small, .portal-card--events > small { color: rgba(255,255,255,.82); }
.portal-card--regions::after, .portal-card--events::after { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(4,32,57,.35); }
.portal-card--events { --portal-accent: var(--dafm-magenta); }
.portal-card--regions { --portal-accent: var(--dafm-green); }
.portal-card--magazine { --portal-accent: var(--dafm-blue); }
.portal-card--editions { --portal-accent: var(--dafm-edition-alpsee); }
.portal-card--brochures { --portal-accent: #c58725; }
.portal-card--service { --portal-accent: #6a4c93; }
.portal-card--experience { --portal-accent: #b05f18; }
.portal-card--favorites { --portal-accent: #a53678; }
.portal-card--current { --portal-accent: var(--dafm-blue); }
.portal-card--newsletter { --portal-accent: var(--dafm-magenta); }
.portal-card--giveaway { --portal-accent: #e58b00; }
.portal-card--newsletter, .portal-card--giveaway { grid-column: span 2; min-height: 178px; }
.portal-card--newsletter { background: linear-gradient(125deg,#fff 0%,#fbe8f1 100%); }
.portal-card--giveaway { color: #fff; border-color: transparent; background-image: linear-gradient(120deg,rgba(69,29,5,.94),rgba(229,139,0,.62)),url('../images/stock/AdobeStock_466907970-general.webp'); background-position: center 52%; background-size: cover; }
.portal-card--newsletter > .portal-card__title, .portal-card--giveaway > .portal-card__title { font-size: clamp(1.5rem,2.4vw,2rem); }
.portal-card--giveaway > span { color: #fff; }
.portal-card--giveaway > small { color: rgba(255,255,255,.84); }
.portal-card--giveaway::after { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(69,29,5,.28); }
.portal-card--regions > .portal-card__title,
.portal-card--events > .portal-card__title,
.portal-card--giveaway > .portal-card__title { color: #fff; text-shadow: 0 2px 12px rgba(4,32,57,.58); }
.portal-card--regions > small,
.portal-card--events > small,
.portal-card--giveaway > small { color: #fff; text-shadow: 0 1px 8px rgba(4,32,57,.62); }
.portal-card__credit { position:absolute;z-index:2;right:.45rem;bottom:.3rem;max-width:calc(100% - .9rem);padding:1px 4px;border:0;border-radius:3px;color:rgba(4,32,57,.72)!important;background:rgba(255,255,255,.62);box-shadow:none;text-shadow:none;font:500 9px/1.25 system-ui,sans-serif;letter-spacing:0!important;text-align:right;pointer-events:none; }

.home .event-card__edition, .preview-home .event-card__edition { display: none; }

.home .magazine-card__media .magazine-card__category,
.preview-home .magazine-card__media .magazine-card__category { top: .65rem; bottom: auto; }

.subpage-hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(112deg, rgba(4,32,57,.96), rgba(14,95,153,.78)), url('../images/stock/AdobeStock_466907970-general.webp') center/cover; isolation: isolate; }
.subpage-hero::after { position: absolute; inset: 0; z-index: -1; opacity: .42; background: linear-gradient(145deg, transparent 48%, rgba(255,255,255,.16) 48.4% 49.1%, transparent 49.5%); content: ""; }
.subpage-hero__content { min-height: 430px; padding-block: clamp(3.5rem, 8vw, 6rem); }
.subpage-hero h1 { max-width: 900px; color: #fff; font-size: clamp(2.5rem, 5.5vw, 4.7rem); }
.subpage-hero p:not(.eyebrow) { max-width: 740px; font-size: clamp(1rem, 2vw, 1.2rem); }
.subpage-hero .eyebrow { color: #dcebd8; }
.subpage-hero--magazine { background-image: linear-gradient(112deg, rgba(4,32,57,.97), rgba(196,0,82,.62)), url('../images/stock/AdobeStock_466907970-general.webp'); }
.subpage-hero--regions { background-image: linear-gradient(112deg, rgba(4,32,57,.94), rgba(47,125,29,.48)), url('../images/editorial/allgaeu-hero-2026.jpg'); background-position: center 54%; }
.subpage-hero--editions, .subpage-hero--edition { background-image: linear-gradient(112deg, rgba(4,32,57,.96), rgba(18,98,166,.65)), url('../images/stock/AdobeStock_466907970-general.webp'); }
.subpage-hero--vom-rohrach-zum-paradies { background-image: linear-gradient(112deg, rgba(4,32,57,.96), rgba(32,85,237,.58)), url('../images/stock/AdobeStock_466907970-general.webp'); }
.subpage-hero--brochures { background-image: linear-gradient(112deg, rgba(4,32,57,.95), rgba(197,135,37,.6)), url('../images/stock/AdobeStock_276307224-market.webp'); }
.subpage-hero--newsletter { background-image: linear-gradient(112deg, rgba(4,32,57,.95), rgba(196,0,82,.58)), url('../images/stock/AdobeStock_466907970-general.webp'); }
.subpage-hero--service { background-image: linear-gradient(112deg, rgba(4,32,57,.95), rgba(106,76,147,.62)), url('../images/stock/AdobeStock_466907970-general.webp'); }
.subpage-hero--experience { background-image: linear-gradient(112deg, rgba(4,32,57,.96), rgba(176,95,24,.66)), url('../images/stock/AdobeStock_393819709-nature.webp'); }
.subpage-hero--favorites { background-image: linear-gradient(112deg, rgba(4,32,57,.96), rgba(165,54,120,.62)), url('../images/stock/AdobeStock_466907970-general.webp'); }
.subpage-hero--current-issue { background-image: linear-gradient(112deg, rgba(4,32,57,.96), rgba(18,98,166,.64)), url('../images/stock/AdobeStock_466907970-general.webp'); }
.subpage-hero--partner { background-image: linear-gradient(112deg, rgba(4,32,57,.96), rgba(47,125,29,.64)), url('../images/stock/AdobeStock_276307224-market.webp'); }
.subpage-hero .breadcrumb,
.giveaway-entry-hero .breadcrumb,
.jubilee-hero .breadcrumb { display: flex; align-items: center; margin-bottom: 2rem; color: #dbe7f1; gap: .55rem; font-size: .78rem; }
.subpage-hero .breadcrumb a,
.giveaway-entry-hero .breadcrumb a,
.jubilee-hero .breadcrumb a { color: #fff; font-weight: 750; }

.filter-bar { display: flex; flex-wrap: wrap; margin-bottom: 2rem; gap: .65rem; }
.filter-bar a { padding: .55rem .9rem; border: 1px solid var(--dafm-border); border-radius: 999px; color: var(--dafm-navy); background: #fff; font-size: .78rem; font-weight: 800; text-decoration: none; }
.filter-bar a:hover, .filter-bar a.is-active { border-color: var(--dafm-magenta); color: #fff; background: var(--dafm-magenta); }
.magazine-card__body h2 { margin-bottom: .55rem; font-size: 1.25rem; }
.magazine-card__body h2 a { color: var(--dafm-navy); text-decoration: none; }
.pagination { display: flex; justify-content: center; margin-top: 2.5rem; gap: .5rem; }
.pagination .page-numbers { padding: .5rem .75rem; border: 1px solid var(--dafm-border); border-radius: 6px; text-decoration: none; }

.edition-directory { display: grid; gap: 2rem; }
.edition-directory__card { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); align-items: center; overflow: hidden; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--dafm-border); border-radius: 18px; background: linear-gradient(135deg, #f3f8fb, #fff); box-shadow: var(--dafm-shadow); gap: clamp(1.5rem, 5vw, 4rem); }
.edition-directory__card--rohrach { background: linear-gradient(135deg, #f0f3ff, #fff); }
.edition-directory__card img, .edition-detail__brand img, .newsletter-choice img { padding: .7rem; border-radius: 12px; background: #fff; }
.check-list { margin: 1rem 0 1.5rem; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 1.55rem; }
.check-list li + li { margin-top: .35rem; }
.check-list li::before { position: absolute; left: 0; color: var(--dafm-green); content: "✓"; font-weight: 900; }
.edition-detail { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(2rem, 6vw, 5rem); }
.edition-detail__brand { padding: 1.3rem; border: 1px solid var(--dafm-border); border-radius: 16px; background: #f5f8fa; }
.edition-detail__brand p { margin: 1rem .5rem .2rem; color: var(--dafm-muted); }
.edition-detail__links { display: grid; gap: .85rem; }
.edition-detail__links a { display: grid; grid-template-columns: 1fr auto; padding: 1.25rem; border: 1px solid var(--dafm-border); border-radius: 14px; color: var(--dafm-navy); background: #fff; box-shadow: 0 6px 20px rgba(6,43,79,.06); text-decoration: none; }
.edition-detail__links span { grid-column: 1; color: var(--dafm-magenta); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.edition-detail__links strong { grid-column: 1; margin-top: .2rem; font-size: 1rem; }
.edition-detail__links b { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 1.5rem; }

.region-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.regions-hero .subpage-hero__content { min-height: 560px; padding-bottom: clamp(2.2rem,5vw,4rem); }
.regions-hero h1 { max-width: 760px; margin-bottom: .7rem; }
.regions-hero__search { margin-top: clamp(1.5rem,3vw,2.4rem); }
.regions-hero__search .event-search { grid-template-columns: minmax(165px,1.2fr) minmax(105px,.55fr) minmax(125px,.7fr) minmax(125px,.7fr) minmax(145px,.85fr) minmax(150px,.9fr) auto; border: 1px solid rgba(255,255,255,.55); box-shadow: 0 18px 46px rgba(4,32,57,.28); }
.featured-places { overflow: hidden; }
.featured-place-rail { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: .75rem; }
.featured-place-card { min-width: 0; overflow: hidden; border: 1px solid var(--dafm-line); border-radius: 14px; color: var(--dafm-navy); background: #fff; box-shadow: 0 10px 28px rgba(6,43,79,.08); text-decoration: none; transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.featured-place-card:hover,.featured-place-card:focus-visible { border-color: rgba(47,125,29,.52); color: var(--dafm-navy); box-shadow: 0 16px 36px rgba(6,43,79,.14); transform: translateY(-4px); }
.featured-place-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4/3; background: #dbe5e9; }
.featured-place-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.featured-place-card:hover .featured-place-card__media img { transform: scale(1.045); }
.featured-place-card__credit { position: absolute; right: .28rem; bottom: .22rem; max-width: calc(100% - .56rem); padding: 1px 3px; border-radius: 3px; color: rgba(4,32,57,.76); background: rgba(255,255,255,.68); font: 500 clamp(8px,.52vw,9px)/1.25 system-ui,sans-serif; text-align: right; }
.featured-place-card__body { display: grid; min-height: 150px; padding: .8rem; grid-template-rows: auto auto 1fr auto; gap: .25rem; }
.featured-place-card__body small { color: var(--dafm-green-dark); font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.featured-place-card__body strong { font-family: var(--dafm-heading); font-size: 1rem; line-height: 1.08; }
.featured-place-card__body span { color: var(--dafm-muted); font-size: .68rem; line-height: 1.42; }
.featured-place-card__body b { align-self: end; color: var(--dafm-magenta); font-size: .68rem; }
.regions-map { border-block: 1px solid rgba(6,43,79,.08); }
.regions-map .nearby-grid { min-height: 540px; }
.regions-map__ad { position: relative; z-index: 2; padding-bottom: clamp(1rem, 2vw, 1.6rem); }
.regions-map__ad > .dafm-ad { margin-inline: auto; }
/* Region-footer advertising is a quiet secondary recommendation, not a
 * second hero. Keep square campaign artwork in a compact landscape card. */
.dafm-ad[data-placement="region_footer"],
.dafm-ad[data-placement="region_footer"][data-image-format="square"],
.dafm-ad[data-placement="region_footer"][data-image-format="portrait"],
.dafm-ad[data-placement="region_footer"][data-print-ratio] { grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); width: min(100%, 560px); min-height: 0; margin: 1rem auto 0; }
.dafm-ad[data-placement="region_footer"] .dafm-ad__image { height: 150px; min-height: 0; aspect-ratio: auto; }
.dafm-ad[data-placement="region_footer"] .dafm-ad__image img { object-fit: cover; object-position: center; }
.dafm-ad[data-placement="region_footer"] .dafm-ad__body { padding: .8rem 1rem; }
.dafm-ad[data-placement="region_footer"] .dafm-ad__title { margin: 0 0 .55rem; font-size: clamp(.95rem, 1.35vw, 1.08rem); line-height: 1.16; }
.dafm-ad[data-placement="region_footer"] .dafm-ad__body > p { display: none; }
.dafm-ad[data-placement="region_footer"] .dafm-ad__cta { min-height: 36px; padding: .55rem .75rem; font-size: .7rem; }
@media (max-width: 520px) {
  .dafm-ad[data-placement="region_footer"],
  .dafm-ad[data-placement="region_footer"][data-image-format="square"],
  .dafm-ad[data-placement="region_footer"][data-image-format="portrait"],
  .dafm-ad[data-placement="region_footer"][data-print-ratio] { grid-template-columns: 1fr; max-width: 360px; }
  .dafm-ad[data-placement="region_footer"] .dafm-ad__image { height: auto; aspect-ratio: 16 / 9; }
}
.region-card { display: grid; min-height: 155px; padding: 1.2rem; border-radius: 15px; color: #fff; background: linear-gradient(145deg, var(--dafm-navy), var(--dafm-green)); text-decoration: none; }
.region-card:nth-child(2) { background: linear-gradient(145deg, #234b3d, #527d46); }
.region-card:nth-child(3) { background: linear-gradient(145deg, #163d66, #3981aa); }
.region-card:nth-child(4) { background: linear-gradient(145deg, #3a3e64, #5a65a4); }
.region-card:nth-child(5) { background: linear-gradient(145deg, #5a3a27, #9b6b35); }
.region-card:nth-child(6) { background: linear-gradient(145deg, #164a59, #238499); }
.region-card:nth-child(7) { background: linear-gradient(145deg, #49355f, #7f5ca4); }
.region-card:nth-child(8) { background: linear-gradient(145deg, #5e3041, #a44f6d); }
.region-card:hover { color: #fff; transform: translateY(-2px); }
.region-card span { font-size: .7rem; font-weight: 850; opacity: .7; }
.region-card strong { align-self: end; font-family: var(--dafm-heading); font-size: 1.35rem; }
.region-card small { font-weight: 750; }
.location-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.location-directory-group { padding: clamp(1.3rem, 2.8vw, 2rem); border: 1px solid var(--dafm-line); border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(6, 43, 79, .07); }
.location-directory-group__kicker { margin: 0 0 .35rem; color: var(--dafm-pink); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.location-directory-group h3 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.location-directory-group h3 a { color: var(--dafm-navy); text-decoration: none; }
.location-directory-group > p:not(.location-directory-group__kicker) { color: var(--dafm-muted); }
.location-chip-list { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.location-chip-list a { padding: .48rem .7rem; border: 1px solid #cbd8e2; border-radius: 999px; color: var(--dafm-navy); background: #f8fbfd; font-size: .84rem; font-weight: 750; text-decoration: none; }
.location-chip-list a:hover { border-color: var(--dafm-green); color: var(--dafm-green); background: #f1f8ef; }
.location-microsite-hero { position: relative; min-height: 470px; display: grid; align-items: end; color: #fff; background: linear-gradient(110deg, rgba(6,43,79,.96), rgba(20,84,78,.76)), url('../images/stock/AdobeStock_393819709-nature.webp') center/cover; overflow: hidden; }
.location-microsite-hero__content { position: relative; z-index: 1; padding-block: clamp(4rem, 9vw, 7rem); }
.location-microsite-hero h1 { max-width: 850px; margin: .65rem 0 1rem; color: #fff; font-size: clamp(3rem, 7vw, 6.3rem); line-height: .92; }
.location-microsite-hero p:not(.eyebrow) { max-width: 720px; font-size: clamp(1.05rem, 2vw, 1.35rem); }
.location-microsite-hero .breadcrumb, .location-microsite-hero .breadcrumb a { color: rgba(255,255,255,.9); }
.location-microsite-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.button--light { border-color: rgba(255,255,255,.75); color: #fff; background: rgba(255,255,255,.08); }
.button--light:hover { color: var(--dafm-navy); background: #fff; }
.location-microsite-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .75fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.location-microsite-intro h2 { margin-top: .4rem; }
.location-microsite-facts { padding: 1.5rem; border-radius: 18px; color: #fff; background: linear-gradient(145deg, var(--dafm-navy), #17633e); box-shadow: 0 20px 50px rgba(6,43,79,.17); }
.location-microsite-facts .wayfinder-icon { margin-bottom: 1rem; filter: brightness(0) invert(1); }
.location-microsite-facts strong { display: block; font-family: var(--dafm-heading); font-size: 1.45rem; }
.location-place-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.location-place-card { display: grid; gap: .6rem; min-height: 190px; padding: 1.2rem; border: 1px solid var(--dafm-line); border-radius: 16px; color: var(--dafm-navy); background: #fff; text-decoration: none; }
.location-place-card strong { font-family: var(--dafm-heading); font-size: 1.35rem; }
.location-place-card span { color: var(--dafm-muted); }
.location-place-card small { align-self: end; color: var(--dafm-pink); font-weight: 800; }
.location-place-card:hover, .location-place-card.is-current { border-color: var(--dafm-green); box-shadow: 0 14px 35px rgba(6,43,79,.08); }
.location-place-card.is-current { background: #f1f8ef; }
.location-empty-state { padding: 2rem; border: 1px dashed #b9c9d5; border-radius: 18px; background: #f8fbfd; }
.location-empty-state h3 { margin-top: 0; }
.location-story-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.location-story-grid article { overflow: hidden; border: 1px solid var(--dafm-line); border-radius: 16px; background: #fff; }
.location-story-grid article > a { display: block; height: 100%; padding-bottom: 1.2rem; color: var(--dafm-navy); text-decoration: none; }
.location-story-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.location-story-grid h3, .location-story-grid p, .location-story-grid span { margin-inline: 1rem; }
.location-story-grid h3 { margin-top: .35rem; }
.location-story-grid span { color: var(--dafm-pink); font-weight: 800; }
.location-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.location-listing-groups { display: grid; gap: clamp(2rem, 4vw, 3rem); }
.location-listing-group { display: grid; gap: .8rem; }
.location-listing-group__heading { margin: 0; color: var(--dafm-blue); font-family: var(--dafm-serif); font-size: clamp(1.45rem, 2vw, 1.95rem); }
.location-topic-card { display: grid; min-height: 240px; padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid var(--dafm-line); border-radius: 18px; background: linear-gradient(145deg, #fff 0%, #f2f7fa 100%); box-shadow: 0 16px 38px rgba(6, 43, 79, .08); }
.location-topic-card > span { color: var(--dafm-pink); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.location-topic-card h3 { margin: .8rem 0 .45rem; font-size: clamp(1.35rem, 2vw, 1.7rem); }
.location-topic-card p { color: var(--dafm-muted); }
.location-topic-card a { align-self: end; color: var(--dafm-green); font-weight: 800; text-decoration: none; }
.location-topic-card:hover { transform: translateY(-3px); border-color: rgba(33, 128, 38, .45); box-shadow: 0 22px 48px rgba(6, 43, 79, .12); }
.nearby-section--page .nearby-grid { min-height: 570px; }

.info-banner { display: flex; align-items: flex-start; margin-bottom: 2rem; padding: 1rem 1.2rem; border-left: 4px solid var(--dafm-blue); border-radius: 8px; background: #eef5f9; gap: .8rem; }
.info-banner > span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; color: #fff; background: var(--dafm-blue); place-items: center; font-weight: 900; }
.info-banner p { margin: 0; }
.brochure-catalog-section { padding-top: clamp(2rem, 4vw, 3.5rem); }
.brochure-allgaeu-intro { margin-bottom: 1.5rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--dafm-border); border-radius: 18px; background: linear-gradient(135deg, #f2f7f0, #fff); }
.brochure-allgaeu-intro .eyebrow { margin-bottom: .4rem; color: var(--dafm-pink); }
.brochure-allgaeu-intro h2 { margin: 0 0 .5rem; color: var(--dafm-navy); font-family: var(--dafm-serif); font-size: clamp(1.55rem, 2.5vw, 2.2rem); }
.brochure-allgaeu-intro p:last-child { max-width: 760px; margin-bottom: 0; color: var(--dafm-muted); }
.brochure-external { display: grid; grid-template-columns: minmax(200px, .65fr) minmax(0, 1.6fr); align-items: center; gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: 2rem; padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid var(--dafm-border); border-radius: 20px; background: #f3f6f7; }
.brochure-external__logo { display: grid; min-height: 130px; padding: 1.25rem; border: 1px solid var(--dafm-border); border-radius: 14px; background: #fff; place-items: center; }
.brochure-external__logo img { width: 100%; max-width: 320px; height: auto; }
.brochure-external__copy .eyebrow { margin-bottom: .35rem; color: var(--dafm-pink); }
.brochure-external__copy h2 { margin: 0 0 .5rem; color: var(--dafm-navy); font-family: var(--dafm-serif); font-size: clamp(1.5rem, 2.6vw, 2.25rem); }
.brochure-external__copy > p:not(.eyebrow) { max-width: 700px; color: var(--dafm-muted); }
.brochure-provider { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.6fr); overflow: hidden; margin-bottom: 1.5rem; border-radius: 22px; color: #fff; background: linear-gradient(125deg, #062b4f 0%, #0c4d68 58%, #17633e 100%); box-shadow: 0 22px 55px rgba(6,43,79,.16); }
.brochure-provider__logo { display: grid; align-items: center; padding: clamp(1.5rem, 4vw, 2.6rem); background: rgba(255,255,255,.96); }
.brochure-provider__logo img { width: 100%; height: auto; }
.brochure-provider__copy { padding: clamp(1.6rem, 4vw, 3rem); }
.brochure-provider__copy .eyebrow { color: #8bd781; }
.brochure-provider__copy h2 { margin: .3rem 0 .7rem; color: #fff; font-size: clamp(2rem, 4vw, 3.3rem); }
.brochure-provider__copy > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.88); }
.brochure-provider__facts { display: flex; flex-wrap: wrap; margin: 1.35rem 0 0; padding: 0; list-style: none; gap: .7rem; }
.brochure-provider__facts li { padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.08); font-size: .78rem; }
.brochure-filter { display: grid; grid-template-columns: minmax(240px, 1.7fr) minmax(180px, .8fr) auto; align-items: end; margin: 0 0 .8rem; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(6,43,79,.06); gap: .8rem; }
.brochure-filter label { display: grid; gap: .35rem; color: var(--dafm-navy); font-size: .75rem; font-weight: 800; }
.brochure-filter input, .brochure-filter select { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid #bdcbd6; border-radius: 9px; color: var(--dafm-navy); background: #fff; font: inherit; font-weight: 500; }
.brochure-catalog-status { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.2rem; padding: .75rem .2rem; gap: 1rem; }
.brochure-catalog-status p { display: flex; align-items: center; margin: 0; gap: .55rem; }
.brochure-catalog-status p > span:last-child { color: var(--dafm-muted); font-size: .78rem; }
.brochure-catalog-status__dot { width: .65rem; height: .65rem; border-radius: 50%; background: #68c45b; box-shadow: 0 0 0 5px rgba(104,196,91,.16); }
.brochure-catalog-status a { color: var(--dafm-pink); font-weight: 800; }
.brochure-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.brochure-directory__card { display: grid; grid-template-columns: 180px minmax(0, 1fr); overflow: hidden; min-height: 355px; border: 1px solid var(--dafm-border); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(6,43,79,.08); }
.brochure-directory__card[hidden] { display: none; }
.brochure-directory__media { position: relative; display: grid; min-height: 100%; padding: 1rem; background: linear-gradient(145deg, #edf5f8, #e7efe4); place-items: center; }
.brochure-directory__media img { width: 100%; height: 100%; max-height: 320px; object-fit: contain; filter: drop-shadow(0 12px 14px rgba(6,43,79,.18)); transition: transform .2s ease; }
.brochure-directory__media:hover img { transform: translateY(-3px); }
.brochure-directory__media .brochure-cover { width: 100%; min-height: 250px; height: 100%; }
.brochure-availability { position: absolute; top: .8rem; left: .8rem; padding: .35rem .55rem; border-radius: 999px; color: #fff; background: #7c3149; font-size: .65rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 6px 18px rgba(6,43,79,.16); }
.brochure-availability.is-available { background: #277c20; }
.brochure-directory__content { display: flex; min-width: 0; padding: 1.35rem; flex-direction: column; }
.brochure-directory__content .eyebrow { margin-bottom: .4rem; }
.brochure-directory__content > p:not(.eyebrow) { color: var(--dafm-muted); }
.brochure-directory__card h2 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.brochure-directory__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: auto; padding: .85rem 0; border-top: 1px solid var(--dafm-border); gap: .8rem; }
.brochure-directory__meta--ferienservice { grid-template-columns: 1fr; }
.brochure-directory__meta span { display: grid; }
.brochure-directory__meta strong { color: var(--dafm-green-dark); font-size: .9rem; }
.brochure-directory__meta small { color: var(--dafm-muted); font-size: .66rem; }
.brochure-directory__actions { display: flex; align-items: center; gap: .8rem; }
.brochure-directory__actions > span { color: var(--dafm-muted); font-size: .7rem; }
.brochure-empty { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px dashed #aebfcc; border-radius: 18px; background: #f7fafc; text-align: center; }
.brochure-empty h2 { margin-top: 0; }

.newsletter-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.newsletter-choice { padding: clamp(1.25rem, 4vw, 2.2rem); border: 1px solid var(--dafm-border); border-top: 6px solid var(--dafm-edition-alpsee); border-radius: 16px; background: #fff; box-shadow: var(--dafm-shadow); }
.newsletter-choice--rohrach { border-top-color: var(--dafm-edition-rohrach); }
.newsletter-choice.is-selected, .newsletter-choice:target { outline: 3px solid rgba(47,125,29,.25); outline-offset: 4px; }
.newsletter-choice:target { scroll-margin-top: 7rem; }
.newsletter-choice img { margin-bottom: 1.2rem; }
.newsletter-choice button:disabled { opacity: .62; cursor: not-allowed; transform: none; }
.consent-note { margin-top: 1.5rem; padding: 1.2rem; border-radius: 12px; color: #315068; background: #f2f7f9; }
.consent-note p { margin: .3rem 0 0; }

.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.service-grid article { position: relative; min-height: 310px; padding: clamp(1.4rem, 4vw, 2.3rem); border: 1px solid var(--dafm-border); border-radius: 18px; background: linear-gradient(145deg, #fff, #f7f9fa); box-shadow: 0 8px 26px rgba(6,43,79,.08); }
.service-grid article > span { position: absolute; top: 1rem; right: 1.2rem; color: var(--dafm-border); font-family: var(--dafm-heading); font-size: 3rem; font-weight: 900; }
.service-grid article p:not(.eyebrow) { max-width: 520px; color: var(--dafm-muted); }
.service-grid article .button { margin-top: 1rem; }

.dafm-ad-approval { width: min(920px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(3rem, 7vw, 6rem) 0; }
.dafm-ad-approval > h1 { max-width: 780px; }
.dafm-ad-approval__preview { display: grid; grid-template-columns: minmax(260px, 1fr) 1fr; gap: 1.5rem; margin: 2rem 0; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 18px; background: #fff; box-shadow: 0 12px 34px rgba(6,43,79,.08); }
.dafm-ad-approval__preview img { width: 100%; height: auto; max-height: 430px; object-fit: contain; border-radius: 12px; background: #eef2f5; }
.dafm-ad-approval__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 1.5rem 0; border: 1px solid var(--dafm-border); border-radius: 14px; background: var(--dafm-border); }
.dafm-ad-approval__facts div { padding: 1rem; background: #fff; }
.dafm-ad-approval__facts dt { color: var(--dafm-muted); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.dafm-ad-approval__facts dd { margin: .35rem 0 0; color: var(--dafm-navy); font-weight: 800; }
.dafm-ad-approval__form { display: grid; gap: 1rem; padding: 1.25rem; border-radius: 14px; background: var(--dafm-sand); }
.dafm-ad-approval__form label { display: grid; gap: .5rem; font-weight: 700; }
.dafm-ad-approval__form textarea { width: 100%; }
.dafm-ad-approval__form > div { display: flex; gap: .75rem; flex-wrap: wrap; }

@media (max-width: 980px) {
  .portal-grid, .region-card-grid, .location-place-card-grid, .location-story-grid, .location-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .regions-hero__search .event-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .regions-hero__search .event-search__submit { grid-column: 1 / -1; width: 100%; }
  .featured-place-rail { grid-template-columns: repeat(8,minmax(170px,1fr)); padding-bottom: .55rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .featured-place-card { scroll-snap-align: start; }
  .location-microsite-intro { grid-template-columns: 1fr; }
  .edition-directory__card, .edition-detail { grid-template-columns: 1fr; }
  .brochure-provider { grid-template-columns: 1fr; }
  .brochure-provider__logo img { max-width: 320px; }
  .brochure-external { grid-template-columns: 1fr; }
  .brochure-filter { grid-template-columns: 1fr 1fr; }
  .brochure-filter .button { grid-column: 1 / -1; }
  .brochure-directory { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .portal-grid, .region-card-grid, .newsletter-choice-grid, .service-grid, .location-directory-grid, .location-place-card-grid, .location-story-grid, .location-topic-grid { grid-template-columns: 1fr; }
  .regions-hero .subpage-hero__content { min-height: 0; padding-bottom: 2rem; }
  .regions-hero__search .event-search { grid-template-columns: 1fr; }
  .regions-hero__search .event-search__submit { grid-column: auto; }
  .featured-place-rail { grid-template-columns: repeat(8,minmax(210px,72vw)); margin-right: -.65rem; padding-right: .65rem; }
  .featured-place-card__body { min-height: 138px; }
  .regions-map .nearby-grid { min-height: 0; }
  .location-microsite-hero { min-height: 420px; }
  .subpage-hero__content { min-height: 350px; }
  .subpage-hero h1 { font-size: clamp(2.1rem, 10vw, 3.25rem); }
  .breadcrumb { flex-wrap: wrap; margin-bottom: 1.2rem; }
  .brochure-filter { grid-template-columns: 1fr; }
  .brochure-catalog-status { align-items: flex-start; flex-direction: column; }
  .brochure-catalog-status p { align-items: flex-start; flex-wrap: wrap; }
  .brochure-directory__card { grid-template-columns: 118px minmax(0, 1fr); min-height: 330px; }
  .brochure-directory__media { padding: .65rem; }
  .brochure-directory__media img { max-height: 250px; }
  .brochure-directory__content { padding: 1rem; }
  .brochure-directory__meta { grid-template-columns: 1fr; }
  .brochure-directory__actions { align-items: flex-start; flex-direction: column; }
  .dafm-ad-approval__preview, .dafm-ad-approval__facts { grid-template-columns: 1fr; }
}

/* Complete event detail contract: public facts, organizer, directions, gallery and Ads-gated booking. */
.event-detail-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding-block: .8rem; gap: 1rem; }
.event-detail-nav .breadcrumb { min-width: 0; align-items: center; margin: 0; padding: 0; color: var(--dafm-muted); }
.event-detail-nav .breadcrumb a { color: var(--dafm-muted); font-weight: 750; }
.event-sibling-nav { display: flex; min-width: 0; justify-content: flex-end; gap: .55rem; }
.event-sibling-nav__link { display: flex; min-width: 11rem; max-width: 15rem; min-height: 3.3rem; align-items: center; justify-content: space-between; overflow: hidden; padding: .55rem .75rem; border: 1px solid var(--dafm-border); border-radius: .75rem; color: var(--dafm-navy); background: rgba(255,255,255,.88); box-shadow: 0 .25rem .8rem rgba(6,43,79,.05); font-size: .78rem; font-weight: 800; line-height: 1.15; text-decoration: none; gap: .65rem; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.event-sibling-nav__link > span:not([aria-hidden]) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.event-sibling-nav__link:hover, .event-sibling-nav__link:focus-visible { border-color: var(--dafm-magenta); color: var(--dafm-navy); box-shadow: 0 .45rem 1rem rgba(6,43,79,.1); transform: translateY(-1px); }
.event-sibling-nav__link small { display: block; margin-bottom: .2rem; color: var(--dafm-magenta-dark); font-size: .63rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.event-sibling-nav__link--next { text-align: right; }
.event-slogan { color: #315068; font-size: clamp(1rem, 1.7vw, 1.18rem); line-height: 1.55; }
.event-booking-cta { margin-top: .35rem; }
.event-booking-note { display: flex; align-items: center; margin: .55rem 0 0; color: var(--dafm-green-dark); font-size: .72rem; font-weight: 750; gap: .4rem; }
.event-booking-note::before { width: .55rem; height: .55rem; border-radius: 50%; background: #68c45b; box-shadow: 0 0 0 4px rgba(104,196,91,.16); content: ""; }
.event-content-grid .prose > p { max-width: 760px; }
.event-additional-info { margin-top: 2rem; padding: 1rem 1.15rem; border: 1px solid var(--dafm-border); border-left: 3px solid var(--dafm-green); border-radius: .7rem; background: #f7fbf5; }
.event-additional-info h2 { margin: 0 0 .6rem; font-family: var(--dafm-heading); font-size: 1.35rem; }
.event-additional-info ul { margin: 0; padding-left: 1.15rem; color: var(--dafm-muted); font-size: .92rem; }
.event-sidebar .info-card h3 { margin: 1.15rem 0 .35rem; font-family: var(--dafm-body); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.event-sidebar .info-card p:last-child { margin-bottom: 0; }
.event-origin { border-top: 4px solid var(--dafm-green); background: #f7fbf5; }
.event-origin .eyebrow { margin-bottom: .45rem; }
.event-origin__facts { display: grid; margin: 0 0 1rem; gap: .85rem; }
.event-origin__facts div { padding-bottom: .75rem; border-bottom: 1px solid rgba(6,43,79,.1); }
.event-origin__facts dt { color: var(--dafm-muted); font-size: .7rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.event-origin__facts dd { margin: .2rem 0 0; color: var(--dafm-navy); font-weight: 750; }
.event-detail-main .event-origin { border-top: 1px solid var(--dafm-border); background: #f7f9f9; }
.event-detail-main .event-origin h2 { margin-bottom: .8rem; }
.event-detail-main .event-origin__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.event-detail-main .event-origin__facts div { min-width: 0; overflow-wrap: normal; }
.event-sidebar .info-card { min-width: 0; overflow-wrap: normal; }
.event-sidebar .info-card h2 { margin-top: 0; }
@media (max-width: 650px) {
  .event-detail-main .event-origin__facts { grid-template-columns: 1fr; }
}
.event-related-content { margin-block: clamp(2.2rem, 5vw, 4rem); padding-block: clamp(1.6rem, 3vw, 2.5rem); border-block: 1px solid var(--dafm-border); }
.event-related-content__heading { max-width: 760px; margin-bottom: 1.25rem; }
.event-related-content__heading h2 { margin: .25rem 0 .6rem; }
.event-related-content__heading p:last-child { margin-bottom: 0; color: var(--dafm-muted); }
.event-related-content__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.event-related-content__card { min-height: 190px; padding: 1.15rem; border: 1px solid var(--dafm-border); border-radius: var(--dafm-radius); background: #fff; box-shadow: 0 8px 24px rgba(6,43,79,.06); }
.event-related-content__card--partner { border-top: 4px solid var(--dafm-green); background: #f7fbf5; }
.event-related-content__card .eyebrow { margin-bottom: .5rem; }
.event-related-content__card h3 { margin: 0 0 .55rem; font-size: 1.18rem; }
.event-related-content__card h3 a { color: var(--dafm-navy); text-decoration: none; }
.event-related-content__card h3 a:hover,.event-related-content__card h3 a:focus-visible { color: var(--dafm-green-dark); text-decoration: underline; }
.event-related-content__card p:not(.eyebrow) { color: var(--dafm-muted); font-size: .92rem; }
.event-related-content__card .text-link { display: inline-block; margin-top: .35rem; }
.event-related-content__card { min-width: 0; overflow-wrap: normal; word-break: normal; }
/* Keep breakpoint overrides after the component defaults, otherwise mobile
   cards silently inherit the three-column desktop layout. */
@media (max-width: 900px) {
  .event-related-content__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .event-related-content__grid { grid-template-columns: minmax(0, 1fr); }
}
.event-platform-notice-wrap { padding-bottom: clamp(1.5rem, 4vw, 3rem); }
.event-platform-notice { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); margin: clamp(.9rem, 2.5vw, 1.5rem) 0; padding: clamp(.8rem, 2vw, 1rem); border: 1px solid #dce5e8; border-left: 2px solid #7c9f75; border-radius: 9px; background: #fafcfb; box-shadow: none; gap: .7rem; }
.event-platform-notice__icon { display: grid; width: 1.55rem; height: 1.55rem; margin-top: .05rem; border-radius: 50%; color: #315068; background: #e8eef1; font-family: var(--dafm-heading); font-size: .82rem; font-weight: 800; place-items: center; }
.event-platform-notice .eyebrow { margin: 0 0 .15rem; color: #607487; font-size: .62rem; letter-spacing: .12em; }
.event-platform-notice h2 { margin: 0 0 .35rem; font-size: clamp(1.02rem, 1.5vw, 1.18rem); line-height: 1.25; }
.event-platform-notice p { max-width: 1080px; margin: .32rem 0; color: #52697a; font-size: .8rem; line-height: 1.5; }
.event-platform-notice .text-link { display: inline-flex; margin-top: .25rem; font-size: .8rem; }
.event-gallery { margin-top: clamp(2rem, 5vw, 4rem); padding-top: 2rem; border-top: 1px solid var(--dafm-border); }
.event-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.event-gallery__item { position: relative; overflow: hidden; margin: 0; border-radius: 12px; background: #eef3f5; }
.event-gallery__item img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
.event-gallery__item figcaption { padding: .55rem .75rem; color: var(--dafm-muted); font-size: .72rem; }
.event-hero__media.event-hero__media--gallery { height: auto; min-height: 0; overflow: visible; border-radius: 0; box-shadow: none; }
.event-image-carousel { position: relative; }
.event-image-carousel__stage { position: relative; overflow: hidden; border-radius: var(--dafm-radius); background: #eef3f5; box-shadow: var(--dafm-shadow); }
.event-image-carousel__slide { position: relative; min-height: 180px; margin: 0; overflow: hidden; background: #eef3f5; }
.event-hero__media .event-image-carousel__slide img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center; }
.event-image-carousel__slide .dafm-image-credit { z-index: 5; }
.event-image-carousel.is-enhanced .event-image-carousel__stage { height: clamp(300px, 28vw, 440px); }
.event-image-carousel.is-enhanced .event-image-carousel__slide { display: none; width: 100%; height: 100%; min-height: 0; }
.event-image-carousel.is-enhanced .event-image-carousel__slide.is-active { display: block; }
.event-hero__media .event-image-carousel.is-enhanced .event-image-carousel__slide img { width: 100%; height: 100%; object-fit: contain; }
.event-image-carousel > .event-card__category { position: absolute; z-index: 7; top: .75rem; bottom: auto; left: .75rem; max-width: calc(100% - 1.5rem); box-sizing: border-box; }
.event-hero__media--gallery:has(>.event-image-carousel > .event-card__category) .event-image-carousel__slide:first-child .event-image-label { top: 3.2rem; max-width: calc(100% - 1.5rem); box-sizing: border-box; }
.event-image-carousel__controls { position: absolute; z-index: 6; top: 50%; right: .7rem; left: .7rem; display: flex; align-items: center; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.event-image-carousel__arrow,.event-image-carousel__pause { display: inline-grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid rgba(6,43,79,.18); border-radius: 50%; color: var(--dafm-navy); background: rgba(255,255,255,.92); box-shadow: 0 2px 10px rgba(6,43,79,.16); font: inherit; font-size: 1.35rem; font-weight: 800; cursor: pointer; pointer-events: auto; }
.event-image-carousel__pause { position: absolute; left: 50%; width: 2.35rem; height: 2.35rem; transform: translateX(-50%); font-size: 1rem; }
.event-image-carousel__arrow:hover,.event-image-carousel__pause:hover,.event-image-carousel__arrow:focus-visible,.event-image-carousel__pause:focus-visible { border-color: var(--dafm-magenta); color: var(--dafm-magenta-dark); }
.event-image-carousel__thumbnails { display: flex; overflow-x: auto; gap: .65rem; margin-top: .65rem; padding: .15rem .05rem .4rem; scrollbar-width: thin; }
.event-image-carousel__thumbnail { display: grid; width: clamp(88px, 16vw, 132px); height: clamp(58px, 8vw, 82px); flex: 0 0 auto; overflow: hidden; padding: .2rem; border: 2px solid transparent; border-radius: .5rem; background: #fff; box-shadow: 0 2px 8px rgba(6,43,79,.1); cursor: pointer; }
.event-image-carousel__thumbnail[aria-current="true"] { border-color: var(--dafm-green); }
.event-image-carousel__thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.event-image-carousel__thumbnail:focus-visible { outline: 3px solid var(--dafm-magenta); outline-offset: 2px; }
[data-event-gallery-controls][hidden],[data-event-gallery-thumbnails][hidden] { display: none !important; }
.event-detail-back { display: inline-flex; margin-top: 1.5rem; }
.event-upcoming-section { border-block: 1px solid var(--dafm-border); background: linear-gradient(135deg, #f5f1eb, #edf5f2); }
.event-upcoming-heading { align-items: end; margin-bottom: 1.5rem; }
.event-upcoming-heading h2 { margin: .25rem 0 0; }
.event-upcoming-heading > div > p:last-child { margin: .55rem 0 0; color: var(--dafm-muted); }
.event-carousel-controls { display: flex; justify-content: flex-end; gap: .55rem; margin: -0.75rem 0 1rem; }
.event-carousel-control { display: inline-grid; width: 2.8rem; height: 2.8rem; place-items: center; border: 1px solid var(--dafm-border); border-radius: 50%; color: var(--dafm-navy); background: #fff; font-size: 1.25rem; font-weight: 800; cursor: pointer; }
.event-carousel-control:hover,.event-carousel-control:focus-visible { border-color: var(--dafm-magenta); color: var(--dafm-magenta); }
.event-carousel-control:disabled { opacity: .4; cursor: not-allowed; }
.event-upcoming-grid { display: grid; grid-auto-columns: minmax(280px, 1fr); grid-auto-flow: column; gap: 1rem; overflow-x: auto; padding: .15rem .1rem 1rem; scroll-snap-type: x mandatory; scroll-padding-inline: .1rem; scrollbar-width: thin; }
.event-upcoming-card { display: grid; min-width: 0; grid-template-columns: 5rem minmax(0, 1fr); grid-template-rows: 10rem minmax(0, 1fr); overflow: hidden; border: 1px solid var(--dafm-border); border-radius: 1rem; background: #fff; box-shadow: 0 .5rem 1.6rem rgba(6,43,79,.07); scroll-snap-align: start; }
.event-upcoming-card__image { position: relative; display: block; grid-column: 1 / -1; overflow: hidden; background: #e9eef2; }
.event-upcoming-card__image img,.event-upcoming-card__image .event-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.event-upcoming-card__image .event-card__placeholder { display: block; width: 100%; height: 100%; }
.event-upcoming-card__date { display: flex; min-height: 11.5rem; align-items: center; justify-content: center; padding: 1rem .55rem; color: #fff; background: linear-gradient(155deg, var(--dafm-navy), var(--dafm-blue)); flex-direction: column; text-align: center; }
.event-upcoming-card:nth-child(2) .event-upcoming-card__date { background: linear-gradient(155deg, #164d39, var(--dafm-green)); }
.event-upcoming-card:nth-child(3) .event-upcoming-card__date { background: linear-gradient(155deg, #6b2550, var(--dafm-magenta)); }
.event-upcoming-card__date span { font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.event-upcoming-card__date strong { font-family: var(--dafm-heading); font-size: 2.35rem; line-height: 1; }
.event-upcoming-card__date small { margin-top: .25rem; font-weight: 800; opacity: .84; }
.event-upcoming-card__content { display: flex; min-width: 0; padding: 1rem; flex-direction: column; }
.event-upcoming-card__content .eyebrow { margin: 0 0 .35rem; }
.event-upcoming-card__content h3 { margin: 0; font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.13; hyphens: manual; overflow-wrap: break-word; }
.event-upcoming-card__content h3 a { color: var(--dafm-navy); text-decoration: none; }
.event-upcoming-card__content p:not(.eyebrow) { margin: .55rem 0 .9rem; color: var(--dafm-muted); font-size: .78rem; }
.event-upcoming-card__content .text-link { margin-top: auto; font-size: .8rem; }

@media (max-width: 980px) {
  .event-detail-nav { grid-template-columns: 1fr; }
  .event-sibling-nav { justify-content: stretch; }
  .event-sibling-nav__link { width: 100%; max-width: none; flex: 1; }
  .event-upcoming-grid { grid-auto-columns: minmax(270px, 78%); }
  .event-upcoming-card__date { min-height: 8.5rem; }
}

@media (max-width: 680px) {
  .event-detail { background: linear-gradient(#f8f7f4 0 430px, #fff 430px); }
  .event-detail-nav { gap: .3rem; }
  .event-detail-nav .breadcrumb { margin-bottom: .55rem; }
  .event-sibling-nav__link { min-width: 0; padding: .55rem; }
  .event-sibling-nav__link small { margin: 0; }
  .event-sibling-nav__link > span:not([aria-hidden]) { white-space: nowrap; }
  .event-hero__media { min-height: 0; }
  .event-gallery__grid { grid-template-columns: 1fr; }
  .event-platform-notice { grid-template-columns: 1.6rem minmax(0, 1fr); gap: .55rem; }
  .event-platform-notice .text-link { display: inline-block; max-width: 100%; white-space: normal; }
  .event-detail-source .text-link { display: inline-block; max-width: 100%; white-space: normal; }
  .event-upcoming-grid { grid-auto-columns: minmax(250px, 88%); }
  .event-upcoming-card { grid-template-columns: 4.25rem minmax(0, 1fr); }
  .event-upcoming-card__date { min-height: 8.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .event-upcoming-grid { scroll-behavior: auto; }
}

/* Automatically synchronized Werbe-Blank kiosk shelf. */
.kiosk-catalog { overflow: hidden; border-top: 1px solid var(--dafm-border); background: radial-gradient(circle at 95% 0%, rgba(0,89,166,.11), transparent 32rem), linear-gradient(180deg, #f7f3ed 0%, #fff 54%, #eef4f8 100%); }
.kiosk-catalog__heading { align-items: end; margin-bottom: 2rem; }
.kiosk-catalog__heading > p { max-width: 42rem; color: var(--dafm-muted); }
.kiosk-shelf { display: grid; position: relative; width: min(100%,1180px); grid-template-columns: repeat(auto-fit, minmax(13rem, 16rem)); align-items: stretch; justify-content: center; margin-inline: auto; padding: 0 0 2.75rem; gap: 1.15rem; }
.kiosk-shelf::after { position: absolute; right: -1.5rem; bottom: 1.35rem; left: -1.5rem; height: 1.2rem; border-radius: .3rem; background: linear-gradient(180deg, #6c4a31 0%, #3e2b20 48%, #1d1714 100%); box-shadow: 0 1rem 1.8rem rgba(21,31,46,.24); content: ""; }
.kiosk-issue { display: flex; position: relative; z-index: 1; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid var(--dafm-border); border-radius: 1rem 1rem .35rem .35rem; background: #fff; box-shadow: 0 .8rem 1.7rem rgba(4,46,83,.09); transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.kiosk-issue:hover, .kiosk-issue.is-selected { transform: translateY(-.45rem); border-color: var(--dafm-magenta); box-shadow: 0 1.1rem 2.4rem rgba(4,46,83,.16); }
.kiosk-issue__cover { display: grid; position: relative; min-height: 17rem; overflow: hidden; aspect-ratio: .72; padding: 1.2rem; place-items: center; background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(231,239,247,.92)), var(--dafm-navy); }
.kiosk-issue__cover img { width: 100%; height: 100%; max-height: 22rem; object-position: center; object-fit: contain; filter: drop-shadow(0 .65rem .7rem rgba(4,46,83,.15)); }
.kiosk-issue__cover img[src*="documents.yumpu"] { padding: 0; object-fit: cover; }
.kiosk-issue__spine { position: absolute; top: 0; bottom: 0; left: 0; width: .45rem; background: linear-gradient(90deg, rgba(0,0,0,.28), rgba(255,255,255,.12)); }
.kiosk-issue__number { position: absolute; right: .75rem; bottom: .75rem; padding: .38rem .55rem; border-radius: .35rem; color: #fff; background: var(--dafm-navy); font-size: .76rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.kiosk-issue__body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem; }
.kiosk-issue__edition { margin: 0 0 .5rem; color: var(--dafm-magenta); font-size: .75rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.kiosk-issue__body h3 { margin: 0 0 1rem; font-size: 1.12rem; line-height: 1.18; }
.kiosk-issue__actions { display: flex; flex-wrap: wrap; align-items: center; margin-top: auto; gap: .7rem; }
.kiosk-issue__actions a { color: var(--dafm-navy); font-size: .84rem; font-weight: 800; }
.kiosk-reader { margin-top: 1.5rem; scroll-margin-top: 7rem; }
.kiosk-reader__bar { display: flex; align-items: end; justify-content: space-between; padding: 1.35rem 1.5rem; border-radius: 1rem 1rem 0 0; color: #fff; background: var(--dafm-navy); gap: 1.5rem; }
.kiosk-reader__bar .eyebrow { color: #9fe08e; }
.kiosk-reader__bar h3 { max-width: 56rem; margin: .25rem 0 0; color: #fff; }
.kiosk-reader__privacy { padding: 0; border: 0; color: #fff; background: transparent; font: inherit; font-size: .82rem; font-weight: 800; text-decoration: underline; text-underline-offset: .2rem; cursor: pointer; }
.kiosk-reader__stage { display: grid; position: relative; min-height: 0; overflow: hidden; border: 1px solid #173f65; border-top: 0; border-radius: 0 0 1rem 1rem; place-items: stretch; background: radial-gradient(circle at 18% 14%, rgba(255,255,255,.12), transparent 20rem), linear-gradient(135deg, #062f53, #0b563a); }
.kiosk-reader__consent { max-width: 44rem; align-self: center; justify-self: center; padding: 2.25rem; color: #fff; text-align: center; }
.kiosk-reader__consent h3, .kiosk-reader__consent p { color: #fff; }
.kiosk-reader__consent > a { display: block; width: fit-content; margin: 1rem auto 0; color: #fff; font-weight: 800; }
.kiosk-reader__icon { display: grid; width: 4rem; height: 4rem; margin: 0 auto 1.25rem; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; place-items: center; color: #fff; background: rgba(255,255,255,.1); font-size: 2rem; }
.kiosk-reader iframe { display: block; width: 100%; height: clamp(32rem, 72vh, 52rem); border: 0; background: #253139; }
.kiosk-reader__status { margin: .65rem 0 0; color: var(--dafm-muted); font-size: .82rem; }

@media (max-width: 980px) {
  .kiosk-catalog__heading, .kiosk-reader__bar { display: block; }
  .kiosk-shelf { display: flex; align-items: stretch; justify-content: flex-start; overflow-x: auto; padding: .55rem 1rem 2.75rem 0; scroll-padding-inline: .1rem; scroll-snap-type: x mandatory; }
  .kiosk-issue { flex: 0 0 min(22rem,82vw); scroll-snap-align: start; }
  .kiosk-reader__privacy { margin-top: 1rem; }
  .kiosk-reader__stage { min-height: 0; }
  .kiosk-reader iframe { height: clamp(24rem, 68vh, 38rem); }
  .kiosk-reader__consent { padding: 1.5rem; }
}

/* Central reach brand, digital print extensions and issue 50. */
.section--tint { border-block: 1px solid var(--dafm-border); background: linear-gradient(135deg, #f4f0ea, #edf5f6); }
.experience-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.experience-card { display: flex; min-height: 245px; padding: 1.35rem; border: 1px solid var(--dafm-border); border-top: 5px solid var(--experience-accent, var(--dafm-green)); border-radius: 16px; color: var(--dafm-navy); background: linear-gradient(145deg, #fff, #f5f8f8); box-shadow: 0 8px 26px rgba(6,43,79,.07); flex-direction: column; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.experience-card:hover { color: var(--dafm-navy); box-shadow: var(--dafm-shadow); transform: translateY(-4px); }
.experience-card > span { color: var(--experience-accent, var(--dafm-green)); font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.experience-card h3 { margin: auto 0 .55rem; font-size: 1.55rem; }
.experience-card p { color: var(--dafm-muted); font-size: .86rem; }
.experience-card strong { color: var(--experience-accent, var(--dafm-green)); font-size: .78rem; }
.experience-card--radfahren { --experience-accent: #b05f18; }.experience-card--familie { --experience-accent: #a53678; }.experience-card--genuss { --experience-accent: #a16c13; }.experience-card--wasser { --experience-accent: #0e76a8; }.experience-card--winter { --experience-accent: #547b9d; }.experience-card--kultur { --experience-accent: #694e91; }

.home-jubilee, .anniversary-package { overflow: hidden; color: #fff; background: radial-gradient(circle at 8% 50%, rgba(196,0,82,.4), transparent 26rem), linear-gradient(120deg, #062b4f, #0e5f99); }
.home-jubilee__grid, .anniversary-package__grid { display: grid; grid-template-columns: minmax(250px,.68fr) minmax(0,1.32fr); align-items: center; padding-block: clamp(3rem, 6vw, 5.5rem); gap: clamp(2rem, 6vw, 5rem); }
.home-jubilee h2, .home-jubilee p, .anniversary-package h2, .anniversary-package p { color: #fff; }
.home-jubilee__visual { position: relative; min-height: 310px; perspective: 1000px; }
.home-jubilee__number { position: absolute; z-index: 0; top: 50%; left: 0; color: rgba(255,255,255,.12); font-family: var(--dafm-heading); font-size: clamp(10rem, 20vw, 16rem); font-weight: 900; line-height: .72; transform: translateY(-50%); }
.home-jubilee__covers { position: absolute; inset: .8rem 0 0 3.5rem; }
.home-jubilee__covers img { position: absolute; width: 170px; aspect-ratio: .707; object-fit: cover; border: 5px solid rgba(255,255,255,.88); border-radius: 5px; box-shadow: 0 20px 45px rgba(0,0,0,.3); }
.home-jubilee__covers img:nth-child(1) { z-index: 3; left: 0; transform: rotate(-8deg) translateY(12px); }
.home-jubilee__covers img:nth-child(2) { z-index: 2; left: 116px; transform: rotate(6deg); }
.home-jubilee__topics { display: flex; flex-wrap: wrap; margin: 1.2rem 0 1.5rem; gap: .5rem; }
.home-jubilee__topics span { padding: .32rem .62rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: rgba(255,255,255,.9); background: rgba(255,255,255,.08); font-size: .68rem; font-weight: 800; }
.home-jubilee__actions, .issue-actions > div:last-child, .partner-cta > div:last-child { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (min-width: 981px) { .home-jubilee__covers { left: 11rem; } }
.anniversary-package__grid { grid-template-columns: minmax(0,1fr) auto; }
.anniversary-package__grid > div { max-width: 760px; }
.anniversary-package .eyebrow, .home-jubilee .eyebrow { color: #a7e39a; }

.partner-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.partner-benefit-grid article { position: relative; min-height: 250px; padding: 1.5rem; border: 1px solid var(--dafm-border); border-radius: 16px; background: linear-gradient(145deg,#fff,#f3f7f5); }
.partner-benefit-grid article > span { color: var(--dafm-green); font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.partner-benefit-grid h2 { margin-top: 3.5rem; font-size: 1.6rem; }
.partner-benefit-grid p { color: var(--dafm-muted); }
.content-partner-grid, .official-source-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.content-partner-card { display: grid; grid-template-rows: auto auto 1fr auto; gap: .5rem; min-width: 0; min-height: 220px; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(6,43,79,.06); }
.content-partner-card__top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .45rem; }
.content-partner-card__top span { color: var(--dafm-green); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.content-partner-card__top small { white-space: nowrap; padding: .22rem .48rem; border-radius: 999px; color: var(--dafm-navy); background: var(--dafm-soft-blue); font-size: .72rem; font-weight: 800; }
.content-partner-card h3 { align-self: start; overflow-wrap: normal; word-break: normal; margin: .45rem 0 0; font-size: 1.28rem; line-height: 1.2; }
.content-partner-card p { margin: 0; color: var(--dafm-muted); font-size: .94rem; }
.content-partner-card a { align-self: end; color: var(--dafm-magenta); font-weight: 900; }
.official-source-card { display: grid; grid-template-rows: auto auto auto 1fr auto; gap: .42rem; min-width: 0; min-height: 208px; padding: .9rem; border: 1px solid var(--dafm-border); border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(6,43,79,.05); }
.official-source-card__top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .35rem; }
.official-source-card__top span { color: var(--dafm-green); font-size: .62rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.official-source-card__top small { white-space: nowrap; padding: .18rem .42rem; border-radius: 999px; color: var(--dafm-navy); background: var(--dafm-soft-blue); font-size: .68rem; font-weight: 800; }
.official-source-card h3 { overflow-wrap: normal; word-break: normal; margin: .25rem 0 0; font-size: 1.12rem; line-height: 1.18; }
.official-source-card p { margin: 0; color: var(--dafm-muted); font-size: .86rem; line-height: 1.4; }
.official-source-card .official-source-card__place { color: var(--dafm-navy); font-size: .78rem; font-weight: 800; }
.official-source-card__links { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .4rem .7rem; }
.official-source-card__links a { color: var(--dafm-magenta); font-size: .82rem; font-weight: 900; }
.partner-ad-separation { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.25rem; padding: 1.6rem; border: 1px solid color-mix(in srgb,var(--dafm-magenta) 30%,var(--dafm-border)); border-radius: 18px; background: linear-gradient(125deg,#fff,#fff2f7); }
.partner-ad-separation h2 { margin: .2rem 0; font-size: 1.8rem; }

.home-giveaway { position: relative; overflow: hidden; padding: clamp(3rem,7vw,6rem) 0; color: #fff; background: linear-gradient(125deg,#5b163f 0%,var(--dafm-magenta) 55%,#e58b00 135%); }
.home-giveaway::after { position: absolute; right: -8vw; bottom: -20vw; width: 40vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; content: ""; }
.home-giveaway__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); align-items: center; gap: clamp(2rem,6vw,6rem); }
.home-giveaway__badge { display: grid; width: min(100%,360px); aspect-ratio: 1; place-content: center; place-items: center; padding: 1rem; overflow: hidden; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; text-align: center; background: rgba(5,34,62,.16); box-shadow: inset 0 0 0 18px rgba(255,255,255,.05); }
.home-giveaway__badge span { font-size: .8rem; font-weight: 900; letter-spacing: .25em; }
.home-giveaway__badge strong { display: block; width: max-content; max-width: 100%; justify-self: center; font-family: var(--dafm-heading); font-size: clamp(1.5rem,2.15vw,2.2rem); line-height: 1; letter-spacing: -.04em; text-align: center; -webkit-hyphens: none; hyphens: none; overflow-wrap: normal; white-space: nowrap; word-break: normal; }
.home-giveaway h2 { color: #fff; font-size: clamp(2.4rem,5vw,4.8rem); }
.home-giveaway .eyebrow { color: #fff3a6; }
.home-giveaway__meta { display: grid; gap: .45rem; margin: 1.25rem 0; }
.home-giveaway__meta span { color: rgba(255,255,255,.9); }
.home-giveaway .button { color: #fff; border-color: #fff; background: transparent; }

.giveaway-hero { padding: clamp(3rem,7vw,6rem) 0; background: linear-gradient(135deg,#fff8e8,#fff,#fbe6ef); }
.giveaway-hero .breadcrumb { color: #3f5367; }
.giveaway-hero .breadcrumb a { color: var(--dafm-navy); font-weight: 800; text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .2em; }
.giveaway-hero .breadcrumb a:hover { color: var(--dafm-magenta-dark); }
.giveaway-hero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); align-items: center; gap: clamp(2rem,5vw,5rem); }
.giveaway-hero h1 { max-width: 12ch; font-size: clamp(3.2rem,7vw,6.5rem); }
.giveaway-hero__lead { max-width: 62ch; font-size: 1.15rem; }
.giveaway-hero__facts { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; }
.giveaway-hero__facts span { display: grid; min-width: 190px; gap: .15rem; padding: .8rem 1rem; border-left: 4px solid var(--dafm-magenta); border-radius: 8px; background: #fff; box-shadow: 0 10px 26px rgba(6,43,79,.08); }
.giveaway-hero__media { position: relative; overflow: hidden; margin: 0; border-radius: 24px; box-shadow: 0 24px 60px rgba(6,43,79,.2); }
.giveaway-hero__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.giveaway-hero__media figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: .65rem .8rem; border-radius: 10px; color: #fff; background: rgba(6,43,79,.78); font-weight: 800; }
.giveaway-detail-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 1rem; }
.giveaway-prize,.giveaway-steps { padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--dafm-border); border-radius: 22px; background: #fff; box-shadow: 0 12px 30px rgba(6,43,79,.07); }
.giveaway-prize { color: #fff; border-color: transparent; background: linear-gradient(135deg,var(--dafm-navy),#0d6a9d); }
.giveaway-prize h2,.giveaway-prize .eyebrow { color: #fff; }
.giveaway-steps ol { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.giveaway-steps li { display: grid; grid-template-columns: 44px 1fr; gap: .8rem; }
.giveaway-steps li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #fff; background: var(--dafm-magenta); font-weight: 900; }
.giveaway-steps p { margin: .2rem 0 0; color: var(--dafm-muted); }
.giveaway-winners { border-block: 1px solid var(--dafm-border); background: linear-gradient(135deg,#f5f8fa,#fff8f1); }
.giveaway-winners__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.75rem; }
.giveaway-winners__heading > div { max-width: 64ch; }
.giveaway-winners__heading h2 { margin: .25rem 0 .6rem; }
.giveaway-winners__heading p:last-child { margin: 0; color: #3f5367; }
.giveaway-winners__heading > .button { flex: 0 0 auto; }
.giveaway-winners__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.giveaway-winner-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: clamp(1.35rem,3vw,2rem); border: 1px solid rgba(6,43,79,.16); border-top: 5px solid var(--dafm-magenta); border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(6,43,79,.07); }
.giveaway-winner-card__label { margin: 0 0 .65rem; color: var(--dafm-magenta-dark); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.giveaway-winner-card__winner { margin: 0 0 .25rem; color: #3f5367; font-size: .9rem; font-weight: 800; }
.giveaway-winner-card h3 { margin: .2rem 0 .55rem; font-size: clamp(1.35rem,2.2vw,1.8rem); line-height: 1.15; }
.giveaway-winner-card h3 a { color: var(--dafm-navy); text-decoration-thickness: .06em; text-underline-offset: .16em; }
.giveaway-winner-card__issue { margin: 0 0 .8rem; color: #3f5367; font-size: .82rem; font-weight: 800; }
.giveaway-winner-card > p:not([class]) { margin: 0 0 1rem; color: #3f5367; }
.giveaway-winner-card__link { margin-top: auto; color: var(--dafm-magenta-dark); font-weight: 900; }
.giveaway-winners__empty { margin: 0; color: #3f5367; }
.giveaway-terms { display: grid; grid-template-columns: 1.4fr .6fr; gap: 2rem; }
.giveaway-terms--single { grid-template-columns: minmax(0, 1fr); max-width: 1050px; }
.giveaway-terms aside { display: grid; align-content: start; gap: .35rem; padding: 1.4rem; border-radius: 18px; color: #fff; background: var(--dafm-navy); }
.giveaway-terms aside span { color: #8fd67d; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.giveaway-terms aside a { margin-top: 1rem; color: #fff; font-weight: 900; }
.giveaway-entry-page { background: linear-gradient(180deg,#fff9f4 0%,#fff 48rem); }
.giveaway-entry-hero { padding: clamp(3rem,7vw,6rem) 0; color: #fff; background: radial-gradient(circle at 85% 10%,rgba(204,0,84,.45),transparent 28rem),linear-gradient(125deg,#062b4f,#0d5c8a); }
.giveaway-entry-hero__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); align-items: center; gap: clamp(2rem,5vw,5rem); }
.giveaway-entry-hero .breadcrumb,.giveaway-entry-hero .breadcrumb a,.giveaway-entry-hero h1,.giveaway-entry-hero h2,.giveaway-entry-hero p { color: #fff; }
.giveaway-entry-hero .eyebrow { color: #a4edaa; }
.giveaway-entry-hero h1 { max-width: 14ch; margin: 1rem 0; font-size: clamp(2.8rem,5.5vw,5.5rem); line-height: 1.05; }
.giveaway-entry-hero__lead { max-width: 52ch; font-size: clamp(1.05rem,1.65vw,1.25rem); }
.giveaway-entry-hero__aside { padding: clamp(1.5rem,3vw,2.4rem); border: 1px solid rgba(255,255,255,.28); border-radius: 22px; background: rgba(255,255,255,.1); box-shadow: 0 24px 55px rgba(0,0,0,.13); }
.giveaway-entry-hero__aside h2 { margin: .5rem 0 1rem; font-size: clamp(1.8rem,2.7vw,2.5rem); }
.giveaway-entry-hero__aside ul { display: grid; padding-left: 1.25rem; gap: .75rem; }
.giveaway-entry-hero__aside li::marker { color: #a4edaa; }
.giveaway-entry-hero__aside p { margin-bottom: 0; font-size: .92rem; }
.giveaway-entry-hero__marker { color: #a4edaa; font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.giveaway-entry-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.6rem; }
.giveaway-entry-heading > div { max-width: 68ch; }
.giveaway-entry-heading h2 { margin: .3rem 0; }
.giveaway-entry-heading p { margin-bottom: 0; color: var(--dafm-muted); }
.giveaway-entry-heading > a { flex: 0 0 auto; color: var(--dafm-magenta); font-weight: 800; }
.giveaway-entry-card { max-width: 1020px; margin-inline: auto; overflow: hidden; border: 1px solid var(--dafm-border); border-radius: 24px; background: #fff; box-shadow: 0 24px 60px rgba(6,43,79,.09); }
.giveaway-entry-card__intro { display: grid; justify-items: center; padding: clamp(2rem,5vw,4rem); text-align: center; background: radial-gradient(circle at 90% 0%,rgba(196,0,82,.08),transparent 20rem),#fff; }
.giveaway-entry-card__intro h3 { margin: .6rem 0 0; font-size: clamp(1.6rem,3vw,2.3rem); }
.giveaway-entry-card__intro p { max-width: 52ch; color: var(--dafm-muted); }
.giveaway-entry-card__icon { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; color: #fff; background: var(--dafm-magenta); font-size: 1.8rem; }
.giveaway-entry-card__status { margin: 0; padding: 1rem 1.5rem; color: var(--dafm-navy); font-weight: 800; }
.giveaway-entry-card__status::before { display: inline-block; width: 16px; height: 16px; margin-right: .6rem; border: 2px solid #d9e1e4; border-top-color: var(--dafm-magenta); border-radius: 50%; vertical-align: -.18rem; animation: dafm-giveaway-spin .8s linear infinite; content: ''; }
@keyframes dafm-giveaway-spin { to { transform: rotate(360deg); } }
.giveaway-entry-card__frame { display: block; width: 100%; height: 2450px; border: 0; background: #fff; }
.giveaway-entry-card__frame[hidden],.giveaway-entry-card__status[hidden],.giveaway-entry-card__intro[hidden] { display: none; }
.giveaway-entry-card__fallback { padding: 1rem clamp(1.25rem,3vw,2rem); border-top: 1px solid var(--dafm-border); background: #f6f8f7; }
.giveaway-entry-card__fallback p { margin: 0; color: var(--dafm-muted); font-size: .9rem; }
.giveaway-entry-card__fallback a,.giveaway-entry-legal a { color: var(--dafm-magenta); font-weight: 800; }
.giveaway-entry-legal { max-width: 1020px; margin: 1rem auto 0; color: var(--dafm-muted); font-size: .9rem; }
@media (max-width: 800px) { .giveaway-entry-hero__grid { grid-template-columns: 1fr; }.giveaway-entry-heading { align-items: start; flex-direction: column; gap: .8rem; } }
@media (max-width: 600px) { .giveaway-entry-hero h1 { font-size: clamp(2.3rem,11vw,3.5rem); }.giveaway-entry-card__frame { height: 2750px; }.giveaway-entry-card { border-radius: 16px; } }
@media (prefers-reduced-motion: reduce) { .giveaway-entry-card__status::before { animation-duration: 2s; } }
.subpage-hero--giveaway-terms { background-image: radial-gradient(circle at 82% 28%,rgba(255,255,255,.15),transparent 22rem),linear-gradient(112deg,rgba(4,32,57,.98),rgba(196,0,82,.78)); }
.subpage-hero--giveaway-terms h1 { max-width: 1000px; font-size: clamp(1.5rem,calc(.7rem + 4vw),4.4rem); -webkit-hyphens: none; hyphens: none; overflow-wrap: normal; word-break: normal; }
.giveaway-legal { max-width: 1180px; }
.giveaway-legal__intro { max-width: 850px; margin-bottom: clamp(2rem,5vw,4rem); }
.giveaway-legal__intro > h2 { max-width: 18ch; }
.giveaway-legal__intro > p { max-width: 72ch; color: var(--dafm-muted); font-size: 1.08rem; line-height: 1.7; }
.giveaway-legal__organizer { display: grid; width: fit-content; min-width: min(100%,460px); margin-top: 1.5rem; padding: 1.25rem 1.4rem; border-left: 4px solid var(--dafm-magenta); border-radius: 0 14px 14px 0; background: #f5f7f8; gap: .25rem; }
.giveaway-legal__organizer strong { color: var(--dafm-magenta); font-size: .74rem; letter-spacing: .11em; text-transform: uppercase; }
.giveaway-legal__layout { display: grid; grid-template-columns: minmax(230px,.34fr) minmax(0,1fr); align-items: start; gap: clamp(2rem,5vw,5rem); }
.giveaway-legal__toc { position: sticky; top: 104px; max-height: calc(100vh - 126px); padding: 1.35rem; overflow: auto; border: 1px solid var(--dafm-border); border-radius: 18px; background: linear-gradient(145deg,#fff,#f3f7f8); box-shadow: 0 12px 32px rgba(6,43,79,.07); }
.giveaway-legal__toc > strong { display: block; margin-bottom: .7rem; color: var(--dafm-navy); font-family: var(--dafm-heading); font-size: 1.35rem; }
.giveaway-legal__toc ol { display: grid; margin: 0; padding-left: 1.35rem; gap: .35rem; }
.giveaway-legal__toc li { color: var(--dafm-muted); font-size: .88rem; line-height: 1.4; }
.giveaway-legal__toc a { color: var(--dafm-navy); text-decoration: none; }
.giveaway-legal__toc a:hover,.giveaway-legal__toc a:focus-visible { color: var(--dafm-magenta); text-decoration: underline; text-underline-offset: .16em; }
.giveaway-legal__content { min-width: 0; }
.giveaway-legal__content > section { padding: 0 0 clamp(2rem,4vw,3rem); border-bottom: 1px solid var(--dafm-border); scroll-margin-top: 110px; }
.giveaway-legal__content > section + section { padding-top: clamp(2rem,4vw,3rem); }
.giveaway-legal__content h2 { margin-bottom: 1rem; font-size: clamp(1.55rem,3vw,2.25rem); }
.giveaway-legal__content p,.giveaway-legal__content li { max-width: 76ch; line-height: 1.75; }
.giveaway-legal__content ul { display: grid; padding-left: 1.35rem; gap: .45rem; }
.giveaway-legal__content li::marker { color: var(--dafm-magenta); }
.giveaway-legal__source { display: flex; align-items: center; justify-content: space-between; margin-top: clamp(2rem,5vw,4rem); padding: clamp(1.25rem,3vw,2rem); border-radius: 18px; color: #fff; background: var(--dafm-navy); gap: 2rem; }
.giveaway-legal__source strong { color: #8fd67d; font-size: .75rem; letter-spacing: .11em; text-transform: uppercase; }
.giveaway-legal__source p { margin: .35rem 0 0; color: rgba(255,255,255,.84); }
.giveaway-legal__source .button { flex: 0 0 auto; color: #fff; border-color: rgba(255,255,255,.72); }
.partner-cta, .issue-actions { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); align-items: center; margin-top: 2rem; padding: clamp(1.4rem,4vw,2.4rem); border: 1px solid var(--dafm-border); border-radius: 18px; background: #f4f8f2; gap: 2rem; }
.issue-actions { margin-block: clamp(2.5rem,6vw,5rem); }

.jubilee-hero { overflow: hidden; color: #fff; background: radial-gradient(circle at 80% 30%, rgba(196,0,82,.5), transparent 32rem), linear-gradient(125deg,#041f39,#0e5f99); }
.jubilee-hero__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); align-items: center; min-height: 560px; padding-block: clamp(3rem,8vw,6rem); gap: 2rem; }
.jubilee-hero h1, .jubilee-hero p { color: #fff; }.jubilee-hero__number { color: rgba(255,255,255,.13); font-family: var(--dafm-heading); font-size: clamp(12rem,30vw,24rem); font-weight: 900; line-height: .72; text-align: center; }
.jubilee-progress { display: grid; grid-template-columns: minmax(220px,auto) minmax(200px,1fr); align-items: center; margin: 2rem 0; gap: 1rem; }
.jubilee-progress > span { display: block; height: .65rem; overflow: hidden; border-radius: 99px; background: #dce5e9; }.jubilee-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--dafm-magenta),var(--dafm-blue)); }
.jubilee-topic-nav { display: flex; flex-wrap: wrap; margin: 1.5rem 0 2rem; gap: .55rem; }
.jubilee-topic-nav button { min-height: 42px; padding: .55rem .85rem; border: 1px solid var(--dafm-border); border-radius: 999px; color: var(--dafm-navy); background: #fff; font-weight: 800; cursor: pointer; }
.jubilee-topic-nav button:hover, .jubilee-topic-nav button.is-active { border-color: var(--dafm-magenta); color: #fff; background: var(--dafm-magenta); }
.jubilee-archive-section { padding-top: clamp(2.5rem,6vw,5rem); }
.jubilee-issue-archive { padding: clamp(1.5rem,4vw,3rem); border: 1px solid rgba(6,43,79,.1); border-radius: 24px; background: radial-gradient(circle at 88% 18%,rgba(196,0,82,.11),transparent 18rem),linear-gradient(145deg,#f5f1eb,#eef5f7); box-shadow: 0 12px 36px rgba(6,43,79,.07); }
.jubilee-issue-archive__heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.65fr); align-items: end; margin-bottom: 1.5rem; gap: 2rem; }
.jubilee-issue-archive__heading p { color: var(--dafm-muted); }
.jubilee-issue-archive .jubilee-progress { margin: 0; }
.jubilee-story-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.65fr); align-items: end; margin-top: clamp(2.5rem,6vw,4.5rem); gap: 2rem; }
.jubilee-story-heading > p { max-width: 36rem; margin: 0; color: var(--dafm-muted); }
.jubilee-story-grid { align-items: stretch; }
.jubilee-card { display: flex; min-width: 0; flex-direction: column; transition: transform .2s ease,box-shadow .2s ease; }
.jubilee-card:hover { box-shadow: 0 18px 45px rgba(6,43,79,.14); transform: translateY(-4px); }
.jubilee-card .magazine-card__media { aspect-ratio: 16/10; padding: 0; background: #e9eff1; }
.jubilee-card .magazine-card__media img { inset: 0; width: 100%; height: 100%; filter: none; object-fit: cover; transition: transform .35s ease; }
.jubilee-card:hover .magazine-card__media img { transform: scale(1.025); }
.jubilee-card .magazine-card__category { top: .75rem; bottom: auto; left: .75rem; z-index: 3; }
.jubilee-card__number { position: absolute; z-index: 3; top: .75rem; right: .75rem; display: grid; min-width: 2.65rem; height: 2.65rem; padding-inline: .45rem; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; color: #fff; background: rgba(4,32,57,.86); box-shadow: 0 4px 14px rgba(4,32,57,.2); place-items: center; font-family: var(--dafm-heading); font-size: .9rem; font-weight: 900; backdrop-filter: blur(6px); }
.jubilee-card .magazine-card__body { display: flex; flex: 1; padding: 1.2rem; flex-direction: column; }
.jubilee-card__eyebrow { margin: 0 0 .5rem !important; color: var(--dafm-magenta-dark) !important; font-size: .66rem !important; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.jubilee-card[hidden] { display: none; }
.jubilee-card .magazine-card__body h2 { margin-bottom: .45rem; font-size: 1.18rem; }
.jubilee-card .magazine-card__body h2 a { color: var(--dafm-navy); text-decoration: none; }
.jubilee-card .magazine-card__body > p:not(.jubilee-card__eyebrow) { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.jubilee-card__link { align-self: flex-start; margin-top: auto; padding-top: 1rem; color: var(--dafm-green-dark); font-size: .78rem; font-weight: 850; text-decoration: none; }
.jubilee-card__link:hover { color: var(--dafm-magenta-dark); text-decoration: underline; text-underline-offset: .18em; }

.story-extension, .story-gallery, .story-related-events { margin: clamp(2.5rem,6vw,4rem) auto 0; padding-top: clamp(2rem,5vw,3rem); border-top: 1px solid var(--dafm-border); }
.story-extension__heading { max-width: 760px; margin: 0 auto 1.35rem; }.story-extension__heading h2 { margin-bottom: .35rem; }.story-extension__heading > p:last-child { color: var(--dafm-muted); font-size: .78rem; }
.story-extension__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1rem; }
.story-extension__grid article { padding: 1.2rem; border: 1px solid var(--dafm-border); border-top: 4px solid var(--dafm-green); border-radius: 14px; background: #f7faf7; }
.story-extension__grid h3 { font-family: var(--dafm-body); font-size: .9rem; font-weight: 850; }.story-extension__grid p { color: #315068; font-size: .86rem; }
.story-gallery__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }.story-gallery figure { overflow: hidden; margin: 0; border-radius: 12px; background: #edf2f3; }.story-gallery img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }.story-gallery figcaption { padding: .75rem .85rem; color: var(--dafm-muted); font-size: .74rem; line-height: 1.45; }
.story-actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); max-width: 820px; margin: 2rem auto 0; gap: .8rem; }.story-actions a { display: grid; grid-template-columns: 1fr auto; padding: 1rem; border: 1px solid var(--dafm-border); border-radius: 12px; color: var(--dafm-navy); background: #fff; text-decoration: none; }.story-actions a:hover { border-color: var(--dafm-blue); }.story-actions span { grid-column: 1/-1; color: var(--dafm-muted); font-size: .66rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.story-actions__ad { border-top: 4px solid var(--dafm-magenta) !important; }.story-actions b { color: var(--dafm-magenta); }

/* 2026-09-18: editorial interaction refinement inspired by the visual review. */
.site-header { position: sticky; top: 0; background: rgba(255,255,255,.9); box-shadow: 0 1px 0 rgba(6,43,79,.08); backdrop-filter: blur(16px) saturate(1.08); transition: background .25s ease, box-shadow .25s ease; }
.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled { background: rgba(255,255,255,.82); box-shadow: 0 12px 32px rgba(6,43,79,.1); }
.hero--home .hero__backdrop { transform: translate3d(0,var(--dafm-hero-shift,0),0) scale(1.035); transform-origin: center; will-change: transform; transition: transform .25s ease-out; }
.hero--home .hero__backdrop::before { position: absolute; z-index: 2; inset: 0; background: radial-gradient(circle 22rem at var(--dafm-pointer-x,78%) var(--dafm-pointer-y,34%), rgba(255,255,255,.13), transparent 72%); content: ""; opacity: .72; pointer-events: none; transition: opacity .35s ease; }
.hero--home .hero__content { position: relative; z-index: 1; }
.home .event-search, .preview-home .event-search { border: 1px solid rgba(255,255,255,.72); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: 0 24px 80px rgba(3,25,46,.32); backdrop-filter: blur(18px) saturate(1.08); }
.home .event-search input, .home .event-search select, .preview-home .event-search input, .preview-home .event-search select { border-radius: 11px; background: rgba(255,255,255,.88); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.home .event-search input:hover, .home .event-search select:hover, .preview-home .event-search input:hover, .preview-home .event-search select:hover { border-color: rgba(14,95,153,.45); background: #fff; }
.quick-filters a, .quick-filters button { transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.quick-filters a:hover, .quick-filters a:focus-visible, .quick-filters button:hover, .quick-filters button:focus-visible { transform: translateY(-2px); }
.home .edition-card, .preview-home .edition-card, .home .event-card, .preview-home .event-card, .home .magazine-card, .preview-home .magazine-card { border-radius: 22px; border-color: rgba(6,43,79,.12); box-shadow: 0 12px 32px rgba(6,43,79,.09); transition: transform .28s cubic-bezier(.2,.72,.2,1), box-shadow .28s ease, border-color .28s ease; }
.home .edition-card:hover, .home .edition-card:focus-within, .preview-home .edition-card:hover, .preview-home .edition-card:focus-within, .home .event-card:hover, .home .event-card:focus-within, .preview-home .event-card:hover, .preview-home .event-card:focus-within, .home .magazine-card:hover, .home .magazine-card:focus-within, .preview-home .magazine-card:hover, .preview-home .magazine-card:focus-within { border-color: rgba(196,0,82,.28); box-shadow: 0 22px 48px rgba(6,43,79,.15); transform: translateY(-6px); }
[data-reveal] { transition-delay: var(--dafm-reveal-delay, 0ms); }
.home-value { border-block: 1px solid rgba(6,43,79,.08); background: linear-gradient(135deg, #f5f1eb 0%, #eef6f5 100%); }
.home-value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.home-value-card { display: flex; min-height: 245px; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(6,43,79,.1); border-radius: 20px 8px 20px 8px; background: rgba(255,255,255,.86); box-shadow: 0 14px 34px rgba(6,43,79,.08); flex-direction: column; transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.home-value-card:hover, .home-value-card:focus-within { border-color: rgba(196,0,82,.28); box-shadow: 0 22px 44px rgba(6,43,79,.13); transform: translateY(-4px); }
.home-value-card__number { color: var(--dafm-magenta); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.home-value-card h3 { max-width: 14ch; margin: auto 0 .55rem; color: var(--dafm-navy); font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.08; }
.home-value-card p { max-width: 34ch; margin: 0; color: var(--dafm-muted); font-size: .9rem; }

@media (max-width: 1100px) {
  .home .hero--home .event-search, .preview-home .hero--home .event-search { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home .hero--home .event-search__submit, .preview-home .hero--home .event-search__submit { grid-column: 1/-1; width: 100%; }
}

@media (max-width: 1180px) {
  .site-nav { display: block; visibility: hidden; pointer-events: none; border: 1px solid rgba(6,43,79,.1); border-top: 0; border-radius: 0 0 24px 24px; background: rgba(255,255,255,.9); box-shadow: 0 24px 50px rgba(6,43,79,.14); backdrop-filter: blur(18px) saturate(1.06); opacity: 0; transform: translateX(-50%) translateY(-.6rem); transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s; }
  .site-nav.is-open { visibility: visible; pointer-events: auto; opacity: 1; transform: translateX(-50%) translateY(0); transition-delay: 0s; }
  .site-nav a { opacity: 0; transform: translateY(-.4rem); transition: opacity .2s ease, transform .2s ease, color .2s ease, background .2s ease; }
  .site-nav.is-open a { opacity: 1; transform: translateY(0); }
  .site-nav.is-open li:nth-child(2) a { transition-delay: 35ms; }
  .site-nav.is-open li:nth-child(3) a { transition-delay: 70ms; }
  .site-nav.is-open li:nth-child(4) a { transition-delay: 105ms; }
  .site-nav.is-open li:nth-child(5) a { transition-delay: 140ms; }
  .site-nav.is-open li:nth-child(6) a { transition-delay: 175ms; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header, .hero--home .hero__backdrop, .hero--home .hero__backdrop::before, .quick-filters a, .quick-filters button, [data-reveal], .home .edition-card, .preview-home .edition-card, .home .event-card, .preview-home .event-card, .home .magazine-card, .preview-home .magazine-card { transition: none !important; }
  .hero--home .hero__backdrop { transform: none; }
  .site-nav, .site-nav.is-open, .site-nav a, .site-nav.is-open a { transform: none; }
}

@media screen and (min-width: 601px) and (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

@media screen and (max-width: 600px) {
  .admin-bar .site-header { top: 0; }
}

@media (max-width: 980px) {
  .experience-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .partner-benefit-grid { grid-template-columns: 1fr; }
  .content-partner-grid, .official-source-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-giveaway__grid, .giveaway-hero__grid, .giveaway-detail-grid, .giveaway-terms { grid-template-columns: 1fr; }
  .giveaway-winners__heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .giveaway-legal__layout { grid-template-columns: 1fr; }
  .giveaway-legal__toc { position: static; max-height: none; }
  .giveaway-legal__toc ol { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 2rem; }
  .home-giveaway__badge { max-width: 250px; }
  .jubilee-issue-archive__heading, .jubilee-story-heading { grid-template-columns: 1fr; gap: .5rem; }
}
@media (max-width: 680px) {
  .experience-grid, .story-gallery__grid, .home-jubilee__grid, .anniversary-package__grid, .jubilee-hero__grid, .partner-cta, .issue-actions, .jubilee-progress, .content-partner-grid, .official-source-grid { grid-template-columns: 1fr; }
  .home-value-grid { grid-template-columns: 1fr; }
  .home-value-card { min-height: 0; }
  .home-value-card h3 { margin: 1.35rem 0 .55rem; }
  .partner-ad-separation { align-items: flex-start; flex-direction: column; }
  .giveaway-hero__media { border-radius: 16px; }
  .giveaway-hero__grid > * { min-width: 0; }
  .giveaway-hero h1 { max-width: 100%; font-size: clamp(2.2rem,11vw,2.75rem); }
  .giveaway-winners__grid { grid-template-columns: 1fr; }
  .giveaway-legal__toc ol { grid-template-columns: 1fr; }
  .giveaway-legal__source { align-items: flex-start; flex-direction: column; }
  .experience-card { min-height: 210px; }
  .portal-card--regions, .portal-card--events, .portal-card--newsletter, .portal-card--giveaway { grid-column: auto; min-height: 220px; }
  .home-jubilee__grid { padding-block: 2.5rem; gap: 1.5rem; }
  .home-jubilee__visual { min-height: 205px; }
  .home-jubilee__number { font-size: 8rem; }
  .home-jubilee__covers { inset: .35rem 0 0 clamp(10.75rem, 45vw, 12rem); }
  .home-jubilee__covers img { width: 115px; }
  .home-jubilee__covers img:nth-child(2) { left: 77px; }
  .home-jubilee__actions .button { width: 100%; }
  .jubilee-hero__number { display: none; }
  .jubilee-issue-archive { padding: 1rem; border-radius: 16px; }
  .anniversary-package__grid > .button { justify-self: start; }
}

@media (max-width: 360px) {
  .home-jubilee__number { font-size: 7rem; }
  .home-jubilee__covers { left: 48vw; }
  .home-jubilee__covers img { width: 90px; }
  .home-jubilee__covers img:nth-child(2) { left: 60px; }
}

/* Wide screens get denser editorial grids while prose keeps its own readable max-widths. */
@media (min-width: 1480px) {
  .event-grid, .event-grid--archive, .magazine-grid, .region-card-grid, .location-place-card-grid, .location-topic-grid, .event-related-content__grid, .story-gallery__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .brochure-directory { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/*
 * Fill the final row of recurring card collections instead of reserving
 * blank columns. The script preserves featured-card spans and recalculates
 * only visible cards after responsive changes or client-side filtering.
 */
.is-dafm-balanced-grid { grid-template-columns: repeat(12,minmax(0,1fr)); }
.is-dafm-balanced-grid > * { min-width: 0; grid-column: span var(--dafm-grid-span,var(--dafm-grid-default-span)); }

/* Content is visible without JavaScript; motion never changes document width. */
[data-reveal], [data-reveal="left"], [data-reveal="right"] { opacity: 1; transform: none; }
@keyframes dafm-content-enter { from { opacity: .4; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  [data-reveal].is-revealed { animation: dafm-content-enter .45s ease-out; }
}
@media (max-width: 1180px) {
  .site-nav { left: 0; right: 0; width: auto; justify-self: stretch; transform: translateY(-.6rem); }
  .site-nav.is-open { transform: translateY(0); }
  .site-header:not(.has-navigation-js) .site-nav { position: static; grid-column: 1 / -1; width: 100%; visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
  .site-header:not(.has-navigation-js) .site-nav a { opacity: 1; transform: none; }
  .site-header:not(.has-navigation-js) .nav-toggle { display: none; }
  .has-dafm-js .site-header:not(.has-navigation-js) .site-nav { position: absolute; visibility: hidden; opacity: 0; pointer-events: none; }
  .has-dafm-js .site-header:not(.has-navigation-js) .nav-toggle { display: block; }
  .nav-toggle { min-height: 44px; min-width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal], .site-nav, .site-nav.is-open { animation: none !important; transform: none; }
}

/* Native iOS date controls keep an intrinsic width unless their grid items may shrink. */
@media (min-width: 361px) and (max-width: 680px) {
  .home .event-search__field:first-child,
  .home .event-search__field:nth-child(2),
  .preview-home .event-search__field:first-child,
  .preview-home .event-search__field:nth-child(2) { grid-column: 1 / -1; }
  .home .event-search__field,
  .preview-home .event-search__field { min-width: 0; }
  .home .event-search__field--date,
  .preview-home .event-search__field--date { grid-column: 1 / -1; }
  .home .event-search input,
  .home .event-search select,
  .preview-home .event-search input,
  .preview-home .event-search select { min-width: 0; min-inline-size: 0; max-width: 100%; }
}
/* iOS WebKit may paint native date controls wider than their measured grid box. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 680px) {
    .home .event-search input[type="date"],
    .preview-home .event-search input[type="date"] {
      display: block;
      width: 100%;
      min-width: 0;
      max-width: 100%;
      inline-size: 100%;
      min-inline-size: 0;
      max-inline-size: 100%;
      -webkit-appearance: none;
      appearance: none;
    }
    .home .event-search input[type="date"]::-webkit-date-and-time-value,
    .preview-home .event-search input[type="date"]::-webkit-date-and-time-value { min-width: 0; text-align: left; }
  }
}
@media (max-width: 360px) {
  .home .event-search,
  .preview-home .event-search,
  .event-discovery-hero .event-search { grid-template-columns: minmax(0, 1fr); }
  .home .event-search__field,
  .preview-home .event-search__field,
  .event-discovery-hero .event-search__field,
  .event-discovery-hero .event-search__field--date { min-width: 0; grid-column: 1 / -1; }
  .event-search input,
  .event-search select { min-width: 0; max-width: 100%; box-sizing: border-box; }
}

/* Anzeigenportal: KI-Vorschläge und separates Anzeigenlogo. */
.dafm-ai-assistant { display: grid; margin: .1rem 0 .35rem; padding: 1rem; border: 1px solid #c7dcea; border-radius: 14px; background: linear-gradient(135deg,#f1f8fc,#fff); gap: .65rem; }
.dafm-campaign-editor__locked-actions { display: flex; flex-wrap: wrap; margin-top: .85rem; gap: .55rem; }
.dafm-campaign-editor__locked-actions form { margin: 0; }
.dafm-ai-assistant__heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; }
.dafm-ai-assistant__heading>div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .05rem .55rem; }
.dafm-ai-assistant__heading span { grid-row: 1/3; color: var(--dafm-magenta); font-size: 1.35rem; }
.dafm-ai-assistant__heading strong,.dafm-ai-assistant__heading small { display: block; }
.dafm-ai-assistant__heading small,.dafm-ai-assistant__privacy,.dafm-ai-assistant__status { color: var(--dafm-muted); font-size: .72rem; }
.dafm-ai-assistant__privacy { margin: 0; }
.dafm-ai-assistant__status.is-error { color: #9b1c31; font-weight: 750; }
.dafm-ai-assistant__results { display: grid; gap: 1rem; }
.dafm-ai-pdf-source { display: grid; padding: .9rem; border: 1px solid #d9e2e8; border-radius: 11px; background: rgba(255,255,255,.82); gap: .65rem; }
.dafm-ai-pdf-source__intro { display: flex; align-items: flex-start; gap: .65rem; }
.dafm-ai-pdf-source__intro>span { display: inline-grid; flex: 0 0 auto; place-items: center; min-width: 2.45rem; height: 2rem; border-radius: 7px; background: var(--dafm-navy); color: #fff; font-size: .66rem; font-weight: 850; letter-spacing: .06em; }
.dafm-ai-pdf-source__intro>div { display: grid; gap: .14rem; }
.dafm-ai-pdf-source__intro small { color: var(--dafm-muted); font-size: .72rem; line-height: 1.45; }
.dafm-ai-pdf-source__controls { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .65rem; }
.dafm-ai-pdf-source__file { display: grid; min-width: 0; gap: .28rem; color: var(--dafm-navy); font-size: .7rem; font-weight: 750; }
.dafm-ai-pdf-source__file input { box-sizing: border-box; width: 100%; min-width: 0; padding: .45rem; border: 1px solid #cbd8e0; border-radius: 7px; background: #fff; font: inherit; font-weight: 500; }
.dafm-ai-assistant__separator { display: flex; align-items: center; color: var(--dafm-muted); font-size: .68rem; font-weight: 750; gap: .65rem; }
.dafm-ai-assistant__separator::before,.dafm-ai-assistant__separator::after { height: 1px; background: #d7e2e9; content: ''; flex: 1; }
.dafm-ai-pdf-facts { display: grid; padding: .75rem; border: 1px solid #d7e2e9; border-radius: 10px; background: #f8fafb; gap: .55rem; }
.dafm-ai-pdf-facts>div { display: grid; grid-template-columns: minmax(125px,.35fr) minmax(0,1fr); gap: .55rem; }
.dafm-ai-pdf-facts ul { margin: 0; padding-left: 1.1rem; }
.dafm-ai-pdf-facts li { margin: .12rem 0; color: var(--dafm-navy); font-size: .72rem; line-height: 1.45; }
.dafm-ai-suggestions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.dafm-ai-suggestion { display: grid; align-content: start; padding: .8rem; border: 1px solid #d7e2e9; border-radius: 10px; background: #fff; gap: .55rem; }
.dafm-ai-suggestion p { margin: 0; color: var(--dafm-navy); font-size: .77rem; line-height: 1.5; white-space: pre-line; }
.dafm-ai-suggestion small { color: var(--dafm-muted); font-size: .68rem; }
.dafm-ai-assets__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: .35rem; gap: .55rem; }
.dafm-ai-assets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.dafm-ai-asset { overflow: hidden; border: 1px solid #d7e2e9; border-radius: 10px; background: #fff; }
.dafm-ai-asset img { display: block; width: 100%; height: 125px; background: #eef3f6; object-fit: contain; }
.dafm-ai-asset__controls { display: grid; padding: .65rem; gap: .45rem; }
.dafm-ai-asset__controls small { overflow-wrap: break-word; word-break: normal; min-width: 0; color: var(--dafm-muted); font-size: .66rem; }
.dafm-ai-asset__controls select { width: 100%; }
.dafm-ai-asset__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.dafm-ai-asset__actions .button { min-width: 0; white-space: normal; }
.dafm-ai-asset__dismiss { border-color: #cfd8de; background: #f6f8f9; color: #52616b; }
.dafm-ai-asset__dismiss:hover,.dafm-ai-asset__dismiss:focus-visible { border-color: #788994; background: #edf1f3; color: #243743; }
.dafm-ai-rights { display: flex; align-items: flex-start; padding: .7rem; border-left: 3px solid #e6a700; border-radius: 0 8px 8px 0; background: #fff9e8; gap: .5rem; font-size: .72rem; }
.dafm-creative-logo-upload { grid-column: 1/-1; }
@media (max-width: 820px) { .dafm-ai-suggestions,.dafm-ai-assets,.dafm-ai-pdf-source__controls { grid-template-columns: minmax(0,1fr); } .dafm-ai-asset__actions { grid-template-columns: minmax(0,1fr); } .dafm-ai-pdf-facts>div { grid-template-columns: minmax(0,1fr); } }
