.gbp-reservation{
    max-width:980px;
    margin:30px auto;
    font-family:inherit;
}
.gbp-hero-card,
.gbp-box,
.gbp-request{
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:22px;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
    padding:28px;
}
.gbp-eyebrow{
    color:#0f5132;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:12px;
    margin-bottom:8px;
}
.gbp-hero-card h2{
    margin:0 0 8px;
    font-size:clamp(28px,4vw,44px);
    line-height:1.08;
}
.gbp-intro{
    margin:0 0 24px;
    color:#4b5563;
}
.gbp-search-form{
    display:grid;
    grid-template-columns:1fr 1fr auto auto;
    gap:14px;
    align-items:end;
}
.gbp-field label{
    display:block;
    font-weight:700;
    margin-bottom:7px;
}
.gbp-field input,
.gbp-field textarea,
.gbp-field select{
    width:100%;
    border:1px solid #d1d5db;
    border-radius:14px;
    padding:13px 14px;
    font-size:16px;
    box-sizing:border-box;
}
.gbp-dog{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:48px;
    font-weight:600;
}
.gbp-button{
    border:0;
    background:#0f5132;
    color:#fff;
    border-radius:999px;
    padding:14px 22px;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    transition:transform .15s ease, opacity .15s ease;
}
.gbp-button:hover{
    transform:translateY(-1px);
    opacity:.92;
}
.gbp-button-full{
    width:100%;
}
.gbp-result{
    margin-top:22px;
}
.gbp-status{
    display:inline-flex;
    align-items:center;
    background:#d1fae5;
    color:#065f46;
    border-radius:999px;
    padding:7px 12px;
    font-weight:800;
    margin-bottom:12px;
}
.gbp-busy .gbp-status,
.gbp-box-error .gbp-status{
    background:#fee2e2;
    color:#991b1b;
}
.gbp-box h3{
    margin:0 0 8px;
    font-size:24px;
}
.gbp-nights{
    color:#4b5563;
    margin:0 0 10px;
}
.gbp-price{
    font-size:clamp(42px,8vw,64px);
    line-height:1;
    font-weight:900;
    color:#0f5132;
    margin:10px 0 4px;
}
.gbp-total-label{
    font-weight:800;
    font-size:18px;
    margin:0 0 14px;
}
.gbp-included{
    font-weight:700;
    margin:12px 0 4px;
}

.gbp-included-card{
    margin:16px 0;
    padding:16px 18px;
    border-radius:18px;
    background:#f0fdf4;
    border:1px solid #bbf7d0;
}
.gbp-included-title{
    margin:0 0 10px;
    font-weight:900;
    color:#0f5132;
}
.gbp-included-list{
    margin:0;
    padding-left:20px;
    color:#1f2937;
    font-weight:650;
}
.gbp-included-list li{
    margin:5px 0;
}
.gbp-dog-note{
    margin:10px 0;
    font-weight:700;
    color:#0f5132;
}
.gbp-small{
    color:#6b7280;
    font-size:14px;
}
.gbp-request{
    margin-top:22px;
}
.gbp-request h3{
    margin-top:0;
    font-size:26px;
}
.gbp-grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.gbp-form-message{
    margin-top:16px;
    border-radius:14px;
    padding:14px;
    background:#f3f4f6;
}
.gbp-message-success{
    background:#d1fae5;
    color:#065f46;
}
.gbp-message-error{
    background:#fee2e2;
    color:#991b1b;
}
@media (max-width:800px){
    .gbp-reservation{
        margin:18px auto;
    }
    .gbp-hero-card,
    .gbp-box,
    .gbp-request{
        border-radius:18px;
        padding:20px;
    }
    .gbp-search-form{
        grid-template-columns:1fr;
    }
    .gbp-grid-2{
        grid-template-columns:1fr;
    }
    .gbp-button{
        width:100%;
    }
}

.gbp-suggestions{
    margin-top:24px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:22px;
    box-shadow:0 18px 45px rgba(0,0,0,.06);
    padding:24px;
}
.gbp-section-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    margin-bottom:16px;
}
.gbp-section-head h3{
    margin:0;
    font-size:26px;
}
.gbp-link-button{
    border:0;
    background:#eefbf4;
    color:#0f5132;
    border-radius:999px;
    padding:10px 14px;
    font-weight:800;
    cursor:pointer;
}
.gbp-suggestion-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.gbp-suggestion-card{
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:16px;
    background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%);
}
.gbp-suggestion-date{
    font-weight:900;
    color:#111827;
    line-height:1.25;
}
.gbp-suggestion-date span{
    color:#4b5563;
    font-weight:800;
}
.gbp-suggestion-meta{
    color:#6b7280;
    font-size:13px;
    margin:10px 0 6px;
}
.gbp-suggestion-price{
    color:#0f5132;
    font-weight:950;
    font-size:26px;
    margin:8px 0 12px;
}
.gbp-mini-button{
    border:0;
    background:#0f5132;
    color:#fff;
    border-radius:999px;
    padding:10px 13px;
    font-size:14px;
    font-weight:850;
    cursor:pointer;
    width:100%;
}
.gbp-suggestion-placeholder{
    grid-column:1/-1;
    background:#f9fafb;
    border:1px dashed #d1d5db;
    border-radius:16px;
    padding:18px;
    color:#6b7280;
}
@media (max-width:1000px){
    .gbp-suggestion-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:640px){
    .gbp-section-head{
        flex-direction:column;
    }
    .gbp-suggestion-grid{
        grid-template-columns:1fr;
    }
}

.gbp-month-calendar{
    margin-top:24px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:22px;
    box-shadow:0 18px 45px rgba(0,0,0,.06);
    padding:24px;
}
.gbp-calendar-controls{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}
.gbp-calendar-controls select{
    border:1px solid #d1d5db;
    border-radius:999px;
    padding:10px 14px;
    font-weight:800;
    background:#fff;
    color:#111827;
}
.gbp-calendar-note{
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:12px 14px;
    color:#4b5563;
    margin:0 0 16px;
    font-size:14px;
}
.gbp-calendar-title{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:end;
    margin-bottom:14px;
}
.gbp-calendar-title strong{
    font-size:28px;
    color:#111827;
}
.gbp-calendar-title span{
    color:#0f5132;
    font-weight:850;
}
.gbp-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px;
}
.gbp-calendar-weekdays{
    margin-bottom:8px;
}
.gbp-calendar-weekdays div{
    text-align:center;
    font-size:13px;
    font-weight:900;
    color:#6b7280;
}
.gbp-day{
    min-height:106px;
    border:1px solid #e5e7eb;
    background:#fff;
    border-radius:16px;
    padding:10px;
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:6px;
    color:#111827;
    cursor:default;
    box-sizing:border-box;
}
.gbp-day-empty{
    background:transparent;
    border-color:transparent;
}
.gbp-day-start{
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.gbp-day-start:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(0,0,0,.10);
}
.gbp-day-number{
    font-weight:950;
    font-size:17px;
}
.gbp-day-muted{
    color:#d1d5db;
    font-size:13px;
    margin-top:auto;
}
.gbp-day-badge{
    align-self:flex-start;
    border-radius:999px;
    background:#d1fae5;
    color:#065f46;
    padding:4px 8px;
    font-size:11px;
    font-weight:900;
}
.gbp-day-badge-busy{
    background:#fee2e2;
    color:#991b1b;
}
.gbp-day-badge-muted{
    background:#f3f4f6;
    color:#6b7280;
}
.gbp-day-price{
    color:#0f5132;
    font-weight:950;
    font-size:18px;
    margin-top:auto;
    line-height:1.1;
}
.gbp-day-available{
    border-color:#bbf7d0;
    background:#f0fdf4;
}
.gbp-day-busy{
    border-color:#fecaca;
    background:#fff7f7;
}
.gbp-day-past,
.gbp-day-out,
.gbp-day-ask{
    background:#f9fafb;
    color:#6b7280;
}
@media (max-width:800px){
    .gbp-month-calendar{
        padding:18px;
        border-radius:18px;
    }
    .gbp-calendar-title{
        flex-direction:column;
        align-items:flex-start;
    }
    .gbp-calendar-grid{
        gap:6px;
    }
    .gbp-day{
        min-height:86px;
        border-radius:13px;
        padding:8px;
    }
    .gbp-day-badge{
        display:none;
    }
    .gbp-day-price{
        font-size:14px;
    }
    .gbp-day-number{
        font-size:15px;
    }
}
@media (max-width:520px){
    .gbp-calendar-weekdays div{
        font-size:11px;
    }
    .gbp-day{
        min-height:74px;
        padding:6px;
    }
    .gbp-day-price{
        font-size:12px;
    }
}

.gbp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}


