/* ====== 152-ФЗ: менеджер согласий (cookie-баннер, модалка настроек, чекбокс форм) ====== */
:root{
  --upak-green:#70b639;
  --upak-green-d:#5a9a2c;
  --upak-ink:#2c3039;
  --upak-muted:#6b7280;
  --upak-border:#e3e6ea;
}

/* --- Баннер cookie --- */
.upak-cookie{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:100000;
  max-width:1180px; margin:0 auto;
  background:#fff; color:var(--upak-ink);
  border:1px solid var(--upak-border); border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  padding:20px 22px;
  font-family:Manrope,-apple-system,Segoe UI,Roboto,sans-serif;
  display:flex; gap:20px; align-items:center; flex-wrap:wrap;
  animation:upakCookieUp .35s ease;
}
@keyframes upakCookieUp{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
.upak-cookie__text{flex:1 1 420px; font-size:14px; line-height:1.5}
.upak-cookie__text b{font-weight:700}
.upak-cookie__text a{color:var(--upak-green-d); text-decoration:underline}
.upak-cookie__actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.upak-btn{
  font-family:inherit; cursor:pointer; border-radius:9px; padding:12px 20px;
  font-size:14px; font-weight:700; border:1px solid transparent; line-height:1; transition:.15s;
}
.upak-btn--primary{background:var(--upak-green); color:#fff}
.upak-btn--primary:hover{background:var(--upak-green-d)}
.upak-btn--ghost{background:#fff; color:var(--upak-ink); border-color:var(--upak-border)}
.upak-btn--ghost:hover{border-color:var(--upak-muted)}
.upak-btn--link{background:transparent; color:var(--upak-muted); text-decoration:underline; padding:12px 8px; border:0}
.upak-btn--link:hover{color:var(--upak-ink)}

/* --- Модалка настроек --- */
.upak-modal{position:fixed; inset:0; z-index:100001; display:none; align-items:center; justify-content:center; padding:16px}
.upak-modal.is-open{display:flex}
.upak-modal__overlay{position:absolute; inset:0; background:rgba(20,24,31,.55)}
.upak-modal__box{
  position:relative; background:#fff; border-radius:16px; max-width:560px; width:100%;
  max-height:90vh; overflow:auto; padding:26px 26px 22px;
  font-family:Manrope,-apple-system,Segoe UI,Roboto,sans-serif; color:var(--upak-ink);
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.upak-modal__box h2{font-size:20px; font-weight:800; margin:0 0 6px}
.upak-modal__lead{font-size:14px; color:var(--upak-muted); margin:0 0 18px; line-height:1.5}
.upak-cat{border:1px solid var(--upak-border); border-radius:12px; padding:14px 16px; margin-bottom:12px; display:flex; gap:14px; align-items:flex-start}
.upak-cat__body{flex:1}
.upak-cat__body h3{font-size:15px; font-weight:700; margin:0 0 4px}
.upak-cat__body p{font-size:13px; color:var(--upak-muted); margin:0; line-height:1.45}
.upak-cat__ctrl{flex:0 0 auto; padding-top:2px}
.upak-cat__ctrl .locked{font-size:12px; color:var(--upak-green-d); font-weight:700}

/* переключатель */
.upak-switch{position:relative; display:inline-block; width:46px; height:26px}
.upak-switch input{opacity:0; width:0; height:0}
.upak-switch .slider{position:absolute; cursor:pointer; inset:0; background:#cfd4da; border-radius:26px; transition:.2s}
.upak-switch .slider:before{content:""; position:absolute; height:20px; width:20px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s}
.upak-switch input:checked + .slider{background:var(--upak-green)}
.upak-switch input:checked + .slider:before{transform:translateX(20px)}
.upak-modal__actions{display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:18px}

/* --- Чекбокс согласия в формах --- */
.upak-consent-field{margin:12px 0; font-family:Manrope,-apple-system,Segoe UI,Roboto,sans-serif; font-size:13px; line-height:1.45; color:var(--upak-ink)}
.upak-consent-field label{display:flex; gap:9px; align-items:flex-start; cursor:pointer; font-weight:400}
.upak-consent-field input[type=checkbox]{margin-top:2px; width:17px; height:17px; flex:0 0 auto; accent-color:var(--upak-green); cursor:pointer}
.upak-consent-field a{color:var(--upak-green-d); text-decoration:underline}
.upak-consent-field.upak-invalid input[type=checkbox]{outline:2px solid #ff3b30; outline-offset:2px}
.upak-consent-field .upak-consent-err{display:none; color:#ff3b30; font-size:12px; margin:5px 0 0 26px}
.upak-consent-field.upak-invalid .upak-consent-err{display:block}

@media (max-width:600px){
  .upak-cookie{padding:16px; gap:14px}
  .upak-cookie__actions{width:100%}
  .upak-cookie__actions .upak-btn{flex:1 1 auto; text-align:center}
  .upak-btn--link{flex-basis:100%}
}
