/* Rosengarten – Intro und Gastgeber. Inhalte bleiben in Divi. */

/* Normale Inhaltslinks; Aktionslinks und Footer bewusst ausnehmen. */
:is(.rg-page-intro-text, .rg-section-text, .rg-inquiry-text,
    .rg-room-card-intro, .rg-room-card-features, .rg-room-card-price,
    .rg-room-inclusive-intro, .rg-room-inclusive-list, .rg-room-info-intro,
    .rg-room-info-list, .rg-room-prices-intro, .rg-room-detail-request-intro)
    a:not(.et_pb_button, .rg-section-link, .rg-room-card-link, [role="button"], .rg-footer a, .rg-footer-bottom a) {
    color: #806454;
}

:is(.rg-page-intro-text, .rg-section-text, .rg-inquiry-text,
    .rg-room-card-intro, .rg-room-card-features, .rg-room-card-price,
    .rg-room-inclusive-intro, .rg-room-inclusive-list, .rg-room-info-intro,
    .rg-room-info-list, .rg-room-prices-intro, .rg-room-detail-request-intro)
    a:not(.et_pb_button, .rg-section-link, .rg-room-card-link, [role="button"], .rg-footer a, .rg-footer-bottom a):is(:hover, :focus-visible) {
    color: #B32248;
}

/* Abschluss-CTA vor dem Partnerbereich. */
.rg-page-cta.et_pb_section {
    background: #F7F3EE !important;
    padding: 56px 0 !important;
    margin: 0 !important;
    box-shadow: 0 0 0 100vmax #F7F3EE;
    border-bottom: 1px solid rgba(160, 125, 101, 0.18);
    clip-path: inset(0 -100vmax);
    color: #292729;
    font-family: 'Poppins', Arial, sans-serif;
    text-align: center;
}

/* Optionale weiße Variante inklusive der erweiterten Hintergrundfläche. */
.rg-page-cta.rg-page-cta-white {
    background: #FFFFFF !important;
    box-shadow: 0 0 0 100vmax #FFFFFF;
}

.rg-page-cta .rg-page-cta-row.et_pb_row {
    width: 80% !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center;
}

.rg-page-cta .rg-page-cta-row > .et_pb_column {
    margin-bottom: 0 !important;
}

.rg-page-cta.et_pb_section .rg-page-cta-kicker,
.rg-page-cta.et_pb_section .rg-page-cta-kicker :is(.et_pb_text_inner, p, span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #B32248 !important;
    text-align: center !important;
}

.rg-page-cta .rg-page-cta-kicker { margin-bottom: 12px !important; }
.rg-page-cta .rg-page-cta-title { margin-bottom: 18px !important; }

.rg-page-cta.et_pb_section .rg-page-cta-title,
.rg-page-cta.et_pb_section .rg-page-cta-title :is(h2, h2 span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 36px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: #292729 !important;
    text-align: center !important;
    overflow-wrap: break-word;
}

.rg-page-cta .rg-page-cta-title h2 {
    padding-bottom: 0 !important;
    margin: 0 !important;
}

.rg-page-cta .rg-page-cta-text {
    max-width: 680px;
    margin: 0 auto 28px !important;
}

.rg-page-cta.et_pb_section .rg-page-cta-text,
.rg-page-cta.et_pb_section .rg-page-cta-text :is(.et_pb_text_inner, p, span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #292729 !important;
    text-align: center !important;
}

.rg-page-cta :is(.rg-page-cta-text, .rg-page-cta-kicker) p:last-child {
    padding-bottom: 0 !important;
}

/* In Divi den Text „Zimmer & Preise ansehen“ verwenden. */
body #page-container .rg-page-cta-button.et_pb_button_module_wrapper {
    text-align: center !important;
    margin-bottom: 0 !important;
}

body #page-container :is(.et_pb_button.rg-page-cta-button, .rg-page-cta-button .et_pb_button) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    box-sizing: border-box;
    min-height: 50px;
    max-width: 100%;
    padding: 13px 28px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #B32248 !important;
    box-shadow: none !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

body #page-container :is(.et_pb_button.rg-page-cta-button, .rg-page-cta-button .et_pb_button)::before {
    content: none !important;
    display: none !important;
}

body #page-container :is(.et_pb_button.rg-page-cta-button, .rg-page-cta-button .et_pb_button)::after {
    content: '\2192' !important;
    display: inline-block !important;
    position: static !important;
    flex: 0 0 auto;
    margin: 0 !important;
    opacity: 1 !important;
    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: inherit !important;
    transform: translateX(0) !important;
    transition: transform 0.2s ease !important;
}

body #page-container :is(.et_pb_button.rg-page-cta-button, .rg-page-cta-button .et_pb_button):is(:hover, :focus-visible) {
    background: #8F1839 !important;
    color: #FFFFFF !important;
    padding: 13px 28px !important;
}

body #page-container :is(.et_pb_button.rg-page-cta-button, .rg-page-cta-button .et_pb_button):is(:hover, :focus-visible)::after {
    transform: translateX(4px) !important;
}

/* Zweiter CTA-Button: gleiche Maße und Pfeil wie die primäre Variante. */
body #page-container :is(.et_pb_button.rg-page-cta-button.rg-page-cta-button-secondary, .rg-page-cta-button.rg-page-cta-button-secondary .et_pb_button) {
    background: transparent !important;
    color: #B32248 !important;
    border: 1px solid #B32248 !important;
    padding: 12px 27px !important;
}

body #page-container :is(.et_pb_button.rg-page-cta-button.rg-page-cta-button-secondary, .rg-page-cta-button.rg-page-cta-button-secondary .et_pb_button):is(:hover, :focus-visible) {
    background: #B32248 !important;
    color: #FFFFFF !important;
    padding: 12px 27px !important;
}

/* Zwei Buttonmodule in derselben Divi-Spalte; bei Platzmangel natürlicher Umbruch. */
body #page-container .rg-page-cta .et_pb_column:has(.rg-page-cta-button-secondary) > :is(.rg-page-cta-button.et_pb_button_module_wrapper, .et_pb_button_module_wrapper:has(.et_pb_button.rg-page-cta-button)) {
    display: inline-block !important;
    vertical-align: top;
    max-width: calc(100% - 16px);
    margin: 0 8px 12px !important;
}

@media (max-width: 767px) {
    .rg-page-cta.et_pb_section { padding: 36px 0 !important; }
    .rg-page-cta .rg-page-cta-row.et_pb_row { width: calc(100% - 48px) !important; }
    .rg-page-cta.et_pb_section .rg-page-cta-title,
    .rg-page-cta.et_pb_section .rg-page-cta-title :is(h2, h2 span) {
        font-size: 28px !important;
    }
    .rg-page-cta.et_pb_section .rg-page-cta-text,
    .rg-page-cta.et_pb_section .rg-page-cta-text :is(.et_pb_text_inner, p, span) {
        font-size: 17px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body #page-container :is(.et_pb_button.rg-page-cta-button, .rg-page-cta-button .et_pb_button)::after {
        transition: none !important;
        transform: none !important;
    }
}

