/*
 * Leistungsseiten – gemeinsame, gekapselte Darstellung.
 * v0.4.06: Freie Trauung – Startseiten-Herztrenner übernommen, Bildüberblendung entfernt.
 * Alle Regeln bleiben unter .sl-service-page-wedding, damit weitere
 * Leistungsseiten später dieselben Bausteine gezielt übernehmen können.
 */
.sl-service-page-wedding{overflow:hidden;background:var(--bg)}
.sl-service-page-wedding h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.025em;line-height:1.12}
.sl-service-page-wedding p{color:var(--muted)}

/* Hero */
.sl-wedding-hero{position:relative;padding:34px 0 0;background:var(--bg)}
.sl-wedding-hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr);min-height:590px;align-items:stretch}
.sl-wedding-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:64px clamp(28px,5vw,70px) 74px 0;position:relative;z-index:2}
.sl-wedding-hero-script{margin:0 0 16px;color:var(--accent)!important;font-family:var(--sl-font-script);font-size:clamp(3rem,4.7vw,5rem);line-height:.92}
.sl-wedding-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,5.6vw,5.8rem);font-weight:500;letter-spacing:-.055em;line-height:.91}
.sl-wedding-mini-divider{display:flex;align-items:center;gap:14px;width:185px;margin:22px 0 20px;color:var(--sand)}
.sl-wedding-mini-divider::before,.sl-wedding-mini-divider::after{content:"";height:1px;flex:1;background:currentColor}.sl-wedding-mini-divider span{display:block;width:18px;height:18px;flex:0 0 18px}
.sl-service-lead{max-width:470px;margin:0 0 28px;font-size:1.06rem;line-height:1.75}
.sl-wedding-hero-copy .sl-button{align-self:flex-start}
.sl-wedding-hero-media{position:relative;min-width:0;overflow:hidden;background:var(--bg)}
.sl-wedding-hero-image,.sl-wedding-hero-placeholder{width:100%;height:100%;min-height:590px;object-fit:cover}
.sl-wedding-hero-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 70% 28%,rgba(255,255,255,.82),transparent 30%),linear-gradient(145deg,#dbc7b2,#f1e8dd)}
.sl-wedding-hero-placeholder .sl-service-script{font-size:clamp(3.5rem,6vw,6rem)}
.sl-wedding-home-divider{margin-top:clamp(56px,6vw,88px);margin-bottom:0}

/* Story + process */
.sl-wedding-story{padding:70px 0 40px}
.sl-wedding-story-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.85fr);gap:clamp(50px,7vw,100px);align-items:start}
.sl-wedding-story-copy{max-width:620px;padding-top:10px}
.sl-wedding-story-copy h2,.sl-wedding-region-copy h2{margin:0 0 20px;font-size:clamp(2rem,3.1vw,3.15rem)}
.sl-wedding-story-copy p,.sl-wedding-process-card p,.sl-wedding-region-copy p{margin:0 0 15px;line-height:1.8}
.sl-wedding-process-card{position:relative;padding:34px 38px 36px;border:1px solid rgba(215,195,173,.72);border-radius:20px;background:rgba(255,253,249,.72);box-shadow:0 14px 40px rgba(73,58,45,.045)}
.sl-wedding-process-card h2{margin:0 0 22px;color:var(--accent);font-family:var(--sl-font-script);font-size:clamp(2.6rem,3.8vw,4rem);font-weight:400;line-height:1.02;letter-spacing:0}
.sl-wedding-card-heart{position:absolute;right:20px;top:18px;display:block;width:42px;height:42px;color:rgba(176,139,112,.28)}

