.inari-booking{
  --bg:#202025;
  --panel:#121827;
  --card:#1b2232;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.16);
  --text:#f5f7ff;
  --title:#eef3ff;
  --muted:#b9c3d9;
  --blue:#5a86f5;
  --blue2:#2563eb;
  --danger:#e98383;
  --green:#3ebf7b;
  --green-bg:rgba(62,191,123,.18);
  --busy-bg:rgba(233,131,131,.13);
  font-family:Inter,Arial,sans-serif;
  display:grid;
  grid-template-columns:310px 1fr;
  max-width:1040px;
  margin:42px auto;
  border-radius:30px;
  overflow:hidden;
  background:var(--bg);
  box-shadow:0 28px 90px rgba(0,0,0,.24);
  color:var(--text)
}
.inari-booking *{box-sizing:border-box}
.inari-booking__side{
  padding:38px 32px;
  background:linear-gradient(160deg,#0e1628,#161d2e 62%,#2d4fbc)
}
.inari-booking__brand{
  display:inline-flex;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#eef3ff;
  margin-bottom:28px;
  font-size:13px
}
.inari-booking__side h2{
  font-size:38px;
  line-height:1.05;
  margin:0 0 14px;
  font-weight:800;
  color:var(--title)
}
.inari-booking__side p{
  color:#d8e0f2;
  line-height:1.6;
  margin:0 0 34px;
  font-size:16px
}
.inari-steps{display:grid;gap:12px}
.inari-steps span{position:relative;color:#9eabc4;padding-left:28px;font-size:14px}
.inari-steps span:before{content:"";position:absolute;left:0;top:2px;width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.30)}
.inari-steps span.active{color:#fff;font-weight:700}
.inari-steps span.active:before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 5px rgba(90,134,245,.15)}

.inari-booking__main{position:relative;min-height:720px;padding:42px;background:linear-gradient(180deg,#101726,#0f1523)}
.inari-progress{height:6px;background:rgba(255,255,255,.08);border-radius:99px;margin-bottom:36px;overflow:hidden}
.inari-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),#8aa8ff);transition:.35s ease}
.inari-step{display:none;animation:inariFade .25s ease}
.inari-step.active{display:block}
@keyframes inariFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.inari-step h3{font-size:30px;margin:0 0 10px;color:var(--title);font-weight:800}
.inari-step p{color:var(--muted);margin:0 0 24px;line-height:1.55;font-size:16px}
.inari-distance-message strong{color:#fff;background:rgba(90,134,245,.18);padding:2px 5px;border-radius:6px}

.inari-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inari-full{display:block;margin-top:16px}
.inari-booking label{font-size:13px;color:#d7def0;font-weight:600}
.inari-booking input,.inari-booking select{
  width:100%;
  margin-top:8px;
  background:#0b1323;
  border:1px solid var(--line);
  color:#fff;
  border-radius:16px;
  padding:16px 16px;
  font-size:15px;
  line-height:1.35;
  outline:none;
  min-height:56px
}
.inari-booking select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d8e0f2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:16px
}
.inari-booking option{color:#111827;background:#fff}
.inari-booking input:focus,.inari-booking select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(90,134,245,.12)}

.inari-note,.inari-alert{margin:16px 0 24px;color:#d8e1f5;background:rgba(90,134,245,.10);border:1px solid rgba(90,134,245,.25);padding:14px 16px;border-radius:16px}
.inari-alert{background:rgba(255,255,255,.05);border-color:var(--line-strong)}
.inari-alert--soft{margin-top:14px}
.inari-step-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.inari-btn{appearance:none;border:0;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:15px 22px;border-radius:16px;font-weight:700;cursor:pointer;box-shadow:0 12px 28px rgba(37,99,235,.25);transition:.2s ease}
.inari-btn:hover{transform:translateY(-1px)}
.inari-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.inari-btn--ghost{background:transparent;border:1px solid var(--line-strong);box-shadow:none;color:#dce6ff}

.inari-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.inari-card{text-align:left;border:1px solid var(--line);background:linear-gradient(180deg,#20283a,#151c2a);border-radius:22px;padding:20px;color:#fff;cursor:pointer;min-height:132px;transition:.2s ease}
.inari-card strong{display:block;font-size:18px;margin-bottom:10px}
.inari-card span{display:block;color:var(--muted);line-height:1.45}
.inari-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,0,0,.18)}

.inari-calendar{margin-top:10px}
.inari-calendar__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.inari-calendar__month{font-size:20px;font-weight:800;color:#fff;text-transform:capitalize}
.inari-calendar__nav{width:40px;height:40px;border-radius:12px;border:1px solid var(--line-strong);background:#151d2d;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.inari-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:12px}
.inari-calendar__weekdays span{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#97a5c3;text-align:center}
.inari-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.inari-day{min-height:176px;border:1px solid var(--line);background:#121a2a;border-radius:18px;padding:12px}
.inari-day--empty{background:transparent;border:1px dashed rgba(255,255,255,.04)}
.inari-day__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#fff}
.inari-day__header strong{font-size:18px}
.inari-day__slots{display:grid;gap:8px}
.inari-slot{display:block;width:100%;border:1px solid transparent;border-radius:12px;padding:9px 8px;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}
.inari-slot.available{background:var(--green-bg);border-color:rgba(62,191,123,.35);color:#dff8ea}
.inari-slot.available:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(62,191,123,.12)}
.inari-slot.busy,.inari-slot.blocked{background:var(--busy-bg);border-color:rgba(233,131,131,.22);color:#f1c9c9;cursor:not-allowed;opacity:.85}
.inari-slot.blocked{opacity:.48}
.inari-slot.is-selected{outline:2px solid #fff;box-shadow:0 0 0 3px rgba(90,134,245,.28)}
.inari-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;color:#c9d2e7;font-size:13px}
.inari-calendar-legend span{display:flex;align-items:center;gap:8px}
.inari-calendar-legend i{display:inline-block;width:14px;height:14px;border-radius:50%}
.inari-calendar-legend .is-available{background:var(--green)}
.inari-calendar-legend .is-busy{background:var(--danger)}

.inari-selected-slot__card{display:grid;gap:14px;background:linear-gradient(180deg,#182235,#141d2b);border:1px solid var(--line);border-radius:22px;padding:22px;max-width:460px}
.inari-selected-slot__card div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:10px}
.inari-selected-slot__card div:last-child{border-bottom:0;padding-bottom:0}
.inari-selected-slot__card span{color:var(--muted)}
.inari-selected-slot__card strong{color:#fff;text-align:right}

.inari-summary{display:grid;gap:12px;margin:24px 0}
.inari-summary div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0}
.inari-summary span{color:var(--muted)}
.inari-summary strong{text-align:right;color:#fff}

.inari-check{display:flex;align-items:flex-start;gap:12px;margin:6px 0 10px;color:#eaf0ff;font-weight:500;cursor:pointer}
.inari-check input{width:18px;height:18px;margin:2px 0 0;min-height:auto;accent-color:var(--blue);flex:0 0 auto}
.inari-check span{line-height:1.5}

.inari-error{margin-top:20px;color:#fff;background:rgba(255,107,107,.14);border:1px solid rgba(255,107,107,.38);padding:14px 16px;border-radius:16px}
.inari-loading,.inari-empty{grid-column:1/-1;color:var(--muted);padding:18px;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.02)}

@media(max-width:1024px){
  .inari-calendar__grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:820px){
  .inari-booking{grid-template-columns:1fr;margin:22px 12px}
  .inari-booking__side{padding:28px}
  .inari-booking__main{padding:28px;min-height:auto}
  .inari-grid,.inari-cards,.inari-calendar__grid{grid-template-columns:1fr}
  .inari-calendar__weekdays{display:none}
  .inari-booking__side h2{font-size:30px}
  .inari-step h3{font-size:26px}
  .inari-summary div,.inari-selected-slot__card div{display:block}
  .inari-summary strong,.inari-selected-slot__card strong{display:block;text-align:left;margin-top:6px}
}

.inari-step[data-step="1"] [data-next]{margin-top:18px}