/* Unser Rosengarten: Text links, Hausfoto rechts. */
.rg-section-2.et_pb_section {
    background-color: #FFFFFF !important;
    padding: 24px 0 44px !important;
    font-family: 'Poppins', Arial, sans-serif;
    color: #292729;
}

.rg-section-2 .rg-section-row.et_pb_row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 70px;
    width: 80% !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.rg-section-2 .rg-section-row.et_pb_row::after { display: none; }

.rg-section-2 .rg-section-row > .et_pb_column {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    float: none;
}

.rg-section-2 .rg-section-row > .et_pb_column:has(.rg-section-image),
.rg-section-2 .rg-section-row > .et_pb_column.rg-section-image {
    order: 1;
}

.rg-section-2.et_pb_section .rg-section-row .rg-section-image.et_pb_module,
.rg-section-2.et_pb_section .rg-section-row .rg-section-image .et_pb_image_wrap,
.rg-section-2.et_pb_section .rg-section-row .rg-section-image > a {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.rg-section-2.et_pb_section .rg-section-row .rg-section-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 12px 30px rgba(41, 39, 41, 0.10);
}

.rg-section-2.et_pb_section .rg-section-kicker,
.rg-section-2.et_pb_section .rg-section-kicker :is(.et_pb_text_inner, p, span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px;
    color: #B32248 !important;
    text-align: left !important;
}

.rg-section-2 .rg-section-kicker { margin-bottom: 10px !important; }
.rg-section-2 .rg-section-title { margin-bottom: 20px !important; }

.rg-section-2.et_pb_section .rg-section-title,
.rg-section-2.et_pb_section .rg-section-title :is(h2, h2 span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
    color: #292729 !important;
    text-align: left !important;
    overflow-wrap: break-word;
    hyphens: auto;
}

.rg-section-2 .rg-section-title h2 {
    margin: 0 !important;
    padding-bottom: 0 !important;
}

.rg-section-2.et_pb_section .rg-section-text,
.rg-section-2.et_pb_section .rg-section-text :is(.et_pb_text_inner, p, li) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 400;
    color: #292729 !important;
    text-align: left !important;
    overflow-wrap: break-word;
}

.rg-section-2 .rg-section-text { margin-bottom: 22px !important; }
.rg-section-2 :is(.rg-section-kicker, .rg-section-text) p:last-child { padding-bottom: 0; }

/* Kontakt: einzelne Social-Code-Module unter dem Beschreibungstext. */
.rg-section-2 .rg-social-link.et_pb_code {
    display: inline-block;
    width: auto;
    max-width: 100%;
    margin: 0 24px 8px 0 !important;
    vertical-align: middle;
}

.rg-section-2 .rg-social-link.et_pb_code:last-child {
    margin-right: 0 !important;
}

.rg-section-2 .rg-social-link a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    color: #B32248;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.rg-section-2 .rg-social-link a:is(:hover, :focus-visible) {
    color: #8F1839;
    text-decoration: none;
}

/* Klasse darf am Divi-Button oder dessen Modul-Wrapper stehen. */
body #page-container :where(.rg-section-1, .rg-section-2) .rg-section-link.et_pb_button_module_wrapper ,
body #page-container .rg-room-cards .rg-room-card-link.et_pb_button_module_wrapper {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    text-align: left !important;
}

body #page-container :where(.rg-section-1, .rg-section-2) :is(.et_pb_button.rg-section-link, .rg-section-link .et_pb_button) ,
body #page-container .rg-room-cards :is(.et_pb_button.rg-room-card-link, .rg-room-card-link .et_pb_button) {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: #B32248 !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body #page-container :where(.rg-section-1, .rg-section-2) :is(.et_pb_button.rg-section-link, .rg-section-link .et_pb_button)::before ,
body #page-container .rg-room-cards :is(.et_pb_button.rg-room-card-link, .rg-room-card-link .et_pb_button)::before {
    display: none !important;
}

body #page-container :where(.rg-section-1, .rg-section-2) :is(.et_pb_button.rg-section-link, .rg-section-link .et_pb_button)::after ,
body #page-container .rg-room-cards :is(.et_pb_button.rg-room-card-link, .rg-room-card-link .et_pb_button)::after {
    content: '\2192' !important;
    display: inline-block !important;
    position: static !important;
    margin: 0 !important;
    opacity: 1 !important;
    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: inherit !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    transform: translateX(0) !important;
    transition: transform 0.2s ease !important;
}

body #page-container :where(.rg-section-1, .rg-section-2) :is(.et_pb_button.rg-section-link, .rg-section-link .et_pb_button):is(:hover, :focus-visible) ,
body #page-container .rg-room-cards :is(.et_pb_button.rg-room-card-link, .rg-room-card-link .et_pb_button):is(:hover, :focus-visible) {
    color: #8F1839 !important;
    padding: 0 !important;
    background: none !important;
}

body #page-container :where(.rg-section-1, .rg-section-2) :is(.et_pb_button.rg-section-link, .rg-section-link .et_pb_button):is(:hover, :focus-visible)::after ,
body #page-container .rg-room-cards :is(.et_pb_button.rg-room-card-link, .rg-room-card-link .et_pb_button):is(:hover, :focus-visible)::after {
    transform: translateX(4px) !important;
}


/* Ferienwohnungskarten – Link wie Zimmerdetails & Preise */
body #page-container .rg-apartment-cards
:is(.et_pb_button.rg-apartment-card-link, .rg-apartment-card-link .et_pb_button) {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: #B32248 !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

body #page-container .rg-apartment-cards
:is(.et_pb_button.rg-apartment-card-link, .rg-apartment-card-link .et_pb_button)::before {
    display: none !important;
}

body #page-container .rg-apartment-cards
:is(.et_pb_button.rg-apartment-card-link, .rg-apartment-card-link .et_pb_button)::after {
    content: '\2192' !important;
    display: inline-block !important;
    position: static !important;
    margin: 0 !important;
    opacity: 1 !important;
    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: inherit !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    transform: translateX(0) !important;
    transition: transform 0.2s ease !important;
}

body #page-container .rg-apartment-cards
:is(.et_pb_button.rg-apartment-card-link, .rg-apartment-card-link .et_pb_button):is(:hover, :focus-visible) {
    color: #8F1839 !important;
    padding: 0 !important;
    background: none !important;
}

body #page-container .rg-apartment-cards
:is(.et_pb_button.rg-apartment-card-link, .rg-apartment-card-link .et_pb_button):is(:hover, :focus-visible)::after {
    transform: translateX(4px) !important;
}

/* Ferienwohnungen – Pfeil 2 px höher */
body #page-container .rg-apartment-cards
:is(.et_pb_button.rg-apartment-card-link,
    .rg-apartment-card-link .et_pb_button)::after {
    top: -2px !important;
    position: relative !important;
}

@media (max-width: 1100px) {
    .rg-section-2.et_pb_section { padding: 24px 0 36px !important; }
    .rg-section-2 .rg-section-row.et_pb_row { width: 86% !important; gap: 36px; }
    .rg-section-2.et_pb_section .rg-section-title,
    .rg-section-2.et_pb_section .rg-section-title :is(h2, h2 span) { font-size: 27px !important; }
}

@media (max-width: 767px) {
    .rg-section-2.et_pb_section { padding: 24px 0 32px !important; }
    .rg-section-2 .rg-section-row.et_pb_row {
        width: calc(100% - 48px) !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }
    .rg-section-2 .rg-section-title { margin-bottom: 16px !important; }
    .rg-section-2.et_pb_section .rg-section-title,
    .rg-section-2.et_pb_section .rg-section-title :is(h2, h2 span) { font-size: 26px !important; }
    .rg-section-2.et_pb_section .rg-section-text,
    .rg-section-2.et_pb_section .rg-section-text :is(.et_pb_text_inner, p, li) {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }
    .rg-section-2.et_pb_section .rg-section-kicker,
    .rg-section-2.et_pb_section .rg-section-kicker :is(.et_pb_text_inner, p, span) { font-size: 13px !important; }
}

@media (prefers-reduced-motion: reduce) {
    body #page-container :where(.rg-section-1, .rg-section-2) :is(.et_pb_button.rg-section-link, .rg-section-link .et_pb_button)::after ,
body #page-container .rg-room-cards :is(.et_pb_button.rg-room-card-link, .rg-room-card-link .et_pb_button)::after {
        transition: none !important;
        transform: none !important;
    }
}

