/* Figma redesign: fg-forms. Все правила скоупить по body-классу страницы. */

/* fg-forms.css — login / register / forgotten / reset / offer_form
   Scope strictly to body[class*="account-login"], body[class*="account-register"],
   body[class*="account-forgotten"], body[class*="account-offer"].
   Do not touch shared/global selectors. */

:root {
  --fg-blue: #0066B2;
  --fg-blue-hover: #00538F;
  --fg-navy: #2E437B;
  --fg-navy-deep: #000E37;
  --fg-muted: #5B6D9C;
  --fg-line: #E3E8EF;
  --fg-soft: #F1F5FA;
  --fg-green: #23B47E;
}

/* ---------- shared card/hero look for all four form pages ---------- */
body[class*="account-login"] #content,
body[class*="account-register"] #content,
body[class*="account-forgotten"] #content,
body[class*="account-offer"] #content {
  font-family: 'Rubik', Arial, sans-serif;
}

body[class*="account-login"] .container > h1,
body[class*="account-register"] .container > h1,
body[class*="account-forgotten"] #content > h1,
body[class*="account-offer"] .page-title {
  color: var(--fg-navy-deep);
  font-family: 'Rubik', Arial, sans-serif;
  font-weight: 600;
}

/* hero band on account-offer pages (add/edit forms) */
body[class*="account-offer"] .page-cover {
  background: linear-gradient(180deg, #000E37 0%, #0065B1 100%);
  padding: 48px 20px;
  text-align: center;
}
body[class*="account-offer"] .page-cover .page-title {
  color: #fff;
  font-size: 30px;
  line-height: 1.3;
  max-width: 760px;
  margin: 0 auto;
}

/* breadcrumbs muted */
body[class*="account-login"] .breadcrumb,
body[class*="account-register"] .breadcrumb,
body[class*="account-forgotten"] .breadcrumb {
  background: transparent;
  padding: 14px 0;
  font-size: 13px;
  color: var(--fg-muted);
}
body[class*="account-login"] .breadcrumb a,
body[class*="account-register"] .breadcrumb a,
body[class*="account-forgotten"] .breadcrumb a {
  color: var(--fg-muted);
}

/* ---------- generic form card ---------- */
body[class*="account-login"] .well,
body[class*="account-register"] #content,
body[class*="account-forgotten"] #content,
body[class*="account-offer"] .content-box-inner {
  background: #fff;
  border: 1px solid var(--fg-line);
  border-radius: 12px;
  box-shadow: none;
}

body[class*="account-login"] .well {
  padding: 24px;
}

body[class*="account-register"] #content,
body[class*="account-forgotten"] #content {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px;
}

body[class*="account-offer"] .content-box-inner {
  max-width: 1180px;
  margin: 24px auto;
  padding: 32px;
}

/* ---------- headings inside cards ---------- */
body[class*="account-login"] .well h2 {
  color: var(--fg-blue);
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 12px;
}

body[class*="account-register"] fieldset legend,
body[class*="account-forgotten"] fieldset legend {
  color: var(--fg-blue);
  font-size: 17px;
  font-weight: 600;
  border-bottom: 1px solid var(--fg-line);
  padding-bottom: 8px;
  margin-bottom: 16px;
}

/* ---------- labels ---------- */
body[class*="account-login"] .control-label,
body[class*="account-register"] .control-label,
body[class*="account-forgotten"] .control-label,
body[class*="account-offer"] fieldset > label {
  color: var(--fg-blue);
  font-weight: 500;
  font-size: 14px;
}

/* ---------- inputs ---------- */
body[class*="account-login"] select.form-control,
body[class*="account-register"] select.form-control,
body[class*="account-forgotten"] select.form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 40px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230066B2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
body[class*="account-login"] select.form-control::-ms-expand,
body[class*="account-register"] select.form-control::-ms-expand,
body[class*="account-forgotten"] select.form-control::-ms-expand { display: none; }
body[class*="account-login"] .form-control,
body[class*="account-register"] .form-control,
body[class*="account-forgotten"] .form-control,
body[class*="account-offer"] .input-text,
body[class*="account-offer"] textarea,
body[class*="account-offer"] select {
  border: 1px solid var(--fg-line);
  border-radius: 8px;
  padding: 10px 14px;
  height: 44px;
  font-family: 'Rubik', Arial, sans-serif;
  font-size: 14px;
  color: var(--fg-navy-deep);
  box-shadow: none;
  transition: border-color .15s ease;
  background-color: #fff;
  background-image: none;
}
body[class*="account-offer"] select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230066B2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
body[class*="account-offer"] select::-ms-expand { display: none; }
/* Listify вешает ionicon-стрелку на обёртку .select — иначе две стрелки */
body[class*="account-offer"] .select:after,
body[class*="account-offer"] .select:before {
  display: none !important;
  content: none !important;
}
body[class*="account-offer"] textarea {
  height: auto;
}
body[class*="account-login"] .form-control:focus,
body[class*="account-register"] .form-control:focus,
body[class*="account-forgotten"] .form-control:focus,
body[class*="account-offer"] .input-text:focus,
body[class*="account-offer"] textarea:focus,
body[class*="account-offer"] select:focus {
  border-color: var(--fg-blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,102,178,.12);
}

