/* Public service pages only. No account, booking or owner selectors. */
body[data-service-navigation].ccc-interior-page .hero h1,
body[data-service-navigation] :is(.hero,.ppf-hero,.dryice-hero) h1 {
  /* The older public shell uses !important here; override only these titles. */
  text-transform:none; font-size:clamp(32px,4.6vw,72px)!important; line-height:1.08!important;
  letter-spacing:-.035em!important; max-width:none; overflow-wrap:break-word; hyphens:manual;
}
body[data-service-navigation].ccc-marketing-page .hero { padding-top:clamp(112px,10vw,144px); padding-bottom:56px; min-height:0; }
body[data-service-navigation] .hero :is(.kicker,.hero-subtitle) { letter-spacing:.09em; font-size:14px; line-height:1.5; }
/* Legacy dark-theme price links otherwise render white on the light shell. */
body[data-service-navigation].ccc-marketing-page .hero :is(.btn,.btn-luxury,.btn-ghost) {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px;
  padding:12px 18px; border:1px solid #77736d; border-radius:6px;
  color:#202326!important; background:#fffefa!important; font-size:15px!important;
  line-height:1.4; letter-spacing:.015em; text-decoration:none; white-space:normal;
}
body[data-service-navigation].ccc-marketing-page .hero :is(.btn,.btn-luxury,.btn-ghost):focus-visible { outline:3px solid #b9231a; outline-offset:4px; }
body[data-service-navigation] .ccc-service-route {
  position:relative; z-index:1; padding:26px 6%; margin:0;
  background:#f5f2eb; color:#202326; border-block:1px solid #29231b24;
  font-family:Manrope,Arial,sans-serif; text-align:left;
}
body[data-service-navigation] .ccc-service-route * { box-sizing:border-box; min-width:0; }
.ccc-service-route__label { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; margin-bottom:16px; font-size:14px; }
.ccc-service-route__label>a { color:#96241d; font-weight:750; text-underline-offset:4px; padding-block:8px; }
.ccc-service-route__label>span { color:#52504b; }
body[data-service-navigation] .ccc-service-route ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; padding:0; margin:0; }
body[data-service-navigation] .ccc-service-route li { padding:0; margin:0; }
body[data-service-navigation] .ccc-service-route li>a {
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  min-height:52px; height:100%; padding:12px 16px; border:1px solid #8d8880;
  border-radius:6px; background:#fffefa; color:#202326; text-decoration:none;
  font-size:15px; font-weight:750; line-height:1.4; text-transform:none; letter-spacing:0;
  overflow-wrap:break-word; transition:background-color .18s,border-color .18s;
}
body[data-service-navigation] .ccc-service-route li>a:hover { background:#fff; border-color:#b9231a; }
body[data-service-navigation] .ccc-service-route a:focus-visible { outline:3px solid #b9231a; outline-offset:4px; }
body[data-service-navigation] .ccc-service-route li>a>span { color:#b9231a; flex:none; }
body[data-service-navigation] :is(main h2[id],main h3[id],main section[id],main [id="innenraum-pakete"],main [id="innenraum-ablauf"],main [id="innenraum-zusatz"]) { scroll-margin-top:150px; }
@media(max-width:900px) {
  body[data-service-navigation] .ccc-service-route { padding:20px 5%; }
  body[data-service-navigation] .ccc-service-route ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body[data-service-navigation] .ccc-service-route li>a { padding:12px; }
  /* Mixed-case words remain legible without shrinking a desktop headline. */
  body[data-service-navigation].ccc-interior-page .hero h1,
  body[data-service-navigation] :is(.hero,.ppf-hero,.dryice-hero) h1 { font-size:clamp(28px,5.5vw,46px)!important; line-height:1.12!important; }
  body[data-service-navigation] main h2 { text-transform:none; line-height:1.18; letter-spacing:-.025em; }
  body[data-service-navigation] .hero-copy>p:not(.hero-note) { font-size:16px; line-height:1.65; max-width:62ch; }
  body[data-service-navigation] .hero :is(.hero-note,.price-tax-note) { font-size:14px; line-height:1.5; }
  body[data-service-navigation] :is(.hero,.ppf-hero,.dryice-hero) :is(.button,.btn,.btn-luxury,.ccc-action-primary,.ccc-action-secondary) { font-size:14px; letter-spacing:.015em; line-height:1.4; min-height:48px; text-align:center; white-space:normal; }
  body[data-service-navigation].underbody-page .hero { min-height:0; padding:108px 5% 40px; }
}
@media(max-width:350px) { body[data-service-navigation] .ccc-service-route li>a { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { body[data-service-navigation] .ccc-service-route a { transition:none; } }
