/*
Theme Name: Herzenswerk Design
Theme URI: https://herzens-werk.de
Author: Herzenswerk
Description: Premium & edles WordPress Theme für Herzenswerk - den würdevollen digitalen Gedenkgarten für Haustiere. Inklusive WooCommerce, Mollie, Stripe, Kerzen anzünden, Herzensraum-Chat, QR-Code-Generierung und automatischen Gedenkseiten.
Version: 10.0
Text Domain: herzenswerk-design
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Reset & Base Styles */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: #FAF9F6; /* Alabaster Off-white - warm and premium, no cheap yellowish beige */
    color: #2C2D2F; /* Deep Slate Charcoal */
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, .noble-title {
    font-family: 'Playfair Display', Cormorant Garamond, Georgia, 'Times New Roman', Times, serif;
    color: #1E2229; /* Soft obsidian/charcoal dark accent */
    font-weight: 600;
}

a {
    color: #C5A059; /* Noble gold */
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #A07F40;
}

/* Core Brand Colors for Theme Settings */
:root {
    --color-bg: #FAF9F6;
    --color-text: #2C2D2F;
    --color-dark: #1E2229;
    --color-gold: #C5A059;
    --color-gold-hover: #A07F40;
    --color-border: #EAE7E2;
    --color-card-bg: #FFFFFF;
    
    --color-perle: #EAE8E4;
    --color-saphir: #2C5E8A;
    --color-diamant: #B89047;
}

/* Common Layout Elements */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.btn-noble {
    display: inline-block;
    background-color: var(--color-gold);
    color: #FFFFFF;
    padding: 12px 30px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.5px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-noble:hover {
    background-color: var(--color-gold-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(197, 160, 89, 0.2);
    color: #FFFFFF;
}

/* === AUTOMATIC IMAGE SIZING === */

/* Main Portrait Photo on Gedenkseite */
.entry-portrait img {
    width: 100%;
    max-height: 550px;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}

/* Diashow / Slideshow */
.slideshow img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.8s ease-in-out;
}

/* Gallery Thumbnails */
.diashow-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Gallery Card Images (Gedenkgarten Overview) */
.gallery-card-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

/* QR Code */
.qr-section img {
    max-width: 160px;
    max-height: 160px;
    display: block;
}

/* Admin Meta Box Preview Images */
#hz-main-photo-img {
    max-width: 200px;
    max-height: 150px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #EAE7E2;
}

#hz-gallery-preview img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #EAE7E2;
}

/* ==========================================================
   HerzensWerk Conversion Design 2026
   ========================================================== */
