/*
 * Internationale Preisvergleiche - Zentrale Stildatei (Baukasten-System)
 * Version 25.2 (COMPACT VIEW, POST LIST RESPONSIVE & BUTTON FIX)
 * 
 * Design-Update v25.2:
 * - RESPONSIVE POST LISTS: Beitrags-Listen (.ipc-post-list-item) werden auf Mobile nun via 
 *   CSS-Grid exakt in das Layout der Preisliste gezwungen (Bild links, Text rechts, 
 *   gestrichelte Linie, Full-Width Button unten).
 * - POST BUTTON FIX: Der einzelne "Hier vergleichen" Button nutzt nun ein sauberes 1-Spalten-Layout.
 * - COMPACT LAYOUT: Bildhöhen, Paddings und Gaps in Listen, Grids und Matchings wurden kompakt gehalten.
 * - ALLE FIXES ERHALTEN: Flatsome-Schutz, 100% Edge-to-Edge Bilder, 2-Spalten Meta.
 */

/* ========================================================== */
/* 0. Globale Variablen & Reset                               */
/* ========================================================== */
:root {
    --ipc-color-primary: #2c3e50; 
    --ipc-color-primary-dark: #f39c12;
    --ipc-color-primary-light: #ff8533;
    --ipc-color-secondary: #003366; 
    --ipc-color-secondary-dark: #002244;
    --ipc-color-accent: #0055aa; 
    --ipc-text-dark: #222222; 
    --ipc-text-medium: #666666; 
    --ipc-text-light: #ffffff;
    --ipc-bg-body: #f4f5f7; 
    --ipc-bg-image: #f8f9fa; 
    --ipc-bg-light: #fdfdfd; 
    --ipc-bg-medium: #f0f2f5; 
    --ipc-bg-card: #ffffff; 
    --ipc-border-color: #e2e8f0; 
    --ipc-border-color-medium: #cbd5e1; 
    --ipc-border-radius: 8px; 
    --ipc-border-radius-pill: 40px; 
    --ipc-transition-speed: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --ipc-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    --ipc-box-shadow-hover: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.ipc-app-wrapper,
.ipc-sp-wrapper {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--ipc-text-dark);
    box-sizing: border-box;
}
.ipc-app-wrapper *, .ipc-sp-wrapper * {
    box-sizing: border-box;
}


/* ========================================================== */
/* 0.5 THEME OVERRIDE (SCHUTZSCHILD GEGEN FLATSOME & WOO)     */
/* ========================================================== */
ul.ipc-price-table-container,
#ipc-price-table-results.list-view {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 !important; 
    padding: 0 !important;
}

ul.ipc-price-table-container > li.ipc-list-item,
#ipc-price-table-results.list-view > .ipc-item-list-desktop,
#ipc-price-table-results.list-view > .ipc-item-list-mobile,
#ipc-price-table-results.list-view > .ipc-post-list-item {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important; 
    margin: 0 !important;      
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}


