/* Lehrzeug Geburtstage – werkzeugeigenes Design. Gemeinsames Design: /kern/kern.css */
.gb-privacy { margin: 0 0 18px; }
.gb-errors { list-style: none; margin: 0; padding: 0; }
.gb-today { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 16px; background: linear-gradient(135deg, #FDE8F1, #FFF2DC); color: #A91F57; margin-bottom: 14px; }
.gb-today .i { width: 28px; height: 28px; }
.gb-today p { margin: 0; flex: 1; font-size: 1.05rem; color: #071B4A; }
.gb-next { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 6px; }
.gb-next li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface-2); }
.gb-next li.is-today { border-color: var(--rosa); background: var(--rosa-soft); }
.gb-date { display: grid; place-items: center; height: 52px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line-2); font-size: 12px; color: var(--ink-3); line-height: 1.1; text-transform: uppercase; }
.gb-date b { font-size: 1.3rem; color: var(--ink); }
.gb-who { display: grid; min-width: 0; }
.gb-who small { color: var(--ink-3); font-size: 12.5px; }
.gb-h-we { color: var(--yellow-ink); font-weight: 500; }
.gb-h-hol { color: var(--lila-ink); font-weight: 500; }
.gb-days { font-weight: 500; color: var(--teal-ink); font-size: 14px; white-space: nowrap; }
.gb-empty { display: flex !important; gap: 10px; color: var(--ink-3); }
.gb-h3 { margin: 0 0 10px; font-size: 1rem; }
.gb-year { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.gb-month { --mc: #2E7CF6; border-radius: 14px; border: 1px solid var(--line); border-top: 5px solid var(--mc); padding: 8px 12px; background: var(--surface); }
.gb-mname { margin: 0 0 4px; font-weight: 700; color: var(--ink); font-size: 14px; }
.gb-month ul { list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.gb-month b { display: inline-block; min-width: 26px; color: var(--ink-2); }
.gb-none { margin: 0; color: var(--ink-3); }
.gb-print-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.gb-party { width: 100vw; height: 100vh; max-width: 100vw; max-height: 100vh; margin: 0; border-radius: 0; background: radial-gradient(900px 500px at 80% 0%, rgba(236, 79, 143, .35), transparent 70%), radial-gradient(800px 500px at 0% 100%, rgba(18, 199, 163, .3), transparent 70%), #071B4A; color: #fff; padding: 0; }
.gb-party[open] { display: grid; }
.gb-confetti { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.gb-party-in { position: relative; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; padding: 24px; }
.gb-party-k { margin: 0; font-size: clamp(1.2rem, 3vw, 2rem); color: #12C7A3; font-weight: 500; }
.gb-party h2 { margin: 0; font-size: clamp(3.5rem, 12vw, 9rem); line-height: 1; letter-spacing: -.03em; }
.gb-party-s { margin: 0; font-size: clamp(1.1rem, 2.6vw, 1.8rem); color: #F5A623; font-weight: 500; }
.gb-cake { position: relative; width: 200px; height: 150px; margin: 18px auto; }
.gb-cake::before { content: ""; position: absolute; left: 10px; right: 10px; bottom: 0; height: 70px; border-radius: 16px; background: linear-gradient(#FF8DB8, #E2457F); box-shadow: inset 0 14px 0 #FFD9E8; }
.gb-cake::after { content: ""; position: absolute; left: 40px; right: 40px; bottom: 70px; height: 44px; border-radius: 12px 12px 0 0; background: linear-gradient(#FFF6E5, #F8E2BC); box-shadow: inset 0 10px 0 #fff; }
.gb-cake span { position: absolute; bottom: 114px; width: 10px; height: 30px; border-radius: 3px; background: #2E7CF6; z-index: 1; }
.gb-cake span:nth-child(1) { left: 66px; } .gb-cake span:nth-child(2) { left: 95px; background: #12C7A3; } .gb-cake span:nth-child(3) { left: 124px; background: #F5A623; }
.gb-cake span::after { content: ""; position: absolute; left: -3px; top: -20px; width: 16px; height: 20px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; background: radial-gradient(#FFF7C2, #FFB020 60%, #FF7A1A); animation: zwflick 1.2s ease-in-out infinite alternate; }
@keyframes zwflick { 0% { transform: scale(1, 1) rotate(-4deg); } 100% { transform: scale(.9, 1.1) rotate(4deg); } }
.gb-party-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 20px; }
.gb-party-nav select { padding: 9px 36px 9px 12px; background: #fff; color: #071B4A; }

/* Druck: Jahresaushang A4 quer */
.gbp-sheet { width: 297mm; height: 209mm; padding: 9mm 11mm; font-family: var(--font); color: #071B4A; background: #fff; display: flex; flex-direction: column; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.gbp-head { display: flex; align-items: center; justify-content: center; gap: 6mm; margin-bottom: 5mm; }
.gbp-head h1 { margin: 0; font-size: 24pt; letter-spacing: -.02em; }
.gbp-cake { font-size: 22pt; }
.gbp-grid { flex: 1; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, 1fr); gap: 3.5mm; }
.gbp-m { --mc: #2E7CF6; border: .6mm solid var(--mc); border-radius: 4mm; padding: 2.5mm 4mm; overflow: hidden; }
.gbp-m h2 { margin: -2.5mm -4mm 2mm; padding: 1.5mm 4mm; background: var(--mc); color: #fff; font-size: 12pt; }
.gbp-sw .gbp-m h2 { background: #fff; color: #071B4A; border-bottom: .4mm solid #071B4A; }
.gbp-m ul { list-style: none; margin: 0; padding: 0; font-size: 10.5pt; line-height: 1.35; }
.gbp-m b { display: inline-block; min-width: 8mm; }
.gbp-foot { margin: 2mm 0 0; font-size: 7.5pt; color: #8E9AB0; text-align: right; }
@media (max-width: 600px) { .gb-next li { grid-template-columns: 56px minmax(0, 1fr) auto; } .gb-next li .gb-days { display: none; } }
