/**
 * Dávid Fitpédia — Custom CSS
 * Version: 1.4.0
 * ----------------------------
 * Editor-first: minden stílus class-okon (fp-section-*, fp-row-*, fp-col-*, fp-module-*).
 * Divi cascade override-olva ahol szükséges.
 */

/* =========================================================
   HERO — Homepage Duo Hero (1 big left + 2 stacked right)
   Editor mezők a Blurb-ön: image, title, url.
   Minden más CSS-ben. make_equal="on" a row-ban stretch-el.
   ========================================================= */

/* --- Section / Row reset --- */
.fp-section-hero.et_pb_section {
    padding: 0 !important;
    background: #ffffff;
}

.fp-section-hero .fp-row-hero.et_pb_row {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    background: #ffffff;
}

/* Vertical white gap between the two columns (Divi make_equal="on" makes row flex) */
.fp-section-hero .fp-row-hero.et_pb_equal_columns {
    display: flex !important;
    gap: 10px !important;
}

/* --- Columns: flex container, vertical stack --- */
.fp-section-hero .fp-col-hero-left.et_pb_column,
.fp-section-hero .fp-col-hero-right.et_pb_column {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Left: 1 card fills whole column */
.fp-col-hero-left .fp-module-hero-card {
    flex: 1 1 auto !important;
    min-height: 600px !important;
}

/* Right: 2 cards, 50/50 split */
.fp-col-hero-right .fp-module-hero-card {
    flex: 1 1 0 !important;
    min-height: 295px !important;
}

/* Mobile */
@media (max-width: 980px) {
    .fp-col-hero-left .fp-module-hero-card,
    .fp-col-hero-right .fp-module-hero-card {
        min-height: 300px !important;
    }
}

/* --- Card shell --- */
.fp-module-hero-card.et_pb_blurb {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
    background-color: #2C2C2C !important;
    padding: 48px 36px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    cursor: pointer;
    transition: box-shadow 0.4s ease;
}

.fp-module-hero-card.et_pb_blurb:hover {
    box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.4);
}

/* --- Blurb content — override Divi's max-width:550px + position:relative --- */
.fp-module-hero-card .et_pb_blurb_content {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    text-align: center !important;
}

/* --- Image fills the whole card as background --- */
.fp-module-hero-card .et_pb_main_blurb_image {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    z-index: 0;
}

.fp-module-hero-card .et_pb_main_blurb_image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.fp-module-hero-card .et_pb_main_blurb_image .et_pb_image_wrap {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    line-height: 1 !important;
    max-width: none !important;
}

.fp-module-hero-card .et_pb_main_blurb_image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    border-radius: 0 !important;
    transition: transform 0.6s ease;
}

.fp-module-hero-card:hover .et_pb_main_blurb_image img {
    transform: scale(1.05);
}

/* --- Scrim: image breathes top half, deep-black fade-up bottom 40% for text readability --- */
.fp-module-hero-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(
        180deg,
        rgba(11, 11, 11, 0) 0%,
        rgba(11, 11, 11, 0) 30%,
        rgba(11, 11, 11, 0.25) 45%,
        rgba(11, 11, 11, 0.55) 58%,
        rgba(11, 11, 11, 0.8) 72%,
        rgba(11, 11, 11, 0.95) 88%,
        rgba(11, 11, 11, 1) 100%
    );
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

/* --- Subtle accent bar animates in on hover --- */
/* Bottom accent bar removed — same gradient effect now lives under the title on hover */

/* --- Text container: bottom-left, flex-column, pill ABOVE title --- */
.fp-module-hero-card .et_pb_blurb_container {
    position: relative !important;
    z-index: 2;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px;
    pointer-events: none; /* empty area click passes through to image link */
}

/* --- Category pill (from Blurb's content/body field) --- */
.fp-module-hero-card .et_pb_blurb_description {
    order: 1;
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    max-width: max-content;
    padding: 6px 14px !important;
    margin: 0 !important;
    background: #D4AF37;
    color: #0B0B0B !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    line-height: 1.4 !important;
    text-transform: uppercase;
    border-radius: 3px;
    box-shadow: 0 2px 12px rgba(212, 175, 55, 0.45);
    pointer-events: none;
}

