/* ==========================================================================
   CAREKA DIGITAL · V123.2 BILINGUAL MASTER · FOOTER CONTROLS
   Language + appearance controls in the permanent dark footer.
   ========================================================================== */

.cd-theme-toggle-v118,
.cd-theme-toggle-v119,
.cd-theme-toggle-v120,
.cd-theme-toggle-v121{
  display:none!important;
}

.careka-global-footer__bottom{
  position:relative!important;
}

.cd123-footer-right{
  margin-left:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  min-width:max-content;
}

.cd123-footer-tagline{
  display:block;
  color:#9f978d!important;
  font:600 8px/1.35 Inter,Arial,sans-serif!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}

.cd123-footer-controls{
  position:relative;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}

.cd123-control-wrap{
  position:relative;
}

.cd123-control{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 11px;
  border:1px solid rgba(243,239,232,.16);
  border-radius:0;
  background:#0d0d0d;
  color:#d6d0c7;
  font:700 8px/1 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:none;
  transition:border-color .22s ease,color .22s ease,background-color .22s ease;
}

.cd123-control:hover,
.cd123-control[aria-expanded="true"]{
  color:#fffdf8;
  border-color:rgba(211,162,93,.54);
  background:#14110d;
}

.cd123-control:focus-visible{
  outline:2px solid #d3a25d!important;
  outline-offset:3px!important;
}

.cd123-control svg{
  width:13px;
  height:13px;
  flex:0 0 13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cd123-popover{
  position:absolute;
  right:0;
  bottom:calc(100% + 9px);
  width:220px;
  padding:7px;
  border:1px solid rgba(243,239,232,.16);
  background:#0b0b0b;
  box-shadow:0 22px 55px rgba(0,0,0,.34);
}

.cd123-popover[hidden]{
  display:none!important;
}

.cd123-popover-title{
  margin:0;
  padding:8px 9px 9px;
  color:#9f978d!important;
  font:700 8px/1.3 Inter,Arial,sans-serif!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.cd123-option{
  width:100%;
  min-height:42px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:9px;
  border:1px solid transparent;
  background:transparent;
  color:#d6d0c7;
  text-align:left;
  cursor:pointer;
}

.cd123-option:hover,
.cd123-option[aria-checked="true"]{
  background:rgba(211,162,93,.07);
  border-color:rgba(211,162,93,.22);
  color:#fffdf8;
}

.cd123-option:focus-visible{
  outline:2px solid #d3a25d!important;
  outline-offset:-2px!important;
}

.cd123-option-icon{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  color:#d3a25d!important;
  font:700 9px/1 Inter,Arial,sans-serif!important;
}

.cd123-option-copy{
  min-width:0;
}

.cd123-option-copy strong{
  display:block;
  color:inherit!important;
  font:600 10px/1.2 Inter,Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}

.cd123-option-copy small{
  display:block;
  margin-top:3px;
  color:#9f978d!important;
  font:400 8px/1.35 Inter,Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}

.cd123-option-check{
  color:#d3a25d!important;
  font:700 10px/1 Inter,Arial,sans-serif!important;
}

.cd123-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

html[lang="en-US"] .cd123-footer-tagline{
  letter-spacing:.105em!important;
}

@media(max-width:760px){
  .cd123-footer-right{
    width:100%;
    align-items:flex-start;
    margin-left:0;
    gap:9px;
  }

  .cd123-footer-controls{
    justify-content:flex-start;
  }

  .cd123-footer-tagline{
    white-space:normal;
  }

  .cd123-popover{
    right:auto;
    left:0;
    width:min(230px,calc(100vw - 32px));
  }
}

@media(prefers-reduced-motion:reduce){
  .cd123-control{
    transition:none;
  }
}


/* ==========================================================================
   CAREKA DIGITAL · V123.3.1 DISCREET CONTROL DOCK
   Existing language + appearance controls become a discreet fixed dock.
   ========================================================================== */

.cd123-footer-right.cd123-dock{
  --cd123-dock-peek:16px;
  position:fixed!important;
  right:18px!important;
  bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;
  z-index:2147482500!important;
  width:max-content!important;
  max-width:min(390px,calc(100vw - 36px))!important;
  margin:0!important;
  padding:10px 12px 9px 26px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:7px!important;
  min-width:0!important;
  background:rgba(8,8,8,.94)!important;
  border:1px solid rgba(243,239,232,.14)!important;
  border-radius:14px 0 0 14px!important;
  box-shadow:0 18px 54px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  transform:translate3d(0,0,0)!important;
  opacity:1!important;
  visibility:visible!important;
  will-change:transform,opacity!important;
  transition:
    transform .58s cubic-bezier(.2,.8,.2,1),
    opacity .28s ease,
    box-shadow .28s ease!important;
}

.cd123-footer-right.cd123-dock::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:3px!important;
  background:linear-gradient(180deg,rgba(211,162,93,.18),rgba(211,162,93,.82),rgba(211,162,93,.18))!important;
  border-radius:14px 0 0 14px!important;
  pointer-events:none!important;
}

.cd123-footer-right.cd123-dock .cd123-footer-controls{
  width:auto!important;
  justify-content:flex-end!important;
  gap:7px!important;
}

.cd123-footer-right.cd123-dock .cd123-footer-tagline{
  max-width:100%!important;
  color:#8f887f!important;
  font-size:7px!important;
  line-height:1.3!important;
  letter-spacing:.105em!important;
  opacity:.9!important;
  white-space:nowrap!important;
}

.cd123-dock-peek{
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:var(--cd123-dock-peek)!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:0!important;
  border-right:1px solid rgba(243,239,232,.08)!important;
  border-radius:14px 0 0 14px!important;
  background:rgba(211,162,93,.06)!important;
  color:#d3a25d!important;
  cursor:pointer!important;
  z-index:5!important;
  opacity:.72!important;
  transition:opacity .22s ease,background-color .22s ease!important;
}

.cd123-dock-peek:hover,
.cd123-dock-peek:focus-visible{
  opacity:1!important;
  background:rgba(211,162,93,.13)!important;
  outline:none!important;
}

.cd123-dock-peek svg{
  width:9px!important;
  height:14px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  transition:transform .48s cubic-bezier(.2,.8,.2,1)!important;
}

.cd123-footer-right.cd123-dock.is-tucked{
  transform:translate3d(calc(100% - var(--cd123-dock-peek)),0,0)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.16)!important;
}

