/* Halbzeit 16.10.2026 · ergänzt style.css, gleiche Tokens */
:root{--salon:#5B3A29;--house:#114232}
.halbzeit-hero .hero-copy>p:not(.eyebrow){max-width:46ch}
.baby-mini{list-style:none;margin:0;padding:var(--space-6);display:grid;gap:0;background:var(--color-bg)}
.baby-mini li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--color-divider)}
.baby-mini li:last-child{border-bottom:0}
.baby-mini span{font-family:var(--font-display);font-size:var(--text-lg)}
.baby-mini em{font-style:normal;font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}

/* Anmeldung */
.rsvp{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-20);padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.rsvp-copy .eyebrow{margin-bottom:var(--space-4)}.rsvp-copy h2{margin-bottom:var(--space-4)}
.rsvp-choice{border:0;padding:0;margin:0 0 var(--space-6);display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--color-text)}
.rsvp-choice label{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-5);cursor:pointer}
.rsvp-choice label+label{border-left:1px solid var(--color-divider)}
.rsvp-choice label:has(input:checked){background:var(--color-primary);color:var(--inverse)}
.rsvp-choice input{accent-color:currentColor;width:18px;height:18px;margin:0}
.rsvp-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.rsvp-fields .setup-field:first-child{grid-column:1/-1}
.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form select,.wish-form input:not([type=checkbox]),.wish-form textarea{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-divider);background:var(--color-bg);border-radius:0}
.wish-form textarea{resize:vertical;min-height:140px}
.rsvp-form input:focus,.rsvp-form select:focus,.wish-form input:focus,.wish-form textarea:focus{border-color:var(--color-primary)}
.rsvp-form>.small{margin-top:var(--space-5)}
.rsvp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rsvp-feedback{font-size:var(--text-sm);min-height:24px;color:var(--color-primary);padding-top:var(--space-3)}
.setup-field label{display:block;font-size:var(--text-xs);margin-bottom:var(--space-2)}

/* Programm */
.programm{padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.programm-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-divider)}
.programm-list li{display:grid;grid-template-columns:220px 1fr;gap:var(--space-8);padding-block:var(--space-5);border-bottom:1px solid var(--color-divider)}
.programm-time{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary);line-height:1.1}
.programm-list h3{font-size:var(--text-lg)}.programm-list p{margin-top:var(--space-2);color:var(--color-text-muted)}
.programm>.small{margin-top:var(--space-5)}

/* Geschichte */
.story{padding-block:var(--space-12);border-top:1px solid var(--color-text);display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-20)}
.story-head .eyebrow{margin-bottom:var(--space-4)}.story-head h2{margin-bottom:var(--space-5)}
.story-list{list-style:none;margin:0;padding:0}
.story-list li{display:grid;grid-template-columns:120px 1fr;column-gap:var(--space-6);padding-block:var(--space-5);border-bottom:1px solid var(--color-divider)}
.story-list li:first-child{border-top:1px solid var(--color-divider)}
.story-year{font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-primary);padding-top:.35em;grid-row:span 2}
.story-list h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.story-list p{font-size:var(--text-sm);color:var(--color-text-muted)}
.help-note{grid-column:1/-1;margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border-left:3px solid var(--color-primary);background:var(--color-surface);max-width:none}

