:root{--ink:#132b45;--muted:#52667a;--blue:#075ca8;--cyan:#007b91;--gold:#f1b44a;--paper:#fafbf9;--soft:#edf6f8;--line:#d9e4eb;--radius:24px;--shadow:0 12px 36px #16334a09}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{max-width:100%;display:block}a{color:var(--blue);text-underline-offset:4px}button,input{font:inherit}button,summary{cursor:pointer}a,button,summary,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,img[role=button]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,h4{margin:0;line-height:1.18;letter-spacing:-.035em;font-weight:750;word-break:normal;hyphens:none;text-wrap:balance}h2{font-size:clamp(26px,3.3vw,40px)}h3{font-size:23px}h4{font-size:20px}p{margin:0 0 16px}p:last-child{margin-bottom:0}ul,ol{padding-left:22px}[hidden]{display:none!important}[id]{scroll-margin-top:96px}summary{list-style:none}summary::-webkit-details-marker{display:none}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px}.small,.muted{font-size:13px;color:var(--muted)}.brand-logo{object-fit:contain;background:transparent;aspect-ratio:1;flex-shrink:0;border-radius:0}.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}
.menu-bar{position:sticky;top:0;z-index:70;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 10px 24px rgba(18,54,75,.07);transform:none;opacity:1;pointer-events:auto}.menu-bar.is-visible{transform:none;opacity:1;pointer-events:auto}.quick-nav{max-width:1240px;margin:auto;min-height:76px;padding:10px 28px;display:flex;align-items:center;gap:24px}.menu-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:16px;font-weight:750;white-space:nowrap}.menu-brand .brand-logo{width:46px;height:46px}.nav-year{color:var(--blue)}.topic-menu{margin-left:auto}.topic-menu>summary{display:flex;align-items:center;justify-content:center;background:var(--ink);color:white;border-radius:50%;padding:0;width:48px;height:48px;min-height:48px;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 20px rgba(18,54,75,.14)}
.topic-menu>summary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(18,54,75,.18)}
.menu-icon{width:20px;height:16px;display:flex;flex-direction:column;justify-content:space-between}
.menu-icon .bar{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:transform .22s ease,opacity .18s ease}
.topic-menu[open] .menu-icon .bar-1{transform:translateY(7px) rotate(45deg)}
.topic-menu[open] .menu-icon .bar-2{opacity:0}
.topic-menu[open] .menu-icon .bar-3{transform:translateY(-7px) rotate(-45deg)}.topic-menu[open]>summary{background:var(--blue)}.topic-panel{position:absolute;top:100%;right:max(18px,calc((100vw - 1184px)/2));width:min(680px,calc(100vw - 56px));max-height:calc(100dvh - 94px);overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid var(--line);border-radius:0 0 24px 24px;background:white;box-shadow:0 24px 70px #17344a26}.menu-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.menu-heading a{font-size:13px}
.menu-top-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f7fbfd;
  color:var(--ink);
  font-weight:650;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.menu-top-link:hover{
  background:#eef7fb;
  border-color:#bddbe7;
  transform:translateY(-1px);
}.menu-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-category{border:1px solid var(--line);border-radius:14px;align-self:start;overflow:hidden}.menu-category>summary{display:flex;justify-content:space-between;gap:12px;padding:14px;font-weight:750;font-size:14px;background:var(--soft)}.menu-category>summary:after{content:'+'}.menu-category[open]>summary:after{content:'−'}.menu-category a{
  display:flex;
  align-items:center;
  padding:10px 15px;
  min-height:44px;
  border-top:1px solid #edf1f5;
  color:#375064;
  font-size:13.5px;
  font-weight:540;
  line-height:1.4;
  letter-spacing:-.005em;
  text-decoration:none;
  transition:background .16s ease,color .16s ease,padding-left .16s ease;
}.menu-category a:hover{background:var(--soft);color:var(--blue);padding-left:18px}
.hero{position:relative;overflow:hidden;isolation:isolate;padding:54px max(28px,calc((100vw - 1184px)/2)) 46px;background:#f8f3ea}.hero-bg-photo{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 40%,rgba(0,0,0,.84) 54%,rgba(0,0,0,.52) 66%,rgba(0,0,0,.24) 76%,rgba(0,0,0,.08) 84%,rgba(0,0,0,0) 92%);mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 40%,rgba(0,0,0,.84) 54%,rgba(0,0,0,.52) 66%,rgba(0,0,0,.24) 76%,rgba(0,0,0,.08) 84%,rgba(0,0,0,0) 92%)}.hero-bg-photo img{width:100%;height:100%;object-fit:cover;object-position:center 74%;opacity:1;filter:saturate(1.28) brightness(1.03) contrast(1.06) sepia(.04)}.hero-bg-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.96) 0%,rgba(0,0,0,.90) 42%,rgba(0,0,0,.54) 74%,rgba(0,0,0,.18) 92%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.96) 0%,rgba(0,0,0,.90) 42%,rgba(0,0,0,.54) 74%,rgba(0,0,0,.18) 92%,rgba(0,0,0,0) 100%);background:linear-gradient(97deg,rgba(250,244,233,.34) 0%,rgba(250,245,236,.16) 30%,rgba(255,240,214,.06) 58%,rgba(255,221,173,.03) 100%),linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,251,244,.01) 36%,rgba(255,244,223,.03) 58%,rgba(248,243,234,.24) 84%,rgba(248,243,234,.44) 100%),radial-gradient(circle at 79% 18%,rgba(255,181,73,.12),transparent 30%),radial-gradient(circle at 22% 8%,rgba(255,255,255,.10),transparent 18%)}.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}.hero :is(.birthday-brand,.hero-title,.hero-sub,.hero-date,.hero-gallery,.hero-intro,.hero-quote,.hero-actions){position:relative;z-index:2}.birthday-brand{display:flex;align-items:center;gap:18px;margin-bottom:26px}.birthday-brand .brand-logo{width:104px;height:104px;border-radius:16px}.birthday-eyebrow{font-size:clamp(24px,2.8vw,34px);font-weight:800;line-height:1.03;letter-spacing:-.03em;margin:0;color:var(--blue)}.birthday-tagline{font-size:13px;color:#556173;margin:8px 0 0}.hero-title{font-size:clamp(48px,5.7vw,74px);letter-spacing:-.06em;line-height:1.02;white-space:nowrap}.hero-sub{font-size:clamp(18px,2.1vw,24px);font-weight:750;color:#08778d;margin:18px 0 18px}.hero-date{display:inline-block;border:1px solid #dcc694;border-radius:999px;padding:8px 17px;font-size:13px;font-weight:700;background:rgba(255,250,240,.94);margin:0 0 24px;box-shadow:0 10px 24px rgba(34,58,84,.08)}.hero-intro{font-size:15px;color:#4f5f70;line-height:1.84}.hero-gallery{position:relative;margin:0 0 42px;padding:0 20px 0 0;align-self:center}.hero-main-image{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:48% 50%;border-radius:28px;box-shadow:0 24px 54px rgba(17,48,73,.18);cursor:zoom-in}.hero-inset-image{position:absolute;width:58%;height:auto;aspect-ratio:4/3;object-fit:cover;bottom:-34px;right:0;border:6px solid rgba(255,255,255,.96);border-radius:22px;box-shadow:0 20px 46px rgba(17,48,73,.20);cursor:zoom-in}.hero-quote{font-size:clamp(20px,2.5vw,30px);font-weight:750;border-left:4px solid var(--gold);padding-left:20px;margin:32px 0 0;line-height:1.4}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero-actions a,.pride-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;background:var(--blue);color:white;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:700;min-height:46px}.hero-actions a:last-child{background:white;color:var(--ink);border:1px solid var(--line)}.part-nav{max-width:1184px;margin:0 auto;padding:24px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.part-nav a{display:flex;gap:12px;align-items:center;padding:17px 20px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:16px;background:white;font-size:14px;font-weight:700}.part-nav b{color:var(--blue);font-size:13px}@media (hover:hover) and (pointer:fine){.part-nav a:hover{border-color:var(--blue);background:var(--soft)}}
main{max-width:1240px;margin:auto;padding:0 28px 70px}.major-section{min-width:0}.major-section> .major-head{margin:0 0 32px}.major-section-a,.major-section-b,.major-section-c,.major-section-d{padding:54px 0 0;margin:0 0 48px}.major-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:36px;padding:0 0 24px;border-bottom:1px solid var(--line)}.major-head h2{font-size:clamp(30px,3.5vw,43px)}.major-head>p{color:var(--muted);font-size:15px;max-width:480px;margin:0}.base,.intro,.pride-event-panel,.trip-freedom{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:white;box-shadow:var(--shadow);margin:0 0 24px}.base h2,.intro h2{margin-bottom:16px}
.trip-freedom.travel-style{
  padding:0;
  overflow:hidden;
  background:#fff;
}
.travel-style-head{
  max-width:none;
  padding:28px 30px 24px;
  border-bottom:1px solid var(--line);
}
.travel-style-head .eyebrow{
  margin:0 0 8px;
  color:var(--blue);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.travel-style h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(26px,3vw,36px);
  line-height:1.1;
  letter-spacing:-.03em;
}
.travel-style-intro{
  margin:12px 0 0;
  max-width:820px;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}
.travel-style-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding:0 30px 28px;
}
.travel-style-grid article{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:22px 20px;
  border:0;
  border-right:1px solid var(--line);
  background:transparent;
  border-radius:0;
}
.travel-style-grid article:first-child{padding-left:0}
.travel-style-grid article:last-child{
  padding-right:0;
  border-right:0;
}
.travel-style-number{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:var(--soft);
  color:var(--blue);
  font-size:11px;
  font-weight:800;
}
.travel-style-grid h3{
  margin:1px 0 6px;
  color:var(--ink);
  font-size:16px;
  line-height:1.3;
}
.travel-style-grid p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
@media(max-width:760px){
  .trip-freedom.travel-style{border-radius:20px}
  .travel-style-head{padding:22px 20px 20px}
  .travel-style h2{font-size:28px}
  .travel-style-intro{font-size:14px;line-height:1.65}
  .travel-style-grid{
    grid-template-columns:1fr;
    padding:0 20px 8px;
  }
  .travel-style-grid article,
  .travel-style-grid article:first-child,
  .travel-style-grid article:last-child{
    grid-template-columns:34px minmax(0,1fr);
    padding:16px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .travel-style-grid article:last-child{border-bottom:0}
  .travel-style-grid h3{font-size:15px}
  .travel-style-grid p{font-size:13px}
}
.welcome{padding:0;background:linear-gradient(110deg,#edf6fd,#fff9ec);overflow:hidden}.welcome-details>summary{padding:26px 30px;display:flex;align-items:center;gap:18px}.welcome-summary-copy{flex:1}.welcome-summary-copy strong{display:block;font-size:25px;line-height:1.25}.welcome-summary-copy small{display:block;margin-top:8px;color:var(--muted);font-size:13px}.welcome-toggle{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-size:23px;flex-shrink:0}.welcome-details[open] .welcome-toggle{transform:rotate(45deg)}.welcome-content{max-width:870px;padding:0 30px 30px}.welcome-content .hero-quote{font-size:20px;margin-top:24px}.intro>p{color:var(--muted);font-size:15px}.island-minute{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.island-minute article{padding:20px;background:var(--soft);border-radius:16px}.island-minute h3{font-size:19px;margin-bottom:12px}.island-minute p{font-size:14px;line-height:1.7;color:var(--muted)}.minute-history{border-top:1px solid var(--line);padding-top:16px}.minute-history>summary{font-size:14px;color:var(--blue);font-weight:700}.minute-history[open]>summary{margin-bottom:18px}.minute-history p{font-size:15px}.trip-freedom{background:#fff8e9;border-color:#eedbb9}.trip-freedom>strong{font-size:21px}.trip-freedom>p{margin-top:12px;color:var(--muted)}
.pride-event-panel{background:linear-gradient(115deg,#edf7fc,#fffdf6)}.pride-event-head h2{margin-bottom:18px}.pride-event-head p{color:var(--muted);max-width:850px}.pride-story{padding:28px;margin:28px 0;background:white;border-radius:20px;border-left:4px solid var(--gold);max-width:960px}.pride-story h3{margin-bottom:18px}.pride-story p{max-width:780px;font-size:15px;line-height:1.85}.pride-event-info{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;border-top:1px solid var(--line);padding-top:24px}.pride-event-info p{font-size:14px;color:var(--muted);margin:8px 0 0}.pride-button{max-width:300px;text-align:center}
.accommodation-feature{padding:0;overflow:hidden}.accommodation-head{padding:30px 30px 0;max-width:950px}.accommodation-lead{font-size:15px;color:var(--muted)}.accommodation-photo{margin:0;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--soft)}.accommodation-photo img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.accommodation-photo-feature{margin:24px 30px;aspect-ratio:2/1}.accommodation-teaser{margin:0 30px 24px;font-weight:650}.accommodation-details{border-top:1px solid var(--line)}.accommodation-details>summary{padding:22px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--blue);font-weight:700}.accommodation-details>summary small{font-size:12px;font-weight:450;color:var(--muted)}.accommodation-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 30px 26px}.accommodation-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 30px}.accommodation-facts>div{padding:18px;border-radius:16px;background:var(--soft)}.accommodation-facts strong{display:block;font-size:28px;color:var(--blue)}.accommodation-facts span{display:block;font-size:12px;color:var(--muted)}.accommodation-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px}.accommodation-copy-grid h3,.accommodation-note h3{font-size:20px;margin-bottom:12px}.accommodation-copy-grid p,.accommodation-note p{font-size:15px}.accommodation-note{margin:24px 30px;padding:24px;background:#fff8e9;border-radius:18px}.accommodation-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 30px}.accommodation-actions a{border:1px solid var(--line);padding:10px 14px;border-radius:12px;text-decoration:none;font-size:13px}.accommodation-details>.small{margin:24px 30px}
.section-heading{max-width:800px;margin-bottom:24px}.section-heading h2{margin-bottom:14px}.section-heading>p:last-child{color:var(--muted);font-size:15px}.contents-overview{margin:0 0 48px}.contents-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contents-card,.contents-mood-card{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:20px;border:1px solid var(--line);border-radius:18px;background:white;color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}.contents-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--soft);color:var(--blue);font-size:12px;font-weight:800}.contents-card strong,.contents-mood-card strong{display:block;font-size:16px;line-height:1.35}.contents-card small,.contents-mood-card small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:6px}.contents-arrow{font-size:20px;color:var(--blue)}@media (hover:hover) and (pointer:fine){.contents-card:hover,.contents-mood-card:hover{border-color:var(--blue);transform:translateY(-2px)}}.contents-mood-card{margin-top:14px;background:#fff9ed}.guide-divider{border-top:2px solid var(--blue);padding:26px 0 0;margin:58px 0 28px}.guide-divider h2{margin-bottom:14px}.guide-divider>p:last-child{max-width:800px;color:var(--muted)}.destination-cluster{margin:26px 0 38px}.cluster-heading{margin:0 0 22px;max-width:800px}.cluster-heading h3{font-size:21px;margin-bottom:10px}.cluster-heading p{color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.card{min-width:0;background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.photo-frame{width:100%;margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center;cursor:zoom-in}.body{padding:26px}.body h3{font-size:25px;margin-bottom:16px}.body p{font-size:15px;line-height:1.8}.card-lead{color:var(--muted)}.photo-tip{padding:15px 17px;background:#fff8e9;border-radius:14px;font-size:13px!important;line-height:1.65!important;margin:20px 0}.photo-tip strong{color:#81521b}.destination-details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.destination-details>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--blue);font-size:14px;font-weight:750}.destination-details>summary span:after{content:' +';margin-left:6px}.destination-details[open]>summary span:after{content:' −'}.destination-details>summary small{font-size:11px;color:var(--muted);font-weight:450}.destination-details[open]>summary{margin-bottom:20px}.route{padding:18px;border-radius:14px;background:var(--soft)}.route a{display:inline-block;font-size:13px;font-weight:700;margin-top:8px}.route>strong:first-child{color:var(--blue)}.island-story{padding:22px;margin-bottom:20px;background:#fff8e9;border-radius:16px}.island-story h4{margin-bottom:12px}.island-story p{font-size:14px}.source-details{margin-top:22px;padding-top:12px;border-top:1px solid var(--line)}.source-details summary{font-size:12px;color:var(--muted)}.source-details p{font-size:12px;line-height:1.65;color:var(--muted);margin:12px 0 0}.source-details a{overflow-wrap:anywhere}.chapter-nav{display:flex;justify-content:space-between;gap:18px;padding:12px 0;font-size:13px}.chapter-nav a{text-decoration:none}.compact-callout,.editorial-callout,.guide-callout{padding:24px;margin:24px 0;border:1px solid var(--line);border-radius:20px;background:var(--soft)}.compact-callout h3,.editorial-callout h3{font-size:21px;margin-bottom:14px}.compact-callout p,.editorial-callout p{font-size:15px}.editorial-callout a{display:inline-block;margin:6px 14px 6px 0;font-size:13px}.action-extra>.body{padding:26px}
.ideas,.hidden-gems,.inspiration-section,.practical-grid-section,#fotografie{margin:0 0 42px;padding:0}.ideas>h2{margin-bottom:18px}.ideas>p{max-width:850px;color:var(--muted)}.combo-grid,.mood-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.combo,.mood-links a{padding:24px;border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);text-decoration:none}.combo h3{font-size:21px;margin-bottom:12px}.combo p{font-size:15px;color:var(--muted)}.mood-links strong{display:block;font-size:19px}.mood-links small{display:block;font-size:13px;margin-top:7px;color:var(--muted)}.editorial-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.editorial-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:var(--shadow)}.editorial-card h3{font-size:21px;margin-bottom:14px}.editorial-card p{font-size:14px;line-height:1.75;color:var(--muted)}.editorial-card>a{font-size:13px;display:block;margin-top:12px;font-weight:650}.inspiration-card{padding:0 0 24px;overflow:hidden}.inspiration-card h3,.inspiration-card p,.inspiration-card>a{margin-left:24px;margin-right:24px}.inspiration-card h3{margin-top:22px}.inspiration-photo{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}.inspiration-photo img{width:100%;height:100%;object-fit:cover}.inspiration-card.text-only{padding-top:24px;background:linear-gradient(140deg,#fff9e9,#edf7fc)}.inspiration-card.text-only h3{margin-top:0}.note{padding:20px;background:#fff8e9;border-radius:18px}.site-footer{padding:34px max(28px,calc((100vw - 1184px)/2)) 28px;background:linear-gradient(180deg,#eef4f7 0%,#e8f0f4 100%);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.footer-main{display:flex;align-items:center;justify-content:flex-start;gap:24px;padding-bottom:22px}.footer-brand{display:flex;align-items:center;gap:16px;min-width:0}.footer-logo{width:72px;height:72px;flex:none}.footer-brand-copy strong{display:block;color:var(--ink);font-size:17px;line-height:1.3}.footer-brand-copy p{margin:6px 0 0;max-width:620px;line-height:1.6}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;margin:0}.footer-links a{color:var(--ink);font-weight:650;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-note{margin:0;padding:15px 0 18px;border-top:1px solid #cfdae1;line-height:1.55;font-size:12px}.footer-details{border-top:1px solid #cfdae1}.footer-details>summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:17px 2px;cursor:pointer;list-style:none;color:var(--ink)}.footer-details>summary::-webkit-details-marker{display:none}.footer-details>summary:after{content:'+';grid-column:2;grid-row:1/3;font-size:21px;font-weight:500;color:var(--blue)}.footer-details[open]>summary:after{content:'−'}.footer-summary-title{font-weight:750;font-size:14px}.footer-details>summary small{font-size:11px;color:var(--muted);font-weight:500}.footer-details-body{padding:0 2px 20px;max-width:900px;line-height:1.7}.footer-details-body p{margin:0 0 12px}.footer-details-body p:last-child{margin-bottom:0}.footer-contact{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:16px 0 0}.footer-contact dt{font-weight:700;color:var(--ink)}.footer-contact dd{margin:0}.footer-contact a{color:var(--blue)}.photo-dialog{border:0;border-radius:20px;padding:54px 18px 18px;max-width:95vw;max-height:95dvh;background:white}.photo-dialog::backdrop{background:#081a2de6}.photo-dialog img{width:auto;height:auto;max-width:100%;max-height:76dvh;object-fit:contain;margin:auto}.photo-dialog button{position:absolute;right:14px;top:12px;border:1px solid var(--line);border-radius:999px;padding:7px 15px;background:var(--soft);color:var(--ink)}.photo-dialog p{font-size:13px;margin:12px 0 0}.back-top{position:fixed;bottom:18px;right:18px;z-index:40;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fffffff5;box-shadow:var(--shadow);text-decoration:none;color:var(--ink)}
@media(max-width:1000px){.hero-layout{gap:28px}.hero-title{font-size:48px}.birthday-brand .brand-logo{width:88px;height:88px}.contents-grid{grid-template-columns:1fr 1fr}.editorial-card-grid{grid-template-columns:1fr 1fr}.part-nav a{padding:14px;font-size:13px}.hero-intro{font-size:14px}}
@media(max-width:700px){html{scroll-padding-top:80px}[id]{scroll-margin-top:80px}.quick-nav{padding:10px 16px;min-height:68px;gap:10px}.menu-brand{font-size:13px;gap:8px}.menu-brand .brand-logo{width:38px;height:38px}.topic-menu>summary{width:44px;height:44px;min-height:44px;padding:0}.menu-icon{width:19px;height:15px}.topic-menu[open] .menu-icon .bar-1{transform:translateY(6.5px) rotate(45deg)}.topic-menu[open] .menu-icon .bar-3{transform:translateY(-6.5px) rotate(-45deg)}.topic-panel{right:14px;width:calc(100vw - 28px);max-height:calc(100dvh - 82px);padding:18px 14px}.menu-groups{grid-template-columns:1fr}.hero{padding:30px 18px 34px}.hero-layout{display:flex;flex-direction:column;gap:24px;align-items:stretch}.birthday-brand{gap:14px;margin-bottom:18px}.birthday-brand .brand-logo{width:84px;height:84px}.birthday-eyebrow{font-size:15px}.birthday-tagline{font-size:12px}.hero-title{font-size:clamp(36px,10.2vw,62px)}.hero-sub{font-size:17px;margin:14px 0}.hero-date{font-size:12px;margin-bottom:18px}.hero-intro{font-size:15px}.hero-bg-photo{ -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.98) 36%,rgba(0,0,0,.80) 52%,rgba(0,0,0,.50) 66%,rgba(0,0,0,.22) 76%,rgba(0,0,0,.07) 84%,rgba(0,0,0,0) 91%);mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.98) 36%,rgba(0,0,0,.80) 52%,rgba(0,0,0,.50) 66%,rgba(0,0,0,.22) 76%,rgba(0,0,0,.07) 84%,rgba(0,0,0,0) 91%)}.hero-bg-photo img{object-position:center 80%}.hero-bg-overlay{-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.94) 0%,rgba(0,0,0,.86) 38%,rgba(0,0,0,.46) 72%,rgba(0,0,0,.14) 92%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.94) 0%,rgba(0,0,0,.86) 38%,rgba(0,0,0,.46) 72%,rgba(0,0,0,.14) 92%,rgba(0,0,0,0) 100%)}.hero-gallery{padding-right:12px;margin:0 0 28px;width:100%}.hero-main-image{aspect-ratio:16/11;border-radius:22px}.hero-inset-image{width:42%;bottom:-22px;border-width:4px;border-radius:16px}.hero-quote{font-size:22px;margin-top:20px;padding-left:16px}.hero-actions{gap:10px}.hero-actions a{font-size:13px;padding:11px 16px}main{padding:0 16px 44px}.part-nav{grid-template-columns:1fr 1fr;padding:20px 0 0;gap:10px}.part-nav a{padding:14px 12px;gap:9px;font-size:12px;border-radius:14px}.major-section-a,.major-section-b,.major-section-c,.major-section-d{padding-top:40px;margin-bottom:24px}.major-head{grid-template-columns:1fr;gap:16px;padding-bottom:20px}.major-head h2{font-size:32px}.major-head>p{font-size:14px}.major-section>.major-head{margin-bottom:24px}.base,.intro,.pride-event-panel,.trip-freedom{padding:22px;border-radius:20px}.welcome,.accommodation-feature{padding:0}.welcome-details>summary{padding:23px 20px;gap:12px}.welcome-summary-copy strong{font-size:22px}.welcome-summary-copy .eyebrow{font-size:9px}.welcome-summary-copy small{font-size:12px}.welcome-content{padding:0 20px 24px;font-size:15px}.welcome-content .hero-quote{font-size:18px}.island-minute{grid-template-columns:1fr;gap:12px}.island-minute article{padding:18px}.intro h2{font-size:26px}.pride-event-head h2{font-size:29px}.pride-story{padding:20px;margin:24px -2px}.pride-story h3{font-size:23px}.pride-story p{font-size:15px}.pride-event-info{grid-template-columns:1fr;gap:18px}.pride-button{max-width:none}.accommodation-head{padding:24px 20px 0}.accommodation-head h2{font-size:28px}.accommodation-photo-feature{margin:22px 20px;aspect-ratio:4/3}.accommodation-teaser{margin:0 20px 22px;font-size:15px}.accommodation-details>summary{padding:20px;display:block;font-size:15px}.accommodation-details>summary small{display:block;margin-top:6px}.accommodation-gallery{margin:0 20px 24px;grid-template-columns:1fr}.accommodation-facts{margin:20px;grid-template-columns:1fr 1fr;gap:10px}.accommodation-facts>div{padding:15px}.accommodation-copy-grid{margin:24px 20px;grid-template-columns:1fr;gap:24px}.accommodation-note{margin:20px;padding:20px}.accommodation-actions,.accommodation-details>.small{margin:20px}.accommodation-actions a{width:100%}.contents-grid,.grid,.combo-grid,.mood-links,.editorial-card-grid{grid-template-columns:1fr}.contents-card,.contents-mood-card{padding:17px;gap:12px}.contents-card strong{font-size:16px}.contents-overview{margin-bottom:36px}.guide-divider{margin-top:42px;padding-top:22px}.guide-divider h2{font-size:30px}.guide-divider .eyebrow{font-size:10px}.guide-divider>p:last-child{font-size:15px}.body{padding:22px}.body h3{font-size:24px}.grid{gap:22px}.card{border-radius:20px}.destination-details>summary small{font-size:10px}.chapter-nav{font-size:12px}.compact-callout,.editorial-callout,.guide-callout{padding:20px}.editorial-card{padding:22px}.inspiration-card{padding:0 0 22px}.inspiration-card.text-only{padding-top:22px}.section-heading h2{font-size:29px}.combo,.mood-links a{padding:21px}footer{padding:32px 20px}.footer-logo{width:74px;height:74px}.back-top{width:38px;height:38px;right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.menu-bar,.back-top,.photo-dialog,.part-nav{display:none}.hero-layout,.grid,.editorial-card-grid{display:block}.card{break-inside:avoid;margin:20px 0}details>*{display:block!important}}

