/* ===========================================================================
   FLEEK INK — Subpage styles (pages.css)
   Supplements style.css for all interior pages
   =========================================================================== */

/* ---------- Page hero (compact) ---------- */
.page-hero{
  position:relative;min-height:75vh;display:flex;align-items:flex-end;
  color:var(--cream);overflow:hidden;
  background:var(--espresso)
}
.page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0;
  filter:brightness(.52) saturate(.9)}
.page-hero__scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,16,13,.45) 0%,rgba(20,16,13,.25) 40%,rgba(20,16,13,.7) 100%)}
.page-hero__in{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin-inline:auto;
  padding:0 var(--gut) clamp(2.8rem,5vw,4.2rem);display:grid;gap:1rem}
.page-hero__tag{font-family:var(--sans);font-size:.78rem;letter-spacing:.26em;
  text-transform:uppercase;color:var(--cream);display:flex;align-items:center;gap:.8em;opacity:.9}
.page-hero__tag::before{content:"";width:42px;height:1px;background:var(--cream);opacity:.6}
.page-hero h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:500;max-width:22ch;line-height:1.04;
  text-wrap:balance;text-shadow:0 2px 40px rgba(0,0,0,.25)}
.page-hero h1 em{color:var(--nude)}
.page-hero__sub{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:50ch;color:rgba(244,239,230,.88);line-height:1.5}
.page-hero .breadcrumb{font-size:.74rem;letter-spacing:.1em;display:flex;gap:.6em;
  color:rgba(244,239,230,.6);margin-bottom:.5rem}
.page-hero .breadcrumb a{color:rgba(244,239,230,.6);transition:color .3s}
.page-hero .breadcrumb a:hover{color:var(--cream)}
.page-hero .breadcrumb .sep{opacity:.4}

/* ---------- Team page ---------- */
.team-intro{background:var(--paper)}
.team-intro__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.team-intro__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.team-intro__copy h2{margin:1rem 0 1.5rem;max-width:16ch}

.team-cards{background:var(--ivory)}
.team-cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.4rem)}
.team-card{background:var(--paper);border:1px solid var(--line-soft);overflow:hidden;
  transition:border-color .4s var(--ease),transform .5s var(--ease)}
.team-card:hover{border-color:var(--mocha);transform:translateY(-4px)}
.team-card__photo{overflow:hidden;aspect-ratio:3/4}
.team-card__photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.team-card:hover .team-card__photo img{transform:scale(1.04)}
.team-card__body{padding:clamp(1.5rem,2.2vw,2.2rem)}
.team-card__role{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mocha);
  display:block;margin-bottom:.6rem}
.team-card__body h3{font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.3rem);line-height:1.05;margin-bottom:1rem}
.team-card__body p{font-size:.98rem;color:var(--ink-soft);line-height:1.55;margin-bottom:1.2rem}
.team-card__langs{display:flex;flex-wrap:wrap;gap:.5rem}
.team-card__lang{display:inline-flex;align-items:center;gap:.4em;font-size:.74rem;letter-spacing:.08em;
  text-transform:uppercase;border:1px solid var(--line);padding:.55em .9em;color:var(--ink-soft)}

/* ---------- Behandlungen (treatments) page ---------- */
.treat-full{background:var(--ivory)}
.treat-full__cat{margin-bottom:clamp(3rem,5vw,5rem)}
.treat-full__cat-head{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);
  border-bottom:2px solid var(--espresso);padding-bottom:1rem}
.treat-full__cat-head h2{font-size:clamp(2rem,3.6vw,3.2rem)}
.treat-full__cat-head .count{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--mocha)}

/* Expanded treatment cards */
.tcard-full{background:var(--paper);border:1px solid var(--line-soft);display:grid;
  grid-template-columns:.48fr .52fr;transition:border-color .4s var(--ease)}
.tcard-full:hover{border-color:var(--mocha)}
.tcard-full + .tcard-full{margin-top:clamp(1.4rem,2.6vw,2.4rem)}
.tcard-full__media{overflow:hidden;aspect-ratio:4/3}
.tcard-full__media img,.tcard-full__media video{width:100%;height:100%;object-fit:cover;
  transition:transform .9s var(--ease)}
