.gary-booking{--gary-background:#ffffff;--gary-ink:#203333;--gary-muted:#677775;--gary-accent:#987b5c;--gary-pale:#f8f6f2;--gary-available:#e8f4e8;--gary-border:#e8e5df;--gary-button:#203333;--gary-button-text:#ffffff;--gary-selection:#dce8e3;--gary-tag-background:#f5f1e9;--gary-tag-text:#705637;color:var(--gary-ink);background:var(--gary-background);border:1px solid var(--gary-border);border-radius:22px;box-shadow:0 14px 50px #162f2a12;padding:clamp(18px,4vw,38px);font-family:inherit;max-width:1080px;margin:28px auto;box-sizing:border-box}.gary-booking *{box-sizing:border-box}.gary-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.gary-heading h2{font-size:clamp(24px,3.4vw,35px);line-height:1.15;margin:7px 0;color:var(--gary-ink)}.gary-heading p{font-size:14px;color:var(--gary-muted);margin:0}.gary-eyebrow{font-weight:750;letter-spacing:.12em;color:var(--gary-accent);font-size:11px}.gary-icon{font-size:42px;color:var(--gary-accent)}.gary-tag{background:var(--gary-tag-background);color:var(--gary-tag-text);border-radius:9px;padding:10px 13px;font-size:12px;margin:16px 0 22px}.gary-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.gary-panel{padding:20px;border:1px solid var(--gary-border);border-radius:15px;background:var(--gary-background)}.gary-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.gary-calendar-header button{border:1px solid var(--gary-border);border-radius:9px;background:var(--gary-background);width:36px;height:36px;font-size:25px;cursor:pointer;color:var(--gary-ink)}.gary-days,.gary-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.gary-days{font-size:11px;font-weight:700;color:var(--gary-muted);margin-bottom:7px}.gary-day{border:0;background:var(--gary-available);color:var(--gary-ink);border-radius:8px;aspect-ratio:1;min-height:34px;cursor:pointer;font-size:13px;padding:1px}.gary-day:disabled{background:#dedfdf;color:#8d9595;cursor:not-allowed;text-decoration:line-through}.gary-day.is-selected{background:var(--gary-button);color:var(--gary-button-text)}.gary-day.in-range{background:var(--gary-selection)}.gary-day.is-today{outline:1px solid var(--gary-accent)}.gary-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:17px;color:var(--gary-muted);font-size:11px}.gary-legend span{display:flex;align-items:center;gap:5px}.gary-legend i{width:11px;height:11px;border-radius:3px;background:var(--gary-pale);border:1px solid var(--gary-border)}.gary-legend .gary-busy{background:#d3d3d3}.gary-legend .gary-selected{background:var(--gary-ink)}.gary-form label{display:block;font-size:12px;font-weight:650;margin-bottom:14px}.gary-form input:not([type=checkbox]),.gary-form select{margin:7px 0 0!important;padding:11px 10px!important;border:1px solid var(--gary-border)!important;border-radius:8px!important;width:100%!important;min-height:42px!important;background:var(--gary-background)!important;color:var(--gary-ink)!important;font:inherit!important;font-size:14px!important}.gary-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gary-total{display:flex;justify-content:space-between;align-items:center;background:var(--gary-pale);padding:18px;border-radius:12px;margin:15px 0}.gary-total span{font-size:14px;font-weight:650}.gary-total small{font-size:11px;display:block;font-weight:400;color:var(--gary-muted);margin-top:3px}.gary-total strong{font-size:24px}.gary-submit{background:var(--gary-button)!important;color:var(--gary-button-text)!important;border:0!important;width:100%;padding:15px!important;border-radius:10px!important;font-size:14px!important;font-weight:700!important;cursor:pointer}.gary-submit:disabled{opacity:.5;cursor:wait}.gary-note{font-size:11px!important;color:var(--gary-muted);text-align:center;margin:10px 0 0!important}.gary-check{display:flex!important;align-items:start;gap:8px;line-height:1.5;font-weight:400!important}.gary-check input{margin:2px 0 0}.gary-err{color:#a22;background:#ffefef;padding:11px;border-radius:7px;font-size:13px}.gary-success{background:#eaf5ef;border:1px solid #bddfcb;padding:19px;border-radius:10px;line-height:1.6}.gary-honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}@media(max-width:700px){.gary-grid{grid-template-columns:1fr;gap:14px}.gary-booking{padding:17px;border-radius:15px}.gary-panel{padding:14px}.gary-day{min-height:32px;font-size:12px}.gary-icon{display:none}}@media(max-width:355px){.gary-duo{grid-template-columns:1fr}}

.gary-guest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:390px){.gary-guest-grid{grid-template-columns:1fr 1fr}}