/* ========================================================== */
/* 1. AJAX FILTER & TOP-BAR INTERFACE (PREMIUM UI)            */
/* ========================================================== */
.ipc-app-wrapper #ipc-top-bar { 
    display: flex; margin-bottom: 20px; gap: 12px; align-items: center; 
    padding: 14px 20px; background-color: var(--ipc-bg-card); 
    border: none; border-radius: var(--ipc-border-radius); 
    box-shadow: 0 4px 16px rgba(0,0,0,0.04); transition: none; 
}
.ipc-app-wrapper .ipc-search-wrapper { flex-grow: 1; }
.ipc-app-wrapper .ipc-search-wrapper input[name="search"] { 
    width: 100%; height: 46px; padding: 0 20px; 
    border-radius: var(--ipc-border-radius-pill); 
    border: 1px solid transparent; background-color: var(--ipc-bg-medium); 
    font-size: 14px; color: var(--ipc-text-dark); font-weight: 500;
    transition: all var(--ipc-transition-speed); 
}
.ipc-app-wrapper .ipc-search-wrapper input[name="search"]:focus { background-color: var(--ipc-bg-card); border-color: var(--ipc-color-accent); box-shadow: 0 0 0 4px rgba(0, 85, 170, 0.1); outline: none; }
.ipc-app-wrapper .ipc-view-switcher { display: flex; flex-shrink: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
.ipc-app-wrapper :is(.ipc-view-switcher button, #ipc-open-filters-btn) { width: 46px; height: 46px; border: 1px solid var(--ipc-border-color); background: var(--ipc-bg-card); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; transition: all var(--ipc-transition-speed); color: var(--ipc-text-medium); }
.ipc-app-wrapper :is(.ipc-view-switcher button, #ipc-open-filters-btn):hover { background-color: var(--ipc-bg-light); }
.ipc-app-wrapper :is(.ipc-view-switcher button, #ipc-open-filters-btn) img { height: 18px; width: 18px; opacity: 0.6; transition: all 0.2s; }
.ipc-app-wrapper .ipc-view-switcher button:first-child { border-radius: 8px 0 0 8px; }
.ipc-app-wrapper .ipc-view-switcher button:last-child { border-radius: 0 8px 8px 0; border-left: none; }
.ipc-app-wrapper .ipc-view-switcher button.active { background-color: var(--ipc-bg-medium); border-color: var(--ipc-border-color-medium); }
.ipc-app-wrapper .ipc-view-switcher button.active img { opacity: 1; filter: brightness(0) saturate(100%) invert(18%) sepia(45%) saturate(3062%) hue-rotate(193deg) brightness(96%) contrast(106%); }
.ipc-app-wrapper #ipc-open-filters-btn { display: none; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
.ipc-price-filter-wrapper { display: flex; }
.ipc-price-filter-inputs { display: flex; gap: 8px; }
.ipc-price-filter-inputs input { width: 85px; height: 46px; padding: 0 10px; text-align: center; border: 1px solid var(--ipc-border-color); border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--ipc-text-dark); background-color: var(--ipc-bg-card); transition: all var(--ipc-transition-speed); }
.ipc-price-filter-inputs input:focus { border-color: var(--ipc-color-accent); box-shadow: 0 0 0 3px rgba(0, 85, 170, 0.1); outline: none; }
.ipc-price-filter-inputs input::-webkit-outer-spin-button, .ipc-price-filter-inputs input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ipc-app-wrapper #ipc-filter-form-desktop { display: flex; flex-wrap: nowrap; gap: 8px; margin-bottom: 25px; align-items: center; justify-content: flex-start; width: 100%; }
.ipc-app-wrapper .ipc-filter-pills-container { display: flex; flex-wrap: nowrap; gap: 8px; }
.ipc-app-wrapper .ipc-filter-pill { display: flex; align-items: center; background-color: var(--ipc-bg-card); border: 1px solid var(--ipc-border-color); border-radius: var(--ipc-border-radius-pill); height: 34px; font-size: 13px; padding: 0; box-shadow: 0 1px 2px rgba(0,0,0,0.02); transition: all var(--ipc-transition-speed); }
.ipc-app-wrapper .ipc-filter-pill:hover { border-color: var(--ipc-border-color-medium); background-color: var(--ipc-bg-light); box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.ipc-app-wrapper :is(.ipc-filter-pill select, .ipc-filter-pill input.ipc-live-search-input) { border: none; background: transparent; -webkit-appearance: none; appearance: none; font-size: 13px; font-weight: 600; cursor: pointer; padding: 0 14px; height: 100%; border-radius: var(--ipc-border-radius-pill); color: var(--ipc-text-medium); transition: color 0.2s; }
.ipc-app-wrapper :is(.ipc-filter-pill select, .ipc-filter-pill input.ipc-live-search-input):hover { color: var(--ipc-text-dark); }
.ipc-app-wrapper :is(.ipc-filter-pill select, .ipc-filter-pill input.ipc-live-search-input):focus { outline: none; box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.1); color: var(--ipc-color-secondary); }
.ipc-live-search-input { width: 140px; }
.ipc-filter-pill select[name="country_code"] { min-width: 50px; text-align: center; }
.ipc-app-wrapper .ipc-controls-container { margin-left: auto; display: flex; gap: 8px; flex-shrink: 0; }
.ipc-app-wrapper :is(.ipc-reset-button, .ipc-submit-button) { height: 34px; border-radius: var(--ipc-border-radius-pill); font-size: 12px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; padding: 0 16px; cursor: pointer; transition: all var(--ipc-transition-speed); border: none; }
.ipc-app-wrapper .ipc-reset-button { background-color: var(--ipc-bg-medium); color: var(--ipc-text-medium); }
.ipc-app-wrapper .ipc-reset-button:hover { background-color: var(--ipc-border-color-medium); color: var(--ipc-text-dark); }
.ipc-app-wrapper .ipc-submit-button { background-color: var(--ipc-color-secondary); color: var(--ipc-text-light); box-shadow: 0 2px 6px rgba(0, 51, 102, 0.2); }
.ipc-app-wrapper .ipc-submit-button:hover { background-color: var(--ipc-color-accent); transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0, 51, 102, 0.3); }

.ipc-live-search-wrapper { position: relative; }
.ipc-live-search-results { position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: var(--ipc-bg-card); border: 1px solid var(--ipc-border-color); border-radius: 12px; z-index: 1003; max-height: 250px; overflow-y: auto; display: none; box-shadow: 0 10px 25px rgba(0,0,0,0.1); padding: 5px 0; }
.ipc-live-search-results div { padding: 10px 18px; cursor: pointer; white-space: nowrap; font-size: 13px; font-weight: 500; color: var(--ipc-text-dark); transition: background 0.2s; }
.ipc-live-search-results div:hover { background: var(--ipc-bg-light); color: var(--ipc-color-accent); }
.ipc-live-search-no-results { padding: 10px 18px !important; color: #999 !important; cursor: default !important; font-style: italic; }
.ipc-live-search-no-results:hover { background: transparent !important; color: #999 !important; }

/* Filter Sidebar Mobile */
.ipc-app-wrapper #ipc-filter-sidebar { position: fixed; top: 0; right: 0; width: 300px; max-width: 85%; height: 100%; background: var(--ipc-bg-card); z-index: 1002; box-shadow: -10px 0 25px rgba(0,0,0,0.15); transform: translateX(100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; }
.ipc-app-wrapper #ipc-filter-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); backdrop-filter: blur(2px); z-index: 1001; opacity: 0; visibility: hidden; transition: all 0.3s; }
.ipc-app-wrapper.ipc-sidebar-is-open #ipc-filter-sidebar { transform: translateX(0); }
.ipc-app-wrapper.ipc-sidebar-is-open #ipc-filter-overlay { opacity: 1; visibility: visible; }
.ipc-app-wrapper .ipc-sidebar-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 25px; border-bottom: 1px solid var(--ipc-border-color); flex-shrink: 0; }
.ipc-app-wrapper .ipc-sidebar-header h3 { margin: 0; font-size: 20px; color: var(--ipc-text-dark); font-weight: 800; }
.ipc-app-wrapper #ipc-close-filters-btn { font-size: 32px; font-weight: 300; background: none; border: none; cursor: pointer; line-height: 1; padding: 0; color: var(--ipc-text-medium); transition: color 0.2s; }
.ipc-app-wrapper #ipc-close-filters-btn:hover { color: var(--ipc-color-primary); }
.ipc-app-wrapper .ipc-sidebar-content { padding: 25px; overflow-y: auto; flex-grow: 1; }
.ipc-app-wrapper #ipc-filter-form-mobile { display: flex; flex-direction: column; gap: 18px; }
.ipc-app-wrapper #ipc-filter-form-mobile label { font-weight: 700; font-size: 13.5px; margin-bottom: -10px; color: var(--ipc-text-dark); }
.ipc-app-wrapper #ipc-filter-form-mobile :is(select, input) { width: 100%; height: 48px; padding: 0 16px; border-radius: 8px; border: 1px solid var(--ipc-border-color); font-size: 15px; font-weight: 500; background-color: var(--ipc-bg-light); -webkit-appearance: none; appearance: none; color: var(--ipc-text-dark); transition: all var(--ipc-transition-speed); }
.ipc-app-wrapper #ipc-filter-form-mobile :is(select, input):focus { border-color: var(--ipc-color-accent); background-color: var(--ipc-bg-card); box-shadow: 0 0 0 3px rgba(0, 85, 170, 0.1); outline: none; }
.ipc-app-wrapper #ipc-filter-form-mobile .ipc-price-filter-inputs { display: flex; gap: 12px; }
.ipc-app-wrapper #ipc-filter-form-mobile .ipc-price-filter-inputs input { width: 100%; }
.ipc-app-wrapper .ipc-sidebar-footer { display: flex; gap: 12px; padding: 20px 25px; border-top: 1px solid var(--ipc-border-color); flex-shrink: 0; background: var(--ipc-bg-light); }
.ipc-app-wrapper .ipc-sidebar-footer :is(.ipc-reset-button, .ipc-submit-button) { width: 100%; height: 48px; border-radius: 8px; font-size: 14px; }


/* ========================================================== */
/* 2. GLOBALE BILD-BOXEN & ACTION-BUTTONS (PERFEKTE SCHÄRFE)  */
/* ========================================================== */

/* --- BILD-BOXEN: 0 PADDING! EDGE TO EDGE! --- */
.ipc-price-table-container .ipc-list-image,
:is(.ipc-item-list-desktop .ipc-item-list-image, .ipc-post-list-item .ipc-post-list-image),
.grid-view :is(.ipc-item-image, .ipc-post-image),
.ipc-mobile-list-image {
    background-color: var(--ipc-bg-image) !important; 
    padding: 0 !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important; 
    box-sizing: border-box !important;
}

/* <a> Tag füllt restlos aus! */
.ipc-price-table-container .ipc-list-image a,
:is(.ipc-item-list-desktop .ipc-item-list-image, .ipc-post-list-item .ipc-post-list-image) a,
.grid-view :is(.ipc-item-image, .ipc-post-image) a,
.ipc-mobile-list-image a {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; text-decoration: none !important;
}

/* NATIVE SCHÄRFE ERZWUNGEN! */
img.ipc-product-thumb, 
:is(.ipc-item-list-desktop .ipc-item-list-image, .ipc-post-list-item .ipc-post-list-image, .ipc-list-image, .ipc-item-image) img,
.ipc-mobile-list-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important; 
    height: auto !important; 
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
    color: transparent !important; 
    font-size: 0 !important; 
    transform: none !important; 
    image-rendering: high-quality !important; 
}

/* --- ACTION BUTTONS (MODERNER 3D HOVER) --- */
.ipc-app-wrapper .ipc-action-button,
.ipc-price-table-container .ipc-list-link a,
.ipc-mobile-button,
.ipc-shop-card .ipc-button-offer,
.list-view .ipc-shop-list-actions a { 
    font-size: 13px !important; 
    text-decoration: none !important; 
    border-radius: 8px !important; 
    font-weight: 800 !important; 
    transition: all var(--ipc-transition-speed) !important; 
    display: flex !important; 
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important; 
    height: 42px !important; /* Minimal kompakter */
    white-space: nowrap !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    width: 100% !important;
    padding: 0 10px !important;
    overflow: hidden !important;
}
.ipc-button-compare { 
    background-color: #fff !important; 
    color: var(--ipc-text-medium) !important; 
    border: 1px solid var(--ipc-border-color-medium) !important; 
}
.ipc-button-compare:hover { 
    border-color: var(--ipc-color-accent) !important; 
    color: var(--ipc-color-accent) !important; 
    background-color: var(--ipc-bg-card) !important; 
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 12px rgba(0, 85, 170, 0.1) !important;
}
.ipc-button-offer,
.ipc-shop-card .ipc-button-offer,
.list-view .ipc-shop-list-actions a { 
    background-color: var(--ipc-color-primary) !important; 
    color: #fff !important; 
    border: none !important; 
    box-shadow: 0 4px 10px rgba(255, 102, 0, 0.2) !important;
}
.ipc-button-offer:hover,
.ipc-shop-card .ipc-button-offer:hover,
.list-view .ipc-shop-list-actions a:hover { 
    background-color: var(--ipc-color-primary-dark) !important; 
    transform: translateY(-2px) !important; 
    box-shadow: 0 6px 16px rgba(255, 102, 0, 0.35) !important; 
}


/* ========================================================== */
/* 3. ERGEBNISLISTEN: GRID-ANSICHT (KACHELN) - COMPACT        */
/* ========================================================== */
#ipc-price-table-results.grid-view, #ipc-post-table-results.grid-view {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px;
}

.grid-view .ipc-item-card, .grid-view .ipc-post-card {
    display: flex; flex-direction: column; background: var(--ipc-bg-card); border: 1px solid var(--ipc-border-color); 
    border-radius: var(--ipc-border-radius); box-shadow: var(--ipc-box-shadow); transition: all var(--ipc-transition-speed); 
    padding: 0 !important; overflow: hidden !important; position: relative;
}
.grid-view .ipc-item-card:hover, .grid-view .ipc-post-card:hover { transform: translateY(-4px); box-shadow: var(--ipc-box-shadow-hover); border-color: var(--ipc-color-accent); }

/* Grid Bild Kompakter */
.grid-view :is(.ipc-item-image, .ipc-post-image) { 
    height: 190px !important; margin-bottom: 0 !important; 
    border: none !important; border-radius: 0 !important; border-bottom: 1px solid var(--ipc-border-color) !important;
    background-color: var(--ipc-bg-image) !important; padding: 0 !important; 
}

/* Grid Text Kompakter */
.grid-view :is(.ipc-item-info, .ipc-post-info) { padding: 16px 16px 0 16px !important; flex-grow: 1; display: flex; flex-direction: column; }
.grid-view :is(.ipc-item-name, .ipc-post-title) { font-weight: 800; font-size: 15px; line-height: 1.4; color: var(--ipc-text-dark); margin-bottom: 5px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; word-break: break-word; }
.grid-view :is(.ipc-item-name, .ipc-post-title) a { color: inherit; text-decoration: none; transition: color 0.2s; }
.grid-view :is(.ipc-item-name, .ipc-post-title) a:hover { color: var(--ipc-color-accent); }

/* Grid Meta Kompakter */
.grid-view .ipc-item-meta-grid { 
    font-size: 13px; color: var(--ipc-text-medium); margin-top: 10px; margin-bottom: 10px; width: 100%;
    border-top: 1px solid var(--ipc-bg-medium); padding-top: 10px; 
    display: flex; flex-direction: column; gap: 6px; align-items: flex-start; 
}
.grid-view .ipc-grid-meta-item { display: flex; align-items: flex-start; gap: 8px; width: 100%; white-space: normal; line-height: 1.4; word-break: break-word; }
.grid-view .ipc-grid-meta-item img { width: 16px; flex-shrink: 0; margin-top: 2px; }
.grid-view .ipc-grid-meta-item strong { color: var(--ipc-text-dark); font-weight: 700; }

/* Grid Buttons & Preis */
.grid-view :is(.ipc-item-footer, .ipc-post-footer) { display: flex; flex-direction: column; align-items: flex-end; margin-top: auto; width: 100%; padding: 10px 16px 16px 16px !important; }
.grid-view .ipc-item-price { font-size: 24px; font-weight: 800; color: var(--ipc-text-dark); margin-bottom: 12px; text-align: right; line-height: 1; display: flex; align-items: baseline; gap: 6px;}
.grid-view .ipc-item-price::before { content: 'ab'; font-size: 14px; font-weight: 600; color: var(--ipc-text-medium); }
.grid-view :is(.ipc-item-actions, .ipc-post-actions) { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }


/* ========================================================== */
/* 4. ERGEBNISLISTEN: LISTEN-ANSICHT (COMPACT)                */
/* ========================================================== */
#ipc-price-table-results.list-view, #ipc-post-table-results.list-view { display: flex; flex-direction: column; gap: 15px; border: none; border-radius: var(--ipc-border-radius); background-color: transparent; }

/* UNZERSTÖRBARES 2-SPALTEN GRID - Kompaktere Breiten & Gaps */
:is(.ipc-item-list-desktop, .ipc-post-list-item) {
    display: grid !important; 
    grid-template-columns: 180px minmax(0, 1fr) !important; 
    grid-template-rows: auto 1fr !important;
    align-items: stretch !important; 
    gap: 0 20px !important; 
    padding: 0 !important; 
    background: var(--ipc-bg-card) !important; border: 1px solid var(--ipc-border-color) !important; border-radius: var(--ipc-border-radius) !important;
    box-shadow: var(--ipc-box-shadow) !important; transition: all var(--ipc-transition-speed) !important;
    overflow: hidden !important; 
}
:is(.ipc-item-list-desktop, .ipc-post-list-item):hover { box-shadow: var(--ipc-box-shadow-hover) !important; border-color: var(--ipc-color-accent) !important; transform: translateY(-2px) !important; }

/* Beiträge im Desktop-Modus auf 1 Spalte für den einzelnen Button limitieren */
#ipc-post-table-results .ipc-post-list-item .ipc-post-list-actions {
    grid-template-columns: 1fr !important; 
    max-width: 180px !important; 
}

