@import url("/maps/sanitar/assets/sanitar-kassel.css");

/* Kaufungen: room-led service guide using Adam's shared tokens and map treatment. */
.kf-hero{ background:var(--c-bg); padding:3.7rem 0 0; }
.kf-hero-top{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr); gap:3rem; align-items:end; padding-bottom:2.5rem; }
.kf-hero h1{ max-width:800px; font-size:clamp(2.1rem,3.9vw,3.45rem) !important; }
.kf-hero-top>p{ color:var(--c-text-soft); font-size:1.05rem; margin:0 0 .7rem; }
.kf-action-bar{ display:flex; justify-content:space-between; align-items:center; gap:1.5rem; background:var(--c-dark); color:var(--c-bg); border-radius:var(--radius-lg) var(--radius-lg) 0 0; padding:1.1rem 1.45rem; }
.kf-action-bar>span{ font-weight:700; font-size:.86rem; }
.kf-action-bar>div{ display:flex; flex-wrap:wrap; gap:.65rem; }
.kf-action-bar .sk-button{ padding:.72rem 1.1rem; }

.kf-heading{ max-width:750px; margin-bottom:2rem; }
.kf-heading h2,.kf-pricing h2,.kf-partners h2,.kf-final h2{ font-size:clamp(1.8rem,3vw,2.45rem); }
.kf-heading p{ color:var(--c-text-soft); margin:.55rem 0 0; }
.kf-rooms{ background:var(--c-bg-alt); }
.kf-room-matrix{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--c-border); border-left:1px solid var(--c-border); }
.kf-room-matrix a{ min-width:0; padding:1.5rem 1.65rem; border-right:1px solid var(--c-border); border-bottom:1px solid var(--c-border); background:var(--c-bg); color:var(--c-text); text-decoration:none; }
.kf-room-matrix a:hover{ background:var(--primary-l); }
.kf-room-matrix a>span{ color:var(--primary-hover); text-transform:uppercase; letter-spacing:.07em; font-size:.75rem; font-weight:700; }
.kf-room-matrix h3{ font-size:1.2rem; margin:.55rem 0 !important; }
.kf-room-matrix p{ color:var(--c-text-soft); margin:0 0 .85rem; }
.kf-room-matrix strong{ color:var(--primary-hover); font-size:.9rem; }

