/* ================== AstorDent — оформление виджета и календаря ================== */
:root{
  --ad-brand:#4f8cf9;           /* основной синий */
  --ad-brand-contrast:#0f3f9c;  /* темнее для :active */
  --ad-text:#12263a;            /* основной текст */
  --ad-muted:#6b7a90;           /* вторичный текст */
  --ad-bg:#ffffff;              /* фон карточки */
  --ad-surface:#f5f8ff;         /* светло-синий фон */
  --ad-border:rgba(79,140,249,.22);
  --ad-shadow:0 10px 30px rgba(22,42,90,.15);
  --ad-radius-xl:28px;
}

/* Общий каркас виджета */
.sidebar-content[data-v-5dc2ee4a]{ background: rgba(8,19,37,.55); backdrop-filter: blur(2px); }
.sidebar-card[data-v-5dc2ee4a]{
  background:var(--ad-bg)!important; color:var(--ad-text);
  border-radius:var(--ad-radius-xl); box-shadow:var(--ad-shadow);
  border:1px solid var(--ad-border); padding:28px 26px 24px;
  font-family:"Inter","Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans","Helvetica Neue",sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.sidebar-close[data-v-5dc2ee4a]{ position:absolute; top:14px; right:14px; width:40px; height:40px;
  border-radius:999px; background:var(--ad-surface); display:grid; place-items:center; box-shadow:0 2px 10px rgba(22,42,90,.08);}
.sidebar-close[data-v-5dc2ee4a] svg path{ stroke:var(--ad-brand)!important; }
.arrow-back[data-v-5dc2ee4a] svg path{ stroke:var(--ad-brand)!important; }
.arrow-back-title[data-v-5dc2ee4a]{ color:#fff; }

/* Заголовок шага */
.card-title[data-v-c3ea728e]{ color:var(--ad-text)!important; font-weight:800; font-size:28px; }

/* ================== КАЛЕНДАРЬ ================== */
.calendar[data-v-c3ea728e]{ user-select:none; }

/* Шапка календаря (месяц, стрелки) */
.calendar-header[data-v-c3ea728e]{ display:flex; align-items:center; justify-content:space-between; }
.calendar-header .calendar-arrow[data-v-c3ea728e] svg path{ stroke:var(--ad-brand)!important; }

/* Названия дней недели */
.day-names[data-v-c3ea728e]{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin:12px 0 8px; }
.day-names[data-v-c3ea728e] > div{ text-align:center; font-weight:700; color:var(--ad-text); }
.day-names[data-v-c3ea728e] .red{ color:#e62929!important; }

/* Сетка дней */
.calendar-grid[data-v-c3ea728e]{ display:grid; grid-template-columns:repeat(7,1fr); gap:12px; }

/* БАЗА для всех .calendar-day */
.calendar-day[data-v-c3ea728e]{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  height:40px; border-radius:12px;
  color:var(--ad-text)!important; background:transparent!important;
  transition:background .2s,color .2s,box-shadow .2s,transform .15s;
}

/* Пустые ячейки (из другого месяца) — нейтральные */
.calendar-day.empty[data-v-c3ea728e]{ opacity:.35!important; pointer-events:none; }

/* 1) НЕДОСТУПНЫЕ дни — у которых нет .available-day */
.calendar-day[data-v-c3ea728e]:not(.available-day):not(.empty){
  color:#c7cfda!important; opacity:.8!important; cursor:default;
}

/* 2) ДОСТУПНЫЕ дни — тонкое синее кольцо */
.calendar-day.available-day[data-v-c3ea728e]{
  cursor:pointer;
  box-shadow: inset 0 0 0 2px rgba(79,140,249,.55) !important;
  background:#fff !important;
}
.calendar-day.available-day[data-v-c3ea728e]:hover{
  box-shadow: inset 0 0 0 2px var(--ad-brand), 0 4px 10px rgba(79,140,249,.18) !important;
  transform: translateY(-1px);
}

/* 3) СЕГОДНЯ — кольцо + маленькая синяя точка (если день НЕ выбран) */
.calendar-day.today[data-v-c3ea728e]:not(.select-day){
  box-shadow: inset 0 0 0 2px var(--ad-brand) !important;
}
.calendar-day.today[data-v-c3ea728e]:not(.select-day)::after{
  content:""; position:absolute; left:50%; bottom:4px; transform:translateX(-50%);
  width:6px; height:6px; border-radius:50%; background:var(--ad-brand);
}

/* 4) ВЫБРАННАЯ дата — твёрдый синий */
.calendar-day.select-day[data-v-c3ea728e]{
  background:var(--ad-brand)!important; color:#fff!important;
  box-shadow:0 6px 16px rgba(79,140,249,.25)!important;
  transform:none;
}

/* Если библиотека красит фоном через инлайн — сбросить у невыбранных */
.calendar-day[data-v-c3ea728e][style*="background"]{ background:transparent!important; }
.calendar-day.select-day[data-v-c3ea728e][style*="background"]{ background:var(--ad-brand)!important; }

/* ================== ВРЕМЯ ================== */
.time-selector[data-v-0f123f91]{ margin-top:18px; }
.time-title[data-v-0f123f91]{ font-weight:700; color:var(--ad-text); margin-bottom:10px; }

/* Контейнер слотов – карточка, не «колбаса» */
.time-slots[data-v-0f123f91]{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:14px;
  background:#fff; border:2px solid var(--ad-brand);
  border-radius:24px!important; padding:18px!important;
  box-shadow:0 10px 26px rgba(79,140,249,.16);
}

/* Чипы времени */
.time-slot[data-v-0f123f91]{
  appearance:none; -webkit-appearance:none;
  border-radius:999px!important; padding:10px 18px!important;
  background:#fff!important; color:var(--ad-brand)!important;
  border:2px solid var(--ad-brand)!important; opacity:1!important;
  font-weight:800; line-height:1; cursor:pointer;
  transition:background .2s,color .2s,box-shadow .2s,transform .15s;
}
.time-slot[data-v-0f123f91]:hover{ box-shadow:0 8px 18px rgba(79,140,249,.20); transform:translateY(-1px); }

/* Выбранное время — учитываем разные варианты классов/атрибутов */
.time-slot[data-v-0f123f91][aria-pressed="true"],
.time-slot[data-v-0f123f91][aria-selected="true"],
.time-slot.selected[data-v-0f123f91],
.time-slot.is-selected[data-v-0f123f91],
.time-slot.active[data-v-0f123f91]{
  background:var(--ad-brand)!important; color:#fff!important;
  box-shadow:0 8px 20px rgba(79,140,249,.28)!important; transform:none;
}
.time-slot[data-v-0f123f91]:focus-visible{
  outline:none; box-shadow:0 0 0 4px rgba(79,140,249,.18), 0 8px 20px rgba(79,140,249,.24)!important;
}

/* Низ страницы: кнопки и поля (если есть форма) — общий фирменный стиль */
.card-button-wrapper[data-v-5dc2ee4a]{ margin-top:28px; }
.card-button[data-v-5dc2ee4a]{
  width:100%; text-align:center; border-radius:999px!important;
  padding:18px 24px; font-weight:800; font-size:18px; line-height:1;
  background:#fff!important; color:var(--ad-brand)!important;
  border:2px solid var(--ad-brand)!important;
  box-shadow:0 10px 24px rgba(79,140,249,.22); cursor:pointer;
  transition:background .2s,color .2s,transform .15s,box-shadow .2s;
}
.card-button[data-v-5dc2ee4a]:hover{
  background:var(--ad-brand)!important; color:#fff!important;
  box-shadow:0 12px 26px rgba(79,140,249,.28); transform:translateY(-1px);
}
.card-button[data-v-5dc2ee4a]:active{
  transform:translateY(0); background:var(--ad-brand-contrast)!important; border-color:var(--ad-brand-contrast)!important;
}

/* Адаптив */
@media (max-width:480px){
  .card-title[data-v-c3ea728e]{ font-size:22px; }
  .time-slots[data-v-0f123f91]{ grid-template-columns:repeat(2,1fr); }
}