.tcard-full:hover .tcard-full__media img,
.tcard-full:hover .tcard-full__media video{transform:scale(1.04)}
.tcard-full__body{padding:clamp(1.8rem,3vw,3rem);display:flex;flex-direction:column;justify-content:center}
.tcard-full__top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem}
.tcard-full__top h3{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.05}
.tcard-full__price{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.2rem);color:var(--mocha);white-space:nowrap}
.tcard-full__meta{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1.2rem}
.tcard-full__meta span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mocha)}
.tcard-full__body p{font-size:1.05rem;color:var(--ink-soft);line-height:1.55;margin-bottom:1.6rem;max-width:52ch}
.tcard-full__cta{margin-top:auto}

/* Compact treatment rows (for brow styling etc) */
.treat-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;
  padding:1.5rem 0;border-bottom:1px solid var(--line)}
.treat-row:first-child{border-top:1px solid var(--line)}
.treat-row__info h3{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.1;margin-bottom:.3rem}
.treat-row__info p{font-size:.95rem;color:var(--ink-soft);line-height:1.45}
.treat-row__right{display:flex;align-items:center;gap:1.5rem}
.treat-row__price{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.8rem);color:var(--mocha);white-space:nowrap}

/* ---------- Verheilte Ergebnisse (healed results) ---------- */
.healed-text{background:var(--paper)}
.healed-text__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.healed-text__copy h2{margin:1rem 0 1.5rem;max-width:18ch}
.healed-text__copy p{font-size:1.05rem;color:var(--ink-soft);line-height:1.6;margin-bottom:1.2rem}
.healed-text__copy p:last-of-type{font-family:var(--serif);font-style:italic;font-size:1.35rem;
  color:var(--mocha);margin-top:1.6rem}
.healed-text__media{position:relative}
.healed-text__media img{width:100%;aspect-ratio:4/5;object-fit:cover}

.healed-gallery{background:var(--ivory)}
.healed-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,1.6vw,1.4rem)}
.healed-gallery__item{position:relative;overflow:hidden;aspect-ratio:4/5;cursor:pointer}
.healed-gallery__item img{width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease),filter .5s var(--ease)}
.healed-gallery__item:hover img{transform:scale(1.06);filter:brightness(.92)}
.healed-gallery__item video{width:100%;height:100%;object-fit:cover}

/* ---------- Pflegehinweise (aftercare) ---------- */
.care-page{background:var(--paper)}
.care-page--ivory{background:var(--ivory-2)}
.care-page__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.care-page__head{position:sticky;top:calc(var(--nav-h) + 2rem)}
.care-page__head h2{margin-top:1rem}
.care-page__head .lead{margin-top:1.4rem}

.care-list{display:grid;gap:0}
.care-list__item{padding:1.8rem 0;border-top:1px solid var(--line);display:grid;
  grid-template-columns:auto 1fr;gap:1.6rem;align-items:start}
.care-list__item:last-child{border-bottom:1px solid var(--line)}
.care-list__num{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--mocha);
  min-width:36px}
.care-list__item h3{font-size:1.3rem;margin-bottom:.5rem;line-height:1.1}
.care-list__item p{font-size:1rem;color:var(--ink-soft);line-height:1.55}

.care-cta{background:var(--espresso);color:var(--cream);text-align:center}
.care-cta h2{color:var(--cream);margin:.8rem 0 1rem}
.care-cta p{color:rgba(244,239,230,.75);max-width:50ch;margin-inline:auto}
.care-cta .btn{margin-top:2rem}

/* ---------- Galerie ---------- */
.gallery-page{background:var(--paper);padding-block:clamp(4rem,7vw,6rem)}
.gallery-filter{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;
  margin-bottom:clamp(2rem,4vw,3.5rem)}
.gallery-filter button{font-family:var(--sans);font-size:.76rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;padding:.85em 1.5em;
  border:1px solid var(--line);color:var(--ink-soft);
  transition:all .35s var(--ease)}
.gallery-filter button:hover,.gallery-filter button.active{
  background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,1.2vw,1rem)}
.gallery-grid__item{position:relative;overflow:hidden;aspect-ratio:3/4;cursor:pointer}
.gallery-grid__item img{width:100%;height:100%;object-fit:cover;
  transition:transform .9s var(--ease)}
.gallery-grid__item:hover img{transform:scale(1.06)}
.gallery-grid__item video{width:100%;height:100%;object-fit:cover}
.gallery-grid__item--wide{grid-column:span 2;aspect-ratio:4/3}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(28,23,20,.92);
  display:none;align-items:center;justify-content:center;padding:2rem;cursor:zoom-out}
