.fsbm{--green:#123f32;--green2:#1f6b52;--soft:#f5f8f6;--line:#dfe8e3;--text:#17332a;font-family:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:18px 0;box-shadow:0 8px 24px rgba(18,63,50,.06)}
.fsbm *{box-sizing:border-box}.fsbm-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.fsbm-head h3{margin:2px 0 0;color:var(--text);font-size:24px;line-height:1.2}.fsbm-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800;color:var(--green2)}
.fsbm-progress{display:flex;gap:7px}.fsbm-progress span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2ef;color:#769084;font-weight:700}.fsbm-progress span.active{background:var(--green);color:#fff}
.fsbm-step{display:none}.fsbm-step.active{display:block}.fsbm h4{font-size:20px;line-height:1.25;color:var(--text);margin:0 0 2px}.fsbm .muted{color:#64756e;font-size:13px;margin:3px 0 8px}.fsbm label{display:block;font-weight:700;color:var(--text);margin:10px 0 5px}.fsbm input,.fsbm select{width:100%;min-height:44px;border:1px solid #ccd9d2;border-radius:10px;padding:8px 11px;background:#fff;color:#18372d}.fsbm input:focus,.fsbm select:focus{outline:2px solid rgba(31,107,82,.14);border-color:var(--green2)}
.fsbm-traveler{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:13px;margin-top:10px}.fsbm-traveler h5{margin:0 0 5px;font-size:16px;color:var(--text)}.fsbm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fsbm-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.fsbm-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.fsbm .button{border-radius:9px!important;padding:9px 15px!important;min-height:42px}.fsbm .button.alt,.fsbm button.alt{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}
.fsbm-group{margin:13px 0}.fsbm-group>label{font-size:15px;margin:0 0 7px}.fsbm-cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px}.fsbm-choice{margin:0!important;cursor:pointer}.fsbm-choice input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important}.fsbm-choice span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fff;transition:.16s}.fsbm-choice b{font-size:15px;line-height:1.25}.fsbm-choice small{font-size:13px;line-height:1.2;font-weight:600;color:#667870;white-space:nowrap}.fsbm-choice input:checked+span{border-color:var(--green2);box-shadow:0 0 0 1px rgba(31,107,82,.15);background:#f7fbf9}.fsbm-choice input:checked+span small{color:var(--green2)}
.fsbm-fieldgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:10px}.fsbm-field{margin:0}.fsbm-field label{font-size:14px;margin:0 0 5px}.fsbm-notice{margin-top:9px;padding:9px 11px;border-radius:9px;background:#f7f8f7;color:#54675f;display:none}.fsbm-notice.show{display:block}.fsbm-notice.error{background:#fff3f2;color:#9b2f25}.fsbm-summary-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}.fsbm-total{display:flex;justify-content:space-between;margin-top:12px;padding:12px;border-radius:11px;background:var(--soft);font-size:16px}.fsbm-date-row{margin-bottom:8px}
@media(max-width:900px){.fsbm-cardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.fsbm{padding:15px;border-radius:13px}.fsbm-head{align-items:flex-start;flex-direction:column;margin-bottom:13px}.fsbm-grid2,.fsbm-grid3,.fsbm-cardgrid,.fsbm-fieldgrid{grid-template-columns:1fr}.fsbm-progress{width:100%;justify-content:space-between}.fsbm-progress span{flex:1;border-radius:7px;height:8px;font-size:0}.fsbm-nav{flex-wrap:wrap}.fsbm-choice span{min-height:54px}}

/* v0.9.3: vaste vertrekluchthaven bij reguliere retourvluchten */
.fsbm-readonly{min-height:44px;border:1px solid #d9e3de;border-radius:12px;background:#f7faf8;padding:11px 13px;display:flex;flex-direction:column;justify-content:center;gap:2px}.fsbm-readonly strong{font-size:15px;color:#0b3d34}.fsbm-readonly small{font-size:12px;color:#687773}


/* v0.9.4: compacte, doorzoekbare bestemmingen-selectie */
.fsbm-destinations{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.fsbm-destinations-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;align-items:end;margin-bottom:9px}
.fsbm-destinations-head label{font-size:15px;margin:0 0 2px}.fsbm-destinations-head .muted{margin:0}.fsbm-city-search{min-height:40px!important}
.fsbm-city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:285px;overflow:auto;padding:2px 4px 4px 2px}
.fsbm-city{margin:0!important;cursor:pointer}.fsbm-city input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important}
.fsbm-city span{display:flex;justify-content:space-between;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:#fff;font-size:13px;font-weight:700;line-height:1.2;transition:.15s}
.fsbm-city small{font-size:11px;font-weight:600;color:#718079;white-space:nowrap}.fsbm-city input:checked+span{background:#f1f8f4;border-color:var(--green2);box-shadow:0 0 0 1px rgba(31,107,82,.12)}.fsbm-city input:checked+span:before{content:'✓';color:var(--green2);font-weight:900}
.fsbm-city-count{margin-top:8px;font-size:12px;color:#65766e}.fsbm-city-count strong{color:var(--green)}
@media(max-width:900px){.fsbm-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.fsbm-destinations-head{grid-template-columns:1fr}.fsbm-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:340px}}


/* v0.9.7: compacte Five Star iconen en duidelijke bagage-uitleg */
.fsbm-label-with-icon{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}
.fsbm-label-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;border-radius:9px;background:#eef7f2;border:1px solid #d9e9e0;font-size:15px;line-height:1}
.fsbm h3 .fsbm-label-icon,.fsbm h4 .fsbm-label-icon{width:32px;height:32px;flex-basis:32px;border-radius:10px;font-size:17px}
.fsbm-field-help{display:block;margin-top:6px;color:#6d7c75;font-size:11.5px;line-height:1.4}
.fsbm-field>label,.fsbm-group>label,.fsbm-destinations-head label{display:flex;align-items:center;margin-bottom:7px}
@media(max-width:680px){.fsbm-label-icon{width:26px;height:26px;flex-basis:26px}.fsbm h3 .fsbm-label-icon,.fsbm h4 .fsbm-label-icon{width:30px;height:30px;flex-basis:30px}}

.fsbm-surcharge-box{margin:0 0 14px;padding:12px 14px;border:1px solid #dbe7df;border-radius:12px;background:#f7fbf8}.fsbm-surcharge-title{font-weight:700;margin-bottom:7px}.fsbm-surcharge-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:6px 0;border-top:1px solid #e6efe9}.fsbm-surcharge-row:first-of-type{border-top:0}.fsbm-surcharge-row small{font-weight:400;color:#6b756f}.fsbm-surcharge-row strong{white-space:nowrap}

/* v0.10.2: reisdocument- en ETA-waarschuwingen */
.fsbm-travel-alert{display:flex;flex-direction:column;gap:3px;margin:10px 0 14px;padding:11px 13px;border-radius:11px;border:1px solid #d7e3dc;background:#f7faf8;color:#24463a;font-size:13px;line-height:1.4}
.fsbm-travel-alert strong{font-size:14px}.fsbm-travel-alert-passport{background:#fff8ea;border-color:#ecd39a;color:#674c14}.fsbm-travel-alert-eta{background:#eef5ff;border-color:#b9d1ee;color:#244b78}

/* v0.10.3: directe datumvalidatie en informatie-popovers */
.fsbm-field-error{display:none;margin-top:5px;font-size:12px;line-height:1.35;font-weight:700;color:#a12622}.fsbm-field-error.show{display:block}.fsbm input.fsbm-invalid{border-color:#c7433c!important;box-shadow:0 0 0 2px rgba(199,67,60,.10)!important;background:#fffafa}
.fsbm-label-info-wrap{position:relative;display:inline-flex;align-items:center;gap:7px;max-width:100%}.fsbm-info-btn{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;padding:0!important;margin:0!important;border:1px solid #b8ccc2!important;border-radius:50%!important;background:#fff!important;color:var(--green)!important;font-size:13px!important;font-weight:800!important;line-height:20px!important;text-align:center;cursor:pointer;box-shadow:none!important}.fsbm-info-btn:hover,.fsbm-info-btn:focus{background:#eef7f2!important;border-color:var(--green2)!important;outline:none}.fsbm-info-popover{display:none;position:absolute;z-index:50;left:37px;top:calc(100% + 7px);width:min(330px,calc(100vw - 50px));padding:10px 12px;border:1px solid #d4e1da;border-radius:10px;background:#fff;color:#344b41;font-size:12.5px;font-weight:500;line-height:1.45;box-shadow:0 8px 24px rgba(15,52,39,.14)}.fsbm-label-info-wrap.is-open .fsbm-info-popover{display:block}.fsbm-info-popover:before{content:'';position:absolute;top:-6px;left:18px;width:10px;height:10px;background:#fff;border-left:1px solid #d4e1da;border-top:1px solid #d4e1da;transform:rotate(45deg)}
@media(max-width:680px){.fsbm-info-popover{left:0;top:calc(100% + 8px)}}

/* v0.10.8: klantkalender met echte beschikbaarheidskleuren en geblokkeerde dagen */
.fsbm-customer-datepicker{position:relative}.fsbm-date-trigger{width:100%;min-height:54px;border:1px solid #ccd9d2;border-radius:10px;background:#fff;color:#18372d;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;font-weight:650;cursor:pointer;text-align:left}.fsbm-date-trigger:hover,.fsbm-date-trigger:focus{border-color:var(--green2);outline:2px solid rgba(31,107,82,.10)}.fsbm-date-trigger.has-value{color:var(--green);background:#fbfdfc}
.fsbm-date-panel{display:none;position:absolute;z-index:100;top:calc(100% + 7px);left:0;width:min(390px,calc(100vw - 40px));padding:12px;background:#fff;border:1px solid #d8e4de;border-radius:13px;box-shadow:0 14px 36px rgba(18,63,50,.18)}.fsbm-customer-datepicker.is-open .fsbm-date-panel{display:block}.fsbm-date-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:9px}.fsbm-date-head strong{text-align:center;color:var(--text);text-transform:capitalize}.fsbm-date-head button{width:36px;height:34px;min-height:34px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;color:var(--green)!important;font-size:24px!important;line-height:1!important;cursor:pointer}
.fsbm-cal-week,.fsbm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.fsbm-cal-week{margin-bottom:5px}.fsbm-cal-week span{text-align:center;font-size:10px;font-weight:800;color:#76877f;text-transform:uppercase}.fsbm-cal-empty{aspect-ratio:1}.fsbm-cal-day{position:relative;aspect-ratio:1;min-height:38px!important;padding:0!important;border-radius:9px!important;border:1px solid transparent!important;font:inherit!important;font-weight:800!important;cursor:pointer!important;box-shadow:none!important}.fsbm-cal-day span{position:relative;z-index:2}.fsbm-cal-day.is-available{background:#dff4df!important;border-color:#b7dfb7!important;color:#215d2b!important}.fsbm-cal-day.is-outbound_only{background:#fff0c7!important;border-color:#e8c661!important;color:#70550b!important}.fsbm-cal-day.is-return_only{background:#dcecff!important;border-color:#9fc4ef!important;color:#235d91!important}.fsbm-cal-day.is-unavailable{background:#f5dede!important;border-color:#e8b8b8!important;color:#9b3030!important}.fsbm-cal-day:disabled{opacity:.52!important;cursor:not-allowed!important;filter:saturate(.75)}.fsbm-cal-day.is-selected{box-shadow:0 0 0 3px rgba(18,63,50,.20)!important;border-color:var(--green)!important}.fsbm-cal-day:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(18,63,50,.12)!important}
.fsbm-cal-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line);font-size:10.5px;color:#607168}.fsbm-cal-legend span{display:inline-flex;align-items:center;gap:5px}.fsbm-cal-legend i{width:11px;height:11px;border-radius:3px;border:1px solid transparent}.fsbm-cal-legend i.is-available{background:#dff4df;border-color:#b7dfb7}.fsbm-cal-legend i.is-outbound_only{background:#fff0c7;border-color:#e8c661}.fsbm-cal-legend i.is-return_only{background:#dcecff;border-color:#9fc4ef}.fsbm-cal-legend i.is-unavailable{background:#f5dede;border-color:#e8b8b8}
@media(max-width:680px){.fsbm-date-panel{position:fixed;left:12px;right:12px;top:50%;width:auto;max-width:none;transform:translateY(-50%);z-index:9999}.fsbm-cal-day{min-height:36px!important}}

/* v0.10.9: verleden dagen grijs; kalender blijft open bij maandnavigatie */
.fsbm-cal-day.is-past{background:#ecefed!important;border-color:#d7ddda!important;color:#9aa39f!important;opacity:1!important;cursor:not-allowed!important;filter:none!important}.fsbm-cal-day.is-past:hover{transform:none!important;box-shadow:none!important}.fsbm-cal-legend i.is-past{background:#ecefed;border-color:#d7ddda}

/* v0.11.1 - datumtoeslagen direct zichtbaar in klantkalender */
.fsbm-cal-day.has-date-fee{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;line-height:1.05!important}
.fsbm-cal-day .fsbm-day-number{display:block;line-height:1!important}
.fsbm-date-fees{display:flex;flex-direction:column;align-items:center;gap:1px;max-width:100%;margin-top:2px;pointer-events:none}
.fsbm-date-fee{display:block;max-width:100%;padding:1px 3px;border-radius:4px;background:rgba(255,255,255,.82);color:#183f33;font-size:7px!important;font-weight:900!important;line-height:1.15!important;white-space:nowrap;letter-spacing:-.15px;box-shadow:0 1px 2px rgba(18,63,50,.08)}
.fsbm-cal-day.is-unavailable .fsbm-date-fee,.fsbm-cal-day.is-past .fsbm-date-fee{color:#737d78;background:rgba(255,255,255,.68)}
.fsbm-cal-day.has-date-fee{min-height:46px!important}
.fsbm-cal-legend .fsbm-fee-legend b{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:4px;background:#fff5d6;border:1px solid #e4c866;color:#72590a;font-size:10px;margin-right:4px}
@media(max-width:680px){.fsbm-cal-day.has-date-fee{min-height:43px!important}.fsbm-date-fee{font-size:6.5px!important;padding:1px 2px}}

/* v0.11.2: vaste CTA in de laatste stap; standaard WooCommerce-knop buiten de wizard verbergen. */
form.fsbm-cart-form .single_add_to_cart_button:not(.fsbm-cart-submit){display:none!important}
.fsbm-final-nav{align-items:center}
.fsbm-cart-submit{margin-left:auto!important;background:var(--green)!important;color:#fff!important;border-color:var(--green)!important;font-weight:800!important;padding:11px 20px!important;min-height:46px!important}
.fsbm-cart-submit:hover{filter:brightness(.95)}
@media(max-width:680px){.fsbm-final-nav{display:grid;grid-template-columns:1fr}.fsbm-cart-submit,.fsbm-final-nav .fsbm-prev{width:100%;margin:0!important}.fsbm-cart-submit{order:1}.fsbm-final-nav .fsbm-prev{order:2}}

/* 0.11.4: eigen CTA mag nooit door thema-regels voor WooCommerce add-to-cart worden verborgen */
.fsbm .fsbm-cart-submit{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:2!important;}


/* v0.11.9: gratis luchthaven uitsluiten in dezelfde tegelstijl als betaalde uitsluitingen */
.fsbm-free-airport-exclusion .fsbm-city input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.fsbm-free-airport-exclusion .fsbm-city:has(input:checked){border-color:var(--green2)!important;background:#eef8f2!important;box-shadow:0 0 0 2px rgba(31,107,82,.10)!important}
.fsbm-free-airport-exclusion .fsbm-city:has(input:checked) span:after{content:'✓';margin-left:auto;color:var(--green2);font-weight:900}
.fsbm-paid-airport-card.is-free-blocked{background:#f0f2f1!important;border-color:#d9dfdc!important;color:#929b97!important;cursor:not-allowed!important;opacity:.72}
.fsbm-paid-airport-card.is-free-blocked span,.fsbm-paid-airport-card.is-free-blocked small{color:#929b97!important}
.fsbm-paid-airport-card.is-free-blocked input{pointer-events:none}
.fsbm-paid-airport-card.is-free-blocked:hover{transform:none!important;box-shadow:none!important}

/* v0.12.0: producthoeveelheid is altijd 1 boeking; losse WooCommerce quantity volledig verbergen */
form.fsbm-cart-form .quantity, form.fsbm-cart-form .quantity input.qty{display:none!important;visibility:hidden!important;width:0!important;height:0!important;margin:0!important;padding:0!important;border:0!important;}

/* 0.12.5: duidelijke feedback bij toevoegen aan winkelwagen */
.fsbm-cart-feedback{margin:14px 0 4px;padding:11px 13px;border-radius:10px;font-size:14px;display:none}
.fsbm-cart-feedback.is-error,.fsbm-cart-feedback.is-success{display:block}
.fsbm-cart-feedback.is-error{background:#fff1f1;border:1px solid #e8b7b7;color:#8b1e1e}
.fsbm-cart-feedback.is-success{background:#eef8f1;border:1px solid #b9dcc2;color:#245d32}
.fsbm-cart-submit.is-loading{pointer-events:none;opacity:.75}

/* v0.12.6: Five Star verwerkingsscherm */
html.fsbm-processing-open,html.fsbm-processing-open body{overflow:hidden!important}
.fsbm-processing-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(245,248,246,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.fsbm-processing-overlay.is-visible{opacity:1;visibility:visible;pointer-events:all}
.fsbm-processing-card{width:min(430px,100%);text-align:center;background:#fff;border:1px solid #dfe8e3;border-radius:22px;padding:32px 26px 28px;box-shadow:0 24px 70px rgba(18,63,50,.16)}
.fsbm-processing-mark{position:relative;width:190px;height:150px;margin:0 auto 16px;display:grid;place-items:center}
.fsbm-processing-brand{position:relative;z-index:2;display:flex;flex-direction:column;line-height:1}
.fsbm-processing-brand strong{font-size:29px;letter-spacing:-.035em;color:#123f32}
.fsbm-processing-brand span{margin-top:5px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#657b72}
.fsbm-plane-orbit{position:absolute;inset:7px 26px 5px;border:2px solid rgba(18,63,50,.13);border-radius:50%;animation:fsbm-orbit 1.65s linear infinite}
.fsbm-plane{position:absolute;left:50%;top:-13px;display:grid;place-items:center;width:28px;height:28px;margin-left:-14px;font-size:25px;line-height:1;color:#d92c2c;filter:drop-shadow(0 3px 4px rgba(217,44,44,.18));transform:rotate(90deg)}
.fsbm-processing-text{color:#17332a;font-size:18px;font-weight:800;line-height:1.4}
@keyframes fsbm-orbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fsbm-plane-orbit{animation-duration:4s}}
@media(max-width:520px){.fsbm-processing-card{padding:26px 18px 24px}.fsbm-processing-mark{transform:scale(.9);margin-bottom:8px}.fsbm-processing-text{font-size:16px}}

/* v0.13.2: winkelwagen als Five Star reserveringsoverzicht */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals{--fs-cart-green:#123f32;--fs-cart-soft:#f5f8f6;--fs-cart-line:#dfe8e3;--fs-cart-text:#17332a}
body.woocommerce-cart .woocommerce-cart-form table.shop_table{border:1px solid var(--fs-cart-line)!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 10px 30px rgba(18,63,50,.05)!important}
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead th{background:var(--fs-cart-soft)!important;color:var(--fs-cart-text)!important;font-weight:800!important;border-color:var(--fs-cart-line)!important}
body.woocommerce-cart .woocommerce-cart-form table.shop_table td{border-color:var(--fs-cart-line)!important;vertical-align:top!important}
body.woocommerce-cart .woocommerce-cart-form .product-name>a{color:var(--fs-cart-green)!important;font-weight:800!important;font-size:1.05em!important}
body.woocommerce-cart .woocommerce-cart-form .product-name dl.variation,
body.woocommerce-cart .woocommerce-cart-form .product-name .variation{margin-top:12px!important;color:#40564d!important}
body.woocommerce-cart .woocommerce-cart-form .product-name dl.variation dt{font-weight:750!important;color:var(--fs-cart-text)!important}
body.woocommerce-cart .woocommerce-cart-form th.product-quantity,
body.woocommerce-cart .woocommerce-cart-form td.product-quantity{display:none!important}
body.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{display:none!important}
body.woocommerce-cart .woocommerce-cart-form td.actions{background:#fbfcfb!important;padding:14px!important}
body.woocommerce-cart .woocommerce-cart-form .coupon{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
body.woocommerce-cart .woocommerce-cart-form .coupon input.input-text{min-width:210px!important;min-height:46px!important;border:1px solid #ccd9d2!important;border-radius:10px!important;padding:9px 12px!important;background:#fff!important}
body.woocommerce-cart .woocommerce-cart-form .coupon button.button{min-height:46px!important;border-radius:10px!important;background:var(--fs-cart-green)!important;color:#fff!important;font-weight:800!important;border:0!important;padding:10px 18px!important}
body.woocommerce-cart .cart_totals{border:1px solid var(--fs-cart-line)!important;border-radius:16px!important;padding:18px!important;background:#fff!important;box-shadow:0 10px 30px rgba(18,63,50,.05)!important}
body.woocommerce-cart .cart_totals h2{color:var(--fs-cart-text)!important;margin-top:0!important}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{border-radius:12px!important;background:var(--fs-cart-green)!important;color:#fff!important;font-weight:850!important}
@media(max-width:768px){body.woocommerce-cart .woocommerce-cart-form .coupon{display:grid!important;grid-template-columns:1fr!important}body.woocommerce-cart .woocommerce-cart-form .coupon input.input-text,body.woocommerce-cart .woocommerce-cart-form .coupon button.button{width:100%!important;min-width:0!important}}
.fsbm-grand-total{background:#e9f3ef;border:1px solid #bdd6cb;color:#0d3f34;font-size:17px}.fsbm-grand-total strong{font-size:18px}
.fsbm-traveler input[list="fsbm-nationalities"]{background-image:none}

/* v0.13.5: compacte prijsdetails, NL datuminput en actieve documentwaarschuwing */
.fsbm-expiry-display{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.fsbm-expiry-error.show{display:block;margin-top:7px;padding:8px 10px;border:1px solid #e5aaa6;border-radius:8px;background:#fff3f2;color:#9b2520;font-weight:750}
.fsbm-extra-summary{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.fsbm-extra-summary summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 15px;cursor:pointer;font-weight:800;color:var(--text);background:#f8faf9}
.fsbm-extra-summary summary::-webkit-details-marker{display:none}.fsbm-extra-summary summary:before{content:'›';font-size:20px;color:var(--green2);transition:transform .15s}.fsbm-extra-summary[open] summary:before{transform:rotate(90deg)}
.fsbm-extra-summary summary span{margin-right:auto}.fsbm-extra-summary summary small{font-weight:500;color:#708079}.fsbm-extra-summary summary strong{white-space:nowrap;color:var(--green)}
.fsbm-extra-breakdown{padding:4px 15px 10px}.fsbm-extra-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #edf1ef}.fsbm-extra-detail-row:first-child{border-top:0}.fsbm-extra-detail-row span{display:flex;flex-direction:column;gap:2px}.fsbm-extra-detail-row b{font-size:13px;color:#243f35}.fsbm-extra-detail-row small{font-size:11.5px;color:#718078}.fsbm-extra-detail-row strong{font-size:13px;white-space:nowrap;color:#173d31}
@media(max-width:680px){.fsbm-extra-detail-row{gap:10px}.fsbm-extra-summary summary{padding:12px}.fsbm-extra-breakdown{padding-left:12px;padding-right:12px}}

/* v0.13.6: 18+ controle en reservering wijzigen */
.fsbm-adult-error.show{display:block;margin:12px 0 0;padding:10px 12px;border:1px solid #e5aaa6;border-radius:9px;background:#fff3f2;color:#9b2520;font-weight:750}
body.woocommerce-cart .fsbm-cart-edit-wrap{margin:12px 0 0!important}
body.woocommerce-cart .fsbm-cart-edit{display:inline-flex!important;align-items:center;gap:7px;min-height:38px;padding:8px 13px!important;border-radius:9px!important;background:#eef5f1!important;border:1px solid #cfe0d7!important;color:#123f32!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important}
body.woocommerce-cart .fsbm-cart-edit:hover{background:#e4efe9!important;color:#123f32!important}

/* v0.13.11: reserveringsgegevens in winkelwagen strak uitlijnen */
.woocommerce-cart td.product-name dl.variation,
.woocommerce-cart-form td.product-name dl.variation{
  display:grid!important;
  grid-template-columns:350px minmax(0,1fr)!important;
  column-gap:12px!important;
  row-gap:7px!important;
  align-items:start!important;
  margin:14px 0 6px!important;
}
.woocommerce-cart td.product-name dl.variation dt,
.woocommerce-cart td.product-name dl.variation dd,
.woocommerce-cart-form td.product-name dl.variation dt,
.woocommerce-cart-form td.product-name dl.variation dd{
  float:none!important;clear:none!important;width:auto!important;margin:0!important;padding:0!important;line-height:1.45!important;
}
.woocommerce-cart td.product-name dl.variation dt,
.woocommerce-cart-form td.product-name dl.variation dt{font-weight:700!important;white-space:nowrap}
.woocommerce-cart td.product-name dl.variation dd p,
.woocommerce-cart-form td.product-name dl.variation dd p{margin:0!important}
@media(max-width:680px){
 .woocommerce-cart td.product-name dl.variation,.woocommerce-cart-form td.product-name dl.variation{grid-template-columns:1fr!important;row-gap:2px!important}
 .woocommerce-cart td.product-name dl.variation dd,.woocommerce-cart-form td.product-name dl.variation dd{margin-bottom:7px!important}
}

/* v0.13.12: vaste uitlijning reserveringsgegevens */
@media(min-width:681px){
 body.woocommerce-cart td.product-name dl.variation,
 body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation{grid-template-columns:350px minmax(0,1fr)!important;}
}


/* v0.13.13: toeslaglabels compact en exact op dezelfde basislijn */
@media(min-width:681px){
 body.woocommerce-cart td.product-name dl.variation,
 body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation{
   grid-template-columns:390px minmax(0,1fr)!important;
   align-items:baseline!important;
 }
 body.woocommerce-cart td.product-name dl.variation dt,
 body.woocommerce-cart td.product-name dl.variation dd,
 body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dt,
 body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dd{align-self:baseline!important;}
}