/* BILD: Kompakter */
:is(.ipc-item-list-desktop .ipc-item-list-image, .ipc-post-list-item .ipc-post-list-image) { 
    grid-column: 1 !important; grid-row: 1 / 3 !important;
    width: 100% !important; height: 100% !important; min-height: 180px !important;
    align-self: stretch !important; border: none !important; border-right: 1px solid var(--ipc-border-color) !important; border-radius: 0 !important;
    background-color: var(--ipc-bg-image) !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; 
}

/* INFO-WRAPPER */
:is(.ipc-item-list-desktop .ipc-item-list-info, .ipc-post-list-item .ipc-post-list-info) { 
    grid-column: 2 !important; grid-row: 1 !important;
    display: flex !important; flex-direction: column !important;
    padding: 20px 20px 0 0 !important; 
    width: 100% !important; min-width: 0 !important; 
}

/* TITEL */
:is(.ipc-item-list-desktop .ipc-item-list-name, .ipc-post-list-item .ipc-post-list-name) { 
    font-weight: 800 !important; font-size: 17px !important; color: var(--ipc-text-dark) !important; line-height: 1.4 !important; 
    display: block !important; margin: 0 !important; word-break: break-word !important; padding: 0 !important; 
}
:is(.ipc-item-list-desktop .ipc-item-list-name, .ipc-post-list-item .ipc-post-list-name) a { text-decoration: none; color: inherit; transition: color 0.2s;}
:is(.ipc-item-list-desktop .ipc-item-list-name, .ipc-post-list-item .ipc-post-list-name) a:hover { color: var(--ipc-color-accent); }

