.nsf-book-page { padding: 10rem var(--nord-gutter) calc(var(--wp--preset--spacing--medium) * 2.6666666666666665); }
.nsf-book-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(16rem,.38fr); gap:calc(var(--wp--preset--spacing--medium) * 1); align-items:end; margin-bottom:calc(var(--wp--preset--spacing--medium) * 1.3333333333333333); }
.nsf-book-intro h1 { font-size:var(--wp--preset--font-size--hero); max-width:47rem; }
.nsf-book-intro p { max-width:42rem; }
.nsf-book-summary { background:var(--wp--preset--gradient--soft-accent,var(--nord-surface)); padding:calc(var(--wp--preset--spacing--medium) * 1); border-radius:8px; }
.nsf-book-summary-count { font-size:var(--wp--preset--font-size--card); font-weight:700; }
.nordstreetfood-booking { --nsf-book-border:color-mix(in srgb,var(--nord-text) 14%,transparent); color:var(--nord-text); }
.nordstreetfood-booking *, .nordstreetfood-booking *::before { box-sizing:border-box; }
.nsf-book-form { display:grid; gap:calc(var(--wp--preset--spacing--medium) * 1); }
.nsf-book-preview { font-size:var(--wp--preset--font-size--small); margin:0; color:var(--nord-muted); }
.nsf-book-heading { display:flex; gap:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); align-items:start; margin-bottom:calc(var(--wp--preset--spacing--medium) * 1); }
.nsf-book-heading > span { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:50%; background:var(--nord-primary); color:var(--nord-white); font-weight:700; }
.nsf-book-heading h2 { font-size:var(--wp--preset--font-size--card); margin:0; }
.nsf-book-heading p { margin:.35rem 0 0; color:var(--nord-muted); }
.nsf-book-vans { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); }
.nsf-book-van { display:flex; flex-direction:column; padding:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); border:1px solid var(--nsf-book-border); border-radius:8px; background:var(--nord-surface); position:relative; min-width:0; }
.nsf-book-van.is-selected { border-color:var(--nord-primary); box-shadow:0 8px 24px color-mix(in srgb,var(--nord-primary) 12%,transparent); }
.nsf-book-select { display:flex; flex-direction:column; align-items:stretch; flex:1; border:0; padding:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.nsf-book-select img { width:100%; height:160px; object-fit:contain; margin-bottom:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); }
.nsf-book-select strong { font-size:var(--wp--preset--font-size--body); text-transform:uppercase; overflow-wrap:anywhere; }
.nsf-book-select > span:last-child { font-size:var(--wp--preset--font-size--small); line-height:1.5; color:var(--nord-muted); margin-top:.5rem; }
.nsf-book-check { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; border:1px solid var(--nsf-book-border); color:transparent; }
.is-selected .nsf-book-check { color:var(--nord-white); background:var(--nord-primary); }
.nsf-book-counter { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; border:1px solid var(--nsf-book-border); border-radius:24px; margin-top:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); overflow:hidden; }
.nsf-book-counter button { min-height:44px; border:0; background:transparent; color:inherit; font:inherit; font-size:calc(var(--nord-button-size) * 1.5); cursor:pointer; }
.nsf-book-counter button:disabled { opacity:.3; cursor:not-allowed; }
.nsf-book-counter output { text-align:center; font-weight:700; }
.nsf-book-limit { min-height:1.5em; font-size:var(--wp--preset--font-size--small); text-align:center; margin:.5rem 0 0; }
.nsf-book-total { font-weight:700; color:var(--nord-primary); }
.nsf-book-details { padding:calc(var(--wp--preset--spacing--medium) * 1.3333333333333333); background:var(--nord-surface); border:1px solid var(--nsf-book-border); border-radius:8px; }
.nsf-book-details > section + section { border-top:1px solid var(--nsf-book-border); margin-top:calc(var(--wp--preset--spacing--medium) * 1.3333333333333333); padding-top:calc(var(--wp--preset--spacing--medium) * 1.3333333333333333); }
.nsf-book-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); align-items:start; }
.nsf-book-fields-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nsf-book-field { display:grid; gap:.5rem; min-width:0; }
.nsf-book-field > span,.nsf-book-time legend { font-size:calc(var(--nord-body-size) * 0.875); font-weight:700; text-transform:uppercase; }
.nsf-book-field b { color:var(--nord-primary); }
.nsf-book-field input,.nsf-book-field textarea,.nsf-book-time select { width:100%; min-width:0; min-height:48px; border:1px solid var(--nsf-book-border); border-radius:8px; background:var(--nord-surface); color:inherit; padding:.65rem .8rem; font:inherit; font-size:var(--wp--preset--font-size--body); }
.nsf-book-field textarea { resize:vertical; }
.nordstreetfood-booking :is(input,select,textarea,button):focus-visible { outline:2px solid var(--nord-primary); outline-offset:3px; }
.nsf-book-radio { display:flex; flex-wrap:wrap; gap:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); padding:0; border:0; margin:0 0 calc(var(--wp--preset--spacing--medium) * 1); }
.nsf-book-radio label { display:flex; align-items:center; gap:.5rem; border:1px solid var(--nsf-book-border); padding:.75rem 1.25rem; border-radius:24px; cursor:pointer; }
.nsf-book-radio label:has(:checked) { border-color:var(--nord-primary); color:var(--nord-primary); }
.nordstreetfood-booking input:is([type=checkbox],[type=radio]) { width:20px; height:20px; accent-color:var(--nord-primary); flex-shrink:0; }
.nsf-book-times { display:grid; grid-template-columns:1fr 1fr; gap:calc(var(--wp--preset--spacing--medium) * 1); margin-top:calc(var(--wp--preset--spacing--medium) * 1); }
.nsf-book-time { border:0; padding:0; margin:0; min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:calc(var(--wp--preset--spacing--medium) * 0.5); }
.nsf-book-time legend { margin-bottom:.5rem; }
.nsf-book-time label { min-width:0; }
.nsf-book-time label span { display:block; font-size:var(--wp--preset--font-size--small); margin-bottom:.25rem; }
.nsf-book-privacy { margin-block:calc(var(--wp--preset--spacing--medium) * 1); }
.nsf-book-privacy h3 { font-size:var(--wp--preset--font-size--body); }
.nsf-book-consent { display:flex; align-items:start; gap:.75rem; }
.nsf-book-submit { min-height:48px; cursor:pointer; }
.nsf-book-status { color:var(--nord-primary); font-weight:700; }
.nsf-book-editor-preview { pointer-events:none; }
.nsf-book-address { position:relative; min-width:0; }
.nsf-book-suggestions { position:absolute; top:100%; left:0; right:0; z-index:20; margin:0; padding:4px; list-style:none; max-height:260px; overflow:auto; background:var(--nord-surface); border:1px solid currentColor; border-radius:8px; box-shadow:0 8px 24px color-mix(in srgb,var(--nord-dark) 13.333%,transparent); }
.nsf-book-suggestions[hidden] { display:none; }
.nsf-book-suggestions li { padding:12px; cursor:pointer; font-size:1rem; line-height:1.4; }
.nsf-book-suggestions li:hover,.nsf-book-suggestions li[aria-selected="true"] { background:var(--nord-background); color:var(--nord-primary); }
.nsf-book-address-status { font-size:.875rem; line-height:1.4; margin:6px 0 0; }
.nsf-request-detail { display:grid; grid-template-columns:minmax(110px,1fr) minmax(0,3fr); gap:12px 24px; }
.nsf-request-detail dt { font-weight:700; }
.nsf-request-detail dd { margin:0; overflow-wrap:anywhere; }
.editor-styles-wrapper .nsf-book-page { padding-top:calc(var(--wp--preset--spacing--medium) * 1.3333333333333333); max-width:none; }
@media(max-width:1024px) { .nsf-book-intro { grid-template-columns:1fr; } .nsf-book-vans { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .nsf-book-fields,.nsf-book-fields-three { grid-template-columns:1fr; } .nsf-book-details { padding:calc(var(--wp--preset--spacing--medium) * 0.6666666666666666); } .nsf-book-select img { height:120px; } .nsf-book-van { padding:calc(var(--wp--preset--spacing--medium) * 0.5); } .nsf-book-times { gap:calc(var(--wp--preset--spacing--medium) * 0.5); } }
@media(max-width:360px) { .nsf-book-vans { grid-template-columns:1fr; } }