.rg-page-intro.et_pb_section,
.rg-section-1.et_pb_section {
    padding: 64px 0 !important;
    font-family: 'Poppins', Arial, sans-serif;
    color: #292729;
}

.rg-page-intro.et_pb_section {
    background-color: #FFFFFF !important;
    padding-bottom: 28px !important;
    margin-bottom: 0 !important;
}

.rg-section-1.et_pb_section {
    background-color: #F7F3EE !important;
    padding: 50px 0 !important;
    margin-top: 0 !important;
    /* Nur die Hintergrundfläche erweitern; die Inhaltsgeometrie bleibt erhalten. */
    box-shadow: 0 0 0 100vmax #F7F3EE;
    clip-path: inset(0 -100vmax);
}

/* Gleiche Breite wie der Unterseiten-Hero. */
.rg-page-intro .rg-page-intro-row.et_pb_row,
.rg-inquiry .rg-inquiry-row.et_pb_row,
.rg-inquiry-form-section .rg-inquiry-form-row.et_pb_row,
.rg-section-1 .rg-section-row.et_pb_row {
    width: 80% !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.rg-page-intro-row > .et_pb_column {
    margin-bottom: 0 !important;
}

.rg-section-1 .rg-section-row.et_pb_row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 70px;
}

.rg-section-1 .rg-section-row.et_pb_row::after {
    display: none;
}

.rg-section-1 .rg-section-row > .et_pb_column {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    float: none;
}

.rg-section-1 .rg-section-image.et_pb_module {
    margin-bottom: 0 !important;
}

.rg-section-1 .rg-section-image .et_pb_image_wrap {
    display: block;
    width: 100%;
}

.rg-section-1 .rg-section-image img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 4px;
    box-shadow: 0 12px 30px rgba(41, 39, 41, 0.10);
}

/* HTML-Texte innerhalb der Divi-Module gezielt gestalten. */
.rg-page-intro.et_pb_section .rg-page-intro-title,
.rg-page-intro.et_pb_section .rg-page-intro-title :is(h2, h2 span),
.rg-section-1.et_pb_section .rg-section-title,
.rg-inquiry.et_pb_section .rg-inquiry-title,
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title,
.rg-section-1.et_pb_section .rg-section-title :is(h2, h2 span),
.rg-inquiry.et_pb_section .rg-inquiry-title :is(h2, h2 span),
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title :is(h2, h2 span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
    color: #292729 !important;
    text-align: left !important;
    overflow-wrap: break-word;
    hyphens: auto;
}

.rg-page-intro.et_pb_section .rg-page-intro-title,
.rg-page-intro.et_pb_section .rg-page-intro-title :is(h2, h2 span) {
    font-size: 32px !important;
}

.rg-section-1.et_pb_section .rg-section-title,
.rg-inquiry.et_pb_section .rg-inquiry-title,
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title,
.rg-section-1.et_pb_section .rg-section-title :is(h2, h2 span),
.rg-inquiry.et_pb_section .rg-inquiry-title :is(h2, h2 span),
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title :is(h2, h2 span) {
    font-size: 28px !important;
}

.rg-page-intro .rg-page-intro-title {
    margin-bottom: 16px !important;
}

.rg-section-1 .rg-section-title,
.rg-inquiry .rg-inquiry-title,
.rg-inquiry-form-section .rg-inquiry-form-title {
    margin-bottom: 20px !important;
}

.rg-page-intro .rg-page-intro-title h2,
.rg-section-1 .rg-section-title h2,
.rg-inquiry .rg-inquiry-title h2,
.rg-inquiry-form-section .rg-inquiry-form-title h2 {
    padding-bottom: 0 !important;
    margin: 0 !important;
}

/* Normalen Inhaltsüberschriften auf allen Bildschirmgrößen mehr Zeilenabstand geben. */
#main-content .rg-page-intro
.rg-page-intro-title :is(h2, h2 span),
#main-content :is(.rg-section-1, .rg-section-2)
.rg-section-title :is(h2, h2 span) {
    line-height: 1.4 !important;
}

.rg-page-intro .rg-page-intro-text {
    max-width: 780px;
}

.rg-page-intro.et_pb_section .rg-page-intro-text,
.rg-page-intro.et_pb_section .rg-page-intro-text :is(.et_pb_text_inner, p, li) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    font-weight: 400;
    color: #292729 !important;
    text-align: left !important;
    overflow-wrap: break-word;
}

.rg-section-1.et_pb_section .rg-section-text,
.rg-inquiry.et_pb_section .rg-inquiry-text,
.rg-section-1.et_pb_section .rg-section-text :is(.et_pb_text_inner, p, li),
.rg-inquiry.et_pb_section .rg-inquiry-text :is(.et_pb_text_inner, p, li) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 400;
    color: #292729 !important;
    text-align: left !important;
    overflow-wrap: break-word;
}

.rg-page-intro.et_pb_section .rg-page-intro-text,
.rg-page-intro.et_pb_section .rg-page-intro-text :is(.et_pb_text_inner, p, li) {
    font-size: 18px !important;
}

.rg-page-intro .rg-page-intro-text,
.rg-section-1 .rg-section-text,
.rg-inquiry .rg-inquiry-text {
    margin-bottom: 0 !important;
}

.rg-page-intro .rg-page-intro-text p:last-child,
.rg-section-1 .rg-section-text p:last-child,
.rg-inquiry .rg-inquiry-text p:last-child {
    padding-bottom: 0;
}

.rg-section-1.et_pb_section .rg-section-kicker,
.rg-inquiry.et_pb_section .rg-inquiry-kicker,
.rg-section-1.et_pb_section .rg-section-kicker :is(.et_pb_text_inner, p, span),
.rg-inquiry.et_pb_section .rg-inquiry-kicker :is(.et_pb_text_inner, p, span),
.rg-room-cards .rg-room-card-kicker,
.rg-room-cards .rg-room-card-kicker :is(.et_pb_text_inner, p, span),
body.page-id-743 :is(.rg-room-inclusive-kicker, .rg-room-info-kicker),
body.page-id-743 :is(.rg-room-inclusive-kicker, .rg-room-info-kicker) :is(.et_pb_text_inner, p, span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px;
    color: #B32248 !important;
    text-align: left !important;
}