/* ---------- buttons ---------- */
body[class*="account-login"] .btn-primary,
body[class*="account-register"] .btn-primary,
body[class*="account-forgotten"] .btn-primary,
body[class*="account-offer"] .job-manager-form > button,
body[class*="account-offer"] .job-manager-form button.button,
body[class*="account-offer"] .job-manager-form button[name="only_save"] {
  background: var(--fg-blue);
  border-color: var(--fg-blue);
  border-radius: 8px;
  height: 44px;
  line-height: 22px;
  padding: 0 24px;
  font-weight: 500;
  font-family: 'Rubik', Arial, sans-serif;
  transition: background-color .15s ease;
}
body[class*="account-login"] .btn-primary:hover,
body[class*="account-register"] .btn-primary:hover,
body[class*="account-forgotten"] .btn-primary:hover,
body[class*="account-offer"] .job-manager-form button:hover {
  background: var(--fg-blue-hover);
  border-color: var(--fg-blue-hover);
}

body[class*="account-login"] .btn-default,
body[class*="account-forgotten"] .btn-default {
  border-radius: 8px;
  height: 44px;
  line-height: 22px;
  border: 1px solid var(--fg-line);
  color: var(--fg-blue);
  background: #fff;
}

/* ---------- alerts ---------- */
body[class*="account-login"] .alert,
body[class*="account-register"] .alert,
body[class*="account-forgotten"] .alert,
body[class*="account-offer"] .alert {
  border-radius: 8px;
  border: none;
  font-size: 14px;
}
body[class*="account-login"] .alert-danger,
body[class*="account-register"] .alert-danger,
body[class*="account-forgotten"] .alert-danger,
body[class*="account-offer"] .form_error {
  background: #FDECEC;
  color: #B3261E;
}
body[class*="account-login"] .alert-success,
body[class*="account-register"] .alert-success,
body[class*="account-forgotten"] .alert-success {
  background: #E8F7F0;
  color: var(--fg-green);
}
body[class*="account-offer"] .form_error {
  padding: 6px 10px;
  margin-top: 4px;
}

/* ---------- text-danger ---------- */
body[class*="account-register"] .text-danger,
body[class*="account-forgotten"] .text-danger {
  color: #B3261E;
  font-size: 13px;
  margin-top: 4px;
}

/* =========================================================
   account-offer (Создание/Редактирование сайта — /add/ /edit/)
   ========================================================= */

/* plan switcher cards (radio_switcher) */
body[class*="account-offer"] .radio_switcher {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin: 24px 0;
}
body[class*="account-offer"] .radio_switcher > div {
  flex: 1 1 220px;
  border: 1px solid var(--fg-line);
  border-radius: 12px;
  padding: 18px;
  position: relative;
  background: var(--fg-soft);
}
body[class*="account-offer"] .radio_switcher > div.checked {
  border-color: var(--fg-blue);
  background: #fff;
  box-shadow: 0 0 0 1px var(--fg-blue);
}
body[class*="account-offer"] .radio_switcher label {
  cursor: pointer;
  display: block;
  opacity: 1 !important;
}
body[class*="account-offer"] .radio_switcher b {
  color: var(--fg-navy-deep);
  font-size: 16px;
}

/* generic fieldset spacing */
body[class*="account-offer"] .job-manager-form fieldset {
  margin-bottom: 20px;
  border: none;
  padding: 0;
}
body[class*="account-offer"] .job-manager-form .field {
  margin-top: 6px;
}
body[class*="account-offer"] .job-manager-form fieldset.fieldset_form_error .input-text,
body[class*="account-offer"] .job-manager-form fieldset.fieldset_form_error textarea {
  border-color: #B3261E;
}

