/* ===== Sigristenhaus Design-System ===== */
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/lora-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/lora-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/lora-latin-400-italic.woff2) format("woff2")}
:root{
 --sh-papier:#f0e7d9;--sh-papier2:#e9dcc6;--sh-karte:#f7f1e6;--sh-braun:#5a3a25;--sh-braun-d:#2b190d;--sh-holz-d:#1a0f08;
 --sh-tinte:#3a2a1d;--sh-mute:#6d5c4a;--sh-kupfer:#a2542f;--sh-gold:#d9b98c;--sh-linie:#cbb99d;
 --sh-h:"Cormorant Garamond",Georgia,serif;--sh-t:"Lora",Georgia,serif;--sh-u:system-ui,-apple-system,"Segoe UI",sans-serif;
 --sh-wood:url(../img/wood.webp);--sh-bg:url(../img/bg.webp);--sh-illge:url(../img/illge.webp);
 --sh-tr:polygon(0.00% 0.00%,99.62% 0.00%,99.03% 2.17%,99.37% 4.35%,98.95% 6.52%,99.89% 8.70%,98.56% 10.87%,98.53% 13.04%,97.92% 15.22%,98.78% 17.39%,98.84% 19.57%,99.14% 21.74%,98.76% 23.91%,99.72% 26.09%,99.03% 28.26%,99.66% 30.43%,97.72% 32.61%,98.67% 34.78%,97.91% 36.96%,98.72% 39.13%,98.89% 41.30%,99.50% 43.48%,98.20% 45.65%,98.83% 47.83%,97.83% 50.00%,98.59% 52.17%,99.06% 54.35%,99.03% 56.52%,98.13% 58.70%,99.19% 60.87%,98.92% 63.04%,99.24% 65.22%,99.06% 67.39%,98.50% 69.57%,97.82% 71.74%,99.12% 73.91%,98.72% 76.09%,98.55% 78.26%,98.28% 80.43%,98.59% 82.61%,97.84% 84.78%,99.19% 86.96%,98.54% 89.13%,99.04% 91.30%,98.51% 93.48%,99.74% 95.65%,98.71% 97.83%,98.70% 100.00%,0.00% 100.00%);--sh-tl:polygon(0.07% 0.00%,0.87% 2.17%,1.00% 4.35%,1.25% 6.52%,0.86% 8.70%,1.55% 10.87%,0.55% 13.04%,2.40% 15.22%,0.31% 17.39%,1.46% 19.57%,0.32% 21.74%,1.81% 23.91%,0.44% 26.09%,1.37% 28.26%,1.20% 30.43%,1.31% 32.61%,0.89% 34.78%,2.25% 36.96%,0.16% 39.13%,0.90% 41.30%,0.37% 43.48%,2.02% 45.65%,0.98% 47.83%,1.18% 50.00%,0.53% 52.17%,1.08% 54.35%,0.73% 56.52%,0.87% 58.70%,1.12% 60.87%,2.23% 63.04%,1.53% 65.22%,1.98% 67.39%,1.54% 69.57%,0.83% 71.74%,0.46% 73.91%,2.35% 76.09%,1.24% 78.26%,1.46% 80.43%,1.51% 82.61%,1.79% 84.78%,1.31% 86.96%,1.27% 89.13%,0.31% 91.30%,1.51% 93.48%,0.22% 95.65%,1.41% 97.83%,1.54% 100.00%,100.00% 100.00%,100.00% 0.00%);
 --sh-shadow:0 16px 26px -18px rgba(60,40,20,.6)}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--sh-papier) var(--sh-bg);background-size:340px;background-blend-mode:multiply;color:var(--sh-tinte);font-family:var(--sh-t);overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--sh-h);font-weight:500;color:var(--sh-holz-d);line-height:1.05}
.sh-eyebrow .elementor-heading-title,.sh-eyebrow{font:500 .76rem var(--sh-u)!important;letter-spacing:.22em;text-transform:uppercase;color:var(--sh-kupfer)!important}
.sh-lead{max-width:52ch;color:var(--sh-mute)}

