Files
Bratonien-Adventskalender/adventskalender/shared/css/popup.css
2025-11-16 09:19:55 +01:00

270 lines
5.7 KiB
CSS

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