/*
Theme Name: Lichtparanoia Classic Gutenberg
Author: Lichtparanoia
Description: Einheitliches Grundlayout für alle normalen Seiten.
Version: 3.7.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: lichtparanoia
*/

:root{
  --lp-bg:#050505;
  --lp-fg:#f3f3ef;
  --lp-muted:#777;
  --lp-line:#242424;
  --lp-rail:76px;
  --lp-header:76px;
  --lp-footer:46px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--lp-bg);color:var(--lp-fg)}
body{font-family:"Urbanist",Arial,Helvetica,sans-serif}
a{color:inherit}

.lp-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:var(--lp-rail) minmax(0,1fr);
  grid-template-rows:var(--lp-header) minmax(0,1fr) var(--lp-footer);
  background:var(--lp-bg);
}

/* LEFT SIDEBAR — same on all normal pages */
.lp-sidebar{
  grid-column:1;
  grid-row:1 / 3;
  border-right:1px solid var(--lp-line);
  position:relative;
  overflow:hidden;
  background:var(--lp-bg);
}

.lp-sidebar-logo{
  position:absolute;
  top:105px; /* intentionally above center */
  left:50%;
  transform:translateX(-50%);
  width:260px;
  height:76px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  overflow:visible;
}

.lp-sidebar-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:250px;
  max-height:74px;
  object-fit:contain;
  transform:rotate(-90deg);
  transform-origin:center;
}

.lp-sidebar-fallback{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:"Peignot","Arial Narrow",Arial,sans-serif;
  font-size:27px;
  letter-spacing:.07em;
  text-transform:uppercase;
}

/* HEADER */
.lp-header{
  grid-column:2;
  grid-row:1;
  border-bottom:1px solid var(--lp-line);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:0 28px;
  background:var(--lp-bg);
}

.lp-nav{
  display:flex;
  align-items:center;
  gap:24px;
}

.lp-nav a{
  text-decoration:none;
  color:#888;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.lp-nav a:hover,.lp-nav a.current{color:#fff}

.lp-instagram-icon{
  width:34px;height:34px;
  display:grid;
  place-items:center;
}
.lp-instagram-icon svg{
  width:17px;height:17px;
  fill:none;stroke:currentColor;stroke-width:1.5;
}

/* CONTENT */
.lp-main{
  grid-column:2;
  grid-row:2;
  min-width:0;
  padding:54px clamp(24px,6vw,90px) 70px;
}

.lp-main h1,.lp-main h2,.lp-main h3,.lp-main h4{
  font-family:"Peignot","Arial Narrow",Arial,sans-serif;
  font-weight:400;
}
.lp-main h1{
  font-size:clamp(46px,8vw,92px);
  line-height:.92;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.lp-main p{line-height:1.65}
.lp-main img{max-width:100%;height:auto}
.lp-main .alignwide{max-width:1440px;margin-left:auto;margin-right:auto}

/* FOOTER */
.lp-footer{
  grid-column:1 / -1;
  grid-row:3;
  border-top:1px solid var(--lp-line);
  min-height:var(--lp-footer);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
  background:var(--lp-bg);
  color:#666;
}

.lp-footer-left{
  font-size:9px;
  letter-spacing:.13em;
}

.lp-footer-nav{
  display:flex;
  gap:18px;
}
.lp-footer-nav a{
  text-decoration:none;
  color:#777;
  font-size:9px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.lp-footer-nav a:hover{color:#fff}

/* MOBILE */
.lp-mobile-logo,.lp-mobile-menu-toggle,.lp-mobile-menu{display:none}

@media(max-width:800px){
  :root{--lp-header:64px;--lp-footer:42px}
  .lp-shell{
    display:block;
    min-height:100vh;
    padding-top:var(--lp-header);
    padding-bottom:var(--lp-footer);
  }
  .lp-sidebar{display:none}
  .lp-header{
    position:fixed;
    z-index:50;
    top:0;left:0;right:0;
    height:var(--lp-header);
    padding:0 14px;
    justify-content:space-between;
  }
  .lp-nav{display:none}
  .lp-mobile-logo{
    display:flex;
    align-items:center;
    max-width:165px;
    height:48px;
    text-decoration:none;
  }
  .lp-mobile-logo img{
    display:block;
    width:auto;height:auto;
    max-width:160px;
    max-height:38px;
    object-fit:contain;
  }
  .lp-mobile-logo span{
    font-family:"Peignot","Arial Narrow",Arial,sans-serif;
    font-size:20px;
  }
  .lp-mobile-menu-toggle{
    display:grid;
    place-items:center;
    width:42px;height:42px;
    border:0;background:transparent;color:#fff;
  }
  .lp-mobile-menu-toggle svg{
    width:22px;height:22px;
    stroke:currentColor;fill:none;stroke-width:1.5;
  }
  .lp-mobile-menu{
    display:flex;
    position:fixed;
    z-index:100;
    top:var(--lp-header);
    left:0;right:0;
    flex-direction:column;
    background:#070707;
    border-bottom:1px solid var(--lp-line);
    transform:translateY(-110%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .18s ease-out,visibility 0s linear .18s;
  }
  .lp-mobile-menu.open{
    transform:translateY(0);
    visibility:visible;
    pointer-events:auto;
    transition:transform .18s ease-out,visibility 0s;
  }
  .lp-mobile-menu a{
    min-height:48px;
    display:flex;
    align-items:center;
    padding:0 18px;
    border-top:1px solid #171717;
    color:#aaa;
    text-decoration:none;
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  .lp-mobile-menu svg{
    width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5
  }
  .lp-main{padding:34px 18px 60px}
  .lp-footer{
    position:fixed;
    z-index:40;
    left:0;right:0;bottom:0;
    height:var(--lp-footer);
    min-height:var(--lp-footer);
    justify-content:center;
    padding:0 14px;
  }
  .lp-footer-left{display:none}
  .lp-footer-nav{gap:12px}
  .lp-footer-nav a{font-size:8px}
}

/* v3.3 – logo opacity */
.lp-sidebar-logo img,.lp-mobile-logo img{opacity:.75!important}

/* v3.7 – clean footer menu spacing */
.lp-footer-nav ul,
.lp-footer-nav li{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.lp-footer-nav li::marker,
.lp-footer-nav li::before,
.lp-footer-nav li::after{
  content:none!important;
  display:none!important;
}
.lp-footer-nav li{display:contents}
