/*
Theme Name: Lowinerei Kadence Child
Theme URI: https://neu.lowinerei.de/
Description: Schlankes Child-Theme für den Gutenberg-Neubau der Lowinerei.
Author: Lowinerei
Template: kadence
Version: 1.0.0
Text Domain: lowinerei
*/

:root {
  --low-gold: #bd892e;
  --low-gold-light: #d4a84f;
  --low-black: #050505;
  --low-charcoal: #202020;
  --low-white: #fff;
  --low-max: 1360px;
}

@font-face {
  font-family: "Londrina Solid Local";
  src: url("/wp-content/uploads/lowinerei-fonts/londrina-solid.woff2") format("woff2");
  font-display: swap;
}

html { scroll-behavior: smooth; }
body { margin: 0; background: var(--low-black); color: var(--low-white); }
body, button, input, textarea { font-family: "Londrina Solid Local", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; }
a { color: inherit; }
.screen-reader-text:focus { background: #fff; color: #000; padding: .75rem 1rem; z-index: 99999; }
:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }

.low-site-header { position: relative; z-index: 20; background: var(--low-black); }
.low-addressbar { min-height: 28px; display: grid; place-items: center; color: var(--low-gold); font-size: .86rem; letter-spacing: .28em; text-align: center; padding: .25rem 1rem; }
.low-addressbar a { text-decoration: none; }
.low-navbar { background: var(--low-gold); }
.low-nav { max-width: 760px; margin: 0 auto; display: flex; justify-content: space-around; align-items: center; min-height: 56px; padding: 0 1rem; }
.low-nav a, .low-mobile-menu a { color: #fff; text-decoration: none; font-size: 1.55rem; letter-spacing: .22em; }
.low-nav a:hover, .low-mobile-menu a:hover { color: #111; }
.low-mobile-menu { display: none; }

.low-main { overflow: hidden; }
.low-hero { min-height: clamp(460px, 58vw, 760px); background-position: center; background-size: cover; display: grid; place-items: center; position: relative; }
.low-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.48); }
.low-hero-title { position: relative; margin: 0; color: rgba(189,137,46,.38); font-size: clamp(5rem, 17vw, 15rem); line-height: .8; letter-spacing: -.03em; text-transform: uppercase; }
.low-grid { max-width: var(--low-max); margin: 0 auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.low-grid > * { min-width: 0; }
.low-tile, .low-grid img { width: 100%; height: 100%; display: block; object-fit: cover; }
.low-image-tile { aspect-ratio: 1.12/1; overflow: hidden; }
.low-copy-tile { aspect-ratio: 1.12/1; background: #11100e; color: var(--low-gold); display: grid; place-items: center; text-align: center; padding: clamp(2rem,5vw,6rem); box-sizing: border-box; }
.low-copy-tile p { font-size: clamp(1.45rem,2.8vw,2.65rem); line-height: 1.35; letter-spacing: .12em; margin: .4em 0; }
.low-section { padding: clamp(4rem,8vw,8rem) 1.25rem; }
.low-section-title { margin: 0 0 2.25rem; text-align: center; font-size: clamp(2.3rem,5vw,4rem); letter-spacing: .22em; color: #fff; }
.low-menu-image { display: block; width: min(760px,100%); height: auto; margin: 0 auto; }
.low-times-route { max-width: var(--low-max); margin: 0 auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.low-times { background: var(--low-gold); }
.low-times img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; display: block; }
.low-route { background: #171614; color: var(--low-gold); display: flex; flex-direction: column; justify-content: center; align-items: center; padding: clamp(3rem,6vw,7rem); text-align: center; }
.low-route-mark { font-size: clamp(6rem,14vw,12rem); line-height: .75; color: rgba(189,137,46,.2); margin-bottom: 1rem; }
.low-route h2 { margin: 0 0 1rem; font-size: clamp(2.4rem,4vw,4rem); letter-spacing: .16em; }
.low-route address { font-style: normal; font-size: 1.45rem; line-height: 1.5; }
.low-button, .ff-btn-submit { display: inline-block; margin-top: 1.5rem; padding: .8rem 1.35rem; border: 2px solid var(--low-gold); background: var(--low-gold) !important; color: #050505 !important; text-decoration: none; font-size: 1.15rem; letter-spacing: .08em; border-radius: 0 !important; }
.low-button:hover, .ff-btn-submit:hover { background: #050505 !important; color: var(--low-gold) !important; }
.low-contact { max-width: var(--low-max); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,6rem); padding: clamp(4rem,7vw,7rem) 1.25rem; }
.low-contact-copy { color: var(--low-gold); font-size: clamp(1.35rem,2vw,2rem); line-height: 1.55; }
.low-contact-copy h2 { font-size: clamp(2.5rem,4vw,4.5rem); margin: 0 0 1.2rem; }
.low-form label { color: #fff; }
.low-form input, .low-form textarea, .fluentform input, .fluentform textarea { width: 100%; border: 1px solid #777 !important; background: #fff !important; color: #111 !important; border-radius: 0 !important; box-sizing: border-box; }
.low-form-note { color: #bbb; font-family: system-ui,sans-serif; font-size: .9rem; line-height: 1.5; }
.low-site-footer { border-top: 1px solid #555; background: var(--low-charcoal); }
.low-footer-inner { max-width: var(--low-max); margin: 0 auto; padding: 1.4rem; display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; align-items: center; justify-content: space-between; }
.low-footer-links { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.low-footer-links a { text-decoration: none; }
.low-footer-credit { color: #ccc; }
.low-legal { max-width: 880px; margin: 0 auto; padding: 4rem 1.25rem 6rem; color: #eee; font-family: system-ui,-apple-system,"Segoe UI",sans-serif; line-height: 1.7; }
.low-legal h1,.low-legal h2,.low-legal h3 { font-family: "Londrina Solid Local",Impact,sans-serif; color: var(--low-gold); letter-spacing: .05em; }
.low-legal a { color: var(--low-gold-light); }
.low-review-note { padding: 1rem 1.2rem; border: 2px solid var(--low-gold); background: #171614; }

@media (max-width: 760px) {
  .low-addressbar { font-size: .72rem; letter-spacing: .16em; }
  .low-nav { display: none; }
  .low-mobile-menu { display: block; padding: .65rem 1rem; }
  .low-mobile-menu summary { cursor: pointer; list-style: none; color: #fff; font-size: 1.35rem; letter-spacing: .18em; text-align: center; }
  .low-mobile-menu summary::-webkit-details-marker { display: none; }
  .low-mobile-menu nav { display: grid; gap: 1rem; padding: 1.25rem 0 .5rem; text-align: center; }
  .low-mobile-menu a { font-size: 1.25rem; }
  .low-grid, .low-times-route, .low-contact { grid-template-columns: 1fr; }
  .low-hero { min-height: 58vh; }
  .low-hero-title { font-size: clamp(4.5rem,25vw,8rem); }
  .low-image-tile, .low-copy-tile { aspect-ratio: 1/1; }
  .low-times img { min-height: auto; }
  .low-contact-copy { order: -1; }
  .low-footer-inner { justify-content: center; text-align: center; }
  .low-footer-links { justify-content: center; }
}

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