.lightbox.active{display:flex}
.lightbox img,.lightbox video{max-width:90vw;max-height:85vh;object-fit:contain}
.lightbox__close{position:absolute;top:1.5rem;right:1.5rem;width:48px;height:48px;
  border:1px solid rgba(244,239,230,.3);color:var(--cream);display:grid;place-items:center;
  cursor:pointer;transition:.3s var(--ease);z-index:201}
.lightbox__close:hover{background:var(--cream);color:var(--espresso)}
.lightbox__close svg{width:20px;height:20px}

/* ---------- Preisliste ---------- */
.price-page{background:var(--ivory)}
.price-cat{margin-bottom:clamp(3rem,5vw,4.5rem)}
.price-cat__head{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);
  padding-bottom:1rem;border-bottom:2px solid var(--espresso)}
.price-cat__head h2{font-size:clamp(2rem,3.6vw,3rem)}
.price-cat__head .desc{font-size:.95rem;color:var(--ink-soft)}

/* ---------- Kontakt page ---------- */
.kontakt-page{background:var(--paper)}
.kontakt-page__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.kontakt-page__head h2{margin:1rem 0 1.4rem}
.kontakt-form{margin-top:2.5rem;display:grid;gap:1rem}
.kontakt-form label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mocha);
  font-weight:600;display:block;margin-bottom:.4rem}
.kontakt-form input,.kontakt-form textarea{width:100%;background:none;border:1px solid var(--line);
  color:var(--ink);padding:1em 1.1em;font-family:var(--sans);font-size:.95rem;
  transition:border-color .3s var(--ease)}
.kontakt-form input:focus,.kontakt-form textarea:focus{outline:none;border-color:var(--mocha)}
.kontakt-form textarea{min-height:140px;resize:vertical}
.kontakt-form .btn{justify-self:start;margin-top:.5rem}

/* Video in gallery/results */
.vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;
  pointer-events:none}
.vid-play svg{width:56px;height:56px;color:var(--cream);filter:drop-shadow(0 2px 12px rgba(0,0,0,.4));
  transition:transform .4s var(--ease)}
.gallery-grid__item:hover .vid-play svg,
.healed-gallery__item:hover .vid-play svg{transform:scale(1.15)}

/* ---------- Responsive for subpages ---------- */
@media(max-width:960px){
  .page-hero{min-height:60vh}
  .team-intro__grid,.healed-text__grid,.care-page__grid,.kontakt-page__grid{grid-template-columns:1fr}
  .care-page__head{position:static}
  .team-intro__media{order:-1}
  .tcard-full{grid-template-columns:1fr}
  .team-cards__grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid__item--wide{grid-column:span 1;aspect-ratio:3/4}
  .healed-gallery__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .page-hero{min-height:50vh}
  .page-hero h1{font-size:clamp(1.8rem,7vw,2.6rem)}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .treat-row{grid-template-columns:1fr;gap:.6rem}
  .treat-row__right{justify-content:flex-start}
}

/* ---------- Service Page Components ---------- */
.srv-sec { padding: 6rem 0; background: var(--paper); }
.srv-sec--alt { background: var(--ivory-2); }
.srv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.srv-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.srv-benefit { text-align: center; }
.srv-benefit .ico { width: 56px; height: 56px; margin-bottom: 1.2rem; color: var(--mocha); transition: transform .5s var(--ease); }
.srv-benefit:hover .ico { transform: translateY(-3px) scale(1.06); }
/* Lordicon animated icons keep class="ico" — only need to be block-level so width/height apply */
lord-icon.ico { display: inline-block; vertical-align: middle; }
.srv-benefit h4 { font-family: var(--serif); font-size: 1.4rem; margin-bottom: 0.5rem; color: var(--ink); }
.srv-benefit p { font-size: 0.95rem; color: var(--ink-soft); }

.srv-steps { list-style: none; padding: 0; margin-top: 2rem; counter-reset: step; }
.srv-step { position: relative; padding-left: 3rem; margin-bottom: 2rem; }
.srv-step::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: -0.2rem; width: 32px; height: 32px; border: 1px solid var(--gold); color: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 1.1rem; }
.srv-step h4 { font-size: 1.2rem; margin-bottom: 0.4rem; font-family: var(--serif); }
.srv-step p { font-size: 0.95rem; color: var(--ink-soft); }

