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

/* ── Base dock container ── */
.cr-page{
  --cr-dock-radius:22px;
  --cr-dock-control-radius:14px;
  --cr-dock-side-edge:8px;
  --cr-dock-side-inner-gap:18px;
}

.cr-page .cr-dock{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  width:auto;
  max-width:100%;
  inline-size:auto;
  max-inline-size:100%;
  display:flex;
  justify-content:center;
  padding:0 18px 18px;
  z-index:100;
  pointer-events:none;
  box-sizing:border-box;
  overflow-x:clip;
  overflow-y:visible;
  contain:layout paint;
  transition:padding .28s ease, left .28s ease, right .28s ease, top .28s ease, bottom .28s ease;
}
.cr-page .cr-dock.cr-dock-modal-open{
  contain:none;
  overflow:visible;
}
.cr-page .cr-registration-return-ghost{
  max-width:none !important;
  max-inline-size:none !important;
  margin:0 !important;
  pointer-events:none !important;
  will-change:transform, opacity;
}
.cr-page .cr-registration-return-ghost,
.cr-page .cr-registration-return-ghost *{
  pointer-events:none !important;
}
.cr-page .cr-dock[data-dock-position="left"]{
  justify-content:flex-start;
  padding-left:max(18px, env(safe-area-inset-left, 0px));
}
.cr-page .cr-dock[data-dock-position="right"]{
  justify-content:flex-end;
  padding-right:max(18px, env(safe-area-inset-right, 0px));
}

.cr-page .cr-dock-island{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px 22px;
  border-radius:var(--cr-dock-radius);
  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:inset 0 1px 0 color-mix(in srgb,var(--cr-text),transparent 94%);
  pointer-events:auto;
  max-width:calc(100vw - 36px);
  min-width:0;
  box-sizing:border-box;
  isolation:isolate;
}
.cr-page .cr-dock[data-dock-draggable="1"] .cr-dock-island:not(.cr-dock-login){
  cursor:move;
  user-select:none;
  -webkit-user-select:none;
}
.cr-page .cr-dock[data-dock-draggable="1"] .cr-dock-island:not(.cr-dock-login)::before{
  content:"";
  position:absolute;
  left:50%;
  top:-13px;
  width:18px;
  height:10px;
  transform:translateX(-50%);
  border-radius:999px;
  opacity:.42;
  pointer-events:none;
  background:
    radial-gradient(circle,color-mix(in srgb,var(--cr-text),transparent 34%) 1.35px,transparent 1.65px)
    0 0 / 6px 5px;
  transition:opacity .18s ease, transform .18s ease;
}
.cr-page .cr-dock[data-dock-draggable="1"] .cr-dock-island:not(.cr-dock-login) a,
.cr-page .cr-dock[data-dock-draggable="1"] .cr-dock-island:not(.cr-dock-login) img{
  -webkit-user-drag:none;
}
.cr-page .cr-dock.cr-dock-dragging{
  inset:0;
  width:100vw;
  height:100vh;
  max-width:none;
  max-inline-size:none;
  padding:0;
  align-items:flex-start;
  justify-content:flex-start;
  overflow:visible;
  contain:none;
  z-index:101;
}
.cr-page .cr-dock.cr-dock-dragging .cr-dock-island:not(.cr-dock-login){
  position:absolute;
  left:0;
  top:0;
  cursor:move;
  transform:translate3d(var(--cr-dock-drag-left, 0px), var(--cr-dock-drag-top, 0px), 0);
  transform-origin:0 0;
  transition:none;
  will-change:transform, width, height, border-radius;
  border-color:color-mix(in srgb,var(--cr-yellow),transparent 26%);
  border-radius:var(--cr-dock-radius);
}
.cr-page .cr-dock.cr-dock-dragging .cr-dock-island:not(.cr-dock-login)::before{
  opacity:.72;
  transform:translateX(-50%) scale(1.08);
}
.cr-page .cr-dock.cr-dock-dragging .cr-dock-island:not(.cr-dock-login) > *{
  pointer-events:none;
}
.cr-page .cr-dock.cr-dock-dragging .cr-dock-btn,
.cr-page .cr-dock.cr-dock-dragging .cr-dock-label,
.cr-page .cr-dock.cr-dock-dragging .cr-dock-public-auth-btn{
  transition:none;
}
.cr-page .cr-dock.cr-dock-dragging .cr-dock-mini-slot{
  display:none !important;
  width:0 !important;
  margin:0 !important;
  opacity:0 !important;
}
.cr-page .cr-dock.cr-dock-instant-commit{
  transition:none !important;
}
.cr-page .cr-dock.cr-dock-instant-commit .cr-dock-island:not(.cr-dock-login),
.cr-page .cr-dock.cr-dock-instant-commit .cr-dock-btn,
.cr-page .cr-dock.cr-dock-instant-commit .cr-dock-label,
.cr-page .cr-dock.cr-dock-instant-commit .cr-dock-public-auth-btn{
  transition:none !important;
  animation:none !important;
}

.cr-dock-placement-hints{
  position:fixed;
  inset:0;
  z-index:99;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, visibility .18s ease;
}
.cr-dock-placement-hints.is-visible{
  opacity:1;
  visibility:visible;
}
.cr-dock-placement-grid{
  position:fixed;
  inset:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:80fr 20fr;
  z-index:0;
}
.cr-dock-placement-zone{
  display:block;
  border:1px dashed color-mix(in srgb,var(--cr-text),transparent 76%);
  background:color-mix(in srgb,var(--cr-dock-bg),transparent 94%);
  opacity:.22;
  transition:opacity .18s ease, background-color .18s ease;
}
.cr-dock-placement-zone[data-dock-zone-cell="center"]{
  grid-column:1 / -1;
}
.cr-dock-placement-hints[data-dock-zone="left"] .cr-dock-placement-zone[data-dock-zone-cell="left"],
.cr-dock-placement-hints[data-dock-zone="center"] .cr-dock-placement-zone[data-dock-zone-cell="center"],
.cr-dock-placement-hints[data-dock-zone="right"] .cr-dock-placement-zone[data-dock-zone-cell="right"]{
  opacity:.48;
  background:color-mix(in srgb,var(--cr-yellow),transparent 94%);
}
.cr-dock-placement-hint{
  position:fixed;
  display:flex;
  z-index:1;
  opacity:.34;
  transition:opacity .18s ease, transform .18s ease;
}
.cr-dock-placement-hints[data-dock-zone="left"] .cr-dock-placement-hint[data-dock-hint="left"],
.cr-dock-placement-hints[data-dock-zone="center"] .cr-dock-placement-hint[data-dock-hint="center"],
.cr-dock-placement-hints[data-dock-zone="right"] .cr-dock-placement-hint[data-dock-hint="right"]{
  opacity:.58;
}
.cr-dock-placement-hint[data-dock-hint="center"]{
  left:0;
  right:0;
  bottom:0;
  height:20vh;
  align-items:flex-end;
  justify-content:center;
  padding:0 18px 18px;
}
.cr-dock-placement-hint[data-dock-hint="left"]{
  top:0;
  bottom:auto;
  left:0;
  height:80vh;
  align-items:center;
  padding:18px 0 18px 18px;
}
.cr-dock-placement-hint[data-dock-hint="right"]{
  top:0;
  right:0;
  bottom:auto;
  height:80vh;
  align-items:center;
  padding:18px 18px 18px 0;
}
.cr-dock-placement-hint-island{
  display:flex;
  align-items:center;
  gap:6px;
  box-sizing:border-box;
  border:1.5px dashed color-mix(in srgb,var(--cr-yellow),transparent 26%);
  border-radius:var(--cr-dock-radius);
  background:color-mix(in srgb,var(--cr-dock-bg),transparent 82%);
  box-shadow:none;
}
.cr-dock-placement-hint[data-dock-hint="center"] .cr-dock-placement-hint-island{
  width:min(596px, calc(100vw - 126px));
  height:72px;
  padding:10px 18px;
  flex-direction:row;
}
.cr-dock-placement-hint[data-dock-hint="left"] .cr-dock-placement-hint-island,
.cr-dock-placement-hint[data-dock-hint="right"] .cr-dock-placement-hint-island{
  width:98px;
  height:min(632px, calc(80vh - 36px));
  padding:12px 10px;
  flex-direction:column;
  align-items:stretch;
}
.cr-dock-placement-hint-cell{
  display:block;
  flex:1 1 auto;
  min-width:28px;
  min-height:28px;
  border-radius:14px;
  border:1px dashed color-mix(in srgb,var(--cr-text),transparent 68%);
  background:transparent;
}

