/* Ease Camp modern skin for the native Pinpoint 3 booking widget.
 * This file deliberately does not replace Pinpoint's booking logic.
 * It only styles the existing DOM and classes added by booking-modern.js.
 */
.eccf-modern-booking{
    --eccf-green:#1d5f3b;
    --eccf-green-dark:#15472d;
    --eccf-green-soft:#edf6f0;
    --eccf-border:#dce4df;
    --eccf-border-strong:#b9c9bf;
    --eccf-text:#202723;
    --eccf-muted:#66716a;
    --eccf-bg:#f7f9f8;
    --eccf-white:#fff;
    --eccf-radius:14px;
    color:var(--eccf-text);
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-wrap:anywhere;
}
.eccf-modern-booking *{box-sizing:border-box}
.eccf-modern-booking .eccf-public-card{
    border:0;
    border-radius:0;
    padding:0;
    background:transparent;
}
.eccf-modern-booking .eccf-public-card>h2{
    margin:0 0 18px;
    font-size:clamp(24px,3vw,34px);
    line-height:1.2;
    letter-spacing:-.02em;
}
.eccf-modern-booking .eccf-public-back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin:0 0 18px;
    color:var(--eccf-green);
    font-weight:600;
    text-decoration:none;
}
.eccf-modern-booking .eccf-booking-flow{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:0 0 18px;
}
.eccf-modern-booking .eccf-booking-flow span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 10px;
    border:1px solid var(--eccf-border);
    border-radius:999px;
    background:var(--eccf-white);
    color:var(--eccf-muted);
    font-size:13px;
    font-weight:650;
    text-align:center;
}
.eccf-modern-booking .eccf-booking-flow span.is-current{
    border-color:var(--eccf-green);
    color:var(--eccf-green-dark);
    background:var(--eccf-green-soft);
}
.eccf-modern-booking .eccf-booking-flow span.is-complete{
    border-color:var(--eccf-border-strong);
    color:var(--eccf-green-dark);
}
.eccf-modern-booking .eccf-booking-intro{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin:0 0 22px;
    padding:16px 18px;
    border:1px solid var(--eccf-border);
    border-radius:var(--eccf-radius);
    background:var(--eccf-bg);
}
.eccf-modern-booking .eccf-booking-intro p{
    margin:0;
    color:var(--eccf-muted);
    line-height:1.55;
}
.eccf-modern-booking .eccf-booking-intro strong{color:var(--eccf-text)}
.eccf-modern-booking .eccf-booking-payment-pill{
    flex:0 0 auto;
    padding:7px 11px;
    border-radius:999px;
    background:var(--eccf-green-soft);
    color:var(--eccf-green-dark);
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}

/* Bridge/native checkout wrapper so the revealed Pinpoint form matches the
 * Ease Camp booking style instead of falling back to plain Pinpoint chrome. */
.eccf-modern-booking .eccf-bridge-card{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    padding:0!important;
    box-shadow:none!important;
}
.eccf-modern-booking .eccf-bridge-intro{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin:0 0 16px;
    padding:0 0 14px;
    border:0!important;
    border-bottom:1px solid var(--eccf-border)!important;
    border-radius:0!important;
    background:transparent!important;
}
.eccf-modern-booking .eccf-bridge-intro strong{display:block;color:var(--eccf-text);font-size:15px;line-height:1.25;font-weight:750}
.eccf-modern-booking .eccf-bridge-intro span{display:block;margin-top:3px;color:var(--eccf-muted);font-size:13px;line-height:1.45;max-width:38ch}

/* Generic content cleanup for the native Pinpoint checkout once it is shown
 * inline below the Ease Camp page. */
.eccf-modern-booking .eccf-public-calendar p,
.eccf-modern-booking .eccf-public-calendar li,
.eccf-modern-booking .eccf-public-calendar td,
.eccf-modern-booking .eccf-public-calendar th,
.eccf-modern-booking .eccf-public-calendar label{
    color:var(--eccf-text)!important;
    line-height:1.5!important;
}
.eccf-modern-booking .eccf-public-calendar label{font-weight:650!important}
.eccf-modern-booking .eccf-public-calendar [class*="message"],
.eccf-modern-booking .eccf-public-calendar [class*="notice"],
.eccf-modern-booking .eccf-public-calendar [class*="warning"],
.eccf-modern-booking .eccf-public-calendar [class*="error"]{
    border-radius:10px!important;
}
.eccf-modern-booking .eccf-public-calendar [class*="error"]{
    background:#fff3f3!important;
    border:1px solid #e7c2c2!important;
    color:#7a2525!important;
    padding:10px 12px!important;
}
.eccf-modern-booking .eccf-public-calendar [class*="message"],
.eccf-modern-booking .eccf-public-calendar [class*="notice"],
.eccf-modern-booking .eccf-public-calendar [class*="warning"]{
    background:#f7f9f8!important;
    border:1px solid var(--eccf-border)!important;
    color:var(--eccf-text)!important;
    padding:10px 12px!important;
}
.eccf-modern-booking .eccf-public-calendar fieldset{
    margin:18px 0!important;
    padding:16px!important;
    border:1px solid var(--eccf-border)!important;
    border-radius:12px!important;
}
.eccf-modern-booking .eccf-public-calendar legend{
    padding:0 6px!important;
    color:var(--eccf-text)!important;
    font-weight:750!important;
}
.eccf-modern-booking .eccf-public-calendar hr{
    margin:18px 0!important;
    border:0!important;
    border-top:1px solid var(--eccf-border)!important;
}
.eccf-modern-booking .eccf-public-calendar{
    width:100%;
    max-width:100%;
    min-width:0;
    margin-top:0;
    overflow:visible;
}
.eccf-modern-booking .eccf-public-calendar>div,
.eccf-modern-booking .eccf-public-calendar>section{
    max-width:100%!important;
}
.eccf-modern-booking .eccf-public-calendar ul{
    list-style:none;
}