.rg-section-1 .rg-section-kicker,
.rg-inquiry .rg-inquiry-kicker,
body.page-id-743 :is(.rg-room-inclusive-kicker, .rg-room-info-kicker) {
    margin-bottom: 10px !important;
}

.rg-section-1 .rg-section-kicker p:last-child,
.rg-inquiry .rg-inquiry-kicker p:last-child,
.rg-room-cards .rg-room-card-kicker p:last-child,
body.page-id-743 :is(.rg-room-inclusive-kicker, .rg-room-info-kicker) p:last-child {
    padding-bottom: 0;
}

@media (max-width: 1100px) {
    .rg-page-intro.et_pb_section,
    .rg-section-1.et_pb_section {
        padding: 52px 0 !important;
    }

    .rg-page-intro.et_pb_section { padding-bottom: 24px !important; }
    .rg-section-1.et_pb_section { padding-top: 28px !important; }

    .rg-page-intro .rg-page-intro-row.et_pb_row,
.rg-inquiry .rg-inquiry-row.et_pb_row,
.rg-inquiry-form-section .rg-inquiry-form-row.et_pb_row,
    .rg-section-1 .rg-section-row.et_pb_row,
    .rg-section-1 .et_pb_row:has(#wpforms-705) {
        width: 86% !important;
    }

    .rg-section-1 .rg-section-row.et_pb_row { gap: 36px; }

    .rg-page-intro.et_pb_section .rg-page-intro-title,
    .rg-page-intro.et_pb_section .rg-page-intro-title :is(h2, h2 span) {
        font-size: 30px !important;
    }

    .rg-section-1.et_pb_section .rg-section-title,
.rg-inquiry.et_pb_section .rg-inquiry-title,
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title,
    .rg-section-1.et_pb_section .rg-section-title :is(h2, h2 span),
.rg-inquiry.et_pb_section .rg-inquiry-title :is(h2, h2 span),
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title :is(h2, h2 span) {
        font-size: 27px !important;
    }

    .rg-page-intro.et_pb_section .rg-page-intro-text,
    .rg-page-intro.et_pb_section .rg-page-intro-text :is(.et_pb_text_inner, p, li) {
        font-size: 17px !important;
    }
}

@media (max-width: 767px) {
    .rg-page-intro.et_pb_section,
    .rg-section-1.et_pb_section {
        padding: 40px 0 !important;
    }

    .rg-page-intro.et_pb_section { padding-bottom: 20px !important; }
    .rg-section-1.et_pb_section { padding-top: 24px !important; }

    .rg-page-intro .rg-page-intro-row.et_pb_row,
.rg-inquiry .rg-inquiry-row.et_pb_row,
.rg-inquiry-form-section .rg-inquiry-form-row.et_pb_row,
    .rg-section-1 .rg-section-row.et_pb_row,
    .rg-section-1 .et_pb_row:has(#wpforms-705) {
        width: calc(100% - 48px) !important;
    }

    .rg-section-1 .rg-section-row.et_pb_row {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .rg-section-1 .rg-section-row > .et_pb_column:has(.rg-section-image),
    .rg-section-1 .rg-section-row > .et_pb_column.rg-section-image {
        order: -1;
    }

    .rg-page-intro.et_pb_section .rg-page-intro-title,
    .rg-page-intro.et_pb_section .rg-page-intro-title :is(h2, h2 span) {
        font-size: 27px !important;
    }

    .rg-section-1.et_pb_section .rg-section-title,
.rg-inquiry.et_pb_section .rg-inquiry-title,
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title,
    .rg-section-1.et_pb_section .rg-section-title :is(h2, h2 span),
.rg-inquiry.et_pb_section .rg-inquiry-title :is(h2, h2 span),
.rg-inquiry-form-section.et_pb_section .rg-inquiry-form-title :is(h2, h2 span) {
        font-size: 26px !important;
    }

    .rg-page-intro .rg-page-intro-title {
        margin-bottom: 12px !important;
    }

    .rg-section-1 .rg-section-title,
.rg-inquiry .rg-inquiry-title,
.rg-inquiry-form-section .rg-inquiry-form-title {
        margin-bottom: 16px !important;
    }

    .rg-page-intro.et_pb_section .rg-page-intro-text,
    .rg-page-intro.et_pb_section .rg-page-intro-text :is(.et_pb_text_inner, p, li) {
        font-size: 16px !important;
        line-height: 1.75 !important;
    }

    .rg-section-1.et_pb_section .rg-section-text,
.rg-inquiry.et_pb_section .rg-inquiry-text,
    .rg-section-1.et_pb_section .rg-section-text :is(.et_pb_text_inner, p, li),
.rg-inquiry.et_pb_section .rg-inquiry-text :is(.et_pb_text_inner, p, li) {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    .rg-section-1.et_pb_section .rg-section-kicker,
.rg-inquiry.et_pb_section .rg-inquiry-kicker,
    .rg-section-1.et_pb_section .rg-section-kicker :is(.et_pb_text_inner, p, span),
.rg-inquiry.et_pb_section .rg-inquiry-kicker :is(.et_pb_text_inner, p, span),
.rg-room-cards .rg-room-card-kicker,
.rg-room-cards .rg-room-card-kicker :is(.et_pb_text_inner, p, span),
body.page-id-743 :is(.rg-room-inclusive-kicker, .rg-room-info-kicker),
body.page-id-743 :is(.rg-room-inclusive-kicker, .rg-room-info-kicker) :is(.et_pb_text_inner, p, span) {
        font-size: 13px !important;
    }
}

/* Anfrage: äußere Bereiche; innere Formularfelder bleiben unverändert. */
.rg-inquiry.et_pb_section {
    background-color: #FFFFFF !important;
    padding: 64px 0 28px !important;
    margin-bottom: 0 !important;
}

.rg-inquiry-form-section.et_pb_section {
    background-color: #F7F3EE !important;
    padding: 32px 0 72px !important;
    margin-top: 0 !important;
}

.rg-inquiry .rg-inquiry-text {
    max-width: 780px;
}

.rg-inquiry .rg-inquiry-row > .et_pb_column,
.rg-inquiry-form-section .rg-inquiry-form-row > .et_pb_column {
    min-width: 0;
    margin-bottom: 0 !important;
}

.rg-inquiry-form-section .rg-inquiry-form {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
}

@media (max-width: 1100px) {
    .rg-inquiry.et_pb_section { padding: 52px 0 24px !important; }
    .rg-inquiry-form-section.et_pb_section { padding: 28px 0 52px !important; }
}

@media (max-width: 767px) {
    .rg-inquiry.et_pb_section { padding: 40px 0 20px !important; }
    .rg-inquiry-form-section.et_pb_section { padding: 24px 0 40px !important; }
}

/* Vorhandene sieben Zimmerkarten; Divi-Zeilen bilden ein gemeinsames Raster. */
.rg-room-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 32px;
    width: 80%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}
.rg-room-cards .rg-room-cards-row { display: contents; }
.rg-room-cards .rg-room-cards-row::after { display: none; }
.rg-room-cards .rg-room-cards-row :is(.rg-room-card, .et_pb_column:has(.rg-room-card-title)) {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 7;
    row-gap: 0;
    background-color: #F7F3EE;
    border-radius: 4px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    float: none;
}
.rg-room-cards .rg-room-cards-row .et_pb_column_empty:not(:has(.rg-room-card-title)) { display: none; }
.rg-room-cards .rg-room-cards-row :is(.rg-room-card, .et_pb_column:has(.rg-room-card-title)) > .et_pb_module {
    min-width: 0;
    margin-bottom: 0 !important;
    padding-bottom: 16px;
}

/* Sieben benannte Modulplätze pro Karte. */
.rg-room-cards .rg-room-cards-row :is(.rg-room-card, .et_pb_column:has(.rg-room-card-title)) > .et_pb_module:not(.et_pb_image):not(.rg-room-card-image) {
    padding-left: 20px;
    padding-right: 20px;
}
.rg-room-cards .rg-room-cards-row :is(.rg-room-card, .et_pb_column:has(.rg-room-card-title)) > .et_pb_image img {
    border-radius: 4px 4px 0 0;
}
.rg-room-cards .rg-room-card-image { grid-row: 1; }
.rg-room-cards .rg-room-card-kicker { grid-row: auto; }
.rg-room-cards .rg-room-card-title { grid-row: 2; }
.rg-room-cards .rg-room-card-intro { grid-row: 3; }
.rg-room-cards .rg-room-card-features { grid-row: 4; }
.rg-room-cards .rg-room-card-price { grid-row: 5; }
.rg-room-cards :is(.rg-room-card, .et_pb_column:has(.rg-room-card-title)) > :is(.rg-room-card-link, .et_pb_button_module_wrapper:has(.rg-room-card-link)) { grid-row: 6; }
.rg-room-cards .rg-room-cards-row :is(.rg-room-card, .et_pb_column:has(.rg-room-card-title)) > .rg-room-card-kicker { padding-bottom: 10px; }
.rg-room-cards .rg-room-card-image :is(.et_pb_image_wrap, a) { display: block; width: 100%; }
.rg-room-cards .rg-room-card-image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1000 / 645;
    object-fit: cover;
}
.rg-room-cards .rg-room-card-title :is(h2, h2 span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: #292729 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-wrap: break-word;
}
.rg-room-cards :is(.rg-room-card-intro, .rg-room-card-features, .rg-room-card-price),
.rg-room-cards :is(.rg-room-card-intro, .rg-room-card-features, .rg-room-card-price) :is(p, span) {
    font-weight: 400;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #292729;
    overflow-wrap: break-word;
}
.rg-room-cards :is(.rg-room-card-intro, .rg-room-card-features, .rg-room-card-price) p:last-child { padding-bottom: 0; }
.rg-room-cards :is(.rg-room-card-features, .rg-room-card-price) :is(strong, b, strong span, b span) { font-weight: 600; }

