/*
 * Painter's Theme — wordmark and first-view overlay.
 * These are static component rules. Only the selected sizes, typography,
 * optional local font face and overlay settings are supplied by PHP.
 * Their order mirrors the original frontend inline rules.
 */

/* Wordmark */
.site-brand {
  line-height: 1;
  align-items: center;
}
.site-brand img {
  width: var(--lf-wordmark-desktop-width, 118px);
  height: auto;
}
.site-brand-picture { display: block; }
.site-brand-text {
  display: inline-block;
  font-family: var(--lf-wordmark-font-family, var(--font));
  font-size: var(--lf-wordmark-desktop-size, 1rem);
  font-weight: var(--lf-wordmark-weight, 400);
  letter-spacing: var(--lf-wordmark-letter-spacing, .05em);
  text-transform: var(--lf-wordmark-transform, uppercase);
  line-height: 1.1;
  white-space: nowrap;
  color: #000;
}
@media (max-width: 760px) {
  .site-brand img { width: var(--lf-wordmark-mobile-width, 100px); }
  .site-brand-text { font-size: var(--lf-wordmark-mobile-size, .8125rem); }
}
@media (max-width: 440px) {
  .site-brand img { width: var(--lf-wordmark-small-mobile-width, 94px); }
}

/* Preloader: hidden by default; only the first public visit marks the root. */
html.lf-preloader-pending,
html.lf-preloader-pending body { overflow: hidden !important; }
.lf-preloader {
  display: none;
  position: fixed;
  top: calc(-1 * env(safe-area-inset-top));
  right: 0;
  bottom: calc(-1 * env(safe-area-inset-bottom));
  left: 0;
  z-index: 2147483000;
  width: auto;
  height: auto;
  min-height: 100dvh;
  align-items: center;
  justify-content: center;
  background: var(--lf-preloader-bg, #fff);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity var(--lf-preloader-fade, 450ms) ease,
              visibility var(--lf-preloader-fade, 450ms) ease;
}
html.lf-preloader-pending .lf-preloader { display: flex; }
.lf-preloader.is-hiding { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes lf-preloader-failsafe {
  0%, 80% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; pointer-events: none; }
}
html.lf-preloader-pending .lf-preloader:not(.js-ready) {
  animation: lf-preloader-failsafe 6s linear forwards;
}
.lf-preloader-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: calc(100vw - 40px);
  max-height: calc(100dvh - 40px);
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  text-align: center;
  box-sizing: border-box;
}
.lf-preloader-picture {
  display: block;
  line-height: 0;
  max-width: 100%;
}
.lf-preloader-image {
  display: block;
  width: var(--lf-preloader-image-desktop, 220px);
  max-width: calc(100vw - 48px);
  height: auto;
  max-height: 40vh;
  object-fit: contain;
}
.lf-preloader-text {
  display: inline-block;
  font-family: var(--lf-wordmark-font-family, var(--font));
  font-size: var(--lf-preloader-text-desktop, 1.625rem);
  font-weight: var(--lf-wordmark-weight, 400);
  letter-spacing: var(--lf-wordmark-letter-spacing, .05em);
  text-transform: var(--lf-wordmark-transform, uppercase);
  line-height: 1.1;
  white-space: nowrap;
  color: #000;
}
@media (max-width: 760px) {
  .lf-preloader-image { width: var(--lf-preloader-image-mobile, 180px); }
  .lf-preloader-text { font-size: var(--lf-preloader-text-mobile, 1.25rem); }
}
@media (prefers-reduced-motion: reduce) {
  .lf-preloader { transition: none !important; }
}