/* Form controls: keep Pinpoint names/events untouched, change presentation only. */
.eccf-modern-booking .eccf-public-calendar input[type="text"],
.eccf-modern-booking .eccf-public-calendar input[type="email"],
.eccf-modern-booking .eccf-public-calendar input[type="tel"],
.eccf-modern-booking .eccf-public-calendar input[type="number"],
.eccf-modern-booking .eccf-public-calendar input[type="date"],
.eccf-modern-booking .eccf-public-calendar input[type="password"],
.eccf-modern-booking .eccf-public-calendar select,
.eccf-modern-booking .eccf-public-calendar textarea{
    min-height:46px;
    padding:10px 12px!important;
    border:1px solid var(--eccf-border-strong)!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--eccf-text)!important;
    box-shadow:none!important;
    font:inherit!important;
    font-size:15px!important;
    transition:border-color .15s ease,box-shadow .15s ease;
}
.eccf-modern-booking .eccf-public-calendar textarea{min-height:110px;resize:vertical}
.eccf-modern-booking .eccf-public-calendar input:focus,
.eccf-modern-booking .eccf-public-calendar select:focus,
.eccf-modern-booking .eccf-public-calendar textarea:focus{
    outline:none!important;
    border-color:var(--eccf-green)!important;
    box-shadow:0 0 0 3px rgba(29,95,59,.13)!important;
}
.eccf-modern-booking .eccf-public-calendar input[type="checkbox"],
.eccf-modern-booking .eccf-public-calendar input[type="radio"]{
    width:20px;
    height:20px;
    accent-color:var(--eccf-green);
}

/* Generic Pinpoint buttons get a cleaner baseline. Calendar cells remain untouched
 * because the modern primary class is added only to semantic booking actions. */
.eccf-modern-booking .eccf-public-calendar button,
.eccf-modern-booking .eccf-public-calendar input[type="button"],
.eccf-modern-booking .eccf-public-calendar input[type="submit"]{
    font-family:inherit;
}
.eccf-modern-booking .eccf-modern-action{
    min-height:46px!important;
    padding:11px 18px!important;
    border-radius:10px!important;
    border:1px solid var(--eccf-border-strong)!important;
    text-decoration:none!important;
    font-weight:700!important;
    cursor:pointer!important;
    transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease!important;
}
.eccf-modern-booking .eccf-modern-action:hover{transform:translateY(-1px)}
.eccf-modern-booking .eccf-modern-action-primary{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:48px!important;
    margin-top:10px!important;
    padding:12px 18px!important;
    border:1px solid var(--eccf-green)!important;
    border-radius:12px!important;
    background:var(--eccf-green)!important;
    color:#fff!important;
    box-shadow:0 6px 18px rgba(29,95,59,.14)!important;
    font-size:16px!important;
    line-height:1.2!important;
    text-align:center!important;
}
.eccf-modern-booking .eccf-modern-action-secondary{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    margin-top:10px!important;
    padding:12px 16px!important;
    border:1px solid var(--eccf-border-strong)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--eccf-text)!important;
    box-shadow:none!important;
    font-size:15px!important;
    line-height:1.2!important;
    text-align:center!important;
}
.eccf-modern-booking .eccf-modern-action-secondary:hover{
    border-color:var(--eccf-green)!important;
    color:var(--eccf-green-dark)!important;
    background:var(--eccf-green-soft)!important;
}
.eccf-modern-booking .eccf-modern-action-primary:hover{
    background:var(--eccf-green-dark)!important;
    border-color:var(--eccf-green-dark)!important;
}
.eccf-modern-booking .eccf-modern-action-primary:disabled,
.eccf-modern-booking .eccf-modern-action-primary[aria-disabled="true"]{
    opacity:.5!important;
    cursor:not-allowed!important;
    transform:none!important;
    box-shadow:none!important;
}

/* Option cards. JS adds these classes to the actual Pinpoint controls, so the
 * original input/select still owns the booking state and price calculation. */
.eccf-modern-booking .eccf-modern-options-section{
    margin-top:18px!important;
    padding:18px!important;
    border:1px solid var(--eccf-border)!important;
    border-radius:var(--eccf-radius)!important;
    background:#fff!important;
}
.eccf-modern-booking .eccf-modern-options-section .eccf-option-tile,
.eccf-modern-booking .eccf-option-tile{
    position:relative;
    display:flex!important;
    align-items:flex-start!important;
    gap:11px!important;
    min-height:62px;
    margin:7px 0!important;
    padding:13px 44px 13px 14px!important;
    border:1px solid var(--eccf-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--eccf-text)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
.eccf-modern-booking .eccf-option-tile:hover{
    border-color:var(--eccf-border-strong)!important;
    transform:translateY(-1px);
    box-shadow:0 6px 18px rgba(31,50,39,.07)!important;
}
.eccf-modern-booking .eccf-option-tile.is-selected{
    border-color:var(--eccf-green)!important;
    background:var(--eccf-green-soft)!important;
    box-shadow:0 0 0 2px rgba(29,95,59,.08)!important;
}
.eccf-modern-booking .eccf-option-tile .eccf-tile-check{
    position:absolute;
    top:13px;
    right:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:23px;
    height:23px;
    border:1px solid var(--eccf-border-strong);
    border-radius:50%;
    background:#fff;
    color:transparent;
    font-size:14px;
    font-weight:800;
    line-height:1;
}
.eccf-modern-booking .eccf-option-tile.is-selected .eccf-tile-check{
    border-color:var(--eccf-green);
    background:var(--eccf-green);
    color:#fff;
}
.eccf-modern-booking .eccf-option-tile.is-selected .eccf-tile-check:before{content:"✓"}
.eccf-modern-booking .eccf-option-tile label,
.eccf-modern-booking .eccf-option-tile span,
.eccf-modern-booking .eccf-option-tile p{cursor:pointer}

.eccf-modern-booking .eccf-tile-source-select{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
}
.eccf-modern-booking .eccf-select-tiles{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:10px;
    margin:8px 0 14px;
}
.eccf-modern-booking .eccf-select-tile{
    position:relative;
    min-height:58px;
    padding:12px 40px 12px 13px!important;
    border:1px solid var(--eccf-border)!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--eccf-text)!important;
    font:inherit!important;
    font-weight:650!important;
    line-height:1.3!important;
    text-align:left!important;
    cursor:pointer!important;
    box-shadow:none!important;
}
.eccf-modern-booking .eccf-select-tile:after{
    content:"";
    position:absolute;
    top:50%;
    right:13px;
    width:20px;
    height:20px;
    transform:translateY(-50%);
    border:1px solid var(--eccf-border-strong);
    border-radius:50%;
    background:#fff;
}
.eccf-modern-booking .eccf-select-tile.is-selected{
    border-color:var(--eccf-green)!important;
    background:var(--eccf-green-soft)!important;
    color:var(--eccf-green-dark)!important;
    box-shadow:0 0 0 2px rgba(29,95,59,.08)!important;
}
.eccf-modern-booking .eccf-select-tile.is-selected:after{
    content:"✓";
    display:flex;
    align-items:center;
    justify-content:center;
    border-color:var(--eccf-green);
    background:var(--eccf-green);
    color:#fff;
    font-size:13px;
    font-weight:800;
}