/* file drop zones */
body[class*="account-offer"] .item_drop_wrap .item_drop {
  border: 1px dashed var(--fg-line);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  display: block;
  background: var(--fg-soft);
  cursor: pointer;
}
body[class*="account-offer"] .item_drop_wrap .item_drop .btn {
  color: var(--fg-blue);
  text-decoration: underline;
}
body[class*="account-offer"] .list_files .file_load {
  border: 1px solid var(--fg-line);
  border-radius: 8px;
  padding: 8px;
  margin-top: 10px;
}

/* checkbox / agreement rows */
body[class*="account-offer"] .create_account_checkbox {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 13px;
  color: var(--fg-muted);
}

/* "what to do after" note box */
body[class*="account-offer"] .content-box .border-top {
  border-top: 1px solid var(--fg-line);
  padding-top: 16px;
  margin-top: 24px;
  color: var(--fg-muted);
  font-size: 13px;
}

/* offer_form_error.tpl */
body[class*="account-offer"] .alert a {
  color: var(--fg-blue);
}

/* =========================================================
   Модалка «Авторизация» / «Регистрация» / «Забыли пароль»
   (#popup_login, #popup_register, #popup_restore — footer.tpl).
   Раньше эти попапы наследовали дефолтные стили темы:
   кнопка submit — input[type="submit"]{background:#2854A1} из
   old-inline_092024.css (плоская тёмно-синяя, не из палитры макета),
   поле — border:1px solid #E5E5E5;border-radius:4px (тоже не по токенам).
   Приводим к системе: кнопки — компонент 748:38682 (тот же градиент
   180deg #2E437B→#0066B2 + белая обводка 1.3px, что уже используется
   в figma-home.css .hdr__right .btn--primary и gw6-pro.css); поля —
   компонент 768:29190 (Input Search): border 1px solid #DDDDDD,
   radius 6px, placeholder #96A1BD. Скоуп по #id попапа, чтобы бить
   специфичность global input[type="submit"] (0,0,1,1) без !important. */

#popup_login,
#popup_register,
#popup_restore {
  font-family: 'Rubik', Arial, sans-serif;
  position: relative;
}

/* ---------- минимальный крестик закрытия (вместо Ionicons \f129 50px) ---------- */
.mfp-content .mfp-close {
  width: 28px !important;
  height: 28px !important;
  top: 14px !important;
  right: 14px !important;
  opacity: 1 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  cursor: pointer;
}
.mfp-content .mfp-close:before,
.mfp-content .mfp-close:after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 14px !important;
  height: 1.5px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #96A1BD !important;
  border: 0 !important;
  border-radius: 1px;
  font-size: 0 !important;
  line-height: 0 !important;
  display: block !important;
  font-family: none !important;
  speak: none !important;
}
.mfp-content .mfp-close:before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
.mfp-content .mfp-close:after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
.mfp-content .mfp-close:hover:before,
.mfp-content .mfp-close:hover:after {
  background: #000E37 !important;
}
.mfp-content .mfp-close:hover {
  opacity: 1 !important;
}

/* ---------- ссылки Регистрация | Забыли: ровный разделитель ---------- */
#popup_login .popup-auth-links,
#popup_restore .popup-auth-links,
#popup_login .woocommerce-LostPassword.popup-auth-links {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 12px;
  margin: 8px 0 0;
  font-size: 14px;
  color: #5B6D9C;
  min-height: 0;
}
#popup_login .popup-auth-links a,
#popup_restore .popup-auth-links a {
  color: #0066B2 !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  line-height: 1.3;
  white-space: nowrap;
}
#popup_login .popup-auth-links a:hover,
#popup_restore .popup-auth-links a:hover {
  text-decoration: underline;
}
#popup_login .popup-auth-links__sep,
#popup_restore .popup-auth-links__sep {
  display: inline-block;
  width: 1px;
  height: 14px;
  background: #C5D0E0;
  flex: 0 0 auto;
  align-self: center;
  margin: 0;
}

#popup_login .password_wrap label,
#popup_register .password_wrap label,
#popup_restore label,
#popup_login p > label,
#popup_register p > label {
  color: var(--fg-muted);
  font-size: 14px;
  font-weight: 400;
  display: block;
  margin-bottom: 6px;
}