/* Babies */
.babies{padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.baby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--color-text)}
.baby{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);min-height:340px;color:#fff}
.baby+.baby{border-left:1px solid rgba(255,255,255,.25)}
.baby h3{font-size:var(--text-lg)}.baby p:not(.eyebrow){font-size:var(--text-sm);color:rgba(255,255,255,.86)}
.baby a,.baby-soon{margin-top:auto;font-size:var(--text-sm);min-height:44px;display:flex;align-items:center;color:#fff;border-top:1px solid rgba(255,255,255,.35);padding-top:var(--space-3)}
.baby-soon{color:rgba(255,255,255,.75)}
.baby-page{background:#101713}.baby-house{background:var(--house)}.baby-edition{background:#36485f}.baby-salon{background:var(--salon)}

/* Fünf Wege */
.ways{padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.ways-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-text)}
.ways-grid li+li{border-left:1px solid var(--color-divider)}
.ways-grid a{display:flex;flex-direction:column;gap:var(--space-3);height:100%;padding:var(--space-6) var(--space-5);text-decoration:none}
.ways-grid a:hover{background:var(--color-surface)}
.way-no{font-size:var(--text-xs);color:var(--color-text-muted)}
.ways-grid strong{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);line-height:1.2}
.ways-grid span:not(.way-no){font-size:var(--text-sm);color:var(--color-text-muted)}
.ways-grid em{margin-top:auto;font-style:normal;font-size:var(--text-sm);color:var(--color-primary);padding-top:var(--space-3)}

/* Einrichtung und Gutschein */
.give-block{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-20);padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.give-copy .eyebrow{margin-bottom:var(--space-4)}.give-copy h2{margin-bottom:var(--space-5)}
.give-panel{border:1px solid var(--color-text);padding:var(--space-8)}
.amount-picker{border:0;padding:0;margin:0}
.amount-picker legend{margin-bottom:var(--space-4)}
.amount-options{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--color-text);margin-bottom:var(--space-5)}
.amount-options button{min-height:56px;background:none;border:0;font-family:var(--font-display);font-size:var(--text-lg)}
.amount-options button+button{border-left:1px solid var(--color-divider)}
.amount-options button.active{background:var(--color-primary);color:var(--inverse)}
.amount-picker label{display:block;margin-bottom:var(--space-2)}
.amount-picker input{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-divider);background:var(--color-bg)}
.einrichtung-data{margin-top:var(--space-6);display:grid;grid-template-columns:1fr auto;gap:var(--space-6);align-items:start}
.einrichtung-data dl{margin:0;display:grid;gap:var(--space-3)}
.einrichtung-data dt{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}
.einrichtung-data dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--space-4);word-break:break-word}
.einrichtung-data dd .text-button{margin-top:0;min-height:36px}
.einrichtung-data #e-copy-feedback{grid-column:1/-1;order:3}
.e-qr{margin:0}.e-qr img{width:180px;height:180px;image-rendering:pixelated;background:#fff;padding:6px}.e-qr figcaption{max-width:180px;margin-top:var(--space-2)}
.voucher-card .voucher-price{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;margin-top:var(--space-3)}
.voucher-list{margin:var(--space-5) 0 0;padding-left:1.1em;display:grid;gap:var(--space-2);font-size:var(--text-sm)}
.voucher-btn{text-decoration:none}
.voucher-btn.is-disabled{color:var(--color-text-muted);background:var(--color-surface);border-color:var(--color-divider);pointer-events:none}
.voucher-card .small{margin-top:var(--space-3)}

/* Spenden */
.donate{padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0;border-top:1px solid var(--color-text);border-left:1px solid var(--color-divider)}
.org{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}
.org .eyebrow{color:var(--color-text-muted)}
.org h3{font-size:var(--text-lg)}
.org-what{font-size:var(--text-sm);color:var(--color-text-muted)}
.org-why{font-size:var(--text-sm);border-left:2px solid var(--salon);padding-left:var(--space-4)}
[data-theme='dark'] .org-why{border-left-color:#c79a7f}
.org a{margin-top:auto;font-size:var(--text-sm);min-height:44px;display:flex;align-items:center;color:var(--color-primary)}

/* Glückwünsche */
.wishes{padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.wishes-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-20)}
.wish-form .setup-field+.setup-field{margin-top:var(--space-5)}
.wish-form .setup-field .small{margin-top:var(--space-2)}
.wish-public{display:flex;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-5);font-size:var(--text-sm);cursor:pointer}
.wish-public input{width:20px;height:20px;margin-top:2px;accent-color:var(--color-primary);flex:none}
.wish-form>.small{margin-top:var(--space-4)}
.wish-wall .eyebrow{margin-bottom:var(--space-4)}
#wish-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);max-height:640px;overflow:auto}
#wish-list li{border-top:1px solid var(--color-divider);padding-top:var(--space-4)}
#wish-list blockquote{margin:0;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.3;white-space:pre-line}
#wish-list cite{display:block;margin-top:var(--space-2);font-style:normal;font-size:var(--text-sm);color:var(--color-text-muted)}

