.ms-book-page { padding: 10rem var(--minsos-gutter) var(--wp--preset--spacing--64); }
.ms-book-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(16rem,.38fr); gap:var(--wp--preset--spacing--24); align-items:end; margin-bottom:var(--wp--preset--spacing--32); }
.ms-book-intro h1 { font-size:var(--wp--preset--font-size--hero); max-width:47rem; }
.ms-book-intro p { max-width:42rem; }
.ms-book-summary { background:var(--wp--preset--gradient--soft-accent,var(--wp--preset--color--white)); padding:var(--wp--preset--spacing--24); border-radius:8px; }
.ms-book-summary-count { font-size:var(--wp--preset--font-size--card); font-weight:700; }
.minsos-booking { --ms-book-border:color-mix(in srgb,var(--wp--preset--color--ink) 14%,transparent); color:var(--wp--preset--color--ink); }
.minsos-booking *, .minsos-booking *::before { box-sizing:border-box; }
.ms-book-form { display:grid; gap:var(--wp--preset--spacing--24); }
.ms-book-preview { font-size:var(--wp--preset--font-size--small); margin:0; color:var(--wp--preset--color--muted); }
.ms-book-heading { display:flex; gap:var(--wp--preset--spacing--16); align-items:start; margin-bottom:var(--wp--preset--spacing--24); }
.ms-book-heading > span { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:50%; background:var(--wp--preset--color--red); color:var(--wp--preset--color--white); font-weight:700; }
.ms-book-heading h2 { font-size:var(--wp--preset--font-size--card); margin:0; }
.ms-book-heading p { margin:.35rem 0 0; color:var(--wp--preset--color--muted); }
.ms-book-vans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--wp--preset--spacing--16); }
.ms-book-form [hidden] { display:none!important; }
.ms-book-van { display:flex; flex-direction:column; padding:var(--wp--preset--spacing--16); border:1px solid var(--ms-book-border); border-radius:8px; background:var(--wp--preset--color--white); position:relative; min-width:0; }
.ms-book-van.is-selected { border-color:var(--wp--preset--color--red); box-shadow:0 8px 24px color-mix(in srgb,var(--wp--preset--color--red) 12%,transparent); }
.ms-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; }
.ms-book-select img { width:100%; height:160px; object-fit:contain; margin-bottom:var(--wp--preset--spacing--16); }
.ms-book-select strong { font-size:var(--wp--preset--font-size--body); text-transform:uppercase; overflow-wrap:anywhere; }
.ms-book-select > span:last-child { font-size:var(--wp--preset--font-size--small); line-height:1.5; color:var(--wp--preset--color--muted); margin-top:.5rem; }
.ms-book-check { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; border:1px solid var(--ms-book-border); color:transparent; }
.is-selected .ms-book-check { color:var(--wp--preset--color--white); background:var(--wp--preset--color--red); }
.ms-book-counter { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; border:1px solid var(--ms-book-border); border-radius:24px; margin-top:var(--wp--preset--spacing--16); overflow:hidden; }
.ms-book-counter button { min-height:44px; border:0; background:transparent; color:inherit; font:inherit; font-size:24px; cursor:pointer; }
.ms-book-counter button:disabled { opacity:.3; cursor:not-allowed; }
.ms-book-counter output { text-align:center; font-weight:700; }
.ms-book-limit { min-height:1.5em; font-size:var(--wp--preset--font-size--small); text-align:center; margin:.5rem 0 0; }
.ms-book-total { font-weight:700; color:var(--wp--preset--color--red); }
.ms-book-details { padding:var(--wp--preset--spacing--32); background:var(--wp--preset--color--white); border:1px solid var(--ms-book-border); border-radius:8px; }
.ms-book-details > section + section { border-top:1px solid var(--ms-book-border); margin-top:var(--wp--preset--spacing--32); padding-top:var(--wp--preset--spacing--32); }
.ms-book-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--wp--preset--spacing--16); align-items:start; }
.ms-book-fields-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ms-book-field { display:grid; gap:.5rem; min-width:0; }
.ms-book-field > span,.ms-book-time legend { font-size:var(--wp--preset--font-size--label); font-weight:700; text-transform:uppercase; }
.ms-book-field b { color:var(--wp--preset--color--red); }
.ms-book-field input,.ms-book-field textarea,.ms-book-time select { width:100%; min-width:0; min-height:48px; border:1px solid var(--ms-book-border); border-radius:8px; background:var(--wp--preset--color--white); color:inherit; padding:.65rem .8rem; font:inherit; font-size:var(--wp--preset--font-size--body); }
.ms-book-field textarea { resize:vertical; }
.minsos-booking :is(input,select,textarea,button):focus-visible { outline:2px solid var(--wp--preset--color--red); outline-offset:3px; }
.ms-book-radio { display:flex; flex-wrap:wrap; gap:var(--wp--preset--spacing--16); padding:0; border:0; margin:0 0 var(--wp--preset--spacing--24); }
.ms-book-radio label { display:flex; align-items:center; gap:.5rem; border:1px solid var(--ms-book-border); padding:.75rem 1.25rem; border-radius:24px; cursor:pointer; }
.ms-book-radio label:has(:checked) { border-color:var(--wp--preset--color--red); color:var(--wp--preset--color--red); }
.minsos-booking input:is([type=checkbox],[type=radio]) { width:20px; height:20px; accent-color:var(--wp--preset--color--red); flex-shrink:0; }
.ms-book-times { display:grid; grid-template-columns:1fr 1fr; gap:var(--wp--preset--spacing--24); margin-top:var(--wp--preset--spacing--24); }
.ms-book-time { border:0; padding:0; margin:0; min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:var(--wp--preset--spacing--12); }
.ms-book-time legend { margin-bottom:.5rem; }
.ms-book-time label { min-width:0; }
.ms-book-time label span { display:block; font-size:var(--wp--preset--font-size--small); margin-bottom:.25rem; }
.ms-book-privacy { margin-block:var(--wp--preset--spacing--24); }
.ms-book-privacy h3 { font-size:var(--wp--preset--font-size--body); }
.ms-book-consent { display:flex; align-items:start; gap:.75rem; }
.ms-book-submit { min-height:48px; cursor:pointer; position:relative; }
.ms-book-submit[aria-busy="true"] { cursor:wait; }
.ms-book-submit[aria-busy="true"]::before { content:""; position:absolute; left:12px; top:50%; width:16px; height:16px; margin-top:-8px; box-sizing:border-box; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:ms-book-sending .8s linear infinite; }
@keyframes ms-book-sending { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .ms-book-submit[aria-busy="true"]::before { animation:none; } }
.ms-book-status { color:var(--wp--preset--color--red); font-weight:700; }
.ms-book-error-reason { display:block; margin-top:.5rem; }
.ms-book-error-phone { display:inline-block; margin-top:.5rem; margin-right:1rem; color:inherit; text-decoration:underline; }
.ms-book-field-error { display:block; grid-column:1/-1; color:var(--wp--preset--color--red); font-size:var(--wp--preset--font-size--body); font-weight:700; }
.ms-book-form [aria-invalid="true"] { border-color:var(--wp--preset--color--red); outline:2px solid var(--wp--preset--color--red); outline-offset:2px; }
.ms-book-element { min-width:0; }
.ms-book-native-labels > p,.ms-book-native-labels > .wp-block { margin:0; }
.ms-book-field-label { display:flex; gap:.25em; align-items:baseline; font-size:var(--wp--preset--font-size--label); font-weight:700; text-transform:uppercase; }
.ms-book-field-label b { color:var(--wp--preset--color--red); }
.ms-book-time > .ms-book-native-labels { grid-column:1/-1; font-size:var(--wp--preset--font-size--label); font-weight:700; text-transform:uppercase; }
.ms-book-radio-editor > .ms-book-native-labels { display:flex; flex-wrap:wrap; gap:var(--wp--preset--spacing--16); margin-bottom:var(--wp--preset--spacing--24); }
.ms-book-radio-editor p { display:flex; align-items:center; gap:.5rem; border:1px solid var(--ms-book-border); padding:.75rem 1.25rem; border-radius:24px; }
.ms-book-radio-editor p::before { content:''; flex:0 0 18px; width:18px; height:18px; border:1px solid var(--ms-book-border); border-radius:50%; }
.ms-book-radio-editor p:first-child::before { border:5px solid var(--wp--preset--color--red); }
.ms-book-van-content { position:relative; display:flex; flex-direction:column; flex:1; min-width:0; }
.ms-book-van-content > figure { margin:0 0 var(--wp--preset--spacing--16); }
.ms-book-van-content > figure img { width:100%; height:160px; object-fit:contain; }
.ms-book-van-content > h3 { margin:0; font-size:var(--wp--preset--font-size--body); overflow-wrap:anywhere; }
.ms-book-van-content > p { margin:.5rem 0 0; font-size:var(--wp--preset--font-size--small); line-height:1.5; color:var(--wp--preset--color--muted); }
.ms-book-van .ms-book-van-overlay { position:absolute; inset:0; width:100%; height:100%; border-radius:inherit; z-index:1; }
.ms-book-van-overlay .ms-book-check { top:-4px; right:-4px; }
.ms-book-van:has(.ms-book-van-overlay) .ms-book-counter { position:relative; z-index:2; }
@media(max-width:600px) { .ms-book-van-content > figure img { height:120px; } }
.ms-book-element:is([style*="font-size"],[class*="-font-size"]) :is(.ms-book-field>span,.ms-book-time legend),.ms-book-van:is([style*="font-size"],[class*="-font-size"]) .ms-book-select :is(strong,span:last-child) { font-size:inherit; }
.ms-book-editable .ms-book-element input:disabled,.ms-book-editable .ms-book-element select:disabled,.ms-book-editable .ms-book-element textarea:disabled { opacity:1; color:inherit; }
.ms-book-form .ms-book-heading::before { counter-increment:booking-section; content:counter(booking-section,decimal-leading-zero); display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:50%; background:var(--wp--preset--color--red); color:white; font-weight:700; }
.ms-book-form { counter-reset:booking-section; }
.ms-book-form .ms-book-heading:has(> span)::before { display:none; }
.ms-book-form .wp-block-group { margin-block-start:0; }
.ms-book-form :is(.ms-book-vans,.ms-book-fields,.ms-book-times) > * { margin-block-start:0; margin-block-end:0; }
.ms-book-form .ms-book-details > section + section { margin-top:var(--wp--preset--spacing--32); }
.ms-book-form .ms-book-privacy { margin-block:var(--wp--preset--spacing--24); }
.ms-book-form .ms-book-heading p { margin-top:.35rem; }
.ms-book-editable .block-editor-block-list__block { max-width:none; }
.ms-book-address { position:relative; min-width:0; }
.ms-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(--wp--preset--color--white,#fff); border:1px solid currentColor; border-radius:8px; box-shadow:0 8px 24px #0002; }
.ms-book-suggestions[hidden] { display:none; }
.ms-book-suggestions li { padding:12px; cursor:pointer; font-size:1rem; line-height:1.4; }
.ms-book-suggestions li:hover,.ms-book-suggestions li[aria-selected="true"] { background:var(--wp--preset--color--paper,#f6f1e8); color:var(--wp--preset--color--red); }
.ms-book-address-status { font-size:.875rem; line-height:1.4; margin:6px 0 0; }
.ms-request-detail { display:grid; grid-template-columns:minmax(110px,1fr) minmax(0,3fr); gap:12px 24px; }
.ms-request-detail dt { font-weight:700; }
.ms-request-detail dd { margin:0; overflow-wrap:anywhere; }
.editor-styles-wrapper .ms-book-page { padding-top:var(--wp--preset--spacing--32); max-width:none; }
body:has(.ms-book-page) .minsos-book-control { display:none !important; }
@media(max-width:1024px) { .ms-book-intro { grid-template-columns:1fr; } .ms-book-vans { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .ms-book-fields,.ms-book-fields-three { grid-template-columns:1fr; } .ms-book-details { padding:var(--wp--preset--spacing--16); } .ms-book-select img { height:120px; } .ms-book-van { padding:var(--wp--preset--spacing--12); } .ms-book-times { gap:var(--wp--preset--spacing--12); } }
@media(max-width:600px) { .ms-book-vans { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--wp--preset--spacing--8); } .ms-book-van { min-width:0; padding:12px; } .ms-book-van h3 { font-size:16px; overflow-wrap:anywhere; } .ms-book-counter { grid-template-columns:44px minmax(0,1fr) 44px; } }
