/* Reservation presentation only. Booking/payment state remains owned by React. */
body:has(.reservation-main){background:#f3f1eb;color:#283b35}
body:has(.reservation-main) .simple-header{background:#f8f7f2;border-color:#dddcd2;min-height:88px}
.reservation-main{max-width:1120px;padding:48px 28px 80px}
.reservation-main>.eyebrow{color:#79745e;font-size:11px;letter-spacing:.22em}
.reservation-main>h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(30px,4vw,44px);font-weight:400;margin:12px 0 28px;letter-spacing:.04em}
.reservation-main>.panel{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px 28px;padding:0;margin-top:0;background:none;border:0;box-shadow:none}
.reservation-main>.panel>.reservation-card{grid-column:1;grid-row:1 / span 6}
.reservation-main>.panel>:not(.reservation-card){grid-column:2;min-width:0;margin:0}
.reservation-main>.panel>p{font-size:12px;color:#686b60;line-height:1.85}
.reservation-main>.panel>.text-button{justify-self:start;font-size:13px;min-height:44px}
.reservation-main .reservation-card{overflow:hidden;padding:30px;background:#fffef9;border:1px solid #dfdfd3;border-radius:20px;box-shadow:0 14px 44px #23362c0a;min-width:0}
.reservation-main .reservation-card::before{content:"";display:block;height:166px;margin:-30px -30px 28px;background:linear-gradient(0deg,#213d3433,#213d3400),url('/photos/home-rooftops.jpg') center 48% / cover;border-bottom:4px solid #bca479}
.reservation-main .reservation-card>.eyebrow{display:block;color:#8a7957;font-size:10px;letter-spacing:.2em;margin-bottom:12px}
.reservation-main .reservation-card>h2{font-family:Georgia,"Songti SC",serif;color:#243e34;font-weight:400;font-size:clamp(25px,3vw,34px);line-height:1.4;margin:0 0 24px}
.reservation-main .card-date{padding:18px 22px;margin:0 0 24px;background:#eaf0e9;border-left:3px solid #8b9e84;border-radius:0 10px 10px 0;font-family:Georgia,serif;font-variant-numeric:tabular-nums;font-size:25px;line-height:1.55;color:#244735}
.reservation-main .card-date small{font-family:inherit;display:inline-block;color:#607263;font-size:12px;white-space:nowrap;margin-left:5px}
.reservation-main .card-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 26px;border-bottom:1px solid #e6e5dc}
.reservation-main .card-facts p{padding:15px 12px 15px 0;margin:0;border-top:1px solid #e6e5dc;font-size:11px;letter-spacing:.05em;color:#77796e}
.reservation-main .card-facts strong{font-size:15px;font-weight:500;line-height:1.65;color:#2d4136;margin-top:6px;letter-spacing:0;overflow-wrap:anywhere}
.reservation-main .card-facts p:last-child{grid-column:1 / -1}
.reservation-main .reservation-card>h3{font-size:17px;font-weight:600;letter-spacing:.06em;margin:25px 0 10px;padding-left:12px;border-left:3px solid #bca479}
.reservation-main .reservation-card>p:not(.card-date):not(.notice):not(.muted){font-size:14px;color:#5e685e;margin:10px 0;line-height:1.9;overflow-wrap:anywhere}
.reservation-main .reservation-card>small{display:block;margin-top:22px;padding-top:18px;border-top:1px dashed #cfcfbe;color:#777b6d;font-size:11px;line-height:1.9;font-variant-numeric:tabular-nums}
.reservation-main .notice{background:#f5f0e3;color:#746139;border:1px solid #e7ddc4;border-radius:10px;padding:14px 16px;font-size:12px;line-height:1.85;margin:18px 0}
.reservation-main .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:24px}
.reservation-main .card-actions>.button{grid-column:1 / -1;width:100%}
.reservation-main .button{background:#294a3e;color:#fffdf6;border:1px solid #294a3e;border-radius:8px;padding:13px 16px;font-size:13px;min-height:46px;line-height:1.5;justify-content:center;white-space:normal}
.reservation-main .button:hover{background:#183b2d}
.reservation-main .text-button{color:#405b49;font-size:12px;text-underline-offset:5px;min-height:44px}
.reservation-main button:focus-visible,.reservation-main a:focus-visible{outline:2px solid #8c713e;outline-offset:4px}
.reservation-main button:disabled{opacity:.45;cursor:not-allowed}
.reservation-main .reservation-card>.muted{margin:20px 0 0;font-size:11px;color:#7b7e72;line-height:1.9}
.reservation-main .payment-panel{background:#fffef9;border:1px solid #dfdfd3;border-radius:14px;padding:24px;box-shadow:0 8px 24px #23362c05}
.reservation-main .payment-panel>h3{font-size:19px;font-weight:500;margin:0 0 18px}
.reservation-main .payment-panel p{font-size:13px;line-height:1.85;margin:10px 0;color:#626e60}
.reservation-main .payment-panel .button{width:100%;margin:14px 0 8px}
.reservation-main .solo-options{border:1px solid #ddd4c2;border-radius:12px;padding:18px;background:#fffaf0}
.reservation-main .solo-options h2{font-size:18px}
.reservation-main .solo-options p{font-size:13px}
@media(max-width:760px){
 .reservation-main{padding:30px 16px 50px}
 .reservation-main>.panel{display:flex;flex-direction:column;gap:18px}
 .reservation-main>.panel>*{width:100%}
 .reservation-main>.panel>.text-button{width:auto}
 .reservation-main .reservation-card{padding:22px;border-radius:16px}
 .reservation-main .reservation-card::before{height:142px;margin:-22px -22px 24px}
 .reservation-main .card-date{font-size:24px;padding:15px 16px}
 .reservation-main .card-date small{display:block;margin-left:0;font-size:11px}
 .reservation-main .card-facts strong{font-size:14px}
 .reservation-main .card-actions{gap:8px}
 .reservation-main .payment-panel{padding:22px}
}
@media print{
 @page{size:A5 portrait;margin:12mm}
 /* Remove non-document layout entirely: visibility:hidden leaves blank pages. */
 html,body:has(.reservation-main){background:white!important;margin:0!important;padding:0!important}
 body:has(.reservation-main)>:not(#root),
 body:has(.reservation-main) #root>:not(.reservation-main),
 .reservation-main>:not(.panel),
 .reservation-main>.panel>:not(.reservation-card){display:none!important}
 .reservation-main,.reservation-main>.panel{display:block!important;position:static!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:white!important}
 .reservation-main .reservation-card{position:static!important;inset:auto;width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:white;color:#24392f;overflow:visible;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:9pt;line-height:1.6}
 .reservation-main .reservation-card::before{content:"VOTRE PARIS";display:block;height:auto;margin:0 0 6mm;padding:0 0 4mm;background:none;border-bottom:1.5pt solid #9a8460;font-family:Georgia,serif;font-size:21pt;font-weight:400;letter-spacing:.16em;line-height:1.3;color:#24392f;visibility:visible}
 .reservation-main .reservation-card>.eyebrow{font-size:7pt;letter-spacing:.15em;color:#786b54;margin:0 0 2mm}
 .reservation-main .reservation-card>h2{font-family:Georgia,"Songti SC",serif;font-size:21pt;line-height:1.35;font-weight:400;margin:0 0 5mm;color:#24392f;break-after:avoid}
 .reservation-main .card-date{margin:0 0 5mm;padding:3mm 4mm;background:none;border:1pt solid #bbc4b7;border-left:3pt solid #738873;border-radius:0;font-size:17pt;line-height:1.45;break-inside:avoid}
 .reservation-main .card-date small{display:block;margin:1mm 0 0;font-family:Arial,"PingFang SC",sans-serif;font-size:8pt;color:#5c685c}
 .reservation-main .card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 4mm;border-bottom:1px solid #d8dcd2}
 .reservation-main .card-facts p{margin:0;padding:2.5mm 3mm 2.5mm 0;border-top:1px solid #d8dcd2;font-size:8pt;line-height:1.45;color:#677060;break-inside:avoid}
 .reservation-main .card-facts strong{font-size:10pt;font-weight:500;line-height:1.5;margin:1mm 0 0;color:#24392f}
 .reservation-main .card-facts p:last-child{grid-column:1 / -1}
 .reservation-main .reservation-card>h3{font-size:11pt;line-height:1.5;margin:4mm 0 2mm;padding-left:3mm;border-left:2pt solid #9a8460;break-after:avoid}
 .reservation-main .reservation-card>p:not(.card-date):not(.notice):not(.muted){font-size:9pt;line-height:1.7;margin:1.5mm 0;color:#485443}
 .reservation-main .reservation-card>.notice{font-size:8pt;line-height:1.7;background:none;border:1px solid #c9bda4;border-radius:0;padding:2.5mm 3mm;margin:3mm 0;color:#594d37;break-inside:avoid}
 .reservation-main .reservation-card>small{font-size:7pt;line-height:1.7;margin:4mm 0 0;padding:3mm 0 0;border-top:1px dashed #aeb6a5;overflow-wrap:anywhere;color:#68715e}
 .reservation-main .reservation-card>.muted{font-size:7pt;line-height:1.7;margin:2mm 0 0;color:#68715e}
 .reservation-main .reservation-card .card-actions,
 .reservation-main .reservation-card .hold-countdown,
 .reservation-main .reservation-card>[role="status"],
 .reservation-main .reservation-refresh-feedback{display:none!important}
}