@media (min-width:1081px){
  .cr-page .cr-dock[data-dock-position="left"],
  body .cr-dock[data-dock-position="left"]{
    top:0;
    bottom:0;
    left:0;
    right:auto;
    width:auto;
    padding:18px var(--cr-dock-side-inner-gap) 18px max(var(--cr-dock-side-edge), env(safe-area-inset-left, 0px));
    align-items:center;
    justify-content:center;
    overflow:visible;
    contain:layout;
  }

  .cr-page .cr-dock[data-dock-position="right"],
  body .cr-dock[data-dock-position="right"]{
    top:0;
    bottom:0;
    left:auto;
    right:0;
    width:auto;
    padding:18px max(var(--cr-dock-side-edge), env(safe-area-inset-right, 0px)) 18px var(--cr-dock-side-inner-gap);
    align-items:center;
    justify-content:center;
    overflow:visible;
    contain:layout;
  }

  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-island:not(.cr-dock-login),
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock[data-dock-position="left"] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock[data-dock-position="right"] .cr-dock-island:not(.cr-dock-login){
    flex-direction:column;
    align-items:center;
    gap:4px;
    max-width:min(120px, calc(100vw - 36px));
    max-height:calc(100vh - 36px);
    padding:12px 10px;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cr-text),transparent 94%);
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:thin;
  }
  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-public-auth,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-public-auth,
  body .cr-dock[data-dock-position="left"] .cr-dock-public-auth,
  body .cr-dock[data-dock-position="right"] .cr-dock-public-auth{
    flex-direction:column;
    align-items:center;
    gap:5px;
    min-inline-size:0;
    inline-size:98px;
    max-inline-size:100%;
    margin:2px 0 0;
    padding:8px 0 0;
    border-left:0;
    border-top:1px solid color-mix(in srgb,var(--cr-line),transparent 58%);
  }
  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-public-auth-btn,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-public-auth-btn,
  body .cr-dock[data-dock-position="left"] .cr-dock-public-auth-btn,
  body .cr-dock[data-dock-position="right"] .cr-dock-public-auth-btn{
    inline-size:100%;
    min-inline-size:0;
    min-height:36px;
    padding:0 8px;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }
  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-island:not(.cr-dock-login)::before,
  body .cr-dock[data-dock-position="left"] .cr-dock-island:not(.cr-dock-login)::before{
    left:auto;
    right:-14px;
    top:50%;
    transform:translateY(-50%) rotate(90deg);
  }
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-island:not(.cr-dock-login)::before,
  body .cr-dock[data-dock-position="right"] .cr-dock-island:not(.cr-dock-login)::before{
    left:-14px;
    top:50%;
    transform:translateY(-50%) rotate(90deg);
  }
  .cr-page .cr-dock.cr-dock-dragging[data-dock-position="left"] .cr-dock-island:not(.cr-dock-login)::before,
  body .cr-dock.cr-dock-dragging[data-dock-position="left"] .cr-dock-island:not(.cr-dock-login)::before{
    transform:translateY(-50%) rotate(90deg) scale(1.08);
  }
  .cr-page .cr-dock.cr-dock-dragging[data-dock-position="right"] .cr-dock-island:not(.cr-dock-login)::before,
  body .cr-dock.cr-dock-dragging[data-dock-position="right"] .cr-dock-island:not(.cr-dock-login)::before{
    transform:translateY(-50%) rotate(90deg) scale(1.08);
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="left"],
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="right"],
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="left"],
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="right"]{
    top:auto;
    bottom:0;
    left:0;
    right:0;
    width:auto;
    padding:0 18px 18px;
    align-items:stretch;
    justify-content:center;
    overflow-x:clip;
    overflow-y:visible;
    contain:layout paint;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="left"] .cr-dock-island:not(.cr-dock-login),
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="right"] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="left"] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position="right"] .cr-dock-island:not(.cr-dock-login){
    flex-direction:row;
    align-items:center;
    max-width:calc(100vw - 36px);
    max-height:none;
    padding:10px 22px;
    overflow:visible;
    scrollbar-width:auto;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position="center"],
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position="center"]{
    top:0;
    bottom:0;
    left:0;
    right:auto;
    width:auto;
    padding:18px var(--cr-dock-side-inner-gap) 18px max(var(--cr-dock-side-edge), env(safe-area-inset-left, 0px));
    align-items:center;
    justify-content:center;
    overflow:visible;
    contain:layout;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position="center"],
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position="center"]{
    top:0;
    bottom:0;
    left:auto;
    right:0;
    width:auto;
    padding:18px max(var(--cr-dock-side-edge), env(safe-area-inset-right, 0px)) 18px var(--cr-dock-side-inner-gap);
    align-items:center;
    justify-content:center;
    overflow:visible;
    contain:layout;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position="center"] .cr-dock-island:not(.cr-dock-login),
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position="center"] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position="center"] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position="center"] .cr-dock-island:not(.cr-dock-login){
    flex-direction:column;
    align-items:center;
    gap:4px;
    max-width:min(120px, calc(100vw - 36px));
    max-height:calc(100vh - 36px);
    padding:12px 10px;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cr-text),transparent 94%);
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:thin;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position="center"] .cr-dock-mini-slot,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position="center"] .cr-dock-mini-slot,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position="center"] .cr-dock-mini-slot,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position="center"] .cr-dock-mini-slot{
    display:none !important;
    width:0 !important;
    margin:0 !important;
    opacity:0 !important;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone][data-dock-position],
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone][data-dock-position]{
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100vw;
    height:100vh;
    max-width:none;
    max-inline-size:none;
    padding:0;
    align-items:flex-start;
    justify-content:flex-start;
    overflow:visible;
    contain:none;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-island:not(.cr-dock-login){
    flex-direction:row;
    align-items:center;
    width:max-content;
    max-width:calc(100vw - 36px);
    max-height:none;
    padding:10px 22px;
    overflow:visible;
    scrollbar-width:auto;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-island:not(.cr-dock-login),
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-island:not(.cr-dock-login),
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-island:not(.cr-dock-login){
    flex-direction:column;
    align-items:center;
    gap:4px;
    width:max-content;
    max-width:min(120px, calc(100vw - 36px));
    max-height:calc(100vh - 36px);
    padding:12px 10px;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--cr-text),transparent 94%);
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:thin;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-island:not(.cr-dock-login)::before,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-island:not(.cr-dock-login)::before{
    left:50%;
    right:auto;
    top:-13px;
    transform:translateX(-50%) scale(1.08);
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-island:not(.cr-dock-login)::before,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-island:not(.cr-dock-login)::before{
    left:auto;
    right:-14px;
    top:50%;
    transform:translateY(-50%) rotate(90deg) scale(1.08);
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-island:not(.cr-dock-login)::before,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-island:not(.cr-dock-login)::before{
    left:-14px;
    right:auto;
    top:50%;
    transform:translateY(-50%) rotate(90deg) scale(1.08);
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-public-auth,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-public-auth,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-public-auth,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-public-auth{
    flex-direction:column;
    align-items:center;
    gap:5px;
    min-inline-size:0;
    inline-size:98px;
    max-inline-size:100%;
    margin:2px 0 0;
    padding:8px 0 0;
    border-left:0;
    border-top:1px solid color-mix(in srgb,var(--cr-line),transparent 58%);
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-public-auth-btn,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-public-auth-btn,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-public-auth-btn,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-public-auth-btn{
    inline-size:100%;
    min-inline-size:0;
    min-height:36px;
    padding:0 8px;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-public-auth,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-public-auth{
    flex-direction:row;
    align-items:center;
    gap:6px;
    min-inline-size:max-content;
    inline-size:auto;
    max-inline-size:none;
    margin:0 0 0 4px;
    padding:0 0 0 10px;
    border-top:0;
    border-left:1px solid color-mix(in srgb,var(--cr-line),transparent 58%);
  }

  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-public-auth-btn,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="center"][data-dock-position] .cr-dock-public-auth-btn{
    inline-size:auto;
    min-inline-size:max-content;
    min-height:38px;
    padding:0 13px;
    text-align:center;
    white-space:nowrap;
    overflow:visible;
  }

  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-btn,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-btn,
  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-label,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-label,
  body .cr-dock[data-dock-position="left"] .cr-dock-btn,
  body .cr-dock[data-dock-position="right"] .cr-dock-btn,
  body .cr-dock[data-dock-position="left"] .cr-dock-label,
  body .cr-dock[data-dock-position="right"] .cr-dock-label,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-btn,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-btn,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-label,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-label,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-btn,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-btn,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-label,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-label{
    min-block-size:48px;
    padding:4px 8px 3px;
  }

  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-public-mode-label,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-public-mode-label,
  body .cr-dock[data-dock-position="left"] .cr-dock-public-mode-label,
  body .cr-dock[data-dock-position="right"] .cr-dock-public-mode-label,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-public-mode-label,
  .cr-page .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-public-mode-label,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="left"][data-dock-position] .cr-dock-public-mode-label,
  body .cr-dock.cr-dock-dragging[data-dock-drag-zone="right"][data-dock-position] .cr-dock-public-mode-label{
    min-block-size:48px;
    padding:4px 5px 3px;
  }

  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-mini-slot,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-mini-slot,
  body .cr-dock[data-dock-position="left"] .cr-dock-mini-slot,
  body .cr-dock[data-dock-position="right"] .cr-dock-mini-slot{
    display:none !important;
    width:0 !important;
    margin:0 !important;
    opacity:0 !important;
  }

  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-label,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-label,
  body .cr-dock[data-dock-position="left"] .cr-dock-label,
  body .cr-dock[data-dock-position="right"] .cr-dock-label{
    margin-right:0;
  }

  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-btn:hover,
  .cr-page .cr-dock[data-dock-position="left"] .cr-dock-label:hover,
  body .cr-dock[data-dock-position="left"] .cr-dock-btn:hover,
  body .cr-dock[data-dock-position="left"] .cr-dock-label:hover{
    transform:translateX(2px);
  }

  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-btn:hover,
  .cr-page .cr-dock[data-dock-position="right"] .cr-dock-label:hover,
  body .cr-dock[data-dock-position="right"] .cr-dock-btn:hover,
  body .cr-dock[data-dock-position="right"] .cr-dock-label:hover{
    transform:translateX(-2px);
  }
}

.cr-page.cr-mobile-filter-open .cr-dock,
.cr-page.cr-mobile-filter-open .cr-dock *,
body.cr-mobile-filter-open .cr-dock,
body.cr-mobile-filter-open .cr-dock *{
  opacity:0;
  visibility:hidden;
  pointer-events:none !important;
}

/* ── Dock buttons ── */
.cr-page .cr-dock-btn{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  inline-size:72px;
  min-block-size:52px;
  padding:6px 10px 4px;
  border-radius:14px;
  border:none;
  background:transparent;
  color:var(--cr-muted);
  font:inherit;
  text-decoration:none;
  box-sizing:border-box;
  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{
  max-inline-size:100%;
  font:600 10px/1.08 var(--cr-font-family);
  letter-spacing:.02em;
  text-align:center;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}

.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-text),transparent 92%);
  color:var(--cr-yellow);
}
.cr-page .cr-dock-btn.cr-dock-active .cr-dock-txt{
  color:var(--cr-yellow);
}
.cr-page .cr-dock-btn.cr-dock-logout.cr-dock-active{
  background:transparent;
  color:var(--cr-muted);
  transform:none;
}
.cr-page .cr-dock-btn.cr-dock-logout.cr-dock-active .cr-dock-txt{
  color:inherit;
}

.cr-page #gts-cart-badge{
  transform-origin:center;
  will-change:transform;
  z-index:4;
  font-family:var(--cr-font-family);
}