/* META-DATEN: Enger aneinander */
.ipc-item-list-desktop .ipc-item-list-meta { 
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 6px 16px !important;
    align-items: flex-start !important; width: 100% !important; min-width: 0 !important; 
    font-size: 13px !important; color: var(--ipc-text-medium) !important; line-height: 1.5 !important;
    margin-top: 8px !important; padding: 0 !important;
}
.ipc-item-list-desktop .ipc-item-list-meta > div { flex: 0 0 auto !important; white-space: nowrap !important; display: block !important; }
.ipc-item-list-desktop .ipc-item-list-meta img { width: 18px; border-radius: 2px; vertical-align: middle; margin-top: -2px; }
.ipc-item-list-desktop .ipc-item-list-meta strong { color: var(--ipc-text-dark); font-weight: 700; }

/* FOOTER (Preis & Buttons) */
:is(.ipc-item-list-desktop .ipc-item-list-right-col, .ipc-post-list-item .ipc-post-list-right-col) { 
    grid-column: 2 !important; grid-row: 2 !important;
    display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: flex-end !important; gap: 12px !important; 
    width: 100% !important; min-width: 0 !important; height: 100% !important; 
    padding: 15px 20px 20px 0 !important; margin-top: auto !important;
}

/* Preis Kompakt */
.ipc-item-list-desktop .ipc-item-price { font-weight: 800; font-size: 24px; color: var(--ipc-text-dark); white-space: nowrap; line-height: 1; display: flex; align-items: baseline; gap: 6px; margin: 0 !important; justify-content: flex-end !important; }
.ipc-item-list-desktop .ipc-item-price::before { content: 'ab'; font-size: 14px; font-weight: 600; color: var(--ipc-text-medium); }

/* Buttons */
:is(.ipc-item-list-desktop .ipc-item-actions, .ipc-post-list-item .ipc-post-list-actions) { 
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; 
    width: 100% !important; max-width: 320px !important; flex-shrink: 0 !important; margin-top: 0 !important;
}