/* Bestehende Inklusiv-/Wissenswertes-Textmodule, ohne Bild-/Layoutänderungen. */
:is(.rg-room-inclusive-list, .rg-room-info-list) {
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 16px;
    line-height: 2;
    color: #292729;
}
:is(.rg-room-inclusive-list, .rg-room-info-list) h4 {
    color: #B32248 !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1.5px;
    padding-bottom: 10px;
}
:is(.rg-room-inclusive-list, .rg-room-info-list) p + h4 { margin-top: 24px; }
:is(.rg-room-inclusive-list, .rg-room-info-list) p { padding-bottom: 0; }
:is(.rg-room-inclusive-list, .rg-room-info-list) [data-rg-check] { color: #B32248; }
@media (max-width: 1100px) {
    .rg-room-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 24px;
        width: 86%;
    }
}
@media (max-width: 767px) {
    .rg-room-cards {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 20px;
        width: calc(100% - 48px);
    }
    .rg-room-cards .rg-room-card-title :is(h2, h2 span) { font-size: 22px !important; }
    :is(.rg-room-inclusive-list, .rg-room-info-list) { line-height: 1.9; }
}

/* Zusätzlicher Anfrageplatz nur in Kartenrastern mit Anfrage-Modul. */
.rg-room-cards:has(.rg-room-card-request) .rg-room-cards-row :is(.rg-room-card, .et_pb_column:has(.rg-room-card-title)) {
    grid-row: span 8;
}
.rg-room-cards .rg-room-card-request { grid-row: 8; }
.rg-room-card-request .rg-room-request-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-family: 'Poppins', Arial, sans-serif;
    padding-top: 12px;
    border-top: 1px solid rgba(160, 125, 101, 0.2);
}
.rg-room-card-request .rg-room-request-date { flex: 1 1 130px; min-width: 0; }
.rg-room-card-request .rg-room-request-label { display: block; font-size: 11px; color: #6E6865; }
.rg-room-card-request :is(.rg-room-request-date-button, .rg-room-request-submit) {
    font-family: inherit;
    cursor: pointer;
    border: 0;
    box-shadow: none;
    max-width: 100%;
}
.rg-room-card-request .rg-room-request-date-button {
    background: transparent;
    color: #B32248;
    font-size: 14px;
    line-height: 1.5;
    padding: 4px 0;
    text-align: left;
}
.rg-room-card-request .rg-room-request-submit {
    background: transparent;
    color: #B32248;
    margin-left: auto;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 14px;
    border-radius: 6px;
}
.rg-room-card-request .rg-room-request-submit:hover { color: #8F1839; }
.rg-room-card-request .rg-room-request-date-button:hover { color: #8F1839; }

/* ANFRAGEN – Pfeil auf allen Zimmer- und Ferienwohnungskarten */

:is(.rg-room-cards, .rg-apartment-cards)
.rg-room-request-submit::after {
    content: ' →';
    display: inline-block;
    transform: translateX(0);
    transition: transform 0.2s ease;
}

:is(.rg-room-cards, .rg-apartment-cards)
.rg-room-request-submit:is(:hover, :focus-visible)::after {
    transform: translateX(4px);
}

.rg-room-card-request .rg-room-request-error {
    flex-basis: 100%;
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    color: #A07D65;
}

/* Wiederverwendbare Preis- und Anfragebereiche der Zimmerdetailseiten. */
:is(.rg-room-prices, .rg-room-detail-request).et_pb_section {
    padding: 40px 0 !important;
    font-family: 'Poppins', Arial, sans-serif;
    color: #292729;
}
:is(.rg-room-prices-row, .rg-room-detail-request-row).et_pb_row {
    width: 80% !important;
    max-width: 1080px !important;
    padding: 0 !important;
}
:is(.rg-room-prices-row, .rg-room-detail-request-row) > .et_pb_column { min-width: 0; margin-bottom: 0 !important; }
:is(.rg-room-prices-kicker, .rg-room-detail-request-kicker),
:is(.rg-room-prices-kicker, .rg-room-detail-request-kicker) :is(p, span, .et_pb_text_inner) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #B32248 !important;
}
:is(.rg-room-prices-kicker, .rg-room-detail-request-kicker) { margin-bottom: 10px !important; }
:is(.rg-room-prices-title, .rg-room-detail-request-title) { margin-bottom: 20px !important; }
:is(.rg-room-prices-title, .rg-room-detail-request-title) :is(h2, p, span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: #292729 !important;
    padding: 0;
}
:is(.rg-room-prices-intro, .rg-room-detail-request-intro) { max-width: 780px; margin-bottom: 24px !important; }
:is(.rg-room-prices-intro, .rg-room-detail-request-intro) :is(p, span) {
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.7 !important;
}
/* Kompakte Preiskarte für Ferienwohnungen. */
.rg-apartment-price {
    box-sizing: border-box;
    max-width: 520px;
    padding: 28px 32px;
    background: #F7F3EE;
    border: 1px solid rgba(160, 125, 101, 0.25);
    border-radius: 4px;
}

.rg-apartment-price-label {
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.8px;
    color: #806454;
}

.rg-apartment-price-value {
    margin-bottom: 10px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 600;
    color: #B32248;
}

.rg-apartment-price-info {
    font-size: 15px;
    line-height: 1.7;
}

.rg-room-prices-table .rg-price-table-wrap { max-width: 100%; overflow-x: auto; }
.rg-room-prices-table .rg-price-table {
    width: 100%;
    border-collapse: collapse;
    border: 0 !important;
    font-size: 16px;
    line-height: 1.6;
    font-variant-numeric: tabular-nums;
    background: #FFFFFF;
}
.rg-room-prices-table .rg-price-table :is(th, td) {
    padding: 14px 18px;
    border: 0;
    border-bottom: 1px solid #E8DED6;
    text-align: left;
    vertical-align: middle;
}
.rg-room-prices-table .rg-price-table th { background: #F7F3EE; color: #B32248; font-weight: 500; }
.rg-room-prices-table .rg-price-table :is(th, td):not(:first-child) { text-align: right; white-space: nowrap; }
.rg-room-prices-table .rg-price-table tbody tr:last-child td { border-bottom: 0; }
.rg-room-detail-request .rg-room-detail-request-form { max-width: 620px; margin-bottom: 0 !important; }
.rg-room-detail-request .rg-room-request-inner { padding: 18px 20px; border: 1px solid #E8DED6; border-radius: 6px; background: #F7F3EE; }
.rg-room-detail-request .rg-room-request-submit { background: #B32248; color: white; font-size: 14px; }
.rg-room-detail-request .rg-room-request-submit:hover { background: #8F1839; color: white; }
@media (max-width: 1100px) {
    :is(.rg-room-prices-row, .rg-room-detail-request-row).et_pb_row { width: 86% !important; }
    :is(.rg-room-prices-title, .rg-room-detail-request-title) :is(h2, p, span) { font-size: 27px !important; }
}
@media (max-width: 767px) {
    .rg-room-card-request .rg-room-request-label { font-size: 12px; }
    :is(.rg-room-prices, .rg-room-detail-request).et_pb_section { padding: 30px 0 !important; }
    :is(.rg-room-prices-row, .rg-room-detail-request-row).et_pb_row { width: calc(100% - 48px) !important; }
    :is(.rg-room-prices-title, .rg-room-detail-request-title) :is(h2, p, span) { font-size: 26px !important; }
    :is(.rg-room-prices-kicker, .rg-room-detail-request-kicker),
    :is(.rg-room-prices-kicker, .rg-room-detail-request-kicker) :is(p, span, .et_pb_text_inner) { font-size: 13px !important; }
    .rg-room-prices-table .rg-price-table :is(th, td) { padding: 10px 8px; }
}

.rg-room-cards .rg-room-cards-row > .et_pb_column {
    border: 1px solid rgba(160, 125, 101, 0.25);
}

/* Zimmerkarten – Kicker als Label im Bild */
.rg-room-cards .rg-room-cards-row > .et_pb_column {
    position: relative;
}

.rg-room-cards .rg-room-card-kicker {
    position: absolute !important;
    top: 15px;
    left: 15px;
    z-index: 5;
    width: auto !important;
    background: #F7F3EE !important;
    color: #B32248 !important;
    border: none;
    padding: 8px 14px !important;
    border-radius: 3px;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}


/* Übergang Zimmerkarten → Ferienwohnungen */
.rg-room-cards.et_pb_section {
    padding-bottom: 32px !important;
}

.rg-apartment-cards.et_pb_section {
    padding-top: 32px !important;
}



/* Ferienwohnungen – Kicker als Label im Bild */



.rg-apartment-cards .et_pb_column.rg-apartment-card {
    position: relative;
    border: 1px solid #E8DCD2;
    border-radius: 4px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06) !important;
}




.rg-apartment-cards .rg-apartment-card {
    padding-bottom: 24px;
}

.rg-apartment-cards .rg-apartment-card > :is(
    .rg-apartment-card-title,
    .rg-apartment-card-intro,
    .rg-apartment-card-price,
    .rg-apartment-card-link,
    .rg-apartment-card-request
) {
    margin-left: 26px;
    margin-right: 26px;
}

.rg-apartment-cards .rg-apartment-card > .rg-apartment-card-title {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

.rg-apartment-cards .rg-apartment-card > :is(
    .rg-apartment-card-intro,
    .rg-apartment-card-price
) {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

.rg-apartment-cards .rg-apartment-card
> .et_pb_button_module_wrapper:has(.rg-apartment-card-link) {
    margin-top: 0 !important;
    margin-right: 26px !important;
    margin-bottom: 10px !important;
    margin-left: 26px !important;
}

.rg-apartment-card .rg-apartment-card-kicker {
    position: absolute !important;
    top: 15px;
    left: 15px;
    z-index: 5;
    width: auto !important;
    background: #F7F3EE !important;
    color: #B32248 !important;
    border: none;
    padding: 8px 14px !important;
    border-radius: 3px;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}


/* ==========================================
   ROSENGARTEN – WIEDERVERWENDBARE PREISKARTE
   ========================================== */

/* Gesamte Karte */
.rg-price-card {
    background: #FFFFFF;
    border: 1px solid #E7D9D0;
    border-radius: 6px;
    padding: 30px 32px;
    box-sizing: border-box;
}

/* Divi-Textmodule: Standardabstände zurücksetzen */
.rg-price-card .et_pb_text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.rg-price-card .et_pb_text_inner p {
    padding-bottom: 0;
}

/* Kleine rote Überschrift */
.rg-price-card .rg-price-card-kicker {
    margin-bottom: 10px !important;
}

.rg-price-card .rg-price-card-kicker,
.rg-price-card .rg-price-card-kicker p {
    color: #B32248;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    line-height: 1.5;
}

/* Große Überschrift */
.rg-price-card .rg-price-card-title {
    margin-bottom: 8px !important;
}

.rg-price-card .rg-price-card-title h3 {
    color: #292729;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    padding: 0;
}

/* Personen und Übernachtungen */
.rg-price-card .rg-price-card-subtitle {
    margin-bottom: 20px !important;
}

.rg-price-card .rg-price-card-subtitle,
.rg-price-card .rg-price-card-subtitle p {
    color: #68615C;
    font-size: 14px;
    line-height: 1.5;
}

/* Trennlinie und Preisbeschriftung */
.rg-price-card .rg-price-card-price-label {
    border-top: 1px solid #DED0C7;
    padding-top: 18px;
    margin-bottom: 4px !important;
}

.rg-price-card .rg-price-card-price-label,
.rg-price-card .rg-price-card-price-label p {
    color: #68615C;
    font-size: 14px;
    line-height: 1.5;
}

/* Großer roter Preis */
.rg-price-card .rg-price-card-price {
    margin-bottom: 8px !important;
}

.rg-price-card .rg-price-card-price,
.rg-price-card .rg-price-card-price p {
    color: #B32248;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.2;
}

/* Preisbedingungen */
.rg-price-card .rg-price-card-note {
    margin-bottom: 20px !important;
}

.rg-price-card .rg-price-card-note,
.rg-price-card .rg-price-card-note p {
    color: #68615C;
    font-size: 13px;
    line-height: 1.5;
}

/* Trennlinie und Leistungen */
.rg-price-card .rg-price-card-features {
    border-top: 1px solid #DED0C7;
    padding-top: 18px;
}

.rg-price-card .rg-price-card-features,
.rg-price-card .rg-price-card-features p {
    color: #292729;
    font-size: 14px;
    line-height: 1.8;
}

/* Rote Häkchen */
.rg-price-card .rg-price-card-features span {
    color: #B32248;
}

/* Smartphone */
@media (max-width: 767px) {
    .rg-price-card {
        padding: 24px 20px;
    }

    .rg-price-card .rg-price-card-title h3 {
        font-size: 22px;
    }

    .rg-price-card .rg-price-card-price,
    .rg-price-card .rg-price-card-price p {
        font-size: 32px;
    }
}

/* Rosengarten – Outline-Button; Klasse am Button oder Divi-Modul-Wrapper. */
body #page-container .rg-outline-button.et_pb_button_module_wrapper {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

body #page-container .rg-outline-button.et_pb_button_module_wrapper::before,
body #page-container .rg-outline-button.et_pb_button_module_wrapper::after {
    content: none !important;
    display: none !important;
}

body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button) {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    padding: 10px 18px !important;
    background: transparent !important;
    color: #B32248 !important;
    border: 1px solid #B32248 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.25s ease,
                color 0.25s ease,
                border-color 0.25s ease !important;
}

body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button)::before {
    content: none !important;
    display: none !important;
}

body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button)::after {
    content: "\2192" !important;
    display: inline-block !important;
    position: static !important;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: inherit !important;
    pointer-events: none;
    transform: translateX(0) !important;
    transition: transform 0.25s ease !important;
}

body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button):is(:hover, :focus-visible) {
    padding: 10px 18px !important;
    background: #B32248 !important;
    color: #FFFFFF !important;
    border-color: #B32248 !important;
}

body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button):is(:hover, :focus-visible)::after {
    transform: translateX(3px) !important;
}

/* Smartphone: Textumbruch mit unabhängig rechts zentriertem Pfeil. */
@media (max-width: 767px) {
    body #page-container :is(.rg-outline-button.et_pb_button_module_wrapper, .et_pb_button_module_wrapper:has(> .et_pb_button.rg-outline-button)) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button) {
        position: relative !important;
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        text-align: center;
    }

    body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button),
    body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button):is(:hover, :focus-visible) {
        padding-right: 44px !important;
    }

    body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button)::after {
        position: absolute !important;
        top: 50% !important;
        right: 18px !important;
        bottom: auto !important;
        left: auto !important;
        translate: 0 -50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button),
    body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button)::after {
        transition: none !important;
    }

    body #page-container :is(.et_pb_button.rg-outline-button, .rg-outline-button.et_pb_button_module_wrapper .et_pb_button):is(:hover, :focus-visible)::after {
        transform: none !important;
    }
}

