/* =====================================================================
   KOHWAN — "Back to Skiing", on every page under /ski.
   A slim navy tab held to the left edge of the screen, halfway down: an
   arrow, a small peak and the word SKIING set upright. Pointed at, it slides
   out a little and says "Back to Skiing" in full. Below the ski header's
   layer, so an open menu covers it; clear of the corner buttons.
   ===================================================================== */
.skl-back {
  --sb-navy: var(--skl-navy, #2e4755);
  --sb-gold: var(--skl-gold, #BD830D);

  position: fixed;
  left: 0;
  top: 50%;
  z-index: 45;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 9px 16px 8px;
  border: 1px solid rgba(255, 255, 255, .22);   /* keeps its edge on the navy banners too */
  border-left: 0;
  border-radius: 0 14px 14px 0;
  background: var(--sb-navy);
  color: #FFFFFF;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(20, 34, 44, .22);
  transform: translateY(-50%);
  transition: padding .28s cubic-bezier(.22, .61, .36, 1), background-color .2s, box-shadow .2s;
  animation: skl-back-in .45s cubic-bezier(.22, .61, .36, 1) .3s both;
  -webkit-tap-highlight-color: transparent;
}
/* A gold edge down the side the tab opens from. */
.skl-back::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--sb-gold);
}

.skl-back__ic,
.skl-back__peak { display: grid; place-items: center; }
.skl-back__ic svg { width: 16px; height: 16px; transition: transform .25s ease; }
.skl-back__peak svg { width: 20px; height: 20px; color: var(--sb-gold); }

.skl-back__txt {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: var(--skl-head, 'Barlow Condensed', 'Oswald', system-ui, sans-serif);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  line-height: 1;
}

/* The full words, slid out beside the tab when it is pointed at. */
.skl-back__more {
  position: absolute;
  left: 100%;
  top: 50%;
  padding: 9px 14px;
  border-radius: 0 10px 10px 0;
  background: var(--sb-navy);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  white-space: nowrap;
  box-shadow: 10px 10px 24px rgba(20, 34, 44, .18);
  opacity: 0;
  pointer-events: none;
  transform: translate(-8px, -50%);
  transition: opacity .2s ease, transform .25s cubic-bezier(.22, .61, .36, 1);
}

@media (hover: hover) {
  .skl-back:hover { padding-left: 14px; background: #24394a; box-shadow: 0 14px 34px rgba(20, 34, 44, .3); }
  .skl-back:hover .skl-back__ic svg { transform: translateX(-3px); }
  .skl-back:hover .skl-back__more { opacity: 1; transform: translate(0, -50%); }
}
.skl-back:focus-visible { outline: 2px solid var(--sb-gold); outline-offset: 3px; padding-left: 14px; }
.skl-back:focus-visible .skl-back__more { opacity: 1; transform: translate(0, -50%); }
.skl-back:active { background: #1f3441; }

@keyframes skl-back-in {
  from { opacity: 0; transform: translate(-100%, -50%); }
  to   { opacity: 1; transform: translate(0, -50%); }
}

/* Phones and tablets: a little narrower, so it takes no room from the page. */
@media (max-width: 760px) {
  .skl-back { gap: 6px; padding: 10px 6px 12px 5px; border-radius: 0 12px 12px 0; }
  .skl-back::before { top: 10px; bottom: 10px; width: 2px; }
  .skl-back__ic svg { width: 14px; height: 14px; }
  .skl-back__peak svg { width: 16px; height: 16px; }
  .skl-back__txt { font-size: .66rem; letter-spacing: .16em; }
  .skl-back__more { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .skl-back, .skl-back__more, .skl-back__ic svg { animation: none; transition: none; }
}
@media print { .skl-back { display: none !important; } }
