/* ============================================================ OVERLAY ============================================================ */ #popup-overlay { position: fixed; inset: 0; background: rgba(247,243,232,0.88); 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 .3s ease; } /* ============================================================ POPUP-BOX ============================================================ */ #popup-box { position: relative; width: min(95vw, 1800px); max-height: 90vh; background: linear-gradient( 180deg, color-mix(in srgb, var(--ci-creamwhite) 80%, white), color-mix(in srgb, var(--ci-gold) 15%, #fff9e6) ); font-size: .96em; line-height: 1.35; border: 2px solid var(--ci-gold); border-radius: 16px; padding: clamp(1rem, 1.5vw, 2rem); overflow-y: auto; overflow-x: hidden; box-shadow: 0 0 25px color-mix(in srgb, var(--ci-gold) 40%, transparent), inset 0 0 10px rgba(255,255,255,0.4); animation: popIn .35s ease; color: #333; } /* ============================================================ CONTENT (zentriert, keine max-breite!) ============================================================ */ #popup-content { width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: clamp(1rem, 2vw, 2.5rem); } /* ============================================================ HEADER ============================================================ */ .popup-header { position: relative; text-align: center; border-bottom: 2px solid var(--ci-gold); padding-bottom: .5rem; } .popup-header h2 { margin: 0; font-size: clamp(1.8rem, 2.4vw, 3.2rem); color: var(--ci-darkgreen); font-family: "Bratonien2025", serif; } /* Buttons */ .popup-tools { position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: flex; gap: .4rem; } .popup-tools button { background: color-mix(in srgb, var(--ci-gold) 20%, #fff9e6); border: 2px solid var(--ci-gold); border-radius: 6px; padding: .15rem .45rem; font-family: "Bratonien2025 Readable", serif; font-size: 1.3rem; font-weight: 600; letter-spacing: .3px; color: var(--ci-darkgreen); display: flex; align-items: center; justify-content: center; gap: .2rem; cursor: pointer; box-shadow: 0 0 6px rgba(0,0,0,.15); } .popup-tools button:hover { background: color-mix(in srgb, var(--ci-gold) 35%, #fff2cc); } /* Close Button */ #popup-close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 2px solid var(--ci-gold); border-radius: 50%; background: color-mix(in srgb, var(--ci-gold) 15%, #fff9e6); font-size: 20px; font-weight: bold; line-height: 28px; color: var(--ci-gold); cursor: pointer; box-shadow: 0 0 8px rgba(0,0,0,.2); } #popup-close:hover { background: color-mix(in srgb, var(--ci-gold) 25%, #fff2cc); } /* ============================================================ ZWEI-SPALTEN STANDARDLAYOUT ============================================================ */ .popup-body { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 2vw, 2.5rem); font-family: "Bratonien2025", serif; font-size: 1.2rem; } .popup-body.font-readable { font-family: "Bratonien2025 Readable", serif; line-height: 1.55; } /* linke spalte */ .story { line-height: 1.6; } /* rechte spalte */ .addon { display: flex; flex-direction: column; gap: clamp(1rem, 1.5vw, 2rem); padding-top: 1rem; } /* ============================================================ REZEPT (floatendes Bild) ============================================================ */ .popup-recipe-content picture.recipe-image-wrapper { float: left; width: clamp(260px, 70%, 3840px); margin: 0 1.5rem 1.2rem 0; border-radius: 10px; display: block; box-shadow: 0 0 10px rgba(0,0,0,.2); shape-outside: inset(0 round 10px); } .recipe-image { width: 100%; height: auto; border-radius: 10px; } .recipe-title { font-size: clamp(1.5rem, 1.6vw, 2rem); color: var(--ci-darkgreen); font-weight: 600; } /* ============================================================ ADDON: Picture (90% zentriert) ============================================================ */ .addon-picture { display: flex; justify-content: center; } .addon-picture-image { width: 95%; height: auto; display: block; align-self: center; } /* ============================================================ ADDON: Audio ============================================================ */ .addon-audio { width: 100%; display: flex; flex-direction: column; gap: .6rem; } .addon-audio audio { width: 100%; } /* ============================================================ ADDON: Video (90% zentriert) ============================================================ */ .addon-video-wrapper { display: flex; justify-content: center; } .addon-video { width: 95%; height: auto; display: block; align-self: center } /* ============================================================ MOBILE ============================================================ */ @media (max-width: 900px) { .popup-body { grid-template-columns: 1fr; } .popup-recipe-content picture.recipe-image-wrapper { float: none; width: 100%; max-width: 360px; margin: 0 auto 1rem; shape-outside: none; } } /* ============================================================ ANIMATIONEN ============================================================ */ @keyframes fadeIn { from{opacity:0;} to{opacity:1;} } @keyframes popIn { 0%{transform:scale(.9);opacity:0;} 100%{transform:scale(1);opacity:1;} }