/* Rosengarten – Outline-Link innerhalb eines Textmoduls */
body #page-container a.rg-hero-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    max-width: 100%;
    padding: 10px 18px;
    background: transparent;
    color: #B32248;
    border: 1px solid #B32248;
    border-radius: 4px;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: background-color 0.25s ease,
                color 0.25s ease,
                border-color 0.25s ease;
}

body #page-container a.rg-hero-link::after {
    content: "\2192";
    display: inline-block;
    flex: 0 0 auto;
    font-family: Arial, sans-serif;
    font-size: 18px;
    line-height: 1;
    color: inherit;
    pointer-events: none;
    transform: translateX(0);
    transition: transform 0.25s ease;
}

body #page-container a.rg-hero-link:is(:hover, :focus-visible) {
    background: #B32248;
    color: #FFFFFF;
    border-color: #B32248;
    text-decoration: none;
}

body #page-container a.rg-hero-link:is(:hover, :focus-visible)::after {
    transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
    body #page-container a.rg-hero-link,
    body #page-container a.rg-hero-link::after {
        transition: none;
    }

    body #page-container a.rg-hero-link:is(:hover, :focus-visible)::after {
        transform: none;
    }
}

/* Rosengarten – Textlink für den Wanderkoch-Bereich */
body #page-container a.rg-wanderkoch-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #B32248;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none;
}