/* v0.5.1 - stronger reset and improved month-calendar layout */
.gbp-reservation button,
.gbp-reservation input,
.gbp-reservation select,
.gbp-reservation textarea{
    font:inherit;
}
button.gbp-day,
button.gbp-mini-button,
button.gbp-link-button,
button.gbp-button{
    -webkit-appearance:none;
    appearance:none;
    text-transform:none;
    letter-spacing:normal;
}
button.gbp-day{
    width:100%;
    box-shadow:none !important;
}
.gbp-day{
    position:relative;
    overflow:hidden;
    justify-content:flex-start;
    align-items:flex-start;
}
button.gbp-day,
button.gbp-day:hover,
button.gbp-day:focus{
    background:#fff !important;
    color:#111827 !important;
    border:1px solid #e5e7eb !important;
}
button.gbp-day.gbp-day-available,
button.gbp-day.gbp-day-available:hover,
button.gbp-day.gbp-day-available:focus{
    background:#f0fdf4 !important;
    border-color:#bbf7d0 !important;
}
button.gbp-day.gbp-day-busy,
button.gbp-day.gbp-day-busy:hover,
button.gbp-day.gbp-day-busy:focus{
    background:#fff7f7 !important;
    border-color:#fecaca !important;
}
button.gbp-day.gbp-day-past,
button.gbp-day.gbp-day-out,
button.gbp-day.gbp-day-ask,
button.gbp-day.gbp-day-past:hover,
button.gbp-day.gbp-day-out:hover,
button.gbp-day.gbp-day-ask:hover,
button.gbp-day.gbp-day-past:focus,
button.gbp-day.gbp-day-out:focus,
button.gbp-day.gbp-day-ask:focus{
    background:#f9fafb !important;
    color:#6b7280 !important;
    border-color:#e5e7eb !important;
}
.gbp-day-top{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}
.gbp-day-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    flex:0 0 10px;
    display:none;
}
.gbp-day-dot-available{ background:#16a34a; }
.gbp-day-dot-busy{ background:#dc2626; }
.gbp-day-dot-muted{ background:#9ca3af; }
.gbp-day-badge{
    margin-top:2px;
    white-space:nowrap;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
}
.gbp-day-price{
    white-space:nowrap;
}
@media (max-width:1100px){
    .gbp-day-badge{
        display:none;
    }
    .gbp-day-dot{
        display:inline-block;
    }
}
@media (max-width:800px){
    .gbp-day{
        min-height:80px;
    }
    .gbp-day-price{
        font-size:13px;
    }
}
@media (max-width:520px){
    .gbp-day{
        min-height:68px;
        border-radius:12px;
    }
    .gbp-day-number{
        font-size:14px;
    }
    .gbp-day-price{
        font-size:11px;
    }
}


/* v0.6.0 - premium calendar and mobile list */
.gbp-trust-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 22px;
}
.gbp-trust-row span{
    display:inline-flex;
    align-items:center;
    border:1px solid #bbf7d0;
    background:#f0fdf4;
    color:#0f5132;
    border-radius:999px;
    padding:8px 12px;
    font-size:13px;
    font-weight:850;
}
.gbp-calendar-legend{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 14px;
    color:#4b5563;
    font-size:13px;
    font-weight:750;
}
.gbp-calendar-legend span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:999px;
    padding:7px 10px;
}
.gbp-legend-dot{
    width:9px;
    height:9px;
    border-radius:999px;
    display:inline-block;
}
.gbp-legend-available{background:#16a34a;}
.gbp-legend-busy{background:#dc2626;}
.gbp-legend-muted{background:#9ca3af;}
.gbp-calendar-mobile-list{
    display:none;
}
.gbp-mobile-stay{
    width:100%;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:14px;
    background:#fff;
    color:#111827;
    text-align:left;
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px 12px;
    align-items:center;
    cursor:pointer;
    box-shadow:none;
}
.gbp-mobile-stay + .gbp-mobile-stay{
    margin-top:10px;
}
.gbp-mobile-date{
    font-weight:950;
    font-size:16px;
}
.gbp-mobile-meta{
    color:#6b7280;
    font-size:13px;
    grid-column:1/2;
}
.gbp-mobile-price{
    color:#0f5132;
    font-size:22px;
    grid-row:1/3;
    grid-column:2/3;
    white-space:nowrap;
}
.gbp-mobile-cta,
.gbp-mobile-status{
    grid-column:1/-1;
    display:inline-flex;
    justify-content:center;
    border-radius:999px;
    padding:8px 10px;
    font-weight:900;
    font-size:13px;
    margin-top:8px;
}
.gbp-mobile-cta{
    background:#0f5132;
    color:#fff;
}
.gbp-mobile-status{
    background:#f3f4f6;
    color:#6b7280;
}
.gbp-mobile-available{
    background:#f0fdf4;
    border-color:#bbf7d0;
}
.gbp-mobile-busy{
    background:#fff7f7;
    border-color:#fecaca;
}
.gbp-mobile-busy .gbp-mobile-status{
    background:#fee2e2;
    color:#991b1b;
}
@media (max-width:680px){
    .gbp-calendar-desktop{
        display:none;
    }
    .gbp-calendar-mobile-list{
        display:block;
    }
    .gbp-calendar-controls{
        width:100%;
        justify-content:space-between;
    }
    .gbp-calendar-controls select{
        flex:1 1 auto;
        min-width:150px;
    }
    .gbp-calendar-legend{
        gap:6px;
    }
    .gbp-calendar-legend span{
        font-size:12px;
        padding:6px 8px;
    }
    .gbp-trust-row span{
        font-size:12px;
    }
}


/* v0.7.0 - live quote and request summary */
.gbp-search-form .gbp-button{
    min-height:50px;
}
.gbp-result .gbp-box{
    position:relative;
    overflow:hidden;
}
.gbp-result .gbp-box:before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:5px;
    background:linear-gradient(90deg,#0f5132,#16a34a);
}
.gbp-request-summary{
    margin:0 0 18px;
}
.gbp-summary-card{
    display:grid;
    grid-template-columns:1fr auto;
    gap:14px;
    align-items:center;
    border:1px solid #bbf7d0;
    background:#f0fdf4;
    border-radius:18px;
    padding:16px 18px;
}
.gbp-summary-card strong,
.gbp-summary-card small,
.gbp-summary-label{
    display:block;
}
.gbp-summary-label{
    color:#0f5132;
    font-size:12px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
    margin-bottom:4px;
}
.gbp-summary-card strong{
    font-size:17px;
    color:#111827;
    line-height:1.25;
}
.gbp-summary-card small{
    color:#4b5563;
    margin-top:5px;
    font-weight:700;
}
.gbp-summary-price{
    color:#0f5132;
    font-size:30px;
    font-weight:950;
    white-space:nowrap;
}
.gbp-field input:focus,
.gbp-field textarea:focus,
.gbp-calendar-controls select:focus{
    outline:3px solid rgba(15,81,50,.14);
    border-color:#0f5132;
}
@media (max-width:620px){
    .gbp-summary-card{
        grid-template-columns:1fr;
    }
    .gbp-summary-price{
        font-size:34px;
    }
}


/* v0.9.0 - bloc accueil / prochaines disponibilités */
.gbp-home-availability{
    max-width:980px;
    margin:28px auto;
    padding:26px;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 18px 45px rgba(0,0,0,.07);
    font-family:inherit;
}
.gbp-home-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin-bottom:18px;
}
.gbp-home-head h2{
    margin:0 0 8px;
    font-size:clamp(26px,4vw,40px);
    line-height:1.08;
}
.gbp-home-head p{
    margin:0;
    color:#4b5563;
}
.gbp-home-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.gbp-home-card{
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:18px;
    background:linear-gradient(180deg,#ffffff 0%,#f9fafb 100%);
}
.gbp-home-date{
    font-weight:950;
    line-height:1.25;
    color:#111827;
}
.gbp-home-date span{
    display:block;
    color:#4b5563;
    font-weight:850;
}
.gbp-home-meta{
    margin:10px 0 8px;
    color:#6b7280;
    font-size:14px;
}
.gbp-home-price{
    color:#0f5132;
    font-weight:950;
    font-size:clamp(28px,5vw,38px);
    line-height:1;
    margin:12px 0 16px;
}
.gbp-home-button{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:100%;
    min-height:44px;
    border-radius:999px;
    background:#0f5132;
    color:#fff !important;
    font-weight:900;
    text-decoration:none !important;
}
.gbp-home-button:hover{
    opacity:.92;
    transform:translateY(-1px);
}
@media (max-width:900px){
    .gbp-home-grid{
        grid-template-columns:1fr;
    }
    .gbp-home-availability{
        padding:20px;
        border-radius:20px;
    }
}


/* v1.2.0 - informations complémentaires facultatives */
.gbp-grid-3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.gbp-form-section-title{
    margin:18px 0 10px;
    font-weight:900;
    color:#111827;
}
.gbp-required-details{
    margin:18px 0;
    padding:16px;
    border:1px solid #e5e7eb;
    border-radius:18px;
    background:#f9fafb;
}
.gbp-required-details summary{
    cursor:pointer;
    font-weight:900;
    color:#0f5132;
    list-style-position:inside;
}
.gbp-required-details[open] summary{
    margin-bottom:12px;
}
@media(max-width:800px){
    .gbp-grid-3{
        grid-template-columns:1fr;
    }
}


/* v1.3.0 - informations voyageurs obligatoires */
.gbp-required-details{
    margin:18px 0;
    padding:18px;
    border:1px solid #d1fae5;
    border-radius:18px;
    background:#f0fdf4;
}
.gbp-required-title{
    font-weight:950;
    color:#0f5132;
    margin-bottom:14px;
    font-size:18px;
}
.gbp-field input:required,
.gbp-field textarea:required{
    border-color:#cbd5e1;
}
.gbp-field input:invalid{
    border-color:#fca5a5;
}


/* v1.4.0 - colorisation de toute la période choisie dans le calendrier */
button.gbp-day.gbp-day-in-period{
    cursor:pointer !important;
    min-height:112px;
}
button.gbp-day.gbp-day-period-available,
button.gbp-day.gbp-day-period-available:hover,
button.gbp-day.gbp-day-period-available:focus{
    background:#ecfdf3 !important;
    border-color:#86efac !important;
    color:#111827 !important;
}
button.gbp-day.gbp-day-period-busy,
button.gbp-day.gbp-day-period-busy:hover,
button.gbp-day.gbp-day-period-busy:focus{
    background:#fff1f2 !important;
    border-color:#fca5a5 !important;
    color:#111827 !important;
}
button.gbp-day.gbp-day-period-ask,
button.gbp-day.gbp-day-period-out,
button.gbp-day.gbp-day-period-past,
button.gbp-day.gbp-day-period-ask:hover,
button.gbp-day.gbp-day-period-out:hover,
button.gbp-day.gbp-day-period-past:hover,
button.gbp-day.gbp-day-period-ask:focus,
button.gbp-day.gbp-day-period-out:focus,
button.gbp-day.gbp-day-period-past:focus{
    background:#f8fafc !important;
    border-color:#cbd5e1 !important;
    color:#64748b !important;
}
.gbp-day-range{
    display:block;
    margin-top:2px;
    font-size:11px;
    font-weight:900;
    color:#475569;
    white-space:nowrap;
}
.gbp-day-range-part{
    margin:auto;
    font-size:26px;
    line-height:1;
    font-weight:900;
    color:rgba(15,81,50,.35);
}
.gbp-day-period-busy .gbp-day-range-part{
    color:rgba(153,27,27,.35);
}
.gbp-day-period-ask .gbp-day-range-part,
.gbp-day-period-out .gbp-day-range-part,
.gbp-day-period-past .gbp-day-range-part{
    color:rgba(100,116,139,.35);
}
.gbp-day-period-start{
    box-shadow:inset 0 0 0 2px rgba(15,81,50,.10) !important;
}
.gbp-day-period-middle{
    opacity:.96;
}
.gbp-day-period-end{
    box-shadow:inset 0 -3px 0 rgba(15,81,50,.22) !important;
}
.gbp-day-period-busy.gbp-day-period-start{
    box-shadow:inset 0 0 0 2px rgba(153,27,27,.10) !important;
}
.gbp-day-period-busy.gbp-day-period-end{
    box-shadow:inset 0 -3px 0 rgba(153,27,27,.22) !important;
}
@media(max-width:800px){
    button.gbp-day.gbp-day-in-period{
        min-height:78px;
    }
    .gbp-day-range{
        display:none;
    }
    .gbp-day-range-part{
        font-size:18px;
    }
}
@media(max-width:520px){
    button.gbp-day.gbp-day-in-period{
        min-height:64px;
    }
    .gbp-day-range-part{
        font-size:16px;
    }
}


/* v1.5.0 - horaires d'arrivée et de départ */
.gbp-times-card{
    display:grid;
    gap:6px;
    margin:14px 0;
    padding:14px 16px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    color:#0f172a;
}
.gbp-times-card strong{
    color:#0f5132;
    font-size:17px;
}
.gbp-times-card span{
    display:block;
    font-weight:750;
}
.gbp-suggestion-time,
.gbp-home-time{
    margin:6px 0 10px;
    color:#475569;
    font-size:13px;
    line-height:1.35;
    font-weight:650;
}
.gbp-summary-card small{
    display:block;
}


/* v1.6.0 - demande personnalisée */
.gbp-custom-note{
    margin:14px 0 0;
    padding:12px 14px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    color:#475569;
    font-size:14px;
}


/* v1.6.4 - demande impossible : pas de prix affiché, proposition d'alternative */
.gbp-impossible-note{
    margin:18px 0;
    padding:16px 18px;
    border-radius:18px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#7c2d12;
}
.gbp-impossible-note strong{
    display:block;
    margin-bottom:6px;
    font-weight:950;
}
.gbp-impossible-note p{
    margin:0;
}
.gbp-alternative-card{
    margin:18px 0;
    padding:18px;
    border-radius:18px;
    background:#f0fdf4;
    border:1px solid #bbf7d0;
}
.gbp-alternative-card strong{
    display:block;
    color:#0f5132;
    font-size:18px;
    margin-bottom:8px;
}
.gbp-alternative-card span{
    display:block;
    font-weight:900;
    margin-bottom:6px;
}
.gbp-alternative-card small{
    display:block;
    color:#4b5563;
    margin-bottom:14px;
}


/* v1.7.0 - promotions visibles côté site */
.gbp-promo-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    width:max-content;
    max-width:100%;
    margin:10px 0 6px;
    padding:7px 12px;
    border-radius:999px;
    background:#fff7ed;
    color:#9a3412;
    border:1px solid #fed7aa;
    font-weight:950;
    font-size:14px;
}
.gbp-old-price{
    display:block;
    color:#94a3b8;
    font-weight:900;
    text-decoration:line-through;
    font-size:22px;
    margin:4px 0 2px;
}
.gbp-old-price-small{
    font-size:14px;
    margin:4px 0;
}
.gbp-day-promo{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:2px 6px;
    border-radius:999px;
    background:#ffedd5;
    color:#9a3412;
    font-size:10px;
    font-weight:950;
    line-height:1;
    margin-top:3px;
}
.gbp-mobile-stay .gbp-promo-badge{
    margin:4px 0;
    font-size:12px;
    padding:5px 9px;
}
.gbp-home-card .gbp-promo-badge{
    margin-top:8px;
}


/* v1.7.1 - annonce promotion au-dessus du moteur */
.gbp-promo-banner{
    margin:18px 0 20px;
    padding:16px 18px;
    border-radius:18px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#7c2d12;
}
.gbp-promo-banner strong{
    display:block;
    margin-bottom:8px;
    font-weight:950;
}
.gbp-promo-banner span{
    display:block;
    font-weight:750;
    margin:4px 0;
}


/* v1.7.2 - promotions plus visibles dans le calendrier du bas */
.gbp-legend-promo{
    background:#f97316;
}
.gbp-calendar-promo-callout{
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    align-items:center;
    margin:12px 0 14px;
    padding:12px 14px;
    border-radius:16px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
}
.gbp-calendar-promo-callout strong{
    font-weight:950;
}
.gbp-calendar-promo-callout span{
    font-weight:800;
}
.gbp-day-promo{
    background:#f97316 !important;
    color:#fff !important;
    font-size:11px !important;
    padding:3px 7px !important;
}
.gbp-day-old-price{
    display:block;
    color:#94a3b8;
    text-decoration:line-through;
    font-weight:900;
    font-size:11px;
    margin-top:3px;
    line-height:1;
}
.gbp-day.gbp-day-period-available:has(.gbp-day-promo){
    background:#fff7ed !important;
    border-color:#fdba74 !important;
}
@supports not selector(:has(*)){
    .gbp-day-promo + .gbp-day-old-price{
        margin-top:4px;
    }
}
@media(max-width:800px){
    .gbp-calendar-promo-callout{
        display:block;
    }
    .gbp-calendar-promo-callout strong,
    .gbp-calendar-promo-callout span{
        display:block;
    }
}


/* v1.8.0 - prochaines disponibilités compactes sur le côté */
.gbp-planning-layout{
    display:grid;
    grid-template-columns:minmax(250px,300px) minmax(0,1fr);
    gap:18px;
    align-items:start;
    margin-top:24px;
}
.gbp-planning-layout .gbp-suggestions,
.gbp-planning-layout .gbp-month-calendar{
    margin-top:0;
}
.gbp-planning-layout .gbp-suggestions{
    padding:18px;
    border-radius:20px;
    box-shadow:0 12px 28px rgba(0,0,0,.045);
}
.gbp-planning-layout .gbp-suggestions .gbp-section-head{
    margin-bottom:12px;
}
.gbp-planning-layout .gbp-suggestions .gbp-section-head h3{
    font-size:20px;
    line-height:1.15;
}
.gbp-planning-layout .gbp-suggestions .gbp-link-button{
    padding:8px 10px;
    font-size:13px;
}
.gbp-planning-layout .gbp-suggestion-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
}
.gbp-planning-layout .gbp-suggestion-card{
    padding:12px;
    border-radius:14px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
        "date price"
        "meta price"
        "time time"
        "button button";
    gap:4px 10px;
    align-items:center;
}
.gbp-planning-layout .gbp-suggestion-date{
    grid-area:date;
    font-size:14px;
    line-height:1.18;
}
.gbp-planning-layout .gbp-suggestion-meta{
    grid-area:meta;
    margin:0;
    font-size:12px;
}
.gbp-planning-layout .gbp-suggestion-time{
    grid-area:time;
    font-size:11px;
    line-height:1.2;
    color:#334155;
    margin-top:3px;
}
.gbp-planning-layout .gbp-suggestion-price{
    grid-area:price;
    margin:0;
    font-size:20px;
    white-space:nowrap;
}
.gbp-planning-layout .gbp-mini-button{
    grid-area:button;
    padding:8px 10px;
    font-size:13px;
    min-height:36px;
}
.gbp-planning-layout .gbp-suggestions > .gbp-small{
    font-size:11px;
    margin-top:10px;
}
.gbp-planning-layout .gbp-month-calendar{
    min-width:0;
}
@media(max-width:1100px){
    .gbp-planning-layout{
        grid-template-columns:1fr;
    }
    .gbp-planning-layout .gbp-suggestions{
        order:2;
    }
    .gbp-planning-layout .gbp-month-calendar{
        order:1;
    }
    .gbp-planning-layout .gbp-suggestion-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .gbp-planning-layout .gbp-suggestion-grid{
        grid-template-columns:1fr;
    }
}


/* v1.8.1 - calendrier plus compact, infos conservées */
.gbp-calendar-grid{
    gap:6px;
}
.gbp-day,
button.gbp-day,
button.gbp-day.gbp-day-in-period{
    min-height:82px !important;
    padding:7px 5px !important;
    border-radius:10px !important;
}
.gbp-day-number{
    font-size:13px !important;
    line-height:1 !important;
}
.gbp-day-range{
    font-size:9px !important;
    line-height:1.05 !important;
    letter-spacing:-.02em;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
}
.gbp-day-promo{
    font-size:9px !important;
    line-height:1 !important;
    padding:2px 5px !important;
    margin-top:2px !important;
}
.gbp-day-old-price{
    font-size:9px !important;
    line-height:1 !important;
    margin-top:2px !important;
}
.gbp-day-badge{
    font-size:9px !important;
    line-height:1 !important;
    padding:3px 5px !important;
    margin-top:2px !important;
}
.gbp-day-price{
    font-size:13px !important;
    line-height:1.05 !important;
    margin-top:2px !important;
}
.gbp-day-range-part{
    font-size:16px !important;
}
.gbp-calendar-title strong{
    font-size:24px;
}
.gbp-calendar-title{
    margin-bottom:10px;
}
.gbp-calendar-legend,
.gbp-calendar-promo-callout{
    margin-top:8px;
    margin-bottom:10px;
}
.gbp-planning-layout{
    grid-template-columns:minmax(220px,260px) minmax(0,1fr);
}
.gbp-planning-layout .gbp-month-calendar{
    padding:18px;
}
@media(max-width:1100px){
    .gbp-day,
    button.gbp-day,
    button.gbp-day.gbp-day-in-period{
        min-height:74px !important;
    }
}
@media(max-width:800px){
    .gbp-day,
    button.gbp-day,
    button.gbp-day.gbp-day-in-period{
        min-height:62px !important;
    }
}


/* v1.9.0 - calendrier style site de voyage : compact avec bandes de séjour */
.gbp-month-calendar{
    padding:20px !important;
}
.gbp-calendar-grid{
    gap:0 !important;
}
.gbp-calendar-weekdays{
    border-bottom:1px solid #e5e7eb;
    padding-bottom:6px;
    margin-bottom:4px !important;
}
.gbp-calendar-weekdays div{
    text-align:center;
    font-size:13px !important;
    font-weight:800 !important;
    color:#64748b !important;
    text-transform:lowercase;
}
.gbp-day,
button.gbp-day,
button.gbp-day:hover,
button.gbp-day:focus{
    min-height:58px !important;
    padding:5px 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    color:#0f172a !important;
}
button.gbp-day:not(.gbp-day-in-period):hover,
button.gbp-day:not(.gbp-day-in-period):focus{
    background:#f8fafc !important;
}
.gbp-day-number{
    font-size:14px !important;
    font-weight:850 !important;
}
.gbp-day-top{
    justify-content:center !important;
}
.gbp-day-dot,
.gbp-day-muted{
    display:none !important;
}
button.gbp-day.gbp-day-in-period{
    min-height:58px !important;
    border-left:1px solid #fff !important;
    border-right:1px solid #fff !important;
}

/* disponible : bande verte, départ/arrivée foncés */
button.gbp-day.gbp-day-period-available,
button.gbp-day.gbp-day-period-available:hover,
button.gbp-day.gbp-day-period-available:focus{
    background:#e7f8ee !important;
    color:#0f172a !important;
}
button.gbp-day.gbp-day-period-available.gbp-day-period-start,
button.gbp-day.gbp-day-period-available.gbp-day-period-end{
    background:#0f5132 !important;
    color:#fff !important;
}
button.gbp-day.gbp-day-period-available.gbp-day-period-start{
    border-radius:999px 0 0 999px !important;
}
button.gbp-day.gbp-day-period-available.gbp-day-period-end{
    border-radius:0 999px 999px 0 !important;
}

/* réservé : bande grise plus lisible */
button.gbp-day.gbp-day-period-busy,
button.gbp-day.gbp-day-period-busy:hover,
button.gbp-day.gbp-day-period-busy:focus{
    background:#cbd5e1 !important;
    color:#1f2937 !important;
}
button.gbp-day.gbp-day-period-busy.gbp-day-period-start,
button.gbp-day.gbp-day-period-busy.gbp-day-period-end{
    background:#64748b !important;
    color:#fff !important;
}
button.gbp-day.gbp-day-period-busy.gbp-day-period-start{
    border-radius:999px 0 0 999px !important;
}
button.gbp-day.gbp-day-period-busy.gbp-day-period-end{
    border-radius:0 999px 999px 0 !important;
}

/* promo : teinte orange visible */
button.gbp-day.gbp-day-period-available:has(.gbp-day-promo),
button.gbp-day.gbp-day-period-available:has(.gbp-day-promo):hover,
button.gbp-day.gbp-day-period-available:has(.gbp-day-promo):focus{
    background:#fff3e6 !important;
    color:#0f172a !important;
}
button.gbp-day.gbp-day-period-available.gbp-day-period-start:has(.gbp-day-promo),
button.gbp-day.gbp-day-period-available.gbp-day-period-end:has(.gbp-day-promo){
    background:#c76f22 !important;
    color:#fff !important;
}

/* sur demande / passé */
button.gbp-day.gbp-day-period-ask,
button.gbp-day.gbp-day-period-out,
button.gbp-day.gbp-day-period-past,
button.gbp-day.gbp-day-period-ask:hover,
button.gbp-day.gbp-day-period-out:hover,
button.gbp-day.gbp-day-period-past:hover,
button.gbp-day.gbp-day-period-ask:focus,
button.gbp-day.gbp-day-period-out:focus,
button.gbp-day.gbp-day-period-past:focus{
    background:#f1f5f9 !important;
    color:#94a3b8 !important;
}
button.gbp-day.gbp-day-period-ask.gbp-day-period-start,
button.gbp-day.gbp-day-period-out.gbp-day-period-start,
button.gbp-day.gbp-day-period-past.gbp-day-period-start{
    border-radius:999px 0 0 999px !important;
}
button.gbp-day.gbp-day-period-ask.gbp-day-period-end,
button.gbp-day.gbp-day-period-out.gbp-day-period-end,
button.gbp-day.gbp-day-period-past.gbp-day-period-end{
    border-radius:0 999px 999px 0 !important;
}

.gbp-day-range{
    display:block !important;
    font-size:9px !important;
    line-height:1 !important;
    margin-top:2px !important;
    color:inherit !important;
    opacity:.95;
}
.gbp-day-price{
    display:block !important;
    font-size:14px !important;
    line-height:1.05 !important;
    margin-top:2px !important;
    font-weight:950 !important;
    color:inherit !important;
}
.gbp-day-badge{
    display:none !important;
}
.gbp-day-promo{
    display:inline-flex !important;
    margin-top:2px !important;
    padding:2px 5px !important;
    font-size:9px !important;
    background:#f97316 !important;
    color:#fff !important;
}
.gbp-day-old-price{
    font-size:9px !important;
    color:inherit !important;
    opacity:.7;
}
.gbp-day-range-part{
    margin:auto !important;
    font-size:16px !important;
    color:currentColor !important;
    opacity:.45;
}
button.gbp-day.gbp-day-period-start,
button.gbp-day.gbp-day-period-end{
    box-shadow:none !important;
}
@media(max-width:1100px){
    .gbp-calendar-grid{
        gap:0 !important;
    }
    .gbp-day,
    button.gbp-day,
    button.gbp-day.gbp-day-in-period{
        min-height:54px !important;
    }
}
@media(max-width:800px){
    /* Sur mobile on garde la liste lisible déjà prévue */
    .gbp-calendar-desktop{
        display:none !important;
    }
}


/* v1.9.1 - réservé/impossible plus voyant + non cliquable */
.gbp-calendar-alert{
    margin:12px 0 14px;
    padding:14px 16px;
    border-radius:16px;
    background:#fff1f2;
    border:2px solid #fb7185;
    color:#7f1d1d;
}
.gbp-calendar-alert strong,
.gbp-calendar-alert span,
.gbp-calendar-alert small{
    display:block;
}
.gbp-calendar-alert strong{
    font-weight:950;
    margin-bottom:5px;
}
.gbp-calendar-alert span{
    font-weight:850;
}
.gbp-calendar-alert small{
    margin-top:5px;
    color:#991b1b;
}
.gbp-day-disabled,
.gbp-mobile-disabled{
    cursor:not-allowed !important;
}
button.gbp-day.gbp-day-disabled{
    pointer-events:none;
}
button.gbp-day.gbp-day-period-busy,
button.gbp-day.gbp-day-period-busy:hover,
button.gbp-day.gbp-day-period-busy:focus,
button.gbp-day.gbp-day-period-busy:disabled{
    background:
        repeating-linear-gradient(135deg, rgba(220,38,38,.18) 0 7px, rgba(255,255,255,.55) 7px 14px),
        #fee2e2 !important;
    color:#7f1d1d !important;
    opacity:1 !important;
}
button.gbp-day.gbp-day-period-busy.gbp-day-period-start,
button.gbp-day.gbp-day-period-busy.gbp-day-period-end,
button.gbp-day.gbp-day-period-busy.gbp-day-period-start:disabled,
button.gbp-day.gbp-day-period-busy.gbp-day-period-end:disabled{
    background:#b91c1c !important;
    color:#fff !important;
}
.gbp-day-locked{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    padding:3px 7px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:950;
    margin-top:3px;
    text-transform:uppercase;
}
.gbp-day-range-locked{
    color:#b91c1c !important;
    opacity:.75 !important;
    font-size:20px !important;
}
button.gbp-day.gbp-day-period-busy.gbp-day-period-start .gbp-day-locked,
button.gbp-day.gbp-day-period-busy.gbp-day-period-end .gbp-day-locked{
    background:#fff;
    color:#991b1b;
}
.gbp-mobile-disabled{
    opacity:1 !important;
    background:#fee2e2 !important;
    border-color:#fecaca !important;
}
.gbp-mobile-disabled .gbp-mobile-status{
    background:#ef4444;
    color:#fff;
    padding:5px 9px;
    border-radius:999px;
    font-weight:950;
}


/* v1.9.2 - liste des mois au lieu des flèches */
.gbp-calendar-controls{
    display:grid !important;
    grid-template-columns:minmax(170px,220px) minmax(190px,260px);
    gap:10px !important;
    align-items:center;
}
.gbp-calendar-controls select{
    width:100%;
}
@media(max-width:700px){
    .gbp-calendar-controls{
        grid-template-columns:1fr !important;
        width:100%;
    }
}


/* v1.9.4 - mobile : garder le vrai calendrier visible */
.gbp-calendar-mobile-hint{
    display:none;
}
@media (max-width:800px){
    .gbp-calendar-mobile-hint{
        display:block;
        margin:10px 0 12px;
        padding:10px 12px;
        border-radius:12px;
        background:#eff6ff;
        border:1px solid #bfdbfe;
        color:#1d4ed8;
        font-size:12px;
        line-height:1.35;
        font-weight:700;
    }
    .gbp-calendar-desktop{
        display:block !important;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        padding-bottom:6px;
        margin-bottom:12px;
    }
    .gbp-calendar-desktop .gbp-calendar-grid{
        min-width:640px;
    }
    .gbp-calendar-mobile-list{
        display:block;
        margin-top:8px;
    }
}
@media (max-width:680px){
    .gbp-calendar-desktop{
        display:block !important;
    }
    .gbp-calendar-mobile-list{
        display:block !important;
    }
    .gbp-calendar-controls{
        width:100%;
        grid-template-columns:1fr !important;
    }
    .gbp-calendar-controls select{
        width:100%;
        min-width:0;
    }
    .gbp-calendar-title{
        gap:6px;
    }
    .gbp-calendar-title strong{
        font-size:24px !important;
    }
    .gbp-calendar-title span{
        font-size:14px;
    }
    .gbp-calendar-note{
        font-size:13px;
    }
}
@media (max-width:520px){
    .gbp-month-calendar{
        padding:14px !important;
    }
    .gbp-calendar-desktop .gbp-calendar-grid{
        min-width:600px;
    }
}


/* v1.9.5 - calendrier avant les disponibilités, surtout sur mobile */
.gbp-planning-layout{
    grid-template-columns:minmax(0,1fr) minmax(230px,280px) !important;
    align-items:start;
}
.gbp-planning-layout .gbp-month-calendar{
    grid-column:1;
}
.gbp-planning-layout .gbp-suggestions{
    grid-column:2;
}
@media (max-width:1100px){
    .gbp-planning-layout{
        grid-template-columns:1fr !important;
    }
    .gbp-planning-layout .gbp-month-calendar{
        grid-column:auto;
        order:1 !important;
    }
    .gbp-planning-layout .gbp-suggestions{
        grid-column:auto;
        order:2 !important;
    }
}
@media (max-width:680px){
    .gbp-planning-layout .gbp-month-calendar{
        margin-bottom:14px;
    }
    .gbp-planning-layout .gbp-suggestions{
        margin-top:0;
    }
}


/* v1.9.6 - arrivée anticipée possible pour demande personnalisée */
.gbp-times-card em{
    display:block;
    margin-top:10px;
    padding:9px 11px;
    border-radius:12px;
    background:#ecfdf3;
    color:#0f5132;
    font-style:normal;
    font-weight:850;
}


/* v1.9.7 - départ forcé avant 10h si réservation le même jour */
.gbp-times-card em.gbp-warning-note{
    background:#fff7ed;
    color:#9a3412;
    border:1px solid #fed7aa;
}


/* v1.9.9 - option départ tardif avec supplément */
.gbp-late-checkout-option{
    border-color:#fed7aa !important;
    background:#fff7ed !important;
}
.gbp-late-note{
    margin:12px 0;
    padding:11px 13px;
    border-radius:14px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
    font-weight:850;
}
.gbp-warning-text{
    color:#9a3412 !important;
    font-weight:850;
}


/* v1.9.10 - la case départ tardif apparaît uniquement si la date le permet */
.gbp-late-checkout-hidden{
    display:none !important;
}
.gbp-late-checkout-option{
    animation:gbpFadeInLate .18s ease-out;
}
@keyframes gbpFadeInLate{
    from{opacity:0; transform:translateY(-3px);}
    to{opacity:1; transform:translateY(0);}
}


/* v1.9.11 - suppression du bouton Voir / actualiser le prix */
.gbp-search-form{
    grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(220px,auto) minmax(220px,auto) !important;
}
@media(max-width:900px){
    .gbp-search-form{
        grid-template-columns:1fr 1fr !important;
    }
    .gbp-dog,
    .gbp-late-checkout-option{
        grid-column:1 / -1;
    }
}
@media(max-width:560px){
    .gbp-search-form{
        grid-template-columns:1fr !important;
    }
}

/* v1.9.19 - paiement, caution avec solde et frais d'annulation */
.gbp-payment-card{
    margin:18px 0;
    padding:16px 18px;
    border-radius:18px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}
.gbp-payment-title{
    margin:0 0 10px;
    font-weight:900;
    color:#1e3a8a;
}
.gbp-payment-card ul{
    margin:0;
    padding-left:20px;
}
.gbp-payment-card li{
    margin:6px 0;
}
.gbp-cancel-note{
    margin:10px 0 0;
    padding:10px 12px;
    border-radius:12px;
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#9a3412;
    font-size:14px;
}
.gbp-summary-price small{
    display:block;
    margin-top:4px;
    font-size:12px;
    line-height:1.25;
    font-weight:700;
    color:#4b5563;
}

/* v1.9.22 - réservation + conditions générales */
.gbp-booking-confirm-note{
    margin:10px 0 12px;
    padding:10px 12px;
    border:1px solid rgba(20,90,70,.18);
    border-radius:10px;
    background:rgba(20,90,70,.055);
    font-size:.92rem;
    line-height:1.45;
}
.gbp-booking-confirm-note-inline{
    max-width:680px;
    margin-top:10px;
}
.gbp-terms-box{
    margin:18px 0 12px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:12px;
    overflow:hidden;
    background:#fff;
}
.gbp-terms-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:14px 16px;
    font-weight:600;
    line-height:1.4;
}
.gbp-terms-check input{
    width:18px;
    height:18px;
    min-width:18px;
    margin-top:2px;
}
.gbp-terms-details{
    border-top:1px solid rgba(0,0,0,.09);
}
.gbp-terms-details summary{
    cursor:pointer;
    padding:12px 16px;
    font-weight:700;
    background:rgba(0,0,0,.025);
}
.gbp-terms-content{
    padding:18px 18px 22px;
    max-height:440px;
    overflow:auto;
    line-height:1.55;
    font-size:.92rem;
}
.gbp-terms-content h2{
    margin:0 0 4px;
    font-size:1.35rem;
}
.gbp-terms-content h3{
    margin:18px 0 6px;
    font-size:1.02rem;
}
.gbp-terms-content p{
    margin:0 0 10px;
}
.gbp-terms-subtitle,.gbp-terms-version{
    opacity:.72;
}
.gbp-terms-identity{
    padding:12px;
    border-radius:9px;
    background:rgba(0,0,0,.035);
}
.gbp-terms-standalone{
    max-height:none;
    overflow:visible;
    max-width:980px;
    margin:0 auto;
    padding:24px;
}
@media (max-width:640px){
    .gbp-terms-content{max-height:360px;padding:15px;}
    .gbp-terms-check{padding:12px 13px;}
}


/* v1.9.23 - CGV disponibles en PDF */
.gbp-terms-pdf{
    margin:10px 0 0;
    font-size:.92rem;
}
.gbp-terms-pdf a{
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
}


/* RGPD / confidentialité */
.gbp-privacy-notice{margin:14px 0;padding:12px 14px;border:1px solid rgba(25,80,60,.18);border-radius:12px;background:rgba(245,250,248,.95);font-size:.92rem;line-height:1.45;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gbp-privacy-notice a{font-weight:700;text-decoration:underline}
.gbp-marketing-optin{display:flex;gap:10px;align-items:flex-start;margin:12px 0 16px;font-size:.92rem;line-height:1.45}
.gbp-marketing-optin input{margin-top:4px;flex:0 0 auto}
.gbp-privacy-standalone{max-width:920px;margin:30px auto;padding:24px;background:#fff;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.06);line-height:1.6}
.gbp-privacy-standalone h2{margin-top:0}
.gbp-privacy-standalone h3{margin-top:1.5em;margin-bottom:.35em}
.gbp-privacy-version{font-size:.9rem;opacity:.75}
.gbp-legal-footer{text-align:center;padding:8px 12px 18px;font-size:.9rem}
.gbp-legal-footer a{text-decoration:underline}

/* v1.9.29 - information paiement */
.gbp-payment-method-note{margin:12px 0 6px;padding:10px 12px;border-radius:10px;background:rgba(245,248,252,.95);font-size:.92rem;line-height:1.45}


/* v1.9.32 - filigrane décoratif configurable sur les cartes du devis */
.gbp-reservation:not(.gbp-watermark-off) .gbp-times-card,
.gbp-reservation:not(.gbp-watermark-off) .gbp-included-card,
.gbp-reservation:not(.gbp-watermark-off) .gbp-payment-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.gbp-reservation:not(.gbp-watermark-off) .gbp-times-card::after,
.gbp-reservation:not(.gbp-watermark-off) .gbp-included-card::after,
.gbp-reservation:not(.gbp-watermark-off) .gbp-payment-card::after{
    content:"";
    position:absolute;
    right:12px;
    top:50%;
    width:150px;
    height:150px;
    transform:translateY(-50%);
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    pointer-events:none;
    z-index:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%230f5132' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M25 76 80 30l55 46'/%3E%3Cpath d='M38 70v62h84V70'/%3E%3Cpath d='M65 132V94h30v38'/%3E%3Cpath d='M48 82h22v22H48zM100 82h22v22h-22z'/%3E%3C/g%3E%3C/svg%3E");
}
.gbp-reservation:not(.gbp-watermark-off) .gbp-times-card > *,
.gbp-reservation:not(.gbp-watermark-off) .gbp-included-card > *,
.gbp-reservation:not(.gbp-watermark-off) .gbp-payment-card > *{
    position:relative;
    z-index:1;
}
.gbp-watermark-discreet .gbp-times-card::after,
.gbp-watermark-discreet .gbp-included-card::after,
.gbp-watermark-discreet .gbp-payment-card::after{
    width:120px;
    height:120px;
    right:14px;
    opacity:.035;
}
.gbp-watermark-elegant .gbp-times-card::after,
.gbp-watermark-elegant .gbp-included-card::after,
.gbp-watermark-elegant .gbp-payment-card::after{
    width:165px;
    height:165px;
    right:18px;
    opacity:.06;
}
.gbp-watermark-visible .gbp-times-card::after,
.gbp-watermark-visible .gbp-included-card::after,
.gbp-watermark-visible .gbp-payment-card::after{
    width:205px;
    height:205px;
    right:20px;
    opacity:.095;
}
@media(max-width:600px){
    .gbp-reservation:not(.gbp-watermark-off) .gbp-times-card::after,
    .gbp-reservation:not(.gbp-watermark-off) .gbp-included-card::after,
    .gbp-reservation:not(.gbp-watermark-off) .gbp-payment-card::after{
        width:105px;
        height:105px;
        right:8px;
        opacity:.035;
    }
    .gbp-watermark-visible .gbp-times-card::after,
    .gbp-watermark-visible .gbp-included-card::after,
    .gbp-watermark-visible .gbp-payment-card::after{
        width:135px;
        height:135px;
        opacity:.07;
    }
}


/* v1.9.33 - palettes configurables pour harmoniser les cartes avec le thème du site */
.gbp-reservation.gbp-colors-site .gbp-times-card,
.gbp-reservation.gbp-colors-site .gbp-included-card,
.gbp-reservation.gbp-colors-site .gbp-payment-card{
    background:#fffaf4;
    border-color:#d8b995;
    color:#2f2924;
    box-shadow:0 2px 8px rgba(91,63,39,.035);
}
.gbp-reservation.gbp-colors-site .gbp-times-card strong,
.gbp-reservation.gbp-colors-site .gbp-included-title,
.gbp-reservation.gbp-colors-site .gbp-payment-title{
    color:#6f4c35;
}
.gbp-reservation.gbp-colors-site .gbp-cancel-note{
    background:#fffaf4;
    border-color:#d8b995;
    color:#6f4c35;
}
.gbp-reservation.gbp-colors-site .gbp-price{
    color:#0f5132;
}

.gbp-reservation.gbp-colors-warm .gbp-times-card,
.gbp-reservation.gbp-colors-warm .gbp-included-card,
.gbp-reservation.gbp-colors-warm .gbp-payment-card{
    background:#fbf4ea;
    border-color:#cfae87;
    color:#342b24;
    box-shadow:none;
}
.gbp-reservation.gbp-colors-warm .gbp-times-card strong,
.gbp-reservation.gbp-colors-warm .gbp-included-title,
.gbp-reservation.gbp-colors-warm .gbp-payment-title,
.gbp-reservation.gbp-colors-warm .gbp-price{
    color:#704a31;
}
.gbp-reservation.gbp-colors-warm .gbp-cancel-note{
    background:#f8efe3;
    border-color:#cfae87;
    color:#704a31;
}

.gbp-reservation.gbp-colors-green .gbp-times-card,
.gbp-reservation.gbp-colors-green .gbp-included-card,
.gbp-reservation.gbp-colors-green .gbp-payment-card{
    background:#fbfaf5;
    border-color:#c9c6aa;
    color:#26342c;
    box-shadow:none;
}
.gbp-reservation.gbp-colors-green .gbp-times-card strong,
.gbp-reservation.gbp-colors-green .gbp-included-title,
.gbp-reservation.gbp-colors-green .gbp-payment-title,
.gbp-reservation.gbp-colors-green .gbp-price{
    color:#0f5132;
}
.gbp-reservation.gbp-colors-green .gbp-cancel-note{
    background:#fbfaf5;
    border-color:#c9c6aa;
    color:#44534a;
}

/* Le mode legacy conserve volontairement les couleurs historiques déjà définies plus haut. */

/* Les notes secondaires suivent la palette afin d'éviter un nouvel aplat bleu. */
.gbp-reservation.gbp-colors-site .gbp-payment-method-note,
.gbp-reservation.gbp-colors-warm .gbp-payment-method-note,
.gbp-reservation.gbp-colors-green .gbp-payment-method-note{
    background:rgba(255,250,244,.72);
    border:1px solid rgba(111,76,53,.12);
}

/* v1.9.34 - palette ton sur ton avec le fond réel du site (#ead1b2).
   Le but est de supprimer l'effet 'grandes cartes blanches' tout en gardant
   des contrastes suffisants et les couleurs fonctionnelles du calendrier. */
.gbp-reservation.gbp-colors-site .gbp-hero-card,
.gbp-reservation.gbp-colors-site .gbp-box,
.gbp-reservation.gbp-colors-site .gbp-request,
.gbp-reservation.gbp-colors-site .gbp-suggestions,
.gbp-reservation.gbp-colors-site .gbp-month-calendar,
.gbp-reservation.gbp-colors-site .gbp-home-availability{
    background:#f2e3d1;
    border-color:#d1ae86;
    box-shadow:0 10px 28px rgba(91,63,39,.075);
}

.gbp-reservation.gbp-colors-site .gbp-times-card,
.gbp-reservation.gbp-colors-site .gbp-included-card,
.gbp-reservation.gbp-colors-site .gbp-payment-card,
.gbp-reservation.gbp-colors-site .gbp-custom-note,
.gbp-reservation.gbp-colors-site .gbp-calendar-note,
.gbp-reservation.gbp-colors-site .gbp-form-message,
.gbp-reservation.gbp-colors-site .gbp-suggestion-card{
    background:#efdcc5;
    border-color:#cfaa80;
    color:#302820;
}

.gbp-reservation.gbp-colors-site .gbp-payment-method-note,
.gbp-reservation.gbp-colors-site .gbp-payment-method-note-early{
    background:#ecd6ba;
    border-color:#caa477;
    color:#4b3829;
}

.gbp-reservation.gbp-colors-site .gbp-cancel-note{
    background:#ecd6ba;
    border-color:#caa477;
    color:#68452d;
}

.gbp-reservation.gbp-colors-site .gbp-trust-row span{
    background:#f0dfca;
    border-color:#c9a77e;
    color:#4f3726;
}

.gbp-reservation.gbp-colors-site .gbp-field input,
.gbp-reservation.gbp-colors-site .gbp-field textarea,
.gbp-reservation.gbp-colors-site .gbp-field select,
.gbp-reservation.gbp-colors-site .gbp-calendar-controls select{
    background:#f7ecdf;
    border-color:#caa77f;
    color:#241f1a;
}

.gbp-reservation.gbp-colors-site .gbp-calendar-weekdays{
    border-bottom-color:#d6b692;
}

/* Jours neutres : crème très clair plutôt que blanc pur. Les couleurs
   Disponible/Réservé/Promo définies par le calendrier gardent leur rôle. */
.gbp-reservation.gbp-colors-site .gbp-day,
.gbp-reservation.gbp-colors-site button.gbp-day,
.gbp-reservation.gbp-colors-site button.gbp-day:hover,
.gbp-reservation.gbp-colors-site button.gbp-day:focus{
    background:#f7ecdf !important;
}
.gbp-reservation.gbp-colors-site .gbp-day-empty{
    background:transparent !important;
}

.gbp-reservation.gbp-colors-site .gbp-home-card{
    background:linear-gradient(180deg,#f5e8d8 0%,#efdcc5 100%);
    border-color:#cfaa80;
}

.gbp-reservation.gbp-colors-site .gbp-eyebrow,
.gbp-reservation.gbp-colors-site .gbp-times-card strong,
.gbp-reservation.gbp-colors-site .gbp-included-title,
.gbp-reservation.gbp-colors-site .gbp-payment-title{
    color:#6a472f;
}

.gbp-reservation.gbp-colors-site .gbp-intro,
.gbp-reservation.gbp-colors-site .gbp-small,
.gbp-reservation.gbp-colors-site .gbp-calendar-note,
.gbp-reservation.gbp-colors-site .gbp-home-meta{
    color:#5d5147;
}

/* On garde un seul accent vert fort : prix/disponibilité. */
.gbp-reservation.gbp-colors-site .gbp-price,
.gbp-reservation.gbp-colors-site .gbp-home-price{
    color:#0f5132;
}


/* v1.9.36 - disponibilités plus vertes dans la palette ton sur ton.
   Le beige #ead1b2 reste dominant, mais les séjours libres doivent se repérer
   immédiatement : vert doux plus franc au centre et vert soutenu aux extrémités. */
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available:hover,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available:focus{
    background:#c9dfc2 !important;
    border-color:#9fbe98 !important;
    color:#1f4f32 !important;
}
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-start,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-end,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-start:hover,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-end:hover,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-start:focus,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-end:focus{
    background:#2f6f45 !important;
    border-color:#255b39 !important;
    color:#fff !important;
}
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available .gbp-day-range-part{
    color:currentColor !important;
    opacity:.62 !important;
}
/* Une promotion reste identifiable, mais dans un orange atténué compatible avec le thème. */
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available:has(.gbp-day-promo),
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available:has(.gbp-day-promo):hover,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available:has(.gbp-day-promo):focus{
    background:#f1ddc7 !important;
    color:#5b3b25 !important;
}
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-start:has(.gbp-day-promo),
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-available.gbp-day-period-end:has(.gbp-day-promo){
    background:#a96635 !important;
    color:#fff !important;
}

/* v1.9.38 - private promo codes */
.gbp-promo-code-box{
    margin:14px 0 18px;
    padding:14px;
    border:1px solid rgba(122,90,58,.25);
    border-radius:14px;
    background:rgba(234,209,178,.28);
}
.gbp-promo-code-box label small{font-weight:400;opacity:.7}
.gbp-promo-code-row{display:flex;gap:10px;align-items:stretch}
.gbp-promo-code-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.04em}
.gbp-promo-code-row .gbp-button-secondary{width:auto;min-width:110px;padding-left:18px;padding-right:18px}
.gbp-promo-code-message{margin-top:8px;font-size:.92rem;font-weight:600}
.gbp-promo-code-success{color:#25613a}
.gbp-promo-code-error{color:#8a3d2f}
.gbp-promo-summary-before{display:block;font-weight:400;opacity:.6;margin-bottom:2px}
.gbp-promo-summary-discount{display:block;color:#2f6f45;font-weight:700;margin:3px 0}
@media (max-width:640px){
    .gbp-promo-code-row{flex-direction:column}
    .gbp-promo-code-row .gbp-button-secondary{width:100%}
}

/* v1.9.49 - OPTION non bloquante en attente du paiement requis */
.gbp-legend-option{background:#d99a2b !important;}
.gbp-day-dot-option{background:#d99a2b !important;}
.gbp-day-option{
    display:inline-flex !important;
    margin-top:2px !important;
    padding:3px 7px !important;
    border-radius:999px !important;
    background:#fff4cf !important;
    border:1px solid #d99a2b !important;
    color:#7a4e00 !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.03em;
}
button.gbp-day.gbp-day-period-option,
button.gbp-day.gbp-day-period-option:hover,
button.gbp-day.gbp-day-period-option:focus,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-option,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-option:hover,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-option:focus{
    background:#f5dfaa !important;
    border-color:#ddb45b !important;
    color:#674512 !important;
    cursor:pointer !important;
    opacity:1 !important;
}
button.gbp-day.gbp-day-period-option.gbp-day-period-start,
button.gbp-day.gbp-day-period-option.gbp-day-period-end,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-option.gbp-day-period-start,
.gbp-reservation.gbp-colors-site button.gbp-day.gbp-day-period-option.gbp-day-period-end{
    background:#c98618 !important;
    border-color:#a86d10 !important;
    color:#fff !important;
}
button.gbp-day.gbp-day-period-option.gbp-day-period-start{
    border-radius:999px 0 0 999px !important;
}
button.gbp-day.gbp-day-period-option.gbp-day-period-end{
    border-radius:0 999px 999px 0 !important;
}
button.gbp-day.gbp-day-period-option.gbp-day-period-start .gbp-day-option,
button.gbp-day.gbp-day-period-option.gbp-day-period-end .gbp-day-option{
    background:#fff !important;
    border-color:#fff !important;
    color:#9a5f08 !important;
}
.gbp-mobile-option{border-color:#d99a2b !important;background:#fff9e8 !important;}
.gbp-mobile-option-label{color:#8b5a0a !important;font-weight:900 !important;}


.gbp-email-delivery-note{
    margin:12px 0 14px;
    padding:12px 14px;
    border-radius:12px;
    background:#eef6f1;
    border:1px solid #c9ded2;
    color:#315c49;
    font-size:.94rem;
    line-height:1.45;
}

/* v1.10.0 - choix de formule visible + demande personnalisée */
.gbp-stay-choice-block{
    margin:14px 0 12px;
    padding:14px;
    border:1px solid rgba(111,76,53,.20);
    border-radius:14px;
    background:rgba(255,255,255,.18);
}
.gbp-stay-choice-copy{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-bottom:10px;
}
.gbp-stay-choice-copy strong{font-size:1rem;color:#3f2f24;}
.gbp-stay-choice-copy span{font-size:.9rem;line-height:1.4;color:#5d5147;}
.gbp-stay-type-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.gbp-stay-type-button{
    appearance:none;
    border:1px solid #c89e70;
    border-radius:999px;
    padding:9px 14px;
    background:#f7ecdf;
    color:#4b3829;
    font:inherit;
    font-weight:700;
    line-height:1.15;
    cursor:pointer;
    transition:transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.gbp-stay-type-button:hover,
.gbp-stay-type-button:focus-visible{
    border-color:#8a603e;
    box-shadow:0 0 0 2px rgba(138,96,62,.12);
    outline:none;
}
.gbp-stay-type-button.is-active{
    background:#5b3f2b;
    border-color:#5b3f2b;
    color:#fff;
    box-shadow:0 4px 12px rgba(91,63,43,.18);
}
.gbp-stay-type-select-hidden{display:none!important;}

.gbp-custom-request-card{
    margin-top:12px;
    padding:14px;
    border:1px solid #caa477;
    border-radius:14px;
    background:#ecd6ba;
    display:flex;
    gap:14px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
}
.gbp-custom-request-copy{
    display:flex;
    flex:1 1 340px;
    flex-direction:column;
    gap:3px;
    color:#4b3829;
}
.gbp-custom-request-copy strong{font-size:1rem;}
.gbp-custom-request-copy span{font-size:.9rem;line-height:1.4;}
.gbp-custom-request-button{
    flex:0 0 auto;
    width:auto!important;
    margin:0!important;
    white-space:normal;
}
.gbp-custom-request-message{
    flex-basis:100%;
    padding:9px 11px;
    border-radius:10px;
    background:#fff7e8;
    border:1px solid #d8b47f;
    color:#744f20;
    font-size:.9rem;
    font-weight:600;
}
.gbp-reservation.gbp-colors-site .gbp-custom-request-card,
.gbp-reservation.gbp-colors-site .gbp-stay-choice-block{
    background:#ecd6ba;
    border-color:#caa477;
}
.gbp-reservation.gbp-colors-site .gbp-stay-type-button{
    background:#f7ecdf;
    border-color:#caa77f;
    color:#4b3829;
}
.gbp-reservation.gbp-colors-site .gbp-stay-type-button.is-active{
    background:#5b3f2b;
    border-color:#5b3f2b;
    color:#fff;
}
@media (max-width:640px){
    .gbp-stay-type-buttons{display:grid;grid-template-columns:1fr 1fr;}
    .gbp-stay-type-button{border-radius:12px;padding:10px 8px;}
    .gbp-custom-request-button{width:100%!important;}
}

/* v1.10.1 - bouton formule compact + bandeau demande personnalisée en bas */
.gbp-calendar-controls{
    grid-template-columns:minmax(240px,300px) !important;
    justify-content:start;
}
.gbp-calendar-controls select{
    min-width:240px;
}

.gbp-stay-choice-block{
    padding:12px;
}
.gbp-stay-choice-copy{
    margin-bottom:8px;
}
.gbp-stay-choice-copy span{
    font-size:.88rem;
}
.gbp-stay-type-buttons{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.gbp-stay-type-button{
    border-radius:10px;
    padding:10px 12px;
    min-height:44px;
    font-size:.95rem;
    text-align:center;
}

.gbp-custom-request-accordion{
    margin:18px 0 0;
    border:1px solid #caa477;
    border-radius:16px;
    background:#ecd6ba;
    overflow:hidden;
}
.gbp-custom-request-toggle{
    width:100%;
    border:0;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 18px;
    cursor:pointer;
    text-align:left;
}
.gbp-custom-request-toggle-copy{
    display:flex;
    flex-direction:column;
    gap:4px;
    color:#4b3829;
}
.gbp-custom-request-toggle-copy strong{font-size:1rem;}
.gbp-custom-request-toggle-copy span{font-size:.92rem;line-height:1.45;}
.gbp-custom-request-toggle-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 16px;
    border-radius:12px;
    background:#c59c72;
    color:#fff;
    font-weight:800;
    white-space:nowrap;
    flex:0 0 auto;
}
.gbp-custom-request-toggle.is-open .gbp-custom-request-toggle-action{
    background:#5b3f2b;
}
.gbp-custom-request-panel{
    padding:0 18px 18px;
    border-top:1px solid rgba(111,76,53,.18);
}
.gbp-custom-request-panel-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:16px;
    align-items:end;
}
.gbp-custom-request-dog{
    min-height:50px;
}
.gbp-custom-request-actions{
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.gbp-custom-request-actions .gbp-custom-request-button{
    width:100% !important;
    margin:0 !important;
}
.gbp-custom-request-actions .gbp-custom-request-message{
    margin:0;
}

@media (max-width:900px){
    .gbp-stay-type-buttons{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:700px){
    .gbp-calendar-controls{
        grid-template-columns:1fr !important;
        width:100%;
    }
    .gbp-calendar-controls select{
        min-width:0;
        width:100%;
    }
    .gbp-custom-request-toggle{
        flex-direction:column;
        align-items:stretch;
    }
    .gbp-custom-request-toggle-action{
        width:100%;
    }
    .gbp-custom-request-panel-fields{
        grid-template-columns:1fr;
    }
}
@media (max-width:640px){
    .gbp-stay-type-buttons{
        grid-template-columns:1fr 1fr;
    }
}

/* v1.10.2 - les dates manuelles sont uniquement dans la demande personnalisée */
.gbp-search-form-hidden{
    display:none !important;
}


/* v1.10.3 - formules plus compactes en pastilles */
.gbp-stay-choice-block{
    padding:10px 12px;
    border-radius:12px;
}
.gbp-stay-choice-copy{
    margin-bottom:6px;
    gap:2px;
}
.gbp-stay-choice-copy strong{
    font-size:.96rem;
}
.gbp-stay-choice-copy span{
    font-size:.84rem;
    line-height:1.35;
}
.gbp-stay-type-buttons{
    display:flex !important;
    flex-wrap:wrap;
    gap:8px;
}
.gbp-stay-type-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:36px;
    min-width:0;
    padding:7px 12px;
    border-radius:999px;
    font-size:.88rem;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    box-shadow:none;
}
.gbp-stay-type-button.is-active{
    box-shadow:none;
}
@media (max-width:900px){
    .gbp-stay-type-buttons{
        display:flex !important;
    }
}
@media (max-width:640px){
    .gbp-stay-choice-copy span{
        font-size:.82rem;
    }
    .gbp-stay-type-buttons{
        gap:6px;
    }
    .gbp-stay-type-button{
        padding:7px 10px;
        font-size:.84rem;
        min-height:34px;
    }
}

/* v1.10.4 - vrai choix par boutons radio, compact */
.gbp-stay-choice-block{
    padding:10px 12px;
}
.gbp-stay-choice-copy{
    margin-bottom:8px;
}
.gbp-stay-type-radios{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    align-items:center;
}
.gbp-stay-type-radio{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:0;
    padding:3px 0;
    background:transparent;
    border:0;
    color:#4b3829;
    font-size:.92rem;
    font-weight:650;
    line-height:1.25;
    cursor:pointer;
    white-space:nowrap;
}
.gbp-stay-type-radio input[type="radio"]{
    appearance:auto;
    -webkit-appearance:radio;
    width:17px;
    height:17px;
    margin:0;
    accent-color:#5b3f2b;
    cursor:pointer;
    flex:0 0 auto;
}
.gbp-stay-type-radio span{
    display:inline-block;
}
.gbp-stay-type-radio.is-active span{
    font-weight:800;
    color:#3f2c1f;
}
.gbp-stay-type-radio:hover span{
    text-decoration:underline;
    text-underline-offset:2px;
}
@media (max-width:640px){
    .gbp-stay-type-radios{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px 12px;
    }
    .gbp-stay-type-radio{
        white-space:normal;
        font-size:.88rem;
    }
}

/* v1.11.1 - option chien visible dans le calendrier des prix */
.gbp-calendar-dog-option{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:10px;
    padding:7px 10px;
    border:1px solid rgba(111,76,53,.22);
    border-radius:10px;
    background:rgba(255,255,255,.32);
    color:#4b3829;
    font-size:.9rem;
    font-weight:700;
    cursor:pointer;
}
.gbp-calendar-dog-option input{
    margin:0;
    width:16px;
    height:16px;
    accent-color:#5b3f2b;
}
@media (max-width:640px){
    .gbp-calendar-dog-option{
        width:100%;
        box-sizing:border-box;
        justify-content:flex-start;
    }
}

/* v1.11.2 - mettre en avant la réservation directe sous le prix */
.gbp-direct-benefits{
    margin:16px 0;
    padding:16px 18px;
    border-radius:18px;
    background:#fff8ed;
    border:1px solid #e3c49c;
}
.gbp-direct-benefits-title{
    margin:0 0 10px;
    font-weight:900;
    color:#6b4628;
    font-size:1rem;
}
.gbp-direct-benefits-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 14px;
}
.gbp-direct-benefits-grid span{
    display:flex;
    align-items:flex-start;
    gap:6px;
    font-weight:750;
    line-height:1.35;
    color:#473528;
}
.gbp-deposit-highlight{
    margin:16px 0;
    padding:14px 18px;
    border-radius:18px;
    background:#f7f2ff;
    border:1px solid #d8c8ee;
}
.gbp-deposit-highlight-main{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.gbp-deposit-highlight-main span{
    font-weight:900;
    color:#4d3a68;
}
.gbp-deposit-highlight-main strong{
    font-size:1.45rem;
    line-height:1;
    color:#3f2f57;
    white-space:nowrap;
}
.gbp-deposit-highlight p{
    margin:8px 0 0;
    font-size:.9rem;
    line-height:1.4;
    color:#5e526d;
}
.gbp-reservation.gbp-colors-site .gbp-direct-benefits{
    background:#f5e5cf;
    border-color:#cda77d;
}
.gbp-reservation.gbp-colors-site .gbp-deposit-highlight{
    background:#f0e7dc;
    border-color:#cfb99e;
}
@media(max-width:640px){
    .gbp-direct-benefits-grid{
        grid-template-columns:1fr;
        gap:7px;
    }
    .gbp-deposit-highlight-main{
        align-items:flex-start;
    }
}

/* v1.12.0 - Activités dans la région */
.gbp-activities{max-width:1100px;margin:28px auto;font-family:inherit;color:#3f2f24}
.gbp-activities-hero{background:#f1dcc2;border:1px solid #cfa778;border-radius:20px;padding:24px;margin-bottom:14px}
.gbp-activities-hero h2{margin:2px 0 8px;font-size:clamp(28px,4vw,40px);line-height:1.08;color:#21170f}
.gbp-activities-hero p{margin:0;max-width:820px;line-height:1.5}
.gbp-activities-updated{margin-top:12px;font-size:.82rem;color:#786655}
.gbp-activities-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.gbp-activity-filter{appearance:none;border:1px solid #cfab82;background:#fff8ef;color:#493629;border-radius:999px;padding:8px 12px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.gbp-activity-filter span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;margin-left:4px;border-radius:999px;background:rgba(95,64,42,.10);font-size:.76rem}
.gbp-activity-filter.is-active{background:#5b3f2b;border-color:#5b3f2b;color:#fff}
.gbp-activity-filter.is-active span{background:rgba(255,255,255,.18)}
.gbp-activities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gbp-activity-card{background:#fff8ef;border:1px solid #d6b28a;border-radius:16px;padding:18px;box-shadow:0 7px 20px rgba(61,42,29,.06)}
.gbp-activity-topline{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
.gbp-activity-category{font-size:.78rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#ead1b2;white-space:nowrap}
.gbp-activity-topline time{font-size:.84rem;font-weight:800;text-align:right;color:#765b45}
.gbp-activity-card h3{margin:0 0 8px;font-size:1.18rem;line-height:1.25;color:#251a12}
.gbp-activity-location{font-size:.9rem;font-weight:700;margin:0 0 8px;color:#654e3c}
.gbp-activity-card p{margin:0 0 14px;font-size:.92rem;line-height:1.5;color:#5e5147}
.gbp-activity-card footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-top:1px solid rgba(111,76,53,.13);padding-top:10px}
.gbp-activity-source{font-size:.74rem;color:#887563}
.gbp-activity-card footer a{font-weight:800;font-size:.88rem;color:#5b3f2b;text-decoration:none;white-space:nowrap}
.gbp-activities-empty{grid-column:1/-1;background:#fff8ef;border:1px solid #d6b28a;border-radius:16px;padding:22px}
.gbp-activities-empty p{margin-bottom:0}
@media(max-width:740px){.gbp-activities-grid{grid-template-columns:1fr}.gbp-activities-hero{padding:18px}.gbp-activity-topline{flex-direction:column}.gbp-activity-topline time{text-align:left}.gbp-activity-card footer{flex-direction:column;align-items:flex-start}}

/* v1.12.7 - catégories toujours visibles */
.gbp-activity-filter.is-empty,
.gbp-activity-filter:disabled{
    opacity:.48;
    cursor:default;
}


/* v1.13.0 - bouton et popup « Détail du prix » */
.gbp-price-detail-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:2px 0 16px;
    padding:10px 16px;
    border:1px solid #0f5132;
    border-radius:999px;
    background:#f0fdf4;
    color:#0f5132;
    font-size:14px;
    font-weight:900;
    line-height:1.2;
    cursor:pointer;
    box-shadow:none;
    -webkit-appearance:none;
    appearance:none;
    text-transform:none;
    letter-spacing:normal;
}
.gbp-price-detail-button:hover,
.gbp-price-detail-button:focus{
    background:#dcfce7;
    color:#0b3d26;
    border-color:#0b3d26;
    outline:none;
}
.gbp-price-detail-button:focus-visible{
    outline:3px solid rgba(15,81,50,.18);
    outline-offset:2px;
}
.gbp-price-detail-button-summary{
    display:flex;
    width:max-content;
    max-width:100%;
    margin:10px 0 0 auto;
    font-size:12px;
    padding:8px 12px;
}
body.gbp-price-detail-open{
    overflow:hidden;
}
.gbp-price-detail-backdrop{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.48);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
}
.gbp-price-detail-card{
    width:min(460px,100%);
    max-height:min(760px,calc(100vh - 40px));
    overflow:auto;
    box-sizing:border-box;
    background:#fff;
    color:#111827;
    border-radius:22px;
    border:1px solid rgba(0,0,0,.09);
    box-shadow:0 28px 80px rgba(0,0,0,.28);
    padding:24px;
    font-family:inherit;
}
.gbp-price-detail-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}
.gbp-price-detail-head h3{
    margin:0;
    color:#064e3b;
    font-size:26px;
    line-height:1.15;
}
.gbp-price-detail-close{
    flex:0 0 40px;
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:999px;
    background:#f3f4f6;
    color:#064e3b;
    font-size:30px;
    font-weight:400;
    line-height:1;
    cursor:pointer;
    padding:0;
    box-shadow:none;
}
.gbp-price-detail-close:hover,
.gbp-price-detail-close:focus{
    background:#e5e7eb;
    outline:none;
}
.gbp-price-detail-rows{
    border-top:1px solid #eef0f2;
    padding-top:4px;
}
.gbp-price-detail-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:start;
    padding:10px 0;
    font-size:16px;
}
.gbp-price-detail-row span{
    color:#1f2937;
}
.gbp-price-detail-row strong{
    color:#111827;
    white-space:nowrap;
    text-align:right;
}
.gbp-price-detail-row.gbp-price-detail-discount strong{
    color:#0f7a46;
}
.gbp-price-detail-total{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:end;
    margin-top:10px;
    padding:18px 0 16px;
    border-top:1px solid #e5e7eb;
    border-bottom:1px solid #e5e7eb;
}
.gbp-price-detail-total span{
    font-size:24px;
    font-weight:900;
    color:#111827;
}
.gbp-price-detail-total strong{
    font-size:34px;
    line-height:1;
    color:#111827;
    white-space:nowrap;
}
.gbp-price-detail-deposit{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    margin-top:16px;
    padding:16px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
}
.gbp-price-detail-deposit span{
    color:#374151;
    line-height:1.35;
}
.gbp-price-detail-deposit strong{
    font-size:20px;
    color:#111827;
    white-space:nowrap;
}
@media(max-width:620px){
    .gbp-price-detail-backdrop{
        align-items:flex-end;
        padding:0;
    }
    .gbp-price-detail-card{
        width:100%;
        max-height:88vh;
        border-radius:22px 22px 0 0;
        padding:22px 20px calc(24px + env(safe-area-inset-bottom));
    }
    .gbp-price-detail-head h3{
        font-size:24px;
    }
    .gbp-price-detail-row{
        font-size:15px;
        gap:12px;
    }
    .gbp-price-detail-total strong{
        font-size:30px;
    }
    .gbp-price-detail-deposit{
        grid-template-columns:1fr;
        gap:8px;
    }
    .gbp-price-detail-deposit strong{
        text-align:left;
    }
    .gbp-price-detail-button-main{
        width:100%;
    }
    .gbp-price-detail-button-summary{
        margin-left:0;
    }
}

/* v2.0.11 - détail du prix permanent à côté du calendrier */
.gbp-planning-layout{
    grid-template-columns:minmax(0,1fr) minmax(270px,320px) !important;
    gap:18px !important;
    align-items:start;
}
.gbp-planning-layout .gbp-month-calendar{
    grid-column:1 !important;
    min-width:0;
}
.gbp-planning-sidebar{
    grid-column:2;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:16px;
    align-self:stretch;
}
.gbp-planning-sidebar .gbp-suggestions{
    grid-column:auto !important;
    margin:0 !important;
}
.gbp-price-sidebar{
    position:sticky;
    top:18px;
    z-index:2;
    overflow:hidden;
    border:1px solid rgba(122,78,42,.28);
    border-radius:20px;
    background:rgba(255,248,239,.98);
    box-shadow:0 12px 28px rgba(61,42,29,.07);
}
.gbp-price-sidebar-placeholder,
.gbp-price-sidebar-card{
    padding:18px;
}
.gbp-price-sidebar-placeholder{
    min-height:170px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:10px;
}
.gbp-price-sidebar-placeholder strong{
    display:block;
    font-size:16px;
    line-height:1.35;
    color:#2d2118;
}
.gbp-price-sidebar-arrow{
    display:block;
    margin-top:4px;
    font-size:36px;
    line-height:1;
    opacity:.5;
}
.gbp-price-sidebar-loading{
    min-height:130px;
}
.gbp-price-sidebar-head{
    padding-bottom:14px;
    border-bottom:1px solid rgba(122,78,42,.16);
}
.gbp-price-sidebar-head > strong{
    display:block;
    margin-top:3px;
    font-size:19px;
    line-height:1.2;
    color:#241a13;
}
.gbp-price-sidebar-head > span,
.gbp-price-sidebar-head > small{
    display:block;
    margin-top:5px;
    color:#6e5a49;
    font-size:13px;
    line-height:1.35;
}
.gbp-price-sidebar-rows{
    padding:10px 0 4px;
}
.gbp-price-sidebar-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:start;
    padding:7px 0;
    font-size:13px;
    line-height:1.3;
}
.gbp-price-sidebar-row span{
    color:#514235;
}
.gbp-price-sidebar-row strong{
    color:#21170f;
    white-space:nowrap;
    text-align:right;
}
.gbp-price-sidebar-row.gbp-price-sidebar-discount strong{
    color:#2f6f45;
}
.gbp-price-sidebar-total{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    margin-top:7px;
    padding:15px 0;
    border-top:2px solid rgba(122,78,42,.22);
}
.gbp-price-sidebar-total span{
    font-size:17px;
    font-weight:900;
    color:#21170f;
}
.gbp-price-sidebar-total strong{
    font-size:23px;
    line-height:1;
    color:#21170f;
    white-space:nowrap;
}
.gbp-price-sidebar-next{
    width:100%;
    margin:0 !important;
    min-height:46px;
    border-radius:10px !important;
}
.gbp-price-sidebar-no-payment{
    margin:8px 0 0;
    text-align:center;
    color:#796755;
    font-size:11px;
    line-height:1.35;
}
.gbp-price-sidebar-deposit{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    margin-top:14px;
    padding:12px;
    border-radius:13px;
    background:rgba(240,231,220,.78);
    border:1px solid rgba(122,78,42,.18);
}
.gbp-price-sidebar-deposit span{
    color:#5f5043;
    font-size:11px;
    line-height:1.3;
}
.gbp-price-sidebar-deposit strong{
    font-size:17px;
    color:#21170f;
    white-space:nowrap;
}
.gbp-price-sidebar-unavailable{
    margin:12px 0 2px;
    padding:10px 12px;
    border-radius:11px;
    background:#fff1f2;
    border:1px solid #fda4af;
    color:#9f1239;
    font-size:13px;
    font-weight:800;
}

/* Sur ordinateur, le détail est déjà visible dans la colonne de droite. */
@media(min-width:1101px){
    .gbp-result .gbp-price-detail-button-main{
        display:none;
    }
}

@media(max-width:1100px){
    .gbp-planning-layout{
        grid-template-columns:1fr !important;
    }
    .gbp-planning-layout .gbp-month-calendar{
        grid-column:auto !important;
        order:1 !important;
    }
    .gbp-planning-sidebar{
        grid-column:auto;
        order:2;
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:14px;
    }
    .gbp-price-sidebar{
        position:static;
    }
    .gbp-planning-sidebar .gbp-suggestions{
        order:initial !important;
    }
}
@media(max-width:760px){
    .gbp-planning-sidebar{
        display:flex;
        flex-direction:column;
    }
    .gbp-price-sidebar-placeholder,
    .gbp-price-sidebar-card{
        padding:16px;
    }
    .gbp-price-sidebar-total strong{
        font-size:22px;
    }
}

/* v2.0.13 - présentation compacte : priorité au calendrier et au total */
.gbp-reservation{
    max-width:1040px;
    margin:18px auto 28px;
}
.gbp-hero-card{
    padding:15px 18px;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(0,0,0,.055);
}
.gbp-hero-card .gbp-eyebrow{
    margin-bottom:3px;
    font-size:10px;
    letter-spacing:.07em;
}
.gbp-hero-card h2{
    margin:0 0 3px;
    font-size:clamp(24px,3.2vw,32px);
    line-height:1.08;
}
.gbp-hero-card .gbp-intro{
    margin:0 0 8px;
    font-size:14px;
    line-height:1.35;
}
.gbp-hero-card .gbp-trust-row{
    display:flex;
    flex-wrap:wrap;
    gap:3px 12px;
    margin:5px 0 0;
    padding:0;
}
.gbp-hero-card .gbp-trust-row span,
.gbp-reservation.gbp-colors-site .gbp-hero-card .gbp-trust-row span{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    font-size:11.5px;
    line-height:1.35;
    white-space:nowrap;
}
.gbp-promo-banner{
    margin:7px 0;
    padding:8px 10px;
    border-radius:10px;
    font-size:12px;
}

.gbp-planning-layout{
    grid-template-columns:minmax(0,1fr) minmax(250px,285px) !important;
    gap:12px !important;
    margin-top:12px !important;
    align-items:start;
}
.gbp-planning-layout .gbp-month-calendar{
    padding:14px 15px !important;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(0,0,0,.045);
}
.gbp-planning-sidebar{
    gap:10px;
}
.gbp-month-calendar .gbp-section-head{
    align-items:center;
    margin-bottom:7px;
    gap:10px;
}
.gbp-month-calendar .gbp-section-head .gbp-eyebrow{
    margin-bottom:2px;
    font-size:9px;
}
.gbp-month-calendar .gbp-section-head h3{
    font-size:20px;
    line-height:1.1;
}
.gbp-month-calendar .gbp-calendar-controls{
    display:block !important;
    width:auto;
    min-width:160px;
}
.gbp-month-calendar .gbp-calendar-controls select{
    width:100%;
    min-width:160px;
    padding:7px 30px 7px 10px;
    border-radius:10px;
    font-size:12px;
    font-weight:750;
}

/* Formule + chien en zone compacte. Tous les choix restent disponibles. */
.gbp-month-calendar .gbp-stay-choice-block{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:7px 12px;
    margin:7px 0 7px;
    padding:7px 9px;
    border-radius:10px;
}
.gbp-month-calendar .gbp-stay-choice-copy{
    margin:0;
    gap:0;
}
.gbp-month-calendar .gbp-stay-choice-copy strong{
    font-size:11.5px;
    line-height:1.2;
    white-space:nowrap;
}
.gbp-month-calendar .gbp-stay-choice-copy span{
    display:none;
}
.gbp-month-calendar .gbp-stay-type-radios{
    gap:4px 10px;
    min-width:0;
}
.gbp-month-calendar .gbp-stay-type-radio{
    gap:4px;
    padding:1px 0;
    font-size:11px;
    line-height:1.15;
}
.gbp-month-calendar .gbp-stay-type-radio input[type="radio"]{
    width:14px;
    height:14px;
}
.gbp-month-calendar .gbp-calendar-dog-option{
    margin:0;
    padding:5px 7px;
    border-radius:8px;
    font-size:10.5px;
    line-height:1.15;
    white-space:nowrap;
}
.gbp-month-calendar .gbp-calendar-dog-option input{
    width:14px;
    height:14px;
}
.gbp-month-calendar .gbp-calendar-note{
    margin:0 0 7px;
    padding:6px 8px;
    border-radius:9px;
    font-size:10.5px;
    line-height:1.3;
}
.gbp-month-calendar .gbp-calendar-title{
    margin:5px 0 6px;
    gap:8px;
}
.gbp-month-calendar .gbp-calendar-title strong{
    font-size:20px;
}
.gbp-month-calendar .gbp-calendar-title span{
    font-size:12px;
}
.gbp-month-calendar .gbp-calendar-legend,
.gbp-month-calendar .gbp-calendar-promo-callout{
    margin-top:5px;
    margin-bottom:6px;
}
.gbp-month-calendar .gbp-calendar-legend{
    gap:5px;
}
.gbp-month-calendar .gbp-legend-item{
    font-size:9.5px;
}
.gbp-month-calendar .gbp-calendar-weekdays{
    margin-bottom:0;
}
.gbp-month-calendar .gbp-calendar-grid{
    gap:0 !important;
}
.gbp-month-calendar .gbp-day,
.gbp-month-calendar button.gbp-day,
.gbp-month-calendar button.gbp-day.gbp-day-in-period{
    min-height:50px !important;
    padding:4px 3px !important;
}
.gbp-month-calendar .gbp-day-number{
    font-size:12px !important;
}
.gbp-month-calendar .gbp-day-price{
    font-size:12px !important;
}
.gbp-month-calendar .gbp-day-range{
    font-size:8px !important;
}

/* Colonne prix : visible, plus petite et collante. */
.gbp-price-sidebar{
    top:12px;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(61,42,29,.055);
}
.gbp-price-sidebar-placeholder,
.gbp-price-sidebar-card{
    padding:13px;
}
.gbp-price-sidebar-placeholder{
    min-height:125px;
    gap:6px;
}
.gbp-price-sidebar-placeholder strong{
    font-size:13px;
    line-height:1.3;
}
.gbp-price-sidebar-arrow{
    font-size:25px;
}
.gbp-price-sidebar-head{
    padding-bottom:8px;
}
.gbp-price-sidebar-head .gbp-eyebrow{
    margin-bottom:1px;
    font-size:9px;
}
.gbp-price-sidebar-head > strong{
    font-size:15px;
}
.gbp-price-sidebar-head > span,
.gbp-price-sidebar-head > small{
    margin-top:3px;
    font-size:10.5px;
}
.gbp-price-sidebar-total{
    margin-top:8px;
    padding:10px 0;
    border-top:0;
}
.gbp-price-sidebar-total span{
    font-size:14px;
}
.gbp-price-sidebar-total strong{
    font-size:22px;
}
.gbp-price-sidebar-next{
    min-height:40px;
    padding:10px 14px !important;
    font-size:13px;
    border-radius:9px !important;
}
.gbp-price-sidebar-no-payment{
    margin:5px 0 0;
    font-size:9.5px;
}
.gbp-price-sidebar-deposit{
    margin-top:8px;
    padding:8px 9px;
    border-radius:10px;
}
.gbp-price-sidebar-deposit span{
    font-size:9px;
}
.gbp-price-sidebar-deposit strong{
    font-size:14px;
}
.gbp-price-sidebar-payment-note{
    margin:0;
    padding:8px 10px;
    border-top:1px solid rgba(122,78,42,.14);
    color:#6d5a49;
    font-size:9.5px;
    line-height:1.35;
    background:rgba(255,255,255,.14);
}
.gbp-price-sidebar-breakdown{
    margin-top:8px;
    padding-top:7px;
    border-top:1px solid rgba(122,78,42,.14);
}
.gbp-price-sidebar-breakdown > summary{
    cursor:pointer;
    color:#5b3f2b;
    font-size:10.5px;
    font-weight:850;
    list-style-position:inside;
}
.gbp-price-sidebar-breakdown[open] > summary{
    margin-bottom:5px;
}
.gbp-price-sidebar-breakdown .gbp-price-sidebar-rows{
    padding:2px 0 0;
}
.gbp-price-sidebar-breakdown .gbp-price-sidebar-row{
    padding:3px 0;
    font-size:10.5px;
    gap:8px;
}

/* Les prochaines disponibilités passent sous la zone principale et restent repliées. */
.gbp-next-availability-compact{
    margin-top:10px;
    border:1px solid rgba(122,78,42,.22);
    border-radius:13px;
    background:rgba(242,227,209,.72);
    overflow:hidden;
}
.gbp-next-availability-compact > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 12px;
    cursor:pointer;
    list-style:none;
}
.gbp-next-availability-compact > summary::-webkit-details-marker{
    display:none;
}
.gbp-next-availability-summary-copy{
    display:flex;
    align-items:baseline;
    gap:8px;
    min-width:0;
}
.gbp-next-availability-summary-copy .gbp-eyebrow{
    margin:0;
    font-size:8.5px;
    flex:0 0 auto;
}
.gbp-next-availability-summary-copy strong{
    font-size:12px;
    line-height:1.2;
}
.gbp-next-availability-chevron{
    font-size:18px;
    line-height:1;
    transition:transform .15s ease;
}
.gbp-next-availability-compact[open] .gbp-next-availability-chevron{
    transform:rotate(180deg);
}
.gbp-next-availability-compact .gbp-suggestions{
    margin:0;
    padding:10px 12px 12px;
    border:0;
    border-top:1px solid rgba(122,78,42,.14);
    border-radius:0;
    box-shadow:none;
    background:transparent;
}
.gbp-next-availability-compact .gbp-suggestion-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.gbp-next-availability-compact .gbp-suggestion-card{
    padding:9px;
    border-radius:10px;
}
.gbp-next-availability-compact .gbp-suggestion-date{
    font-size:11px;
}
.gbp-next-availability-compact .gbp-suggestion-meta,
.gbp-next-availability-compact .gbp-suggestion-time{
    font-size:9.5px;
}
.gbp-next-availability-compact .gbp-suggestion-price{
    margin:5px 0 7px;
    font-size:16px;
}
.gbp-next-availability-compact .gbp-mini-button{
    min-height:32px;
    padding:7px 8px;
    font-size:10.5px;
}
.gbp-next-availability-compact .gbp-small{
    margin:7px 0 0;
    font-size:9.5px;
}

.gbp-custom-request-accordion{
    margin-top:10px;
    border-radius:13px;
}
.gbp-custom-request-toggle{
    padding:10px 13px;
}
.gbp-custom-request-toggle-copy{
    gap:2px;
}
.gbp-custom-request-toggle-copy strong{
    font-size:12px;
}
.gbp-custom-request-toggle-copy span{
    font-size:10.5px;
    line-height:1.3;
}
.gbp-custom-request-toggle-action{
    padding:8px 11px;
    border-radius:9px;
    font-size:11px;
}

/* On conserve la disposition côte à côte sur tablette paysage / petits laptops. */
@media (min-width:901px) and (max-width:1100px){
    .gbp-planning-layout{
        grid-template-columns:minmax(0,1fr) minmax(235px,265px) !important;
    }
    .gbp-planning-layout .gbp-month-calendar{
        grid-column:1 !important;
        order:initial !important;
    }
    .gbp-planning-sidebar{
        grid-column:2 !important;
        order:initial !important;
        display:flex !important;
        flex-direction:column !important;
    }
    .gbp-price-sidebar{
        position:sticky !important;
    }
}

@media (max-width:900px){
    .gbp-reservation{
        margin:14px auto 22px;
    }
    .gbp-planning-layout{
        grid-template-columns:1fr !important;
    }
    .gbp-planning-layout .gbp-month-calendar{
        order:1 !important;
    }
    .gbp-planning-sidebar{
        grid-column:auto !important;
        order:2 !important;
        display:block !important;
    }
    .gbp-price-sidebar{
        position:static !important;
        margin-top:0;
    }
    .gbp-next-availability-compact .gbp-suggestion-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:700px){
    .gbp-hero-card{
        padding:12px 13px;
    }
    .gbp-hero-card h2{
        font-size:23px;
    }
    .gbp-hero-card .gbp-intro{
        font-size:12.5px;
    }
    .gbp-hero-card .gbp-trust-row{
        gap:2px 8px;
    }
    .gbp-hero-card .gbp-trust-row span,
    .gbp-reservation.gbp-colors-site .gbp-hero-card .gbp-trust-row span{
        font-size:10px;
        white-space:normal;
    }
    .gbp-month-calendar .gbp-section-head{
        flex-direction:row;
        align-items:center;
    }
    .gbp-month-calendar .gbp-calendar-controls{
        min-width:135px;
        width:auto;
    }
    .gbp-month-calendar .gbp-calendar-controls select{
        min-width:135px;
        font-size:11px;
    }
    .gbp-month-calendar .gbp-stay-choice-block{
        grid-template-columns:1fr;
        gap:6px;
    }
    .gbp-month-calendar .gbp-stay-choice-copy strong{
        white-space:normal;
    }
    .gbp-month-calendar .gbp-stay-type-radios{
        display:flex;
        flex-wrap:wrap;
        gap:4px 9px;
    }
    .gbp-month-calendar .gbp-calendar-dog-option{
        width:auto;
        justify-self:start;
    }
    .gbp-next-availability-summary-copy{
        display:block;
    }
    .gbp-next-availability-summary-copy .gbp-eyebrow{
        display:block;
        margin-bottom:2px;
    }
    .gbp-next-availability-compact .gbp-suggestion-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:520px){
    .gbp-month-calendar{
        padding:11px !important;
    }
    .gbp-month-calendar .gbp-section-head{
        gap:7px;
    }
    .gbp-month-calendar .gbp-section-head h3{
        font-size:17px;
    }
    .gbp-month-calendar .gbp-calendar-controls{
        min-width:125px;
    }
    .gbp-month-calendar .gbp-calendar-controls select{
        min-width:125px;
        padding-left:8px;
        font-size:10.5px;
    }
    .gbp-custom-request-toggle{
        padding:9px 10px;
    }
}


/* v2.0.15 - finition compacte : le titre et son espacement sont laissés au thème
   afin que Réservation soit alignée avec les autres pages. Le moteur reste compact. */
body.gbp-booking-page .gbp-booking-page-intro{
    max-width:1040px;
    margin:8px auto 10px !important;
    font-size:15px !important;
    line-height:1.45 !important;
}

.gbp-reservation{
    margin-top:8px !important;
}
.gbp-hero-card{
    padding:10px 14px !important;
    border-radius:14px !important;
}
.gbp-hero-card .gbp-eyebrow{
    margin-bottom:1px !important;
    font-size:8.5px !important;
}
.gbp-hero-card h2{
    margin:0 0 2px !important;
    font-size:clamp(19px,2.3vw,23px) !important;
    line-height:1.08 !important;
}
.gbp-hero-card .gbp-intro{
    margin:0 0 5px !important;
    font-size:11.5px !important;
    line-height:1.3 !important;
}
.gbp-hero-card .gbp-trust-row{
    gap:2px 10px !important;
    margin-top:3px !important;
}
.gbp-hero-card .gbp-trust-row span,
.gbp-reservation.gbp-colors-site .gbp-hero-card .gbp-trust-row span{
    font-size:9.5px !important;
    line-height:1.25 !important;
}

/* On redonne un peu de largeur au récapitulatif : il y a la place et le détail reste lisible. */
.gbp-planning-layout{
    grid-template-columns:minmax(0,1fr) minmax(285px,315px) !important;
    margin-top:9px !important;
}
.gbp-price-sidebar-placeholder,
.gbp-price-sidebar-card{
    padding:13px 14px !important;
}
.gbp-price-sidebar-head{
    padding-bottom:7px !important;
}
.gbp-price-sidebar-head > strong{
    font-size:16px !important;
}
.gbp-price-sidebar-head > span,
.gbp-price-sidebar-head > small{
    font-size:10.5px !important;
}
.gbp-price-sidebar-rows-visible{
    padding:7px 0 5px !important;
    border-bottom:1px solid rgba(122,78,42,.14);
}
.gbp-price-sidebar-rows-visible .gbp-price-sidebar-row{
    padding:2.5px 0 !important;
    font-size:10.5px !important;
    line-height:1.25 !important;
}
.gbp-price-sidebar-total{
    margin-top:0 !important;
    padding:9px 0 10px !important;
    border-top:0 !important;
}
.gbp-price-sidebar-total span{
    font-size:14px !important;
}
.gbp-price-sidebar-total strong{
    font-size:23px !important;
}
.gbp-price-sidebar-next{
    min-height:40px !important;
}
.gbp-price-sidebar-deposit{
    margin-top:7px !important;
}
/* Ancien accordéon du détail : masqué si un ancien cache HTML le laisse apparaître. */
.gbp-price-sidebar-breakdown{
    display:none !important;
}

@media(max-width:1100px){
    body.gbp-booking-page .gbp-booking-page-intro{
        padding-left:16px;
        padding-right:16px;
        font-size:14px !important;
    }
}

@media(max-width:760px){
    .gbp-hero-card h2{
        font-size:20px !important;
    }
    .gbp-hero-card .gbp-trust-row span,
    .gbp-reservation.gbp-colors-site .gbp-hero-card .gbp-trust-row span{
        font-size:9px !important;
    }
}


/* v2.0.16 - choix de séjour plus lisible + rapprochement du contenu sous le titre Réservation. */
body.gbp-booking-page main#primary > article.page > .entry-header,
body.gbp-booking-page #primary > article.page > .entry-header,
body.gbp-booking-page article.page > .entry-header{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}
body.gbp-booking-page main#primary > article.page > .entry-header .entry-title,
body.gbp-booking-page #primary > article.page > .entry-header .entry-title,
body.gbp-booking-page article.page > .entry-header .entry-title{
    margin-bottom:0 !important;
}
body.gbp-booking-page main#primary > article.page > .entry-header + .entry-content,
body.gbp-booking-page #primary > article.page > .entry-header + .entry-content,
body.gbp-booking-page article.page > .entry-header + .entry-content{
    margin-top:0 !important;
    padding-top:0 !important;
}
body.gbp-booking-page .gbp-booking-page-intro{
    margin-top:4px !important;
}

/* Trois choix essentiels visibles; les séjours longs restent accessibles sans encombrer. */
.gbp-month-calendar .gbp-stay-choice-block{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    gap:5px 8px !important;
}
.gbp-month-calendar .gbp-stay-choice-copy{
    grid-column:1 / -1;
    margin:0 !important;
}
.gbp-month-calendar .gbp-stay-choice-copy strong{
    font-size:11.5px !important;
}
.gbp-month-calendar .gbp-stay-options{
    min-width:0;
}
.gbp-month-calendar .gbp-stay-type-radios-primary{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px !important;
}
.gbp-month-calendar .gbp-stay-type-card{
    display:flex !important;
    align-items:flex-start !important;
    gap:5px !important;
    min-width:0;
    padding:5px 6px !important;
    border:1px solid rgba(111,76,53,.18) !important;
    border-radius:8px;
    background:rgba(255,255,255,.25) !important;
    white-space:normal !important;
    box-sizing:border-box;
}
.gbp-month-calendar .gbp-stay-type-card.is-active{
    border-color:rgba(75,56,41,.55) !important;
    background:rgba(255,255,255,.55) !important;
}
.gbp-month-calendar .gbp-stay-type-card input[type="radio"]{
    width:14px !important;
    height:14px !important;
    margin-top:1px !important;
}
.gbp-month-calendar .gbp-stay-type-copy{
    display:flex !important;
    flex-direction:column;
    min-width:0;
    line-height:1.15 !important;
}
.gbp-month-calendar .gbp-stay-type-copy strong{
    font-size:10.5px;
    line-height:1.15;
}
.gbp-month-calendar .gbp-stay-type-copy small{
    display:block;
    margin-top:2px;
    font-size:8.5px;
    line-height:1.2;
    font-weight:500;
    color:#6b5a4d;
}
.gbp-month-calendar .gbp-stay-type-card:hover .gbp-stay-type-copy,
.gbp-month-calendar .gbp-stay-type-card:hover .gbp-stay-type-copy strong,
.gbp-month-calendar .gbp-stay-type-card:hover .gbp-stay-type-copy small{
    text-decoration:none !important;
}
.gbp-month-calendar .gbp-other-durations{
    margin-top:5px;
    border-top:1px solid rgba(111,76,53,.13);
    padding-top:4px;
}
.gbp-month-calendar .gbp-other-durations > summary{
    display:flex;
    align-items:center;
    cursor:pointer;
    list-style:none;
    color:#4b3829;
}
.gbp-month-calendar .gbp-other-durations > summary::-webkit-details-marker{display:none;}
.gbp-month-calendar .gbp-other-durations > summary::after{
    content:'⌄';
    margin-left:auto;
    font-size:13px;
    line-height:1;
}
.gbp-month-calendar .gbp-other-durations[open] > summary::after{content:'⌃';}
.gbp-month-calendar .gbp-other-durations > summary > span{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.gbp-month-calendar .gbp-other-durations > summary strong{
    font-size:10.5px;
    line-height:1.2;
}
.gbp-month-calendar .gbp-other-durations > summary small{
    margin-top:1px;
    font-size:8.5px;
    line-height:1.2;
    font-weight:500;
    color:#6b5a4d;
}
.gbp-month-calendar .gbp-stay-type-radios-other{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px !important;
    margin-top:5px;
}
.gbp-month-calendar .gbp-stay-type-card-small{
    padding:4px 5px !important;
}
.gbp-month-calendar .gbp-calendar-dog-option{
    align-self:start;
    margin-top:0 !important;
}

@media(max-width:760px){
    .gbp-month-calendar .gbp-stay-choice-block{
        grid-template-columns:1fr !important;
    }
    .gbp-month-calendar .gbp-stay-choice-copy,
    .gbp-month-calendar .gbp-stay-options,
    .gbp-month-calendar .gbp-calendar-dog-option{
        grid-column:1;
    }
    .gbp-month-calendar .gbp-stay-type-radios-primary{
        grid-template-columns:1fr !important;
    }
    .gbp-month-calendar .gbp-stay-type-radios-other{
        grid-template-columns:1fr !important;
    }
    .gbp-month-calendar .gbp-calendar-dog-option{
        width:auto !important;
        justify-self:start;
    }
}
\n\n

/* v2.0.20 — Dates personnalisées intégrées dans « Autres durées ». */
.gbp-month-calendar .gbp-stay-choice-block{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:start !important;
    gap:6px 10px !important;
}
.gbp-month-calendar .gbp-stay-choice-copy{
    grid-column:1 / -1;
}
.gbp-month-calendar .gbp-stay-options{
    min-width:0;
}
.gbp-month-calendar .gbp-calendar-dog-option{
    grid-column:2;
    grid-row:2;
    align-self:start;
    margin-top:0 !important;
    white-space:nowrap;
}
.gbp-month-calendar .gbp-custom-dates-inline{
    margin-top:7px;
    padding-top:7px;
    border-top:1px solid rgba(111,76,53,.13);
}
.gbp-month-calendar .gbp-custom-dates-inline-toggle{
    width:100%;
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px 9px;
    border:1px solid rgba(111,76,53,.22);
    border-radius:8px;
    background:rgba(255,255,255,.35);
    color:#4b3829;
    text-align:left;
    cursor:pointer;
}
.gbp-month-calendar .gbp-custom-dates-inline-toggle:hover,
.gbp-month-calendar .gbp-custom-dates-inline-toggle.is-open{
    background:rgba(255,255,255,.62);
    border-color:rgba(111,76,53,.45);
}
.gbp-month-calendar .gbp-custom-dates-inline-toggle > span:first-child{
    font-size:16px;
    line-height:1;
}
.gbp-month-calendar .gbp-custom-dates-inline-toggle > span:last-child{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.gbp-month-calendar .gbp-custom-dates-inline-toggle strong{
    font-size:10.5px;
    line-height:1.15;
}
.gbp-month-calendar .gbp-custom-dates-inline-toggle small{
    margin-top:1px;
    font-size:8.5px;
    line-height:1.2;
    font-weight:500;
    color:#6b5a4d;
}
.gbp-month-calendar .gbp-custom-dates-inline-panel{
    margin-top:7px;
    padding:8px;
    border-radius:8px;
    background:rgba(255,255,255,.28);
    border:1px solid rgba(111,76,53,.14);
}
.gbp-month-calendar .gbp-custom-dates-inline-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.gbp-month-calendar .gbp-custom-dates-inline-fields .gbp-field{
    margin:0;
}
.gbp-month-calendar .gbp-custom-dates-inline-fields label{
    display:block;
    margin-bottom:3px;
    font-size:9px;
    font-weight:700;
}
.gbp-month-calendar .gbp-custom-dates-inline-fields input[type="date"]{
    width:100%;
    min-height:34px;
    box-sizing:border-box;
}
.gbp-month-calendar .gbp-custom-dates-inline-panel .gbp-custom-request-actions{
    margin-top:8px;
}
.gbp-month-calendar .gbp-calendar-controls-source{
    display:none !important;
}
.gbp-month-calendar .gbp-calendar-title{
    margin:6px 0 6px;
    align-items:center;
}
.gbp-month-calendar .gbp-calendar-title .gbp-month-select-row{
    display:block;
    margin:0;
}
.gbp-month-calendar .gbp-calendar-title .gbp-month-select-row > span{
    display:none;
}
.gbp-month-calendar .gbp-calendar-title .gbp-month-select-row select{
    min-width:200px;
    max-width:100%;
    height:38px !important;
    padding:6px 34px 6px 12px !important;
    border-radius:10px !important;
    font-size:13px;
    font-weight:700;
}
@media(max-width:760px){
    .gbp-month-calendar .gbp-stay-choice-block{
        grid-template-columns:1fr !important;
    }
    .gbp-month-calendar .gbp-stay-options,
    .gbp-month-calendar .gbp-calendar-dog-option{
        grid-column:1;
        grid-row:auto;
    }
    .gbp-month-calendar .gbp-calendar-dog-option{
        justify-self:start;
    }
    .gbp-month-calendar .gbp-custom-dates-inline-fields{
        grid-template-columns:1fr;
    }
    .gbp-month-calendar .gbp-calendar-title{
        flex-direction:column;
        align-items:stretch;
    }
    .gbp-month-calendar .gbp-calendar-title .gbp-month-select-row select{
        width:100%;
        min-width:0;
    }
}


/* v2.0.27 - Séjours spéciaux accessibles en un clic */
.gbp-special-stays{margin:0 0 18px;border:1px solid rgba(16,78,65,.18);border-radius:18px;background:rgba(244,249,247,.92);overflow:hidden}
.gbp-special-stays-summary{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}
.gbp-special-stays-summary::-webkit-details-marker{display:none}
.gbp-special-stays-summary>span:last-child{display:flex;flex-direction:column;gap:3px}
.gbp-special-stays-summary strong{font-size:1.05rem;color:#0c4e41}
.gbp-special-stays-summary small{font-size:.88rem;line-height:1.35;color:#52635e}
.gbp-special-stays-icon{font-size:1.25rem;line-height:1.2}
.gbp-special-events{display:grid;gap:10px;padding:0 14px 14px}
.gbp-special-event{border:1px solid rgba(16,78,65,.15);border-radius:14px;background:#fff;overflow:hidden}
.gbp-special-event>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.gbp-special-event>summary::-webkit-details-marker{display:none}
.gbp-special-event>summary strong{color:#173f37}
.gbp-special-event>summary span{font-size:.8rem;color:#65756f;white-space:nowrap}
.gbp-special-event-options{display:grid;gap:8px;padding:0 10px 10px}
.gbp-special-stay-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:11px 12px;border:1px solid rgba(16,78,65,.12);border-radius:12px;background:#fbfdfc;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.gbp-special-stay-option:hover,.gbp-special-stay-option:focus-visible{background:#f3f8f6;border-color:rgba(16,78,65,.38);transform:translateY(-1px)}
.gbp-special-stay-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.gbp-special-stay-main strong{color:#183e36;font-size:.94rem}
.gbp-special-stay-main small{color:#66756f;font-size:.82rem}
.gbp-special-stay-cta{font-weight:700;color:#0c4e41;font-size:.84rem;white-space:nowrap}
@media(max-width:700px){.gbp-special-stays-summary{padding:14px}.gbp-special-events{padding:0 10px 10px}.gbp-special-stay-option{align-items:flex-start;flex-direction:column;gap:7px}.gbp-special-stay-cta{white-space:normal}}

/* v2.0.28 - séjours spéciaux compacts dans "Choisissez votre séjour" */
.gbp-month-calendar .gbp-special-select-wrap{
    width:100%;
    margin:10px 0 6px;
    padding:10px 12px;
    border:1px solid rgba(128, 89, 45, .18);
    border-radius:12px;
    background:#fff;
}
.gbp-month-calendar .gbp-special-select-label{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin:0 0 8px;
}
.gbp-month-calendar .gbp-special-select-label strong{
    font-size:.95rem;
    color:#3f2f24;
}
.gbp-month-calendar .gbp-special-select-label small{
    font-size:.82rem;
    color:#6a5d52;
    line-height:1.35;
}
.gbp-month-calendar .gbp-special-select{
    width:100%;
    min-height:42px;
    border:1px solid rgba(128, 89, 45, .24);
    border-radius:10px;
    background:#fff;
    color:#2f261f;
    padding:0 12px;
    font-size:.94rem;
}
.gbp-month-calendar .gbp-special-select:focus{
    outline:none;
    border-color:rgba(12,78,65,.45);
    box-shadow:0 0 0 3px rgba(12,78,65,.10);
}
@media(max-width:700px){
    .gbp-month-calendar .gbp-special-select-wrap{padding:9px 10px;margin:8px 0 5px}
    .gbp-month-calendar .gbp-special-select-label small{font-size:.8rem}
}

/* v2.0.31 — Parcours mobile plus court et plus clair. */
.gbp-price-sidebar-breakdown-mobile{display:none;}
.gbp-mobile-quote-bar{display:none;}

@media(max-width:760px){
    /* Le visiteur voit les 3 formules essentielles d'un seul coup. */
    .gbp-month-calendar .gbp-stay-choice-block{
        gap:6px !important;
        padding-top:7px !important;
        padding-bottom:7px !important;
    }
    .gbp-month-calendar .gbp-stay-choice-copy{
        margin-bottom:1px !important;
    }
    .gbp-month-calendar .gbp-stay-choice-copy span{
        display:none !important;
    }
    .gbp-month-calendar .gbp-stay-type-radios-primary{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:5px !important;
    }
    .gbp-month-calendar .gbp-stay-type-card{
        min-height:42px !important;
        padding:6px 5px !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
        border-radius:9px !important;
        position:relative;
    }
    .gbp-month-calendar .gbp-stay-type-card input[type="radio"]{
        position:absolute !important;
        opacity:0 !important;
        width:1px !important;
        height:1px !important;
        pointer-events:none;
    }
    .gbp-month-calendar .gbp-stay-type-copy{
        align-items:center !important;
        justify-content:center !important;
        width:100%;
    }
    .gbp-month-calendar .gbp-stay-type-copy strong{
        font-size:10.5px !important;
        line-height:1.1 !important;
    }
    .gbp-month-calendar .gbp-stay-type-radios-primary .gbp-stay-type-copy small{
        display:none !important;
    }
    .gbp-month-calendar .gbp-other-durations{
        margin-top:3px !important;
        padding-top:3px !important;
    }
    .gbp-month-calendar .gbp-other-durations > summary{
        min-height:30px;
    }
    .gbp-month-calendar .gbp-other-durations > summary small{
        display:none !important;
    }
    .gbp-month-calendar .gbp-calendar-dog-option{
        margin:0 !important;
        min-height:30px;
        font-size:10px !important;
    }
    .gbp-month-calendar .gbp-calendar-note{
        margin:4px 0 5px !important;
        font-size:9px !important;
        line-height:1.25 !important;
    }
    .gbp-month-calendar .gbp-section-head{
        margin-bottom:3px !important;
    }

    /* Sur mobile : total d'abord, détail seulement si le visiteur le demande. */
    .gbp-price-sidebar-rows-desktop{display:none !important;}
    .gbp-price-sidebar-breakdown-mobile{
        display:block !important;
        margin:7px 0 6px !important;
    }
    .gbp-price-sidebar-breakdown-mobile > summary{
        font-size:11px !important;
        padding:6px 0 !important;
    }
    .gbp-price-sidebar-breakdown-mobile .gbp-price-sidebar-row{
        padding:5px 0 !important;
        font-size:10.5px !important;
    }
    .gbp-price-sidebar-total{
        margin-top:7px !important;
        padding-top:8px !important;
    }
    .gbp-price-sidebar-total strong{
        font-size:1.45rem !important;
    }

    /* Barre fixe uniquement après qu'un séjour disponible a été calculé. */
    .gbp-mobile-quote-bar[hidden]{display:none !important;}
    .gbp-mobile-quote-bar{
        display:flex;
        position:fixed;
        left:8px;
        right:8px;
        bottom:8px;
        z-index:9998;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        padding:9px 10px;
        border:1px solid rgba(68,49,35,.18);
        border-radius:14px;
        background:rgba(255,252,247,.97);
        box-shadow:0 7px 24px rgba(47,35,27,.20);
        backdrop-filter:blur(10px);
        -webkit-backdrop-filter:blur(10px);
    }
    .gbp-mobile-quote-copy{
        min-width:0;
        display:flex;
        flex-direction:column;
        line-height:1.1;
    }
    .gbp-mobile-quote-copy small{
        max-width:58vw;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:ellipsis;
        font-size:9.5px;
        color:#6a5a4d;
        margin-bottom:3px;
    }
    .gbp-mobile-quote-copy strong{
        font-size:17px;
        color:#2f261f;
    }
    .gbp-mobile-quote-action{
        flex:0 0 auto;
        min-height:40px;
        padding:0 14px;
        border:0;
        border-radius:10px;
        background:#805824;
        color:#fff;
        font-size:12px;
        font-weight:700;
        cursor:pointer;
    }
    .gbp-reservation.gbp-has-mobile-quote{
        padding-bottom:72px !important;
    }
}

/* v2.0.32 — Correctif critique mobile : empêcher le calendrier d'être écrasé par la colonne prix. */
@media(max-width:760px){
    .gbp-reservation,
    .gbp-planning-layout,
    .gbp-planning-layout .gbp-month-calendar,
    .gbp-planning-sidebar,
    .gbp-price-sidebar,
    .gbp-month-calendar{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    .gbp-planning-layout{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) !important;
        gap:10px !important;
        overflow:visible !important;
    }

    .gbp-planning-layout .gbp-month-calendar{
        grid-column:1 !important;
        grid-row:auto !important;
        order:1 !important;
    }

    .gbp-planning-sidebar{
        grid-column:1 !important;
        grid-row:auto !important;
        order:2 !important;
        display:flex !important;
        flex-direction:column !important;
        gap:10px !important;
    }

    .gbp-price-sidebar{
        position:static !important;
        margin:0 !important;
    }

    /* Les trois choix restent compacts mais lisibles. */
    .gbp-month-calendar .gbp-stay-type-radios-primary{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:6px !important;
        width:100% !important;
    }
    .gbp-month-calendar .gbp-stay-type-card{
        width:100% !important;
        min-width:0 !important;
        min-height:46px !important;
        padding:7px 5px !important;
    }
    .gbp-month-calendar .gbp-stay-type-copy,
    .gbp-month-calendar .gbp-stay-type-copy strong{
        min-width:0 !important;
        width:100% !important;
        white-space:normal !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
    }
    .gbp-month-calendar .gbp-stay-type-copy strong{
        font-size:10px !important;
        line-height:1.15 !important;
        text-align:center !important;
    }

    /* Tous les textes du moteur doivent rester horizontaux. */
    .gbp-month-calendar,
    .gbp-month-calendar *,
    .gbp-price-sidebar,
    .gbp-price-sidebar *{
        word-break:normal;
        overflow-wrap:break-word;
    }

    .gbp-month-calendar select,
    .gbp-month-calendar input,
    .gbp-month-calendar button{
        max-width:100% !important;
    }

    .gbp-price-sidebar-row,
    .gbp-price-sidebar-total,
    .gbp-price-sidebar-deposit{
        grid-template-columns:minmax(0,1fr) auto !important;
    }
}

@media(max-width:390px){
    .gbp-month-calendar .gbp-stay-type-radios-primary{
        grid-template-columns:1fr 1fr !important;
    }
    .gbp-month-calendar .gbp-stay-type-radios-primary .gbp-stay-type-card:nth-child(3){
        grid-column:1 / -1;
    }
}


/* v2.0.33 - new look aligned with Gîte en Famille Modern */
.gbp-reservation{
    --gbp-forest:#173e32;
    --gbp-forest-2:#235846;
    --gbp-copper:#b96f43;
    --gbp-cream:#f5f1e8;
    --gbp-paper:#fffdf8;
    --gbp-ink:#18231e;
    --gbp-muted:#5f6d67;
    --gbp-line:rgba(23,62,50,.12);
    --gbp-shadow:0 24px 60px rgba(19,44,35,.10);
    max-width:1120px;
    margin:32px auto;
    color:var(--gbp-ink);
}
.gbp-hero-card,
.gbp-box,
.gbp-request,
.gbp-suggestions,
.gbp-month-calendar,
.gbp-home-availability{
    background:var(--gbp-paper);
    border:1px solid var(--gbp-line);
    border-radius:28px;
    box-shadow:var(--gbp-shadow);
}
.gbp-hero-card{
    background:linear-gradient(135deg, var(--gbp-forest) 0%, #285e4b 100%);
    color:#fff;
    position:relative;
    overflow:hidden;
}
.gbp-hero-card:before{
    content:"";
    position:absolute;
    inset:auto -12% -40% auto;
    width:280px;
    height:280px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 70%);
    pointer-events:none;
}
.gbp-eyebrow,
.gbp-hero-card .gbp-eyebrow,
.gbp-hero-card h2,
.gbp-hero-card .gbp-intro{
    color:#fff;
}
.gbp-hero-card .gbp-intro{opacity:.9}
.gbp-field label,
.gbp-total-label,
.gbp-included-title,
.gbp-box h3,
.gbp-request h3,
.gbp-section-head h3,
.gbp-calendar-title strong,
.gbp-home-head h2,
.gbp-required-title,
.gbp-form-section-title,
.gbp-times-card strong,
.gbp-alternative-card strong{
    color:var(--gbp-ink);
}
.gbp-field input,
.gbp-field textarea,
.gbp-field select,
.gbp-calendar-controls select{
    background:#fff;
    border:1px solid rgba(23,62,50,.16);
    border-radius:16px;
    padding:14px 15px;
    color:var(--gbp-ink);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.gbp-field input:focus,
.gbp-field textarea:focus,
.gbp-field select:focus,
.gbp-calendar-controls select:focus{
    outline:3px solid rgba(185,111,67,.14);
    border-color:var(--gbp-copper);
}
.gbp-button,
.gbp-mini-button,
.gbp-home-button,
.gbp-mobile-cta{
    background:var(--gbp-copper);
    color:#fff;
    box-shadow:0 12px 28px rgba(185,111,67,.24);
}
.gbp-button:hover,
.gbp-mini-button:hover,
.gbp-home-button:hover,
.gbp-mobile-cta:hover{
    background:#a55f37;
    opacity:1;
}
.gbp-link-button{
    background:rgba(23,62,50,.07);
    color:var(--gbp-forest);
}
.gbp-price,
.gbp-suggestion-price,
.gbp-home-price,
.gbp-summary-price,
.gbp-day-price,
.gbp-calendar-title span,
.gbp-included-title,
.gbp-dog-note,
.gbp-summary-label,
.gbp-required-title,
.gbp-times-card strong,
.gbp-status,
.gbp-trust-row span{
    color:var(--gbp-forest);
}
.gbp-status,
.gbp-trust-row span,
.gbp-day-badge,
.gbp-included-card,
.gbp-summary-card,
.gbp-alternative-card,
.gbp-mobile-available{
    background:#edf7f0;
    border-color:#cce5d4;
}
.gbp-busy .gbp-status,
.gbp-box-error .gbp-status,
.gbp-mobile-busy .gbp-mobile-status,
.gbp-day-badge-busy{
    background:#fff1f2;
    color:#991b1b;
    border-color:#f5c2c7;
}
.gbp-small,
.gbp-intro,
.gbp-nights,
.gbp-calendar-note,
.gbp-home-head p,
.gbp-home-meta,
.gbp-suggestion-meta,
.gbp-mobile-meta,
.gbp-times-card span,
.gbp-custom-note,
.gbp-impossible-note p,
.gbp-alternative-card small,
.gbp-day-muted{
    color:var(--gbp-muted);
}
.gbp-calendar-note,
.gbp-required-details,
.gbp-times-card,
.gbp-custom-note{
    background:var(--gbp-cream);
    border-color:rgba(23,62,50,.12);
}
.gbp-suggestion-card,
.gbp-home-card,
.gbp-mobile-stay,
.gbp-day{
    border:1px solid rgba(23,62,50,.12);
    border-radius:20px;
    background:linear-gradient(180deg,#fffdf8 0%, #f8f4ec 100%);
}
button.gbp-day,
button.gbp-day:hover,
button.gbp-day:focus{
    background:linear-gradient(180deg,#fffdf8 0%, #f8f4ec 100%) !important;
    border-color:rgba(23,62,50,.12)!important;
}
.gbp-day-available,
button.gbp-day.gbp-day-available,
button.gbp-day.gbp-day-available:hover,
button.gbp-day.gbp-day-available:focus,
button.gbp-day.gbp-day-period-available,
button.gbp-day.gbp-day-period-available:hover,
button.gbp-day.gbp-day-period-available:focus{
    background:#edf7f0 !important;
    border-color:#b8d9c3 !important;
}
.gbp-day-busy,
button.gbp-day.gbp-day-busy,
button.gbp-day.gbp-day-busy:hover,
button.gbp-day.gbp-day-busy:focus,
button.gbp-day.gbp-day-period-busy,
button.gbp-day.gbp-day-period-busy:hover,
button.gbp-day.gbp-day-period-busy:focus{
    background:#fff5f2 !important;
    border-color:#f2c7b8 !important;
}
.gbp-day-past,
.gbp-day-out,
.gbp-day-ask,
button.gbp-day.gbp-day-past,
button.gbp-day.gbp-day-out,
button.gbp-day.gbp-day-ask,
button.gbp-day.gbp-day-past:hover,
button.gbp-day.gbp-day-out:hover,
button.gbp-day.gbp-day-ask:hover,
button.gbp-day.gbp-day-past:focus,
button.gbp-day.gbp-day-out:focus,
button.gbp-day.gbp-day-ask:focus{
    background:#f7f5f0 !important;
    color:#7a847f !important;
    border-color:rgba(23,62,50,.08)!important;
}
.gbp-day-dot-available,.gbp-legend-available{background:#2f7d5f}
.gbp-day-dot-busy,.gbp-legend-busy{background:#c66b4a}
.gbp-day-dot-muted,.gbp-legend-muted{background:#9aa6a0}
.gbp-calendar-legend span{
    background:#fff;
    border-color:rgba(23,62,50,.12);
}
.gbp-home-availability,
.gbp-suggestions,
.gbp-month-calendar,
.gbp-box,
.gbp-request{margin-top:24px}
.gbp-home-head,
.gbp-section-head,
.gbp-calendar-title{
    align-items:center;
}
.gbp-result .gbp-box:before{
    background:linear-gradient(90deg, var(--gbp-copper), #d39467);
}
.gbp-summary-card{
    grid-template-columns:1fr auto;
}
.gbp-request-summary,
.gbp-form-message{border-radius:18px}
.gbp-form-message{
    background:#f7f5f0;
    border:1px solid rgba(23,62,50,.10);
}
.gbp-message-success{background:#edf7f0;color:var(--gbp-forest)}
.gbp-message-error{background:#fff1f2;color:#991b1b}
.gbp-dog{padding:0 4px 4px 2px}
.gbp-home-button,.gbp-mini-button,.gbp-button{transition:transform .18s ease, box-shadow .18s ease, background .18s ease}
.gbp-home-button:hover,.gbp-mini-button:hover,.gbp-button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(165,95,55,.28)}
@media (max-width:900px){
    .gbp-reservation{margin:20px auto}
    .gbp-hero-card,.gbp-box,.gbp-request,.gbp-suggestions,.gbp-month-calendar,.gbp-home-availability{border-radius:22px;padding:20px}
}
@media (max-width:680px){
    .gbp-price{font-size:clamp(34px,10vw,48px)}
    .gbp-home-price,.gbp-suggestion-price,.gbp-summary-price{font-size:clamp(26px,8vw,34px)}
    .gbp-suggestion-card,.gbp-home-card,.gbp-mobile-stay,.gbp-day{border-radius:16px}
}

/* =========================================================
   v2.0.34 - premium new look aligned with Gîte en Famille
   ========================================================= */
.gbp-reservation{
    --gbp-forest:#173e32;
    --gbp-forest-2:#235846;
    --gbp-copper:#b96f43;
    --gbp-copper-dark:#9f5e37;
    --gbp-cream:#f5f1e8;
    --gbp-paper:#fffdf8;
    --gbp-ink:#18231e;
    --gbp-muted:#66736d;
    --gbp-line:rgba(23,62,50,.13);
    --gbp-shadow:0 22px 58px rgba(20,48,38,.10);
    --gbp-soft-shadow:0 12px 30px rgba(20,48,38,.07);
    max-width:1160px !important;
    color:var(--gbp-ink) !important;
}

/* Outer hierarchy */
.gbp-reservation > .gbp-hero-card{
    background:linear-gradient(135deg,var(--gbp-forest) 0%,#245644 100%) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:#fff !important;
    border-radius:28px !important;
    padding:26px 28px !important;
    box-shadow:0 18px 46px rgba(17,48,37,.18) !important;
}
.gbp-reservation > .gbp-hero-card .gbp-eyebrow{
    color:#e5b895 !important;
    font-size:11px !important;
    letter-spacing:.13em !important;
    margin-bottom:7px !important;
}
.gbp-reservation > .gbp-hero-card h2{
    color:#fff !important;
    font-size:clamp(30px,3.4vw,44px) !important;
    line-height:1.02 !important;
    margin:0 0 8px !important;
}
.gbp-reservation > .gbp-hero-card .gbp-intro{
    color:rgba(255,255,255,.80) !important;
    margin-bottom:16px !important;
}
.gbp-reservation > .gbp-hero-card .gbp-trust-row{
    gap:8px !important;
    margin:8px 0 0 !important;
}
.gbp-reservation > .gbp-hero-card .gbp-trust-row span{
    color:#fff !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    padding:7px 10px !important;
    border-radius:999px !important;
    font-size:11px !important;
    line-height:1.1 !important;
    backdrop-filter:blur(5px);
}

/* Main layout */
.gbp-planning-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(300px,340px) !important;
    gap:18px !important;
    align-items:start !important;
    margin-top:18px !important;
}
.gbp-month-calendar,
.gbp-price-sidebar,
.gbp-request,
.gbp-next-availability-compact{
    background:var(--gbp-paper) !important;
    border:1px solid var(--gbp-line) !important;
    box-shadow:var(--gbp-soft-shadow) !important;
}
.gbp-month-calendar{
    border-radius:28px !important;
    padding:22px !important;
}
.gbp-price-sidebar{
    border-radius:24px !important;
    overflow:hidden !important;
    position:sticky !important;
    top:105px !important;
    padding:0 !important;
}

/* Section headers */
.gbp-section-head{
    margin-bottom:14px !important;
    align-items:flex-end !important;
}
.gbp-section-head .gbp-eyebrow,
.gbp-price-sidebar-head .gbp-eyebrow{
    color:var(--gbp-copper) !important;
    font-size:10px !important;
    letter-spacing:.11em !important;
}
.gbp-section-head h3{
    color:var(--gbp-ink) !important;
    font-size:25px !important;
    line-height:1.05 !important;
    margin:0 !important;
}

/* Stay choices */
.gbp-month-calendar .gbp-stay-choice-block{
    background:var(--gbp-cream) !important;
    border:1px solid rgba(185,111,67,.28) !important;
    border-radius:20px !important;
    padding:14px !important;
    gap:10px !important;
}
.gbp-month-calendar .gbp-stay-choice-copy strong{
    color:var(--gbp-ink) !important;
    font-size:14px !important;
}
.gbp-month-calendar .gbp-stay-choice-copy span,
.gbp-month-calendar .gbp-stay-choice-copy small{
    color:var(--gbp-muted) !important;
}
.gbp-month-calendar .gbp-stay-type-radios-primary{
    gap:8px !important;
}
.gbp-month-calendar .gbp-stay-type-card{
    min-height:58px !important;
    padding:9px 10px !important;
    background:#fff !important;
    border:1px solid rgba(23,62,50,.13) !important;
    border-radius:14px !important;
    box-shadow:none !important;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease !important;
}
.gbp-month-calendar .gbp-stay-type-card:hover{
    border-color:rgba(185,111,67,.45) !important;
    box-shadow:0 8px 20px rgba(20,48,38,.06) !important;
    transform:translateY(-1px) !important;
}
.gbp-month-calendar .gbp-stay-type-card.is-active{
    background:#edf7f0 !important;
    border-color:#2f7d5f !important;
    box-shadow:inset 0 0 0 1px rgba(47,125,95,.12) !important;
}
.gbp-month-calendar .gbp-stay-type-card input[type="radio"]{
    accent-color:var(--gbp-forest) !important;
}
.gbp-month-calendar .gbp-stay-type-copy strong{
    color:var(--gbp-ink) !important;
    font-size:12px !important;
    line-height:1.15 !important;
}
.gbp-month-calendar .gbp-stay-type-copy small{
    color:var(--gbp-muted) !important;
    font-size:9px !important;
    margin-top:3px !important;
}
.gbp-month-calendar .gbp-calendar-dog-option{
    background:#fff !important;
    border:1px solid rgba(23,62,50,.13) !important;
    border-radius:14px !important;
    padding:10px 12px !important;
    color:var(--gbp-ink) !important;
    font-weight:750 !important;
}
.gbp-month-calendar .gbp-calendar-dog-option input{
    accent-color:var(--gbp-copper) !important;
}
.gbp-month-calendar .gbp-other-durations{
    border-top:1px solid rgba(23,62,50,.10) !important;
    margin-top:8px !important;
    padding-top:8px !important;
}
.gbp-month-calendar .gbp-other-durations > summary{
    color:var(--gbp-ink) !important;
    padding:2px 0 !important;
}
.gbp-month-calendar .gbp-other-durations > summary strong{
    font-size:11px !important;
}
.gbp-month-calendar .gbp-other-durations > summary small{
    color:var(--gbp-muted) !important;
    font-size:9px !important;
}
.gbp-month-calendar .gbp-custom-dates-inline-toggle{
    border:1px dashed rgba(185,111,67,.45) !important;
    background:rgba(255,255,255,.6) !important;
    border-radius:14px !important;
    color:var(--gbp-ink) !important;
}

/* Note + controls */
.gbp-calendar-note{
    background:#faf7f1 !important;
    border:1px solid rgba(23,62,50,.09) !important;
    border-radius:14px !important;
    color:var(--gbp-muted) !important;
    padding:11px 13px !important;
    margin:10px 0 12px !important;
}
.gbp-calendar-controls{
    justify-content:space-between !important;
    margin:3px 0 12px !important;
}
.gbp-calendar-controls select,
.gbp-month-select-row select,
.gbp-month-calendar select{
    border:1px solid rgba(23,62,50,.16) !important;
    background:#fff !important;
    color:var(--gbp-ink) !important;
    border-radius:14px !important;
    min-height:46px !important;
    padding:10px 14px !important;
    box-shadow:0 6px 18px rgba(20,48,38,.04) !important;
}

/* Legend */
.gbp-calendar-legend{
    gap:7px !important;
    margin-bottom:12px !important;
}
.gbp-calendar-legend span{
    background:#fff !important;
    border:1px solid rgba(23,62,50,.11) !important;
    border-radius:999px !important;
    color:#385047 !important;
    padding:7px 11px !important;
    font-size:12px !important;
}
.gbp-legend-available{background:#2f7d5f !important}
.gbp-legend-busy{background:#b96f43 !important}
.gbp-legend-muted{background:#9aa6a0 !important}

/* Calendar */
.gbp-calendar-weekdays div{
    color:#62716b !important;
    font-weight:800 !important;
    text-transform:lowercase !important;
}
.gbp-calendar-grid{
    gap:7px !important;
}
.gbp-day{
    min-height:102px !important;
    background:#fff !important;
    color:var(--gbp-ink) !important;
    border:1px solid rgba(23,62,50,.10) !important;
    border-radius:16px !important;
    padding:9px !important;
    box-shadow:none !important;
}
button.gbp-day,
button.gbp-day:hover,
button.gbp-day:focus{
    background:#fff !important;
    border-color:rgba(23,62,50,.10) !important;
    color:var(--gbp-ink) !important;
}
button.gbp-day.gbp-day-available,
button.gbp-day.gbp-day-available:hover,
button.gbp-day.gbp-day-available:focus,
button.gbp-day.gbp-day-period-available,
button.gbp-day.gbp-day-period-available:hover,
button.gbp-day.gbp-day-period-available:focus{
    background:#edf7f0 !important;
    border-color:#b8d8c3 !important;
}
button.gbp-day.gbp-day-busy,
button.gbp-day.gbp-day-busy:hover,
button.gbp-day.gbp-day-busy:focus,
button.gbp-day.gbp-day-period-busy,
button.gbp-day.gbp-day-period-busy:hover,
button.gbp-day.gbp-day-period-busy:focus{
    background:#fff4ef !important;
    border-color:#edc7b7 !important;
}
button.gbp-day.gbp-day-past,
button.gbp-day.gbp-day-out,
button.gbp-day.gbp-day-ask,
button.gbp-day.gbp-day-past:hover,
button.gbp-day.gbp-day-out:hover,
button.gbp-day.gbp-day-ask:hover,
button.gbp-day.gbp-day-past:focus,
button.gbp-day.gbp-day-out:focus,
button.gbp-day.gbp-day-ask:focus{
    background:#f6f4ef !important;
    border-color:rgba(23,62,50,.07) !important;
    color:#8a928e !important;
}
.gbp-day-number{
    color:inherit !important;
    font-size:15px !important;
}
.gbp-day-price{
    color:var(--gbp-forest) !important;
    font-size:15px !important;
    font-weight:950 !important;
}
.gbp-day-badge{
    background:#dfeee4 !important;
    color:var(--gbp-forest) !important;
}
.gbp-day-badge-busy{
    background:#f7dfd5 !important;
    color:#8e472e !important;
}
.gbp-day-range-part{
    color:rgba(23,62,50,.30) !important;
}
.gbp-day-period-busy .gbp-day-range-part{
    color:rgba(185,111,67,.38) !important;
}

/* Sidebar */
.gbp-price-sidebar-placeholder,
.gbp-price-sidebar-card{
    padding:0 !important;
}
.gbp-price-sidebar-head{
    background:var(--gbp-forest) !important;
    color:#fff !important;
    padding:18px 18px 14px !important;
    border:0 !important;
}
.gbp-price-sidebar-head .gbp-eyebrow{
    color:#e5b895 !important;
}
.gbp-price-sidebar-head > strong{
    color:#fff !important;
    font-size:20px !important;
    line-height:1.08 !important;
}
.gbp-price-sidebar-head > span,
.gbp-price-sidebar-head > small{
    color:rgba(255,255,255,.76) !important;
    font-size:11px !important;
}
.gbp-price-sidebar-placeholder{
    min-height:230px !important;
    display:flex !important;
    flex-direction:column !important;
}
.gbp-price-sidebar-placeholder > strong,
.gbp-price-sidebar-placeholder > p,
.gbp-price-sidebar-placeholder .gbp-price-sidebar-arrow{
    margin-left:18px !important;
    margin-right:18px !important;
}
.gbp-price-sidebar-placeholder > strong{
    margin-top:18px !important;
    color:var(--gbp-ink) !important;
    font-size:17px !important;
}
.gbp-price-sidebar-arrow{
    color:#9aa6a0 !important;
    font-size:26px !important;
}
.gbp-price-sidebar-rows-visible,
.gbp-price-sidebar-total,
.gbp-price-sidebar-next,
.gbp-price-sidebar-deposit,
.gbp-price-sidebar-no-payment,
.gbp-price-sidebar-payment-note,
.gbp-price-sidebar-unavailable{
    margin-left:16px !important;
    margin-right:16px !important;
}
.gbp-price-sidebar-rows-visible{
    padding-top:12px !important;
}
.gbp-price-sidebar-row{
    border-bottom:1px dashed rgba(23,62,50,.09) !important;
    padding:6px 0 !important;
}
.gbp-price-sidebar-row:last-child{border-bottom:0 !important}
.gbp-price-sidebar-row span{color:var(--gbp-muted) !important}
.gbp-price-sidebar-row strong{color:var(--gbp-ink) !important}
.gbp-price-sidebar-total{
    margin-top:10px !important;
    padding:14px 0 !important;
    border-top:1px solid rgba(23,62,50,.12) !important;
}
.gbp-price-sidebar-total span{
    color:var(--gbp-ink) !important;
    font-weight:800 !important;
}
.gbp-price-sidebar-total strong{
    color:var(--gbp-forest) !important;
    font-size:28px !important;
}
.gbp-price-sidebar-next,
.gbp-button,
.gbp-mini-button,
.gbp-home-button,
.gbp-custom-request-button{
    background:var(--gbp-copper) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 10px 24px rgba(185,111,67,.24) !important;
}
.gbp-price-sidebar-next:hover,
.gbp-button:hover,
.gbp-mini-button:hover,
.gbp-home-button:hover,
.gbp-custom-request-button:hover{
    background:var(--gbp-copper-dark) !important;
    transform:translateY(-1px) !important;
}
.gbp-price-sidebar-payment-note{
    margin-top:12px !important;
    padding:12px 14px 14px !important;
    border-top:1px solid rgba(23,62,50,.09) !important;
    color:var(--gbp-muted) !important;
    font-size:11px !important;
    line-height:1.45 !important;
}
.gbp-price-sidebar-deposit{
    background:#faf7f1 !important;
    border:1px solid rgba(23,62,50,.10) !important;
    border-radius:14px !important;
    padding:10px 12px !important;
}

/* Compact next availability */
.gbp-next-availability-compact{
    border-radius:22px !important;
    overflow:hidden !important;
    margin-top:18px !important;
}
.gbp-next-availability-compact > summary{
    background:#fff !important;
    color:var(--gbp-ink) !important;
    padding:15px 18px !important;
}
.gbp-next-availability-summary-copy .gbp-eyebrow{
    color:var(--gbp-copper) !important;
}
.gbp-next-availability-summary-copy strong{
    color:var(--gbp-ink) !important;
}
.gbp-next-availability-chevron{color:var(--gbp-copper) !important}
.gbp-next-availability-compact .gbp-suggestions{
    background:#faf7f1 !important;
    border:0 !important;
    box-shadow:none !important;
}
.gbp-suggestion-card{
    background:#fff !important;
    border:1px solid rgba(23,62,50,.10) !important;
    border-radius:18px !important;
}
.gbp-suggestion-price{
    color:var(--gbp-forest) !important;
}

/* Request form */
.gbp-request{
    border-radius:26px !important;
    padding:24px !important;
}
.gbp-request h3{
    color:var(--gbp-ink) !important;
    font-size:27px !important;
}
.gbp-request-intro{color:var(--gbp-muted) !important}
.gbp-field label{color:var(--gbp-ink) !important}
.gbp-field input,
.gbp-field textarea,
.gbp-field select{
    background:#fff !important;
    border:1px solid rgba(23,62,50,.15) !important;
    color:var(--gbp-ink) !important;
    border-radius:14px !important;
}
.gbp-field input:focus,
.gbp-field textarea:focus,
.gbp-field select:focus{
    outline:3px solid rgba(185,111,67,.14) !important;
    border-color:var(--gbp-copper) !important;
}
.gbp-summary-card,
.gbp-included-card,
.gbp-alternative-card{
    background:#edf7f0 !important;
    border-color:#c8e1d0 !important;
}
.gbp-summary-label,
.gbp-included-title,
.gbp-alternative-card strong{
    color:var(--gbp-forest) !important;
}

/* Responsive */
@media(max-width:1000px){
    .gbp-planning-layout{
        grid-template-columns:1fr !important;
    }
    .gbp-price-sidebar{
        position:static !important;
        top:auto !important;
    }
}
@media(max-width:760px){
    .gbp-reservation > .gbp-hero-card{
        border-radius:22px !important;
        padding:20px !important;
    }
    .gbp-reservation > .gbp-hero-card h2{
        font-size:26px !important;
    }
    .gbp-reservation > .gbp-hero-card .gbp-trust-row span{
        font-size:10px !important;
    }
    .gbp-month-calendar{
        border-radius:22px !important;
        padding:16px !important;
    }
    .gbp-month-calendar .gbp-stay-choice-block{
        padding:12px !important;
    }
    .gbp-day{
        min-height:74px !important;
        border-radius:12px !important;
        padding:7px !important;
    }
    .gbp-day-price{font-size:12px !important}
    .gbp-price-sidebar-head{padding:16px !important}
}


/* v2.0.35 - finition visuelle */
.gbp-month-calendar .gbp-stay-type-wrap{
    background:#fbf9f4;
    border:1px solid rgba(23,62,50,.10);
    border-radius:24px;
    padding:16px 18px 14px;
}
.gbp-month-calendar .gbp-stay-type-card{
    background:#fff !important;
    border:1px solid rgba(23,62,50,.12) !important;
    border-radius:18px !important;
    box-shadow:0 4px 12px rgba(23,62,50,.04);
}
.gbp-month-calendar .gbp-stay-type-card:hover{
    border-color:rgba(185,111,67,.45)!important;
    box-shadow:0 10px 22px rgba(23,62,50,.08);
}
.gbp-month-calendar .gbp-stay-type-card.is-active{
    background:#eef6f1 !important;
    border-color:#2f7d5f !important;
    box-shadow:0 10px 22px rgba(47,125,95,.12);
}
.gbp-month-calendar .gbp-stay-type-copy strong{
    font-size:29px;
    letter-spacing:-.01em;
}
.gbp-month-calendar .gbp-stay-type-copy small{
    color:#66736d !important;
    font-size:13px;
}
.gbp-month-calendar .gbp-stay-type-radios-other .gbp-stay-type-card-small{
    border-radius:14px!important;
    background:#fff!important;
    border:1px solid rgba(23,62,50,.12)!important;
}
.gbp-price-sidebar,
.gbp-result .gbp-box{
    background:linear-gradient(180deg,#fffdfa 0%, #f7f3eb 100%) !important;
    border:1px solid rgba(23,62,50,.10) !important;
    border-radius:28px !important;
    box-shadow:0 20px 48px rgba(23,62,50,.08) !important;
    position:sticky;
    top:118px;
}
.gbp-price-sidebar:before,
.gbp-result .gbp-box:before{
    height:4px !important;
    border-radius:28px 28px 0 0;
}
.gbp-price-sidebar h3,
.gbp-result .gbp-box h3,
.gbp-total-label{font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.gbp-price-sidebar .gbp-small,
.gbp-result .gbp-box .gbp-small{line-height:1.55}
.gbp-calendar-title{
    margin-bottom:10px;
}
.gbp-calendar-controls select{
    min-width:250px;
    font-weight:700;
    border-radius:16px;
}
.gbp-calendar-legend{
    gap:10px;
    margin:14px 0 16px;
}
.gbp-calendar-legend span{
    font-weight:700;
    padding:10px 14px;
    border-radius:999px;
}
.gbp-month-grid{margin-top:8px}
.gbp-day{border-radius:22px !important}
.gbp-day-number{font-weight:800}
.gbp-home-availability .gbp-home-head,
.gbp-month-calendar .gbp-calendar-head{
    margin-bottom:18px;
}
.gbp-included-card{
    border-radius:18px;
    background:#eef6f1;
}
.gbp-message-success,.gbp-message-error,.gbp-form-message{border-radius:18px}
@media (max-width:1024px){
    .gbp-price-sidebar,.gbp-result .gbp-box{position:static;top:auto}
}
@media (max-width:680px){
    .gbp-month-calendar .gbp-stay-type-wrap{padding:14px}
    .gbp-calendar-controls select{min-width:100%}
    .gbp-calendar-legend span{padding:8px 11px;font-size:14px}
}


/* v2.0.36 - lisibilité des tarifs dans le calendrier */
.gbp-day{
    overflow:hidden !important;
}
.gbp-day-range{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px !important;
    line-height:1.1;
    letter-spacing:-.01em;
}
.gbp-day-price{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px !important;
    line-height:1.05;
    font-weight:900;
}
button.gbp-day.gbp-day-period-start .gbp-day-range,
button.gbp-day.gbp-day-period-start .gbp-day-price,
button.gbp-day.gbp-day-period-end .gbp-day-range,
button.gbp-day.gbp-day-period-end .gbp-day-price{
    color:#fff !important;
}
button.gbp-day.gbp-day-period-start .gbp-day-number,
button.gbp-day.gbp-day-period-end .gbp-day-number{
    color:#fff !important;
}
button.gbp-day.gbp-day-period-middle .gbp-day-range,
button.gbp-day.gbp-day-period-middle .gbp-day-price{
    color:#24533f !important;
}
button.gbp-day.gbp-day-period-start,
button.gbp-day.gbp-day-period-end{
    padding:8px 7px !important;
}
button.gbp-day.gbp-day-period-middle{
    padding:8px 7px !important;
}
.gbp-day-top{
    min-width:0;
}
@media (max-width:1100px){
    .gbp-day-range{font-size:8px !important;}
    .gbp-day-price{font-size:12px !important;}
}
@media (max-width:800px){
    .gbp-day-range{display:none !important;}
    .gbp-day-price{
        font-size:11px !important;
        white-space:normal;
        line-height:1.05;
    }
}
