/* ===== Глобально ===== */
html.is-modal-open, html.is-modal-open body{overflow:hidden}

/* Тонкий скроллбар */
*{scrollbar-width:thin;scrollbar-color:#c5c5c5 transparent}
*::-webkit-scrollbar{width:6px;height:6px}
*::-webkit-scrollbar-thumb{background:#c5c5c5;border-radius:6px}
*::-webkit-scrollbar-track{background:transparent}

/* ===== Модалки ===== */
.modal{position:fixed;inset:0;display:none;z-index:1000;overflow:auto;padding:24px 12px}
.modal[aria-hidden="false"]{display:block}
.modal__overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:0}

.modal__dialog{
  position:relative;z-index:1;margin:auto;overflow:visible;
  width:min(420px,92vw);background:#fff;border:1px solid var(--stroke-2);
  border-radius:24px;padding:32px 28px 28px;box-shadow:0 20px 60px rgba(0,0,0,.35)
}
.modal__dialog.modal--wide{width:min(720px,94vw);border-radius:28px;padding:32px 36px 28px}

.modal__content{max-height:calc(100dvh - 88px);overflow:auto}

/* Крестик */
.modal__close{position:absolute;top:-18px;right:-18px;width:24px;height:24px;padding:0;border:0;background:transparent;color:#fff;font-size:18px;line-height:1;cursor:pointer;z-index:10}
.modal__close:hover{color:#e5e7eb}

/* Заголовки */
.modal__title{margin:0 0 20px;font-size:22px;font-weight:600;text-align:center}
.modal__title--center{text-align:center;font-size:28px;font-weight:700;margin-bottom:22px}

/* ===== Формы ===== */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:14px;color:var(--brand-gray);margin-bottom:6px}
.form-group input,.form-group select{
  width:100%;height:44px;padding:10px 12px;font-size:15px;border:1px solid var(--stroke-2);border-radius:10px;background:#fff
}
.reg-form .form-group{margin-bottom:18px}
.reg-form .form-group input,.reg-form .form-group select{height:48px;padding:12px 14px;border-radius:12px}
.form-group input::placeholder{color:#9ca3af}
.form-group input:focus,.form-group select:focus{outline:none;border-color:#bfc6d4;box-shadow:0 0 0 3px rgba(42,111,219,.12)}

.form-error{display:block;margin-top:6px;color:#e11d48;font-size:12px}
.form-error[hidden]{display:none!important}
.form-hint{display:block;margin-top:8px;color:#6b7280;font-size:12px}

/* Низ / линки в модалке логина — в две строки */
.auth-links {display: flex; flex-direction: column; margin: var(--gap-md); gap: var(--gap-sm); text-align: center; color:var(--text-600);}
.reg-bottom{text-align:center;margin:14px 0 0;color:var(--text-600);font-size:14px}
.reg-bottom a{color:var(--text-600);text-decoration:underline}
#modal-login .reg-bottom{display:flex;flex-direction:column;gap:6px;white-space:normal}
#modal-login .reg-bottom a,#modal-lost .reg-bottom a{display:inline; color:var(--text-600);}

/* ===== Телефон ===== */
.phone-field{position:relative;display:flex;align-items:center;border:1px solid var(--stroke-2);border-radius:12px;background:#fff;height:48px;}
.phone-field:focus-within{border-color:#bfc6d4;box-shadow:0 0 0 3px rgba(42,111,219,.12)}
.cc-btn{position:absolute;left:10px;top:0;height:100%;display:inline-flex;align-items:center;gap:6px;padding:0 2px;border:0;background:transparent;cursor:pointer}
.cc-flag{font-size:18px;line-height:1}
.cc-dial{display:none}
.cc-caret{margin-left:2px}
.phone-field>input{flex:1 1 auto;height:100%;border:0;outline:none;background:transparent;font-size:15px}
.phone-field>input::placeholder{color:#9ca3af}
.cc-menu{position:absolute;left:10px;top:calc(100% + 6px);width:260px;z-index:1200;background:#fff;border:1px solid var(--stroke-2);border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.12);max-height:260px;overflow:auto}
.cc-search-wrap{padding:8px;border-bottom:1px solid var(--stroke-2);position:sticky;top:0;background:#fff}
.cc-search{width:100%;height:40px;padding:8px 10px;border:1px solid var(--stroke-2);border-radius:8px;font-size:14px}
.cc-list{list-style:none;margin:0;padding:6px 0}
.cc-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer}
.cc-item:hover{background:#f7f7f9}
.cc-item__flag{width:18px;text-align:center}
.cc-item__name{flex:1 1 auto;font-size:14px;color:#111}
.cc-item__dial{font-weight:600;color:#374151}

/* ===== Малые модалки входа/восстановления ===== */
#modal-login .modal__dialog,#modal-lost .modal__dialog{width:min(420px,92vw);padding:24px;border-radius:20px}
#modal-login .form-group input,#modal-lost .form-group input{height:44px}

/* ===== Doctor modal ===== */
.modal--doctor .modal__dialog{width:min(420px,92vw);padding:24px 24px 20px;border-radius:20px; justify-items: center;}
.modal--doctor .modal__title{text-align:center;font-size:18px;font-weight:700;margin-bottom:14px}
.choice-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:36px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--stroke-2);color:var(--brand-gray);font-weight:600;font-size:14px;cursor:pointer}
.choice-pill.is-active{background:var(--brand-yellow-10);border-color:var(--brand-yellow)}
.modal__actions{display:flex;justify-content:center;gap:10px;margin-top:8px}
.modal__actions--centered{justify-content:center;gap:16px;margin-top:24px}
.doctor-choice {    margin: var(--gap-xl); gap: 40px; display: flex;}

/* ===== Doctor warning modal ===== */
.modal--doctor-warning .modal__dialog{width:min(480px,92vw);padding:32px 28px 28px;border-radius:20px}
.modal--doctor-warning .modal__title{text-align:center;font-size:20px;font-weight:700;margin-bottom:20px;color:var(--accent)}
.doctor-warning-text{text-align:center;margin-bottom:24px}
.doctor-warning-text p{margin:0 0 12px;font-size:16px;line-height:1.5;color:var(--text-900)}
.doctor-warning-text p:last-child{margin-bottom:0}
.modal--doctor-warning .btn{min-width:140px}

/* Кнопки */
#modal-login .btn--primary,
#modal-lost .btn--primary,
#modal-reset .btn--primary{
  width:100%;
  font-size:17px;
  --_bg:var(--brand-yellow);
  --_fg:#fff;
  --_bd:var(--brand-yellow);
}
#modal-login .btn--primary:hover,
#modal-lost .btn--primary:hover,
#modal-reset .btn--primary:hover{
  --_bg:var(--surface);
  --_fg:var(--brand-gray);
  --_bd:var(--brand-gray);
}
/* Кнопка регистрации в основной форме (не в блоке успеха) */
#modal-register .modal__content .btn--primary{width:450px;height:63px;font-size:var(--fs-md);margin-inline:auto;display:block;margin-top:24px}

/* ===== Чекбоксы (живые) ===== */
.checkline{display:flex;align-items:flex-start;gap:8px;color:var(--text-600);margin-bottom:16px}
/* Ссылки в чекбоксах - выделяем цветом и подчёркиванием */
.checkline a{color:var(--accent,#446A81);text-decoration:underline;font-weight:500}
.checkline a:hover{color:#2d4d5e;text-decoration:underline}
.checkline input[type="checkbox"]{
  appearance:none;width:18px;height:18px;margin-top:2px;border-radius:6px;
  border:2px solid var(--accent,#EEC024);background:#fff;cursor:pointer;position:relative;flex:none
}

/* ===== Форма регистрации на мероприятие ===== */
.form-field-readonly{
  padding:12px 16px;
  background:#f5f5f5;
  border-radius:8px;
  color:var(--text-600);
  font-size:15px;
}
.event-reg-success{padding:24px;text-align:center}
.checkline input[type="checkbox"]:checked{background:var(--accent,#EEC024);border-color:var(--accent,#EEC024)}
.checkline input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:4px;top:0px;width:6px;height:10px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg)
}

/* ===== Пароли ===== */
/* Текст + круглая кнопка. Кнопка без фоновой подложки — используется сам SVG круга */
.password-hint-row{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:8px 0 10px;color:var(--text-600);font-size:13px}
.pass-toggle{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.pass-toggle svg{display:block}

/* Поля пароля: обводка и фокус как у остальных */
.input-row{position:relative}
.input-row>input{
  width:100%;height:48px;padding:12px 44px 12px 14px;
  border:1px solid var(--stroke-2);border-radius:12px;background:#fff;font-size:15px
}
.input-row>input:focus{outline:none;border-color:#bfc6d4;box-shadow:0 0 0 3px rgba(42,111,219,.12)}

/* Глаза — SVG из ТЗ */
.input-eye{all:unset;display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-600);cursor:pointer;user-select:none}
.input-eye__icon{width:20px;height:16px;display:inline-block;background-position:center;background-repeat:no-repeat;background-size:contain}
.input-eye__icon--show{
  /* показать */
  background-image:url("data:image/svg+xml,%3Csvg width='18' height='13' viewBox='0 0 18 13' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0C5.04856 0 1.65436 2.37401 0.151954 5.77272C0.0495662 6.00434 0.0495663 6.26839 0.151954 6.50001C1.65436 9.89872 5.04856 12.2727 9 12.2727C12.9514 12.2727 16.3456 9.89872 17.848 6.50001C17.9504 6.26839 17.9504 6.00434 17.848 5.77272C16.3456 2.37401 12.9514 0 9 0ZM9 10.2273C6.74182 10.2273 4.90909 8.39455 4.90909 6.13636C4.90909 3.87818 6.74182 2.04545 9 2.04545C11.2582 2.04545 13.0909 3.87818 13.0909 6.13636C13.0909 8.39455 11.2582 10.2273 9 10.2273ZM9 3.68182C7.64182 3.68182 6.54545 4.77818 6.54545 6.13636C6.54545 7.49455 7.64182 8.59091 9 8.59091C10.3582 8.59091 11.4545 7.49455 11.4545 6.13636C11.4545 4.77818 10.3582 3.68182 9 3.68182Z' fill='%23446A81'/%3E%3C/svg%3E")
}
.input-eye__icon--hide{
  /* скрыть */
  background-image:url("data:image/svg+xml,%3Csvg width='20' height='16' viewBox='0 0 20 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.8825 0.881336L17.1465 0.145393C16.9385 -0.0625975 16.5545 -0.0305884 16.3145 0.257357L13.7543 2.80132C12.6023 2.30538 11.3384 2.06538 10.0103 2.06538C6.05822 2.08132 2.63444 4.38529 0.986327 7.69749C0.8903 7.90549 0.8903 8.16142 0.986327 8.3374C1.75426 9.90543 2.90633 11.2015 4.34633 12.1774L2.25034 14.3054C2.01034 14.5454 1.97833 14.9293 2.13838 15.1374L2.87432 15.8733C3.08231 16.0813 3.4663 16.0493 3.7063 15.7613L17.7542 1.71345C18.0582 1.47358 18.0902 1.08962 17.8822 0.881611L17.8825 0.881336ZM10.8583 5.71322C10.5863 5.6492 10.2984 5.56925 10.0264 5.56925C8.66631 5.56925 7.57842 6.65727 7.57842 8.01718C7.57842 8.28919 7.64244 8.57714 7.72239 8.84916L6.65028 9.90519C6.33032 9.34524 6.15433 8.72114 6.15433 8.01722C6.15433 5.88924 7.86636 4.17722 9.99434 4.17722C10.6984 4.17722 11.3224 4.3532 11.8823 4.67316L10.8583 5.71322Z' fill='%23446A81'/%3E%3Cpath d='M19.0344 7.69743C18.4745 6.57738 17.7384 5.56945 16.8265 4.75342L13.8504 7.69743V8.01738C13.8504 10.1454 12.1384 11.8574 10.0104 11.8574H9.69047L7.80249 13.7454C8.50655 13.8893 9.24249 13.9854 9.9625 13.9854C13.9146 13.9854 17.3384 11.6814 18.9865 8.35325C19.1305 8.12918 19.1305 7.90527 19.0345 7.69726L19.0344 7.69743Z' fill='%23446A81'/%3E%3C/svg%3E")
}
.input-eye__text{user-select:none}

/* ===== Multiselect (интересы) ===== */
.multisel{
  position:relative;
  border:1px solid var(--stroke-2);
  border-radius:12px;
}
.multisel.is-open{box-shadow:0 0 0 3px rgba(42,111,219,.12);border-color:#bfc6d4}
/* Кнопка-обёртка больше НЕ фиксированной высоты — растёт по контенту */
.multisel__btn{
  width:100%;
  min-height:48px;        /* только минимальная высота */
  height:auto;            /* <- ключевой момент */
  padding:12px 40px 12px 14px;
  text-align:left;
  background:#fff;
  border:0;
  border-radius:12px;
  cursor:pointer;
  position:relative;
  white-space:normal;      /* перенос длинных тегов */
}

/* Стрелка остаётся по центру независимо от высоты */
.multisel__btn::after{
  content:"▾";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  color:#888;
}

/* Превью выбранных тегов — БЕЗ max-height и БЕЗ overflow */
.multisel__value,
[data-ms-preview]{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-height:none;        /* убрали ограничение */
  overflow:visible;       /* убрали скролл внутри поля */
  padding-right:0;        /* чистим «на всякий» */
}

/* Жёлтые пилюли — и в превью, и в списке */
.pill,.tag{
  display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border-radius:999px;
  background:#EEC024;color:#2b2b2b;border:1px solid rgba(0,0,0,.06);font-size:14px;font-weight:500;white-space:nowrap
}
.pill .pill__x{display:inline-block;line-height:1.2;width:18px;height:18px;margin-left:4px;border: 1px solid;border-radius:50%;text-align:center;cursor:pointer}

.multisel__menu{
  position:absolute;
  left:-1px; right:-1px; top:calc(100% + 6px);
  z-index:1200;
  background:#fff;
  border:1px solid var(--stroke-2);
  border-radius:12px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  max-height:360px;
  overflow:auto;
}.multisel__search{padding:8px;position:sticky;top:0;z-index:1;background:#fff;border-bottom:1px solid var(--stroke-2);position:relative}
.multisel__search-input{width:100%;height:38px;padding:8px 10px;padding-right:40px;border:1px solid var(--stroke-2);border-radius:8px}
.multisel__close{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:28px;height:28px;padding:0;border:0;background:#EEC024;color:#2b2b2b;font-size:18px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(0,0,0,.06);transition:background-color .2s}
.multisel__close:hover{background:#d4b020;color:#2b2b2b}
.tag-grid{display:flex;flex-wrap:wrap;gap:10px;padding:12px}
.tag[hidden]{display:none!important}

/* Ошибки подсветка */
.form-group input.is-error,.form-group select.is-error{border-color:#e11d48;box-shadow:0 0 0 2px rgba(225,29,72,.12)}

/* Адаптив */
@media (max-width:540px){
  .modal__dialog.modal--wide{width:min(480px,94vw);padding:24px}
}
/* Register: успех вместо формы */
#modal-register.is-success .reg-form { display:none !important; }
#modal-register.is-success .reg-success { display:block !important; }

#modal-register .reg-success .btn{
  flex:0 0 auto;
  width:auto;
  min-width:unset;
  padding:0 28px;
}
#modal-register .reg-success{
  text-align: center;
}
#modal-register .reg-success-actions{
  display: inline-flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
#modal-register .reg-success .btn{
  font-weight:600;
  font-size:16px;
  min-width: 160px;
  padding: 12px 24px;
  width: auto;
  height: auto;
  flex: 0 0 auto;
}
#modal-register .reg-success .btn--secondary{
  background: var(--surface, #fff);
  color: var(--brand-gray, #2A2F33);
  border: 2px solid #d1d5db;
}
#modal-register .reg-success .btn--secondary:hover{
  background: #f9fafb;
  border-color: var(--brand-gray, #2A2F33);
}
#modal-register .reg-success .btn--primary{
  background: var(--brand-yellow, #EEC024);
  color: var(--brand-gray, #2A2F33);
  border: 2px solid var(--brand-yellow, #EEC024);
}
#modal-register .reg-success .btn--primary:hover{
  background: var(--surface, #fff);
  color: var(--brand-gray, #2A2F33);
  border-color: var(--brand-gray, #2A2F33);
}

/* Модалка всегда поверх всего */
.modal{ position:fixed; inset:0; z-index:10000; }
.modal__overlay{ position:fixed; inset:0; z-index:10001; }
.modal__dialog{ position:relative; z-index:10002; }

/* Выпадашки внутри модалки — ещё выше */
.cc-menu,
.multisel__menu{ z-index:10003; }

/* На время открытой модалки отключаем клики у «стрелок» и т.п. на фоне */
html.is-modal-open .swiper-button-next,
html.is-modal-open .swiper-button-prev,
html.is-modal-open .tns-controls,
html.is-modal-open .slick-arrow{
  pointer-events: none !important;
}
/* --- safety: модалка поверх всего и клики не перехватываются чужими слоями --- */
.modal{ z-index: 200000 !important; }
.modal__overlay{ z-index: 200001 !important; pointer-events:auto; }
.modal__dialog{ z-index: 200002 !important; pointer-events:auto; }
.modal__dialog *{ pointer-events:auto; }           /* контент кликается всегда */
