/* ZERO floating login/account panel - locked against Joomla/Gantry overrides. */
#zero-login-root,
#zero-login-root *{
  box-sizing:border-box!important;
}

#zero-login-button{
  position:fixed!important;
  left:18px!important;
  bottom:22px!important;
  z-index:2147483647!important;
  width:auto!important;
  min-width:138px!important;
  max-width:calc(100vw - 36px)!important;
  min-height:58px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  padding:11px 18px!important;
  border-radius:999px!important;
  border:1px solid rgba(143,92,52,.32)!important;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,244,229,.98) 48%, rgba(230,196,158,.98))!important;
  color:#4b3027!important;
  box-shadow:0 18px 46px rgba(65,39,28,.28), inset 0 0 0 1px rgba(255,255,255,.72)!important;
  cursor:pointer!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  text-align:center!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
  user-select:none!important;
}

#zero-login-button:hover{
  transform:translateY(-2px) scale(1.015)!important;
  background:#fffaf2!important;
  box-shadow:0 22px 58px rgba(65,39,28,.33), inset 0 0 0 1px rgba(255,255,255,.82)!important;
}

#zero-login-button:focus-visible{
  outline:3px solid rgba(197,141,66,.45)!important;
  outline-offset:4px!important;
}

#zero-login-button .zero-login-main{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#4d3027!important;
  font-size:17px!important;
  font-weight:700!important;
  letter-spacing:.09em!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
}

#zero-login-button .zero-login-sub{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:rgba(77,48,39,.82)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}

#zero-login-button.is-logged-in{
  min-width:138px!important;
  border-color:rgba(108,77,44,.36)!important;
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,247,232,.98) 46%, rgba(232,204,170,.98))!important;
}

#zero-login-button.is-logged-in .zero-login-sub{
  color:rgba(77,48,39,.78)!important;
}

#zero-login-overlay{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  background:rgba(29,19,14,.36)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
}

#zero-login-overlay.is-open{
  display:block!important;
}

#zero-login-panel{
  position:fixed!important;
  left:22px!important;
  bottom:94px!important;
  z-index:2147483647!important;
  width:min(410px, calc(100vw - 44px))!important;
  height:540px!important;
  max-height:calc(100vh - 126px)!important;
  overflow:hidden!important;
  border-radius:26px!important;
  border:1px solid rgba(105,68,45,.22)!important;
  background:#fbf3ea!important;
  box-shadow:0 28px 84px rgba(0,0,0,.34)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  color:#4b3027!important;
}

.zero-login-panel-header{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px 18px!important;
  background:linear-gradient(135deg, rgba(255,255,255,.72), rgba(244,222,202,.72))!important;
  border-bottom:1px solid rgba(89,55,37,.14)!important;
}

#zero-login-title{
  display:block!important;
  color:#4d3027!important;
  font-size:21px!important;
  line-height:1.12!important;
  font-weight:700!important;
}

#zero-login-close{
  flex:0 0 auto!important;
  width:36px!important;
  height:36px!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.72)!important;
  color:#5b3a2e!important;
  font-size:28px!important;
  cursor:pointer!important;
  line-height:32px!important;
  text-align:center!important;
  box-shadow:0 8px 18px rgba(74,45,31,.12)!important;
}

#zero-login-frame{
  display:block!important;
  width:100%!important;
  height:calc(100% - 134px)!important;
  border:0!important;
  background:#fbf3ea!important;
}

#zero-login-actions{
  display:block!important;
  min-height:64px!important;
  padding:10px 16px 14px!important;
  border-top:1px solid rgba(89,55,37,.12)!important;
  background:linear-gradient(135deg, rgba(255,255,255,.64), rgba(246,226,205,.64))!important;
}

#zero-login-register-link{
  width:100%!important;
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(105,68,45,.24)!important;
  border-radius:999px!important;
  background:rgba(255,250,242,.92)!important;
  color:#4d3027!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(67,38,25,.12)!important;
}

#zero-login-register-link:hover{
  background:#ffffff!important;
  transform:translateY(-1px)!important;
}

#zero-login-register-link:focus-visible{
  outline:3px solid rgba(197,141,66,.45)!important;
  outline-offset:3px!important;
}

#zero-login-welcome{
  display:none!important;
  padding:18px!important;
  background:#fbf3ea!important;
}

.zero-login-welcome-card{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:22px 20px!important;
  border-radius:22px!important;
  border:1px solid rgba(105,68,45,.16)!important;
  background:linear-gradient(135deg, rgba(255,255,255,.84), rgba(246,226,205,.80))!important;
  color:#4b3027!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.54)!important;
}

.zero-login-welcome-card strong{
  font-size:22px!important;
  line-height:1.18!important;
  font-weight:700!important;
  color:#4d3027!important;
}

.zero-login-welcome-card span{
  font-size:16px!important;
  line-height:1.35!important;
  color:rgba(77,48,39,.86)!important;
}

.zero-login-welcome-card em{
  font-style:normal!important;
  font-size:14px!important;
  line-height:1.45!important;
  color:rgba(77,48,39,.72)!important;
}

.zero-login-welcome-card .zero-login-gap{
  display:block!important;
  height:8px!important;
}

.zero-login-welcome-card b{
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:#4d3027!important;
  letter-spacing:.08em!important;
}

#zero-login-panel.is-account-panel{
  height:auto!important;
  max-height:calc(100vh - 126px)!important;
}

#zero-login-panel.is-account-panel #zero-login-frame,
#zero-login-panel.is-account-panel #zero-login-actions{
  display:none!important;
}

#zero-login-panel.is-account-panel #zero-login-welcome{
  display:block!important;
}

#zero-login-logout{
  width:100%!important;
  min-height:46px!important;
  margin-top:12px!important;
  border:1px solid rgba(105,68,45,.26)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg, #5b382b, #9c6b3b)!important;
  color:#fffaf2!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:0 14px 34px rgba(67,38,25,.24)!important;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease!important;
}

#zero-login-logout:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 18px 42px rgba(67,38,25,.30)!important;
}

#zero-login-logout:focus-visible{
  outline:3px solid rgba(197,141,66,.45)!important;
  outline-offset:3px!important;
}

#zero-login-status{
  display:block!important;
  min-height:18px!important;
  margin-top:7px!important;
  color:rgba(77,48,39,.68)!important;
  font-size:12px!important;
  line-height:1.35!important;
  text-align:center!important;
}

@media (max-width:700px){
  #zero-login-button{
    left:12px!important;
    bottom:18px!important;
    min-width:128px!important;
    min-height:54px!important;
    padding:10px 16px!important;
  }

  #zero-login-button .zero-login-main{
    font-size:16px!important;
  }

  #zero-login-button .zero-login-sub{
    font-size:12px!important;
  }

  #zero-login-panel{
    left:10px!important;
    right:10px!important;
    bottom:84px!important;
    width:auto!important;
    height:540px!important;
    max-height:calc(100vh - 104px)!important;
    border-radius:22px!important;
  }
}
