/* =========================
   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;
}

/* The footer brand mark uses .bdp-d2s-* spans inside an <a> so the
   blanket '.bdp-footer a' rule above was forcing every span to the
   same lavender-blue. Restore the saffron / white / green palette to
   match the header. !important needed to beat the wildcard above. */
.bdp-footer .bdp-d2s-brand,
.bdp-footer a.bdp-d2s-brand,
.bdp-footer a.bdp-d2s-brand:hover,
.bdp-footer a.bdp-d2s-brand:focus,
.bdp-footer a.bdp-d2s-brand:active,
.bdp-footer a.bdp-d2s-brand *{
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: 0 !important;
}
.bdp-footer .bdp-d2s-brand{ color: inherit !important; }
.bdp-footer .bdp-d2s-data { color: #FF6F1A !important; }
.bdp-footer .bdp-d2s-two  { color: #ffffff !important; }
.bdp-footer .bdp-d2s-sales{ color: #16a34a !important; }
/* AI text — solid white with a soft indigo glow, matching the header. */
.bdp-footer .bdp-d2s-ai{
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  text-shadow: 0 0 12px rgba(99,102,241,.45) !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;
}

/* The card used to be a 3D-perspective tile: a lifted gradient panel with an
   18px drop shadow under it. Against the flat link grid it read as a widget
   from another site pasted into the corner. It is a quiet frame now — a hair
   of surface, a hairline border, and a lift on hover that is felt rather than
   announced. */
.bdp-footer .footer-badge-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform 200ms cubic-bezier(.2,.9,.25,1), background 200ms ease, border-color 200ms ease;
  border-radius:8px;
  padding:4px 6px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  cursor:default;
}

/* One height for all three, so the row has a single baseline whatever the
   source artwork happens to measure. The drop-shadow went with the 3D card;
   the badges carry their own shadow in the artwork and were getting two. */
.bdp-footer .footer-badge-card img.footer-badge-img{
  display:block;
  /* Sized to share a line with the six social buttons inside a four-wide
     column. Six 31px buttons plus three badges have about 200px between
     them; at 38px tall these come to roughly 180. Any bigger and the row
     wraps at every width instead of only the narrow ones. */
  height:38px;
  width:auto;
  object-fit:contain;
  transition:transform 200ms cubic-bezier(.2,.9,.25,1);
  -webkit-user-drag:none;
  user-select:none;
}

/* The 3D tilt went with the card. A 2px lift and a slightly brighter surface
   is enough to say the thing is alive; a badge rotating in space under the
   cursor was doing more than a footer badge should. */
.bdp-footer .footer-badge-card:hover,
.bdp-footer .footer-badge-card:focus{
  transform:translateY(-2px);
  background:rgba(255,255,255,0.06);
  border-color:rgba(255,255,255,0.14);
  outline:none;
}

@media (max-width:576px){
  .bdp-footer .footer-badge-card img.footer-badge-img{ height:38px; }
  .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(-2px); }
}

/* ===== Mobile: badges in one horizontal row ===== */
.bdp-footer .footer-badges-row{
  display:flex;
  align-items:center;
  gap:6px;
  /* The row sits at the right-hand end of the social-icon line and has to
     be free to drop below it when the column is narrow. Flex does not wrap
     unless told to, and without this the badges ran out past the column
     edge and over the link grid. The mobile block below overrides back to
     nowrap and scrolls them instead, which is right on a phone. */
  flex-wrap:wrap;
}

@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:38px !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);
}
