/* Buchungsformular Dr. von Weckbecker Klinik. Alle Regeln beginnen mit .wbk und greifen nicht in das Seitendesign ein.
   Schrift: Geomanist (wird von der Website geladen), keine externen Ressourcen. */
.wbk{
  /* Farben, Schrift und Buttons folgen weckbecker.com. Die Schrift "Geomanist" wird von der Website selbst geladen und hier nur verwendet (kein Fremdserver). */
  --g:#556943; --g-dark:#3f5030; --g-soft:#e3e8db; --g-mid:#c2ccb7; --beige:#f0ece4; --line:#ddd5c6;
  --ink:#4d3d2c; --muted:#6f604f; --warn:#774040; --warn-bg:#f3e6e6; --ok-bg:#e3e8db;
  font-family:Geomanist,Arial,"Helvetica Neue",Helvetica,sans-serif;
  font-size:16px; line-height:1.5; color:var(--ink); max-width:1180px; margin:0 auto;
}
.wbk *,.wbk *::before,.wbk *::after{box-sizing:border-box}
.wbk h2,.wbk h3,.wbk p,.wbk dl,.wbk dd,.wbk ol{margin:0;padding:0}
.wbk h2,.wbk h3{font-weight:450;line-height:1.2;font-family:inherit;text-transform:uppercase;letter-spacing:.02em}
.wbk a{color:var(--g)}
.wbk-hidden{display:none!important}
.wbk-card{background:#fff;border-radius:36px 0 36px 36px;padding:1.75rem}

/* Schaltflächen (wie .btn auf weckbecker.com: eine eckige Ecke, Pfeil) */
.wbk-btn{display:inline-flex;align-items:center;border:2px solid var(--g);border-radius:15px;border-top-right-radius:0;border-bottom-left-radius:0;padding:8px 20px 8px 28px;font:inherit;font-size:1.1rem;cursor:pointer;background:var(--g);color:#fff;transition:all .4s cubic-bezier(.4,0,.2,1)}
.wbk-btn::after{content:"";margin-left:10px;width:18px;height:18px;flex:none;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18.436" height="18.436" viewBox="0 0 18.436 18.436"><g fill="none" stroke="%23fff" stroke-miterlimit="10" stroke-width="1.5"><path d="M.681 17.755 17.472.964"/><path d="M.681.964h16.791v16.791"/></g></svg>') no-repeat center/contain;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.wbk-btn:hover:not(:disabled){background:var(--g-mid);color:var(--g)}
.wbk-btn:hover:not(:disabled)::after{transform:rotate(45deg);background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18.436" height="18.436" viewBox="0 0 18.436 18.436"><g fill="none" stroke="%23556943" stroke-miterlimit="10" stroke-width="1.5"><path d="M.681 17.755 17.472.964"/><path d="M.681.964h16.791v16.791"/></g></svg>')}
.wbk-btn:disabled{background:#ddd5c6;border-color:#ddd5c6;color:#8a7c6b;cursor:not-allowed}
.wbk-btn:disabled::after{opacity:.4;filter:grayscale(1)}
.wbk-btn-ghost{background:#fff;color:var(--g);border-color:var(--line)}
.wbk-btn-ghost::after{display:none}
.wbk-btn-ghost:hover:not(:disabled){background:var(--g-soft);color:var(--g)}
.wbk-btn-sm{padding:6px 16px 6px 20px;font-size:1rem}
.wbk-btn-sm::after{width:14px;height:14px;margin-left:8px}
.wbk button:focus-visible,.wbk input:focus-visible,.wbk select:focus-visible,.wbk textarea:focus-visible,.wbk .wbk-tile:focus-visible{outline:3px solid var(--g);outline-offset:2px}

/* Schrittanzeige */
.wbk .wbk-stepper{display:flex;gap:.5rem;list-style:none;margin:0 0 1.5rem;padding:0}
.wbk-stepper li{flex:1;display:flex;align-items:center;gap:.7rem;padding:.65rem 1rem;border-radius:20px 0 20px 20px;background:var(--beige);color:var(--muted);font-weight:450;font-size:1rem}
.wbk-stepper .wbk-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line);font-size:.9rem;flex:none}
.wbk-stepper li.is-active{background:var(--g);color:#fff}
.wbk-stepper li.is-active .wbk-num{color:var(--g);border-color:#fff}
.wbk-stepper li.is-done{background:var(--g-soft);color:var(--g-dark);cursor:pointer}
.wbk-stepper li.is-done .wbk-num{background:var(--g);color:#fff;border-color:var(--g)}

/* Felder */
.wbk label{display:block;font-size:.88rem;font-weight:450;color:var(--ink);margin-bottom:.3rem}
.wbk .wbk-req::after{content:" *";color:var(--warn)}
.wbk input,.wbk select,.wbk textarea{width:100%;font:inherit;padding:8px 15px;min-height:42px;border:2px solid transparent;border-radius:20px;border-top-right-radius:0;background:var(--line);color:var(--ink)}
.wbk select{appearance:none;-webkit-appearance:none;padding-right:46px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25.102" height="25.102" viewBox="0 0 25.102 25.102"><path fill="none" stroke="%234d3d2c" stroke-width="1.5" d="M24.572 12.02 12.55 24.04.53 12.02"/></svg>');background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
.wbk select:disabled{opacity:1;cursor:default;background-image:none;padding-right:15px}
.wbk textarea{border-radius:20px;border-top-right-radius:0}
.wbk textarea{resize:vertical}
.wbk-help{font-size:.78rem;color:var(--muted);margin-top:.3rem}
.wbk-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem 1.2rem;background:var(--beige);border-radius:24px 0 24px 24px;padding:1.1rem 1.3rem}
.wbk-msg{margin-top:1rem;display:grid;gap:.6rem}
.wbk-note{border-radius:16px 0 16px 16px;padding:.7rem 1rem;font-size:.9rem;border:1px solid transparent}
.wbk-note-warn{background:var(--warn-bg);border-color:#e3d0d0;color:var(--warn)}
.wbk-note-ok{background:var(--ok-bg);border-color:#c2ccb7;color:var(--g-dark)}

.wbk-title{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem 1.5rem;flex-wrap:wrap;margin:1.6rem 0 1.1rem}
.wbk-title h2{font-size:1.75rem}
.wbk-title p{color:var(--muted);font-size:.92rem;max-width:620px}
.wbk-group{margin-top:1.8rem}
.wbk-group:first-child{margin-top:0}
.wbk-group h3{font-size:1.3rem;color:var(--g)}
.wbk-group>p{color:var(--muted);font-size:.9rem;margin:.2rem 0 1rem}

/* Kacheln */
.wbk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:1.25rem}
.wbk-tile{position:relative;display:flex;flex-direction:column;background:#fff;border:2px solid var(--line);border-radius:28px 0 28px 28px;overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s}
.wbk-tile:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(77,61,44,.12);border-color:var(--g-mid)}
.wbk-tile.is-selected{border-color:var(--g);box-shadow:0 0 0 3px var(--g-soft)}
.wbk-img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--g-soft),#e6dcc6);overflow:hidden}
.wbk-img img{display:block;width:100%;height:100%;object-fit:cover}
.wbk-tile-body{display:flex;flex-direction:column;gap:.45rem;padding:1.3rem 1.3rem 1.3rem;flex:1}
.wbk-tile h3{font-size:1.15rem;color:var(--g)}
.wbk-tagline{font-weight:700;font-size:.95rem}
.wbk-text{font-size:.95rem;color:var(--muted);flex:1}
.wbk-check{position:absolute;top:.8rem;right:.8rem;width:34px;height:34px;border-radius:50%;background:var(--g);color:#fff;display:none;place-items:center;font-weight:700;z-index:1}
.wbk-tile.is-selected .wbk-check{display:grid}
.wbk-pricebox{margin-top:.5rem;padding-top:.8rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem}
.wbk-pricebox.wbk-room{align-items:center}
.wbk-pricebox.wbk-room + .wbk-sub{margin-top:.5rem}
.wbk-ab{font-size:.78rem;color:var(--muted);display:block;line-height:1.2}
.wbk-price{font-size:1.5rem;font-weight:700;color:var(--g);line-height:1.2}
.wbk-sub{font-size:.76rem;color:var(--muted);line-height:1.35}
.wbk-sub b{color:var(--g-dark);font-weight:600}
.wbk-variants{display:grid;gap:.5rem;margin-top:.4rem}
.wbk-variant{display:flex;align-items:center;justify-content:space-between;gap:.7rem;width:100%;text-align:left;padding:.6rem .9rem;border:2px solid var(--line);border-radius:16px 0 16px 16px;background:#fff;font:inherit;color:inherit;cursor:pointer}
.wbk-variant:hover{border-color:var(--g-mid)}
.wbk-variant.is-on{border-color:var(--g);background:var(--g-soft)}
.wbk-variant .wbk-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);flex:none;margin-right:.55rem;background:#fff}
.wbk-variant.is-on .wbk-dot{border-color:var(--g);background:radial-gradient(var(--g) 45%,#fff 50%)}
.wbk-variant .wbk-vl{display:flex;align-items:center;font-size:.95rem;font-weight:450}
.wbk-variant strong{font-size:1.1rem;color:var(--g)}

/* Navigation */
.wbk-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid var(--line);flex-wrap:wrap}
.wbk-hint{color:var(--muted);font-size:.88rem}

/* Schritt 3 */
.wbk-checkout{display:grid;grid-template-columns:1fr 340px;gap:1.8rem;align-items:start}
.wbk-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.wbk-full{grid-column:1/-1}
.wbk-field.is-invalid input,.wbk-field.is-invalid select{border-color:var(--warn)}
.wbk-err{display:none;color:var(--warn);font-size:.8rem;margin-top:.2rem}
.wbk-field.is-invalid .wbk-err{display:block}
.wbk label.wbk-check-row{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;font-weight:400;color:var(--ink);margin:0}
.wbk .wbk-check-row input{width:18px;height:18px;padding:0;margin:.2rem 0 0;flex:none;accent-color:var(--g)}
.wbk-summary{background:var(--beige);border-radius:24px 0 24px 24px;padding:1.2rem;position:sticky;top:16px}
.wbk-summary h3{font-size:1.15rem;margin-bottom:.8rem}
.wbk-summary .wbk-thumb{aspect-ratio:16/9;border-radius:16px 0 16px 16px;margin-bottom:.8rem}
.wbk-summary dt{color:var(--muted);font-size:.78rem;margin-top:.65rem}
.wbk-summary dd{font-weight:600;font-size:.92rem}
.wbk-lines{margin-top:1rem;padding-top:.8rem;border-top:2px solid var(--g);display:grid;gap:.35rem;font-size:.9rem}
.wbk-lines div{display:flex;justify-content:space-between;gap:1rem}
.wbk-lines .wbk-save{color:var(--g-dark)}
.wbk-lines .wbk-total{margin-top:.3rem;align-items:baseline;font-weight:700}
.wbk-lines .wbk-total strong{font-size:1.5rem;color:var(--g-dark)}
.wbk-fine{font-size:.76rem;color:var(--muted);margin-top:.7rem}

/* Bestätigung */
.wbk-done{text-align:center;padding:1rem 0 1.4rem}
.wbk-done .wbk-icon{width:68px;height:68px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font-size:2rem;margin:0 auto 1rem}
.wbk-done h2{font-size:1.9rem;margin-bottom:.4rem}
.wbk-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line)}
.wbk-tabs button{border:0;background:none;font:inherit;font-weight:450;padding:.7rem 1.1rem;cursor:pointer;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.wbk-tabs button.is-on{color:var(--g-dark);border-color:var(--g)}
.wbk-mail{background:#fafaf7;border:1px solid var(--line);border-top:0;border-radius:0 0 24px 24px;overflow:hidden}
.wbk-mail .wbk-mh{font-size:.85rem;color:var(--muted);padding:1rem 1.3rem;border-bottom:1px solid var(--line);background:#fff}
.wbk-mail .wbk-mh b{color:var(--ink)}
.wbk-mail iframe{display:block;width:100%;border:0;min-height:1100px;background:#f2f2f2}
.wbk-mail .wbk-desk{padding:1.2rem 1.3rem;background:#fff}
.wbk-mail table{border-collapse:collapse;width:100%;font-size:.92rem;margin:.8rem 0}
.wbk-mail td{padding:.45rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.wbk-mail td:first-child{color:var(--muted);width:36%}
.wbk-mock-note{margin-top:1.2rem;background:#fff8e6;border:1px solid #ecd9a0;border-radius:10px;padding:.8rem 1rem;font-size:.85rem}

@media(max-width:900px){
  .wbk-checkout{grid-template-columns:1fr}
  .wbk-summary{position:static}
}
@media(max-width:640px){
  .wbk-card{padding:1rem}
  .wbk-stepper li .wbk-t{display:none}
  .wbk-stepper li{justify-content:center}
  .wbk-fields{grid-template-columns:1fr}
  .wbk-grid{grid-template-columns:1fr}
  .wbk-actions .wbk-btn{flex:1 1 100%}
}

/* Honigtopf-Feld (Bot-Schutz), für Menschen unsichtbar */
.wbk .wbk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