.srv-faq-list { margin-top: 3rem; max-width: 800px; margin-left: auto; margin-right: auto; }
@media(max-width:960px){
  .srv-grid { grid-template-columns: 1fr; gap: 3rem; }
  .srv-benefits { grid-template-columns: 1fr; }
  .srv-benefit { text-align: left; display: flex; gap: 1.5rem; align-items: flex-start; }
  .srv-benefit .ico { margin-bottom: 0; flex-shrink: 0; }
}

/* ---------- Page Hero: dark title band + large image below ---------- */
.hero-split { display: block; background: var(--espresso); overflow: hidden; }
.hero-split__copy { display: flex; flex-direction: column; justify-content: center; max-width: var(--wrap); margin-inline: auto; padding: calc(var(--nav-h) + clamp(2.2rem,5vw,3.6rem)) var(--gut) clamp(2.2rem,5vw,3.6rem); }
.hero-split__copy .breadcrumb { margin-bottom: 1.6rem; color: rgba(244,239,230,.55); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; }
.hero-split__copy .breadcrumb a { color: rgba(244,239,230,.82); text-decoration: none; transition: color .3s; }
.hero-split__copy .breadcrumb a:hover { color: var(--cream); }
.hero-split__copy .breadcrumb .sep { margin: 0 0.5rem; opacity: 0.4; }
.hero-split__copy .page-hero__tag { display: inline-flex; align-items: center; gap: .7em; font-size: 0.78rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--nude); margin-bottom: 1rem; }
.hero-split__copy .page-hero__tag::before { content: ""; width: 38px; height: 1px; background: var(--nude); opacity: .6; }
.hero-split__copy h1 { font-family: var(--serif); font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.04; font-weight: 500; margin-bottom: 1.4rem; color: var(--cream); max-width: 20ch; }
.hero-split__copy h1 em { font-style: italic; font-weight: 300; color: var(--nude); }
.hero-split__copy .page-hero__sub { font-size: clamp(1.05rem,1.5vw,1.25rem); line-height: 1.6; color: rgba(244,239,230,.82); max-width: 60ch; }
/* desktop: title-only dark band — hero image hidden (shown only on mobile, see media query) */
.hero-split__img { display: none; position: relative; width: 100%; height: 100%; }
.hero-split__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; display: block; }
/* the first content section after the dark band carries a vertical (portrait) photo on desktop */
@media(min-width:961px){
  .srv-grid__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
}

