/*
Theme Name: Theater Mühlendorf
Theme URI: https://theater-muehlendorf.de
Author: Theatergruppe Mühlendorf
Description: Warmes, traditionsbewusstes WordPress-Theme für die Theatergruppe Mühlendorf im St.-Josef-Verein Mühlendorf e.V.
Version: 1.0.17
Text Domain: theater-muehlendorf
*/

:root{
  --tm-burgundy:#7c201b;
  --tm-burgundy-dark:#4e110f;
  --tm-burgundy-light:#9c352d;
  --tm-cream:#f5ead3;
  --tm-paper:#fbf4e6;
  --tm-gold:#b18a4a;
  --tm-ink:#2d241e;
  --tm-muted:#6f6257;
  --tm-border:#d8c6a5;
  --tm-shadow:0 10px 35px rgba(70,45,20,.12);
  --tm-serif: Georgia, 'Times New Roman', serif;
  --tm-sans: Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#eee7dc;color:var(--tm-ink);font-family:var(--tm-serif);line-height:1.55}
a{color:var(--tm-burgundy);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.tm-site{max-width:1280px;margin:0 auto;background:var(--tm-paper);box-shadow:0 0 30px rgba(0,0,0,.16);min-height:100vh}
.tm-paper{background-color:var(--tm-paper);background-image:radial-gradient(rgba(110,80,40,.05) .8px,transparent .8px);background-size:7px 7px}
.tm-wrap{width:min(1160px,calc(100% - 48px));margin:0 auto}

/* Header */
.tm-header-top{padding:15px 0 14px;border-bottom:1px solid rgba(120,70,35,.18);position:relative;overflow:hidden}
.tm-header-inner{display:grid;grid-template-columns:150px minmax(0,1fr) 285px;gap:18px;align-items:center}
.custom-logo{max-width:130px;max-height:120px;width:auto;height:auto;display:block;margin:auto}
.tm-header-logo-wrap{display:flex;align-items:center;justify-content:center;min-width:0}
.tm-header-logo{display:block;width:auto;height:auto;max-width:140px;max-height:122px;object-fit:contain}
.tm-header-venue-wrap{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.tm-header-venue{display:block;width:100%;max-width:270px;height:132px;object-fit:contain;object-position:right center;mix-blend-mode:multiply;opacity:.70}
.tm-badge{width:112px;height:112px;border:2px solid var(--tm-ink);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;letter-spacing:.04em;font-size:14px;margin:auto;position:relative;background:rgba(255,255,255,.32)}
.tm-badge:before,.tm-badge:after{content:'❦';position:absolute;font-size:22px;color:var(--tm-burgundy)}
.tm-badge:before{top:7px}.tm-badge:after{bottom:7px;transform:rotate(180deg)}
.tm-brand{text-align:center;min-width:0}
.tm-brand-title{font-family:var(--tm-serif);font-size:clamp(32px,4.55vw,58px);line-height:.91;letter-spacing:.065em;text-transform:uppercase;margin:0;color:var(--tm-ink);font-weight:500}
.tm-brand-title span{display:block;color:var(--tm-burgundy);font-size:.60em;letter-spacing:.025em;margin-bottom:4px}
.tm-brand-subtitle{font-size:clamp(15px,1.8vw,21px);color:var(--tm-burgundy);letter-spacing:.045em;margin-top:8px}
.tm-nav{background:linear-gradient(180deg,var(--tm-burgundy),var(--tm-burgundy-dark));color:#fff;position:sticky;top:0;z-index:40;box-shadow:0 4px 16px rgba(70,10,10,.18)}
.tm-nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:58px}
.tm-menu{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:wrap}
.tm-menu a{display:block;color:#fff;text-decoration:none;text-transform:uppercase;font-family:var(--tm-sans);font-weight:700;font-size:13px;letter-spacing:.02em;padding:20px 17px 18px;border-bottom:3px solid transparent}
.tm-menu a:hover,.tm-menu .current-menu-item>a{background:rgba(255,255,255,.08);border-bottom-color:#e9c98c}
.tm-menu>li{position:relative}
.tm-menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:230px;margin:0;padding:6px 0;list-style:none;background:var(--tm-burgundy-dark);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.tm-menu li:hover>.sub-menu,.tm-menu li:focus-within>.sub-menu{display:block}
.tm-menu .sub-menu a{padding:11px 15px;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}
.tm-menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px;padding:12px;cursor:pointer}

/* Hero */
.tm-hero{border-bottom:1px solid var(--tm-border);padding:20px 0 28px}
.tm-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:center}
.tm-hero-grid>*{min-width:0}
.tm-poster-wrap{text-align:center}
.tm-poster{width:min(100%,520px);display:block;margin:auto;filter:drop-shadow(0 10px 18px rgba(63,41,26,.14))}
.tm-eyebrow{text-align:center;color:var(--tm-burgundy);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:19px;margin:0 0 12px;display:flex;align-items:center;justify-content:center;gap:12px}
.tm-eyebrow:before,.tm-eyebrow:after{content:'';width:48px;border-top:1px solid var(--tm-gold)}
.tm-show-title{text-align:center;color:var(--tm-burgundy);font-size:clamp(34px,3.5vw,46px);line-height:.98;margin:8px auto 8px;font-weight:500;text-transform:uppercase;letter-spacing:-.02em;text-wrap:balance;max-width:560px;overflow-wrap:normal;word-break:normal}
.tm-show-subtitle{text-align:center;color:var(--tm-burgundy-dark);font-size:clamp(18px,1.65vw,25px);line-height:1.15;margin:0 auto 18px;text-transform:uppercase;text-wrap:balance;max-width:560px}
.tm-show-author{text-align:center;font-size:18px;color:var(--tm-muted);margin-bottom:22px}
.tm-show-excerpt{text-align:center;max-width:520px;margin:0 auto 20px;font-size:18px}
.tm-times-title{text-align:center;color:var(--tm-burgundy);font-size:20px;letter-spacing:.06em;text-transform:uppercase;margin:25px 0 10px}
.tm-times{max-width:500px;margin:0 auto 18px}
.tm-time{display:grid;grid-template-columns:26px 1fr auto;gap:10px;border-bottom:1px dotted #b8a483;padding:8px 0;font-size:17px}
.tm-time:last-child{border-bottom:0}
.tm-time-icon{color:var(--tm-gold)}
.tm-empty-note{text-align:center;color:var(--tm-muted);font-style:italic;padding:10px}
.tm-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,var(--tm-burgundy-light),var(--tm-burgundy-dark));color:#fff!important;border:1px solid rgba(60,0,0,.3);padding:13px 22px;text-transform:uppercase;letter-spacing:.03em;font-family:var(--tm-sans);font-weight:700;border-radius:3px;box-shadow:0 3px 10px rgba(80,20,20,.18);text-decoration:none!important}
.tm-button:hover{transform:translateY(-1px);filter:brightness(1.05)}
.tm-button-wide{display:flex;width:min(100%,500px);margin:14px auto 0}
.tm-button-muted{background:#756459;border-color:#5f5148}

/* Tradition */
.tm-tradition{padding:24px 0;border-bottom:1px solid var(--tm-border)}
.tm-tradition-grid{display:grid;grid-template-columns:36% 1fr 180px;gap:32px;align-items:center}
.tm-old-photo{background:#fff;padding:8px;border:1px solid #d8c8ad;box-shadow:0 8px 18px rgba(65,40,16,.13);transform:rotate(-1.2deg)}
.tm-tradition-kicker{text-transform:uppercase;font-weight:700;letter-spacing:.04em;margin:0;color:#4a3025}
.tm-tradition-title{color:var(--tm-burgundy);font-size:clamp(42px,5vw,68px);line-height:1;margin:2px 0 10px;font-weight:500;text-transform:uppercase}
.tm-tradition-text{font-size:17px;margin-bottom:18px}
.tm-mask-art{font-size:96px;text-align:center;color:#a68a6a;opacity:.55;line-height:1}

/* Cards */
.tm-home-cards{padding:22px 0 28px}
.tm-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tm-card{border:1px solid var(--tm-border);padding:18px;background:rgba(255,255,255,.22);text-align:center;display:flex;flex-direction:column;min-height:100%;box-shadow:0 3px 12px rgba(100,70,35,.04)}
.tm-card-title{margin:0 0 13px;text-transform:uppercase;color:#5a2b22;font-size:20px}
.tm-card-image{aspect-ratio:16/10;object-fit:cover;width:100%;border:1px solid #c9b897;background:#e4d8c2;margin-bottom:13px}
.tm-card-body{flex:1;margin:0 0 15px;color:#4b423b}
.tm-people-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:13px}
.tm-person-thumb{aspect-ratio:3/4;object-fit:cover;width:100%;background:#d7c7ab}
.tm-placeholder-people{display:flex;align-items:center;justify-content:center;height:190px;background:linear-gradient(135deg,#dfd0b6,#f6eddd);font-size:48px;color:#8c7151;border:1px solid #c9b897;margin-bottom:13px}
.tm-archive-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-bottom:13px}
.tm-archive-mini article{background:#efe0bd;border:1px solid #d2bb89;padding:10px 7px;min-height:145px;display:flex;flex-direction:column;justify-content:center}
.tm-archive-year{font-size:13px;color:#654c2d;margin-bottom:8px}
.tm-archive-name{font-weight:700;text-transform:uppercase;line-height:1.1;font-size:15px}
.tm-archive-image{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;margin:0 0 9px;border:1px solid #c8ae78}
.tm-presale-notice{margin:20px 0;padding:15px 18px;border:2px solid #bd9860;background:#fff3d7;color:var(--tm-ink);box-shadow:0 3px 10px rgba(70,45,20,.07)}.tm-presale-notice>strong{display:block;color:var(--tm-burgundy);font-family:var(--tm-display);font-size:20px;margin-bottom:7px}.tm-presale-notice p{margin:5px 0;line-height:1.45}

/* Newsletter */
.tm-newsletter{border-top:1px solid var(--tm-border);padding:24px 0;background:rgba(204,178,128,.08)}
.tm-newsletter-grid{display:grid;grid-template-columns:72px 1fr auto;gap:20px;align-items:center}
.tm-mail-icon{width:64px;height:64px;border-radius:50%;background:var(--tm-burgundy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;border:3px double #d6ba7e}
.tm-newsletter h2{margin:0 0 4px;text-transform:uppercase;color:#5c2c21;font-size:24px}
.tm-newsletter p{margin:0;color:#584c42}
.tm-news-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* Footer */
.tm-footer{background:linear-gradient(160deg,#6b1a17,#310b0b);color:#f4e5cf;padding:30px 0 12px;font-family:var(--tm-serif)}
.tm-footer a{color:#f5dcc2}
.tm-footer-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr 1fr;gap:28px}
.tm-footer h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;color:#e7cc9a}
.tm-footer p,.tm-footer li{font-size:14px;margin:4px 0}
.tm-footer ul{list-style:none;padding:0;margin:0}
.tm-footer-claim{text-transform:uppercase;text-align:center;font-size:17px;color:#efd9af;line-height:1.35}
.tm-footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:24px;padding-top:11px;text-align:center;font-size:12px;color:#dbc7ae}

/* General pages */
.tm-content{padding:42px 0 60px}
.tm-page-header{text-align:center;margin-bottom:34px}
.tm-page-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--tm-gold);font-size:13px;font-family:var(--tm-sans);font-weight:700}
.tm-page-title{font-size:clamp(38px,5vw,64px);color:var(--tm-burgundy);line-height:1;margin:5px 0 12px;font-weight:500}
.tm-page-intro{max-width:820px;margin:0 auto;font-size:18px;color:#50483f}
.tm-richtext{max-width:900px;margin:0 auto;font-size:18px}
.tm-richtext h2,.tm-richtext h3{color:var(--tm-burgundy)}
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tm-person-card,.tm-piece-card{background:#fffaf0;border:1px solid var(--tm-border);padding:14px;box-shadow:0 4px 12px rgba(75,50,20,.05)}
.tm-person-card img,.tm-piece-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tm-person-card h2,.tm-piece-card h2{font-size:22px;color:var(--tm-burgundy);margin:10px 0 4px}
.tm-meta{color:var(--tm-muted);font-size:14px;font-family:var(--tm-sans)}
.tm-archive-grid{align-items:stretch}
.tm-archive-grid .tm-piece-card{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.tm-archive-grid .tm-piece-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(75,50,20,.14)}
.tm-piece-image{position:relative;display:block;background:#e8d9ba;overflow:hidden}
.tm-archive-grid .tm-piece-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.tm-archive-grid .tm-piece-card:hover .tm-piece-image img{transform:scale(1.025)}
.tm-piece-year{position:absolute;left:12px;bottom:12px;background:rgba(78,17,15,.92);color:#fff7e8;border:1px solid rgba(255,255,255,.45);padding:4px 11px;font:bold 13px/1.4 var(--tm-sans);letter-spacing:.05em}
.tm-piece-card-body{padding:15px 17px 18px;display:flex;flex-direction:column;flex:1}
.tm-piece-card-body h2{margin:0 0 7px;line-height:1.2}
.tm-piece-card-body p{margin:auto 0 0;color:#5f554b}
.tm-piece-placeholder{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--tm-burgundy);background:radial-gradient(circle at center,#f8edd5 0,#e5d2a9 100%)}
.tm-piece-placeholder span{font-size:52px;line-height:1}
.tm-piece-placeholder small{margin-top:8px;text-transform:uppercase;letter-spacing:.12em;font:bold 12px var(--tm-sans)}
.tm-timeline{max-width:900px;margin:20px auto;position:relative}
.tm-timeline:before{content:'';position:absolute;left:90px;top:0;bottom:0;width:2px;background:#cbb48a}
.tm-timeline-item{display:grid;grid-template-columns:72px 1fr;gap:38px;margin:0 0 28px;position:relative}
.tm-timeline-year{font-weight:700;color:var(--tm-burgundy);text-align:right;font-size:18px}
.tm-timeline-body{background:#fffaf0;border:1px solid var(--tm-border);padding:18px;position:relative}
.tm-timeline-body:before{content:'';position:absolute;left:-29px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--tm-burgundy);border:3px solid var(--tm-paper)}
.tm-timeline-body h2{margin:0 0 8px;color:#5a2d22}
.tm-timeline-body img{max-width:300px;float:right;margin:0 0 12px 18px}
.tm-clear:after{content:'';display:block;clear:both}
.tm-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tm-contact-box{border:1px solid var(--tm-border);padding:22px;background:#fffaf0}

@media (max-width:1180px) and (min-width:981px){
 .tm-wrap{width:min(1060px,calc(100% - 40px))}
 .tm-header-inner{grid-template-columns:120px minmax(0,1fr) 190px}
 .tm-header-logo{max-width:112px;max-height:102px}
 .tm-header-venue{max-width:185px;height:96px}
 .tm-menu a{padding-left:12px;padding-right:12px;font-size:12px}
 .tm-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
 .tm-poster{max-width:480px}
 .tm-show-title{font-size:clamp(32px,3.7vw,42px)}
}

@media (max-width:980px){
 .tm-header-inner{grid-template-columns:100px 1fr 150px}.tm-header-logo{max-width:92px;max-height:88px}.tm-header-venue{max-width:145px;height:82px}
 .tm-hero-grid{grid-template-columns:1fr}.tm-poster{max-width:620px}.tm-tradition-grid{grid-template-columns:1fr 1.4fr}.tm-mask-art{display:none}
 .tm-card-grid{grid-template-columns:1fr}.tm-card{max-width:760px;margin:auto;width:100%}
 .tm-footer-grid{grid-template-columns:1fr 1fr}.tm-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
 .tm-wrap{width:min(100% - 24px,1280px)}
 .tm-header-top{padding:10px 0}.tm-header-inner{grid-template-columns:62px 1fr;gap:8px}.tm-header-logo{max-width:58px;max-height:58px}.tm-header-venue-wrap{display:none}.tm-badge{width:58px;height:58px;font-size:9px}.tm-badge:before,.tm-badge:after{display:none}.tm-brand{text-align:left}.tm-brand-title{font-size:27px;letter-spacing:.025em}.tm-brand-subtitle{font-size:12px}
 .tm-nav-inner{display:block;position:relative}.tm-menu-toggle{display:block;margin-left:auto}.tm-menu{display:none;flex-direction:column;align-items:stretch;padding:0 0 8px}.tm-menu.is-open{display:flex}.tm-menu a{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.tm-menu .sub-menu{display:block;position:static;box-shadow:none;background:rgba(0,0,0,.12);padding:0 0 0 12px}.tm-menu .sub-menu a{white-space:normal}
 .tm-hero{padding-top:18px}.tm-hero-grid{gap:20px}.tm-show-title{font-size:clamp(30px,9vw,40px);letter-spacing:-.02em;overflow-wrap:anywhere}.tm-time{grid-template-columns:22px 1fr}.tm-time span:last-child{grid-column:2}
 .tm-tradition-grid{grid-template-columns:1fr}.tm-old-photo{transform:none}.tm-newsletter-grid{grid-template-columns:60px 1fr}.tm-news-actions{grid-column:1/-1;justify-content:flex-start}.tm-footer-grid{grid-template-columns:1fr}.tm-grid{grid-template-columns:1fr}.tm-contact-grid{grid-template-columns:1fr}
 .tm-timeline:before{left:18px}.tm-timeline-item{grid-template-columns:1fr;gap:5px;padding-left:42px}.tm-timeline-year{text-align:left}.tm-timeline-body:before{left:-31px}.tm-timeline-body img{float:none;max-width:100%;margin:0 0 12px}
}

/* ==========================================================
   v1.0.3 – visuelle Feinabstimmung zum ursprünglichen Entwurf
   - klassischere Typografie ohne externe Font-Dienste
   - weichere Papier-/Abschnittsübergänge
   - weiße Bildflächen in die Papieroptik integriert
   ========================================================== */
:root{
  --tm-display: Constantia, "Baskerville Old Face", Baskerville, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --tm-serif: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --tm-sans: "Trebuchet MS", Arial, Helvetica, sans-serif;
  --tm-paper-warm:#fbf1dd;
  --tm-paper-deep:#f4e4c5;
}

body{
  font-family:var(--tm-serif);
  background:linear-gradient(90deg,#e7dfd3 0%,#efe8de 50%,#e7dfd3 100%);
}

.tm-site{
  border-left:1px solid rgba(108,77,43,.12);
  border-right:1px solid rgba(108,77,43,.12);
}

/* Typografie näher am Mockup */
.tm-brand-title,
.tm-show-title,
.tm-show-subtitle,
.tm-eyebrow,
.tm-times-title,
.tm-tradition-kicker,
.tm-tradition-title,
.tm-card-title,
.tm-newsletter h2,
.tm-page-title,
.tm-footer-claim{
  font-family:var(--tm-display);
}

.tm-brand-title{
  font-weight:400;
  letter-spacing:.052em;
  line-height:.89;
}
.tm-brand-title span{
  font-weight:500;
  letter-spacing:.018em;
}
.tm-brand-subtitle{
  font-family:var(--tm-display);
  letter-spacing:.025em;
}
.tm-eyebrow{
  font-weight:600;
  letter-spacing:.075em;
}
.tm-show-title{
  font-weight:400;
  letter-spacing:-.025em;
  line-height:.94;
}
.tm-show-subtitle{
  font-weight:600;
  letter-spacing:.012em;
}
.tm-times-title,
.tm-card-title,
.tm-tradition-kicker{
  font-weight:600;
}
.tm-tradition-title{
  font-weight:400;
}
.tm-button{
  font-family:var(--tm-display);
  font-weight:600;
  letter-spacing:.025em;
}

/* Headerbilder ohne sichtbare Rechteckflächen */
.tm-header-logo,
.tm-header-venue{
  mix-blend-mode:multiply;
}
.tm-header-logo{opacity:.96}
.tm-header-venue{opacity:.80}

/* Navigation etwas ruhiger und näher am Entwurf */
.tm-nav{
  background:linear-gradient(180deg,#8a211c 0%,#651512 100%);
  box-shadow:0 3px 10px rgba(63,20,13,.14);
}
.tm-menu{gap:0}
.tm-menu a{
  font-family:var(--tm-sans);
  font-size:13px;
  padding:19px 18px 17px;
  border-left:1px solid rgba(255,255,255,.025);
  border-right:1px solid rgba(0,0,0,.035);
}
.tm-menu a:hover,.tm-menu .current-menu-item>a{
  background:rgba(255,255,255,.07);
}

/* Weiche, ineinanderlaufende Seitenbereiche */
.tm-hero,
.tm-tradition,
.tm-home-cards,
.tm-newsletter{
  position:relative;
  border:0;
  isolation:isolate;
}
.tm-hero{
  padding:18px 0 30px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(244,226,193,.18) 78%,rgba(222,193,145,.15) 100%);
  box-shadow:inset 0 10px 18px rgba(89,55,28,.035);
}
.tm-tradition{
  padding:30px 0 27px;
  background:
    linear-gradient(180deg,rgba(236,214,177,.24) 0%,rgba(251,242,222,.10) 70%,rgba(255,255,255,.10) 100%);
}
.tm-home-cards{
  padding:28px 0 31px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(242,226,196,.11));
}
.tm-newsletter{
  border-top:0;
  padding:27px 0;
  background:linear-gradient(180deg,rgba(225,197,147,.16),rgba(243,224,189,.24));
}

/* feine Papierkante statt harter Trennlinie */
.tm-hero::after,
.tm-tradition::after,
.tm-home-cards::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:16px;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(112,76,39,.10),rgba(255,255,255,.20) 28%,rgba(255,255,255,0) 82%);
  clip-path:polygon(0 18%,4% 8%,9% 24%,15% 10%,21% 21%,27% 7%,34% 22%,41% 9%,49% 20%,56% 7%,63% 22%,71% 10%,78% 19%,85% 8%,92% 21%,100% 10%,100% 100%,0 100%);
}

/* Der weiße Hintergrund des Stückmotivs verschmilzt mit dem Papier */
.tm-poster{
  mix-blend-mode:multiply;
  filter:drop-shadow(0 10px 16px rgba(63,41,26,.10));
}

/* Hero-Bereich optisch kompakter, wie beim Designentwurf */
.tm-hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:42px;
}
.tm-poster{width:min(100%,510px)}
.tm-eyebrow{margin-bottom:13px}
.tm-show-title{font-size:clamp(36px,3.3vw,48px);max-width:520px}
.tm-show-subtitle{font-size:clamp(18px,1.6vw,24px);max-width:520px;margin-bottom:15px}
.tm-show-author{font-family:var(--tm-serif);font-size:17px}
.tm-show-excerpt{font-size:17px;line-height:1.42}
.tm-times-title{font-size:20px}

/* Bilder und Karten weniger technisch, mehr wie gedruckte Theaterprogramme */
.tm-old-photo{
  border:1px solid rgba(117,86,50,.28);
  box-shadow:0 7px 16px rgba(65,40,16,.10);
}
.tm-card{
  background:rgba(255,249,237,.36);
  border-color:rgba(152,119,73,.34);
  box-shadow:0 2px 9px rgba(89,61,32,.035);
}
.tm-card-title{letter-spacing:.012em}

@media (max-width:1100px){
  .tm-brand-title{letter-spacing:.035em}
  .tm-hero-grid{gap:28px}
  .tm-show-title{font-size:clamp(34px,4vw,44px)}
}

@media (max-width:820px){
  .tm-hero::after,.tm-tradition::after,.tm-home-cards::after{bottom:-6px;height:12px}
  .tm-poster{mix-blend-mode:normal}
  .tm-brand-title{line-height:.95}
}



/* ==========================================================
   v1.0.4 – Bildflächen in den Papierhintergrund integrieren
   - Standard-Emblem mit transparentem Hintergrund
   - historische Ansicht weich auslaufend + Multiply
   - aktuelles Stück mit sehr dezent gefiederten Außenkanten
   ========================================================== */

/* Die Wrapper bilden einen eigenen Blend-Kontext, damit die Bilder
   zuverlässig mit dem Papier des jeweiligen Bereichs verschmelzen. */
.tm-header-logo-wrap,
.tm-header-venue-wrap,
.tm-poster-wrap{
  isolation:isolate;
}

/* Links: das mitgelieferte Emblem ist in v1.0.4 bereits freigestellt.
   Falls später ein eigenes Bild hochgeladen wird, sorgt Multiply zusätzlich
   dafür, dass ein heller Scan-Hintergrund deutlich weniger auffällt. */
.tm-header-logo{
  mix-blend-mode:multiply;
  opacity:.98;
  background:transparent;
  filter:contrast(1.03);
}

/* Rechts: alte Orts-/Kneipenansicht wie eine direkt auf das Papier
   gedruckte historische Zeichnung. Der Rand läuft allseitig weich aus. */
.tm-header-venue{
  mix-blend-mode:multiply;
  opacity:.86;
  background:transparent;
  -webkit-mask-image:radial-gradient(
    ellipse 70% 82% at 50% 50%,
    #000 0%,
    #000 68%,
    rgba(0,0,0,.96) 76%,
    rgba(0,0,0,.72) 86%,
    rgba(0,0,0,.28) 95%,
    transparent 100%
  );
  mask-image:radial-gradient(
    ellipse 70% 82% at 50% 50%,
    #000 0%,
    #000 68%,
    rgba(0,0,0,.96) 76%,
    rgba(0,0,0,.72) 86%,
    rgba(0,0,0,.28) 95%,
    transparent 100%
  );
}

/* Aktuelles Stück: bewusst nur ein sehr schmaler weicher Übergang.
   Die Illustration und ihre kräftigen Farben bleiben vollständig präsent;
   lediglich die rechteckige Außenkante verschwindet im Papier. */
.tm-poster{
  mix-blend-mode:multiply;
  background:transparent;
  filter:drop-shadow(0 8px 14px rgba(63,41,26,.07));

  -webkit-mask-image:
    linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.58) 1.2%,
      #000 3.2%,
      #000 96.8%,
      rgba(0,0,0,.58) 98.8%,
      transparent 100%),
    linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.58) 1.2%,
      #000 3.2%,
      #000 96.8%,
      rgba(0,0,0,.58) 98.8%,
      transparent 100%);
  -webkit-mask-composite:source-in;

  mask-image:
    linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.58) 1.2%,
      #000 3.2%,
      #000 96.8%,
      rgba(0,0,0,.58) 98.8%,
      transparent 100%),
    linear-gradient(to bottom,
      transparent 0%,
      rgba(0,0,0,.58) 1.2%,
      #000 3.2%,
      #000 96.8%,
      rgba(0,0,0,.58) 98.8%,
      transparent 100%);
  mask-composite:intersect;
}

/* Auf kleineren Bildschirmen bleibt der Effekt aktiv. Die Kante wird nur
   etwas schmaler, damit vom Motiv möglichst viel sichtbar bleibt. */
@media (max-width:820px){
  .tm-poster{
    mix-blend-mode:multiply;
    -webkit-mask-image:
      linear-gradient(to right,transparent 0%,#000 2.2%,#000 97.8%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 2.2%,#000 97.8%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:
      linear-gradient(to right,transparent 0%,#000 2.2%,#000 97.8%,transparent 100%),
      linear-gradient(to bottom,transparent 0%,#000 2.2%,#000 97.8%,transparent 100%);
    mask-composite:intersect;
  }
}


/* ==========================================================
   v1.0.5 – Vorstand & Social Media
   ========================================================== */
.tm-board-list{
  max-width:900px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.tm-board-member{
  display:grid;
  grid-template-columns:82px 1fr;
  gap:16px;
  align-items:center;
  padding:16px 18px;
  background:rgba(255,249,237,.48);
  border:1px solid rgba(152,119,73,.34);
  box-shadow:0 3px 12px rgba(89,61,32,.04);
}
.tm-board-member:first-child{
  grid-column:1/-1;
}
.tm-board-portrait{
  width:72px;
  height:72px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#ead9b9,#f9f0df);
  border:1px solid rgba(140,102,54,.38);
  color:var(--tm-gold);
  font-size:30px;
}
.tm-board-portrait img{width:100%;height:100%;object-fit:cover}
.tm-board-role{
  color:var(--tm-gold);
  font-family:var(--tm-sans);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tm-board-copy h2{
  margin:2px 0 0;
  color:var(--tm-burgundy);
  font-family:var(--tm-display);
  font-weight:500;
  font-size:27px;
}
.tm-board-admin-note{
  max-width:900px;
  margin:22px auto 0;
  padding:10px 14px;
  border-left:3px solid var(--tm-gold);
  background:rgba(177,138,74,.08);
  color:var(--tm-muted);
  font-size:14px;
}

.tm-social{
  position:relative;
  padding:30px 0 32px;
  background:linear-gradient(180deg,rgba(241,223,191,.10),rgba(225,197,147,.13));
}
.tm-social-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:20px;
}
.tm-social-head>div:first-child{max-width:720px}
.tm-social-title{
  margin:2px 0 6px;
  color:var(--tm-burgundy);
  font-family:var(--tm-display);
  font-size:clamp(28px,3.5vw,42px);
  line-height:1.05;
  font-weight:500;
}
.tm-social-head p:last-child{margin:0;color:var(--tm-muted)}
.tm-social-links{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.tm-social-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border:1px solid rgba(124,32,27,.28);
  background:rgba(255,250,240,.58);
  color:var(--tm-burgundy);
  font-family:var(--tm-sans);
  font-size:13px;
  font-weight:700;
  text-decoration:none!important;
}
.tm-social-button span{
  width:24px;height:24px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--tm-burgundy);color:#fff;font-family:Arial,sans-serif;font-weight:700;
}
.tm-social-button:hover{background:#fff8eb;transform:translateY(-1px)}
.tm-social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tm-social-card{
  background:rgba(255,249,237,.56);
  border:1px solid rgba(152,119,73,.34);
  overflow:hidden;
  box-shadow:0 4px 14px rgba(89,61,32,.05);
}
.tm-social-card>a{display:block}
.tm-social-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.tm-social-card-body{padding:12px 14px 14px}
.tm-social-platform{
  color:var(--tm-gold);font-family:var(--tm-sans);font-size:11px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px
}
.tm-social-card-body p{margin:0;color:#4d433a}
.tm-footer-social{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.tm-footer-social a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.tm-footer-social a span{
  width:24px;height:24px;border:1px solid rgba(245,220,194,.65);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-weight:700
}

@media (max-width:820px){
  .tm-social-head{display:block}
  .tm-social-links{justify-content:flex-start;margin-top:14px}
  .tm-social-grid{grid-template-columns:1fr}
  .tm-board-list{grid-template-columns:1fr}
  .tm-board-member:first-child{grid-column:auto}
}


/* ==========================================================
   v1.0.7 – Originalfoto „Alte Mühle“ historisch aufbereitet
   ========================================================== */
.tm-header-venue{
  opacity:.72;
  mix-blend-mode:multiply;
  background:transparent;
  -webkit-mask-image:none;
  mask-image:none;
  filter:none;
}


/* ==========================================================
   v1.0.8 – Spieltermine & Newsletter
   - kompakter zweispaltiger Spielplan wie im visuellen Entwurf
   - elegantere Serifenschrift auf Windows/macOS
   - Newsletterformular mit lokalem Spam-Schutz
   ========================================================== */
.tm-show-title,
.tm-show-subtitle,
.tm-eyebrow,
.tm-times-title,
.tm-brand-title,
.tm-brand-subtitle{
  text-rendering:optimizeLegibility;
  font-kerning:normal;
}
.tm-show-title{letter-spacing:-.032em}
.tm-times-title{letter-spacing:.045em;margin:25px 0 13px}

.tm-times.tm-times-columns{
  max-width:560px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 34px;
  margin:0 auto 18px;
}
.tm-times-column{min-width:0}
.tm-times-columns .tm-time{
  display:grid;
  grid-template-columns:28px minmax(78px,1fr) auto;
  gap:7px;
  align-items:baseline;
  padding:3px 0;
  border:0;
  font-family:var(--tm-display);
  font-size:16px;
  line-height:1.34;
  white-space:nowrap;
}
.tm-time-day{font-weight:600;color:#4b3428}
.tm-time-date{font-variant-numeric:tabular-nums;color:#3d3028}
.tm-time-clock{font-variant-numeric:tabular-nums;text-align:right;color:#2d241e}
.tm-times-column:first-child{padding-right:2px}

.tm-newsletter{padding:30px 0 32px}
.tm-newsletter-grid{
  grid-template-columns:68px minmax(250px,.72fr) minmax(0,1.5fr);
  align-items:start;
  gap:20px 26px;
}
.tm-newsletter h2{font-size:25px;letter-spacing:.015em}
.tm-newsletter-copy{padding-top:4px}
.tm-newsletter-form-wrap{min-width:0}
.tm-newsletter-form{margin:0}
.tm-newsletter-fields{
  display:grid;
  grid-template-columns:minmax(130px,.85fr) minmax(190px,1.25fr) minmax(145px,.8fr) auto;
  gap:9px;
  align-items:end;
}
.tm-form-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.tm-form-field>span{
  font-family:var(--tm-sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  color:#67473a;
}
.tm-form-field input{
  width:100%;
  height:43px;
  border:1px solid rgba(142,106,65,.48);
  background:rgba(255,251,241,.76);
  color:var(--tm-ink);
  font-family:var(--tm-serif);
  font-size:15px;
  padding:8px 10px;
  border-radius:2px;
  outline:none;
  box-shadow:inset 0 1px 2px rgba(73,48,26,.04);
}
.tm-form-field input:focus{border-color:var(--tm-burgundy);box-shadow:0 0 0 2px rgba(124,32,27,.08)}
.tm-newsletter-submit{height:43px;white-space:nowrap;padding:9px 16px}
.tm-newsletter-consent{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:9px;
  color:#66574c;
  font-size:12px;
  line-height:1.35;
}
.tm-newsletter-consent input{margin-top:2px;accent-color:var(--tm-burgundy)}
.tm-newsletter-consent a{text-decoration:underline}
.tm-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.tm-form-message{margin:0 0 10px;padding:9px 11px;border-left:3px solid var(--tm-gold);font-size:13px;background:rgba(255,250,240,.62)}
.tm-form-message-success{border-left-color:#5f7a46;color:#3f5b2e}
.tm-form-message-error{border-left-color:#9a3029;color:#7a241f}

@media (max-width:1040px){
  .tm-newsletter-grid{grid-template-columns:60px 1fr}
  .tm-newsletter-form-wrap{grid-column:1/-1}
  .tm-newsletter-fields{grid-template-columns:1fr 1fr 1fr auto}
}
@media (max-width:820px){
  .tm-times.tm-times-columns{grid-template-columns:1fr;gap:0;max-width:500px}
  .tm-times-columns .tm-time{grid-template-columns:32px 1fr auto;padding:5px 0;border-bottom:1px dotted rgba(146,113,73,.38)}
  .tm-times-column:last-child .tm-time:last-child{border-bottom:0}
  .tm-newsletter-fields{grid-template-columns:1fr 1fr}
  .tm-newsletter-submit{width:100%}
}
@media (max-width:560px){
  .tm-newsletter-grid{grid-template-columns:1fr}
  .tm-mail-icon{display:none}
  .tm-newsletter-form-wrap{grid-column:auto}
  .tm-newsletter-fields{grid-template-columns:1fr}
}
/* v1.0.9 – Stückinformationen 2026 */
.tm-show-info{padding:38px 0 42px;background:rgba(255,250,239,.48);position:relative}
.tm-section-heading{text-align:center;margin-bottom:24px}
.tm-section-heading h2{font-family:var(--tm-display);font-weight:400;color:var(--tm-burgundy);font-size:clamp(30px,4vw,48px);margin:3px 0}
.tm-show-info-grid{display:grid;grid-template-columns:1.25fr 1fr .9fr;gap:24px;align-items:start}
.tm-show-info h3,.tm-backstage-box h2,.tm-piece-section h2{color:var(--tm-burgundy);margin-top:0}
.tm-synopsis,.tm-cast-preview{font-size:17px;line-height:1.55}
.tm-piece-facts{color:var(--tm-muted);font-style:italic;border-top:1px solid var(--tm-border);padding-top:12px}
.tm-text-link{color:var(--tm-burgundy);font-weight:700}
.tm-cast-preview-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dotted #b8a483}
.tm-cast-preview-row small,.tm-cast-row small{display:block;color:var(--tm-muted);font-size:.84em}
.tm-backstage-box{border:3px double #b99b64;background:#f8ecd5;padding:22px;box-shadow:0 5px 14px rgba(75,50,20,.07)}
.tm-backstage-box>div:not(.tm-backstage-grid){display:grid;grid-template-columns:minmax(125px,48%) minmax(0,1fr);gap:18px;padding:6px 0;border-bottom:1px dotted #b8a483}.tm-backstage-box span{overflow-wrap:anywhere}
.tm-backstage-box>div:last-child{border-bottom:0}
.tm-piece-lead{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:38px;align-items:start}
.tm-piece-meta{margin:24px 0 0;border-top:3px double #b99b64;border-bottom:3px double #b99b64;padding:10px 0}
.tm-piece-meta div{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:5px 0}
.tm-piece-meta dt{font-weight:700}.tm-piece-meta dd{margin:0}
.tm-piece-section{margin:48px 0}
.tm-cast-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.tm-cast-row{display:grid;grid-template-columns:60px 1fr .8fr;align-items:center;gap:16px;padding:12px 10px;border-bottom:1px dotted #b8a483;background:rgba(255,250,239,.32)}
.tm-cast-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 44%;border:3px solid #f5e6c9;box-shadow:0 2px 7px rgba(58,39,25,.26);background:#d8c29b}
.tm-cast-row .tm-cast-avatar{width:60px;height:60px}.tm-cast-avatar-placeholder{display:grid;place-items:center;color:#fff;background:var(--tm-red);font-family:Georgia,serif;font-weight:700;letter-spacing:.04em}
.tm-group-photo{width:100%;height:auto;display:block;border-radius:3px;margin-bottom:13px}.tm-group-photo-wide{margin:0 0 34px;text-align:center}.tm-group-photo-wide img{width:100%;height:auto;display:block;border:8px solid #f3e5c9;box-shadow:0 5px 18px rgba(55,37,23,.24)}.tm-group-photo-wide figcaption{margin-top:8px;color:var(--tm-muted);font-style:italic}
.tm-group-header .tm-page-title{font-size:clamp(38px,5vw,58px)}.tm-group-cast{margin-top:20px}.tm-group-cast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.tm-group-cast-card{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:13px;padding:10px 4px;border-bottom:1px dotted #b8a483}.tm-group-cast-card .tm-cast-avatar{width:52px;height:52px}.tm-group-cast-card h3{margin:0 0 2px;color:var(--tm-burgundy);font-size:19px}.tm-group-cast-card p{margin:0;color:var(--tm-ink);font-size:.94em}.tm-group-cast-card p span{display:inline;color:var(--tm-muted)}.tm-group-cast-card p span:before{content:' · '}.tm-group-links{text-align:center;margin-top:32px}
@media(max-width:700px){.tm-group-cast-grid{grid-template-columns:1fr}}
.tm-cast-row:nth-child(4n+2),.tm-cast-row:nth-child(4n+3){background:rgba(230,207,166,.16)}
.tm-backstage-full{max-width:920px;margin:44px auto}
.tm-backstage-full h2{text-align:center;font-family:var(--tm-display);font-weight:400;font-size:34px}
.tm-backstage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}
.tm-backstage-grid>div{display:grid;grid-template-columns:42% 1fr;gap:12px;padding:9px 0;border-bottom:1px dotted #b8a483}
.tm-ticket-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.tm-info-card{border:1px solid var(--tm-border);background:#fffaf0;padding:22px}
.tm-info-card h3{color:var(--tm-burgundy);margin-top:0}.tm-info-card p{white-space:pre-line}
.tm-ticket-action{text-align:center;margin-top:24px}
@media(max-width:980px){.tm-show-info-grid{grid-template-columns:1fr 1fr}.tm-backstage-box{grid-column:1/-1}.tm-piece-lead{grid-template-columns:1fr}}
@media(max-width:760px){.tm-show-info-grid,.tm-cast-grid,.tm-ticket-info-grid,.tm-backstage-grid{grid-template-columns:1fr}.tm-cast-row{grid-template-columns:54px 1fr}.tm-cast-row>div:last-child{grid-column:2}.tm-piece-meta div{grid-template-columns:1fr;gap:0}.tm-backstage-box{grid-column:auto}}
