main { max-width: 1228px; margin: auto; padding: 40px 24px 80px; min-height: 65vh; }
section { margin-top: 28px; padding: clamp(28px, 6vw, 72px); background: #f7f8f9; border-radius: 24px; }
.eyebrow { color: #135872; font-size: 14px; margin: 0 0 18px; }
h1 { font-size: clamp(26px, 4vw, 44px); line-height: 1.15; overflow-wrap: anywhere; margin: 0 0 24px; }
.intro { max-width: 660px; font-size: 18px; line-height: 1.65; margin: 0 0 32px; color: #5a6b73; }
.button { display: inline-block; border-radius: 10px; background: #135872; color: white; padding: 14px 24px; font-size: 14px; font-weight: 500; text-decoration: none; }
.button:hover { background: #143845; }
@media (max-width: 600px) { main { padding-top: 24px; } .intro { font-size: 16px; } }

.holiday-page { padding-top: 12px; padding-bottom: 0; }
.holiday-page .holiday-hero { margin-top: 0; min-height: 560px; display: flex; align-items: center; background: url('assets/betreuung-praesentation.jpg') center 76% / cover no-repeat; background-color: rgba(0,0,0,.42); background-blend-mode: multiply; color: white; }
.holiday-hero-content { max-width: 650px; }
.holiday-hero .eyebrow, .holiday-hero .intro { color: white; }
.holiday-hero h1 { font-size: clamp(24px, 3.5vw, 38px); text-shadow: none; }
.holiday-hero .intro { font-size: clamp(15px, 2vw, 18px); line-height: 1.55; }
.holiday-page .holiday-hero .button { font-size: 16px; }
.holiday-page .button { color: #fff; background: var(--brand); font-weight: 500; }
.holiday-page .button:hover { background: var(--brand-dark); }
.holiday-page .holiday-hero .button { background: #fff; color: #000; }
.holiday-page .holiday-hero .button:hover { background: #f2f2f2; color: #000; }
.holiday-page .button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.holiday-page h2 { color: var(--brand); font-size: clamp(24px, 3.5vw, 32px); margin: 0 0 22px; }
.holiday-page h3 { color: var(--brand); font-size: 19px; margin: 0 0 12px; }
.holiday-lead, .holiday-grid p, .holiday-steps p { font-size: 15px; }
.holiday-lead { max-width: 780px; line-height: 1.7; color: var(--text-muted); margin: 0 0 28px; }
.holiday-page > section:not(.holiday-hero) { margin-top: 64px; padding: 40px; }
.holiday-services { background: white; }
.holiday-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; margin-top: 32px; }
.holiday-grid article { padding: 28px; background: #f7f8f9; border-radius: 16px; }
.holiday-grid article:first-child { grid-column: 1 / -1; }
.holiday-grid article:first-child p { max-width: 820px; }
.holiday-grid p, .holiday-steps p { color: var(--text-muted); line-height: 1.7; margin: 0; }
.holiday-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; list-style: none; padding: 0; margin: 32px 0 0; counter-reset: steps; }
.holiday-steps li::before { counter-increment: steps; content: '0' counter(steps); display: block; color: var(--brand); font-size: 14px; margin-bottom: 16px; }
.holiday-fee { background: #f7f8f9; }
.holiday-page .holiday-start { background: white; }
.holiday-steps li { padding: 24px 0; border-top: 1px solid #e3e9ec; }
@media (max-width: 900px) {
  .holiday-page > section:not(.holiday-hero) { padding: 28px 0; margin-top: 36px; }
  .holiday-page .holiday-fee { padding: 28px; }
  .holiday-steps { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 600px) {
  .holiday-page .holiday-hero { min-height: 580px; background-position: 50% 65%; padding: 36px 24px; }
  .holiday-hero .eyebrow { font-size: 13px; }
  .holiday-grid, .holiday-steps { grid-template-columns: 1fr; gap: 28px; }
  .holiday-grid { gap: 16px; }
  .holiday-grid article { padding: 24px; }
  .holiday-steps { gap: 0; }
}

/* Explicit section padding also overrides the mobile section reset. */
.holiday-page > section.holiday-services,
.holiday-page > section.holiday-start,
.holiday-page > section.holiday-fee {
  margin-top: 40px;
  padding: clamp(28px, 5vw, 60px);
}
.holiday-page > section.holiday-services { background: #f3f6f7; }
.holiday-grid article { background: #fff; }
.holiday-page > section.holiday-start { background: #fff; }
.holiday-page > section.holiday-fee { background: #eaf0f3; }
.holiday-fee h2 { margin-bottom: 18px; }
.holiday-fee .holiday-lead { max-width: 680px; margin-bottom: 28px; }
.holiday-fee .button { width: fit-content; max-width: 100%; text-align: center; }
.holiday-page .holiday-hero { background-position: center 42%; }
@media (max-width: 600px) {
  .holiday-page > section.holiday-services,
  .holiday-page > section.holiday-start,
  .holiday-page > section.holiday-fee { margin-top: 28px; padding: 28px 24px; }
  .holiday-page .holiday-hero { background-position: 50% 32%; }
}

.holiday-page > section.holiday-services {
  border-radius: 0;
  box-shadow: 0 0 0 100vmax #f3f6f7;
  clip-path: inset(0 -100vmax);
}
.holiday-services .holiday-grid { gap: 32px 48px; }
.holiday-services .holiday-grid article { padding: 0; border-radius: 0; background: transparent; }
.holiday-page .holiday-fee h2 { font-size: 22px; }
.holiday-hero-content { width: min(100%, 540px); }
.holiday-hero-content h1 { margin: 0 0 16px; }
.holiday-hero-content .intro { margin: 0 0 28px; }
.holiday-hero-content .button { display: block; width: 100%; padding: 16px 24px; text-align: center; }
.holiday-page > section.holiday-services { padding: 40px 0; }
.holiday-page > section.holiday-start { padding: 72px 0; }
.holiday-start .holiday-steps li { background: #f3f6f7; border: 0; border-radius: 16px; padding: 28px; }
.holiday-start .process-controls { margin-top: 16px; }
.holiday-start .holiday-steps { display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; margin-top: 20px; padding-bottom: 16px; }
.holiday-start .holiday-steps li { flex: 0 0 calc((100% - 84px) / 2); scroll-snap-align: start; }
.process-controls { display: flex; justify-content: flex-end; gap: 10px; }
.process-controls button { width: 44px; height: 44px; border: 0; border-radius: 10px; background: #edf2f4; color: var(--brand-dark); font-size: 22px; cursor: pointer; }
.process-controls button:disabled { opacity: .35; cursor: default; }
.process-controls button:focus-visible, .holiday-steps:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
@media (max-width: 600px) {
  .holiday-start .holiday-steps {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: auto;
    grid-auto-columns: calc(100% - 56px);
    gap: 20px 28px;
  }
  .holiday-start .holiday-steps li { min-width: 0; }
  .holiday-start .process-controls { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .holiday-services .holiday-grid { gap: 28px; }
  .holiday-page .holiday-fee h2 { font-size: 20px; }
  .holiday-page > section.holiday-services { padding: 40px 0; }
  .holiday-page > section.holiday-start { padding: 72px 0; }
  .holiday-page .holiday-hero { background-size: cover; background-position: 30% center; }
}
.holiday-page > section.holiday-fee { padding: 32px 28px; }

/* Shared vertical spacing for every content section, including mobile. */
.holiday-page > section.holiday-services,
.holiday-page > section.holiday-start,
.holiday-page > section.holiday-fee {
  margin-top: 32px;
  padding-top: 64px;
  padding-bottom: 64px;
}
.holiday-page > section > h2 { margin-top: 0; margin-bottom: 28px; }
.holiday-page > .holiday-services > h2,
.holiday-page > .holiday-fee > h2 { margin-bottom: 12px; }
.holiday-page .holiday-fee .button { background: var(--brand); color: #fff; }
.holiday-page .holiday-fee .button:hover { background: var(--brand-dark); }
.holiday-start .process-controls { justify-content: flex-start; }
.holiday-page > section.holiday-start { margin-top: 0; }
.holiday-page > section.holiday-fee {
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  box-shadow: 0 0 0 100vmax #eaf0f3;
  clip-path: inset(0 -100vmax);
}
.holiday-services .holiday-grid { margin-top: 40px; row-gap: 40px; }
.holiday-start .holiday-steps { margin-top: 32px; }
.holiday-fee .holiday-lead { margin-bottom: 36px; }
.holiday-services .holiday-grid { gap: 24px; }
.holiday-services .holiday-grid article.care-card { position: relative; isolation: isolate; overflow: hidden; border-radius: 16px; min-height: 360px; padding: 32px; display: flex; align-items: flex-end; background: #143845; }
.care-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.care-card:first-child img { object-position: center 45%; }
.care-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(0,0,0,.05) 15%, rgba(0,0,0,.78) 100%); }
.holiday-services .care-card h3, .holiday-services .care-card p { color: #fff; }
.holiday-services .care-card p { max-width: 520px; line-height: 1.6; }
.holiday-services .care-card:first-child { min-height: 360px; }
@media (max-width: 600px) {
  .holiday-services .holiday-grid article.care-card { min-height: 340px; padding: 24px; }
}
@media (max-width: 600px) {
  .holiday-page > section.holiday-services,
  .holiday-page > section.holiday-start,
  .holiday-page > section.holiday-fee { padding-top: 48px; padding-bottom: 48px; }
}