/* ---------- FAQ Accordion ---------- */
.srv-faq { border-bottom: 1px solid rgba(0,0,0,0.1); }
.srv-faq__q { width: 100%; text-align: left; background: none; border: none; padding: 1.5rem 0; font-family: var(--serif); font-size: 1.3rem; color: var(--ink); display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.srv-faq__q span { padding-right: 2rem; }
.srv-faq__icon { position: relative; width: 24px; height: 24px; flex-shrink: 0; }
.srv-faq__icon::before, .srv-faq__icon::after { content: ''; position: absolute; background: var(--gold); transition: transform 0.3s ease; }
.srv-faq__icon::before { top: 11px; left: 4px; right: 4px; height: 2px; }
.srv-faq__icon::after { left: 11px; top: 4px; bottom: 4px; width: 2px; }
.srv-faq.is-open .srv-faq__icon::after { transform: scaleY(0); }
.srv-faq__a { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
.srv-faq__a-in { padding-bottom: 1.5rem; color: var(--ink-soft); line-height: 1.6; }
@media(max-width:960px){
  /* mobile: full-height photo with the copy overlaid at the bottom + scrim for legibility */
  .hero-split { position: relative; min-height: 100svh; display: flex; }
  .hero-split__img { display: block; position: absolute; inset: 0; height: 100%; width: 100%; z-index: 0; }
  .hero-split::before { content: ""; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(to top, rgba(28,23,20,.9) 0%, rgba(28,23,20,.2) 50%, rgba(28,23,20,.55) 100%); }
  .hero-split__copy { position: relative; z-index: 2; margin-top: auto; justify-content: flex-end;
    padding-top: calc(var(--nav-h) + 1.6rem); padding-bottom: 2.8rem; }
}

/* ---------- Service Prices ---------- */
.pr__list { margin-top: 3rem; }
/* Preise: dark accent section for clear separation from neighbours + tighter rhythm */
.pr { background: var(--espresso); color: var(--cream); padding-block: clamp(4rem,7vw,6rem); }
.pr .eyebrow { color: var(--nude); }
.pr .eyebrow::before, .pr .eyebrow.center::after { background: var(--nude); }
.pr .h-sec { color: var(--cream); }
.pr .pr__head p, .pr__head p { color: rgba(244,239,230,.78); }
.pr .pr-item { border-bottom-color: rgba(244,239,230,.18); }
.pr .pr-item:first-child { border-top-color: rgba(244,239,230,.18); }
.pr .pr-item__head h3 { color: var(--cream); }
.pr .pr-item__price { color: var(--nude); }
.pr .pr-item p { color: rgba(244,239,230,.7); }
.pr-item { padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.pr-item:first-child { border-top: 1px solid var(--line); }
.pr-item__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.5rem; }
.pr-item__head h3 { font-family: var(--serif); font-size: 1.4rem; color: var(--ink); margin: 0; }
.pr-item__price { font-family: var(--serif); font-size: 1.4rem; color: var(--mocha); white-space: nowrap; margin-left: 1rem; }
.pr-item p { font-size: 0.95rem; color: var(--ink-soft); margin: 0; }
@media(max-width:560px){
  .pr-item__head { flex-direction: column; align-items: flex-start; gap: 0.3rem; }
  .pr-item__price { margin-left: 0; }
}

/* ---------- Preisliste redesign ---------- */
/* Anchor chip nav under hero */
.pl-anchors{background:var(--espresso);border-top:1px solid rgba(244,239,230,.14);padding:1.2rem 0 1.6rem}
.pl-anchors__in{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}
.pl-anchors__label{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--nude);margin-right:.6rem}
.pl-anchors a{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cream);border:1px solid rgba(244,239,230,.3);
  padding:.75em 1.3em;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.pl-anchors a:hover{background:var(--cream);color:var(--espresso);border-color:var(--cream)}

/* Category sections: alternating flat surfaces */
.pl-cat{padding-block:clamp(4rem,7vw,6.5rem);scroll-margin-top:calc(var(--nav-h) + 1rem)}
.pl-cat--paper{background:var(--paper)}
.pl-cat--ivory{background:var(--ivory-2)}
.pl-cat--dark{background:var(--espresso);color:var(--cream)}

.pl-cat__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2.5rem,5vw,5.5rem);align-items:start}
.pl-cat__head{position:sticky;top:calc(var(--nav-h) + 2rem)}
.pl-cat__head .h-sec{font-size:clamp(2.2rem,3.6vw,3.4rem);margin:.9rem 0 1.2rem;text-wrap:balance}
.pl-cat__intro{font-size:1.15rem;line-height:1.6;color:var(--ink-soft);max-width:38ch}

/* Price rows on light surfaces (defaults in style.css are for dark bg) */
.pl-cat .prow__name{white-space:normal;font-size:clamp(1.35rem,1.9vw,1.8rem);line-height:1.15}
.pl-cat .prow__price{font-size:clamp(1.35rem,1.9vw,1.8rem)}
.pl-cat:not(.pl-cat--dark) .prow{border-bottom:1px solid var(--line)}
.pl-cat:not(.pl-cat--dark) .prow:first-child{border-top:1px solid var(--line)}
.pl-cat:not(.pl-cat--dark) .prow__desc{color:var(--ink-soft)}
.pl-cat:not(.pl-cat--dark) .prow__dots{border-bottom-color:rgba(28,23,20,.28)}
.pl-cat:not(.pl-cat--dark) .prow__price{color:var(--mocha)}

/* Dark accent block overrides */
.pl-cat--dark .eyebrow{color:var(--nude)}
.pl-cat--dark .eyebrow::before{background:var(--nude)}
.pl-cat--dark .h-sec{color:var(--cream)}
.pl-cat--dark .pl-cat__intro{color:rgba(244,239,230,.78)}

/* FAQ block inside a category */
.pl-faq{margin-top:clamp(2.8rem,4.5vw,4rem)}
.pl-faq__title{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:500;
  line-height:1.1;margin-bottom:.6rem}
.pl-faq .srv-faq__a-in a{color:var(--mocha);border-bottom:1px solid currentColor}
.pl-cat--dark .pl-faq__title{color:var(--cream)}
.pl-cat--dark .srv-faq{border-bottom-color:rgba(244,239,230,.18)}
.pl-cat--dark .srv-faq__q{color:var(--cream)}
.pl-cat--dark .srv-faq__icon::before,.pl-cat--dark .srv-faq__icon::after{background:var(--nude)}
.pl-cat--dark .srv-faq__a-in{color:rgba(244,239,230,.75)}
.pl-cat--dark .pl-faq .srv-faq__a-in a{color:var(--nude)}

