/*
Theme Name: Oliver Lanz Lobby
Theme URI: https://www.oliverlanz.ch/
Author: Oliver Lanz
Description: Minimal responsive lobby theme for oliverlanz.ch.
Version: 0.1.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: oliver-lanz-lobby
*/

:root {
  color-scheme: dark;
  --ol-bg: #090705;
  --ol-fg: #e7d3aa;
  --ol-focus: rgba(231, 211, 170, .9);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--ol-bg); }
body { min-height: 100svh; overflow: hidden; }

.ol-lobby {
  position: relative;
  width: 100vw;
  height: 100svh;
  min-height: 480px;
  background: var(--ol-bg) url('assets/lobby-desktop.webp') center center / cover no-repeat;
}

.ol-access {
  position: absolute;
  right: 3.7vw;
  top: 29%;
  width: 13.2vw;
  height: 46%;
  min-width: 112px;
  border-radius: 28px;
  text-indent: -9999px;
  overflow: hidden;
  outline: none;
}

.ol-access:focus-visible {
  box-shadow: 0 0 0 3px var(--ol-focus), 0 0 0 7px rgba(0,0,0,.55);
}

.ol-portier-status {
  position: absolute;
  left: 21.5%;
  bottom: 35.5%;
  width: 25%;
  height: 8%;
  pointer-events: none;
}

.ol-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 1024px) and (orientation: portrait) {
  .ol-lobby { background-image: url('assets/lobby-tablet.webp'); }
  .ol-access {
    right: 2.1%;
    top: 39%;
    width: 14.8%;
    height: 28%;
    min-width: 90px;
  }
  .ol-portier-status {
    left: 27%;
    bottom: 39%;
    width: 36%;
    height: 8%;
  }
}

@media (max-width: 600px) and (orientation: portrait) {
  body { overflow-y: auto; }
  .ol-lobby {
    min-height: 100svh;
    height: 100svh;
    background-image: url('assets/lobby-mobile.webp');
    background-position: center center;
  }
  .ol-access {
    left: 35%;
    right: auto;
    top: 65%;
    width: 30%;
    height: 28%;
    min-width: 0;
  }
  .ol-portier-status {
    left: 26%;
    bottom: 42%;
    width: 48%;
    height: 7%;
  }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
}
