.elementor-248 .elementor-element.elementor-element-0e6c770{--display:flex;--border-radius:25px 25px 25px 25px;--padding-top:10px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}.elementor-248 .elementor-element.elementor-element-0e6c770:not(.elementor-motion-effects-element-type-background), .elementor-248 .elementor-element.elementor-element-0e6c770 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-248 .elementor-element.elementor-element-9ee3dc6 > .elementor-widget-container{margin:0px 0px -30px 0px;padding:0px 0px 0px 0px;}.elementor-248 .elementor-element.elementor-element-9ee3dc6.elementor-element{--align-self:center;}.elementor-248 .elementor-element.elementor-element-9ee3dc6{text-align:center;}.elementor-248 .elementor-element.elementor-element-9ee3dc6 img{max-width:150px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-248 .elementor-element.elementor-element-639c406{text-align:center;}.elementor-248 .elementor-element.elementor-element-639c406 .elementor-heading-title{color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-248 .elementor-element.elementor-element-2071da8 > .elementor-widget-container{margin:-30px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-248 .elementor-element.elementor-element-2071da8{text-align:center;color:#000000;}/* Start custom CSS for shortcode, class: .elementor-element-17ff1cf *//* ==========================================================================
   1. Globale Styles für Suchformular und Suchergebnis-Layout
   ========================================================================== */

/* Suchformular-Wrapper (falls .elementor-shortcode nur dieses Formular umschließt) */
/* Wenn .elementor-shortcode auch die Ergebnisliste umschließt, dann spezifischer werden */
.elementor-shortcode > #sdm_search_form { /* Gezielter, falls .elementor-shortcode auch andere Dinge enthält */
    width: 100%;
    display: flex;
    margin-bottom: 30px; /* Abstand zu den Suchergebnissen */
}

/* Such-Eingabefeld */
#sdm_search_form .search-field {
    flex-grow: 1;
    padding: 12px 18px;
    border: 1px solid #ccc; /* Etwas dezenter als tiefschwarz */
    border-right: none;
    border-radius: 8px 0 0 8px;
    box-sizing: border-box;
    font-size: 1rem;
    min-height: 48px;
    background-color: #fff;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Such-Button */
#sdm_search_form .sdm_search_submit {
    padding: 12px 25px;
    border: 1px solid #000; /* Passend zum linken Feld, wenn es dunkler sein soll */
    background-color: #000; /* Dunkler Button für Kontrast */
    color: white;
    border-radius: 0 8px 8px 0;
    cursor: pointer;
    box-sizing: border-box;
    font-size: 1rem;
    font-weight: bold;
    white-space: nowrap;
    min-height: 48px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

#sdm_search_form .search-field::placeholder {
    color: #aaa; /* Helleres Grau für Placeholder */
    opacity: 1;
}

#sdm_search_form .search-field:focus,
#sdm_search_form .sdm_search_submit:focus {
    outline: none;
    border-color: #007bff; /* Akzentfarbe für Fokus */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
    z-index: 2; /* Stellt sicher, dass der Schatten über dem Nachbarelement liegt */
    position: relative;
}

#sdm_search_form .sdm_search_submit:hover {
    background-color: #555;
    border-color: #555;
}

/* Überschriften und Infos der Suchergebnisseite */
.sdm_search_result_heading {
    font-size: 1.7rem;
    margin-top: 20px; /* War vorher 30px, aber Suchformular hat jetzt margin-bottom */
    margin-bottom: 8px;
    color: #2c3e50; /* Passend zu den Item-Titeln */
}

.sdm_search_result_number_of_items,
.sdm_search_result_keywords {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 25px;
}

/* ==========================================================================
   2. Layout und Styling für die Suchergebnis-Liste und Items
   ========================================================================== */

/* Container für die Suchergebnis-Items */
.sdm_search_result_listing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Responsives Grid */
    gap: 25px; /* Abstand zwischen den Karten */
    padding-top: 5px; /* Kleiner Abstand nach oben */
    width: 100%; /* Stellt sicher, dass der Container die Breite nutzt */
    box-sizing: border-box;
}