/* Existing Pinpoint reservation/cart summary, if present, is turned into a card. */
.eccf-modern-booking .eccf-modern-summary{
    margin-top:18px!important;
    padding:15px 16px!important;
    border:1px solid var(--eccf-border)!important;
    border-radius:12px!important;
    background:var(--eccf-bg)!important;
    box-shadow:none!important;
}
.eccf-modern-booking .eccf-modern-summary strong,
.eccf-modern-booking .eccf-modern-summary b{color:var(--eccf-text)}

/* Section headings detected inside the Pinpoint widget. */
.eccf-modern-booking .eccf-modern-payment-section,
.eccf-modern-booking .eccf-modern-contact-section{
    margin-top:18px!important;
    padding:16px!important;
    border:1px solid var(--eccf-border)!important;
    border-radius:14px!important;
    background:#fff!important;
}
.eccf-modern-booking .eccf-modern-payment-section .eccf-option-tile{
    min-height:54px!important;
    padding:12px 16px 12px 14px!important;
    border-radius:12px!important;
}
.eccf-modern-booking .eccf-modern-payment-section .eccf-option-tile .eccf-tile-check{
    top:50%;right:14px;transform:translateY(-50%);
}
.eccf-modern-booking .eccf-modern-payment-section .eccf-modern-action-primary{margin-top:14px!important}
.eccf-modern-booking .eccf-modern-contact-section input[type="text"],
.eccf-modern-booking .eccf-modern-contact-section input[type="email"],
.eccf-modern-booking .eccf-modern-contact-section input[type="tel"],
.eccf-modern-booking .eccf-modern-contact-section input[type="number"],
.eccf-modern-booking .eccf-modern-contact-section input[type="date"],
.eccf-modern-booking .eccf-modern-contact-section select,
.eccf-modern-booking .eccf-modern-contact-section textarea{
    min-height:44px!important;
    border-radius:12px!important;
}
.eccf-modern-booking .eccf-public-calendar [class*="steps"],
.eccf-modern-booking .eccf-public-calendar [class*="process"],
.eccf-modern-booking .eccf-public-calendar [class*="navigation"]{
    max-width:100%!important;
}
.eccf-modern-booking .eccf-public-calendar [class*="steps"] button,
.eccf-modern-booking .eccf-public-calendar [class*="process"] button,
.eccf-modern-booking .eccf-public-calendar [class*="navigation"] button{
    min-height:42px!important;
    border-radius:10px!important;
}

.eccf-modern-booking .eccf-modern-section-title{
    margin-top:22px!important;
    margin-bottom:10px!important;
    color:var(--eccf-text)!important;
    font-size:18px!important;
    font-weight:780!important;
    line-height:1.3!important;
    letter-spacing:-.01em!important;
}

@media (min-width:900px){
    .eccf-modern-booking .eccf-modern-summary{
        position:sticky;
        top:22px;
        z-index:2;
    }
}
@media (max-width:760px){
    .eccf-modern-booking,.eccf-modern-booking .eccf-public-card,.eccf-modern-booking .eccf-public-calendar{width:100%;max-width:100%;min-width:0}
    .eccf-modern-booking .eccf-booking-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
    .eccf-modern-booking .eccf-booking-intro{align-items:flex-start;flex-direction:column}
    .eccf-modern-booking .eccf-booking-payment-pill{white-space:normal}
    .eccf-modern-booking .eccf-select-tiles{grid-template-columns:1fr}
    .eccf-modern-booking .eccf-modern-options-section{padding:14px!important}
    .eccf-modern-booking .eccf-option-tile,.eccf-modern-booking .eccf-select-tile{width:100%!important;max-width:100%!important;min-width:0!important}
    .eccf-modern-booking .eccf-public-calendar input[type="text"],.eccf-modern-booking .eccf-public-calendar input[type="email"],.eccf-modern-booking .eccf-public-calendar input[type="tel"],.eccf-modern-booking .eccf-public-calendar input[type="number"],.eccf-modern-booking .eccf-public-calendar input[type="date"],.eccf-modern-booking .eccf-public-calendar input[type="password"],.eccf-modern-booking .eccf-public-calendar select,.eccf-modern-booking .eccf-public-calendar textarea{width:100%!important;max-width:100%!important;min-width:0!important}
    .eccf-modern-booking .eccf-public-calendar input[type="file"]{width:100%!important;max-width:100%!important;min-width:0!important}
    .eccf-modern-booking .eccf-modern-summary{max-width:100%!important;overflow-wrap:anywhere}
    .eccf-modern-booking .eccf-modern-action-primary{font-size:16px!important}
}
@media (max-width:480px){
    .eccf-modern-booking .eccf-public-card>h2{font-size:24px;line-height:1.25}
    .eccf-modern-booking .eccf-booking-flow{grid-template-columns:1fr 1fr;gap:6px}
    .eccf-modern-booking .eccf-booking-flow span{min-height:36px;padding:7px 8px;font-size:12px}
    .eccf-modern-booking .eccf-booking-intro{padding:13px;margin-bottom:16px}
    .eccf-modern-booking .eccf-bridge-card{padding:0!important}
    .eccf-modern-booking .eccf-bridge-intro{align-items:flex-start;flex-direction:column;padding:0 0 12px}
    .eccf-modern-booking .eccf-modern-options-section,.eccf-modern-booking .eccf-modern-payment-section,.eccf-modern-booking .eccf-modern-contact-section{padding:12px!important}
    .eccf-modern-booking .eccf-option-tile{padding:12px 40px 12px 11px!important}
    .eccf-modern-booking .eccf-modern-summary{padding:13px!important}
    .eccf-modern-booking .eccf-modern-action-primary{min-height:50px!important;padding:13px 16px!important}
}