.cr-page .cr-dock-btn[data-cart-badge-target="1"]{
  position:relative;
}

.cr-page #gts-cart-badge.is-cart-badge-pulse{
  animation:cr-cart-badge-pulse .62s cubic-bezier(.22,.8,.2,1);
}

@keyframes cr-cart-badge-pulse{
  0%{transform:scale(1)}
  28%{transform:scale(1.34)}
  58%{transform:scale(.92)}
  100%{transform:scale(1)}
}

@media (prefers-reduced-motion:reduce){
  .cr-page #gts-cart-badge.is-cart-badge-pulse{
    animation:none;
  }
}

/* ── Dock label (Личный кабинет) ── */
.cr-dock-label{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  inline-size:72px;
  min-block-size:52px;
  padding:6px 10px 4px;
  margin-right:4px;
  border-radius:14px;
  background:transparent;
  color:var(--cr-muted);
  cursor:pointer;
  text-decoration:none;
  box-sizing:border-box;
  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-text),transparent 92%);
  color:var(--cr-yellow);
}
.cr-dock-label.cr-dock-active .cr-dock-label-text{
  color:var(--cr-yellow);
}
.cr-dock-label-ico{
  font-size:18px;
  line-height:1;
  filter:brightness(1.5) saturate(1.5);
}
.cr-dock-label-text{
  max-inline-size:100%;
  font:600 10px/1.08 var(--cr-font-family);
  color:inherit;
  letter-spacing:.02em;
  text-align:center;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}

.cr-page .cr-dock-public-demo{
  max-inline-size:min(1180px, calc(100vw - 36px));
  overflow-x:auto;
  scrollbar-width:none;
}
.cr-page .cr-dock-public-demo::-webkit-scrollbar{display:none}
.cr-page .cr-dock-public-mode-label{
  flex:0 0 auto;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  inline-size:72px;
  min-block-size:52px;
  padding:6px 6px 4px;
  margin-right:4px;
  border:0;
  background:transparent;
  color:var(--cr-yellow);
  font:700 10px/1.06 var(--cr-font-family);
  letter-spacing:.02em;
  text-align:center;
  pointer-events:none;
  white-space:normal;
  box-sizing:border-box;
}
.cr-page .cr-dock-public-mode-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.cr-page .cr-dock-public-mode-text > span{
  display:block;
}
.cr-page .cr-dock-public-auth{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:6px;
  margin-left:4px;
  padding-left:10px;
  border-left:1px solid color-mix(in srgb,var(--cr-line),transparent 58%);
  min-inline-size:max-content;
}
.cr-page .cr-dock-public-auth-btn{
  flex:0 0 auto;
  min-inline-size:max-content;
  max-inline-size:none;
  min-height:38px;
  padding:0 13px;
  border:1px solid color-mix(in srgb,var(--cr-yellow),transparent 40%);
  border-radius:var(--cr-dock-control-radius);
  background:color-mix(in srgb,var(--cr-yellow),transparent 84%);
  color:var(--cr-yellow);
  font:800 10px/1 var(--cr-font-family);
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  box-sizing:border-box;
  cursor:pointer;
  transition:background .2s, color .2s, transform .15s, border-color .2s;
}
.cr-page .cr-dock-public-auth-btn--login{
  background:var(--cr-yellow);
  color:var(--cr-ink);
}
.cr-page .cr-dock-public-auth-btn:hover{
  transform:translateY(-1px);
  border-color:var(--cr-yellow);
  background:var(--cr-yellow);
  color:var(--cr-ink);
}

.cr-page .cr-dock-mobile-only{
  display:none !important;
}

.cr-page .cr-dock-mobile-close,
body .cr-dock-mobile-close{
  display:none;
}

.cr-page .cr-dock-more-panel{
  display:none;
}