.kf-location-board{ display:grid; grid-template-columns:minmax(260px,.36fr) minmax(0,.64fr); border:1px solid var(--c-border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.kf-location-info{ background:var(--c-dark); color:var(--c-bg); padding:2rem; }
.kf-location-info h3{ color:var(--c-bg) !important; font-size:1.7rem; margin:.7rem 0 1rem !important; }
.kf-location-info p{ color:var(--c-bg); margin:0 0 1rem; }
.kf-board-label{ color:var(--primary-l); font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.kf-location-board .sk-map-frame{ border:0; border-radius:0; box-shadow:none; }
.kf-location-board .sk-map{ height:395px; }
.kf-location-contact{ display:flex; justify-content:space-between; align-items:center; gap:1.7rem; border-bottom:1px solid var(--c-border); padding:1.25rem 0; }
.kf-location-contact p{ margin:0 0 .4rem; max-width:800px; }
.kf-location-contact small{ color:var(--c-text-soft); font-size:.8rem; }
.kf-location-contact .sk-button{ white-space:nowrap; }

.kf-ledger{ border-top:2px solid var(--c-text); }
.kf-ledger article{ display:grid; grid-template-columns:52px minmax(190px,.8fr) minmax(0,1.45fr) minmax(160px,.65fr); gap:1.3rem; align-items:start; padding:1.35rem 0; border-bottom:1px solid var(--c-border); min-width:0; }
.kf-ledger-num{ color:var(--primary-hover); font-weight:700; font-size:.82rem; padding-top:.18rem; }
.kf-ledger h3{ font-size:1.12rem; margin:0 !important; }
.kf-ledger p{ color:var(--c-text-soft); font-size:.93rem; margin:0; }
.kf-ledger ul{ list-style:none; display:flex; flex-wrap:wrap; gap:.35rem; padding:0; margin:0; }
.kf-ledger li{ border:1px solid var(--c-border); border-radius:var(--radius-pill); padding:.28rem .58rem; color:var(--c-text-soft); font-size:.75rem; white-space:nowrap; }
.kf-pipe{ display:flex; align-items:center; flex-wrap:wrap; gap:.5rem 1.2rem; background:var(--c-bg-alt); border-left:3px solid var(--primary); padding:1rem 1.3rem; margin-top:1.5rem; }
.kf-pipe span{ color:var(--c-text-soft); }
.kf-pipe a{ margin-left:auto; }

.kf-acute{ background:var(--primary-l); padding:2rem 0; }
.kf-acute-inner{ display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.kf-acute h2{ font-size:1.45rem; margin:.25rem 0 .5rem !important; }
.kf-acute p{ margin:0; max-width:800px; }
.kf-acute .sk-kicker{ background:var(--c-bg); }
.kf-acute .sk-button{ white-space:nowrap; }

.kf-audience{ background:var(--c-bg-alt); }
.kf-audience-rows{ border-top:2px solid var(--c-text); }
.kf-audience-rows>div{ display:grid; grid-template-columns:minmax(140px,.25fr) minmax(0,.75fr); gap:2rem; padding:1.15rem 0; border-bottom:1px solid var(--c-border); align-items:center; }
.kf-audience-rows strong{ color:var(--primary-hover); text-transform:uppercase; font-size:.82rem; letter-spacing:.06em; }
.kf-audience-rows p{ color:var(--c-text-soft); margin:0; }

.kf-partners-grid{ display:grid; grid-template-columns:minmax(220px,.35fr) minmax(0,.65fr); gap:3.2rem; align-items:start; }
.kf-partners-grid>div:first-child>p{ color:var(--c-text-soft); }
.kf-partner-flow{ border-left:2px solid var(--c-border); padding-left:2rem; }
.kf-partner-flow>div{ position:relative; padding-bottom:1.6rem; }
.kf-partner-flow>div::before{ content:""; position:absolute; left:-2.48rem; top:.18rem; width:.9rem; height:.9rem; border-radius:var(--radius-pill); background:var(--primary); }
.kf-partner-flow span{ color:var(--primary-hover); font-size:.76rem; text-transform:uppercase; font-weight:700; letter-spacing:.06em; }
.kf-partner-flow h3{ font-size:1.14rem; margin:.45rem 0 !important; }
.kf-partner-flow p{ color:var(--c-text-soft); margin:0; }
.kf-partner-flow>p{ border-top:1px solid var(--c-border); padding-top:1rem; }

.kf-pricing{ background:var(--c-bg-alt); }
.kf-pricing-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); gap:3rem; align-items:center; }
.kf-pricing-grid>div:first-child>p{ color:var(--c-text-soft); max-width:610px; }
.kf-pricing .sk-button{ margin-top:.35rem; }
.kf-pricing-list{ border:1px solid var(--c-border); border-radius:var(--radius-lg); background:var(--c-bg); padding:1.7rem 2rem; }
.kf-pricing-list h3{ font-size:1.16rem; }
.kf-pricing-list ul{ list-style:none; padding:0; margin:0; }
.kf-pricing-list li{ padding:.5rem 0 .5rem 1.3rem; border-bottom:1px solid var(--c-border); position:relative; color:var(--c-text-soft); }
.kf-pricing-list li:last-child{ border-bottom:0; }
.kf-pricing-list li::before{ content:"✓"; position:absolute; left:0; color:var(--primary-hover); font-weight:700; }

.kf-process-steps{ list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; padding:0; margin:0; }
.kf-process-steps li{ min-width:0; border:1px solid var(--c-border); border-radius:var(--radius); padding:1.4rem; background:var(--c-bg); box-shadow:var(--shadow-sm); }
.kf-process-steps li:nth-child(even){ margin-top:1.1rem; }
.kf-process-steps li>span{ color:var(--primary-hover); font-weight:700; font-size:.8rem; }
.kf-process-steps h3{ font-size:1.06rem; margin:.65rem 0 !important; }
.kf-process-steps p{ color:var(--c-text-soft); font-size:.9rem; margin:0; }

.kf-safety{ background:var(--primary-l); border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); padding:1.65rem 0; }
.kf-safety-inner{ display:grid; grid-template-columns:minmax(220px,.35fr) minmax(0,.65fr); gap:2rem; align-items:center; }
.kf-safety h2{ font-size:1.35rem; margin:0 !important; }
.kf-safety ul{ margin:0; padding-left:1.25rem; line-height:1.7; }

.kf-faq-list{ max-width:760px; }
.kf-final{ background:var(--c-dark); padding:3.5rem 0; }
.kf-final-inner{ display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.35fr); gap:3rem; align-items:center; }
.kf-final h2{ color:var(--c-bg) !important; }
.kf-final p{ color:var(--c-bg); max-width:700px; }
.kf-final-actions{ display:flex; flex-direction:column; gap:.7rem; }
.kf-final-actions>a:last-child{ color:var(--c-bg); text-align:center; overflow-wrap:anywhere; }

.kf-room-matrix a:focus-visible,.kf-action-bar a:focus-visible,.kf-location-contact a:focus-visible,.kf-pipe a:focus-visible{ outline:3px solid var(--primary); outline-offset:3px; }

@media (max-width:1024px){
  .kf-action-bar{ align-items:flex-start; flex-direction:column; }
  .kf-ledger article{ grid-template-columns:42px minmax(170px,.7fr) minmax(0,1.3fr); }
  .kf-ledger ul{ grid-column:2 / -1; }
}
@media (max-width:760px){
  .kf-hero{ padding-top:2.8rem; }
  .kf-hero-top,.kf-location-board,.kf-partners-grid,.kf-pricing-grid,.kf-safety-inner,.kf-final-inner{ grid-template-columns:1fr; gap:1.5rem; }
  .kf-hero-top{ align-items:start; }
  .kf-location-info{ padding:1.6rem; }
  .kf-location-board .sk-map{ height:300px; }
  .kf-location-contact,.kf-acute-inner{ align-items:flex-start; flex-direction:column; }
  .kf-process-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kf-process-steps li:nth-child(even){ margin-top:0; }
  .kf-final-actions{ max-width:420px; }
}
@media (max-width:560px){
  .kf-action-bar>div{ flex-direction:column; width:100%; }
  .kf-room-matrix{ grid-template-columns:1fr; }
  .kf-room-matrix a{ padding:1.3rem; }
  .kf-location-board .sk-map{ height:280px; }
  .kf-ledger article{ grid-template-columns:38px minmax(0,1fr); gap:.5rem 1rem; }
  .kf-ledger h3{ align-self:center; }
  .kf-ledger p,.kf-ledger ul{ grid-column:2; }
  .kf-pipe a{ margin-left:0; }
  .kf-audience-rows>div{ grid-template-columns:1fr; gap:.4rem; }
  .kf-process-steps{ grid-template-columns:1fr; }
  .kf-process-steps li{ padding:1.2rem; }
  .kf-pricing-list{ padding:1.4rem; }
}