@media(max-width:700px){.hero{display:flex;flex-direction:column}.hero-layout,.hero-copy{display:contents}.birthday-brand{order:0}.hero-title{order:1}.hero-sub{order:2}.hero-date{order:3;align-self:flex-start}.hero-gallery{order:4;margin-top:6px;margin-bottom:30px}.hero-intro{order:5}.hero-quote{order:6}.hero-actions{order:7}}

.quick-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 22px}.quick-facts>div{background:#edf6f8;padding:10px 12px;border-radius:12px}.quick-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#52667a}.quick-facts dd{margin:3px 0 0;font-size:14px;font-weight:650;line-height:1.4}.planning-note,.planning-panel,.draft-warning{padding:22px;background:#fff7e8;border-radius:18px}.planning-panel{margin:24px 0}.planning-panel details,.combo{padding:24px;background:white;border:1px solid #d9e4eb;border-radius:20px}.combo h3{margin-bottom:16px}.combo details{margin-top:14px}.cross-reference{padding:16px;background:#edf6f8;border-radius:16px}.image-fallback{min-height:160px;display:grid;place-items:center;background:#edf6f8;padding:25px}.legal-content{padding:20px 0}.legal-content h3{margin:24px 0 12px}.body>.bike-routes{margin:20px 0 0}.inspiration-grid figure{margin:0 0 20px}.inspiration-grid figure img{width:100%;aspect-ratio:4/3;object-fit:cover}@media(max-width:400px){.quick-facts{gap:7px}.quick-facts>div{padding:9px}.quick-facts dd{font-size:13px}}

/* Einheitliche Fotohinweise */
.photo-tip{display:block;padding:18px 20px;margin:20px 0;background:#fff7e8;border:1px solid #f0e3c5;border-radius:18px;font-size:15px;line-height:1.65;color:var(--ink)}.photo-tip__label{display:block;font-size:12px;line-height:1.4;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:#795b20;margin-bottom:8px}.photo-tip__text{display:block;font-weight:400}@media(max-width:700px){.photo-tip{padding:16px;font-size:14px}}

/* Abstand und Aktivitaetenauswahl */
#themen .planning-note{margin-top:28px;margin-bottom:12px}#action-extra{background:transparent;padding:0;margin:36px 0;grid-column:1/-1}#action-extra>.action-intro{margin-bottom:26px;max-width:760px}#action-extra h3{margin-bottom:16px}.activity-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#action-extra .activity-choice{margin:0;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}#action-extra .activity-choice>summary{display:grid;grid-template-columns:1fr 24px;gap:8px;padding:22px;list-style:none;color:var(--ink)}#action-extra .activity-choice>summary:after{content:'+';font-size:25px;grid-column:2;grid-row:1/3;align-self:center;color:var(--blue)}#action-extra .activity-choice[open]>summary:after{content:'−'}#action-extra .activity-choice strong{font-size:18px;line-height:1.3}#action-extra .activity-choice small{font-size:14px;line-height:1.5;color:var(--muted)}.activity-content{padding:0 22px 22px}.activity-content p{margin-bottom:16px}.activity-content p:last-child{margin-bottom:0}@media(max-width:700px){.activity-choices{grid-template-columns:1fr}#themen .planning-note{margin-top:24px}#action-extra .activity-choice>summary{padding:20px}.activity-content{padding:0 20px 20px}}

/* Feinschliff 07.10.2026: mehr Luft zwischen Zielkarten und Abschnitten */
.destination-cluster{margin:34px 0 52px}
.grid{gap:28px}



.section-heading{margin-bottom:30px}
@media(max-width:700px){.destination-cluster{margin:28px 0 42px}.grid{gap:22px}.section-heading{margin-bottom:24px}}


.photo-frame.remote-failed{min-height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef4f7,#f7f2ea);padding:1rem;text-align:center}
.photo-frame.remote-failed img{display:none}
.photo-frame.remote-failed 



.photo-tip{display:block;padding:18px 20px;margin:20px 0;background:#fff7e8;border:1px solid #f0e3c5;border-radius:18px;font-size:15px;line-height:1.65;color:var(--ink)}.photo-tip__label{display:block;font-size:12px;line-height:1.4;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:#795b20;margin-bottom:8px}.photo-tip__text{display:block;font-weight:400}@media(max-width:700px){.photo-tip{padding:16px;font-size:14px}}

/* Kapitelhierarchie – klare Trennung ohne technische Buchstaben-Codes */
.part-nav{gap:12px}.part-nav a{justify-content:center;text-align:center;font-size:14px;font-weight:760;letter-spacing:-.01em;background:#fff;border:1px solid var(--line);min-height:56px}@media (hover:hover) and (pointer:fine){.part-nav a:hover{background:var(--soft);border-color:#8db9cc}}.part-nav b{display:none!important}

.major-section>.major-head{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:end;gap:34px;margin:0 0 38px;padding:34px 36px;border:0;border-radius:28px;background:linear-gradient(135deg,#102f4b 0%,#0d4f72 58%,#087b8d 100%);color:white;box-shadow:0 18px 48px #17344a1f;overflow:hidden}.major-section>.major-head:after{content:'';position:absolute;right:-80px;top:-110px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,#6fe7f330,transparent 68%);pointer-events:none}.major-section>.major-head .eyebrow{position:relative;z-index:1;margin-bottom:11px;color:#91ecf3;font-size:11px;letter-spacing:.15em}.major-section>.major-head h2{position:relative;z-index:1;color:white;font-size:clamp(32px,4vw,48px);letter-spacing:-.045em}.major-section>.major-head>p{position:relative;z-index:1;color:#e8f5fa;font-size:15px;line-height:1.7;max-width:520px;margin:0}

.guide-divider{position:relative;margin:66px 0 30px;padding:29px 30px 28px;border:1px solid #cce0e8;border-radius:24px;background:linear-gradient(135deg,#eef8fb 0%,#ffffff 72%);box-shadow:0 10px 28px #16334a0a;overflow:hidden}.guide-divider:before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#087b91,#0b61a4)}.guide-divider .eyebrow{margin:0 0 9px;color:#087b91;font-size:10px;letter-spacing:.14em}.guide-divider h2{font-size:clamp(28px,3.4vw,40px);line-height:1.12;margin:0 0 10px;color:var(--ink)}.guide-divider>p:last-child{margin:0;max-width:760px;color:var(--muted);font-size:15px;line-height:1.65}

@media(max-width:700px){.part-nav{grid-template-columns:1fr 1fr;gap:9px}.part-nav a{min-height:52px;padding:13px 10px;font-size:12px}.major-section>.major-head{grid-template-columns:1fr;gap:14px;margin-bottom:28px;padding:27px 23px;border-radius:22px}.major-section>.major-head h2{font-size:34px}.major-section>.major-head>p{font-size:14px}.guide-divider{margin:52px 0 24px;padding:25px 22px 24px;border-radius:20px}.guide-divider h2{font-size:30px}.guide-divider>p:last-child{font-size:14px}}


/* Navigation & Sprungfeedback */
.menu-heading strong{font-size:17px;letter-spacing:-.01em}
.menu-category>summary{font-size:15px;padding:15px 16px;background:linear-gradient(135deg,#edf6f8,#f8fbfc)}
.menu-category a{position:relative;padding:10px 14px 10px 16px;transition:background .18s ease,color .18s ease,padding .18s ease}
.menu-category a.is-current{background:#e8f6f8;color:#006f82;font-weight:800;padding-left:20px}
.menu-category a.is-current:before{content:'';position:absolute;left:0;top:7px;bottom:7px;width:4px;border-radius:0 4px 4px 0;background:#008fa3}



.jump-status{position:fixed;z-index:66;top:86px;left:50%;transform:translate(-50%,-12px);display:flex;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:10px 16px;border:1px solid #b9dfe5;border-radius:999px;background:#f4fcfd;color:#083a49;box-shadow:0 12px 32px #12364b22;font-size:13px;font-weight:750;line-height:1.35;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.jump-status.is-visible{opacity:1;transform:translate(-50%,0)}.jump-status[hidden]{display:none}.jump-status>span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#008fa3;color:white;font-size:13px;flex:none}.jump-status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jump-highlight{outline:3px solid #008fa3!important;outline-offset:6px!important;box-shadow:0 0 0 8px #008fa31c,var(--shadow)!important;transition:outline-color .25s ease,box-shadow .25s ease}
@keyframes jump-arrival{0%,100%{outline-color:#008fa3;box-shadow:0 0 0 3px #008fa314,var(--shadow)}45%{outline-color:#00a9bd;box-shadow:0 0 0 11px #00a9bd22,var(--shadow)}}
.jump-highlight{animation:jump-arrival 1.15s ease 2}
@media(max-width:700px){.menu-heading strong{font-size:16px}.menu-category>summary{font-size:14px}.jump-status{top:76px;padding:9px 13px;font-size:12px;max-width:calc(100vw - 24px)}.birthday-eyebrow{font-size:clamp(18px,5.5vw,24px)}}
@media(prefers-reduced-motion:reduce){.jump-status{transition:none}.jump-highlight{animation:none}}

/* Persönliche Danksagung – deutlich als aufklappbarer Inhalt erkennbar */
.welcome{border:1px solid #c9deeb;background:linear-gradient(110deg,#edf6fd,#fff9ec);box-shadow:0 14px 38px #16334a12}
.welcome-details>summary{position:relative;padding:27px 30px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;cursor:pointer}
.welcome-details>summary:hover{background:#ffffff36}
.welcome-summary-copy{min-width:0}
.welcome-summary-copy strong{font-size:25px;line-height:1.25}
.welcome-summary-copy small{display:block;margin-top:8px;color:var(--muted);font-size:13px}
.welcome-open-hint{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 15px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:750;white-space:nowrap;box-shadow:0 7px 18px #075ca82b;transition:transform .18s ease,background .18s ease}
.welcome-open-label:before{content:'Persönliche Danksagung lesen'}
.welcome-open-arrow{font-size:20px;line-height:1;transform:translateY(-1px);transition:transform .2s ease}
.welcome-details[open] .welcome-open-label:before{content:'Danksagung schließen'}
.welcome-details[open] .welcome-open-arrow{transform:rotate(180deg) translateY(1px)}
.welcome-details[open]>summary{border-bottom:1px solid var(--line)}
.welcome-details>summary:focus-visible .welcome-open-hint{outline:3px solid #fff;outline-offset:2px}
@media(max-width:700px){
  .welcome-details>summary{grid-template-columns:1fr;gap:17px;padding:23px 20px}
  .welcome-open-hint{width:100%;min-height:46px;font-size:14px}
  .welcome-summary-copy strong{font-size:22px}
}


/* Danksagung – kompaktere Typografie und weniger dominanter CTA */
.welcome-summary-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.welcome-summary-copy .eyebrow{margin-bottom:10px}
.welcome-summary-copy strong{margin:0;font-size:25px;line-height:1.18}
.welcome-summary-copy small{margin-top:5px;font-size:13px;line-height:1.45;color:var(--muted)}
.welcome-open-hint{min-height:40px;padding:8px 14px;font-size:12.5px;gap:8px;box-shadow:0 5px 14px #075ca824}
.welcome-open-arrow{font-size:18px}
@media(max-width:700px){
  .welcome-details>summary{gap:14px}
  .welcome-summary-copy .eyebrow{margin-bottom:8px}
  .welcome-summary-copy strong{font-size:22px;line-height:1.17}
  .welcome-summary-copy small{margin-top:4px;font-size:12.5px;line-height:1.4}
  .welcome-open-hint{width:auto;min-width:0;max-width:340px;min-height:42px;padding:9px 15px;font-size:13px;justify-self:start}
}

@media(max-width:700px){.hero-bg-photo,.hero-bg-overlay{height:790px}.hero-bg-photo img{object-position:center 58%;filter:saturate(1.18) brightness(1.07) contrast(.97) sepia(.04)}.birthday-eyebrow{font-size:clamp(20px,6vw,26px)!important;font-weight:820}.birthday-tagline{font-size:13px}}
@media(max-width:700px){.site-footer{padding:34px 20px 28px}.footer-main{display:block;padding-bottom:20px}.footer-brand{align-items:center}.footer-logo{width:62px;height:62px}.footer-brand-copy strong{font-size:15px}.footer-brand-copy p{font-size:12px}.footer-links{justify-content:flex-start;margin-top:20px;gap:10px 16px}.footer-links a{font-size:12px}.footer-note{padding:14px 0 16px}.footer-details>summary{padding:16px 0}.footer-details-body{padding:0 0 18px;font-size:12.5px}.footer-contact{grid-template-columns:1fr;gap:2px}.footer-contact dd{margin-bottom:8px}}.footer-details:first-of-type{border-top:1px solid #cfdae1}.footer-details>summary{grid-template-columns:1fr auto;gap:10px;padding:18px 2px}.footer-details>summary:after{grid-column:2;grid-row:1}.footer-bottom{margin:0;padding:18px 0 0;border-top:1px solid #cfdae1;font-size:11px;color:var(--muted)}@media(max-width:700px){.site-footer{padding-top:30px;padding-bottom:24px}.footer-main{padding-bottom:20px}.footer-brand-copy p{margin-top:4px}.footer-details>summary{padding:17px 0}.footer-details-body{padding:0 0 18px}.footer-bottom{padding-top:16px}}.zoomable-photo{cursor:zoom-in}.zoomable-photo:focus-visible{outline:4px solid var(--cyan);outline-offset:4px}

/* === Hierarchische Guide-Akkordeons === */
details.major-accordion,
details.subarea-accordion{min-width:0}

details.major-accordion>summary,
details.subarea-accordion>summary{
  list-style:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
details.major-accordion>summary::-webkit-details-marker,
details.subarea-accordion>summary::-webkit-details-marker{display:none}

details.major-accordion>summary.major-head{
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr) 48px;
  align-items:center;
  margin-bottom:0;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
@media (hover:hover) and (pointer:fine){
  details.major-accordion>summary.major-head:hover{
    box-shadow:0 21px 52px #17344a28;
  }
}
details.major-accordion[open]>summary.major-head{margin-bottom:30px}

.major-accordion-body{min-width:0}

.accordion-chevron{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.10);
  flex:0 0 auto;
  transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.accordion-chevron:before{
  content:'';
  width:10px;
  height:10px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform .22s ease;
}
details[open]>summary>.accordion-chevron:before{
  transform:rotate(225deg) translate(-2px,-2px);
}

.subarea-accordion{
  margin:0 0 16px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 26px rgba(20,52,73,.06);
  overflow:hidden;
}
.subarea-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  background:linear-gradient(135deg,#fff 0%,#f7fbfd 100%);
  transition:background .18s ease;
}
@media (hover:hover) and (pointer:fine){
  .subarea-summary:hover{background:#f3f9fc}
}
.subarea-summary-copy{min-width:0}
.subarea-summary .eyebrow{
  margin:0 0 6px;
  color:var(--blue);
  font-size:10px;
  letter-spacing:.14em;
}
.subarea-summary h2,
.subarea-summary h3{
  margin:0;
  color:var(--ink);
  font-size:clamp(21px,2.4vw,28px);
  line-height:1.18;
  letter-spacing:-.025em;
}
.subarea-summary-copy>p:last-child:not(.eyebrow){
  margin:7px 0 0;
  max-width:820px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.subarea-summary .accordion-chevron{
  width:38px;
  height:38px;
  color:var(--blue);
  border-color:var(--line);
  background:#fff;
}
.subarea-accordion[open]>.subarea-summary{
  border-bottom:1px solid var(--line);
}
.subarea-content{padding:26px 22px 8px}
.island-subarea>.subarea-content{padding-top:10px}
.island-subarea .organized-chapter{margin-top:0}

details.subarea-accordion.jump-highlight,
details.major-accordion.jump-highlight{
  outline:3px solid rgba(0,120,170,.20);
  outline-offset:3px;
}

@media(max-width:760px){
  details.major-accordion>summary.major-head{
    grid-template-columns:minmax(0,1fr) 44px;
    gap:10px 14px;
    align-items:center;
  }
  details.major-accordion>summary.major-head>div:first-child{
    grid-column:1;
    grid-row:1;
  }
  details.major-accordion>summary.major-head>p{
    grid-column:1;
    grid-row:2;
  }
  details.major-accordion>summary.major-head>.accordion-chevron{
    grid-column:2;
    grid-row:1 / span 2;
    width:40px;
    height:40px;
  }
  details.major-accordion[open]>summary.major-head{margin-bottom:22px}
  .subarea-summary{
    grid-template-columns:minmax(0,1fr) 38px;
    gap:12px;
    padding:17px 16px;
  }
  .subarea-summary .accordion-chevron{width:34px;height:34px}
  .subarea-summary h2,.subarea-summary h3{font-size:21px}
  .subarea-summary-copy>p:last-child:not(.eyebrow){font-size:13px}
  .subarea-content{padding:20px 14px 6px}
}





/* === Ausführliche Hamburger-Navigation === */
.topic-panel .menu-groups{align-items:start}
.topic-panel .menu-category>summary{cursor:pointer;-webkit-tap-highlight-color:transparent}
.topic-panel .menu-category>summary::-webkit-details-marker{display:none}
.topic-panel .menu-category a[aria-current="location"]{
  background:#eef7fb;
  color:var(--blue);
  font-weight:750;
}
@media(max-width:760px){
  .topic-panel{padding:18px}
  .menu-groups{grid-template-columns:1fr}
  .menu-category>summary{padding:14px 15px}
  .menu-category a{padding:11px 15px;min-height:46px;font-size:14px}
}


.topic-panel .menu-heading strong{
  color:var(--ink);
  letter-spacing:-.02em;
}
.topic-panel .menu-category a[aria-current="location"]{
  background:#eef7fb;
  color:var(--blue);
  font-weight:700;
}
@media(max-width:760px){
  .menu-heading{
    align-items:center;
    margin-bottom:16px;
  }
  .menu-heading strong{
    font-size:20px;
  }
  .menu-top-link{
    padding:8px 10px;
    font-size:12.5px;
  }
}

.menu-top-arrow{
  display:inline-block;
  font-size:15px;
  line-height:1;
  transform:translateY(-1px);
}


.keep-together{white-space:nowrap}


details.major-accordion[id],
details.subarea-accordion[id],
section[id]{scroll-margin-top:96px}
@media(max-width:760px){
  details.major-accordion[id],
  details.subarea-accordion[id],
  section[id]{scroll-margin-top:86px}
}


.destination-extra{
  margin:18px 0 2px;
  padding:15px 17px;
  border-left:3px solid #9fcbdc;
  border-radius:0 12px 12px 0;
  background:#f7fbfc;
}
.destination-extra p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.65;
}
.destination-extra p+p{margin-top:9px}
.destination-extra strong{color:var(--ink)}
@media(max-width:760px){
  .destination-extra{margin-top:16px;padding:14px 15px}
  .destination-extra p{font-size:13px}
}


/* === Sauberer vertikaler Rhythmus im Einstieg === */
main > .part-nav{
  margin-bottom:30px;
}
main > #willkommen{
  margin-bottom:30px;
}
@media(max-width:760px){
  main > .part-nav{
    margin-bottom:26px;
  }
  main > #willkommen{
    margin-bottom:28px;
  }
}


/* === Kategorie-Zurücknavigation: finale Gestaltung === */
.chapter-nav{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:0;
  margin:26px 0 6px;
  padding:0;
  font-size:inherit;
}
.chapter-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f7fbfc;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.005em;
  text-decoration:none;
  box-shadow:0 5px 15px rgba(20,52,73,.05);
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.chapter-nav a:hover{
  background:#eef7fb;
  border-color:#b7d7e3;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(20,52,73,.08);
}
.chapter-nav-arrow{
  display:inline-block;
  color:var(--blue);
  font-size:15px;
  line-height:1;
  transform:translateY(-1px);
}
@media(max-width:760px){
  .chapter-nav{
    margin:24px 0 4px;
  }
  .chapter-nav a{
    min-height:40px;
    padding:9px 13px;
    font-size:12.5px;
  }
}


/* === Kompaktere Abstände zwischen den Hauptbereichen === */
main > #willkommen{
  margin-bottom:20px;
}
main > details.major-accordion{
  margin-bottom:26px;
}
main > details.major-accordion + details.major-accordion{
  padding-top:18px;
}
@media(max-width:760px){
  main > #willkommen{
    margin-bottom:16px;
  }
  main > details.major-accordion{
    margin-bottom:18px;
  }
  main > details.major-accordion + details.major-accordion{
    padding-top:10px;
  }
}


/* === Danksagung als ruhiger Übergang zwischen Navigation und Reise === */
main > #willkommen{
  width:100%;
  max-width:none;
  margin:24px auto 28px;
}
@media(max-width:760px){
  main > #willkommen{
    width:100%;
    max-width:none;
    margin:22px auto 24px;
  }
}


/* === Exakt gleicher Abstand rund um die Danksagung === */
main > .part-nav{
  margin-bottom:28px;
}
main > #willkommen{
  width:100%;
  max-width:none;
  margin:0 auto 28px;
}
main > #unsere-reise.major-section-a{
  padding-top:0;
}

@media(max-width:760px){
  main > .part-nav{
    margin-bottom:24px;
  }
  main > #willkommen{
    width:100%;
    max-width:none;
    margin:0 auto 24px;
  }
  main > #unsere-reise.major-section-a{
    padding-top:0;
  }
}


/* === Schlankerer Sticky-Kopf === */
.quick-nav{
  min-height:68px;
  padding:8px 28px;
}
.menu-brand .brand-logo{
  width:42px;
  height:42px;
}
.topic-menu>summary{
  width:44px;
  height:44px;
  min-height:44px;
}
.topic-panel{
  max-height:calc(100dvh - 78px);
}

@media(max-width:760px){
  .quick-nav{
    min-height:56px;
    padding:4px 16px;
    gap:10px;
  }
  .menu-brand{
    gap:8px;
    font-size:13px;
  }
  .menu-brand .brand-logo{
    width:34px;
    height:34px;
  }
  .topic-menu>summary{
    width:44px;
    height:44px;
    min-height:44px;
  }
  .topic-panel{
    max-height:calc(100dvh - 64px);
  }
}


/* === Cross-Device-Finalisierung: Touch & Safe Areas === */
a,button,summary{
  touch-action:manipulation;
}
.photo-dialog button{
  min-height:44px;
}
.back-top{
  width:44px;
  height:44px;
  right:max(14px, env(safe-area-inset-right));
  bottom:max(14px, env(safe-area-inset-bottom));
}
.chapter-nav a{
  min-height:44px;
}
.welcome-open-hint{
  min-height:44px;
}
.quick-nav{
  padding-left:max(28px, env(safe-area-inset-left));
  padding-right:max(28px, env(safe-area-inset-right));
}
@media(max-width:760px){
  .quick-nav{
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
  }
  .chapter-nav a{
    min-height:44px;
  }
}


/* === Responsive-Finalisierung: Tablet, kleine Displays und Skalierung === */

/* Tablets im Hochformat und schmale Tablets:
   mehr Luft in der Breite, dafür keine gequetschten Mehrspalten-Layouts. */
@media (min-width:701px) and (max-width:900px){
  .hero{
    padding:42px 28px 40px;
  }
  .hero-layout{
    grid-template-columns:1fr;
    gap:30px;
    align-items:start;
  }
  .hero-copy{
    width:min(100%,760px);
    margin-inline:auto;
  }
  .hero-gallery{
    width:min(100%,760px);
    margin:0 auto 36px;
    padding-right:0;
  }
  .hero-main-image{
    aspect-ratio:16/10;
  }
  .hero-inset-image{
    width:34%;
    bottom:-20px;
  }

  .part-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .part-nav a{
    min-height:54px;
  }

  details.major-accordion>summary.major-head{
    grid-template-columns:minmax(0,1fr) 46px;
    gap:12px 18px;
    align-items:center;
    padding:30px 28px;
  }
  details.major-accordion>summary.major-head>div:first-child{
    grid-column:1;
    grid-row:1;
  }
  details.major-accordion>summary.major-head>p{
    grid-column:1;
    grid-row:2;
    max-width:680px;
  }
  details.major-accordion>summary.major-head>.accordion-chevron{
    grid-column:2;
    grid-row:1 / span 2;
    width:42px;
    height:42px;
  }

  .travel-style-grid{
    grid-template-columns:1fr;
    padding:0 28px 10px;
  }
  .travel-style-grid article,
  .travel-style-grid article:first-child,
  .travel-style-grid article:last-child{
    padding:18px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .travel-style-grid article:last-child{
    border-bottom:0;
  }

  .island-minute{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .island-minute article:last-child{
    grid-column:1 / -1;
  }

  .pride-event-info{
    grid-template-columns:1fr;
    gap:18px;
  }

  .accommodation-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .accommodation-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .accommodation-copy-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .topic-panel{
    width:min(680px,calc(100vw - 32px));
  }
}

/* Sehr kleine Smartphones: Überschriften skalieren, ohne die
   vom Nutzer gewünschte Wortgruppe "Gemeinsam unterwegs." zu trennen. */
@media (max-width:380px){
  .hero{
    padding-left:15px;
    padding-right:15px;
  }
  main{
    padding-left:14px;
    padding-right:14px;
  }
  .hero-title{
    font-size:34px;
  }
  .travel-style h2{
    font-size:25px;
  }
  .welcome-summary-copy strong{
    font-size:20px;
  }
  .major-section>.major-head h2{
    font-size:31px;
  }
  .subarea-summary h2,
  .subarea-summary h3{
    font-size:20px;
  }
}

/* Große Desktop-Monitore: Inhalt bewusst begrenzen, statt ihn breit zu ziehen. */
@media (min-width:1440px){
  .hero-layout,
  .part-nav,
  main{
    max-width:1240px;
  }
  .hero-layout{
    margin-inline:auto;
  }
}


.major-accordion-body > .major-return-nav{
  margin-top:30px;
  margin-bottom:2px;
}
@media(max-width:760px){
  .major-accordion-body > .major-return-nav{
    margin-top:24px;
    margin-bottom:2px;
  }
}


.subarea-content > .subarea-return-nav{
  margin-top:26px;
  margin-bottom:4px;
}
@media(max-width:760px){
  .subarea-content > .subarea-return-nav{
    margin-top:22px;
    margin-bottom:4px;
  }
}


/* === Saisonale Veranstaltungen in „Unsere Ideen“ === */
.seasonal-events{
  margin:34px 0 8px;
}
.seasonal-events .section-heading{
  margin-bottom:20px;
}
.seasonal-events .section-heading>p:last-child{
  max-width:860px;
  color:var(--muted);
}
.seasonal-event-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.seasonal-event-card{
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
}
.seasonal-event-card .eyebrow{
  margin:0 0 7px;
  color:var(--blue);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}
.seasonal-event-card h3{
  margin:0 0 12px;
  color:var(--ink);
  font-size:21px;
}
.seasonal-event-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}
.seasonal-event-card p+p{
  margin-top:12px;
}
.seasonal-event-card strong{
  color:var(--ink);
}
.seasonal-event-card a{
  display:inline-block;
  margin-top:16px;
  font-size:13px;
  font-weight:700;
}
.seasonal-event-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.6;
}
@media(max-width:760px){
  .seasonal-events{
    margin-top:28px;
  }
  .seasonal-event-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .seasonal-event-card{
    padding:20px;
  }
}


/* === Maspalomas: kurze Wege & spontane Ideen === */
.local-ideas-cluster{
  margin-top:38px;
}
.local-idea-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.local-idea-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
}
.local-idea-head .eyebrow{
  margin:0 0 7px;
  color:var(--blue);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.local-idea-head h3{
  margin:0;
  font-size:21px;
  line-height:1.2;
}
.local-idea-facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:17px 0 18px;
  gap:8px;
}
.local-idea-facts>div{
  padding:9px 10px;
}
.local-idea-facts dd{
  font-size:13px;
}
.local-idea-text{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}
.local-idea-tip{
  margin:16px 0 0;
  padding:13px 14px;
  border-radius:14px;
  background:#f7fbfc;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
.local-idea-tip strong{
  color:var(--ink);
}
.local-idea-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:16px;
}
.local-idea-actions a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  font-size:12.5px;
  font-weight:700;
}
.local-ideas-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.6;
}
.faro-culture-story .local-idea-actions{
  margin-top:14px;
}
@media(max-width:1000px){
  .local-idea-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .local-idea-card:last-child{
    grid-column:1 / -1;
  }
}
@media(max-width:700px){
  .local-ideas-cluster{
    margin-top:30px;
  }
  .local-idea-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .local-idea-card,
  .local-idea-card:last-child{
    grid-column:auto;
    padding:19px;
  }
  .local-idea-actions a{
    min-height:44px;
  }
}


/* === Reiseprinzipien: dezente Symbol-Badges statt 01/02/03 === */
.travel-style-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:14px;
  background:#edf6f8;
  color:var(--blue);
}
.travel-style-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:760px){
  .travel-style-grid article,
  .travel-style-grid article:first-child,
  .travel-style-grid article:last-child{
    grid-template-columns:42px minmax(0,1fr);
  }
  .travel-style-icon{
    width:42px;
    height:42px;
  }
}


/* Oktober-Ideen in derselben Karten- und Akkordeon-Gestaltung wie die übrigen Ideen */
#events-oktober .combo-grid{margin-top:0}
#events-oktober .combo{display:flex;flex-direction:column;gap:0}
#events-oktober .combo .eyebrow{margin:0 0 8px}
#events-oktober .combo h3{margin:0 0 14px}
#events-oktober .combo p{line-height:1.7}
#events-oktober .combo p+p{margin-top:14px}
#events-oktober .combo .seasonal-source-link{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;padding-top:14px;font-weight:700}
@media(max-width:700px){
  #events-oktober .combo-grid{gap:12px}
}


/* Danksagung: gleichbleibender CTA im offenen und geschlossenen Zustand */
.welcome-open-hint{box-sizing:border-box;transition:background .18s ease,box-shadow .18s ease}
.welcome-open-label{display:grid;grid-template-columns:max-content;align-items:center}
.welcome-open-label::before,
.welcome-details[open] .welcome-open-label::before{content:none}
.welcome-open-label>span{grid-area:1 / 1;white-space:nowrap}
.welcome-open-label .welcome-label-open{visibility:hidden}
.welcome-details[open] .welcome-label-rest{visibility:hidden}
.welcome-details[open] .welcome-label-open{visibility:visible}
.welcome-open-arrow{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;transform:none;transition:transform .2s ease}
.welcome-open-arrow svg{display:block;width:19px;height:19px}
.welcome-details[open] .welcome-open-arrow{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.welcome-open-arrow{transition:none}}


/* === Typografie-Feinschliff v84: ruhiger Magazinsatz auf Tablet/Desktop ===
   Nur längere Fließtexte werden dort in Blocksatz gesetzt.
   Überschriften, Listen, Fakten, Links, Buttons und kurze Notizen bleiben unverändert. */
@media (min-width:768px){
  .welcome-content > p:not(.hero-quote),
  .intro > p,
  .pride-story > p,
  .travel-style-intro,
  .body > .card-lead,
  .destination-details > p:not(.photo-credit),
  .island-story > p:not(.eyebrow),
  .accommodation-copy-grid article > p,
  .editorial-card > p,
  .local-idea-text,
  #events-oktober .combo > p:not(.eyebrow),
  .subarea-content > p:not(.eyebrow){
    text-align:justify;
    text-align-last:start;
    -webkit-hyphens:auto;
    hyphens:auto;
    overflow-wrap:break-word;
  }
}


/* v85: Orientierung für Insel-Neulinge, Pride-Einstieg und Mobilität */
.island-orientation{
  margin:0 0 27px;padding:22px 24px;border:1px solid var(--line);
  border-radius:20px;background:#f7fafb;
}
.island-orientation>.eyebrow,.pride-first-time>.eyebrow{margin:0 0 7px}
.island-orientation h3,.pride-first-time h3{margin:0 0 8px;font-size:23px;line-height:1.25;color:var(--ink)}
.island-orientation-lead,.pride-first-time-intro{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.island-orientation-grid,.pride-first-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:19px}
.island-orientation-item,.pride-first-time-item{min-width:0;padding-left:14px;border-left:3px solid #b4d8e3}
.island-orientation-item h4,.pride-first-time-item h4{font-size:15px;line-height:1.4;margin:0 0 6px;color:var(--ink)}
.island-orientation-item p,.pride-first-time-item p{font-size:13.5px;line-height:1.65;margin:0;color:var(--muted)}
.pride-first-time{margin:28px 0 26px;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:#f7fafb}
.pride-first-time-note{margin:18px 0 0;font-size:13px;line-height:1.65;color:var(--muted)}
.combo-mobility-note{margin:0 0 16px;padding:0 2px;font-size:14px;line-height:1.65;color:var(--muted)}
.combo-grid{margin-top:0}
.combo > .combo-mobility{
  margin:15px 0 2px;padding:12px 14px;border-radius:13px;
  background:#eef6f9;font-size:13px;line-height:1.6;color:#4f6474;
}
.combo > .combo-mobility strong{font-weight:750;color:var(--ink)}
@media(max-width:1000px){
  .island-orientation-grid,.pride-first-time-grid{grid-template-columns:1fr;gap:14px}
}
@media(max-width:700px){
  .island-orientation,.pride-first-time{padding:19px 18px;border-radius:18px}
  .island-orientation{margin-bottom:20px}
  .island-orientation h3,.pride-first-time h3{font-size:21px}
  .island-orientation-grid,.pride-first-time-grid{gap:14px;margin-top:16px}
  .island-orientation-item,.pride-first-time-item{padding-left:12px}
  .combo > .combo-mobility{font-size:13px;padding:11px 12px}
}

/* Lockerer Hinweis zum Essen im bestehenden Reiseprinzipien-Block */
#reiseidee .travel-style-food-note{
  margin:0;
  padding:18px 30px 22px;
  border-top:1px solid var(--line);
  color:var(--muted);
  background:#fff;
  font-size:14px;
  line-height:1.65;
}
#reiseidee .travel-style-food-note strong{color:var(--ink)}
@media(max-width:760px){
  #reiseidee .travel-style-food-note{
    padding:17px 20px 20px;
    font-size:13.5px;
  }
}


/* v96: Originalmotiv als einziger Aufklapp-Teaser, CTA HTML (kein Teil des Bildes) */
.welcome{padding:0;overflow:hidden;border-radius:24px}
.welcome-details>summary,
.welcome-details[open]>summary{
  display:block;position:relative;box-sizing:border-box;
  width:100%;padding:0;margin:0;min-height:0;
  overflow:hidden;border:0;background:transparent;
  line-height:0;cursor:pointer;
}
.welcome-details>summary:hover{background:transparent}
.welcome-details>summary::marker{content:""}
.welcome-details>summary::-webkit-details-marker{display:none}
.welcome-teaser-image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1448/850;
  object-fit:cover;
  object-position:center top;
}
.welcome-details>summary .welcome-open-hint{
  position:absolute;left:5.4%;bottom:13%;
  box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;
  width:auto;min-width:0;max-width:none;min-height:44px;
  padding:12px 19px;gap:12px;
  color:#fff;background:#0c3657;
  border:1px solid rgba(255,255,255,.8);border-radius:999px;
  box-shadow:0 5px 20px rgba(0,20,40,.20);
  font-size:15px;font-weight:750;line-height:1.2;
  pointer-events:none;
}
.welcome-open-label{display:grid;grid-template-columns:max-content;align-items:center}
.welcome-open-label>span{grid-area:1/1;white-space:nowrap}
.welcome-open-label .welcome-label-open{visibility:hidden}
.welcome-details[open] .welcome-label-rest{visibility:hidden}
.welcome-details[open] .welcome-label-open{visibility:visible}
.welcome-details[open] .welcome-open-arrow{transform:rotate(180deg)}
.welcome-details>summary:focus-visible{outline:3px solid #1467a7;outline-offset:-3px}
.welcome-details>summary:focus-visible .welcome-open-hint{outline:2px solid #fff;outline-offset:2px}
.welcome-details[open]>summary{border-bottom:0}
.welcome-content{max-width:960px;box-sizing:border-box;margin:0 auto;padding:29px 36px 36px}
.welcome-content>p{max-width:850px}
@media(max-width:700px){
  .welcome-teaser-image{
    aspect-ratio:1448/1086;
    object-fit:contain;
    object-position:center center;
  }
  .welcome-details>summary{padding:0;display:block}
  .welcome-details>summary .welcome-open-hint{
    left:4.5%;bottom:5.2%;min-height:36px;
    padding:8px 12px;gap:7px;
    font-size:clamp(10px,3.2vw,13px);
    box-shadow:0 3px 12px rgba(0,20,40,.17)
  }
  .welcome-details>summary .welcome-open-arrow,
  .welcome-details>summary .welcome-open-arrow svg{width:16px;height:16px}
  .welcome-content{padding:23px 20px 27px;font-size:15px}
}
@media(max-width:350px){
  .welcome-details>summary .welcome-open-hint{padding:7px 10px;gap:5px}
}

/* v99 — Endnavigation der langen Danksagung */
.welcome-return-wrap{display:flex;justify-content:center;margin:35px 0 0;padding-top:24px;border-top:1px solid rgba(24,74,108,.14)}
.welcome-return{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 20px;box-sizing:border-box;border-radius:999px;color:#fff;background:#0c3657;text-decoration:none;font-size:14px;font-weight:750;line-height:1.4;box-shadow:0 7px 19px rgba(0,39,74,.16);transition:background-color .2s ease,transform .2s ease}
.welcome-return:hover{background:#085a95;transform:translateY(-1px)}
.welcome-return:focus-visible{outline:3px solid #0f78bc;outline-offset:4px}
.welcome-return span{font-size:20px;line-height:1}
@media(max-width:700px){.welcome-return-wrap{margin-top:28px;padding-top:23px}.welcome-return{width:100%;padding:12px 15px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.welcome-return{transition:none}}

/* v101 – mehr Lesekontrast im bildhinterlegten Einstieg (Desktop & Mobil) */
.hero .birthday-tagline {
  color:#20364b;
  font-weight:650;
  text-shadow:0 1px 2px rgba(255,251,243,.70);
}
.hero .hero-intro {
  color:#182d43;
  font-weight:550;
  line-height:1.8;
  text-shadow:0 1px 2px rgba(255,251,243,.75);
}

/* v103 – Desktop: Texte nutzen breite Inhaltskarten ohne unnötige Leerflächen.
   Bewusst begrenzt bleiben die Danksagung (Lesbarkeit), die geteilten
   Kapitelüberschriften, Faktenlisten sowie Navigation und Buttons. */
@media (min-width: 800px) {
  .pride-event-head > p:not(.eyebrow),
  .pride-story,
  .pride-story > p,
  .travel-style-intro,
  .accommodation-head,
  .section-heading,
  .section-heading > p:last-child,
  .guide-divider > p:last-child,
  .cluster-heading,
  .ideas > p,
  #action-extra > .action-intro,
  .subarea-summary-copy > p:last-child:not(.eyebrow),
  .seasonal-events .section-heading > p:last-child {
    max-width: none;
  }
  .pride-story {
    box-sizing: border-box;
    width: 100%;
    margin-inline: 0;
  }
  .pride-story > p {
    font-size: 16px;
    line-height: 1.75;
  }
}


/* v109 – kompakte Startnavigation am unteren Ende des ersten Bildschirms. */
.hero > .hero-part-nav {
  position:relative;z-index:3;display:grid;width:100%;max-width:1184px;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
  margin: auto auto 0;padding:26px 0 0;
}
.hero .hero-part-nav > a {
  min-width:0;min-height:64px;display:flex;align-items:center;justify-content:space-between;
  position:relative;gap:12px;margin:0;padding:16px 18px;
  border:1px solid rgba(255,255,255,.28);border-radius:16px;
  color:white;text-align:left;text-decoration:none;
  background:linear-gradient(130deg,#102f4b 0%,#0d4f72 64%,#087b8d 100%);
  box-shadow:0 8px 22px rgba(14,50,75,.14);
  transition:transform .18s ease,box-shadow .18s ease;
}
@media (hover:hover) and (pointer:fine){.hero .hero-part-nav > a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(14,50,75,.22)}}
.hero .hero-part-nav > a:focus-visible{outline:3px solid #18a6c6;outline-offset:4px}
.hero .hero-part-nav .home-nav-title{color:white;font-weight:750;font-size:17px;line-height:1.25;letter-spacing:-.025em}
.hero .hero-part-nav .home-nav-arrow{
  flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.27);border-radius:50%;font-size:16px;line-height:1;
}
@media(max-width:900px){
  .hero > .hero-part-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(max-width:700px){
  .hero > .hero-part-nav{order:8;padding-top:26px}
  .hero .hero-part-nav > a{min-height:64px;padding:12px;border-radius:14px;gap:7px}
  .hero .hero-part-nav .home-nav-title{font-size:14px}
  .hero .hero-part-nav .home-nav-arrow{flex-basis:22px;width:22px;height:22px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.hero .hero-part-nav > a{transition:none}}
@media print{.hero > .hero-part-nav{display:none}}

/* Kleine Alt-Styles ebenfalls in der Stylesheet-Datei sammeln. */
.guide-no-top-margin{margin-top:0}
.guide-small-top-gap{margin-top:18px}
.guide-text-top-gap{margin-top:14px}

@media(min-width:901px){
.hero{padding-top:34px;padding-bottom:18px}
.hero-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,.86fr);gap:32px;align-items:center}
.hero-gallery{margin-bottom:24px;max-width:452px;justify-self:end}
.hero-main-image{aspect-ratio:1/1.05;object-position:48% 17%;border-radius:24px}
.hero-inset-image{width:49%;bottom:-22px}
.birthday-brand{margin-bottom:15px;gap:13px}
.birthday-brand .brand-logo{width:78px;height:78px}
.birthday-eyebrow{font-size:clamp(22px,2.2vw,30px)}
.hero-title{font-size:clamp(48px,5vw,65px)}
.hero-sub{margin:12px 0 12px;font-size:21px}
.hero-date{margin-bottom:14px;padding:7px 14px}
.hero-intro{line-height:1.65}
.hero-intro + .hero-intro{margin-top:10px}
.hero .hero-quote{margin-top:17px;font-size:clamp(20px,2.1vw,27px)}
.hero .hero-actions{margin-top:11px}


}

/* Der Einstieg endet mit der Navigation; die Danksagung beginnt erst darunter.
   min-height lässt bei kleinen Displays und Textvergrößerung alle Inhalte fließen. */
.hero{
  display:flex;flex-direction:column;min-height:calc(100vh - 69px);
  min-height:calc(100svh - 69px);padding-bottom:24px;
}
.hero > *:not(.hero-bg-photo):not(.hero-bg-overlay){flex-shrink:0}
.hero-layout{width:100%}
main{padding-top:48px}
@media(max-width:760px){
  .hero{min-height:calc(100vh - 57px);min-height:calc(100svh - 57px)}
  main{padding-top:32px}
}
@media print{.hero{min-height:0}main{padding-top:24px}}

/* v110 – ausgewogener Einstieg und nahtloser Übergang zur Seitenfläche. */
.hero{background:var(--paper)}
.hero-content{display:contents}
@media(min-width:901px){
  .hero{padding-top:0;padding-bottom:24px}
  .hero > .hero-content{
    position:relative;z-index:2;display:flex;flex:1 0 auto;flex-direction:column;
    justify-content:center;width:100%;max-width:1184px;margin-inline:auto;
    padding-block:clamp(32px,5svh,64px);
  }
  .hero-layout{gap:42px}
  .birthday-brand{margin-bottom:22px;gap:16px}
  .birthday-brand .brand-logo{width:88px;height:88px}
  .birthday-eyebrow{font-size:clamp(26px,2.2vw,32px)}
  .hero-title{font-size:clamp(52px,5vw,68px)}
  .hero-sub{margin:16px 0;font-size:22px}
  .hero-date{margin-bottom:20px}
  .hero-intro{font-size:16px;line-height:1.75}
  .hero-intro + .hero-intro{margin-top:14px}
  .hero-gallery{width:100%;max-width:452px;margin-bottom:24px}
  .hero .hero-quote{margin-top:26px;font-size:clamp(23px,2.1vw,29px)}
  .hero .hero-actions{margin-top:32px}
  .hero > .hero-part-nav{margin:0 auto;padding-top:0}
}
/* Kompakte Laptops: natürliche Inhaltshöhe, keine abgeschnittenen Inhalte. */
@media(min-width:901px) and (max-height:800px){
  .hero > .hero-content{padding-block:26px}
  .birthday-brand{margin-bottom:16px}
  .birthday-brand .brand-logo{width:72px;height:72px}
  .hero-title{font-size:52px}
  .hero-sub{margin:12px 0;font-size:20px}
  .hero-date{margin-bottom:14px}
  .hero-intro{font-size:15px;line-height:1.65}
  .hero-intro + .hero-intro{margin-top:10px}
  .hero-gallery{max-width:390px}
  .hero .hero-quote{margin-top:20px;font-size:24px}
  .hero .hero-actions{margin-top:32px}
}
@media print{.hero > .hero-content{display:block;padding-block:24px}}

/* v111 – Feinschliff des Einstiegs: ruhige Textfläche und klare Abstände. */
.hero .hero-intro{font-weight:450;line-height:1.75;text-shadow:none}
.hero .hero-actions a{
  padding:13px 22px;min-height:48px;font-weight:700;
  border-color:#cbdce5;background:rgba(255,255,255,.94);
  box-shadow:0 5px 16px rgba(19,43,69,.06);
}
.hero .hero-actions a:hover{background:#fff;border-color:#91b8cc}
@media(min-width:901px){
  .hero-copy{position:relative;isolation:isolate}
  .hero-copy::before{
    content:"";position:absolute;z-index:-1;pointer-events:none;
    inset:-34px -46px;
    background:radial-gradient(ellipse at 42% 55%,rgba(250,251,249,.76) 0%,rgba(250,251,249,.48) 52%,rgba(250,251,249,0) 74%);
  }
  .hero .hero-intro{max-width:60ch}
  .hero .hero-quote{padding-left:18px}
  .hero .hero-actions{margin-top:32px}
  .hero > .hero-part-nav{gap:14px}
  .hero .hero-part-nav > a{box-shadow:0 6px 18px rgba(14,50,75,.12)}
}
@media(max-width:700px){
  .hero .hero-intro + .hero-intro{margin-top:4px}
  .hero .hero-quote{margin-top:24px}
  .hero .hero-actions{margin-top:26px}
  .hero > .hero-part-nav{padding-top:28px}
}

/* v111 – ein gemeinsamer Abstand ober- und unterhalb der Danksagung.
   Der obere Abstand setzt sich aus Hero-Innenabstand und Main-Innenabstand zusammen. */
:root{--welcome-section-gap:40px;--hero-bottom-space:24px}
.hero{padding-bottom:var(--hero-bottom-space)}
main{padding-top:calc(var(--welcome-section-gap) - var(--hero-bottom-space))}
main > #willkommen{margin:0 auto var(--welcome-section-gap)}
main > #unsere-reise.major-section-a{margin-top:0;padding-top:0}
@media(max-width:760px){:root{--welcome-section-gap:32px}}
@media(max-width:700px){main{padding-inline:18px}}
@media(max-width:380px){main{padding-inline:15px}}

/* v112 – gezielter Desktop-Feinschliff; mobile Gestaltung aus v111 bleibt unverändert.
   Der sichtbare linke Rand kam von der örtlich begrenzten Aufhellung am Hero-Text. */
@media (min-width: 901px) {
  /* Die Aufhellung läuft über die volle Bühne weich aus, ohne rechteckigen Abschluss. */
  .hero-copy::before { content: none; display: none; }
  .hero-bg-overlay {
    background:
      linear-gradient(90deg,
        rgba(250,251,249,.78) 0%,
        rgba(250,251,249,.69) 24%,
        rgba(250,251,249,.46) 42%,
        rgba(250,251,249,.16) 60%,
        rgba(250,251,249,0) 78%),
      linear-gradient(180deg,
        rgba(255,250,243,.06) 0%,
        rgba(255,250,243,.04) 56%,
        rgba(248,243,234,.34) 100%);
  }
  /* Fließtext bleibt auch vor Wolken und Dünen gut lesbar. */
  .hero .hero-intro {
    color: #19354b;
    font-weight: 600;
    line-height: 1.7;
    text-shadow: 0 1px 2px rgba(250,251,249,.28);
  }
  .hero .birthday-tagline {
    color: #263b50;
    font-weight: 700;
  }
  /* Markenauftritt im Desktop-Einstieg und in der Kopfzeile etwas präsenter. */
  .birthday-brand .brand-logo { width: 112px; height: 112px; }
  .birthday-brand { gap: 17px; }
  .menu-brand .brand-logo { width: 54px; height: 54px; }
  /* Der Button sitzt tiefer im Bild und bleibt dennoch innerhalb der Grafik. */
  .welcome-details > summary .welcome-open-hint { bottom: 7%; }
}
@media (min-width: 901px) and (max-height: 800px) {
  .birthday-brand .brand-logo { width: 96px; height: 96px; }
}


/* v113 – Desktop-Feinschliff nach Review: CTA-Balance und kräftigerer, mystischerer Hero.
   Mobil bleibt bewusst unverändert. */
@media (min-width: 901px) {
  /* Der Hero-Hintergrund bekommt mehr Tiefe, Kontrast und eine leicht mystische Abendstimmung. */
  .hero-bg-photo img {
    filter: saturate(1.42) brightness(.92) contrast(1.14) sepia(.08);
  }
  .hero-bg-overlay {
    background:
      linear-gradient(94deg,
        rgba(248,249,247,.76) 0%,
        rgba(248,249,247,.64) 23%,
        rgba(248,249,247,.38) 40%,
        rgba(248,249,247,.12) 56%,
        rgba(248,249,247,0) 74%),
      linear-gradient(180deg,
        rgba(11,31,51,.08) 0%,
        rgba(24,46,72,.05) 38%,
        rgba(248,243,234,.28) 100%),
      radial-gradient(circle at 76% 22%, rgba(242,174,65,.18), transparent 26%),
      radial-gradient(circle at 64% 44%, rgba(8,88,128,.12), transparent 30%),
      radial-gradient(circle at 26% 10%, rgba(255,255,255,.10), transparent 18%);
  }
  /* Text bleibt sauber lesbar, ohne den Hintergrund wieder flach wirken zu lassen. */
  .hero .hero-intro {
    color: #173247;
    text-shadow: 0 1px 2px rgba(250,251,249,.22);
  }
  /* CTA unter dem Zitat etwas tiefer setzen. */
  .hero .hero-actions { margin-top: 42px; }
  /* Die Danksagung soll nicht so tief sitzen wie in v112. */
  .welcome-details > summary .welcome-open-hint { bottom: 9.4%; }
}
@media (min-width: 901px) and (max-height: 800px) {
  .hero .hero-actions { margin-top: 36px; }
}


/* v114 – klar sichtbarer Desktop-Feinschliff nach Nutzerfeedback.
   Ziel: Buttons deutlich erkennbar neu positionieren und den Hero stimmungsvoller machen. */
@media (min-width: 901px) {
  /* Deutlich sichtbar tieferer Abstand zwischen Zitat und CTA. */
  .hero .hero-actions {
    margin-top: 58px;
  }

  /* CTA in der Danksagung merklich höher positionieren. */
  .welcome-details > summary .welcome-open-hint {
    bottom: 14.5%;
  }

  /* Hintergrund spürbar kräftiger und mystischer: mehr Tiefe, etwas dunkler, mehr Farbkontrast. */
  .hero-bg-photo img {
    filter: saturate(1.72) brightness(.78) contrast(1.22) sepia(.14);
  }
  .hero-bg-overlay {
    background:
      linear-gradient(96deg,
        rgba(247,248,246,.82) 0%,
        rgba(247,248,246,.72) 18%,
        rgba(247,248,246,.46) 34%,
        rgba(247,248,246,.18) 49%,
        rgba(247,248,246,0) 66%),
      linear-gradient(180deg,
        rgba(8,24,40,.20) 0%,
        rgba(17,39,61,.12) 30%,
        rgba(71,56,38,.08) 56%,
        rgba(248,243,234,.24) 100%),
      radial-gradient(circle at 79% 21%, rgba(242,171,62,.24), transparent 24%),
      radial-gradient(circle at 69% 47%, rgba(7,87,132,.18), transparent 31%),
      radial-gradient(circle at 88% 18%, rgba(255,255,255,.09), transparent 15%),
      radial-gradient(circle at 50% 12%, rgba(16,31,52,.10), transparent 33%);
  }

  /* Lesbarkeit beibehalten. */
  .hero .hero-intro {
    color: #173146;
    text-shadow: 0 1px 2px rgba(250,251,249,.20);
  }
}
@media (min-width: 901px) and (max-height: 800px) {
  .hero .hero-actions { margin-top: 48px; }
  .welcome-details > summary .welcome-open-hint { bottom: 13.5%; }
}


/* v115 – Button-Ausgleich mobil/desktop und gleichmäßige Desktop-Kachelhöhen. */
@media (min-width: 901px) {
  /* Der Danksagungsbutton soll auf Desktop etwas tiefer sitzen als in v114. */
  .welcome-details > summary .welcome-open-hint {
    bottom: 10.8%;
  }

  /* Bereichskacheln auf Desktop angleichen, damit die Höhen ruhiger und konsistenter wirken. */
  details.major-accordion > summary.major-head {
    min-height: 156px;
  }
  .subarea-summary {
    min-height: 112px;
  }
  .editorial-card,
  .combo,
  .mood-links a,
  .island-orientation-item,
  .pride-first-time-grid > article {
    height: 100%;
  }
  .editorial-card-grid,
  .combo-grid,
  .mood-links,
  .island-orientation-grid,
  .pride-first-time-grid {
    align-items: stretch;
  }
}

@media (min-width: 901px) and (max-height: 800px) {
  .welcome-details > summary .welcome-open-hint {
    bottom: 10%;
  }
}

@media (max-width: 700px) {
  /* Auf Mobil etwas höher, damit die Position optisch zur Desktop-Ansicht passt. */
  .welcome-details > summary .welcome-open-hint {
    bottom: 7.4%;
  }
}


/* v116 – Zielkarten auf Desktop wirklich angleichen und Strandbilder klarer unterscheiden. */
@media (min-width: 901px) {
  /* In den Ziel-Rastern sollen Karten in einer Reihe sauber gleich hoch stehen. */
  .grid.cluster-grid {
    align-items: stretch;
  }
  .grid.cluster-grid > .card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .grid.cluster-grid > .card .body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
  }
  .grid.cluster-grid > .card .destination-details {
    margin-top: auto;
  }

  /* Ruhigerer Bildsatz innerhalb der Karten. */
  .grid.cluster-grid > .card .photo-frame {
    aspect-ratio: 16 / 10;
  }

  /* Die beiden Südwest-Strände klarer voneinander absetzen. */
  #amadores .photo-frame img {
    object-position: 42% 48%;
  }
  #anfi .photo-frame img {
    object-position: 55% 60%;
  }
}


/* v117 – Strandkarten visuell klarer trennen und Kachel-Eyebrows beruhigen. */
.grid.cluster-grid > .card .eyebrow {
  color: #6e7f8f;
}

@media (min-width: 901px) {
  /* Kleine Bereichslabels in den Karten nicht blau hervorheben. */
  .grid.cluster-grid > .card .eyebrow {
    color: #6e7f8f;
  }

  /* Strandkarten deutlicher voneinander trennen. */
  #amadores .photo-frame {
    aspect-ratio: 16 / 10;
  }
  #amadores .photo-frame img {
    object-position: 34% 50%;
  }
  #anfi .photo-frame {
    aspect-ratio: 16 / 10;
  }
  #anfi .photo-frame img {
    object-position: 63% 56%;
  }
}

/* v118 – Kachelbilder sauberer setzen und Vorschau-Karten harmonisieren. */
@media (min-width: 701px) {
  /* Südwest-Strände klarer voneinander unterscheiden. */
  #amadores .photo-frame img {
    object-position: 44% 46%;
  }
  #anfi .photo-frame img {
    object-position: 58% 48%;
  }

  /* Ideen-Kacheln ruhiger und mit saubereren Zuschnitten darstellen. */
  .editorial-card-grid .inspiration-card .inspiration-photo,
  .editorial-card-grid .inspiration-card.text-only .photo-frame {
    aspect-ratio: 16 / 10;
  }

  .editorial-card-grid .inspiration-card .inspiration-photo img,
  .editorial-card-grid .inspiration-card.text-only .photo-frame img {
    object-fit: cover;
    object-position: center 46%;
  }

  #idea-duenen .inspiration-photo img {
    object-position: center 60%;
  }

  #idea-bergwelt .inspiration-photo img {
    object-position: center 40%;
  }

  #idea-westkueste .inspiration-photo img {
    object-position: center 34%;
  }

  #idea-abend .inspiration-photo img {
    object-position: center 38%;
  }

  #idea-azuaje .inspiration-photo img {
    object-position: center 30%;
  }

  #idea-ruhig .photo-frame img {
    object-position: center 58%;
  }
}

