@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f5f0df;--paper2:#ebe4cc;--ink:#25352d;--muted:#64736b;--green:#315c43;--green2:#6f8d63;--sage:#a8b58b;--blue:#9dc9dd;--sand:#d8c49e;--white:#fff;--danger:#9b3b32;--shadow:0 18px 45px rgba(37,53,45,.14);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Open Sans",Arial,sans-serif;line-height:1.55}body.modal-open{overflow:hidden}h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13{font-family:"Quaya","Quire",Georgia,serif;line-height:1.12;letter-spacing:.01em;margin:0 0 .65em}h1{font-size:clamp(2.25rem,5vw,4.9rem)}h2{font-size:clamp(1.8rem,3vw,3.1rem)}h3{font-size:1.35rem}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1450px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(245,240,223,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(49,92,67,.18)}.nav{min-height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:700}.brand-logo{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(31,49,37,.18))}.brand small{display:block;font-weight:400;color:var(--muted);font-size:.72rem}.nav-links{margin-left:auto;display:flex;gap:20px;align-items:center}.nav-links a{text-decoration:none;font-weight:600}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:1.7rem}.hero{padding:74px 0;background:linear-gradient(125deg,rgba(255,255,255,.55),rgba(168,181,139,.22))}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:700;color:var(--green)}.lead{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:780px;color:#43544b}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--green);background:var(--green);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.button.secondary{background:transparent;color:var(--green)}.hero-card{background:#fff;padding:12px;border-radius:24px;box-shadow:var(--shadow)}figure.hero-card{margin:0}figure.hero-card img{border-radius:16px}figure.hero-card figcaption{font-size:.82rem;color:var(--muted);padding:10px 6px 2px}.section{padding:76px 0}.section.alt{background:var(--paper2)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.section-head>p{max-width:650px;color:var(--muted)}.map-shell{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:16px}.map-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 270px auto;gap:10px;margin-bottom:12px}.field,input,select,textarea{width:100%;border:1px solid #c9cfbf;background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:var(--ink)}textarea{min-height:130px;resize:vertical}.map-viewport{position:relative;width:100%;aspect-ratio:2048/829;min-height:0;overflow:hidden;border-radius:16px;background:#dfe5d2;cursor:grab;touch-action:none;user-select:none}.map-viewport.dragging{cursor:grabbing}.map-stage{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0;will-change:transform}.map-stage>img{width:100%;height:100%;object-fit:contain;pointer-events:none}.pins{position:absolute;inset:0;z-index:4}.pin{position:absolute;z-index:10;width:34px;height:34px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--pin);box-shadow:0 5px 12px rgba(0,0,0,.35);transform:translate(-50%,-100%) rotate(-45deg);cursor:pointer;display:grid;place-items:center;padding:0}.pin span{transform:rotate(45deg);color:#fff;font-weight:800;line-height:1}.pin:hover,.pin:focus-visible{z-index:20;scale:1.15;outline:3px solid rgba(255,255,255,.8)}.map-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px}.legend-item{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;padding:4px 0;font:inherit;color:inherit;cursor:pointer}.dot{width:11px;height:11px;border-radius:50%;background:var(--c);display:inline-block;flex:0 0 auto}.map-help{font-size:.8rem;color:var(--muted);margin-top:8px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category{border:1px solid rgba(49,92,67,.18);background:#fff;border-radius:15px;padding:21px;text-align:left;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;transition:.2s}.category:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(37,53,45,.1)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card,.form-card,.directory-entry{background:#fff;border-radius:18px;padding:25px;box-shadow:0 10px 28px rgba(37,53,45,.08)}.card a,.text-button{color:var(--green);font-weight:700}.text-button{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.directory-group{margin-top:32px}.directory-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(49,92,67,.18);padding-bottom:10px;margin-bottom:16px}.directory-heading h3{margin:0}.directory-heading>span:last-child{margin-left:auto;color:var(--muted);font-size:.85rem}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.badge{display:inline-block;background:color-mix(in srgb,var(--badge,#315c43) 14%,white);color:var(--badge,#315c43);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:700;margin-bottom:10px}.modal{position:fixed;inset:0;z-index:1000;background:rgba(21,31,26,.68);display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{width:min(920px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:22px;box-shadow:var(--shadow)}.modal-top{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#fff;border-bottom:1px solid #e5e5df}.modal-close{border:0;background:transparent;font-size:2rem;cursor:pointer}.entry-content{padding:24px}.entry-header{display:grid;grid-template-columns:130px 1fr;gap:20px}.entry-logo{width:130px;height:105px;object-fit:contain;background:#fff;border-radius:13px;padding:10px}.entry-logo.placeholder{display:grid;place-items:center;font-size:2rem;color:var(--green)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.gallery img{width:100%;height:210px;object-fit:cover;border-radius:12px}.details{display:grid;grid-template-columns:160px 1fr;gap:10px 20px;padding-top:18px;border-top:1px solid rgba(49,92,67,.18)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{display:block;font-weight:700;margin-bottom:6px}.span-2{grid-column:1/-1}.price-box{display:flex;justify-content:space-between;align-items:center;background:#e5ead9;padding:18px;border-radius:14px}.price{font-size:1.8rem;font-weight:800}.notice{padding:16px;border-radius:12px;background:#e7eee4}.notice.warn{background:#f3e6ce}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}.prose{font-size:1.06rem}.prose p,.prose li{max-width:85ch}.historical-prose{font-size:1.19rem;line-height:1.75}.historical-visual{position:sticky;top:110px}.historical-visual img{width:100%;border-radius:24px;box-shadow:var(--shadow)}.quote{border-left:5px solid var(--green);background:#fff;padding:22px 26px;margin:28px 0;border-radius:0 16px 16px 0}.grabberater{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}.grabberater-result{background:#fff;padding:24px;border-radius:18px}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 82px)}.admin-side{background:var(--ink);color:#fff;padding:26px}.admin-side a{display:block;padding:10px;border-radius:10px;text-decoration:none}.admin-side a:hover{background:rgba(255,255,255,.1)}.admin-main{padding:28px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;padding:20px;border-radius:16px}.table-wrap{overflow:auto;background:#fff;border-radius:16px;margin-top:20px}.table{width:100%;border-collapse:collapse;min-width:980px}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #eee}.table th{background:#f3f0e5}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{border:0;border-radius:8px;padding:8px 10px;cursor:pointer}.login{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:30px}.login-card{width:min(450px,100%);background:#fff;padding:34px;border-radius:24px;box-shadow:var(--shadow)}footer{background:var(--ink);color:#e8ecdf;padding:44px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid a{display:block;color:#dbe2d8;text-decoration:none;margin:6px 0}.fineprint{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:20px;font-size:.84rem;color:#bbc5bd}.company-wordmark{font-family:Myriad,"Myriad Pro",Arial,sans-serif;letter-spacing:.01em}.company-wordmark strong{font-weight:700}
@media(max-width:950px){.hero-grid,.content-grid,.grabberater{grid-template-columns:1fr}.historical-visual{position:static}.cards,.directory-grid{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:1fr 1fr}.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:18px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-toggle{display:block}.map-toolbar{grid-template-columns:1fr 1fr}.map-toolbar input{grid-column:1/-1}.admin-layout{grid-template-columns:1fr}.admin-side{display:flex;overflow:auto;gap:6px}.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wrap{width:min(100% - 20px,1450px)}.hero{padding-top:45px}.cards,.directory-grid,.category-grid,.form-grid,.footer-grid,.details{grid-template-columns:1fr}.span-2{grid-column:auto}.map-viewport{min-height:0}.map-toolbar{grid-template-columns:1fr}.map-toolbar input{grid-column:auto}.entry-header{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery img{height:210px}.section{padding:52px 0}.stat-grid{grid-template-columns:1fr}.brand span:last-child{font-size:.9rem}.brand-logo{width:56px;height:56px}}

/* Ergänzungen v5 */
.admin-icon-link{display:inline-grid!important;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(49,92,67,.1);color:var(--green)}.admin-icon-link svg{width:22px;height:22px;fill:currentColor}.admin-icon-link:hover,.admin-icon-link:focus-visible{background:var(--green);color:#fff}.admin-login-title{font-size:clamp(2rem,9vw,3.4rem);overflow-wrap:anywhere;word-break:normal;max-width:100%}.field-help{margin:.15rem 0 .75rem;color:var(--muted);font-size:.92rem}.application-map{position:relative;width:100%;aspect-ratio:2048/829;overflow:hidden;border:2px solid #c4cdbb;border-radius:16px;background:#dfe5d2;cursor:crosshair}.application-map img{width:100%;height:100%;object-fit:contain;pointer-events:none}.application-pin{z-index:5;pointer-events:none}.map-position-status{margin-top:8px;font-size:.9rem;color:var(--muted)}.payment-area{background:#f7f4e9;border:1px solid rgba(49,92,67,.2);border-radius:16px;padding:20px}.payment-options{display:flex;gap:22px;flex-wrap:wrap;margin:8px 0 15px}.payment-options label{font-weight:700}.payment-options input{width:auto}.historical-prose h2{margin-top:1.25em}.historical-prose .quote h2{margin-top:0}@media(max-width:620px){.login-card{padding:25px 20px}.admin-login-title{font-size:2.35rem}.application-map{min-height:0}.admin-icon-link{width:100%;height:44px;border-radius:10px}}

/* Ergänzungen v6 */
.directory-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,280px);gap:12px;margin:26px 0 8px}.directory-entry-top{display:flex;gap:16px;align-items:flex-start}.directory-card-logo{width:88px;height:68px;object-fit:contain;background:#f7f5ed;border:1px solid rgba(49,92,67,.15);border-radius:12px;padding:7px;flex:0 0 auto}.directory-card-main{min-width:0;flex:1}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(37,53,45,.08)}.service-tag{display:inline-block;margin-bottom:10px;padding:4px 9px;border-radius:999px;background:#e7eee4;color:var(--green);font-size:.75rem;font-weight:700}.service-tag.paid{background:#f3e6ce;color:#74521d}.login-card{overflow:hidden}.login-card h1,.admin-login-title{width:100%;max-width:100%;font-size:clamp(1.75rem,7vw,3rem);line-height:1.05;overflow-wrap:anywhere;word-break:break-word;hyphens:auto}.file-requirements{display:block;margin-top:7px;color:var(--muted);font-size:.86rem;line-height:1.45}.map-shell .map-viewport{width:100%;height:auto}.map-stage{background:#dfe5d2}.category-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media(max-width:950px){.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.directory-tools,.service-grid{grid-template-columns:1fr}.directory-entry-top{display:block}.directory-card-logo{margin-bottom:12px}.login-card h1,.admin-login-title{font-size:clamp(1.65rem,10vw,2.25rem)}}

/* Erweiterungen v7: Headerbewegung, Parallax, Werbung, Gedenkseiten und Traueranzeigen */
.site-header{overflow:hidden;isolation:isolate}.site-header::before{content:"";position:absolute;inset:-80% -20%;background:radial-gradient(circle at 20% 35%,rgba(211,187,135,.20),transparent 28%),radial-gradient(circle at 78% 30%,rgba(103,145,117,.22),transparent 32%);animation:headerDrift 14s ease-in-out infinite alternate;pointer-events:none;z-index:-1}.brand-logo{animation:logoBreathe 6s ease-in-out infinite}.nav-links a{position:relative}.nav-links a:not(.admin-icon-link)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:currentColor;transition:right .25s ease}.nav-links a:hover::after,.nav-links a:focus-visible::after{right:0}@keyframes headerDrift{to{transform:translate3d(4%,2%,0) rotate(2deg)}}@keyframes logoBreathe{50%{transform:translateY(-2px) scale(1.02)}}
.hero{position:relative;overflow:hidden}.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.hero::before{width:420px;height:420px;right:-120px;top:-160px;background:radial-gradient(circle,rgba(195,166,113,.18),transparent 68%);transform:translateY(var(--parallax-y,0))}.hero::after{width:360px;height:360px;left:-150px;bottom:-220px;background:radial-gradient(circle,rgba(49,92,67,.16),transparent 68%);transform:translateY(calc(var(--parallax-y,0) * -0.65))}.parallax-panel{background-attachment:fixed;background-position:center;background-size:cover;position:relative;overflow:hidden}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
.advertising-block{border:1px solid rgba(49,92,67,.18);border-radius:22px;padding:1rem;background:#fff;box-shadow:0 15px 38px rgba(38,54,44,.10)}.ad-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#5c665f;margin:0 0 .55rem}.sample-banner{min-height:190px;border-radius:16px;padding:1.4rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;background:linear-gradient(120deg,#244a37,#3e7456 58%,#c6a86b);color:#fff;position:relative;overflow:hidden}.sample-banner::after{content:"";position:absolute;width:230px;height:230px;border:28px solid rgba(255,255,255,.10);border-radius:50%;right:-65px;top:-85px}.sample-banner h3{font-size:clamp(1.45rem,3vw,2.4rem);margin:.2rem 0}.sample-banner p{max-width:62ch;margin:.4rem 0 0}.sample-banner .banner-mark{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);font-size:2.7rem;z-index:1}.sponsor-note{font-size:.86rem;color:#5b655f;margin:.65rem 0 0}
.memorial-layout{display:grid;grid-template-columns:minmax(250px,.7fr) 1.3fr;gap:2rem;align-items:center}.memorial-card{background:linear-gradient(145deg,#f9f6ef,#eee8dc);border:1px solid rgba(91,76,55,.18);border-radius:24px;padding:2rem;text-align:center;box-shadow:0 18px 44px rgba(59,51,42,.11)}.candle{width:92px;height:190px;margin:0 auto 1.2rem;position:relative}.candle-body{position:absolute;left:19px;right:19px;bottom:0;height:132px;border-radius:10px 10px 16px 16px;background:linear-gradient(90deg,#e8dfc9,#fffaf0 45%,#ddd1b7);box-shadow:inset -9px 0 14px rgba(96,77,46,.12),0 8px 20px rgba(58,46,31,.16)}.wick{position:absolute;width:4px;height:22px;left:44px;top:47px;background:#3e332a;border-radius:3px}.flame{position:absolute;left:30px;top:0;width:34px;height:58px;border-radius:52% 48% 54% 46%/62% 62% 38% 38%;background:radial-gradient(circle at 50% 72%,#fff6a5 0 18%,#f3a52b 42%,#cf5c20 72%,rgba(207,92,32,0) 74%);filter:drop-shadow(0 0 12px rgba(243,165,43,.85));transform-origin:50% 100%;animation:flicker .13s infinite alternate ease-in-out}.flame-glow{position:absolute;left:8px;top:-22px;width:78px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,190,76,.30),rgba(255,190,76,0) 68%);animation:glowPulse 1.1s infinite alternate}@keyframes flicker{0%{transform:rotate(-2deg) scaleX(.92) scaleY(1.02)}100%{transform:rotate(2.5deg) scaleX(1.05) scaleY(.96)}}@keyframes glowPulse{to{transform:scale(1.08);opacity:.72}}.memorial-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.guide-card{background:#fff;border:1px solid rgba(49,92,67,.15);border-radius:18px;padding:1.25rem}.guide-card h3{margin-top:0}.guide-card p{margin-bottom:0;line-height:1.7}.guide-intro{max-width:78ch;font-size:1.08rem;line-height:1.8}.guide-disclaimer{padding:1rem 1.1rem;border-left:4px solid #92794d;background:#f7f2e8;border-radius:0 12px 12px 0;margin-top:1.4rem}
.obituary-shell{position:relative}.obituary-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,34%);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.35rem .1rem 1rem;scrollbar-width:thin}.obituary-card{scroll-snap-align:start;background:#fff;border:1px solid rgba(49,92,67,.16);border-radius:18px;padding:.75rem;box-shadow:0 12px 28px rgba(38,54,44,.08)}.obituary-card img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#f3f0e9;border-radius:12px}.obituary-card h3{font-size:1.1rem;margin:.8rem .25rem .2rem}.obituary-card p{margin:.2rem .25rem .65rem}.carousel-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.7rem}.submission-box{margin-top:1.15rem;padding:1.1rem 1.2rem;border-radius:16px;background:#edf3ef}.submission-box a{font-weight:700}
@media (max-width:850px){.memorial-layout{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr}.sample-banner{grid-template-columns:1fr}.sample-banner .banner-mark{display:none}.obituary-carousel{grid-auto-columns:82%}.parallax-panel{background-attachment:scroll}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero::before,.hero::after{transform:none!important}}

/* Traueranzeigen: automatische PDF-Vorschau aus dem Serververzeichnis */
.obituary-pdf-preview{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:12px;background:#f3f0e9;border:1px solid rgba(49,92,67,.12)}
.obituary-pdf-preview iframe{display:block;width:100%;height:100%;border:0;background:#fff;pointer-events:none}
.obituary-open{position:absolute;left:.6rem;right:.6rem;bottom:.6rem;padding:.68rem .8rem;border-radius:10px;background:rgba(36,74,55,.94);color:#fff!important;text-align:center;font-weight:700;text-decoration:none;box-shadow:0 5px 16px rgba(0,0,0,.18)}
.obituary-open:hover,.obituary-open:focus-visible{background:#183f2b}
.notice.error{border-left:4px solid #9b3a32;background:#f9ecea}
/* Erweiterungen v10 */
.portal-phone{white-space:nowrap;font-weight:700;color:var(--green)!important}
.advertising-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ad-unit{background:#fff;border-radius:18px;padding:14px;box-shadow:var(--shadow)}.ad-label{font-size:.75rem;font-weight:800;letter-spacing:.08em;margin:0 0 8px;color:#303030}.company-ad{display:block;border-radius:12px;overflow:hidden}.company-ad img{width:100%;height:auto}.vacant-ad{min-height:210px;background:#fff;border:2px dashed #6f766d;border-radius:12px;color:#28342e;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;text-decoration:none}.vacant-ad strong{font-family:"Quaya","Quire",Georgia,serif;font-size:clamp(1.6rem,3vw,2.8rem)}.vacant-ad span{margin-top:10px;color:var(--green);font-weight:700}
.memorial-preview{overflow:visible;padding-top:58px}.candle{position:relative;width:112px;height:245px;margin:0 auto 24px;overflow:visible}.flame-glow{position:absolute;left:50%;top:-44px;width:76px;height:96px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,211,92,.58),rgba(255,178,28,.14) 55%,transparent 72%);animation:flameGlow 1.7s ease-in-out infinite}.flame{position:absolute;z-index:3;left:50%;top:-31px;width:34px;height:58px;transform:translateX(-50%) rotate(3deg);transform-origin:50% 100%;border-radius:50% 50% 42% 42%;background:linear-gradient(#fff8bf 0 24%,#ffd24a 45%,#e87919 100%);filter:drop-shadow(0 0 10px rgba(255,164,22,.9));animation:flicker .82s ease-in-out infinite alternate}.wick{position:absolute;z-index:2;left:50%;top:19px;width:4px;height:20px;background:#342a24;transform:translateX(-50%)}.candle-body{position:absolute;left:0;right:0;top:35px;bottom:0;border-radius:18px 18px 10px 10px;background:linear-gradient(90deg,#eee4c8,#fffdf4 45%,#dfd2ad);box-shadow:inset -12px 0 20px rgba(119,99,51,.12),0 12px 24px rgba(0,0,0,.15)}@keyframes flicker{0%{transform:translateX(-50%) rotate(-5deg) scale(.96,1.05)}100%{transform:translateX(-50%) rotate(7deg) scale(1.05,.94)}}@keyframes flameGlow{50%{transform:translateX(-50%) scale(1.13);opacity:.74}}
.memorial-form{align-self:stretch}.consent-line label{font-weight:400;display:flex;gap:10px;align-items:flex-start}.consent-line input{width:auto;margin-top:.35rem}.approved-memorials{margin-top:36px}.memorial-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.memorial-list-card{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;background:#fff;border-radius:16px;padding:16px;text-decoration:none;box-shadow:0 10px 28px rgba(37,53,45,.08)}.memorial-list-card img{width:92px;height:110px;object-fit:cover;border-radius:12px}.memorial-list-symbol{width:92px;height:110px;display:grid;place-items:center;background:#f2eee0;border-radius:12px;font-size:3rem}.memorial-list-card h4{margin:0 0 5px;font-size:1.2rem}.memorial-list-card p{margin:0;color:var(--muted)}
.memorial-detail{max-width:840px;text-align:center}.memorial-detail .candle{margin-top:55px}.memorial-portrait{width:min(320px,85vw);aspect-ratio:4/5;object-fit:cover;border-radius:22px;margin:0 auto 28px;box-shadow:var(--shadow)}.memorial-dates{font-size:1.2rem;color:var(--muted)}.memorial-detail .prose{text-align:left;background:#fff;padding:28px;border-radius:18px}.memorial-tree{position:relative;width:170px;height:220px;margin:0 auto 24px}.tree-crown{position:absolute;left:10px;top:0;width:150px;height:150px;border-radius:48% 52% 43% 57%;background:radial-gradient(circle at 35% 30%,#8baa6d,#315c43 70%);box-shadow:0 16px 30px rgba(49,92,67,.25)}.tree-trunk{position:absolute;left:73px;top:120px;width:28px;height:96px;background:linear-gradient(90deg,#7a5639,#ad7e55,#6f4a31);border-radius:8px}
.obituary-card{flex:0 0 min(520px,88vw);display:flex;flex-direction:column}.obituary-pdf-preview{height:min(72vh,720px);background:#e8e6df}.obituary-pdf-preview iframe{width:100%;height:100%;border:0;background:#fff}.obituary-open{margin-top:auto}
.admin-login-title{font-size:clamp(2rem,8vw,3.4rem);overflow-wrap:anywhere;word-break:normal;max-width:100%}.memorial-admin-table td{vertical-align:top}.memorial-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.advertising-grid,.memorial-list{grid-template-columns:1fr}.portal-phone{font-size:.9rem}.memorial-layout{grid-template-columns:1fr}}

.advertising-stat-grid{margin-top:20px}.advertising-table{min-width:760px}.advertising-table small{color:var(--muted);font-weight:400}

/* Erweiterungen v12 */
.memorial-layout{align-items:stretch}.memorial-preview,.memorial-form{height:100%;box-sizing:border-box}.memorial-preview{display:flex;flex-direction:column;justify-content:center}.memorial-visual{min-height:245px;display:grid;place-items:center}.memorial-overview-link{text-align:center;margin-top:2rem}.obituary-card{padding:0;overflow:hidden;text-decoration:none;cursor:pointer}.obituary-card:hover{transform:translateY(-3px)}.obituary-card .obituary-pdf-preview{border:0;border-radius:18px}.obituary-card h3,.obituary-card p,.obituary-open{display:none!important}.memorial-toolbar{margin:2rem 0}.memorial-overview-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.memorial-overview-card{display:grid;grid-template-columns:88px 1fr;gap:1rem;align-items:center;text-align:left;border:1px solid rgba(49,92,67,.16);background:#fff;border-radius:16px;padding:1rem;cursor:pointer}.memorial-overview-card img,.memorial-overview-card .memorial-list-symbol{width:88px;height:105px;object-fit:cover;border-radius:12px}.memorial-overview-card strong,.memorial-overview-card small{display:block}.memorial-popup{text-align:center}.memorial-popup>img,.memorial-popup>.memorial-list-symbol{width:min(260px,70vw);height:300px;object-fit:cover;border-radius:18px;margin:auto;display:grid;place-items:center;font-size:5rem;background:#f2eee0}@media(max-width:900px){.memorial-overview-list{grid-template-columns:1fr}}

/* Navigation, Verlinkungen und Zahlungsbereich – v15 */
a,a:link,a:visited,a:hover,a:focus,a:active{text-decoration:none!important}
.nav-links{display:flex;align-items:center;gap:.35rem}
.nav-group{position:relative}
.nav-group-toggle{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:.7rem .75rem;cursor:pointer;border-radius:9px}
.nav-group-toggle:hover,.nav-group-toggle:focus-visible{background:rgba(49,92,67,.09)}
.nav-submenu{position:absolute;top:calc(100% + .35rem);left:0;z-index:200;min-width:220px;padding:.5rem;background:#fff;border:1px solid rgba(49,92,67,.14);border-radius:12px;box-shadow:0 16px 35px rgba(25,42,33,.16);display:none}
.nav-submenu a{display:block;padding:.7rem .8rem;border-radius:8px;white-space:nowrap;color:var(--ink)}
.nav-submenu a:hover,.nav-submenu a:focus-visible{background:var(--paper2)}
.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu,.nav-group.open .nav-submenu{display:block}
.portal-phone{margin-left:auto;white-space:nowrap}
.paypal-payment-link{display:inline-flex;margin:.35rem 0 .35rem 1rem;vertical-align:middle}
@media(max-width:1050px){
 .nav-links{align-items:stretch}.nav-group{width:100%}.nav-group-toggle{width:100%;text-align:left}
 .nav-submenu{position:static;display:none;box-shadow:none;border:0;padding:.25rem 0 .5rem 1rem;background:transparent}
 .nav-group.open .nav-submenu{display:block}.nav-group:hover .nav-submenu{display:none}.nav-group.open:hover .nav-submenu{display:block}
 .portal-phone{margin-left:0}.paypal-payment-link{margin:.75rem 0 0;display:flex;justify-content:center}
}

.application-map-tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.application-map{position:relative;width:100%;aspect-ratio:2048/829;overflow:hidden;border-radius:16px;background:#dfe5d2;cursor:crosshair;touch-action:none}.application-map.dragging{cursor:grabbing}.application-map-stage{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0;will-change:transform}.application-map-stage>img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.application-map-stage .application-pin{z-index:12}.consent-list{display:grid;gap:12px}.consent-list label{display:flex;align-items:flex-start;gap:10px;line-height:1.45}.consent-list input{margin-top:4px;flex:0 0 auto}.feature-split{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}.feature-split.reverse>div:first-child{order:2}.feature-panel{background:#fff;border-radius:22px;padding:34px;box-shadow:var(--shadow)}.historical-panel{padding:12px}.historical-panel img{width:100%;border-radius:16px;display:block}@media(max-width:820px){.feature-split{grid-template-columns:1fr}.feature-split.reverse>div:first-child{order:0}}

/* Dynamische Parallax- und Canvas-Effekte */
.site-header{--canvas-opacity:.58}
.header-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:var(--canvas-opacity);mix-blend-mode:multiply}
.site-header>.wrap{position:relative;z-index:2}
.parallax-layer{will-change:transform;transform:translate3d(0,var(--parallax-offset,0),0);transition:transform .08s linear}
.parallax-section{position:relative;overflow:hidden;isolation:isolate}
.parallax-section::before{content:"";position:absolute;inset:-18%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 16% 22%,rgba(188,165,112,.12),transparent 28%),radial-gradient(circle at 82% 74%,rgba(49,92,67,.12),transparent 31%);transform:translate3d(0,var(--section-parallax,0),0) scale(1.08);will-change:transform}
.parallax-float{will-change:transform;transform:translate3d(0,var(--float-parallax,0),0) rotate(var(--float-rotate,0deg));transition:transform .08s linear}
.parallax-depth{box-shadow:0 calc(14px + var(--depth-shadow,0px)) calc(34px + var(--depth-shadow,0px)) rgba(37,53,45,.11)}
@media (prefers-reduced-motion:reduce){.header-canvas{display:none}.parallax-layer,.parallax-float{transform:none!important;transition:none!important}.parallax-section::before{transform:none!important}}

/* Traueranzeigen-Slider: stets drei Anzeigen, automatische Rotation */
.obituary-carousel{display:block;overflow:hidden;padding:.35rem .1rem 1rem;scroll-snap-type:none;scrollbar-width:none}
.obituary-carousel::-webkit-scrollbar{display:none}
.obituary-slider-track{display:flex;gap:1rem;will-change:transform;transform:translateX(0);transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.obituary-slider-track .obituary-card{flex:0 0 calc((100% - 2rem)/3);min-width:0}
.obituary-slider-track .obituary-pdf-preview{height:clamp(330px,42vw,680px)}
@media(max-width:850px){.obituary-carousel{overflow:hidden}.obituary-slider-track .obituary-card{flex-basis:calc((100% - 2rem)/3)}.obituary-slider-track .obituary-pdf-preview{height:44vw;min-height:180px}}
@media(prefers-reduced-motion:reduce){.obituary-slider-track{transition:none}}

/* Korrekturen v21: Telefonlink ohne Unterstreichung und sichtbare Pulldown-Menüs */
.site-header{
  overflow:visible!important;
  z-index:10000!important;
}
.site-header .wrap,
.site-header .nav,
.site-header .nav-links,
.site-header .nav-group{
  overflow:visible!important;
}
.site-header .nav{
  position:relative;
  z-index:10001;
}
.site-header .nav-links{
  position:relative;
  z-index:10002;
}
.site-header .nav-group{
  z-index:10003;
}
.site-header .nav-submenu{
  z-index:10020!important;
  top:100%;
  margin-top:.35rem;
}
.portal-phone,
.portal-phone:link,
.portal-phone:visited,
.portal-phone:hover,
.portal-phone:focus,
.portal-phone:active,
footer a[href^="tel:"],
footer a[href^="tel:"]:link,
footer a[href^="tel:"]:visited,
footer a[href^="tel:"]:hover,
footer a[href^="tel:"]:focus,
footer a[href^="tel:"]:active{
  text-decoration:none!important;
  text-decoration-line:none!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
@media(max-width:1050px){
  .site-header .nav-links{
    z-index:10020;
  }
  .site-header .nav-submenu{
    margin-top:0;
  }
}

/* Korrektur v22: größerer Abstand zwischen Rufnummer und Login-Symbol */
.site-header .portal-phone + .admin-icon-link{
  margin-left:18px!important;
}
@media(max-width:1050px){
  .site-header .portal-phone + .admin-icon-link{
    margin-left:12px!important;
  }
}
/* Traueranzeigen: exakt drei Medien, Originalproportionen, kein dunkler Leerraum */
.obituary-carousel{width:100%;overflow:hidden}
.obituary-slider-track{display:flex;align-items:flex-start;gap:1rem;width:100%}
.obituary-slider-track .obituary-card{appearance:none;border:0;background:transparent;padding:0;margin:0;flex:0 0 calc((100% - 2rem)/3);min-width:0;box-shadow:none;border-radius:0;cursor:pointer;text-align:inherit}
.obituary-slider-track .obituary-card img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:transparent;border-radius:0}
.obituary-modal{width:min(1100px,94vw);height:min(92vh,1050px);padding:0;border:0;border-radius:18px;background:#f7f3e4;box-shadow:0 25px 80px rgba(0,0,0,.35)}
.obituary-modal::backdrop{background:rgba(16,27,20,.78)}
.obituary-modal-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:#fff;border-bottom:1px solid rgba(49,92,67,.18)}
.obituary-modal-head strong{font-family:Quaya,Georgia,serif}
.obituary-modal .modal-close{border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer;color:#244332}
.obituary-modal-content{height:calc(100% - 58px)}
.obituary-modal-content object{width:100%;height:100%;border:0;background:#fff}
@media(max-width:760px){.obituary-slider-track .obituary-card{flex-basis:calc((100% - 2rem)/3)}.obituary-slider-track{gap:1rem}.obituary-modal{width:98vw;height:94vh}}

/* Rubriksymbole als lokal eingebettete Font-Awesome-SVG-Pfade */
.directory-card-logo-placeholder{display:grid;place-items:center;color:var(--badge,#315c43);background:color-mix(in srgb,var(--badge,#315c43) 10%,#fff)}.fa-category-icon{width:36px;height:36px;display:block;fill:currentColor}.entry-logo.placeholder{color:var(--badge,#315c43);background:color-mix(in srgb,var(--badge,#315c43) 10%,#fff)}.entry-logo.placeholder .fa-category-icon{width:50px;height:50px}.directory-entry-top .directory-card-logo-placeholder{--badge:#315c43}