body #page-container a.rg-wanderkoch-link::after {
    content: "\2192";
    display: inline-block;
    flex: 0 0 auto;
    color: inherit;
    font-family: Arial, sans-serif;
    font-size: 17px;
    line-height: 1;
    transform: translateX(0);
    transition: transform 0.25s ease;
}

body #page-container a.rg-wanderkoch-link:is(:hover, :focus-visible) {
    color: #B32248;
    text-decoration: none;
}

body #page-container a.rg-wanderkoch-link:is(:hover, :focus-visible)::after {
    transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
    body #page-container a.rg-wanderkoch-link::after {
        transition: none;
    }

    body #page-container a.rg-wanderkoch-link:is(:hover, :focus-visible)::after {
        transform: none;
    }
}

.rg-wanderkoch-redline {
    width: 40px;
    height: 2px;
    background-color: #B32248;
    margin-top: 12px;
    margin-bottom: 18px;
}

.rg-wanderkoch-storytext {
    max-width: 600px;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .rg-wanderkoch-storytext {
        max-width: 100%;
    }
}

/* Wanderkoch – durchgehender Bildverlauf auf Desktop. */
@media (min-width: 1101px) {
    body #page-container .rg-wanderkoch-story.et_pb_row {
        position: relative;
        isolation: isolate;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row::before {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        background: linear-gradient(
            90deg,
            rgba(24, 35, 31, 0.90) 0%,
            rgba(24, 35, 31, 0.68) 30%,
            rgba(24, 35, 31, 0) 58%
        );
        pointer-events: none;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row > .et_pb_column {
        position: relative;
        z-index: 1;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row .et_pb_text {
        width: 52%;
        max-width: 52%;
        background-color: transparent !important;
    }

    .rg-wanderkoch-storytext {
        max-width: 480px;
    }
}

/* Wanderkoch – durchgehender Bildverlauf auf Tablet. */
@media (min-width: 768px) and (max-width: 1100px) {
    body #page-container .rg-wanderkoch-story.et_pb_row {
        position: relative;
        isolation: isolate;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row::before {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        background: linear-gradient(
            90deg,
            rgba(24, 35, 31, 0.90) 0%,
            rgba(24, 35, 31, 0.68) 38%,
            rgba(24, 35, 31, 0.15) 65%,
            rgba(24, 35, 31, 0) 82%
        );
        pointer-events: none;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row > .et_pb_column {
        position: relative;
        z-index: 1;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row .et_pb_text {
        width: 65%;
        max-width: 65%;
        background-color: transparent !important;
    }
}

/* Wanderkoch – durchgehender Bildverlauf auf Smartphone. */
@media (max-width: 767px) {
    body #page-container .rg-wanderkoch-story.et_pb_row {
        position: relative;
        isolation: isolate;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row::before {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: 0;
        background: linear-gradient(
            180deg,
            rgba(24, 35, 31, 0.92) 0%,
            rgba(24, 35, 31, 0.82) 48%,
            rgba(24, 35, 31, 0.35) 68%,
            rgba(24, 35, 31, 0) 82%
        );
        pointer-events: none;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row > .et_pb_column {
        position: relative;
        z-index: 1;
    }

    body #page-container .rg-wanderkoch-story.et_pb_row .et_pb_text {
        background-color: transparent !important;
        padding: 24px 36px !important;
    }

    body #page-container .rg-wanderkoch-story .et_pb_text_inner > p:first-child {
        font-size: 13px;
        line-height: 1.4;
        padding-bottom: 8px;
    }

    body #page-container .rg-wanderkoch-story .et_pb_text_inner h2 {
        font-size: 28px;
        line-height: 1.2;
        padding-bottom: 6px;
    }

    body #page-container .rg-wanderkoch-story .rg-wanderkoch-redline {
        margin-top: 8px;
        margin-bottom: 12px;
    }

    body #page-container .rg-wanderkoch-story .rg-wanderkoch-storytext {
        font-size: 16px;
        line-height: 1.6;
    }
}