/* ========================================================================== 
 * v0.18.14 - Native Pinpoint checkout skin
 * These selectors target Pinpoint's own frontend DOM/classes instead of only
 * the Ease Camp wrapper. This is intentionally scoped to the inline checkout.
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-wrapper,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-container,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-wrapper{
    margin:0!important;
    overflow:visible!important;
    font-family:inherit!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-container{
    float:none!important;
    margin:0!important;
    padding:0!important;
    font-family:inherit!important;
    font-size:15px!important;
    line-height:1.45!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar{
    float:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    font-family:inherit!important;
}

/* Flatten Pinpoint's box-in-box modules. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module{
    min-width:0!important;
    margin:0 0 16px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module h4,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module h4{
    margin:0 0 12px!important;
    padding:0!important;
    color:#202723!important;
    font-family:inherit!important;
    font-size:20px!important;
    font-weight:750!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-input-wrapper,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-input-wrapper{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 12px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-input-wrapper.DOPBSPCalendar-left,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-input-wrapper.DOPBSPCalendar-left{
    float:none!important;
    margin-left:0!important;
    margin-right:0!important;
}

/* Real Pinpoint field labels. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper label,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper label,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper label a,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper label a{
    margin:0 0 6px!important;
    color:#26352d!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-style:normal!important;
    font-weight:700!important;
    line-height:1.35!important;
    text-decoration:none!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper label .dopbsp-required,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper label .dopbsp-required{
    color:#c9252d!important;
}

/* Real Pinpoint text fields and textarea. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=text],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=text],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=email],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=email],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=tel],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=tel],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper textarea,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper textarea{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:48px!important;
    margin:0!important;
    padding:11px 13px!important;
    border:1px solid #c7d2cb!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#202723!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-style:normal!important;
    font-weight:400!important;
    line-height:1.35!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper textarea,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper textarea{
    min-height:105px!important;
    resize:vertical!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input:focus,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input:focus,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper textarea:focus,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper textarea:focus{
    outline:none!important;
    border-color:#1d5f3b!important;
    box-shadow:0 0 0 3px rgba(29,95,59,.10)!important;
}

/* Pinpoint's custom DOPSelect dropdowns use fixed 220px widths by default. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopbsp-small,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopbsp-small,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopbsp-big,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopbsp-big{
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect .dopselect-select,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect .dopselect-select{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    border:1px solid #c7d2cb!important;
    border-radius:10px!important;
    background:#fff!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect .dopselect-select .dopselect-selection,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect .dopselect-select .dopselect-selection,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopbsp-small .dopselect-select .dopselect-selection,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopbsp-small .dopselect-select .dopselect-selection{
    flex:1 1 auto!important;
    width:auto!important;
    height:auto!important;
    min-height:46px!important;
    padding:0 13px!important;
    color:#202723!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:400!important;
    line-height:46px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect .dopselect-select .dopselect-icon,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect .dopselect-select .dopselect-icon{
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    color:#65716a!important;
    line-height:46px!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopselect-single ul,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopselect-single ul,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopbsp-small ul,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopbsp-small ul{
    width:100%!important;
    max-width:100%!important;
    border:1px solid #c7d2cb!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(23,43,32,.10)!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopselect-single ul li,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopselect-single ul li,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopbsp-small ul li,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopbsp-small ul li{
    width:100%!important;
    height:auto!important;
    min-height:42px!important;
    padding:9px 12px!important;
    background:#fff!important;
    color:#202723!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.35!important;
    box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopselect-single ul li:hover,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .DOPSelect.dopselect-single ul li.dopselect-selected,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopselect-single ul li:hover,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .DOPSelect.dopselect-single ul li.dopselect-selected{
    background:#edf6f0!important;
    color:#15472d!important;
}

/* Compact payment/cart presentation instead of the old dark block. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-cart-wrapper,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-cart-wrapper{
    margin:0!important;
    padding:12px 14px!important;
    border:1px solid #dce4df!important;
    border-radius:12px!important;
    background:#f7f9f8!important;
    box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart{
    margin:0!important;
    background:transparent!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart td,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart td{
    padding:5px 4px!important;
    background:transparent!important;
    color:#405047!important;
    font-family:inherit!important;
    font-size:14px!important;
    line-height:1.35!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart td.dopbsp-label,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart td.dopbsp-label{
    color:#26352d!important;
    font-weight:650!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart .dopbsp-total td,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart .dopbsp-total td,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart .dopbsp-deposit td,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-cart-wrapper .dopbsp-cart .dopbsp-deposit td{
    background:transparent!important;
    color:#15472d!important;
    border-color:#dce4df!important;
    font-size:15px!important;
    line-height:1.35!important;
    padding:8px 4px!important;
}

/* Native Pinpoint submit buttons: normal CTA size, not giant blocks. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=submit],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=button],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=submit],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=button]{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:50px!important;
    margin:10px 0 0!important;
    padding:13px 18px!important;
    border:1px solid #1d5f3b!important;
    border-radius:11px!important;
    background:#1d5f3b!important;
    color:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:16px!important;
    font-weight:750!important;
    line-height:1.25!important;
    text-align:center!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=submit]:hover,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=button]:hover,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=submit]:hover,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper input[type=button]:hover{
    background:#15472d!important;
    border-color:#15472d!important;
}

/* Any action that our enhancer recognises as secondary stays quiet/outlined. */
.ecui-engine-host.is-checkout-inline .eccf-modern-action-secondary{
    min-height:46px!important;
    background:#fff!important;
    color:#26352d!important;
    border:1px solid #c7d2cb!important;
    box-shadow:none!important;
}

