/* Keep A's compact card, with independent, comfortable guest controls. */
#availability .date-row{grid-template-columns:repeat(2,minmax(0,1fr))}
#availability .guest-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}
#availability .guest-row label{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:9px;padding:4px 10px;background:#fffdf8;font-size:12px;min-width:0}
#availability .guest-row select{width:60px;min-height:44px;font-size:16px;border:0;background:transparent;color:var(--ink);flex-shrink:0}
#availability .booking-hint{font-size:12px;line-height:1.5;margin:10px 2px 0;color:#555e57}
#availability .booking-terms{margin-top:8px;font-size:12px;line-height:1.5}
#availability .booking-terms summary{cursor:pointer;min-height:32px;display:list-item;padding:4px 2px}
#availability .booking-terms p{margin:6px 2px;overflow-wrap:anywhere}
#availability :focus-visible{outline:2px solid #b63427;outline-offset:3px}
#availability .guest-row label:focus-within{outline:2px solid var(--red);outline-offset:2px}
#availability .guest-row select:focus{outline:none}
@media(max-width:480px){
 #availability .guest-row label{flex-direction:column;align-items:stretch;gap:0;padding:7px 9px 0;overflow-wrap:anywhere}
 #availability .guest-row select{width:100%;min-height:40px}
}

footer .operator-notice{width:100%;max-width:40rem;text-align:start;overflow-wrap:anywhere} footer .operator-notice summary{cursor:pointer;padding:12px 0;min-height:44px;font-weight:700} footer .operator-notice p{font-size:14px;line-height:1.65;margin:12px 0} footer .operator-notice a{text-decoration:underline}
/* Whole-card triggers retain the existing rounded focus treatment. */
#availability .date-trigger{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer;padding:0}
#availability .date-trigger:focus{outline:none}
.booking-calendar{width:min(370px,calc(100% - 24px));padding:20px;background:#fffdf8;border:1px solid var(--line);border-radius:20px;max-height:90svh;overflow:auto}
.booking-calendar::backdrop{background:#11181055;backdrop-filter:none}
.calendar-heading,.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-heading h2{font-size:23px;letter-spacing:-.5px}.booking-calendar button{border:0;background:transparent;color:var(--ink);min-width:40px;min-height:44px;border-radius:9px;cursor:pointer}.calendar-close{font-size:26px}.calendar-month{margin:12px 0}.calendar-month button{font-size:28px}.calendar-month strong{text-align:center;font-size:17px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar-week span{text-align:center;font-size:11px;padding:6px 0;overflow-wrap:anywhere}.calendar-days button{font-size:15px;padding:4px;min-width:0}.calendar-days button:hover:not(:disabled){background:#f6e2da}.calendar-days button[aria-pressed=true]{background:var(--ink);color:#fff}.booking-calendar button:disabled{opacity:.3;cursor:default}.booking-calendar button:focus-visible{outline:2px solid var(--red);outline-offset:0}

/* Dates and guest counts share the same responsive value typography. */
#availability{--booking-value-size:23px}
#availability .date-display strong,#availability .guest-row select{font-size:var(--booking-value-size);font-weight:700;line-height:1.15;letter-spacing:-.04em}
@media(min-width:761px) and (max-width:1000px){#availability{--booking-value-size:20px}}
@media(max-width:760px){#availability{--booking-value-size:21px}}
@media(max-width:350px){#availability{--booking-value-size:19px}}
