/* ==========================================================================
   VEYRA MEDS — Cookie Consent v3 (Kandi/Chatty master plan, Sep 5 2026)
   Compact homepage-only bottom strip. Exactly two primary controls:
   Accept All / Reject Nonessential. No close X, no chat overlap, safe-area.
   Preferences accessible via Homepage footer trigger + Cookie Policy page.
   Version 2026-09-05.3
   ========================================================================== */

/* ---------- Focus visibility (all consent controls) ---------- */
.vcc-ui :focus-visible {
  outline: 3px solid #22B5FF;
  outline-offset: 2px;
  border-radius: 6px;
}

/* ---------- v3 bottom strip ---------- */
#vcc-strip {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 99990;
  background: #FFFFFF; border-top: 1px solid #E3E9F4;
  box-shadow: 0 -12px 40px rgba(4, 13, 46, 0.14);
  padding: 14px max(32px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-bottom)) max(32px, env(safe-area-inset-right));
  font-family: 'Inter', sans-serif;
  box-sizing: border-box;
}
#vcc-strip[hidden] { display: none; }
.vcc-strip-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 24px; }
.vcc-strip-copy { flex: 1 1 auto; min-width: 0; }
.vcc-strip-title { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 800; color: #040D2E; margin: 0 0 3px; }
.vcc-strip-text { font-size: 13px; line-height: 1.5; color: #526581; margin: 0; }
.vcc-strip-text a { color: #6B0DD8; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

.vcc-strip-actions { flex: 0 0 auto; display: flex; gap: 10px; }
.vcc-btn { border: none; border-radius: 12px; cursor: pointer; font-family: 'Inter', sans-serif; min-height: 48px; }
.vcc-btn-accept {
  font-size: 15px; font-weight: 800; color: #FFFFFF; letter-spacing: 0.02em;
  background: linear-gradient(135deg, #099EF8, #6B0DD8);
  padding: 12px 22px;
  box-shadow: 0 8px 20px rgba(9, 158, 248, 0.28);
  transition: transform 0.15s, box-shadow 0.15s;
}
.vcc-btn-accept:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(9, 158, 248, 0.34); }
.vcc-btn-reject {
  font-size: 14.5px; font-weight: 700; color: #04123A;
  background: #F1F5FC; border: 1px solid #C7D5EE;
  padding: 12px 18px;
  transition: background 0.15s;
}
.vcc-btn-reject:hover { background: #E4ECFA; }

/* chat bubble hidden while the strip is open — no overlap, ever */
body.vcc-strip-open #veyra-chat-bubble { display: none !important; }

/* mobile: stacked strip, safe-area respected */
@media (max-width: 650px) {
  /* Kandi mobile spec (Sep 5): heading <=18px, body 14px / lh 1.45, padding 16px,
     control gap 10px, buttons >=48px stacked, safe-area respected. */
  #vcc-strip { padding: 16px 16px max(16px, env(safe-area-inset-bottom)); }
  .vcc-strip-inner { flex-direction: column; align-items: stretch; gap: 12px; }
  .vcc-strip-title { font-size: 15px; margin-bottom: 4px; }
  .vcc-strip-text { font-size: 14px; line-height: 1.45; }
  .vcc-strip-actions { flex-direction: column; gap: 10px; }
  .vcc-btn-accept, .vcc-btn-reject { width: 100%; }
}

/* ---------- Preferences modal (footer trigger / Cookie Policy reopen) ---------- */
#vcc-backdrop { position: fixed; inset: 0; background: rgba(4, 13, 46, 0.45); z-index: 99989; }
#vcc-backdrop[hidden] { display: none; }
body.vcc-open { overflow: hidden; }
#vcc-manage {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(480px, calc(100vw - 32px));
  max-height: min(86vh, 640px); overflow-y: auto;
  background: #FFFFFF; border-radius: 18px;
  box-shadow: 0 24px 64px rgba(4, 13, 46, 0.28);
  padding: 24px; z-index: 99995;
  font-family: 'Inter', sans-serif; box-sizing: border-box;
}
#vcc-manage[hidden] { display: none; }
.vcc-manage-title { font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 800; color: #040D2E; margin: 0 0 6px; }
#vcc-manage .vcc-strip-text { margin-bottom: 4px; }
.vcc-prefs { margin: 14px 0 16px; display: flex; flex-direction: column; gap: 10px; }
.vcc-pref-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; background: #F7F9FE; border-radius: 10px; }
.vcc-pref-row input[type="checkbox"] { margin: 3px 0 0; width: 16px; height: 16px; accent-color: #099EF8; }
.vcc-pref-name { font-size: 13.5px; font-weight: 700; color: #04123A; display: block; }
.vcc-pref-desc { font-size: 12.5px; color: #526581; display: block; }
.vcc-pref-required { font-size: 11px; font-weight: 700; color: #099EF8; letter-spacing: 0.02em; }
#vcc-manage .vcc-btn-accept { width: 100%; }
