.cy-customer,.cy-booking{--ink:#213d2b;--muted:#637269;--line:#e2e8e0;color:var(--ink);font-family:inherit}.cy-customer{max-width:1180px;margin:36px auto 70px}.cy-customer h1{font-size:clamp(28px,3.4vw,44px);letter-spacing:-1.4px;line-height:1.15;margin:24px 0 12px}.cy-customer h2,.cy-booking h2{font-size:22px;margin:0 0 18px}.cy-customer h3{font-size:17px}.cy-muted{color:#637269}.cy-small{font-size:13px}.cy-booking label,.cy-customer label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.cy-booking input,.cy-customer input:not([type=checkbox]){font:inherit;color:inherit;min-width:0;width:100%;padding:12px;border:1px solid #ced8cd;border-radius:10px;background:#fff;min-height:46px}.cy-customer button,.cy-booking button{cursor:pointer;font:inherit}.cy-customer button:disabled,.cy-booking button:disabled{opacity:.55;cursor:not-allowed}.cy-customer :focus-visible,.cy-booking :focus-visible{outline:3px solid #2b713e;outline-offset:3px}.cy-customer small,.cy-booking small{display:block;font-size:12px;color:#637269;line-height:1.6;margin-top:12px;font-weight:400}.cy-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.cy-booking{padding:28px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 14px 45px #243c2510}.cy-booking .cy-eyebrow{font-size:10px;letter-spacing:1.4px}.cy-booking [data-cy-status]{font-size:13px;min-height:20px}.cy-totals{display:grid;grid-template-columns:1fr auto;gap:14px;margin:22px 0 8px;font-size:14px}.cy-totals dd{margin:0;text-align:right;font-weight:600}.cy-total-final{border-top:1px solid #dfe5dc;padding-top:18px;font-size:16px;font-weight:700}.cy-customer .cy-steps{display:flex;list-style:none;gap:30px;padding:0;margin:0 0 44px;font-size:12px;color:#6d796d}.cy-steps li{display:flex;gap:8px;align-items:center}.cy-steps span{width:28px;height:28px;background:#edf1e9;display:grid;place-items:center;border-radius:50%;font-weight:700}.cy-steps [aria-current=step]{color:#213d2b;font-weight:700}.cy-steps [aria-current=step] span{background:#213d2b;color:white}.cy-cart-layout,.cy-checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:38px;align-items:start;margin-top:34px}.cy-panel,.cy-order-summary{border:1px solid #e2e8e0;padding:26px;border-radius:18px;background:white;margin-bottom:22px}.cy-order-summary{position:sticky;top:105px}.cy-cart-line{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #e2e8e0}.cy-cart-line input{max-width:80px}.cy-cart-line label{flex-direction:row;align-items:center}.cy-cart-line strong{white-space:nowrap}.cy-text-button{background:none;border:0;padding:10px 0;text-decoration:underline;font-size:13px!important;cursor:pointer;display:inline-block}.cy-order-summary [aria-disabled=true]{background:#9ca79b;cursor:not-allowed;opacity:.6}.cy-order-summary .cy-btn{justify-content:center}.cy-checkout-layout form>h2:not(:first-child){margin-top:30px}.cy-summary-items{list-style:none;padding:0}.cy-summary-items li{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:16px}.cy-summary-items b{white-space:nowrap}.cy-customer .cy-check{display:flex;flex-direction:row;align-items:start;margin:20px 0;gap:12px}.cy-check input{margin-top:3px;width:18px;height:18px;accent-color:#285b33;flex-shrink:0}.cy-terms{background:#f5f7f2;padding:18px;border-radius:12px;font-size:13px;margin:22px 0}.cy-terms summary{cursor:pointer;font-weight:700}.cy-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}.cy-empty-state{text-align:center;padding:60px 24px;background:#f4f7f0;border-radius:24px;grid-column:1/-1}.cy-empty-state>span{display:block;font-size:38px;margin-bottom:18px}.cy-empty-state h2{margin-bottom:12px}.cy-cart-badge{display:inline-grid;place-items:center;font-size:11px;min-width:20px;height:20px;border-radius:50%;background:#e7efdf;color:#213d2b}.cy-status-pill{display:inline-block;background:#e6efdc;padding:8px 14px;border-radius:30px;font-size:12px;font-weight:700}.cy-tracking-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.cy-tracking-actions{display:flex;flex-wrap:wrap;gap:12px}.cy-info{border-left:3px solid #80aa67;background:#f5f7f1;padding:16px}.cy-assistance{display:block;text-align:center;margin:20px 0;font-size:13px}.cy-customer [data-cy-status]:not(:empty){background:#f7f5ea;padding:14px;border-radius:10px}.cy-customer [hidden]{display:none!important}
@media(max-width:760px){.cy-cart-layout,.cy-checkout-layout,.cy-tracking-grid{grid-template-columns:1fr;gap:20px}.cy-order-summary{position:static}.cy-customer .cy-steps{gap:12px;font-size:10px;margin-bottom:28px}.cy-steps li{flex:1;align-items:start;flex-direction:column}.cy-booking,.cy-panel,.cy-order-summary{padding:20px}.cy-customer{margin-top:26px}.cy-checkout-layout aside{grid-row:1}.cy-cart-line strong{font-size:13px}.cy-tracking-actions .cy-btn{width:100%;justify-content:center}}
@media print{.cy-header,.cy-footer,.cy-bottom-nav,.cy-tracking-actions,.cy-steps{display:none!important}.cy-order-summary{position:static}.cy-customer{margin:0}.cy-tracking-grid{display:block}body{padding:0!important}.cy-panel,.cy-order-summary{break-inside:avoid}}

/* Advanced 2.0 responsive hardening — tracking, cart, checkout and portal. */
.cy-customer{width:min(1180px,calc(100% - 40px));min-width:0}.cy-customer *,.cy-booking *{box-sizing:border-box}.cy-customer ul,.cy-customer ol{max-width:100%}.cy-customer a,.cy-customer p,.cy-customer li{overflow-wrap:anywhere}.cy-tracking-grid>*{min-width:0}.cy-order-summary,.cy-panel{min-width:0}.cy-tracking-actions>*{min-width:0}.cy-customer form{max-width:100%}.cy-customer [data-link]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.cy-customer [data-link] label{min-width:0}.cy-cart-line>*{min-width:0}.cy-summary-items li span{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.cy-cart-layout,.cy-checkout-layout{gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.cy-customer{width:min(100% - 32px,1180px)}}
@media(max-width:760px){.cy-customer{width:min(100% - 24px,1180px);margin:22px auto 54px}.cy-customer h1{font-size:clamp(28px,8vw,38px);letter-spacing:-.8px}.cy-cart-layout,.cy-checkout-layout,.cy-tracking-grid{grid-template-columns:minmax(0,1fr)!important}.cy-checkout-layout aside{grid-row:auto}.cy-order-summary{position:static!important}.cy-field-row{grid-template-columns:1fr}.cy-customer .cy-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}.cy-steps li{min-width:0;gap:6px}.cy-steps li span{flex:0 0 28px}.cy-panel,.cy-order-summary,.cy-booking{padding:18px;border-radius:16px}.cy-tracking-actions{display:grid;grid-template-columns:1fr}.cy-tracking-actions .cy-btn{width:100%;white-space:normal}.cy-customer [data-link]{grid-template-columns:1fr}.cy-customer [data-link] .cy-btn{width:100%}.cy-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.cy-cart-line strong{white-space:normal}.cy-summary-items li{align-items:flex-start}.cy-summary-items b{white-space:normal;text-align:right}.cy-totals{grid-template-columns:minmax(0,1fr) auto}.cy-info{padding:14px}}
@media(max-width:480px){.cy-customer{width:min(100% - 18px,1180px)}.cy-customer .cy-steps{font-size:9px}.cy-steps li{align-items:center;text-align:center}.cy-steps li span{width:26px;height:26px}.cy-panel,.cy-order-summary,.cy-booking{padding:15px}.cy-cart-line{grid-template-columns:1fr}.cy-cart-line input{max-width:100%}.cy-summary-items li{display:grid;grid-template-columns:minmax(0,1fr) auto}.cy-tracking-grid ul{padding-left:18px}.cy-totals{gap:10px}.cy-customer .cy-btn{width:100%;justify-content:center}}
.cy-change-request textarea,.cy-change-request select{font:inherit;color:inherit;width:100%;padding:12px;border:1px solid #ced8cd;border-radius:10px;background:#fff;min-height:46px}.cy-change-request textarea{resize:vertical;min-height:92px}.cy-change-request [data-change-status]:not(:empty){display:block;margin-top:12px;padding:12px;border-radius:10px;background:#f7f5ea;font-size:13px}.cy-change-request .cy-btn{margin-top:14px}

/* Campy OS 5.0 — rewards, wallet and referral portal. */
.cy-portal-welcome{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:22px}.cy-portal-welcome h1{margin:6px 0 8px}.cy-portal-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}.cy-portal-rewards article{min-width:0;padding:20px;border:1px solid #e2e8e0;border-radius:16px;background:linear-gradient(145deg,#fff,#f7f9f4)}.cy-portal-rewards span{display:block;color:#637269;font-size:12px;margin-bottom:8px}.cy-portal-rewards strong{display:block;font-size:clamp(22px,3vw,32px);line-height:1.1}.cy-portal-rewards small{margin:7px 0 0}.cy-wallet-panel h2{margin-bottom:14px}.cy-badge-list{display:flex;flex-wrap:wrap;gap:10px}.cy-reward-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:#edf5e8;color:#285b33;font-size:12px;font-weight:700}.cy-wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cy-wallet-grid article{padding:16px;border:1px solid #e2e8e0;border-radius:14px;background:#fbfcfa;min-width:0}.cy-wallet-grid span,.cy-wallet-grid code,.cy-wallet-grid small{display:block}.cy-wallet-grid strong{display:block;font-size:22px;margin:6px 0}.cy-wallet-grid code{overflow-wrap:anywhere}.cy-referral-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}.cy-referral-code{display:flex;align-items:center;gap:10px;min-width:0}.cy-referral-code code{font-size:16px;font-weight:700;background:#f4f7f0;padding:12px 14px;border-radius:10px;overflow-wrap:anywhere}.cy-referral-card [data-referral-status]{grid-column:1/-1;margin:0}.cy-referral-card [data-referral-status]:not(:empty){padding:10px 12px;background:#f7f5ea;border-radius:10px}
@media(max-width:760px){.cy-portal-rewards{grid-template-columns:1fr}.cy-wallet-grid{grid-template-columns:1fr}.cy-referral-card{grid-template-columns:1fr}.cy-referral-code{display:grid;grid-template-columns:minmax(0,1fr) auto}.cy-referral-code .cy-btn{width:auto}.cy-portal-welcome{align-items:flex-start}}
@media(max-width:480px){.cy-referral-code{grid-template-columns:1fr}.cy-referral-code .cy-btn{width:100%}.cy-portal-rewards article{padding:16px}}

/* Campy 5.1 — Customer Journey & live reservation timeline */
.cy-journey-card,.cy-live-timeline,.cy-mini-journey{overflow:hidden}.cy-mini-journey{margin-top:16px;padding-top:14px;border-top:1px solid #e7ece4}.cy-mini-journey .cy-journey-head{display:none}.cy-journey-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.cy-journey-head h2{margin:4px 0 0}.cy-live-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;background:#edf7ed;color:#2d6a3b;font-size:11px;font-weight:800;white-space:nowrap}.cy-journey-list{position:relative;list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:0}.cy-journey-list:before{content:"";position:absolute;left:9px;top:11px;bottom:11px;width:2px;background:#dce6d8}.cy-journey-list li{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;padding:8px 0}.cy-journey-list li>div{display:flex;justify-content:space-between;gap:16px;align-items:baseline;min-width:0}.cy-journey-list li b{font-size:13px;font-weight:700;overflow-wrap:anywhere}.cy-journey-list li small{margin:0;white-space:nowrap;color:#7a877c}.cy-journey-dot{position:relative;z-index:1;width:20px;height:20px;border-radius:50%;background:#dce6d8;border:5px solid #fff;box-shadow:0 0 0 1px #ccd8c9}.cy-journey-list li.is-current .cy-journey-dot{background:#2f6a3e;box-shadow:0 0 0 2px #b9d8b7}.cy-journey-list li.is-current b{color:#255b34}.cy-live-timeline{background:linear-gradient(180deg,#fbfdf9,#f5f9f2)}.cy-live-timeline>[data-live-updated]{margin-top:14px;color:#7a877c}.cy-account-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:start;margin:14px 0 24px;padding:15px 16px;border:1px solid #d9e5d6;border-radius:13px;background:#f7faf5}.cy-account-note strong{font-size:13px}.cy-account-note span{font-size:12px;line-height:1.55;color:#637269}.cy-mini-journey .cy-journey-list li:nth-last-child(n+5){display:none}
@media(max-width:760px){.cy-journey-head{align-items:center}.cy-journey-list li>div{display:grid;gap:2px}.cy-journey-list li small{white-space:normal}.cy-account-note{grid-template-columns:1fr}.cy-live-pill{font-size:10px}.cy-live-timeline{padding:17px}}
@media(max-width:480px){.cy-journey-head{display:grid;grid-template-columns:1fr auto;gap:8px}.cy-journey-head h2{font-size:19px}.cy-journey-list li{grid-template-columns:18px minmax(0,1fr);gap:10px}.cy-journey-dot{width:18px;height:18px}.cy-journey-list:before{left:8px}}

/* V6 — transparence de facturation selon l'heure de retrait */
.cy-billing-rule,
.cy-billing-note {
	margin: 10px 0 0;
	padding: 10px 12px;
	border: 1px solid rgba(39, 90, 63, .16);
	border-radius: 12px;
	background: rgba(93, 175, 72, .07);
	line-height: 1.45;
}
.cy-billing-note strong { display: block; margin-bottom: 2px; }
@media (max-width: 520px) {
	.cy-billing-rule,
	.cy-billing-note { padding: 9px 10px; font-size: 12.5px; }
}

/* Campy 6.3 — Reservation Approval / Timeline / Dynamic Modification UI */
.cy-tracking-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.cy-customer-identity{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 14px;border:1px solid #dde7dc;border-radius:16px;background:#fff}.cy-customer-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#183f2c;color:#fff;font-size:13px;font-weight:900;letter-spacing:.04em;flex:0 0 auto}.cy-customer-identity>div{display:grid;gap:2px}.cy-customer-identity small{margin:0}.cy-live-dot{width:7px;height:7px;border-radius:50%;background:#46a758;box-shadow:0 0 0 4px rgba(70,167,88,.12)}
.cy-reservation-timeline{list-style:none!important;padding:0!important;margin:0!important;display:grid;position:relative}.cy-reservation-timeline:before{content:"";position:absolute;left:22px;top:24px;bottom:24px;width:2px;background:#dfe9de}.cy-reservation-timeline li{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 0}.cy-timeline-icon{position:relative;z-index:1;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #d8e4d6;color:#52705d;box-shadow:0 5px 18px rgba(24,63,44,.07)}.cy-timeline-icon svg{width:21px;height:21px}.cy-reservation-timeline .is-completed .cy-timeline-icon{background:#eaf5e8;border-color:#bcd9b9;color:#2e6d3e}.cy-reservation-timeline .is-current .cy-timeline-icon{background:#173f2b;color:#fff;border-color:#173f2b;box-shadow:0 0 0 5px rgba(23,63,43,.1)}.cy-reservation-timeline .is-upcoming .cy-timeline-icon{background:#fff;color:#8b968d}.cy-timeline-copy{min-width:0;padding-top:3px}.cy-timeline-copy b{display:block;font-size:14px}.cy-timeline-copy p{margin:5px 0 0;font-size:12px;line-height:1.55;color:#65736a}.cy-timeline-copy small{margin-top:3px}.cy-timeline-state{align-self:center;border-radius:999px;padding:6px 9px;background:#f0f4ef;color:#68776c;font-size:10px;font-weight:800;white-space:nowrap}.is-current .cy-timeline-state{background:#173f2b;color:#fff}.is-completed .cy-timeline-state{background:#eaf5e8;color:#2e6d3e}
.cy-change-request{border-color:#d8e6d5;background:linear-gradient(180deg,#fff,#f8fbf7)}.cy-change-request form{display:grid;gap:14px}.cy-change-request [data-change-fields]{display:grid;gap:14px}.cy-change-preview{border:1px solid #dbe7d8;border-radius:16px;padding:18px;background:#fff}.cy-change-preview h3{margin:5px 0 14px}.cy-change-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cy-change-summary>div{padding:12px;border-radius:12px;background:#f5f8f3;display:grid;gap:5px}.cy-change-summary span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#758179;font-weight:800}.cy-change-summary b{font-size:13px;overflow-wrap:anywhere}.cy-change-summary .is-positive{color:#9a4a20}.cy-alert{padding:12px 14px;border-radius:12px;background:#fff3ef;color:#8b3824;border:1px solid #ffd5c9;font-size:13px}.cy-success{padding:12px 14px;border-radius:12px;background:#eef8ec;color:#2e6d3e;border:1px solid #cfe6cb;font-size:13px}
@media(max-width:760px){.cy-tracking-heading{display:grid}.cy-customer-identity{width:100%}.cy-reservation-timeline li{grid-template-columns:40px minmax(0,1fr);gap:12px}.cy-reservation-timeline:before{left:19px}.cy-timeline-icon{width:40px;height:40px}.cy-timeline-state{grid-column:2;justify-self:start;margin-top:-4px}.cy-change-summary{grid-template-columns:1fr}.cy-change-request .cy-btn{min-height:48px}.cy-change-request select,.cy-change-request input,.cy-change-request textarea{font-size:16px}}

/* Détail du tarif (1re nuit + nuits supplémentaires) — panier, checkout, suivi. 2026-09-24 */
.cy-price-detail{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#F6F5F0;border:1px solid #ECE8DC}
.cy-price-detail ul{list-style:none;margin:6px 0 0;padding:0}
.cy-price-detail li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #E3E0D5}
.cy-price-detail li:last-child{border-bottom:0}
.cy-price-detail li>div{min-width:0}
.cy-price-detail b{display:block;font-size:14px}
.cy-price-detail small{display:block;color:#6B7A70;font-size:12.5px;margin-top:2px}
.cy-price-detail strong{white-space:nowrap}

/* Offres & cadeaux, parrainage, CGL au checkout — 2026-09-24 */
.cy-offers{margin-top:12px;display:grid;gap:8px}
.cy-offer{margin:0;padding:10px 12px;border-radius:12px;background:#FFF7EE;border:1px dashed #F5C9A0;font-size:13.5px}
.cy-offer a{font-weight:700}
.cy-offer--won{background:#EAF6EE;border:1px solid #BFE3CB;color:#0D3A29}
.cy-ok{color:#246947;font-weight:600}
.cy-cgl-box{border:1px solid #E3E0D5;border-radius:14px;padding:12px 16px;background:#FBFAF6;margin:10px 0}
.cy-cgl-box ul{margin:6px 0;padding-left:1.2em}
.cy-cgl-box li{margin-bottom:3px;font-size:13.5px}
.cy-cgl-version{font-size:12px;color:#6B7A70}

/* Demandes particulières (réduction de caution / remise) — 2026-09-24 */
.cy-requests{display:grid;gap:10px;margin-bottom:8px}
.cy-request-toggle{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #E3E0D5;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.cy-request-toggle:has(input:checked){border-color:#246947;background:#EEF6F0}
.cy-request-toggle input{margin-top:3px;width:18px;height:18px;flex-shrink:0}
.cy-request-toggle b{display:block}
.cy-request-toggle small{display:block;color:#6B7A70;font-size:12.5px;margin-top:2px}
.cy-requests textarea{width:100%}
.cy-customer .cy-requests .cy-request-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important;font-weight:400}
.cy-customer .cy-requests .cy-request-toggle>span{display:block;flex:1;min-width:0}
.cy-customer .cy-requests .cy-request-toggle input{width:18px!important;height:18px!important;margin:3px 0 0!important;padding:0!important}
.cy-customer h2 small.cy-muted{display:inline;font-size:.55em;font-weight:500;margin-left:6px}

/* Parcours : lieu de retrait (après confirmation) / avis (après retour) — 2026-09-24 */
.cy-journey-place,.cy-journey-review{margin:14px 0;display:grid;gap:8px;justify-items:start}
.cy-journey-place{background:linear-gradient(135deg,#EAF4EC,#fff)!important;border:1px solid #CFE6D5}
.cy-journey-review{background:linear-gradient(135deg,#FFF8E6,#fff)!important;border:1px solid #F3DDA6}
.cy-journey-place h2,.cy-journey-review h2{margin:0}