/* Messages and validation. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-message,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-message{
    margin:0 0 12px!important;
    padding:10px 12px!important;
    border-radius:9px!important;
    background:#f5f7f6!important;
    color:#26352d!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.4!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-message.dopbsp-error,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-message.dopbsp-error{
    border:1px solid #e5c1c1!important;
    background:#fff3f3!important;
    color:#7a2525!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-message.dopbsp-success,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-message.dopbsp-success{
    border:1px solid #c9dfcf!important;
    background:#edf6f0!important;
    color:#14532d!important;
}

@media(max-width:600px){
    .ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module,
    .ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module{margin-bottom:14px!important}
    .ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module h4,
    .ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module h4{font-size:18px!important;margin-bottom:10px!important}
    .ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module .dopbsp-input-wrapper,
    .ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module .dopbsp-input-wrapper{margin-bottom:10px!important}
}

/* ========================================================================== 
 * v0.18.15 - Pinpoint is only the checkout engine after the Elementor flow.
 * Period, regulations and extras already live on the Ease Camp page. Hide the
 * duplicate Pinpoint module navigation and keep only contact/payment modules.
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline .eccf-bridge-intro{display:none!important}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-container{display:none!important}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-hidden-step,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-native-nav-hidden,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-native-back-hidden,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-empty-row,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-empty-column{display:none!important}

/* Remove Pinpoint style-5's multi-column/table chrome. The live controls stay in
 * their original DOM, only the presentation becomes one linear checkout form. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar table.dopbsp-sidebar-content,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar table.dopbsp-sidebar-content{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar table.dopbsp-sidebar-content>tbody,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar table.dopbsp-sidebar-content>tbody>tr,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar table.dopbsp-sidebar-content>tbody,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar table.dopbsp-sidebar-content>tbody>tr{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar table.dopbsp-sidebar-content colgroup,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar table.dopbsp-sidebar-content colgroup,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar td.dopbsp-column-separator,
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar td.dopbsp-column-separator{
  display:none!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar td[class*="dopbsp-column"],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar td[class*="dopbsp-column"]{
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  vertical-align:top!important;
  box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar [class*="dopbsp-row"],
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar [class*="dopbsp-row"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

/* Contact and payment are the only visible native stages, so they read as one
 * simple Ease Camp form instead of separate Pinpoint screens. */
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-sidebar .dopbsp-module:not(.ecui-pinpoint-hidden-step),
.ecui-engine-host.is-checkout-inline .DOPBSPCalendar-outer-sidebar .dopbsp-module:not(.ecui-pinpoint-hidden-step){
  width:100%!important;
  max-width:100%!important;
}

/* ========================================================================== 
 * v0.18.16 - checkout navigation/action cleanup.
 * Keep the Ease Camp 5-step progress bar and suppress Pinpoint's duplicate
 * compact wizard (1/2/3 + icon buttons). Payment and submit remain native
 * Pinpoint controls, but are presented as compact, consistent Ease Camp UI.
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-native-wizard-hidden{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
}

/* The native Reservation/Rules/Extras actions lead back into Pinpoint's own
 * workflow and therefore stay hidden. Ease Camp's "Keuzes aanpassen" is the
 * single supported back action. */
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-native-back-hidden{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
}

