/* =========================
   COOKIE MODAL (scoped)
   ========================= */
.bdp-footer .cookie-modal{
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9999;
}
.bdp-footer .cookie-modal.hidden{ display:none; }

.bdp-footer .cookie-box{
  background:#000;
  color:#fff;
  padding:15px 20px;
  width:300px;
  border-radius:12px;
  box-shadow:0 4px 20px rgba(0,0,0,0.4);
  position:relative;
}
.bdp-footer .cookie-close{
  background:transparent;
  border:none;
  color:#fff;
  font-size:22px;
  position:absolute;
  right:10px;
  top:5px;
  cursor:pointer;
}
.bdp-footer .cookie-accept{
  background:#00c853;
  color:#fff;
  border:none;
  padding:8px 16px;
  margin-top:10px;
  border-radius:6px;
  cursor:pointer;
  width:100%;
  font-size:14px;
}

@media(max-width:768px){
  .bdp-footer .cookie-modal{
    left:0; right:0; bottom:0;
    width:100%;
    padding:0 0 20px 0;
  }
  .bdp-footer .cookie-box{
    width:100%;
    border-radius:0;
    padding:20px 16px 40px 16px;
  }
  .bdp-footer .cookie-accept{
    position:relative;
    bottom:10px;
    width:100%;
  }
}

/* =========================
   FOOTER: HARD SCOPE (prevents static page overrides)
   ========================= */
.bdp-footer{ position:relative; }
.bdp-footer, .bdp-footer *{ box-sizing:border-box; }

/* Make sure footer text + links stay visible even if some page overrides a, p, .text-secondary etc */
.bdp-footer .text-secondary{
  color: rgba(255,255,255,0.78) !important;
}

.bdp-footer a{
  color: rgba(207,211,255,0.92) !important;
  text-decoration: none !important;
}
.bdp-footer a:hover{
  color:#ffffff !important;
  text-decoration: underline !important;
}
.bdp-footer a:visited{
  color: rgba(207,211,255,0.92) !important;
}

/* Footer-upper spacing fix (scoped only) */
.bdp-footer .footer-upper{
  position: relative !important;
  padding-block: 0 !important;
}

/* =========================
   3D Badge visuals + hover (scoped)
   ========================= */
.bdp-footer .footer-badges-grid{
  perspective:1200px;
  -webkit-perspective:1200px;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2, auto);
  gap:0.6rem;
  align-items:center;
  justify-items:center;
  margin-left:0.75rem;
  min-height:110px;
  align-content:center;
}

.bdp-footer .footer-badge-card{
  display:inline-block;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  transition:transform 280ms cubic-bezier(.2,.9,.25,1), box-shadow 280ms ease, filter 220ms ease;
  will-change:transform, box-shadow;
  border-radius:9px;
  padding:6px;
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  box-shadow:0 6px 18px rgba(3,10,25,0.45);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  cursor:default;
}

.bdp-footer .footer-badge-card img.footer-badge-img{
  display:block;
  height:75px;
  width:auto;
  object-fit:contain;
  border-radius:6px;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,0.45));
  transition:transform 280ms cubic-bezier(.2,.9,.25,1);
  box-sizing:content-box;
  -webkit-user-drag:none;
  user-select:none;
}

.bdp-footer .footer-badge-card:hover,
.bdp-footer .footer-badge-card:focus{
  transform:translateZ(18px) rotateX(6deg) translateY(-6px);
  box-shadow:0 18px 34px rgba(3,10,25,0.6);
  filter:saturate(1.06) contrast(1.03);
  outline:none;
}
.bdp-footer .footer-badge-card:hover img.footer-badge-img{
  transform:rotateX(-3deg) translateY(-2px);
}

@media (max-width:576px){
  .bdp-footer .footer-badge-card img.footer-badge-img{ height:44px; }
  .bdp-footer .footer-badges-grid{ min-height:88px; gap:.45rem; margin-left:.5rem; }
}

@media (hover:none) and (pointer:coarse){
  .bdp-footer .footer-badge-card{ transform:none !important; transition:transform 180ms ease; }
  .bdp-footer .footer-badge-card:active{
    transform:translateY(-6px) scale(1.02);
    box-shadow:0 12px 26px rgba(3,10,25,0.55);
  }
}

/* ===== Mobile: badges in one horizontal row ===== */
.bdp-footer .footer-badges-row{
  display:flex;
  align-items:center;
  gap:8px;
}

@media (max-width:576px){
  .bdp-footer .footer-badges-row{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    max-width:100%;
    padding-bottom:4px;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .bdp-footer .footer-badges-row::-webkit-scrollbar{ height:0; display:none; }

  .bdp-footer .footer-badges-row .footer-badge-card{
    flex:0 0 auto !important;
    padding:4px !important;
    border-radius:8px !important;
  }
  .bdp-footer .footer-badges-row .footer-badge-img{
    height:44px !important;
    width:auto !important;
    display:block;
  }
}

/* Typing */
.bdp-footer .footer-typing-box{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.3;
  max-width:240px;
}
.bdp-footer .typing-title{
  font-size:15px;
  margin-bottom:2px;
  white-space:nowrap;
}
.bdp-footer .typing-country{
  font-size:16px;
  font-weight:bold;
  color:#00e6a8;
  border-right:2px solid #00e6a8;
  white-space:nowrap;
  overflow:hidden;
  animation: bdpBlinkCursor 0.7s step-end infinite;
}
@keyframes bdpBlinkCursor{
  from{ border-color:transparent; }
  to{ border-color:#00e6a8; }
}

/* GEO links */
.bdp-footer .footer-geo-links-row{
  display:flex;
  flex-wrap:wrap;
  gap:0.35rem 0.6rem;
}
.bdp-footer .footer-geo-link{
  font-size:12px;
  color:#cfd3ff !important;
  text-decoration:none !important;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.02);
  white-space:nowrap;
}
.bdp-footer .footer-geo-link:hover{
  color:#ffffff !important;
  border-color:rgba(0,230,168,0.85);
  background:rgba(0,230,168,0.15);
}

/* =========================
   FORCE FOOTER VISIBILITY (no conflicts)
   ========================= */
.bdp-footer{
  position: relative;
}

/* Force all footer text readable */
.bdp-footer,
.bdp-footer p,
.bdp-footer li,
.bdp-footer span,
.bdp-footer small,
.bdp-footer div {
  color: rgba(255,255,255,0.78) !important;
}

/* Force all footer links visible */
.bdp-footer a,
.bdp-footer a:link,
.bdp-footer a:visited {
  color: rgba(207,211,255,0.92) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hover */
.bdp-footer a:hover,
.bdp-footer a:focus {
  color: #ffffff !important;
  text-decoration: underline !important;
}

/* Footer specific: links that you already mark as text-secondary */
.bdp-footer a.text-secondary{
  color: rgba(207,211,255,0.92) !important;
}

/* If some pages set links to transparent/black via weird rules */
.bdp-footer a *{
  color: inherit !important;
}

/* keep GEO pills */
.bdp-footer .footer-geo-link{
  color: #cfd3ff !important;
}
.bdp-footer .footer-geo-link:hover{
  color: #fff !important;
  border-color: rgba(0,230,168,0.85);
  background: rgba(0,230,168,0.15);
}
