:root{--hb-ink:#302b27;--hb-muted:#766d65;--hb-paper:#fbf9f6;--hb-sand:#eee7de;--hb-accent:#98745f;--hb-dark:#755543;--hb-line:#ddd3c8;--hb-white:#fff}
.hb-booking [hidden]{display:none!important}.hb-booking{max-width:1180px;margin:auto;padding:clamp(28px,5vw,68px);background:var(--hb-paper);color:var(--hb-ink);border:1px solid var(--hb-line);font-family:inherit;box-shadow:0 24px 70px rgba(48,43,39,.08)}.hb-booking *{box-sizing:border-box}.hb-intro{text-align:center;margin-bottom:34px}.hb-intro h2{font-size:clamp(34px,4vw,54px);line-height:1.1;font-weight:500;margin:.2em 0}.hb-eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--hb-dark);font-size:12px;font-weight:700}.hb-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0;margin:0 0 48px;list-style:none}.hb-progress li{display:flex;justify-content:center;align-items:center;gap:9px;padding:12px;border-bottom:2px solid var(--hb-line);color:var(--hb-muted)}.hb-progress li.is-active{color:var(--hb-dark);border-color:var(--hb-dark);font-weight:700}.hb-progress span{display:grid;place-items:center;width:28px;height:28px;border:1px solid;border-radius:50%}.hb-step{display:none;border:0;padding:0;margin:0}.hb-step.is-active{display:block}.hb-step legend{width:100%;font-size:clamp(30px,4vw,48px);line-height:1.15;text-align:center;margin:0 0 38px;color:var(--hb-ink)}
.hb-large-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 34px}.hb-choice{position:relative}.hb-choice input{position:absolute;opacity:0}.hb-choice>span{display:flex;min-height:180px;padding:30px;flex-direction:column;justify-content:center;background:var(--hb-white);border:1px solid var(--hb-line);cursor:pointer;transition:.2s}.hb-choice strong{font-size:clamp(22px,2.2vw,32px);font-weight:500;line-height:1.15}.hb-choice small{margin-bottom:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--hb-muted)}.hb-choice em{margin-top:15px;color:var(--hb-muted);font-style:normal;line-height:1.5}.hb-choice b{margin-top:20px;font-size:22px;font-weight:500}.hb-service-choice>span{min-height:310px;justify-content:flex-start}.hb-service-choice em{margin-top:auto;padding-top:24px}.hb-choice input:checked+span,.hb-choice input:focus-visible+span{background:var(--hb-dark);border-color:var(--hb-dark);color:var(--hb-white);box-shadow:0 12px 28px rgba(117,85,67,.2)}.hb-choice input:checked+span small,.hb-choice input:checked+span em{color:rgba(255,255,255,.75)}
.hb-add-more{display:block;margin:8px auto 24px;padding:8px;border:0;background:none;color:var(--hb-dark);font:inherit;font-size:17px;cursor:pointer}.hb-picked{max-width:760px;margin:24px auto;padding:22px 26px;border:1px solid var(--hb-line);background:var(--hb-white)}.hb-picked small{display:block;margin-bottom:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--hb-muted)}.hb-picked [data-picked-items]>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--hb-line);font-size:18px}.hb-picked button{border:0;background:none;font-size:25px;color:var(--hb-muted);cursor:pointer}.hb-picked p{margin:12px 0 0;color:var(--hb-muted);font-size:13px}.hb-picked--compact{display:grid;gap:8px}.hb-picked--compact strong,.hb-picked--compact span{display:block}
.hb-calendar-section{margin:0 auto 38px}.hb-calendar-section h3{text-align:center;font-size:17px;margin:0 0 16px}.hb-earliest,.hb-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.hb-earliest button,.hb-segments button,.hb-days button,.hb-times button{border:1px solid var(--hb-line);background:var(--hb-white);color:var(--hb-ink);font:inherit;cursor:pointer;transition:.2s}.hb-earliest button{padding:22px 15px}.hb-earliest strong,.hb-earliest span,.hb-segments strong,.hb-segments span{display:block}.hb-earliest span,.hb-segments span{margin-top:8px;color:var(--hb-muted)}.hb-day-slider{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:10px}.hb-days{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.hb-days button{min-height:104px;padding:12px}.hb-days small,.hb-days strong,.hb-days span{display:block}.hb-days strong{font-size:28px;margin:4px 0}.hb-slider-arrow{border:1px solid var(--hb-line);background:transparent;font-size:30px;color:var(--hb-dark);cursor:pointer}.hb-segments{grid-template-columns:repeat(2,1fr)}.hb-segments button{padding:24px}.hb-segments strong{font-size:22px}.hb-segments button:disabled{opacity:.35;cursor:not-allowed}.hb-times{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.hb-times button{padding:13px 22px;font-size:19px}.hb-earliest .is-selected,.hb-days .is-selected,.hb-segments .is-selected,.hb-times .is-selected{background:var(--hb-dark);border-color:var(--hb-dark);color:var(--hb-white)}.hb-earliest .is-selected span,.hb-segments .is-selected span{color:rgba(255,255,255,.75)}
.hb-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.hb-grid label{display:flex;flex-direction:column;gap:8px;font-weight:600}.hb-span-2{grid-column:1/-1}.hb-grid input,.hb-grid textarea{width:100%;padding:15px;border:1px solid var(--hb-line);background:var(--hb-white);font:inherit;font-size:17px}.hb-check{display:flex;gap:12px;margin:25px 0;align-items:flex-start}.hb-check input{margin-top:4px;accent-color:var(--hb-dark)}.hb-check a{color:var(--hb-dark)}.hb-required-note{text-align:center;color:var(--hb-muted)}.hb-actions{display:flex;justify-content:space-between;gap:14px;margin-top:30px}.hb-button{display:inline-flex;min-width:220px;min-height:54px;padding:14px 26px;align-items:center;justify-content:center;border:1px solid var(--hb-dark);background:var(--hb-dark);color:#fff;font:inherit;font-weight:700;cursor:pointer}.hb-button:disabled{opacity:.35;cursor:not-allowed}.hb-button--quiet{background:transparent;color:var(--hb-dark)}.hb-notice{margin-bottom:25px;padding:16px 18px;background:#f6e5e2;border-left:3px solid #a84c43}.hb-success{text-align:center;padding:50px 15px}.hb-success h3{font-size:42px}
@media(max-width:760px){.hb-booking{padding:30px 18px}.hb-progress li{font-size:0}.hb-progress li span{font-size:13px}.hb-large-options,.hb-earliest,.hb-grid{grid-template-columns:1fr}.hb-span-2{grid-column:auto}.hb-service-choice>span{min-height:230px}.hb-days{overflow-x:auto;display:flex;scroll-snap-type:x mandatory}.hb-days button{flex:0 0 calc((100% - 20px)/3);scroll-snap-align:start}.hb-day-slider{grid-template-columns:34px minmax(0,1fr) 34px}.hb-actions{flex-direction:column-reverse}.hb-button{width:100%}}

/* Feinschliff passend zur Website */
.hb-booking{border-radius:14px}
.hb-progress{grid-template-columns:repeat(3,1fr)}
.hb-step-intro{text-align:center;color:var(--hb-muted);font-size:17px;margin:-22px auto 32px}
.hb-choice>span,.hb-picked,.hb-earliest button,.hb-segments button,.hb-days button,.hb-times button,.hb-grid input,.hb-grid textarea,.hb-notice{border-radius:10px}
.hb-button,.hb-slider-arrow{border-radius:8px}
.hb-choice>span{box-shadow:0 8px 22px rgba(48,43,39,.045)}
.hb-choice>span:hover{border-color:var(--hb-accent);box-shadow:0 12px 28px rgba(48,43,39,.09);transform:translateY(-2px)}
.hb-progress li{padding:0}
.hb-progress button{display:flex;width:100%;padding:12px;align-items:center;justify-content:center;gap:9px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.hb-progress button:disabled{cursor:default}.hb-progress .is-complete button{cursor:pointer}
.hb-service-choice>span{font-family:"Source Sans 3","Open Sans",Arial,sans-serif;min-height:260px}
.hb-treatment-icon{width:42px;height:46px;object-fit:contain;margin:0 0 16px;opacity:.8}
.hb-choice input:checked+span .hb-treatment-icon{filter:brightness(0) invert(1);opacity:.9}
.hb-name-detail{display:block;margin-top:5px;font-size:.6em;font-weight:400;line-height:1.25;color:var(--hb-muted)}
.hb-choice input:checked+span .hb-name-detail{color:rgba(255,255,255,.72)}
.hb-button{background:#ef7134;border-color:#ef7134;color:#fff}
.hb-button:hover:not(:disabled){background:#d85d24;border-color:#d85d24}
.hb-button--quiet{background:transparent;border-color:#ef7134;color:#df642b}
.hb-grid input{height:58px!important;min-height:58px!important;padding:12px 15px!important}
.hb-grid textarea{height:auto!important;min-height:130px!important}
.hb-phone-field{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.hb-phone-field select{height:58px!important;border:1px solid var(--hb-line);border-radius:10px;background:var(--hb-white);padding:0 12px;font:inherit;font-size:17px}
.hb-intro h2,.hb-step legend,.hb-calendar-section h3{font-family:"Trade Gothic Extended","Trade Gothic",Arial,sans-serif!important;color:#a9bd69!important;font-size:32px!important;font-weight:400!important;line-height:1.2!important;letter-spacing:0!important}
.hb-intro h2{margin:0!important}.hb-step legend{margin-bottom:30px!important}.hb-calendar-section h3{margin-bottom:18px!important}
.hb-confirmation-card{max-width:680px;margin:30px auto;padding:28px;text-align:left;border:1px solid var(--hb-line);border-radius:12px;background:var(--hb-white);box-shadow:0 10px 28px rgba(48,43,39,.06)}.hb-confirmation-card dl{display:grid;grid-template-columns:150px 1fr;gap:12px 20px;margin:0}.hb-confirmation-card dt{color:var(--hb-muted);font-weight:600}.hb-confirmation-card dd{margin:0}.hb-cancel-link{margin-top:8px;text-decoration:none}@media(max-width:600px){.hb-confirmation-card dl{grid-template-columns:1fr;gap:4px}.hb-confirmation-card dd{margin-bottom:12px}}
.hb-success>p:not(.hb-eyebrow){font-size:21px;line-height:1.55}.hb-confirmation-card{max-width:760px;padding:36px}.hb-confirmation-card dl{grid-template-columns:190px 1fr;gap:18px 28px;font-size:21px;line-height:1.5}.hb-confirmation-card dt{font-size:20px}.hb-confirmation-card dd{font-size:22px}.hb-cancel-link{font-size:18px;min-height:58px}@media(max-width:600px){.hb-confirmation-card{padding:24px}.hb-confirmation-card dl{grid-template-columns:1fr;gap:5px}.hb-confirmation-card dd{margin-bottom:14px}}

/* Mobile: alle Inhalte bleiben innerhalb des Buchungsmoduls */
.hb-booking,.hb-booking form,.hb-booking fieldset,.hb-booking section,.hb-booking div,.hb-booking label{min-width:0;max-width:100%}
.hb-booking{width:100%;overflow:hidden}
.hb-booking h2,.hb-booking h3,.hb-booking legend,.hb-booking strong,.hb-booking em,.hb-booking p,.hb-booking label,.hb-booking dd{overflow-wrap:anywhere}
.hb-service-choice strong{overflow-wrap:normal;word-break:normal;hyphens:manual}
@media(max-width:600px){
  .hb-booking{padding:26px 14px;border-radius:10px}
  .hb-intro{margin-bottom:24px}
  .hb-intro h2{font-size:30px!important;hyphens:manual}
  .hb-progress{gap:5px;margin-bottom:34px}
  .hb-progress button{min-width:0;padding:9px 3px}
  .hb-progress li span{width:26px;height:26px;flex:0 0 26px}
  .hb-step legend,.hb-calendar-section h3{font-size:27px!important}
  .hb-step-intro{font-size:16px;margin-top:-18px}
  .hb-large-options,.hb-earliest,.hb-segments,.hb-grid{grid-template-columns:minmax(0,1fr)}
  .hb-choice>span,.hb-service-choice>span{min-height:0;padding:22px 18px}
  .hb-choice strong{font-size:23px}
  .hb-treatment-icon{width:36px;height:40px}
  .hb-picked{padding:18px 15px}
  .hb-picked [data-picked-items]>div{gap:10px;overflow-wrap:anywhere}
  .hb-day-slider{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}
  .hb-days{gap:7px}
  .hb-days button{flex:0 0 calc((100% - 14px)/3);min-width:0;padding:9px 5px}
  .hb-days strong{font-size:23px}
  .hb-segments button{padding:18px 12px}
  .hb-phone-field{grid-template-columns:82px minmax(0,1fr)}
  .hb-phone-field select{padding:0 7px}
  .hb-grid input,.hb-grid textarea,.hb-phone-field select{max-width:100%}
  .hb-check{font-size:15px;line-height:1.45}
  .hb-actions{width:100%}
  .hb-button{min-width:0;white-space:normal;text-align:center}
  .hb-success{padding:30px 0}
  .hb-success h3{font-size:32px;overflow-wrap:anywhere}
  .hb-confirmation-card{width:100%;padding:20px 15px}
  .hb-confirmation-card dl,.hb-confirmation-card dt,.hb-confirmation-card dd{font-size:18px}
}
