.booking-section{background:#f8f9fb;padding:30px 15px 50px;min-height:calc(100vh - 80px);overflow-x:hidden}.booking-form,.booking-form-card,.booking-grid,.booking-main,.booking-shell,.booking-success,.booking-success-actions,.booking-success-head{min-width:0}@media (min-width:768px){.booking-section{padding:40px 30px 70px}}.booking-shell{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:25px}.booking-grid{display:grid;grid-template-columns:1fr;gap:25px;align-items:start}@media (min-width:1024px){.booking-grid{grid-template-columns:minmax(0,1fr) 360px;gap:30px}.booking-form:has([data-booking-pros]:not(.hidden)) .booking-grid,.booking-form:has([data-multistep-success]:not(.hidden)) .booking-grid{grid-template-columns:1fr}.booking-form:has([data-booking-pros]:not(.hidden)) .booking-shell,.booking-form:has([data-multistep-success]:not(.hidden)) .booking-shell{max-width:860px}}.booking-topbar{display:flex;flex-direction:column;gap:18px}.booking-progress{display:flex;align-items:center;gap:6px}.booking-progress-bar{flex:1;height:4px;border-radius:40px;background:#e5e7eb;transition:background .2s;cursor:default;border:0;padding:0}.booking-progress-bar.is-current,.booking-progress-bar.is-done{background:rgb(var(--brand))}.booking-progress-bar.is-done{cursor:pointer}.booking-topbar-row{display:flex;align-items:center;justify-content:center;min-height:32px}.booking-title{font-size:18px;font-weight:700;color:#0a0a0a;text-align:center;margin:0}.booking-form{display:block}.booking-form-card{background:#fff;border-radius:20px;box-shadow:0 2px 15px rgba(0,0,0,.1);padding:25px 20px;display:flex;flex-direction:column;gap:18px}@media (min-width:768px){.booking-title{font-size:22px}.booking-form-card{padding:40px 30px;gap:20px}}.booking-form-heading{display:flex;flex-direction:column;gap:4px}.booking-form-counter{font-size:14px;font-weight:600;color:rgb(var(--brand));margin:0}.booking-form-title{font-size:18px;font-weight:700;color:#0a0a0a;margin:0}.booking-form .multistep-progress{display:none}.booking-form .multistep-actions{padding-top:5px;border-top:0}.booking-form .multistep-actions-main{gap:12px}.booking-newsletter{display:flex;align-items:center;gap:10px;font-size:14px;color:#0a0a0a;line-height:1.4;cursor:pointer;user-select:none}.booking-newsletter input[type=checkbox]{width:18px;height:18px;accent-color:rgb(var(--brand));flex-shrink:0}.booking-appmariage{margin-top:14px}.booking-appmariage[hidden]{display:none}.booking-sidebar{display:flex;flex-direction:column;gap:25px}.booking-venue-card{background:#fff;border-radius:20px;box-shadow:0 2px 15px rgba(0,0,0,.1);overflow:hidden;display:flex;flex-direction:column;padding-bottom:25px}.booking-venue-photo{position:relative;width:100%;aspect-ratio:343/152;overflow:hidden}.booking-venue-photo img,.booking-venue-photo picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.booking-venue-body{padding:18px 25px 0;display:flex;flex-direction:column;gap:12px}.booking-venue-name{font-size:18px;font-weight:700;color:#0a0a0a;margin:0}.booking-venue-address{font-size:13px;color:#757575;margin:0}.booking-venue-stats{display:flex;flex-direction:column;gap:5px;margin:0;padding:0;list-style:none}.booking-venue-stats li{display:flex;align-items:center;gap:8px;font-size:13px;color:#0a0a0a}.booking-venue-stats i{font-size:14px;width:18px;text-align:center;color:#0a0a0a}.booking-venue-description{font-size:13px;line-height:1.5;color:#757575;margin:5px 0 0}.booking-team-card{background:#fff;border-radius:20px;box-shadow:0 2px 15px rgba(0,0,0,.1);padding:20px 25px;display:flex;flex-direction:column;gap:18px}.booking-team-row{display:flex;align-items:center;gap:20px;padding:10px 0}.booking-team-avatar{width:71px;height:71px;border-radius:50%;overflow:hidden;flex-shrink:0;background:rgb(var(--brand))}.booking-team-avatar img,.booking-team-avatar picture{width:100%;height:100%;object-fit:cover}.booking-team-text{font-size:13px;line-height:1.4;color:#0a0a0a;flex:1}.booking-team-text strong{display:block;font-weight:700;margin-bottom:4px}.booking-trust-row{display:flex;align-items:stretch;justify-content:center;gap:0;padding-top:15px;border-top:1px solid #e5e7eb}.booking-trust-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:0 4px}.booking-trust-item i{font-size:22px;color:#0a0a0a}.booking-trust-item span{font-size:13px;line-height:1.3;color:#0a0a0a;text-align:center}.booking-trust-divider{width:1px;background:#e5e7eb;margin:5px 0;flex-shrink:0}.booking-success{display:flex;flex-direction:column;gap:25px;padding:5px 0}.booking-success.hidden{display:none}.booking-form:has([data-booking-pros]:not(.hidden)) .booking-form-card,.booking-form:has([data-multistep-success]:not(.hidden)) .booking-form-card{background:0 0;box-shadow:none;padding:0}.booking-form:has([data-booking-pros]:not(.hidden)) .booking-topbar,.booking-form:has([data-multistep-success]:not(.hidden)) .booking-topbar{display:none}.booking-form:has([data-booking-pros]:not(.hidden)) .booking-form-heading,.booking-form:has([data-multistep-success]:not(.hidden)) .booking-form-heading{display:none}.booking-form:has([data-booking-pros]:not(.hidden)) .booking-sidebar,.booking-form:has([data-multistep-success]:not(.hidden)) .booking-sidebar{display:none}html[data-booking-restore] .booking-form-card{background:0 0;box-shadow:none;padding:0}html[data-booking-restore] .booking-form [data-multistep-actions],html[data-booking-restore] .booking-form [data-multistep-step],html[data-booking-restore] .booking-form-heading,html[data-booking-restore] .booking-sidebar,html[data-booking-restore] .booking-topbar{display:none}html[data-booking-restore=success] .booking-success.hidden{display:flex}html[data-booking-restore=pros] .booking-success{display:none}html[data-booking-restore=pros] .booking-pros.hidden{display:flex}.booking-success-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-bottom:15px}.booking-success-title{font-size:22px;font-weight:700;color:#0a0a0a;margin:0}.booking-success-check{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#16a34a;color:#fff;font-size:22px;margin-bottom:6px}.booking-success-sub{font-size:15px;color:#0a0a0a;margin:0}.booking-suggest-grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:5px;min-width:0}.booking-suggest-grid>*{flex:0 0 80%;max-width:320px}@media (min-width:768px){.booking-suggest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow:visible;padding:0}.booking-suggest-grid>*{flex:initial;max-width:none}}@media (min-width:1024px){html[data-booking-restore] .booking-grid{grid-template-columns:1fr}html[data-booking-restore] .booking-shell{max-width:860px}.booking-suggest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.booking-suggest-grid.hidden{display:none}.booking-suggest-card{border:2px solid transparent;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:border-color 150ms,box-shadow 150ms}.booking-suggest-card:hover{border-color:rgb(var(--brand-light))}.booking-suggest-card:has(input[type=checkbox]:checked){border-color:rgb(var(--brand))}.booking-suggest-card input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.booking-suggest-check{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.95);border:1px solid #d6d9dd;color:transparent;font-size:13px;display:inline-flex;align-items:center;justify-content:center;transition:background 120ms,color 120ms,border-color 120ms}.booking-suggest-card:has(input[type=checkbox]:checked) .booking-suggest-check{background:rgb(var(--brand));border-color:rgb(var(--brand));color:#fff}.booking-success-actions{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:10px}.booking-success-actions.hidden{display:none}.booking-send-btn{min-width:280px;max-width:100%}@media (max-width:639.98px){.booking-send-btn{min-width:0;width:100%}}.booking-send-btn:disabled{opacity:.5;cursor:not-allowed}.booking-decline-link{font-size:13px;color:#0a0a0a;text-decoration:underline}.booking-decline-link:hover{color:rgb(var(--brand))}.booking-pros{display:flex;flex-direction:column;gap:25px;padding:5px 0}.booking-pros.hidden{display:none}.booking-pros-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-bottom:15px}.booking-pros-title{font-size:22px;font-weight:700;color:#0a0a0a;margin:0}.booking-pros-check{display:none;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#16a34a;color:#fff;font-size:22px;margin-bottom:6px}.booking-pros[data-booking-pros-source=send] .booking-pros-check{display:inline-flex}.booking-pros-sub{font-size:15px;color:#0a0a0a;margin:0;max-width:560px}.booking-pros-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (min-width:640px){.booking-pros-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}@media (min-width:768px){.booking-pros-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}.booking-pros-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;color:#0a0a0a;text-align:center}.booking-pros-card:hover{border-color:rgb(var(--brand));box-shadow:0 6px 18px rgba(0,0,0,.06)}.booking-pros-icon{width:52px;height:52px;border-radius:50%;background:rgb(var(--brand) / .1);color:rgb(var(--brand));display:inline-flex;align-items:center;justify-content:center;font-size:22px}.booking-pros-label{font-size:13px;font-weight:600;line-height:1.3}.booking-pros-actions{display:flex;justify-content:center;padding-top:10px}.booking-finish-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:280px;max-width:100%}@media (max-width:639.98px){.booking-finish-btn{min-width:0;width:100%}}.booking-venue-section{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#757575;margin:0}.booking-venue-modes{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.booking-venue-modes li{display:flex;align-items:center;gap:10px;min-width:0}.booking-venue-modes i{width:22px;font-size:17px;text-align:center;color:#0a0a0a;flex-shrink:0}.booking-venue-mode-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.booking-venue-mode-label{font-size:13px;font-weight:600;line-height:1.3;color:#0a0a0a}.booking-venue-mode-meta{font-size:12px;line-height:1.3;color:#757575}.booking-venue-mode-price{display:inline-flex;align-items:baseline;gap:3px;flex-shrink:0;white-space:nowrap;padding:4px 9px;border-radius:999px;background:rgb(var(--brand) / .08);color:rgb(var(--brand));font-size:12px;font-weight:600;line-height:1.3}.booking-venue-mode-price small{font-size:11px;font-weight:500}.booking-refine .accordion-item{background:rgb(var(--brand) / .05);border:1px solid rgb(var(--brand) / .18);border-radius:10px;transition:background 160ms,border-color 160ms}.booking-refine .accordion-item:hover{background:rgb(var(--brand) / .08)}.booking-refine .accordion-item.is-open{background:#fff;border-color:rgb(var(--brand) / .35)}.booking-refine .accordion-trigger{gap:12px;padding:12px 16px;color:rgb(var(--brand))}.booking-refine .accordion-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;line-height:1.3}.booking-refine-icon{width:32px;height:32px;border-radius:50%;background:rgb(var(--brand) / .1);display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.booking-refine-text{display:flex;flex-direction:column;gap:2px;min-width:0}.booking-refine-text small{font-size:12px;font-weight:400;color:#757575}.booking-refine .accordion-chevron{font-size:12px}.booking-refine .accordion-panel-inner{padding:0 16px}.booking-refine .accordion-panel-inner>*{padding:4px 0 16px}.booking-venue-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.booking-venue-tags li{font-size:12px;line-height:1.2;color:#0a0a0a;background:#f3f4f6;border-radius:999px;padding:5px 10px}