/* Admin */
.admin-shell{padding-block:var(--space-12)}
.admin-shell h1{margin:var(--space-3) 0 var(--space-8)}
.admin-shell h2{margin:var(--space-12) 0 var(--space-5)}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--color-text);margin-bottom:var(--space-5)}
.admin-stats div{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5)}
.admin-stats div+div{border-left:1px solid var(--color-divider)}
.admin-stats div:first-child{background:var(--color-primary);color:var(--inverse)}
.admin-table-wrap{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.admin-table th,.admin-table td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-divider);vertical-align:top}
.admin-table form .text-button{margin:0;min-height:32px}
.admin-wishes{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5)}
.admin-wishes li{border-top:1px solid var(--color-divider);padding-top:var(--space-4)}
.admin-wishes .btn{width:auto}

@media(max-width:1050px){
  .ways-grid li:last-child{grid-column:1/-1}
  .baby-grid{grid-template-columns:1fr 1fr}.baby:nth-child(3){border-left:0}.baby:nth-child(n+3){border-top:1px solid rgba(255,255,255,.25)}
  .ways-grid{grid-template-columns:1fr 1fr}.ways-grid li{border-bottom:1px solid var(--color-divider)}.ways-grid li:nth-child(odd){border-left:0}
  .rsvp,.story,.give-block,.wishes-layout{grid-template-columns:1fr;gap:var(--space-8)}
}
@media(max-width:720px){
  .halbzeit-hero .hero-visual{display:block}
  .baby-grid{grid-template-columns:1fr}.baby{min-height:0}.baby+.baby{border-left:0;border-top:1px solid rgba(255,255,255,.25)}
  .ways-grid{grid-template-columns:1fr}.ways-grid li+li{border-left:0}
  .rsvp-fields{grid-template-columns:1fr}.rsvp-choice{grid-template-columns:1fr}.rsvp-choice label+label{border-left:0;border-top:1px solid var(--color-divider)}
  .story-list li{grid-template-columns:1fr}.story-year{grid-row:auto;padding-top:0;margin-bottom:var(--space-2)}
  .programm-list li{grid-template-columns:1fr;gap:var(--space-2)}
  .give-panel{padding:var(--space-5)}
  .einrichtung-data{grid-template-columns:1fr}.e-qr img{margin-inline:auto}.e-qr figcaption{max-width:none;text-align:center}
  .admin-stats{grid-template-columns:1fr 1fr}.admin-stats div:nth-child(3){border-left:0}.admin-stats div:nth-child(n+3){border-top:1px solid var(--color-divider)}
  .rsvp-form input,.rsvp-form select,.wish-form input,.wish-form textarea,.amount-picker input{font-size:16px}
}
.header-rsvp{text-decoration:none;display:inline-flex;align-items:center;font-size:var(--text-sm);color:var(--color-primary)}
.programm-link{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);color:var(--color-primary)}

