Files
Freundebuch/backend/public/book/book.css

97 lines
3.5 KiB
CSS

.book-root { max-width: 1000px; margin: 0 auto; padding: 2em 1.2em 6em; min-height: 60vh; }
.friend-page { position: relative; }
.page-head { text-align: center; margin-bottom: 1.4em; position: relative; }
.page-head .tape { top: -10px; left: 50%; transform: translateX(-50%) rotate(-4deg); }
.page-profile-pic {
width: 150px; height: 150px; border-radius: 50%; object-fit: cover;
border: 8px solid #fff; box-shadow: var(--shadow); transform: rotate(-3deg);
}
.page-profile-pic.placeholder {
display: flex; align-items: center; justify-content: center;
background: var(--rose); color: #fff; font-size: 3rem; font-family: 'Caveat', cursive;
}
.page-head h1 { font-size: 3.2rem; margin-top: 0.3em; }
.steckbrief-card {
background: var(--paper-2); border: 2px dashed var(--mustard); border-radius: 14px;
padding: 1.2em 1.6em; margin: 0 auto 2em; max-width: 640px; transform: rotate(-0.4deg);
box-shadow: var(--shadow);
}
.steckbrief-card h2 { color: var(--rust); }
.sb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.6em 1.2em; }
.sb-row .sb-key { font-weight: 700; color: var(--ink-soft); font-size: 0.82rem; display: block; }
.sb-row .sb-val { font-size: 0.95rem; }
.scrap-grid {
display: flex; flex-wrap: wrap; gap: 2em 1.6em; justify-content: center; padding: 1em 0.5em;
}
.scrap-item { background: #fff; box-shadow: 0 6px 16px rgba(0,0,0,0.16); transition: transform 0.15s ease; }
.scrap-item:hover { transform: scale(1.04) rotate(0deg) !important; z-index: 2; }
.scrap-item.polaroid { padding: 10px 10px 30px; width: 220px; }
.scrap-item.polaroid img { display: block; max-width: 100%; max-height: 260px; width: auto; height: auto; margin: 0 auto; }
.scrap-item.text-note { width: 220px; min-height: 160px; padding: 1.2em; background: #fef7d6; font-family: Georgia, serif; }
.scrap-item.audio-note { width: 220px; padding: 1.2em; background: #e8f3ec; text-align: center; }
.scrap-item.audio-note audio { width: 100%; margin-top: 0.6em; }
.audio-cover { width: 100%; height: 150px; object-fit: cover; border-radius: 6px; margin-bottom: 0.6em; }
.scrap-caption { font-family: 'Caveat', cursive; font-size: 1.2rem; text-align: center; margin-top: 0.4em; color: var(--ink-soft); }
.book-nav {
position: fixed; bottom: 0; left: 0; right: 0;
background: var(--paper-2); border-top: 2px solid var(--line);
display: flex; align-items: center; justify-content: center; gap: 1.4em;
padding: 0.8em; box-shadow: 0 -4px 12px rgba(0,0,0,0.08);
}
#pageIndicator { font-family: 'Caveat', cursive; font-size: 1.3rem; color: var(--ink-soft); }
.empty-book { text-align: center; margin-top: 3em; }
/* Deckblatt */
.cover-page {
position: relative;
min-height: 640px;
border-radius: 18px;
background: var(--paper-2);
box-shadow: var(--shadow);
overflow: hidden;
border: 2px dashed var(--mustard);
display: flex;
align-items: center;
justify-content: center;
}
.cover-stickers { position: absolute; inset: 0; }
.cover-sticker {
position: absolute;
object-fit: cover;
aspect-ratio: 1 / 1;
border: 6px solid #fff;
border-radius: 8px;
box-shadow: 0 6px 16px rgba(0,0,0,0.22);
}
.cover-title-wrap {
position: relative;
z-index: 5;
text-align: center;
padding: 0.6em 1.2em;
}
.cover-title {
display: inline-block;
font-size: 3.6rem;
background: rgba(255,253,247,0.92);
padding: 0.25em 0.7em;
border-radius: 12px;
box-shadow: 0 6px 18px rgba(0,0,0,0.18);
transform: rotate(-2deg);
max-width: 90%;
}
@media (max-width: 640px) {
.cover-page { min-height: 460px; }
.cover-title { font-size: 2.3rem; }
}