/* Flaechen */
.sh-papier{background:var(--sh-papier) var(--sh-bg);background-size:340px;background-blend-mode:multiply}
.sh-papier2{background:var(--sh-papier2) var(--sh-bg);background-size:340px;background-blend-mode:multiply;border-top:1px solid var(--sh-linie);border-bottom:1px solid var(--sh-linie)}
.sh-holz{background:linear-gradient(rgba(14,6,2,.55),rgba(14,6,2,.72)),var(--sh-wood);background-size:auto,760px;color:#eadcc2}
.sh-holz h1,.sh-holz h2,.sh-holz h3,.sh-holz h4,.sh-holz .elementor-heading-title{color:#f6ecd9}
.sh-holz .sh-eyebrow,.sh-holz .sh-eyebrow .elementor-heading-title{color:var(--sh-gold)!important}
.sh-holz .sh-lead,.sh-holz p{color:#d9c8a8}
.sh-holz a:not(.elementor-button){color:var(--sh-gold)}

/* Gerissene Papierkante: auf Papier-Spalte neben Foto */
.sh-rand-r{position:relative;z-index:2}
.sh-rand-r::before,.sh-rand-l::before{content:"";position:absolute;inset:0;background:var(--sh-papier) var(--sh-bg);background-size:340px;background-blend-mode:multiply;z-index:-1}
.sh-rand-r::before{clip-path:var(--sh-tr);inset:0 -2px 0 0}
.sh-rand-l{position:relative;z-index:2}.sh-rand-l::before{clip-path:var(--sh-tl);inset:0 0 0 -2px}
.sh-b2.sh-rand-r::before,.sh-b2.sh-rand-l::before{background-color:#e4d6bd}
.sh-rand-r,.sh-rand-l{filter:drop-shadow(6px 0 6px rgba(60,40,20,.22))}
@media(max-width:900px){.sh-rand-r::before,.sh-rand-l::before{clip-path:none;inset:0}.sh-rand-r,.sh-rand-l{filter:none}}
.sh-foto img{object-fit:cover;width:100%;height:100%}

/* Rahmen und Karten */
.sh-rahmen{background:linear-gradient(rgba(10,4,0,.25),rgba(10,4,0,.25)),var(--sh-wood);background-size:auto,600px;padding:14px;border:2px solid #120a05;box-shadow:0 22px 34px -12px rgba(0,0,0,.85);transform:rotate(-1.4deg)}
.sh-rahmen img{border:2px solid #120a05;display:block;width:100%}
.sh-rahmen.r2{transform:rotate(1.4deg)}
.sh-karte{background:var(--sh-karte);box-shadow:0 2px 0 var(--sh-linie),var(--sh-shadow);position:relative;transition:transform .25s}
.sh-karte::before{content:"";display:block;height:9px;background:linear-gradient(rgba(10,4,0,.25),rgba(10,4,0,.25)),var(--sh-wood);background-size:auto,500px}
.sh-karte:hover{transform:translateY(-6px)}
.sh-zettel{background:var(--sh-karte);border:1px solid var(--sh-linie);box-shadow:0 12px 20px -12px rgba(60,40,20,.55);position:relative}
.sh-zettel::before{content:"";position:absolute;top:-10px;left:50%;width:70px;height:20px;background:rgba(162,84,47,.5);transform:translateX(-50%) rotate(-2deg)}
.sh-zettel:nth-child(1){transform:rotate(-1.4deg)}.sh-zettel:nth-child(2){transform:rotate(1deg)}.sh-zettel:nth-child(3){transform:rotate(-.7deg)}

/* Buttons: Klasse am Button-Widget */
.sh-btn-f .elementor-button,.sh-btn-o .elementor-button,.sh-btn-h .elementor-button{font:500 .95rem var(--sh-t);border-radius:0;padding:13px 24px;border:1px solid var(--sh-braun);transition:background .2s,color .2s}
.sh-btn-f .elementor-button{background:var(--sh-braun);color:#f6ecd9}.sh-btn-f .elementor-button:hover{background:var(--sh-braun-d);color:#fff}
.sh-btn-o .elementor-button{background:transparent;color:var(--sh-braun)}.sh-btn-o .elementor-button:hover{background:var(--sh-braun);color:#f6ecd9}
.sh-btn-h .elementor-button{background:var(--sh-gold);color:#2b190d;border-color:var(--sh-gold)}.sh-btn-h .elementor-button:hover{background:#f0d6ac;color:#2b190d}
.sh-link a,a.sh-link{font:500 .95rem var(--sh-t);color:var(--sh-kupfer);text-decoration:none;border-bottom:1px solid currentColor}

/* Header: Holzbalken */
.sh-balken{position:sticky;top:0;z-index:50;height:96px;filter:drop-shadow(0 10px 10px rgba(0,0,0,.55));background:none!important}
.sh-balken .elementor-container,.sh-balken>.e-con-inner{position:relative;z-index:2}
.sh-balken::before{content:"";position:absolute;left:60px;right:60px;top:3.5%;bottom:17%;background:url(../img/mid.webp) center/100% 100%;z-index:0}
.sh-balken::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:url(../img/cap_l.webp) left top/auto 100% no-repeat,url(../img/cap_r.webp) right top/auto 100% no-repeat}
.sh-schild{margin-top:16px;transform-origin:50% 0;animation:sh-pend 7s ease-in-out infinite;filter:drop-shadow(0 10px 8px rgba(0,0,0,.65));position:relative;z-index:3}
.sh-schild img{height:118px;width:auto}
@keyframes sh-pend{0%,100%{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}}
.sh-nav .elementor-nav-menu a,.sh-nav a{font:500 .82rem var(--sh-u);letter-spacing:.18em;text-transform:uppercase;color:#f6ecd9!important;text-shadow:0 2px 3px rgba(0,0,0,.85)}
.sh-nav a:hover{color:#fff!important;border-bottom:2px solid var(--sh-gold)}
@media(max-width:1000px){.sh-balken{height:84px}.sh-balken::before{left:46px;right:46px}.sh-schild img{height:92px}}
@media(max-width:560px){.sh-balken::after{display:none}.sh-balken::before{left:0;right:0}}

/* Illge als Zeichen */
.sh-illge{display:inline-block;width:1em;height:1em;background:var(--sh-illge) center/contain no-repeat;vertical-align:-.12em}
.sh-peek{position:absolute;width:190px;height:190px;bottom:-30px;pointer-events:none;background:var(--sh-illge) center/contain no-repeat;z-index:1;opacity:.5;transform:translateX(var(--tx,0)) rotate(var(--rot,0deg))}
.sh-peek.r{right:-44px}.sh-peek.l{left:-44px}
.sh-holz .sh-peek{opacity:.7}
.sh-illge-list ul{list-style:none;padding:0}.sh-illge-list li::before{content:"";display:inline-block;width:.95em;height:.95em;background:var(--sh-illge) center/contain no-repeat;margin-right:10px;vertical-align:-.1em}

/* Eingangsanimation (JS erzeugt #sh-intro) */
#sh-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;gap:26px;background:linear-gradient(rgba(10,4,0,.5),rgba(10,4,0,.7)),var(--sh-wood);background-size:auto,800px;animation:sh-iaus .9s ease 2.7s forwards;pointer-events:none}
#sh-intro .ih{transform-origin:50% -60px;animation:sh-ifall 1.2s cubic-bezier(.2,.8,.3,1) both,sh-iswing 2.4s ease-in-out 1.1s}
#sh-intro img{width:min(64vw,340px);height:auto;filter:drop-shadow(0 22px 18px rgba(0,0,0,.7))}
#sh-intro .it{font:500 clamp(1.6rem,4.5vw,2.6rem) var(--sh-h);color:#f6ecd9;letter-spacing:.06em;opacity:0;animation:sh-itxt .8s ease 1.3s forwards}
@keyframes sh-ifall{from{transform:translateY(-120vh) rotate(8deg)}to{transform:none}}
@keyframes sh-iswing{0%{transform:rotate(0)}20%{transform:rotate(-7deg)}45%{transform:rotate(5deg)}70%{transform:rotate(-2.5deg)}100%{transform:rotate(0)}}
@keyframes sh-itxt{to{opacity:1}}@keyframes sh-iaus{to{opacity:0;visibility:hidden}}
#sh-intro.weg{display:none}

/* Zeitstrahl: Liste mit Klasse sh-vz, Eintraege .sh-vi mit .sh-vy Jahr */
.sh-vz{position:relative;list-style:none;margin:44px 0 0;padding:0}
.sh-vlinie{position:absolute;left:22px;top:0;bottom:0;width:3px;background:rgba(217,185,140,.25)}
.sh-vfill{position:absolute;left:0;top:0;width:100%;height:var(--p,0%);background:var(--sh-gold)}
.sh-vpunkt{position:absolute;left:23px;top:var(--p,0%);width:46px;height:46px;transform:translate(-50%,-50%);background:var(--sh-illge) center/contain no-repeat;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7));z-index:2}
.sh-vi{position:relative;padding:0 0 46px 70px}
.sh-vi::before{content:"";position:absolute;left:14px;top:14px;width:19px;height:19px;border-radius:50%;background:var(--sh-holz-d);border:3px solid var(--sh-gold)}
.sh-vy{font:500 clamp(2.2rem,5vw,3.4rem)/1 var(--sh-h);color:var(--sh-gold)}
.sh-vi h3{font-size:1.6rem;margin:4px 0 6px;color:#f6ecd9}.sh-vi p{color:#d9c8a8;max-width:52ch}
.sh-js .sh-vi{opacity:.18;transform:translateY(24px);transition:opacity .7s,transform .7s}.sh-js .sh-vi.an{opacity:1;transform:none}
@media(min-width:900px){.sh-vlinie{left:50%}.sh-vpunkt{left:50%}.sh-vi{width:50%;padding:0 56px 56px 0;text-align:right}.sh-vi:nth-child(even){margin-left:50%;padding:0 0 56px 56px;text-align:left}.sh-vi::before{left:auto;right:-10px}.sh-vi:nth-child(even)::before{right:auto;left:-10px}.sh-vi p{margin-left:auto}.sh-vi:nth-child(even) p{margin-left:0}}

/* Galerie, laeuft von selbst: Container mit Klasse sh-lauf */
.sh-lauf{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.sh-lauf .sh-spur{display:flex;gap:16px;width:max-content;animation:sh-galerie 90s linear infinite;padding:30px 0 10px}
.sh-lauf:hover .sh-spur{animation-play-state:paused}
.sh-lauf img{height:250px;width:auto;flex:none;border:6px solid #f6efe2;box-shadow:0 12px 20px -12px rgba(0,0,0,.6);max-width:none}
.sh-lauf img:nth-child(odd){transform:rotate(-1deg)}.sh-lauf img:nth-child(even){transform:rotate(1.2deg) translateY(8px)}
@keyframes sh-galerie{to{transform:translateX(calc(-50% - 8px))}}

/* Countdown, Status, Oeffnungszeiten */
.sh-cd{display:flex;gap:14px;flex-wrap:wrap}.sh-cd div{border:1px solid var(--sh-gold);padding:12px 16px;min-width:82px;text-align:center}
.sh-cd b{display:block;font:500 2.3rem/1 var(--sh-h);color:#f6ecd9;font-variant-numeric:tabular-nums}.sh-cd span{font:500 .66rem var(--sh-u);letter-spacing:.16em;text-transform:uppercase;color:var(--sh-gold)}
.sh-status{display:inline-block;font:500 .78rem var(--sh-u);letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--sh-kupfer);color:var(--sh-kupfer)}
.sh-zt tr.heute td{color:var(--sh-kupfer);font-weight:500}

/* Formulare (Fluent Forms) */
.fluentform .ff-el-form-control{background:transparent;border:0;border-bottom:1.5px solid var(--sh-braun);border-radius:0;font-family:var(--sh-t)}
.fluentform .ff-el-form-control:focus{border-bottom:2.5px solid var(--sh-kupfer);box-shadow:none}
.fluentform label{font:500 .74rem var(--sh-u);letter-spacing:.14em;text-transform:uppercase;color:var(--sh-mute)}
.fluentform .ff-btn-submit{background:var(--sh-braun);border-radius:0;font-family:var(--sh-t);padding:13px 24px}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sh-schild,.sh-lauf .sh-spur{animation:none}#sh-intro{display:none}.sh-js .sh-vi{opacity:1;transform:none;transition:none}}