/* Farbwelten der zitierten Seiten (16.10.2026): puck.page Moos, puck.house Schwarz + Nuss, edition1010 Weiß/Schwarz, puck.salon Nuss */
:root{--moss:#114232;--nut:#7A4E2D;--house-black:#000}
.baby-page{background:var(--moss)}
.baby-house{background:var(--house-black);box-shadow:inset 0 3px 0 var(--nut)}
.baby-edition{background:#fff;color:#000}
.baby-edition p:not(.eyebrow){color:rgba(0,0,0,.72)}
.baby-edition .eyebrow{color:#000}
.baby-edition a{color:#000;border-top-color:rgba(0,0,0,.3)}
.baby-salon{background:var(--nut)}
.baby-salon+.baby,.baby-edition+.baby-salon{border-left-color:rgba(255,255,255,.25)}
.baby-house+.baby-edition{border-left:1px solid #000}
/* Ganze Blöcke im Ton der jeweiligen Seite */
.theme-house,.theme-salon{--color-text:#fff;--color-text-muted:rgba(255,255,255,.78);--color-divider:rgba(255,255,255,.28);--inverse:#000;color:var(--color-text);background:var(--section-bg);box-shadow:0 0 0 100vmax var(--section-bg);clip-path:inset(0 -100vmax);border-top-color:transparent!important}
.theme-house{--section-bg:#000;--color-bg:#000;--color-surface:#141414;--color-primary:#fff}
.theme-salon{--section-bg:var(--nut);--color-bg:var(--nut);--color-surface:#6a4327;--color-primary:#fff}
.theme-house .eyebrow{color:#c49a74}
.theme-salon .eyebrow{color:#f1e4d6}
.theme-house a:not(.btn),.theme-salon a:not(.btn){color:#fff}
.theme-house+.theme-house{box-shadow:0 0 0 100vmax var(--section-bg),0 -1px 0 rgba(255,255,255,.2)}
.theme-salon .org-why{border-left-color:rgba(255,255,255,.55)}
/* Geschichte: immer heller Hintergrund, auch im Dunkelmodus */
.story{--section-bg:#f5f5f3;--color-bg:#f5f5f3;--color-surface:#fff;--color-text:#101713;--color-text-muted:#59615c;--color-primary:#114232;--color-divider:#d5d9d6;--inverse:#fff;color:var(--color-text);background:var(--section-bg);box-shadow:0 0 0 100vmax var(--section-bg);clip-path:inset(0 -100vmax);border-top-color:transparent}
.story a:not(.btn){color:#114232}
/* Porträts */
.hero-portrait{margin:0;position:relative;background:#e9e9e7}
.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}
.hero-portrait figcaption{position:absolute;right:var(--space-3);bottom:var(--space-3);font-size:var(--text-xs);color:#fff;letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.story-portrait{margin:var(--space-10) 0 0;max-width:320px}
.story-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}
.story-portrait figcaption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em}
@media (max-width:900px){.hero-portrait img{aspect-ratio:1;object-position:50% 20%}.story-portrait{max-width:240px}}
/* Galerie Lebensphasen */
.life-gallery{grid-column:1/-1;min-width:0;max-width:100%;margin-top:var(--space-10);padding-top:var(--space-10);border-top:1px solid var(--color-divider)}
.gallery-head{margin-bottom:var(--space-6)}.gallery-head .eyebrow{margin-bottom:var(--space-3)}
.gallery-head h3{font-size:var(--text-xl)}
.gallery-phase+.gallery-phase{margin-top:var(--space-8)}
.gallery-year{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}
.gallery-row{display:flex;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);align-items:flex-end}
.gallery-item{margin:0;flex:0 0 206px;scroll-snap-align:start}
.gallery-item.gallery-wide{flex-basis:230px}
.gallery-item img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:grayscale(1);background:#e9e9e7}
.gallery-item.gallery-wide img{aspect-ratio:4/5}
.gallery-item figcaption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}
@media (max-width:640px){.gallery-item{flex-basis:160px}.gallery-item.gallery-wide{flex-basis:180px}}

/* Gratulieren und Weitersagen */
.social{padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--color-text)}
.social-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6)}
.social-card+.social-card{border-left:1px solid var(--color-divider)}
.social-card h3{font-size:var(--text-lg)}
.social-card textarea,.social-card select,.social-card input{width:100%;max-width:none;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-divider);background:var(--color-bg);border-radius:0;resize:vertical}
.social-card label.small{margin-top:var(--space-2)}
.social-actions{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3)}
.social-actions .text-button{margin-top:0}
.social-btn{text-decoration:none;width:auto;flex:1 1 auto;margin-top:0}
.social-btn-ghost{background:none;color:var(--color-primary)}
.social-stack{flex-direction:column;align-items:stretch}
.social-wa{background:var(--color-surface)}
.social-fb{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--color-divider)}
.share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--color-text);margin-top:auto}
.share-btn{display:flex;align-items:center;justify-content:center;min-height:48px;background:none;border:0;border-bottom:1px solid var(--color-divider);font-size:var(--text-sm);text-decoration:none;color:var(--color-text)}
.share-btn:nth-child(odd){border-right:1px solid var(--color-divider)}
.share-btn:hover{background:var(--color-primary);color:var(--inverse)}
#share-preview{font-style:normal}
.after-share{margin-top:var(--space-2);font-size:var(--text-sm)}.after-share a{color:var(--color-primary)}
.give-after{display:flex;flex-direction:column;gap:0;margin-top:var(--space-4);border-top:1px solid var(--color-divider);padding-top:var(--space-2)}
.give-after .text-button,#v-share{margin-top:0;display:inline-flex;align-items:center;color:var(--color-primary);text-align:left}
#v-share{margin-top:var(--space-3)}
.org-tell{font-size:var(--text-xs);color:var(--color-text-muted);min-height:36px;display:flex;align-items:center}
.org a+.org-tell{margin-top:calc(-1 * var(--space-3))}
.header-share{color:var(--color-text)}
@media(max-width:1050px){.social-grid{grid-template-columns:1fr}.social-card+.social-card{border-left:0;border-top:1px solid var(--color-divider)}}
@media(max-width:720px){.header-share{display:none}.social-card textarea,.social-card select,.social-card input{font-size:16px}}
/* Fotos */
.photos{padding-block:var(--space-12);border-top:1px solid var(--color-text)}
.photos-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-16)}
.photo-form .setup-field+.setup-field,.photo-form .setup-field+p+.setup-field{margin-top:var(--space-5)}
.photo-drop{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:160px;border:1px dashed var(--color-text);text-align:center;padding:var(--space-6);cursor:pointer;margin:0!important}
.photo-drop:hover,#photo-files:focus-visible+.photo-drop{background:var(--color-surface)}
.photo-drop-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary)}
#photo-picked{margin-top:var(--space-2);min-height:1.2em;color:var(--color-primary)}
.photo-progress{margin-top:var(--space-4);height:6px;background:var(--color-surface)}
.photo-progress span{display:block;height:6px;width:0;background:var(--color-primary);transition:width .3s}
.photo-grid{list-style:none;margin:0;padding:0;columns:3 200px;column-gap:var(--space-3)}
.photo-grid li{break-inside:avoid;margin-bottom:var(--space-4)}
.photo-grid img{width:100%;height:auto;background:var(--color-surface)}
.photo-grid p{margin-top:var(--space-1)}
.photo-wall .eyebrow{margin-bottom:var(--space-4)}
.admin-photos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-6)}
.admin-photos img{width:100%;height:200px;object-fit:cover;background:var(--color-surface)}
.admin-photos .eyebrow{margin-top:var(--space-2)}
.admin-photo-actions{display:flex;gap:var(--space-4);align-items:center}.admin-photo-actions .btn{width:auto;margin-top:var(--space-2)}
.admin-stats{grid-template-columns:repeat(5,1fr)}
@media(max-width:1050px){.photos-layout{grid-template-columns:1fr;gap:var(--space-8)}}
@media(max-width:720px){.photo-grid{columns:2 140px}.admin-stats{grid-template-columns:1fr 1fr}.photo-form input{font-size:16px}}
.photo-form .setup-field:first-child{position:relative}#photo-files{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0}
