/*
 * Cookie consent banner — Светлая база отдыха
 * Minimal overlay, warm/blue palette (matches site #0288d1)
 * Author: Vasily Omni AI · 2026-05-20
 */
#svetlaya-cookie-banner {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #ffffff;
  border-top: 3px solid #0288d1;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.10);
  font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  color: #2a2a2a;
  padding: 14px 16px;
}
#svetlaya-cookie-banner.is-visible { display: block; }
#svetlaya-cookie-banner .scb-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
}
#svetlaya-cookie-banner .scb-text {
  flex: 1 1 320px;
  min-width: 260px;
  line-height: 1.55;
  margin: 0;
}
#svetlaya-cookie-banner .scb-text a {
  color: #0288d1;
  text-decoration: underline;
}
#svetlaya-cookie-banner .scb-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#svetlaya-cookie-banner button {
  border: 0;
  font: inherit;
  padding: 9px 18px;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity .15s, background .15s;
}
#svetlaya-cookie-banner button:hover { opacity: .9; }
#svetlaya-cookie-banner .scb-accept {
  background: #0288d1;
  color: #ffffff;
}
#svetlaya-cookie-banner .scb-decline {
  background: #eef2f6;
  color: #2a2a2a;
  border: 1px solid #c8d1da;
}
@media (max-width: 540px) {
  #svetlaya-cookie-banner .scb-inner { flex-direction: column; align-items: stretch; }
  #svetlaya-cookie-banner .scb-actions { justify-content: stretch; }
  #svetlaya-cookie-banner button { flex: 1 1 50%; padding: 10px 12px; }
}


/* ─────────────────────────────────────────────────────────────────────
 * Form captcha (session-based text captcha, pattern from elit-beton.com)
 * Author: Vasily Omni AI · 2026-05-20
 * ───────────────────────────────────────────────────────────────────── */
.form-captcha {
  margin: 12px 0;
}
.form-captcha > .control-label {
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
  color: #2a2a2a;
}
.captcha-slot {
  min-height: 44px;
}
.captcha-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.captcha-image {
  font-family: "Courier New", Consolas, monospace;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 4px;
  padding: 6px 14px;
  border: 1px solid #c8d1da;
  border-radius: 5px;
  background: repeating-linear-gradient(
    45deg,
    #f0f4f7,
    #f0f4f7 6px,
    #e6ecf1 6px,
    #e6ecf1 12px
  );
  color: #1a3a52;
  user-select: none;
  min-width: 130px;
  text-align: center;
  text-shadow: 1px 1px 0 rgba(255,255,255,0.6);
}
.captcha-input {
  max-width: 170px;
  text-transform: none;
}
.captcha-refresh-btn {
  background: #eef2f6;
  border: 1px solid #c8d1da;
  border-radius: 5px;
  width: 36px;
  height: 36px;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  color: #2a2a2a;
}
.captcha-refresh-btn:hover { background: #dce4eb; }
.captcha-loading,
.captcha-error {
  display: inline-block;
  font-size: 13px;
  color: #6b7780;
  font-style: italic;
}
.captcha-error { color: #c0392b; font-style: normal; }
.captcha-error .captcha-retry { color: #0288d1; margin-left: 6px; }

@media (max-width: 480px) {
  .captcha-wrapper { gap: 8px; }
  .captcha-image {
    font-size: 18px;
    letter-spacing: 3px;
    min-width: 110px;
    padding: 5px 10px;
  }
  .captcha-input { max-width: 140px; }
}

/* === Compact consent label on dark-photo overlay forms (FCForm callbacks) === */
/* Scoped — does NOT touch input fields (preserve transparent design) */
#FCForm_5912_ob .form-consent-pdn,
#FCForm_9912 .form-consent-pdn,
form.callback .form-consent-pdn {
    margin: 10px 24px 10px 0 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    color: #fff !important;
}
#FCForm_5912_ob .form-consent-pdn label,
#FCForm_9912 .form-consent-pdn label,
form.callback .form-consent-pdn label {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    cursor: pointer;
    color: #fff !important;
}
#FCForm_5912_ob .form-consent-pdn span,
#FCForm_9912 .form-consent-pdn span,
form.callback .form-consent-pdn span {
    color: #fff !important;
}
#FCForm_5912_ob .form-consent-pdn a,
#FCForm_9912 .form-consent-pdn a,
form.callback .form-consent-pdn a {
    color: #fff !important;
    text-decoration: underline;
}
#FCForm_5912_ob .form-consent-pdn input[type="checkbox"],
#FCForm_9912 .form-consent-pdn input[type="checkbox"],
form.callback .form-consent-pdn input[type="checkbox"] {
    accent-color: #fff;
    flex-shrink: 0;
    margin-top: 1px;
    width: 14px;
    height: 14px;
}

/* === Captcha input compact + visible on callback dark overlay === */
#FCForm_5912_ob .captcha-input,
#FCForm_9912 .captcha-input,
form.callback .captcha-input,
.captcha-input {
    min-width: 120px;
    font-size: 14px;
    padding: 6px 10px;
}
#FCForm_5912_ob .captcha-image,
#FCForm_9912 .captcha-image,
form.callback .captcha-image,
.captcha-image {
    color: #fff;
    font-family: monospace;
    font-size: 18px;
    letter-spacing: 3px;
    background: rgba(0,0,0,0.4);
    padding: 4px 10px;
    border-radius: 4px;
    user-select: none;
}
.captcha-wrapper { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
