/* Defaults only. The Elementor widget overrides these through its Style tab (plain properties
   with higher specificity, or the --csh-* variables for multi-state elements). No !important
   on styleable properties so panel settings always win. */
.csh-sessoes{font-family:inherit;color:inherit;width:100%}
.csh-sessoes .csh-heading{margin-bottom:22px}
.csh-sessoes .csh-title{font-size:clamp(20px,2.3vw,26px);margin:0 0 4px;font-weight:700}
.csh-sessoes .csh-date{margin:0;color:#6b7280;font-size:14px}
.csh-sessoes .csh-alert,.csh-sessoes .csh-notice{margin:0 0 16px;padding:12px 16px;border-radius:10px;font-size:15px;line-height:1.4;border:1px solid transparent}
.csh-sessoes .csh-alert[hidden],.csh-sessoes .csh-notice[hidden],.csh-sessoes .csh-booking[hidden]{display:none!important}
.csh-sessoes .csh-alert--taken,.csh-sessoes .csh-notice--warn{background:#fff4e5;color:#7a3b00;border-color:#ffd8a8}
.csh-sessoes .csh-alert--offline{background:#f2f4f7;color:#475467;border-color:#e4e7ec}
.csh-sessoes .csh-notice--ok{background:#ecfdf3;color:#065f46;border-color:#a7f3d0;font-weight:600}
.csh-sessoes .csh-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}
.csh-sessoes .csh-room{padding:22px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;box-shadow:0 1px 4px rgba(16,24,40,.04)}
.csh-sessoes .csh-room-title{font-size:18px;font-weight:700;margin:0 0 18px;color:#101828}
.csh-sessoes .csh-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px}
.csh-sessoes .csh-time{display:block;width:100%;margin:0;box-shadow:none;background:var(--csh-time-bg,#f6f4ff);border:1px solid var(--csh-time-border,#dbd4ff);color:var(--csh-time-color,#6746cb);border-radius:8px;padding:12px 4px;text-align:center;font-weight:600;font-size:14px;line-height:1.2;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}
.csh-sessoes .csh-time:hover,.csh-sessoes .csh-time:focus-visible{background:var(--csh-time-bg-hover,#6746cb);color:var(--csh-time-color-hover,#fff);border-color:var(--csh-time-border-hover,#6746cb)}
.csh-sessoes .csh-time.is-selected{background:var(--csh-time-bg-selected,#6746cb);color:var(--csh-time-color-selected,#fff);border-color:var(--csh-time-border-selected,#6746cb)}
.csh-sessoes .csh-time.is-checking,.csh-sessoes .csh-time[disabled]{opacity:.6;cursor:wait}
.csh-sessoes .csh-empty,.csh-sessoes .csh-error,.csh-sessoes .csh-loading{margin:0;color:#667085;font-size:14px}
.csh-sessoes .csh-error{color:#b42318}
.csh-sessoes .csh-booking{margin-top:28px;padding-top:22px;border-top:1px solid #eaecf0;scroll-margin-top:90px}
.csh-sessoes .csh-booking-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.csh-sessoes .csh-booking-title{margin:0;font-weight:700;font-size:20px}
.csh-sessoes .csh-booking-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.csh-sessoes .csh-external{font-size:14px}
.csh-sessoes .csh-close{margin:0;box-shadow:none;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;background:var(--csh-close-bg,#fff);color:var(--csh-close-color,#344054);border:1px solid var(--csh-close-border,#d0d5dd);border-radius:8px;padding:8px 14px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.csh-sessoes .csh-close:hover,.csh-sessoes .csh-close:focus-visible{background:var(--csh-close-bg-hover,#f9fafb);color:var(--csh-close-color-hover,#344054);border-color:var(--csh-close-border-hover,#d0d5dd)}
.csh-sessoes .csh-embed{width:100%;height:740px;min-width:0}
@media(max-width:480px){.csh-sessoes .csh-room{padding:16px}.csh-sessoes .csh-times{grid-template-columns:repeat(3,minmax(0,1fr))}.csh-sessoes .csh-embed{height:780px}}