/* v121: A consistent card layout without unwanted neighbor growth when a details panel opens. */
@media (min-width: 701px) {
  .grid.cluster-grid { align-items: start; }
  .grid.cluster-grid > .card {
    align-self: start;
    height: auto;
    min-height: 0;
  }
}

/* All inspiration cards, including "Einfach mal nichts vorhaben", have the same image/frame layout. */
#idea-ruhig { padding-top: 0; background: white; }
#idea-ruhig .inspiration-photo {
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--soft);
}
#idea-ruhig .inspiration-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
}

/* Minimalist navigation toggle: full-size clickable target, no dark circle. */
.topic-menu > summary,
.topic-menu[open] > summary {
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  transition: color .2s ease;
}
.topic-menu > summary:hover,
.topic-menu[open] > summary:hover {
  color: var(--blue);
  background: transparent;
  box-shadow: none;
  transform: none;
}
.topic-menu > summary:focus-visible { outline-offset: 0; }
.menu-icon { width: 24px; height: 18px; }
.menu-icon .bar { height: 2.5px; }
.topic-menu[open] .menu-icon .bar-1 { transform: translateY(7.75px) rotate(45deg); }
.topic-menu[open] .menu-icon .bar-3 { transform: translateY(-7.75px) rotate(-45deg); }
@media (max-width: 700px) {
  .menu-icon { width: 23px; height: 18px; }
  .topic-menu[open] .menu-icon .bar-1 { transform: translateY(7.75px) rotate(45deg); }
  .topic-menu[open] .menu-icon .bar-3 { transform: translateY(-7.75px) rotate(-45deg); }
}