:root{--hw-ink:#20242a;--hw-muted:#697078;--hw-gold:#b99352;--hw-cream:#f7f4ee;--hw-line:#e7e1d8;--hw-white:#fff;--hw-shadow:0 18px 50px rgba(30,34,41,.09)}
.hw-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.hw-narrow{max-width:820px}.hw-center{text-align:center}.hw-section{padding:96px 0}.hw-eyebrow{display:inline-block;margin-bottom:14px;color:var(--hw-gold);font:700 12px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase}.hw-home h1,.hw-home h2,.hw-packages-page h1,.hw-packages-page h2{font-family:'Playfair Display',serif;color:var(--hw-ink);letter-spacing:-.025em}.hw-home h2,.hw-packages-page h1{font-size:clamp(36px,5vw,54px);line-height:1.12;margin:0 0 22px}.hw-lead{font-size:18px;line-height:1.85;color:#50565d}.hw-btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;border-radius:4px;font:700 13px/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:.05em;text-decoration:none!important;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.hw-btn:hover{transform:translateY(-2px)}.hw-btn--primary{background:var(--hw-gold);color:#fff!important;box-shadow:0 10px 25px rgba(185,147,82,.25)}.hw-btn--primary:hover{background:#a98243}.hw-btn--ghost{border-color:rgba(255,255,255,.75);color:#fff!important;background:rgba(0,0,0,.12);backdrop-filter:blur(4px)}.hw-btn--light{border-color:#fff;background:#fff;color:var(--hw-ink)!important}.hw-btn--outline{border-color:var(--hw-gold);color:#8f6c32!important;background:#fff}.hw-btn--dark{background:var(--hw-ink);color:#fff!important}.hw-actions{display:flex;gap:12px;flex-wrap:wrap}
.hw-hero{min-height:680px;background-position:center;background-size:cover;display:flex;align-items:center}.hw-hero__inner{padding:90px 0}.hw-hero__content{max-width:710px}.hw-hero h1{font-size:clamp(48px,6vw,76px);line-height:1.02;color:#fff;margin:0 0 24px;text-shadow:0 4px 22px rgba(0,0,0,.22)}.hw-hero__quote{font-family:'Playfair Display',serif;font-size:clamp(20px,2.3vw,28px);font-style:italic;line-height:1.5;color:#f7f1e7;margin:0 0 18px}.hw-hero__text{max-width:670px;color:rgba(255,255,255,.88);font-size:17px;line-height:1.8;margin:0 0 30px}.hw-hero__trust{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;color:rgba(255,255,255,.85);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.hw-hero__trust span:before{content:'✓';color:#d7b878;margin-right:7px}
.hw-intro{background:#fff}.hw-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}.hw-feature{padding:38px 32px;border:1px solid var(--hw-line);background:#fff;text-align:center;box-shadow:0 9px 28px rgba(30,34,41,.035);transition:.25s}.hw-feature:hover{transform:translateY(-5px);box-shadow:var(--hw-shadow)}.hw-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#f5eee1;color:var(--hw-gold);font-size:25px}.hw-feature h3{font-family:'Playfair Display',serif;font-size:23px;margin:0 0 12px}.hw-feature p{color:var(--hw-muted);font-size:14px;line-height:1.75;margin:0}
.hw-process{background:var(--hw-cream)}.hw-section-head{text-align:center;max-width:760px;margin:0 auto 48px}.hw-section-head p{color:var(--hw-muted);line-height:1.8}.hw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:40px}.hw-steps article{background:#fff;border:1px solid var(--hw-line);padding:34px}.hw-steps span{font-family:'Playfair Display',serif;color:var(--hw-gold);font-size:34px}.hw-steps h3{font-family:'Playfair Display',serif;font-size:22px;margin:14px 0 10px}.hw-steps p{color:var(--hw-muted);line-height:1.75;font-size:14px;margin:0}.hw-garden{background:#fff}.hw-split{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.hw-checklist{list-style:none;padding:0;margin:28px 0 0}.hw-checklist li{position:relative;padding:0 0 15px 32px;color:#4f555c;line-height:1.6}.hw-checklist li:before{content:'✓';position:absolute;left:0;color:var(--hw-gold);font-weight:700}.hw-quote-card{background:var(--hw-ink);padding:52px;color:#fff;box-shadow:var(--hw-shadow)}.hw-quote-card__mark{font-family:Georgia,serif;font-size:80px;line-height:.6;color:var(--hw-gold)}.hw-quote-card blockquote{font-family:'Playfair Display',serif;font-size:27px;line-height:1.5;margin:25px 0}.hw-quote-card p{color:#c4c8cc;line-height:1.7}.hw-cta{padding-top:30px}.hw-cta__box{background:#ede4d5;padding:58px 62px;display:flex;justify-content:space-between;align-items:center;gap:40px}.hw-cta__box h2{font-size:clamp(30px,4vw,44px);max-width:720px;margin-bottom:0}
.hw-packages-page{background:var(--hw-cream)}.hw-packages-hero{padding:92px 0 62px;background:#fff;border-bottom:1px solid var(--hw-line)}.hw-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.hw-package-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hw-line);padding:38px 30px;box-shadow:0 10px 35px rgba(30,34,41,.045)}.hw-package-card--featured{border:2px solid var(--hw-gold);transform:translateY(-12px);box-shadow:var(--hw-shadow)}.hw-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--hw-gold);color:#fff;padding:8px 17px;border-radius:20px;font:700 10px 'Plus Jakarta Sans';text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.hw-package-kicker{font:700 10px 'Plus Jakarta Sans';letter-spacing:.12em;text-transform:uppercase;color:var(--hw-gold)}.hw-package-card h2{font-size:38px;margin:10px 0}.hw-price{font-family:'Playfair Display',serif;font-weight:700;font-size:48px;color:var(--hw-ink);margin-bottom:18px}.hw-price small{display:block;font:400 12px 'Plus Jakarta Sans';color:var(--hw-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:5px}.hw-package-card__top p{color:var(--hw-muted);font-size:14px;line-height:1.7;min-height:72px}.hw-package-list{list-style:none;padding:22px 0 8px;margin:0 0 28px;border-top:1px solid var(--hw-line);flex-grow:1}.hw-package-list li{position:relative;padding:0 0 14px 25px;color:#4f555c;font-size:14px;line-height:1.55}.hw-package-list li:before{content:'✓';position:absolute;left:0;color:var(--hw-gold);font-weight:700}.hw-package-note{margin-top:38px;background:#fff;border:1px solid var(--hw-line);padding:20px 24px;text-align:center;color:var(--hw-muted);font-size:13px;line-height:1.7}.hw-trust-row{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:30px;color:#656c73;font:600 12px 'Plus Jakarta Sans';text-transform:uppercase;letter-spacing:.05em}.hw-trust-row span:before{content:'✓';color:var(--hw-gold);margin-right:7px}
@media(max-width:900px){.hw-benefits,.hw-steps,.hw-package-grid{grid-template-columns:1fr}.hw-package-card--featured{transform:none}.hw-split{grid-template-columns:1fr;gap:38px}.hw-cta__box{display:block;padding:42px 30px}.hw-cta__box .hw-actions{margin-top:28px}.hw-hero{min-height:620px;background-position:62% center}.hw-hero__content{max-width:600px}.hw-section{padding:72px 0}}
@media(max-width:600px){.hw-shell{width:min(100% - 28px,1180px)}.hw-hero{min-height:650px;align-items:flex-end;background-position:64% center}.hw-hero__inner{padding:80px 0 55px}.hw-hero h1{font-size:43px}.hw-hero__text{font-size:15px}.hw-actions{display:grid;width:100%}.hw-btn{width:100%}.hw-hero__trust{gap:10px 18px}.hw-section{padding:62px 0}.hw-benefits{margin-top:36px}.hw-feature,.hw-steps article{padding:30px 24px}.hw-quote-card{padding:38px 28px}.hw-quote-card blockquote{font-size:23px}.hw-packages-hero{padding:68px 0 42px}.hw-package-card{padding:34px 24px}.hw-trust-row{justify-content:flex-start;gap:12px}}


/* === Paketfarben konsistent: Diamant = Anthrazit + Gold === */
.hw-package-card--diamant {
    background: #1E2229;
    border: 2px solid #B89047;
    box-shadow: 0 16px 42px rgba(30, 34, 41, 0.18);
}
.hw-package-card--diamant .hw-package-kicker,
.hw-package-card--diamant .hw-package-list li::before {
    color: #E1BF73;
}
.hw-package-card--diamant h2,
.hw-package-card--diamant .hw-price {
    color: #FFFFFF;
}
.hw-package-card--diamant .hw-price small,
.hw-package-card--diamant .hw-package-card__top p,
.hw-package-card--diamant .hw-package-list li {
    color: #D7D9DC;
}
.hw-package-card--diamant .hw-package-list {
    border-top-color: rgba(225, 191, 115, 0.32);
}
.hw-btn--diamant {
    background: #B89047;
    border-color: #E1BF73;
    color: #1E2229 !important;
    box-shadow: 0 10px 25px rgba(184, 144, 71, 0.22);
}
.hw-btn--diamant:hover {
    background: #D1AD61;
    color: #11151A !important;
}

.gallery-card-item[data-category="diamant"] {
    border-color: #B89047 !important;
}
.gallery-card-item[data-category="diamant"] .btn-noble {
    background: #1E2229;
    border: 1px solid #B89047;
    color: #E1BF73;
}
.gallery-card-item[data-category="diamant"] .btn-noble:hover {
    background: #B89047;
    color: #1E2229;
}

.hw-memorial-card--diamant {
    border: 2px solid #B89047 !important;
    box-shadow: 0 14px 44px rgba(30, 34, 41, 0.12) !important;
}
.hw-memorial--diamant .entry-portrait {
    border-color: #B89047 !important;
}
.hw-memorial--diamant .music-section {
    border-color: #B89047 !important;
}

/* HerzensWerk secure customer questionnaire */
.hz-form-page {
    min-height: 70vh;
    padding: 64px 20px 80px;
    background: linear-gradient(180deg, #faf9f6 0%, #f4f1eb 100%);
}
.hz-form-shell {
    width: min(860px, 100%);
    margin: 0 auto;
}
.hz-form-heading {
    text-align: center;
    margin-bottom: 30px;
}
.hz-form-heading > span {
    display: inline-block;
    margin-bottom: 10px;
    color: #a27e3d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
.hz-form-heading h1,
.hz-form-message h1 {
    margin: 0 0 12px;
    font-size: clamp(34px, 5vw, 52px);
}
.hz-form-heading p {
    max-width: 700px;
    margin: 0 auto;
    color: #62666c;
}
.hz-form-card {
    background: #fff;
    border: 1px solid #e5e0d8;
    border-radius: 16px;
    box-shadow: 0 18px 55px rgba(30, 34, 41, 0.08);
    padding: clamp(24px, 5vw, 48px);
}
.hz-form-message {
    text-align: center;
}
.hz-form-section {
    padding: 0 0 30px;
    margin: 0 0 30px;
    border-bottom: 1px solid #ece8e1;
}
.hz-form-section:last-of-type {
    margin-bottom: 20px;
}
.hz-form-section h2 {
    margin: 0 0 20px;
    font-size: 25px;
}
.hz-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.hz-field {
    display: block;
    margin-bottom: 18px;
}
.hz-field--full {
    grid-column: 1 / -1;
}
.hz-field > span,
.hz-upload-box > span {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
    color: #2c2d2f;
}
.hz-field input,
.hz-field textarea,
.hz-upload-box input[type="file"] {
    width: 100%;
    border: 1px solid #dcd7ce;
    border-radius: 8px;
    background: #fff;
    padding: 12px 13px;
    font: inherit;
    color: #2c2d2f;
}
.hz-field textarea {
    resize: vertical;
}
.hz-field input:focus,
.hz-field textarea:focus {
    outline: none;
    border-color: #c5a059;
    box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.14);
}
.hz-upload-box {
    display: block;
    padding: 22px;
    border: 1px dashed #c5a059;
    border-radius: 10px;
    background: #fbfaf7;
}
.hz-upload-box small {
    display: block;
    margin: -2px 0 14px;
    color: #70757d;
    line-height: 1.5;
}
.hz-form-section--diamant {
    background: #1e2229;
    border: 1px solid #b89047;
    border-radius: 12px;
    padding: 24px;
}
.hz-form-section--diamant h2,
.hz-form-section--diamant .hz-upload-box > span {
    color: #e1bf73;
}
.hz-form-section--diamant .hz-upload-box {
    background: rgba(255,255,255,.04);
}
.hz-form-section--diamant .hz-upload-box small {
    color: #d7d8da;
}
.hz-consent {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    line-height: 1.55;
}
.hz-consent input {
    margin-top: 5px;
}
.hz-form-submit {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 8px;
    padding: 15px 20px;
    background: #c5a059;
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.hz-form-submit:hover {
    background: #a07f40;
}
.hz-form-note {
    margin: 12px 0 0;
    text-align: center;
    color: #70757d;
    font-size: 12px;
}
.hz-honeypot {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
}
@media (max-width: 680px) {
    .hz-form-page { padding: 38px 14px 60px; }
    .hz-form-grid { grid-template-columns: 1fr; }
    .hz-field--full { grid-column: auto; }
    .hz-form-card { border-radius: 12px; }
}