/* Values */
.sl-wedding-values{padding:34px 0 50px}
.sl-wedding-values-heading{text-align:center;margin-bottom:26px}
.sl-wedding-values-heading h2{display:inline-block;margin:0;font-size:clamp(1.8rem,2.8vw,2.6rem)}
.sl-wedding-values-heading>span{display:block;width:18px;height:18px;margin:8px auto 0;color:var(--sand)}
.sl-wedding-values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.sl-wedding-value-card{min-height:180px;padding:22px 17px 18px;text-align:center;border:1px solid rgba(222,210,196,.72);border-radius:16px;background:rgba(255,253,249,.62);box-shadow:0 8px 24px rgba(73,58,45,.035)}
.sl-wedding-value-icon{height:44px;color:#b48667;font-family:Georgia,serif;font-size:2.15rem;line-height:1}
.sl-wedding-value-card strong{display:block;margin:6px 0 9px;font-size:.93rem}
.sl-wedding-value-card p{margin:0;font-size:.82rem;line-height:1.55}

/* Region + quote */
.sl-wedding-region{padding:28px 0 68px}
.sl-wedding-region-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr);gap:clamp(54px,8vw,110px);align-items:center}
.sl-wedding-region-copy{max-width:500px}
.sl-wedding-quote{position:relative;margin:0;padding:34px 74px 38px 66px;min-height:230px;display:flex;align-items:center}
.sl-wedding-quote p{position:relative;z-index:2;margin:0;color:var(--dark);font-family:var(--sl-font-script);font-size:clamp(2.15rem,3.4vw,3.6rem);line-height:1.03}
.sl-wedding-quote-mark{position:absolute;left:4px;top:8px;color:#8f694f;font-family:Georgia,serif;font-size:6.6rem;line-height:1;opacity:.9}

/* FAQ */
.sl-wedding-faq{padding:36px 0 32px}
.sl-wedding-faq-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);min-height:300px;overflow:hidden;border:1px solid rgba(215,195,173,.7);border-radius:20px;background:linear-gradient(100deg,#f3e8da,#faf7f2);box-shadow:0 10px 30px rgba(73,58,45,.04)}
.sl-wedding-faq-copy{padding:30px 34px}
.sl-wedding-faq-copy .sl-heading{margin-bottom:18px;font-size:clamp(2rem,3vw,3rem)}
.sl-wedding-faq-visual{min-height:260px;background:radial-gradient(circle at 80% 25%,rgba(255,255,255,.5),transparent 25%),linear-gradient(135deg,#e4d3c0,#f0e7dd)}
.sl-wedding-faq-card.has-image .sl-wedding-faq-visual{background-image:linear-gradient(90deg,rgba(245,236,225,.18),rgba(245,236,225,.02)),var(--sl-faq-image);background-size:cover;background-position:center}
.sl-service-faq-list{border-top:1px solid rgba(139,121,104,.18)}
.sl-service-faq-item{margin:0;border:0;border-bottom:1px solid rgba(139,121,104,.18);border-radius:0;background:transparent;overflow:hidden}
.sl-service-faq-item summary{cursor:pointer;padding:13px 0;font-weight:500;list-style:none}.sl-service-faq-item summary::-webkit-details-marker{display:none}
.sl-service-faq-item summary::after{content:"⌄";float:right;color:var(--accent);font-size:1.1rem}.sl-service-faq-item[open] summary::after{content:"⌃"}
.sl-service-faq-answer{padding:0 28px 14px 0;font-size:.91rem}.sl-service-faq-answer p{margin:0;line-height:1.65}

/* CTA */
.sl-wedding-cta{position:relative;margin-top:26px;padding:30px 0;background:linear-gradient(90deg,#f2e7da,#efe1d2);border-top:1px solid rgba(215,195,173,.55);border-bottom:1px solid rgba(215,195,173,.55)}
.sl-wedding-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:46px;max-width:980px}
.sl-service-cta-script{margin:0 0 5px!important;color:var(--dark)!important;font-family:var(--sl-font-script);font-size:clamp(2.6rem,4vw,4rem);line-height:.95}
.sl-wedding-cta p:last-child{margin:0;font-size:.9rem;line-height:1.55}

@media(max-width:1000px){
  .sl-wedding-values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sl-wedding-value-card:nth-child(4),.sl-wedding-value-card:nth-child(5){grid-column:span 1}
}
@media(max-width:900px){
  .sl-wedding-hero{background:var(--bg)}
  .sl-wedding-hero-grid,.sl-wedding-story-grid,.sl-wedding-region-grid,.sl-wedding-faq-card{grid-template-columns:1fr}
  .sl-wedding-hero-copy{padding:52px 0 38px}
  .sl-wedding-hero-media{border-radius:22px;overflow:hidden}
  .sl-wedding-hero-image,.sl-wedding-hero-placeholder{min-height:430px;max-height:560px}
  .sl-wedding-home-divider{margin-top:38px}
  .sl-wedding-process-card{max-width:680px}
  .sl-wedding-quote{padding-left:70px}
  .sl-wedding-faq-visual{min-height:220px}
}
@media(max-width:640px){
  .sl-wedding-hero-copy{padding-top:36px}
  .sl-wedding-hero-script{font-size:clamp(2.7rem,13vw,3.8rem)}
  .sl-wedding-title{font-size:clamp(3rem,14vw,4.25rem)}
  .sl-wedding-hero-image,.sl-wedding-hero-placeholder{min-height:360px}
  .sl-wedding-story{padding-top:52px}
  .sl-wedding-process-card{padding:28px 24px}
    .sl-wedding-values-grid{grid-template-columns:1fr 1fr}
  .sl-wedding-value-card:last-child{grid-column:1/-1;max-width:50%;width:100%;margin-inline:auto}
  .sl-wedding-region{padding-bottom:42px}
  .sl-wedding-quote{min-height:auto;padding:24px 18px 28px 58px}
  .sl-wedding-quote-mark{font-size:4.8rem}
  .sl-wedding-faq-copy{padding:26px 22px}
  .sl-wedding-faq-visual{min-height:170px}
  .sl-wedding-cta-inner{align-items:flex-start;flex-direction:column;gap:20px}
  .sl-wedding-cta-inner .sl-button{width:auto}
}

/* v0.4.09 – finaler Mobile-Feinschliff der Referenz-Leistungsseite. */
@media(max-width:640px){
  .sl-wedding-home-divider{margin-top:46px}
  .sl-wedding-values-grid{grid-template-columns:1fr}
  .sl-wedding-value-card:last-child{grid-column:auto;max-width:none}
  .sl-wedding-value-card{min-height:0;padding:20px 18px}
  .sl-wedding-region-grid{gap:28px}
  .sl-wedding-faq{padding-top:22px}
}

/* v0.4.12 – Trauerfeier: ruhiger Feinschliff ohne verspielte Herz-/Ornament-Deko.
 * Nur seitenbezogene Abweichungen; die gemeinsame Leistungsseiten-Basis bleibt unverändert.
 */
.sl-service-page-funeral .sl-wedding-hero-script{margin-bottom:18px;font-size:clamp(2.75rem,4vw,4.35rem);line-height:1}
.sl-service-page-funeral .sl-wedding-mini-divider{width:72px;margin-top:24px;margin-bottom:22px;gap:0}
.sl-service-page-funeral .sl-wedding-mini-divider span,.sl-service-page-funeral .sl-wedding-mini-divider::after{display:none}
.sl-service-page-funeral .sl-wedding-values-heading{margin-bottom:30px}
.sl-service-page-funeral .sl-wedding-value-card{min-height:158px;padding-top:26px}
.sl-service-page-funeral .sl-wedding-value-card strong{margin-top:0}
.sl-service-page-funeral .sl-wedding-quote{padding-right:46px}
@media(max-width:640px){
  .sl-service-page-funeral .sl-wedding-hero-script{margin-bottom:14px}
  .sl-service-page-funeral .sl-wedding-mini-divider{margin-top:20px;margin-bottom:20px}
}


/* v0.4.16 – Kinderwillkommensfest: gleiche Komponenten, etwas leichter in der Anmutung. */
.sl-service-page-welcome .sl-wedding-hero-script{font-size:clamp(2.85rem,4.35vw,4.65rem);margin-bottom:16px}
.sl-service-page-welcome .sl-wedding-title{font-size:clamp(3.1rem,5.05vw,5.25rem);line-height:.94}
.sl-service-page-welcome .sl-wedding-process-card{background:rgba(255,253,249,.8)}
.sl-service-page-welcome .sl-wedding-value-card{min-height:166px}
.sl-service-page-welcome .sl-wedding-quote p{font-size:clamp(2rem,3.15vw,3.35rem)}
@media(max-width:640px){.sl-service-page-welcome .sl-wedding-hero-script{font-size:clamp(2.55rem,12vw,3.55rem)}}
