/* Die native Divi-Struktur bleibt erhalten. Diese Regeln korrigieren die
 * überlappende Kopfzeile und die breiten Bildflächen zwischen den Breakpoints. */
body.home #raventex-kampagne img {
    object-position: center top !important;
    object-fit: contain !important;
    height: auto !important;
    display: block;
}
@media (max-width: 980px) {
    /* Divis transparente Desktop-Kopfzeile darf den Anfang des Banners auf
     * Touch-Geräten nicht überdecken. Die Menüleiste bleibt im Dokumentfluss. */
    body.home #main-header { position: relative !important; top: auto !important; }
    body.home #page-container { padding-top: 0 !important; }
    body.home #et-main-area { margin-top: 0 !important; }
    body.home #raventex-kampagne { margin-top: 0 !important; }
    body.home #kollektionen .et_pb_row_5 { gap: 20px; }
    body.home #kollektionen .et_pb_row_5 > .et_pb_column { margin-bottom: 20px !important; }
    body.home #kollektionen .et_pb_row_5 > .et_pb_column > .et_pb_group {
        padding: 20px !important; height: auto !important; min-height: 0 !important;
        gap: 16px !important;
    }
    body.home #kollektionen .et_pb_image_wrap { display: flex; justify-content: center; align-items: center; }
    body.home #kollektionen img { width: 100% !important; height: 240px !important; object-fit: contain !important; object-position: center !important; }
    body.home #kollektionen .et_pb_module_header { font-size: 28px !important; line-height: 1.15 !important; }
    body.home #kollektionen .et_pb_text { font-size: 17px !important; line-height: 1.55 !important; }
    body.home #kollektionen .et_pb_button { font-size: 16px !important; min-height: 48px; }
    body.home #raventex-produktkarussell .et_pb_module_header { font-size: clamp(19px, 3.4vw, 25px) !important; line-height: 1.2 !important; }
    body.home #raventex-produktkarussell .et_pb_group_carousel_slide > .et_pb_group { padding: 10px !important; }
    body.home #raventex-produktkarussell img { height: auto !important; aspect-ratio: 1; object-fit: contain !important; }
    body.home #raventex-produktkarussell .et_pb_button { font-size: 14px !important; padding: 12px 10px !important; min-height: 44px; }
}
@media (max-width: 519px) {
    body.home #kollektionen .et_pb_row_5 > .et_pb_column > .et_pb_group {
        display: flex !important; flex-direction: column !important; align-items: stretch !important;
    }
    body.home #kollektionen .et_pb_group > .et_pb_module { margin: 0 !important; }
}
/* Breite Telefone und Tablets: ausreichend Platz für zwei klare Spalten.
 * Unter 520 px bleiben Bild und Text vertikal, ebenso im Desktop-Grid. */
@media (min-width: 520px) and (max-width: 980px) {
    body.home #kollektionen .et_pb_row_5 > .et_pb_column > .et_pb_group {
        display: grid !important; grid-template-columns: minmax(0, 1fr) 42%;
        grid-template-rows: auto 1fr auto; align-items: center;
    }
    body.home #kollektionen .et_pb_group > .et_pb_image { grid-column: 2; grid-row: 1 / span 3; margin: 0 !important; }
    body.home #kollektionen .et_pb_group > :not(.et_pb_image) { grid-column: 1; margin: 0 !important; }
    body.home #kollektionen .et_pb_heading { grid-row: 1; }
    body.home #kollektionen .et_pb_text { grid-row: 2; }
    body.home #kollektionen .et_pb_button_module_wrapper { grid-row: 3; }
}
/* Vorhandene Grauhaven-Illustration als ruhige Bildpause vor dem Bestellweg. */
body.home .et_pb_section_7::before {
    content: ''; display: block; width: min(1120px, 90%); height: clamp(180px, 30vw, 320px);
    margin: 0 auto 36px; border-radius: 18px;
    background: linear-gradient(180deg, transparent 65%, rgba(17,17,19,.25)), url('story/fantasy-grauhaven-kueche.webp') center 40% / cover no-repeat;
}
/* Der vorhandene echte Shop-Anker erhält die gleiche Button-Hierarchie wie
 * die übrigen Kaufzugänge; Fokus und Linkziel bleiben nativ bedienbar. */
footer .et_pb_text_1_tb_footer p:last-child > a {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; padding: 12px 24px; border-radius: 8px;
    background: #91263b; color: #f3eee5 !important; font-size: 17px; font-weight: 600;
}
footer .et_pb_text_1_tb_footer p:last-child > a:focus-visible { outline: 2px solid #beddd6; outline-offset: 4px; }
footer .et_pb_text_1_tb_footer p:last-child > a:active { background: #742034; }