/* ---------- поля ввода (компонент 768:29190) ---------- */
#popup_login input[type="email"],
#popup_login input[type="password"],
#popup_register input[type="email"],
#popup_register input[type="password"],
#popup_register input[type="text"],
#popup_register input[type="tel"],
#popup_register input[type="phone"],
#popup_restore input[type="email"] {
  height: 48px;
  border: 1px solid #DDDDDD;
  border-radius: 6px;
  padding: 0 16px;
  font-family: 'Rubik', Arial, sans-serif;
  font-size: 15px;
  color: #000F38;
  background: #FFFFFF;
  box-sizing: border-box;
  transition: border-color .15s ease;
}
#popup_login input[type="email"]::placeholder,
#popup_login input[type="password"]::placeholder,
#popup_register input[type="email"]::placeholder,
#popup_register input[type="password"]::placeholder,
#popup_register input[type="text"]::placeholder,
#popup_register input[type="tel"]::placeholder,
#popup_restore input[type="email"]::placeholder {
  color: #96A1BD;
  font-size: 15px;
}
#popup_login input[type="email"]:focus,
#popup_login input[type="password"]:focus,
#popup_register input[type="email"]:focus,
#popup_register input[type="password"]:focus,
#popup_register input[type="text"]:focus,
#popup_register input[type="tel"]:focus,
#popup_restore input[type="email"]:focus {
  border-color: #0066B2;
  outline: none;
}

/* Пароль-глаз лежит внутри инпута справа — даём место, не перекрывая текст */
#popup_login .password_wrap input[type="password"],
#popup_login .password_wrap input[type="text"],
#popup_register .password_wrap input[type="password"],
#popup_register .password_wrap input[type="text"],
#popup_change_password .password_wrap input[type="password"],
#popup_change_password .password_wrap input[type="text"] {
  padding-right: 44px;
}
#popup_login .password_wrap .password_eye,
#popup_register .password_wrap .password_eye,
#popup_change_password .password_wrap .password_eye {
  width: 28px;
  height: 28px;
  right: 10px;
  bottom: 10px; /* 48px field: (48-28)/2 */
  background-size: 16px 16px;
}

/* ---------- основная кнопка (компонент 748:38682) ---------- */
#popup_login input[type="submit"],
#popup_register input[type="submit"],
#popup_restore input[type="submit"] {
  background: linear-gradient(180deg, #2E437B 0%, #0066B2 100%);
  border: 1.3px solid #FFFFFF;
  box-shadow: 0 0 0 1.3px transparent;
  border-radius: 6px;
  height: 48px;
  min-width: 160px;
  padding: 0 28px;
  color: #FFFFFF;
  font-family: 'Rubik', Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  box-sizing: border-box;
  cursor: pointer;
  transition: background .15s ease;
}
#popup_login input[type="submit"]:hover,
#popup_register input[type="submit"]:hover,
#popup_restore input[type="submit"]:hover {
  background: linear-gradient(180deg, #243562 0%, #00538F 100%);
}
#popup_login input[type="submit"]:active,
#popup_register input[type="submit"]:active,
#popup_restore input[type="submit"]:active {
  background: linear-gradient(180deg, #1A2748 0%, #003B5F 100%);
}

/* ---------- чекбокс «запомнить» ----------
   style2.min.css: input[type=checkbox]{appearance:none} + border #e5e5e5
   без :checked — галка никогда не рисуется. Ниже полный custom box. */
#popup_login .form-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 20px;
  margin: 8px 0 0;
}
/* p > label из блока выше (display:block) — перебиваем на rememberme */
#popup_login p.form-row > label.woocommerce-form-login__rememberme,
#popup_login .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px;
  min-height: 48px;
  margin: 0 !important;
  padding: 0;
  color: #5B6D9C !important;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
  vertical-align: middle;
}
#popup_login .woocommerce-form-login__rememberme span {
  color: #5B6D9C;
  font-size: 14px;
  line-height: 1.2;
}
/* Кастомный квадрат 18×18, checked = brand blue + white ✓ */
#popup_login .woocommerce-form-login__rememberme input[type="checkbox"],
#popup_login #rememberme {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 18px;
  border: 1.5px solid #C5D0E0 !important;
  border-radius: 4px !important;
  background: #FFFFFF !important;
  background-image: none !important;
  box-shadow: none !important;
  cursor: pointer;
  position: relative !important;
  vertical-align: middle;
  outline: none;
  transition: background .12s ease, border-color .12s ease;
}
#popup_login .woocommerce-form-login__rememberme input[type="checkbox"]:hover,
#popup_login #rememberme:hover {
  border-color: #0066B2 !important;
}
#popup_login .woocommerce-form-login__rememberme input[type="checkbox"]:focus-visible,
#popup_login #rememberme:focus-visible {
  outline: 2px solid rgba(0, 102, 178, 0.35);
  outline-offset: 2px;
}
#popup_login .woocommerce-form-login__rememberme input[type="checkbox"]:checked,
#popup_login #rememberme:checked {
  background: #0066B2 !important;
  border-color: #0066B2 !important;
}
/* Галка через ::after (appearance:none убирает native check) */
#popup_login .woocommerce-form-login__rememberme input[type="checkbox"]::after,
#popup_login #rememberme::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 1.5px !important;
  width: 5px !important;
  height: 9px !important;
  border: solid #FFFFFF !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) scale(0);
  opacity: 0;
  transition: opacity .12s ease, transform .12s ease;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}