.cd123-footer-right.cd123-dock.is-tucked .cd123-dock-peek{
  opacity:1!important;
  background:rgba(13,13,13,.98)!important;
}

.cd123-footer-right.cd123-dock.is-tucked .cd123-dock-peek svg{
  transform:rotate(180deg)!important;
}

.cd123-footer-right.cd123-dock.is-tucked .cd123-footer-controls,
.cd123-footer-right.cd123-dock.is-tucked .cd123-footer-tagline{
  pointer-events:none!important;
}

.cd123-footer-right.cd123-dock:not(.is-tucked):hover,
.cd123-footer-right.cd123-dock:not(.is-tucked):focus-within{
  box-shadow:0 22px 64px rgba(0,0,0,.34)!important;
}

/* Popovers stay attached to the dock and open upward. */
.cd123-footer-right.cd123-dock .cd123-popover{
  bottom:calc(100% + 10px)!important;
  top:auto!important;
  right:0!important;
  left:auto!important;
  border-radius:10px!important;
  overflow:hidden!important;
}

/* Prevent the original footer layout from reserving horizontal width for the fixed dock. */
.careka-global-footer__bottom > .cd123-footer-right.cd123-dock{
  flex:0 0 auto!important;
}

/* Reduced motion keeps the interaction accessible. */
@media(prefers-reduced-motion:reduce){
  .cd123-footer-right.cd123-dock,
  .cd123-dock-peek svg{
    transition-duration:.01ms!important;
  }
}

@media(max-width:760px){
  .cd123-footer-right.cd123-dock{
    --cd123-dock-peek:17px;
    right:10px!important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
    width:min(304px,calc(100vw - 20px))!important;
    max-width:min(304px,calc(100vw - 20px))!important;
    padding:9px 9px 8px 25px!important;
    align-items:flex-end!important;
    gap:6px!important;
    border-radius:13px 0 0 13px!important;
  }

  .cd123-footer-right.cd123-dock .cd123-footer-controls{
    width:100%!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
  }

  .cd123-footer-right.cd123-dock .cd123-control{
    min-height:31px!important;
    padding:7px 9px!important;
  }

  .cd123-footer-right.cd123-dock .cd123-footer-tagline{
    width:100%!important;
    text-align:right!important;
    font-size:6.5px!important;
    white-space:normal!important;
  }

  .cd123-footer-right.cd123-dock .cd123-popover{
    width:min(230px,calc(100vw - 28px))!important;
    right:0!important;
    left:auto!important;
  }
}
