/*
 * Preise (page-preise.php) — mockup Price List.png. Namespaced .pr-*.
 * Reuses fsr-* tokens/classes; base specificity, no !important, mobile-first.
 * Gold TEXT on light uses --fsr-gold-ink (WCAG); gold rules/borders stay bright.
 */

/* ---------- Sticky booking side-tab ---------- */
.pr-sidetab { position:fixed; right:0; top:46%; transform:translateY(-50%); z-index:45; background:var(--fsr-gold);
  color:#171310; display:flex; flex-direction:column; align-items:center; gap:16px; padding:20px 11px;
  border-radius:4px 0 0 4px; box-shadow:0 12px 30px -14px rgba(0,0,0,.5); transition:background .22s ease; }
.pr-sidetab:hover { background:var(--fsr-gold-deep); }
.pr-sidetab__ic { width:22px; height:22px; color:#171310; }
.pr-sidetab__ic svg { width:100%; height:100%; }
.pr-sidetab__txt { writing-mode:vertical-rl; transform:rotate(180deg); font-family:var(--fsr-sans); font-size:12px;
  font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:#171310; }
.pr-sidetab__arrow { font-size:18px; color:#171310; }

/* ---------- Numbered category sections ---------- */
.pr-sections .fsr-wrap { display:flex; flex-direction:column; gap:clamp(40px,5vw,68px); }
.pr-section { display:grid; grid-template-columns:1fr minmax(240px,320px); gap:clamp(28px,4vw,56px); align-items:start; }
.pr-section__head { display:grid; grid-template-columns:auto 1fr; column-gap:20px; row-gap:8px; align-items:baseline; margin-bottom:14px; }
.pr-section__num { grid-column:1; grid-row:1; font-family:var(--fsr-serif); font-weight:500; font-size:clamp(30px,3.4vw,44px);
  line-height:1; color:var(--fsr-gold-ink); }
.pr-section__title { grid-column:2; grid-row:1; font-size:clamp(26px,3vw,38px); color:var(--fsr-black); margin:0; }
.pr-section__rule { grid-column:1; grid-row:2; width:40px; height:2px; background:var(--fsr-gold); }
.pr-rows { display:flex; flex-direction:column; }
.pr-row { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:14px 0;
  border-bottom:1px solid rgba(198,161,91,.32); }
.pr-row:first-child { border-top:1px solid rgba(198,161,91,.32); }
.pr-row__name { font-family:var(--fsr-sans); font-size:15px; color:#3a332c; line-height:1.4; }
.pr-row__price { font-family:var(--fsr-sans); font-size:15px; font-weight:600; color:var(--fsr-gold-ink); white-space:nowrap; }
.pr-star { color:var(--fsr-gold-ink); font-weight:600; }
.pr-section__media { aspect-ratio:4/3; overflow:hidden; margin-top:6px; }
.pr-section__media img { width:100%; height:100%; object-fit:cover; display:block; }

/* ---------- Info box ---------- */
.pr-info { display:flex; gap:16px; align-items:flex-start; margin-top:clamp(36px,4vw,52px);
  border:1px solid rgba(198,161,91,.4); background:rgba(198,161,91,.05); padding:22px 24px; }
.pr-info__ic { flex:0 0 auto; width:30px; height:30px; color:var(--fsr-gold-ink); }
.pr-info__ic svg { width:100%; height:100%; }
.pr-info__body p { font-family:var(--fsr-sans); font-size:14.5px; line-height:1.7; color:#5a5148; margin:0 0 6px; }
.pr-info__body p:last-child { margin-bottom:0; }
.pr-info__legend { color:#6a6156; }

/* ---------- Consultation CTA band ---------- */
/* .pr-cta__in IS the .fsr-wrap for this band — horizontal padding = the layout gutter
   so the CTA band aligns to the same rail as the header/footer/sections (was clamp→26px). */
.pr-cta__in { display:flex; align-items:center; gap:clamp(20px,3vw,40px); border:1px solid rgba(198,161,91,.4);
  background:#fff; padding:clamp(16px,2.4vw,26px) var(--fsr-layout-pad); flex-wrap:wrap; }
.pr-cta__media { flex:0 0 auto; width:clamp(160px,22vw,240px); aspect-ratio:16/10; overflow:hidden; }
.pr-cta__media img { width:100%; height:100%; object-fit:cover; display:block; }
.pr-cta__text { flex:1 1 260px; }
.pr-cta__text .fsr-h2 { color:var(--fsr-black); margin:8px 0 10px; }
.pr-cta__text p { font-family:var(--fsr-sans); font-size:15px; line-height:1.7; color:#5a5148; margin:0; }
.pr-cta__btn { flex:0 0 auto; }

/* ================= RESPONSIVE ================= */
@media (max-width:860px){
  .pr-sidetab { display:none; }
  .pr-section { grid-template-columns:1fr; gap:22px; }
  .pr-section__media { order:-1; aspect-ratio:16/9; margin-top:0; }
  .pr-cta__in { flex-direction:column; align-items:flex-start; }
  .pr-cta__media { width:100%; aspect-ratio:16/9; }
}

/* Preisliste-PDF download action (round 4) — visible but not noisy; gold outline. */
.pr-pdf { display:inline-flex; align-items:center; gap:11px; margin-top:26px;
  font-family:var(--fsr-sans); font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--fsr-gold); border:1px solid rgba(198,161,91,.55); border-radius:2px; padding:12px 20px; transition:.22s ease; }
.pr-pdf:hover { background:rgba(198,161,91,.12); color:var(--fsr-gold); }
.pr-pdf small { font-weight:400; letter-spacing:.06em; opacity:.75; }
.pr-pdf__ic { width:18px; height:18px; flex:0 0 auto; }
.pr-pdf__ic svg { width:100%; height:100%; }