/* Mollie/payment choice: compact row instead of Pinpoint's large green tile. */
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice,
.ecui-engine-host.is-checkout-inline .dopbsp-module .ecui-pinpoint-payment-choice{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:50px!important;
    height:auto!important;
    margin:8px 0!important;
    padding:10px 13px!important;
    border:1px solid #c7d2cb!important;
    border-radius:11px!important;
    background:#fff!important;
    background-image:none!important;
    color:#26352d!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow:visible!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice.is-selected{
    border-color:#1d5f3b!important;
    background:#edf6f0!important;
    box-shadow:0 0 0 1px rgba(29,95,59,.05)!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice input[type="radio"]{
    position:static!important;
    display:block!important;
    flex:0 0 20px!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    appearance:auto!important;
    -webkit-appearance:radio!important;
    accent-color:#1d5f3b!important;
    pointer-events:auto!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice label,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice .dopbsp-for-radio{
    position:static!important;
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    background-image:none!important;
    color:#26352d!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.35!important;
    text-align:left!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice label::before,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice label::after,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice .dopbsp-for-radio::before,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice .dopbsp-for-radio::after{
    content:none!important;
    display:none!important;
    background:none!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice .eccf-tile-check{
    display:none!important;
}

/* Native Book now button: same visual scale as the Mollie choice, without
 * Pinpoint's sprite/icon panel. */
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now-wrapper{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:8px 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    overflow:visible!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now,
.ecui-engine-host.is-checkout-inline a.ecui-pinpoint-book-now,
.ecui-engine-host.is-checkout-inline button.ecui-pinpoint-book-now,
.ecui-engine-host.is-checkout-inline input.ecui-pinpoint-book-now{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    min-height:50px!important;
    max-height:54px!important;
    height:50px!important;
    margin:0!important;
    padding:0 18px!important;
    border:1px solid #1d5f3b!important;
    border-radius:11px!important;
    background:#1d5f3b!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1!important;
    text-align:center!important;
    text-decoration:none!important;
    text-indent:0!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now:hover{
    background:#15472d!important;
    border-color:#15472d!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now::before,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now::after{
    content:none!important;
    display:none!important;
    background:none!important;
}
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now i,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now svg,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now img,
.ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now [class*="icon"]{
    display:none!important;
}

@media(max-width:600px){
    .ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice,
    .ecui-engine-host.is-checkout-inline .ecui-pinpoint-book-now{
        min-height:48px!important;
        height:48px!important;
        border-radius:10px!important;
        font-size:15px!important;
    }
    .ecui-engine-host.is-checkout-inline .ecui-pinpoint-payment-choice{height:auto!important}
}

/* ========================================================================== 
 * v0.18.17 - deterministic checkout presentation.
 *
 * When checkout opens, JS moves only the live Pinpoint contact and payment
 * modules into .ecui-native-checkout-stage. The rest of Pinpoint (including
 * its mobile 1/2/3 + icon navigator and Reservation/Extras navigation) stays
 * alive off-screen. This removes the duplicate UI without depending on a
 * Pinpoint skin/version-specific navigator selector.
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline > .eccf-elementor-bridge.ecui-checkout-source-hidden{
    position:fixed!important;
    left:-20000px!important;
    right:auto!important;
    top:0!important;
    bottom:auto!important;
    width:1180px!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:.001!important;
    pointer-events:none!important;
    z-index:-99999!important;
}

.ecui-native-checkout-stage{
    display:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 16px 18px!important;
    background:#fff!important;
    box-sizing:border-box!important;
}
.ecui-native-checkout-stage.is-ready{
    display:block!important;
}
.ecui-native-checkout-stage .ecui-native-checkout-stage-inner{
    width:100%!important;
    max-width:760px!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
}

/* Only the two real Pinpoint modules are now visible. Reset their old sidebar
 * geometry, but do not change the actual address/contact field styling. */
.ecui-native-checkout-stage .ecui-checkout-region{
    position:relative!important;
    float:none!important;
    clear:both!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:14px 0 0!important;
    padding:16px!important;
    border:1px solid #dce4df!important;
    border-radius:14px!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow:visible!important;
}
.ecui-native-checkout-stage .ecui-checkout-region:first-child{margin-top:12px!important}
.ecui-native-checkout-stage .ecui-checkout-region > h1,
.ecui-native-checkout-stage .ecui-checkout-region > h2,
.ecui-native-checkout-stage .ecui-checkout-region > h3,
.ecui-native-checkout-stage .ecui-checkout-region > h4,
.ecui-native-checkout-stage .ecui-checkout-region > h5,
.ecui-native-checkout-stage .ecui-checkout-region > h6{
    margin:0 0 14px!important;
    padding:0!important;
    color:#202723!important;
    background:transparent!important;
    border:0!important;
    font-family:inherit!important;
    font-size:20px!important;
    font-weight:780!important;
    line-height:1.25!important;
}

/* Native Pinpoint payment rows are often rendered as large coloured tiles.
 * The actual radio input remains native; only its visual wrapper is reset. */
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice,
.ecui-native-checkout-stage .ecui-checkout-payment .ecui-pinpoint-payment-choice{
    position:relative!important;
    float:none!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:48px!important;
    margin:8px 0!important;
    padding:0 14px!important;
    border:1px solid #c7d2cb!important;
    border-radius:10px!important;
    background:#fff!important;
    background-image:none!important;
    color:#26352d!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice.is-selected,
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice:has(input[type="radio"]:checked){
    border-color:#1d5f3b!important;
    background:#edf6f0!important;
}
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice input[type="radio"]{
    position:static!important;
    float:none!important;
    display:block!important;
    flex:0 0 20px!important;
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    appearance:auto!important;
    -webkit-appearance:radio!important;
    accent-color:#1d5f3b!important;
    background:none!important;
    box-shadow:none!important;
}
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice label,
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice .dopbsp-for-radio{
    position:static!important;
    float:none!important;
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    background-image:none!important;
    color:#26352d!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-align:left!important;
}
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice label::before,
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice label::after,
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice .dopbsp-for-radio::before,
.ecui-native-checkout-stage .ecui-pinpoint-payment-choice .dopbsp-for-radio::after{
    content:none!important;
    display:none!important;
}

/* Book now: exactly the same 48 px control height as the Mollie row. */
.ecui-native-checkout-stage .ecui-pinpoint-book-now-wrapper{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:10px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    overflow:visible!important;
}
.ecui-native-checkout-stage .ecui-pinpoint-book-now,
.ecui-native-checkout-stage a.ecui-pinpoint-book-now,
.ecui-native-checkout-stage button.ecui-pinpoint-book-now,
.ecui-native-checkout-stage input.ecui-pinpoint-book-now{
    position:static!important;
    float:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    max-height:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0 16px!important;
    border:1px solid #1d5f3b!important;
    border-radius:10px!important;
    background:#1d5f3b!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1!important;
    text-align:center!important;
    text-decoration:none!important;
    text-indent:0!important;
}
.ecui-native-checkout-stage .ecui-pinpoint-book-now::before,
.ecui-native-checkout-stage .ecui-pinpoint-book-now::after,
.ecui-native-checkout-stage .ecui-pinpoint-book-now i,
.ecui-native-checkout-stage .ecui-pinpoint-book-now svg,
.ecui-native-checkout-stage .ecui-pinpoint-book-now img,
.ecui-native-checkout-stage .ecui-pinpoint-book-now [class*="icon"]{
    content:none!important;
    display:none!important;
    background:none!important;
}

/* Anything in the extracted payment module that still looks like Pinpoint's
 * old Reservation/Extras back navigation is not part of the Ease Camp flow. */
.ecui-native-checkout-stage .ecui-pinpoint-native-back-hidden,
.ecui-native-checkout-stage .ecui-pinpoint-native-wizard-hidden,
.ecui-native-checkout-stage .ecui-pinpoint-native-nav-hidden{
    display:none!important;
}

@media(max-width:600px){
    .ecui-native-checkout-stage{padding:0 10px 14px!important}
    .ecui-native-checkout-stage .ecui-checkout-region{margin-top:10px!important;padding:12px!important;border-radius:12px!important}
    .ecui-native-checkout-stage .ecui-checkout-region > h1,
    .ecui-native-checkout-stage .ecui-checkout-region > h2,
    .ecui-native-checkout-stage .ecui-checkout-region > h3,
    .ecui-native-checkout-stage .ecui-checkout-region > h4,
    .ecui-native-checkout-stage .ecui-checkout-region > h5,
    .ecui-native-checkout-stage .ecui-checkout-region > h6{font-size:18px!important;margin-bottom:11px!important}
}

/* ========================================================================== 
 * v0.18.19 - exact live PBS 3 checkout selectors confirmed in DevTools.
 *
 * Live DOM on ease-camp.nl:
 *   .pbs.calendar
 *     .calendar-nav                     <- native 1/2/3 + icon strip
 *     .calendar-step[id$="-step5"]      <- Contactformulier + Kassa
 *     [id$="-payment-mollie"]           <- Mollie choice
 *     [id$="-content-nav5-prev"]        <- native Reservering back button
 *
 * Keep the native DOM/event handlers intact; only alter its presentation.
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .calendar-nav,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar > form .calendar-nav,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-pinpoint-native-wizard-hidden{
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}

/* While Ease Camp checkout is open, only Pinpoint step 5 is part of the
 * customer-facing flow. Steps 1-4 stay alive in the DOM but are not visible. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .calendar-step:not([id$="-step5"]){
    display:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .calendar-step[id$="-step5"]{
    position:relative!important;
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .calendar-step[id$="-step5"] > .calendar-column{
    position:relative!important;
    display:block!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}

/* Native Pinpoint "Reservering" button leads back into the Pinpoint wizard,
 * which Ease Camp already replaces with the Elementor choices. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-content-nav5-prev"],
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .calendar-field.to-reservation,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-pinpoint-native-back-hidden{
    display:none!important;
}

/* Kassa is kept compact. Do not change the contact/address fields above it. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-content-checkout"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
}

/* Exact Mollie control from the supplied live DOM. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie-wrapper"],
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-mollie-wrapper{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:8px 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie"],
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-mollie{
    position:relative!important;
    float:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:260px!important;
    max-width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid #1d5f3b!important;
    border-radius:10px!important;
    background:#fff!important;
    background-image:none!important;
    color:#1d5f3b!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1!important;
    text-align:center!important;
    text-decoration:none!important;
    text-indent:0!important;
    overflow:hidden!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie"].disabled{
    opacity:.55!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie"] .calendar-input-payment-icon{
    display:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie"] .calendar-input-payment-label{
    position:static!important;
    float:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    color:#1d5f3b!important;
    background:transparent!important;
    border:0!important;
    font:inherit!important;
    line-height:1!important;
    text-align:center!important;
    box-shadow:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie"] .calendar-input-payment-label-text{
    display:inline!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    color:#1d5f3b!important;
    font:inherit!important;
    line-height:1!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie"] .calendar-input-payment-label-icon{
    position:static!important;
    float:none!important;
    display:inline-block!important;
    flex:0 0 24px!important;
    width:24px!important;
    height:24px!important;
    margin:0!important;
    padding:0!important;
    background-size:contain!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
}

/* The final Pinpoint submit is inserted/enabled dynamically. JS tags only a
 * control whose complete visible label is exactly "Boek nu" / "Book now". */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now-wrapper{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:8px 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar input[type="submit"][value="Boek nu" i],
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar input[type="submit"][value="Book now" i]{
    position:relative!important;
    float:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:260px!important;
    max-width:100%!important;
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:8px 0!important;
    padding:0 14px!important;
    border:1px solid #1d5f3b!important;
    border-radius:10px!important;
    background:#1d5f3b!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1!important;
    text-align:center!important;
    text-decoration:none!important;
    text-indent:0!important;
    overflow:hidden!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now .calendar-input-button-icon,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now [class*="icon"]{
    display:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now .calendar-input-button-label{
    float:none!important;
    display:block!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font:inherit!important;
    line-height:1!important;
    text-align:center!important;
}

@media(max-width:600px){
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie-wrapper"],
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-mollie-wrapper,
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now-wrapper{
        justify-content:center!important;
    }
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie"],
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now,
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar input[type="submit"][value="Boek nu" i],
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar input[type="submit"][value="Book now" i]{
        width:260px!important;
        max-width:100%!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        border-radius:10px!important;
        font-size:15px!important;
    }
}

/* ========================================================================== 
 * v0.18.21 - semantic Ease Camp checkout phases on top of native Pinpoint
 * Pinpoint keeps Contactformulier + Kassa in one technical step5. Ease Camp
 * presents these as step 4 (Gegevens) and step 5 (Betalen) without moving or
 * cloning the native controls.
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-details .pbs.calendar .ecui-live-payment-title,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-details .pbs.calendar .ecui-live-payment-content,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-details .pbs.calendar .ecui-payment-explainer,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-details .pbs.calendar .ecui-live-book-now-wrapper,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-details .pbs.calendar .ecui-live-book-now{
    display:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-payment .pbs.calendar .ecui-live-details-title,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-payment .pbs.calendar .ecui-live-details-content,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-payment .pbs.calendar .ecui-checkout-next-wrapper{
    display:none!important;
}

/* The site has one online payment provider. The provider selector is an
 * implementation detail and should never look like an extra customer step. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-mollie-wrapper"],
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-mollie-wrapper,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar [id$="-payment-none-wrapper"],
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-payment-none-wrapper{
    display:none!important;
}

.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-next-wrapper{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%!important;
    margin:16px 0 4px!important;
    padding:0!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-next{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:260px!important;
    max-width:100%!important;
    min-height:46px!important;
    padding:0 18px!important;
    border:1px solid #1d5f3b!important;
    border-radius:10px!important;
    background:#1d5f3b!important;
    color:#fff!important;
    box-shadow:none!important;
    font:inherit!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1.2!important;
    cursor:pointer!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-next:hover{
    background:#15472d!important;
    border-color:#15472d!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-details-notice{
    margin:12px 0 0!important;
    padding:10px 12px!important;
    border:1px solid #e3bcbc!important;
    border-radius:9px!important;
    background:#fff4f4!important;
    color:#7a2525!important;
    font-size:14px!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-field-missing input,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-field-missing textarea,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-field-missing .dot-select-select{
    border-color:#b94a48!important;
    box-shadow:0 0 0 2px rgba(185,74,72,.08)!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-payment-explainer{
    margin:0 0 14px!important;
    padding:11px 13px!important;
    border:1px solid #dce4df!important;
    border-radius:10px!important;
    background:#f7f9f8!important;
    color:#536059!important;
    font-size:14px!important;
    line-height:1.45!important;
}

/* The only customer-facing payment action is the final native Pinpoint submit. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now-wrapper{
    justify-content:flex-end!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar input[type="submit"][value="Bevestigen en betalen" i]{
    width:260px!important;
    max-width:100%!important;
    min-height:46px!important;
    height:46px!important;
    border-radius:10px!important;
    font-size:15px!important;
}

@media(max-width:600px){
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-next-wrapper,
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now-wrapper{
        justify-content:center!important;
    }
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-next,
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-book-now,
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar input[type="submit"][value="Bevestigen en betalen" i]{
        width:min(260px,100%)!important;
    }
}


/* ========================================================================== 
 * v0.18.22 - checkout form labels and review/final actions
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content .calendar-field{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0 0 14px!important;
    padding:0!important;
    overflow:visible!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content .calendar-label{
    position:static!important;
    inset:auto!important;
    float:none!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 6px!important;
    padding:0!important;
    color:#202723!important;
    background:transparent!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow:visible!important;
    transform:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content .calendar-input-text,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content .calendar-input-textarea,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content .calendar-input-select,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content .dot-select{
    position:relative!important;
    inset:auto!important;
    float:none!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content input.calendar-input-text{
    height:46px!important;
    min-height:46px!important;
    padding:10px 12px!important;
    line-height:24px!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-details-content textarea.calendar-input-textarea{
    min-height:108px!important;
    padding:10px 12px!important;
    line-height:1.45!important;
}

/* The first native Pinpoint action opens its own review/confirmation panel.
 * Present it as a review action, not as the final payment confirmation. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-review-action{
    background:#fff!important;
    color:#1d5f3b!important;
    border-color:#1d5f3b!important;
    box-shadow:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-review-action .calendar-input-button-label{
    color:#1d5f3b!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-final-action{
    background:#1d5f3b!important;
    color:#fff!important;
    border-color:#1d5f3b!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-live-final-action .calendar-input-button-label{
    color:#fff!important;
}

/* ========================================================================== 
 * v0.18.23 - validated details -> reservation overview -> payment
 * The existing Ease Camp summary is reused for the financial/booking choices;
 * contact details are read from the live Pinpoint form after validation.
 * ========================================================================== */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-details .pbs.calendar .ecui-checkout-overview,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-live-details-title,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-live-details-content,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-checkout-next-wrapper,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-live-payment-title,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-live-payment-content,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-payment-explainer,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-live-book-now-wrapper,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-live-book-now,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-payment .pbs.calendar .ecui-checkout-overview{
    display:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout.ecui-checkout-phase-review .pbs.calendar .ecui-checkout-overview{
    display:block!important;
}

.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview{
    width:100%!important;
    max-width:760px!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    color:#202723!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-heading{
    margin:0 0 16px!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-heading h3{
    margin:0 0 5px!important;
    color:#202723!important;
    font-size:22px!important;
    line-height:1.25!important;
    font-weight:780!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-heading p{
    margin:0!important;
    color:#66716a!important;
    font-size:14px!important;
    line-height:1.5!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation{
    margin:0 0 16px!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-card,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-box{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-box{
    border:1px solid #dce4df!important;
    border-radius:12px!important;
    background:#fff!important;
    padding:16px!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-box h3{
    margin:0 0 12px!important;
    font-size:18px!important;
    color:#202723!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-total{
    margin:12px -16px -16px!important;
    border-radius:0 0 12px 12px!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact{
    margin:0 0 16px!important;
    padding:16px!important;
    border:1px solid #dce4df!important;
    border-radius:12px!important;
    background:#f7f9f8!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact h4{
    margin:0 0 12px!important;
    color:#202723!important;
    font-size:17px!important;
    line-height:1.25!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact-list{
    display:grid!important;
    grid-template-columns:minmax(120px,170px) minmax(0,1fr)!important;
    gap:8px 16px!important;
    margin:0!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact-list dt,
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact-list dd{
    margin:0!important;
    padding:0!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
    font-size:14px!important;
    line-height:1.45!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact-list dt{
    color:#66716a!important;
    font-weight:600!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact-list dd{
    color:#202723!important;
    font-weight:700!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-action-wrapper{
    display:flex!important;
    justify-content:flex-end!important;
    width:100%!important;
    margin:18px 0 4px!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-action{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:260px!important;
    max-width:100%!important;
    min-height:46px!important;
    padding:0 18px!important;
    border:1px solid #1d5f3b!important;
    border-radius:10px!important;
    background:#1d5f3b!important;
    color:#fff!important;
    box-shadow:none!important;
    font:inherit!important;
    font-size:15px!important;
    font-weight:750!important;
    line-height:1.2!important;
    cursor:pointer!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-action:hover{
    background:#15472d!important;
    border-color:#15472d!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-notice{
    margin:12px 0!important;
    padding:10px 12px!important;
    border:1px solid #e3bcbc!important;
    border-radius:9px!important;
    background:#fff4f4!important;
    color:#7a2525!important;
    font-size:14px!important;
}

@media(max-width:600px){
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview{
        max-width:100%!important;
    }
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact-list{
        grid-template-columns:1fr!important;
        gap:2px!important;
    }
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-contact-list dd{
        margin-bottom:9px!important;
    }
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-action-wrapper{
        justify-content:center!important;
    }
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-action{
        width:min(260px,100%)!important;
    }
}


/* v0.18.30 - explicit rental-terms consent in live Pinpoint checkout. */
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-terms-field > .calendar-label{
    display:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-terms-field .ecui-terms-native-select{
    display:none!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-terms-consent{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    width:100%!important;
    margin:4px 0 0!important;
    padding:12px 14px!important;
    border:1px solid #dce4df!important;
    border-radius:10px!important;
    background:#f7f9f8!important;
    color:#202723!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
    font-size:14px!important;
    line-height:1.45!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-terms-consent input[type="checkbox"]{
    appearance:auto!important;
    -webkit-appearance:checkbox!important;
    display:block!important;
    flex:0 0 20px!important;
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    margin:1px 0 0!important;
    padding:0!important;
    opacity:1!important;
    position:static!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-terms-field.ecui-checkout-field-missing .ecui-terms-consent{
    border-color:#c9362b!important;
    background:#fff7f6!important;
}
.ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-line{
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
}
@media(max-width:600px){
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-line{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:2px!important;
    }
    .ecui-engine-host.is-checkout-inline.ecui-live-pbs-checkout .pbs.calendar .ecui-checkout-overview-reservation .ecui-summary-line strong{
        text-align:left!important;
    }
}