/* Wanderkoch – feine Trennlinien der Dreier-Bildreihe. */
body #page-container .rg-wanderkoch-triptych.et_pb_row::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 3;
    background-color: #fff;
    pointer-events: none;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
}

@media (min-width: 768px) {
    body #page-container .rg-wanderkoch-triptych.et_pb_row > .et_pb_column + .et_pb_column::before {
        content: "";
        display: block;
        position: absolute;
        z-index: 3;
        background-color: #fff;
        pointer-events: none;
        top: 0;
        bottom: 0;
        left: 0;
        width: 1px;
    }
}

/* Wanderkoch – Bildblöcke auf Smartphone ohne vertikalen Zwischenraum. */
@media (max-width: 767px) {
    body #page-container .rg-wanderkoch-triptych.et_pb_row {
        row-gap: 0;
    }
}

/* Wanderkoch – dekorative Linien-Icons der Beschriftungsleisten. */
body #page-container .rg-wanderkoch-label .et_pb_text_inner > p {
    display: flex;
    align-items: center;
    gap: 8px;
}

body #page-container .rg-wanderkoch-label .et_pb_text_inner > p::before {
    content: "";
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

body #page-container .rg-wanderkoch-label.rg-wanderkoch-label-herb .et_pb_text_inner > p::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18C2 14 5 6 20 4C20 16 13 22 5 18ZM4 21L16 9M9 16L8 11M12 13L17 14'/%3E%3C/svg%3E");
}

body #page-container .rg-wanderkoch-label.rg-wanderkoch-label-cook .et_pb_text_inner > p::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10H19V17A3 3 0 0 1 16 20H8A3 3 0 0 1 5 17ZM4 8H20M6 8C7 4 17 4 18 8M10 5V3H14V5M5 12H2V15H5M19 12H22V15H19'/%3E%3C/svg%3E");
}

body #page-container .rg-wanderkoch-label.rg-wanderkoch-label-enjoy .et_pb_text_inner > p::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3V8A3 3 0 0 0 10 8V3M7 3V21M19 3C16 5 15 9 15 13H19M19 3V21'/%3E%3C/svg%3E");
}

/* Wanderkoch – dekorative Linie links neben dem Zitat. */
body #page-container .rg-wanderkoch-quote > .et_pb_text_inner {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 16px;
    align-items: start;
}

body #page-container .rg-wanderkoch-quote > .et_pb_text_inner::before {
    content: "";
    display: block;
    width: 32px;
    height: 2px;
    margin-top: calc(0.5lh - 1px);
    background-color: #B32248;
    pointer-events: none;
}

/* Wanderkoch – automatisches Label auf den Beitragsbildern. */
body #page-container .rg-wanderkoch-posts.et_pb_image .et_pb_image_wrap::after {
    content: "WANDERKOCH-BLOG";
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    padding: 5px 9px;
    border-radius: 3px;
    background: rgba(247, 243, 238, 0.92);
    color: #3B302B;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
    pointer-events: none;
}

/* Nummerierte Pagination ausschließlich für den Wanderkoch-Loop. */
body #page-container .rg-wanderkoch-pagination.et_pb_posts_nav,
body #page-container .rg-wanderkoch-pagination .et_pb_posts_nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 8px;
}

body #page-container .rg-wanderkoch-pagination .nav-previous,
body #page-container .rg-wanderkoch-pagination .nav-next {
    flex: 0 0 auto;
    float: none;
}

body #page-container .rg-wanderkoch-pagination .nav-next {
    width: auto !important;
    margin-left: 0 !important;
    text-align: left;
}

body #page-container .rg-wanderkoch-pagination .rg-wanderkoch-pagination-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    font-family: 'Poppins', Arial, sans-serif;
}

body #page-container .rg-wanderkoch-pagination .rg-wanderkoch-pagination-number,
body #page-container .rg-wanderkoch-pagination .rg-wanderkoch-pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    min-height: 26px;
    color: #B32248 !important;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    padding: 5px 6px;
}

body #page-container .rg-wanderkoch-pagination .nav-previous a,
body #page-container .rg-wanderkoch-pagination .nav-next a {
    display: inline-flex;
    align-items: center;
    color: #B32248 !important;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    background-color: transparent !important;
    border-radius: 4px;
    padding: 5px 6px;
}

body #page-container .rg-wanderkoch-pagination .nav-previous a span,
body #page-container .rg-wanderkoch-pagination .nav-next a span {
    color: inherit !important;
}

body #page-container .rg-wanderkoch-pagination a.rg-wanderkoch-pagination-number:is(:hover, :focus-visible),
body #page-container .rg-wanderkoch-pagination .nav-previous a:is(:hover, :focus-visible),
body #page-container .rg-wanderkoch-pagination .nav-next a:is(:hover, :focus-visible) {
    color: #B32248 !important;
    background-color: #F7F3EE !important;
}

body #page-container .rg-wanderkoch-pagination .rg-wanderkoch-pagination-number.is-current {
    border-radius: 4px;
    color: #FFFFFF !important;
    background-color: #B32248 !important;
}

body #page-container .rg-wanderkoch-pagination .rg-wanderkoch-pagination-ellipsis {
    min-width: auto;
    color: #3B302B;
}

@media (max-width: 767px) {
    body #page-container .rg-wanderkoch-pagination .rg-wanderkoch-pagination-numbers {
        gap: 6px;
    }
}