/* ── 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;
  border-radius:var(--cr-dock-radius);
}
.cr-auth-form{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  margin:0;
  flex-wrap:nowrap;
}
.cr-auth-demo-return{
  flex:0 0 auto;
  width:72px;
  min-height:34px;
  padding:0 12px;
  border:1.5px solid var(--cr-accent-focus-strong);
  border-radius:var(--cr-dock-control-radius);
  background:transparent;
  color:var(--cr-accent-border);
  font:800 10px/1 var(--cr-font-family);
  letter-spacing:0;
  white-space:nowrap;
  cursor:pointer;
  transition:background .2s, color .2s, border-color .2s, transform .15s;
}
.cr-auth-demo-return:hover{
  transform:translateY(-1px);
  border-color:var(--cr-accent-border);
  color:var(--cr-accent);
  background:var(--cr-accent-focus);
}
.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:var(--cr-dock-control-radius);
  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:var(--cr-dock-control-radius);
  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-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  box-sizing:border-box;
  display:none;
  place-items:center;
  padding:20px;
  background:color-mix(in srgb,var(--cr-ink),transparent 54%);
}

.cr-auth-modal.is-open{
  display:grid;
}

.cr-auth-modal-box{
  box-sizing:border-box;
  width:min(392px,calc(100vw - 40px));
  max-height:calc(100dvh - 40px);
  overflow:auto;
  padding:22px;
  border:1px solid var(--cr-border-soft);
  border-radius:20px;
  background:var(--cr-surface);
  box-shadow:var(--cr-shadow-card);
}

.cr-auth-modal--registration-success .cr-auth-modal-box{
  width:min(344px,calc(100vw - 44px));
  padding:20px;
  border-radius:18px;
}

.cr-auth-modal-title{
  margin:0 0 8px;
  color:var(--cr-detail-text);
  font:800 18px/1.18 var(--cr-font-display);
  letter-spacing:0;
}

.cr-auth-modal-body{
  margin:0;
  color:var(--cr-detail-muted);
  font:600 13px/1.5 var(--cr-font-family);
}

.cr-auth-modal-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:18px;
}

.cr-auth-modal--registration-success .cr-auth-modal-actions{
  margin-top:16px;
}

.cr-auth-modal-btn{
  min-height:38px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:var(--cr-accent);
  color:var(--cr-ink);
  font:800 12px/1 var(--cr-font-family);
  cursor:pointer;
}

.cr-auth-modal-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--cr-accent-focus-strong);
}
.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-registration-modal{
  position:fixed;
  inset:var(--cr-registration-viewport-top, 0px) 0 auto 0;
  z-index:9999;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  width:100vw;
  min-height:var(--cr-registration-viewport-height, 100dvh);
  height:var(--cr-registration-viewport-height, 100dvh);
  padding:16px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.cr-registration-modal[hidden]{
  display:none;
}
.cr-registration-modal.is-open{
  opacity:1;
  pointer-events:auto;
}
body.cr-registration-modal-open{
  overflow:hidden;
}
.cr-reg-layer{
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
}
.cr-registration-modal.is-open .cr-reg-layer{
  display:flex;
}
.cr-registration-modal-card{
  position:relative;
  box-sizing:border-box;
  width:min(var(--cr-registration-modal-width, 440px), calc(100vw - 32px));
  max-width:440px;
  max-height:min(var(--cr-registration-modal-max-height, 620px), calc(var(--cr-registration-viewport-height, 100dvh) - 32px));
  overflow:auto;
  overscroll-behavior:contain;
  scroll-padding:14px 0 84px;
  padding:28px 24px 24px;
  border:1px solid color-mix(in srgb,var(--cr-line),transparent 44%);
  border-radius:24px;
  background:var(--cr-surface);
  box-shadow:0 16px 64px color-mix(in srgb,var(--cr-ink),transparent 75%);
}

/* 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:var(--cr-dock-radius) !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:0;
}
.cr-reg-input{
  min-height:40px;
  box-sizing:border-box;
  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-input.is-invalid,
.cr-reg-consent input.is-invalid{
  border-color:#c0392b;
  box-shadow:0 0 0 3px color-mix(in srgb,#c0392b,transparent 82%);
}
.cr-reg-error{
  display:block;
  margin-top:2px;
  color:#b3261e;
  font:700 11px/1.25 var(--cr-font-family);
  text-transform:none;
}
.cr-reg-consent .cr-reg-error{
  grid-column:2;
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
}
.cr-reg-error:empty{
  display:none;
}
.cr-reg-submit{
  margin-top:4px;
  padding:10px;
  font-size:13px;
  border-radius:12px;
}
.cr-reg-consent{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:8px;
  align-items:flex-start;
  margin:2px 0 0;
  color:var(--cr-detail-muted);
  font:600 12px/1.45 var(--cr-font-family);
}
.cr-reg-consent input{
  width:18px;
  height:18px;
  margin:1px 0 0;
  accent-color:var(--cr-accent);
}
.cr-reg-consent a{
  color:var(--cr-detail-text);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.cr-reg-consent a:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--cr-accent-focus-strong);
  border-radius:6px;
}
.cr-reg-captcha-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  margin-top:2px;
}
.cr-reg-captcha-label{
  font:600 11px/1 var(--cr-font-family);
  color:var(--cr-detail-muted);
  text-transform:uppercase;
  letter-spacing:0;
}
.cr-reg-captcha{
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
}
.cr-reg-captcha iframe{
  max-width:100%;
}
.cr-reg-captcha-hint{
  min-height:14px;
  color:var(--cr-detail-muted);
  font:600 11px/1.25 var(--cr-font-family);
}
.cr-reg-captcha-hint:empty{
  display:none;
}
.cr-reg-captcha-hint.is-error{
  color:#b3261e;
}

/* ── Responsive: dock ── */
@media (max-width:1080px){
  .cr-page .cr-dock{padding:0 10px 12px}
  .cr-page.cr-catalog-page .cr-dock,
  .cr-page.cr-product-page .cr-dock{
    transition:transform .24s ease, opacity .18s ease;
    will-change:transform;
  }
  .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-page .cr-dock-public-demo{max-inline-size:calc(100vw - 20px)}
  .cr-page .cr-dock-public-demo .cr-dock-label{inline-size:70px}
  .cr-page .cr-dock-public-mode-label{inline-size:70px;min-block-size:52px;padding:6px 5px 4px;font-size:9px}
  .cr-page .cr-dock-public-auth{position:sticky;right:0;margin-left:2px;padding-left:8px;background:var(--cr-dock-bg)}
  .cr-page .cr-dock-public-auth-btn{min-height:34px;padding:0 10px;font-size:9px}
  .cr-auth-demo-return{width:72px;padding:0 12px;font-size:10px}
  .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:var(--cr-dock-radius);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-page .cr-dock-public-demo{justify-content:flex-start;flex-wrap:nowrap;padding:7px 10px;overflow-x:auto}
  .cr-page .cr-dock-public-demo .cr-dock-btn{inline-size:60px;flex:0 0 auto}
  .cr-page .cr-dock-public-demo .cr-dock-label{inline-size:62px;flex:0 0 auto}
  .cr-page .cr-dock-public-mode-label{inline-size:62px;flex:0 0 auto;font-size:8px}
  .cr-page .cr-dock-public-auth{flex:0 0 auto}
  .cr-auth-form{flex-wrap:wrap;gap:8px}
  .cr-auth-demo-return{flex:0 0 72px;min-height:34px}
  .cr-auth-field,
  .cr-auth-password-cell{flex-basis:calc(50% - 4px);width:auto}
  .cr-auth-remember{min-width:112px}
}

@media (max-width:640px){
  .cr-dock-login{
    width:min(360px, calc(100vw - 20px));
    max-height:calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
    padding:14px 14px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    overflow:auto;
    overscroll-behavior:contain;
  }
  .cr-auth-form{
    flex-direction:column;
    align-items:stretch;
    flex-wrap:nowrap;
    gap:10px;
  }
  .cr-auth-field,
  .cr-auth-password-cell{
    flex:0 0 auto;
    width:100%;
    min-height:48px;
    box-sizing:border-box;
  }
  .cr-auth-field{
    padding:10px 14px;
    font-size:14px;
  }
  .cr-auth-password-cell .cr-auth-field{
    width:100%;
  }
  .cr-auth-remember{
    width:100%;
    min-height:38px;
    min-width:0;
    box-sizing:border-box;
    padding:0 2px;
    color:var(--cr-text-soft);
    font:700 12px/1.2 var(--cr-font-family);
  }
  .cr-auth-btn,
  .cr-auth-demo-return{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:12px;
  }
  .cr-auth-login{
    min-height:48px;
    font-weight:800;
  }
  .cr-auth-demo-return{
    flex:0 0 auto;
    padding:0 18px;
    border-color:var(--cr-accent-focus-strong);
    background:color-mix(in srgb,var(--cr-surface),transparent 88%);
    color:var(--cr-accent-border);
    font-weight:800;
  }
}





