.somnia-public-calendar{margin-top:24px}.calendar-filter{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.calendar-filter label{display:flex;flex-direction:column;gap:6px}.calendar-filter select,.public-booking input:not([type=checkbox]):not([type=radio]),.public-booking textarea{padding:10px;border:1px solid var(--line,#445);border-radius:8px;background:#10223a;color:var(--ink,#fff);max-width:100%;font:inherit}.calendar-months{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;gap:12px;margin:28px 0 18px;text-align:center}.calendar-months h3{margin:0}.calendar-months .btn{padding:6px;min-width:44px}.public-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;touch-action:pan-y}.public-month-grid .weekday{text-align:center;font-size:13px;color:var(--muted);padding:8px 0}.calendar-day{padding:12px 8px;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:8px;align-items:center;min-height:94px}.calendar-day small{font-size:11px;text-align:center}.calendar-day.selected{outline:2px solid var(--accent);outline-offset:-2px}.calendar-day.today strong{text-decoration:underline;text-underline-offset:4px}.day-dot{width:6px;height:6px;border-radius:50%;background:transparent}.has-places .day-dot{background:#a9d4bc}.unavailable .day-dot{background:#a69592}.calendar-legend{font-size:12px}.public-booking{margin-top:32px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-fields label{display:flex;flex-direction:column;gap:6px}.public-booking fieldset{margin:24px 0 16px;border:1px solid var(--line);border-radius:10px;padding:16px}.public-booking fieldset label{display:block;margin:10px 0}.booking-consent{display:flex;gap:10px;align-items:flex-start}.booking-consent input{margin-top:7px}.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.public-booking button{cursor:pointer}.public-booking .btn{white-space:normal}@media(max-width:600px){.calendar-day{min-height:64px;padding:8px 3px;gap:7px;border-radius:7px}.calendar-day small{display:none}.public-month-grid{gap:4px}.calendar-months h3{font-size:21px}.booking-fields{grid-template-columns:1fr}.calendar-filter{display:grid;grid-template-columns:1fr}.calendar-filter select{width:100%}.public-booking{padding:20px}}

.booking-deposit-note{border-left:3px solid var(--accent);padding:10px 14px;background:rgba(255,255,255,.04);border-radius:0 8px 8px 0}.somnia-schedule{max-width:1080px}.somnia-schedule .schedule-row{display:grid;grid-template-columns:56px minmax(210px,1fr) minmax(90px,auto) auto;align-items:center;gap:16px}.schedule-thumb{width:56px;height:70px;object-fit:cover;border-radius:8px}.schedule-row--neon-lamp .schedule-thumb{filter:brightness(.52) contrast(1.14) saturate(1.08)}.schedule-info{min-width:0}.schedule-info p{margin:4px 0}.schedule-price{min-width:0;text-align:left;font-variant-numeric:tabular-nums}.schedule-price small{display:block;font-size:12px;color:var(--muted)}.schedule-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.schedule-actions .btn{width:auto;min-width:120px;white-space:nowrap}.schedule-actions .btn-secondary{background:transparent;border:1px solid var(--accent);color:var(--ink,#fff)}.schedule-unavailable{min-width:120px;color:var(--muted)}.booking-consent{margin:16px 0}@media(max-width:760px){.somnia-schedule .schedule-row{grid-template-columns:56px minmax(0,1fr);gap:12px}.schedule-thumb{width:56px;height:70px}.schedule-price,.schedule-actions{grid-column:2}.schedule-actions{justify-content:flex-start;flex-wrap:wrap}.schedule-actions .btn{justify-self:start;width:auto;min-width:0}.schedule-unavailable{width:auto;min-width:0}}
