/* ══════════════════════════════════════
   DOCK — Bottom navigation bar
   Shared across all pages
   ══════════════════════════════════════ */

/* ── Base dock container ── */
.cr-page .cr-dock{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  padding:0 18px 18px;
  z-index:100;
  pointer-events:none;
}

.cr-page .cr-dock-island{
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px 22px;
  border-radius:27px;
  border:1px solid color-mix(in srgb,var(--cr-line),transparent 50%);
  background:var(--cr-dock-bg);
  backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:0 4px 30px color-mix(in srgb,var(--cr-ink),transparent 65%),inset 0 1px 0 color-mix(in srgb,var(--cr-text),transparent 94%);
  pointer-events:auto;
}

/* ── Dock buttons ── */
.cr-page .cr-dock-btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  padding:6px 10px 4px;
  border-radius:14px;
  border:none;
  background:transparent;
  color:var(--cr-muted);
  text-decoration:none;
  cursor:pointer;
  transition:background .2s, color .2s, transform .15s;
}

.cr-page .cr-dock-ico{font-size:20px;line-height:1}
.cr-page .cr-dock-txt{font:600 10px/1 var(--cr-font-family);white-space:nowrap;letter-spacing:.02em}

.cr-page .cr-dock-btn:hover{
  background:color-mix(in srgb,var(--cr-text),transparent 90%);
  color:var(--cr-text);
  transform:translateY(-2px);
}

.cr-page .cr-dock-btn.cr-dock-active{
  background:color-mix(in srgb,var(--cr-yellow),transparent 60%);
  color:var(--cr-yellow);
}
.cr-page .cr-dock-btn.cr-dock-active .cr-dock-txt{
  color:var(--cr-yellow);
  font-weight:700;
}

/* ── Dock label (Личный кабинет) ── */
.cr-dock-label{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  padding:6px 10px 4px;
  margin-right:4px;
  border-radius:14px;
  background:transparent;
  color:var(--cr-muted);
  white-space:nowrap;
  cursor:pointer;
  text-decoration:none;
  transition:background .2s, color .2s, transform .15s;
}
.cr-dock-label:hover{
  background:color-mix(in srgb,var(--cr-text),transparent 90%);
  color:var(--cr-text);
  transform:translateY(-2px);
}
.cr-dock-label.cr-dock-active{
  background:color-mix(in srgb,var(--cr-yellow),transparent 60%);
  color:var(--cr-yellow);
}
.cr-dock-label.cr-dock-active .cr-dock-label-text{
  color:var(--cr-yellow);
  font-weight:700;
}
.cr-dock.cr-dock-logo .cr-dock-label{
  border-left:1px solid var(--cr-accent-focus);
  padding-left:14px;
}
.cr-dock-label-ico{
  font-size:18px;
  line-height:1;
  filter:brightness(1.5) saturate(1.5);
}
.cr-dock-label-text{
  font:600 10px/1 var(--cr-font-family);
  color:var(--cr-muted);
  letter-spacing:.02em;
  text-transform:uppercase;
  text-align:center;
}

