.booking-shell {width:min(100%,820px);margin:auto;padding:24px 18px;line-height:1.85}
.site-nav {display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:22px 0 28px;font-size:.875rem}
.site-nav a {color:var(--orange-deep);padding:8px 0;text-underline-offset:5px}
.site-nav [aria-current] {font-weight:700}
.booking-shell h1 {font-size:clamp(1.6rem,5vw,2rem);margin:0;line-height:1.65}
.booking-shell .eyebrow {margin-bottom:4px}
.booking-shell fieldset {min-width:0;padding:0;margin:0 0 24px;border:0}
.booking-shell legend {font-size:1.1rem;font-weight:700;margin-bottom:12px}
.packages {display:grid;gap:12px}
.package {display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:16px;padding:18px 14px;margin:0;cursor:pointer;background:#fff}
.package:has(input:checked) {border:2px solid var(--orange-deep);padding:17px 13px;background:#fff0d9}
.package input,.consent input {width:18px;min-height:18px;margin:7px 0 0;accent-color:var(--orange-deep)}
.package strong {display:block;font-size:1.1rem}
.package-detail {display:block;font-size:.9375rem;font-weight:400;color:var(--muted);margin-top:6px}
.price {color:var(--orange-deep);font-size:1.3rem;text-align:right;white-space:nowrap}
.price small {display:block;font-size:.875rem;font-weight:400}
.booking-shell label:not(.package):not(.consent) {margin-top:16px}
.consent {display:flex;align-items:start;gap:12px;font-size:.875rem;font-weight:400;line-height:1.9;margin:18px 0}
.booking-notice {background:#fff0d9;border-radius:12px;padding:14px;font-size:.9375rem}
.booking-link {display:block;text-align:center;text-decoration:none;margin:12px 0}
.booking-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.booking-contact-actions .booking-link{display:flex;align-items:center;justify-content:center;margin:0}.booking-link--line{background:#168941;border-color:#168941}.booking-link--line:hover{background:#0f6f34}
.booking-result,.admin-card {background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;margin:18px 0;overflow-wrap:anywhere}
.booking-result h2 {color:var(--orange-deep)}
.booking-shell select,.booking-shell textarea {width:100%;font:inherit;border:1px solid #a88a77;border-radius:10px;padding:10px;background:white;color:var(--ink)}
.booking-shell textarea {min-height:120px;resize:vertical}
.booking-shell :is(select,textarea):focus-visible {outline:3px solid #793306;outline-offset:3px}
.booking-shell footer {margin-top:28px}
@media(max-width:480px){.booking-shell form{padding:18px 12px}.package{gap:8px;padding:14px 10px;grid-template-columns:18px minmax(0,1fr) auto}.package:has(input:checked){padding:13px 9px}.package strong{font-size:1rem}.price{font-size:1.15rem}.package-detail{font-size:.875rem}.booking-contact-actions{grid-template-columns:1fr}}

.payment-qr{display:block;width:min(100%,310px);height:auto;margin:18px auto;border-radius:20px}#payment-amount{font-size:1.2rem;font-weight:700;color:#914a25}input[type=file]{max-width:100%}

.contact-options{display:grid;gap:10px}.contact-options .consent{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;margin:0;font-size:1rem}.contact-options .consent:has(input:checked){border-color:var(--orange-deep);background:#fff0d9}.consent input{flex-shrink:0}#booking-line-panel,#booking-phone-panel{padding:16px;background:#fff8ef;border-radius:14px;margin-top:12px}#booking-line-status,#booking-contact-state{font-weight:600}button:disabled{cursor:wait;opacity:.65}

.package--catalog{grid-template-columns:minmax(0,1fr) auto;cursor:default}.package--catalog h3{margin:0;font-size:1.1rem}.booking-notice h2{font-size:1.2rem;margin-top:0}.booking-shell [hidden]{display:none!important}

#booking-workflow{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}#booking-workflow button,#workflow-list button{margin:10px 8px 10px 0}#booking-workflow label,#workflow-list label{display:block}.workflow-reading{white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere}
