/* Focused customer checkout; the global site keeps its existing navigation. */
html body #booking.bw-active{background:#f5f7f7!important;padding:28px 16px 48px!important;min-height:calc(100dvh - 80px)}
html body #booking.bw-active .panel{max-width:840px!important;padding:24px 28px 0!important;border:1px solid #e2e8e8!important;border-radius:24px!important;background:#fff!important;box-shadow:0 12px 40px #14394c08!important;margin:0 auto!important;overflow:visible!important}
#booking.bw-active .panel>.two-col,#booking.bw-active .panel>.eyebrow,#booking.bw-active #bookingIntro,#booking.bw-active #bookingFlow{display:none!important}
html body #booking.bw-active #bookingBusiness{font:700 21px/1.3 'DM Sans',system-ui,sans-serif!important;letter-spacing:-.5px!important;margin:15px 0 20px!important;color:#173849!important}
#booking.bw-active .panel>.link{font:600 12px/1.4 'DM Sans',system-ui,sans-serif!important;padding:0!important;color:#637780!important;background:none!important;box-shadow:none!important}
#bookingWizard{font-family:'DM Sans',system-ui,sans-serif;color:#173849;min-width:0}
#bookingWizard [hidden]{display:none!important}
#bookingWizard .bw-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-bottom:1px solid #e8eded;padding:0 0 20px;margin-bottom:28px}
#bookingWizard .bw-steps button{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;border:0;border-radius:10px;background:#f5f7f7;color:#849198;box-shadow:none;font:600 12px/1.25 'DM Sans',system-ui,sans-serif}
#bookingWizard .bw-steps i{display:grid;place-items:center;font:700 11px/1 system-ui;width:24px;height:24px;flex:none;border:1px solid #dce5e5;border-radius:50%;background:#fff;color:inherit}
#bookingWizard .bw-steps button[aria-current=step]{background:#e8f3ef;color:#16796d}#bookingWizard .bw-steps button[aria-current=step] i{background:#16796d;color:white;border-color:#16796d}#bookingWizard .bw-steps button.is-done{color:#386455;background:#f3f8f6}
#bookingWizard button{cursor:pointer;touch-action:manipulation}#bookingWizard button:disabled{cursor:not-allowed;opacity:.5}#bookingWizard button:focus-visible,#bookingWizard input:focus-visible,#bookingWizard summary:focus-visible{outline:3px solid #70b9ac;outline-offset:3px}
#bookingWizard .bw-kicker{color:#6d8a84;font-size:10px;font-weight:700;letter-spacing:1.7px;margin:0 0 8px}html body #bookingWizard h2{font:700 32px/1.15 'DM Sans',system-ui,sans-serif!important;letter-spacing:-1px!important;color:#15394b!important;margin:0 0 12px!important;scroll-margin-top:30px}#bookingWizard h2:focus{outline:none}
#bookingWizard .bw-hint{color:#73838b;font-size:14px;line-height:1.65;margin:0 0 28px}#bookingWizard .bw-section-title,#bookingWizard #bookingStaffBlock>label{display:block;font:700 15px/1.4 'DM Sans',system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;color:#234453!important;margin:26px 0 12px!important}
#bookingWizard #bookingService,#bookingWizard #paymentMethod,#bookingWizard #bookingStaff{display:none!important}#bookingWizard #servicePicker{display:grid;grid-template-columns:1fr!important;gap:10px}
html body #bookingWizard .service-option{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;min-height:84px;padding:17px 48px 17px 18px!important;border:1px solid #dce5e5!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;color:#17394b!important;text-align:left;transform:none!important}
#bookingWizard .service-option:before{display:none!important}#bookingWizard .service-option:after{content:'';position:absolute;right:18px;top:50%;width:19px;height:19px;border:1.5px solid #c9d5d6;border-radius:50%;transform:translateY(-50%)}
html body #bookingWizard .service-option.active{background:#f1f8f5!important;border-color:#3a9a86!important;box-shadow:0 0 0 1px #3a9a86!important}#bookingWizard .service-option.active:after{content:'✓';display:grid;place-items:center;color:white;background:#1a806e;border-color:#1a806e;font:700 12px system-ui}
#bookingWizard .service-option b{font-size:16px!important;line-height:1.35}#bookingWizard .service-option small{font-size:13px!important;line-height:1.6;margin-top:5px;color:#78868c;font-weight:400!important}
#bookingWizard .staff-choice-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}html body #bookingWizard .staff-choice{position:relative;display:flex!important;align-items:center;gap:10px;padding:14px!important;min-height:78px;border:1px solid #dce5e5!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important;text-align:left;color:#183b4c}
html body #bookingWizard .staff-choice.active{background:#f1f8f5!important;border-color:#3a9a86!important}#bookingWizard .staff-choice i{display:none!important}#bookingWizard .staff-choice b{font-size:14px!important}#bookingWizard .staff-choice small{font-size:12px!important;color:#7a8b91;display:block;margin-top:3px}#bookingWizard .team-avatar{display:grid;place-items:center;flex:none;width:42px!important;height:42px!important;border-radius:50%!important;background:#e7f2ee!important;color:#227767!important;overflow:hidden;font-weight:700}#bookingWizard .team-avatar img{width:100%;height:100%;object-fit:cover}
#bookingWizard .bw-no-staff,#bookingWizard #bookingStaffBlock>p{font-size:12px;color:#798990;line-height:1.5;margin:14px 0}
#bookingWizard .bw-calendar{border:1px solid #dfe8e6;border-radius:18px;padding:16px;background:#fafcfb;margin:4px 0 24px}#bookingWizard .bw-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}html body #bookingWizard .bw-calendar-nav h3{font:700 17px/1.4 'DM Sans',system-ui,sans-serif!important;margin:0!important;text-transform:capitalize;color:#193b4d}
#bookingWizard .bw-calendar-nav button{width:40px;height:40px;padding:0;border:1px solid #dbe5e3;border-radius:12px;background:#fff;color:#315465;font-size:19px;box-shadow:none}
#bookingWizard .bw-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}#bookingWizard .bw-day{min-width:0;padding:12px 2px 9px;border:1px solid transparent;border-radius:13px;background:#fff;color:#234553;display:flex;flex-direction:column;align-items:center;gap:7px;box-shadow:none}#bookingWizard .bw-day small{font-size:11px;line-height:1;text-transform:capitalize;color:#7f8e94}#bookingWizard .bw-day b{font-size:18px;line-height:1.2}#bookingWizard .bw-day i{width:4px;height:4px;background:#dce5e4;border-radius:50%}#bookingWizard .bw-day i.has-slots{background:#338675}#bookingWizard .bw-day.selected{background:#183e4f;color:#fff;border-color:#183e4f}#bookingWizard .bw-day.selected small{color:#c9d9dc}#bookingWizard .bw-day.selected i.has-slots{background:#9dddd0}
#bookingWizard .bw-date-jump{margin-top:15px;border-top:1px solid #e4ebe8;padding-top:12px;font-size:12px;color:#53746e}#bookingWizard .bw-date-jump summary{cursor:pointer;font-weight:600}#bookingWizard #bookingDate{width:100%;font-size:16px!important;margin-top:8px!important}#bookingWizard #bwDateField label{font-size:12px!important;text-transform:none!important;letter-spacing:0!important}
html body #bookingWizard #slotList{border:0!important;padding:0!important;background:transparent!important;min-height:0!important;margin:0!important;text-align:left!important;border-radius:0!important}#bookingWizard .bw-times-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}html body #bookingWizard .bw-times-heading h3{font:700 16px/1.4 'DM Sans',system-ui,sans-serif!important;margin:0!important;text-transform:capitalize}#bookingWizard .bw-times-heading>span{font-size:11px;color:#7a8b91;white-space:nowrap}
#bookingWizard .bw-time-group{margin-bottom:20px}#bookingWizard .bw-time-group h4{font:500 12px/1.4 'DM Sans',system-ui,sans-serif;color:#7c8c92;margin:0 0 9px}#bookingWizard .bw-time-group>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}#bookingWizard .bw-time{min-height:47px;padding:12px 5px;border:1px solid #d6e3df;border-radius:12px;background:white;color:#28594f;font:650 15px/1.3 'DM Sans',system-ui,sans-serif;box-shadow:none}#bookingWizard .bw-time.selected{border-color:#177d6b;background:#177d6b;color:#fff}#bookingWizard .bw-time:hover:not(.selected){background:#f2f8f5;border-color:#6aad9d}
#bookingWizard .bw-empty{display:grid;justify-items:center;text-align:center;padding:30px 12px;background:#f7faf9;border-radius:16px;color:#6e8586;font-size:14px;line-height:1.6}#bookingWizard .bw-empty>span{font-size:30px;margin-bottom:8px;color:#4e9183}#bookingWizard .bw-empty>b{color:#294c57}#bookingWizard .bw-empty p{font-size:13px;margin:8px 0 16px}#bookingWizard .bw-empty button{background:white;border:1px solid #bfd4cd;padding:12px 16px;border-radius:12px;color:#1b6f5f;font-weight:650}
#bookingWizard #bwCalendarStatus{font-size:13px;color:#9a493f;line-height:1.5}#bookingWizard #bwCalendarStatus:empty{display:none}
#bookingWizard .bw-summary{border:1px solid #dfe8e5;border-radius:17px;background:#f8fbf9;padding:19px;margin-bottom:28px}#bookingWizard .bw-summary-top{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid #e3ebe7}#bookingWizard .bw-summary-top>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e1f0e9;color:#287e67}#bookingWizard .bw-summary-top small{display:block;font-size:9px;letter-spacing:1.6px;color:#779086;margin-bottom:5px}#bookingWizard .bw-summary-top b{font-size:17px}#bookingWizard .bw-summary dl{margin:8px 0 0}#bookingWizard .bw-summary dl>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;font-size:13px;line-height:1.5}#bookingWizard .bw-summary dt{color:#7c8d8a;max-width:42%}#bookingWizard .bw-summary dd{margin:0;text-align:right;font-weight:600}
html body #bookingWizard .bw-details input{font:400 16px/1.4 'DM Sans',system-ui,sans-serif!important;letter-spacing:0!important;min-height:49px;border:1px solid #dbe4e5!important;border-radius:12px!important;background:#fff;color:#234352;padding:13px!important;box-shadow:none;width:100%}#bookingWizard .bw-details>div{margin-bottom:14px}#bookingWizard .bw-details>div:empty{display:none}#bookingWizard .bw-details label{display:block;font:600 12px/1.5 'DM Sans',system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 7px!important;color:#637c85!important}
#bookingWizard .bookluit-phone-field{margin:0!important;grid-template-columns:110px 1fr}#bookingWizard .bookluit-phone-country{font-size:16px!important}#bookingWizard .bookluit-phone-help{font-size:11px!important}#bookingWizard #phoneVerifyCard{margin:0!important;padding:13px!important;border-radius:12px!important;box-shadow:none!important}#bookingWizard .booking-identity-note{margin:0!important;padding:12px;border-radius:12px;background:#f4f8fa;font-size:11px;box-shadow:none}
html body #bookingWizard .payment-option{background:#fff!important;border:1px solid #dce5e5!important;border-radius:14px!important;box-shadow:none!important;min-height:70px!important;padding:14px!important}html body #bookingWizard .payment-option.active{border-color:#318f79!important;background:#f2f8f5!important}#bookingWizard .payment-option small{font-weight:400;color:#738982}#bookingWizard #paymentPicker{gap:10px;display:grid;grid-template-columns:1fr!important}
#bookingWizard .booking-promo{margin:18px 0!important;padding:14px!important;background:#f8faf9!important;border:1px solid #e2e9e6!important;border-radius:13px!important;box-shadow:none!important}#bookingWizard .booking-promo label{font-size:11px!important;margin:0 0 8px!important}#bookingWizard .booking-promo input{font-size:16px!important}#bookingWizard #applyPromo{background:#214b59!important;color:white!important;box-shadow:none!important;border-radius:10px!important}#bookingWizard .booking-cancellation-policy{background:transparent!important;border:0!important;border-top:1px solid #e4ebe8!important;padding:16px 0!important;box-shadow:none!important;border-radius:0!important;font-size:12px!important}#bookingWizard #bwPrivateTest{font-size:12px}#bookingWizard #bwPrivateTest:empty{display:none}
#bookingWizard .bw-footer{position:sticky;bottom:0;z-index:50;margin:24px -28px 0;padding:17px 28px max(17px,env(safe-area-inset-bottom));border-top:1px solid #e4ebe9;background:#fffffffa;border-radius:0 0 24px 24px;backdrop-filter:blur(12px)}#bookingWizard .bw-footer-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:12px;margin-bottom:13px;color:#72858b}#bookingWizard .bw-footer-summary>b{white-space:nowrap;color:#173d4e;font-size:16px}#bookingWizard .bw-footer-actions{display:flex;align-items:center;gap:10px}#bookingWizard .bw-back{min-height:48px;border:0;background:transparent;color:#71868c;font:600 13px system-ui;padding:9px 10px 9px 0;box-shadow:none}#bookingWizard .bw-next{flex:1;min-height:50px;background:#193f50;color:#fff;border:0;border-radius:13px;padding:14px 17px;font:650 15px/1.4 'DM Sans',system-ui,sans-serif;box-shadow:none}
#bookingWizard #bwConfirmHost{flex:1;min-width:0}#bookingWizard:not([data-step="3"]) #bwConfirmHost,#bookingWizard .is-waitlist #bwConfirmHost{display:none}html body #bookingWizard #bookingConfirm{margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}#bookingWizard #chosenTime{display:none!important}html body #bookingWizard #confirmBooking{width:100%!important;margin:0!important;min-height:50px!important;padding:14px!important;border:0!important;background:#193f50!important;border-radius:13px!important;color:#fff!important;font:650 15px/1.4 'DM Sans',system-ui,sans-serif!important;box-shadow:none!important}
#bookingWizard #bookingMsg{font-size:13px;line-height:1.5;padding:0!important;margin:14px 0!important}#bookingWizard #bookingMsg:empty{display:none}
html body #bookingWizard .booking-waitlist{display:flex!important;align-items:center!important;flex-wrap:wrap;gap:12px!important;min-height:0!important;margin:22px 0 0!important;padding:16px 0!important;border:0!important;border-top:1px solid #e4ece8!important;border-radius:0!important;background:none!important;box-shadow:none!important}#bookingWizard .booking-waitlist .eyebrow{display:none!important}html body #bookingWizard .booking-waitlist h3{font:650 14px/1.3 'DM Sans',system-ui,sans-serif!important;margin:0 0 4px!important}#bookingWizard .booking-waitlist p{font-size:11px;line-height:1.5;margin:0;color:#7e8e92}#bookingWizard .booking-waitlist>div{flex:1;min-width:160px}html body #bookingWizard #joinWaitlist{min-width:0!important;width:auto!important;padding:10px 14px!important;border:1px solid #d4e1dc!important;border-radius:11px!important;background:#f7faf8!important;color:#347765!important;box-shadow:none!important;font-size:12px!important}#bookingWizard #waitlistMsg{flex-basis:100%}
body:has(#booking.bw-active.show) #mobileBottomNav{display:none!important;visibility:hidden!important;pointer-events:none!important}body:has(#booking.bw-active.show)>.bookluit-customer-footer{display:none!important}
#booking.bw-loading .panel{min-height:300px;position:relative}#booking.bw-loading .panel>:not(#bookingBusiness){visibility:hidden!important}#booking.bw-loading .panel:after{content:'Förbereder din bokning …';position:absolute;top:150px;left:28px;color:#70848a;font-size:14px}
#bookingWizard .bw-step{animation:bw-enter .2s ease-out}@keyframes bw-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#bookingWizard .bw-step{animation:none}}
@media(max-width:600px){html body #booking.bw-active{padding:12px 10px 24px!important}html body #booking.bw-active .panel{padding:18px 18px 0!important;border-radius:20px!important}#bookingWizard .bw-steps{gap:5px;margin-bottom:24px;padding-bottom:18px}#bookingWizard .bw-steps button{flex-direction:column;font-size:10px;gap:7px;padding:9px 2px;min-height:67px}#bookingWizard .bw-steps i{width:22px;height:22px}html body #bookingWizard h2{font-size:27px!important}#bookingWizard .bw-hint{font-size:13px;margin-bottom:23px}#bookingWizard .staff-choice-list{grid-template-columns:1fr!important}#bookingWizard .bw-calendar{padding:12px 8px}#bookingWizard .bw-days{gap:3px}#bookingWizard .bw-day{padding:11px 1px 8px;border-radius:11px}#bookingWizard .bw-day small{font-size:10px}#bookingWizard .bw-day b{font-size:17px}#bookingWizard .bw-date-jump{margin-left:4px;margin-right:4px}#bookingWizard .bw-time-group>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#bookingWizard .bw-time{font-size:15px;min-height:48px}#bookingWizard .bw-footer{margin:22px -18px 0;padding:14px 18px max(16px,env(safe-area-inset-bottom));border-radius:0 0 20px 20px}#bookingWizard .bw-footer-actions{gap:8px}#bookingWizard .bw-back{font-size:11px}#bookingWizard .bw-next{font-size:13px;padding:14px 10px}#bookingWizard .bw-summary{padding:15px}#bookingWizard .bw-summary dl>div{font-size:12px}#bookingWizard .bw-times-heading h3{font-size:14px!important}#bookingWizard .bw-times-heading>span{font-size:10px}}
/* Keep checkout focused; the full site navigation returns outside booking. */
body:has(#booking.bw-active.show) > footer,
body:has(#booking.bw-active.show) .ai-finder { display:none!important; }
/* Mobile checkout details: keep the dial code readable, even in iOS Safari. */
html body #bookingWizard .bookluit-phone-field{display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;gap:8px!important}
html body #bookingWizard .bookluit-phone-country{width:100%!important;min-width:0!important;height:52px!important;padding:0 28px 0 12px!important;appearance:none!important;-webkit-appearance:none!important;border-radius:12px!important;font:600 16px/1.3 'DM Sans',system-ui,sans-serif!important;background:#f6f8f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235c7178' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center!important;color:#24414d!important}
html body #bookingWizard .bookluit-phone-local{min-width:0!important;height:52px!important;padding:12px!important}
#bookingWizard .bookluit-phone-help{grid-column:1/-1;font-weight:400!important;color:#76858b!important;line-height:1.5;margin-top:2px}
html body #bookingWizard #phoneVerifyCard{background:#f8fafb!important;border:1px solid #e3e9eb!important;padding:16px!important;border-radius:16px!important;font-size:12px;line-height:1.6}
html body #bookingWizard .payment-option{position:relative;display:block!important;text-align:left!important;padding:19px 46px 19px 66px!important;min-height:86px!important;color:#203c49!important;font:650 16px/1.4 'DM Sans',system-ui,sans-serif!important;border-radius:16px!important}
html body #bookingWizard .payment-option.active{background:#f7faf9!important;border-color:#72a697!important;box-shadow:0 0 0 1px #72a69715!important}
#bookingWizard .payment-option small{display:block!important;margin:5px 0 0!important;font:400 13px/1.5 'DM Sans',system-ui,sans-serif!important;color:#71837e!important}
#bookingWizard .payment-option .shop-mark{position:absolute;left:16px;top:22px;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e7efec;font-size:0!important}
#bookingWizard .payment-option .shop-mark:after{content:'';width:22px;height:22px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d7061' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h18l-2-6H5l-2 6Zm2 0v10h14V10M9 20v-6h6v6M3 10c0 3 4 3 4 0 0 3 5 3 5 0 0 3 5 3 5 0 0 3 4 3 4 0'/%3E%3C/svg%3E")}
html body #bookingWizard #bookingPromo{margin:18px 0!important;padding:18px 0!important;border:0!important;border-top:1px solid #e5ebea!important;border-radius:0!important;background:transparent!important}
html body #bookingWizard #bookingPromo label{display:block;font:600 13px/1.4 'DM Sans',system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;color:#536d76!important;margin-bottom:10px!important}
html body #bookingWizard #bookingPromo>div{display:grid!important;grid-template-columns:minmax(0,1fr) 86px;gap:8px;margin:0!important}
html body #bookingWizard #promoBookingCode{width:100%!important;min-width:0!important;margin:0!important;height:48px!important;min-height:48px!important;padding:12px!important;border:1px solid #dce5e6!important;border-radius:11px!important;background:#fff!important;font:400 16px/1.4 'DM Sans',system-ui,sans-serif!important;box-shadow:none!important}
#bookingWizard #promoBookingCode::placeholder{text-transform:none;color:#94a0a6}
html body #bookingWizard #applyPromo{height:48px!important;min-height:48px!important;margin:0!important;padding:0 12px!important;border:1px solid #d7e3df!important;background:#eef4f1!important;color:#316856!important;font:600 13px/1.4 'DM Sans',system-ui,sans-serif!important;border-radius:11px!important}
#bookingWizard #promoBookingMsg{font:400 11px/1.6 'DM Sans',system-ui,sans-serif!important;margin:9px 0 0!important}
