/*
Theme Name: Elbfrieden Bestattungen
Theme URI: https://example.invalid/
Author: OpenAI
Description: Schlankes, Elementor-kompatibles WordPress-Theme für Elbfrieden Bestattungen in Hamburg.
Version: 1.9
Text Domain: elbfrieden
*/
:root{--navy:#0d2c43;--navy2:#173d56;--gold:#b68b52;--cream:#f7f3ec;--ink:#172531;--muted:#60707b;--white:#fff;--line:#e8e1d7;--shadow:0 18px 45px rgba(13,44,67,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;background:#fff}a{color:var(--navy);text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,92%);margin:auto}.topbar{background:var(--navy);color:#fff;font-size:14px}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.site-header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:99;border-bottom:1px solid #eee}.navrow{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 0}.brand img{width:230px;max-height:95px;object-fit:contain}.menu{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}.menu a{font-weight:600;font-size:15px}.callbtn,.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:7px;background:var(--gold);color:#fff;font-weight:700;border:1px solid var(--gold)}.btn.outline{background:#fff;color:var(--navy);border-color:var(--gold)}.hero{min-height:620px;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.84) 35%,rgba(255,255,255,.08) 70%),url('assets/hero.png') center/cover no-repeat;display:flex;align-items:center}.hero-inner{padding:70px 0;max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--gold);font-size:13px;font-weight:700}.hero h1,.page-hero h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);line-height:1.08}.hero h1{font-size:clamp(46px,6vw,78px);margin:12px 0 18px}.hero p{font-size:20px;max-width:620px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.trust{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;font-weight:700}.section{padding:80px 0}.section.alt{background:var(--cream)}.section h2{font-size:clamp(34px,4vw,52px);margin:8px 0 20px}.lead{font-size:19px;color:#425461;max-width:850px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:var(--shadow)}.card h3{font-size:27px;margin:5px 0 12px}.price{font-size:22px;color:#8b6537;font-weight:700;margin-top:18px}.note{font-size:13px;color:var(--muted)}.steps{counter-reset:step}.step{display:grid;grid-template-columns:58px 1fr;gap:18px;margin:24px 0}.step:before{counter-increment:step;content:counter(step);width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.featureimg{border-radius:12px;box-shadow:var(--shadow)}.page-hero{padding:90px 0 70px;background:linear-gradient(120deg,var(--cream),#fff)}.page-hero h1{font-size:58px;margin:10px 0}.content{padding:65px 0}.content h2{font-size:38px;margin-top:45px}.content h3{font-size:27px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:700;color:var(--navy);cursor:pointer;font-size:18px}.contactbox{background:var(--navy);color:#fff;border-radius:12px;padding:35px}.contactbox h2,.contactbox h3{color:#fff}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formgrid .full{grid-column:1/-1}input,textarea,select{width:100%;padding:14px;border:1px solid #d9d9d9;border-radius:6px;font:inherit}textarea{min-height:150px}.site-footer{background:#0a2233;color:#dce5ea;padding:55px 0 20px}.site-footer a{color:#fff}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footerlogo{background:#fff;border-radius:8px;padding:10px;width:220px}.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:18px;font-size:13px}.badge{display:inline-block;background:#edf3f6;color:var(--navy);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}.elementor-page .content{padding:0}.elementor-page .page-hero{display:none}@media(max-width:900px){.menu{display:none}.brand img{width:180px}.grid,.split,.footergrid{grid-template-columns:1fr}.hero{min-height:570px;background-position:65% center}.hero-inner{max-width:90%}.formgrid{grid-template-columns:1fr}.topbar .wrap{flex-direction:column;gap:0}.page-hero h1{font-size:44px}}@media(max-width:600px){.callbtn{display:none}.hero{background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.85)),url('assets/hero.png') center/cover}.hero h1{font-size:48px}.section{padding:58px 0}.grid{grid-template-columns:1fr}.navrow{padding:8px 0}}

/* Mobile UX – v1.1 */
.mobile-menu-toggle{display:none;background:transparent;border:0;color:var(--navy);width:46px;height:46px;padding:8px;cursor:pointer;align-items:center;justify-content:center}.mobile-menu-toggle span,.mobile-menu-toggle:before,.mobile-menu-toggle:after{content:"";display:block;width:26px;height:2px;background:currentColor;margin:5px 0;transition:.2s}.mobile-callbar{display:none}.site-nav{margin-left:auto}
@media(max-width:900px){
 body{padding-bottom:70px}.wrap{width:min(100% - 32px,1180px)}.topbar{font-size:12px}.topbar .wrap{padding:6px 0;display:block}.topbar .wrap span:last-child{display:none}.site-header{top:0}.navrow{gap:10px;position:relative}.brand img{width:155px;max-height:68px}.mobile-menu-toggle{display:block;margin-left:auto}.site-nav{position:absolute;left:-16px;right:-16px;top:100%;background:#fff;border-top:1px solid #eee;box-shadow:0 18px 30px rgba(13,44,67,.14);display:none;max-height:calc(100vh - 140px);overflow:auto}.site-nav.is-open{display:block}.site-nav .menu{display:block;padding:8px 16px 18px}.site-nav .menu li{border-bottom:1px solid var(--line)}.site-nav .menu li:last-child{border-bottom:0}.site-nav .menu a{display:block;padding:14px 6px;font-size:16px}.callbtn{display:none}.hero{min-height:auto;background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,.38) 100%),url('assets/hero.png') 62% center/cover no-repeat}.hero-inner{padding:56px 0 130px;max-width:100%}.hero h1{font-size:clamp(42px,11vw,58px);max-width:620px}.hero p{font-size:18px;line-height:1.55}.actions .btn{min-height:50px}.trust{gap:10px 16px;font-size:13px}.section{padding:58px 0}.section h2{font-size:clamp(32px,9vw,44px)}.lead{font-size:17px}.grid,.split,.footergrid{grid-template-columns:1fr;gap:18px}.card{padding:23px}.split{gap:28px}.page-hero{padding:55px 0 42px}.page-hero h1{font-size:clamp(39px,10vw,48px)}.content{padding:45px 0}.content h2{font-size:32px;margin-top:36px}.step{grid-template-columns:48px 1fr;gap:12px}.step:before{width:42px;height:42px}.formgrid{grid-template-columns:1fr}.contactbox{padding:25px 20px}.footergrid{gap:25px}.mobile-callbar{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:8px;left:0;right:0;bottom:0;z-index:999;background:#fff;padding:9px max(12px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(13,44,67,.15)}.mobile-callbar a{min-height:48px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:700}.mobile-callbar .phone{background:var(--gold);color:#fff}.mobile-callbar .contact{border:1px solid var(--navy);color:var(--navy);background:#fff}
}
@media(max-width:520px){
 .wrap{width:calc(100% - 28px)}.brand img{width:145px}.hero-inner{padding:46px 0 105px}.hero h1{font-size:42px;margin-top:9px}.hero p{font-size:17px}.eyebrow{font-size:11px;letter-spacing:.22em}.actions{display:grid;grid-template-columns:1fr;margin:22px 0}.actions .btn{width:100%}.trust{display:grid;grid-template-columns:1fr 1fr}.card h3{font-size:25px}.section{padding:48px 0}.section h2{font-size:34px}.page-hero h1{font-size:39px}.content h2{font-size:30px}.faq summary{font-size:17px}.footerlogo{width:190px}input,textarea,select{font-size:16px}
}

/* Bestattung selbst planen – v1.2 */
.planner-shell{max-width:1050px;margin:0 auto}.planner-head{text-align:center;max-width:820px;margin:0 auto 34px}.planner-head h2{margin:8px 0 12px}.planner-progress{height:7px;background:#e9e4dc;border-radius:99px;overflow:hidden;margin-top:28px}.planner-progress span{display:block;width:14%;height:100%;background:var(--gold);transition:width .25s}.planner-progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:7px}.planner-step{display:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:36px;box-shadow:var(--shadow)}.planner-step.is-active{display:block;animation:plannerIn .25s ease}.planner-step h3{font-size:34px;margin:5px 0 8px}.planner-kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}.planner-help{color:var(--muted);margin:0 0 22px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.choice-grid-3{grid-template-columns:repeat(3,1fr)}.choice-card{position:relative;display:flex;flex-direction:column;gap:6px;min-height:135px;border:1px solid #ddd5c9;border-radius:10px;padding:22px 44px 20px 20px;cursor:pointer;transition:.18s;background:#fff}.choice-card:hover,.choice-card.selected{border-color:var(--gold);box-shadow:0 8px 22px rgba(13,44,67,.08);transform:translateY(-1px)}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card strong{font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:21px;line-height:1.2}.choice-card small{font-size:14px;color:var(--muted);line-height:1.45}.choice-check{position:absolute;right:15px;top:15px;width:25px;height:25px;border:1px solid #d6cfc5;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:13px}.choice-card.selected .choice-check{background:var(--gold);border-color:var(--gold);color:#fff}.planner-field{display:block;margin-top:20px;font-weight:700;color:var(--navy)}.planner-field input{margin-top:7px}.planner-contact{border-top:1px solid var(--line);margin-top:30px;padding-top:26px}.planner-contact h3{font-size:28px}.planner-contact label{font-weight:700;color:var(--navy)}.planner-contact input,.planner-contact textarea{margin-top:6px;font-weight:400}.planner-contact .consent{display:flex;gap:9px;align-items:flex-start;font-weight:400;color:var(--ink)}.planner-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.planner-nav button{min-width:150px;cursor:pointer}.planner-nav button:disabled{opacity:.4;cursor:not-allowed}.planner-submit{margin-left:auto}.planner-legal{font-size:13px;color:var(--muted);margin:20px 4px}.planner-success{background:#edf6ef;border:1px solid #bdd8c4;border-radius:8px;padding:16px 18px;margin-bottom:22px}.planner-step.needs-choice{animation:plannerShake .25s linear 2}@keyframes plannerIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes plannerShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:900px){.choice-grid-3{grid-template-columns:repeat(2,1fr)}.planner-step{padding:26px}.planner-step h3{font-size:30px}}
@media(max-width:600px){.planner-head{text-align:left}.choice-grid,.choice-grid-3{grid-template-columns:1fr}.choice-card{min-height:0;padding:18px 42px 18px 17px}.choice-card strong{font-size:20px}.planner-step{padding:20px 16px;border-radius:10px}.planner-step h3{font-size:27px}.planner-nav{position:sticky;bottom:78px;background:#fff;padding:10px 0;z-index:20}.planner-nav .btn{min-width:0;flex:1;padding:12px 9px;font-size:14px}.planner-submit{flex:1.5!important}.planner-progress-label{font-size:12px}}

/* Sichtbarere Footer-Ueberschriften & Live-Preis */
.site-footer .footergrid h3{color:#d2ad72;font-weight:700;letter-spacing:.04em;font-size:22px}.price-live{position:sticky;top:110px;background:var(--navy);color:#fff;border-radius:12px;padding:18px 22px;margin:0 0 22px;z-index:5;box-shadow:var(--shadow)}.price-live strong{font-size:28px;color:#fff}.price-live small{display:block;color:#dce5ea;margin-top:4px}.price-breakdown{font-size:14px;margin-top:8px}.included-list{padding-left:20px}.included-list li{margin:7px 0}.planner-price{display:block;color:#8b6537;font-weight:700;margin-top:5px}@media(max-width:600px){.price-live{top:82px;padding:14px 16px}.price-live strong{font-size:24px}}
/* Bestattungsarten Bilder & digitaler Auftrag – v1.3 */
.burial-card{overflow:hidden}.offer-summary{background:#f7f4ef;border:1px solid #ded6ca;border-radius:10px;padding:20px;margin:18px 0}.offer-summary table{width:100%;border-collapse:collapse}.offer-summary th,.offer-summary td{text-align:left;padding:9px 7px;border-bottom:1px solid #ddd}.offer-summary td:last-child,.offer-summary th:last-child{text-align:right;white-space:nowrap}.offer-total{display:flex;justify-content:space-between;font-size:24px;font-weight:700;color:var(--navy);padding-top:14px}.signature-wrap{margin-top:24px}.signature-pad{width:100%;height:180px;border:2px dashed #c6a56d;border-radius:8px;background:#fff;touch-action:none;display:block}.signature-actions{display:flex;gap:10px;margin-top:9px}.btn.small{padding:9px 14px;font-size:13px}.contract-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.contract-check input{width:auto;margin-top:4px}.pdf-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.pdf-status{font-size:13px;color:var(--muted);margin-top:8px}.customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.customer-grid .full{grid-column:1/-1}.customer-grid label{font-weight:700;color:var(--navy)}.customer-grid input,.customer-grid textarea{margin-top:6px}.offer-no{font-size:13px;color:var(--muted);margin-bottom:12px}
@media(max-width:600px){.customer-grid{grid-template-columns:1fr}.customer-grid .full{grid-column:auto}.offer-summary{padding:13px}.offer-summary th,.offer-summary td{font-size:13px;padding:8px 4px}.offer-total{font-size:20px}.signature-pad{height:160px}.pdf-actions .btn{width:100%}}

/* v1.4 – Unterseitenbilder + stabiler mobiler Auftrag */
.service-image-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0 36px}.service-image-tile{margin:0;min-width:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.service-image-tile img{display:block;width:100%;height:190px;object-fit:cover}.service-image-tile figcaption{padding:12px 14px;font-family:Georgia,'Times New Roman',serif;color:var(--navy);font-size:18px}.planner-shell,.planner-form,.planner-step,.customer-grid,.customer-grid label,.offer-summary{min-width:0;max-width:100%;box-sizing:border-box}.planner-step{overflow:hidden}.customer-grid input,.customer-grid textarea{box-sizing:border-box;max-width:100%;font-size:16px}.offer-summary{overflow-x:auto;-webkit-overflow-scrolling:touch}.offer-summary table{min-width:0;table-layout:fixed}.offer-summary th,.offer-summary td{overflow-wrap:anywhere;word-break:normal}.signature-wrap{width:100%;max-width:100%;overflow:hidden}.signature-pad{display:block;width:100%;max-width:100%;height:190px;box-sizing:border-box;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:crosshair}
@media(max-width:700px){.service-image-gallery{grid-template-columns:1fr 1fr;gap:12px}.service-image-tile img{height:150px}.planner-shell{width:100%;max-width:100%;overflow:hidden}.planner-step{width:100%;padding:20px 14px}.customer-grid{display:block}.customer-grid label{display:block;width:100%;margin-bottom:14px}.offer-summary table{font-size:12px}.offer-summary th:nth-child(1),.offer-summary td:nth-child(1){width:27%}.offer-summary th:nth-child(2),.offer-summary td:nth-child(2){width:48%}.offer-summary th:nth-child(3),.offer-summary td:nth-child(3){width:25%}.signature-pad{height:180px}.signature-actions{flex-wrap:wrap}}
@media(max-width:430px){.service-image-gallery{grid-template-columns:1fr}.service-image-tile img{height:190px}}

/* v1.5 – finaler Mobile-/Signatur-Fix */
html,body{max-width:100%;overflow-x:hidden}.content .wrap,.planner-shell,#auftrag-form{min-width:0;width:100%;max-width:100%}.planner-step{contain:layout paint;max-width:100%}.customer-grid>*{min-width:0}.customer-grid input,.customer-grid textarea{display:block;width:100%;min-width:0}.signature-wrap{position:relative;display:block;min-width:0}.signature-pad{position:relative;width:100%!important;max-width:100%!important;height:190px!important;min-height:190px;border:2px solid #c6a56d;background:#fff;touch-action:none!important;overscroll-behavior:contain}.service-image-gallery img{aspect-ratio:16/10}
@media(max-width:700px){.content>.wrap{width:100%;padding-left:14px;padding-right:14px}.planner-shell{margin:0;width:100%}.planner-step{contain:none;width:100%;max-width:100%;overflow:visible}.price-live{position:relative;top:auto}.offer-summary{width:100%;overflow:auto}.offer-summary table{width:100%;min-width:520px}.signature-pad{height:200px!important;min-height:200px}.customer-grid input,.customer-grid textarea{font-size:16px!important;transform:none!important}}
/* v1.6 – kleine Symbolgrafiken in vorhandenen Karten */

/* v2.0 Zusatzfelder im Konfigurator */
.conditional-fields{display:none;margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:10px;background:#faf8f4}.conditional-fields.show{display:block}.conditional-fields h4{margin:0 0 6px;color:var(--navy);font-family:Georgia,'Times New Roman',serif;font-size:22px}.deceased-data{margin:26px 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:#faf8f4}.customer-grid select{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:6px;font-size:16px;padding:12px;border:1px solid #d8d2c8;border-radius:5px;background:#fff;color:var(--ink)}
@media(max-width:700px){.conditional-fields,.deceased-data{padding:16px 12px}.customer-grid select{width:100%;min-width:0}}