/* Einzelne Download-Karte */
.sdm_download_item {
    background-color: #fff;
    border: 1px solid #e0e0e0; /* Etwas weicherer Rahmen */
    border-radius: 10px;       /* Etwas sanftere Rundung */
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06); /* Noch subtilerer Schatten */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%; /* Bezieht sich auf die Breite der Grid-Zelle */
    min-width: 0; /* Wichtig für Grid-Responsivität */
    /* height: 100%; // Aktivieren, wenn alle Karten in einer Reihe exakt gleich hoch sein sollen, auch mit variablem Inhalt */
}

/* Oberer Bereich der Karte: Thumbnail & Titel */
.sdm_download_item_top {
    display: flex;
    align-items: flex-start; /* Oben ausrichten ist oft besser als center für Titel */
    gap: 15px;
    margin-bottom: 15px;
}

.sdm_download_thumbnail {
    flex-shrink: 0;
    width: 70px; /* Etwas kleiner, falls das Bild sehr dominant ist */
    height: 70px; /* Um quadratische Thumbnails zu erzwingen, falls gewünscht */
    overflow: hidden; /* Stellt sicher, dass das Bild nicht überläuft */
    border-radius: 6px; /* Passend zum Bild-Radius */
}

.sdm_download_thumbnail_image {
    width: 100%;
    height: 100%; /* Stellt sicher, dass das Bild den Thumbnail-Container füllt */
    object-fit: cover; /* Bild wird skaliert, um den Bereich zu füllen, ggf. beschnitten */
    display: block;
    border-radius: 6px; /* Wird vom Parent geerbt, aber schadet nicht */
}

.sdm_download_title {
    font-size: 1.15rem; /* Leicht angepasst */
    font-weight: 600; /* Semi-bold ist oft moderner als full-bold */
    color: #2c3e50;
    line-height: 1.35;
    /* flex-grow: 1; // Kann nützlich sein, wenn der Titelbereich den Platz füllen soll */
}

/* Beschreibungstext */
.sdm_download_description {
    font-size: 0.875rem; /* 14px als Basis */
    color: #555;
    margin-bottom: 15px;
    line-height: 1.5;
}

.sdm_download_description p {
    margin-top: 0; /* Entfernt oberen Margin vom ersten p */
    margin-bottom: 8px;
}

/* Unterer Bereich: Passwort & Download-Button */
.sdm_download_link {
    margin-top: auto; /* Schiebt diesen Block nach unten */
    padding-top: 15px;
    border-top: 1px solid #f0f0f0; /* Sehr helle Trennlinie */
}

/* Span, der Passwort-Label und Formular umschließt */
.sdm_download_link > span.sdm_download_button { /* Direkteres Zielen */
    display: block;
}

.sdm_enter_password_label_text {
    display: block;
    font-size: 0.8rem; /* Kleiner für das Label */
    color: #777;
    margin-bottom: 6px;
    font-weight: 400; /* Normalgewicht */
}

/* Das Passwort-Formular selbst */
.sdm-download-form {
    /* Keine speziellen Styles nötig, wenn Inputs/Button gestylt werden */
}

.sdm_pass_text {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db; /* Etwas modernere Graufarbe */
    border-radius: 5px;
    margin-bottom: 10px;
    box-sizing: border-box;
    font-size: 0.9rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sdm_pass_text:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
}

/* Download-Button im Formular */
.sdm-download-form span.sdm-download-button a.sdm_download { /* Spezifischer Selektor */
    display: block;
    width: 100%;
    background-color: #000; /* Akzentfarbe */
    color: #fff !important; /* !important beibehalten, falls Plugin/Theme stark überschreibt */
    padding: 10px 15px; /* Etwas weniger Padding, falls er zu klobig wirkt */
    text-align: center;
    text-decoration: none !important;
    border-radius: 5px;
    font-weight: 500; /* Medium statt bold */
    font-size: 0.9rem;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    line-height: 1.5; /* Für bessere vertikale Zentrierung des Textes */
}

/* Überschreiben der .black Klasse auf dem Button, falls sie vom Plugin gesetzt wird */
.sdm-download-form span.sdm-download-button a.sdm_download.black {
    background-color: #000 !important;
    color: #fff !important;
}

.sdm-download-form span.sdm-download-button a.sdm_download:hover {
    background-color: #000 !important; /* Dunklere Hover-Farbe */
}

/* Entfernen von Float-Clear-Elementen */
.sdm_clear_float {
    display: none !important;
}



#sdm-pass-6825fb313869b > span:nth-child(2) {
    background:#000!important;
}/* End custom CSS */