
.inbm-wrap{ --inbm-primary:#2a6d82; --inbm-secondary:#f57c00; font-family:inherit }
.inbm-grid{ display:grid; grid-template-columns: 1fr 520px; gap:28px; align-items:start }
.inbm-grid-compact{ display:grid; grid-template-columns: 520px; justify-content:end }
@media (max-width: 900px){ .inbm-grid{ grid-template-columns:1fr } .inbm-grid-compact{ grid-template-columns:1fr } }

/* Left column */
.inbm-left .inbm-left-title{ font-weight:700; line-height:1.2; margin:0 0 12px }
.inbm-left .inbm-instructions{ font-size:16px; line-height:1.55 }
.inbm-steps{ list-style: decimal; margin: 8px 0 0 18px; }
.inbm-steps li{ margin: 8px 0; }
.inbm-steps li::marker{ font-weight:600; }

/* Right card */
.calendar{ border:1px solid #e5e7eb; border-radius:12px; background:#fff; padding:16px }
.inbm-right .inbm-title{ color: var(--inbm-primary); font-weight:600; margin-bottom:10px }

/* timeline/selects */
.timeline{ display:flex; flex-direction:column; gap:10px; margin-bottom:8px }
.timeline-item{ display:flex; gap:10px; align-items:center }
.timeline-circle{ width:24px; height:24px; border-radius:9999px; border:1px solid #d1d5db; }
.form-field{ border:1px solid #d1d5db; border-radius:8px; padding:12px 12px; width:100%; background:#fff }

/* calendar head + arrows */
.inbm-cal-head{ display:flex; justify-content:space-between; align-items:center; margin:8px 0 }
.btn-circle{ width:28px; height:28px; border:none; border-radius:9999px; background: var(--inbm-secondary); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 0 rgba(0,0,0,.08) }
.btn-circle .chev{ font-weight:900; line-height:1 }
.btn-circle:disabled{ background:#c7c7c7 }

/* table */
.calendar-table{ width:100%; border-collapse:separate; border-spacing:0 }
.calendar-table th{ padding:4px 6px; text-align:center }
.calendar-table td{ padding:6px; text-align:center }
.text-body-sm{ font-size:14px; line-height:20px }
.text-body-xs{ font-size:12px; line-height:16px }
.text-gray-300{ color:#d1d5db }

/* slots */
.btn-calendar-outlined{ background:#fff; color: var(--inbm-primary); border:1px solid var(--inbm-primary); border-radius:10px; padding:4px 8px; font-weight:600; min-width:56px }
.btn-calendar-outlined.inbm-selected{ background: var(--inbm-secondary); border-color: var(--inbm-secondary); color:#fff }

/* link more */
.flex-center{ display:flex; justify-content:center; align-items:center }
.btn-small.text-link{ color: var(--inbm-primary); text-decoration:underline; background:transparent; border:none; padding:0 }

/* CTA */
.elevated.important.inbm-cta{ margin-top:12px; width:100%; background: radial-gradient(103.95% 1413.54% at -3.95% 100%, #39a4aa 0%, #2a6d82 100%); color:#fff; border:none; border-radius:12px; padding:14px 20px; font-weight:600 }
.elevated.important.inbm-cta:disabled{ background:#d2e2e3 }

/* brand */
.inbm-brand{ display:flex; justify-content:center; align-items:center; margin-top:10px }
.inbm-brand img{ height:22px; width:auto; display:block }

/* skeleton shimmer */
.skeleton .skt-pill{ width:56px; height:24px; border-radius:12px; background:#e9ecef; position:relative; overflow:hidden }
.skeleton .skt-pill::after{ content:''; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, transparent, rgba(255,255,255,.6), transparent); animation:skt 1.2s infinite }
@keyframes skt { to{ transform:translateX(100%) } }

/* banner */
.inbm-banner{ background:#F42A25; color:#fff; border-radius:8px; padding:10px 12px; margin-bottom:10px; display:flex; gap:8px; align-items:center }
