201 lines
4.0 KiB
CSS
201 lines
4.0 KiB
CSS
/* Module Custom Styles */
|
||
.mb-6 {
|
||
margin-bottom: 6rem;
|
||
}
|
||
|
||
.mt-3 {
|
||
margin-top: 3rem;
|
||
}
|
||
.mt-2 strong {
|
||
font-size: 1.4rem; /* Textgröße – Standard ist ca. 1rem */
|
||
font-weight: 700;
|
||
}
|
||
.fontsizeInf {
|
||
font-size: 1.4rem; /* Textgröße – Standard ist ca. 1rem */
|
||
}
|
||
.event-list {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 1.5rem;
|
||
justify-content: center;
|
||
}
|
||
|
||
.event-card {
|
||
/*background-color: var(--bs-gray-dark); */
|
||
border: 2px solid rgb(128 128 128); /* Umrandung */
|
||
border-radius: 12px;
|
||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
|
||
padding: 1.5rem;
|
||
width: 280px;
|
||
/* color: #ddd; */
|
||
transition: all 0.3s ease;
|
||
}
|
||
|
||
|
||
.event-card h3 {
|
||
margin-top: 0;
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
|
||
.event-card p {
|
||
margin: 0.2rem 0;
|
||
}
|
||
|
||
.event-actions {
|
||
margin-top: 1rem;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
}
|
||
/* vorher:
|
||
.event-card:hover {
|
||
border-color: #66ccff;
|
||
transform: translateY(-4px); <-- das ist der Übeltäter
|
||
box-shadow: 0 6px 14px rgba(0,0,0,0.5);
|
||
}
|
||
*/
|
||
|
||
/* nachher – kein transform mehr */
|
||
.event-card:hover {
|
||
border-color: #66ccff;
|
||
/* statt transform die Karte minimal "anheben" */
|
||
margin-top: -4px; /* optischer Lift */
|
||
box-shadow: 0 6px 14px rgba(0,0,0,0.5);
|
||
}
|
||
|
||
/* sicherheitshalber: Overlay darf nicht abgeschnitten werden */
|
||
.event-card {
|
||
overflow: visible;
|
||
}
|
||
/* ---------- A) Hover nur auf Geräten mit Maus ---------- */
|
||
@media (hover: hover) and (pointer: fine) {
|
||
.event-card:hover {
|
||
border-color: #66ccff;
|
||
|
||
box-shadow: 0 6px 14px rgba(0,0,0,.5);
|
||
}
|
||
}
|
||
|
||
/* Auf Touch-Geräten kein transform (verhindert Modal-Probleme) */
|
||
@media (hover: none), (pointer: coarse) {
|
||
.event-card:hover {
|
||
transform: none;
|
||
box-shadow: 0 6px 14px rgba(0,0,0,.5);
|
||
}
|
||
}
|
||
|
||
/* Sicherheitshalber: nichts abschneiden */
|
||
.event-card {
|
||
overflow: visible;
|
||
}
|
||
|
||
|
||
/* ---------- B) Overlay/Modal (Desktop-Basis) ---------- */
|
||
/* Falls schon vorhanden, kannst du diese Werte als Override nutzen */
|
||
.overlay {
|
||
position: fixed;
|
||
inset: 0;
|
||
background: rgba(0,0,0,.45);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 2rem;
|
||
z-index: 2000;
|
||
overscroll-behavior: contain;
|
||
}
|
||
|
||
.modal {
|
||
background: #fff;
|
||
border-radius: 10px;
|
||
box-shadow: 0 20px 60px rgba(0,0,0,.35);
|
||
width: min(92vw, 720px);
|
||
max-height: 85vh;
|
||
display: flex;
|
||
flex-direction: column;
|
||
overflow: hidden; /* für sticky header/footer */
|
||
}
|
||
|
||
.modal-header,
|
||
.modal-footer {
|
||
padding: 1rem 1.25rem;
|
||
background: #fff;
|
||
}
|
||
|
||
.modal-header {
|
||
border-bottom: 1px solid rgba(0,0,0,.1);
|
||
}
|
||
|
||
.modal-footer {
|
||
border-top: 1px solid rgba(0,0,0,.1);
|
||
display: flex;
|
||
gap: .75rem;
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.modal-body {
|
||
padding: 1rem 1.25rem;
|
||
overflow: auto;
|
||
-webkit-overflow-scrolling: touch;
|
||
}
|
||
|
||
/* Medien responsiv im Detail-Dialog */
|
||
.modal-body img,
|
||
.modal-body video,
|
||
.modal-body canvas,
|
||
.modal-body iframe {
|
||
max-width: 100% !important;
|
||
height: auto !important;
|
||
display: block;
|
||
}
|
||
|
||
|
||
/* ---------- C) Mobile-Vollbild & Sticky-Header/Footer ---------- */
|
||
@supports (height: 100dvh) {
|
||
.modal {
|
||
max-height: 100dvh;
|
||
}
|
||
}
|
||
|
||
@media (max-width: 768px) {
|
||
.overlay {
|
||
padding: 0;
|
||
}
|
||
|
||
.modal {
|
||
width: 100vw;
|
||
height: 100vh; /* nutzt auf modernen Browsern 100dvh (s.o.) */
|
||
max-height: 100vh;
|
||
border-radius: 0;
|
||
}
|
||
|
||
.modal-header {
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 1;
|
||
}
|
||
|
||
.modal-footer {
|
||
position: sticky;
|
||
bottom: 0;
|
||
z-index: 1;
|
||
}
|
||
|
||
.modal-body {
|
||
padding: 1rem;
|
||
}
|
||
|
||
/* Lesbare Überschriften auf Mobile */
|
||
.modal-body h1 {
|
||
font-size: clamp(1.25rem, 5.5vw, 2rem);
|
||
}
|
||
|
||
.modal-body h2 {
|
||
font-size: clamp(1.125rem, 5vw, 1.5rem);
|
||
}
|
||
}
|
||
|
||
/* iOS Safe-Area (Notch) */
|
||
@supports (padding: max(0px)) {
|
||
.modal {
|
||
padding-bottom: max(0px, env(safe-area-inset-bottom));
|
||
}
|
||
} |