/* ============================================================ 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; } }