.operation-shelf{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:4px 3px 20px;margin:20px 0 30px;align-items:stretch}
.operation-card{flex:0 0 calc((100% - 36px)/3);min-width:0;scroll-snap-align:start;border:1px solid var(--site-line);border-radius:12px;background:white;overflow:hidden;display:flex;flex-direction:column}
.operation-card img{display:block;width:100%;height:210px;object-fit:contain;background:#f6f5f1;padding:12px}
.operation-card-body{padding:22px;flex:1;display:flex;flex-direction:column;gap:12px}.operation-card-body p{margin:0}.operation-card h4{font-size:21px;line-height:1.3;margin:0}.operation-card h4 a{text-decoration:none}
.operation-price{font-size:27px;font-weight:650;line-height:1.3;color:var(--site-ink)}.operation-availability{font-size:15px;color:var(--site-ink)}.operation-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.operation-actions .site-button{min-height:48px;justify-content:center}
.operation-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start;padding-top:28px}.operation-detail>img{width:100%;max-height:520px;object-fit:contain;border:1px solid var(--site-line);border-radius:12px}.operation-detail h1{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15}.operation-detail .operation-actions{margin-top:24px}.operation-panel{padding:28px;border:1px solid var(--site-line);border-radius:12px;background:white}
.operation-form{max-width:740px;margin:30px auto 50px}.operation-form h1{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2}.operation-form form{display:grid;gap:22px}.operation-field label{display:block;font-weight:600;margin-bottom:8px}.operation-field input:not([type=checkbox]),.operation-field select,.operation-field textarea{width:100%;max-width:100%;border:1px solid #687b76;border-radius:7px;padding:12px;font:inherit;min-height:48px;background:#fff;color:var(--site-ink)}.operation-field input[type=checkbox]{width:22px;height:22px;vertical-align:middle}.operation-field:has(input[type=checkbox]){display:flex;gap:10px;align-items:center;flex-wrap:wrap}.operation-field:has(input[type=checkbox]) label{font-weight:400;flex:1}.operation-error{color:#8f2020;font-size:15px;line-height:1.5}.operation-error:empty{display:none}.operation-errors{border:1px solid #9e3737;border-radius:8px;background:#fff5f3;color:#7b2020;padding:18px;margin:20px 0}.operation-errors a{color:inherit}.operation-summary{background:var(--site-soft);padding:22px;border-radius:10px;margin:20px 0}.operation-summary p{margin:6px 0}.operation-field [aria-invalid=true]{border-color:#9e3737!important}.operation-form .site-button{cursor:pointer;font:inherit}.operation-status{max-width:840px;margin:32px auto}.operation-status h1{font-size:32px}.operation-status dl{display:grid;grid-template-columns:1fr 2fr;gap:14px}.operation-status dd{margin:0}.operation-status .site-button{margin-top:18px}.operation-form :focus-visible,.operation-shelf:focus-visible{outline:3px solid var(--site-accent);outline-offset:4px}
@media(max-width:760px){.operation-card{flex-basis:86%}.operation-card-body{padding:20px}.operation-detail{grid-template-columns:1fr;gap:24px}.operation-detail>img{max-height:300px}.operation-panel{padding:22px}.operation-form{margin-top:24px}.operation-status dl{grid-template-columns:1fr;gap:8px}.operation-status dd{margin-bottom:12px}.operation-actions{flex-direction:column}.operation-actions .site-button{width:100%}}

.operation-field:has(input[type=checkbox]) input{order:-1}.operation-professional{padding:22px;border:1px solid var(--site-line);border-radius:10px;margin-bottom:30px}.operation-professional select{min-height:48px;padding:12px;font:inherit;border:1px solid #687b76;border-radius:7px;background:#fff;color:var(--site-ink)}

.operation-tracking input{display:block;width:100%;min-width:0;box-sizing:border-box;margin-top:8px;padding:12px;border:1px solid var(--site-line);border-radius:7px;font:inherit}.operation-tracking label{display:block;margin-top:22px}.operation-status .operation-panel{margin:22px 0}.operation-status .operation-actions .site-button{margin-top:0}.operation-form button:disabled{opacity:.65;cursor:wait}

.operation-detail:not(:has(>img)){grid-template-columns:minmax(0,900px)}
.operation-card-body,.operation-panel{overflow-wrap:anywhere}
/* Public booking: service, civil calendar, native available times. */
.operation-form.operation-booking{max-width:1200px}
.operation-booking>h1{margin-bottom:28px}
.booking-grid{display:grid;gap:28px;min-width:0;padding-block:24px;border-block:1px solid var(--site-line)}
.booking-grid>aside,.booking-grid>section{min-width:0}
.booking-grid h2{font-size:1.3rem;line-height:1.3;margin-bottom:16px}
.booking-summary .site-eyebrow{margin-bottom:8px!important}
.booking-summary .operation-price{font-size:1.45rem;margin-block:18px 10px}
.booking-summary p{font-size:.9375rem;margin-bottom:12px}
.booking-summary .operation-summary{padding:16px 0 0;border-top:1px solid var(--site-line);border-radius:0;background:transparent;margin:20px 0 0}
.booking-summary .operation-summary h2{font-size:1rem;margin-bottom:10px}
.booking-summary .operation-summary p{font-size:.875rem}
.booking-professional{margin-bottom:18px!important}
.booking-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;margin-block:12px 16px}
.booking-month-nav h3{font-size:1.0625rem;text-align:center;line-height:1.4}
.booking-month-nav button{min-height:44px;border:1px solid var(--site-line);border-radius:9px;background:transparent;color:var(--site-accent);font-size:1.7rem;line-height:1;cursor:pointer}
.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.booking-weekdays{font-size:.75rem;color:var(--site-muted);margin-bottom:8px}
.booking-days button{min-width:0;min-height:44px;padding:4px 0;border:1px solid transparent;border-radius:50%;background:var(--site-soft);color:var(--site-accent);font:inherit;font-weight:600;cursor:pointer}
.booking-days button:not(:disabled):hover{border-color:var(--site-accent)}
.booking-days button[aria-pressed=true]{background:var(--site-accent);color:#fff;box-shadow:inset 0 0 0 2px var(--site-paper);border-color:var(--site-accent)}
.operation-booking .booking-days button:disabled{opacity:1;background:transparent;color:var(--site-muted);font-weight:400;cursor:default}
.operation-booking .booking-month-nav button:disabled{opacity:.4;cursor:default}
.booking-day-hint{margin-top:14px!important;margin-bottom:8px!important}
.booking-timezone{margin-top:12px!important}
.booking-slot-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking-slot-buttons button{min-height:48px;min-width:0;padding:10px;border:1px solid var(--site-accent);border-radius:9px;background:transparent;color:var(--site-accent);font:inherit;font-weight:600;cursor:pointer}
.booking-slot-buttons button[aria-pressed=true]{background:var(--site-accent);color:#fff}
.booking-selected-time{margin-block:16px 0!important;font-size:.9375rem;font-weight:600}
.booking-contact{display:grid;gap:22px;max-width:740px;width:100%;margin:8px auto 20px}
.booking-contact h2{font-size:1.3rem}
.booking-contact .operation-field:has(input[type=checkbox]) .site-small{flex-basis:100%;margin-bottom:0}
.booking-contact .operation-field:has(input[type=checkbox]) .operation-error{flex-basis:100%}
@media(min-width:760px) and (max-width:1049px){.booking-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.booking-summary{grid-column:1/-1;padding-bottom:12px}.booking-summary .operation-summary{max-width:640px}.booking-times{padding-left:24px;border-left:1px solid var(--site-line)}}
@media(min-width:1050px){.booking-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.7fr);gap:32px;padding-block:32px}.booking-calendar,.booking-times{border-left:1px solid var(--site-line);padding-left:28px}.booking-slot-buttons{grid-template-columns:1fr;max-height:420px;overflow-y:auto;padding:4px 4px 8px}.booking-contact{margin-top:16px}}
@media(max-width:759px){.booking-grid>section{border-top:1px solid var(--site-line);padding-top:24px}.booking-grid{gap:24px}.booking-calendar{max-width:480px;width:100%}.booking-days{gap:3px}.booking-contact{margin-top:4px}.operation-booking>h1{margin-bottom:20px}}