/* Paginierung (Modernisiert) */
.ipc-app-wrapper #ipc-pagination-container, .ipc-pagination { margin-top: 2.5em; text-align: center; }
.ipc-app-wrapper #ipc-pagination-container .page-numbers, .ipc-pagination .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 4px; border: 1px solid var(--ipc-border-color); background: var(--ipc-bg-card); color: var(--ipc-text-dark); text-decoration: none; border-radius: var(--ipc-border-radius); transition: all var(--ipc-transition-speed); font-weight: 700; box-shadow: 0 1px 2px rgba(0,0,0,0.02); }
.ipc-app-wrapper #ipc-pagination-container .page-numbers:hover, .ipc-pagination .page-numbers:hover { background-color: var(--ipc-bg-light); border-color: var(--ipc-color-secondary); box-shadow: 0 4px 8px rgba(0,0,0,0.05); transform: translateY(-1px); }
.ipc-app-wrapper #ipc-pagination-container .page-numbers.current, .ipc-pagination .page-numbers.current { background-color: var(--ipc-color-secondary); color: var(--ipc-text-light); border-color: var(--ipc-color-secondary); box-shadow: 0 4px 10px rgba(0, 51, 102, 0.2); transform: translateY(-1px); }
.ipc-app-wrapper #ipc-pagination-container .page-numbers.dots { border: none; background: transparent; padding: 8px 4px; box-shadow: none; transform: none; }


/* ========================================================== */
/* 5. TEMPLATE-TABELLE: TOP-ANGEBOTE (MATCHINGS) COMPACT    */
/* ========================================================== */
.ipc-comparison-wrapper { margin-top: 1em; margin-bottom: 60px; }

/* Die Card für die gesamte Tabelle */
.ipc-price-table-container { 
    margin-top: 0 !important; margin-bottom: 0 !important; display: flex; flex-direction: column; background-color: var(--ipc-bg-card); 
    border: 1px solid var(--ipc-border-color) !important; border-radius: 12px !important; padding: 0; overflow: hidden !important; 
    box-shadow: 0 8px 24px rgba(0,0,0,0.03) !important;
}

/* 2-SPALTEN GRID INNEN - Kompakt */
.ipc-price-table-container .ipc-list-item { 
    display: grid !important; grid-template-columns: 180px minmax(0, 1fr) !important; grid-template-rows: auto 1fr !important;
    align-items: stretch !important; gap: 0 20px !important; padding: 0 !important; border-bottom: 1px solid var(--ipc-border-color) !important; border-radius: 0 !important; box-shadow: none !important;
    background: var(--ipc-bg-card); transition: background-color var(--ipc-transition-speed); overflow: hidden !important; 
}
.ipc-price-table-container .ipc-list-item:last-child { border-bottom: none !important; }
.ipc-price-table-container .ipc-list-item:hover { transform: none !important; border-color: var(--ipc-border-color) !important; background: var(--ipc-bg-light) !important;}

