:root{--ksb-primary:#60061E;--ksb-green:#2e7d32;--ksb-text:#1f2937;--ksb-muted:#6b7280;--ksb-border:#e5e7eb;--ksb-bg:#f7f7f5;--ksb-radius:12px}.ksb-modal-open{overflow:hidden}.ksb-open-booking,.ksb-card-book,.ksb-primary{appearance:none;border:0;background:var(--ksb-primary);color:#fff;padding:13px 18px;border-radius:7px;font-weight:700;cursor:pointer;transition:.18s ease}.ksb-open-booking:hover,.ksb-card-book:hover,.ksb-primary:hover{filter:brightness(.92);transform:translateY(-1px)}.ksb-inline-grid,.ksb-popup-grid{display:grid;grid-template-columns:repeat(var(--ksb-cols,3),minmax(0,1fr));gap:24px}.ksb-popup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ksb-course-card{background:#fff;border:1px solid var(--ksb-border);border-radius:var(--ksb-radius);overflow:hidden;display:flex;flex-direction:column;min-width:0}.ksb-card-image{border:0;padding:0;background:#eee;display:block;width:100%;aspect-ratio:auto;cursor:pointer;overflow:hidden}.ksb-popup-grid .ksb-card-image{height:165px;aspect-ratio:auto}.ksb-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.ksb-card-image:hover img{transform:scale(1.025)}.ksb-card-body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}.ksb-card-title,.ksb-result-title{background:none;border:0;padding:0;text-align:left;font-size:18px;font-weight:700;color:var(--ksb-text);cursor:pointer}.ksb-card-body p{margin:0;color:var(--ksb-muted);line-height:1.5;min-height:48px}.ksb-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:6px}.ksb-card-footer span{display:flex;flex-direction:column}.ksb-card-footer small{color:var(--ksb-muted)}.ksb-card-footer strong{font-size:19px}.ksb-card-book{padding:11px 14px}.ksb-modal{position:fixed;inset:0;z-index:999999;display:none}.ksb-modal.is-open{display:block}.ksb-modal-backdrop{position:absolute;inset:0;background:rgba(20,24,28,.68);backdrop-filter:blur(2px)}.ksb-modal-panel{position:absolute;width:min(1220px,calc(100vw - 40px));height:min(94vh,920px);left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px rgba(0,0,0,.25)}.ksb-modal-header{height:64px;min-height:64px;border-bottom:1px solid var(--ksb-border);display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#fff}.ksb-modal-brand{display:flex;align-items:center;min-width:100px}.ksb-modal-brand img{max-height:34px;max-width:180px;object-fit:contain}.ksb-modal-brand strong{font-size:17px}.ksb-modal-actions{display:flex;align-items:center;gap:10px}.ksb-date-search-btn,.ksb-close,.ksb-back,.ksb-link,.ksb-secondary{border:0;background:transparent;cursor:pointer}.ksb-date-search-btn{padding:9px 12px;border:1px solid var(--ksb-border);border-radius:7px;font-weight:600;color:var(--ksb-text)}.ksb-close{font-size:28px;line-height:1;width:40px;height:40px;border-radius:50%}.ksb-close:hover{background:#f3f4f6}.ksb-modal-body{overflow:auto;min-height:0;flex:1;background:#fff}.ksb-view,.ksb-course-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{max-width:1240px;margin:0 auto;padding:30px}.ksb-view-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.ksb-view-title h2,.ksb-course-main h1,.ksb-book-view h2{margin:0 0 5px;color:var(--ksb-text)}.ksb-view-title p{margin:0;color:var(--ksb-muted)}.ksb-back{font-size:14px;font-weight:700;margin-bottom:16px;color:var(--ksb-primary);padding:0}.ksb-loading,.ksb-empty,.ksb-error{padding:80px 30px;text-align:center;color:var(--ksb-muted)}.ksb-loading span{display:inline-block;width:18px;height:18px;border:2px solid #ddd;border-top-color:var(--ksb-primary);border-radius:50%;animation:ksb-spin .7s linear infinite;margin-right:8px;vertical-align:-4px}@keyframes ksb-spin{to{transform:rotate(360deg)}}.ksb-date-layout{display:grid;grid-template-columns:minmax(300px,42%) 1fr;gap:28px}.ksb-mini-calendar{border:1px solid var(--ksb-border);border-radius:12px;padding:16px;background:#fff}.ksb-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:12px}.ksb-calendar-head>button,.ksb-big-cal-head button{height:36px;border:1px solid var(--ksb-border);background:#fff;border-radius:6px;cursor:pointer;font-size:20px}.ksb-cal-selects{display:flex;justify-content:center;gap:6px}.ksb-cal-selects select{border:0;background:transparent;font-weight:700;color:var(--ksb-text);padding:6px}.ksb-weekdays,.ksb-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px}.ksb-weekdays{font-size:12px;color:var(--ksb-muted);margin-bottom:5px}.ksb-day{border:0;background:transparent;aspect-ratio:1;border-radius:50%;position:relative;color:#c2c5ca;cursor:default}.ksb-day.is-available{color:var(--ksb-text);cursor:pointer;font-weight:700}.ksb-day.is-available:hover,.ksb-day.is-selected{background:var(--ksb-green);color:#fff}.ksb-day i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--ksb-green);left:50%;bottom:3px;transform:translateX(-50%)}.ksb-day.is-selected i,.ksb-day:hover i{background:#fff}.ksb-date-results h3{margin-top:0}.ksb-date-course{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--ksb-border)}.ksb-date-course img{width:145px;height:110px;object-fit:cover;border-radius:9px}.ksb-date-course p{margin:5px 0;color:var(--ksb-muted)}.ksb-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.ksb-time-button,.ksb-session-time{border:1px solid var(--ksb-primary);background:#fff;color:var(--ksb-primary);padding:10px 12px;border-radius:7px;font-weight:700;cursor:pointer}.ksb-time-button:hover,.ksb-session-time:hover{background:var(--ksb-primary);color:#fff}.ksb-details-link,.ksb-link{color:var(--ksb-primary);font-weight:700;padding:5px 0}.ksb-course-columns,.ksb-book-columns,.ksb-cart-columns{display:grid;grid-template-columns:minmax(0,60%) minmax(320px,40%);gap:34px}.ksb-course-main{min-width:0}.ksb-course-main h1{font-size:32px}.ksb-course-subtitle{font-size:16px;color:var(--ksb-muted);margin-top:5px}.ksb-gallery-main{border-radius:12px;overflow:hidden;background:#eee;aspect-ratio:16/10}.ksb-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.ksb-gallery-thumbs{display:flex;gap:9px;overflow:auto;margin-top:10px;padding-bottom:2px}.ksb-gallery-thumbs button{width:90px;height:62px;border:2px solid transparent;padding:0;border-radius:8px;overflow:hidden;background:#eee;flex:none;cursor:pointer}.ksb-gallery-thumbs button.is-active{border-color:var(--ksb-primary)}.ksb-gallery-thumbs img{width:100%;height:100%;object-fit:cover}.ksb-price-preview{display:flex;gap:12px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--ksb-border)}.ksb-price-badge{background:#eaf5ec;color:#23662a;border-radius:7px;padding:5px 8px;font-weight:800}.ksb-price-preview div{display:flex;flex-direction:column}.ksb-price-preview small{color:var(--ksb-muted);margin-top:3px}.ksb-accordion{border-bottom:1px solid var(--ksb-border)}.ksb-accordion>button{width:100%;border:0;background:#fff;padding:19px 0;display:flex;justify-content:space-between;font-size:21px;font-weight:700;cursor:pointer}.ksb-accordion>div{display:none;padding:0 0 20px}.ksb-accordion.is-open>div{display:block}.ksb-accordion.is-open>button b{transform:rotate(180deg)}.ksb-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ksb-overview-grid>div{display:flex;gap:11px}.ksb-overview-grid i{width:38px;height:38px;border-radius:8px;background:#f3f4f6;display:grid;place-items:center;font-style:normal}.ksb-overview-grid span{display:flex;flex-direction:column}.ksb-overview-grid small{color:var(--ksb-muted);margin-top:3px}.ksb-richtext{line-height:1.65;color:var(--ksb-text)}.ksb-richtext ul{padding-left:0;list-style:none}.ksb-richtext a{color:var(--ksb-primary)}.ksb-chef{display:flex;gap:14px;align-items:center;margin:20px 0;padding:15px;background:#f7f7f7;border-radius:10px}.ksb-chef img{width:74px;height:74px;border-radius:50%;object-fit:cover}.ksb-course-sidebar{min-width:0}.ksb-sticky-card,.ksb-order-summary{position:sticky;top:0;border:1px solid var(--ksb-border);border-radius:12px;padding:16px;background:#fff}.ksb-course-times{border-top:1px solid var(--ksb-border);margin-top:15px;padding-top:15px}.ksb-course-times p{font-size:13px;color:var(--ksb-green);font-weight:700}.ksb-course-times h3{font-size:16px}.ksb-session-time{width:100%;display:grid;grid-template-columns:70px 1fr 20px;align-items:center;text-align:left;margin-top:8px}.ksb-session-time small{text-align:left;font-weight:500}.ksb-book-header{display:flex;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--ksb-border);margin-bottom:25px}.ksb-book-header img{width:125px;height:90px;object-fit:cover;border-radius:9px}.ksb-book-header h2,.ksb-book-header p{margin:0 0 5px}.ksb-book-columns{grid-template-columns:minmax(0,65%) minmax(300px,35%)}.ksb-participant-card{border:1px solid var(--ksb-border);border-radius:10px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ksb-participant-card>div:first-child{display:flex;flex-direction:column}.ksb-participant-card small{color:var(--ksb-muted);margin-top:4px}.ksb-qty{display:flex;align-items:center;border:1px solid var(--ksb-border);border-radius:8px;overflow:hidden}.ksb-qty button{width:38px;height:38px;border:0;background:#f7f7f7;cursor:pointer;font-size:20px}.ksb-qty input{width:48px;border:0;text-align:center;padding:0;height:38px;-moz-appearance:textfield}.ksb-book-section{margin-top:28px;border-top:1px solid var(--ksb-border);padding-top:20px}.ksb-book-section label{display:block;font-weight:600;margin:15px 0}.ksb-book-section textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--ksb-border);border-radius:8px;padding:10px;font:inherit}.ksb-check{display:flex!important;gap:8px;align-items:flex-start}.ksb-check input{margin-top:4px}.ksb-dsgvo{font-size:13px;font-weight:500!important;color:var(--ksb-muted)}.ksb-order-summary{display:flex;flex-direction:column;gap:13px}.ksb-order-summary>div{display:flex;justify-content:space-between;gap:14px}.ksb-order-summary hr{width:100%;border:0;border-top:1px solid var(--ksb-border)}.ksb-order-summary .ksb-total{font-size:20px}.ksb-order-summary small{color:var(--ksb-muted);line-height:1.45}.ksb-primary{width:100%;margin-top:5px}.ksb-inline-error{color:#b42318;font-size:13px;min-height:18px}.ksb-cart-columns{grid-template-columns:minmax(0,68%) minmax(300px,32%)}.ksb-cart-item{display:grid;grid-template-columns:120px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--ksb-border);align-items:start}.ksb-cart-item img{width:120px;height:90px;object-fit:cover;border-radius:8px}.ksb-cart-info h3{margin:0 0 6px}.ksb-cart-info p{margin:5px 0;color:var(--ksb-muted)}.ksb-link.danger{color:#b42318;margin-left:12px}.ksb-secondary{display:inline-block;border:1px solid var(--ksb-primary);color:var(--ksb-primary);padding:10px 13px;border-radius:7px;text-decoration:none;font-weight:700}.ksb-checkout-view .woocommerce{margin-top:20px}.ksb-native-checkout .woocommerce-checkout{display:grid;grid-template-columns:minmax(0,58%) minmax(320px,42%);gap:28px}.ksb-native-checkout #customer_details,.ksb-native-checkout #order_review_heading,.ksb-native-checkout #order_review{width:auto!important;float:none!important}.ksb-native-checkout #order_review_heading,.ksb-native-checkout #order_review{grid-column:2}.ksb-native-checkout #order_review_heading{margin:0}.ksb-native-checkout #order_review{grid-row:1/span 2;grid-column:2}.ksb-native-checkout input.input-text,.ksb-native-checkout textarea,.ksb-native-checkout select{border:1px solid var(--ksb-border);border-radius:7px;padding:10px}.ksb-native-checkout #place_order{background:var(--ksb-primary)!important;color:#fff!important;border-radius:7px!important;padding:14px 18px!important}.ksb-checkout-fallback{margin-top:18px;padding:14px;border:1px dashed var(--ksb-border);border-radius:8px;color:var(--ksb-muted)}.ksb-big-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.ksb-big-cal-head>div:last-child{display:flex;gap:6px}.ksb-big-cal-head button{width:38px}.ksb-big-calendar{border:1px solid var(--ksb-border);border-radius:10px;overflow:hidden;background:#fff}.ksb-big-week,.ksb-big-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.ksb-big-week{background:#fafafa;border-bottom:1px solid var(--ksb-border)}.ksb-big-week span{padding:10px;text-align:center;font-size:13px;font-weight:700}.ksb-big-day{min-height:120px;padding:8px;border-right:1px solid var(--ksb-border);border-bottom:1px solid var(--ksb-border)}.ksb-big-day>b{font-size:13px}.ksb-calendar-event{margin-top:7px;background:#f7f4f5;border-left:3px solid var(--ksb-primary);border-radius:5px;padding:6px;display:flex;flex-direction:column;align-items:flex-start}.ksb-cal-time,.ksb-cal-title{border:0;background:transparent;padding:1px 0;cursor:pointer;text-align:left}.ksb-cal-time{font-weight:800;color:var(--ksb-primary)}.ksb-cal-title{font-size:12px;color:var(--ksb-text)}.ksb-single-cta{margin:24px 0}
@media(max-width:980px){.ksb-popup-grid,.ksb-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ksb-course-columns,.ksb-book-columns,.ksb-cart-columns{grid-template-columns:1fr}.ksb-course-sidebar{order:-1}.ksb-sticky-card,.ksb-order-summary{position:static}.ksb-native-checkout .woocommerce-checkout{display:block}.ksb-native-checkout #order_review{margin-top:25px}.ksb-date-layout{grid-template-columns:1fr}.ksb-big-day{min-height:95px}}
@media(max-width:640px){.ksb-modal-panel{width:100%;height:100%;left:0;top:0;transform:none;border-radius:0}.ksb-modal-header{padding:0 12px;height:58px;min-height:58px}.ksb-date-search-btn{font-size:12px}.ksb-view,.ksb-course-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{padding:18px 14px}.ksb-popup-grid,.ksb-inline-grid{grid-template-columns:1fr}.ksb-course-main h1{font-size:26px}.ksb-overview-grid{grid-template-columns:1fr}.ksb-date-course{grid-template-columns:100px 1fr}.ksb-date-course img{width:100px;height:86px}.ksb-book-header img{width:92px;height:78px}.ksb-participant-card{align-items:flex-start;flex-direction:column}.ksb-cart-item{grid-template-columns:86px 1fr}.ksb-cart-item>strong{grid-column:2}.ksb-cart-item img{width:86px;height:70px}.ksb-big-calendar{overflow:auto}.ksb-big-week,.ksb-big-days{min-width:700px}.ksb-modal-brand img{max-width:120px}.ksb-card-body p{min-height:0}}
.ksb-checkout-hidden{display:none!important}.ksb-thankyou{border:1px solid var(--ksb-border,#e5e7eb);border-radius:10px;padding:18px;margin:20px 0}.ksb-thankyou-item{padding:10px 0;border-bottom:1px solid var(--ksb-border,#e5e7eb)}
.ksb-popup-grid .ksb-card-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:44px}
/* Premium production skin — FareHarbor-inspired, native to Kochstudio Booking */
:root{--ksb-primary:#60061e;--ksb-green:#16875b;--ksb-text:#20242c;--ksb-muted:#687184;--ksb-border:#e1e6ed;--ksb-bg:#f7f9fc;--ksb-radius:12px}
.ksb-modal-backdrop{background:rgba(23,29,38,.63);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ksb-modal-panel{width:min(1260px,calc(100vw - 48px));height:min(94vh,940px);border:1px solid rgba(152,164,179,.55);border-radius:16px;box-shadow:0 28px 90px rgba(16,24,40,.24)}
.ksb-modal-header{height:72px;min-height:72px;padding:0 26px}.ksb-date-search-btn{min-height:44px;padding:9px 15px;border-color:#bdc7d5;border-radius:9px;color:var(--ksb-primary);background:#fff;font-size:15px}.ksb-date-search-btn:hover{background:#fbf2f5;border-color:var(--ksb-primary)}.ksb-close{color:#222;font-weight:300}.ksb-view,.ksb-course-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{padding:28px 34px 36px}.ksb-popup-grid{gap:20px}.ksb-course-card{border-color:#dfe4eb;box-shadow:0 1px 2px rgba(16,24,40,.02);transition:border-color .18s,box-shadow .18s,transform .18s}.ksb-course-card:hover{border-color:#c8d1dd;box-shadow:0 12px 30px rgba(16,24,40,.08);transform:translateY(-2px)}.ksb-popup-grid .ksb-card-image{height:168px}.ksb-card-body{padding:14px 16px 15px;gap:7px}.ksb-card-title{font-size:17px;line-height:1.3}.ksb-card-body p{font-size:14px;line-height:1.45}.ksb-card-footer{padding-top:8px}.ksb-card-footer strong{font-size:17px}.ksb-card-book,.ksb-open-booking,.ksb-primary{border-radius:8px;box-shadow:0 2px 6px rgba(96,6,30,.18)}
.ksb-mini-calendar{border-radius:14px;padding:17px;box-shadow:0 1px 2px rgba(16,24,40,.02)}.ksb-calendar-head>button,.ksb-big-cal-head button{border:0;background:transparent}.ksb-cal-selects select{font-size:16px}.ksb-day{border-radius:8px}.ksb-day.is-available:hover,.ksb-day.is-selected{background:var(--ksb-green)}
.ksb-date-layout{grid-template-columns:minmax(310px,36%) 1fr;gap:36px}.ksb-date-course{grid-template-columns:180px 1fr;padding:18px 0}.ksb-date-course img{width:180px;height:120px}.ksb-time-button,.ksb-session-time{border-radius:8px}.ksb-course-columns{grid-template-columns:minmax(0,60%) minmax(340px,40%);gap:38px}.ksb-course-main h1{font-size:30px;line-height:1.24}.ksb-gallery-main{border-radius:14px;aspect-ratio:16/10}.ksb-gallery-thumbs button{width:100px;height:70px;border-radius:9px}.ksb-price-preview{margin-top:8px}.ksb-accordion>button{font-size:20px}.ksb-overview-grid i{border:1px solid #e2e7ee;background:#f7f9fc}.ksb-sticky-card,.ksb-order-summary{top:12px;border-radius:14px;padding:18px;box-shadow:0 5px 22px rgba(16,24,40,.05)}.ksb-session-time{min-height:48px}.ksb-book-header{padding:4px 0 22px}.ksb-book-header img{border-radius:10px}.ksb-participant-card{border-radius:12px;background:#fff}.ksb-book-section textarea{border-radius:10px}.ksb-consent-section{padding-top:10px}.ksb-cart-item{padding:20px 0}.ksb-native-checkout #place_order{min-height:50px!important;font-weight:700!important}.ksb-checkout-fallback{background:#f8fafc}.ksb-big-calendar{border-radius:12px}.ksb-calendar-event{background:#fbf2f5;border-left-color:var(--ksb-primary)}
@media(max-width:980px){.ksb-course-sidebar{order:0}.ksb-sticky-card{position:static}.ksb-date-layout{gap:20px}}
@media(max-width:640px){.ksb-modal-panel{border:0}.ksb-modal-header{height:62px;min-height:62px}.ksb-date-search-btn{min-height:38px;font-size:12px;padding:7px 9px}.ksb-view,.ksb-course-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{padding:16px 14px 28px}.ksb-course-main h1{font-size:25px}.ksb-course-columns{gap:20px}.ksb-course-sidebar{order:-1}.ksb-popup-grid .ksb-card-image{height:190px}.ksb-date-course{grid-template-columns:90px 1fr;gap:12px}.ksb-date-course img{width:90px;height:78px}.ksb-gallery-thumbs button{width:82px;height:58px}.ksb-order-summary{box-shadow:none}.ksb-big-calendar{border-radius:9px}}


/* v1.0.2 requested frontend refinements */
@media(min-width:981px){
  .ksb-popup-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ksb-popup-grid .ksb-card-image{height:300px!important;aspect-ratio:auto!important}
}
button.ksb-card-title,.ksb-card-title{
  justify-content:flex-start!important;text-align:left!important;align-items:flex-start!important;
  width:100%!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important;
  border:0!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important;
  color:var(--ksb-text)!important;text-transform:none!important;font-family:inherit!important;
}
button.ksb-card-title:hover,button.ksb-card-title:focus,.ksb-card-title:hover,.ksb-card-title:focus{
  color:var(--ksb-text)!important;border-color:transparent!important;background:transparent!important;box-shadow:none!important;
  transform:none!important;filter:none!important;outline:none!important;
}
.ksb-course-after-cancellation{padding-top:18px}
.ksb-course-after-cancellation .ksb-chef{margin:0 0 14px;padding:18px;border:1px solid #edf0f4;background:#f8f9fb;border-radius:12px}
.ksb-course-after-cancellation .ksb-chef img{width:82px;height:82px}
.ksb-course-after-cancellation .ksb-chef h3{margin:0 0 6px;font-size:18px}
.ksb-course-after-cancellation .ksb-chef p{margin:0;color:var(--ksb-muted)}
.ksb-faq-link{margin:6px 0 0}.ksb-faq-link a{color:var(--ksb-primary);font-weight:700;text-decoration:none}

/* Force a compact premium two-column Classic WooCommerce checkout inside the popup. */
@media(min-width:981px){
  .ksb-native-checkout form.checkout.woocommerce-checkout{
    display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr)!important;
    grid-template-areas:"customer ordertitle" "customer order"!important;
    column-gap:34px!important;row-gap:10px!important;align-items:start!important;width:100%!important;
  }
  .ksb-native-checkout form.checkout.woocommerce-checkout>#customer_details,
  .ksb-native-checkout #customer_details{grid-area:customer!important;grid-column:1!important;grid-row:1/span 3!important;width:100%!important;float:none!important;margin:0!important}
  .ksb-native-checkout form.checkout.woocommerce-checkout>#order_review_heading,
  .ksb-native-checkout #order_review_heading{grid-area:ordertitle!important;grid-column:2!important;grid-row:1!important;width:100%!important;float:none!important;margin:0 0 10px!important}
  .ksb-native-checkout form.checkout.woocommerce-checkout>#order_review,
  .ksb-native-checkout #order_review{grid-area:order!important;grid-column:2!important;grid-row:2!important;width:100%!important;float:none!important;margin:0!important;min-width:0!important}
  .ksb-native-checkout #customer_details .col-1,.ksb-native-checkout #customer_details .col-2{float:none!important;width:100%!important;max-width:none!important}
  .ksb-native-checkout #customer_details .col-2{margin-top:18px!important}
}
.ksb-native-checkout #order_review{box-sizing:border-box!important}
.ksb-native-checkout #order_review table{width:100%!important;table-layout:auto!important}
.ksb-native-checkout #order_review img,.ksb-native-checkout #order_review .product-thumbnail img{
  width:68px!important;max-width:68px!important;height:68px!important;max-height:68px!important;object-fit:cover!important;border-radius:8px!important;
}
.ksb-native-checkout #order_review .product-name{min-width:0!important;overflow-wrap:anywhere!important}
@media(min-width:641px) and (max-width:980px){.ksb-popup-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ksb-popup-grid .ksb-card-image{height:230px!important}}
@media(max-width:640px){.ksb-popup-grid{grid-template-columns:1fr!important}.ksb-popup-grid .ksb-card-image{height:220px!important}.ksb-course-after-cancellation .ksb-chef{align-items:flex-start}.ksb-course-after-cancellation .ksb-chef img{width:68px;height:68px}}


/* v1.0.4 WoodMart/WooCommerce compatibility polish */
.ksb-modal .ksb-btn-soft{background:#fff;color:#344054!important;border-color:#dfe4eb;min-width:177px!important}
.ksb-modal :is(.btn,.button,[type=submit]):hover{box-shadow:none!important;filter:none!important;transform:none!important}
.ksb-modal :is(.ksb-card-title,.ksb-result-title,.ksb-link,.ksb-back,.ksb-secondary,.ksb-date-search-btn,.ksb-close,.ksb-accordion>button):hover{background-color:transparent!important}
.ksb-modal :is(.ksb-primary,.ksb-card-book,.ksb-open-booking):hover{background:var(--ksb-primary)!important;color:#fff!important}
.ksb-native-checkout td.wd-checkout-prod{display:flex!important;gap:20px!important;align-items:flex-start!important}
.ksb-native-checkout ul.wc_payment_methods.payment_methods.methods{list-style:none!important;padding-left:0!important;margin-left:0!important}
.ksb-native-checkout ul.wc_payment_methods.payment_methods.methods>li{list-style:none!important}
.ksb-native-checkout .wd-checkout-prod .product-thumbnail{flex:0 0 auto}


/* v1.0.6 checkout radio alignment + popup confirmation */
.ksb-native-checkout #payment ul.payment_methods,
.ksb-native-checkout #payment ul.wc_payment_methods{list-style:none!important;margin:0!important;padding:0!important}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method{
  position:relative!important;display:block!important;list-style:none!important;
  padding:12px 12px 12px 38px!important;margin:0!important;border:0!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>input.input-radio,
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>input[type="radio"]{
  display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;
  left:12px!important;top:16px!important;width:16px!important;height:16px!important;margin:0!important;
  -webkit-appearance:radio!important;appearance:radio!important;float:none!important;transform:none!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>label{
  display:block!important;margin:0!important;padding:0!important;line-height:1.5!important;cursor:pointer!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>label:before,
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>label:after{display:none!important;content:none!important}
.ksb-native-checkout #payment .payment_box{margin:8px 0 0!important;padding:0!important}
.ksb-thankyou-view{padding:34px;max-width:1100px;margin:0 auto}
.ksb-thankyou-hero{text-align:center;padding:24px 16px 30px;border-bottom:1px solid var(--ksb-border)}
.ksb-thankyou-check{display:inline-flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:50%;background:#eef8f0;color:#18794e;font-size:30px;font-weight:800;margin-bottom:14px}
.ksb-thankyou-hero h2{font-size:30px;margin:0 0 8px}
.ksb-thankyou-hero p{color:var(--ksb-muted);font-size:16px;margin:0 auto 14px;max-width:640px}
.ksb-thankyou-order{display:inline-flex;gap:7px;align-items:center;background:#f8fafc;border:1px solid var(--ksb-border);border-radius:8px;padding:9px 12px}
.ksb-thankyou-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:28px;padding-top:28px}
.ksb-thankyou-course{border:1px solid var(--ksb-border);border-radius:12px;padding:18px;margin-bottom:14px;background:#fff}
.ksb-thankyou-course h3{margin:0 0 10px;font-size:19px}.ksb-thankyou-course p{margin:6px 0;color:#475467}
.ksb-thankyou-actions{display:flex;justify-content:center;gap:10px;margin-top:26px}
@media(max-width:760px){.ksb-thankyou-view{padding:20px 14px}.ksb-thankyou-grid{grid-template-columns:1fr}.ksb-thankyou-hero h2{font-size:25px}.ksb-thankyou-actions{flex-direction:column}.ksb-thankyou-actions button{width:100%}}

/* v1.0.15 - theme-safe buttons + tablet/mobile popup responsiveness */
/* Keep WoodMart's generic button hover rules from changing Kochstudio utility buttons. */
.ksb-modal :is(.ksb-card-title,.ksb-result-title,.ksb-link,.ksb-back,.ksb-secondary,.ksb-date-search-btn,.ksb-close,.ksb-accordion>button,.ksb-cal-title,.ksb-cal-time):hover,
.ksb-modal :is(.ksb-card-title,.ksb-result-title,.ksb-link,.ksb-back,.ksb-secondary,.ksb-date-search-btn,.ksb-close,.ksb-accordion>button,.ksb-cal-title,.ksb-cal-time):focus{
  box-shadow:none!important;filter:none!important;transform:none!important;
}
/* Deliberately no generic `button` selector here. */
.ksb-modal :is(.btn,.button,[type=submit]):hover{box-shadow:none!important;filter:none!important;transform:none!important}

/* Calendar buttons need a hard reset because many themes style every <button>. */
.ksb-modal .ksb-calendar-head>button,
.ksb-modal .ksb-big-cal-head button{
  appearance:none!important;-webkit-appearance:none!important;
  width:36px!important;min-width:36px!important;max-width:36px!important;
  height:36px!important;min-height:36px!important;max-height:36px!important;
  padding:0!important;margin:0!important;line-height:1!important;
  border:1px solid var(--ksb-border)!important;border-radius:7px!important;
  background:#fff!important;color:var(--ksb-text)!important;box-shadow:none!important;
  text-transform:none!important;font:inherit!important;font-size:20px!important;
}
.ksb-modal .ksb-calendar-head>button:hover,
.ksb-modal .ksb-big-cal-head button:hover{background:#f8fafc!important;color:var(--ksb-primary)!important;border-color:#cbd5e1!important}

.ksb-modal button.ksb-day{
  appearance:none!important;-webkit-appearance:none!important;
  display:grid!important;place-items:center!important;
  width:100%!important;min-width:0!important;max-width:none!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:1/1!important;padding:0!important;margin:0!important;
  line-height:1!important;border:0!important;border-radius:8px!important;
  background:transparent!important;box-shadow:none!important;
  color:#c2c5ca!important;text-transform:none!important;font:inherit!important;
}
.ksb-modal button.ksb-day.is-available{color:var(--ksb-text)!important;font-weight:700!important;cursor:pointer!important}
.ksb-modal button.ksb-day.is-available:hover,
.ksb-modal button.ksb-day.is-selected{background:var(--ksb-green)!important;color:#fff!important}
.ksb-modal button.ksb-day:disabled{opacity:1!important;cursor:default!important}

button.ksb-cal-title,
button.ksb-cal-time{
  min-height:18px!important;max-height:18px!important;height:18px!important;
  line-height:18px!important;padding:0!important;margin:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
  text-transform:none!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;
}
button.ksb-cal-title:hover,button.ksb-cal-title:focus,
button.ksb-cal-time:hover,button.ksb-cal-time:focus{background:transparent!important;box-shadow:none!important}

.ksb-modal .ksb-gallery-thumbs button{
  min-width:90px!important;max-width:90px!important;width:90px!important;
  min-height:62px!important;max-height:62px!important;height:62px!important;
  padding:0!important;margin:0!important;background:#eee!important;box-shadow:none!important;
}
.ksb-modal .ksb-gallery-thumbs button:hover{background:#eee!important;box-shadow:none!important;transform:none!important;filter:none!important}

/* Dedicated booking-card placement: desktop sidebar vs. tablet/mobile inside main content. */
.ksb-course-mobile-booking{display:none}
.ksb-course-desktop-booking{display:block}

@media (min-width:641px) and (max-width:980px){
  .ksb-modal-panel{width:min(94vw,900px)!important;height:min(94dvh,940px)!important}
  .ksb-modal-header{padding:0 18px!important}
  .ksb-modal-brand{min-width:0!important;max-width:230px!important}
  .ksb-modal-brand img{max-width:210px!important;max-height:38px!important}
  .ksb-course-view,.ksb-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{padding:24px!important}
  .ksb-course-columns,.ksb-book-columns,.ksb-cart-columns{grid-template-columns:1fr!important;gap:24px!important}
  .ksb-course-main h1{font-size:30px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
  .ksb-course-subtitle{font-size:16px!important;line-height:1.5!important;overflow-wrap:anywhere!important}
  .ksb-course-sidebar{display:none!important}
  .ksb-course-mobile-booking{display:block!important;margin:20px 0!important}
  .ksb-course-desktop-booking{display:none!important}
  .ksb-course-mobile-booking .ksb-sticky-card{position:static!important;width:100%!important;max-width:none!important}
  .ksb-mini-calendar{max-width:520px!important;margin:0 auto!important}
  .ksb-gallery-main{aspect-ratio:16/9!important}
  .ksb-gallery-thumbs{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .ksb-big-day{min-height:92px!important;padding:6px!important;min-width:0!important}
}

@media (max-width:640px){
  html.ksb-modal-open,html.ksb-modal-open body{overflow:hidden!important;overscroll-behavior:none!important}
  .ksb-modal{inset:0!important}
  .ksb-modal-panel{
    inset:0!important;left:0!important;top:0!important;transform:none!important;
    width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;
    border:0!important;border-radius:0!important;
  }
  .ksb-modal-header{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(118px,160px) 40px!important;
    align-items:center!important;gap:8px!important;height:auto!important;min-height:68px!important;
    padding:9px 10px!important;
  }
  .ksb-modal-brand{min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .ksb-modal-brand img{width:auto!important;max-width:100%!important;max-height:36px!important;object-fit:contain!important}
  .ksb-modal-brand strong{font-size:14px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
  .ksb-modal-actions{display:contents!important}
  .ksb-date-search-btn{
    width:100%!important;min-width:0!important;max-width:160px!important;min-height:42px!important;height:auto!important;
    padding:7px 8px!important;margin:0!important;font-size:12px!important;line-height:1.25!important;
    white-space:normal!important;text-align:center!important;justify-self:center!important;
  }
  .ksb-close{
    width:40px!important;min-width:40px!important;max-width:40px!important;
    height:40px!important;min-height:40px!important;max-height:40px!important;
    padding:0!important;margin:0!important;font-size:30px!important;line-height:38px!important;justify-self:end!important;
    background:transparent!important;box-shadow:none!important;
  }
  .ksb-modal-body{overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .ksb-course-view,.ksb-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{width:100%!important;max-width:100%!important;padding:16px 14px 26px!important;box-sizing:border-box!important}
  .ksb-back{font-size:13px!important;margin:0 0 12px!important}
  .ksb-course-columns,.ksb-book-columns,.ksb-cart-columns{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;width:100%!important}
  .ksb-course-main,.ksb-course-main>*{max-width:100%!important;box-sizing:border-box!important}
  .ksb-course-main h1{font-size:28px!important;line-height:1.15!important;letter-spacing:-.02em!important;margin:0 0 8px!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .ksb-course-subtitle{font-size:15px!important;line-height:1.45!important;margin:0 0 14px!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .ksb-course-sidebar{display:none!important}
  .ksb-course-mobile-booking{display:block!important;width:100%!important;margin:16px 0!important}
  .ksb-course-desktop-booking{display:none!important}
  .ksb-course-mobile-booking .ksb-sticky-card{position:static!important;width:100%!important;max-width:100%!important;padding:12px!important;margin:0!important;box-sizing:border-box!important;overflow:hidden!important;box-shadow:none!important}
  .ksb-mini-calendar{width:100%!important;max-width:360px!important;margin:0 auto!important;padding:10px!important;box-sizing:border-box!important;overflow:visible!important}
  .ksb-calendar-head{grid-template-columns:34px minmax(0,1fr) 34px!important;gap:4px!important;margin-bottom:8px!important}
  .ksb-modal .ksb-calendar-head>button{width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important}
  .ksb-cal-selects{min-width:0!important;gap:2px!important}
  .ksb-cal-selects select{min-width:0!important;max-width:50%!important;padding:4px 2px!important;font-size:13px!important;line-height:1.2!important}
  .ksb-weekdays,.ksb-days{gap:2px!important;width:100%!important;min-width:0!important}
  .ksb-weekdays{font-size:10px!important;margin-bottom:3px!important}
  .ksb-modal button.ksb-day{font-size:12px!important;border-radius:7px!important}
  .ksb-day i{width:4px!important;height:4px!important;bottom:2px!important}
  .ksb-course-times{margin-top:12px!important;padding-top:12px!important}
  .ksb-course-times p{font-size:12px!important;line-height:1.35!important;margin:0 0 8px!important}
  .ksb-course-times h3{font-size:14px!important;line-height:1.35!important;margin:0 0 8px!important}
  .ksb-session-time{grid-template-columns:62px minmax(0,1fr) 18px!important;min-height:44px!important;height:auto!important;padding:8px 10px!important;font-size:13px!important;margin-top:7px!important}
  .ksb-gallery{width:100%!important;min-width:0!important;overflow:hidden!important}
  .ksb-gallery-main{width:100%!important;aspect-ratio:4/3!important;border-radius:10px!important}
  .ksb-gallery-main img{width:100%!important;height:100%!important;object-fit:cover!important}
  .ksb-gallery-thumbs{display:flex!important;width:100%!important;max-width:100%!important;gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px 0 4px!important;margin:0!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important}
  .ksb-modal .ksb-gallery-thumbs button{flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important;height:54px!important;min-height:54px!important;max-height:54px!important;border-radius:7px!important}
  .ksb-price-preview{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;padding:14px 0!important;margin:0!important;align-items:start!important}
  .ksb-price-preview strong{font-size:14px!important;line-height:1.35!important}
  .ksb-price-preview small{font-size:12px!important;line-height:1.35!important}
  .ksb-price-badge{font-size:13px!important;white-space:nowrap!important}
  .ksb-accordion>button{min-height:0!important;height:auto!important;padding:15px 0!important;font-size:17px!important;line-height:1.3!important;background:#fff!important;box-shadow:none!important}
  .ksb-overview-grid{grid-template-columns:1fr!important;gap:12px!important}
  .ksb-chef{display:grid!important;grid-template-columns:60px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
  .ksb-chef img{width:60px!important;height:60px!important}
  .ksb-book-header{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;gap:12px!important;align-items:start!important}
  .ksb-book-header img{width:78px!important;height:68px!important}
  .ksb-book-header h2{font-size:20px!important;line-height:1.2!important}
  .ksb-book-header p,.ksb-book-header .ksb-link{font-size:12px!important;line-height:1.4!important}
  .ksb-participant-card{gap:14px!important;padding:14px!important}
  .ksb-order-summary{width:100%!important;max-width:100%!important;box-sizing:border-box!important;position:static!important}
  .ksb-cart-item{grid-template-columns:72px minmax(0,1fr)!important;gap:12px!important}
  .ksb-cart-item img{width:72px!important;height:62px!important}
  .ksb-cart-item>strong{grid-column:2!important;justify-self:start!important}
  .ksb-date-layout{grid-template-columns:1fr!important;gap:18px!important}
  .ksb-date-course{grid-template-columns:78px minmax(0,1fr)!important;gap:10px!important}
  .ksb-date-course img{width:78px!important;height:70px!important}
  .ksb-result-row{align-items:flex-start!important;flex-wrap:wrap!important}
  .ksb-big-calendar{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .ksb-big-week,.ksb-big-days{min-width:0!important;width:100%!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .ksb-big-week span{padding:6px 1px!important;font-size:10px!important}
  .ksb-big-day{min-width:0!important;min-height:76px!important;padding:3px!important;overflow:hidden!important}
  .ksb-big-day>b{font-size:10px!important}
  .ksb-calendar-event{min-width:0!important;max-width:100%!important;margin-top:3px!important;padding:3px 2px!important;border-left-width:2px!important;overflow:hidden!important}
  .ksb-cal-time,.ksb-cal-title{width:100%!important;min-width:0!important;max-width:100%!important;font-size:9px!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
  .ksb-big-cal-head{gap:8px!important;margin-bottom:10px!important}
  .ksb-big-cal-head strong{font-size:14px!important}
  .ksb-native-checkout .woocommerce-checkout{display:block!important}
  .ksb-native-checkout .form-row{width:100%!important;float:none!important}
  .ksb-native-checkout #order_review{overflow-x:auto!important}
  .ksb-thankyou-view{padding:18px 12px!important}
}

/* v1.0.16: real course links + responsive course carousel */
.ksb-card-image,
.ksb-card-title,
.ksb-card-book{ text-decoration:none!important; }
.ksb-card-title{ display:block; }
.ksb-card-title:hover{ color:var(--ksb-primary); }
.ksb-card-book{ display:inline-flex;align-items:center;justify-content:center;gap:6px; }

.ksb-course-carousel{position:relative;width:100%;min-width:0}
.ksb-carousel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ksb-carousel-nav{display:flex;gap:8px;margin-left:auto}
button.ksb-carousel-arrow{appearance:none;width:42px;height:42px;min-width:42px;min-height:42px;padding:0!important;border:1px solid var(--ksb-border)!important;border-radius:50%!important;background:#fff!important;color:var(--ksb-text)!important;box-shadow:none!important;display:grid;place-items:center;font-size:25px;line-height:1;cursor:pointer;transition:border-color .18s,color .18s,transform .18s}
button.ksb-carousel-arrow:hover{background:#fff!important;color:var(--ksb-primary)!important;border-color:var(--ksb-primary)!important;transform:translateY(-1px)}
.ksb-carousel-track{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 16px;scrollbar-width:none;-ms-overflow-style:none}
.ksb-carousel-track::-webkit-scrollbar{display:none}
.ksb-carousel-track>.ksb-course-card{flex:0 0 calc((100% - (24px * (var(--ksb-carousel-cols,3) - 1))) / var(--ksb-carousel-cols,3));scroll-snap-align:start;scroll-snap-stop:always}

.ksb-carousel-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;min-height:18px}
.ksb-carousel-dots[hidden]{display:none!important}
button.ksb-carousel-dot{appearance:none!important;-webkit-appearance:none!important;width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;max-width:8px!important;max-height:8px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:#d9dce2!important;box-shadow:none!important;cursor:pointer!important;transition:width .18s ease,background-color .18s ease!important}
button.ksb-carousel-dot:hover,button.ksb-carousel-dot:focus{background:var(--ksb-primary)!important;outline:none!important;box-shadow:none!important}
button.ksb-carousel-dot.is-active{width:22px!important;max-width:22px!important;border-radius:999px!important;background:var(--ksb-primary)!important}

@media(max-width:980px){
 .ksb-carousel-track>.ksb-course-card{flex-basis:calc((100% - (24px * (var(--ksb-carousel-tablet,2) - 1))) / var(--ksb-carousel-tablet,2))}
}
@media(max-width:640px){
 .ksb-carousel-head{margin-bottom:8px}
 .ksb-carousel-nav{gap:6px}
 button.ksb-carousel-arrow{width:38px;height:38px;min-width:38px;min-height:38px;font-size:23px}
 .ksb-carousel-track{gap:14px;padding-bottom:12px}
 .ksb-carousel-track>.ksb-course-card{flex-basis:calc((100% - (14px * (var(--ksb-carousel-mobile,1) - 1))) / var(--ksb-carousel-mobile,1))}
}


/* v1.0.18: category-aware course grid + viewport-fit inline calendar */
.ksb-grid-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.ksb-grid-filter button{appearance:none!important;-webkit-appearance:none!important;min-height:38px!important;height:auto!important;padding:8px 14px!important;border:1px solid var(--ksb-border)!important;border-radius:999px!important;background:#fff!important;color:var(--ksb-text)!important;box-shadow:none!important;font:inherit!important;font-size:14px!important;font-weight:700!important;text-transform:none!important;cursor:pointer}
.ksb-grid-filter button:hover,.ksb-grid-filter button:focus{background:#fff!important;color:var(--ksb-primary)!important;border-color:var(--ksb-primary)!important;box-shadow:none!important}
.ksb-grid-filter button.is-active{background:var(--ksb-primary)!important;color:#fff!important;border-color:var(--ksb-primary)!important}
.ksb-inline-grid .ksb-course-card[hidden]{display:none!important}

.ksb-inline-calendar.ksb-calendar-fit{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-cal-head{width:100%;max-width:100%;box-sizing:border-box}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-calendar{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;box-sizing:border-box}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-week,
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-day,
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-days>.is-empty{min-width:0!important;box-sizing:border-box}

@media(min-width:981px){
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-calendar{height:clamp(500px,calc(100dvh - 190px),760px)!important;display:flex!important;flex-direction:column!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-week{flex:0 0 auto!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{flex:1 1 auto!important;min-height:0!important;grid-auto-rows:1fr!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{min-height:0!important;padding:6px!important;overflow:hidden!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{margin-top:4px!important;padding:4px!important;min-width:0!important;overflow:hidden!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time,
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{width:100%!important;max-width:100%!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
}

@media(min-width:641px) and (max-width:980px){
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-week span{padding:7px 2px!important;font-size:11px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{min-height:88px!important;padding:4px!important;overflow:hidden!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{margin-top:3px!important;padding:3px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time{font-size:10px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{font-size:10px!important}
}

@media(max-width:640px){
 .ksb-grid-filter{gap:6px;margin-bottom:14px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .ksb-grid-filter::-webkit-scrollbar{display:none}
 .ksb-grid-filter button{flex:0 0 auto!important;min-height:34px!important;padding:6px 11px!important;font-size:12px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-cal-head{align-items:flex-start!important;flex-wrap:wrap!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-selects{display:flex!important;gap:6px!important;min-width:0!important;flex:1 1 auto!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-selects select{min-width:0!important;max-width:100%!important;font-size:12px!important;padding:6px 24px 6px 7px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{min-height:68px!important;padding:2px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-big-week span{padding:5px 0!important;font-size:9px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{padding:2px 1px!important;margin-top:2px!important}
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time,
 .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{font-size:8px!important;line-height:12px!important;height:12px!important;min-height:12px!important;max-height:12px!important}
}


/* v1.0.19: prevent course cards from being cropped inside the full calendar. */
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{
  grid-auto-rows:minmax(96px,auto)!important;
  align-items:stretch!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{
  min-height:96px!important;
  height:auto!important;
  overflow:visible!important;
  display:block!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:42px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time,
.ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

@media(min-width:981px){
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-calendar{
    height:auto!important;
    min-height:0!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{
    flex:none!important;
    grid-auto-rows:minmax(96px,auto)!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{
    min-height:96px!important;
    overflow:visible!important;
  }
}

@media(min-width:641px) and (max-width:980px){
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{
    grid-auto-rows:minmax(88px,auto)!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{
    min-height:88px!important;
    overflow:visible!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{
    min-height:36px!important;
  }
}

@media(max-width:640px){
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{
    grid-auto-rows:minmax(68px,auto)!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{
    min-height:68px!important;
    overflow:visible!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{
    min-height:30px!important;
  }
}

/* v1.0.20: keep the full month inside the viewport and use two event columns when a date has multiple courses. */
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-calendar{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--ksb-weeks,6),minmax(0,1fr))!important;
  grid-auto-rows:unset!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-day,
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-days>.is-empty{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{
  display:flex!important;
  flex-direction:column!important;
  padding:5px!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-day>b{
  flex:0 0 auto;
  line-height:16px;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-day-events{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:4px!important;
  min-width:0!important;
  min-height:0!important;
  margin-top:3px!important;
  align-content:start!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-big-day-events.is-multiple{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:3px 4px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time,
.ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

@media(min-width:981px){
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-calendar{
    height:clamp(500px,calc(100dvh - 165px),760px)!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-week{flex:0 0 auto!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{flex:1 1 auto!important;min-height:0!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{padding:3px 5px!important}
}

@media(min-width:641px) and (max-width:980px){
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-calendar{
    height:clamp(460px,calc(100dvh - 150px),680px)!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-week{flex:0 0 auto!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{flex:1 1 auto!important;min-height:0!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{padding:3px!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day-events{gap:3px!important;margin-top:2px!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{padding:2px 3px!important}
}

@media(max-width:640px){
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-calendar{
    height:clamp(430px,calc(100dvh - 135px),620px)!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-week{flex:0 0 auto!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-days{flex:1 1 auto!important;min-height:0!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day{padding:2px!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day-events,
  .ksb-inline-calendar.ksb-calendar-fit .ksb-big-day-events.is-multiple{grid-template-columns:minmax(0,1fr)!important;gap:2px!important;margin-top:1px!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event{padding:1px 2px!important;border-left-width:2px!important}
  .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time,
  .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{font-size:8px!important;line-height:10px!important;height:10px!important;min-height:10px!important;max-height:10px!important}
}

/* v1.0.21: wrapped course names + responsive multi-chef layout. */
.ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time{
  white-space:nowrap!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  line-height:16px!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  height:auto!important;
  min-height:18px!important;
  max-height:32px!important;
  line-height:14px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.ksb-course-after-cancellation .ksb-chef-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  width:100%;
  margin:0 0 14px;
}
.ksb-course-after-cancellation .ksb-chef-grid.is-multiple{
  grid-template-columns:repeat(1,minmax(0,1fr));
}
.ksb-course-after-cancellation .ksb-chef-grid .ksb-chef{
  margin:0;
  height:100%;
  box-sizing:border-box;
  min-width:0;
}
.ksb-course-after-cancellation .ksb-chef-grid.is-multiple .ksb-chef:last-child:nth-child(odd){
  grid-column:auto;
}
@media(max-width:980px){
  .ksb-course-after-cancellation .ksb-chef-grid.is-multiple{
    grid-template-columns:repeat(1,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-time{
    height:10px!important;
    min-height:10px!important;
    max-height:10px!important;
    line-height:10px!important;
  }
  .ksb-inline-calendar.ksb-calendar-fit .ksb-cal-title{
    height:auto!important;
    min-height:10px!important;
    max-height:20px!important;
    line-height:10px!important;
    -webkit-line-clamp:2!important;
  }
  .ksb-course-after-cancellation .ksb-chef-grid.is-multiple{
    grid-template-columns:minmax(0,1fr);
  }
  .ksb-course-after-cancellation .ksb-chef-grid.is-multiple .ksb-chef:last-child:nth-child(odd){
    grid-column:auto;
  }
}


/* v1.0.28 – auto-sized Kochstudio/Elementor-style vertical booking button. */
.ksb-floating-booking {
    position: fixed !important;
    z-index: 99990 !important;
    right: 0 !important;
    top: 64.2% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: var(--e-global-color-primary, var(--ksb-primary, #60061e)) !important;
    background-image: none !important;
    color: #fff !important;
    font-family: "Arial", Sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    cursor: pointer !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transition: none !important;
}
.ksb-floating-booking:hover,
.ksb-floating-booking:focus,
.ksb-floating-booking:active {
    right: 0 !important;
    top: 64.2% !important;
    transform: translateY(-50%) !important;
    background-color: var(--e-global-color-primary, var(--ksb-primary, #60061e)) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}
.ksb-floating-booking-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
}
.ksb-floating-booking-icon-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}
.ksb-floating-booking-icon {
    width: 24px !important;
    height: 28px !important;
    min-width: 24px !important;
    min-height: 28px !important;
    display: block !important;
    fill: currentColor !important;
    color: #fff !important;
    flex: none !important;
}
.ksb-floating-booking-text {
    display: block !important;
    color: #fff !important;
    font-family: "Arial", Sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
}
@media (max-width: 767px) {
    .ksb-floating-booking {
        top: 62% !important;
        padding: 16px !important;
        border-radius: 0 !important;
    }
    .ksb-floating-booking:hover,
    .ksb-floating-booking:focus,
    .ksb-floating-booking:active { top: 62% !important; }
    .ksb-floating-booking-content { gap: 12px !important; }
    .ksb-floating-booking-icon { width: 21px !important; height: 24px !important; min-width: 21px !important; min-height: 24px !important; }
    .ksb-floating-booking-text { font-size: 16px !important; font-weight: 600 !important; }
}

/* v1.0.28 – requested course-card refinements. */
a.ksb-card-book.ksb-course-link {
    font-size: 14px !important;
}
a.ksb-card-book.ksb-course-link:hover {
    color: #fff !important;
}
.ksb-card-image {
    aspect-ratio: auto !important;
}


/* v1.0.29: Elementor marquee icon list */
.ksb-marquee-icon-list{--ksb-marquee-duration:24s;--ksb-marquee-group-gap:48px;position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden}
.ksb-marquee-viewport{width:100%;max-width:100%;overflow:hidden}
.ksb-marquee-track{display:flex;align-items:center;width:max-content;min-width:max-content;will-change:transform;animation:ksbMarqueeScroll var(--ksb-marquee-duration) linear infinite}
.ksb-marquee-icon-list.is-reverse .ksb-marquee-track{animation-direction:reverse}
.ksb-marquee-icon-list.is-paused .ksb-marquee-track,.ksb-marquee-icon-list[data-pause-hover="yes"]:hover .ksb-marquee-track{animation-play-state:paused}
.ksb-marquee-group{display:flex;align-items:center;flex:0 0 auto;gap:var(--ksb-marquee-item-gap,32px);padding-right:var(--ksb-marquee-group-gap)}
.ksb-marquee-item{display:inline-flex;align-items:center;flex:0 0 auto;gap:var(--ksb-marquee-icon-gap,9px);white-space:nowrap;text-decoration:none!important;color:inherit}
.ksb-marquee-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto}
.ksb-marquee-icon i{font-size:inherit;line-height:1}
.ksb-marquee-icon svg{display:block;width:1em;height:1em;fill:currentColor}
.ksb-marquee-text{display:inline-block;line-height:1.3}
@keyframes ksbMarqueeScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.ksb-marquee-track{animation-play-state:paused!important;transform:none!important}}

/* v1.0.30: premium popup checkout redesign */
.ksb-checkout-view{
  max-width:1180px!important;
  padding:28px 30px 36px!important;
}
.ksb-checkout-view>.ksb-back{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:8px 13px!important;
  margin:0 0 18px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#475467!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)!important;
}
.ksb-checkout-view>.ksb-back:hover,
.ksb-checkout-view>.ksb-back:focus{
  background:#f8fafc!important;
  color:var(--ksb-primary)!important;
  border-color:#d7dce4!important;
}
.ksb-checkout-view>.ksb-view-title{
  margin:0 0 22px!important;
}
.ksb-checkout-view>.ksb-view-title h2{
  margin:0 0 5px!important;
  font-size:30px!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  color:#172033!important;
}
.ksb-checkout-view>.ksb-view-title p{
  margin:0!important;
  color:#667085!important;
  font-size:15px!important;
}
.ksb-native-checkout{
  color:#273142!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.ksb-native-checkout *{box-sizing:border-box}

/* Coupon / checkout notices */
.ksb-native-checkout .woocommerce-form-coupon-toggle{
  margin:0 0 20px!important;
}
.ksb-native-checkout .woocommerce-info,
.ksb-native-checkout .woocommerce-message,
.ksb-native-checkout .woocommerce-error{
  margin:0 0 18px!important;
  padding:14px 16px!important;
  border:1px solid #eadde1!important;
  border-left:4px solid var(--ksb-primary)!important;
  border-radius:12px!important;
  background:#fff8fa!important;
  color:#344054!important;
  box-shadow:none!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.ksb-native-checkout .woocommerce-info:before,
.ksb-native-checkout .woocommerce-message:before,
.ksb-native-checkout .woocommerce-error:before{
  color:var(--ksb-primary)!important;
}
.ksb-native-checkout .woocommerce-info a,
.ksb-native-checkout .woocommerce-message a,
.ksb-native-checkout .woocommerce-error a{
  color:var(--ksb-primary)!important;
  font-weight:700!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.ksb-native-checkout form.checkout_coupon{
  margin:-6px 0 20px!important;
  padding:16px!important;
  border:1px solid #e4e7ec!important;
  border-radius:12px!important;
  background:#fff!important;
}

/* Main two-column checkout cards */
@media(min-width:981px){
  .ksb-native-checkout form.checkout.woocommerce-checkout{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr)!important;
    grid-template-areas:"customer ordertitle" "customer order"!important;
    column-gap:28px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .ksb-native-checkout #customer_details{
    grid-area:customer!important;
    grid-column:1!important;
    grid-row:1/span 2!important;
  }
  .ksb-native-checkout #order_review_heading{
    grid-area:ordertitle!important;
    grid-column:2!important;
    grid-row:1!important;
  }
  .ksb-native-checkout #order_review{
    grid-area:order!important;
    grid-column:2!important;
    grid-row:2!important;
  }
}
.ksb-native-checkout #customer_details,
.ksb-native-checkout #order_review{
  width:100%!important;
  float:none!important;
  margin:0!important;
  padding:22px!important;
  border:1px solid #e3e8ef!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(16,24,40,.055)!important;
  overflow:visible!important;
}
.ksb-native-checkout #order_review_heading{
  width:100%!important;
  float:none!important;
  margin:0 0 12px!important;
  color:#172033!important;
  font-size:21px!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.ksb-native-checkout #customer_details .col-1,
.ksb-native-checkout #customer_details .col-2{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  padding:0!important;
}
.ksb-native-checkout #customer_details .col-2{
  margin-top:24px!important;
  padding-top:20px!important;
  border-top:1px solid #edf0f4!important;
}
.ksb-native-checkout #customer_details h3,
.ksb-native-checkout .woocommerce-billing-fields>h3,
.ksb-native-checkout .woocommerce-additional-fields>h3{
  margin:0 0 18px!important;
  padding:0!important;
  color:#172033!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.25!important;
}

/* Form fields */
.ksb-native-checkout .form-row{
  margin:0 0 16px!important;
  padding:0!important;
}
.ksb-native-checkout .form-row label{
  display:block!important;
  margin:0 0 7px!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.ksb-native-checkout .form-row .required{
  color:#d92d20!important;
}
.ksb-native-checkout input.input-text,
.ksb-native-checkout input[type="text"],
.ksb-native-checkout input[type="email"],
.ksb-native-checkout input[type="tel"],
.ksb-native-checkout textarea,
.ksb-native-checkout select,
.ksb-native-checkout .select2-container .select2-selection--single{
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid #d8dee8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#172033!important;
  font:inherit!important;
  font-size:14px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.025)!important;
  outline:none!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
.ksb-native-checkout textarea{
  min-height:118px!important;
  resize:vertical!important;
  line-height:1.5!important;
}
.ksb-native-checkout input.input-text:focus,
.ksb-native-checkout input[type="text"]:focus,
.ksb-native-checkout input[type="email"]:focus,
.ksb-native-checkout input[type="tel"]:focus,
.ksb-native-checkout textarea:focus,
.ksb-native-checkout select:focus,
.ksb-native-checkout .select2-container--focus .select2-selection--single{
  border-color:var(--ksb-primary)!important;
  box-shadow:0 0 0 3px rgba(96,6,30,.08)!important;
}
.ksb-native-checkout .select2-selection__rendered{
  padding:0!important;
  line-height:24px!important;
}
.ksb-native-checkout .select2-selection__arrow{
  top:10px!important;
  right:10px!important;
}
.ksb-native-checkout .ksb-checkout-hidden{display:none!important}

/* Payment methods */
.ksb-native-checkout #payment{
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ksb-native-checkout #payment ul.payment_methods,
.ksb-native-checkout #payment ul.wc_payment_methods{
  margin:0 0 16px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method{
  position:relative!important;
  display:block!important;
  margin:0 0 9px!important;
  padding:13px 14px 13px 42px!important;
  border:1px solid #e1e6ed!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#344054!important;
  list-style:none!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method:last-child{
  margin-bottom:0!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>input.input-radio,
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>input[type="radio"]{
  left:14px!important;
  top:17px!important;
  width:16px!important;
  height:16px!important;
  accent-color:var(--ksb-primary)!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>label{
  min-height:24px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  color:#273142!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.4!important;
}
.ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>label img{
  width:auto!important;
  max-width:150px!important;
  max-height:32px!important;
  margin:0 0 0 auto!important;
  object-fit:contain!important;
}
.ksb-native-checkout #payment .payment_box{
  margin:12px 0 2px!important;
  padding:12px 14px!important;
  border:1px solid #edf0f4!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  color:#667085!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.ksb-native-checkout #payment .payment_box:before{display:none!important}

/* Order table */
.ksb-native-checkout #order_review table.shop_table,
.ksb-native-checkout #order_review table{
  width:100%!important;
  margin:0 0 18px!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border-radius:12px!important;
  background:#fff!important;
  table-layout:auto!important;
  overflow:hidden!important;
}
.ksb-native-checkout #order_review table thead th{
  padding:11px 10px!important;
  border:0!important;
  border-bottom:1px solid #e5eaf0!important;
  background:#f8fafc!important;
  color:#667085!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.ksb-native-checkout #order_review table tbody td,
.ksb-native-checkout #order_review table tfoot th,
.ksb-native-checkout #order_review table tfoot td{
  padding:13px 10px!important;
  border:0!important;
  border-bottom:1px solid #edf0f4!important;
  background:#fff!important;
  vertical-align:top!important;
}
.ksb-native-checkout #order_review table tbody tr:last-child td{
  border-bottom:1px solid #e5eaf0!important;
}
.ksb-native-checkout #order_review table tfoot tr:last-child th,
.ksb-native-checkout #order_review table tfoot tr:last-child td{
  border-bottom:0!important;
}
.ksb-native-checkout #order_review table tfoot th{
  color:#475467!important;
  font-size:13px!important;
  font-weight:600!important;
}
.ksb-native-checkout #order_review table tfoot td{
  color:#172033!important;
  font-size:14px!important;
  font-weight:700!important;
  text-align:right!important;
}
.ksb-native-checkout #order_review table .order-total th,
.ksb-native-checkout #order_review table .order-total td{
  padding-top:15px!important;
  padding-bottom:15px!important;
  color:var(--ksb-primary)!important;
  font-size:16px!important;
}
.ksb-native-checkout #order_review .product-name{
  min-width:0!important;
  color:#344054!important;
  font-size:13px!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}
.ksb-native-checkout td.wd-checkout-prod{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
}
.ksb-native-checkout #order_review img,
.ksb-native-checkout #order_review .product-thumbnail img{
  width:58px!important;
  max-width:58px!important;
  height:58px!important;
  max-height:58px!important;
  border:1px solid #edf0f4!important;
  border-radius:9px!important;
  background:#f8fafc!important;
  object-fit:cover!important;
}
.ksb-native-checkout #order_review .product-quantity{
  color:#667085!important;
}
.ksb-native-checkout #order_review .woocommerce-Price-amount{
  color:var(--ksb-primary)!important;
  font-weight:700!important;
}

/* Place order / legal block */
.ksb-native-checkout #payment .place-order{
  margin:14px 0 0!important;
  padding:0!important;
  background:transparent!important;
}
.ksb-native-checkout #payment .woocommerce-privacy-policy-text,
.ksb-native-checkout #payment .form-row.validate-required{
  color:#667085!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.ksb-native-checkout #place_order{
  width:100%!important;
  min-height:52px!important;
  margin:12px 0 0!important;
  padding:14px 18px!important;
  border:1px solid var(--ksb-primary)!important;
  border-radius:10px!important;
  background:var(--ksb-primary)!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-transform:none!important;
  box-shadow:0 8px 18px rgba(96,6,30,.16)!important;
  transition:none!important;
}
.ksb-native-checkout #place_order:hover,
.ksb-native-checkout #place_order:focus,
.ksb-native-checkout #place_order:active{
  background:var(--ksb-primary)!important;
  border-color:var(--ksb-primary)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(96,6,30,.16)!important;
  filter:none!important;
  transform:none!important;
}

/* Fallback is useful, but should look secondary rather than like another checkout. */
.ksb-checkout-fallback{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:22px 0 0!important;
  padding:14px 16px!important;
  border:1px dashed #d7dce4!important;
  border-radius:12px!important;
  background:#fbfcfd!important;
  color:#667085!important;
  box-shadow:none!important;
}
.ksb-checkout-fallback p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.ksb-checkout-fallback .ksb-secondary{
  flex:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid #cfd6df!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ksb-primary)!important;
  font-size:12px!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.ksb-checkout-fallback .ksb-secondary:hover,
.ksb-checkout-fallback .ksb-secondary:focus{
  background:#fff!important;
  color:var(--ksb-primary)!important;
  border-color:var(--ksb-primary)!important;
}

@media(min-width:641px) and (max-width:980px){
  .ksb-checkout-view{padding:24px!important}
  .ksb-native-checkout form.checkout.woocommerce-checkout{display:block!important}
  .ksb-native-checkout #customer_details,
  .ksb-native-checkout #order_review{padding:20px!important}
  .ksb-native-checkout #order_review_heading{margin:24px 0 12px!important}
}

@media(max-width:640px){
  .ksb-checkout-view{padding:15px 12px 24px!important}
  .ksb-checkout-view>.ksb-back{min-height:36px!important;margin-bottom:14px!important;padding:7px 10px!important}
  .ksb-checkout-view>.ksb-view-title{margin-bottom:16px!important}
  .ksb-checkout-view>.ksb-view-title h2{font-size:25px!important}
  .ksb-checkout-view>.ksb-view-title p{font-size:13px!important}
  .ksb-native-checkout .woocommerce-info,
  .ksb-native-checkout .woocommerce-message,
  .ksb-native-checkout .woocommerce-error{padding:12px 13px!important;font-size:13px!important}
  .ksb-native-checkout form.checkout.woocommerce-checkout{display:block!important}
  .ksb-native-checkout #customer_details,
  .ksb-native-checkout #order_review{
    width:100%!important;
    padding:16px!important;
    border-radius:13px!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .ksb-native-checkout #order_review_heading{margin:22px 0 10px!important;font-size:19px!important}
  .ksb-native-checkout #customer_details h3,
  .ksb-native-checkout .woocommerce-billing-fields>h3,
  .ksb-native-checkout .woocommerce-additional-fields>h3{font-size:18px!important;margin-bottom:14px!important}
  .ksb-native-checkout .form-row{margin-bottom:13px!important}
  .ksb-native-checkout input.input-text,
  .ksb-native-checkout input[type="text"],
  .ksb-native-checkout input[type="email"],
  .ksb-native-checkout input[type="tel"],
  .ksb-native-checkout textarea,
  .ksb-native-checkout select,
  .ksb-native-checkout .select2-container .select2-selection--single{min-height:46px!important;padding:10px 11px!important;font-size:13px!important}
  .ksb-native-checkout textarea{min-height:100px!important}
  .ksb-native-checkout #order_review{overflow:visible!important}
  .ksb-native-checkout #order_review table thead th{font-size:10px!important;padding:9px 7px!important}
  .ksb-native-checkout #order_review table tbody td,
  .ksb-native-checkout #order_review table tfoot th,
  .ksb-native-checkout #order_review table tfoot td{padding:11px 7px!important}
  .ksb-native-checkout td.wd-checkout-prod{gap:9px!important}
  .ksb-native-checkout #order_review img,
  .ksb-native-checkout #order_review .product-thumbnail img{width:48px!important;max-width:48px!important;height:48px!important;max-height:48px!important}
  .ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method{padding:12px 10px 12px 38px!important}
  .ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>input.input-radio,
  .ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>input[type="radio"]{left:11px!important;top:16px!important}
  .ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>label{font-size:13px!important}
  .ksb-native-checkout #payment ul.payment_methods>li.wc_payment_method>label img{max-width:110px!important;max-height:28px!important}
  .ksb-native-checkout #place_order{min-height:50px!important;font-size:14px!important}
  .ksb-checkout-fallback{display:block!important;padding:13px!important}
  .ksb-checkout-fallback p{margin:0 0 10px!important}
  .ksb-checkout-fallback .ksb-secondary{width:100%!important;white-space:normal!important;text-align:center!important}
}


/* v1.0.31: persistent WooCommerce popup checkout + real course thumbnails */
.ksb-checkout-bootstrap{display:none!important}
.ksb-native-checkout img.ksb-checkout-course-image,
.ksb-native-checkout .wd-checkout-prod img.ksb-checkout-course-image{
  display:block!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  object-fit:cover!important;
  border-radius:9px!important;
  border:1px solid #edf0f4!important;
  background:#f8fafc!important;
}
.ksb-live-native-checkout form.checkout.woocommerce-checkout{position:relative!important}
.ksb-live-native-checkout form.checkout.woocommerce-checkout.processing{pointer-events:none}
.ksb-live-native-checkout form.checkout.woocommerce-checkout.processing:after{
  content:'Buchung wird verarbeitet …';position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.72);color:var(--ksb-primary);font-weight:700;font-size:14px;border-radius:14px;
}


/* v1.0.32: real WooCommerce checkout document inside the booking popup.
   Third-party hosted card fields now initialize in a genuine checkout context. */
.ksb-checkout-frame-view{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  padding:18px 20px 20px!important;
  box-sizing:border-box!important;
}
.ksb-checkout-frame-view>.ksb-back{
  flex:none!important;
  align-self:flex-start!important;
  margin:0 0 12px!important;
}
.ksb-checkout-frame-wrap{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:620px!important;
  width:100%!important;
  overflow:hidden!important;
  border:1px solid #e4e9f0!important;
  border-radius:14px!important;
  background:#f7f9fc!important;
}
.ksb-checkout-frame{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:620px!important;
  border:0!important;
  background:#f7f9fc!important;
}
.ksb-checkout-frame-loading{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:#fff!important;
  color:#667085!important;
  font-size:14px!important;
  font-weight:600!important;
}
.ksb-checkout-frame-loading[hidden]{display:none!important}
.ksb-checkout-frame-loading span{
  width:20px!important;height:20px!important;border:2px solid #e3e7ed!important;border-top-color:var(--ksb-primary)!important;border-radius:50%!important;animation:ksb-spin .7s linear infinite!important;
}

html:has(body.ksb-popup-checkout-document),
body.ksb-popup-checkout-document{
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  width:100%!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  background:#f7f9fc!important;
}
body.ksb-popup-checkout-document:before,
body.ksb-popup-checkout-document:after{display:none!important}
.ksb-popup-checkout-shell{
  width:100%!important;
  max-width:1220px!important;
  margin:0 auto!important;
  padding:24px!important;
  box-sizing:border-box!important;
  background:#f7f9fc!important;
}
.ksb-popup-checkout-view{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.ksb-popup-checkout-view>.ksb-view-title{
  margin:0 0 18px!important;
}
.ksb-popup-checkout-view>.ksb-view-title h2{
  margin:0 0 4px!important;
  font-size:26px!important;
  line-height:1.2!important;
}
.ksb-popup-checkout-view>.ksb-view-title p{margin:0!important}
.ksb-popup-checkout-native{width:100%!important}

/* Keep validation notices at the top and make them easy to read. */
.ksb-popup-checkout-document .woocommerce-NoticeGroup-checkout,
.ksb-popup-checkout-document .woocommerce-error,
.ksb-popup-checkout-document .woocommerce-message,
.ksb-popup-checkout-document .woocommerce-info{
  scroll-margin-top:16px!important;
}

@media(max-width:980px){
  .ksb-checkout-frame-view{padding:12px!important}
  .ksb-checkout-frame-wrap,.ksb-checkout-frame{min-height:calc(100dvh - 150px)!important}
  .ksb-popup-checkout-shell{padding:18px!important}
}
@media(max-width:640px){
  .ksb-checkout-frame-view{padding:8px!important}
  .ksb-checkout-frame-view>.ksb-back{margin-bottom:8px!important}
  .ksb-checkout-frame-wrap{border-radius:10px!important}
  .ksb-checkout-frame-wrap,.ksb-checkout-frame{min-height:calc(100dvh - 120px)!important}
  .ksb-popup-checkout-shell{padding:12px!important}
}

/* v1.0.33 — seamless popup checkout. Keep the real WooCommerce document for
   gateway compatibility, but visually integrate it into the Kochstudio modal. */
.ksb-modal-body.is-checkout-embed{
  overflow:hidden!important;
  background:#f7f9fc!important;
}
.ksb-modal-body.is-checkout-embed .ksb-checkout-frame-view{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:22px 28px 26px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  background:#f7f9fc!important;
}
.ksb-checkout-frame-title{
  flex:none!important;
  margin:0 0 14px!important;
}
.ksb-checkout-frame-title h2{
  margin:0 0 4px!important;
  font-size:26px!important;
  line-height:1.2!important;
}
.ksb-checkout-frame-title p{margin:0!important}
.ksb-modal-body.is-checkout-embed .ksb-checkout-frame-view>.ksb-back{
  flex:none!important;
  align-self:flex-start!important;
  margin:0 0 12px!important;
}
.ksb-modal-body.is-checkout-embed .ksb-checkout-frame-wrap{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ksb-modal-body.is-checkout-embed .ksb-checkout-frame{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:#f7f9fc!important;
}
.ksb-modal-body.is-checkout-embed .ksb-checkout-frame-loading{
  border:1px solid #e3e8ef!important;
  border-radius:14px!important;
  background:#fff!important;
}

/* The embedded document must never expose WordPress/theme chrome. */
html:has(body.ksb-popup-checkout-document){
  margin-top:0!important;
  padding-top:0!important;
  background:#f7f9fc!important;
}
body.ksb-popup-checkout-document{
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  width:100%!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  background:#f7f9fc!important;
}
body.ksb-popup-checkout-document #wpadminbar,
body.ksb-popup-checkout-document .site-header,
body.ksb-popup-checkout-document header.whb-header,
body.ksb-popup-checkout-document footer,
body.ksb-popup-checkout-document .footer-container{
  display:none!important;
}
body.ksb-popup-checkout-document.admin-bar{margin-top:0!important;padding-top:0!important}
.ksb-popup-checkout-shell{
  width:100%!important;
  max-width:1180px!important;
  min-height:100%!important;
  margin:0 auto!important;
  padding:4px 6px 26px!important;
  box-sizing:border-box!important;
  background:#f7f9fc!important;
}
.ksb-popup-checkout-native{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:980px){
  .ksb-modal-body.is-checkout-embed .ksb-checkout-frame-view{padding:16px!important}
  .ksb-checkout-frame-title{margin-bottom:10px!important}
  .ksb-checkout-frame-title h2{font-size:23px!important}
  .ksb-popup-checkout-shell{padding:2px 2px 20px!important}
}
@media(max-width:640px){
  .ksb-modal-body.is-checkout-embed .ksb-checkout-frame-view{padding:10px!important}
  .ksb-modal-body.is-checkout-embed .ksb-checkout-frame-view>.ksb-back{margin-bottom:8px!important}
  .ksb-checkout-frame-title h2{font-size:21px!important}
  .ksb-checkout-frame-title p{font-size:12px!important}
}


/* v1.0.34 — checkout width repair. Keep native gateway fields full width and prevent
   WoodMart/Germanized column rules from collapsing the embedded checkout. */
body.ksb-popup-checkout-document .ksb-popup-checkout-shell{max-width:1180px!important;width:100%!important;margin:0 auto!important;padding:18px 22px 28px!important}
body.ksb-popup-checkout-document .ksb-popup-checkout-native,
body.ksb-popup-checkout-document .ksb-popup-checkout-native>.woocommerce{width:100%!important;max-width:none!important;min-width:0!important;display:block!important}
body.ksb-popup-checkout-document .ksb-popup-checkout-native form.checkout.woocommerce-checkout{width:100%!important;max-width:none!important;min-width:0!important}
body.ksb-popup-checkout-document .ksb-popup-checkout-native #customer_details,
body.ksb-popup-checkout-document .ksb-popup-checkout-native #order_review{min-width:0!important;max-width:none!important}
body.ksb-popup-checkout-document .ksb-popup-checkout-native #payment .payment_box>*{max-width:100%!important}
body.ksb-popup-checkout-document .ksb-popup-checkout-native #payment iframe{display:block!important;width:100%!important;max-width:100%!important}
body.ksb-popup-checkout-document .ksb-popup-checkout-native .form-row{width:100%!important;max-width:none!important;float:none!important}
body.ksb-popup-checkout-document .ksb-popup-checkout-native .woocommerce-NoticeGroup-checkout{width:100%!important;max-width:none!important}
@media(min-width:901px){
 body.ksb-popup-checkout-document .ksb-popup-checkout-native form.checkout.woocommerce-checkout{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;column-gap:28px!important}
}
@media(max-width:900px){
 body.ksb-popup-checkout-document .ksb-popup-checkout-shell{padding:14px!important}
 body.ksb-popup-checkout-document .ksb-popup-checkout-native form.checkout.woocommerce-checkout{display:block!important}
 body.ksb-popup-checkout-document .ksb-popup-checkout-native #order_review_heading{margin-top:22px!important}
}


/* v1.0.35 — stable popup checkout layout.
   The live WooCommerce form remains intact for payment gateways, but KSB owns the
   visual columns so WoodMart/Germanized cannot collapse the payment side. */
body.ksb-popup-checkout-document .ksb-popup-checkout-native form.checkout.woocommerce-checkout{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body.ksb-popup-checkout-document .ksb-checkout-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr)!important;
  gap:28px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body.ksb-popup-checkout-document .ksb-checkout-left,
body.ksb-popup-checkout-document .ksb-checkout-right{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  position:static!important;
  transform:none!important;
}
body.ksb-popup-checkout-document .ksb-checkout-left > *,
body.ksb-popup-checkout-document .ksb-checkout-right > *,
body.ksb-popup-checkout-document .ksb-checkout-right .checkout-order-review,
body.ksb-popup-checkout-document .ksb-checkout-right .woocommerce-checkout-review-order,
body.ksb-popup-checkout-document .ksb-checkout-right .wd-checkout-order-review,
body.ksb-popup-checkout-document .ksb-checkout-right .wd-table-wrapper,
body.ksb-popup-checkout-document .ksb-checkout-right #payment{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.ksb-popup-checkout-document .ksb-checkout-left #customer_details,
body.ksb-popup-checkout-document .ksb-checkout-right #order_review,
body.ksb-popup-checkout-document .ksb-checkout-right #order_review_heading{
  grid-area:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  clear:both!important;
  position:static!important;
  transform:none!important;
}
body.ksb-popup-checkout-document .ksb-checkout-right #order_review_heading{
  margin:0 0 12px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}
body.ksb-popup-checkout-document .ksb-checkout-right #payment ul.payment_methods,
body.ksb-popup-checkout-document .ksb-checkout-right #payment li.wc_payment_method,
body.ksb-popup-checkout-document .ksb-checkout-right #payment .payment_box,
body.ksb-popup-checkout-document .ksb-checkout-right #payment .wc-payment-form,
body.ksb-popup-checkout-document .ksb-checkout-right #payment fieldset,
body.ksb-popup-checkout-document .ksb-checkout-right #payment iframe,
body.ksb-popup-checkout-document .ksb-checkout-right #payment .StripeElement,
body.ksb-popup-checkout-document .ksb-checkout-right #payment .wc-stripe-elements-field{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.ksb-popup-checkout-document .ksb-checkout-right #order_review table.shop_table,
body.ksb-popup-checkout-document .ksb-checkout-right #order_review table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
@media(max-width:980px){
  body.ksb-popup-checkout-document .ksb-checkout-layout{
    display:block!important;
  }
  body.ksb-popup-checkout-document .ksb-checkout-right{
    margin-top:24px!important;
  }
}

/* v1.0.36 — instant course data, disabled historic calendar sessions, unified popup typography and device hardening. */

/* Course details are intentionally always expanded. */
.ksb-modal .ksb-accordion[data-always-open="1"] > div{display:block!important}
.ksb-modal .ksb-accordion[data-always-open="1"] > button{cursor:default!important}
.ksb-modal .ksb-accordion[data-always-open="1"] > button b{transform:rotate(180deg)!important}

/* Historic/sold-out sessions stay visible in the full calendar but cannot be booked. */
.ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event.is-disabled{
  background:#f3f4f6!important;
  border-left-color:#98a2b3!important;
  opacity:.62!important;
  cursor:not-allowed!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event.is-expired{
  filter:grayscale(.25)!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event.is-disabled .ksb-cal-time,
.ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event.is-disabled .ksb-cal-title{
  color:#667085!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}
.ksb-inline-calendar.ksb-calendar-fit .ksb-calendar-event .ksb-cal-status{
  display:block!important;
  width:100%!important;
  margin-top:1px!important;
  color:#667085!important;
  font-size:9px!important;
  font-weight:700!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Popup typography requested by Kochstudio: headings 16px/bold, regular content 13px/black. */
.ksb-modal-body{font-size:13px!important;color:#000!important}
.ksb-modal-body :is(h1,h2,h3,h4,h5,h6){
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#000!important;
}
.ksb-modal-body :is(p,li,label,small,td,th,input,select,textarea,a,button){
  font-size:13px!important;
  color:#000;
}
.ksb-modal-body :is(.ksb-course-subtitle,.ksb-muted,.ksb-card-body p,.ksb-cart-info p,.ksb-order-summary small,.ksb-price-preview small,.ksb-overview-grid small,.ksb-dsgvo){
  color:#000!important;
}
.ksb-modal-body :is(.ksb-primary,.ksb-card-book,.ksb-open-booking){color:#fff!important}
.ksb-modal-body .ksb-link,
.ksb-modal-body .ksb-details-link,
.ksb-modal-body .ksb-back{color:var(--ksb-primary)!important}

/* Preload a real WooCommerce checkout off-screen while the customer reviews the cart.
   It is NOT display:none, so hosted card fields can initialize at a real layout width. */
.ksb-checkout-preload-host{
  position:fixed!important;
  left:-200vw!important;
  top:0!important;
  width:min(1180px,94vw)!important;
  height:900px!important;
  overflow:hidden!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.ksb-checkout-preload-host .ksb-checkout-frame{
  display:block!important;
  width:100%!important;
  height:900px!important;
  min-height:900px!important;
  border:0!important;
}
.ksb-modal-body.is-checkout-embed .ksb-checkout-frame-wrap{background:#f7f9fc!important}

/* The embedded checkout follows the same typography rules. */
body.ksb-popup-checkout-document{font-size:13px!important;color:#000!important}
body.ksb-popup-checkout-document :is(h1,h2,h3,h4,h5,h6){font-size:16px!important;line-height:1.35!important;font-weight:700!important;color:#000!important}
body.ksb-popup-checkout-document :is(p,li,label,small,td,th,input,select,textarea,button,a){font-size:13px!important}
body.ksb-popup-checkout-document :is(p,li,label,small,td,th){color:#000!important}
body.ksb-popup-checkout-document #place_order{color:#fff!important;font-weight:700!important}

/* Responsive audit: large desktop, laptop, tablet, phone and narrow phone. */
@media(max-width:1280px){
  .ksb-modal-panel{width:calc(100vw - 32px)!important;height:min(95dvh,920px)!important}
  .ksb-course-columns{grid-template-columns:minmax(0,58%) minmax(320px,42%)!important;gap:24px!important}
}
@media(max-width:1024px){
  .ksb-modal-panel{width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important}
  .ksb-course-columns,.ksb-book-columns,.ksb-cart-columns{grid-template-columns:1fr!important;gap:20px!important}
  .ksb-course-sidebar{display:none!important}
  .ksb-course-mobile-booking{display:block!important}
  .ksb-course-desktop-booking{display:none!important}
  .ksb-course-mobile-booking .ksb-sticky-card{position:static!important;width:100%!important}
  .ksb-gallery-main{aspect-ratio:auto!important}
  .ksb-gallery-main img{height:auto!important;max-height:520px!important;object-fit:cover!important}
}
@media(max-width:768px){
  .ksb-modal-panel{inset:0!important;left:0!important;top:0!important;transform:none!important;width:100vw!important;height:100dvh!important;border-radius:0!important;border:0!important}
  .ksb-modal-header{height:auto!important;min-height:60px!important;padding:8px 12px!important;gap:8px!important}
  .ksb-modal-brand{min-width:0!important;max-width:42%!important}
  .ksb-modal-brand img{max-width:160px!important;max-height:38px!important}
  .ksb-modal-actions{gap:6px!important;flex:0 0 auto!important}
  .ksb-date-search-btn{padding:8px 9px!important;white-space:normal!important;line-height:1.2!important;max-width:150px!important}
  .ksb-close{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important}
  .ksb-view,.ksb-course-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{padding:14px 12px 24px!important}
  .ksb-date-layout{grid-template-columns:1fr!important;gap:18px!important}
  .ksb-overview-grid{grid-template-columns:1fr!important}
  .ksb-price-preview,.ksb-book-header{flex-wrap:wrap!important}
  .ksb-participant-card{flex-direction:column!important;align-items:stretch!important}
  .ksb-qty{align-self:flex-start!important}
  .ksb-cart-item{grid-template-columns:78px minmax(0,1fr)!important;gap:10px!important}
  .ksb-cart-item img{width:78px!important;height:66px!important}
  .ksb-cart-item>strong{grid-column:2!important}
  .ksb-modal-body.is-checkout-embed .ksb-checkout-frame-view{padding:10px!important}
}
@media(max-width:480px){
  .ksb-modal-header{padding:6px 8px!important}
  .ksb-modal-brand{max-width:38%!important}
  .ksb-modal-brand img{max-width:120px!important}
  .ksb-date-search-btn{max-width:126px!important;padding:7px 7px!important}
  .ksb-course-view,.ksb-view,.ksb-book-view,.ksb-cart-view,.ksb-checkout-view{padding:12px 10px 20px!important}
  .ksb-date-course{grid-template-columns:72px minmax(0,1fr)!important;gap:9px!important}
  .ksb-date-course img{width:72px!important;height:64px!important}
  .ksb-gallery-thumbs button{width:72px!important;height:52px!important;min-width:72px!important;max-width:72px!important}
  .ksb-book-header{gap:10px!important}
  .ksb-book-header img{width:78px!important;height:68px!important}
  .ksb-card-footer{align-items:flex-end!important;gap:8px!important}
  .ksb-card-book{padding:9px 10px!important}
  .ksb-thankyou-view{padding:14px 8px!important}
}
@media(max-width:360px){
  .ksb-modal-brand img{max-width:96px!important}
  .ksb-date-search-btn{max-width:110px!important;padding:6px!important}
  .ksb-close{width:32px!important;height:32px!important;min-width:32px!important}
  .ksb-date-course{grid-template-columns:1fr!important}
  .ksb-date-course>a:first-child{display:none!important}
  .ksb-cart-item{grid-template-columns:64px minmax(0,1fr)!important}
  .ksb-cart-item img{width:64px!important;height:58px!important}
}


/* v1.0.37 — single-course content isolation + typography correction. */
/* Details opens by default in JS, but is not permanently locked. */
.ksb-modal .ksb-accordion[data-always-open="1"] > button{cursor:pointer!important}

/* The 16px/13px typography applies to content, not interactive controls or gateway fields. */
.ksb-modal-body :is(input,select,textarea,button){
  font-size:inherit!important;
}
.ksb-modal-body :is(h1,h2,h3,h4,h5,h6){
  font-size:16px!important;
  line-height:1.4!important;
  font-weight:700!important;
  color:#000!important;
}
.ksb-course-view :is(.ksb-course-subtitle,.ksb-richtext,.ksb-richtext p,.ksb-richtext li,.ksb-overview-grid strong,.ksb-overview-grid small,.ksb-chef p,.ksb-price-preview small,.ksb-course-times p){
  font-size:13px!important;
  line-height:1.55!important;
  color:#000!important;
}
.ksb-course-view .ksb-richtext img{max-width:100%!important;height:auto!important}
.ksb-course-view .ksb-richtext :is(iframe,video,object,embed,form,nav,header,footer){display:none!important}

/* Keep the course popup compact even if an old description contains oversized wrappers. */
.ksb-course-view .ksb-richtext{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.ksb-course-view .ksb-richtext > *{max-width:100%!important}

/* v1.0.39 — persistent open course info, historic calendar visibility and checkout item alignment. */
.ksb-modal .ksb-accordion[data-always-open="1"] > div{
  display:block!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}
.ksb-modal .ksb-accordion[data-always-open="1"] > button{
  cursor:default!important;
}
.ksb-session-time small{
  color:#fff!important;
}

/* Keep booking metadata visually under the course title, not under its thumbnail. */
.ksb-native-checkout #order_review td.product-name > dl.variation,
.ksb-native-checkout #order_review td.product-name > .variation,
.ksb-native-checkout #order_review td.product-name > ul.wc-item-meta,
.ksb-native-checkout #order_review td.wd-checkout-prod > dl.variation,
.ksb-native-checkout #order_review td.wd-checkout-prod > .variation,
.ksb-native-checkout #order_review td.wd-checkout-prod > ul.wc-item-meta{
  margin-left:70px!important;
  width:calc(100% - 70px)!important;
  box-sizing:border-box!important;
}
.ksb-native-checkout #order_review dl.variation,
.ksb-native-checkout #order_review ul.wc-item-meta{
  margin-top:5px!important;
  margin-bottom:0!important;
}
.ksb-native-checkout #order_review dl.variation dt,
.ksb-native-checkout #order_review dl.variation dd,
.ksb-native-checkout #order_review ul.wc-item-meta li{
  font-size:13px!important;
  line-height:1.45!important;
}

@media(max-width:640px){
  .ksb-native-checkout #order_review td.product-name > dl.variation,
  .ksb-native-checkout #order_review td.product-name > .variation,
  .ksb-native-checkout #order_review td.product-name > ul.wc-item-meta,
  .ksb-native-checkout #order_review td.wd-checkout-prod > dl.variation,
  .ksb-native-checkout #order_review td.wd-checkout-prod > .variation,
  .ksb-native-checkout #order_review td.wd-checkout-prod > ul.wc-item-meta{
    margin-left:57px!important;
    width:calc(100% - 57px)!important;
  }
}

/* v1.0.41 — keep availability text white inside the burgundy session button. */
.ksb-course-times small{color:#fff!important}


/* v1.0.52: checkout legal consent + coupon row alignment */
.ksb-native-checkout .ksb-checkout-legal{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:16px 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  clear:both!important;
}
.ksb-native-checkout .ksb-checkout-legal label{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  color:#000!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:400!important;
  cursor:pointer!important;
}
.ksb-native-checkout .ksb-checkout-legal input[type=checkbox]{
  display:block!important;
  flex:0 0 16px!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
.ksb-native-checkout .ksb-checkout-legal .ksb-checkout-legal-copy{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#000!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:400!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.ksb-native-checkout .ksb-checkout-legal a{
  display:inline!important;
  color:var(--ksb-primary,#60061e)!important;
  font-weight:700!important;
  text-decoration:underline!important;
  white-space:normal!important;
}
.ksb-native-checkout #order_review tr.cart-discount td{
  white-space:normal!important;
  line-height:1.35!important;
  text-align:right!important;
}
.ksb-native-checkout #order_review tr.cart-discount td .woocommerce-remove-coupon{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:4px 0 0 auto!important;
  padding:0!important;
  color:#667085!important;
  font-size:11px!important;
  font-weight:600!important;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.ksb-native-checkout #order_review tr.cart-discount td .woocommerce-remove-coupon:hover{
  color:var(--ksb-primary,#60061e)!important;
  text-decoration:underline!important;
}
@media(max-width:640px){
  .ksb-native-checkout .ksb-checkout-legal label{font-size:12px!important;gap:8px!important}
  .ksb-native-checkout .ksb-checkout-legal .ksb-checkout-legal-copy{font-size:12px!important;line-height:1.45!important}
}


/* v1.0.54 — single-course session CTA: time + availability + arrow + Jetzt Buchen */
.ksb-course-times .ksb-session-time{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.ksb-course-times .ksb-session-time > span,
.ksb-course-times .ksb-session-time > small,
.ksb-course-times .ksb-session-time > b,
.ksb-course-times .ksb-session-time > em{
  width:auto!important;
  margin:0!important;
  color:#fff!important;
  line-height:1.2!important;
}
.ksb-course-times .ksb-session-time > small{font-weight:500!important}
.ksb-course-times .ksb-session-time > b{font-weight:700!important}
.ksb-course-times .ksb-session-time > em{font-style:normal!important;font-weight:700!important}
@media(max-width:480px){
  .ksb-course-times .ksb-session-time{gap:4px!important;font-size:12px!important}
}


/* v1.0.56: direct course permalink fallback mirrors the popup instead of the theme post layout. */
body.ksb-single-course-document .ksb-single-page-shell{
  background:#fff;
  width:100%;
  min-height:70vh;
  margin:0;
  padding:0;
}
body.ksb-single-course-document .ksb-single-course-fallback{
  width:min(1220px,calc(100% - 40px));
  max-width:1220px;
  margin:0 auto;
  padding:34px 0 54px!important;
  box-sizing:border-box;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-columns{
  grid-template-columns:minmax(0,60%) minmax(320px,40%);
  gap:38px;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-sidebar{display:block!important;order:0!important}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-sticky-card{top:24px}
body.ksb-single-course-document .ksb-static-booking-help{font-size:13px;color:#000;margin:6px 0 14px}
body.ksb-single-course-document .ksb-static-booking-card>h3{font-size:16px;font-weight:700;color:#000;margin:0}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-session-time small{color:#fff!important}
@media(max-width:980px){
  body.ksb-single-course-document .ksb-single-course-fallback{width:min(100% - 28px,860px);padding:26px 0 42px!important}
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-columns{grid-template-columns:1fr!important;gap:24px!important}
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-sidebar{display:block!important;order:-1!important}
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-sticky-card{position:static!important}
}
@media(max-width:640px){
  body.ksb-single-course-document .ksb-single-course-fallback{width:100%;padding:18px 14px 34px!important}
}


/* v1.0.57: direct/shared course URLs use the same visual system as the popup. */
body.ksb-single-course-document #primary.ksb-single-page-shell{
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
body.ksb-single-course-document #primary.ksb-single-page-shell:before,
body.ksb-single-course-document #primary.ksb-single-page-shell:after{display:none!important}
body.ksb-single-course-document .ksb-single-course-fallback{
  color:#000!important;
}

/* v1.0.58 — robust direct-course background layout + direct-link close behavior support. */
body.ksb-single-course-document{
  overflow-x:clip!important;
}
/* Break the plugin course document out of any WoodMart content/sidebar wrapper. */
body.ksb-single-course-document #primary.ksb-single-page-shell{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  min-width:100vw!important;
  margin:0 0 0 -50vw!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  display:block!important;
  background:#fff!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
body.ksb-single-course-document .ksb-single-course-fallback{
  display:block!important;
  width:min(1220px,calc(100vw - 40px))!important;
  max-width:1220px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:30px!important;
  box-sizing:border-box!important;
  float:none!important;
  clear:both!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-columns{
  display:grid!important;
  grid-template-columns:minmax(0,60%) minmax(320px,40%)!important;
  gap:34px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  align-items:start!important;
  box-sizing:border-box!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-main,
body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-sidebar{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  flex:none!important;
  box-sizing:border-box!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-main h1{
  width:100%!important;
  max-width:none!important;
  margin:0 0 5px!important;
  font-size:32px!important;
  line-height:1.2!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-subtitle{
  width:100%!important;
  max-width:none!important;
  margin:5px 0 18px!important;
  line-height:1.5!important;
  word-break:normal!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-gallery,
body.ksb-single-course-document .ksb-single-course-fallback .ksb-gallery-main,
body.ksb-single-course-document .ksb-single-course-fallback .ksb-price-preview,
body.ksb-single-course-document .ksb-single-course-fallback .ksb-accordions,
body.ksb-single-course-document .ksb-single-course-fallback .ksb-overview-grid,
body.ksb-single-course-document .ksb-single-course-fallback .ksb-richtext{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-gallery-main{
  aspect-ratio:16/10!important;
  min-height:0!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-gallery-main img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-sticky-card{
  position:sticky!important;
  top:24px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-session-time{
  grid-template-columns:auto 1fr auto auto!important;
  gap:7px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
}
body.ksb-single-course-document .ksb-single-course-fallback .ksb-session-time :is(strong,small,span,em){
  min-width:0!important;
  white-space:normal!important;
}
@media(max-width:980px){
  body.ksb-single-course-document .ksb-single-course-fallback{
    width:min(860px,calc(100vw - 28px))!important;
    padding:24px 0 42px!important;
  }
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-columns{
    grid-template-columns:minmax(0,1fr)!important;
    gap:24px!important;
  }
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-sidebar{
    order:-1!important;
  }
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-sticky-card{
    position:static!important;
  }
}
@media(max-width:640px){
  body.ksb-single-course-document .ksb-single-course-fallback{
    width:100%!important;
    padding:16px 14px 32px!important;
  }
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-course-main h1{
    font-size:25px!important;
  }
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-overview-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-session-time{
    grid-template-columns:auto 1fr auto!important;
  }
  body.ksb-single-course-document .ksb-single-course-fallback .ksb-session-time em{
    grid-column:1/-1!important;
    text-align:center!important;
  }
}
