/* A single reading order for booking inputs on desktop and mobile. */
.grid.booking-flow{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto;gap:8px}
.booking-flow .panel{padding:28px}
.booking-flow .panel-title{font-size:18px;margin-bottom:24px}
.booking-flow .num-btns{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.booking-flow .num-btn{width:100%;min-width:0;min-height:44px}
.child-toggle{display:flex;gap:12px;align-items:center;min-height:48px;margin:20px 0;cursor:pointer;font-weight:500}
.child-toggle input{width:20px;height:20px;accent-color:var(--green-dark);flex-shrink:0}
.booking-group{min-width:0;border:0;border-top:1px solid var(--cream-border);margin:24px 0 0;padding:20px 0 0}
.booking-group legend{padding-right:14px;font-size:15px;font-weight:600;color:var(--green-dark)}
.child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.child-grid .flabel{font-size:13px}
.child-grid select{display:block;width:100%;margin-top:8px}
.field-help{font-size:12px;color:var(--text-mid);line-height:1.8;margin:0 0 14px}
.child-fields>.field-help{margin-top:16px}
.guest-summary{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;border-top:1px solid var(--cream-border);padding-top:18px;margin-top:24px;font-size:13px}
.guest-summary strong{color:var(--green-dark);font-size:18px}
.stay-preferences{margin-top:36px}
.booking-flow .finput{min-height:46px;font-size:16px}
.booking-flow .frow{margin-bottom:20px}
.booking-flow .flabel{line-height:1.7}
.booking-flow .opt-row{min-height:48px}
.booking-flow .price-panel-desktop{display:none}
.booking-flow .price-panel-mobile{display:block}
.booking-flow input:focus-visible,.booking-flow select:focus-visible,.booking-flow button:focus-visible{outline:2px solid var(--green-dark);outline-offset:3px}
@media(max-width:480px){
 .booking-flow .panel{padding:20px 16px}
 .booking-flow .num-btns{grid-template-columns:repeat(4,minmax(0,1fr))}
 .child-grid{gap:12px}
 .booking-flow .finline{flex-wrap:wrap;gap:4px}
 .booking-flow .panel-title{font-size:17px}
}
body.site-quiet.quiet-nemaru-reservation .grid.booking-flow{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto;gap:8px}
body.site-quiet.quiet-nemaru-reservation .grid.booking-flow>:only-child{display:block}
body.site-quiet.quiet-nemaru-reservation .booking-flow .panel{padding:28px 0;margin-bottom:28px}
body.site-quiet.quiet-nemaru-reservation .booking-flow .num-btns{display:grid;gap:8px;grid-template-columns:repeat(8,minmax(0,1fr))}
body.site-quiet.quiet-nemaru-reservation .booking-flow .num-btn{width:100%;min-width:0;margin:0;min-height:44px}
body.site-quiet.quiet-nemaru-reservation .booking-flow .panel-title{font-size:18px;margin-bottom:24px}
body.site-quiet.quiet-nemaru-reservation .booking-flow .finput{font-size:16px;min-height:46px}
@media(max-width:480px){body.site-quiet.quiet-nemaru-reservation .booking-flow .num-btns{grid-template-columns:repeat(4,minmax(0,1fr))}}
.child-grid>.flabel{display:flex;flex-direction:column;gap:8px}
.child-grid>.flabel>select{margin-top:auto}

/* Indent child inputs beneath their group headings. */
.child-fields>.booking-group>.field-help,.child-fields>.booking-group>.child-grid,.child-fields>.field-help{margin-left:26px}
@media(max-width:480px){.child-fields>.booking-group>.field-help,.child-fields>.booking-group>.child-grid,.child-fields>.field-help{margin-left:16px}}
