    /* ==========================================================
       SITE-WIDE: Header — Junebug-style two-row navigation
       ========================================================== */

    /* Hide old elements */
    .site-header > .top-navigation,
    .site-header > .site-branding {
        display: none !important;
    }

    /* Hide entire old main-navigation on desktop (keep for mobile off-canvas) */
    @media only screen and (min-width: 64em) {
        .site-header > .main-navigation,
        .site-header .main-navigation {
            display: none !important;
        }
    }

    /* Reset old main-navigation borders (mobile) */
    .hw-header .main-navigation {
        border: none !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* ---- DESKTOP TWO-ROW HEADER ---- */
    .hw-header__desktop {
        display: none; /* hidden on mobile, shown via media query */
        flex-direction: column;
        max-width: 1320px;
        margin: 0 auto;
    }

    /* ROW 1: Top bar — logo left, utility right */
    .hw-header__topbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.25em 1.5em 0.75em;
    }

    .hw-header__logo {
        flex-shrink: 0;
        display: block;
        line-height: 0;
        text-decoration: none !important;
        width: 520px;
    }

    .hw-header__logo img,
    .hw-header__logo-svg {
        width: 520px;
        max-width: none;
        height: auto;
        display: block;
    }
    .hw-header__logo-svg path {
        fill: #1a1a1a;
    }

    /* Utility links (right side of top bar) */
    .hw-header__utility {
        display: flex;
        align-items: center;
        gap: 0.25em;
    }

    .hw-header__utility-menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center;
        gap: 0.15em;
    }

    .hw-header__utility-menu li {
        display: inline-block;
        list-style: none;
    }

    /* Override old theme dotted separators on utility menu */
    .hw-header__utility-menu > li::after,
    .hw-header__utility-menu > li > a {
        background-image: none !important;
        padding-right: 0 !important;
    }

    .hw-header__utility-menu li a {
        font-family: 'Lato', sans-serif !important;
        font-size: 0.65rem !important;
        font-weight: 400 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: #c9a87c !important;
        text-decoration: none !important;
        transition: color 0.25s ease;
        white-space: nowrap;
        margin-right: 0 !important;
        padding: 0.4em 0.65em !important;
    }

    .hw-header__utility-menu li a:hover {
        color: #a58560 !important;
    }

    /* Utility icons (login/logout, search) */
    .hw-header__utility-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        color: #c9a87c;
        text-decoration: none !important;
        transition: color 0.25s ease;
    }

    .hw-header__utility-icon:hover {
        color: #a58560;
    }

    .hw-header__utility-icon svg {
        display: block;
    }

    /* ROW 2: Main navigation bar */
    .hw-header__navbar {
        border-top: 1px solid #ededed;
        border-bottom: 1px solid #ededed;
        padding: 0 1.5em;
        position: relative;
        z-index: 300;
        background: #fff;
    }

    /* Sticky header — desktop uses position:sticky, mobile uses position:fixed */
    .site-header.hw-header {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 9000 !important;
        background: #fff !important;
        width: 100% !important;
        max-width: none !important;
        padding-top: 0 !important;
        margin-bottom: 0 !important;
        transition: box-shadow 0.3s ease;
    }
    /* Mobile: use position:fixed (more reliable on iOS Safari) */
    @media only screen and (max-width: 63.975em) {
        .site-header.hw-header {
            position: fixed !important;
            left: 0 !important;
        }
        /* Push page content below fixed header */
        .site-content,
        .hw-hero,
        .site-header.hw-header + .hw-hero,
        .site-header.hw-header + #content,
        .site-header.hw-header ~ .hw-hero {
            margin-top: 0;
        }
    }
    /* Offset for WP admin bar (logged-in users) */
    .admin-bar .site-header.hw-header {
        top: 32px !important;
    }
    @media screen and (max-width: 782px) {
        .admin-bar .site-header.hw-header {
            top: 46px !important;
        }
    }
    .site-header.hw-header.sticky {
        box-shadow: 0 1px 8px rgba(0,0,0,0.08);
    }

    .hw-header__nav-menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        gap: 0;
    }

    .hw-header__nav-menu > li {
        display: inline-block;
        list-style: none;
        position: static;
    }

    /* Override old off-canvas-menu dotted separators */
    .hw-header__nav-menu > li::after,
    .hw-header__nav-menu > li > a {
        background-image: none !important;
        padding-right: 0 !important;
    }

    .hw-header__nav-menu > li > a {
        font-family: 'Lato', sans-serif !important;
        font-size: 0.72rem !important;
        font-weight: 400 !important;
        letter-spacing: 0.08em !important;
        text-transform: lowercase !important;
        color: #373737 !important;
        text-decoration: none !important;
        transition: color 0.25s ease;
        white-space: nowrap;
        margin-right: 0 !important;
        padding: 0.9em 1.1em !important;
        display: block;
    }

    /* Align first menu item flush with logo */
    .hw-header__nav-menu > li:first-child > a {
        padding-left: 0 !important;
    }

    .hw-header__nav-menu > li > a:hover,
    .hw-header__nav-menu > li.current-menu-item > a,
    .hw-header__nav-menu > li.submenu-active > a {
        color: #c9a87c !important;
    }

    /* "more" style dropdown arrow for items with children */
    .hw-header__nav-menu > li.menu-item-has-children > a::after {
        content: ' \25BE';
        font-size: 0.7em;
        opacity: 0.5;
        margin-left: 0.2em;
    }

    .hw-header__nav-menu > li.menu-item-has-children > span {
        display: none !important;
    }

    /* Show desktop nav on large screens */
    @media only screen and (min-width: 64em) {
        .hw-header__desktop {
            display: flex !important;
        }
        .hw-header__mobile {
            display: none !important;
        }
    }

    /* ---- MOBILE HEADER BAR ---- */
    .hw-header__mobile {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.75em 1em;
    }

    .hw-header__hamburger {
        border: none;
        background: transparent;
        font-size: 1.5em;
        color: #c9a87c;
        cursor: pointer;
        padding: 0;
        line-height: 1;
    }

    .hw-header__logo-mobile {
        flex: 1;
        text-align: center;
        line-height: 0;
    }

    .hw-header__logo-mobile img {
        max-width: 220px;
        width: 100%;
        height: auto;
    }

    .hw-header__logo-mobile-svg {
        max-width: 240px;
        width: 100%;
        height: auto;
        display: inline-block;
    }
    .hw-header__logo-mobile-svg path {
        fill: #1a1a1a;
    }

    .hw-header__search-mobile {
        color: #c9a87c;
        font-size: 1.1em;
        text-decoration: none;
        line-height: 1;
    }

    /* ---- STICKY NAV ---- */
    .hw-header.sticky .hw-header__topbar {
        padding: 0.5em 1.5em 0.3em;
    }
    .hw-header.sticky .hw-header__logo {
        width: 220px;
    }
    .hw-header.sticky .hw-header__logo img,
    .hw-header.sticky .hw-header__logo-svg {
        width: 220px;
    }
    .hw-header.sticky .hw-header__navbar {
        padding: 0 1.5em;
    }

    /* ---- MEGA MENU DROPDOWNS (nav bar row 2) ---- */

    /* Dropdown panel — uses relative positioning for the left/right split */
    .hw-header__nav-menu .sub-menu {
        display: none;
        list-style: none !important;
        padding: 1em !important;
        position: absolute;
        left: 0 !important;
        right: 0;
        top: 100%;
        min-height: 26em;
        background: #fff;
        border-top: 1px solid #ededed;
        box-shadow: 0 4px 9px rgba(0,0,0,0.15);
        z-index: 600;
        margin: 0 !important;
    }
    .hw-header__nav-menu > li.submenu-active > .sub-menu {
        display: block;
    }

    /* ALL list items: position in left column (25% width, stacked) */
    .hw-header__nav-menu .sub-menu > li {
        display: block !important;
        float: none !important;
        width: 25% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .hw-header__nav-menu .sub-menu > li > a {
        font-family: 'Lato', sans-serif !important;
        font-size: 0.82rem !important;
        font-weight: 400 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.06em !important;
        display: block !important;
        width: 90%;
        margin: 0 !important;
        padding: 0.5em 0 !important;
        border-bottom: 1px solid #f0ebe6;
        color: #373737 !important;
        text-decoration: none !important;
        white-space: normal !important;
        background-image: none !important;
        background: none !important;
    }
    .hw-header__nav-menu .sub-menu > li > a:hover {
        color: #c9a87c !important;
    }

    /* Recent posts item — absolutely positioned right column (75%) */
    .hw-header__nav-menu .sub-menu > li.recent-posts {
        position: absolute !important;
        top: 1em !important;
        left: 25% !important;
        width: 75% !important;
        padding-left: 1.5em !important;
        border-left: 1px solid #b7a297;
        height: auto;
    }

    /* Featured post wrapper — horizontal flex row */
    .hw-header__nav-menu .featured-post-menu-wrapper {
        display: flex !important;
        gap: 1em;
        padding: 0;
    }

    /* Individual featured post card */
    .hw-header__nav-menu .featured-post-menu-content {
        flex: 1;
        max-width: 18.5em;
        border: 1px solid #f0ebe6;
        transition: border-color 0.25s ease;
        overflow: hidden;
    }
    .hw-header__nav-menu .featured-post-menu-content:hover {
        border-color: #f5c1aa;
    }
    .hw-header__nav-menu .featured-post-menu-content a {
        text-decoration: none !important;
        display: block;
    }
    .hw-header__nav-menu .featured-post-menu-content img {
        width: 100%;
        height: 12em;
        object-fit: cover;
        display: block;
    }

    /* Post title block */
    .hw-header__nav-menu .features-post-menu-title,
    .hw-header__nav-menu .featured-post-menu-title {
        background: #f5f5f5;
        padding: 0.75em 0.8em;
        min-height: 4.5em;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    .hw-header__nav-menu .features-post-menu-title span,
    .hw-header__nav-menu .featured-post-menu-title span {
        font-family: 'Lato', sans-serif !important;
        font-size: 0.75rem !important;
        font-weight: 400 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: #373737 !important;
        line-height: 1.4;
    }

    /* View all link — stays in left column under subcategories */
    .hw-header__nav-menu .sub-menu > li.view-all,
    .hw-header__nav-menu .sub-menu > li.view-all-default {
        width: 25% !important;
    }
    .hw-header__nav-menu .sub-menu > li.view-all a,
    .hw-header__nav-menu .sub-menu > li.view-all-default a {
        border-bottom: none !important;
        margin-top: 0.5em;
        padding-top: 1em !important;
        text-align: left;
        text-transform: none !important;
        color: #c9a87c !important;
        font-size: 0.78rem !important;
        background-image: none !important;
        background: none !important;
    }
    .hw-header__nav-menu .sub-menu > li.view-all a:hover,
    .hw-header__nav-menu .sub-menu > li.view-all-default a:hover {
        color: #a58560 !important;
    }

    /* Nested sub-menus (shouldn't appear in mega dropdown) */
    .hw-header__nav-menu .sub-menu .sub-menu {
        display: none !important;
    }

    /* ==========================================================
       SITE-WIDE: Typography — Bodoni Moda headlines + Lato body
       ========================================================== */
    html, body,
    .sub-cat-nav-catlist, .sub-cat-nav-catlist a,
    .sub-cat-nav-archive, .sub-cat-nav-archive a,
    .sub-cat-nav-taglist, .sub-cat-nav-taglist a,
    .posted-on, .meta-content-output,
    .dl-entry-cat, .dl-entry-region, .dl-entry-link,
    .dienstleister-section .button,
    .dienstleister-section-intro a,
    .hw-plan-card__desc,
    .hw-plan-card__arrow,
    .hw-plan-gallery__gal-cta a,
    .hw-realweddings__cta,
    .hw-diy-strip__card-tag,
    .hw-vendor-card__cat,
    .hw-vendor-card__region {
        font-family: 'Lato', 'Bryant Condensed', 'Helvetica Neue', Arial, sans-serif !important;
        font-weight: 400;
    }
    /* Generic heading reset */
    h1, h2, h3, h4, h5, h6 {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-weight: 500;
        text-transform: none !important;
    }

    /* Post / card titles → Bodoni Moda italic for editorial consistency */
    .entry-title, .entry-title a,
    .hw-realweddings__card-title,
    .hw-lookbook-strip__card-title,
    .hw-diy-strip__card-title,
    .hw-vendor-card__name,
    .hw-plan-card__title {
        font-family: 'Bodoni Moda', 'Georgia', serif !important;
        font-weight: 300 !important;
        font-style: italic !important;
        text-transform: none !important;
    }

    /* Section headings → Bodoni Moda (elegant editorial) */
    .hw-featured__heading,
    .hw-featured__heading span,
    .hw-plan-gallery__heading,
    .hw-plan-gallery__heading span,
    .hw-realweddings__heading,
    .hw-realweddings__heading span,
    .hw-lookbook-strip__heading,
    .hw-lookbook-strip__heading span,
    .hw-diy-strip__heading,
    .hw-diy-strip__heading span,
    .hw-picks__heading,
    .hw-picks__heading span,
    .hw-latest-slider__heading,
    .hw-stories__heading,
    .hw-instagram-section__heading,
    .hw-instagram-section__heading span {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-weight: 400 !important;
        font-style: italic !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
        color: #c9a87c !important;
    }
    /* Planen hub heading — dark like vendor search heading */
    .hw-planen-hub__heading {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-weight: 400 !important;
        font-style: italic !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
        color: #1a1a1a !important;
    }
    /* Vendor search heading — italic to match larger headings */
    .hw-vendor-search__title {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-weight: 400 !important;
        font-style: italic !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
        color: #1a1a1a !important;
    }
    /* Section headline (search results, Locations etc.) — italic to match larger headings */
    .section-headline,
    .section-headline span {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-weight: 400 !important;
        font-style: italic !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
        color: #c9a87c !important;
    }
    /* Sidebar widget titles — Bodoni Moda italic to match homepage */
    .widget-title {
        font-family: 'Bodoni Moda', 'Georgia', serif !important;
        font-weight: 400 !important;
        font-style: italic !important;
        font-size: 1.4rem !important;
        text-transform: none !important;
        color: #1a1a1a !important;
        letter-spacing: 0.01em !important;
    }
    /* Category labels — WCAG AA compliant color */
    .cat-links,
    .cat-links a {
        color: #f5c1aa !important;
        font-family: 'Lato', sans-serif !important;
        font-weight: 400 !important;
        letter-spacing: 0.1em !important;
    }
    .cat-links a:hover { color: #e6a88f !important; }
    .cat-links:before, .cat-links:after {
        border-bottom-color: #d4c4ba !important;
    }
    /* Accessible heading spacing */
    h1, h2, h3, h4, h5, h6 { line-height: 1.3 !important; margin-bottom: 0.6em; }
    p { line-height: 1.7; }
    /* Focus styles for keyboard navigation */
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
        outline: 2px solid #f5c1aa !important;
        outline-offset: 2px !important;
    }
    /* Skip link for screen readers */
    .skip-link { position: absolute; left: -9999px; top: auto; }
    .skip-link:focus { left: 10px; top: 10px; z-index: 10000; background: #fff; padding: 8px 16px; }

    /* ==========================================================
       SITE-WIDE: Hide legacy peach meta box on ALL pages
       The .meta-wrapper renders a coral rectangle with a pink border
       via :after, used to contain the posted-date + share buttons.
       The share buttons are suppressed further down, so on single
       posts only the date remained — in white text on coral, a
       visual "empty square". Site-wide hide, per user request 2026-04.
       ========================================================== */
    .entry-meta .meta-wrapper {
        display: none !important;
    }
    .entry-meta {
        margin-top: 0 !important;
    }
    .sharing-options,
    .sharing-options .essb_links,
    .entry-meta .sharing-options,
    .entry-meta .sharing-options .essb_links {
        display: none !important;
        visibility: hidden !important;
    }
    .essbis .essbis-share-box,
    .essbis .essbis-mobile-btn { display: none !important; visibility: hidden !important; }

    /* ==========================================================
       SITE-WIDE: Hide ESSB auto-displayed share buttons
       ========================================================== */
    .essb_links:not(.essb_displayed_shortcode) { display: none !important; }
    .essb_links.essb_displayed_bottom,
    .essb_links.essb_displayed_top,
    .essb_links.essb_displayed_float,
    .essb_links.essb_displayed_sidebar,
    .essb_links.essb_displayed_sidebar_right,
    .essb_links.essb_displayed_postfloat,
    .essb_links.essb_displayed_heroshare,
    .essb_links.essb_displayed_popup,
    .essb_links.essb_displayed_flyin { display: none !important; }

    /* ==========================================================
       SITE-WIDE: Footer social followers bar
       ========================================================== */
    .footer-social .essb-fc-root { text-align: center; }
    .footer-social .essb-fc-root h3 { display: none !important; }
    .footer-social .essb-fc-grid {
        display: flex !important;
        justify-content: center;
        gap: 10px;
    }
    .footer-social .essb-fc-block {
        background-color: transparent !important;
        border: 1px solid #e0d5cf !important;
        border-radius: 3px;
        padding: 12px 18px !important;
        flex: 0 1 auto !important;
        min-width: 120px;
    }
    .footer-social .essb-fc-block .essb-fc-block-icon,
    .footer-social .essb-fc-block .essb-fc-block-icon i,
    .footer-social .essb-fc-block .essb-fc-block-icon svg {
        color: #8c6d5d !important;
        fill: #8c6d5d !important;
        font-size: 22px !important;
    }
    .footer-social .essb-fc-block .essb-fc-block-icon svg path {
        fill: #8c6d5d !important;
    }
    .footer-social .essb-fc-block .essb-fc-block-details { color: #333 !important; }
    .footer-social .essb-fc-block .essb-fc-block-details span:first-child {
        color: #333 !important; font-size: 15px !important; font-weight: 600 !important;
    }
    .footer-social .essb-fc-block .essb-fc-block-details span:last-child {
        color: #5a5a5a !important; font-size: 11px !important;
        text-transform: uppercase !important; letter-spacing: 0.05em !important;
    }
    .footer-social .essb-fc-block:hover { border-color: #8c6d5d !important; }
    .footer-social [class*="essb-fc-bg-"] {
        background-color: transparent !important; background: transparent !important;
    }

    /* ==========================================================
       SITE-WIDE: Dienstleister section fix (3 vendor cards)
       Remove fixed height/overflow that clips the layout
       ========================================================== */
    .dienstleister-section {
        height: auto !important;
        overflow: visible !important;
    }
    .dienstleister-section .dienstleister-section-selection {
        height: auto !important;
    }
    .dienstleister-section .dienstleister-section-selection li {
        height: 280px !important;
    }
    .dienstleister-section .dienstleister-section-intro {
        height: auto !important;
        min-height: 280px;
    }
    .dienstleister-section .dienstleister-section-selection li .dienstleister-entry-content h5 {
        text-transform: none !important;
        font-family: 'Bodoni Moda', serif !important;
    }

    /* ==========================================================
       SITE-WIDE: Google AdSense containment
       Prevent ads from breaking layout flow
       ========================================================== */
    .adsbygoogle, ins.adsbygoogle {
        max-width: 100% !important;
        overflow: hidden !important;
        display: block !important;
        margin: 1.5em auto !important;
    }

    /* ==========================================================
       MOBILE: Comprehensive mobile fixes
       ========================================================== */
    @media only screen and (max-width: 46.195em) {
        /* Hero overlay */
        .hw-hero__overlay {
            background: linear-gradient(
                to bottom,
                rgba(0, 0, 0, 0.1) 0%,
                rgba(0, 0, 0, 0.3) 30%,
                rgba(0, 0, 0, 0.72) 100%
            ) !important;
        }
        /* Vendor list */
        .hw-vendor-search__regions,
        .hw-vendor-search__regions ul,
        ul.hw-vendor-search__regions {
            list-style: none !important;
            list-style-type: none !important;
            padding: 0 !important;
            padding-left: 0 !important;
            margin: 0 !important;
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: center !important;
            gap: 0.35em !important;
        }
        .hw-vendor-search__regions li,
        ul.hw-vendor-search__regions li {
            list-style: none !important;
            list-style-type: none !important;
            display: inline-block !important;
        }
        /* Homepage region pills — horizontal scroll on mobile */
        @media (max-width: 47.99em) {
            .hw-vendor-search__regions,
            .hw-vendor-search__regions ul,
            ul.hw-vendor-search__regions {
                flex-wrap: nowrap !important;
                overflow-x: auto !important;
                -webkit-overflow-scrolling: touch !important;
                justify-content: flex-start !important;
                scrollbar-width: none !important;
                padding: 0 1em !important;
            }
            .hw-vendor-search__regions::-webkit-scrollbar { display: none !important; }
            .hw-vendor-search__regions li,
            ul.hw-vendor-search__regions li {
                flex-shrink: 0 !important;
            }
            .hw-vendor-search__region a {
                font-size: 0.65rem !important;
                padding: 5px 12px !important;
                white-space: nowrap !important;
            }
        }
        /* Dienstleister — show on mobile as stacked cards */
        .dienstleister-section.medium-up {
            display: block !important;
        }
        .dienstleister-section .dienstleister-section-intro {
            float: none !important;
            width: 100% !important;
            margin: 0 0 1.5em !important;
            padding: 2em 1em !important;
            min-height: auto !important;
        }
        .dienstleister-section .dienstleister-section-intro div {
            position: static !important;
            transform: none !important;
        }
        .dienstleister-section .dienstleister-section-selection {
            float: none !important;
            width: 100% !important;
            margin: 0 !important;
        }
        .dienstleister-section:not(.clone) .dienstleister-section-selection li {
            float: none !important;
            width: 100% !important;
            height: 220px !important;
            margin: 0 0 1em !important;
        }
        /* Tighter section spacing on mobile */
        .section-headline { font-size: 1.2rem !important; letter-spacing: 0.01em !important; text-transform: none !important; }
    }

    <?php if ( is_front_page() || is_home() ) : ?>
    /* ==========================================================
       HOMEPAGE ONLY: Hide old blog post grid & module-a
       (Replaced by Latest Posts slider in homepage-slider.php)
       ========================================================== */
    .home .site-main .default-row-layout,
    .home .site-main .module-a-layout,
    .home .default-row-layout,
    .home .module-a-layout,
    .home .sub-category-nav,
    .home .article-row {
        display: none !important;
    }

    /* ==========================================================
       HOMEPAGE ONLY: Hide empty/placeholder ad containers
       ========================================================== */
    .home .ad-section.ad-1col { display: none !important; }
    .home .ad-small-three { display: none !important; }
    .home img[src*="placehold.it"] { display: none !important; }
    .home .ad-section.ad-2col:empty,
    .home .ad-section .ad-medium-one:empty,
    .home .ad-section .ad-medium-two:empty,
    .home .ad-section .ad-small-two:empty,
    .home .ad-section .ad-small-four:empty { display: none; }

    /* ==========================================================
       HOMEPAGE ONLY: Locations & Flitterwochen grid
       ========================================================== */
    .locations-flitterwochen-section { margin-top: 3em; margin-bottom: 3em; padding: 2em 0; clear: both; }
    .locations-flitterwochen-section .section-headline {
        margin-bottom: 1.5em;
        font-size: clamp(2rem, 5vw, 3.2rem) !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
    }
    .section-headline::after {
        border-color: #d5c8be !important;
    }
    .locations-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25em; }
    .location-card { position: relative; overflow: hidden; text-align: center; }
    .location-card a { display: block; text-decoration: none; color: inherit; }
    .location-card img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform 0.35s ease, opacity 0.35s ease; }
    .location-card:hover img { transform: scale(1.04); opacity: 0.85; }
    .location-card h6 { margin-top: 0.75em; font-size: 0.875rem; letter-spacing: 0.05em; line-height: 1.4; }
    @media only screen and (max-width: 46.195em) {
        .locations-grid { grid-template-columns: repeat(2, 1fr); gap: 1em; }
        .location-card img { height: 180px; }
    }
    @media only screen and (max-width: 30em) {
        .locations-grid { grid-template-columns: 1fr; }
        .location-card img { height: 200px; }
    }

    /* Also hide old sections */
    .home .dienstleister-section,
    .home .load-more-button,
    .home .paging-navigation { display: none !important; }

    /* ==========================================================
       HOMEPAGE ONLY: Instagram grid section
       ========================================================== */
    .hw-instagram-section {
        padding: 3em 0;
        text-align: center;
        border-top: 1px solid #eee;
        margin-top: 2em;
    }
    .hw-instagram-section__heading {
        font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
        margin-bottom: 0.3em !important;
        position: relative;
    }
    .hw-instagram-section__heading::after {
        content: '';
        position: absolute;
        z-index: 0;
        display: block;
        width: 100%;
        height: 1px;
        border-bottom: 1px solid #d5c8be;
        top: 50%;
    }
    .hw-instagram-section__heading span {
        display: inline-block;
        background: #fff;
        padding: 0 1em;
        position: relative;
        z-index: 1;
    }
    .hw-instagram-section__handle {
        font-family: 'Lato', sans-serif !important;
        font-size: 0.8rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #737373;
        margin-bottom: 1.5em;
    }
    .hw-instagram-section__handle a {
        color: #a06840;
        text-decoration: none;
    }
    .hw-instagram-section__handle a:hover { text-decoration: underline; }

    .hw-instagram-section__feed {
        max-width: 1200px;
        margin: 0 auto;
    }

    <?php endif; ?>

    /* ==========================================================
       SINGLE POST: Sidebar overrides (author, vendors, headings)
       ========================================================== */
    /* Sidebar section headings — Bodoni Moda italic, gold */
    .single-post .entry-details .entry-details-title {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-size: 1.4rem !important;
        letter-spacing: 0.01em !important;
        text-transform: none !important;
        color: #c9a87c !important;
        font-weight: 400 !important;
        font-style: italic !important;
        border-bottom: 1px solid #e8e0db !important;
        padding-bottom: 0.45em !important;
        padding-top: 0.6em !important;
        margin-bottom: 0.5em !important;
    }
    /* Author name — Lato, not italic, dark */
    .single-post .entry-details .entry-details-author a {
        font-family: 'Lato', sans-serif !important;
        font-style: normal !important;
        font-weight: 400 !important;
        color: #1a1a1a !important;
        text-decoration: none !important;
        font-size: 0.95rem !important;
    }
    .single-post .entry-details .entry-details-author a:hover {
        color: #8b7250 !important;
    }
    /* Vendor list items — Bodoni Moda italic for names */
    .single-post .entry-details .entry-details-credits li {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-weight: 400 !important;
        font-style: italic !important;
        font-size: 0.95rem !important;
        text-transform: none !important;
        line-height: 1.4 !important;
        color: #1a1a1a !important;
    }
    /* Vendor job label — small Lato */
    .single-post .entry-details .entry-details-credits li strong {
        font-family: 'Lato', sans-serif !important;
        font-weight: 400 !important;
        font-style: normal !important;
        font-size: 0.7rem !important;
        letter-spacing: 0.04em !important;
        color: #767676 !important;
        text-transform: none !important;
        display: block !important;
        margin-top: 0.75em !important;
    }
    .single-post .entry-details .entry-details-credits li:first-child strong {
        margin-top: 0 !important;
    }
    /* Vendor name links */
    .single-post .entry-details .entry-details-credits li a {
        font-family: 'Bodoni Moda', 'AireBoldStd', 'Times New Roman', serif !important;
        font-weight: 400 !important;
        font-style: italic !important;
        font-size: 0.95rem !important;
        text-transform: none !important;
        color: #1a1a1a !important;
        text-decoration: none !important;
    }
    .single-post .entry-details .entry-details-credits li a:hover {
        color: #8b7250 !important;
    }

    /* ==========================================================
       SITE-WIDE: Button color standardization — #ecc3ad + dark text
       Override the compiled button base (white text on #f5c1aa)
       ========================================================== */
    .button:after,
    .error-404 .searchform-wrapper input[type="submit"]:after,
    button:not(.off-canvas-toggle):not(.slick-prev):not(.slick-next):after {
        background-color: #ecc3ad !important;
    }
    .button:hover:after,
    button:not(.off-canvas-toggle):not(.slick-prev):not(.slick-next):hover:after {
        background-color: #d4a48e !important;
    }
    .button,
    .error-404 .searchform-wrapper input[type="submit"],
    button:not(.off-canvas-toggle):not(.slick-prev):not(.slick-next) {
        color: #1a1a1a !important;
    }
    /* Keep white text for buttons over dark photo overlays */
    .hw-hero__cta,
    .vendor_banner .button {
        color: #fff !important;
    }
    /* input[type=submit] global — peach bg, dark text */
    input[type="submit"] {
        background-color: #ecc3ad !important;
        color: #1a1a1a !important;
    }
    input[type="submit"]:hover {
        background-color: #d4a48e !important;
    }

    /* ==========================================================
       VENDOR PAGE: Banner — keep gradient on desktop, peach on mobile
       ========================================================== */
    /* Hide old category label on banner — replaced by pill nav above */
    .single-hw_wahnbuechlein .vendor_banner .vendor_cat_name {
        display: none !important;
    }
    /* Desktop: keep the dark gradient, just ensure text is readable */
    .single-hw_wahnbuechlein .vendor_banner .caption h1,
    .single-hw_wahnbuechlein .vendor_banner .caption p,
    .single-hw_wahnbuechlein .vendor_banner .caption .vendor_social_icons a,
    .single-hw_wahnbuechlein .vendor_banner .caption .vendor_social_icons span,
    .single-hw_wahnbuechlein .vendor_banner .caption p i.fa {
        color: #fff !important;
    }
    /* Mobile (≤650px): compiled CSS sets position:static + peach bg — make it readable */
    @media (max-width: 650px) {
        .single-hw_wahnbuechlein .vendor_banner .caption {
            background: #ecc3ad !important;
        }
        .single-hw_wahnbuechlein .vendor_banner .caption h1,
        .single-hw_wahnbuechlein .vendor_banner .caption p,
        .single-hw_wahnbuechlein .vendor_banner .caption .vendor_social_icons a,
        .single-hw_wahnbuechlein .vendor_banner .caption .vendor_social_icons span,
        .single-hw_wahnbuechlein .vendor_banner .caption p i.fa,
        .single-hw_wahnbuechlein .vendor_banner .caption .banner_rating,
        .single-hw_wahnbuechlein .vendor_banner .caption .banner_rating * {
            color: #1a1a1a !important;
        }
    }

    /* Tier badge on hero banner — direct child of .vendor_banner (position:relative, height:500px) */
    .vendor_banner > .hw-hero-badge {
        position: absolute !important;
        z-index: 6;
        top: 16px !important;
        right: 16px !important;
        left: auto !important;
        bottom: auto !important;
        display: inline-block;
        font-family: 'Lato', sans-serif !important;
        font-size: 0.7rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.1em !important;
        text-transform: uppercase !important;
        padding: 8px 18px !important;
        border-radius: 3px;
        line-height: 1.2;
        pointer-events: none;
        box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    }
    .hw-hero-badge-premium {
        background: #ecc3ad !important;
        color: #1a1a1a !important;
    }
    .hw-hero-badge-featured {
        background: linear-gradient(135deg, #d4a44a 0%, #c49a3c 50%, #b8912e 100%) !important;
        color: #fff !important;
    }

    /* ==========================================================
       VENDOR PAGE: Mobile layout — sidebar, reordering, logo+buttons
       ========================================================== */
    @media (max-width: 650px) {
        /* --- Mobile: Tier badge — smaller, tighter to edge --- */
        .hw-hero-badge {
            top: 10px !important;
            right: 10px !important;
            font-size: 0.6rem !important;
            padding: 6px 12px !important;
        }
        /* --- Mobile: Flex column for reordering inside vendor_top_section --- */
        .single-hw_wahnbuechlein .vendor_top_section {
            display: flex !important;
            flex-direction: column !important;
            overflow: visible !important;
        }
        .single-hw_wahnbuechlein .vendor_top_section > .entry-details {
            order: 1 !important;
            float: none !important;
            width: 100% !important;
            border-right: none !important;
            padding-right: 0 !important;
        }
        /* Übersicht above description on mobile */
        .single-hw_wahnbuechlein .vendor_top_section > .hw-uebersicht-section {
            order: 2 !important;
            float: none !important;
            width: 100% !important;
            clear: none !important;
            margin-top: 0.5em !important;
        }
        .single-hw_wahnbuechlein .vendor_top_section > .hw-vendor-desc {
            order: 3 !important;
            float: none !important;
            width: 100% !important;
        }

        /* --- Mobile sidebar: logo left, buttons stacked vertically --- */
        .single-hw_wahnbuechlein .vendor_top_section > .entry-details .entry-details-top {
            display: flex !important;
            flex-wrap: wrap !important;
            align-items: flex-start !important;
            gap: 10px !important;
        }
        .single-hw_wahnbuechlein .vendor_top_section > .entry-details .entry-details-top .details-top-img {
            flex: 0 0 70px !important;
            max-width: 70px !important;
            margin-bottom: 0 !important;
        }
        .single-hw_wahnbuechlein .vendor_top_section > .entry-details .entry-details-top .details-top-content {
            flex: 1 !important;
            min-width: 0 !important;
        }
        /* Buttons stacked vertically on mobile */
        .single-hw_wahnbuechlein .vendor_top_section > .entry-details .details-top-content-basics {
            display: flex !important;
            flex-direction: column !important;
            gap: 4px !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        html body.single-hw_wahnbuechlein .details-top-content-basics li.hw-refined-link {
            display: block !important;
            margin-right: 0 !important;
            text-align: center !important;
        }
    }

    /* ==========================================================
       VENDOR PAGE: Desktop CSS Grid layout — closes the gap
       between sidebar contact CTA and Übersicht section
       ========================================================== */
    .single-hw_wahnbuechlein .entry-footer {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
    }
    @media (min-width: 651px) {
        .single-hw_wahnbuechlein .vendor_top_section {
            display: grid !important;
            grid-template-columns: 35% 1fr !important;
            grid-template-rows: auto auto !important;
            gap: 0 3% !important;
            overflow: visible !important;
            margin-bottom: 0 !important;
        }
        .single-hw_wahnbuechlein .vendor_top_section > .entry-details {
            grid-column: 1 !important;
            grid-row: 1 !important;
            float: none !important;
            width: auto !important;
            margin: 0 !important;
            /* No align-self:start — let the aside STRETCH to full row height
               so the border-right runs the full length of the description column */
            align-self: stretch !important;
            border-right: 1px solid #e0d5cf !important;
            padding-right: 1.5em !important;
        }
        .single-hw_wahnbuechlein .vendor_top_section > .hw-uebersicht-section {
            grid-column: 1 / -1 !important;
            grid-row: 2 !important;
            float: none !important;
            width: auto !important;
            margin-top: 1em !important;
            clear: none !important;
        }
        .single-hw_wahnbuechlein .vendor_top_section > .hw-vendor-desc {
            grid-column: 2 !important;
            grid-row: 1 !important;
            float: none !important;
            width: auto !important;
            margin: 0 !important;
        }
    }

    /* ==========================================================
       SHARED: Lookbook vendor card styles (used on filter pages,
       vendor detail related section, and main directory)
       ========================================================== */
    .hw-vcard-img-wrap {
        position: relative;
        padding-top: 120%; /* 4:5 portrait */
        overflow: hidden;
    }
    .hw-vcard-img-wrap img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s;
    }
    .hw-vcard-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 50%);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 1.2em;
    }
    .hw-vcard-overlay .hw-vcard-cat {
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        font-size: 0.68rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.8);
        margin-bottom: 0.25em;
    }
    .hw-vcard-overlay h3 {
        font-family: 'Bodoni Moda', 'Georgia', serif;
        font-weight: 400;
        font-style: italic;
        font-size: 1.1rem;
        color: #fff;
        line-height: 1.3;
        margin: 0;
    }
    .hw-vcard-badge {
        position: absolute;
        top: 12px;
        left: 12px;
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        font-size: 0.6rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        padding: 3px 10px;
        border-radius: 2px;
        z-index: 2;
    }
    /* Premium badge: peach */
    .hw-vcard-badge-premium {
        background: #ecc3ad;
        color: #1a1a1a;
    }
    /* Featured badge: gold */
    .hw-vcard-badge-featured {
        background: linear-gradient(135deg, #d4a44a 0%, #c49a3c 50%, #b8912e 100%);
        color: #fff;
    }

    /* ==========================================================
       VENDOR PAGE: Weitere Dienstleister — Slick carousel
       Slick targets .dienstleister-section-selection (UL>LI).
       Inside each LI we use the lookbook card (.hw-related-card).
       IMPORTANT: Do NOT use float:none on li or .slick-slide —
       Slick relies on floats for its track layout.
       ========================================================== */
    .single-hw_wahnbuechlein .dienstleister-section.clone {
        height: auto !important;
        overflow: visible !important;
        margin-top: 2em;
        margin-bottom: 2em;
        clear: both !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone .section-headline {
        text-align: center;
        margin-bottom: 1.5em;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection {
        width: 100% !important;
        height: auto !important;
        padding: 0 2em !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone .slick-slide {
        margin: 0 8px;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone .slick-list {
        margin: 0 -8px;
        overflow: hidden !important;
    }
    /* LI: let Slick handle float/width; we just fix height + overflow */
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li {
        height: auto !important;
        position: relative !important;
        overflow: hidden !important;
        border-radius: 2px;
    }
    /* Show first-child (compiled CSS hides it on some breakpoints) */
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li:first-child {
        display: list-item !important;
    }
    /* Rev 6 — Card layout (original markup: a > img + .dienstleister-entry-content).
       The <a> MUST be display:block so it respects the <li>'s slick-computed width.
       Without this the <a> is inline and the 1057px-wide image pushes the slide
       to full viewport width. */
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li > a {
        display: block !important;
        width: 100% !important;
        position: relative !important;
        overflow: hidden !important;
        text-decoration: none !important;
        color: inherit !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
    /* Text overlay — sits over bottom of image */
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-entry-content {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%) !important;
        color: #fff !important;
        padding: 2.5em 1em 1em !important;
        z-index: 2 !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-entry-content h5 {
        color: #fff !important;
        margin: 0 !important;
        font-size: 0.95rem !important;
        font-family: 'Bodoni Moda', serif !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone .dl-entry-cat,
    .single-hw_wahnbuechlein .dienstleister-section.clone .dl-entry-region {
        color: rgba(255,255,255,0.85) !important;
        font-size: 0.75rem !important;
        display: block !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone li > a:hover img {
        transform: scale(1.03) !important;
        transition: transform 0.3s ease !important;
    }
    /* Slick arrows — peach squares */
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-prev,
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-next {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 10 !important;
        width: 50px !important;
        height: 50px !important;
        border-radius: 0 !important;
        background: #ecc3ad !important;
        border: none !important;
        box-shadow: none !important;
        cursor: pointer !important;
        color: #1a1a1a !important;
        font-size: 0 !important;
        padding: 0 !important;
        line-height: 50px !important;
        text-align: center !important;
        transition: background 0.2s ease !important;
        margin-top: 0 !important;
        opacity: 1 !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-prev {
        left: 6px !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-next {
        right: 6px !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-prev span,
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-next span {
        display: inline !important;
        font-family: 'Hochzeitswahn' !important;
        font-size: 18px !important;
        color: #1a1a1a !important;
        line-height: 50px !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-prev::before,
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-next::before,
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-prev::after,
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-next::after {
        display: none !important;
        content: none !important;
    }
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-prev:hover,
    .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-next:hover {
        background: #d4a48e !important;
    }

    /* Mobile: Slick clone — generic rule now excludes .clone via :not(.clone),
       so Slick's inline styles control float/width. Just ensure sensible defaults. */
    @media only screen and (max-width: 46.195em) {
        .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection {
            float: none !important;
            width: 100% !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li {
            height: auto !important;
        }
    }

    /* Mobile: single card full-width */
    @media (max-width: 520px) {
        .single-hw_wahnbuechlein .dienstleister-section.clone {
            padding: 0 !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection {
            padding: 0 1em !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone .slick-slide {
            margin: 0 !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone .slick-list {
            margin: 0 !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li {
            border-radius: 6px !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone li > a {
            border-radius: 6px !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-prev {
            left: 0 !important;
        }
        .single-hw_wahnbuechlein .dienstleister-section.clone button.slick-next {
            right: 0 !important;
        }
    }

    /* Kill clearfix pseudo-elements that interfere with Slick */
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection::before,
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection::after,
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li::before,
    .single-hw_wahnbuechlein .dienstleister-section.clone .dienstleister-section-selection li::after {
        display: none !important;
        content: none !important;
    }

    /* ==========================================================
       ARCHIVE PAGE: First row — post + post + ad (3-column)
       ========================================================== */
    @media only screen and (min-width: 64em) {
        .hw-row-with-ad {
            display: grid !important;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 1%;
            overflow: visible !important;
        }
        .hw-row-with-ad > article {
            float: none !important;
            width: auto !important;
            margin: 0 !important;
        }
        .hw-row-with-ad > article:first-child {
            grid-row: 1 / 2;
            grid-column: 1 / 2;
        }
        .hw-row-with-ad > article:nth-child(2) {
            grid-row: 1 / 2;
            grid-column: 2 / 3;
        }
        .hw-row-with-ad > .hw-ad-inline {
            grid-row: 1 / 2;
            grid-column: 3 / 4;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 !important;
        }
    }
    /* Mobile: ad goes full-width below the posts */
    @media only screen and (max-width: 63.999em) {
        .hw-row-with-ad > .hw-ad-inline {
            width: 100%;
            text-align: center;
            padding: 1.5em 0;
        }
    }

    /* ==========================================================
       ARCHIVE PAGE: Vendor cards (no Slick — pure CSS grid)
       ========================================================== */
    .archive .dienstleister-section.clone,
    .blog .dienstleister-section.clone {
        height: auto !important;
        overflow: visible !important;
        margin-top: 2em;
        margin-bottom: 2em;
        clear: both !important;
    }
    .archive .dienstleister-section.clone .section-headline,
    .blog .dienstleister-section.clone .section-headline {
        text-align: center;
        margin-bottom: 1.5em;
    }
    .archive .dienstleister-section-selection,
    .blog .dienstleister-section-selection {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        height: auto !important;
    }
    .archive .dienstleister-section-selection li,
    .blog .dienstleister-section-selection li {
        height: auto !important;
        position: relative !important;
        overflow: hidden !important;
        border-radius: 2px;
        float: none !important;
        width: auto !important;
    }
    .archive .dienstleister-section-selection li::before,
    .blog .dienstleister-section-selection li::before,
    .archive .dienstleister-section-selection li::after,
    .blog .dienstleister-section-selection li::after,
    .archive .dienstleister-section-selection::before,
    .blog .dienstleister-section-selection::before,
    .archive .dienstleister-section-selection::after,
    .blog .dienstleister-section-selection::after {
        display: none !important;
        content: none !important;
    }
    /* Card */
    .archive li .hw-related-card,
    .blog li .hw-related-card {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        border-radius: 2px;
        overflow: hidden;
        background: #f5f5f5;
        text-decoration: none;
        color: inherit;
    }
    /* Image wrapper */
    .archive li .hw-vcard-img-wrap,
    .blog li .hw-vcard-img-wrap {
        position: relative !important;
        padding-top: 120% !important;
        overflow: hidden !important;
        width: 100% !important;
        height: auto !important;
    }
    .archive li .hw-vcard-img-wrap img,
    .blog li .hw-vcard-img-wrap img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        transform: none !important;
    }
    /* Overlay */
    .archive li .hw-vcard-overlay,
    .blog li .hw-vcard-overlay {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 50%) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        padding: 1.2em !important;
        opacity: 1 !important;
        z-index: 2 !important;
    }
    .archive li .hw-vcard-overlay h3,
    .blog li .hw-vcard-overlay h3 {
        color: #fff !important;
        font-size: 1em !important;
        margin: 0 !important;
    }
    .archive li .hw-vcard-cat,
    .blog li .hw-vcard-cat {
        color: rgba(255,255,255,0.85) !important;
        font-size: 0.72em !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        margin-bottom: 0.3em !important;
    }
    .archive li .hw-related-card:hover .hw-vcard-img-wrap img,
    .blog li .hw-related-card:hover .hw-vcard-img-wrap img {
        transform: scale(1.03) !important;
        transition: transform 0.3s ease !important;
    }
    /* Responsive: 2 columns on tablet */
    @media (max-width: 768px) {
        .archive .dienstleister-section-selection,
        .blog .dienstleister-section-selection {
            grid-template-columns: repeat(2, 1fr) !important;
        }
    }
    /* Responsive: 1 column on mobile */
    @media (max-width: 480px) {
        .archive .dienstleister-section-selection,
        .blog .dienstleister-section-selection {
            grid-template-columns: 1fr !important;
        }
    }

    /* ==========================================================
       VENDOR PAGE: Vertical divider lines — ONE clean line only
       ========================================================== */
    .single-hw_wahnbuechlein .vendor_long_desc::after,
    .single-hw_wahnbuechlein .vendor_all_info_wrap::after {
        display: none !important;
    }

    /* ============ FAQ wrap: responsive fix (compiled CSS has width:640px) ============ */
    .faqs_wrap {
        max-width: 640px;
        width: 100% !important;
        box-sizing: border-box;
    }
    /* Fix: FAQ heading italic like other headings (Bodoni Moda) */
    .faqs_wrap h3,
    .hw-below-gallery-right h3 {
        font-family: 'Bodoni Moda', serif !important;
        font-style: italic !important;
        font-weight: 400 !important;
    }

    /* Mobile / Desktop visibility helpers */
    .hw-mobile-only { display: block; }
    .hw-desktop-only { display: none; }
    a.hw-desktop-only, a.hw-mobile-only { display: inline; }
    a.hw-desktop-only { display: none; }
    @media (min-width: 769px) {
        .hw-mobile-only { display: none !important; }
        a.hw-mobile-only { display: none !important; }
        .hw-desktop-only { display: block; }
        a.hw-desktop-only { display: inline; }
    }

    /* (Mobile FAQs removed — unified in below-gallery section) */

    /* Vendor detail — inline pill navigation (replaces dropdown filters) */
    .hw-vendor-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
        padding: 1.2em 1em;
        background: #faf8f5;
        border-bottom: 1px solid #f0ebe4;
    }
    .hw-vpill {
        display: inline-block;
        font-family: 'Lato', sans-serif;
        font-size: 0.72rem;
        font-weight: 400;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-decoration: none;
        padding: 7px 16px;
        border-radius: 20px;
        transition: background 0.2s, color 0.2s;
    }
    .hw-vpill-overview {
        background: #a06840;
        color: #fff !important;
    }
    .hw-vpill-overview:hover {
        background: #8a5835;
        color: #fff !important;
    }
    .hw-vpill-cat {
        background: #ecc3ad;
        color: #1a1a1a !important;
    }
    .hw-vpill-cat:hover {
        background: #d4a48e;
        color: #1a1a1a !important;
    }
    .hw-vpill-region {
        background: transparent;
        color: #1a1a1a !important;
        border: 1px solid #d5c8be;
    }
    .hw-vpill-region:hover {
        background: #f0ebe4;
        color: #1a1a1a !important;
    }
    @media (max-width: 520px) {
        .hw-vendor-pills {
            padding: 1em 0.75em;
            gap: 6px;
        }
        .hw-vpill {
            font-size: 0.65rem;
            padding: 6px 12px;
        }
    }

    /* Sidebar overview (replaces bio) */
    .hw-sidebar-overview {
        margin-top: 0.5em;
        padding-top: 0.5em;
        border-top: 1px solid #eee;
    }
    .hw-sidebar-details {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .hw-sidebar-details li {
        display: flex;
        padding: 6px 0;
        font-family: 'Lato', sans-serif;
        font-weight: 300;
        font-size: 0.82rem;
        color: #3a3a3a;
        border-bottom: 1px solid #f0ebe4;
        line-height: 1.5;
    }
    .hw-sidebar-details li:last-child { border-bottom: none; }
    .hw-sidebar-details li span:first-child {
        font-weight: 400;
        margin-right: 6px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    /* Inline contact form (both mobile & desktop) */
    .hw-inline-contact {
        margin-top: 16px;
        overflow: hidden;
        transition: max-height 0.35s ease;
    }
    .hw-inline-contact-inner {
        background: #faf8f6;
        border: 1px solid #e8e0d6;
        border-radius: 4px;
        padding: 20px;
    }
    .hw-inline-contact-inner strong {
        font-family: 'Bodoni Moda', serif;
        font-style: italic;
        font-weight: 400;
        font-size: 1.1rem;
        color: #1a1a1a;
    }
    .hw-inline-contact .gform_wrapper {
        margin-top: 0 !important;
    }
    .hw-inline-contact .gform_footer input[type="submit"] {
        width: 100% !important;
        display: block !important;
    }

    /* Google Reviews section */
    .hw-google-reviews {
        margin-top: 24px;
        padding-top: 20px;
        border-top: 1px solid #e8e0d6;
    }
    .hw-google-reviews h3 {
        font-family: 'Bodoni Moda', serif !important;
        font-style: italic !important;
        font-weight: 400 !important;
        font-size: 1.2rem;
        margin: 0 0 12px;
        color: #1a1a1a;
    }
    .hw-google-reviews-link {
        display: inline-flex;
        align-items: center;
        font-family: 'Lato', sans-serif;
        font-size: 0.82rem;
        font-weight: 400;
        color: #1a1a1a;
        text-decoration: none;
        padding: 8px 14px;
        background: #faf8f6;
        border: 1px solid #e8e0d6;
        border-radius: 4px;
        transition: background 0.2s, border-color 0.2s;
    }
    .hw-google-reviews-link:hover {
        background: #f0ebe6;
        border-color: #d4a48e;
        color: #1a1a1a;
    }

    /* ============ Below-gallery Übersicht + FAQs ============ */
    .hw-below-gallery-section {
        display: block;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 20px;
    }
    .hw-below-gallery-divider {
        border-top: 1px solid #e8e0d6;
        margin: 30px 0;
    }
    @media (min-width: 769px) {
        .hw-below-gallery-divider { margin: 40px 0; }
    }
    .hw-below-gallery-columns {
        display: flex;
        flex-direction: column;
        gap: 30px;
        align-items: stretch;
    }
    @media (min-width: 769px) {
        .hw-below-gallery-columns {
            flex-direction: row;
            gap: 60px;
            align-items: flex-start;
        }
    }
    .hw-below-gallery-left {
        flex: 1 1 50%;
        min-width: 0;
    }
    .hw-below-gallery-right {
        flex: 1 1 50%;
        min-width: 0;
    }
    .hw-below-gallery-left h3,
    .hw-below-gallery-right h3 {
        font-family: 'Bodoni Moda', serif !important;
        font-style: italic !important;
        font-weight: 400 !important;
        font-size: 1.4rem;
        margin: 0 0 16px;
        color: #1a1a1a;
    }
    @media (min-width: 769px) {
        .hw-below-gallery-left h3,
        .hw-below-gallery-right h3 {
            font-size: 1.6rem;
            margin: 0 0 20px;
        }
    }
    .hw-below-gallery-details {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .hw-below-gallery-details li {
        padding: 10px 0;
        border-bottom: 1px solid #e8e0d6;
        font-family: 'Lato', sans-serif;
        font-weight: 300;
        font-size: 0.85rem;
        color: #3a3a3a;
    }
    .hw-below-gallery-details li span:first-child {
        font-weight: 400;
        margin-right: 6px;
    }
    .hw-below-gallery-details li a {
        color: #a06840;
        text-decoration: none;
    }
    .hw-below-gallery-details li a:hover {
        color: #8a5530;
    }
    .hw-below-faq {
        margin-bottom: 18px;
        padding-bottom: 18px;
        border-bottom: 1px solid #e8e0d6;
    }
    .hw-below-faq:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .hw-below-faq .faq_question {
        font-family: 'Lato', sans-serif;
        font-weight: 400;
        font-size: 0.95rem;
        color: #1a1a1a;
        line-height: 1.6;
    }
    .hw-below-faq .faq_question .question {
        font-weight: 400;
    }
    .hw-below-faq .faq_answer_container {
        margin-top: 6px;
    }
    .hw-below-faq .faq_answer {
        font-family: 'Lato', sans-serif;
        font-weight: 300;
        font-size: 0.95rem;
        color: #3a3a3a;
        line-height: 1.7;
    }
    /* Override compiled CSS bold on faq_question globally */
    .faq_question {
        font-weight: 400 !important;
        font-family: 'Lato', sans-serif !important;
        font-size: 0.95rem !important;
        color: #1a1a1a !important;
        line-height: 1.6 !important;
    }
    .faq_question .question {
        font-weight: 400 !important;
    }
    .faq_answer {
        font-family: 'Lato', sans-serif !important;
        font-weight: 300 !important;
        font-size: 0.95rem !important;
        color: #3a3a3a !important;
        line-height: 1.7 !important;
    }
    .faq_question .fa,
    .faq_answer .fa {
        color: #a06840;
        margin-right: 6px;
    }

    /* ============ Logo + Webseite/Anrufen side by side ============ */
    .hw-logo-and-buttons {
        display: flex;
        align-items: flex-start;
        gap: 14px;
    }
    .hw-logo-and-buttons .details-top-img {
        flex-shrink: 0;
    }
    .hw-logo-buttons {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding-top: 4px;
    }
    .hw-logo-btn {
        display: inline-block !important;
        background: #ecc3ad !important;
        font-family: 'Lato', sans-serif !important;
        font-weight: 400 !important;
        font-size: 0.75rem !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: #1a1a1a !important;
        border: none !important;
        padding: 10px 22px !important;
        border-radius: 0 !important;
        text-decoration: none !important;
        transition: background 0.2s;
        cursor: pointer;
        line-height: 1.4 !important;
        box-sizing: border-box !important;
        text-align: center;
    }
    .hw-logo-btn:hover {
        background: #d4a48e !important;
        color: #1a1a1a !important;
    }
    .hw-logo-btn a {
        font: inherit !important;
        color: inherit !important;
        text-decoration: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    /* ============ Sidebar contact button — left-aligned ============ */
    .hw-sidebar-contact-wrap {
        text-align: left;
    }
    .hw-sidebar-contact-wrap .entry-details-contact.button {
        display: inline-block !important;
    }

    /* ============ Sidebar Übersicht & FAQs (moved from below-gallery) ============ */
    .hw-sidebar-uebersicht {
        margin-top: 24px;
        padding-top: 20px;
        border-top: 1px solid #e8e0d6;
    }
    .hw-sidebar-uebersicht h3 {
        font-family: 'Bodoni Moda', serif !important;
        font-style: italic !important;
        font-weight: 400 !important;
        font-size: 1.15rem;
        margin: 0 0 14px;
        color: #1a1a1a;
    }
    /* FAQs below gallery */
    .hw-below-gallery-faqs {
        max-width: 1100px;
        margin: 0 auto;
        padding: 30px 20px 0;
    }
    @media (min-width: 769px) {
        .hw-below-gallery-faqs { padding-top: 40px; }
    }
    .hw-below-gallery-faqs h3 {
        font-family: 'Bodoni Moda', serif !important;
        font-style: italic !important;
        font-weight: 400 !important;
        font-size: 1.4rem;
        margin: 0 0 16px;
        color: #1a1a1a;
    }
    @media (min-width: 769px) {
        .hw-below-gallery-faqs h3 { font-size: 1.6rem; margin: 0 0 20px; }
    }

    /* Ensure sidebar overview sits cleanly under logo on desktop */
    .single-hw_wahnbuechlein .entry-details-top {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    .single-hw_wahnbuechlein .entry-details-top .hw-sidebar-overview {
        order: 1;
        margin-top: 0.8em;
        padding-top: 0.8em;
    }
    .single-hw_wahnbuechlein .entry-details-top .details-top-content {
        order: 2;
    }
    .single-hw_wahnbuechlein .entry-details-top .details-top-img {
        order: 0;
    }


/* Posted-on date hide (from header.php) */
.posted-on { display: none !important; }

/* ==========================================================
   VENDOR SLIDER — new card layout (.dienstleister-section.clone)
   The old CSS was designed for a layout with a 40% intro box
   + 60% card grid. The new design removes the intro box so
   cards should fill 100% width in a 4-column grid.
   ========================================================== */
.dienstleister-section.clone {
    height: auto !important;
    overflow: visible !important;
}
.dienstleister-section.clone .dienstleister-section-selection {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
.dienstleister-section.clone .dienstleister-section-selection li {
    float: none !important;
    width: 25% !important;
    margin: 0 !important;
    height: 280px !important;
    overflow: hidden !important;
    position: relative !important;
}
.dienstleister-section.clone .hw-related-card {
    display: block !important;
    position: relative !important;
    text-decoration: none !important;
    overflow: hidden !important;
    height: 280px !important;
    width: 100% !important;
}
.dienstleister-section.clone .hw-vcard-img-wrap {
    display: block !important;
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    position: relative !important;
}
.dienstleister-section.clone .hw-vcard-img-wrap img {
    display: block !important;
    width: 100% !important;
    height: 280px !important;
    object-fit: cover !important;
    max-width: none !important;
    max-height: none !important;
    transition: transform 0.4s ease;
}
.dienstleister-section.clone .hw-related-card:hover .hw-vcard-img-wrap img {
    transform: scale(1.05);
}
.dienstleister-section.clone .hw-vcard-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
    color: #fff;
}
.dienstleister-section.clone .hw-vcard-overlay h3 {
    font-family: 'Bodoni Moda', serif;
    font-size: 1rem;
    font-style: italic;
    font-weight: 400;
    margin: 4px 0 0;
    color: #fff;
    line-height: 1.2;
}
.dienstleister-section.clone .hw-vcard-cat {
    display: block;
    font-family: 'Lato', sans-serif;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.85);
}
@media only screen and (max-width: 48em) {
    .dienstleister-section.clone .dienstleister-section-selection li {
        width: 50% !important;
    }
}

/* ==========================================================
   SCROLL JUMP FIX
   The setHeight() in actions.js now only resizes elements
   below the viewport (see actions.min.js fix), which is the
   primary cause of the jump. The overflow-anchor rule below
   is an additional safety net for any other layout shifts.
   ========================================================== */
html, body {
    overflow-anchor: none;
}

/* ==========================================================
   GRAVITY FORMS — Fix error message font/size.
   The form-level error box inherits Bodoni Moda h2 styling.
   Force everything to small Lato text.
   ========================================================== */

/* Nuclear option: target every possible GF error element and child */
.gform_validation_errors *,
.gform_validation_errors,
.validation_error,
.validation_error * {
    font-family: 'Lato', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.gform_validation_errors,
.validation_error {
    padding: 10px 14px !important;
    margin-bottom: 12px !important;
}

/* Field-level validation messages */
.gfield_validation_message,
.gfield_error .validation_message,
li.gfield_error .gfield_validation_message,
.gfield_error .gfield_validation_message * {
    font-family: 'Lato', sans-serif !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
