.sos-blog-list-grid,.sos-reviews-list{display:grid;gap:1rem}.sos-blog-card,.sos-review,.sos-booking-widget,.sos-review-form,.sos-booking-form{border:1px solid rgba(132,91,252,.18);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(25,18,58,.06)}.sos-blog-card{overflow:hidden}.sos-blog-card a{display:grid;color:inherit;text-decoration:none}.sos-blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.sos-blog-card div{padding:1rem}.sos-blog-meta{opacity:.72;font-size:.9em}.sos-reviews-widget{display:grid;gap:1.2rem}.sos-review{padding:1rem}.sos-review header{display:flex;justify-content:space-between;gap:.8rem;align-items:start;margin-bottom:.65rem}.sos-review strong{font-weight:650}.sos-review-stars{color:#ffac1b;letter-spacing:.06em}.sos-review-form,.sos-booking-form{display:grid;gap:.8rem;padding:1rem}.sos-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.sos-review-form label,.sos-booking-form label{display:grid;gap:.35rem}.sos-review-form input,.sos-review-form select,.sos-review-form textarea,.sos-booking-form input,.sos-booking-form select,.sos-booking-form textarea,.sos-booking-toolbar select{width:100%;border:1px solid #e8e3fb;border-radius:14px;padding:.78rem .9rem;font:inherit;background:#fff}.sos-review-form textarea,.sos-booking-form textarea{min-height:110px;resize:vertical}.sos-review-form button,.sos-booking-form button,.sos-booking-month button,.sos-chat-window button,.sos-chat-launcher{border:0;border-radius:999px;padding:.85rem 1.2rem;background:#845bfc;color:#fff;font:inherit;cursor:pointer}.sos-review-status,.sos-booking-status,.sos-chat-status{font-size:.92em}.sos-review-confirm{display:none;gap:.6rem;align-items:end}.sos-review-confirm.is-visible{display:grid;grid-template-columns:minmax(0,1fr) auto}
.sos-booking-widget{display:grid;gap:1rem;padding:1rem}.sos-booking-widget header{display:flex;justify-content:space-between;gap:1rem}.sos-booking-widget h2,.sos-booking-widget h3{margin:0}.sos-booking-widget p{margin:.25rem 0 0;color:#625b79}.sos-booking-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:1rem;align-items:end}.sos-booking-month{display:flex;align-items:center;justify-content:flex-end;gap:.7rem}.sos-booking-month button{width:38px;height:38px;padding:0;background:#f4efff;color:#5134b8}.sos-booking-calendar{display:grid;gap:.55rem}.sos-booking-weekdays,.sos-booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem}.sos-booking-weekdays span{text-align:center;color:#625b79;font-size:.78rem}.sos-booking-day{min-height:74px;border:1px solid #eee8ff;border-radius:16px;background:#fbfaff;color:#211a3d;display:grid;place-items:center;gap:.1rem;cursor:pointer}.sos-booking-day strong{font-size:1rem}.sos-booking-day small{font-size:.7rem;color:#625b79}.sos-booking-day.available{background:#f3fff9;border-color:#bcebd4}.sos-booking-day.full{background:#fff8ef;border-color:#ffd7a3}.sos-booking-day.blocked,.sos-booking-day.closed{opacity:.55}.sos-booking-day.selected{outline:3px solid rgba(132,91,252,.22);border-color:#845bfc}.sos-booking-day.empty{visibility:hidden}.sos-booking-selection{border:1px solid #eee8ff;border-radius:18px;padding:1rem;background:#fbfaff}.sos-booking-slots{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.7rem}.sos-booking-slot{border:1px solid #e2daf9;border-radius:16px;background:#fff;color:#251d40;display:grid;gap:.12rem;padding:.7rem .9rem;cursor:pointer}.sos-booking-slot small{font-size:.7rem;color:#625b79}.sos-booking-slot.available:hover,.sos-booking-slot.selected{border-color:#845bfc;box-shadow:0 0 0 4px rgba(132,91,252,.11)}.sos-booking-slot.reserved,.sos-booking-slot.blocked{opacity:.48;cursor:not-allowed}.sos-booking-hint{padding:.8rem;border-radius:14px;background:#fff;color:#625b79}.sos-booking-form button{width:max-content}
.sos-chat-host{position:fixed;right:22px;bottom:22px;z-index:99990;font-family:inherit}.sos-chat-launcher{display:flex;gap:.5rem;align-items:center;box-shadow:0 18px 60px rgba(37,25,86,.24)}.sos-chat-window{width:min(380px,calc(100vw - 28px));max-height:min(680px,calc(100vh - 96px));display:grid;grid-template-rows:auto minmax(160px,1fr) auto auto auto;gap:.75rem;border:1px solid rgba(132,91,252,.18);border-radius:24px;background:#fff;padding:1rem;box-shadow:0 30px 90px rgba(25,18,58,.22);margin-bottom:.75rem}.sos-chat-window[hidden]{display:none}.sos-chat-window header{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.sos-chat-window header p{margin:.25rem 0 0;color:#625b79;font-size:.9rem}.sos-chat-window [data-chat-close]{width:34px;height:34px;padding:0;background:#f4efff;color:#5134b8}.sos-chat-messages{display:grid;gap:.55rem;overflow:auto;padding:.2rem;max-height:320px}.sos-chat-message{border-radius:16px;padding:.7rem .85rem;background:#f5f1ff;max-width:86%}.sos-chat-message.admin{justify-self:end;background:#845bfc;color:#fff}.sos-chat-message.system{justify-self:center;background:#f6f3fb;color:#625b79}.sos-chat-message p{margin:.15rem 0}.sos-chat-message small{font-size:.72rem;opacity:.75}.sos-chat-start,.sos-chat-reply{display:grid;gap:.75rem}.sos-chat-reply textarea{width:100%;min-height:76px;border:1px solid #e8e3fb;border-radius:14px;padding:.78rem .9rem;font:inherit;resize:vertical}.sos-chat-start input{border:1px solid #e8e3fb;border-radius:14px;padding:.78rem .9rem;font:inherit}.sos-chat-reply button[data-chat-end]{background:#f4efff;color:#5134b8}.sos-chat-status{margin:0;color:#625b79}
@media(min-width:760px){.sos-blog-list-grid,.sos-reviews-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.sos-form-grid,.sos-review-confirm.is-visible,.sos-booking-toolbar{grid-template-columns:1fr}.sos-review-form button,.sos-booking-form button,.sos-chat-window button{width:100%}.sos-booking-day{min-height:58px;border-radius:12px}.sos-booking-day small{display:none}.sos-chat-host{right:14px;bottom:14px}.sos-chat-launcher span{display:none}}

/* v28: booking calendar improvements */
.sos-booking-resource-info{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:-.25rem}.sos-booking-resource-info span{border:1px solid rgba(132,91,252,.18);border-radius:999px;padding:.42rem .7rem;background:#fbfaff;color:#625b79;font-size:.86rem}.sos-booking-loading{min-height:180px;display:grid;place-items:center}.sos-booking-day{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.sos-booking-day:hover{transform:translateY(-1px);border-color:#845bfc;box-shadow:0 12px 26px rgba(132,91,252,.12)}.sos-booking-day small{text-align:center;line-height:1.2}.sos-booking-day.blocked{background:#fff5f7;border-color:#f2bdc9}.sos-booking-slot{min-width:126px;text-align:left}.sos-booking-slot.available:hover{background:#fbfaff}.sos-booking-slot.blocked{background:#fff5f7}.sos-booking-slot.full,.sos-booking-slot.reserved{background:#fff8ef}@media(max-width:760px){.sos-booking-resource-info span{flex:1 1 120px;text-align:center}.sos-booking-slot{width:100%}}