/* GARY Booking 1.0.5: typographie personnalisable des quatre lignes. */
.gary-booking .gary-copy-line{margin-top:0;margin-bottom:0;line-height:1.4;letter-spacing:normal;text-transform:none;font-family:inherit}
.gary-booking .gary-copy-eyebrow{display:block;margin-bottom:8px;letter-spacing:.12em;line-height:1.45}
.gary-booking .gary-copy-title{display:block;margin:7px 0;line-height:1.15;font-weight:700}
.gary-booking .gary-copy-subtitle{display:block;margin:0}
.gary-booking .gary-copy-notice{display:block;margin:0}
.gary-booking h1.gary-copy-line,.gary-booking h2.gary-copy-line,.gary-booking h3.gary-copy-line,.gary-booking h4.gary-copy-line,.gary-booking h5.gary-copy-line,.gary-booking h6.gary-copy-line{font-weight:700}
.gary-booking h1.gary-copy-line{font-size:clamp(28px,4.2vw,42px)}
.gary-booking h2.gary-copy-line{font-size:clamp(24px,3.4vw,35px)}
.gary-booking h3.gary-copy-line{font-size:clamp(21px,2.7vw,29px)}
.gary-booking h4.gary-copy-line{font-size:clamp(18px,2.3vw,24px)}
.gary-booking h5.gary-copy-line{font-size:clamp(16px,1.9vw,20px)}
.gary-booking h6.gary-copy-line{font-size:clamp(14px,1.6vw,17px)}
.gary-booking span.gary-copy-eyebrow,.gary-booking p.gary-copy-eyebrow,.gary-booking div.gary-copy-eyebrow{font-size:11px;font-weight:750}
.gary-booking span.gary-copy-title,.gary-booking p.gary-copy-title,.gary-booking div.gary-copy-title{font-size:clamp(24px,3.4vw,35px);font-weight:700}
.gary-booking span.gary-copy-subtitle,.gary-booking p.gary-copy-subtitle,.gary-booking div.gary-copy-subtitle{font-size:14px;font-weight:400}
.gary-booking span.gary-copy-notice,.gary-booking p.gary-copy-notice,.gary-booking div.gary-copy-notice{font-size:12px;font-weight:400}

/* V1.1.6 — Return message is green only after a server-confirmed booking. */
.gary-booking .gary-success[data-state=waiting]{display:block;background:#fff8e7;color:#76561a;border:1px solid #ead4a0;font-weight:500}
.gary-booking .gary-success[data-state=confirmed]{display:block;background:#e5f5e9;color:#176b3a;border:1px solid #a8d8b4;font-weight:650}

/* V1.1.7: prevent theme rules from enlarging the confirmation banner. */
.gary-booking .gary-success,
.gary-booking .gary-success[data-state=confirmed],
.gary-booking .gary-success[data-state=waiting]{
 display:block;
 font-family:Arial,Helvetica,sans-serif !important;
 font-size:14px !important;
 line-height:1.55 !important;
 font-weight:500 !important;
 letter-spacing:normal !important;
 text-transform:none !important;
 text-align:left !important;
 overflow-wrap:break-word;
 word-break:normal;
 padding:13px 16px !important;
 margin:14px 0 0 !important;
 border-radius:9px;
}
.gary-booking .gary-success[hidden]{display:none !important;}
.gary-booking .gary-success[data-state=confirmed]{background:#e5f5e9 !important;color:#176b3a !important;border:1px solid #a8d8b4 !important;}
.gary-booking .gary-success[data-state=waiting]{background:#fff8e7 !important;color:#76561a !important;border:1px solid #ead4a0 !important;}
@media(max-width:700px){.gary-booking .gary-success{font-size:13px !important;padding:12px !important;}}

/* GARY Booking 1.1.9 : date de départ sur une arrivée déjà occupée */
.gary-booking .gary-day.gary-checkout-only{background:linear-gradient(135deg,var(--gary-pale) 0%,var(--gary-pale) 50%,#e1e3e1 50%,#e1e3e1 100%);color:var(--gary-ink);text-decoration:none;cursor:pointer;outline:1px dashed var(--gary-accent);outline-offset:-2px}
.gary-booking .gary-day.gary-checkout-only.is-selected{background:var(--gary-button);color:var(--gary-button-text);outline:none}
.gary-booking .gary-departure-notice{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;margin:1px 0 15px;font-family:inherit!important;font-size:12px!important;line-height:1.45!important;font-weight:500!important;overflow-wrap:anywhere}
.gary-booking .gary-departure-notice .gary-departure-icon{font-family:Arial,sans-serif;font-size:17px;line-height:1;flex:none}
.gary-design-preview .gary-departure-notice{max-width:100%}

/* 1.4.0: checkout information directly before the action button */
.gary-booking .gary-departure-notice{margin:12px 0 8px!important;}

/* V1.4.1: separate, legible confirmation lines regardless of WordPress theme */
.gary-booking .gary-success .gary-confirm-heading{display:block!important;font-family:Arial,Helvetica,sans-serif!important;font-size:19px!important;font-weight:750!important;line-height:1.35!important;color:#176b3a!important;margin:0 0 8px!important;letter-spacing:normal!important}
.gary-booking .gary-success .gary-confirm-detail,.gary-booking .gary-success .gary-confirm-test{display:block!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.5!important;font-weight:400!important;color:#176b3a!important;margin:0!important;letter-spacing:normal!important}
.gary-booking .gary-success .gary-confirm-test{margin-top:8px!important;font-size:12px!important;opacity:.9!important}
@media(max-width:700px){.gary-booking .gary-success .gary-confirm-heading{font-size:17px!important}.gary-booking .gary-success .gary-confirm-detail{font-size:13px!important}}


/* GARY Booking V1.5.3 — harmonisation de la typographie publique et de l'aperçu admin.
   Sans empattements, proche du thème REEZUP ; conservation des tailles et couleurs existantes.
   Uniquement dans .gary-booking, sans modifier les polices du reste du site. */
.gary-booking,
.gary-booking *,
.gary-booking input,
.gary-booking select,
.gary-booking textarea,
.gary-booking button {
    font-family: Arial, Helvetica, sans-serif !important;
}