/* Scroll logo slot (left pull effect) */
.cr-page .cr-dock-island{
  transition: padding .28s ease, gap .28s ease, border-radius .28s ease, max-width .28s ease, max-height .28s ease, transform .22s ease, opacity .18s ease;
}
.cr-page .cr-dock.cr-dock-relocating .cr-dock-island:not(.cr-dock-login){
  transform:translateZ(0) scale(.985);
  will-change:transform, max-width, max-height, opacity;
}
.cr-page .cr-dock-mini-slot{
  width:0;
  opacity:0;
  margin-right:0;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:transparent;
  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;
  background:transparent;
  filter:none;
}
.cr-page .cr-dock.cr-dock-logo .cr-dock-island{
  padding-left:8px;
}
.cr-page .cr-dock.cr-dock-dragging.cr-dock-logo .cr-dock-island:not(.cr-dock-login){
  padding-left:22px;
}
.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:var(--cr-dock-radius);
  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-scroll-ready + .cr-scroll-top-btn{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
@media (max-width:1080px){
  .cr-page .cr-scroll-top-btn{ right:12px; bottom:12px; width:44px; height:44px; font-size:16px; border-radius:16px; }
}

@media (max-width:1080px) and (pointer:coarse),
  ((max-height:480px) and (orientation:landscape) and (pointer:coarse)){
  .cr-page .cr-scroll-top-btn,
  body .cr-scroll-top-btn{
    display:none !important;
  }
}

@media (max-width:1080px), ((max-height:480px) and (orientation:landscape)){
  .cr-page.has-mobile-dock,
  body.has-mobile-dock{
    --cr-mobile-dock-menu-width:min(356px, calc(100vw - 16px));
    --cr-mobile-dock-glass-tint:34 22% 20%;
    --cr-mobile-dock-glass-alpha:.94;
    --cr-mobile-dock-glass-strong-alpha:.96;
    --cr-mobile-dock-solid-bg:hsl(var(--cr-mobile-dock-glass-tint));
    --cr-mobile-dock-solid-bg-soft:hsl(34 24% 23%);
    --cr-mobile-dock-glass-fill:hsl(var(--cr-mobile-dock-glass-tint) / var(--cr-mobile-dock-glass-alpha));
    --cr-mobile-dock-glass-fill-strong:hsl(var(--cr-mobile-dock-glass-tint) / var(--cr-mobile-dock-glass-strong-alpha));
    --cr-mobile-dock-glass-border:rgba(255,255,255,.14);
    --cr-mobile-dock-glass-lens:none;
    --cr-mobile-dock-glass-shadow:0 10px 28px color-mix(in srgb,var(--cr-ink),transparent 82%);
    --cr-mobile-dock-glass-filter:blur(140px) saturate(1.18) contrast(.86);
  }

  .cr-page:not(.cr-dock-contract-ready) .cr-dock{
    visibility:hidden;
  }

  .cr-page.cr-dock-contract-ready .cr-dock{
    visibility:visible;
  }

  .cr-page.cr-dock-contract-ready:not(.has-mobile-dock) .cr-dock{
    display:none !important;
  }

  .cr-page.has-mobile-dock .cr-dock,
  body.has-mobile-dock .cr-dock{
    left:0;
    right:0;
    width:auto;
    max-width:100%;
    inline-size:auto;
    max-inline-size:100%;
    padding:0 max(8px, env(safe-area-inset-left, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-right, 0px));
    overflow-x:clip;
    overflow-y:visible;
    z-index:140;
    transition:transform .24s ease, opacity .18s ease;
    will-change:transform;
    justify-content:center;
  }

  .cr-page.has-mobile-dock .cr-dock[data-dock-position="left"],
  .cr-page.has-mobile-dock .cr-dock[data-dock-position="right"],
  body.has-mobile-dock .cr-dock[data-dock-position="left"],
  body.has-mobile-dock .cr-dock[data-dock-position="right"]{
    justify-content:center;
  }

  /* Final mobile dock scroll-hide guard. */
  .cr-page.has-mobile-dock.cr-dock-auto-hidden .cr-dock,
  body.has-mobile-dock.cr-dock-auto-hidden .cr-dock{
    transform:translateY(calc(100% + 18px));
    opacity:0;
    pointer-events:none;
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock,
  body.has-mobile-dock.cr-dock-more-open .cr-dock{
    contain:none;
    overflow:visible;
    transform:none;
    will-change:auto;
  }

  html.cr-dock-more-open,
  body.cr-dock-more-open{
    overflow:hidden;
    overscroll-behavior:none;
  }

  body.cr-dock-more-open{
    touch-action:none;
  }

  body.cr-dock-more-open .cr-dock-more-panel{
    touch-action:pan-y;
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-island:not(.cr-dock-login),
  body.has-mobile-dock.cr-dock-more-open .cr-dock-island:not(.cr-dock-login){
    transform:translateY(calc(100% + 32px));
    opacity:0;
    filter:none;
    pointer-events:none;
    z-index:1;
  }

  .cr-page.has-mobile-dock .cr-dock-island:not(.cr-dock-login),
  body.has-mobile-dock .cr-dock-island:not(.cr-dock-login){
    width:min(242px, calc(100vw - 32px));
    max-width:calc(100vw - 16px);
    min-width:0;
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    gap:6px;
    padding:6px;
    overflow:visible;
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    border-radius:20px;
    transform:none;
    transition:width .26s cubic-bezier(.4,0,.2,1), max-width .26s cubic-bezier(.4,0,.2,1), border-radius .26s cubic-bezier(.4,0,.2,1), padding .26s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.4,0,.2,1), opacity .22s ease, filter .22s ease;
  }

  .cr-page.has-mobile-dock .cr-dock-island.cr-mobile-back-available:not(.cr-dock-login),
  body.has-mobile-dock .cr-dock-island.cr-mobile-back-available:not(.cr-dock-login){
    width:min(326px, calc(100vw - 32px));
  }

  .cr-page.has-mobile-dock .cr-dock.cr-dock-logo .cr-dock-island:not(.cr-dock-login){
    padding-left:6px;
  }

  .cr-page.has-mobile-dock .cr-dock-mini-slot{
    display:none !important;
    width:0 !important;
    margin:0 !important;
    opacity:0 !important;
  }

  .cr-page.has-mobile-dock .cr-dock-mobile-only{
    display:flex !important;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"][hidden],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"][hidden],
  .cr-page.has-mobile-dock #dockMenu:not(.cr-mobile-back-available) .cr-dock-btn[data-mobile-dock-action="back"],
  body.has-mobile-dock #dockMenu:not(.cr-mobile-back-available) .cr-dock-btn[data-mobile-dock-action="back"]{
    display:none !important;
  }

  .cr-page.has-mobile-dock .cr-dock-island:not(.cr-dock-login) > :not([data-mobile-dock-primary="1"]){
    display:none !important;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-primary="1"]{
    flex:1 1 0;
    inline-size:0;
    min-inline-size:0;
    min-block-size:48px;
    padding:0 14px;
    border-radius:14px;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"],
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"],
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"],
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"]{
    flex-direction:row;
    gap:8px;
    inline-size:100%;
    min-inline-size:0;
    -webkit-tap-highlight-color:transparent;
    border:1px solid var(--cr-mobile-dock-glass-border);
    background-color:var(--cr-mobile-dock-glass-fill,var(--cr-mobile-dock-solid-bg,var(--cr-dock-bg))) !important;
    background-image:none !important;
    box-shadow:var(--cr-mobile-dock-glass-shadow);
    backdrop-filter:var(--cr-mobile-dock-glass-filter);
    -webkit-backdrop-filter:var(--cr-mobile-dock-glass-filter);
    color:var(--cr-text);
    position:relative;
    overflow:hidden;
    touch-action:manipulation;
    user-select:none;
    -webkit-user-select:none;
    appearance:none;
    transform:none !important;
    transition:inline-size .26s cubic-bezier(.4,0,.2,1), block-size .26s cubic-bezier(.4,0,.2,1), min-block-size .26s cubic-bezier(.4,0,.2,1), border-radius .26s cubic-bezier(.4,0,.2,1), padding .26s cubic-bezier(.4,0,.2,1), color .16s ease;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"]::before,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"]::before,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"]::before,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"]::before,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"]::before,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"]::before,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"]::before,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"]::before{
    content:none;
    position:absolute;
    inset:0;
    z-index:0;
    border-radius:inherit;
    background:none;
    box-shadow:none;
    pointer-events:none;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"] > *,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"] > *,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"] > *,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"] > *,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"] > *,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"] > *,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"] > *,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"] > *{
    position:relative;
    z-index:1;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"]:hover,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"]:focus,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"]:active,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"].cr-dock-active,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"]:hover,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"]:focus,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"]:active,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"].cr-dock-active,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"]:hover,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"]:focus,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"]:active,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"]:hover,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"]:focus,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"]:active{
    background-color:var(--cr-mobile-dock-glass-fill,var(--cr-mobile-dock-solid-bg,var(--cr-dock-bg))) !important;
    background-image:none !important;
    color:var(--cr-text);
    transform:none !important;
    outline:none;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"].cr-dock-active .cr-dock-txt,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"].cr-dock-active .cr-dock-txt{
    color:var(--cr-text);
  }

  .cr-page.has-mobile-dock .cr-dock-btn.cr-dock-mobile-close[data-mobile-dock-action="close-menu"],
  body.has-mobile-dock .cr-dock-btn.cr-dock-mobile-close[data-mobile-dock-action="close-menu"]{
    position:fixed;
    left:50%;
    right:auto;
    bottom:calc(8px + env(safe-area-inset-bottom, 0px));
    width:var(--cr-mobile-dock-menu-width);
    max-width:calc(100vw - 16px);
    inline-size:var(--cr-mobile-dock-menu-width);
    max-inline-size:calc(100vw - 16px);
    min-inline-size:0;
    min-height:48px;
    display:flex;
    justify-content:center;
    padding:0 16px;
    transform:translate(-50%, calc(100% + 24px)) !important;
    transform-origin:bottom center;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:145;
    transition:opacity .18s ease, transform .3s cubic-bezier(.22,.9,.24,1), visibility 0s linear .3s;
  }

  .cr-page.has-mobile-dock .cr-dock-mobile-close .cr-dock-ico,
  body.has-mobile-dock .cr-dock-mobile-close .cr-dock-ico{
    font-size:26px;
    line-height:1;
  }

  .cr-page.has-mobile-dock .cr-dock-mobile-close .cr-dock-txt,
  body.has-mobile-dock .cr-dock-mobile-close .cr-dock-txt{
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-btn.cr-dock-mobile-close[data-mobile-dock-action="close-menu"],
  body.has-mobile-dock.cr-dock-more-open .cr-dock-btn.cr-dock-mobile-close[data-mobile-dock-action="close-menu"]{
    transform:translate(-50%, 0) !important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .18s ease, transform .3s cubic-bezier(.22,.9,.24,1), visibility 0s;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"]:focus-visible,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"]:focus-visible,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"]:focus-visible,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="close-menu"]:focus-visible{
    outline:1px solid color-mix(in srgb,var(--cr-yellow),transparent 38%);
    outline-offset:3px;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"]{
    flex:0 0 48px;
    inline-size:48px;
    max-inline-size:48px;
    padding:0;
  }

  .cr-page.has-mobile-dock #dockMenu:not(.cr-mobile-back-available) .cr-dock-btn[data-mobile-dock-action="menu"],
  body.has-mobile-dock #dockMenu:not(.cr-mobile-back-available) .cr-dock-btn[data-mobile-dock-action="menu"]{
    flex:0 0 112px;
    inline-size:112px;
    max-inline-size:112px;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"][disabled],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"][disabled],
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"][aria-disabled="true"],
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"][aria-disabled="true"]{
    opacity:.42;
    cursor:default;
    color:color-mix(in srgb,var(--cr-yellow),transparent 38%);
    box-shadow:
      0 3px 12px color-mix(in srgb,var(--cr-ink),transparent 86%),
      inset 0 1px 0 color-mix(in srgb,var(--cr-text),transparent 94%);
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"][aria-expanded="false"] #gts-cart-badge,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"][aria-expanded="false"] #gts-cart-badge{
    top:5px !important;
    right:calc(50% - 48px) !important;
    z-index:9;
    box-shadow:0 2px 8px color-mix(in srgb,var(--cr-ink),transparent 68%);
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"][aria-expanded="true"] #gts-cart-badge,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"][aria-expanded="true"] #gts-cart-badge{
    display:none !important;
  }

  .cr-page.has-mobile-dock .cr-dock-more-txt #gts-cart-badge,
  body.has-mobile-dock .cr-dock-more-txt #gts-cart-badge{
    position:static !important;
    display:inline-flex !important;
    margin-left:6px !important;
    vertical-align:middle;
  }

  .cr-page.has-mobile-dock .cr-dock-more-txt #gts-cart-badge[data-cart-count="0"],
  body.has-mobile-dock .cr-dock-more-txt #gts-cart-badge[data-cart-count="0"]{
    display:none !important;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"] .cr-dock-ico:empty,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"] .cr-dock-txt:empty,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"] .cr-dock-ico:empty,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="menu"] .cr-dock-txt:empty,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"] .cr-dock-ico:empty,
  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="back"] .cr-dock-txt:empty{
    display:none;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"] .cr-dock-ico,
  body.has-mobile-dock .cr-dock-btn[data-mobile-dock-action="home"] .cr-dock-ico{
    font-size:20px;
    transform:translateY(-1px);
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-primary="1"] .cr-dock-ico{
    font-size:26px;
    line-height:1;
  }

  .cr-page.has-mobile-dock .cr-dock-btn[data-mobile-dock-primary="1"] .cr-dock-txt{
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    overflow-wrap:normal;
    text-transform:uppercase;
  }

  .cr-page.has-mobile-dock .cr-dock-more-panel,
  body.has-mobile-dock .cr-dock-more-panel{
    --cr-mobile-dock-panel-glass-fill:var(--cr-mobile-dock-glass-fill);
    --cr-mobile-dock-panel-glass-fill-strong:var(--cr-mobile-dock-glass-fill-strong);
    --cr-mobile-dock-panel-lens:var(--cr-mobile-dock-glass-lens);
    position:fixed;
    left:50%;
    right:auto;
    top:calc(10px + env(safe-area-inset-top, 0px));
    bottom:calc(var(--cr-mobile-dock-close-top-offset, var(--cr-mobile-dock-height, 80px)) + 6px + env(safe-area-inset-bottom, 0px));
    width:var(--cr-mobile-dock-menu-width);
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto minmax(0,1fr);
    gap:6px;
    height:auto;
    max-height:none;
    overflow:visible;
    overscroll-behavior:contain;
    scrollbar-width:none;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    pointer-events:none;
    visibility:hidden;
    transform:translate(-50%, 28px) scale(.98);
    transform-origin:bottom center;
    opacity:0;
    transition:opacity .18s ease, transform .3s cubic-bezier(.22,.9,.24,1), visibility 0s linear .3s;
  }

  .cr-page.has-mobile-dock .cr-dock-more-panel[data-has-main="0"],
  body.has-mobile-dock .cr-dock-more-panel[data-has-main="0"]{
    grid-template-rows:auto minmax(0,1fr);
  }

  .cr-page.has-mobile-dock .cr-dock-more-panel[data-has-main="0"] .cr-dock-more-account,
  body.has-mobile-dock .cr-dock-more-panel[data-has-main="0"] .cr-dock-more-account{
    grid-row:2;
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-more-panel,
  body.has-mobile-dock.cr-dock-more-open .cr-dock-more-panel{
    pointer-events:none;
    visibility:visible;
    opacity:1;
    transform:translate(-50%, 0);
    transition:opacity .18s ease, transform .3s cubic-bezier(.22,.9,.24,1), visibility 0s;
  }

  .cr-page.has-mobile-dock .cr-dock-more-panel .cr-dock-more-block,
  body.has-mobile-dock .cr-dock-more-panel .cr-dock-more-block{
    pointer-events:auto;
  }

  .cr-page.has-mobile-dock .cr-dock-more-panel::-webkit-scrollbar,
  body.has-mobile-dock .cr-dock-more-panel::-webkit-scrollbar{
    display:none;
  }

  .cr-page.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar,
  body.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar,
  .cr-page.has-mobile-dock .cr-dock-more-main::-webkit-scrollbar,
  body.has-mobile-dock .cr-dock-more-main::-webkit-scrollbar{
    width:4px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar-track,
  body.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar-track,
  .cr-page.has-mobile-dock .cr-dock-more-main::-webkit-scrollbar-track,
  body.has-mobile-dock .cr-dock-more-main::-webkit-scrollbar-track{
    background:transparent;
  }

  .cr-page.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar-thumb,
  body.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar-thumb,
  .cr-page.has-mobile-dock .cr-dock-more-main::-webkit-scrollbar-thumb,
  body.has-mobile-dock .cr-dock-more-main::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:color-mix(in srgb,var(--cr-yellow),transparent 34%);
  }

  .cr-page.has-mobile-dock .cr-dock-more-item,
  body.has-mobile-dock .cr-dock-more-item{
    width:100%;
    min-height:40px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px 10px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:var(--cr-text);
    font:750 13px/1.2 var(--cr-font-family);
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    box-sizing:border-box;
  }

  .cr-page.has-mobile-dock .cr-dock-more-block,
  body.has-mobile-dock .cr-dock-more-block{
    border:1px solid var(--cr-mobile-dock-glass-border);
    border-radius:18px;
    background-color:var(--cr-mobile-dock-panel-glass-fill,var(--cr-mobile-dock-glass-fill,var(--cr-mobile-dock-solid-bg,var(--cr-dock-bg))));
    background-image:none;
    box-shadow:var(--cr-mobile-dock-glass-shadow);
    backdrop-filter:var(--cr-mobile-dock-glass-filter);
    -webkit-backdrop-filter:var(--cr-mobile-dock-glass-filter);
    box-sizing:border-box;
    isolation:isolate;
    position:relative;
    overflow:hidden;
  }

  .cr-page.has-mobile-dock .cr-dock-more-block::before,
  body.has-mobile-dock .cr-dock-more-block::before{
    content:none;
    position:absolute;
    inset:0;
    z-index:0;
    border-radius:inherit;
    background:none;
    box-shadow:none;
    pointer-events:none;
  }

  .cr-page.has-mobile-dock .cr-dock-more-block > *,
  body.has-mobile-dock .cr-dock-more-block > *{
    position:relative;
    z-index:1;
  }

  .cr-page.has-mobile-dock .cr-dock-more-main.cr-dock-more-block,
  body.has-mobile-dock .cr-dock-more-main.cr-dock-more-block{
    border:0;
    border-radius:0;
    background:transparent;
    background-image:none;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    isolation:auto;
    overflow:visible;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choices,
  body.has-mobile-dock .cr-dock-more-choices{
    grid-row:1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:8px;
    margin-bottom:0;
    opacity:0;
    transform:translateY(-26px);
    transition:opacity .2s ease, transform .32s cubic-bezier(.22,.9,.24,1);
    will-change:opacity, transform;
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-more-choices,
  body.has-mobile-dock.cr-dock-more-open .cr-dock-more-choices{
    opacity:1;
    transform:translateY(0);
    transition-delay:.04s;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item,
  body.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item{
    grid-column:1 / -1;
    min-height:52px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top,
  body.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top{
    justify-content:center;
    min-height:58px;
    padding:0 16px;
    text-align:center;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice-group,
  body.has-mobile-dock .cr-dock-more-choice-group{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    padding:0;
    max-height:64px;
    overflow:hidden;
    transition:max-height .28s cubic-bezier(.4,0,.2,1), opacity .28s ease, transform .28s cubic-bezier(.4,0,.2,1);
    will-change:max-height, opacity, transform;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice-group.is-open,
  body.has-mobile-dock .cr-dock-more-choice-group.is-open{
    gap:6px;
    padding:6px;
    max-height:238px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-power-group,
  body.has-mobile-dock .cr-dock-more-power-group{
    grid-column:1 / -1;
  }

  .cr-page.has-mobile-dock .cr-dock-more-power-group.is-open,
  body.has-mobile-dock .cr-dock-more-power-group.is-open{
    max-height:344px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice,
  body.has-mobile-dock .cr-dock-more-choice{
    -webkit-appearance:none;
    appearance:none;
    min-width:0;
    min-height:64px;
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "text"
      "badge";
    row-gap:6px;
    align-items:center;
    justify-items:center;
    padding:8px 36px 9px;
    border:0;
    border-radius:inherit;
    background:transparent;
    box-shadow:none;
    color:var(--cr-text);
    font-family:var(--cr-font-family);
    text-align:center;
    cursor:pointer;
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
    transition:background .16s ease, border-color .16s ease, transform .16s ease;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice:active,
  body.has-mobile-dock .cr-dock-more-choice:active{
    transform:none;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice.is-open,
  body.has-mobile-dock .cr-dock-more-choice.is-open{
    background:transparent;
    color:var(--cr-yellow);
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice-group.is-open .cr-dock-more-choice,
  body.has-mobile-dock .cr-dock-more-choice-group.is-open .cr-dock-more-choice{
    border-radius:12px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice-ico,
  body.has-mobile-dock .cr-dock-more-choice-ico{
    grid-area:ico;
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    width:24px;
    align-self:center;
    justify-self:center;
    text-align:center;
    line-height:1;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice-text,
  body.has-mobile-dock .cr-dock-more-choice-text{
    grid-area:text;
    width:100%;
    min-width:0;
    justify-self:center;
    color:var(--cr-text);
    font:850 13px/1.1 var(--cr-font-family);
    text-align:center;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice-badge,
  body.has-mobile-dock .cr-dock-more-choice-badge{
    grid-area:badge;
    width:auto;
    max-width:100%;
    align-self:center;
    justify-self:center;
    min-height:0;
    display:inline-flex;
    align-items:center;
    padding:0;
    border-radius:0;
    background:transparent;
    color:var(--cr-yellow);
    font:900 11px/1 var(--cr-font-family);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .cr-page.has-mobile-dock .cr-dock-more-options,
  body.has-mobile-dock .cr-dock-more-options{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    margin:0;
    padding:6px;
    max-height:150px;
    border:1px solid color-mix(in srgb,var(--cr-line),transparent 58%);
    border-radius:14px;
    background:color-mix(in srgb,var(--cr-mobile-dock-solid-bg,var(--cr-dock-bg)),var(--cr-yellow) 7%);
    opacity:1;
    overflow:hidden;
    transform-origin:top center;
    transform:translateY(0) scaleY(1);
    transition:max-height .28s cubic-bezier(.4,0,.2,1), opacity .28s ease, transform .28s cubic-bezier(.4,0,.2,1), padding .28s cubic-bezier(.4,0,.2,1), border-color .28s ease;
    will-change:max-height, opacity, transform;
  }

  .cr-page.has-mobile-dock .cr-dock-more-power-group .cr-dock-more-options,
  body.has-mobile-dock .cr-dock-more-power-group .cr-dock-more-options{
    max-height:246px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice-group:not(.is-open) .cr-dock-more-options,
  body.has-mobile-dock .cr-dock-more-choice-group:not(.is-open) .cr-dock-more-options{
    display:none;
    max-height:0;
    padding-top:0;
    padding-bottom:0;
    border-color:transparent;
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px) scaleY(.9);
  }

  .cr-page.has-mobile-dock .cr-dock-more-option,
  body.has-mobile-dock .cr-dock-more-option{
    min-width:0;
    min-height:38px;
    padding:0 10px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:var(--cr-text);
    font:850 12px/1.1 var(--cr-font-family);
    cursor:pointer;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .cr-page.has-mobile-dock .cr-dock-more-option-link,
  body.has-mobile-dock .cr-dock-more-option-link{
    display:flex;
    align-items:center;
    text-decoration:none;
    box-sizing:border-box;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choice:focus-visible,
  body.has-mobile-dock .cr-dock-more-choice:focus-visible,
  .cr-page.has-mobile-dock .cr-dock-more-option:focus-visible,
  body.has-mobile-dock .cr-dock-more-option:focus-visible{
    outline:2px solid color-mix(in srgb,var(--cr-yellow),transparent 22%);
    outline-offset:2px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-option.is-selected,
  body.has-mobile-dock .cr-dock-more-option.is-selected{
    background:var(--cr-yellow);
    color:var(--cr-ink);
  }

  .cr-page.has-mobile-dock .cr-dock-more-account,
  body.has-mobile-dock .cr-dock-more-account,
  .cr-page.has-mobile-dock .cr-dock-more-main,
  body.has-mobile-dock .cr-dock-more-main{
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
    min-height:0;
    max-height:none;
    opacity:0;
    padding:6px;
    transform:translateY(30px);
    transition:opacity .2s ease, transform .32s cubic-bezier(.22,.9,.24,1);
    will-change:opacity, transform;
  }

  .cr-page.has-mobile-dock .cr-dock-more-account,
  body.has-mobile-dock .cr-dock-more-account{
    --cr-mobile-account-top-morph:0;
    --cr-mobile-account-bottom-morph:0;
    grid-row:3;
    position:relative;
    border-radius:18px;
    background-image:none;
    isolation:isolate;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
    scrollbar-color:transparent transparent;
    touch-action:pan-y;
    transition:max-height .28s cubic-bezier(.4,0,.2,1), opacity .2s ease, transform .32s cubic-bezier(.22,.9,.24,1), background-color .28s ease;
    will-change:max-height, opacity, transform;
  }

  .cr-page.has-mobile-dock .cr-dock-more-account::before,
  body.has-mobile-dock .cr-dock-more-account::before{
    content:none;
  }

  .cr-page.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar,
  body.has-mobile-dock .cr-dock-more-account::-webkit-scrollbar{
    display:none;
  }

  .cr-page.has-mobile-dock .cr-dock-more-main,
  body.has-mobile-dock .cr-dock-more-main{
    grid-row:2;
    padding:0;
    overflow:visible;
  }

  .cr-page.has-mobile-dock .cr-dock-more-panel[data-choice-open]:not([data-choice-open=""]) .cr-dock-more-account,
  body.has-mobile-dock .cr-dock-more-panel[data-choice-open]:not([data-choice-open=""]) .cr-dock-more-account{
    opacity:.92;
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-more-main,
  body.has-mobile-dock.cr-dock-more-open .cr-dock-more-main,
  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-more-account,
  body.has-mobile-dock.cr-dock-more-open .cr-dock-more-account{
    opacity:1;
    transform:translateY(0);
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-more-main,
  body.has-mobile-dock.cr-dock-more-open .cr-dock-more-main{
    transition-delay:.08s;
  }

  .cr-page.has-mobile-dock.cr-dock-more-open .cr-dock-more-account,
  body.has-mobile-dock.cr-dock-more-open .cr-dock-more-account{
    transition-delay:.12s;
  }

  .cr-page.has-mobile-dock .cr-dock-more-control,
  body.has-mobile-dock .cr-dock-more-control{
    display:grid;
    grid-template-columns:24px minmax(0,1fr) minmax(112px,max-content);
    cursor:default;
  }

  .cr-page.has-mobile-dock .cr-dock-more-control-label,
  body.has-mobile-dock .cr-dock-more-control-label{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .cr-page.has-mobile-dock .cr-dock-more-select,
  body.has-mobile-dock .cr-dock-more-select{
    min-width:112px;
    max-width:144px;
    min-height:32px;
    padding:0 28px 0 10px;
    border:1px solid color-mix(in srgb,var(--cr-line),transparent 42%);
    border-radius:999px;
    background:color-mix(in srgb,var(--cr-mobile-dock-solid-bg,var(--cr-dock-bg)),var(--cr-text) 6%);
    color:var(--cr-text);
    font:800 12px/1 var(--cr-font-family);
  }

  .cr-page.has-mobile-dock .cr-dock-more-select:focus,
  body.has-mobile-dock .cr-dock-more-select:focus{
    outline:1px solid color-mix(in srgb,var(--cr-yellow),transparent 34%);
    outline-offset:2px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-item:not(.cr-dock-more-block):hover,
  .cr-page.has-mobile-dock .cr-dock-more-item:not(.cr-dock-more-block):focus-visible,
  .cr-page.has-mobile-dock .cr-dock-more-item:not(.cr-dock-more-block).is-active{
    background:transparent;
    color:var(--cr-yellow);
    outline:none;
  }

  .cr-page.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top:hover,
  .cr-page.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top:focus-visible,
  .cr-page.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top.is-active,
  body.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top:hover,
  body.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top:focus-visible,
  body.has-mobile-dock .cr-dock-more-choices > .cr-dock-more-item-top.is-active{
    color:var(--cr-yellow);
  }

  .cr-page.has-mobile-dock .cr-dock-more-item:focus-visible{
    outline:1px solid color-mix(in srgb,var(--cr-yellow),transparent 46%);
    outline-offset:-1px;
  }

  .cr-page.has-mobile-dock .cr-dock-more-item-static,
  body.has-mobile-dock .cr-dock-more-item-static{
    color:var(--cr-yellow);
    cursor:default;
    pointer-events:none;
  }

  .cr-page.has-mobile-dock .cr-dock-more-ico{
    flex:0 0 24px;
    width:24px;
    text-align:center;
    line-height:1;
  }

  .cr-page.has-mobile-dock .cr-dock-more-txt{
    min-width:0;
    overflow-wrap:anywhere;
    display:inline-flex;
    align-items:center;
    gap:0;
  }

  .cr-page.has-mobile-dock .cr-dock-more-badge,
  body.has-mobile-dock .cr-dock-more-badge{
    flex:0 0 auto;
    max-width:48%;
    margin-left:0;
    min-height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 9px;
    border-radius:999px;
    background:var(--cr-yellow);
    color:var(--cr-ink);
    font:900 10px/1 var(--cr-font-family);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .cr-page.has-mobile-dock .cr-scroll-top-btn,
  body.has-mobile-dock .cr-scroll-top-btn{
    right:12px;
    bottom:calc(var(--cr-mobile-dock-height, 80px) + 14px + env(safe-area-inset-bottom, 0px));
    width:44px;
    height:44px;
    font-size:16px;
    border-radius:16px;
  }

  .cr-page .cr-header .cr-office-switcher,
  .cr-page .cr-header .cr-lang-switcher,
  .cr-page .cr-topbar .cr-office-switcher,
  .cr-page .cr-topbar .cr-lang-switcher,
  body .cr-header .cr-office-switcher,
  body .cr-header .cr-lang-switcher,
  body .cr-topbar .cr-office-switcher,
  body .cr-topbar .cr-lang-switcher{
    display:none !important;
  }
}

/* Stage 4: scoped mobile dock tap targets. */
@media (max-width:1080px), ((max-height:480px) and (orientation:landscape)){
  .cr-page .cr-dock-btn,
  .cr-dock-label,
  body.has-mobile-dock .cr-dock-btn,
  body.has-mobile-dock .cr-dock-label,
  .cr-page .cr-dock-public-auth-btn,
  .cr-auth-demo-return,
  .cr-auth-field,
  .cr-auth-eye,
  .cr-auth-remember,
  .cr-auth-btn,
  .cr-auth-modal-btn,
  .cr-reg-input,
  .cr-reg-close,
  .cr-page.has-mobile-dock .cr-dock-more-item,
body.has-mobile-dock .cr-dock-more-item{
  min-height:44px;
}

/* Keep modal mobile drawers above the dock interaction layer. */
.cr-page.cr-mobile-filter-open .cr-dock,
body.cr-mobile-filter-open .cr-dock{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.cr-page.cr-mobile-filter-open .cr-dock *,
.cr-page.cr-mobile-filter-open .cr-dock-island,
body.cr-mobile-filter-open .cr-dock *,
body.cr-mobile-filter-open .cr-dock-island{
  pointer-events:none !important;
}

  .cr-auth-eye{
    width:44px;
    height:44px;
    right:0;
  }

  .cr-auth-modal{
    padding:16px;
  }

  .cr-auth-modal-box{
    width:min(360px,calc(100vw - 32px));
    max-height:calc(100dvh - 32px);
    padding:20px;
  }

  .cr-auth-modal--registration-success .cr-auth-modal-box{
    width:min(336px,calc(100vw - 36px));
    padding:18px;
  }

  .cr-auth-password-cell .cr-auth-field{
    padding-right:48px;
  }

  .cr-reg-submit{
    position:sticky;
    bottom:0;
    z-index:2;
    min-height:48px;
    box-shadow:0 -10px 20px color-mix(in srgb,var(--cr-surface),transparent 40%);
  }

  .cr-registration-modal.is-keyboard-open{
    place-items:start center;
    padding:8px 12px 12px;
  }

  .cr-registration-modal.is-keyboard-open .cr-registration-modal-card{
    width:min(var(--cr-registration-modal-width, 440px), calc(100vw - 24px));
    max-height:calc(var(--cr-registration-viewport-height, 100dvh) - 16px);
    padding:22px 18px 16px;
    border-radius:20px;
    scroll-padding:12px 0 88px;
  }

  .cr-registration-modal.is-keyboard-open .cr-reg-title{
    margin-bottom:8px;
    font-size:20px;
  }

  .cr-registration-modal.is-keyboard-open .cr-reg-form{
    gap:8px;
  }
}
