/* ============================================================
29-beratung.css
Open Flowing Layout – Luxurious · Airy · Breathable
============================================================ */

.beratung-page{background-color:var(--ivory);color:var(--dark-grey);--beratung-side-pad:clamp(1.2rem,5vw,2rem);overflow-x:clip}.beratung-banner{background-color:var(--gold);color:var(--white);text-align:center;padding:clamp(0.8rem,2vw,1.2rem) var(--container-padding);font-size:clamp(0.65rem,1.5vw,0.8rem);font-family:var(--font-accent);font-weight:400;letter-spacing:0.25em;text-transform:uppercase;position:relative;z-index:1001;box-shadow:0 4px 12px rgba(196,161,105,0.15)}.sticky-nav-wrapper{position:sticky;top:0;z-index:1005;width:100%}.beratung-page .header{background-color:var(--ivory);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 4px 15px rgba(0,0,0,0.03)}.beratung-page main:not(.hero):not(.ophyr-hero){padding-top:0}.beratung-header{text-align:center;padding:clamp(3rem,6vw,4rem) var(--beratung-side-pad) clamp(1rem,2vw,1.5rem)}.beratung-header .legal-title{margin-bottom:clamp(1rem,3vw,1.5rem);color:var(--text-color);font-size:calc(var(--fs-display) * 1.125)}@media (max-width:47.99rem){.beratung-header .legal-title{text-align:left;padding-left:0;padding-right:0;font-size:calc(var(--fs-display) * 0.9)}}.beratung-intro{font-size:clamp(0.85rem,2.2vw,1rem);color:var(--text-light);letter-spacing:0.08em;font-weight:300;margin:0;line-height:1.7}.beratung-header .news-intro{text-align:left}.beratung-header .news-lead{text-align:left}.beratung-step-hint{text-align:center;max-width:38rem;margin:0 auto clamp(1.8rem,4vw,2.5rem);padding:0 var(--beratung-side-pad)}.beratung-step-label{font-family:var(--font-accent);font-size:clamp(0.88rem,2.2vw,1.04rem);letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);font-weight:300;margin:0 0 clamp(0.6rem,1.5vw,0.8rem)}.beratung-step-title{font-family:var(--font-accent);font-size:clamp(1.44rem,3.6vw,1.92rem);font-weight:300;letter-spacing:0.08em;color:var(--dark-grey);margin:0 0 clamp(0.8rem,2vw,1.2rem);line-height:1.25}.beratung-step-text{font-family:var(--font-primary);font-size:clamp(0.65rem,1.6vw,0.78rem);font-weight:400;line-height:1.85;letter-spacing:0.3em;text-transform:uppercase;color:var(--dark-grey);margin:0;padding:0;border-left:none}.beratung-value-bridge{padding:clamp(1.5rem,4vw,2.5rem) var(--beratung-side-pad);margin-bottom:clamp(1rem,3vw,2rem);border-top:1px solid rgba(196,161,105,0.15);border-bottom:1px solid rgba(196,161,105,0.15)}.step-indicator{position:sticky;top:var(--sticky-header-h,var(--nav-height,3.4rem));z-index:100;background:rgba(240,240,240,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:clamp(1.2rem,3.5vw,2rem) var(--beratung-side-pad);margin-bottom:clamp(2rem,5vw,3rem);border-bottom:1px solid rgba(196,161,105,0.12)}.step-indicator__svg{display:block;width:100%;max-width:42rem;margin:0 auto;height:auto;max-height:clamp(2.4rem,6vw,3.2rem)}.step-svg-line{stroke:rgba(0,0,0,0.2);stroke-width:1.5;stroke-linecap:round;transition:stroke 0.5s cubic-bezier(0.16,1,0.3,1)}.step-svg-circle{fill:transparent;stroke:rgba(0,0,0,0.2);stroke-width:1.5;transition:fill 0.5s cubic-bezier(0.16,1,0.3,1),stroke 0.5s cubic-bezier(0.16,1,0.3,1),r 0.3s cubic-bezier(0.16,1,0.3,1)}.step-svg-num{font-family:var(--font-accent);font-size:0.6875rem;font-weight:300;letter-spacing:0.05em;fill:rgba(0,0,0,0.35);transition:fill 0.5s cubic-bezier(0.16,1,0.3,1),opacity 0.3s ease}.step-svg-check{font-size:0.8125rem;font-weight:600;fill:#fff;opacity:0;transition:opacity 0.3s cubic-bezier(0.16,1,0.3,1)}.step-svg-circle.is-active{stroke:var(--gold,#c4a169);stroke-width:2;fill:rgba(196,161,105,0.06)}.step-svg-num.is-active{fill:var(--gold,#c4a169);font-weight:400}.step-svg-circle.is-done{stroke:var(--gold,#c4a169);fill:var(--gold,#c4a169)}.step-svg-num.is-done{opacity:0}.step-svg-check.is-done{opacity:1}.step-svg-line.is-done{stroke:var(--gold,#c4a169)}.step-indicator__list{display:flex;align-items:flex-start;justify-content:space-between;list-style:none;margin:clamp(0.35rem,1vw,0.5rem) auto 0;padding:0;max-width:42rem}.step-indicator__item{flex:1;text-align:center}.step-indicator__label{font-family:var(--font-accent);font-size:clamp(0.52rem,1.4vw,0.65rem);letter-spacing:0.18em;text-transform:uppercase;color:var(--text-dimmed);font-weight:400;transition:color 0.5s cubic-bezier(0.16,1,0.3,1);white-space:normal;overflow-wrap:break-word;line-height:1.3}.step-indicator__item.is-active .step-indicator__label{color:var(--gold);font-weight:500}.step-indicator__item.is-done .step-indicator__label{color:var(--gold)}@media (max-width:42rem){.step-indicator{padding-inline:var(--beratung-side-pad)}.step-indicator__list{max-width:100%}.step-indicator__label{font-size:clamp(0.45rem,2.2vw,0.6rem);letter-spacing:0.08em}}@media (max-width:22rem){.step-indicator__label{font-size:clamp(0.38rem,2vw,0.5rem);letter-spacing:0.04em}}.booking-flow{max-width:75rem;margin:0 auto;padding:0 0 clamp(5rem,12vw,8rem)}.booking-zone{padding:clamp(2.8rem,6vw,3.8rem) clamp(1.5rem,5vw,3.5rem);border-radius:0;transition:background-color 0.5s cubic-bezier(0.16,1,0.3,1);contain:paint}.booking-zone--datum{background:#FBF9F5}.booking-zone-uhrzeit-inner{padding-top:clamp(2.5rem,5vw,3.5rem)}.booking-zone--sprache{background:#F3EDE3}.booking-zone--kanal{background:#F7F3ED}.booking-zone-kanal-inner{padding-top:clamp(2.5rem,5vw,3.5rem)}.booking-zone--summary{background:transparent;padding:0}.booking-zone--daten{background:#FBF9F5;padding-bottom:clamp(2rem,5vw,3rem)}@media (min-width:42rem){.booking-zone{border-radius:0.5rem;margin-bottom:clamp(0.5rem,1vw,0.8rem);padding:clamp(3.2rem,5vw,4.2rem) clamp(3rem,6vw,4.5rem)}}.section-divider{text-align:center;padding:clamp(0.5rem,1.2vw,0.8rem) 0 clamp(1.2rem,3vw,1.8rem)}.section-title{font-size:clamp(0.65rem,1.6vw,0.78rem);letter-spacing:0.3em;text-transform:uppercase;font-weight:400;color:var(--dark-grey);margin:0 0 clamp(0.5rem,1.2vw,0.7rem) 0}.section-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(196,161,105,0.3),transparent);border:none;margin:0}.section-subtitle{font-size:clamp(0.65rem,1.6vw,0.78rem);color:var(--dark-grey);font-weight:400;letter-spacing:0.3em;line-height:1.7;text-transform:uppercase;margin:clamp(0.6rem,1.5vw,1rem) 0 0 0}.beraterinnen-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,2rem);padding:clamp(0.6rem,2vw,1.3rem) clamp(1.5rem,5vw,3.5rem);contain:paint}@media (min-width:42rem){.beraterinnen-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);padding:clamp(0.6rem,2vw,1.3rem) clamp(3rem,6vw,4.5rem)}}.beraterin-card{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;padding:clamp(1.2rem,3vw,2rem);border-radius:0.5rem;border:1px solid transparent;background:#fff;scroll-margin-top:6rem;transition:border-color 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.5s cubic-bezier(0.16,1,0.3,1),opacity 0.5s cubic-bezier(0.16,1,0.3,1),visibility 0s linear 0.5s}.beraterin-card:hover{border-color:rgba(196,161,105,0.2);box-shadow:0 8px 30px rgba(0,0,0,0.04);transform:translateY(-2px)}.beraterin-card.is-active{border-color:rgba(196,161,105,0.35);box-shadow:0 12px 40px rgba(0,0,0,0.06),0 4px 15px rgba(196,161,105,0.1);transform:scale(1);will-change:transform,opacity}.beraterin-card:not(.is-active){transform:scale(0.92);opacity:0.7}.beraterin-card:not(.is-active) .beraterin-name,.beraterin-card:not(.is-active) .beraterin-role{opacity:0.6}.beraterin-photo{width:clamp(12rem,40vw,16rem);height:clamp(13rem,44vw,18rem);border-radius:0.5rem;overflow:hidden;margin-bottom:clamp(1rem,2.5vw,1.5rem);box-shadow:0 8px 25px rgba(0,0,0,0.06),0 3px 10px rgba(196,161,105,0.08);transition:box-shadow 0.5s cubic-bezier(0.16,1,0.3,1),transform 0.5s cubic-bezier(0.16,1,0.3,1)}.beraterin-card:hover .beraterin-photo{box-shadow:0 14px 35px rgba(0,0,0,0.08),0 5px 16px rgba(196,161,105,0.12);transform:translateY(-1px)}.beraterin-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%) blur(1.5px);transition:filter 0.6s cubic-bezier(0.16,1,0.3,1)}.beraterin-card.is-active .beraterin-photo img{filter:grayscale(0%) blur(0px);will-change:opacity}.beraterin-card.is-active .beraterin-photo{transform:scale(1.04);box-shadow:0 14px 40px rgba(0,0,0,0.08),0 5px 18px rgba(196,161,105,0.14)}.btn-beraterin-select{display:block;width:100%;background:var(--gold);border:1.5px solid var(--gold);color:#fff;font-family:var(--font-accent);font-size:clamp(0.6rem,1.5vw,0.7rem);letter-spacing:0.25em;text-transform:uppercase;font-weight:400;cursor:pointer;border-radius:2rem;transition:opacity 0.5s cubic-bezier(0.16,1,0.3,1),transform 0.5s cubic-bezier(0.16,1,0.3,1),background 0.3s ease,color 0.3s ease,box-shadow 0.3s ease;opacity:0;transform:translateY(0.5rem);pointer-events:none;margin:clamp(1rem,2.5vw,1.5rem) auto 0;padding:0.65rem 2rem;box-shadow:0 4px 14px rgba(196,161,105,0.2)}.beraterin-card.is-active .btn-beraterin-select{opacity:1;transform:translateY(0);pointer-events:auto}@media (hover:hover) and (pointer:fine){.btn-beraterin-select:hover{background:transparent;color:var(--gold);box-shadow:none}}.beraterinnen-grid.is-booked .beraterin-card:not(.is-selected-final){opacity:0;visibility:hidden;pointer-events:none;transform:scale(0.95)}@media (min-width:42rem){.beraterinnen-grid.is-booked .beraterin-card.is-selected-final:nth-child(1){transform:translateX(calc(100% + clamp(1.5rem,3vw,2.5rem))) scale(1)}.beraterinnen-grid.is-booked .beraterin-card.is-selected-final:nth-child(3){transform:translateX(calc(-100% - clamp(1.5rem,3vw,2.5rem))) scale(1)}}@media (max-width:41.99rem){.beraterinnen-grid.is-booked .beraterin-card:not(.is-selected-final){max-height:0;padding-top:0;padding-bottom:0;border-width:0;margin-top:0;margin-bottom:0;overflow:hidden}}.beraterinnen-grid.is-booked .beraterin-card.is-selected-final{transform:scale(1);opacity:1;visibility:visible;transition:border-color 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.5s cubic-bezier(0.16,1,0.3,1),opacity 0.5s cubic-bezier(0.16,1,0.3,1),visibility 0s}.beraterinnen-grid.is-booked .beraterin-card.is-selected-final .btn-beraterin-select{background:transparent;color:var(--gold);border-color:var(--gold);box-shadow:none}.btn-beraterin-change{display:none !important}.beraterin-name{font-size:clamp(1rem,2.5vw,1.2rem);font-family:var(--font-accent);font-weight:200;letter-spacing:0.12em;text-transform:uppercase;color:var(--black);margin:0 0 0.3rem 0;line-height:1.2}.beraterin-role{font-size:clamp(0.55rem,1.3vw,0.65rem);letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin:0 0 0.5rem 0}.beraterin-steckbrief{display:grid;grid-template-rows:1fr;overflow:hidden}.beraterin-steckbrief-inner{overflow:hidden;min-height:0;opacity:0.3;filter:blur(1.5px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),filter 0.6s cubic-bezier(0.16,1,0.3,1)}.beraterin-card.is-active .beraterin-steckbrief-inner{opacity:1;filter:blur(0px);will-change:opacity}.beraterin-bio{font-size:clamp(0.76rem,1.8vw,0.85rem);color:var(--text-light);font-weight:300;line-height:1.75;font-style:normal;text-align:left;margin:clamp(0.3rem,0.8vw,0.5rem) 0;padding:0 0.5rem}.beraterin-lang-label{font-size:clamp(0.5rem,1.2vw,0.58rem);letter-spacing:0.2em;text-transform:uppercase;color:var(--text-dimmed);font-weight:500;margin:clamp(1rem,2.5vw,1.5rem) 0 0.4rem 0;text-align:center}.beraterin-languages{display:flex;gap:0.5rem;justify-content:center;flex-wrap:wrap;padding-bottom:0.5rem}.lang-tag{font-size:clamp(0.65rem,1.6vw,0.72rem);letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(196,161,105,0.3);border-radius:2rem;padding:0.3rem 0.6rem;font-weight:500;line-height:1;transition:background-color 0.3s ease,color 0.3s ease}.lang-tag:hover{background-color:rgba(196,161,105,0.08)}.calendar-widget{max-width:28rem;margin:0 auto;padding:clamp(0.8rem,2vw,1.2rem) 0 clamp(0.5rem,1.5vw,0.8rem)}.calendar-header{display:flex;align-items:center;justify-content:center;gap:clamp(1.2rem,4vw,2rem);margin-bottom:clamp(0.8rem,2.5vw,1.2rem)}.calendar-month-label{font-family:var(--font-accent);font-size:clamp(0.9rem,2.5vw,1.1rem);font-weight:300;letter-spacing:0.18em;text-transform:uppercase;color:var(--dark-grey);min-width:8rem;text-align:center}.calendar-nav{flex-shrink:0;width:clamp(2rem,6vw,2.4rem);height:clamp(2rem,6vw,2.4rem);border:1.5px solid rgba(196,161,105,0.35);border-radius:50%;background:transparent;color:var(--gold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color 0.35s cubic-bezier(0.16,1,0.3,1),border-color 0.35s cubic-bezier(0.16,1,0.3,1),color 0.35s cubic-bezier(0.16,1,0.3,1)}.calendar-nav svg{width:1rem;height:1rem;stroke:var(--gold);transition:stroke 0.3s ease}.calendar-nav:hover{border-color:var(--gold);background:var(--gold)}.calendar-nav:hover svg{stroke:#fff}.calendar-nav:disabled{opacity:0.15;cursor:default;pointer-events:none}.calendar-weekdays{display:grid;grid-template-columns:repeat(5,1fr);gap:0.3rem;margin-bottom:0.35rem}.calendar-weekdays span{text-align:center;font-size:clamp(0.5rem,1.3vw,0.58rem);letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);font-weight:500;padding:0.4rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0.3rem;position:relative;overflow:hidden}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.15rem;border-radius:0.35rem;border:1px solid rgba(196,161,105,0.2);background:#F5F0E8;cursor:pointer;transition:background-color 0.35s cubic-bezier(0.16,1,0.3,1),border-color 0.35s cubic-bezier(0.16,1,0.3,1),color 0.35s cubic-bezier(0.16,1,0.3,1),box-shadow 0.35s cubic-bezier(0.16,1,0.3,1),transform 0.35s cubic-bezier(0.16,1,0.3,1),opacity 0.35s cubic-bezier(0.16,1,0.3,1);padding:clamp(0.5rem,1.5vw,0.7rem) 0;min-height:clamp(3.2rem,10vw,3.8rem);-webkit-tap-highlight-color:transparent}.cal-label{font-size:clamp(0.42rem,1.1vw,0.48rem);letter-spacing:0.18em;text-transform:uppercase;font-weight:600;line-height:1}.cal-label--day{color:var(--dark-grey)}.cal-label--month{color:var(--gold);font-weight:500;opacity:0.7}.cal-num{font-size:clamp(1rem,2.8vw,1.2rem);font-weight:300;font-family:var(--font-accent);color:var(--dark-grey);line-height:1}.calendar-day.is-selected .cal-label,.calendar-day.is-selected .cal-num{color:#fff}.calendar-day.is-today:not(.is-selected) .cal-label--day,.calendar-day.is-today:not(.is-selected) .cal-num{color:var(--gold)}.calendar-day.is-past .cal-label,.calendar-day.is-past .cal-num{color:inherit}.calendar-day--empty{border:none;background:transparent;cursor:default;pointer-events:none}.calendar-day:not(.calendar-day--empty):not(.is-past):not(.is-selected):not(.is-booked):hover{border-color:rgba(196,161,105,0.5);box-shadow:0 4px 14px rgba(196,161,105,0.12);transform:translateY(-1px)}.calendar-day.is-booked:not(.calendar-day--empty):hover{border-color:rgba(196,161,105,0.4);box-shadow:0 4px 14px rgba(196,161,105,0.12);transform:translateY(-1px)}.calendar-day.is-selected{background:var(--gold);border-color:var(--gold);color:#fff;box-shadow:0 6px 20px rgba(196,161,105,0.3);font-weight:400}.calendar-day.is-today:not(.is-selected){border-color:var(--gold);border-width:2px;color:var(--gold);font-weight:500}.calendar-day.is-past{opacity:0.2;cursor:default;pointer-events:none;background:rgba(0,0,0,0.02);border-color:rgba(196,161,105,0.1)}.calendar-grid.slide-out-left{animation:calSlideOutLeft 0.35s cubic-bezier(0.25,1,0.5,1) forwards}.calendar-grid.slide-out-right{animation:calSlideOutRight 0.35s cubic-bezier(0.25,1,0.5,1) forwards}.calendar-grid.slide-in-left{animation:calSlideInLeft 0.35s cubic-bezier(0.25,1,0.5,1) forwards}.calendar-grid.slide-in-right{animation:calSlideInRight 0.35s cubic-bezier(0.25,1,0.5,1) forwards}@keyframes calSlideOutLeft{from{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0}}@keyframes calSlideOutRight{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes calSlideInLeft{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes calSlideInRight{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}.time-group{margin-bottom:clamp(1.5rem,3.5vw,2rem)}.time-group:last-child{margin-bottom:0}.time-label{text-align:center;font-size:clamp(0.48rem,1.2vw,0.55rem);letter-spacing:0.3em;text-transform:uppercase;color:var(--text-dimmed);margin:0 0 clamp(0.5rem,1.5vw,0.7rem) 0;font-weight:500}.time-slots{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(0.4rem,1.2vw,0.5rem)}.time-slot{background:#fff;border:1px solid rgba(196,161,105,0.15);color:var(--dark-grey);border-radius:2rem;padding:clamp(0.5rem,1.5vw,0.55rem) clamp(1rem,3vw,1.2rem);font-size:clamp(0.72rem,1.8vw,0.78rem);letter-spacing:0.1em;font-family:var(--font-accent);cursor:pointer;transition:border-color 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.4s cubic-bezier(0.16,1,0.3,1),background-color 0.4s cubic-bezier(0.16,1,0.3,1),color 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s cubic-bezier(0.16,1,0.3,1);font-weight:300;min-height:2.6rem;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.time-slot:hover{border-color:var(--gold);transform:translateY(-1px)}.time-slot.is-selected{border-color:var(--gold);background-color:var(--gold);color:#fff;box-shadow:0 6px 18px rgba(196,161,105,0.2)}.options-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(0.6rem,2vw,1rem);padding:clamp(0.5rem,1.5vw,0.8rem) 0}.option-btn{background:#fff;border:1px solid rgba(196,161,105,0.15);color:var(--dark-grey);border-radius:2rem;padding:clamp(0.6rem,1.5vw,0.65rem) clamp(1.4rem,4vw,1.8rem);font-size:clamp(0.65rem,1.6vw,0.75rem);letter-spacing:0.2em;text-transform:uppercase;font-weight:300;cursor:pointer;transition:border-color 0.4s cubic-bezier(0.16,1,0.3,1),background-color 0.4s cubic-bezier(0.16,1,0.3,1),color 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s cubic-bezier(0.16,1,0.3,1);font-family:inherit;min-height:2.6rem;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.option-btn:hover{border-color:var(--gold)}.option-btn.is-selected{border-color:var(--gold);background-color:var(--gold);color:#fff;box-shadow:0 6px 18px rgba(196,161,105,0.18)}.option-btn--icon{gap:clamp(0.4rem,1vw,0.6rem)}.option-icon{width:clamp(1rem,2.5vw,1.2rem);height:clamp(1rem,2.5vw,1.2rem);flex-shrink:0;color:var(--gold);transition:color 0.4s cubic-bezier(0.16,1,0.3,1)}.option-btn.is-selected .option-icon{color:#fff}.kanal-phone-hint{text-align:center;font-size:clamp(0.85rem,2.2vw,1rem);color:var(--gold);font-weight:300;font-style:italic;letter-spacing:0.08em;line-height:1.7;margin:clamp(0.6rem,1.5vw,1rem) 0 0 0;opacity:0;max-height:0;overflow:hidden;transform:translateY(-0.5rem);transition:opacity 0.5s cubic-bezier(0.16,1,0.3,1),transform 0.5s cubic-bezier(0.16,1,0.3,1),max-height 0.5s cubic-bezier(0.16,1,0.3,1)}.kanal-phone-hint.is-visible{opacity:1;max-height:3rem;transform:translateY(0)}.booking-form{max-width:100%;padding:0}.booking-form .form-group{margin-bottom:clamp(1.5rem,4vw,2rem);display:flex;flex-direction:column}.booking-form .form-group label{font-family:var(--font-accent);font-size:clamp(0.55rem,1.4vw,0.65rem);font-weight:500;letter-spacing:0.12em;color:var(--text-dimmed);margin-bottom:clamp(0.4rem,1vw,0.6rem)}.booking-form .form-group label .optional{font-size:clamp(0.55rem,1.4vw,0.65rem);font-weight:500;color:var(--text-dimmed);opacity:0.7;letter-spacing:0.12em;text-transform:uppercase}.booking-form .form-group input{width:100%;padding:clamp(0.7rem,2vw,0.8rem) clamp(0.8rem,2vw,1rem);border:none;background:white;font-family:var(--font-accent);font-size:clamp(0.88rem,2.2vw,1rem);color:var(--text-secondary);transition:box-shadow 0.3s ease,border-color 0.3s ease;border-radius:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.booking-form .form-group input::placeholder{color:var(--text-dimmed);font-weight:300}.booking-form .form-group input:focus{outline:none;box-shadow:0 0 0 1px rgba(196,161,105,0.3)}.booking-form .checkout-form-row{display:flex;flex-direction:column;gap:0}@media (min-width:30rem){.booking-form .checkout-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}}.radio-group{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:clamp(2rem,5vw,2.5rem)}.booking-form .radio-group{flex-direction:row}.radio-label{display:flex;align-items:center;gap:0.5rem;font-size:clamp(0.75rem,1.8vw,0.85rem);color:var(--dark-grey);cursor:pointer;font-weight:300;letter-spacing:0.08em}.radio-custom{width:1rem;height:1rem;border:1px solid rgba(196,161,105,0.35);display:inline-block;position:relative;border-radius:50%;transition:border-color 0.3s ease;flex-shrink:0}.radio-label input{display:none}.radio-label input:checked+.radio-custom{border-color:var(--gold)}.radio-label input:checked+.radio-custom::after{content:'';position:absolute;inset:0.1875rem;background-color:var(--gold);border-radius:50%}.booking-form .phone-input-group{display:flex;align-items:center;background:var(--white);height:clamp(2.8rem,8vw,3.4rem);transition:box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),border-color 0.4s cubic-bezier(0.16,1,0.3,1);overflow:hidden;position:relative;border:1px solid rgba(0,0,0,0.08);cursor:text}.booking-form .phone-input-group:focus-within{box-shadow:0 0 20px rgba(196,161,105,0.2);border-color:rgba(196,161,105,0.4)}.booking-form .phone-input-group .phone-box{width:auto;background:transparent;border:none;height:100%;font-family:var(--font-accent);font-size:clamp(0.85rem,2.2vw,0.95rem);color:var(--text-secondary);padding:0 clamp(0.5rem,1.5vw,1rem);letter-spacing:0.1em;transition:color 0.3s ease,background-color 0.3s ease;box-shadow:none;-webkit-tap-highlight-color:transparent}.booking-form .phone-input-group .phone-box--country{width:clamp(3.5rem,12vw,5.3rem);color:var(--text-secondary);font-weight:400;text-align:center;position:relative}.booking-form .phone-input-group .phone-box--area{width:clamp(3rem,10vw,5.6rem);text-align:center;font-weight:400;position:relative}.booking-form .phone-input-group .phone-box--number{flex:1;width:100%;text-align:left;padding-left:clamp(0.8rem,2vw,1.5rem);font-weight:400}.booking-form .phone-input-group .phone-box:focus{outline:none;color:var(--black);background:transparent}.booking-form .phone-box::placeholder{color:var(--text-dimmed);font-weight:200;letter-spacing:0.2em}.booking-form .phone-input-group .phone-box--country::after,.booking-form .phone-input-group .phone-box--area::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:rgba(0,0,0,0.12);z-index:2}.booking-form .form-group input.is-valid,.booking-form .phone-input-group.is-valid{border-left:3px solid var(--gold-light)}.booking-form .form-group input.is-invalid,.booking-form .phone-input-group.is-invalid{border-left:3px solid var(--error)}.booking-form .error-hint{font-family:var(--font-accent);font-size:clamp(0.6rem,1.5vw,0.68rem);color:var(--error);letter-spacing:0.05em;margin-top:0.4rem;opacity:0;transform:translateY(-5px);transition:opacity 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.4s cubic-bezier(0.16,1,0.3,1),height 0.4s cubic-bezier(0.16,1,0.3,1);pointer-events:none;height:0;overflow:hidden}.booking-form .error-hint.is-visible{opacity:1;transform:translateY(0);height:auto;margin-bottom:0.5rem}.booking-form input:-webkit-autofill,.booking-form input:-webkit-autofill:hover,.booking-form input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px white inset;transition:background-color 5000s ease-in-out 0s}.btn-submit-booking{display:block;width:100%;margin:clamp(1.5rem,4vw,2.5rem) auto 0;background:var(--gold);border:none;color:#fff;height:clamp(3rem,8vw,3.8rem);font-family:var(--font-accent);font-size:clamp(0.7rem,1.8vw,0.8rem);letter-spacing:0.25em;text-transform:uppercase;font-weight:400;border-radius:2rem;cursor:pointer;transition:background-color 0.4s cubic-bezier(0.16,1,0.3,1),color 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),letter-spacing 0.4s cubic-bezier(0.16,1,0.3,1);box-shadow:0 8px 25px rgba(196,161,105,0.25);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;isolation:isolate}@media (hover:hover) and (pointer:fine){.btn-submit-booking:hover{background:var(--gold-dark);box-shadow:0 12px 30px rgba(196,161,105,0.35);letter-spacing:0.3em}}.beratung-page .shimmer-sweep{position:relative;overflow:hidden;isolation:isolate}.beratung-page .shimmer-sweep::after{content:"";position:absolute;top:0;left:-150%;width:200%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0.15) 45%,rgba(255,255,255,0.3) 50%,rgba(255,255,255,0.15) 55%,rgba(255,255,255,0) 70%,rgba(255,255,255,0) 100%);transform:skewX(-25deg) translate3d(0,0,0);animation:beratung-shimmer 8s cubic-bezier(0.4,0,0.2,1) infinite;z-index:1;pointer-events:none}@keyframes beratung-shimmer{0%{transform:translateX(-100%) skewX(-25deg) translate3d(0,0,0);opacity:0}15%{opacity:1}45%{opacity:1}60%{transform:translateX(150%) skewX(-25deg) translate3d(0,0,0);opacity:0}100%{transform:translateX(150%) skewX(-25deg) translate3d(0,0,0);opacity:0}}.summary-box{border-radius:0;overflow:hidden;border:none}.summary-box-header{background:linear-gradient(135deg,#c4a169,#a6854e);padding:clamp(1rem,2.5vw,1.4rem) var(--beratung-side-pad);text-align:center}.summary-box-title{font-size:clamp(0.6rem,1.5vw,0.72rem);letter-spacing:0.35em;text-transform:uppercase;font-weight:400;color:#fff;margin:0}.summary-box-body{padding:clamp(1rem,2.5vw,1.5rem) var(--beratung-side-pad);background:#fff}@media (min-width:42rem){.booking-zone--summary{padding:0;background:transparent}.summary-box{border-radius:0.5rem;box-shadow:0 8px 30px rgba(0,0,0,0.06)}}.summary-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1rem,3vw,2rem);padding:clamp(0.5rem,1.2vw,0.7rem) 0;border-bottom:1px solid rgba(196,161,105,0.08)}.summary-row:last-child{border-bottom:none;padding-bottom:0}.summary-label{font-size:clamp(0.5rem,1.3vw,0.58rem);letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);font-weight:500;text-align:right}.summary-value{font-size:clamp(0.78rem,2.2vw,0.88rem);color:var(--dark-grey);text-align:left;font-weight:300;letter-spacing:0.04em}@media (max-width:26rem){.summary-row{gap:clamp(0.5rem,2vw,1rem)}}.calendar-day.is-booked{background:#EDEAE6;border-color:rgba(196,161,105,0.12);opacity:0.7;cursor:pointer;position:relative}.calendar-day.is-booked .cal-label--day,.calendar-day.is-booked .cal-num{color:rgba(120,110,95,0.6)}.calendar-day.is-booked .cal-label--month{color:rgba(196,161,105,0.4)}.calendar-day.is-booked.has-alternative{opacity:0.8}.calendar-day.is-booked.has-alternative::after{content:'';position:absolute;top:0.4rem;right:0.4rem;width:0.35rem;height:0.35rem;background:rgba(196,161,105,0.85);border-radius:50%;animation:dot-pulse 2.5s ease-in-out infinite}@keyframes dot-pulse{0%,100%{opacity:0.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.time-slot.is-booked{opacity:0.3;text-decoration:line-through;cursor:default;pointer-events:none}.booking-confirmation{text-align:center;padding:clamp(2rem,5vw,3rem) var(--beratung-side-pad);opacity:0;max-height:0;overflow:hidden;transform:translateY(1rem);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),max-height 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1)}.booking-confirmation.is-visible{opacity:1;max-height:30rem;transform:translateY(0)}.confirmation-icon{margin:0 auto clamp(1rem,3vw,1.5rem)}.confirmation-icon svg{width:clamp(2.5rem,7vw,3.2rem);height:clamp(2.5rem,7vw,3.2rem)}.confirmation-greeting{font-family:var(--font-accent);font-size:clamp(1rem,2.5vw,1.2rem);font-weight:300;letter-spacing:0.08em;color:var(--dark-grey);margin:0 0 0.8rem 0}.confirmation-message{font-size:clamp(0.78rem,2vw,0.88rem);color:var(--text-light);font-weight:300;letter-spacing:0.06em;line-height:1.7;margin:0 0 1.2rem 0}.confirmation-email-note{font-size:clamp(0.72rem,1.8vw,0.82rem);color:var(--text-light);font-weight:300;letter-spacing:0.06em;margin:0 0 0.3rem 0}.confirmation-email{font-size:clamp(0.82rem,2vw,0.92rem);color:var(--gold);font-weight:400;letter-spacing:0.04em;margin:0 0 1.5rem 0}.confirmation-divider{width:4rem;height:1px;background:linear-gradient(90deg,transparent,rgba(196,161,105,0.4),transparent);margin:0 auto clamp(1rem,2.5vw,1.5rem)}.confirmation-signature{font-size:clamp(0.65rem,1.6vw,0.75rem);letter-spacing:0.2em;text-transform:uppercase;color:var(--text-dimmed);font-weight:400;margin:0}.booking-zone.is-hidden{max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-color:transparent;pointer-events:none;transform:translateY(1.5rem);transition:max-height 0.85s cubic-bezier(0.16,1,0.3,1),opacity 0.7s cubic-bezier(0.16,1,0.3,1) 0.05s,padding 0.75s cubic-bezier(0.16,1,0.3,1),margin 0.75s cubic-bezier(0.16,1,0.3,1),border-color 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1)}.booking-zone:not(.is-hidden){max-height:250rem;opacity:1;overflow:visible;pointer-events:auto;transform:none;transition:max-height 1s cubic-bezier(0.16,1,0.3,1),opacity 0.8s cubic-bezier(0.16,1,0.3,1) 0.1s,padding 0.75s cubic-bezier(0.16,1,0.3,1) 0.05s,margin 0.75s cubic-bezier(0.16,1,0.3,1) 0.05s,border-color 0.6s cubic-bezier(0.16,1,0.3,1) 0.15s,transform 0.85s cubic-bezier(0.16,1,0.3,1),background-color 0.5s cubic-bezier(0.16,1,0.3,1)}.booking-zone.is-locked .calendar-widget,.booking-zone.is-locked .time-group,.booking-zone.is-locked .time-slots,.booking-zone.is-locked .options-grid,.booking-zone.is-locked .kanal-options,.booking-zone.is-locked .kanal-phone-hint,.booking-zone.is-locked .booking-form,.booking-zone.is-locked .radio-group,.booking-zone-uhrzeit-inner.is-locked .time-group,.booking-zone-uhrzeit-inner.is-locked .time-slots,.booking-zone-kanal-inner.is-locked .options-grid,.booking-zone-kanal-inner.is-locked .kanal-options,.booking-zone-kanal-inner.is-locked .kanal-phone-hint{opacity:0.18;pointer-events:none;filter:blur(1.5px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),filter 0.6s cubic-bezier(0.16,1,0.3,1)}.booking-zone.is-locked .section-title,.booking-zone.is-locked .section-subtitle,.booking-zone-uhrzeit-inner.is-locked .section-title,.booking-zone-uhrzeit-inner.is-locked .section-subtitle,.booking-zone-kanal-inner.is-locked .section-title,.booking-zone-kanal-inner.is-locked .section-subtitle{opacity:0.5;transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1)}.booking-zone:not(.is-locked) .calendar-widget,.booking-zone:not(.is-locked) .time-group,.booking-zone:not(.is-locked) .time-slots,.booking-zone:not(.is-locked) .options-grid,.booking-zone:not(.is-locked) .kanal-options,.booking-zone:not(.is-locked) .booking-form,.booking-zone:not(.is-locked) .radio-group,.booking-zone-uhrzeit-inner:not(.is-locked) .time-group,.booking-zone-uhrzeit-inner:not(.is-locked) .time-slots,.booking-zone-kanal-inner:not(.is-locked) .options-grid,.booking-zone-kanal-inner:not(.is-locked) .kanal-options,.booking-zone-kanal-inner:not(.is-locked) .kanal-phone-hint{opacity:1;pointer-events:auto;filter:blur(0px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),filter 0.6s cubic-bezier(0.16,1,0.3,1)}.booking-zone:not(.is-locked) .section-title,.booking-zone:not(.is-locked) .section-subtitle,.booking-zone-uhrzeit-inner:not(.is-locked) .section-title,.booking-zone-uhrzeit-inner:not(.is-locked) .section-subtitle,.booking-zone-kanal-inner:not(.is-locked) .section-title,.booking-zone-kanal-inner:not(.is-locked) .section-subtitle{opacity:1;transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1)}.zone-lock-hint{text-align:center;font-size:clamp(0.85rem,2.2vw,1rem);color:var(--gold);font-style:italic;font-weight:300;letter-spacing:0.08em;line-height:1.7;margin:clamp(0.5rem,1.2vw,0.8rem) 0;padding:0;opacity:1;max-height:3rem;overflow:hidden;transition:opacity 0.5s cubic-bezier(0.16,1,0.3,1),max-height 0.5s cubic-bezier(0.16,1,0.3,1),margin 0.5s cubic-bezier(0.16,1,0.3,1)}.booking-zone:not(.is-locked) .zone-lock-hint,.booking-zone-uhrzeit-inner:not(.is-locked) .zone-lock-hint,.booking-zone-kanal-inner:not(.is-locked) .zone-lock-hint{opacity:0;max-height:0;margin:0;pointer-events:none}.booking-flow.is-frozen .booking-form input,.booking-flow.is-frozen .booking-form .phone-input-group{opacity:0.5;pointer-events:none}.booking-flow.is-frozen .radio-group{opacity:0.5;pointer-events:none}.booking-flow.is-frozen .booking-zone,.booking-flow.is-frozen .calendar-widget,.booking-flow.is-frozen .time-group,.booking-flow.is-frozen .options-grid,.booking-flow.is-frozen .kanal-options{opacity:0.5;pointer-events:none}.booking-flow.is-frozen .beraterinnen-grid,.booking-flow.is-frozen .btn-beraterin-change{opacity:0.5;pointer-events:none}.booking-flow.is-frozen .btn-submit-booking{pointer-events:none;opacity:0.5}.beratung-value-icons .value-icon-number{font-family:var(--font-accent);font-size:clamp(1.6rem,5vw,2.2rem);font-weight:300;letter-spacing:0.1em;color:var(--gold)}@media (max-width:42rem){.booking-zone{padding-block:clamp(2.5rem,6vw,3.2rem)}.beraterinnen-grid{gap:clamp(1rem,3vw,1.5rem);padding-block:clamp(0.5rem,1.5vw,0.8rem)}.beraterin-card{padding:clamp(1rem,3vw,1.5rem);max-height:50rem;overflow:hidden;transition:border-color 0.4s cubic-bezier(0.16,1,0.3,1),box-shadow 0.4s cubic-bezier(0.16,1,0.3,1),transform 0.5s cubic-bezier(0.16,1,0.3,1),opacity 0.45s cubic-bezier(0.16,1,0.3,1),visibility 0s linear 0.5s,max-height 0.55s cubic-bezier(0.4,0,0.2,1) 0.05s,padding 0.5s cubic-bezier(0.4,0,0.2,1) 0.05s,margin 0.5s cubic-bezier(0.4,0,0.2,1) 0.05s,border-width 0s linear 0.45s}.beraterin-photo{width:clamp(10rem,55vw,14rem);height:clamp(11rem,60vw,15rem)}.btn-beraterin-change{margin:clamp(0.8rem,2vw,1.2rem) auto;padding:clamp(0.6rem,1.5vw,0.65rem) clamp(1.5rem,4vw,2rem);min-height:2.6rem}.calendar-grid{gap:clamp(0.2rem,0.8vw,0.3rem)}.calendar-day{min-height:clamp(3rem,9vw,3.5rem);-webkit-tap-highlight-color:transparent}.summary-box-header{padding-block:clamp(0.8rem,2.5vw,1.2rem)}.summary-box-body{padding-block:clamp(0.8rem,2.5vw,1.2rem)}.radio-group{gap:clamp(1rem,3vw,1.5rem)}.radio-label{min-height:2.4rem;display:flex;align-items:center}.btn-submit-booking{min-height:3rem}.booking-confirmation{padding-block:clamp(1.5rem,4vw,2rem)}}.avail-modal-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(30,28,25,0.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity 0.4s cubic-bezier(0.16,1,0.3,1),visibility 0.4s;padding:clamp(1rem,4vw,2rem)}.avail-modal-backdrop.is-visible{opacity:1;visibility:visible}.avail-modal{position:relative;max-width:24rem;width:100%;background:rgba(245,241,236,0.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(196,161,105,0.15);border-radius:1rem;padding:clamp(1.8rem,4vw,2.5rem) clamp(1.5rem,4vw,2rem);text-align:center;box-shadow:0 24px 64px rgba(0,0,0,0.12),0 8px 24px rgba(0,0,0,0.06);transform:scale(0.92) translateY(0.5rem);transition:transform 0.45s cubic-bezier(0.16,1,0.3,1)}.avail-modal-backdrop.is-visible .avail-modal{transform:scale(1) translateY(0)}.avail-modal__close{position:absolute;top:0.8rem;right:0.8rem;width:1.8rem;height:1.8rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);opacity:0.5;transition:opacity 0.25s ease,color 0.25s ease;padding:0}.avail-modal__close:hover{opacity:1;color:var(--gold)}.avail-modal__close svg{width:1rem;height:1rem}.avail-modal__date{font-family:var(--font-accent);font-size:var(--fs-label);font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin:0 0 0.3rem}.avail-modal__context{font-family:var(--font-primary);font-size:var(--fs-body-sm);font-weight:300;color:var(--text-secondary);margin:0 0 1rem;line-height:1.5}.avail-modal__divider{width:2.5rem;height:1px;background:var(--gold);opacity:0.3;margin:0 auto 1rem}.avail-modal__text{font-family:var(--font-primary);font-size:var(--fs-body);font-weight:300;color:var(--text-primary);margin:0 0 1.5rem;line-height:1.6}.avail-modal__text strong{font-weight:500;color:var(--gold-dark)}.avail-modal__btn{display:inline-block;font-family:var(--font-accent);font-size:var(--fs-label);font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--white);background:var(--gold);border:1px solid var(--gold);border-radius:0.35rem;padding:0.65rem 1.8rem;cursor:pointer;transition:background 0.3s ease,color 0.3s ease,transform 0.2s ease}.avail-modal__btn:hover{background:var(--gold-dark);border-color:var(--gold-dark);transform:translateY(-1px)}.avail-modal__btn:active{transform:translateY(0)}