/* Von der Waldlichtung – Licht & Kraft – style.css */

:root{
  --cream:#e8e6e0;--warm:#f6f5f3;--forest:#1c3028;--forest2:#2e4a3a;
  --amber:#c49a20;--amber2:#e0b840;--text:#161614;--muted:#686660;
  --border:rgba(28,48,40,.15);--adm:#6c3fc5;--radius:4px;
  --forest3:#4a7060;--surface2:#dedad2;--amber3:#f0d070;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--warm);color:var(--text);line-height:1.7;overflow-x:hidden;}


#cookieBanner{position:fixed;bottom:0;left:0;right:0;z-index:9000;background:#1a1410;color:#fff;padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;box-shadow:0 -4px 24px rgba(0,0,0,.3);}
#cookieBanner p{font-size:.82rem;color:rgba(255,255,255,.75);flex:1;min-width:200px;}
#cookieBanner p a{color:var(--amber2);text-decoration:underline;cursor:pointer;}
.cookie-btns{display:flex;gap:.7rem;flex-shrink:0;flex-wrap:wrap;}
.btn-cookie-ok{padding:.6rem 1.4rem;background:var(--amber);color:#fff;border:none;border-radius:2px;cursor:pointer;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
.btn-cookie-ok:hover{background:var(--amber2);}
.btn-cookie-min{padding:.6rem 1.2rem;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:2px;cursor:pointer;font-family:'Jost',sans-serif;font-size:.78rem;}
.btn-cookie-min:hover{background:rgba(255,255,255,.18);}

/* ─── DATENSCHUTZ MODAL ─── */
#dsgvoModal .modal{max-width:700px;}
#dsgvoModal .modal-body{font-size:.88rem;color:var(--muted);}
#dsgvoModal .modal-body h4{font-family:'Playfair Display',serif;color:var(--forest);margin:1.2rem 0 .4rem;}
#dsgvoModal .modal-body p{margin-bottom:.8rem;}

/* ─── ADMIN ─── */
.adm-bar{position:fixed;bottom:0;left:0;right:0;z-index:500;background:var(--adm);color:#fff;display:none;align-items:center;justify-content:center;padding:.72rem 1.5rem;gap:1rem;flex-wrap:wrap;box-shadow:0 -4px 20px rgba(0,0,0,.2);}
.adm-bar.show{display:flex;}
.adm-badge{background:rgba(255,255,255,.15);border-radius:20px;padding:.28rem .85rem;font-size:.72rem;font-weight:600;letter-spacing:.05em;white-space:nowrap;}
.adm-hint{opacity:.75;font-size:.74rem;flex:1;}
.adm-btns{display:flex;gap:.55rem;flex-wrap:wrap;}
.adm-btn{padding:.52rem 1.1rem;border-radius:3px;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
.adm-save{background:#fff;color:var(--adm);}
.adm-save:hover{background:#f0e8ff;}
.adm-exit{background:rgba(255,255,255,.15);color:#fff;}
.adm-exit:hover{background:rgba(255,255,255,.25);}
.adm-fab{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);z-index:499;background:var(--adm);color:#fff;border:none;border-radius:50px;padding:.65rem 1.3rem;font-family:'Jost',sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.06em;cursor:pointer;box-shadow:0 4px 18px rgba(108,63,197,.4);transition:all .2s;display:none;align-items:center;gap:.45rem;}
.adm-fab:hover{transform:translateX(-50%) translateY(-2px);}
body.adm [contenteditable]{outline:2px dashed rgba(108,63,197,.35);outline-offset:2px;border-radius:2px;cursor:text;}
body.adm [contenteditable]:hover{outline-color:var(--adm);}
body.adm [contenteditable]:focus{outline:2px solid var(--adm);background:rgba(108,63,197,.04);}
.img-edit-btn{display:none;position:absolute;inset:0;background:rgba(108,63,197,.72);color:#fff;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;align-items:center;justify-content:center;flex-direction:column;gap:.35rem;z-index:10;}
body.adm .img-edit-btn{display:flex;}
.img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.55rem;color:var(--muted);font-size:.8rem;font-style:italic;background:linear-gradient(135deg,#d8d6d0,#bdbbb5);}
.img-ph svg{opacity:.28;width:52px;height:52px;}
.img-ph-dk{background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02));color:rgba(255,255,255,.22);}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1rem 3rem;background:rgba(246,245,243,.99);border-bottom:1px solid var(--border);}
.nav-logo{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--forest);font-style:italic;text-decoration:none;}
.nav-links{display:flex;gap:1.8rem;list-style:none;}
.nav-links a{text-decoration:none;color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--forest);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.3rem;border:none;background:none;}
.burger span{display:block;width:24px;height:2px;background:var(--forest);border-radius:2px;transition:all .28s;}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.mob-nav{display:none;position:fixed;inset:0;z-index:99;background:rgba(250,247,242,.98);flex-direction:column;align-items:center;justify-content:center;gap:2.2rem;list-style:none;}
.mob-nav.open{display:flex;}
.mob-nav a{text-decoration:none;color:var(--forest);font-family:'Playfair Display',serif;font-size:1.7rem;font-style:italic;}
.mob-nav a:hover{color:var(--amber);}

/* ─── HERO ─── */
.hero{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;}
.hero-l{display:flex;flex-direction:column;justify-content:center;padding:8rem 4rem 4rem 5rem;background:var(--forest);position:relative;z-index:1;}
.hero-l::after{content:'';position:absolute;right:-60px;top:0;bottom:0;width:120px;background:var(--forest);clip-path:polygon(0 0,50% 0,100% 50%,50% 100%,0 100%);z-index:2;}
.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber2);margin-bottom:1.4rem;font-weight:500;}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4.3vw,3.8rem);color:#fff;line-height:1.15;margin-bottom:1.4rem;}
.hero-h1 em{font-style:italic;color:var(--amber2);}
.hero-sub{color:rgba(255,255,255,.65);font-weight:300;max-width:360px;margin-bottom:2.4rem;font-size:.92rem;}
.btn-p{display:inline-block;padding:.8rem 2rem;background:var(--amber);color:#fff;text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;transition:background .2s,transform .15s;border-radius:2px;font-family:'Jost',sans-serif;}
.btn-p:hover{background:var(--amber2);transform:translateY(-1px);}
.hero-r{position:relative;background:var(--cream);overflow:hidden;z-index:1;}
.hero-r>div{width:100%;height:100%;min-height:300px;position:relative;}
.hero-r>div img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.hero-ticker{position:absolute;bottom:0;left:0;right:0;background:var(--forest);color:#fff;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  overflow:hidden;white-space:nowrap;z-index:5;height:2.2rem;display:flex;align-items:center;}
.hero-ticker-track{display:inline-flex;gap:3rem;animation:tickerScroll 25s linear infinite;padding-left:100%;}
.hero-ticker-track:hover{animation-play-state:paused;}
.hero-ticker-item{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;}
.hero-ticker-item em{color:var(--amber2);font-style:normal;}
.hero-ticker-dot{color:var(--amber2);font-size:.5rem;}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.hero-ticker:empty,.hero-ticker-track:empty{display:none;}

/* ─── AUSZEICHNUNGEN ─── */
#awards{background:var(--forest);padding:2.5rem 5rem;}
.awards-inner{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap;}
.award-item{display:flex;align-items:center;gap:.9rem;color:rgba(255,255,255,.7);font-size:.82rem;font-weight:500;}
.award-icon{width:48px;height:48px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
.award-item strong{display:block;color:#fff;font-size:.88rem;font-family:'Playfair Display',serif;}
.award-sep{width:1px;height:36px;background:rgba(255,255,255,.15);}

/* ─── SECTIONS ─── */
section{padding:6rem 5rem;}
.sec-label{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);font-weight:500;margin-bottom:.9rem;}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.2;color:var(--forest);margin-bottom:1.3rem;}
.sec-title em{font-style:italic;}
.divider{width:44px;height:3px;background:var(--amber);margin-bottom:2.2rem;border-radius:2px;}

/* ─── ZÜCHTER ─── */
#zuechter{background:var(--warm);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.z-img{position:relative;}
.z-img-main{width:100%;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;position:relative;}
.z-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--forest);color:#fff;padding:1.2rem 1.4rem;text-align:center;border-radius:3px;z-index:3;}
.z-badge .num{font-family:'Playfair Display',serif;font-size:1.4rem;line-height:1;color:var(--amber2);font-style:italic;}
.z-badge .lbl{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-top:.28rem;}
.z-text p{color:var(--muted);margin-bottom:1rem;font-size:.93rem;}
.phil-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1.8rem;}
.phil-item{padding:1rem;border:1px solid var(--border);border-radius:3px;background:var(--cream);}
.phil-item h4{font-family:'Playfair Display',serif;font-size:.95rem;color:var(--forest);margin-bottom:.3rem;}
.phil-item p{font-size:.79rem;color:var(--muted);margin:0;}

/* ─── ELTERNTIERE ─── */
#eltern{background:var(--forest);color:#fff;}
#eltern .sec-title{color:#fff;}
#eltern .sec-label{color:var(--amber2);}
#eltern .divider{background:var(--amber2);}
.eltern-intro{color:rgba(255,255,255,.65);max-width:540px;margin-bottom:2.8rem;font-size:.92rem;}
.eltern-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;}
.e-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden;transition:transform .25s,border-color .25s;}
.e-card:hover{transform:translateY(-4px);border-color:rgba(200,133,58,.4);}
.e-card-img{aspect-ratio:4/3;position:relative;overflow:hidden;}
.e-tag{position:absolute;top:.9rem;left:.9rem;background:var(--amber);color:#fff;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:.27rem .72rem;border-radius:20px;z-index:1;}
.e-body{padding:1.4rem;}
.e-body h3{font-family:'Playfair Display',serif;font-size:1.25rem;color:#fff;margin-bottom:.22rem;}
.e-breed{font-size:.75rem;color:var(--amber2);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.85rem;font-weight:500;}
.e-body p{font-size:.85rem;color:rgba(255,255,255,.6);margin-bottom:1rem;}
.e-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;}
.e-stat{text-align:center;padding:.7rem .4rem;background:rgba(255,255,255,.04);border-radius:3px;border:1px solid rgba(255,255,255,.06);}
.e-stat .val{font-family:'Playfair Display',serif;font-size:1rem;color:var(--amber2);}
.e-stat .key{font-size:.64rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em;margin-top:.18rem;}

/* ─── GALERIE ─── */
#galerie{background:var(--cream);}
.gallery-grid{columns:4;column-gap:.8rem;margin-top:1rem;}
.gallery-grid .g-item{break-inside:avoid;margin-bottom:.8rem;position:relative;border-radius:3px;overflow:hidden;cursor:pointer;}
.gallery-grid .g-item img,.gallery-grid .g-item video{width:100%;display:block;transition:transform .3s;}
.gallery-grid .g-item video{aspect-ratio:16/9;object-fit:cover;pointer-events:none;}
.gallery-grid .g-item:hover img,.gallery-grid .g-item:hover video{transform:scale(1.03);}
.gallery-grid .g-item .g-overlay{position:absolute;inset:0;background:rgba(45,74,53,.0);transition:background .3s;display:flex;align-items:center;justify-content:center;}
.gallery-grid .g-item:hover .g-overlay{background:rgba(45,74,53,.25);}
.gallery-grid .g-item .g-overlay svg{opacity:0;transition:opacity .3s;color:#fff;}
.gallery-grid .g-item:hover .g-overlay svg{opacity:1;}
.media-badge{position:absolute;bottom:.5rem;left:.5rem;background:rgba(0,0,0,.55);color:#fff;font-size:.65rem;font-weight:600;padding:.22rem .6rem;border-radius:12px;letter-spacing:.05em;text-transform:uppercase;z-index:2;backdrop-filter:blur(4px);}
.play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.play-icon svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.6));opacity:.9;}
.gallery-add-area{border:2px dashed var(--border);border-radius:3px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;position:relative;display:none;background:rgba(255,255,255,.5);margin-top:.8rem;}
body.adm .gallery-add-area{display:block;}
.gallery-add-area:hover{border-color:var(--forest2);background:rgba(255,255,255,.8);}
.gallery-add-area input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.gallery-add-area p{font-size:.85rem;color:var(--muted);}
.gallery-del-btn{display:none;position:absolute;top:.4rem;right:.4rem;width:22px;height:22px;border-radius:50%;background:rgba(192,57,43,.85);color:#fff;border:none;cursor:pointer;font-size:.65rem;align-items:center;justify-content:center;z-index:10;}
body.adm .gallery-del-btn{display:flex;}

/* ─── GALLERY DRAG & DROP ─── */
.drag-handle{
  display:none;
  position:absolute;top:.4rem;left:.4rem;
  width:22px;height:22px;border-radius:3px;
  background:rgba(28,48,40,.75);color:#fff;
  align-items:center;justify-content:center;
  cursor:grab;z-index:10;
  transition:background .15s;
}
.drag-handle:active{cursor:grabbing;}
.drag-handle:hover{background:rgba(28,48,40,.95);}
body.adm .drag-handle{display:flex;}

.g-item.dnd-dragging{
  opacity:.4;
  transform:scale(.97);
  transition:opacity .15s,transform .15s;
}
.g-item.dnd-over-left{box-shadow:-3px 0 0 0 var(--amber);}
.g-item.dnd-over-right{box-shadow:3px 0 0 0 var(--amber);}

/* Drag hint label in admin mode */
body.adm .gallery-grid::before{
  content:'Im Admin-Modus: Fotos & Videos per Drag & Drop verschieben';
  display:block;
  font-size:.75rem;color:var(--muted);
  text-align:center;padding:.5rem 0 .8rem;
  column-span:all;
  letter-spacing:.03em;
}
/* Cursor grab when in admin */
body.adm .g-item{cursor:grab;}
body.adm .g-item:active{cursor:grabbing;}

.gallery-empty{text-align:center;padding:3rem;color:var(--muted);border:2px dashed var(--border);border-radius:3px;}
.gallery-empty .bi{font-size:2rem;margin-bottom:.8rem;}

/* ─── WURF ─── */
#wurf{background:var(--warm);}
.wurf-hdr{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap;}
.w-status{display:inline-flex;align-items:center;gap:.6rem;background:rgba(45,74,53,.1);color:var(--forest);padding:.42rem 1rem;border-radius:30px;font-size:.76rem;font-weight:500;letter-spacing:.06em;margin-top:.8rem;}
.dot{width:8px;height:8px;background:#5caa6f;border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.3);}}
.btn-add{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;background:var(--forest);color:#fff;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;transition:background .2s;white-space:nowrap;}
.btn-add:hover{background:var(--forest2);}
.pups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:.85rem;margin-bottom:2.5rem;}
.pup{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(0,0,0,.07);text-align:center;transition:transform .2s;position:relative;}
.pup:hover{transform:translateY(-3px);}
.pup-img{aspect-ratio:1;background:linear-gradient(135deg,#e0d0be,#c8b49a);display:flex;align-items:center;justify-content:center;font-size:2rem;position:relative;overflow:hidden;}
.pup-img img{width:100%;height:100%;object-fit:cover;}
.pup-info{padding:.7rem .5rem;}
.pname{font-family:'Playfair Display',serif;font-size:.88rem;color:var(--forest);}
.pgender{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;margin-top:.18rem;}
.pg-f{color:#b8608a;}.pg-m{color:#4a90b8;}
.pup-status{font-size:.65rem;font-weight:600;padding:.2rem .55rem;border-radius:12px;display:inline-block;margin-top:.3rem;letter-spacing:.04em;text-transform:uppercase;}
.ps-free{background:#e8f5e9;color:#2e7d32;}
.ps-res{background:#fff3e0;color:#e65100;}
.ps-sold{background:#fce4ec;color:#c62828;}
.pup-del{display:none;position:absolute;top:.32rem;right:.32rem;width:20px;height:20px;border-radius:50%;background:rgba(192,57,43,.85);color:#fff;border:none;cursor:pointer;font-size:.62rem;align-items:center;justify-content:center;z-index:5;}
body.adm .pup-del{display:flex;}
.pup-add{border:2px dashed var(--border)!important;cursor:pointer;opacity:.6;transition:opacity .2s!important;}
.pup-add:hover{opacity:1!important;}
.feed{display:flex;flex-direction:column;gap:1.7rem;}
.upd{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 10px rgba(0,0,0,.04);animation:slideIn .3s ease;}
@keyframes slideIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.upd-hdr{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.4rem;border-bottom:1px solid rgba(0,0,0,.06);background:var(--warm);}
.upd-date{display:flex;align-items:center;gap:.7rem;}
.day-badge{background:var(--forest);color:#fff;padding:.28rem .8rem;border-radius:20px;font-size:.72rem;font-weight:500;}
.day-lbl{font-size:.78rem;color:var(--muted);}
.upd-del{background:none;border:none;cursor:pointer;color:#ccc;font-size:.95rem;padding:.28rem;border-radius:3px;transition:color .2s;}
.upd-del:hover{color:#c0392b;}
.upd-body{padding:1.4rem;}
.upd-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--forest);margin-bottom:.65rem;}
.upd-text{color:var(--muted);font-size:.88rem;}
.upd-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.65rem;margin-top:1rem;}
.upd-imgs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px;cursor:pointer;transition:transform .2s;}
.upd-imgs img:hover{transform:scale(1.02);}
.upd-imgs .vid-thumb{position:relative;aspect-ratio:16/9;border-radius:3px;overflow:hidden;cursor:pointer;transition:transform .2s;}
.upd-imgs .vid-thumb:hover{transform:scale(1.02);}
.upd-imgs .vid-thumb video{width:100%;height:100%;object-fit:cover;pointer-events:none;}
.upd-imgs .vid-thumb .play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.2);}
.upd-imgs .vid-thumb .play-icon svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));}
.empty{text-align:center;padding:3rem;color:var(--muted);border:2px dashed var(--border);border-radius:var(--radius);}
.empty .bi{font-size:2.2rem;margin-bottom:.8rem;}

/* ─── WURFPLANUNG ─── */
#planung{background:var(--cream);}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.6rem;margin-top:.5rem;}
.plan-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;transition:box-shadow .2s;}
.plan-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08);}
.plan-card-top{background:var(--forest);padding:1.2rem 1.4rem;display:flex;justify-content:space-between;align-items:center;}
.plan-card-top h3{font-family:'Playfair Display',serif;font-size:1.05rem;color:#fff;}
.plan-season{font-size:.68rem;color:var(--amber2);letter-spacing:.12em;text-transform:uppercase;font-weight:500;}
.plan-card-body{padding:1.2rem 1.4rem;}
.plan-parents{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;font-size:.86rem;color:var(--muted);}
.plan-parents strong{color:var(--text);}
.plan-info{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}
.plan-info-item{background:var(--warm);border-radius:3px;padding:.6rem .8rem;}
.plan-info-item .pk{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.18rem;}
.plan-info-item .pv{font-size:.88rem;color:var(--text);font-weight:500;}
.plan-add-btn{display:none;margin-top:1rem;}
body.adm .plan-add-btn{display:block;}
.plan-del{display:none;float:right;background:rgba(192,57,43,.1);color:#c0392b;border:none;border-radius:3px;padding:.25rem .6rem;cursor:pointer;font-size:.72rem;margin-left:.5rem;}
body.adm .plan-del{display:inline-block;}

/* ─── REFERENZEN ─── */
#referenzen{background:var(--forest);color:#fff;}
#referenzen .sec-label{color:var(--amber2);}
#referenzen .sec-title{color:#fff;}
#referenzen .divider{background:var(--amber2);}
.ref-intro{color:rgba(255,255,255,.65);max-width:540px;margin-bottom:2.8rem;font-size:.92rem;}
.ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.6rem;margin-bottom:2rem;}
.ref-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.4rem;transition:border-color .2s;}
.ref-card:hover{border-color:rgba(200,133,58,.4);}
.ref-stars{color:var(--amber2);font-size:1rem;margin-bottom:.8rem;letter-spacing:.12em;}
.ref-text{color:rgba(255,255,255,.72);font-size:.87rem;font-style:italic;margin-bottom:1rem;line-height:1.6;}
.ref-author{display:flex;align-items:center;gap:.8rem;}
.ref-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.ref-name{font-size:.85rem;font-weight:600;color:#fff;}
.ref-dog{font-size:.75rem;color:rgba(255,255,255,.45);}
.ref-del{display:none;float:right;background:rgba(192,57,43,.2);color:#ff8a80;border:none;border-radius:3px;padding:.22rem .55rem;cursor:pointer;font-size:.7rem;margin-left:.5rem;}
body.adm .ref-del{display:inline-block;}
.btn-ref{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.6rem;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);cursor:pointer;font-family:'Jost',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;transition:all .2s;}
.btn-ref:hover{background:rgba(255,255,255,.18);}

/* ─── FAQ ─── */
#faq{background:var(--warm);}
.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:5rem;align-items:start;}
.faq-side p{color:var(--muted);font-size:.92rem;margin-bottom:1.5rem;}
.faq-list{display:flex;flex-direction:column;gap:.7rem;}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s;}
.faq-item.open{border-color:var(--forest);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;cursor:pointer;gap:1rem;}
.faq-q span{font-family:'Playfair Display',serif;font-size:1rem;color:var(--forest);}
.faq-chevron{font-size:.8rem;color:var(--muted);transition:transform .25s;flex-shrink:0;}
.faq-item.open .faq-chevron{transform:rotate(180deg);}
.faq-a{display:none;padding:0 1.4rem 1.1rem;font-size:.87rem;color:var(--muted);border-top:1px solid var(--border);}
.faq-item.open .faq-a{display:block;padding-top:.9rem;}
.faq-add-btn{display:none;margin-top:1rem;}
body.adm .faq-add-btn{display:block;}
.faq-del{display:none;float:right;background:rgba(192,57,43,.1);color:#c0392b;border:none;border-radius:3px;padding:.22rem .55rem;cursor:pointer;font-size:.7rem;margin-left:.5rem;}
body.adm .faq-del{display:inline-block;}

/* ─── WARTELISTE ─── */
#warteliste{background:var(--cream);}
.wl-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.wl-info h3{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--forest);margin-bottom:1rem;}
.wl-info p{color:var(--muted);font-size:.92rem;margin-bottom:1rem;}
.wl-steps{display:flex;flex-direction:column;gap:.9rem;margin-top:1.5rem;}
.wl-step{display:flex;gap:1rem;align-items:flex-start;}
.wl-step-num{width:28px;height:28px;background:var(--forest);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0;margin-top:.15rem;}
.wl-step-text strong{display:block;font-size:.9rem;color:var(--text);margin-bottom:.18rem;}
.wl-step-text p{font-size:.82rem;color:var(--muted);margin:0;}
.wl-form{background:#fff;border-radius:var(--radius);padding:2rem;border:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,.05);}
.wl-form h3{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--forest);margin-bottom:1.4rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.fg{display:flex;flex-direction:column;gap:.32rem;margin-bottom:.9rem;}
.fg label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.fg input,.fg textarea,.fg select{padding:.7rem .92rem;border:1px solid var(--border);border-radius:3px;font-family:'Jost',sans-serif;font-size:.88rem;color:var(--text);background:var(--warm);transition:border-color .2s;resize:vertical;}
.fg input:focus,.fg textarea:focus,.fg select:focus{outline:none;border-color:var(--forest2);}
.fg textarea{min-height:90px;}
.wl-interesse { display:flex; flex-direction:column; gap:.4rem; }
.wl-int-option { display:flex; align-items:center; gap:.5rem; font-size:.82rem; color:var(--text);
  padding:.35rem .5rem; border:1px solid var(--border); border-radius:4px; cursor:pointer; transition:all .2s; }
.wl-int-option:hover { border-color:var(--forest); background:rgba(28,48,20,.04); }
.wl-int-option input[type="checkbox"] { width:16px; height:16px; accent-color:var(--forest); }
.wl-int-option input:checked + * { color:var(--forest); }
.wl-int-hint { font-size:.75rem; color:var(--muted); margin-top:.4rem; line-height:1.4; }
.wl-dsgvo{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:1rem;}
.wl-dsgvo input[type="checkbox"]{width:16px;height:16px;margin-top:.25rem;accent-color:var(--forest);}
.wl-dsgvo label{font-size:.8rem;color:var(--muted);}
.wl-dsgvo label a{color:var(--forest);text-decoration:underline;cursor:pointer;}
.wl-success{display:none;text-align:center;padding:2rem;background:rgba(45,74,53,.06);border-radius:3px;border:1px solid rgba(45,74,53,.2);}
.wl-success .big{font-size:2rem;margin-bottom:.8rem;}
.wl-success p{color:var(--muted);font-size:.9rem;}
/* Admin: warteliste entries */
.wl-entries{display:none;}
body.adm .wl-entries{display:block;margin-top:2rem;}
.wl-entries h4{font-family:'Playfair Display',serif;color:var(--forest);margin-bottom:1rem;}
.wl-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.wl-table th{text-align:left;padding:.6rem .8rem;background:var(--forest);color:#fff;font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;}
.wl-table td{padding:.6rem .8rem;border-bottom:1px solid var(--border);color:var(--muted);}
.wl-table tr:hover td{background:rgba(45,74,53,.04);}
.wl-table .del-entry{background:none;border:none;color:#c0392b;cursor:pointer;font-size:.82rem;}

/* ─── KONTAKT ─── */
#kontakt{background:var(--text);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
#kontakt .sec-label{color:var(--amber2);}
#kontakt .sec-title{color:#fff;}
#kontakt .divider{background:var(--amber2);}
#kontakt p{color:rgba(255,255,255,.6);font-size:.9rem;}
.k-items{display:flex;flex-direction:column;gap:1rem;margin-top:1.6rem;}
.k-item{display:flex;align-items:center;gap:.85rem;}
.k-icon{width:40px;height:40px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.k-item span{font-size:.87rem;color:rgba(255,255,255,.75);}
.k-form{display:flex;flex-direction:column;gap:.85rem;}
.k-form input,.k-form textarea{padding:.8rem 1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;font-family:'Jost',sans-serif;font-size:.87rem;border-radius:3px;transition:border-color .2s;resize:vertical;}
.k-form input::placeholder,.k-form textarea::placeholder{color:rgba(255,255,255,.3);}
.k-form input:focus,.k-form textarea:focus{outline:none;border-color:rgba(200,133,58,.5);}
.k-form textarea{min-height:100px;}

footer{background:#0f0d0b;color:rgba(255,255,255,.35);text-align:center;padding:1.3rem 2rem;font-size:.75rem;letter-spacing:.04em;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;}
footer em{color:var(--amber);font-style:normal;}
footer a{color:rgba(255,255,255,.45);text-decoration:underline;cursor:pointer;}
footer a:hover{color:var(--amber2);}

/* ─── MODALS ─── */
.overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:1rem;}
.overlay.open{display:flex;}
.modal{background:#fff;width:90%;max-width:580px;border-radius:6px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.2);animation:mIn .22s ease;max-height:92svh;display:flex;flex-direction:column;}
@keyframes mIn{from{opacity:0;transform:scale(.95) translateY(8px);}to{opacity:1;transform:none;}}
.modal-hdr{background:var(--forest);color:#fff;padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.modal-hdr h3{font-family:'Playfair Display',serif;font-size:1.1rem;}
.modal-x{background:none;border:none;color:rgba(255,255,255,.6);font-size:1.35rem;cursor:pointer;line-height:1;transition:color .2s;}
.modal-x:hover{color:#fff;}
.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;}
.upload-area{border:2px dashed var(--border);border-radius:3px;padding:1.3rem;text-align:center;cursor:pointer;transition:all .2s;position:relative;background:var(--warm);}
.upload-area:hover{border-color:var(--forest2);background:var(--cream);}
.upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer;padding:0;border:none;}
.upload-area p{font-size:.83rem;color:var(--muted);}
.img-preview{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem;}
.img-preview img{width:62px;height:62px;object-fit:cover;border-radius:3px;}
.modal-ftr{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;flex-shrink:0;}
.btn-c{padding:.7rem 1.4rem;background:none;border:1px solid var(--border);cursor:pointer;font-family:'Jost',sans-serif;font-size:.78rem;color:var(--muted);border-radius:2px;transition:border-color .2s;}
.btn-c:hover{border-color:var(--muted);}
.star-select{display:flex;gap:.3rem;font-size:1.6rem;cursor:pointer;margin:.3rem 0;}
.star-select span{opacity:.3;transition:opacity .15s;user-select:none;}
.star-select span.on{opacity:1;}

/* ─── LIGHTBOX ─── */
.lightbox{display:none;position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.92);align-items:center;justify-content:center;padding:1rem;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:90svh;border-radius:3px;object-fit:contain;}
.lightbox video{max-width:90vw;max-height:90svh;border-radius:3px;outline:none;}
.lb-x{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:1.9rem;cursor:pointer;padding:.5rem;}

/* ─── TOAST ─── */
.toast{position:fixed;top:5rem;right:1.5rem;z-index:600;background:var(--forest);color:#fff;padding:.62rem 1.25rem;border-radius:4px;font-size:.82rem;font-weight:500;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:opacity .3s;pointer-events:none;opacity:0;}

/* Benachrichtigungs-Banner */
.notify-banner{position:fixed;top:0;left:0;right:0;z-index:10001;background:linear-gradient(135deg,var(--forest),#2e4a3a);color:#fff;padding:.8rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 4px 20px rgba(0,0,0,.25);animation:slideDown .3s ease;}
.notify-banner-text{font-size:.88rem;flex:1;}
.notify-banner-btns{display:flex;gap:.5rem;flex-shrink:0;}
.notify-btn-send{background:var(--amber);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;}
.notify-btn-send:hover{background:#d4a520;transform:translateY(-1px);}
.notify-btn-dismiss{background:transparent;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:.5rem .8rem;font-size:.82rem;cursor:pointer;transition:all .2s;}
.notify-btn-dismiss:hover{color:#fff;border-color:rgba(255,255,255,.6);}
@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.toast.show{opacity:1;}

/* ─── RESPONSIVE ─── */
@media(max-width:1100px){
  .gallery-grid{columns:3;}
}
@media(max-width:900px){
  nav{padding:.9rem 1.4rem;}
  .nav-links{display:none;}
  .burger{display:flex;}
  .hero{grid-template-columns:1fr;}
  .hero-l{padding:7rem 1.7rem 3.5rem;order:2;}
  .hero-l::after{display:none;}
  .hero-r{min-height:60vw;order:1;}
  section{padding:4rem 1.4rem;}
  #awards{padding:2rem 1.4rem;}
  #zuechter{grid-template-columns:1fr;gap:3.2rem;}
  .z-badge{bottom:-1rem;right:.6rem;}
  .phil-grid{grid-template-columns:1fr;}
  .eltern-grid{grid-template-columns:1fr;}
  .faq-layout{grid-template-columns:1fr;gap:2rem;}
  .wl-layout{grid-template-columns:1fr;gap:2.5rem;}
  #kontakt{grid-template-columns:1fr;padding:4rem 1.4rem;gap:2.5rem;}
  .wurf-hdr{flex-direction:column;}
  .btn-add{width:100%;justify-content:center;}
  .awards-inner{gap:1.6rem;}
  .award-sep{display:none;}
  .gallery-grid{columns:2;}
  .form-row{grid-template-columns:1fr;}
  .adm-bar{flex-direction:column;align-items:flex-start;}
  .adm-btns{width:100%;}
  .adm-btn{flex:1;text-align:center;}
  .plan-grid{grid-template-columns:1fr;}
  .ref-grid{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .hero-h1{font-size:1.9rem;}
  .pups-grid{grid-template-columns:repeat(3,1fr);}
  .gallery-grid{columns:2;}
  .modal{width:100%;max-width:100%;border-radius:14px 14px 0 0;position:fixed;bottom:0;left:0;right:0;}
  .overlay{align-items:flex-end;padding:0;}
  .hero-ticker{font-size:.64rem;height:2rem;}
  .adm-fab{left:50%;right:auto;bottom:.7rem;}
  .wl-form{padding:1.3rem;}
}

/* ════════════════════════════════════════════
   NEUE FEATURES – CSS
   ════════════════════════════════════════════ */

/* ─── LIGHTBOX NAVIGATION ─── */
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10;}
.lb-nav:hover{background:rgba(255,255,255,.3);}
#lbPrev{left:1.2rem;}
#lbNext{right:1.2rem;}
#lbCounter{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.82rem;background:rgba(0,0,0,.4);padding:.3rem .9rem;border-radius:20px;}

/* ─── WHATSAPP BUTTON ─── */
.wa-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:400;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 3px 16px rgba(37,211,102,.4);transition:transform .2s,box-shadow .2s;}
.wa-btn:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(37,211,102,.5);}
body.adm .wa-btn{bottom:1.5rem;}

/* ─── DARK MODE TOGGLE ─── */


/* ─── SPRACHE TOGGLE ─── */


/* ─── ABO FAB ─── */
.abo-fab{position:fixed;bottom:5.5rem;right:1.5rem;z-index:400;width:52px;height:52px;border-radius:50%;background:var(--amber);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 10px rgba(196,154,32,.3);}
.abo-fab:hover{transform:scale(1.1);}

/* ─── GALERIE TABS ─── */
.gallery-tabs{display:flex;gap:.5rem;margin-bottom:1.4rem;flex-wrap:wrap;}
.gtab{padding:.5rem 1.2rem;border:1px solid var(--border);border-radius:20px;background:none;cursor:pointer;font-size:.8rem;font-weight:500;color:var(--muted);font-family:'Jost',sans-serif;transition:all .2s;}
.gtab.active,.gtab:hover{background:var(--forest);color:#fff;border-color:var(--forest);}
.gallery-cat-select{display:none;margin-bottom:.6rem;padding:.45rem .8rem;border:1px solid var(--border);border-radius:3px;font-family:'Jost',sans-serif;font-size:.82rem;color:var(--muted);background:var(--warm);}
body.adm .gallery-cat-select{display:block;}

/* ─── COUNTDOWN ─── */
.wurf-hdr-right{display:flex;flex-direction:column;align-items:flex-end;gap:.8rem;}
.countdown-box{background:var(--forest);color:#fff;border-radius:6px;padding:1rem 1.4rem;text-align:center;}
.cd-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.5rem;}
.cd-units{display:flex;align-items:center;gap:.4rem;}
.cd-unit{display:flex;flex-direction:column;align-items:center;}
.cd-unit span{font-size:2rem;font-weight:600;line-height:1;color:#fff;min-width:2.2rem;text-align:center;}
.cd-unit small{font-size:.65rem;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem;}
.cd-sep{font-size:1.6rem;color:var(--amber2);margin-bottom:1rem;}
.cd-date-edit{margin-top:.7rem;display:flex;align-items:center;gap:.5rem;}
.cd-date-lbl{font-size:.68rem;color:rgba(255,255,255,.5);}
.cd-date-inp{display:none;font-size:.75rem;padding:.25rem .5rem;border:1px solid rgba(255,255,255,.2);border-radius:3px;background:rgba(255,255,255,.1);color:#fff;font-family:'Jost',sans-serif;}
body.adm .cd-date-inp{display:block;}

/* ─── WELPEN DETAIL MODAL ─── */
.modal-lg{max-width:640px;}
.pd-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.pd-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;}
.pd-gender{display:inline-block;padding:.25rem .8rem;border-radius:20px;font-size:.78rem;font-weight:500;}
.pup-weight{font-size:.75rem;color:var(--muted);margin-top:.2rem;}
@media(max-width:600px){.pd-layout{grid-template-columns:1fr;}}

/* ─── FAQ SUCHE ─── */
.faq-search-wrap{position:relative;margin-bottom:1rem;}
.faq-search-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.faq-search{width:100%;padding:.7rem .7rem .7rem 2.4rem;border:1px solid var(--border);border-radius:3px;font-family:'Jost',sans-serif;font-size:.9rem;background:var(--warm);color:var(--text);}
.faq-search:focus{outline:none;border-color:var(--forest);}
.faq-search-clear{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;color:var(--muted);}
.faq-no-results{text-align:center;padding:2rem;color:var(--muted);}

/* ─── DOKUMENTE ─── */
.docs-grid{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem;}
.doc-card{display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;background:var(--cream);border-radius:4px;border:1px solid var(--border);}
.doc-icon{font-size:1.5rem;width:2rem;text-align:center;flex-shrink:0;}
.doc-info{flex:1;}
.doc-name{font-weight:500;font-size:.9rem;color:var(--text);}
.doc-cat{font-size:.75rem;color:var(--muted);margin-top:.15rem;}
.doc-dl{width:32px;height:32px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0;transition:background .15s;}
.doc-dl:hover{background:var(--forest2);}
.doc-dl-na{display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--muted);width:32px;height:32px;}
.doc-del{display:none;background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:.2rem .4rem;}
body.adm .doc-del{display:block;}
.docs-add-area{display:none;background:var(--cream);border:1px dashed var(--border);border-radius:4px;padding:1.2rem;margin-top:.5rem;}
body.adm .docs-add-area{display:block;}
.docs-upload-area{position:relative;border:1px dashed var(--border);padding:1rem;text-align:center;border-radius:3px;cursor:pointer;margin-top:.5rem;}
.docs-upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.docs-upload-area p{font-size:.82rem;color:var(--muted);}

/* ─── COOKIE KATEGORIEN ─── */
.cookie-cat{padding:1rem 0;border-bottom:1px solid var(--border);}
.cookie-cat:last-child{border-bottom:none;}
.cookie-cat-hdr{display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.cookie-cat-hdr>div:first-child strong{font-size:.9rem;color:var(--text);}
.cookie-cat-hdr>div:first-child p{font-size:.8rem;color:var(--muted);margin-top:.2rem;}
.cookie-toggle{width:44px;height:24px;border-radius:12px;background:var(--border);cursor:pointer;position:relative;flex-shrink:0;transition:background .2s;}
.cookie-toggle span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;}
.cookie-toggle-on{background:var(--forest);}
.cookie-toggle-on span{transform:translateX(20px);}

/* ─── ABO MODAL ─── */
.abo-checkboxes{display:flex;flex-direction:column;gap:.6rem;margin:.8rem 0;}
.abo-check{display:flex;align-items:center;gap:.6rem;font-size:.88rem;cursor:pointer;}
.abo-check input{width:15px;height:15px;accent-color:var(--forest);}

/* ─── RESPONSIVE FIXES ─── */
@media(max-width:768px){
    .abo-fab{bottom:5.5rem;}
  .countdown-box{padding:.7rem 1rem;}
  .cd-unit span{font-size:1.5rem;}
  .wurf-hdr-right{align-items:flex-start;}
  .wurf-hdr{flex-direction:column;gap:1.2rem;}
}

/* ─── ADMIN UX VERBESSERUNGEN ─── */

/* Bulk-Bar Galerie */
.gallery-bulk-bar{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  background:var(--forest);
  color:#fff;
  padding:.7rem 1rem;
  border-radius:4px;
  margin-bottom:.8rem;
  flex-wrap:wrap;
}
.bulk-count{font-size:.82rem;font-weight:600;white-space:nowrap;}
.bulk-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;}
.bulk-actions select{
  font-size:.78rem;padding:.35rem .6rem;
  border:1px solid rgba(255,255,255,.3);
  border-radius:3px;background:rgba(255,255,255,.1);
  color:#fff;font-family:'Jost',sans-serif;cursor:pointer;
}

/* Galerie Mehrfachauswahl */
body.adm .g-item{
  transition:outline .1s;
  outline:2px solid transparent;
}
body.adm .g-item:hover{outline:2px solid var(--amber2);}
.g-item.g-selected{outline:3px solid var(--amber)!important;}
.g-item.g-selected::after{
  content:'✓';
  position:absolute;top:.35rem;left:.35rem;
  width:20px;height:20px;border-radius:50%;
  background:var(--amber);color:#fff;
  font-size:.7rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  z-index:11;
}

/* Admin Checkbox-select on ctrl+click hint */
body.adm .gallery-grid::after{
  content:'Strg+Klick zum Mehrfachauswählen';
  display:block;
  font-size:.72rem;color:var(--muted);
  text-align:center;padding:.3rem 0 0;
  column-span:all;
}

/* Changelog */
.cl-item{
  display:flex;gap:.8rem;align-items:baseline;
  padding:.45rem 0;
  border-bottom:1px solid var(--border);
  font-size:.85rem;
}
.cl-item:last-child{border-bottom:none;}
.cl-time{font-size:.72rem;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";}

/* Status-Badge im Admin klickbar */
body.adm .pup-status{
  cursor:pointer;
  transition:transform .1s,filter .1s;
}
body.adm .pup-status:hover{
  filter:brightness(1.15);
  transform:scale(1.05);
}
body.adm .pup-status::after{content:' ↻';font-size:.65em;opacity:.6;}

/* Unsaved Indicator Animation */
#unsavedIndicator{animation:pulse-warn 2s ease-in-out infinite;}
@keyframes pulse-warn{0%,100%{opacity:1;}50%{opacity:.6;}}

/* Undo Button */
#undoBtn:disabled{opacity:.35;cursor:not-allowed;}
#undoBtn:not(:disabled):hover{background:rgba(255,255,255,.25)!important;}

/* Legal Modal Styles */
.legal-body h4{
  font-family:'Playfair Display',serif;
  color:var(--forest);
  margin:1.2rem 0 .4rem;
  font-size:.95rem;
}
.legal-body p{margin-bottom:.6rem;}

/* ─── BUTTON SPINNER ─── */
.btn-spin{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btn-spin .6s linear infinite;vertical-align:middle;margin-right:.4rem;}
@keyframes btn-spin{to{transform:rotate(360deg)}}
.btn-p .btn-spin{border-color:rgba(28,48,40,.25);border-top-color:var(--forest);}

/* ─── FIELD ERROR ─── */
.field-error{color:var(--color-text-danger,#c0392b);font-size:.78rem;display:block;margin-top:.2rem;min-height:.9rem;}
input.field-invalid, textarea.field-invalid, select.field-invalid{border-color:var(--color-border-danger,#c0392b)!important;}

/* ─── COOKIE BANNER (DSGVO) ─── */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--forest);color:#fff;
  padding:1rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;
  box-shadow:0 -2px 16px rgba(0,0,0,.2);
}
.cookie-banner-text strong{display:block;font-size:.9rem;margin-bottom:.25rem;}
.cookie-banner-text p{font-size:.78rem;color:rgba(255,255,255,.7);margin:0;}
.cookie-banner-btns{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0;}
.cookie-btn-outline{
  padding:.45rem 1rem;border-radius:3px;
  border:1px solid rgba(255,255,255,.35);
  background:none;color:rgba(255,255,255,.8);
  cursor:pointer;font-size:.78rem;font-family:'Jost',sans-serif;
  transition:all .15s;white-space:nowrap;
}
.cookie-btn-outline:hover{background:rgba(255,255,255,.1);}
.cookie-btn-settings{
  padding:.45rem 1rem;border-radius:3px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.1);color:#fff;
  cursor:pointer;font-size:.78rem;font-family:'Jost',sans-serif;
  transition:all .15s;white-space:nowrap;
}
.cookie-btn-settings:hover{background:rgba(255,255,255,.2);}
.cookie-btn-accept{
  padding:.45rem 1rem;border-radius:3px;
  border:none;background:var(--amber);color:var(--forest);
  cursor:pointer;font-size:.78rem;font-weight:600;font-family:'Jost',sans-serif;
  transition:all .15s;white-space:nowrap;
}
.cookie-btn-accept:hover{background:var(--amber2);}
@media(max-width:600px){
  .cookie-banner{flex-direction:column;align-items:flex-start;}
  .cookie-banner-btns{width:100%;}
  .cookie-btn-outline,.cookie-btn-settings,.cookie-btn-accept{flex:1;text-align:center;}
}


/* Floating Buttons hinter Cookie-Banner zurückdrängen */

/* ── Nav-Actions (DE/EN + Dark Mode in der Nav) ── */
.nav-actions{display:flex;align-items:center;gap:.5rem;margin-right:.8rem;}
/* Mobile: nav-actions ausblenden, im mob-nav stattdessen */
@media(max-width:900px){
  .nav-actions{display:none;}
}
.mob-nav-actions{display:flex;gap:.8rem;align-items:center;margin-top:.5rem;}
.darkmode-btn-mob{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.2rem;}

/* ── DeepL Widget in Nav ── */
.nav-deepl { display:flex; align-items:center; margin-right:.6rem; }
.nav-actions { display:flex; align-items:center; gap:.5rem; margin-right:.8rem; }
@media(max-width:900px){ .nav-deepl{ margin-right:.3rem; } }
/* ─── Link-Buttons (ersetzen <a onclick>) ─── */
button.link-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  text-decoration: underline;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
footer button.link-btn {
  color: rgba(255,255,255,.7);
  text-decoration: none;
}
footer button.link-btn:hover { color: var(--amber2); }
/* Admin-Leiste überlappt Footer – Abstand hinzufügen */
body.adm footer { padding-bottom: 5rem; }

/* ── Wurf-Phasen System ── */
.wubox { display:flex; flex-direction:column; gap:.8rem; }

.wu-phase-badge {
  display:inline-block; padding:.35rem .9rem; border-radius:20px;
  font-size:.78rem; font-weight:600; letter-spacing:.04em;
}
.wu-none     { background:var(--cream); color:var(--muted); }
.wu-pregnant { background:#fff3cd; color:#856404; }
.wu-born     { background:#d4edda; color:#155724; }
.wu-ready    { background:#cce5ff; color:#004085; }

/* Admin-Felder */
.wu-admin-fields { display:none; flex-direction:column; gap:.5rem; }
body.adm .wu-admin-fields { display:flex; }

.wu-field-group {
  display:flex; align-items:center; gap:.5rem;
  font-size:.78rem; color:rgba(255,255,255,.8);
}
.wu-field-group label { min-width:140px; }
.wu-field-group input,
.wu-field-group select {
  font-size:.75rem; padding:.25rem .5rem;
  border:1px solid rgba(255,255,255,.25); border-radius:3px;
  background:rgba(255,255,255,.1); color:#fff;
  font-family:'Jost',sans-serif;
}
.wu-field-group input[type=number] { width:60px; }
.wu-field-group select option { color:var(--text); background:#fff; }

.wu-field-info {
  font-size:.75rem; color:var(--amber2);
  padding:.2rem 0; min-height:1.2rem;
}

.cd-sub {
  font-size:.72rem; color:rgba(255,255,255,.6);
  margin-top:.3rem; min-height:1rem;
}

/* ══ MULTI-WURF SYSTEM ══════════════════════════════════════════ */

/* Filter-Tabs */
.wurf-filter { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.5rem; }
.wtab { border:1px solid var(--border); background:none; padding:.4rem 1rem;
  border-radius:20px; cursor:pointer; font-size:.8rem; font-family:'Jost',sans-serif;
  color:var(--muted); transition:all .15s; }
.wtab.active,.wtab:hover { background:var(--forest); color:#fff; border-color:var(--forest); }

/* Wurf-Add-Bar (nur Admin) */
.wurf-add-bar { display:none; margin-bottom:1rem; }
body.adm .wurf-add-bar { display:block; }
.btn-add-sm { font-size:.78rem; padding:.35rem .8rem; }

/* Wurf-Grid */
.wurf-grid { display:flex; flex-direction:column; gap:2rem; }

/* Wurf-Karte */
.wurf-card { background:#fff; border:1px solid var(--border); border-radius:8px;
  overflow:hidden; }

/* Karten-Header */
.wk-header { display:flex; gap:1.2rem; padding:1.4rem; align-items:flex-start;
  background:var(--warm); border-bottom:1px solid var(--border); }
.wk-foto-wrap { position:relative; flex-shrink:0; width:90px; height:90px; }
.wk-foto-wrap img { width:90px; height:90px; object-fit:cover; border-radius:6px; }
.wk-foto-wrap .img-ph { width:90px; height:90px; border-radius:6px; }
.wk-info { flex:1; }
.wk-name-row { display:flex; align-items:center; gap:.5rem; margin-bottom:.3rem; }
.wk-name { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--forest);
  font-weight:600; }
.wk-gender { color:var(--amber); font-size:.9rem; }
.wk-meta { font-size:.85rem; color:var(--muted); margin-bottom:.5rem; }
.wk-actions { margin-left:auto; }
.wk-del { background:none; border:1px solid var(--border); border-radius:3px;
  cursor:pointer; color:var(--muted); padding:.2rem .5rem; font-size:.8rem; }
.wk-del:hover { background:var(--red,#c0392b); color:#fff; border-color:transparent; }

/* Vater */
.wk-vater { padding:.6rem 1.4rem; font-size:.82rem; color:var(--muted);
  border-bottom:1px solid var(--border); background:var(--light,#fafaf8); }
.wk-vater-lbl { font-weight:600; margin-right:.4rem; }

/* Admin-Settings */
.wk-admin-settings { display:none; }
body.adm .wk-admin-settings { display:flex; flex-direction:column; gap:.5rem;
  padding:1rem 1.4rem; background:rgba(108,63,197,.04);
  border-bottom:1px solid var(--border); }

/* Countdown in Karte */
.wk-countdown { margin:1rem 1.4rem; }

/* Welpen + Updates in Karte */
.wk-pups-section { padding:1rem 1.4rem 0; }
.wk-updates { padding:.5rem 1.4rem 1.4rem; }

/* Elterntier-Grid */
.eltern-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.5rem; margin-top:1.5rem; }
.e-card { background:#fff; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.e-card-img { position:relative; height:200px; background:var(--cream); }
.e-card-img img { width:100%; height:100%; object-fit:cover; }
.e-card-body { padding:1.2rem; }
.e-card-body h3 { font-family:'Playfair Display',serif; color:var(--forest);
  font-size:1.1rem; margin-bottom:.3rem; }
.e-breed { font-size:.8rem; color:var(--amber); font-weight:600;
  letter-spacing:.04em; margin-bottom:.6rem; }
.e-health { font-size:.78rem; color:var(--muted); margin-top:.6rem;
  padding-top:.6rem; border-top:1px solid var(--border); }
.btn-del-sm { margin-top:.8rem; background:none; border:1px solid var(--border);
  border-radius:3px; padding:.25rem .6rem; font-size:.75rem; cursor:pointer;
  color:var(--muted); }
.btn-del-sm:hover { background:#fdecea; color:#c0392b; border-color:#c0392b; }

/* Lösch-Button rechts oben (Karten) */
.card-del-btn { display:none; position:absolute; top:.6rem; right:.6rem; z-index:10;
  width:32px; height:32px; border-radius:50%; border:2px solid #fff; cursor:pointer;
  background:#c0392b; color:#fff; font-size:.9rem; font-weight:700;
  line-height:1; box-shadow:0 2px 10px rgba(192,57,43,.45);
  transition:all .2s; }
.card-del-btn:hover { background:#a93226; transform:scale(1.15); box-shadow:0 3px 14px rgba(192,57,43,.6); }
body.adm .card-del-btn { display:flex; align-items:center; justify-content:center; }
.status-clickable { cursor:pointer; }

@media(max-width:600px){
  .wk-header { flex-wrap:wrap; }
  .eltern-grid { grid-template-columns:1fr; }
}
.ps-plan{background:#e8e6e0;color:#686660;}
.plan-status-row{margin-top:.8rem;}

/* ══ NEUES ZUCHT-SYSTEM ════════════════════════════════════════ */

/* Elterntier-Add-Bar */
.et-add-bar { display:none; flex-wrap:wrap; gap:.5rem; margin-bottom:1.2rem; }
body.adm .et-add-bar { display:flex; }

/* Elterntier-Karte */
.et-gender-badge { position:absolute; bottom:.5rem; left:.5rem; font-size:.7rem;
  font-weight:600; padding:.2rem .5rem; border-radius:10px; }
.etg-f { background:#fce4ec; color:#c2185b; }
.etg-m { background:#e3f2fd; color:#1565c0; }
.et-extern-badge { position:absolute; top:.5rem; left:.5rem; font-size:.65rem;
  background:rgba(0,0,0,.7); color:#fff; padding:.2rem .6rem; border-radius:3px;
  letter-spacing:.03em; z-index:2; }
.et-extern-tag { font-size:.65rem; background:var(--amber); color:#fff; padding:.15rem .45rem;
  border-radius:3px; vertical-align:middle; font-weight:600; letter-spacing:.03em; text-transform:uppercase; }
.et-website-link { display:inline-block; font-size:.78rem; color:var(--forest); text-decoration:none;
  margin-top:.4rem; padding:.3rem .6rem; border:1px solid var(--border); border-radius:3px; transition:all .2s; }
.et-website-link:hover { background:var(--forest); color:#fff; border-color:var(--forest); }
.e-year { font-size:.78rem; color:var(--muted); margin-bottom:.4rem; }
.e-admin-btns { display:flex; gap:.4rem; margin-top:.7rem; flex-wrap:wrap; }
.btn-edit-sm { background:none; border:1px solid var(--border); border-radius:3px;
  padding:.2rem .5rem; font-size:.72rem; cursor:pointer; color:var(--forest);
  white-space:nowrap; }
.btn-edit-sm:hover { background:var(--forest); color:#fff; border-color:var(--forest); }

/* Wurf-Status CSS */
.ws-planung     { background:#e8e6e0; color:#686660; }
.ws-belegt      { background:#fff3cd; color:#856404; }
.ws-tragend     { background:#fce4ec; color:#c2185b; }
.ws-geboren     { background:#d4edda; color:#155724; }
.ws-abgabe      { background:#cce5ff; color:#004085; }
.ws-done        { background:#f8f9fa; color:#6c757d; }

/* Wurfplanung Grid */
.plan-card-full { background:#fff; border:1px solid var(--border); border-radius:8px;
  padding:1.2rem 1.4rem; margin-bottom:1rem; position:relative; }
.plan-card-full .plan-card-top { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap;
  margin-bottom:.8rem; background:transparent; padding:0; }
body.adm .plan-card-full { padding-right:3.5rem; }
body.adm .plan-card-full .plan-card-top { padding-right:0; }
.plan-card-full .plan-card-top h3 { font-family:'Playfair Display',serif; color:var(--forest);
  font-size:1.05rem; margin:0; flex:1; }
.plan-admin-btns { display:flex; gap:.4rem; flex-wrap:wrap; }
.plan-admin-btns .btn-edit-sm { background:var(--forest); color:#fff; border-color:var(--forest); }
.btn-advance-status { background:none; border:1px dashed var(--amber); color:var(--amber); border-radius:3px;
  font-size:.72rem; padding:.2rem .5rem; cursor:pointer; transition:all .2s; font-weight:500; }
.btn-advance-status:hover { background:var(--amber); color:#fff; border-style:solid; }
.plan-admin-btns .btn-edit-sm:hover { background:var(--amber); border-color:var(--amber); }
.plan-calendar { display:flex; gap:1rem; flex-wrap:wrap; margin:.6rem 0;
  padding:.6rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.pcal-item { text-align:center; }
.pcal-lbl { font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.pcal-val { font-size:.88rem; font-weight:600; color:var(--forest); }
.pcal-abgabe .pcal-val { color:var(--amber); }
.plan-parents-row { font-size:.85rem; color:var(--muted); margin:.5rem 0;
  display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.plan-notizen { font-size:.8rem; color:var(--muted); margin-top:.5rem;
  padding-top:.5rem; border-top:1px solid var(--border); white-space:pre-wrap; }
.wurf-pedigree-section { margin-top:.7rem; }
.ped-header { font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--amber2); margin-bottom:.4rem; }
.ped-list { display:flex; flex-direction:column; gap:.3rem; }
.ped-item { display:flex; align-items:center; gap:.4rem; font-size:.82rem;
  padding:.35rem .5rem; background:rgba(255,255,255,.04); border-radius:3px; border:1px solid var(--border); }
.ped-icon { flex-shrink:0; }
.ped-name { color:var(--forest); text-decoration:none; flex:1; }
.ped-name:hover { text-decoration:underline; }
.ped-del { background:none; border:none; color:var(--muted); cursor:pointer; font-size:.9rem;
  padding:.1rem .3rem; border-radius:3px; transition:all .2s; }
.ped-del:hover { background:#c0392b; color:#fff; }
.wurf-pedigree-add { margin-top:.4rem; display:flex; gap:.3rem; flex-wrap:wrap; }

/* Status-Filter */
.wurf-status-filter { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.2rem; }

/* Wurf-Add-Bar in Planung */
#planung .wurf-add-bar { display:none; margin-bottom:1rem; }
body.adm #planung .wurf-add-bar { display:block; }

/* Modal textarea */
.modal-body textarea { width:100%; padding:.5rem .7rem; border:1px solid #ccc;
  border-radius:3px; font-family:inherit; font-size:.88rem; resize:vertical; }
.modal-body select { width:100%; padding:.5rem .7rem; border:1px solid #ccc;
  border-radius:3px; font-family:inherit; font-size:.88rem; background:#fff; }
/* ── Elterntier-Dokumente ── */
.et-dok-section { margin-top:.8rem; padding-top:.8rem; border-top:1px solid var(--border); }
.et-dok-list { display:flex; flex-direction:column; gap:.2rem; margin-bottom:.6rem; }
.et-dok-group { margin-bottom:.6rem; }
.et-dok-group-title { font-size:.72rem; font-weight:600; color:var(--forest); text-transform:uppercase;
  letter-spacing:.08em; margin-bottom:.3rem; padding-bottom:.2rem; border-bottom:1px solid var(--border); }
.et-dok-item { display:flex; align-items:center; gap:.5rem; font-size:.8rem; padding:.15rem 0; }
.et-dok-link { color:var(--forest); text-decoration:none; font-size:.82rem; transition:color .2s; }
.et-dok-link:hover { color:var(--amber); text-decoration:underline; }
.et-dok-name-edit { flex:1; font-size:.78rem; padding:.2rem .4rem; border:1px dashed var(--border);
  border-radius:3px; background:transparent; color:var(--text); }
.et-dok-name-edit:focus { border-color:var(--forest); outline:none; }
.et-dok-icon { font-size:.9rem; flex-shrink:0; }
.et-dok-name { flex:1; color:var(--text); }
.et-dok-dl { color:var(--forest); text-decoration:none; font-weight:600;
  padding:.1rem .3rem; border:1px solid var(--border); border-radius:3px; font-size:.75rem; }
.et-dok-dl:hover { background:var(--forest); color:#fff; }
.et-dok-del { background:none; border:none; cursor:pointer; color:var(--muted);
  font-size:.8rem; padding:.1rem .3rem; }
.et-dok-del:hover { color:#c0392b; }
.et-dok-upload { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; margin-bottom:.5rem; }
.et-beschr { font-size:.88rem; color:var(--text); line-height:1.5; margin:.3rem 0 .6rem; }
.et-ausbildung { font-size:.78rem; color:var(--amber); font-weight:600; letter-spacing:.02em;
  margin:.15rem 0 .1rem; line-height:1.4; }
.et-masse { font-size:.78rem; color:var(--muted); margin:.1rem 0 .4rem; }
.et-drag-handle { position:absolute; top:.5rem; left:.5rem; z-index:3; cursor:grab;
  color:rgba(255,255,255,.7); font-size:1.2rem; line-height:1; user-select:none; }
.et-drag-handle:hover { color:#fff; }
.e-card.dragging { opacity:.4; }
.e-card.drag-over { outline:2px dashed var(--amber); outline-offset:3px; }
/* ── Züchter Erfolge ── */
.z-erfolge { margin:1.5rem 0 1rem; display:flex; flex-direction:column; gap:1.2rem; }
.z-erfolge-add { display:none; margin-bottom:1rem; }
body.adm .z-erfolge-add { display:block; }
.ef-gruppe { }
.ef-gruppe-hdr { font-size:.8rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.1em; color:var(--amber); margin-bottom:.6rem; }
.ef-items { display:flex; flex-direction:column; gap:.5rem; }
.ef-item { display:flex; align-items:flex-start; gap:.7rem;
  padding:.5rem 0; border-bottom:1px solid var(--border); }
.ef-item:last-child { border-bottom:none; }
.ef-jahr { font-size:.75rem; font-weight:600; color:var(--muted);
  min-width:38px; flex-shrink:0; padding-top:.15rem; }
.ef-content { flex:1; }
.ef-titel { font-size:.88rem; font-weight:600; color:var(--forest); }
.ef-beschr { font-size:.78rem; color:var(--muted); margin-top:.15rem; }
.ef-btns { display:flex; gap:.3rem; }

/* ── Züchter Medien ── */
.z-media-section { margin-top:2rem; }
.z-media-title { font-family:'Playfair Display',serif; font-size:1rem;
  color:var(--forest); margin-bottom:1rem; }
.z-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:.6rem; margin-bottom:.8rem; }
.z-media-item { position:relative; aspect-ratio:1; overflow:hidden; border-radius:6px;
  cursor:pointer; background:var(--cream); }
.z-media-item img { width:100%; height:100%; object-fit:cover; }
.z-media-item .vid-thumb { width:100%; height:100%; }
.z-media-item .vid-thumb video { width:100%; height:100%; object-fit:cover; }
.z-media-del { position:absolute; top:.3rem; right:.3rem; background:rgba(0,0,0,.6);
  color:#fff; border:none; border-radius:50%; width:20px; height:20px;
  cursor:pointer; font-size:.7rem; display:flex; align-items:center; justify-content:center; }
.z-media-add { display:none; }
body.adm .z-media-add { display:block; }

/* ── Elterntier Medien ── */
.et-media-section { margin-top:.8rem; }
/* Halsbandfarbe */
.pup-halsband { display:flex; align-items:center; gap:.3rem; font-size:.72rem;
  color:var(--muted); margin-top:.2rem; }
.halsband-dot { width:10px; height:10px; border-radius:50%;
  flex-shrink:0; border:1px solid rgba(0,0,0,.15); }
/* Speichern-Button Puls bei ungespeicherten Änderungen */
@keyframes pulse-save {
  0%,100% { opacity:1; }
  50%      { opacity:.6; }
}
#unsavedIndicator {
  font-size:.75rem; color:#fff; background:rgba(192,57,43,.9);
  padding:.2rem .7rem; border-radius:3px; font-weight:600;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS (Fix #14)
   ═══════════════════════════════════════════════════════════════ */

/* Tablet */
@media (max-width: 1024px) {
  section { padding: 4rem 2.5rem; }
  #awards { padding: 2rem 2rem; }
  .awards-inner { gap: 1.5rem; }
  .award-sep { display: none; }
  #zuechter { gap: 3rem; }
  .faq-layout { gap: 3rem; }
  .wl-layout { gap: 3rem; }
  nav { padding: .8rem 1.5rem; }
  .nav-links { gap: 1rem; }
  .nav-links a { font-size: .72rem; }
  .hero-l { padding: 6rem 2.5rem 3rem 3rem; }
  .gallery-grid { columns: 3; }
}

/* Mobile */
@media (max-width: 768px) {
  /* Nav */
  .nav-links { display: none; }
  .nav-deepl { display: none; }
  .burger { display: flex; }
  nav { padding: .7rem 1.2rem; }

  /* Hero */
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-l { padding: 6rem 1.5rem 2.5rem; text-align: center; }
  .hero-l::after { display: none; }
  .hero-sub { max-width: 100%; margin-left: auto; margin-right: auto; }
  .hero-r { min-height: 280px; }
  .hero-r > div { min-height: 280px; }
  .hero-ticker { font-size: .62rem; height: 1.8rem; }

  /* Awards */
  #awards { padding: 1.5rem 1.2rem; }
  .awards-inner { flex-direction: column; gap: 1rem; align-items: flex-start; }
  .award-sep { display: none; }

  /* Sections */
  section { padding: 3rem 1.2rem; }

  /* Züchter */
  #zuechter { grid-template-columns: 1fr; gap: 2rem; }
  .z-badge { bottom: -1rem; right: 0; }
  .phil-grid { grid-template-columns: 1fr; }

  /* Elterntiere */
  .eltern-grid { grid-template-columns: 1fr; }
  .et-add-bar { flex-direction: column; }

  /* Galerie */
  .gallery-grid { columns: 2; column-gap: .5rem; }
  .gallery-grid .g-item { margin-bottom: .5rem; }

  /* Wurf */
  .plan-grid { grid-template-columns: 1fr; }

  /* Referenzen */
  .ref-grid { grid-template-columns: 1fr; }

  /* FAQ */
  .faq-layout { grid-template-columns: 1fr; gap: 2rem; }

  /* Warteliste */
  .wl-layout { grid-template-columns: 1fr; gap: 2rem; }
  .form-row { grid-template-columns: 1fr; }
  .wl-form { padding: 1.2rem; }

  /* Kontakt */
  #kontakt { display: block; }
  #kontakt > div { margin-bottom: 2rem; }

  /* Footer */
  footer { flex-direction: column; gap: .3rem; text-align: center; padding: 1.5rem 1rem; }

  /* Admin */
  .adm-bar { flex-direction: column; gap: .5rem; padding: .6rem 1rem; }
  .adm-hint { display: none; }

  /* WhatsApp / Abo buttons */
  .wa-btn { bottom: 1.2rem; right: 1rem; }
  .abo-fab { bottom: 5.2rem; right: 1rem; }
}

/* Small phones */
@media (max-width: 480px) {
  .hero-h1 { font-size: 1.8rem; }
  .gallery-grid { columns: 2; }
  .z-media-grid { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
  .pups-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
  .plan-calendar { flex-direction: column; }
}


/* ═══════════════════════════════════════════════════════════════
   TOUCH TARGETS (Fix #18) – min 44px
   ═══════════════════════════════════════════════════════════════ */
.gallery-del-btn { width: 36px; height: 36px; font-size: .8rem; }
.faq-del, .ref-del, .plan-del { min-width: 36px; min-height: 36px; padding: .4rem .7rem; font-size: .78rem; }
.pup-del { width: 30px; height: 30px; font-size: .72rem; }
.drag-handle { width: 30px; height: 30px; }
.lb-x { min-width: 44px; min-height: 44px; font-size: 1.4rem; }
.lb-nav { min-width: 44px; min-height: 44px; font-size: 1.6rem; }
.modal-x { min-width: 40px; min-height: 40px; }
.faq-chevron { min-width: 36px; min-height: 36px; display: flex; align-items: center; justify-content: center; }
.burger { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }


/* ═══════════════════════════════════════════════════════════════
   SCROLL-TO-TOP BUTTON (Fix #19)
   ═══════════════════════════════════════════════════════════════ */
.scroll-top-btn {
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 800;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--forest);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
  transition: opacity .2s, transform .2s;
}
.scroll-top-btn.show { display: flex; }
.scroll-top-btn:hover { transform: translateY(-2px); background: var(--forest2); }

@media (max-width: 768px) {
  .scroll-top-btn { bottom: 5.5rem; left: 1rem; }
}


/* ═══════════════════════════════════════════════════════════════
   Z-INDEX COORDINATION (Fix #20)
   ═══════════════════════════════════════════════════════════════ */
/* Layering: Overlay > Cookie > WA/Abo > Admin > ScrollTop */
.overlay    { z-index: 10000; }
.lightbox   { z-index: 10001; }
#cookieBanner { z-index: 9000; }
.wa-btn     { z-index: 800; }
.abo-fab    { z-index: 799; }
.adm-fab    { z-index: 499; }
.adm-bar    { z-index: 500; }


/* ═══════════════════════════════════════════════════════════════
   FAQ ACCESSIBILITY (Fix #28)
   ═══════════════════════════════════════════════════════════════ */
.faq-search-wrap { position: relative; }
.faq-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);border:0; }

/* ── Mediathek ── */
.med-filters { display:flex; gap:.4rem; margin-bottom:.8rem; flex-wrap:wrap; }
.med-filter-btn { background:var(--cream); border:1px solid var(--border); border-radius:20px;
  padding:.3rem .8rem; font-size:.75rem; cursor:pointer; color:var(--muted); transition:all .2s; }
.med-filter-btn.active { background:var(--forest); color:#fff; border-color:var(--forest); }
.mediathek-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.6rem; }
.med-item { border:1px solid var(--border); border-radius:6px; overflow:hidden; background:#fff; transition:box-shadow .2s; }
.med-item:hover { box-shadow:0 2px 10px rgba(0,0,0,.1); }
.med-preview { aspect-ratio:1; overflow:hidden; cursor:pointer; position:relative; background:var(--cream);
  display:flex; align-items:center; justify-content:center; }
.med-preview img { width:100%; height:100%; object-fit:cover; }
.med-preview video { width:100%; height:100%; object-fit:cover; }
.med-placeholder { font-size:2rem; color:var(--muted); }
.med-type-badge { position:absolute; bottom:.3rem; right:.3rem; background:rgba(0,0,0,.6); color:#fff;
  font-size:.6rem; padding:.15rem .4rem; border-radius:3px; letter-spacing:.05em; font-weight:600; }
.med-info { padding:.4rem .5rem; }
.med-name { font-size:.72rem; color:var(--text); word-break:break-all; line-height:1.3; }
.med-meta { font-size:.65rem; color:var(--muted); margin-top:.15rem; }
.med-actions { display:flex; gap:.2rem; padding:.2rem .5rem .4rem; justify-content:center; }
.med-copy, .med-del { background:none; border:1px solid var(--border); cursor:pointer; font-size:.95rem; padding:.25rem .45rem;
  border-radius:4px; transition:all .2s; color:var(--muted); line-height:1; }
.med-copy:hover { background:var(--forest); color:#fff; border-color:var(--forest); }
.med-del:hover { background:#c0392b; color:#fff; border-color:#c0392b; }
.med-open { text-decoration:none; font-size:.95rem; padding:.25rem .45rem; color:var(--forest); border-radius:4px;
  border:1px solid var(--border); line-height:1; display:inline-flex; align-items:center; }
.med-open:hover { background:var(--forest); color:#fff; border-color:var(--forest); }
.med-ctx-btn { background:var(--cream); border:1px solid var(--border); border-radius:20px;
  padding:.3rem .8rem; font-size:.72rem; cursor:pointer; color:var(--muted); transition:all .2s; }
.med-ctx-btn.active { background:var(--amber); color:#fff; border-color:var(--amber); }