#popup_login .woocommerce-form-login__rememberme input[type="checkbox"]:checked::after,
#popup_login #rememberme:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

/* ---------- ссылки «Регистрация | Забыли пароль» — см. .popup-auth-links выше ---------- */
#popup_login .woocommerce-LostPassword:not(.popup-auth-links) {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  font-size: 14px;
  color: #5B6D9C;
}
#popup_login .woocommerce-LostPassword:not(.popup-auth-links) a {
  color: #0066B2;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
}

@media (max-width: 800px) {
  #popup_login input[type="submit"],
  #popup_register input[type="submit"],
  #popup_restore input[type="submit"] {
    width: 100%;
  }
}

/* Кнопка «Зарегистрироваться» в #popup_register — на самом деле
   <button class="button circle w100">, а не input[type=submit]
   (см. footer.tpl). Класс .circle в additional_102024.css рисует
   :after — зелёный (var(--bg-green), вне палитры макета) кружок-бейдж
   снизу по центру, унаследованный от другого компонента (job listing
   circle-button) и здесь лишний/бракованный. Приводим кнопку к тому же
   виду, что и submit «Войти» (компонент 748:38682), и гасим decoy-круг. */
#popup_register button.button.circle {
  position: static;
  background: linear-gradient(180deg, #2E437B 0%, #0066B2 100%);
  border: 1.3px solid #FFFFFF;
  border-radius: 6px;
  min-width: 160px;
  padding: 0 28px;
  height: 48px;
  line-height: 48px;
  color: #FFFFFF;
  font-family: 'Rubik', Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  box-sizing: border-box;
  cursor: pointer;
}
#popup_register button.button.circle:after {
  content: none;
  display: none;
}
#popup_register button.button.circle:hover {
  background: linear-gradient(180deg, #243562 0%, #00538F 100%);
}

/* Кнопка «Продолжить» на странице /index.php?route=account/register
   (register.tpl, .btn-primary) — приводим отдельно к градиенту компонента
   748:38682, не трогая общее .btn-primary правило выше (оно используется
   и на login/forgotten/offer, которые вне скоупа этой задачи). */