/* v123: Kompakter Footer – drei gleichwertige Rechtsbereiche nebeneinander.
   Beim Öffnen volle Lesebreite; keine Änderung an den übrigen Inhaltskarten. */
.site-footer {
  padding: 22px max(28px,calc((100vw - 1184px)/2)) 14px;
}
.site-footer .footer-main { padding-bottom: 14px; }
.site-footer .footer-brand { gap: 12px; }
.site-footer .footer-logo { width: 48px; height: 48px; }
.site-footer .footer-brand-copy strong { font-size: 14px; line-height: 1.3; }
.site-footer .footer-brand-copy p { margin-top: 3px; font-size: 12px; line-height: 1.35; }
.site-footer .footer-legal-nav {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  padding: 0;
}
.site-footer .footer-legal-button {
  appearance: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 10px 13px;
  border: 1px solid #cbd9e3;
  border-radius: 11px;
  background: rgba(255,255,255,.66);
  color: var(--ink);
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  gap: 6px;
}
.site-footer .footer-legal-button::after {
  content: '+';
  font-size: 19px;
  line-height: 1;
  color: var(--blue);
  font-weight: 400;
  flex-shrink: 0;
}
.site-footer .footer-legal-button[aria-expanded="true"] {
  background: white;
  border-color: #88a6b9;
}
.site-footer .footer-legal-button[aria-expanded="true"]::after { content: '−'; }
.site-footer .footer-legal-button:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}
.site-footer .footer-legal-label-short { display: none; }
.site-footer .footer-legal-panels:empty { display: none; }
.site-footer .footer-legal-panel {
  padding: 14px 3px 6px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.65;
  max-width: 100%;
}
.site-footer .footer-legal-panel[hidden] { display: none !important; }
.site-footer .footer-legal-panel p { margin: 0 0 10px; }
.site-footer .footer-legal-panel p:last-child { margin-bottom: 0; }
.site-footer .footer-legal-panel a { color: var(--blue); }
.site-footer .footer-bottom {
  margin: 12px 0 0;
  padding: 11px 0 0;
  font-size: 11px;
  line-height: 1.3;
}
@media (max-width:700px) {
  .site-footer { padding: 18px 16px 14px; }
  .site-footer .footer-main { display: block; padding-bottom: 14px; }
  .site-footer .footer-logo { width: 46px; height: 46px; }
  .site-footer .footer-brand-copy strong { font-size: 13px; }
  .site-footer .footer-brand-copy p { font-size: 11px; }
  .site-footer .footer-legal-nav { gap: 6px; }
  .site-footer .footer-legal-button {
    min-height: 43px;
    padding: 9px 7px;
    font-size: 11px;
    gap: 2px;
  }
  .site-footer .footer-legal-button::after { font-size: 16px; }
  .site-footer .footer-legal-label-full { display: none; }
  .site-footer .footer-legal-label-short { display: inline; }
  .site-footer .footer-legal-panel { font-size: 12.5px; padding-top: 14px; }
  .site-footer .footer-bottom { padding-top: 10px; margin-top: 12px; }
}
@media (max-width:340px) {
  .site-footer { padding-inline: 12px; }
  .site-footer .footer-legal-button { font-size: 10.2px; padding-inline: 5px; }
}


