/* ультраводород.рф — дополнения REBORN LAB 09.11.2026: окно записи над шапкой, шрифт полей, кнопки контактов справа, плашка cookie.
   Цвета и шрифты — из родного дизайна (#38728e, #49afdf, #adc71e, GothaPro). */

/* окно записи было под закреплённой шапкой (у шапки z-index 9999) */
.modal { z-index: 10060 !important; }
.modal-backdrop { z-index: 10055 !important; }
.modal .form-control, .modal .form-control::placeholder,
.form-control.fontAwesome, .form-control.fontAwesome::placeholder { font-family: 'GothaProLig', 'Helvetica', Arial, sans-serif; }
.checkboxLabel a { color: inherit; text-decoration: underline; }

/* кнопки контактов справа */
.uvfab { position: fixed; right: 18px; top: 50%; transform: translateY(-50%); z-index: 9000; display: flex; flex-direction: column; gap: 12px;
  transition: opacity .25s, visibility .25s; }
.uvfab.uv-hide { opacity: 0; visibility: hidden; }
.uvfab a { position: relative; width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: #49afdf; color: #fff; box-shadow: 0 6px 18px rgba(56,114,142,.35); text-decoration: none; transition: transform .2s, background .2s; }
.uvfab a:hover, .uvfab a:focus-visible { transform: scale(1.08); background: #38728e; color: #fff; }
.uvfab a.uv-call { background: #adc71e; color: #1d2b33; }
.uvfab a.uv-call:hover { background: #9bb316; color: #1d2b33; }
.uvfab svg { width: 24px; height: 24px; fill: currentColor; }
.uvfab a::after { content: attr(data-t); position: absolute; right: 64px; top: 50%; transform: translateY(-50%); white-space: nowrap;
  background: #38728e; color: #fff; font: 14px/1 'GothaProMed', Arial, sans-serif; padding: 8px 12px; border-radius: 16px; opacity: 0; pointer-events: none; transition: opacity .2s; }
.uvfab a:hover::after { opacity: 1; }
@media (max-width: 767px) {
  .uvfab { right: 10px; top: auto; bottom: 84px; transform: none; gap: 10px; }
  .uvfab a { width: 46px; height: 46px; }
  .uvfab a::after { display: none; }
}

/* плашка cookie */
.uvck { position: fixed; left: 18px; bottom: 18px; z-index: 10070; max-width: 420px; background: #fff; color: #1d2b33; border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18); border-top: 4px solid #49afdf; padding: 18px 20px; font: 15px/1.45 'GothaProLig', Arial, sans-serif; display: none; }
.uvck.on { display: block; }
.uvck a { color: #38728e; text-decoration: underline; }
.uvck button { margin-top: 12px; border: 2px solid #49afdf; background: #49afdf; color: #fff; border-radius: 30px; padding: 10px 28px; cursor: pointer;
  font: 15px/1 'GothaProBol', Arial, sans-serif; text-transform: uppercase; letter-spacing: .03em; transition: background .2s, color .2s; }
.uvck button:hover { background: #fff; color: #38728e; }
@media (max-width: 767px) { .uvck { left: 10px; right: 10px; bottom: 10px; max-width: none; } }

/* ===== окна записи: крупный крестик, кнопка на всю ширину на телефоне ===== */
.modal .close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border-radius: 50%; font-size: 34px; line-height: 40px; text-align: center;
  opacity: .75; color: #38728e; text-shadow: none; background: #eaf4f9; z-index: 2; }
.modal .close:hover { opacity: 1; background: #d6ebf5; }
.modal .modal-header { padding-right: 60px; position: relative; }
@media (max-width: 767px) {
  .modal-dialog { margin: 12px; }
  .modal .drwFormBtn, .modal button[type=submit], .modal .btn-modal { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  .toUp { display: none !important; }
}

/* ===== мобильная шапка (до 767px): логотип, телефон, меню ===== */
.uvhd, .uvnav, .uvov { display: none; }
@media (max-width: 767px) {
  .menu, .fixed { display: none !important; }
  .uvhd { display: flex; position: fixed; top: 0; left: 0; right: 0; height: 64px; z-index: 10000; align-items: center; justify-content: space-between;
    padding: 0 12px 0 14px; background: rgba(255,255,255,.97); box-shadow: 0 2px 14px rgba(56,114,142,.12); box-sizing: border-box; }
  .uvhd .lg img { height: 46px; display: block; }
  .uvhd .rt { display: flex; align-items: center; gap: 10px; }
  .uvhd .ic { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 0; padding: 0; cursor: pointer; }
  .uvhd .ic svg { width: 22px; height: 22px; fill: currentColor; }
  .uvhd .ph { background: #adc71e; color: #1d2b33; }
  .uvhd .bg { background: #49afdf; color: #fff; }
  .uvov { display: block; position: fixed; inset: 0; background: rgba(20,40,50,.45); z-index: 10001; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
  .uvnav { display: flex; flex-direction: column; position: fixed; top: 0; right: 0; width: min(88vw, 360px); height: 100vh; height: 100dvh; z-index: 10002; background: #fff;
    box-shadow: -8px 0 30px rgba(0,0,0,.15); transform: translateX(105%); transition: transform .3s ease; overflow-y: auto; box-sizing: border-box; padding: 0 20px 24px; }
  body.uvopen .uvov { opacity: 1; visibility: visible; }
  body.uvopen .uvnav { transform: none; }
  body.uvopen { overflow: hidden; }
  .uvnav .uvn-top { display: flex; align-items: center; justify-content: space-between; height: 64px; flex: none; border-bottom: 1px solid #e3eef3; margin-bottom: 8px; }
  .uvnav .uvn-top img { height: 46px; }
  .uvnav .uvn-x { width: 44px; height: 44px; border-radius: 50%; border: 0; background: #eaf4f9; color: #38728e; font-size: 30px; line-height: 44px; cursor: pointer; padding: 0; }
  .uvnav .uvn-nav a { display: block; padding: 13px 2px; border-bottom: 1px solid #eef4f7; color: #1d2b33; text-decoration: none; font: 17px/1.3 'GothaProMed', Arial, sans-serif; }
  .uvnav .uvn-nav a:active { color: #38728e; }
  .uvnav .uvn-btns { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
  .uvnav .uvn-btns a { display: block; text-align: center; border-radius: 30px; padding: 14px 10px; text-decoration: none; font: 14px/1.2 'GothaProBol', Arial, sans-serif; text-transform: uppercase; letter-spacing: .02em; }
  .uvnav .b1 { background: #adc71e; color: #1d2b33; }
  .uvnav .b2 { border: 2px solid #49afdf; color: #1d2b33; }
  .uvnav .b3 { background: #49afdf; color: #fff; }
  .uvnav .uvn-ct { margin-top: 20px; font: 15px/1.5 'GothaProLig', Arial, sans-serif; color: #1d2b33; }
  .uvnav .uvn-ct a { color: #38728e; text-decoration: none; font-family: 'GothaProMed', Arial, sans-serif; font-size: 17px; }
  .uvnav .uvn-soc { display: flex; gap: 10px; margin-top: 14px; }
  .uvnav .uvn-soc a { width: 42px; height: 42px; border-radius: 50%; background: #49afdf; color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 18px; }
  .uvfab { bottom: 170px; right: 8px; gap: 8px; } .uvfab a { width: 42px; height: 42px; } .uvfab svg { width: 20px; height: 20px; }
}
@media (max-width: 767px) { .uvnav .uvn-soc svg { width: 20px; height: 20px; fill: currentColor; } }
@media (max-width: 767px) {
  body.uvopen .uvck, body.uvopen jdiv, body.uvopen .uvfab { display: none !important; }
  .uvnav .uvn-top img { height: 46px; width: auto; display: block; margin: 0; }
  .uvnav .uvn-x { flex: none; }
  .uvnav { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
}
/* машина в блоке «Когда требуется очистка» на телефоне закрывала текст — ставим её над списком */
@media (max-width: 767px) {
  .survcar { position: static !important; display: block !important; max-width: 72% !important; margin: 0 auto 6px; }
  .uvck { padding: 12px 14px; font-size: 13px; line-height: 1.4; display: none; align-items: center; gap: 12px; border-radius: 14px; }
  .uvck.on { display: flex; }
  .uvck br { display: none; }
  .uvck button { margin-top: 0; padding: 10px 16px; font-size: 13px; flex: none; }
}
/* окно записи — по центру экрана, кнопка по центру */
.modal-dialog { display: flex; align-items: center; min-height: calc(100vh - 60px); margin-top: 30px; margin-bottom: 30px; }
.modal-dialog .modal-content { width: 100%; }
.modal .drwFormBtn, .modal .btn-modal { display: block; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 767px) { .modal-dialog { min-height: calc(100vh - 24px); margin: 12px; } .uvck span { flex: 1; min-width: 0; } }
@media (max-width: 767px) { .uvck { bottom: 72px; } }
/* 09.11: меню на телефоне целиком в один экран, без прокрутки */
@media (max-width: 767px) {
  .uvnav { padding: 0 16px calc(12px + env(safe-area-inset-bottom)); }
  .uvnav .uvn-top { height: 56px; margin-bottom: 2px; }
  .uvnav .uvn-top img { height: 40px; }
  .uvnav .uvn-x { width: 40px; height: 40px; font-size: 26px; line-height: 40px; }
  .uvnav .uvn-nav a { padding: min(1.3vh, 11px) 2px; font-size: 16px; }
  .uvnav .uvn-btns { gap: 7px; margin-top: min(1.8vh, 14px); }
  .uvnav .uvn-btns a { padding: min(1.5vh, 12px) 8px; font-size: 13px; }
  .uvnav .uvn-ct { margin-top: min(1.8vh, 14px); font-size: 13px; line-height: 1.45; }
  .uvnav .uvn-ct a { font-size: 15px; }
  .uvnav .uvn-soc { margin-top: 8px; }
  .uvnav .uvn-soc a { width: 38px; height: 38px; }
}
/* окна .my_modal (страница партнёров): по центру, в стиле окна записи */
.my_modal:target { display: none; }
.my_modal.uv-on { display: flex !important; align-items: center; justify-content: center; overflow-y: auto; padding: 20px; box-sizing: border-box; }
body.uv-lock { overflow: hidden; }
.my_modal.uv-on .my_modal-dialog { margin: auto; max-width: 560px; width: 100%; }
.my_modal .my_modal-content { width: 100% !important; border-radius: 6px; font-family: 'Montserrat', sans-serif; }
.my_modal .my_modal-header { position: relative; padding: 20px 64px 0 24px; }
.my_modal .my_modal-title h2 { font-size: 20px; line-height: 1.3; font-weight: 700; text-transform: uppercase; margin: 0 0 14px; color: #1d2b33; }
.my_modal .my_modal-title hr { margin: 0; }
.my_modal .close { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; font-size: 34px; line-height: 42px; text-align: center;
  opacity: .75; color: #38728e; background: #eaf4f9; text-decoration: none; float: none; text-shadow: none; }
.my_modal .close:hover { opacity: 1; background: #d6ebf5; }
.my_modal .my_modal-body { padding: 18px 24px 24px; }
.my_modal .my_modal-body p { font-size: 16px; line-height: 1.45; margin: 0 0 12px; }
.my_modal .my_modal-body form > div[style] { max-width: none !important; }
.my_modal .form-control { width: 100%; height: 46px; margin-bottom: 12px; font-size: 16px; box-sizing: border-box; }
.my_modal .drwFormBtn { display: block; width: 100% !important; max-width: 320px; margin: 14px auto 0 !important; padding: 16px 20px !important; border-radius: 40px;
  background: #fff; color: #1d2b33; border: 2px solid #49afdf; font-weight: 700; font-size: 16px; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s; }
.my_modal .drwFormBtn:hover { background: #49afdf; color: #fff; }
@media (max-width: 767px) {
  .my_modal.uv-on { padding: 12px; align-items: flex-start; }
  .my_modal .my_modal-title h2 { font-size: 17px; }
  .my_modal .drwFormBtn { max-width: none; }
}
.my_modal .drwFormBtn { height: auto !important; min-height: 54px; line-height: 1.2 !important; }
body.uv-lock .uvck, body.modal-open .uvck, body.uv-lock .uvfab, body.modal-open .uvfab { display: none !important; }