body[class*="account-register"] .btn-primary {
  background: linear-gradient(180deg, #2E437B 0%, #0066B2 100%);
  border: 1.3px solid #FFFFFF;
}
body[class*="account-register"] .btn-primary:hover {
  background: linear-gradient(180deg, #243562 0%, #00538F 100%);
  border-color: #FFFFFF;
}

/* ---------- /add/ : нечитаемый текст на синих подложках ----------
   Замер контраста (WCAG) на живой странице:
     `.fieldset_discount p`  — #5B6D9C на #0066B2 → 1.16 : 1
     `.item_drop .desc .btn` — #0066B2 на #0066B2 → 1.00 : 1 (текст сливался полностью)
   Минимум для обычного текста 4.5:1. Оба блока имеют синюю заливку из палитры,
   значит менять надо цвет ТЕКСТА на белый, а не заливку. */
body.account-offer-add .fieldset_discount,
body.account-offer-add .fieldset_discount p,
body.account-offer-add .fieldset_discount label,
body.account-offer-add .fieldset_discount span {
	color: #FFFFFF;
}

body.account-offer-add .item_drop .desc .btn {
	color: #FFFFFF;
}

/* Декоративный кружок из компонента вакансий (`.button.circle:after`)
   вылезал под кнопкой «Предпросмотр» — к этой форме он отношения не имеет. */
body.account-offer-add .button.circle:after {
	content: none;
}

/* Правило выше проигрывало по специфичности: `#content .site-main article p`
   из `gw11-info.css` имеет ID и весит (1,2,1) против моих (0,2,0).
   Третий раз за прогон побеждает не порядок файлов, а ID в селекторе. */
body.account-offer-add #content .site-main article .fieldset_discount,
body.account-offer-add #content .site-main article .fieldset_discount p,
body.account-offer-add #content .site-main article .fieldset_discount label,
body.account-offer-add #content .site-main article .fieldset_discount span {
	color: #FFFFFF;
}

/* ---------- Регистрация / логин: кнопки и форма по Figma (не дефолт Bootstrap) ---------- */
body.account-register #content,
body.account-login #content,
body.account-forgotten #content {
  max-width: 720px;
  margin: 0 auto 48px;
  padding: 32px 24px 40px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 5px 24px rgba(193, 200, 218, 0.35);
  box-sizing: border-box;
}
body.account-register h1,
body.account-login #content h1,
body.account-login #content h2 {
  color: #0066B2 !important;
  font-family: Rubik, Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
  margin: 0 0 16px !important;
}
body.account-register .form-horizontal .form-group,
body.account-login .form-group {
  margin-bottom: 16px;
}
body.account-register .form-control,
body.account-login .form-control,
body.account-forgotten .form-control {
  height: 48px !important;
  border: 1px solid #DDDDDD !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-size: 16px !important;
  color: #000E37 !important;
  box-shadow: none !important;
}
body.account-register .form-control:focus,
body.account-login .form-control:focus {
  border-color: #0066B2 !important;
  outline: none !important;
}
/* Primary buttons — Figma 748:38682 gradient */
body.account-register .btn-primary,
body.account-login .btn-primary,
body.account-forgotten .btn-primary,
body.account-register input.btn-primary,
body.account-login input.btn-primary,
body[class*="account-offer"] .job-manager-form > button.button,
body[class*="account-offer"] .job-manager-form button.button,
body[class*="account-offer"] .job-manager-form button[name="only_save"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px !important;
  padding: 12px 28px !important;
  border-radius: 6px !important;
  border: 1.3px solid #FFFFFF !important;
  background: linear-gradient(180deg, #2E437B 0%, #0066B2 100%) !important;
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  font-family: Rubik, Arial, sans-serif !important;
  text-shadow: none !important;
  box-shadow: 0 4px 12px rgba(0, 102, 178, 0.25) !important;
  cursor: pointer;
  text-decoration: none !important;
}
body.account-register .btn-primary:hover,
body.account-login .btn-primary:hover,
body[class*="account-offer"] .job-manager-form button.button:hover,
body[class*="account-offer"] .job-manager-form button[name="only_save"]:hover {
  background: linear-gradient(180deg, #243562 0%, #00538F 100%) !important;
  color: #fff !important;
}
/* Kill green circle ::after on .button.circle leftovers */
body.account-register .btn-primary::after,
body.account-login .btn-primary::after,
body[class*="account-offer"] .button::after {
  content: none !important;
  display: none !important;
}
body.account-login .well {
  border: 1px solid #E3E8EF !important;
  border-radius: 12px !important;
  background: #FAFCFF !important;
  box-shadow: none !important;
  padding: 24px !important;
}
body.account-register .control-label,
body.account-login .control-label {
  color: #5B6D9C !important;
  font-weight: 400 !important;
  font-size: 14px !important;
}
/* Модалки auth — primary как в макете */
#popup_login input[type="submit"],
#popup_register input[type="submit"],
#popup_restore input[type="submit"],
#popup_login button[type="submit"],
#popup_register button[type="submit"] {
  background: linear-gradient(180deg, #2E437B 0%, #0066B2 100%) !important;
  border: 1.3px solid #FFFFFF !important;
  border-radius: 6px !important;
  color: #fff !important;
  min-height: 48px;
  font-weight: 500 !important;
}
#popup_login input[type="submit"]::after,
#popup_register input[type="submit"]::after {
  content: none !important;
}

/* Shared subscribe modal — replaces the gray photo discount popup. */
#popup_subscribe_discount.sp-sub-modal {
  background: #fff !important;
  background-image: none !important;
  max-width: 460px;
  margin: 40px auto;
  padding: 28px 28px 24px !important;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(0, 14, 55, 0.18);
  font-family: 'Rubik', Arial, sans-serif;
  color: #000E37;
}
#popup_subscribe_discount.sp-sub-modal .popup-title {
  margin: 0 36px 8px 0;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
  color: #000E37;
}
#popup_subscribe_discount.sp-sub-modal .sp-sub-modal__lead {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.45;
  color: #5B6D9C;
  font-style: normal;
}
#popup_subscribe_discount.sp-sub-modal .input1,
#popup_subscribe_discount.sp-sub-modal .input2,
#popup_subscribe_discount.sp-sub-modal input[type="text"],
#popup_subscribe_discount.sp-sub-modal input[type="email"] {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid #DDDDDD;
  border-radius: 8px;
  height: 48px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 16px;
  text-align: left;
  font-family: 'Rubik', Arial, sans-serif;
  font-size: 15px;
  color: #000E37;
}
#popup_subscribe_discount.sp-sub-modal input::placeholder { color: #96A1BD; }
#popup_subscribe_discount.sp-sub-modal input:focus {
  border-color: #0066B2;
  outline: none;
}
#popup_subscribe_discount.sp-sub-modal input[type="submit"] {
  width: 100%;
  height: 48px;
  margin-top: 8px;
  border-radius: 8px;
  border: 0;
  background: linear-gradient(180deg, #2E437B 0%, #0066B2 100%) !important;
  color: #fff !important;
  font-family: 'Rubik', Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
#popup_subscribe_discount.sp-sub-modal .form-row { margin: 0; }
#popup_subscribe_discount.sp-sub-modal .sp-sub-modal__note {
  margin: 4px 0 12px;
  font-size: 12px;
  line-height: 1.45;
  color: #5B6D9C;
}
#popup_subscribe_discount.sp-sub-modal .sp-sub-modal__note a {
  color: #0066B2;
  text-decoration: underline;
}
#popup_subscribe_discount.sp-sub-modal .sp-sub-modal__check {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.4;
  color: #000E37;
  cursor: pointer;
}
#popup_subscribe_discount.sp-sub-modal .sp-sub-modal__check input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  #popup_subscribe_discount.sp-sub-modal {
    padding: 24px 18px 18px !important;
    background: #fff !important;
  }
}