/* Edge-to-edge photo bands between categories */
.pl-band{overflow:hidden;background:var(--espresso)}
.pl-band img{width:100%;height:clamp(300px,52vh,560px);object-fit:cover;object-position:center 38%}
.pl-band--top img{object-position:center 45%}

/* Preserved note, restyled for light surface */
.pl-cat .preise__note{text-align:left;color:var(--ink-soft);border:1px solid var(--line);
  padding:1.5rem 1.7rem;margin-top:clamp(2.8rem,4.5vw,4rem);font-size:1.02rem;line-height:1.6;max-width:none}

/* Responsive */
@media(max-width:960px){
  .pl-cat__grid{grid-template-columns:1fr;gap:2.2rem}
  .pl-cat__head{position:static}
  .pl-anchors__label{width:100%;margin-right:0}
  .pl-band img{height:clamp(220px,40vh,380px)}
}

/* ---------- Legal pages (Impressum / Datenschutz) ---------- */
.legal { background: var(--paper); }
.legal__wrap { max-width: 820px; }
.legal h2 { font-family: var(--serif); font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 500; margin: 2.6rem 0 0.9rem; }
.legal h2:first-child { margin-top: 0; }
.legal p { font-size: 1.06rem; line-height: 1.7; color: var(--ink-soft); margin-bottom: 1rem; }
.legal a { color: var(--mocha); text-underline-offset: 3px; }
.legal .legal__stand { font-size: 0.9rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-soft); }

/* ---------- CTA unter der Hero-Copy (alle Unterseiten) ---------- */
.hero-split__cta { margin-top: clamp(1.6rem, 3vw, 2.4rem); }
@media(max-width:960px){ .hero-split__cta { margin-top: 1.4rem; } }

/* ---------- CTA am Ende des Preisblocks (Behandlungsseiten) ---------- */
.pr__cta { margin-top: clamp(2.2rem, 4vw, 3rem); padding-top: clamp(1.8rem, 3vw, 2.4rem);
  border-top: 1px solid rgba(244,239,230,.18);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem 2rem; }
.pr__cta p { margin: 0; max-width: 46ch; color: rgba(244,239,230,.72); }

/* Rechtliche Seiten: nur Titel, kein Foto, kein Vollbild auf dem Handy */
.hero-split--plain h1 { margin-bottom: 0; }
@media(max-width:960px){ .hero-split--plain { min-height: 0; } .hero-split--plain::before { display: none; } }

/* ---------- Kontaktformular (Kontakt-Seite) ---------- */
.kf{background:var(--ivory);border-top:1px solid var(--line-soft)}
.kf__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.kf__head h2{margin:1rem 0 1.4rem}
.kf__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem 1.4rem}
.kf__field{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.kf__field--full{grid-column:1/-1}
.kf__field label{font-size:1rem;font-weight:600;color:var(--ink)}
.kf__opt{font-weight:400;color:var(--ink-soft)}
.kf__field input,.kf__field textarea{
  font:inherit;font-size:1.125rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:0;
  padding:.85em 1em;width:100%;transition:border-color .3s var(--ease);
}
.kf__field textarea{resize:vertical;min-height:9em}
.kf__field input::placeholder,.kf__field textarea::placeholder{color:var(--ink-soft);opacity:.55}
.kf__field input:focus,.kf__field textarea:focus{outline:none;border-color:var(--espresso)}
.kf__err{display:none;font-size:1rem;line-height:1.4;color:#A4432D}
.kf__field.err input,.kf__field.err textarea{border-color:#A4432D}
.kf__field.err .kf__err{display:block}
.kf__submit{margin-top:1.8rem}
.kf__submit[disabled]{opacity:.55;pointer-events:none}
.kf__fail{margin-top:1.2rem;font-size:1.06rem;line-height:1.5;color:#A4432D;border-left:2px solid #A4432D;padding-left:.9rem}
.kf__note{margin-top:1.4rem;font-size:1rem;line-height:1.55;color:var(--ink-soft);max-width:52ch}
.kf__note a{color:var(--mocha);text-decoration:underline;text-underline-offset:3px}
.kf__ok{border-top:2px solid var(--espresso);padding-top:1.6rem}
.kf__ok:focus{outline:none}
.kf__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:960px){ .kf__grid{grid-template-columns:1fr} }
@media(max-width:600px){ .kf__fields{grid-template-columns:1fr} }
