/* Shared mobile chrome: floating glass navigation and a centered neon wordmark. */
@font-face {
 font-family: PRSHUBWordmark;
 src: url("../fonts/webfont-05.4fb435f07dde.woff2") format('woff2');
 font-weight: 500;
 font-style: normal;
 font-display: swap;
}
:root {
 --dock-bg: rgba(247, 250, 255, .62);
 --dock-ink: #1c314f;
 --dock-accent: #1847b1;
 --dock-active: rgba(231, 240, 255, .86);
 --dock-stroke: rgba(126, 154, 202, .35);
 --dock-gloss: rgba(255, 255, 255, .85);
}
html[data-home-theme=dark], body:not(.ps-home-page) {
 --dock-bg: rgba(14, 28, 49, .72);
 --dock-ink: #eef5ff;
 --dock-accent: #b7d1ff;
 --dock-active: rgba(23, 53, 91, .88);
 --dock-stroke: rgba(163, 191, 237, .28);
 --dock-gloss: rgba(227, 238, 255, .16);
}
.ps-mobile-dock { display: none; }
.ps-header .ps-logo__name, .app-topbar__brand-name {
 display: inline-block;
 font-family: PRSHUBWordmark, 'Segoe UI', Arial, sans-serif;
 font-weight: 500;
 letter-spacing: .035em;
 color: #1747ba;
 text-shadow: 0 0 8px #367bff38, 0 0 20px #6398ff25;
 animation: ps-wordmark-glow 4.8s ease-in-out infinite;
}
html[data-home-theme=dark] .ps-header .ps-logo__name, .app-topbar__brand-name {
 color: #edf5ff;
 text-shadow: 0 0 8px #75a6ff80, 0 0 22px #407eff50, 0 0 36px #557fff20;
}
@keyframes ps-wordmark-glow {
 0%, 100% { filter: drop-shadow(0 0 2px #4588ff18); }
 50% { filter: drop-shadow(0 0 6px #4588ff55); }
}
@media (max-width:767px), (max-width:1100px) and (pointer:coarse) {
 html { scroll-padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)); }
 body:has(.ps-mobile-dock) { padding-bottom: calc(106px + env(safe-area-inset-bottom, 0px)); }
 body.ps-home-page:has(.ps-mobile-dock) { padding-bottom: calc(106px + env(safe-area-inset-bottom, 0px)); }
 .ps-mobile-dock {
  position: fixed;
  z-index: 1020;
  inset-inline: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  width: calc(100% - 24px);
  max-width: 580px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 3px;
  min-height: 78px;
  padding: 7px;
  border: 1px solid var(--dock-stroke);
  border-radius: 26px;
  color: var(--dock-ink);
  background: linear-gradient(135deg, #e2eeff18, transparent 50%, #81baff0d), var(--dock-bg);
  box-shadow: 0 12px 40px #081b3b24, 0 3px 10px #071b3320, inset 0 1px 0 var(--dock-gloss);
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  backdrop-filter: blur(22px) saturate(180%);
  isolation: isolate;
  box-sizing: border-box;
  direction: rtl;
 }
 .ps-mobile-dock::before {
  content: '';
  position: absolute;
  inset: 1px;
  z-index: -1;
  border: 1px solid var(--dock-gloss);
  border-radius: 24px;
  opacity: .45;
  pointer-events: none;
 }
 .ps-mobile-dock::after {
  content: '';
  position: absolute;
  inset: 1px 1px 45%;
  z-index: -1;
  border-radius: 25px 25px 40% 40%;
  background: linear-gradient(180deg, #ffffff16, #ffffff00);
  pointer-events: none;
 }
 .ps-mobile-dock .ps-mobile-dock__item {
  appearance: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  position: relative;
  min-width: 0;
  min-height: 62px;
  padding: 3px 1px 5px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  color: var(--dock-ink);
  font: 700 10px/1.4 var(--font-body, Tahoma, sans-serif);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  cursor: pointer;
  transition: color .2s, background-color .2s, transform .2s;
 }
 .ps-mobile-dock__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 32px;
  border-radius: 12px;
 }
 .ps-mobile-dock__icon > i { display: block; width: 1em; height: 1em; font-size: 23px; line-height: 1; }
 .ps-mobile-dock__icon > i::before { display: block; line-height: 1; vertical-align: 0; }
 .ps-mobile-dock__item--home .ps-mobile-dock__icon {
  width: 44px;
  height: 34px;
  color: #fff;
  background: linear-gradient(145deg, #427df5, #2859cb);
  box-shadow: 0 4px 12px #326fe43d, inset 0 1px 0 #ffffff40;
 }
 .ps-mobile-dock .ps-mobile-dock__item:is([aria-current=page], [aria-expanded=true]) {
  color: var(--dock-accent);
  background: var(--dock-active);
 }
 .ps-mobile-dock__item[aria-current=page]::after {
  content: '';
  position: absolute;
  bottom: 1px;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
 }
 .ps-mobile-dock .ps-mobile-dock__item:active { transform: scale(.94); }
 .ps-mobile-dock .ps-mobile-dock__item:focus-visible { outline: 2px solid var(--dock-accent); outline-offset: -2px; }
 .ps-header .ps-header__inner {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  min-height: 72px;
  gap: 8px;
 }
 .ps-header .ps-logo {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  position: relative;
  min-width: 0;
  gap: 0;
 }
 .ps-header .ps-logo__word { text-align: center; font-size: 26px; line-height: 1; }
 .ps-header .ps-logo__word small { margin-top: 7px; font-size: 8px; }
 .ps-header .ps-logo img {
  display: block;
  position: absolute;
  right: calc(100% + 9px);
  width: 29px;
  height: 29px;
 }
 .ps-header .ps-header__actions { display: contents; }
 .ps-header .ps-header__actions > :is([data-cart-open], [data-home-menu-open], .ps-header-account) { display: none; }
 .ps-header .ps-header__actions > [data-home-search] { grid-column: 1; grid-row: 1; }
 .ps-header .ps-header__actions > .ps-theme-toggle { display: grid; grid-column: 3; grid-row: 1; }
 .ps-header .ps-header__actions > .ps-icon-btn { min-width: 44px; min-height: 44px; }
 .app-topbar__inner { justify-content: center; min-height: 68px; }
 .app-topbar__actions { display: none; }
 .app-topbar__brand, .app-topbar__logo { position: relative; justify-content: center; }
 .app-topbar__brand-name {
  font: 500 26px/1.2 PRSHUBWordmark, 'Segoe UI', Arial, sans-serif;
  letter-spacing: .035em;
  overflow: visible;
 }
 .app-topbar__logo :is(img, .brand-icon) { position: absolute; right: calc(100% + 10px); width: 30px; height: 30px; }
}
@media (max-width:359px) {
 .ps-mobile-dock { inset-inline: 8px; width: calc(100% - 16px); gap: 0; padding-inline: 5px; }
 .ps-mobile-dock .ps-mobile-dock__item { font-size: 9px; }
 .ps-header .ps-logo img, .app-topbar__logo :is(img, .brand-icon) { display: none; }
 .ps-header .ps-logo__word { font-size: 25px; }
}
/* Legacy layouts used to rely on their old dock at these intermediate widths. */
@media (min-width:768px) and (max-width:992px) and (pointer:fine) {
 body:not(.ps-home-page) :is(.app-topbar__menu-btn, .landing-menu-btn) { display: inline-flex !important; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .ps-mobile-dock { background: #f4f8ff; }
 html[data-home-theme=dark] .ps-mobile-dock, body:not(.ps-home-page) .ps-mobile-dock { background: #141f33; }
}
@media (prefers-reduced-motion:reduce) {
 .ps-header .ps-logo__name, .app-topbar__brand-name { animation: none; }
 .ps-mobile-dock .ps-mobile-dock__item { transition: none; }
}