/* Side newsletter banner — Figma 889:54589 «Баннеры закреплённые».
   Closed: only the vertical tab sticks to the right edge.
   Open: the blue card slides in. Inputs and the close button do not grow on hover. */
.open-popup_subscribe footer,
.open-popup_subscribe .footer_copyright,
.open-popup_subscribe #content,
.open-popup_subscribe header {
  filter: none;
}
.popup_subscribe {
  display: flex;
  align-items: flex-start;
  position: fixed;
  z-index: 1200;
  top: 22vh;
  right: 0;
  width: max-content;
  max-width: 100vw;
  margin: 0;
  padding: 0;
  background: none;
  background-image: none;
  text-align: left;
  transform: translateX(calc(100% - 38px));
  transition: transform .45s ease;
  filter: none;
}
.popup_subscribe.active {
  right: 0;
  transform: translateX(0);
}
.popup_subscribe:not(.active) .popup_subscribe__card {
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear .45s;
}
.popup_subscribe.active .popup_subscribe__card {
  visibility: visible;
  pointer-events: auto;
  transition: visibility 0s;
}
.popup_subscribe .popup_subscribe_name {
  position: relative;
  left: auto;
  top: auto;
  flex: 0 0 38px;
  width: 38px;
  height: 182px;
  margin: 0;
  padding: 16px 6px 14px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  border: 2px solid #FF6C1D;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 0 20px #fff, 0 0 40px #ff1e00, 0 2px 8px rgba(0, 0, 0, .25);
  color: #0066B2;
  cursor: pointer;
  transform: none;
  text-transform: none;
  font-weight: 500;
  z-index: 2;
}
.popup_subscribe .popup_subscribe_name:hover,
.popup_subscribe .popup_subscribe_name:focus {
  background: #fff;
  color: #0066B2;
  outline: none;
  transform: none;
}
.popup_subscribe_name__ico {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.popup_subscribe_name__txt {
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: Rubik, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0;
  color: #0066B2;
  white-space: nowrap;
}
.popup_subscribe__card {
  position: relative;
  width: 680px;
  max-width: calc(100vw - 38px);
  min-height: 342px;
  box-sizing: border-box;
  margin: 0;
  padding: 12px 23px 14px;
  border-radius: 6px;
  background: #1a5bff url(/_html/images/nl/subscribe-bg.jpg) center / cover no-repeat;
  box-shadow: 0 5px 20px rgba(193, 200, 218, .4), 0 0 0 1px rgba(255, 255, 255, .35);
  color: #fff;
  font-family: Rubik, Arial, sans-serif;
  overflow: hidden;
}
.popup_subscribe .close,
.popup_subscribe .close:hover,
.popup_subscribe .close:focus {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-radius: 4px;
  box-shadow: none;
  transform: none;
  cursor: pointer;
}
.popup_subscribe .close svg {
  width: 26px;
  height: 26px;
}
.popup_subscribe .name {
  margin: 0 40px 12px 0;
  color: #fff;
  font-family: Rubik, Arial, sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 28px;
  text-transform: none;
}
.popup_subscribe .name_after {
  margin: 0 0 16px;
  color: #fff;
  font-family: Rubik, Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 26px;
  text-transform: none;
}
.popup_subscribe .description {
  max-width: 520px;
  margin: 0 0 24px;
  color: #fff;
  font-family: Rubik, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 21px;
  text-transform: none;
}
.popup_subscribe .js-form {
  max-width: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.popup_subscribe .js-form-result:empty {
  display: none;
}
.popup_subscribe .success,
.popup_subscribe .alert {
  margin: 0;
  padding: 8px 12px;
  border-radius: 6px;
  background: rgba(0, 14, 55, .35);
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
}
.popup_subscribe .js-form input.w100,
.popup_subscribe .js-form input[type="text"],
.popup_subscribe .js-form input[type="email"] {
  width: 273px;
  max-width: 100%;
  height: 35px;
  min-height: 35px;
  margin: 0;
  padding: 8px 16px;
  box-sizing: border-box;
  border: 1px solid #fff;
  border-radius: 6px;
  background: transparent;
  background-image: none;
  box-shadow: none;
  color: #fff;
  text-align: left;
  font-family: Rubik, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 19px;
  transform: none;
}
.popup_subscribe .js-form input::placeholder {
  color: #fff;
  opacity: 1;
}
.popup_subscribe .js-form input:hover,
.popup_subscribe .js-form input:focus {
  height: 35px;
  min-height: 35px;
  border-color: #fff;
  background: transparent;
  box-shadow: none;
  outline: none;
  transform: none;
}
.popup_subscribe .js-form button,
.popup_subscribe .js-form button:hover,
.popup_subscribe .js-form button:focus {
  width: 273px;
  max-width: 100%;
  height: 38px;
  min-height: 38px;
  margin: 0;
  padding: 0 16px;
  white-space: nowrap;
  flex-wrap: nowrap;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 2px solid #FF6C1D;
  border-radius: 6px;
  background: #fff;
  background-image: none;
  box-shadow: 0 0 10px rgba(255, 108, 29, .35);
  color: #0066B2;
  font-family: Rubik, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  text-transform: none;
  text-align: center;
  cursor: pointer;
  transform: none;
  overflow: visible;
}
.popup_subscribe .js-form button span {
  white-space: nowrap;
  line-height: 22px;
}
.popup_subscribe .js-form button svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.popup_subscribe button::before,
.popup_subscribe button::after {
  content: none;
  display: none;
}
.popup_subscribe .text_after_button {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  max-width: 100%;
  margin: 12px 0 0;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0, 102, 178, .25);
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
}
.popup_subscribe .text_after_button a,
.popup_subscribe .text_after_button a:hover {
  color: #fff;
  border: 0;
  text-decoration: none;
}
@media (max-width: 760px) {
  .popup_subscribe {
    top: 88px;
  }
  .popup_subscribe__card {
    width: calc(100vw - 38px);
    min-height: 0;
    padding: 16px 14px 14px;
    background-position: center center;
  }
  .popup_subscribe .js-form button,
  .popup_subscribe .js-form button:hover,
  .popup_subscribe .js-form button:focus {
    min-width: 0;
    white-space: nowrap;
  }
  .popup_subscribe .name {
    font-size: 20px;
    line-height: 24px;
  }
  .popup_subscribe .name_after {
    font-size: 16px;
    line-height: 20px;
  }
  .popup_subscribe .description {
    font-size: 15px;
    line-height: 19px;
    margin-bottom: 16px;
  }
  .popup_subscribe .js-form input.w100,
  .popup_subscribe .js-form input[type="text"],
  .popup_subscribe .js-form input[type="email"] {
    width: 64%;
  }
  .popup_subscribe .js-form button,
  .popup_subscribe .js-form button:hover,
  .popup_subscribe .js-form button:focus {
    width: 100%;
  }
  .popup_subscribe .text_after_button {
    font-size: 12px;
    line-height: 16px;
  }
}
