/*
 * Services / Dienstleistungen (archive-wbs_treatment.php) — mockup Services.png.
 * All selectors namespaced .svc-* (files load site-wide via glob enqueue).
 * Reuses fsr-* tokens/classes; base specificity, no !important, mobile-first.
 */

.svc-hero__actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }

/* ---------- Sticky category tab bar ---------- */
.svc-tabs { position:sticky; top:var(--fsr-headh); z-index:40; background:var(--fsr-ivory);
  border-top:1px solid rgba(20,17,14,.08); border-bottom:1px solid rgba(20,17,14,.08); }
.svc-tabs__in { display:flex; gap:0; }
.svc-tab { flex:1 1 0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px;
  padding:22px 10px; text-align:center; border-right:1px solid rgba(20,17,14,.08);
  border-top:2px solid transparent; color:#3a332c; transition:.2s ease; min-width:0; }
.svc-tab:last-child { border-right:0; }
.svc-tab__ic { width:30px; height:30px; color:var(--fsr-gold-ink); display:block; }
.svc-tab__ic svg { width:100%; height:100%; }
.svc-tab__lbl { font-family:var(--fsr-sans); font-size:12.5px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.svc-tab:hover { background:var(--fsr-ivory-2); }
.svc-tab.is-active { border-top-color:var(--fsr-gold); background:#fff; }
.svc-tab.is-active .svc-tab__ic { color:var(--fsr-gold-deep); }

/* ---------- Alternating zig-zag rows ---------- */
.svc-rows .fsr-wrap { display:flex; flex-direction:column; gap:0; }
.svc-row { display:grid; grid-template-columns:1fr 1fr; align-items:center;
  gap:clamp(28px,4vw,64px); padding:clamp(30px,4vw,52px) 0; scroll-margin-top:calc(var(--fsr-headh) + 86px);
  border-bottom:1px solid rgba(20,17,14,.08); }
.svc-row:last-child { border-bottom:0; }
.svc-row__body { grid-column:1; grid-row:1; }
.svc-row__media { grid-column:2; grid-row:1; aspect-ratio:16/11; overflow:hidden; }
.svc-row:nth-child(even) .svc-row__body { grid-column:2; }
.svc-row:nth-child(even) .svc-row__media { grid-column:1; }
.svc-row__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.svc-row:hover .svc-row__media img { transform:scale(1.04); }
.svc-row__title { font-size:clamp(28px,3.2vw,40px); color:var(--fsr-black); margin:0 0 14px; line-height:1.08; }
.svc-row__price { color:var(--fsr-gold-ink); white-space:nowrap; }
.svc-row__list { font-family:var(--fsr-sans); font-size:15px; line-height:1.7; color:#5a5148; margin:0 0 22px; }
.svc-row__more-count { color:var(--fsr-gold-ink); font-weight:600; white-space:nowrap; }
.svc-row__link { display:inline-block; }

/* ---------- Consultation CTA band ---------- */
.svc-cta { position:relative; overflow:hidden; }
.svc-cta::before, .svc-cta::after { content:""; position:absolute; width:340px; height:340px; pointer-events:none;
  background:radial-gradient(closest-side, rgba(198,161,91,.20), transparent 72%); }
.svc-cta::before { top:-140px; left:-120px; }
.svc-cta::after { bottom:-160px; right:-120px; background:radial-gradient(closest-side, rgba(198,161,91,.14), transparent 72%); }
.svc-cta__in { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between;
  gap:clamp(24px,4vw,56px); flex-wrap:wrap; }
.svc-cta__text { max-width:44em; }
.svc-cta__text h2 { color:#fff; margin:0 0 12px; }
.svc-cta__text p { color:rgba(243,237,227,.82); margin:0; }
.svc-cta__btn { flex:0 0 auto; }

/* ---------- FAQ preview ---------- */
.svc-faq__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(32px,5vw,72px); align-items:start; }
.svc-faq__lead { color:#5a5148; margin:18px 0 22px; }
.svc-faq__list { display:flex; flex-direction:column; }
.svc-faq__item { border-bottom:1px solid rgba(20,17,14,.14); }
.svc-faq__item:first-child { border-top:1px solid rgba(20,17,14,.14); }
.svc-faq__q { display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer;
  list-style:none; padding:20px 2px; font-family:var(--fsr-sans); font-size:16px; font-weight:600; color:var(--fsr-black); }
.svc-faq__q::-webkit-details-marker { display:none; }
.svc-faq__ic { position:relative; flex:0 0 auto; width:18px; height:18px; }
.svc-faq__ic::before, .svc-faq__ic::after { content:""; position:absolute; background:var(--fsr-gold-deep); transition:transform .22s ease; }
.svc-faq__ic::before { top:8px; left:0; width:18px; height:2px; }
.svc-faq__ic::after { left:8px; top:0; width:2px; height:18px; }
.svc-faq__item[open] .svc-faq__ic::after { transform:scaleY(0); }
.svc-faq__a { padding:0 2px 22px; font-family:var(--fsr-sans); font-size:15px; line-height:1.75; color:#5a5148; max-width:52em; }

/* ================= RESPONSIVE ================= */
@media (max-width:980px){
  .svc-faq__grid { grid-template-columns:1fr; gap:36px; }
}
@media (max-width:860px){
  .svc-tabs { position:static; }
  .svc-tabs__in { overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; }
  .svc-tabs__in::-webkit-scrollbar { display:none; height:0; width:0; }
  .svc-tab { flex:0 0 auto; min-width:120px; padding:16px 14px; }
  .svc-row { grid-template-columns:1fr; gap:20px; scroll-margin-top:16px; }
  .svc-row__body, .svc-row:nth-child(even) .svc-row__body { grid-column:1; grid-row:2; }
  .svc-row__media, .svc-row:nth-child(even) .svc-row__media { grid-column:1; grid-row:1; aspect-ratio:16/10; }
  .svc-cta__in { flex-direction:column; align-items:flex-start; }
}