.fp-module-hero-card .et_pb_blurb_description p {
    margin: 0 !important;
    padding: 0 !important;
    font: inherit !important;
    color: inherit !important;
}

/* --- Title --- */
.fp-module-hero-card .et_pb_module_header {
    order: 2;
    font-family: "Poppins", sans-serif !important;
    font-weight: 700 !important;
    font-size: 32px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
    text-align: left !important;
    color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.55);
}

.fp-module-hero-card .et_pb_module_header a,
.fp-module-hero-card .et_pb_module_header a:hover,
.fp-module-hero-card .et_pb_module_header a:visited,
.fp-module-hero-card .et_pb_module_header a:focus {
    text-decoration: none !important;
    border: none !important;
    pointer-events: auto; /* re-enable click on title link specifically */
    /* Gradient-text trick: text fill shows the background gradient.
       The gradient is 2x-wide — left half is gold→white, right half is solid white.
       At rest, we show the solid-white half. On hover, it slides to the gold-white half. */
    background: linear-gradient(
        90deg,
        #D4AF37 0%,
        #F5F5F5 50%,
        #FFFFFF 50%,
        #FFFFFF 100%
    );
    background-size: 200% 100%;
    background-position: 100% 0;
    background-repeat: no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
    padding-bottom: 0 !important;
    transition: background-position 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.fp-module-hero-card:hover .et_pb_module_header a {
    background-position: 0 0;
}

/* Left/big card gets bigger title */
.fp-col-hero-left .fp-module-hero-card .et_pb_module_header {
    font-size: 44px !important;
}

@media (max-width: 980px) {
    .fp-module-hero-card .et_pb_module_header,
    .fp-col-hero-left .fp-module-hero-card .et_pb_module_header {
        font-size: 24px !important;
    }
    .fp-module-hero-card.et_pb_blurb {
        padding: 32px 24px !important;
    }
}

/* --- Whole-card click target: image link is already absolute+inset:0;
       blurb_container has pointer-events:none so its empty areas pass clicks
       through to the image link below. Title link re-enabled for direct click. */

/* Subtle title shadow intensifies on hover */
.fp-module-hero-card:hover .et_pb_module_header {
    text-shadow: 0 2px 28px rgba(0, 0, 0, 0.65);
}

/* =========================================================
   WOW-LAYER 1 — Staggered cinematic entrance
   Cards fade-up + gentle scale on page load, 120ms stagger.
   ========================================================= */
@keyframes fp-hero-enter {
    from {
        opacity: 0;
        transform: translateY(28px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.fp-module-hero-card.et_pb_blurb {
    opacity: 0;
    animation: fp-hero-enter 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.fp-module-hero-card-1.et_pb_blurb { animation-delay: 0.10s; }
.fp-module-hero-card-2.et_pb_blurb { animation-delay: 0.22s; }
.fp-module-hero-card-3.et_pb_blurb { animation-delay: 0.34s; }

/* TOP NEWS badge removed per user request — may reintroduce later in different form */

/* =========================================================
   LATEST NEWS BLOCK — 2×2 grid of Divi Blog Module posts
   on dark section background, editorial card style.
   Reusable pattern for all category blocks later.
   ========================================================= */

/* Section shell */
.fp-section-latest.et_pb_section {
    background-color: #0B0B0B !important;
    padding: 90px 0 !important;
}

/* Block title ("LATEST NEWS" with gold underline accent) */
.fp-block-title {
    text-align: left !important;
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    background: transparent !important;
}

.fp-block-title h1,
.fp-block-title h2,
.fp-block-title h3 {
    font-family: "Poppins", sans-serif !important;
    font-weight: 800 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: #F5F5F5 !important;
    margin: 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 4px solid #D4AF37;
    display: inline-block !important;
}

/* 2×2 grid override — Divi wraps posts in Salvattore masonry columns,
   so we target .et_pb_salvattore_content and make the inner .column divs
   transparent to layout with `display: contents`. */
.fp-module-latest-grid .et_pb_ajax_pagination_container {
    display: block !important;
}

.fp-module-latest-grid .et_pb_salvattore_content {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 48px 32px !important;
}

.fp-module-latest-grid .et_pb_salvattore_content .column {
    display: contents !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 767px) {
    .fp-module-latest-grid .et_pb_salvattore_content {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
}

/* Individual post cards — reset Divi defaults, transparent cards */
.fp-module-latest-grid .et_pb_post {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Featured image wrapper — fixed aspect, hover zoom */
.fp-module-latest-grid .et_pb_post .entry-featured-image-url {
    display: block;
    position: relative;
    overflow: hidden;
    margin-bottom: 18px !important;
    aspect-ratio: 16 / 9;
    border-radius: 2px;
}

.fp-module-latest-grid .et_pb_post .entry-featured-image-url img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.fp-module-latest-grid .et_pb_post:hover .entry-featured-image-url img {
    transform: scale(1.05);
}

/* Title */
.fp-module-latest-grid .et_pb_post .entry-title {
    font-family: "Poppins", sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.3px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

.fp-module-latest-grid .et_pb_post .entry-title a {
    color: #F5F5F5 !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.fp-module-latest-grid .et_pb_post:hover .entry-title a {
    color: #D4AF37 !important;
}

/* Post meta row: hide author + pipes + extra categories via font-size:0 trick.
   Only .published date span and first category pill render at non-zero size. */
.fp-module-latest-grid .et_pb_post .post-meta {
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.6;
}

.fp-module-latest-grid .et_pb_post .post-meta .published {
    display: inline-block;
    font-family: "Poppins", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    color: rgba(245, 245, 245, 0.6) !important;
    margin-right: 12px;
    vertical-align: middle;
}

/* First category — gold pill */
.fp-module-latest-grid .et_pb_post .post-meta a[rel~="tag"] {
    display: inline-block;
    padding: 3px 10px;
    background: #D4AF37;
    color: #0B0B0B !important;
    border-radius: 2px;
    font-family: "Poppins", sans-serif !important;
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    vertical-align: middle;
    text-decoration: none !important;
}

.fp-module-latest-grid .et_pb_post .post-meta a[rel~="tag"]:hover {
    background: #F5F5F5;
    color: #0B0B0B !important;
}

/* Hide 2nd+ categories and orphan commas */
.fp-module-latest-grid .et_pb_post .post-meta a[rel~="tag"] ~ a[rel~="tag"] {
    display: none !important;
}

/* =========================================================
   AD BANNER SLOT — placeholder for real ad code later
   Full-width dark section, dashed gold outline 970×250 billboard.
   ========================================================= */
.fp-section-ad-banner.et_pb_section {
    padding: 30px 0 50px !important;
    background-color: #0B0B0B !important;
}

.fp-ad-slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.fp-ad-label {
    font-family: "Poppins", sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(245, 245, 245, 0.4);
}

.fp-ad-placeholder {
    width: 100%;
    max-width: 970px;
    aspect-ratio: 970 / 250;
    border: 2px dashed rgba(212, 175, 55, 0.35);
    background: rgba(212, 175, 55, 0.04);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 2px;
    transition: border-color 0.3s ease, background 0.3s ease;
}

.fp-ad-placeholder:hover {
    border-color: rgba(212, 175, 55, 0.6);
    background: rgba(212, 175, 55, 0.07);
}

.fp-ad-dim {
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
    color: rgba(245, 245, 245, 0.5);
}

.fp-ad-hint {
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(245, 245, 245, 0.3);
}

/* =========================================================
   Accessibility — respect prefers-reduced-motion
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    .fp-module-hero-card.et_pb_blurb {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .fp-module-hero-card .et_pb_module_header a,
    .fp-module-hero-card .et_pb_main_blurb_image img {
        transition: none !important;
    }
}


/* =========================================================
   KONTAKT-SEITE (Page /kontakt/, Form-ID 3)
   ---------------------------------------------------------
   Portiert aus dem freigegebenen Mockup
   exports/contact-mockup/kontakt-v1.html (2026-05-31).
   Geltung: NUR unter .fp-section-kontakt (Divi-Section-Modul).
   Header (Divi-TB 2-Zeilen + 9-Vertikal-Mega-Menue) und Footer
   bleiben unberuehrt.
   Fonts: sitewide bereits geladen (Fraunces / Inter Tight /
   JetBrains Mono); Hanken Grotesk -> Inter Tight Fallback.
   Brand: Gold #D4AF37 (Akzent), Soft White #F5F5F5,
   Deep Black #0B0B0B, Charcoal #2C2C2C. Editor-first:
   alle Styles auf fp-kontakt-* Klassen + Fluent-Forms-Klassen,
   NICHT inline.
   ========================================================= */

.fp-section-kontakt {
    --fp-ink: #0B0B0B;
    --fp-charcoal: #2C2C2C;
    --fp-paper: #F5F5F5;
    --fp-paper-pure: #FCFCFA;
    --fp-gold: #D4AF37;
    --fp-gold-deep: #A9871F;
    --fp-line: #E2E0DA;
    --fp-line-strong: #CFCCC3;
    --fp-muted: #6B6862;
    --fp-display: "Fraunces", Georgia, serif;
    --fp-body: "Inter Tight", "Hanken Grotesk", -apple-system, system-ui, sans-serif;
    --fp-mono: "JetBrains Mono", ui-monospace, monospace;
    background: var(--fp-paper);
    font-family: var(--fp-body);
    color: var(--fp-ink);
    -webkit-font-smoothing: antialiased;
}

.fp-section-kontakt .et_pb_row {
    padding-top: 0;
    padding-bottom: 0;
}

/* ===== Header (Kicker + H1 + Lead) ===== */
.fp-section-kontakt .fp-kicker {
    display: inline-block;
    font-family: var(--fp-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--fp-gold-deep);
    margin: 28px 0 14px;
}

.fp-section-kontakt .fp-kicker::before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 2px;
    background: var(--fp-gold);
    vertical-align: middle;
    margin-right: 10px;
    transform: translateY(-2px);
}

.fp-section-kontakt .fp-kontakt-intro {
    border-bottom: 1px solid var(--fp-line);
    padding-bottom: 8px;
    margin-bottom: 46px;
}

.fp-section-kontakt .fp-h1 {
    font-family: var(--fp-display);
    font-weight: 600;
    font-size: clamp(40px, 7vw, 68px);
    line-height: 1.02;
    letter-spacing: -0.022em;
    color: var(--fp-ink);
    margin: 0;
}

.fp-section-kontakt .fp-lead {
    font-size: 20px;
    line-height: 1.55;
    color: var(--fp-charcoal);
    max-width: 560px;
    margin-top: 18px;
    font-weight: 400;
}

/* ===== Two-column grid (form + aside) ===== */
.fp-section-kontakt .fp-kontakt-grid {
    display: grid;
    grid-template-columns: 1.55fr 0.85fr;
    gap: 64px;
    align-items: start;
}

/* ===== Form card ===== */
.fp-section-kontakt .fp-kontakt-formtitle {
    font-family: var(--fp-display);
    font-weight: 600;
    font-size: 24px;
    margin: 0 0 4px;
    color: var(--fp-ink);
}

.fp-section-kontakt .fp-kontakt-formsub {
    font-size: 14.5px;
    color: var(--fp-muted);
    margin: 0 0 26px;
    line-height: 1.5;
}

.fp-section-kontakt .fp-kontakt-formnote {
    font-family: var(--fp-mono);
    font-size: 11px;
    color: var(--fp-muted);
    letter-spacing: 0.02em;
    margin-top: 14px;
}

/* ===== Fluent Forms field styling (real plugin markup) ===== */
.fp-section-kontakt .frm-fluent-form .ff-el-group {
    margin-bottom: 20px;
}

.fp-section-kontakt .frm-fluent-form .ff-el-input--label label,
.fp-section-kontakt .frm-fluent-form .ff-el-input--label {
    font-family: var(--fp-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--fp-charcoal);
    font-weight: 500;
    margin-bottom: 7px;
}

.fp-section-kontakt .frm-fluent-form .ff-el-is-required.asterisk-right > label:after,
.fp-section-kontakt .frm-fluent-form .ff-el-input--label.asterisk-right label:after {
    color: var(--fp-gold-deep);
}

.fp-section-kontakt .frm-fluent-form input[type="text"],
.fp-section-kontakt .frm-fluent-form input[type="email"],
.fp-section-kontakt .frm-fluent-form textarea,
.fp-section-kontakt .frm-fluent-form select,
.fp-section-kontakt .frm-fluent-form .ff-el-form-control {
    width: 100%;
    font-family: var(--fp-body);
    font-size: 16px;
    color: var(--fp-ink);
    background: var(--fp-paper-pure);
    border: 1px solid var(--fp-line-strong);
    border-radius: 3px;
    padding: 13px 15px;
    line-height: 1.4;
    box-shadow: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.fp-section-kontakt .frm-fluent-form input::placeholder,
.fp-section-kontakt .frm-fluent-form textarea::placeholder {
    color: #9a978f;
}

.fp-section-kontakt .frm-fluent-form input[type="text"]:focus,
.fp-section-kontakt .frm-fluent-form input[type="email"]:focus,
.fp-section-kontakt .frm-fluent-form textarea:focus,
.fp-section-kontakt .frm-fluent-form select:focus,
.fp-section-kontakt .frm-fluent-form .ff-el-form-control:focus {
    outline: none;
    border-color: var(--fp-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.18);
}

.fp-section-kontakt .frm-fluent-form textarea {
    min-height: 158px;
    resize: vertical;
}

/* GDPR / Terms consent checkbox */
.fp-section-kontakt .frm-fluent-form .ff-el-form-check,
.fp-section-kontakt .frm-fluent-form .ff_t_c_checkbox,
.fp-section-kontakt .frm-fluent-form .ff-el-tc {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-size: 14px;
    line-height: 1.5;
    color: var(--fp-charcoal);
}

.fp-section-kontakt .frm-fluent-form .ff_t_c {
    font-size: 14px;
    line-height: 1.5;
    color: var(--fp-charcoal);
}

.fp-section-kontakt .frm-fluent-form .ff_t_c a,
.fp-section-kontakt .frm-fluent-form .ff-el-tc a {
    color: var(--fp-gold-deep);
    text-underline-offset: 2px;
}

.fp-section-kontakt .frm-fluent-form input[type="checkbox"] {
    accent-color: var(--fp-gold);
    width: 20px;
    height: 20px;
    margin-top: 1px;
    cursor: pointer;
}

/* Submit button (gold "Senden") */
.fp-section-kontakt .frm-fluent-form .ff-btn-submit,
.fp-section-kontakt .frm-fluent-form .ff-btn.ff-btn-submit {
    background: var(--fp-gold);
    color: var(--fp-ink);
    border: none;
    font-family: var(--fp-body);
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.01em;
    padding: 15px 30px;
    border-radius: 3px;
    cursor: pointer;
    transition: background 0.15s, transform 0.05s;
    box-shadow: none;
}

.fp-section-kontakt .frm-fluent-form .ff-btn-submit:hover {
    background: #e6c352;
    color: var(--fp-ink);
}

.fp-section-kontakt .frm-fluent-form .ff-btn-submit:active {
    transform: translateY(1px);
}

/* success / error messaging in brand tone */
.fp-section-kontakt .frm-fluent-form .ff-message-success {
    background: var(--fp-paper-pure);
    border: 1px solid var(--fp-gold);
    border-left: 3px solid var(--fp-gold);
    color: var(--fp-ink);
    border-radius: 3px;
    padding: 16px 18px;
}

/* ===== Aside (dark "Direkt schreiben" + quick links + legal) ===== */
.fp-section-kontakt .fp-kontakt-aside {
    display: grid;
    gap: 22px;
    position: sticky;
    top: 96px;
}

.fp-section-kontakt .fp-kontakt-direct {
    background: var(--fp-ink);
    color: var(--fp-paper);
    border-radius: 6px;
    padding: 28px 26px;
}

.fp-section-kontakt .fp-kontakt-k {
    font-family: var(--fp-mono);
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.fp-section-kontakt .fp-kontakt-direct .fp-kontakt-k {
    color: var(--fp-gold);
}

.fp-section-kontakt .fp-kontakt-direct p {
    font-size: 14.5px;
    line-height: 1.55;
    color: #C9C6BE;
    margin: 0 0 16px;
}

.fp-section-kontakt .fp-kontakt-mail {
    font-family: var(--fp-display);
    font-weight: 600;
    font-size: 23px;
    letter-spacing: -0.01em;
    display: inline-block;
    color: var(--fp-paper);
    text-decoration: none;
    border-bottom: 2px solid var(--fp-gold);
    padding-bottom: 2px;
}

.fp-section-kontakt .fp-kontakt-mail:hover {
    color: var(--fp-gold);
}

.fp-section-kontakt .fp-kontakt-quick {
    border: 1px solid var(--fp-line);
    border-radius: 6px;
    padding: 24px 26px;
    background: var(--fp-paper-pure);
}

.fp-section-kontakt .fp-kontakt-quick .fp-kontakt-k {
    color: var(--fp-gold-deep);
    margin-bottom: 14px;
}

.fp-section-kontakt .fp-kontakt-quick ul {
    list-style: none;
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
}

.fp-section-kontakt .fp-kontakt-quick li {
    position: relative;
    padding-left: 20px;
    font-size: 15px;
    line-height: 1.45;
}

.fp-section-kontakt .fp-kontakt-quick li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 7px;
    height: 7px;
    background: var(--fp-gold);
    border-radius: 50%;
}

.fp-section-kontakt .fp-kontakt-quick a {
    text-decoration: none;
    font-weight: 600;
    color: var(--fp-ink);
}

.fp-section-kontakt .fp-kontakt-quick a:hover {
    color: var(--fp-gold-deep);
}

.fp-section-kontakt .fp-kontakt-legal {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--fp-muted);
    margin: 0;
}

.fp-section-kontakt .fp-kontakt-legal a {
    color: var(--fp-gold-deep);
    text-decoration: none;
    font-weight: 600;
    margin-right: 16px;
}

.fp-section-kontakt .fp-kontakt-legal a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ===== Responsive: collapse to one column ===== */
@media (max-width: 860px) {
    .fp-section-kontakt .fp-kontakt-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }
    .fp-section-kontakt .fp-kontakt-aside {
        position: static;
    }
}

/* === Newsletter consent checkbox (real form, added 2026-05-31) === */
.fp-newsletter-real__form .fp-newsletter-real__consent {
  flex: 0 0 100%;
  order: 99;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  padding: 12px 16px 4px;
  font-family: 'Inter Tight', sans-serif;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(245,245,245,0.72);
  text-align: left;
  cursor: pointer;
}
.fp-newsletter-real__consent .fp-newsletter-real__consent-box {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: #D4AF37;
  cursor: pointer;
}
.fp-newsletter-real__consent .fp-newsletter-real__consent-text a {
  color: #D4AF37;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.fp-newsletter-real__consent .fp-newsletter-real__consent-text a:hover {
  color: #e8c452;
}
@media (max-width: 600px) {
  .fp-newsletter-real__form .fp-newsletter-real__consent {
    padding: 4px 4px 0;
    justify-content: flex-start;
  }
}

/* ============================================================
   DD Post 01 review pages (Vorlage 31909 + Beispiel 31910) ONLY
   Scoped brand-font enforcement. Added 2026-05-31.
   Fonts: Fraunces (headings), Inter Tight (body), JetBrains Mono (meta/buttons)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Inter+Tight:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

body.page-id-31909 h1, body.page-id-31909 h2, body.page-id-31909 h3,
body.page-id-31909 .et_pb_post_title .entry-title,
body.page-id-31910 h1, body.page-id-31910 h2, body.page-id-31910 h3,
body.page-id-31910 .et_pb_post_title .entry-title {
  font-family: 'Fraunces', Georgia, serif !important;
}
body.page-id-31909 .et_pb_text, body.page-id-31909 .et_pb_post_content p,
body.page-id-31909 .et_pb_signup .et_pb_newsletter_description,
body.page-id-31910 .et_pb_text, body.page-id-31910 .et_pb_post_content p,
body.page-id-31910 .et_pb_signup .et_pb_newsletter_description {
  font-family: 'Inter Tight', -apple-system, sans-serif !important;
}
body.page-id-31909 .dd-post-01-cat a, body.page-id-31909 .et_pb_newsletter_button,
body.page-id-31909 .et_pb_button,
body.page-id-31910 .dd-post-01-cat a, body.page-id-31910 .et_pb_newsletter_button,
body.page-id-31910 .et_pb_button {
  font-family: 'JetBrains Mono', monospace !important;
}

/* ============================================================
   DD Post 01 review pages (31909 + 31910) — Refine 2026-05-31
   Autor-Box card + dark gold-black newsletter band.
   Scoped to page IDs only. Brand: Gold #D4AF37, Ink #0B0B0B,
   Charcoal #2C2C2C, Soft White #F5F5F5.
   ============================================================ */

/* --- Autor-Box card --- */
body.page-id-31909 .dd-author-box-row,
body.page-id-31910 .dd-author-box-row {
  width: 100% !important;
  max-width: 1080px !important;
}
body.page-id-31909 .dd-author-box,
body.page-id-31910 .dd-author-box {
  margin-top: 0 !important;
}
body.page-id-31909 .dd-author-box__card,
body.page-id-31910 .dd-author-box__card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #ffffff;
  border-top: 3px solid #D4AF37;
  border-radius: 3px;
  padding: 28px 32px;
  box-shadow: 0 1px 0 rgba(11,11,11,0.06);
}
body.page-id-31909 .dd-author-box__avatar,
body.page-id-31910 .dd-author-box__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
  background: #F5F5F5;
  border: 1px solid rgba(11,11,11,0.08);
}
body.page-id-31909 .dd-author-box__body,
body.page-id-31910 .dd-author-box__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.page-id-31909 .dd-author-box__eyebrow,
body.page-id-31910 .dd-author-box__eyebrow {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #D4AF37;
}
body.page-id-31909 .dd-author-box__name,
body.page-id-31910 .dd-author-box__name {
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  color: #0B0B0B;
}
body.page-id-31909 .dd-author-box__bio,
body.page-id-31910 .dd-author-box__bio {
  display: block;
  font-family: 'Inter Tight', -apple-system, sans-serif !important;
  font-size: 15px;
  line-height: 1.6;
  color: #2C2C2C;
  margin: 0;
}
@media (max-width: 480px) {
  body.page-id-31909 .dd-author-box__card,
  body.page-id-31910 .dd-author-box__card {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 22px 22px;
  }
}

/* --- Newsletter band: dark gold-black (homepage parity) --- */
body.page-id-31909 .dd-newsletter-dark,
body.page-id-31910 .dd-newsletter-dark {
  background-color: #0B0B0B;
}
body.page-id-31909 .dd-newsletter-dark .et_pb_newsletter_description,
body.page-id-31909 .dd-newsletter-dark .et_pb_newsletter_description *,
body.page-id-31909 .dd-newsletter-dark h1,
body.page-id-31909 .dd-newsletter-dark h2,
body.page-id-31910 .dd-newsletter-dark .et_pb_newsletter_description,
body.page-id-31910 .dd-newsletter-dark .et_pb_newsletter_description *,
body.page-id-31910 .dd-newsletter-dark h1,
body.page-id-31910 .dd-newsletter-dark h2 {
  color: #F5F5F5 !important;
}
/* Headline accent in gold */
body.page-id-31909 .dd-newsletter-dark .et_pb_newsletter_description h1,
body.page-id-31909 .dd-newsletter-dark .et_pb_module_header,
body.page-id-31910 .dd-newsletter-dark .et_pb_newsletter_description h1,
body.page-id-31910 .dd-newsletter-dark .et_pb_module_header {
  color: #D4AF37 !important;
}
/* Email input: dark field on dark band */
body.page-id-31909 .dd-newsletter-dark .et_pb_newsletter_form input,
body.page-id-31910 .dd-newsletter-dark .et_pb_newsletter_form input {
  background-color: rgba(245,245,245,0.06) !important;
  border: 1px solid rgba(212,175,55,0.45) !important;
  color: #F5F5F5 !important;
}
body.page-id-31909 .dd-newsletter-dark .et_pb_newsletter_form input::placeholder,
body.page-id-31910 .dd-newsletter-dark .et_pb_newsletter_form input::placeholder {
  color: rgba(245,245,245,0.55) !important;
}
/* CTA button stays gold with ink text */
body.page-id-31909 .dd-newsletter-dark .et_pb_newsletter_button,
body.page-id-31910 .dd-newsletter-dark .et_pb_newsletter_button {
  background-color: #D4AF37 !important;
  color: #0B0B0B !important;
}


/* === AD SLOT (Artikel-Seitenleiste / dd-sidebar) - 2026-06 === */
/* Macht die rechte Seitenleiste sichtbar + haftet den Werbeplatz beim Scrollen. Scoped auf .dd-sidebar. */
.dd-sidebar { min-width: 0; }
.dd-sidebar .et_pb_widget.fitpe-widget {
  position: sticky;
  top: 90px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  float: none;
  max-width: 300px;
  width: 100%;
}
.dd-sidebar .et_pb_widget.fitpe-widget:before,
.dd-sidebar .et_pb_widget.fitpe-widget:after { content: none; }
@media (max-width: 980px) {
  .dd-sidebar .et_pb_widget.fitpe-widget { position: static; top: auto; margin: 24px auto 0; }
}

/* ===== Newsletter-Form: Consent UNTER das Eingabefeld (Fix 2026-06-01) ===== */
.fp-newsletter-real__form{
  display:flex !important; flex-direction:column !important; align-items:center;
  border:0 !important; background:transparent !important;
  backdrop-filter:none !important; box-shadow:none !important;
  max-width:540px; margin:0 auto 26px; padding:0;
}
.fp-newsletter-real__form:focus-within{ border:0 !important; box-shadow:none !important; }
/* die eigentliche Eingabe-Pill (E-Mail + Button) */
.fp-newsletter-real__field{
  display:flex; gap:0; width:100%; max-width:540px;
  border:1px solid rgba(212,175,55,0.5); border-radius:1px;
  background:rgba(11,11,11,0.55); backdrop-filter:blur(2px);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.fp-newsletter-real__field:focus-within{
  border-color:#D4AF37; box-shadow:0 0 0 3px rgba(212,175,55,0.18);
}
/* Consent: eigene Zeile, zentriert, unter der Pill */
.fp-newsletter-real__consent{
  display:flex; align-items:flex-start; gap:9px; justify-content:center;
  width:100%; max-width:540px; margin:14px auto 0;
  font-family:'Inter Tight',sans-serif; font-size:13px; line-height:1.45;
  color:rgba(245,245,245,0.7); text-align:left; cursor:pointer;
}
.fp-newsletter-real__consent-box{
  flex:none; margin-top:2px; width:16px; height:16px;
  accent-color:#D4AF37; cursor:pointer;
}
.fp-newsletter-real__consent-text a{
  color:rgba(245,245,245,0.88); text-decoration:underline; text-underline-offset:2px;
}
.fp-newsletter-real__consent-text a:hover{ color:#D4AF37; }
@media(max-width:600px){
  .fp-newsletter-real__field{ flex-direction:column; border:0; background:transparent; gap:12px; }
  .fp-newsletter-real__field .fp-newsletter-real__email{
    border:1px solid rgba(212,175,55,0.5) !important; text-align:center; padding:16px !important;
  }
  .fp-newsletter-real__field .fp-newsletter-real__submit{ width:100%; padding:16px !important; }
}
