
/* Cookies visibility & readability hard override */
#cookie-banner, .cookie-banner, .cookie-consent, .cookiebar, .cc-window, .cc-banner,
#cookieConsent, #cookie-consent, .iubenda-cs-container, .cm-wrapper, .cm-banner,
#cm, .osano-cm-window, .osano-cm-widget, .hs-cookie-notice, .cookie-notice {
  position: fixed !important;
  left: 16px !important; right: 16px !important; bottom: 16px !important;
  max-width: 720px !important; margin: 0 auto !important;
  background: rgba(12, 18, 28, 0.98) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
  z-index: 100100 !important; /* above header/video */
  opacity: 1 !important; visibility: visible !important;
  pointer-events: auto !important;
  backdrop-filter: blur(6px);
  padding: 16px 14px !important;
  line-height: 1.35 !important;
}

/* Ensure text is legible */
#cookie-banner *, .cookie-banner *, .cookie-consent *, .cookiebar *, .cc-window *,
#cookieConsent *, #cookie-consent *, .iubenda-cs-container *,
.cm-wrapper *, .cm-banner *, #cm *, .osano-cm-window *, .osano-cm-widget *,
.hs-cookie-notice *, .cookie-notice * {
  color: #fff !important;
  text-shadow: none !important;
}

/* Buttons */
.cc-allow, .cc-accept, .cc-btn, .cookie-accept, .cm-btn-accept, .osano-cm-accept,
button.accept, .iubenda-cs-accept-btn, .hs-button, .cookie-notice-accept {
  background: #1a5cff !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  min-height: 44px !important;
  cursor: pointer !important;
}
.cc-deny, .cookie-decline, .cm-btn-reject, .osano-cm-reject,
button.decline, .iubenda-cs-reject-btn {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  min-height: 44px !important;
  cursor: pointer !important;
}

/* Layout for common libs */
.cc-window, .cc-banner, .cookiebar, .cookie-consent, .cookie-banner, .cm-banner,
.osano-cm-window, .hs-cookie-notice, .cookie-notice {
  display: block !important;
}
.cc-revoke, .osano-cm-widget__revoke, .cm-btn-manage { right: 16px !important; bottom: 16px !important; }

/* If a full-screen dark overlay exists, make it visible but not fully opaque */
.cc-overlay, .cm-overlay, .osano-cm-background, .iubenda-cs-overlay, .cookie-overlay {
  position: fixed !important; inset: 0 !important;
  background: rgba(0,0,0,0.55) !important;
  z-index: 100090 !important;
  opacity: 1 !important; visibility: visible !important;
}

/* Kill unwanted transitions that cause flash/transparent states */
#cookie-banner, .cookie-banner, .cookie-consent, .cookiebar, .cc-window, .cc-banner,
#cookieConsent, #cookie-consent, .iubenda-cs-container, .cm-wrapper, .cm-banner,
#cm, .osano-cm-window, .osano-cm-widget, .hs-cookie-notice, .cookie-notice,
.cc-overlay, .cm-overlay, .osano-cm-background, .iubenda-cs-overlay, .cookie-overlay {
  transition: none !important;
}

/* On mobile, keep spacing from CTA bar */
@media (max-width: 900px){
  #cookie-banner, .cookie-banner, .cookie-consent, .cookiebar, .cc-window, .cc-banner,
  #cookieConsent, #cookie-consent, .iubenda-cs-container, .cm-wrapper, .cm-banner,
  #cm, .osano-cm-window, .osano-cm-widget, .hs-cookie-notice, .cookie-notice {
    bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Extra mobile hard-fix: make sure any cookie banner is visible and clickable */
@media (max-width: 900px){
  #cookie-consent-banner,
  #cookie-banner, .cookie-banner, .cookie-consent, .cookiebar, .cc-window, .cc-banner,
  #cookieConsent, #cookie-consent, .iubenda-cs-container, .cm-wrapper, .cm-banner,
  #cm, .osano-cm-window, .osano-cm-widget, .hs-cookie-notice, .cookie-notice,
  .cc-overlay, .cm-overlay, .osano-cm-background, .iubenda-cs-overlay, .cookie-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    pointer-events: auto !important;
  }
}


/* Modern 2P Drone Cookie Banner */
#cb-overlay {
  position:fixed;inset:0;background:rgba(0,0,0,0.55);backdrop-filter:blur(3px);
  display:flex;align-items:flex-end;justify-content:center;z-index:9999;
}
#cb-banner {
  width:92%;max-width:480px;background:#0a0a0a;
  border-radius:18px 18px 0 0;padding:22px;color:#fff;
  box-shadow:0 0 18px rgba(0,0,0,0.4);font-family:Inter, sans-serif;
}
#cb-banner h3 {font-size:1.25rem;margin:0 0 8px;color:#3cb4ff;}
#cb-banner p {font-size:0.95rem;opacity:0.9;line-height:1.45;}
.cb-buttons {margin-top:16px;display:flex;gap:10px;}
.cb-buttons button {
  flex:1;padding:10px 0;border-radius:10px;border:none;font-size:1rem;
  cursor:pointer;font-weight:600;
}
.cb-accept {background:#3cb4ff;color:#fff;}
.cb-deny {background:#333;color:#eee;}

/* Minimal bottom cookie bar */
#cookie-minbar {
  position:fixed; bottom:0; left:0; right:0;
  background:#0a0a0a; color:#fff;
  padding:14px 18px; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between;
  font-family:Inter, sans-serif; z-index:9999;
  box-shadow:0 -4px 14px rgba(0,0,0,0.35);
}
#cookie-minbar p {
  margin:0; font-size:0.9rem; opacity:0.9; flex:1;
}
#cookie-minbar button {
  background:#3cb4ff; border:none; padding:8px 16px;
  border-radius:8px; color:#fff; font-weight:600;
  cursor:pointer; margin-left:12px; font-size:0.9rem;
}