/* PREMIUM HIGHLIGHT FIRST ITEM */
.ipc-price-table-container .ipc-list-item:first-child { background: linear-gradient(to right, rgba(255, 102, 0, 0.04), #ffffff) !important; position: relative !important; }
.ipc-price-table-container .ipc-list-item:first-child::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background-color: var(--ipc-color-primary) !important; z-index: 2; }
.ipc-price-table-container .ipc-list-item:first-child .ipc-list-price { color: var(--ipc-color-primary) !important; }

/* Logo Links Kompakt */
.ipc-price-table-container .ipc-list-image { 
    grid-column: 1 !important; grid-row: 1 / 3 !important; width: 100% !important; height: 100% !important; min-height: 180px !important;
    align-self: stretch !important; border: none !important; border-right: 1px solid var(--ipc-border-color) !important; border-radius: 0 !important;
    background-color: transparent !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; margin: 0 !important;
}

/* Info (Titel + Meta) */
.ipc-price-table-container .ipc-list-info { 
    display: flex !important; flex-direction: column !important; grid-column: 2 !important; grid-row: 1 !important;
    padding: 20px 20px 0 0 !important; width: 100% !important; min-width: 0 !important;
}

/* Titel */
.ipc-price-table-container .ipc-list-name { 
    font-size: 16px !important; color: var(--ipc-text-dark) !important; font-weight: 800 !important; line-height: 1.4 !important; margin: 0 !important; display: block !important; word-break: break-word !important; padding: 0 !important;
}
.ipc-price-table-container .ipc-list-name::before {
    content: ''; display: inline-block; width: 20px; height: 20px; margin-right: 8px; vertical-align: middle;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2310b981" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="1" y="3" width="15" height="13"></rect><polygon points="16 8 20 8 23 11 23 16 16 16 16 8"></svg>') no-repeat center center;
    background-size: contain; margin-top: -3px;
}

/* Meta */
.ipc-price-table-container .ipc-list-meta { 
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 6px 16px !important; align-items: flex-start !important;
    width: 100% !important; min-width: 0 !important; font-size: 13px !important; color: var(--ipc-text-medium) !important; line-height: 1.5 !important;
    margin-top: 8px !important; padding: 0 !important;
}
.ipc-price-table-container .ipc-list-meta > div { flex: 0 0 auto !important; white-space: nowrap !important; display: block !important; }
.ipc-price-table-container .ipc-list-meta img { width: 16px; border-radius: 2px; vertical-align: middle; margin-top: -2px; }
.ipc-price-table-container .ipc-list-meta strong { color: var(--ipc-text-dark); font-weight: 700; }

/* Preis & Buttons (Rechts unten!) */
.ipc-price-table-container .ipc-list-footer { 
    grid-column: 2 !important; grid-row: 2 !important; display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: flex-end !important; gap: 10px !important; 
    width: 100% !important; min-width: 0 !important; height: 100% !important; padding: 15px 20px 20px 0 !important; margin-top: auto !important;
}
.ipc-price-table-container .ipc-list-price { 
    font-weight: 800; font-size: 26px; color: var(--ipc-text-dark); white-space: nowrap; margin: 0 !important; text-align: right; line-height: 1; display: flex; justify-content: flex-end !important; align-items: baseline; gap: 6px; 
}
.ipc-price-table-container .ipc-list-price::before { content: 'ab'; font-size: 14px; font-weight: 600; color: var(--ipc-text-medium); }
.ipc-price-table-container .ipc-list-meta-price { font-size: 12.5px; color: var(--ipc-text-medium); text-align: right; display: flex; justify-content: flex-end; gap: 4px; margin-top: -6px; }
.ipc-price-table-container .ipc-list-meta-price::after { content: 'Gesamt'; font-weight: 700; color: var(--ipc-text-dark); }
.ipc-price-table-container .ipc-list-link { 
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; 
    width: 100% !important; max-width: 320px !important; flex-shrink: 0 !important; margin-top: 0 !important; 
}


/* ========================================================== */
/* 6. SINGLE PRODUCT PAGE: 2-SPALTEN LAYOUT                 */
/* ========================================================== */
.ipc-sp-wrapper { max-width: 1200px; margin: 2rem auto; padding: 0 20px; box-sizing: border-box; }
.ipc-sp-container { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }

/* Linke Spalte (Bild) */
.ipc-sp-left { flex: 0 0 350px; position: sticky; top: 20px; }
.ipc-sp-image-box { text-align: center; margin-bottom: 20px; background: var(--ipc-bg-card); padding: 0 !important; border-radius: 12px; border: 1px solid var(--ipc-border-color); box-shadow: 0 8px 24px rgba(0,0,0,0.03); overflow: hidden; }
.ipc-sp-image-box img { max-width: 100%; height: auto; max-height: 400px; object-fit: contain; mix-blend-mode: multiply; transform: none; image-rendering: high-quality; }

/* Rechte Spalte (Infos & Tabelle) */
.ipc-sp-right { flex: 1; min-width: 300px; display: flex; flex-direction: column; }
.ipc-sp-title { font-size: 30px; font-weight: 800; color: var(--ipc-text-dark); margin: 0 0 10px 0; line-height: 1.2; letter-spacing: -0.5px; }
.ipc-sp-meta-text { font-size: 15px; color: var(--ipc-text-medium); line-height: 1.6; margin-bottom: 35px; }

/* Top Angebote Box Header */
.ipc-sp-top-offers-title { 
    font-size: 20px; font-weight: 800; color: var(--ipc-text-dark); letter-spacing: -0.5px;
    background: transparent; border: none; border-bottom: 3px solid var(--ipc-color-primary); 
    display: inline-block; padding: 0 0 8px 0; margin: 0 0 20px 0; 
}

.ipc-full-width-header-container, .ipc-to-full-table { display: none !important; } 


/* ========================================================== */
/* 7. LANDINGPAGES: SHOP & EBAY ÜBERSICHTSSEITEN            */
/* ========================================================== */
.ipc-sp-header-section { margin-bottom: 2rem; border-bottom: 1px solid var(--ipc-border-color); padding-bottom: 1.5rem; text-align: left; }
.ipc-breadcrumbs { font-size: 13px; color: var(--ipc-text-medium); margin-bottom: 15px; display: block; font-weight: 500; }
.ipc-breadcrumbs a { color: var(--ipc-color-accent); text-decoration: none; transition: color 0.2s; }
.ipc-breadcrumbs a:hover { text-decoration: underline; color: var(--ipc-color-secondary); }
.ipc-breadcrumbs span { color: var(--ipc-text-dark); font-weight: 600; }
.ipc-description { font-size: 15px; color: var(--ipc-text-medium); line-height: 1.6; margin-top: 10px; margin-bottom: 0; }
.ipc-sp-content-section { display: block; width: 100%; }


/* ========================================================== */
/* 8. AJAX STATUS MELDUNGEN (Loading, Error, Spinner)       */
/* ========================================================== */
.ipc-search-page-container { max-width: 1200px; margin: 0 auto; padding: 2.5em 15px; }
.ipc-search-page-header { margin-bottom: 1.5em; text-align: center; }
.ipc-loading-text { text-align: center; padding: 20px; font-weight: 500; color: var(--ipc-text-medium); margin: 0; }
.ipc-error-msg { text-align: center; color: #dc2626; padding: 20px; width: 100%; box-sizing: border-box; font-weight: 500; margin: 0; }
.ipc-spinner-container { text-align: center; padding: 30px 20px; width: 100%; box-sizing: border-box; display: flex; justify-content: center; align-items: center; }


/* ========================================================== */
/* 9. RESPONSIVE LAYOUTS (Mobile & Tablets)                 */
/* ========================================================== */

@media (max-width: 992px) {
    /* Tablet Ansicht: Bild wird kleiner, Buttons rücken linksbündig */
    :is(.ipc-item-list-desktop, .ipc-post-list-item),
    .ipc-price-table-container .ipc-list-item { 
        grid-template-columns: 150px minmax(0, 1fr) !important; 
    }
    
    :is(.ipc-item-list-desktop .ipc-item-list-image, .ipc-post-list-item .ipc-post-list-image),
    .ipc-price-table-container .ipc-list-image {
        width: 150px !important; min-height: 150px !important;
    }
    
    :is(.ipc-item-list-desktop .ipc-item-list-right-col, .ipc-post-list-item .ipc-post-list-right-col),
    .ipc-price-table-container .ipc-list-footer { 
        flex-direction: row !important; align-items: center !important; justify-content: space-between !important;
        border-top: 1px dashed var(--ipc-border-color) !important; padding: 15px 15px 15px 0 !important; 
    }
    
    :is(.ipc-item-list-desktop .ipc-item-actions, .ipc-post-list-item .ipc-post-list-actions),
    .ipc-price-table-container .ipc-list-link {
        width: 260px !important; 
    }
    
    .ipc-item-list-desktop .ipc-item-price,
    .ipc-price-table-container .ipc-list-price { margin-bottom: 0 !important; text-align: left !important; font-size: 22px !important; }
    .ipc-price-table-container .ipc-list-meta-price { margin-top: 0 !important; margin-bottom: 0 !important; justify-content: flex-start !important; flex-direction: row !important; align-items: baseline !important; }
}

@media (max-width: 768px) {
    /* Top Bar Mobile */
    .ipc-app-wrapper #ipc-top-bar { padding: 12px 15px; border-radius: 12px; }
    .ipc-app-wrapper #ipc-filter-form-desktop { display: none; }
    .ipc-app-wrapper #ipc-open-filters-btn { display: flex; border-radius: 8px; border: 1px solid var(--ipc-border-color); }
    .ipc-app-wrapper .ipc-view-switcher button:first-child { border-radius: 8px; border-right: 1px solid var(--ipc-border-color); }
    .ipc-app-wrapper .ipc-view-switcher button:last-child { border-radius: 8px; border-left: 1px solid var(--ipc-border-color); }
    .ipc-app-wrapper .ipc-view-switcher { gap: 8px; background: none; box-shadow: none; overflow: visible; }
    .ipc-app-wrapper .ipc-view-switcher button { border-radius: 8px; }
    .ipc-price-filter-wrapper { display: none; }

    /* Single Product Layout Mobile */
    .ipc-sp-container { flex-direction: column; gap: 20px; }
    .ipc-sp-left { flex: 1 1 100%; position: relative; top: 0; margin: 0 auto; width: 100%; max-width: 400px; }
    .ipc-sp-title { font-size: 22px; }

    /* Grid Layout Mobile */
    #ipc-price-table-results.grid-view { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
    .grid-view .ipc-item-card, .grid-view .ipc-post-card { border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.04); border: 1px solid rgba(0,0,0,0.05); }
    .grid-view :is(.ipc-item-image, .ipc-post-image) { height: 160px !important; margin-bottom: 0 !important; border-bottom: 1px solid var(--ipc-border-color) !important; border-radius: 0 !important;}
    .grid-view :is(.ipc-item-info, .ipc-post-info) { padding: 12px 12px 0 12px !important; }
    .grid-view .ipc-item-meta-grid { padding-top: 12px !important; margin-top: 10px !important;}
    .grid-view :is(.ipc-item-footer, .ipc-post-footer) { padding: 12px !important; }
    .grid-view :is(.ipc-item-name, .ipc-post-title) { font-size: 14px; margin-bottom: 8px; }
    .grid-view .ipc-item-price { font-size: 20px; margin-bottom: 10px;}
    .grid-view :is(.ipc-item-actions, .ipc-post-actions) { grid-template-columns: 1fr !important; gap: 8px !important; } 

    /* Top-Angebote Tabelle Mobile - Alles sauber untereinander gestapelt */
    .ipc-price-table-container { border-radius: 12px !important; box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important; border: 1px solid rgba(0,0,0,0.05) !important; }
    .ipc-price-table-container .ipc-list-item { 
        display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; 
        padding: 0 !important; gap: 0 !important; 
    }
    .ipc-price-table-container .ipc-list-image { height: 180px !important; width: 100% !important; border-right: none !important; border-bottom: 1px solid var(--ipc-border-color) !important;}
    .ipc-price-table-container .ipc-list-info { align-items: center !important; width: 100% !important; display: flex !important; flex-direction: column !important; padding: 20px 15px 0 15px !important; } 
    
    .ipc-price-table-container .ipc-list-meta { 
        display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; 
        text-align: center !important; gap: 6px 12px !important; padding: 0 !important; margin-top: 15px !important;
    }
    
    .ipc-price-table-container .ipc-list-footer { 
        width: 100% !important; flex-direction: column !important; align-items: center !important; gap: 15px !important; 
        border-top: 1px dashed var(--ipc-border-color) !important; padding: 20px 15px !important; margin-top: 15px !important;
    }
    .ipc-price-table-container .ipc-list-price { justify-content: center !important; width: 100% !important; text-align: center !important; } 
    .ipc-price-table-container .ipc-list-meta-price { justify-content: center !important; }
    .ipc-price-table-container .ipc-list-link { width: 100% !important; grid-template-columns: 1fr 1fr !important; margin-top: 0 !important; } 
    
    
    /* Matchings / AJAX Mobile */
    #ipc-price-table-results.list-view .ipc-item-list-desktop { display: none !important; }
    #ipc-price-table-results.list-view { display: flex; flex-direction: column; gap: 12px; border: none; background-color: transparent; border-radius: var(--ipc-border-radius); }
    
    .ipc-item-list-mobile {
        display: flex !important; flex-direction: column !important; padding: 0 !important; gap: 0 !important;
        background: var(--ipc-bg-card) !important; border: 1px solid rgba(0,0,0,0.05) !important; border-radius: 12px !important;
        box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important; text-align: left !important; overflow: hidden !important; transition: transform 0.2s;
    }
    .ipc-item-list-mobile:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06) !important; }
    
    .ipc-mobile-list-top-row { display: flex !important; flex-direction: row !important; gap: 0 !important; align-items: stretch !important; width: 100% !important; }
    .ipc-mobile-list-image { flex: 0 0 120px !important; background-color: var(--ipc-bg-image) !important; border: none !important; border-right: 1px solid var(--ipc-border-color) !important; border-radius: 0 !important; }
    .ipc-mobile-list-details { flex: 1 !important; display: flex !important; flex-direction: column !important; gap: 6px !important; min-width: 0 !important; justify-content: center !important; padding: 12px 12px 12px 15px !important; }
    .ipc-mobile-list-name { font-size: 15px !important; font-weight: 800 !important; color: var(--ipc-text-dark) !important; line-height: 1.3 !important; display: -webkit-box !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; word-break: break-word !important; }
    .ipc-mobile-list-name a { text-decoration: none !important; color: inherit !important; }
    
    .ipc-mobile-list-meta { 
        display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 6px 12px !important; 
        font-size: 12.5px !important; color: var(--ipc-text-medium) !important; margin-top: 2px !important; 
    }
    .ipc-mobile-list-meta > div { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
    .ipc-mobile-list-meta strong { color: var(--ipc-text-dark); font-weight: 700; }
    
    .ipc-mobile-list-bottom-row { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 12px !important; width: 100% !important; border-top: 1px dashed var(--ipc-border-color) !important; padding: 15px !important; margin-top: 0 !important; }
    .ipc-mobile-list-price { font-size: 24px !important; font-weight: 800 !important; color: var(--ipc-text-dark) !important; display: flex !important; justify-content: center !important; align-items: baseline !important; gap: 6px !important; width: 100% !important; line-height: 1 !important; }
    .ipc-mobile-list-price::before { content: 'ab '; font-size: 14px !important; font-weight: 600 !important; color: var(--ipc-text-medium) !important; }
    
    .ipc-mobile-list-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; width: 100% !important; }

    /* ========================================================== */
    /* NEU: MOBIL-LAYOUT FÜR BEITRAGS-LISTEN (PERFEKTE KOPIE DER PREISLISTE) */
    /* ========================================================== */
    #ipc-post-table-results.list-view .ipc-post-list-item {
        display: grid !important;
        grid-template-columns: 120px 1fr !important; 
        grid-template-rows: auto auto !important;
        padding: 0 !important;
        gap: 0 !important;
        background: var(--ipc-bg-card) !important;
        border: 1px solid rgba(0,0,0,0.05) !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important;
        overflow: hidden !important;
    }
    #ipc-post-table-results.list-view .ipc-post-list-image {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 120px !important;
        border-right: 1px solid var(--ipc-border-color) !important;
        border-bottom: none !important;
        padding: 0 !important;
    }
    #ipc-post-table-results.list-view .ipc-post-list-info {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding: 12px 12px 12px 15px !important;
        width: 100% !important;
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    #ipc-post-table-results.list-view .ipc-post-list-name {
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.3 !important;
        text-align: left !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    #ipc-post-table-results.list-view .ipc-post-list-excerpt { 
        display: none !important; /* Versteckt den Excerpt mobil, passend zur Preisliste */
    }
    #ipc-post-table-results.list-view .ipc-post-list-right-col {
        grid-column: 1 / 3 !important;
        grid-row: 2 !important;
        width: 100% !important;
        padding: 15px !important;
        border-top: 1px dashed var(--ipc-border-color) !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
    }
    #ipc-post-table-results.list-view .ipc-post-list-actions {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
        margin: 0 !important;
    }
}

