/* V9: established Galerie03 tokens, native controls, no additional dependency. */
.availability-main{max-width:1150px;margin:0 auto;padding:40px 24px 80px}.availability-main h1{font-size:clamp(32px,5vw,56px);line-height:1.1;margin:20px 0}.availability-main h2{font-size:24px;line-height:1.25;margin:24px 0 16px}.availability-main p{line-height:1.65;max-width:70ch}.availability-access{max-width:630px;margin:0 auto}.availability-access form{display:grid;gap:20px;border-top:1px solid var(--line);padding:26px 0;margin-top:24px}.availability-access form h2,.availability-access form p{margin:0}.availability-access label{display:grid;gap:9px}.availability-activation{border-top:1px solid var(--line);padding:20px 0}.availability-activation summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline}.availability-note{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;line-height:1.65}.availability-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:36px;align-items:start}.availability-layout>*{min-width:0}.availability-month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0}.availability-month-nav h2{margin:0;font-size:20px;text-transform:capitalize}.availability-calendar{min-width:0;table-layout:fixed;width:100%;border-collapse:collapse}.availability-calendar th{padding:8px 0;font-size:10px;text-align:center}.availability-calendar td{padding:2px;border:0;vertical-align:top;white-space:normal}.availability-calendar button{width:100%;min-height:62px;padding:8px 2px;font-size:12px;background:transparent;color:var(--ink);border:1px solid var(--line);display:grid;gap:6px;place-items:center}.availability-calendar button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:-2px;background:#F0EFDE}.availability-calendar button[data-outside=true]{opacity:.48}.availability-calendar button:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.availability-calendar .availability-dot{height:6px;width:6px;border-radius:50%;background:#77776D}.availability-calendar .availability-dot.available{background:#23643C}.availability-calendar .availability-dot.unavailable{background:#9B332F}.availability-calendar .availability-dot.tentative{background:#795C12}.availability-editor{border-top:2px solid var(--ink);padding-top:8px}.availability-editor form{display:grid;gap:18px}.availability-editor label{display:grid;gap:8px}.availability-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px}.availability-editor label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px}.availability-editor input[type=checkbox]{width:20px;min-height:20px;flex-shrink:0}.availability-events{margin-top:30px;border-top:1px solid var(--line)}.availability-event{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:15px;justify-content:space-between;align-items:flex-start}.availability-event p{margin:4px 0;font-size:13px}.availability-event .form-actions{margin:0;gap:6px}.availability-badge{display:inline-flex;gap:8px;align-items:center;font-size:12px;line-height:1.5;font-weight:600;white-space:nowrap}.availability-badge:before{content:'';width:7px;height:7px;background:#795C12;border-radius:50%;flex-shrink:0}.availability-badge.available:before{background:#23643C}.availability-badge.unavailable:before{background:#9B332F}.availability-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.availability-filters label{min-width:0;display:grid;gap:8px}.availability-filters button{align-self:end}.availability-invite{border:1px solid var(--line);padding:20px;margin:20px 0;overflow-wrap:anywhere}.availability-invite input{font-family:monospace;word-break:break-all}.availability-query{margin:28px 0;padding:24px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.availability-query h3{margin-top:0}.availability-query .availability-filters{margin:20px 0;gap:16px}.availability-query input{background:#FAFAF7;color:#22241F;color-scheme:light;min-height:48px;border:1px solid #777;padding:10px;width:100%;font:inherit;border-radius:0}.availability-query label{font-size:12px;line-height:1.6;letter-spacing:0;text-transform:none}.availability-query button{min-height:48px;background:#FAFAF7;color:#22241F;border:1px solid #FAFAF7;font:inherit;padding:12px 18px;cursor:pointer}.availability-query button:disabled{opacity:.6;cursor:wait}.availability-query input:focus-visible,.availability-query button:focus-visible{outline:2px solid #FFD700;outline-offset:4px}.availability-results{display:grid;gap:14px;margin-top:24px}.availability-result{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #777;padding-bottom:14px;font-size:13px}.availability-result small{display:block;margin-top:5px;max-width:34ch;line-height:1.6}.availability-query .availability-badge:before{border:1px solid currentColor;background:transparent}.availability-query .available:before{background:#8EE0A5}.availability-query .unavailable:before{background:#F0A59E}.availability-query .tentative:before{background:#F6CF73}.availability-query [role=status]{margin-top:16px;line-height:1.65;font-size:13px}.availability-message-error{color:#9B332F}.availability-main #model-message:not(:empty){padding:18px;border:1px solid currentColor;margin-bottom:20px}.availability-table td{vertical-align:top}.availability-table small{display:block;max-width:250px;margin-top:7px;white-space:normal;line-height:1.6}.availability-table button{margin:2px}
@media(max-width:760px){.availability-main{padding:26px 18px 70px}.availability-layout{grid-template-columns:1fr;gap:28px}.availability-calendar button{min-height:55px}.availability-month-nav button{padding:8px 10px;min-width:44px}.availability-event{display:block}.availability-event .form-actions{margin-top:12px}.availability-filters{grid-template-columns:1fr 1fr}.availability-result{display:block}.availability-result .availability-badge{margin-top:9px}.availability-query{padding-top:22px}.availability-query .availability-filters{grid-template-columns:1fr}.availability-table{min-width:670px}}
@media(prefers-reduced-motion:reduce){.availability-main *,.availability-query *{scroll-behavior:auto;transition:none;animation:none}}

/* The selection is already editable in the enquiry; keep its form clear. */
body:has([data-inquiry]) .selection-bar{display:none}
