/* ==========================================================
   Intellivision1 Downloads – Elementor CSS  v1.5.0
   Prefix: .iv1el
   Standard: transparenter Hintergrund, kein Rahmen
   ========================================================== */

/* Grid */
.iv1el {
    display:               grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:                   24px;
    width:                 100%;
    box-sizing:            border-box;
}

/* Karte – Standard: transparent, kein Rahmen */
.iv1el__card {
    min-width:      0;
    display:        flex;
    flex-direction: column;
    background:     transparent;
    border:         none;
    border-radius:  12px;
    box-shadow:     none;
    overflow:       hidden;
    box-sizing:     border-box;
    transition:     transform .22s ease, box-shadow .22s ease,
                    background .22s ease, border-color .22s ease;
}

/* Thumbnail */
.iv1el__thumb {
    width:       100%;
    height:      200px;
    overflow:    hidden;
    flex-shrink: 0;
}
.iv1el__img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
    transition: transform .22s ease;
}
.iv1el--zoom .iv1el__card:hover .iv1el__img {
    transform: scale(1.04);
}

/* Body */
.iv1el__body {
    padding:        1.25rem;
    display:        flex;
    flex-direction: column;
    flex:           1;
    gap:            .7rem;
    min-width:      0;
    box-sizing:     border-box;
}

/* Titel */
.iv1el__title {
    font-size:     1.05rem !important;
    font-weight:   700 !important;
    line-height:   1.35 !important;
    color:         #1e293b;
    margin:        0 !important;
    padding:       0 !important;
    border:        none !important;
    background:    none !important;
    word-break:    break-word;
    overflow-wrap: break-word;
}

/* Beschreibung */
.iv1el__desc {
    font-size:     .9rem;
    line-height:   1.65;
    color:         #475569;
    flex:          1;
    word-break:    break-word;
    overflow-wrap: break-word;
}
.iv1el__desc p             { margin: 0 0 .5em !important; }
.iv1el__desc p:last-child  { margin-bottom: 0 !important; }

/* Footer */
.iv1el__footer {
    display:     flex;
    align-items: center;
    gap:         .65rem;
    flex-wrap:   wrap;
    margin-top:  auto;
    padding-top: .25rem;
}

/* Button */
.iv1el__btn {
    display:         inline-flex !important; /* Layout-Fix, kein Elementor-Override nötig */
    align-items:     center;
    gap:             .45em;
    padding:         9px 18px;
    background:      #1a6ef5;   /* Elementor überschreibt via: .elementor-xyz .iv1el__btn { background-color } */
    color:           #ffffff;   /* kein !important → Elementor-Textfarbe-Control greift */
    font-size:       .875rem;
    font-weight:     600;
    line-height:     1;
    letter-spacing:  .01em;
    text-decoration: none !important; /* immer, unabhängig vom Theme */
    border-radius:   8px;
    border:          none;
    cursor:          pointer;
    white-space:     nowrap;
    flex-shrink:     0;
    box-sizing:      border-box;
    transition:      background .2s ease, color .2s ease,
                     border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
/* Hover-Basis-Defaults – KEIN !important damit Elementor-Controls greifen.
   Elementor erzeugt Selektoren wie: .elementor-xyz .iv1el__btn:hover { background-color: ... }
   Diese haben dieselbe Spezifität wie unsere Klasse – ohne !important gewinnt die
   zuletzt geladene Regel (= Elementor, da inline im <head> nach unserem CSS). */
.iv1el__btn:hover,
.iv1el__btn:focus {
    background:      #0f50c5;
    color:           #ffffff; /* kein !important → Elementor-Hover-Textfarbe greift */
    text-decoration: none !important;
}
.iv1el__btn:focus-visible {
    outline: 2px solid #1a6ef5;
    outline-offset: 3px;
}

.iv1el__icon {
    width:       1em;
    height:      1em;
    flex-shrink: 0;
    transition:  inherit;
}

/* Dateigröße & Zähler */
.iv1el__size,
.iv1el__count {
    font-size:   .78rem;
    color:       #94a3b8;
    white-space: nowrap;
    flex-shrink: 0;
}
.iv1el__count {
    display:     inline-flex;
    align-items: center;
    gap:         .3em;
    margin-left: auto;
}
.iv1el__count svg {
    width:   .9em;
    height:  .9em;
    opacity: .7;
}

/* Leer-Zustand */
.iv1el__empty {
    color:      #475569;
    font-style: italic;
}

/* Responsive-Fallback */
@media (max-width: 1024px) {
    .iv1el { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .iv1el { grid-template-columns: minmax(0,1fr); }
}