@media (max-width: 480px) {
    .ipc-app-wrapper #ipc-top-bar { padding: 10px 12px; gap: 8px; }
    .ipc-app-wrapper .ipc-search-wrapper input[name="search"] { height: 40px; font-size: 14px; }
    .ipc-app-wrapper :is(.ipc-view-switcher button, #ipc-open-filters-btn) { width: 40px; height: 40px; }
    .ipc-price-filter-inputs input { width: 70px; height: 40px; font-size: 13px; }
    .ipc-sp-wrapper { padding: 0 10px; margin: 1.5rem auto; }
    .ipc-search-page-container { padding: 1.5em 10px; }
    
    /* Fallback für extrem kleine Displays */
    .ipc-price-table-container .ipc-list-link,
    :is(.ipc-item-list-desktop .ipc-item-actions, .ipc-post-list-item .ipc-post-list-actions),
    .ipc-mobile-list-actions {
        grid-template-columns: 1fr !important;
    }
}


/* ========================================================== */
/* 10. SHOP-VERZEICHNIS (DIRECTORY SHORTCODE)               */
/* ========================================================== */

.ipc-shop-table-results.grid-view { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.ipc-shop-card { text-align: center; border-radius: 12px; overflow: hidden; background: var(--ipc-bg-card); border: 1px solid rgba(0,0,0,0.05); box-shadow: 0 4px 12px rgba(0,0,0,0.03); transition: all var(--ipc-transition-speed); display: flex; flex-direction: column; }
.ipc-shop-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0,0,0,0.08); border-color: var(--ipc-color-accent); }
.ipc-shop-card .ipc-shop-avatar { height: 120px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--ipc-bg-light); text-decoration: none; flex-shrink: 0; background: var(--ipc-bg-image); }
.ipc-avatar-circle { width: 65px; height: 65px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #ffffff; font-size: 32px; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.2); box-shadow: 0 4px 8px rgba(0,0,0,0.15); }
.ipc-shop-card .ipc-item-info { text-align: center; padding: 20px; flex-grow: 1; display: flex; align-items: center; justify-content: center; }
.ipc-shop-card .ipc-item-name { font-size: 16.5px; font-weight: 800; color: var(--ipc-color-secondary); margin: 0 0 5px 0; text-transform: capitalize; height: auto; }
.ipc-shop-card .ipc-item-footer { padding: 0 20px 20px 20px; margin-top: auto; }

.ipc-shop-card .ipc-button-offer { 
    font-size: 13px !important; text-decoration: none !important; border-radius: 8px !important; font-weight: 800 !important; transition: all var(--ipc-transition-speed) !important; display: flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; height: 42px !important; white-space: nowrap !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; width: 100% !important; padding: 0 10px !important; overflow: hidden !important;
    background-color: var(--ipc-color-primary) !important; color: #fff !important; border: none !important; box-shadow: 0 4px 10px rgba(255, 102, 0, 0.2) !important;
}
.ipc-shop-card .ipc-button-offer:hover { background-color: var(--ipc-color-primary-dark) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(255, 102, 0, 0.35) !important; }

.ipc-shop-table-results.list-view { display: flex; flex-direction: column; gap: 15px; border: none; background: transparent; padding: 0; }
.list-view .ipc-shop-list-item { display: flex; align-items: center; gap: 25px; padding: 20px 25px; background: var(--ipc-bg-card); border: 1px solid rgba(0,0,0,0.05); border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.03); transition: all var(--ipc-transition-speed); box-sizing: border-box; width: 100%; }
.list-view .ipc-shop-list-item:nth-child(even) { background-color: var(--ipc-bg-light); }
.list-view .ipc-shop-list-item:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.06); border-color: var(--ipc-color-accent); }
.list-view .ipc-shop-list-avatar { width: 70px; height: 70px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 12px; border: 1px solid var(--ipc-border-color); background: var(--ipc-bg-image); }
.list-view .ipc-shop-list-avatar .ipc-avatar-circle { width: 45px; height: 45px; font-size: 22px; }
.list-view .ipc-shop-list-info { flex-grow: 1; min-width: 0; }
.list-view .ipc-shop-list-info h3 { font-size: 18px; font-weight: 800; color: var(--ipc-color-secondary); margin: 0; text-transform: capitalize; }
.list-view .ipc-shop-list-info a { text-decoration: none; color: inherit; transition: color 0.2s; }
.list-view .ipc-shop-list-info a:hover { color: var(--ipc-color-accent); }
.list-view .ipc-shop-list-actions { flex-shrink: 0; min-width: 140px; text-align: right; }

