.request-form h3{margin-bottom:12px}
.request-form #request-intro{font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:24px}
.request-steps{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0 0 20px;list-style:none;border-bottom:1px solid var(--line);font-size:12px;font-weight:600}
.request-availability{font-size:13px;line-height:1.7;margin:20px 0;color:var(--muted)}
.request-form fieldset{border:0;padding:0;margin:0;min-width:0}
.request-form input:not([type=checkbox]),.request-form select{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink);font:inherit;font-size:16px}
.request-item{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:16px;margin-bottom:16px}
.request-item select{margin-bottom:0}
.request-remove{grid-column:1/-1;justify-self:start;min-height:44px;font-size:12px}
.request-add{min-height:44px;margin-bottom:24px;font-size:13px}
.request-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin:0 0 24px}
.request-hint{display:block;font-size:13px;line-height:1.6;margin-top:6px;color:var(--muted)}
.request-form .request-consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.7;font-weight:400;margin:20px 0 0}
.request-consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--ink)}
.request-form .request-consent span{color:var(--ink)}
.request-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.request-status{font-size:13px;line-height:1.7;margin:16px 0;overflow-wrap:anywhere}
.request-status:empty{display:none}
.request-status.is-error{color:var(--error)}
.request-preview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:12px}
.request-preview-actions>*{font-size:13px;min-height:44px}
.request-form .enquiry-preview{margin-top:24px}
.request-success{padding:24px 0;border-block:1px solid var(--line)}
.request-success h4{font:400 28px/1.2 var(--font-display);margin-bottom:16px}
.request-success p{font-size:14px;line-height:1.8;margin-bottom:16px;overflow-wrap:anywhere}
.request-success button{min-height:44px;font-size:13px}
.request-support{font-size:12px;line-height:1.8;margin-top:24px;overflow-wrap:anywhere}
.request-support a{text-decoration:underline;text-underline-offset:4px}
.request-form button:disabled{opacity:.6;cursor:wait}
.request-form .enquiry-submit{width:100%}
@media(max-width:480px){.request-contact-grid{grid-template-columns:1fr}.request-item{grid-template-columns:minmax(0,1fr) 80px;gap:12px}.request-steps{gap:8px 16px}}

/* Keep the first conversation short; delivery is discussed on WhatsApp. */
.bulk-enquiry-dialog:has(.request-form){width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px)}
.bulk-enquiry-dialog .request-form{padding:28px}
.request-form h3{font-size:clamp(26px,3vw,34px);line-height:1.15;padding-right:24px;margin:0 0 10px}
.request-form #request-intro{font-size:14px;line-height:1.5;margin:0 0 20px}
.request-form label{font-size:13px;margin-bottom:6px}
.request-form .request-item{grid-template-columns:minmax(0,1fr) 80px;gap:12px;margin-bottom:8px}
.request-form .offer-request-summary{font-size:13px;line-height:1.5;margin:8px 0;white-space:pre-line}
.request-form .request-add{margin:0 0 12px;min-height:40px;font-size:12px}
.request-form .request-contact-grid{gap:14px;margin:0 0 14px}
.request-contact-notice{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 14px}
.request-form .enquiry-submit{min-height:48px;padding:12px 18px;margin:0}
.request-form .request-availability[hidden]{display:none}
@media(max-width:480px){
 .bulk-enquiry-dialog:has(.request-form){width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
 .bulk-enquiry-dialog .request-form{padding:22px 18px}
 .request-form #request-intro{margin-bottom:16px}
 .request-form .request-contact-grid{gap:12px}
 .request-form .request-hint{font-size:13px;line-height:1.4}
 .request-form input:not([type=checkbox]),.request-form select{min-height:46px;padding:10px}
}

.request-form .request-add[hidden]{display:none}
.request-form .offer-request-summary{margin-bottom:16px}
@media(max-width:480px) and (max-height:700px){
 .bulk-enquiry-dialog .request-form{padding:18px 16px}
 .request-form h3{font-size:22px;padding-right:16px}
 .request-form #request-intro{font-size:13px;margin-bottom:12px}
 .request-form .offer-request-summary{margin:4px 0 12px}
 .request-form .request-contact-grid{gap:10px;margin-bottom:10px}
 .request-contact-notice{margin-bottom:10px}
}

.request-form .offer-request-summary{margin:6px 0 16px}.request-contact-notice{margin-bottom:12px;font-size:11px}.request-form .request-hint{font-size:10px}

/* Room to complete a short reservation without dense instructions. */
.request-form .offer-request-summary:empty{display:none}
.request-form .offer-request-summary{color:var(--ink);font-size:14px;margin:8px 0 22px;line-height:1.6}
.request-form .request-contact-grid{gap:20px 18px;margin-bottom:20px}
.request-form .request-contact-notice{font-size:12px;line-height:1.5;margin:4px 0 16px}
.request-form .request-hint{font-size:14px;line-height:1.5}
@media(max-width:480px){
 .bulk-enquiry-dialog:has(.request-form){width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .bulk-enquiry-dialog .request-form{padding:28px 22px}
 .request-form h3{font-size:28px;margin-bottom:10px}
 .request-form #request-intro{margin-bottom:24px}
 .request-form label{font-size:14px;margin-bottom:8px}
 .request-form .request-item{gap:12px;grid-template-columns:minmax(0,1fr) 76px}
 .request-form input:not([type=checkbox]),.request-form select{min-height:50px;padding:12px;font-size:16px}
 .request-form .request-contact-grid{gap:20px}
 .request-form .enquiry-submit{min-height:52px}
}
@media(max-width:480px) and (max-height:700px){.bulk-enquiry-dialog .request-form{padding:24px 20px}.request-form h3{font-size:25px}.request-form .request-contact-grid{gap:18px}.request-form #request-intro{margin-bottom:20px}}
.size-choices{border:0;padding:0;margin:18px 0;display:flex;flex-wrap:wrap;gap:10px}.size-choices legend{font-size:14px;margin-bottom:10px}.size-choices button{border:1px solid var(--line);border-radius:6px;padding:10px 16px;min-height:44px;background:var(--canvas);color:var(--ink)}.size-choices button[aria-pressed="true"]{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.size-price-output{font-size:14px}.price-unit{font-size:14px}.request-size-group{grid-column:1/-1;min-width:0}.request-size-group select{width:100%}

/* Reservation form: consistent, compact spacing for sized and unsized pieces. */
@media(max-width:480px){
 .bulk-enquiry-dialog .request-form{padding:20px}
 .request-form h3{font-size:25px;margin-bottom:5px}
 .request-form #request-intro{margin-bottom:14px}
 .request-form label{margin-bottom:5px}
 .request-form .request-item{gap:10px;margin-bottom:6px}
 .request-form input:not([type=checkbox]),.request-form select{min-height:46px;padding:9px 10px}
 .request-form .offer-request-summary{margin:6px 0 12px;line-height:1.4}
 .request-form .request-contact-grid{gap:12px;margin-bottom:12px}
 .request-form .request-hint{font-size:13px;line-height:1.4;margin-top:4px}
 .request-form .request-contact-notice{font-size:12px;margin:2px 0 12px}
 .request-form .enquiry-submit{min-height:48px}
}
.request-custom-details{margin:6px 0 14px}.request-custom-details textarea{width:100%;min-height:80px;font:inherit;font-size:16px;resize:vertical}
