375 lines
8.5 KiB
CSS
375 lines
8.5 KiB
CSS
/* ============================================================
|
||
Bratonien Adventskalender 2025 – Popup Design
|
||
Bandbreitenoptimiert, hell & festlich
|
||
Layouts: Standard, 3-Part (Story+Media), Recipe (Text+Bild)
|
||
============================================================ */
|
||
|
||
/* === Overlay === */
|
||
#popup-overlay {
|
||
position: fixed;
|
||
inset: 0;
|
||
background: rgba(247, 243, 232, 0.88);
|
||
backdrop-filter: blur(6px) brightness(1.05);
|
||
-webkit-backdrop-filter: blur(6px) brightness(1.05);
|
||
display: none;
|
||
align-items: center;
|
||
justify-content: center;
|
||
z-index: 9999;
|
||
}
|
||
|
||
#popup-overlay.active {
|
||
display: flex;
|
||
animation: fadeIn 0.3s ease;
|
||
}
|
||
|
||
/* === Popup-Box === */
|
||
#popup-box {
|
||
background: linear-gradient(
|
||
180deg,
|
||
color-mix(in srgb, var(--ci-creamwhite) 80%, white),
|
||
color-mix(in srgb, var(--ci-gold) 15%, #fff9e6)
|
||
);
|
||
border: 2px solid var(--ci-gold);
|
||
border-radius: 16px;
|
||
box-shadow:
|
||
0 0 25px color-mix(in srgb, var(--ci-gold) 40%, transparent),
|
||
inset 0 0 10px rgba(255, 255, 255, 0.4);
|
||
|
||
/* neue, ausgewogenere Breite */
|
||
width: min(95vw, 2000px);
|
||
max-height: 90vh;
|
||
|
||
overflow-y: auto;
|
||
overflow-x: hidden;
|
||
|
||
/* leicht reduziertes Padding */
|
||
padding: clamp(1rem, 1.5vw, 2rem);
|
||
|
||
color: #333;
|
||
text-align: center;
|
||
position: relative;
|
||
backdrop-filter: blur(3px);
|
||
transition: width 0.3s ease, padding 0.3s ease;
|
||
animation: popIn 0.35s ease;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/* ab sehr großen Bildschirmen: mehr Weite, weniger Rahmen */
|
||
@media (min-width: 1800px) {
|
||
#popup-box {
|
||
width: 85vw;
|
||
padding: 1.2rem 2rem;
|
||
}
|
||
}
|
||
|
||
/* === Grundlayout für Inhalte === */
|
||
#popup-content {
|
||
margin-top: 1rem;
|
||
font-family: "Bratonien2025", cursive;
|
||
font-size: clamp(1rem, 1.2vw, 1.5rem);
|
||
line-height: 1.6;
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
gap: clamp(1rem, 2vw, 2.5rem);
|
||
}
|
||
|
||
/* ============================================================
|
||
DREITEILIGES POPUP-LAYOUT (Titel / Story / Inhalt)
|
||
============================================================ */
|
||
|
||
.popup-day.popup-3part {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: clamp(1rem, 2vw, 2.5rem);
|
||
width: 100%;
|
||
max-width: 1200px;
|
||
margin: 0 auto;
|
||
text-align: left;
|
||
}
|
||
|
||
/* --- Titelzeile --- */
|
||
.popup-header {
|
||
text-align: center;
|
||
border-bottom: 2px solid var(--ci-gold);
|
||
padding-bottom: 0.5rem;
|
||
}
|
||
|
||
.popup-header h2 {
|
||
font-size: clamp(1.5rem, 2vw, 2.5rem);
|
||
color: var(--ci-darkgreen);
|
||
margin: 0;
|
||
}
|
||
|
||
/* --- Hauptbereich mit zwei Spalten --- */
|
||
.popup-body {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr;
|
||
gap: clamp(1rem, 2vw, 2rem);
|
||
align-items: start;
|
||
}
|
||
|
||
.popup-body .story {
|
||
max-width: 70ch;
|
||
line-height: 1.6;
|
||
color: #333;
|
||
}
|
||
|
||
.popup-body .addon {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
flex-direction: column;
|
||
}
|
||
|
||
/* === Medien im 3-Part Layout === */
|
||
.popup-3part .popup-body .addon video,
|
||
.popup-3part .popup-body .addon img {
|
||
width: 100%;
|
||
max-width: clamp(300px, 40vw, 700px);
|
||
height: auto;
|
||
border-radius: 10px;
|
||
object-fit: contain;
|
||
box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
|
||
background: #000;
|
||
}
|
||
|
||
/* --- Mobile Ansicht: einspaltig --- */
|
||
@media (max-width: 900px) {
|
||
.popup-body {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
.popup-day.popup-3part {
|
||
text-align: center;
|
||
}
|
||
.popup-body .addon {
|
||
margin-top: 1rem;
|
||
}
|
||
.popup-3part .popup-body .addon video,
|
||
.popup-3part .popup-body .addon img {
|
||
max-width: 100%;
|
||
width: 100%;
|
||
}
|
||
}
|
||
|
||
/* ============================================================
|
||
REZEPT-LAYOUT (Text mit umflossenem Bild)
|
||
============================================================ */
|
||
|
||
.popup-recipe .popup-body {
|
||
display: block;
|
||
column-count: 2;
|
||
column-gap: clamp(1.5rem, 3vw, 3rem);
|
||
text-align: justify;
|
||
}
|
||
|
||
.popup-recipe .popup-body img.recipe-image {
|
||
float: left;
|
||
width: clamp(240px, 30%, 380px);
|
||
margin: 0 1.5rem 1rem 0;
|
||
border-radius: 10px;
|
||
box-shadow: 0 0 8px rgba(0,0,0,0.15);
|
||
shape-outside: inset(0 round 10px);
|
||
}
|
||
|
||
.popup-recipe .popup-body h3 {
|
||
column-span: all;
|
||
font-size: clamp(1.2rem, 1.6vw, 1.8rem);
|
||
color: var(--ci-darkgreen);
|
||
margin: 1rem 0 0.5rem 0;
|
||
}
|
||
|
||
.popup-recipe .popup-body ul,
|
||
.popup-recipe .popup-body ol {
|
||
margin: 0 0 1rem 1.5rem;
|
||
padding: 0;
|
||
line-height: 1.6;
|
||
}
|
||
|
||
.popup-recipe .popup-body li {
|
||
break-inside: avoid;
|
||
}
|
||
|
||
/* --- Mobile Ansicht: Rezept einspaltig --- */
|
||
@media (max-width: 900px) {
|
||
.popup-recipe .popup-body {
|
||
column-count: 1;
|
||
}
|
||
.popup-recipe .popup-body img.recipe-image {
|
||
float: none;
|
||
display: block;
|
||
margin: 0 auto 1rem auto;
|
||
width: 100%;
|
||
max-width: 500px;
|
||
}
|
||
}
|
||
|
||
/* Rezeptname (z. B. „Vanillekipferl“) */
|
||
.popup-recipe .recipe-title {
|
||
font-size: clamp(1.3rem, 1.6vw, 2rem);
|
||
color: var(--ci-darkgreen);
|
||
margin: 0 0 0.8rem 0;
|
||
text-align: left;
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* Zutaten & Zubereitung kleiner (h4) */
|
||
.popup-recipe .popup-body h4 {
|
||
font-size: clamp(1rem, 1.2vw, 1.4rem);
|
||
margin: 1rem 0 0.5rem 0;
|
||
color: var(--ci-darkgreen);
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* ============================================================
|
||
Allgemeine Gestaltung & Animationen
|
||
============================================================ */
|
||
|
||
/* Titel & Text */
|
||
#popup-content h2 {
|
||
font-size: clamp(1.4rem, 2vw, 2.6rem);
|
||
color: var(--ci-darkgreen);
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
#popup-content p {
|
||
font-size: clamp(1rem, 1.1vw, 1.4rem);
|
||
line-height: 1.6;
|
||
color: #333;
|
||
max-width: 65ch;
|
||
}
|
||
|
||
/* Medien allgemein */
|
||
#popup-content video,
|
||
#popup-content img {
|
||
max-width: 100%;
|
||
height: auto;
|
||
display: block;
|
||
border-radius: 8px;
|
||
background: #000;
|
||
object-fit: contain;
|
||
}
|
||
|
||
/* Close-Button */
|
||
#popup-close {
|
||
position: absolute;
|
||
top: 12px;
|
||
right: 16px;
|
||
background: transparent;
|
||
border: none;
|
||
font-size: clamp(1.8rem, 2vw, 2.4rem);
|
||
color: var(--ci-gold);
|
||
cursor: pointer;
|
||
transition: transform 0.2s ease, color 0.2s ease;
|
||
z-index: 10;
|
||
}
|
||
|
||
#popup-close:hover {
|
||
transform: scale(1.2);
|
||
color: color-mix(in srgb, var(--ci-blue) 35%, var(--ci-gold));
|
||
}
|
||
|
||
/* Animationen */
|
||
@keyframes fadeIn {
|
||
from { opacity: 0; }
|
||
to { opacity: 1; }
|
||
}
|
||
|
||
@keyframes popIn {
|
||
0% { transform: scale(0.9); opacity: 0; }
|
||
100% { transform: scale(1); opacity: 1; }
|
||
}
|
||
|
||
/* Geräteübergreifende Anpassung */
|
||
@media (max-height: 600px) {
|
||
#popup-box {
|
||
max-height: 85vh;
|
||
padding: 1rem;
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
* {
|
||
animation-duration: 0s !important;
|
||
transition: none !important;
|
||
}
|
||
}
|
||
|
||
/* ============================================================
|
||
Edel-bretonischer Audio-Player
|
||
============================================================ */
|
||
|
||
.addon-audio {
|
||
width: 100%;
|
||
max-width: 420px;
|
||
margin: 0 auto;
|
||
display: block;
|
||
|
||
/* Hintergrund & Rahmen */
|
||
background: color-mix(in srgb, var(--ci-creamwhite) 85%, #ffffff);
|
||
border: 2px solid var(--ci-gold);
|
||
border-radius: 12px;
|
||
|
||
padding: 0.6rem 0.8rem;
|
||
|
||
/* leichter Schimmer */
|
||
box-shadow:
|
||
0 0 10px color-mix(in srgb, var(--ci-gold) 35%, transparent),
|
||
inset 0 0 5px rgba(255, 255, 255, 0.4);
|
||
}
|
||
|
||
/* Browser-spezifische Feinanpassungen */
|
||
.addon-audio::-webkit-media-controls-panel {
|
||
background: color-mix(in srgb, var(--ci-creamwhite) 92%, #ffffff) !important;
|
||
border-radius: 10px;
|
||
}
|
||
|
||
.addon-audio::-webkit-media-controls-play-button,
|
||
.addon-audio::-webkit-media-controls-volume-slider,
|
||
.addon-audio::-webkit-media-controls-timeline,
|
||
.addon-audio::-webkit-media-controls-current-time-display,
|
||
.addon-audio::-webkit-media-controls-time-remaining-display {
|
||
filter: hue-rotate(-5deg) saturate(1.15);
|
||
}
|
||
|
||
.addon-audio::-webkit-media-controls-enclosure {
|
||
border-radius: 10px;
|
||
overflow: hidden;
|
||
}
|
||
/* ============================================================
|
||
FIX für Rezepttage – 2-Spalten-Grid statt Newspaper-Layout
|
||
============================================================ */
|
||
|
||
.popup-day.popup-recipe .popup-body {
|
||
display: grid !important;
|
||
grid-template-columns: 1fr 1fr !important;
|
||
gap: clamp(1rem, 2vw, 2rem) !important;
|
||
column-count: unset !important;
|
||
text-align: left !important;
|
||
}
|
||
|
||
.popup-day.popup-recipe .recipe-image {
|
||
float: none !important;
|
||
shape-outside: none !important;
|
||
margin: 0 0 1.2rem 0 !important;
|
||
width: 100% !important;
|
||
max-width: 100% !important;
|
||
height: auto !important;
|
||
}
|
||
|
||
/* Story links */
|
||
.popup-day.popup-recipe .story {
|
||
break-inside: avoid-column !important;
|
||
}
|
||
|
||
/* Recipe rechts */
|
||
.popup-day.popup-recipe .popup-recipe-content {
|
||
break-inside: avoid-column !important;
|
||
}
|
||
|
||
/* Mobil einspaltig */
|
||
@media (max-width: 900px) {
|
||
.popup-day.popup-recipe .popup-body {
|
||
grid-template-columns: 1fr !important;
|
||
}
|
||
} |