/* ── Auth: login form inside dock ── */
.cr-dock-login{
  gap:8px !important;
  padding:10px 20px !important;
  width:min(920px, calc(100vw - 36px));
  box-sizing:border-box;
  overflow:hidden;
  position:relative;
}
.cr-auth-form{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  margin:0;
  flex-wrap:nowrap;
}
.cr-auth-field{
  flex:1 1 0;
  min-width:0;
  width:0;
  padding:8px 14px;
  border:1.5px solid var(--cr-accent-focus);
  border-radius:27px;
  background:color-mix(in srgb,var(--cr-surface),transparent 94%);
  color:var(--cr-text);
  font:400 13px/1.4 var(--cr-font-family);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.cr-auth-field::placeholder{color:var(--cr-accent-shadow-strong)}
.cr-auth-field:focus{
  border-color:var(--cr-accent-border);
  box-shadow:0 0 0 3px var(--cr-accent-focus);
}
.cr-auth-field:disabled{
  opacity:.7;
  cursor:wait;
}
.cr-auth-password-cell{
  position:relative;
  display:flex;
  flex:1 1 0;
  min-width:0;
  width:0;
}
.cr-auth-password-cell .cr-auth-field{
  flex:1 1 auto;
  width:100%;
  padding-right:42px;
}
.cr-auth-eye{
  position:absolute;
  top:50%;
  right:7px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--cr-accent-border);
  font-size:14px;
  line-height:1;
  cursor:pointer;
  transition:background .2s, color .2s;
}
.cr-auth-eye:hover,
.cr-auth-eye.active{
  background:var(--cr-accent-focus);
  color:var(--cr-accent);
}
.cr-auth-remember{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  color:var(--cr-accent-border);
  font:600 12px/1 var(--cr-font-family);
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
}
.cr-auth-remember input{
  width:14px;
  height:14px;
  margin:0;
  accent-color:var(--cr-accent);
}
.cr-auth-btn{
  padding:8px 18px;
  border:none;
  border-radius:27px;
  font:600 12px/1 var(--cr-font-family);
  letter-spacing:.04em;
  cursor:pointer;
  transition:all .2s;
  white-space:nowrap;
}
.cr-auth-btn:disabled{
  opacity:.65;
  cursor:wait;
}
.cr-auth-status{
  position:absolute;
  left:28px;
  right:28px;
  bottom:calc(100% + 8px);
  display:none;
  padding:8px 12px;
  border-radius:12px;
  background:color-mix(in srgb,var(--cr-bg),transparent 8%);
  color:var(--cr-text);
  font:600 12px/1.25 var(--cr-font-family);
  text-align:center;
  box-shadow:0 10px 30px color-mix(in srgb,var(--cr-ink),transparent 72%);
}
.cr-auth-status.active{display:block}
.cr-auth-status--error{color:var(--cr-accent-soft-hover)}
.cr-auth-login{
  background:var(--cr-accent);
  color:var(--cr-detail-text);
}
.cr-auth-login:hover{
  background:var(--cr-accent-hover);
  box-shadow:0 0 12px var(--cr-accent-shadow-strong);
}
.cr-auth-reg{
  background:transparent;
  border:1.5px solid var(--cr-accent-focus-strong);
  color:var(--cr-accent-border);
}
.cr-auth-reg:hover{
  border-color:var(--cr-accent-border);
  color:var(--cr-accent);
  background:var(--cr-accent-focus);
}

/* ── Morph dock → registration ── */
.cr-morph-layer{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
}
.cr-reg-layer{
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  padding:8px 8px 4px;
}