/* v124: Footer als dezente Textnavigation statt Kachelreihe. */
.site-footer {
  padding: 16px max(28px,calc((100vw - 1184px)/2)) 12px;
}
.site-footer .footer-main { padding-bottom: 9px; }
.site-footer .footer-brand { gap: 10px; }
.site-footer .footer-logo { width: 42px; height: 42px; }
.site-footer .footer-legal-nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(12px, 2.8vw, 28px);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.site-footer .footer-legal-button {
  appearance: none;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  min-width: 0;
  min-height: 36px;
  margin: 0;
  padding: 6px 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  color: #50677a;
  font: inherit;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.45;
  letter-spacing: 0;
  text-decoration: none;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}
.site-footer .footer-legal-button::after,
.site-footer .footer-legal-button[aria-expanded="true"]::after { content: none; display: none; }
.site-footer .footer-legal-button:hover,
.site-footer .footer-legal-button[aria-expanded="true"] {
  border: 0;
  box-shadow: none;
  background: transparent;
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.site-footer .footer-legal-button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
  border-radius: 2px;
}
.site-footer .footer-legal-panel { padding: 13px 0 4px; }
.site-footer .footer-legal-panel[hidden] { display: none !important; }
.site-footer .footer-bottom {
  margin-top: 5px;
  padding-top: 9px;
  border-top: 1px solid #d8e2e8;
}
.site-footer .footer-noscript { display: flex; gap: 16px; flex-wrap: wrap; }
.site-footer .footer-noscript details { min-width: 80px; }
.site-footer .footer-noscript summary { cursor: pointer; }
@media (max-width: 700px) {
  .site-footer { padding: 15px 16px 11px; }
  .site-footer .footer-main { padding-bottom: 8px; }
  .site-footer .footer-logo { width: 40px; height: 40px; }
  .site-footer .footer-brand-copy strong { font-size: 12.5px; }
  .site-footer .footer-brand-copy p { font-size: 10.5px; }
  .site-footer .footer-legal-nav { gap: clamp(12px, 3.6vw, 24px); }
  .site-footer .footer-legal-button {
    min-height: 38px;
    padding: 6px 0;
    font-size: 12px;
  }
  .site-footer .footer-legal-panel { padding-top: 12px; }
  .site-footer .footer-bottom { margin-top: 4px; padding-top: 9px; }
}
@media (max-width: 340px) {
  .site-footer .footer-legal-button { padding-inline: 0; font-size: 11px; }
  .site-footer .footer-legal-nav { gap: 11px; }
}


/* v125 – native HTML <details> statt JavaScript-Panels.
   Der Footer bleibt im Ruhezustand sehr flach. Die Rechtstexte funktionieren
   selbst dann, wenn eine mobile Offline-Vorschau kein JavaScript ausführt. */
