/* ================================
   GRID BASIS (MOBILE FIRST)
================================ */
.dozenten-grid {
    display: grid;
    gap: var(--dp-gap, 24px);
    grid-template-columns: 1fr; /* Smartphone default */
}

/* ================================
   TABLET (>= 641px)
================================ */
@media (min-width: 641px) {
    .dozenten-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ================================
   DESKTOP (>= 1024px)
   → Block-Einstellung greift
================================ */
@media (min-width: 1024px) {
    .dozenten-grid.columns-1 { grid-template-columns: repeat(1, 1fr); }
    .dozenten-grid.columns-2 { grid-template-columns: repeat(2, 1fr); }
    .dozenten-grid.columns-3 { grid-template-columns: repeat(3, 1fr); }
    .dozenten-grid.columns-4 { grid-template-columns: repeat(4, 1fr); }
    .dozenten-grid.columns-5 { grid-template-columns: repeat(5, 1fr); }
    .dozenten-grid.columns-6 { grid-template-columns: repeat(6, 1fr); }
}


/* CARD */
.dp-card {
	display: block; 
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

/* IMAGE WRAP (für Aspect Ratio) */
.dp-img-wrap {
    width: 100%;
    position: relative;
}

.dp-img-wrap::before {
    content: "";
    display: block;
    padding-top: var(--dp-aspect, 100%);
}

/* IMAGE */
.dp-img {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
}

/* OVERLAY */
.dp-name-overlay {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	background:rgba(0,0,0,0.45);
	color:#fff;
	padding:10px;
	text-align:center;
	font-weight:600;
	font-size:1rem;
	backdrop-filter:blur(4px);
}

/* FILTERS */
.dp-filter-none {}
.dp-filter-grayscale .dp-img { filter: grayscale(100%); }
.dp-filter-sepia .dp-img { filter: sepia(100%); }
.dp-filter-blur .dp-img { filter: blur(3px); }
.dp-filter-contrast .dp-img { filter: contrast(150%); }
.dp-filter-bright .dp-img { filter: brightness(120%); }
.dp-filter-hue .dp-img { filter: hue-rotate(60deg); }
.dp-filter-saturate .dp-img { filter: saturate(150%); }
.dp-filter-invert .dp-img { filter: invert(100%); }

/* HOVER EFFECTS */
.dp-hover-zoom .dp-img { transition: transform .35s ease; }
.dp-hover-zoom:hover .dp-img { transform: scale(1.05); }

.dp-hover-brighten .dp-img { transition: filter .3s ease; }
.dp-hover-brighten:hover .dp-img { filter: brightness(120%); }

.dp-hover-darken .dp-img { transition: filter .3s ease; }
.dp-hover-darken:hover .dp-img { filter: brightness(80%); }

/* ANIMATION TYPES */
.dp-anim-none {}
.dp-anim-fade { animation: dpFade .7s ease; }
@keyframes dpFade { from { opacity:0; } to { opacity:1; } }

.dp-anim-pop { animation: dpPop .4s ease; }
@keyframes dpPop { 
    from { transform: scale(.9); opacity:.5; }
    to { transform: scale(1); opacity:1; }
}

.dp-anim-slide-up { animation: dpSlideUp .5s ease; }
@keyframes dpSlideUp {
    from { transform: translateY(20px); opacity:0; }
    to { transform: translateY(0); opacity:1; }
}
