Files

201 lines
4.1 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 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;
transform: translateY(-4px);
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));
}
}