.site-footer .footer-legal-nav {
  display: block;
  position: relative;
  padding: 39px 0 0;
  margin: 0;
  border: 0;
  background: transparent;
  min-width: 0;
}
.site-footer .footer-legal-details {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.site-footer .footer-legal-details > .footer-legal-summary {
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 33.333333%;
  min-height: 38px;
  margin: 0;
  padding: 9px 5px 7px 0;
  list-style: none;
  background: transparent;
  color: #50677a;
  font-family: inherit;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.site-footer .footer-legal-details:nth-child(2) > .footer-legal-summary { left: 33.333333%; }
.site-footer .footer-legal-details:nth-child(3) > .footer-legal-summary { left: 66.666667%; }
.site-footer .footer-legal-details > .footer-legal-summary::-webkit-details-marker { display: none; }
.site-footer .footer-legal-details > .footer-legal-summary::marker { content: ''; }
.site-footer .footer-legal-details > .footer-legal-summary::after { display: none !important; content: none !important; }
.site-footer .footer-legal-details > .footer-legal-summary:hover,
.site-footer .footer-legal-details[open] > .footer-legal-summary {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.site-footer .footer-legal-details > .footer-legal-summary:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
  border-radius: 2px;
}
.site-footer .footer-legal-details > .footer-legal-panel {
  padding: 13px 0 4px;
  max-width: 100%;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.65;
}
.site-footer .footer-legal-details:not([open]) > .footer-legal-panel { display: none !important; }
.site-footer .footer-legal-details > .footer-legal-panel p { margin: 0 0 10px; }
.site-footer .footer-legal-details > .footer-legal-panel p:last-child { margin-bottom: 0; }
.site-footer .footer-legal-details > .footer-legal-panel a { color: var(--blue); }
.site-footer .footer-legal-details .footer-legal-label-short { display: none; }
@media (max-width:700px) {
  .site-footer .footer-legal-nav { padding-top: 37px; }
  .site-footer .footer-legal-details > .footer-legal-summary {
    min-height: 36px;
    padding: 8px 3px 7px 0;
    font-size: 12px;
  }
  .site-footer .footer-legal-details .footer-legal-label-full { display: none; }
  .site-footer .footer-legal-details .footer-legal-label-short { display: inline; }
}
@media (max-width:340px) {
  .site-footer .footer-legal-details > .footer-legal-summary { font-size: 11px; }
}


/* v126: Bungalow-Informationen in gut lesbaren Gruppen statt ungleichen Grid-Reihen.
   Zwei unabhängig wachsende Textspalten beseitigen die weißen Leerfelder. */
.accommodation-info-groups { margin: 22px 30px 28px; }
.accommodation-info-group + .accommodation-info-group {
  border-top: 1px solid #dae4e8;
  margin-top: 24px;
  padding-top: 24px;
}
.accommodation-info-heading { margin: 0 0 14px; }
.accommodation-info-heading h3 {
  margin: 0 0 4px;
  font-size: 19px;
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -.015em;
}
.accommodation-info-heading p { color:var(--muted); font-size:13px; margin:0; line-height:1.5; }
.accommodation-info-columns {display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; align-items:start;}
.accommodation-info-stack { display:flex; flex-direction:column; gap:16px; min-width:0; }
.accommodation-info-card {
  min-width:0;
  padding:18px 20px;
  border:1px solid #e3e9e9;
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#f7faf9);
}
.accommodation-info-card h3 {font-size:17px;line-height:1.35; margin:0 0 9px; color:var(--ink);}
.accommodation-info-card p { font-size:14px;line-height:1.65; color:var(--muted); margin:0 0 11px; overflow-wrap:break-word; }
.accommodation-info-card p:last-child { margin-bottom:0; }
.accommodation-info-card strong { color:var(--ink); }
.accommodation-wide-story {margin-top:16px;background:linear-gradient(120deg,#f1f8fa,#fff 75%);}
.accommodation-story-columns {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;}
.accommodation-story-columns p {margin:0;}
.accommodation-info-groups .accommodation-note {
  margin:0;
  padding:18px 20px;
  border-color:#f0e5cc;
  background:#fff8e9;
  box-shadow:none;
}
.accommodation-info-groups .accommodation-note h3 {font-size:17px;}
@media(min-width:1100px) {
  .accommodation-info-groups { margin-left:34px; margin-right:34px; }
  .accommodation-info-columns {gap:20px;}
  .accommodation-info-stack {gap:16px;}
}
@media(max-width:760px) {
  .accommodation-info-groups {margin:18px 20px 22px;}
  .accommodation-info-group + .accommodation-info-group {margin-top:22px;padding-top:22px;}
  .accommodation-info-heading h3 {font-size:18px;}
  .accommodation-info-columns {grid-template-columns:1fr;gap:12px;}
  .accommodation-info-stack {gap:12px;}
  .accommodation-info-card {padding:15px 16px;border-radius:14px;}
  .accommodation-info-card h3 {font-size:16px;}
  .accommodation-story-columns {grid-template-columns:1fr;gap:12px;}
  .accommodation-wide-story {margin-top:12px;}
}


/* V128: dezente, direkt verlinkte persönliche Tipps; keine zusätzlichen Bildkacheln */
.walki-highlights{margin:0 0 26px;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.walki-highlights-head .eyebrow{margin:0 0 7px}
.walki-highlights-head h3{margin:0 0 7px;font-size:22px;line-height:1.25;color:var(--ink)}
.walki-highlights-head>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.walki-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}
.walki-highlight{min-width:0;display:flex;align-items:center;gap:10px;padding:13px 12px;border:1px solid var(--line);border-radius:13px;background:#f8fafb;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}
.walki-highlight:hover,.walki-highlight:focus-visible{background:#eef7f9;border-color:#87bbc5}
.walki-highlight>span:first-child{font-size:23px;line-height:1;flex-shrink:0}
.walki-highlight>span:nth-child(2){display:block;min-width:0;flex:1}
.walki-highlight strong{display:block;line-height:1.3;font-size:13px;font-weight:750}
.walki-highlight small{display:block;margin-top:3px;line-height:1.25;color:var(--muted);font-size:11px}
.walki-highlight-arrow{font-size:15px;color:var(--blue);flex-shrink:0}
@media(max-width:800px){.walki-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.walki-highlights{padding:18px 16px}.walki-highlights-grid{grid-template-columns:1fr;gap:7px}.walki-highlight{padding:10px 12px}}


/* V129: kleine Verbesserungen ohne visuelles Redesign */
.island-orientation .orientation-jump{display:inline-flex;align-items:center;margin-top:10px;color:var(--blue);font-size:13px;font-weight:700;text-decoration:none;line-height:1.5}
.island-orientation .orientation-jump:hover,.island-orientation .orientation-jump:focus-visible{text-decoration:underline;text-underline-offset:3px}
.combo-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:8px 0 19px;padding:4px 2px}
.combo-filter-bar[hidden]{display:none!important}
.combo-filter-label{font-size:13px;font-weight:700;color:var(--ink)}
.combo-filter-options{display:flex;gap:6px;flex-wrap:wrap}
.combo-filter{appearance:none;cursor:pointer;border:1px solid #d1e1e7;background:#fff;color:var(--ink);border-radius:999px;padding:7px 12px;font:inherit;font-weight:600;font-size:12px;line-height:1.4}
.combo-filter[aria-pressed="true"]{background:#e9f5f8;color:#125a71;border-color:#6fa9b7}
.combo-filter:hover{border-color:#7bb2c1}
.combo-filter:focus-visible,.guide-share:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.combo-filter-count{font-size:12px;color:var(--muted)}
.combo-grid .combo[hidden]{display:none!important}
.guide-share{display:inline-flex;align-items:center;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--blue);text-decoration:none;line-height:1.55}
.guide-share:hover{text-decoration:underline;text-underline-offset:3px}
.destination-details .guide-share{margin:8px 0 4px}
.accommodation-essentials{margin:0 30px 26px;padding:16px 20px;background:#f5f9fa;border:1px solid #e0eaee;border-radius:15px}
.accommodation-essentials-title{font-size:12px;letter-spacing:.065em;text-transform:uppercase;font-weight:800;color:var(--blue);margin:0 0 10px}
.accommodation-essentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.accommodation-essentials-grid span{font-size:13px;line-height:1.55;color:var(--muted)}
.accommodation-essentials-grid strong{color:var(--ink);font-weight:720}
.accommodation-essentials-link{display:inline-block;margin-top:11px;color:var(--blue);font-size:12.5px;font-weight:700;text-decoration:none}
.accommodation-essentials-link:hover{text-decoration:underline}
.guide-updated{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 4px;max-width:750px}
@media(max-width:700px){
 .accommodation-essentials{margin:0 18px 22px;padding:13px 14px}
 .accommodation-essentials-grid{grid-template-columns:1fr;gap:6px}
 .combo-filter-bar{gap:9px;margin-bottom:14px}
 .combo-filter-options{width:100%;gap:6px}
 .combo-filter{font-size:11px;padding:7px 10px}
 .guide-updated{font-size:10.5px}
}


/* V130: Kleine Auszeiten – Vorschläge für Paare und Alleinunternehmungen */
.downtime-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px;align-items:start}
.downtime-panel{min-width:0;padding:22px 22px 10px;border:1px solid var(--line);border-radius:20px;background:#fff}
.downtime-panel-head{display:flex;gap:12px;align-items:flex-start;padding-bottom:15px}
.downtime-panel-head>span{font-size:27px;line-height:1.25;flex:none}
.downtime-panel-head h3{font-size:22px;line-height:1.2;margin:0 0 6px;color:var(--ink)}
.downtime-panel-head p{font-size:14px;line-height:1.55;color:var(--muted);margin:0}
.downtime-idea{display:flex;align-items:flex-start;gap:11px;padding:15px 2px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;border-radius:4px}
.downtime-idea:hover .downtime-idea-copy strong,.downtime-idea:focus-visible .downtime-idea-copy strong{color:var(--blue);text-decoration:underline}
.downtime-idea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.downtime-emoji{font-size:22px;line-height:1.3;flex:0 0 29px;text-align:center}
.downtime-idea-copy{display:block;min-width:0}
.downtime-idea-copy strong{display:block;font-size:16px;line-height:1.35;margin-bottom:6px}
.downtime-idea-copy>span{display:block;font-size:14px;line-height:1.55;color:var(--muted)}
.downtime-idea-copy small{display:block;margin-top:8px;font-size:12px;font-weight:700;color:var(--blue);line-height:1.4}
.downtime-note{margin:16px 2px 0;color:var(--muted);font-size:13px;line-height:1.6}
@media(max-width:800px){.downtime-layout{grid-template-columns:1fr;gap:14px}.downtime-panel{padding:18px 18px 7px}.downtime-panel-head h3{font-size:20px}}
@media(max-width:400px){.downtime-panel{padding:16px 14px 5px}.downtime-idea{gap:8px}.downtime-idea-copy strong{font-size:15px}.downtime-idea-copy>span{font-size:13px}}



.food-classics{border:1px solid #dbe8ec;border-radius:18px;background:#f8fbfc;padding:18px 20px 7px;margin-top:17px}
.food-classics-heading{display:flex;gap:11px;align-items:flex-start;margin-bottom:11px}
.food-classics-heading>span{font-size:25px;line-height:1.25;flex:0 0 29px;text-align:center}
.food-classics-heading h3{font-size:19px;line-height:1.3;color:var(--ink);margin:0 0 4px}
.food-classics-heading p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.food-classics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;align-items:start}
.food-classics-grid .food-dish{padding:11px 0}
@media(max-width:760px){.food-classics{padding:15px 16px 4px;margin-top:13px}.food-classics-grid{grid-template-columns:1fr}.food-classics-heading h3{font-size:18px}}
/* V132: Essen & Genießen – bewusst kompakt, ohne zusätzliche Bildkarten */
.culinary-guide .food-intro{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(110deg,#eef7f7,#fbfdfb);border:1px solid #dcebea;border-radius:15px;padding:16px 19px;margin:18px 0 18px}
.food-intro>span{font-size:24px;line-height:1.3}.food-intro p{color:var(--muted);margin:0;line-height:1.65;font-size:14px}.food-intro strong{color:var(--ink)}
.food-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.food-panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px 20px 8px}
.food-panel-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:10px}
.food-panel-head>span{font-size:26px;line-height:1.2;flex-shrink:0}
.food-panel-head h3{font-size:19px;color:var(--ink);margin:0 0 5px;line-height:1.3}
.food-panel-head p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.food-dish{display:flex;gap:10px;align-items:flex-start;border-top:1px solid #e9eef1;padding:14px 0 12px}
.food-emoji{font-size:21px;flex:0 0 27px;line-height:1.3;text-align:center}
.food-dish>div{min-width:0;flex:1}.food-dish-title{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-bottom:5px}
.food-dish-title strong{font-size:14.5px;line-height:1.35;color:var(--ink)}
.food-tag{font-size:10px;line-height:1.4;padding:3px 7px;border-radius:50px;background:#edf5f5;color:#3f6473;white-space:normal}
.food-dish p{font-size:13px;line-height:1.58;color:var(--muted);margin:0}
.food-warning{display:flex;gap:11px;margin:17px 0 26px;border:1px solid #ecdcbf;border-radius:14px;background:#fffaf0;padding:15px 17px}
.food-warning>span{flex:0 0 24px;font-size:22px;line-height:1.3}
.food-warning p{font-size:13px;line-height:1.65;color:#5d544b;margin:0}.food-warning strong{color:var(--ink)}
.food-subheading{margin:0 0 12px}.food-subheading h3{font-size:21px;color:var(--ink);line-height:1.3;margin:0 0 5px}
.food-subheading p{font-size:13.5px;color:var(--muted);line-height:1.55;margin:0}
.food-spots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:18px}
.food-spot{min-width:0;display:flex;align-items:flex-start;gap:11px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:background .18s,border-color .18s}
.food-spot:hover,.food-spot:focus-visible{background:#eff8f8;border-color:#87bdc7}
.food-spot:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.food-spot-emoji{font-size:23px;line-height:1.3;flex:0 0 28px;text-align:center}
.food-spot-body{display:flex;flex-direction:column;min-width:0;gap:4px}
.food-spot-body strong{font-size:15px;line-height:1.35;color:var(--ink)}
.food-spot-kicker{font-size:11px;line-height:1.35;font-weight:750;color:#147485}
.food-spot-desc{font-size:13px;line-height:1.55;color:var(--muted)}
.food-spot-link{font-size:12px;font-weight:750;color:var(--blue);line-height:1.5;margin-top:3px}
.food-special{border:1px solid #c6dfe0;border-radius:16px;background:linear-gradient(115deg,#f0faf8,#f8fbfd);padding:18px 20px;margin-bottom:16px}
.food-special-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.food-special-head>span{font-size:25px;line-height:1.2}.food-special-head .eyebrow{font-size:10px;margin:0 0 4px}
.food-special-head h3{font-size:19px;line-height:1.35;color:var(--ink);margin:0}
.food-special .food-spot{background:#fff;border-color:#d6e9e9}
.food-footnote{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 18px}
.food-footnote a{color:var(--blue);font-weight:650}
@media(max-width:760px){
 .culinary-guide .food-intro{margin:12px 0 14px;padding:13px 14px}
 .food-layout,.food-spots{grid-template-columns:1fr;gap:12px}
 .food-panel{padding:16px 16px 4px}
 .food-panel-head h3{font-size:18px}
 .food-dish{padding:12px 0 11px}
 .food-warning{margin:14px 0 23px;padding:13px 14px}
 .food-subheading h3{font-size:19px}
 .food-spot{padding:13px 14px}
 .food-special{padding:14px 15px}
 .food-special-head h3{font-size:17px}
}

/* V134: Walkis persoenlicher Eistipp füllt die letzte Grid-Zeile ohne Leerraum */
.food-spots .food-spot-featured{grid-column:1/-1;background:linear-gradient(115deg,#f1f9f9,#fffdf8);border-color:#c5dfe1}
.food-spots .food-spot-featured:hover,.food-spots .food-spot-featured:focus-visible{background:#eaf6f7;border-color:#87bdc7}

/* V135: dezenter Kulturhinweis unter dem vorhandenen Insel-Einstieg */
.island-orientation-culture{margin-top:19px;padding-top:16px;border-top:1px solid #dce8eb}
.island-orientation-culture>p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.65}
.island-orientation-culture>p strong{color:var(--ink)}
.island-orientation-culture-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 23px;margin-top:6px}
.island-orientation .island-orientation-culture-links .orientation-jump{margin-top:4px}
@media(max-width:700px){.island-orientation-culture{margin-top:17px;padding-top:14px}.island-orientation-culture-links{gap:5px 17px}}

/* V136 – redaktionelle Inselgeschichte getrennt von historischen Ausflugszielen */
.culture-feature{padding:clamp(18px,2.9vw,30px);border:1px solid #dbe7ea;border-radius:20px;background:linear-gradient(140deg,#f4fafb 0%,#fff 52%,#fbfcfd 100%);color:var(--ink)}
.culture-feature>.eyebrow{margin:0 0 6px;color:#157f8c}
.culture-feature>h3{margin:0 0 12px;font-size:clamp(23px,2.6vw,32px);line-height:1.23;color:var(--ink)}
.culture-feature-lead{max-width:78ch;margin:0 0 23px;font-size:15px;line-height:1.77;color:var(--muted)}
.culture-eras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 26px}
.culture-eras span{display:block;background:#e9f3f6;border-radius:11px;padding:11px 12px;font-size:12px;line-height:1.45;color:var(--muted)}
.culture-eras strong{display:block;color:var(--ink);font-size:13px;margin-bottom:3px}
.culture-feature-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3.2vw,42px)}
.culture-feature-column{display:flex;flex-direction:column;gap:24px;min-width:0}
.culture-feature-part{border-top:1px solid #d8e6e9;padding-top:13px;min-width:0}
.culture-feature-part h4{font-size:17px;line-height:1.35;color:var(--ink);margin:0 0 9px}
.culture-feature-part p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 9px;overflow-wrap:break-word}
.culture-feature-part p:last-child{margin-bottom:0}
.culture-feature-outro{font-size:14px;line-height:1.7;color:var(--ink);background:#ecf6f5;border-left:3px solid #168d92;border-radius:0 11px 11px 0;padding:13px 16px;margin:26px 0 17px}
.culture-feature-sources{border-top:1px solid #d8e6e9;padding-top:14px;font-size:12px;line-height:1.8;color:var(--muted)}
.culture-feature-sources strong{color:var(--ink)}
.culture-feature-sources a,.maspalomas-region-story a,.dune-nature-story a{color:var(--blue);font-weight:650}
.maspalomas-region-story{background:#f4fafb;border-left:3px solid #168d92;border-radius:0 15px 15px 0;padding:17px 20px;margin:0 0 25px}
.maspalomas-region-story .eyebrow{margin:0 0 5px;color:#147f8d}
.maspalomas-region-story h3{font-size:18px;line-height:1.35;margin:0 0 8px;color:var(--ink)}
.maspalomas-region-story p{font-size:13.5px;line-height:1.68;color:var(--muted);margin:0 0 8px}
.maspalomas-region-story p:last-child{margin-bottom:0}
@media(max-width:750px){.culture-feature{padding:18px 16px}.culture-eras{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:22px}.culture-feature-columns{grid-template-columns:1fr;gap:23px}.culture-feature-column{gap:23px}.culture-feature-lead{font-size:14px}.maspalomas-region-story{padding:14px 16px}}
@media(max-width:355px){.culture-eras span{padding:9px 8px;font-size:11px}.culture-eras strong{font-size:12px}.culture-feature{padding:16px 13px}}


/* V137 – gute Bedienbarkeit, ohne zusaetzliche sichtbare UI-Flaechen */
.guide-skip-link{position:fixed;top:9px;left:12px;z-index:2000;transform:translateY(-160%);padding:12px 16px;border-radius:12px;background:#132b45;color:white;font-weight:700;text-decoration:none;box-shadow:0 4px 18px #132b4560}
.guide-skip-link:focus{transform:translateY(0);outline:3px solid #ffd169;outline-offset:2px}
.menu-brand>span{min-width:0}
:is(.major-head,.subarea-summary,.menu-category>summary,.topic-menu>summary,.photo-dialog button,.combo-filter,.guide-share,.orientation-jump,.footer-legal-summary):focus-visible{outline:3px solid #106ba5;outline-offset:3px}
@media(max-width:760px){.menu-brand{min-width:0;font-size:12.5px;letter-spacing:-.015em}.menu-brand>span{white-space:normal;line-height:1.15;max-width:185px}.menu-brand .nav-year{white-space:nowrap}.island-orientation .orientation-jump{min-height:38px;align-items:center}}
@media(max-width:365px){.menu-brand{font-size:12px}.menu-brand>span{max-width:155px}}
@media(max-width:365px){.hero .birthday-tagline{font-size:12px!important;letter-spacing:-.025em}}
@media(prefers-reduced-motion:reduce){.guide-skip-link{transition:none!important}}


/* V138 – neues Hero-Kunstwerk: Typografie ist Teil des Motivs, deshalb keine doppelte Überschrift. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero.hero-v138{display:block!important;position:relative;overflow:visible;isolation:auto;padding:0!important;background:var(--paper)!important}
.hero-v138 .hero-cover{position:relative;margin:0;overflow:hidden;background:#092544;line-height:0}
.hero-v138 .hero-cover img{display:block;width:100%;height:auto;aspect-ratio:1672 / 941;object-fit:contain;filter:none!important;opacity:1}
.hero-v138 .hero-info-band{position:relative;z-index:2;max-width:1184px;margin:0 auto;padding:23px 20px 13px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.hero-v138 .hero-info-copy{flex:1;min-width:0}
.hero-v138 .hero-info-eyebrow{color:#08778d;font-size:12px;font-weight:800;letter-spacing:.065em;text-transform:uppercase;margin:0 0 7px}
.hero-v138 .hero-info-text{color:#254058;font-size:16px;line-height:1.6;margin:0;max-width:78ch}
.hero-v138 .hero-start-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:46px;padding:12px 21px;border-radius:999px;background:var(--blue);color:white!important;text-decoration:none;font-size:14px;font-weight:750;white-space:nowrap;box-shadow:0 9px 22px rgba(10,75,110,.15)}
.hero-v138 .hero-start-link:hover{background:#064c74}
.hero-v138>.hero-part-nav{padding:16px 20px 28px;gap:14px;margin:0 auto}
.hero-v138>.hero-part-nav a{min-height:56px}
@media(max-width:900px){
  .hero-v138 .hero-info-band{padding:18px 20px 12px;gap:16px}
  .hero-v138 .hero-info-text{font-size:15px}
  .hero-v138 .hero-start-link{font-size:12px;padding:11px 15px}
}
@media(max-width:700px){
  .hero.hero-v138{display:block!important}
  .hero-v138 .hero-cover img{width:100%;max-width:none}
  .hero-v138 .hero-info-band{padding:20px 20px 7px;display:block}
  .hero-v138 .hero-info-eyebrow{font-size:10px;letter-spacing:.04em}
  .hero-v138 .hero-info-text{font-size:14px;line-height:1.6}
  .hero-v138 .hero-start-link{margin-top:16px;min-height:44px;font-size:13px;padding:11px 18px}
  .hero-v138>.hero-part-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 18px 24px}
  .hero-v138>.hero-part-nav a{min-height:55px}
}
@media(max-width:355px){.hero-v138 .hero-info-band{padding-left:16px;padding-right:16px}.hero-v138>.hero-part-nav{padding-left:15px;padding-right:15px}}
@media print{.hero-v138 .hero-info-band{padding:16px 0}.hero-v138 .hero-cover img{max-height:400px;object-fit:contain}}


/* V139 – harmonischer, flacher Einstieg mit weichem Bildauslauf. 
   Die Typografie ist Teil des Kunstwerks – keine doppelte visuelle Überschrift.
   Bewährte Hauptnavigation und Unterkunftslink statt neuem Guide-CTA. */
.hero.hero-v139{display:block!important;position:relative;isolation:isolate;overflow:visible;min-height:0!important;height:auto!important;max-height:none!important;padding:0 0 18px!important;margin:0!important;background:var(--paper)!important}
.hero-v139 .hero-cover{height:clamp(300px,34vw,508px);position:relative;overflow:hidden;line-height:0;background:var(--paper);margin:0}
.hero-v139 .hero-cover picture{display:block;width:100%;height:100%}
.hero-v139 .hero-cover img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;filter:none!important;opacity:1;display:block}
.hero-v139 .hero-cover::after{content:"";position:absolute;pointer-events:none;inset:auto 0 0;height:clamp(85px,10vw,140px);background:linear-gradient(to bottom,rgba(250,251,249,0) 0%,rgba(250,251,249,.15) 20%,rgba(250,251,249,.76) 70%,var(--paper) 100%)}
.hero-v139 .hero-intro-wrap{position:relative;z-index:2;margin:-6px auto 0;max-width:1184px;padding:0 26px}
.hero-v139 .hero-intro-row{display:flex;gap:30px;align-items:center;justify-content:space-between}
.hero-v139 .hero-intro-copy{min-width:0;flex:1}
.hero-v139 .hero-intro-eyebrow{margin:0 0 8px;color:#087b8c;font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.hero-v139 .hero-intro-text{margin:0;color:#263e54;line-height:1.65;font-size:16px;max-width:78ch}
.hero-v139 .hero-home-link{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;text-decoration:none!important;font-size:13px;font-weight:750;min-height:46px;padding:12px 19px;background:#f3f8fa;border:1px solid #bed7df;border-radius:999px;color:#145777!important;box-shadow:0 4px 12px #102a3e0e}
.hero-v139 .hero-home-link:hover{background:#e5f3f6;border-color:#7ab9c9}
.hero-v139 .hero-home-link:focus-visible{outline:3px solid #108cc7;outline-offset:3px}
.hero.hero-v139>.hero-part-nav{position:relative;z-index:2;max-width:1184px;width:calc(100% - 52px);padding:20px 0 13px;gap:14px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));order:initial}
.hero-v139>.hero-part-nav a{min-height:70px;padding:16px 17px;border-radius:17px;gap:12px;box-shadow:0 6px 18px rgba(14,50,75,.1)}
.hero-v139>.hero-part-nav .home-nav-title{font-size:15px}
@media(max-width:900px){
 .hero-v139 .hero-cover{height:clamp(280px,43vw,390px)}
 .hero-v139 .hero-intro-wrap{padding:0 20px}
 .hero-v139 .hero-intro-text{font-size:15px}
 .hero.hero-v139>.hero-part-nav{width:calc(100% - 40px);gap:10px}
 .hero-v139>.hero-part-nav a{padding:12px;min-height:65px}
 .hero-v139>.hero-part-nav .home-nav-title{font-size:13.5px}
}
@media(max-width:700px){
 .hero.hero-v139{display:block!important;padding:0 0 12px!important}
 .hero-v139 .hero-cover{height:clamp(228px,66vw,292px)}
 .hero-v139 .hero-cover img{object-position:center top}
 .hero-v139 .hero-cover::after{height:77px;background:linear-gradient(180deg,rgba(250,251,249,0),rgba(250,251,249,.32) 40%,var(--paper) 100%)}
 .hero-v139 .hero-intro-wrap{margin:-5px auto 0;padding:0 19px}
 .hero-v139 .hero-intro-row{display:block}
 .hero-v139 .hero-intro-eyebrow{font-size:10px;line-height:1.4;letter-spacing:.025em;margin-bottom:6px}
 .hero-v139 .hero-intro-text{font-size:14px;line-height:1.6}
 .hero-v139 .hero-home-link{margin-top:14px;min-height:39px;padding:8px 14px;font-size:12.5px}
 .hero.hero-v139>.hero-part-nav{width:calc(100% - 38px);padding:20px 0 7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 auto}
 .hero-v139>.hero-part-nav a{min-height:68px;padding:12px;gap:8px;border-radius:13px}
 .hero-v139>.hero-part-nav .home-nav-title{font-size:14px}
}
@media(max-width:355px){
 .hero-v139 .hero-intro-wrap{padding:0 15px}
 .hero.hero-v139>.hero-part-nav{width:calc(100% - 30px);gap:8px}
 .hero-v139>.hero-part-nav a{padding:10px;min-height:66px}
 .hero-v139>.hero-part-nav .home-nav-title{font-size:13px}
}
@media print{.hero-v139 .hero-cover{max-height:310px}}


/* v140 – Hero wieder bildstark und bildschirmfüllend, mit weichem Übergang
   und den vier Hauptpunkten wieder als Abschluss am unteren Rand. */
.hero.hero-v139{
  display:flex!important;
  flex-direction:column;
  min-height:calc(100vh - 76px)!important;
  min-height:calc(100svh - 76px)!important;
  height:auto!important;
  max-height:none!important;
  padding:0 0 24px!important;
  background:var(--paper)!important;
}
.hero-v139 .hero-cover{
  position:relative;
  flex:1 0 auto;
  min-height:clamp(420px,60svh,700px);
  height:clamp(520px,74svh,820px);
  margin:0;
  overflow:hidden;
  background:var(--paper);
}
.hero-v139 .hero-cover picture,
.hero-v139 .hero-cover img{width:100%;height:100%}
.hero-v139 .hero-cover img{
  object-fit:cover;
  object-position:center top;
  display:block;
}
.hero-v139 .hero-cover::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  pointer-events:none;
  height:clamp(120px,18svh,200px);
  background:linear-gradient(
    to bottom,
    rgba(250,251,249,0) 0%,
    rgba(250,251,249,.14) 18%,
    rgba(250,251,249,.58) 58%,
    rgba(250,251,249,.88) 82%,
    var(--paper) 100%
  );
}
.hero-v139 .hero-intro-wrap{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1184px;
  margin:-84px auto 0;
  padding:0 28px;
}
.hero-v139 .hero-intro-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:26px;
}
.hero-v139 .hero-intro-copy{flex:1;min-width:0}
.hero-v139 .hero-intro-eyebrow{
  margin:0 0 10px;
  color:#087b8c;
  font-size:12px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.hero-v139 .hero-intro-text{
  margin:0;
  color:#243b50;
  line-height:1.72;
  font-size:16px;
  max-width:78ch;
}
.hero-v139 .hero-home-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  flex-shrink:0;
  min-height:46px;
  padding:12px 20px;
}
.hero.hero-v139 > .hero-part-nav{
  position:relative;
  z-index:2;
  width:calc(100% - 56px);
  max-width:1184px;
  margin:18px auto 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.hero-v139 > .hero-part-nav a{
  min-height:68px;
  padding:15px 17px;
  border-radius:17px;
  gap:12px;
  box-shadow:0 8px 22px rgba(14,50,75,.12);
}
.hero-v139 > .hero-part-nav .home-nav-title{font-size:15px}

@media (min-width: 901px) and (max-height: 820px){
  .hero.hero-v139{
    min-height:calc(100vh - 76px)!important;
    min-height:calc(100svh - 76px)!important;
  }
  .hero-v139 .hero-cover{
    min-height:390px;
    height:clamp(470px,68svh,720px);
  }
  .hero-v139 .hero-intro-wrap{margin-top:-76px}
}

@media (max-width: 900px){
  .hero.hero-v139{
    min-height:calc(100vh - 72px)!important;
    min-height:calc(100svh - 72px)!important;
  }
  .hero-v139 .hero-cover{
    min-height:360px;
    height:clamp(420px,64svh,580px);
  }
  .hero-v139 .hero-intro-wrap{
    margin:-72px auto 0;
    padding:0 20px;
  }
  .hero-v139 .hero-intro-row{gap:20px;align-items:flex-end}
  .hero-v139 .hero-intro-text{font-size:15px}
  .hero.hero-v139 > .hero-part-nav{
    width:calc(100% - 40px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .hero-v139 > .hero-part-nav a{min-height:64px;padding:13px}
  .hero-v139 > .hero-part-nav .home-nav-title{font-size:13.5px}
}

@media (max-width: 700px){
  .hero.hero-v139{
    min-height:calc(100vh - 68px)!important;
    min-height:calc(100svh - 68px)!important;
    padding:0 0 16px!important;
  }
  .hero-v139 .hero-cover{
    min-height:330px;
    height:clamp(360px,56svh,500px);
  }
  .hero-v139 .hero-cover img{object-position:center top}
  .hero-v139 .hero-cover::after{
    height:118px;
    background:linear-gradient(
      to bottom,
      rgba(250,251,249,0) 0%,
      rgba(250,251,249,.24) 34%,
      rgba(250,251,249,.74) 70%,
      var(--paper) 100%
    );
  }
  .hero-v139 .hero-intro-wrap{
    margin:-54px auto 0;
    padding:0 18px;
  }
  .hero-v139 .hero-intro-row{display:block}
  .hero-v139 .hero-intro-eyebrow{
    font-size:10px;
    line-height:1.45;
    letter-spacing:.03em;
    margin-bottom:8px;
  }
  .hero-v139 .hero-intro-text{font-size:14px;line-height:1.62}
  .hero-v139 .hero-home-link{margin-top:16px;min-height:40px;padding:9px 14px;font-size:12.5px}
  .hero.hero-v139 > .hero-part-nav{
    width:calc(100% - 36px);
    margin:22px auto 0;
    padding:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .hero-v139 > .hero-part-nav a{min-height:68px;padding:12px;gap:8px;border-radius:14px}
  .hero-v139 > .hero-part-nav .home-nav-title{font-size:14px}
}

@media (max-width: 355px){
  .hero-v139 .hero-intro-wrap{padding:0 15px}
  .hero.hero-v139 > .hero-part-nav{width:calc(100% - 30px);gap:8px}
  .hero-v139 > .hero-part-nav a{padding:10px;min-height:66px}
  .hero-v139 > .hero-part-nav .home-nav-title{font-size:13px}
}


/* v140 – Kein Schwebebutton über den Startkacheln: Zurück-nach-oben erst nach dem Scrollen. */
.back-top{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(7px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.back-top.is-visible-on-scroll{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
@media(prefers-reduced-motion:reduce){.back-top{transition:none}}


/* V141 – Handy-Motiv ohne links abgeschnittenen Puppy.
   Das Portrait bleibt vollständig sichtbar, ohne Strecken und ohne seitlichen Crop. */
@media (max-width:700px){
  .hero-v139 .hero-cover{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1122 / 1402;
    line-height:0;
    overflow:hidden;
    background:var(--paper);
  }
  .hero-v139 .hero-cover picture{
    display:block!important;
    width:100%;height:100%;
  }
  .hero-v139 .hero-cover img{
    display:block!important;
    width:100%;height:100%;
    object-fit:contain!important;
    object-position:center center!important;
    max-width:100%;
  }
  .hero-v139 .hero-cover::after{
    height:clamp(52px,10vw,74px);
    background:linear-gradient(to bottom,rgba(250,251,249,0),var(--paper));
  }
  .hero-v139 .hero-intro-wrap{margin:-44px auto 0!important;}
  .hero.hero-v139>.hero-part-nav{margin-top:24px!important;}
}

/* V141 – ruhigere, modernere Navigation in vier Gruppen.
   Native <details> und bestehende Sprunglinks bleiben erhalten. */
.topic-menu>.topic-panel,.topic-panel{
  right:max(12px,calc((100vw - 1184px)/2));
  width:min(740px,calc(100vw - 24px));
  padding:0!important;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(149,181,199,.50);
  border-radius:20px;
  background:#f5f9fc;
  box-shadow:0 26px 76px rgba(8,33,57,.26),0 5px 20px rgba(8,33,57,.10);
  max-height:calc(100dvh - 82px);
}
.topic-menu>summary{
  border-radius:12px!important;
  background:transparent!important;
  color:#183750!important;
  transition:background .18s ease,color .18s ease!important;
}
.topic-menu>summary:hover,.topic-menu[open]>summary{
  background:#e5f2f7!important;
  color:#056e8c!important;
}
.topic-menu>summary:focus-visible{
  outline:3px solid #028cb1!important;
  outline-offset:2px!important;
}
.topic-panel .menu-heading{
  position:relative;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  margin:0;
  min-height:114px;
  padding:20px 22px;
  background:linear-gradient(118deg,#0e2e4c 0%,#114b68 70%,#086d85 100%);
  color:#fff;
}
.topic-panel .menu-heading-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.topic-panel .menu-heading-overline{
  color:#8de1e8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.topic-panel .menu-heading strong{
  font-size:clamp(19px,2vw,24px);
  line-height:1.17;
  color:#fff;
  letter-spacing:-.035em;
}
.topic-panel .menu-heading small{
  color:#d2e6f1;
  font-size:12px;
  font-weight:500;
  line-height:1.35;
}
.topic-panel .menu-top-link{
  align-self:center;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:10px 13px;
  flex-shrink:0;
  border:1px solid rgba(211,242,255,.32);
  border-radius:12px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:12px;
  text-decoration:none;
  font-weight:700;
  transition:background .18s ease;
}
.topic-panel .menu-top-link:hover{background:rgba(255,255,255,.20)}
.topic-panel .menu-top-arrow{font-size:17px;line-height:1}
.topic-panel .menu-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  align-items:start;
  padding:16px;
  counter-reset:category;
}
.topic-panel .menu-category{
  counter-increment:category;
  align-self:start;
  overflow:hidden;
  border:1px solid #d8e6ed;
  border-radius:15px;
  background:#fff;
  box-shadow:0 2px 10px rgba(20,49,67,.045);
  min-width:0;
}
.topic-panel .menu-category>summary{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:12px 13px;
  background:#fff;
  color:#18364e;
  font-size:14px;
  font-weight:780;
  line-height:1.35;
  transition:background .2s ease;
}
.topic-panel .menu-category>summary:hover,
.topic-panel .menu-category[open]>summary{
  background:#ecf7fa;
}
.topic-panel .menu-category>summary::before{
  content:counter(category,decimal-leading-zero);
  display:grid;place-items:center;
  flex:0 0 30px;
  height:30px;
  border-radius:9px;
  background:#e8f4f9;
  color:#16718e;
  font-size:11px;
  letter-spacing:.03em;
  font-weight:850;
}
.topic-panel .menu-category>summary::after{
  content:'⌄';
  display:grid;place-items:center;
  width:27px;height:27px;
  margin-left:auto;
  border-radius:9px;
  background:#edf3f6;
  color:#2f6582;
  font-size:19px;
  font-weight:500;
  line-height:1;
  transition:transform .2s ease,background .2s ease;
}
.topic-panel .menu-category[open]>summary::after{
  content:'⌄';transform:rotate(180deg);background:#d4edf3;
}
.topic-panel .menu-category>a{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:10px 15px;
  color:#3c5367;
  text-decoration:none;
  font-size:13px;
  font-weight:550;
  line-height:1.4;
  border-top:1px solid #e9f1f4;
  transition:color .15s ease,background .15s ease;
}
.topic-panel .menu-category>a::after{
  content:'↗';
  margin-left:auto;
  padding-left:10px;
  color:#56899e;
  font-size:14px;
  opacity:.7;
}
.topic-panel .menu-category>a:hover,
.topic-panel .menu-category>a:focus-visible{
  padding-left:15px;
  background:#f0f9fc;
  color:#075c83;
}
.topic-panel .menu-category>a[aria-current="location"]{
  background:#e5f4f7;
  font-weight:800;
  color:#006f83;
}
@media(max-width:700px){
  .topic-panel,
  .topic-menu>.topic-panel{
    right:10px;
    width:calc(100vw - 20px);
    max-height:calc(100dvh - 66px);
    border-radius:18px;
  }
  .topic-panel .menu-heading{padding:18px 16px;min-height:107px;gap:8px}
  .topic-panel .menu-heading strong{font-size:20px}
  .topic-panel .menu-heading small{font-size:11px}
  .topic-panel .menu-top-link{padding:8px 10px;font-size:11px}
  .topic-panel .menu-groups{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
  }
  .topic-panel .menu-category>summary{font-size:14px;min-height:60px;padding:12px}
  .topic-panel .menu-category>a{font-size:13px;min-height:46px}
}
@media(prefers-reduced-motion:reduce){
  .topic-panel *{transition:none!important}
}


/* V142 – Menükomposition mit separater, gut lesbarer Überschrift,
   kompaktem Desktop-Panel und eindeutigen Pfeilen. */
.topic-menu>.topic-panel,
.topic-panel{
  box-sizing:border-box;
  position:absolute;
  top:calc(100% + 7px);
  right:max(18px,calc((100vw - 1184px) / 2));
  left:auto;
  width:min(448px,calc(100vw - 36px));
  max-width:448px;
  max-height:calc(100dvh - 100px);
  padding:0!important;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid #d5e3ec;
  border-radius:18px;
  background:#f6fafb;
  box-shadow:0 18px 46px rgba(15,48,74,.18);
}
.topic-panel .menu-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:0;
  padding:19px 20px 18px;
  background:linear-gradient(120deg,#102f4d,#11516e 70%,#087c8f);
  margin:0;
}
.topic-panel .menu-heading-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  gap:3px;
}
.topic-panel .menu-heading-overline{
  display:block;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  line-height:1.5;
  color:#9de2eb;
  white-space:normal;
}
.topic-panel .menu-heading strong{
  display:block;
  font-size:20px;
  font-weight:800;
  line-height:1.18;
  color:#fff;
  letter-spacing:-.03em;
  overflow-wrap:break-word;
}
.topic-panel .menu-heading small{
  display:block;
  margin-top:2px;
  font-size:11px;
  line-height:1.45;
  color:#d5eaf0;
}
.topic-panel .menu-top-link{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  align-self:center;
  white-space:nowrap;
  min-height:42px;
  padding:8px 10px;
  font-size:11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.36);
  background:rgba(255,255,255,.13);
  color:#fff;
}
.topic-panel .menu-groups{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:9px;
  padding:12px;
}
.topic-panel .menu-category{
  border:1px solid #dce9ef;
  border-radius:12px;
  background:#fff;
  min-width:0;
  overflow:hidden;
  box-shadow:none;
}
.topic-panel .menu-category>summary{
  display:flex;
  align-items:center;
  min-height:58px;
  gap:11px;
  padding:11px 14px;
  font-size:14px;
  font-weight:760;
  line-height:1.4;
  color:#14324a;
  background:#fff;
}
.topic-panel .menu-category>summary::before{
  flex:0 0 28px;
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:8px;
  background:#e6f3f7;
  color:#176e87;
  font-size:10px;
}
/* CSS-Pfeil statt Font-Glyphe: die Spitze zeigt zu, ob die Gruppe offen ist. */
.topic-panel .menu-category>summary::after{
  content:"";
  box-sizing:border-box;
  display:block;
  width:9px;height:9px;
  flex:0 0 9px;
  margin:0 10px 4px auto;
  padding:0;
  border:0;
  border-right:2px solid #26647e;
  border-bottom:2px solid #26647e;
  border-radius:0;
  background:transparent;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.topic-panel .menu-category[open]>summary::after{
  content:"";
  margin-top:7px;
  margin-bottom:0;
  transform:rotate(225deg);
  background:transparent;
}
.topic-panel .menu-category>a{
  min-height:43px;
  padding:10px 15px 10px 18px;
  font-size:12.5px;
  line-height:1.38;
  color:#34536a;
  border-top:1px solid #ebf1f4;
}
/* Unauffällige Richtungspfeile für interne Seitenanker. */
.topic-panel .menu-category>a::after{
  content:"›";
  font-size:20px;
  font-weight:500;
  line-height:1;
  color:#5a90a2;
  opacity:.85;
}
.topic-panel .menu-category>a:hover,
.topic-panel .menu-category>a:focus-visible{
  color:#006e87;
  background:#edf8fa;
}
.topic-menu>summary,.topic-menu[open]>summary{
  border-radius:12px!important;
}
@media(max-width:700px){
  .topic-menu>.topic-panel,
  .topic-panel{
    top:calc(100% + 5px);
    right:12px;
    width:calc(100vw - 24px);
    max-width:none;
    max-height:calc(100dvh - 86px);
    border-radius:17px;
  }
  .topic-panel .menu-heading{
    grid-template-columns:minmax(0,1fr) auto;
    min-height:0;
    gap:10px;
    padding:18px 15px;
  }
  .topic-panel .menu-heading strong{font-size:19px}
  .topic-panel .menu-heading-overline{font-size:9px}
  .topic-panel .menu-heading small{font-size:11px}
  .topic-panel .menu-top-link{min-height:40px;padding:8px 10px;font-size:11px}
  .topic-panel .menu-groups{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}
  .topic-panel .menu-category>summary{min-height:60px;font-size:14px}
  .topic-panel .menu-category>a{min-height:46px;font-size:13px}
  /* Die Bildausblendung ist abgeschlossen, bevor die Einleitung beginnt. */
  .hero-v139 .hero-intro-wrap{margin:8px auto 0!important}
}
@media(max-width:365px){
  .topic-panel .menu-heading{
    grid-template-columns:1fr;
    gap:12px;
  }
  .topic-panel .menu-heading strong{font-size:19px}
  .topic-panel .menu-top-link{justify-self:start}
}
@media(prefers-reduced-motion:reduce){
  .topic-panel .menu-category>summary::after{transition:none}
}


/* V142 – nur die HOEHE der vier Kapitelkarten auf dem Smartphone
   reduzieren. Ihre bestehende Breite und die aeusseren Abstaende bleiben
   absichtlich unveraendert. */
@media (max-width:700px){
  details.major-accordion > summary.major-head{
    padding-top:15px;
    padding-bottom:15px;
    row-gap:7px;
  }
  details.major-accordion > summary.major-head .eyebrow{
    margin-bottom:7px;
  }
  details.major-accordion > summary.major-head > p{
    line-height:1.5;
  }
}

/* V142 – praesenteres, aber sanftes Hover-Feedback am Desktop. */
@media (hover:hover) and (pointer:fine){
  details.major-accordion > summary.major-head:hover{
    transform:translateY(-2px);
    filter:brightness(1.045);
    box-shadow:0 22px 52px rgba(13,57,85,.30);
  }
  .hero .hero-part-nav > a:hover{
    transform:translateY(-3px);
    filter:brightness(1.075);
    box-shadow:0 15px 30px rgba(14,50,75,.25);
  }
  .topic-panel .menu-category > summary:hover{
    background:#d9f0f6;
    color:#064968;
  }
  .topic-panel .menu-category > a:hover{
    background:#dff3f8;
    color:#005778;
  }
}


/* V143 – Vier mobile Hauptkapitel: Breite unverändert, kompaktere Typografie,
   Höhe wird nach Inhalt durch kapitelkarten-v143.js synchronisiert. */
@media (max-width:700px){
  details.major-accordion > summary.major-head {
    box-sizing:border-box;
    padding-top:17px;
    padding-bottom:17px;
    row-gap:10px;
    align-items:center;
    align-content:center;
    grid-template-rows:auto auto;
  }
  details.major-accordion > summary.major-head .eyebrow{
    margin-bottom:6px;
    font-size:10px;
    line-height:1.4;
  }
  details.major-accordion > summary.major-head h2{
    font-size:clamp(28px,8.1vw,33px);
    line-height:1.13;
    letter-spacing:-.037em;
  }
  details.major-accordion > summary.major-head > p{
    font-size:13.5px;
    line-height:1.48;
  }
}
/* Menü ohne ungewollte Zähler/Nummern. Die Pfeile bleiben rechts stehen. */
.topic-panel .menu-groups{counter-reset:none!important}
.topic-panel .menu-category{counter-increment:none!important}
.topic-panel .menu-category>summary::before{content:none!important;display:none!important}
.topic-panel .menu-category>summary{gap:12px}

/* Starke, gut unterscheidbare Interaktion: Kapitel, Schnellnavigation, Menü,
   Zielkarten und Zielverzeichnis. Hover am PC, kurzes gedrücktes Feedback am Handy. */
:where(details.major-accordion > summary.major-head,
       .hero .hero-part-nav > a,
       .topic-panel .menu-category,
       .topic-panel .menu-category > summary,
       .topic-panel .menu-category > a,
       .card,
       .contents-card,.contents-mood-card,
       .subarea-summary){
  transition:background-color .19s ease, border-color .19s ease,
             color .19s ease, box-shadow .22s ease, transform .19s ease,
             filter .19s ease;
}
.card .photo-frame img{transition:transform .26s ease,filter .25s ease}
@media (hover:hover) and (pointer:fine){
  details.major-accordion > summary.major-head:hover{
    transform:translateY(-4px);
    filter:brightness(1.13) saturate(1.13);
    box-shadow:0 24px 52px rgba(0,102,154,.36),0 0 0 2px rgba(25,192,224,.52);
  }
  .hero .hero-part-nav > a:hover{
    transform:translateY(-4px);
    filter:brightness(1.17) saturate(1.2);
    box-shadow:0 17px 30px rgba(0,86,136,.38),0 0 0 2px rgba(31,189,227,.55);
  }
  .topic-panel .menu-category:hover{
    border-color:#20aed0;
    box-shadow:0 8px 21px rgba(0,99,143,.18);
  }
  .topic-panel .menu-category > summary:hover,
  .topic-panel .menu-category[open] > summary:hover{
    background:#c4eaf3;
    color:#063f5b;
    box-shadow:inset 5px 0 0 #07a7cc;
    transform:none;
  }
  .topic-panel .menu-category > a:hover{
    background:#c5edf6;
    color:#064566;
    box-shadow:inset 4px 0 0 #0a9fc3;
  }
  .card:hover{
    border-color:#29a9d0;
    box-shadow:0 18px 42px rgba(0,92,142,.24),0 0 0 2px rgba(20,169,207,.38);
    transform:translateY(-3px);
  }
  .card:hover .photo-frame img{transform:scale(1.027);filter:saturate(1.09) brightness(1.035)}
  .contents-card:hover,.contents-mood-card:hover{
    border-color:#129ec7;
    background:#e3f5fa;
    box-shadow:0 12px 25px rgba(0,99,143,.17);
    transform:translateY(-3px);
  }
  .subarea-summary:hover{background:#d8eff6;border-color:#13a5c7;box-shadow:0 8px 20px rgba(0,99,143,.11)}
}
/* Feedback beim Fingertipp (kein dauerhaft klebender :hover). */
@media (hover:none), (pointer:coarse){
  :is(details.major-accordion > summary.major-head,
      .hero .hero-part-nav > a,
      .topic-panel .menu-category > summary,
      .topic-panel .menu-category > a,
      .contents-card,.contents-mood-card,
      .subarea-summary).is-touch-pressed{
    transform:scale(.984);
    filter:brightness(1.12) saturate(1.12);
    box-shadow:0 8px 23px rgba(0,87,145,.25),0 0 0 2px rgba(12,171,213,.55);
  }
  .topic-panel .menu-category > :is(summary,a).is-touch-pressed{background:#bfe8f2;color:#06465f}
  .card.is-touch-pressed{
    transform:scale(.991);
    border-color:#18a9d1;
    box-shadow:0 12px 31px rgba(0,91,140,.26),0 0 0 2px rgba(5,159,204,.56);
  }
  .card.is-touch-pressed .photo-frame img{filter:brightness(1.08) saturate(1.13)}
}
@media (prefers-reduced-motion:reduce){
  .card,.card .photo-frame img,details.major-accordion>summary.major-head,
  .topic-panel .menu-category,.topic-panel .menu-category > summary,
  .topic-panel .menu-category > a,.subarea-summary{transition:none!important}
}


/* V144: Persönliche Danksagung in harmonischem Blocksatz – auf PC und Mobil.
   Die letzte Zeile jedes Absatzes bleibt normal linksbündig; deutsche
   Silbentrennung verhindert breite Wortabstände. */
.welcome-content > p {
  text-align:justify;
  text-align-last:left;
  -webkit-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
}

/* V144: Royalblau mit Zurückhaltung – besonders auf hellen Flächen.
   Keine starken Helligkeitsfilter oder leuchtenden Türkisränder. */
@media (hover:hover) and (pointer:fine){
  details.major-accordion > summary.major-head:hover{
    transform:translateY(-2px);
    filter:brightness(1.045) saturate(1.035);
    box-shadow:0 17px 36px rgba(20,57,107,.22),0 0 0 1px rgba(65,115,188,.32);
  }
  .hero .hero-part-nav > a:hover{
    transform:translateY(-2px);
    filter:brightness(1.055) saturate(1.045);
    box-shadow:0 13px 27px rgba(17,52,105,.24),0 0 0 1px rgba(83,140,214,.42);
  }
  .topic-panel .menu-category:hover{
    border-color:#8caee1;
    box-shadow:0 7px 18px rgba(35,80,144,.11);
  }
  .topic-panel .menu-category > summary:hover,
  .topic-panel .menu-category[open] > summary:hover{
    background:#edf3fd;
    color:#154b91;
    box-shadow:inset 3px 0 0 #417cc7;
    transform:none;
  }
  .topic-panel .menu-category > a:hover{
    background:#f0f5fd;
    color:#164e93;
    box-shadow:inset 3px 0 0 #5b8dcc;
  }
  .card:hover{
    border-color:#8faedf;
    background:#fdfefe;
    box-shadow:0 12px 29px rgba(24,68,128,.13),0 0 0 1px rgba(73,124,197,.19);
    transform:translateY(-2px);
  }
  .card:hover .photo-frame img{
    transform:scale(1.018);
    filter:saturate(1.035) brightness(1.012);
  }
  .contents-card:hover,.contents-mood-card:hover{
    border-color:#98b7de;
    background:#f3f7fe;
    box-shadow:0 9px 22px rgba(25,74,144,.12),0 0 0 1px rgba(73,124,197,.12);
    transform:translateY(-2px);
  }
  .subarea-summary:hover{
    background:#f0f5fc;
    border-color:#a1badf;
    box-shadow:0 7px 17px rgba(30,75,136,.11);
  }
}
/* Berührung: ein kurzer blauer Akzent, keine dauerhafte Auswahl. */
@media (hover:none), (pointer:coarse){
  :is(details.major-accordion > summary.major-head,
      .hero .hero-part-nav > a,
      .topic-panel .menu-category > summary,
      .topic-panel .menu-category > a,
      .contents-card,.contents-mood-card,
      .subarea-summary).is-touch-pressed{
    transform:scale(.993);
    filter:brightness(1.035) saturate(1.03);
    box-shadow:0 6px 17px rgba(29,76,145,.14),0 0 0 1px rgba(87,135,206,.40);
  }
  .topic-panel .menu-category > :is(summary,a).is-touch-pressed{
    background:#eaf2fd;
    color:#174a8b;
  }
  .card.is-touch-pressed{
    transform:scale(.996);
    border-color:#92b3e1;
    box-shadow:0 8px 22px rgba(33,79,144,.15),0 0 0 1px rgba(94,137,204,.37);
  }
  .card.is-touch-pressed .photo-frame img{
    transform:scale(1.011);
    filter:saturate(1.04) brightness(1.015);
  }
}


/* V145 · Sichtbare royalblaue Hover-Umrandung (wiederhergestellt).
   Ein klares Blau statt Türkis: weiße Flächen behalten eine dezente Tönung,
   die Kontur und ihr Leuchthof vermitteln das Feedback. */
:root{
  --hover-royal:#3673df;
  --hover-royal-outline:rgba(45,104,219,.80);
  --hover-royal-halo:rgba(43,105,224,.28);
  --hover-royal-shade:rgba(25,64,130,.18);
}
/* Der Leuchtrand liegt im box-shadow außerhalb der Karte und verschiebt
   ihre Position oder benachbarte Elemente nicht. */
@media (hover:hover) and (pointer:fine){
  /* Die vier großen, farbigen Kapitelkarten */
  details.major-accordion > summary.major-head:hover{
    transform:translateY(-3px);
    filter:brightness(1.055) saturate(1.035);
    box-shadow:
      0 0 0 2.5px rgba(66,136,255,.94),
      0 0 24px rgba(53,125,249,.46),
      0 18px 42px rgba(17,52,115,.32);
  }
  /* Vier Schnellzugriffs-Kacheln im Startbereich */
  .hero .hero-part-nav > a:hover{
    transform:translateY(-3px);
    filter:brightness(1.07) saturate(1.045);
    box-shadow:
      0 0 0 2.5px rgba(74,143,255,.98),
      0 0 20px rgba(50,122,255,.45),
      0 13px 31px rgba(19,62,127,.30);
  }
  /* Weiße Ausflugszielkarten: deutlicher blauer Rahmen,
     nur minimale Farbverschiebung der Fläche selbst. */
  .card:hover{
    border-color:var(--hover-royal)!important;
    background:#fbfcff;
    transform:translateY(-3px);
    box-shadow:
      0 0 0 2px var(--hover-royal-outline),
      0 0 20px var(--hover-royal-halo),
      0 14px 32px var(--hover-royal-shade);
  }
  .card:hover .photo-frame img{
    transform:scale(1.022);
    filter:saturate(1.06) brightness(1.02);
  }
  /* Weiße Aufklappkarten innerhalb der Kapitel */
  details.subarea-accordion:has(>summary.subarea-summary:hover){
    border-color:var(--hover-royal)!important;
    box-shadow:
      0 0 0 2px rgba(51,110,218,.65),
      0 0 20px rgba(45,113,236,.23),
      0 10px 29px rgba(24,65,136,.15);
  }
  details.subarea-accordion > summary.subarea-summary:hover{
    background:linear-gradient(135deg,#ffffff,#f1f5ff);
    border-color:var(--hover-royal);
    box-shadow:none;
  }
  /* Kleine weiße Link- und Inhaltkacheln */
  :is(.contents-card,.contents-mood-card,.walki-highlight,.editorial-card,.combo):hover{
    border-color:var(--hover-royal)!important;
    background-color:#f8faff;
    transform:translateY(-2px);
    box-shadow:
      0 0 0 2px rgba(45,104,219,.67),
      0 0 17px rgba(45,108,232,.22),
      0 10px 24px rgba(22,61,130,.14);
  }
  /* Desktop-Hamburgermenü: klarer Akzent am gewählten Bereich */
  .topic-panel .menu-category:hover{
    border-color:var(--hover-royal)!important;
    box-shadow:0 0 0 1.5px rgba(49,111,226,.55),0 0 16px rgba(48,111,225,.22);
  }
  .topic-panel .menu-category > summary:hover,
  .topic-panel .menu-category[open] > summary:hover{
    background:#e5eeff;
    color:#15498d;
    box-shadow:inset 4px 0 0 var(--hover-royal);
  }
  .topic-panel .menu-category > a:hover{
    background:#edf3ff;
    color:#174c91;
    box-shadow:inset 4px 0 0 var(--hover-royal);
  }
}
/* Touch: Royalblau nach Berührung deutlich sichtbar, danach wieder weg. */
@media (hover:none), (pointer:coarse){
  :is(details.major-accordion > summary.major-head,
      .hero .hero-part-nav > a).is-touch-pressed{
    transform:scale(.989);
    filter:brightness(1.065) saturate(1.04);
    box-shadow:0 0 0 2.5px rgba(64,137,250,.92),0 0 19px rgba(55,122,232,.36),0 8px 22px rgba(23,66,143,.22);
  }
  :is(.contents-card,.contents-mood-card,
      .topic-panel .menu-category > summary,
      .topic-panel .menu-category > a).is-touch-pressed{
    background-color:#e9f1ff;
    filter:none;
    box-shadow:0 0 0 2px rgba(49,111,224,.74),0 0 13px rgba(54,111,230,.26);
  }
  .card.is-touch-pressed{
    border-color:var(--hover-royal)!important;
    background:#f9fbff;
    transform:scale(.993);
    box-shadow:0 0 0 2px rgba(48,109,220,.74),0 0 18px rgba(54,115,236,.28),0 8px 22px rgba(24,64,137,.17);
  }
  details.subarea-accordion:has(>summary.subarea-summary.is-touch-pressed){
    border-color:var(--hover-royal)!important;
    box-shadow:0 0 0 2px rgba(48,109,220,.72),0 0 17px rgba(54,115,236,.26);
  }
  details.subarea-accordion > summary.subarea-summary.is-touch-pressed{
    background:#f0f5ff;
    filter:none;
    box-shadow:none;
  }
}
@media (prefers-reduced-motion:reduce){
  .card,.editorial-card,.combo,.walki-highlight,.subarea-accordion,
  .contents-card,.contents-mood-card{transition:none!important}
}


/* V145 · Lesekontrast der kleineren Beschreibungstexte */
/* Dunkle Kapitelkacheln: der erklärende Text wird deutlich und bleibt sanft. */
details.major-accordion > summary.major-head > p{
  color:#fff!important;
  font-weight:520;
  text-shadow:0 1px 2px rgba(4,22,44,.18);
}
/* Helle Unterkapitel und Zielkarten: dunkleres Blaugrau statt blasser Schrift. */
details.subarea-accordion > summary.subarea-summary .subarea-summary-copy > p:last-child:not(.eyebrow){
  color:#32495f;
  font-weight:500;
}
.card .card-lead, .contents-card small, .contents-mood-card small{
  color:#3a5168;
  font-weight:500;
}
/* Schrift im weichen Auslauf des Hero bleibt auch am Handy klar sichtbar. */
.hero-v139 .hero-intro-eyebrow{color:#096679;font-weight:820}
.hero-v139 .hero-intro-text{color:#26384d;font-weight:475}


/* V146 – weich blaue statt hart umrandeter WEISSER Kacheln. */
@media (hover:hover) and (pointer:fine){
  /* Kein Eingriff in dunkle Hauptkarten und kein Eingriff ins Hamburger-Menü. */
  .card:hover{
    background:#edf4ff!important;
    border-color:rgba(67,115,192,.42)!important;
    box-shadow:
       0 0 0 1px rgba(65,112,205,.24),
       0 0 19px rgba(60,121,226,.23),
       0 15px 28px rgba(25,59,107,.14)!important;
  }
  .card:hover > .body{background:linear-gradient(140deg,rgba(230,241,255,.8),rgba(244,248,255,.84));transition:background .20s ease}
  details.subarea-accordion:has(>summary.subarea-summary:hover){
    background:#eef5ff!important;
    border-color:rgba(66,111,188,.42)!important;
    box-shadow:0 0 0 1px rgba(58,109,199,.22),0 0 18px rgba(59,117,220,.22),0 10px 25px rgba(24,61,110,.11)!important;
  }
  details.subarea-accordion > summary.subarea-summary:hover{
    background:linear-gradient(112deg,#e7f1ff 0%,#f1f6ff 100%)!important;
    border-color:rgba(65,116,197,.30)!important;
    box-shadow:none!important;
  }
  :is(.contents-card,.walki-highlight,.editorial-card,.combo):hover{
    background:#eaf3ff!important;
    border-color:rgba(66,114,196,.38)!important;
    box-shadow:0 0 0 1px rgba(66,117,205,.24),0 0 16px rgba(62,119,223,.19),0 9px 23px rgba(25,61,111,.11)!important;
  }
}
@media (hover:none), (pointer:coarse){
  .card.is-touch-pressed{
    background:#eaf3ff!important;
    border-color:rgba(60,110,196,.45)!important;
    box-shadow:0 0 0 1px rgba(55,108,205,.30),0 0 17px rgba(66,124,222,.22),0 8px 20px rgba(25,67,128,.10)!important;
  }
  .card.is-touch-pressed > .body{background:#edf4ff}
  details.subarea-accordion:has(>summary.subarea-summary.is-touch-pressed){
    background:#eef5ff!important;
    border-color:rgba(61,113,202,.38)!important;
    box-shadow:0 0 0 1px rgba(63,113,204,.25),0 0 15px rgba(64,123,224,.19)!important;
  }
  details.subarea-accordion > summary.subarea-summary.is-touch-pressed{
    background:linear-gradient(110deg,#eaf2ff,#f2f7ff)!important;
    box-shadow:none!important;
  }
  :is(.contents-card,.walki-highlight,.editorial-card,.combo).is-touch-pressed{
    background:#eaf3ff!important;
    border-color:rgba(66,114,196,.42)!important;
    box-shadow:0 0 0 1px rgba(56,109,204,.26),0 0 15px rgba(59,119,221,.18)!important;
  }
}
/* V146 – eindeutige, elegante Rücklinks ohne weiße Pillen. */
.chapter-nav{margin:22px 0 6px;padding:0;display:flex;gap:8px;justify-content:flex-start;align-items:center}
.chapter-nav a{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;
  width:fit-content;max-width:100%;min-height:44px;
  padding:9px 11px!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  box-shadow:none!important;
  color:#285b91!important;
  font-size:13px;font-weight:730;line-height:1.5;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease,transform .18s ease;
}
.chapter-nav a .chapter-nav-arrow{font-size:15px;transform:none;color:#356eb5}
@media (hover:hover) and (pointer:fine){
  .chapter-nav a:hover{
    background:#eaf2ff!important;
    border-color:transparent!important;
    color:#164d90!important;
    transform:translateY(-1px);
    box-shadow:none!important;
  }
}
.chapter-nav a:active{background:#e4efff!important}
.chapter-nav a:focus-visible{outline:2px solid #477bce;outline-offset:2px}
@media (max-width:700px){
  .chapter-nav a{font-size:12.5px;padding:9px 8px!important}
}


/* V147 – die zwei Rücksprungebenen bleiben erhalten und unterscheiden sich
   optisch wieder als dezente Navigationsbuttons. */
.chapter-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
  gap:10px;
  margin:22px 0 8px;
  padding:0;
}
.chapter-nav a{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  min-height:45px;
  width:fit-content;
  max-width:100%;
  padding:9px 12px 9px 17px!important;
  font-size:13px;
  font-weight:740;
  line-height:1.35;
  color:#22558e!important;
  background:linear-gradient(125deg,#ffffff 0%,#f0f6ff 100%)!important;
  border:1px solid #c2d7ef!important;
  border-radius:999px!important;
  box-shadow:0 3px 11px rgba(27,64,114,.075)!important;
  text-decoration:none!important;
  transition:background .18s ease,border-color .18s ease,
      box-shadow .2s ease,transform .18s ease;
}
.chapter-nav a .chapter-nav-arrow{
  display:grid;
  flex:0 0 25px;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#e1edff;
  color:#2e67b1;
  font-size:15px;
  line-height:1;
}
/* Der Rücksprung zur Hauptkategorie ist eine Stufe kräftiger gefärbt. */
.chapter-nav.major-return-nav a{
  color:#174c86!important;
  background:linear-gradient(125deg,#e9f2ff 0%,#deecff 100%)!important;
  border-color:#b1c9e7!important;
  box-shadow:0 4px 13px rgba(34,78,130,.09)!important;
}
.chapter-nav.major-return-nav a .chapter-nav-arrow{background:#d0e3ff;color:#20579f}
@media(hover:hover) and (pointer:fine){
  .chapter-nav a:hover,
  .chapter-nav.major-return-nav a:hover{
    color:#174580!important;
    border-color:#669ce0!important;
    background:linear-gradient(125deg,#e3efff,#d5e8ff)!important;
    box-shadow:0 0 0 1px rgba(52,111,199,.20),
       0 0 16px rgba(47,109,215,.16),
       0 6px 18px rgba(28,73,137,.14)!important;
    transform:translateY(-2px);
  }
  .chapter-nav a:hover .chapter-nav-arrow{background:#c4dcff;color:#14519e}
}
.chapter-nav a:active{
  background:#dceaff!important;
  transform:translateY(0);
}
.chapter-nav a:focus-visible{outline:3px solid #2b6fca;outline-offset:3px}
@media(max-width:700px){
  .chapter-nav{gap:8px;margin:18px 0 5px}
  .chapter-nav a{min-height:43px;padding:8px 11px 8px 14px!important;font-size:12.5px;gap:9px}
  .chapter-nav a .chapter-nav-arrow{width:23px;height:23px;flex-basis:23px}
}


/* V147 – Surface/iPad Pro: eigene Hochformat-Bildquelle statt Desktop-Crop.
   Die Navigation am unteren Startbereich ist absichtlich NICHT verändert. */
@media (min-width:701px) and (max-width:1200px) and (orientation:portrait){
  .hero.hero-v139{
    min-height:calc(100svh - 74px)!important;
    height:auto!important;
  }
  .hero-v139 .hero-cover{
    flex:0 0 auto!important;
    display:block!important;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1122 / 1402!important;
    overflow:hidden;
    background:var(--paper);
    line-height:0;
  }
  .hero-v139 .hero-cover picture{
    width:100%!important;
    height:100%!important;
    display:block;
  }
  .hero-v139 .hero-cover img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    max-width:100%;
  }
  .hero-v139 .hero-cover::after{
    height:clamp(65px,10vw,105px);
    background:linear-gradient(to bottom,rgba(250,251,249,0) 0%,rgba(250,251,249,.48) 52%,var(--paper) 100%);
  }
  .hero-v139 .hero-intro-wrap{
    margin:-64px auto 0!important;
    width:100%;
    padding-inline:clamp(24px,4vw,44px)!important;
  }
}


/* V149: Auch auf iOS nach dem Tippen kein anhaltender nativer Hover-Effekt.
   Die kurzen, bewusst steuerbaren Akzente laufen ausschliesslich ueber
   .is-touch-pressed (touch-feedback-v149.js). Desktop-Hover bleibt erhalten. */


/* V151: Touch-Abklingen nach dem Loslassen auf 400ms verlaengert; Scrollen bleibt schnell.
   Nur auf Touchgeraeten, nicht auf Desktop mit Maus. */
@media (hover:none), (pointer:coarse) {
  :is(details.major-accordion > summary.major-head,
      .hero .hero-part-nav > a,
      .topic-panel .menu-category > summary,
      .topic-panel .menu-category > a,
      .contents-card,.contents-mood-card,
      .subarea-summary,.card,details.subarea-accordion) {
    transition-property: background-color,border-color,color,box-shadow,transform,filter;
    transition-duration: .40s,.40s,.40s,.40s,.40s,.40s;
    transition-timing-function: cubic-bezier(.22,1,.36,1);
  }
  .card > .body {
    transition:background-color .40s cubic-bezier(.22,1,.36,1);
  }
  /* Beim Eindruecken bleibt die V150-Dauer erhalten, nur nach dem Loslassen 400 ms. */
  :is(details.major-accordion > summary.major-head,
      .hero .hero-part-nav > a,
      .topic-panel .menu-category > summary,
      .topic-panel .menu-category > a,
      .contents-card,.contents-mood-card,
      .subarea-summary,.card,details.subarea-accordion).is-touch-pressed {
    transition-duration: .28s,.28s,.22s,.30s,.25s,.27s;
  }
  .card.is-touch-pressed > .body {
    transition-duration:.28s;
    background-color:#edf4ff;
  }

  /* Der Unterkachel-Verlauf laesst sich nicht direkt animieren: 
     ein transparentes Overlay blendet stattdessen weich aus. */
  details.subarea-accordion > summary.subarea-summary {
    position:relative;
    isolation:isolate;
  }
  details.subarea-accordion > summary.subarea-summary::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:linear-gradient(110deg,#eaf2ff,#f2f7ff);
    opacity:0;
    transition:opacity .40s cubic-bezier(.22,1,.36,1);
  }
  details.subarea-accordion > summary.subarea-summary > * {
    position:relative;
    z-index:1;
  }
  details.subarea-accordion > summary.subarea-summary.is-touch-pressed {
    background:linear-gradient(135deg,#fff 0%,#f7fbfd 100%)!important;
  }
  details.subarea-accordion > summary.subarea-summary.is-touch-pressed::before {
    transition-duration:.28s;
    opacity:1;
  }

  /* Bei echter Scrollbewegung lieber rasch und unauffaellig ausblenden. */
  :is(.is-touch-scroll-cancel,details.subarea-accordion:has(>summary.is-touch-scroll-cancel)) {
    transition-duration:.13s!important;
    transition-timing-function:ease-out!important;
  }
  .is-touch-scroll-cancel::before {
    transition-duration:.13s!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  details.subarea-accordion > summary.subarea-summary::before {transition:none!important;}
}
