/*
Theme Name: Lorenz Probst
Theme URI: https://lorenzprobst.ch
Description: Schlichtes, gut lesbares Theme für die Schauspieler-Website von Lorenz Probst.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: lorenz-probst
*/
:root{
  --bg:#faf9f6; --surface:#ffffff; --ink:#1c1b19; --muted:#6a665e; --line:#e6e2d9;
  --accent:#8c2f39; --accent-ink:#ffffff;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --w-narrow:44rem; --w-mid:60rem; --w-wide:76rem;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#141413;--surface:#1c1c1a;--ink:#ecebe6;--muted:#a09c93;--line:#2c2b28;--accent:#d98088;--accent-ink:#141413}
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:1.125rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:.2em}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);line-height:1.2;letter-spacing:-.01em;font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}
.wrap{width:min(100% - 2.5rem,var(--w-wide));margin-inline:auto}
.wrap.mid{width:min(100% - 2.5rem,var(--w-mid))}
.wrap.narrow{width:min(100% - 2.5rem,var(--w-narrow))}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}
.brand{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.nav .menu{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}
.nav a{color:var(--muted);text-decoration:none;font-size:.95rem;padding:.4rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav .current-menu-item>a,.nav .current_page_item>a{color:var(--ink);border-bottom-color:var(--accent)}
.nav-toggle{display:none;background:none;border:0;padding:.9rem .6rem;color:var(--ink);cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:22px;height:2px;background:currentColor;content:"";position:relative}
.bars::before{position:absolute;top:-7px}.bars::after{position:absolute;top:7px}
@media (max-width:820px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1.25rem}
  .nav.open{display:block}
  .nav .menu{flex-direction:column;gap:0}
  .nav a{display:block;padding:.85rem 0;font-size:1.05rem;border-bottom:1px solid var(--line)}
}

/* Hero */
.hero{padding:clamp(2.5rem,7vw,5.5rem) 0}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,4.5rem);align-items:center}
.eyebrow{margin:0 0 1rem;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}
.hero h1{margin:0 0 1.25rem;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.05}
.lede{margin:0 0 2rem;font-size:1.3rem;color:var(--muted);max-width:30rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}
.btn{display:inline-block;padding:.8rem 1.5rem;border-radius:999px;font-size:1rem;font-weight:600;text-decoration:none;border:1.5px solid var(--accent);transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-ghost{color:var(--accent)}
.hero-photo img{display:block;width:100%;aspect-ratio:5/6;object-fit:cover;object-position:50% 20%;border-radius:1.1rem;box-shadow:0 20px 50px -25px rgba(0,0,0,.45)}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-photo{order:-1;max-width:24rem}}

/* Sections */
.section{padding:clamp(2.5rem,6vw,4rem) 0}
.section h2{font-size:clamp(1.6rem,4vw,2.1rem);margin:0 0 1rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem}
.card{display:block;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:.9rem;color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-2px);border-color:var(--accent)}
.card h3{margin:0 0 .4rem;font-size:1.35rem}
.card p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.5}
.contact{border-top:1px solid var(--line)}
.contact p{margin:0 0 1.25rem;color:var(--muted)}

/* Seiten */
.page-head{padding:clamp(2.5rem,6vw,4.5rem) 0 1rem}
.page-head h1{margin:0;font-size:clamp(2.1rem,5.5vw,3.2rem)}
.page-head h1::after{content:"";display:block;width:3rem;height:3px;background:var(--accent);margin-top:1.1rem}

/* Fliesstext */
.prose{padding-bottom:2rem}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 1.2em}
.prose h2{font-size:1.75rem;margin:2.4em 0 .6em}
.prose h3{font-size:1.35rem;margin:2em 0 .5em}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2em}
.prose li{margin:.35em 0}
.prose figure{margin:2rem 0}
.prose figcaption{margin-top:.7rem;font-size:.92rem;line-height:1.5;color:var(--muted)}
.prose .aligncenter{margin-inline:auto;text-align:center}
.prose .aligncenter img{margin-inline:auto;border-radius:.6rem}
.prose figure img{border-radius:.6rem}
.prose blockquote{margin:2rem 0;padding:.25rem 0 .25rem 1.4rem;border-left:3px solid var(--accent);font-family:var(--serif);font-size:1.2rem;line-height:1.6}
.prose blockquote p{margin:0 0 .8em}
.prose cite{display:block;font:normal .92rem/1.4 var(--sans);color:var(--muted)}
.prose iframe{max-width:100%;border:0}

/* Tabellen (Rollen / Filmografie) */
.prose .wp-block-table{overflow-x:auto;margin:2rem 0;-webkit-overflow-scrolling:touch}
.prose table{width:100%;min-width:38rem;border-collapse:collapse;font-size:.98rem;line-height:1.5}
.prose th,.prose td{padding:.75rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose th{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink);white-space:nowrap}
.prose td:first-child{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.prose tbody tr:hover td{background:var(--surface)}

/* Fotos */
.foto-grid{columns:15rem;column-gap:1rem;margin:1.5rem 0 3rem}
.foto-grid img{display:block;width:100%;height:auto;margin:0 0 1rem;border-radius:.5rem;cursor:zoom-in;break-inside:avoid;background:var(--line)}
dialog.lightbox{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;overflow:visible}
dialog.lightbox::backdrop{background:rgba(0,0,0,.88)}
dialog.lightbox img{display:block;max-width:96vw;max-height:90vh;border-radius:.3rem}
dialog.lightbox button{position:absolute;top:-2.6rem;right:0;background:none;border:0;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer}

/* Videos */
.wp-block-embed{margin:2.2rem 0}
.wp-block-embed iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;position:static!important;border-radius:.6rem}
.wp-block-embed__wrapper::before{content:none!important}

/* Footer */
.site-footer{margin-top:3rem;border-top:1px solid var(--line);padding:2rem 0;color:var(--muted);font-size:.95rem}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