.list-view .ipc-shop-list-actions a { 
    font-size: 13px !important; text-decoration: none !important; border-radius: 8px !important; font-weight: 800 !important; transition: all var(--ipc-transition-speed) !important; display: flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; height: 42px !important; white-space: nowrap !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; width: 100% !important; padding: 0 10px !important; overflow: hidden !important;
    background-color: var(--ipc-color-primary) !important; color: #fff !important; border: none !important; box-shadow: 0 4px 10px rgba(255, 102, 0, 0.2) !important;
}
.list-view .ipc-shop-list-actions a:hover { background-color: var(--ipc-color-primary-dark) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(255, 102, 0, 0.35) !important; }

@media (max-width: 768px) {
    .ipc-shop-table-results.grid-view { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
    .list-view .ipc-shop-list-item { padding: 15px; gap: 15px; flex-wrap: wrap; }
    .list-view .ipc-shop-list-avatar { width: 60px; height: 60px; }
    .list-view .ipc-shop-list-avatar .ipc-avatar-circle { width: 40px; height: 40px; font-size: 20px; }
    .list-view .ipc-shop-list-info h3 { font-size: 15.5px; line-height: 1.3; white-space: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .list-view .ipc-shop-list-actions { width: 100%; margin-top: 8px; text-align: center; min-width: unset; }
}