/* Backdrop */
.cr-reg-backdrop{
  position:fixed;
  inset:0;
  z-index:9998;
  background:color-mix(in srgb,var(--cr-ink),transparent 45%);
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.cr-reg-backdrop.active{
  opacity:1;
  pointer-events:auto;
}

/* Dock in expanded (registration) state */
.cr-dock-login.expanded{
  position:fixed !important;
  z-index:9999 !important;
  transition:
    top .5s cubic-bezier(.4,.0,.2,1),
    left .5s cubic-bezier(.4,.0,.2,1),
    width .5s cubic-bezier(.4,.0,.2,1),
    height .5s cubic-bezier(.4,.0,.2,1),
    border-radius .5s cubic-bezier(.4,.0,.2,1),
    background .5s ease,
    padding .5s ease;
  background:var(--cr-surface) !important;
  padding:28px 24px 24px !important;
  border-radius:24px !important;
  box-shadow:0 16px 64px color-mix(in srgb,var(--cr-ink),transparent 75%) !important;
  overflow-x:hidden;
  overflow-y:auto;
}

.cr-reg-close{
  position:absolute;
  top:12px; right:16px;
  background:none;
  border:none;
  font-size:24px;
  color:var(--cr-detail-muted);
  cursor:pointer;
  line-height:1;
  transition:color .2s;
}
.cr-reg-close:hover{color:var(--cr-ink-soft)}
.cr-reg-title{
  margin:0 0 12px;
  font:800 22px/1.1 var(--cr-font-family);
  color:var(--cr-detail-text);
}
.cr-reg-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cr-reg-label{
  display:flex;
  flex-direction:column;
  gap:3px;
  font:500 11px/1 var(--cr-font-family);
  color:var(--cr-detail-muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.cr-reg-input{
  padding:8px 14px;
  border:1.5px solid var(--cr-border-soft);
  border-radius:12px;
  font:400 13px/1.4 var(--cr-font-family);
  color:var(--cr-detail-text);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.cr-reg-input::placeholder{color:var(--cr-placeholder)}
.cr-reg-input:focus{
  border-color:var(--cr-accent);
  box-shadow:0 0 0 3px var(--cr-accent-focus);
}
.cr-reg-submit{
  margin-top:4px;
  padding:10px;
  font-size:13px;
  border-radius:12px;
}

/* ── Responsive: dock ── */
@media (max-width:760px){
  .cr-page .cr-dock{padding:0 10px 12px}
  .cr-page .cr-dock-island{gap:2px;padding:8px 14px}
  .cr-page .cr-dock-btn{padding:5px 7px 3px}
  .cr-page .cr-dock-ico{font-size:18px}
  .cr-page .cr-dock-txt{font-size:9px}
  .cr-dock-login{width:calc(100vw - 20px);padding:8px 12px !important}
}
@media (max-width:480px){
  .cr-page .cr-dock-island{gap:0;padding:6px 10px;flex-wrap:wrap;border-radius:24px;justify-content:center}
  .cr-page .cr-dock-btn{padding:4px 6px 2px}
  .cr-page .cr-dock-ico{font-size:16px}
  .cr-page .cr-dock-txt{font-size:8px}
  .cr-auth-form{flex-wrap:wrap;gap:8px}
  .cr-auth-field,
  .cr-auth-password-cell{flex-basis:calc(50% - 4px);width:auto}
  .cr-auth-remember{min-width:112px}
}





/* Scroll logo slot (left pull effect) */
.cr-page .cr-dock-island{
  transition: padding .28s ease, gap .28s ease, border-radius .28s ease;
}
.cr-page .cr-dock-mini-slot{
  width:0;
  opacity:0;
  margin-right:0;
  overflow:hidden;
  display:grid;
  place-items:center;
  transition: width .28s ease, opacity .2s ease, margin-right .28s ease;
  flex:0 0 auto;
}
.cr-page .cr-dock-mini-slot img{
  height:38px;
  width:auto;
  max-width:118px;
  object-fit:contain;
  display:block;
  filter: drop-shadow(0 0 6px var(--cr-accent-shadow));
}
.cr-page .cr-dock.cr-dock-logo .cr-dock-island{
  padding-left:8px;
}
.cr-page .cr-dock.cr-dock-logo .cr-dock-mini-slot{
  width:124px;
  opacity:1;
  margin-right:6px;
}


/* Floating scroll-to-top button near dock */
.cr-page .cr-scroll-top-btn{
  position:fixed;
  right:18px;
  bottom:18px;
  width:54px;
  height:54px;
  border-radius:27px;
  border:1px solid color-mix(in srgb,var(--cr-line),transparent 45%);
  background:var(--cr-dock-bg);
  color:var(--cr-yellow);
  display:grid;
  place-items:center;
  font:700 20px/1 var(--cr-font-family);
  box-shadow:0 4px 20px color-mix(in srgb,var(--cr-ink),transparent 70%), inset 0 1px 0 color-mix(in srgb,var(--cr-text),transparent 94%);
  backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  cursor:pointer;
  z-index:120;
  opacity:0;
  transform:translateY(8px) scale(.94);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.cr-page .cr-scroll-top-btn:hover{ transform:translateY(6px) scale(.96); }
.cr-page .cr-dock.cr-dock-logo.cr-dock-logo-ready + .cr-scroll-top-btn{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
@media (max-width:760px){
  .cr-page .cr-scroll-top-btn{ right:10px; bottom:12px; width:48px; height:48px; font-size:18px; border-radius:24px; }
}
