:root{--brown:#3d210f;--gold:#b1844d;--cream:#f4ead8;--ink:#211c17;--dark:#171713;--paper:#fbf8f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#15140f;color:#fff;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;text-decoration:none;height:100%;flex:0 0 auto}.brand img{display:block;width:330px;max-width:40vw;height:auto;max-height:86px;object-fit:contain;object-position:left center}nav{display:flex;gap:28px}nav a{color:#fff;text-decoration:none;font-size:13px}#menu{display:none}.hero{position:relative;background:#1b1711}.hero img{width:100%;display:block;max-height:820px;object-fit:cover}.hero-note{position:absolute;right:24px;bottom:22px;background:rgba(20,15,10,.72);color:#fff;padding:10px 15px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.welcome{padding:95px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:22px 9vw;align-items:end}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:700;color:#8a6842}.welcome .eyebrow{grid-column:1/-1}.welcome h1,.head h2,.feature h2,.values h2,.contact h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;margin:0}.welcome h1{font-size:clamp(50px,6vw,90px);line-height:.98}.welcome>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:600px}.btn{display:inline-block;width:max-content;background:var(--brown);color:#fff;text-decoration:none;border-radius:999px;padding:15px 22px;font-size:12px;font-weight:bold}.dogs{background:var(--dark);color:#fff;padding:95px 6vw}.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.head h2{font-size:clamp(48px,5vw,76px)}.head>p{font-size:12px;color:#bbb}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{position:relative;min-height:480px;overflow:hidden;color:#fff;text-decoration:none;background:#28271f}.card img{width:100%;height:100%;position:absolute;object-fit:cover;transition:.4s}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 60%)}.card:hover img{transform:scale(1.025)}.card>div{position:absolute;z-index:2;bottom:0;padding:24px}.card small{text-transform:uppercase;letter-spacing:.2em;color:#e2c38d}.card h3{font:40px Georgia,serif;margin:7px 0}.card p{font-size:11px;margin:0;color:#ddd}.feature{display:grid;grid-template-columns:1.05fr .95fr;background:#e8dfd1}.feature>img{width:100%;height:100%;min-height:720px;object-fit:cover}.feature>div{padding:90px 7vw}.feature h2{font-size:76px}.feature h4{font:20px Georgia,serif;margin:8px 0}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px;margin:35px 0}.stats span{border-top:1px solid #c9bba7;padding:11px 0;font-size:13px}.stats b{display:block;color:#8a6842;font-size:9px;letter-spacing:.12em}.muted{color:#71695f}.values{padding:100px 7vw}.values h2{font-size:clamp(55px,6vw,92px);line-height:.95}.values>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px}.values article{padding:30px;border-left:1px solid #ddd2c2}.values article:first-child{border-left:0}.values article>b{color:#a17c50}.values h3{font:32px Georgia,serif}.values article p{line-height:1.7;color:#655e56}.contact{padding:100px 8vw;background:#4a2c17;color:#fff}.contact .eyebrow{color:#d9b77f}.contact h2{font-size:clamp(55px,7vw,100px);line-height:.92;max-width:900px}.contact>p:not(.eyebrow){font-size:17px;margin:30px 0}.light{background:#f4ead8;color:#3d210f}footer{padding:35px 6vw;background:#12120f;color:#aaa;display:flex;gap:25px;justify-content:space-between;font-size:11px}footer strong{color:#fff}@media(max-width:950px){.grid{grid-template-columns:repeat(2,1fr)}.welcome,.feature{grid-template-columns:1fr}.feature>img{min-height:520px}.values>div{grid-template-columns:1fr}.values article{border-left:0;border-top:1px solid #ddd2c2}.head{display:block}.head>p{margin-top:15px}}@media(max-width:650px){header{height:78px;padding:0 14px}.brand img{width:225px;max-width:66vw;max-height:66px}#menu{display:block;background:transparent;color:#fff;border:1px solid #777;border-radius:20px;padding:8px 12px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#15140f;padding:22px;flex-direction:column}nav.open{display:flex}.hero img{min-height:390px;object-fit:cover}.hero-note{display:none}.welcome{padding:65px 22px;display:block}.welcome h1{margin:14px 0 25px}.grid{grid-template-columns:1fr}.dogs{padding:65px 18px}.card{min-height:500px}.feature>div,.values,.contact{padding:65px 22px}.feature h2{font-size:58px}.stats{grid-template-columns:1fr}footer{flex-direction:column}}

.feature[id]{scroll-margin-top:92px}.feature.alt{background:#f5efe5}.back{display:inline-block;margin-top:20px;color:#6f4a28;text-decoration:none;font-size:12px;font-weight:700}.back:hover{text-decoration:underline}
/* Mehrbild-Galerien je Hund – vollständige Bilder, kein Abschneiden */
.gallery{min-width:0;background:#111;display:flex;flex-direction:column;height:100%;min-height:720px;overflow:hidden;align-items:stretch}
.gallery-main{display:block;width:auto;height:auto;max-width:100%;max-height:760px;margin:auto;object-fit:contain;object-position:center;cursor:zoom-in;background:#111}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:7px;background:#171713;overflow:auto}
.thumbs img{width:100%;height:115px;object-fit:contain;object-position:center;display:block;cursor:pointer;opacity:.72;border:2px solid transparent;transition:.2s;background:#0f0f0d}
.thumbs img:hover,.thumbs img.active{opacity:1;border-color:#d4ad73}
@media(max-width:950px){.gallery{min-height:0;padding-top:10px}.gallery-main{max-height:680px}.thumbs img{height:120px}}
@media(max-width:650px){.gallery{padding-top:8px}.gallery-main{max-height:520px}.thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.thumbs img{height:105px}}


/* Hündinnen-Übersicht */
.female-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));justify-content:start}
.female-grid .card{
  width:100%;
  min-height:500px;
}
.female-grid .card img{
  object-position:center 32%;
}
#huendinnen{
  position:relative;
  clear:both;
}
#huendinnen .head{
  margin-bottom:36px;
}
#huendinnen .eyebrow{
  color:#d7b77f;
}
@media(max-width:650px){
  .female-grid{grid-template-columns:1fr}
  .female-grid .card{min-height:460px}
}

#yummy .gallery-main{object-position:center 35%}
#hazel .gallery-main{object-position:center 30%}
@media(max-width:1000px){.female-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media(max-width:760px){.female-grid{grid-template-columns:1fr}}

#siyanie .gallery-main{object-position:center 35%}
@media(max-width:1200px){.female-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media(max-width:760px){.female-grid{grid-template-columns:1fr}}

#pepper .gallery-main{object-position:center 32%}

#wilma .gallery-main{object-position:center 45%}

/* Mobile Optimierung 16.08.2026 */
@media (max-width:650px){
  html,body{overflow-x:hidden}
  header{height:82px;padding:8px 16px;position:sticky;top:0}
  .brand{min-width:0;max-width:72%}
  .brand img{width:210px;max-width:100%;max-height:66px;object-fit:contain;object-position:left center}
  #menu{font-size:16px;border-radius:999px;padding:9px 15px;flex:0 0 auto}
  nav{top:82px}

  /* Hero komplett anzeigen – kein Abschneiden links/rechts */
  .hero{height:auto;min-height:0;background:#15140f;overflow:hidden}
  .hero img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;object-position:center;display:block}

  .welcome{padding:56px 22px 62px}
  .welcome .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.18em}
  .welcome h1{font-size:clamp(42px,13vw,58px);line-height:.94;margin:16px 0 24px;overflow-wrap:normal;word-break:normal}
  .welcome>p:not(.eyebrow){font-size:16px;line-height:1.65;margin-bottom:26px}
  .btn{max-width:100%;white-space:normal;line-height:1.35;text-align:center}

  .dogs{padding:58px 16px}
  .head{margin-bottom:28px}
  .head h2{font-size:44px;line-height:1}
  .grid,.female-grid{grid-template-columns:1fr!important;gap:14px}
  .card,.female-grid .card{min-height:430px}
  .card h3{font-size:36px}

  .feature{display:block}
  .gallery{height:auto;min-height:0;padding:0;background:#111}
  .gallery-main{width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;margin:0 auto;background:#111}
  .thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px}
  .thumbs img{height:92px;object-fit:contain}
  .feature>div:not(.gallery){padding:52px 22px 58px}
  .feature h2{font-size:50px;line-height:1}
  .feature h4{font-size:18px;line-height:1.35}
  .stats{grid-template-columns:1fr 1fr;gap:0 14px;margin:28px 0}
  .stats span{font-size:12px;min-width:0;overflow-wrap:anywhere}

  .values,.contact{padding:60px 22px}
  .values h2,.contact h2{font-size:48px;line-height:.98}
  footer{padding:30px 22px}
}
@media (max-width:390px){
  .brand img{width:190px}
  .welcome h1{font-size:40px}
  .stats{grid-template-columns:1fr}
}

/* Pearl – Unvergessen */
.memorial-overview{background:#11110f}
.memorial-grid{grid-template-columns:minmax(260px,420px)}
.memorial-card{border:1px solid rgba(213,178,119,.28)}
.memorial-card img{object-position:center 28%}
.memorial-detail{background:linear-gradient(135deg,#121210 0%,#1b1915 100%);color:#f5efe5}
.memorial-detail .gallery-main{background:#0d0d0c}
.memorial-detail h2{color:#fff}
.memorial-detail h4{color:#d7b57b;font-weight:400;letter-spacing:.08em}
.memorial-copy{max-width:620px}
.memorial-lead{font-family:Georgia,serif;font-size:1.25rem;line-height:1.6}
.memorial-sign{margin-top:28px;color:#d7b57b;font-size:1.12rem;line-height:1.7}
.memorial-detail .back{color:#e5c995}
@media(max-width:768px){
 .memorial-grid{grid-template-columns:1fr}
 .memorial-detail{padding-top:52px;padding-bottom:52px}
 .memorial-detail .gallery-main{height:auto;max-height:none;object-fit:contain}
 .memorial-lead{font-size:1.08rem}
}


/* ===== SAUBERE SEITENSTRUKTUR 2026 ===== */
html{scroll-behavior:smooth}
body{overflow-x:hidden}

header{
  position:sticky;
  top:0;
  z-index:1000;
}
nav{align-items:center}
.section-hint{
  margin:.75rem 0 0;
  max-width:560px;
  color:#9f9a90;
  font-size:14px;
  line-height:1.5;
}

.detail-zone{
  width:100%;
  background:#11110f;
}
.dog-panel{
  display:none !important;
  scroll-margin-top:110px;
}
.dog-panel.is-open{
  display:grid !important;
  animation:panelIn .28s ease-out;
}
@keyframes panelIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}

#hunde,#huendinnen,#unvergessen{
  scroll-margin-top:105px;
}
#huendinnen{
  margin-top:0 !important;
}
#unvergessen{
  margin-top:0 !important;
}

/* Cards all aligned cleanly */
.grid,.female-grid,.memorial-grid{
  align-items:stretch;
}
.card{
  min-width:0;
}
.card img{
  width:100%;
}

/* Make overview sections visually separate */
#hunde{
  padding-bottom:76px;
}
#huendinnen{
  padding-top:92px;
  padding-bottom:76px;
  background:#171713;
}
#unvergessen{
  padding-top:92px;
  padding-bottom:76px;
}

/* Details appear directly below their overview */
#male-details,
#female-details,
#memorial-details{
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}

/* Keep detail text readable and gallery balanced */
.feature.dog-panel{
  min-height:auto;
  padding-top:72px;
  padding-bottom:72px;
  gap:56px;
}
.feature.dog-panel > div{
  min-width:0;
}
.feature.dog-panel h2{
  margin-top:8px;
}
.feature.dog-panel .gallery{
  align-self:start;
}
.feature.dog-panel .gallery-main{
  max-height:680px;
}

/* Clear hierarchy after all animals */
#zucht{
  margin-top:0;
}
#kontakt{
  margin-top:0;
}

/* ===== MOBILE ===== */
@media(max-width:760px){
  header{
    height:82px !important;
    padding:8px 16px !important;
  }
  .brand img{
    width:190px !important;
    max-width:58vw !important;
    max-height:66px !important;
  }
  #menu{
    padding:11px 18px !important;
    font-size:16px !important;
  }
  nav{
    top:82px !important;
  }

  .hero{
    height:auto !important;
    min-height:0 !important;
  }
  .hero img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  .welcome{
    padding:58px 22px 64px !important;
  }
  .welcome h1{
    font-size:clamp(42px,12vw,60px) !important;
    line-height:.96 !important;
  }

  .dogs{
    padding:64px 20px !important;
  }
  .head{
    display:block !important;
  }
  .head > p{
    margin-top:10px !important;
  }
  .grid,.female-grid,.memorial-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .card{
    min-height:440px !important;
  }
  .card img{
    height:100% !important;
    object-fit:cover !important;
    object-position:center 25% !important;
  }

  .detail-zone{
    padding:0 !important;
  }
  .feature.dog-panel,
  .feature.dog-panel.alt{
    grid-template-columns:1fr !important;
    padding:44px 20px 54px !important;
    gap:28px !important;
  }
  .feature.dog-panel .gallery{
    width:100% !important;
  }
  .feature.dog-panel .gallery-main{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
  .feature.dog-panel .thumbs{
    display:flex !important;
    overflow-x:auto !important;
    gap:8px !important;
    padding-bottom:6px !important;
  }
  .feature.dog-panel .thumbs img{
    flex:0 0 84px !important;
    width:84px !important;
    height:84px !important;
    object-fit:cover !important;
  }
  .feature.dog-panel h2{
    font-size:48px !important;
    line-height:1 !important;
  }
  .stats{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  #huendinnen,#unvergessen{
    padding-top:64px !important;
  }
}

@media(max-width:430px){
  .brand img{width:175px !important}
  .stats{grid-template-columns:1fr !important}
}


/* ===== UNVERGESSEN: Regenbogen & Engelhund ===== */
#unvergessen.memorial-rainbow{
  position:relative;
  isolation:isolate;
  min-height:620px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(15,15,13,.96) 0%,rgba(15,15,13,.82) 42%,rgba(15,15,13,.30) 72%,rgba(15,15,13,.12) 100%),
    url("assets/unvergessen-regenbogen-hund.jpg") center right/cover no-repeat;
  overflow:hidden;
}
#unvergessen .memorial-overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 75% 46%,rgba(219,186,121,.18),transparent 34%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28));
  pointer-events:none;
}
#unvergessen .memorial-content{
  position:relative;
  z-index:1;
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
}
#unvergessen .head{
  max-width:570px;
}
#unvergessen .head h2{
  color:#fff8ec;
  text-shadow:0 2px 18px rgba(0,0,0,.62);
}
#unvergessen .head p,
#unvergessen .eyebrow{
  color:#e6d8bd;
  text-shadow:0 2px 14px rgba(0,0,0,.7);
}
#unvergessen .memorial-grid{
  max-width:430px;
  margin-top:34px;
}
#unvergessen .memorial-card{
  box-shadow:0 18px 46px rgba(0,0,0,.38);
  border:1px solid rgba(216,183,125,.34);
}

@media(max-width:760px){
  #unvergessen.memorial-rainbow{
    min-height:720px;
    align-items:flex-end;
    padding:0 !important;
    background:
      linear-gradient(180deg,rgba(15,15,13,.06) 0%,rgba(15,15,13,.16) 38%,rgba(15,15,13,.90) 73%,rgba(15,15,13,.99) 100%),
      url("assets/unvergessen-regenbogen-hund.jpg") 65% top/auto 60% no-repeat,
      #11110f;
  }
  #unvergessen .memorial-content{
    width:100%;
    padding:350px 20px 58px;
  }
  #unvergessen .head{
    max-width:none;
  }
  #unvergessen .head h2{
    font-size:48px !important;
    line-height:1 !important;
  }
  #unvergessen .memorial-grid{
    max-width:none;
    margin-top:24px;
  }
}


/* ===== KORREKTUR: Unvergessen als eigener Banner + normaler Inhalt ===== */
#unvergessen.memorial-overview{
  min-height:0 !important;
  display:block !important;
  position:relative !important;
  background:#11110f !important;
  overflow:visible !important;
  padding-top:70px !important;
  padding-bottom:90px !important;
}
#unvergessen .head{
  max-width:760px !important;
}
#unvergessen .memorial-grid{
  max-width:100% !important;
  margin-top:34px !important;
}
.memorial-hero{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:
    url("assets/unvergessen-regenbogen-hund.jpg") center 38%/cover no-repeat;
}
.memorial-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(12,12,10,.78) 0%,rgba(12,12,10,.38) 42%,rgba(12,12,10,.06) 76%),
    linear-gradient(0deg,rgba(12,12,10,.55),transparent 50%);
}
.memorial-hero-text{
  position:relative;
  z-index:1;
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:0 0 52px;
  color:#fff8ec;
}
.memorial-hero-text span{
  display:block;
  margin-bottom:10px;
  color:#e6c88e;
  font-size:13px;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.memorial-hero-text strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:74px;
  line-height:.95;
  font-weight:500;
  text-shadow:0 4px 24px rgba(0,0,0,.55);
}

/* hide duplicate heading in the normal section because banner already carries it */
#unvergessen > .head{
  display:none !important;
}

@media(max-width:760px){
  .memorial-hero{
    min-height:390px;
    background-position:62% center;
  }
  .memorial-hero-text{
    width:calc(100% - 36px);
    padding-bottom:34px;
  }
  .memorial-hero-text strong{
    font-size:50px;
  }
  .memorial-hero-text span{
    font-size:11px;
    letter-spacing:.18em;
  }
  #unvergessen.memorial-overview{
    padding:34px 18px 60px !important;
  }
  #unvergessen .memorial-grid{
    margin-top:0 !important;
  }
}


/* ===== UNVERGESSEN: nur Regenbogen, ohne Hund ===== */
.memorial-hero{
  min-height:360px !important;
  background:
    url("assets/unvergessen-regenbogen-ohne-hund.jpg") center center/cover no-repeat !important;
}
.memorial-hero-shade{
  background:
    linear-gradient(180deg,rgba(12,12,10,.08),rgba(12,12,10,.18)) !important;
}
.memorial-hero-text{
  text-align:center !important;
  padding-bottom:44px !important;
}
.memorial-hero-text span{
  color:#5f4322 !important;
  text-shadow:0 1px 10px rgba(255,255,255,.45) !important;
}
.memorial-hero-text strong{
  color:#2b1d12 !important;
  text-shadow:0 2px 14px rgba(255,255,255,.35) !important;
}

@media(max-width:760px){
  .memorial-hero{
    min-height:300px !important;
    background-position:center center !important;
  }
  .memorial-hero-text{
    width:calc(100% - 32px) !important;
    padding-bottom:30px !important;
  }
  .memorial-hero-text strong{
    font-size:46px !important;
  }
}


/* ===== FINALER TEXT-FIX REGENBOGENBANNER ===== */
.memorial-hero{
  position:relative !important;
  min-height:430px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:url("assets/unvergessen-regenbogen-ohne-hund.jpg") center center/cover no-repeat !important;
}
.memorial-hero .memorial-hero-text,
.memorial-hero .memorial-hero-text-clean{
  position:relative !important;
  z-index:5 !important;
  width:auto !important;
  margin:0 !important;
  padding:0 24px !important;
  text-align:center !important;
  color:#2b1d12 !important;
}
.memorial-hero-text-clean h1{
  margin:0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:72px !important;
  line-height:1 !important;
  font-weight:400 !important;
  letter-spacing:.13em !important;
  color:#2b1d12 !important;
  text-shadow:0 2px 12px rgba(255,255,255,.35) !important;
}
.memorial-hero-text-clean .memorial-heart{
  margin:18px 0 10px !important;
  font-size:22px !important;
  line-height:1 !important;
  color:#ad7a2b !important;
}
.memorial-hero-text-clean p{
  margin:0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:25px !important;
  font-style:italic !important;
  color:#3a2818 !important;
  text-shadow:0 1px 10px rgba(255,255,255,.5) !important;
}
.memorial-hero-text-clean > span,
.memorial-hero-text-clean > strong{
  display:none !important;
}
@media(max-width:760px){
  .memorial-hero{
    min-height:300px !important;
  }
  .memorial-hero-text-clean h1{
    font-size:42px !important;
    letter-spacing:.08em !important;
  }
  .memorial-hero-text-clean p{
    font-size:19px !important;
  }
}


/* ===== ABSCHLIESSENDER CLEAN-FIX: Hintergrund ohne eingebrannten Text ===== */
.memorial-hero{
  min-height:430px !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:url("assets/unvergessen-regenbogen-clean.jpg") center center/cover no-repeat !important;
}
.memorial-hero-shade{
  position:absolute !important;
  inset:0 !important;
  background:rgba(255,245,224,.08) !important;
}
.memorial-hero-text-clean{
  position:relative !important;
  z-index:10 !important;
  text-align:center !important;
  padding:25px !important;
}
.memorial-hero-text-clean h1{
  margin:0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:68px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  color:#2b1c11 !important;
}
.memorial-divider{
  width:330px !important;
  max-width:70vw !important;
  margin:22px auto 18px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.memorial-divider:before,.memorial-divider:after{
  content:"" !important;
  height:1px !important;
  background:#a97b32 !important;
  flex:1 !important;
}
.memorial-divider span{
  color:#b17c23 !important;
  font-size:22px !important;
}
.memorial-hero-text-clean p{
  margin:0 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:26px !important;
  font-style:italic !important;
  color:#3b291b !important;
}
@media(max-width:760px){
  .memorial-hero{min-height:300px !important;}
  .memorial-hero-text-clean h1{font-size:39px !important;letter-spacing:.08em !important;}
  .memorial-hero-text-clean p{font-size:19px !important;}
}

/* FINAL: vollständig textfreier Regenbogen-Hintergrund */
.memorial-hero{
  background-image:url("assets/unvergessen-regenbogen-final.jpg") !important;
  background-position:center center !important;
  background-size:cover !important;
}


/* ===== FIX: unschöner Rand oberhalb des Unvergessen-Banners ===== */
.memorial-hero{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  margin:0 !important;
}
.memorial-hero::before,
.memorial-hero::after{
  content:none !important;
  display:none !important;
}
#unvergessen{
  border-top:0 !important;
}
header,
nav{
  border-bottom:0 !important;
  box-shadow:none !important;
}
main{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* FINAL: Banner komplett ohne hellen Rand / Zwischenraum */
html,body{margin:0!important;padding:0!important;}
.memorial-hero{
 border:none!important; outline:none!important; box-shadow:none!important;
 margin:0!important; padding-top:0!important;
 display:flex!important;
}
.memorial-hero::before,.memorial-hero::after{display:none!important;content:none!important;}
#unvergessen{border:0!important;outline:0!important;box-shadow:none!important;margin:0!important;}
header,nav,.site-header,.navbar{border:0!important;box-shadow:none!important;margin-bottom:0!important;}
/* überlappt die mögliche 1–12px helle Trennkante zuverlässig */
.memorial-hero{position:relative!important;top:-12px!important;margin-bottom:-12px!important;}


/* ===== Kontakt: WhatsApp + Formular ===== */
.contact-modern{
  background:#f2eadc !important;
  color:#241b14 !important;
  padding:100px 24px !important;
}
.contact-wrap{
  width:min(1200px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:72px;
  align-items:start;
}
.contact-copy h2{
  margin:10px 0 22px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(44px,5vw,72px);
  line-height:.98;
  font-weight:400;
}
.contact-lead{
  max-width:540px;
  font-size:18px;
  line-height:1.7;
  color:#5d5044;
}
.contact-actions{
  display:grid;
  gap:14px;
  margin-top:36px;
}
.contact-btn{
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  border:1px solid rgba(88,61,35,.18);
  border-radius:14px;
  background:#fffaf2;
  color:#241b14;
  text-decoration:none;
  transition:.2s ease;
}
.contact-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(55,37,21,.10);
}
.contact-btn small{
  display:block;
  margin-bottom:4px;
  color:#8a6a45;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
}
.contact-btn strong{
  font-size:18px;
}
.contact-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:#171713;
  color:white;
  font-size:20px;
  flex:0 0 auto;
}
.contact-btn.whatsapp .contact-icon{
  background:#1f8f5f;
}

.contact-form{
  background:#fffaf2;
  border:1px solid rgba(88,61,35,.14);
  border-radius:18px;
  padding:32px;
  box-shadow:0 20px 60px rgba(55,37,21,.08);
}
.contact-form label{
  display:block;
  margin-bottom:18px;
}
.contact-form label > span{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d7cbb9;
  border-radius:10px;
  background:#fff;
  color:#241b14;
  padding:13px 14px;
  font:inherit;
  outline:none;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:#a97838;
  box-shadow:0 0 0 3px rgba(169,120,56,.10);
}
.contact-form textarea{
  resize:vertical;
  min-height:150px;
}
.consent{
  display:flex !important;
  gap:10px;
  align-items:flex-start;
  font-size:13px;
  line-height:1.5;
  color:#66594d;
}
.consent input{
  width:auto !important;
  margin-top:3px;
}
.submit-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:100%;
  border:0;
  border-radius:10px;
  padding:15px 20px;
  background:#171713;
  color:#fff;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
}
.submit-btn:hover{
  background:#2a2924;
}
.form-note{
  margin:14px 0 0;
  text-align:center;
  color:#776a5c;
  font-size:13px;
}
.hidden-field{
  position:absolute !important;
  left:-9999px !important;
}

@media(max-width:820px){
  .contact-modern{
    padding:68px 20px !important;
  }
  .contact-wrap{
    grid-template-columns:1fr;
    gap:38px;
  }
  .contact-copy h2{
    font-size:46px;
  }
  .form-row{
    grid-template-columns:1fr;
    gap:0;
  }
  .contact-form{
    padding:22px;
  }
}


/* ===== Rechtliche Seiten ===== */
.legal-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:18px;
  font-size:13px;
}
.legal-links a{color:inherit;text-decoration:none;opacity:.8}
.legal-links a:hover{opacity:1;text-decoration:underline}

.legal-page{
  background:#11110f;
  color:#2b2119;
}
.legal-page header{
  position:relative;
}
.legal-nav a{
  color:#eee6da;
  text-decoration:none;
  font-size:14px;
}
.legal-main{
  background:#eee5d7;
  padding:80px 22px 100px;
  min-height:70vh;
}
.legal-card{
  width:min(900px,100%);
  margin:0 auto;
  background:#fffaf2;
  border:1px solid rgba(85,60,36,.14);
  border-radius:18px;
  padding:clamp(28px,5vw,60px);
  box-shadow:0 22px 60px rgba(52,35,20,.08);
}
.legal-card h1{
  margin:8px 0 38px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(48px,7vw,76px);
  line-height:1;
  font-weight:400;
}
.legal-card h2{
  margin:36px 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  font-weight:400;
}
.legal-card p{
  line-height:1.75;
  color:#5b4d41;
}
.legal-card a{color:#79572d}
.legal-notice{
  margin:0 0 36px;
  padding:20px 22px;
  border-left:4px solid #a77a3d;
  background:#f5ead8;
}
.legal-notice p{margin:7px 0 0}
.legal-footer{
  padding:30px 20px;
  text-align:center;
  color:#d7cabb;
}
.legal-footer a{color:#d7cabb;text-decoration:none}
@media(max-width:760px){
  .legal-main{padding:42px 16px 70px}
  .legal-card{border-radius:12px;padding:26px 20px}
  .legal-card h1{font-size:45px}
  .legal-page header{height:auto !important;min-height:78px}
}

.copyright{
  text-align:center;
  margin-top:18px;
  font-size:13px;
  letter-spacing:.04em;
  opacity:.78;
}
.legal-footer .copyright{
  margin:0 0 10px;
}

.copyright a{
  color:inherit;
  text-decoration:none;
}
.copyright a:hover{
  text-decoration:underline;
}

.captcha-wrap{
  margin:18px 0 20px;
  min-height:78px;
}
.captcha-wrap > div{
  max-width:100%;
}
@media(max-width:420px){
  .captcha-wrap{
    overflow-x:auto;
  }
}

footer{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:28px 20px;
  text-align:center;
}
footer .copyright{
  margin:0;
}
footer .legal-links{
  margin-top:4px;
}


/* ===== Wissenswertes ===== */
.knowledge-page{background:#11110f}
.knowledge-page nav .active{color:#ddb978}
.knowledge-hero{
  min-height:430px;
  display:flex;
  align-items:flex-end;
  padding:70px 24px;
  background:
    linear-gradient(90deg,rgba(16,16,14,.86),rgba(16,16,14,.42)),
    url("assets/hero.jpg") center 38%/cover no-repeat;
}
.knowledge-hero-inner{width:min(1200px,100%);margin:0 auto}
.knowledge-hero h1{
  margin:8px 0 14px;
  font:400 clamp(64px,9vw,120px)/.9 Georgia,"Times New Roman",serif;
  color:#fff9ef;
}
.knowledge-hero p:last-child{max-width:620px;color:#d9d0c3;font-size:19px}
.knowledge-intro{
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:100px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
}
.knowledge-intro h2,
.knowledge-article h2,
.knowledge-cta h2{
  margin:10px 0 22px;
  font:400 clamp(40px,5vw,68px)/1 Georgia,"Times New Roman",serif;
}
.knowledge-intro h2{color:#f5eee4}
.knowledge-copy{color:#bcb4a8;font-size:18px;line-height:1.8}
.knowledge-grid-section{background:#ece3d5;padding:82px 24px}
.knowledge-grid{
  width:min(1200px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.knowledge-card{
  min-height:220px;
  padding:28px;
  background:#fffaf2;
  border:1px solid rgba(75,54,35,.12);
  border-radius:14px;
  color:#251c15;
  text-decoration:none;
  transition:.2s ease;
}
.knowledge-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(44,31,20,.10)}
.knowledge-card > span{color:#b18750;font-size:12px;letter-spacing:.18em}
.knowledge-card h3{margin:35px 0 10px;font:400 30px Georgia,serif}
.knowledge-card p{margin:0;color:#76695c;line-height:1.5}
.knowledge-article{
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:100px 0;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:50px;
  color:#e8dfd3;
  scroll-margin-top:110px;
}
.knowledge-article.alt{
  width:100%;
  max-width:none;
  padding-left:max(24px,calc((100vw - 1200px)/2));
  padding-right:max(24px,calc((100vw - 1200px)/2));
  background:#ece3d5;
  color:#281f18;
}
.knowledge-number{font:400 72px Georgia,serif;color:#9b774c;opacity:.55}
.knowledge-article > div:last-child{max-width:850px}
.knowledge-article p{font-size:17px;line-height:1.8;color:inherit;opacity:.84}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.tag-list span{padding:10px 14px;border:1px solid #bda98c;border-radius:999px;background:rgba(255,255,255,.35)}
.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}
.status-grid div{padding:20px;border:1px solid rgba(190,166,133,.35);border-radius:12px}
.status-grid strong{display:block;font:400 28px Georgia,serif;color:#c99e61}
.status-grid span{display:block;margin-top:6px;font-size:13px;opacity:.75}
.knowledge-cta{
  padding:100px 24px;
  text-align:center;
  background:#1a1916;
  color:#f4ecdf;
}
.knowledge-cta p{max-width:620px;margin:0 auto 24px;color:#bfb5a8}
.knowledge-cta a{
  display:inline-block;
  margin-top:10px;
  padding:14px 22px;
  border:1px solid #c8a56f;
  border-radius:999px;
  color:#e8d2ad;
  text-decoration:none;
}
@media(max-width:820px){
  .knowledge-hero{min-height:320px;padding:50px 20px}
  .knowledge-hero h1{font-size:58px}
  .knowledge-intro{grid-template-columns:1fr;gap:28px;padding:70px 0}
  .knowledge-grid{grid-template-columns:1fr}
  .knowledge-article{grid-template-columns:1fr;gap:12px;padding:70px 0}
  .knowledge-article.alt{padding-top:70px;padding-bottom:70px}
  .knowledge-number{font-size:44px}
  .status-grid{grid-template-columns:1fr}
}


/* ===== Gästebuch ===== */
.guestbook-page{background:#11110f}
.guestbook-page nav .active{color:#ddb978}
.guestbook-hero{
  min-height:390px;
  display:flex;
  align-items:flex-end;
  padding:70px 24px;
  background:
    linear-gradient(90deg,rgba(16,16,14,.90),rgba(16,16,14,.38)),
    url("assets/hero.jpg") center 45%/cover no-repeat;
}
.guestbook-hero > div{width:min(1200px,100%);margin:0 auto}
.guestbook-hero h1{
  margin:8px 0 14px;
  color:#fff9ef;
  font:400 clamp(64px,9vw,116px)/.9 Georgia,"Times New Roman",serif;
}
.guestbook-hero p:last-child{max-width:670px;color:#d7cec2;font-size:18px;line-height:1.6}

.guestbook-content{
  background:#eee5d7;
  padding:90px 24px 110px;
  color:#2a2119;
}
.guestbook-intro{
  width:min(1100px,100%);
  margin:0 auto 44px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:end;
}
.guestbook-intro h2,
.guestbook-new h2{
  margin:8px 0 0;
  font:400 clamp(40px,5vw,62px)/1 Georgia,"Times New Roman",serif;
}
.guestbook-intro > p{color:#706355;line-height:1.7}

.guestbook-list{
  width:min(1100px,100%);
  margin:0 auto;
  display:grid;
  gap:16px;
}
.guest-entry{
  background:#fffaf2;
  border:1px solid rgba(78,56,36,.12);
  border-radius:14px;
  padding:25px 28px;
  box-shadow:0 10px 30px rgba(56,39,23,.04);
}
.guest-entry-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:baseline;
  border-bottom:1px solid #e6dac9;
  padding-bottom:13px;
  margin-bottom:16px;
}
.guest-entry h3{
  margin:0;
  font:400 27px Georgia,"Times New Roman",serif;
}
.guest-entry h3 a{color:#7b562d;text-decoration:none}
.guest-entry h3 a:hover{text-decoration:underline}
.guest-entry time{color:#8d7e6d;font-size:12px}
.guest-entry-text p{margin:0 0 10px;line-height:1.72;color:#574a3f}
.guest-entry-text p:last-child{margin-bottom:0}

.guestbook-new{
  width:min(1100px,100%);
  margin:80px auto 0;
  padding-top:70px;
  border-top:1px solid #cdbda8;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:60px;
}
.guestbook-new-copy p:last-child{color:#716458;line-height:1.7}
.guestbook-form{
  background:#fffaf2;
  border:1px solid rgba(78,56,36,.12);
  border-radius:16px;
  padding:30px;
}
.guestbook-form label{display:block;margin-bottom:18px}
.guestbook-form label > span{display:block;margin-bottom:7px;font-size:13px;font-weight:700}
.guestbook-form label small{font-weight:400;color:#8c7c6c}
.guestbook-form input,
.guestbook-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d7cbb9;
  border-radius:10px;
  padding:13px 14px;
  background:#fff;
  font:inherit;
  color:#251d16;
}
.guestbook-form textarea{resize:vertical;min-height:160px}
.guestbook-form input:focus,
.guestbook-form textarea:focus{
  outline:none;border-color:#a97838;box-shadow:0 0 0 3px rgba(169,120,56,.1)
}

@media(max-width:820px){
  .guestbook-hero{min-height:300px;padding:48px 20px}
  .guestbook-hero h1{font-size:58px}
  .guestbook-content{padding:65px 18px 80px}
  .guestbook-intro,.guestbook-new{grid-template-columns:1fr;gap:26px}
  .guest-entry-head{display:block}
  .guest-entry time{display:block;margin-top:6px}
  .guestbook-form{padding:22px}
}

/* Gästebuch: Formular vor den bisherigen Einträgen */
.guestbook-new{
  margin:0 auto 70px !important;
  padding-top:0 !important;
  border-top:0 !important;
  padding-bottom:70px;
  border-bottom:1px solid #cdbda8;
}
.guestbook-list{
  margin-top:0 !important;
}


/* ===== ASCA-Banner auf Wissenswertes ===== */
.asca-banner{
  background:#11110f;
  padding:0 24px 70px;
}
.asca-banner a{
  display:block;
  width:min(1200px,100%);
  margin:0 auto;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 55px rgba(0,0,0,.22);
}
.asca-banner img{
  display:block;
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:cover;
  object-position:center;
}
@media(max-width:760px){
  .asca-banner{
    padding:0 18px 48px;
  }
  .asca-banner a{
    border-radius:10px;
  }
  .asca-banner img{
    max-height:none;
    object-fit:contain;
  }
}

/* ASCA am unteren Ende der Website */
.footer-asca{
  background:#11110f;
  padding:42px 24px 28px;
  text-align:center;
}
.footer-asca a{
  display:inline-block;
  width:min(720px, 92%);
}
.footer-asca img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
@media(max-width:760px){
  .footer-asca{
    padding:30px 18px 22px;
  }
  .footer-asca a{
    width:min(520px, 96%);
  }
}


/* ===== Welpenankündigung ===== */
.puppy-announcement{
  scroll-margin-top:100px;
  padding:100px 24px;
  background:
    radial-gradient(circle at 50% 0%,rgba(207,172,111,.13),transparent 40%),
    #171713;
  color:#f4ecdf;
  text-align:center;
}
.puppy-announcement-inner{
  width:min(820px,100%);
  margin:0 auto;
}
.puppy-announcement h2{
  margin:10px 0 18px;
  font:400 clamp(48px,7vw,82px)/.95 Georgia,"Times New Roman",serif;
  color:#fff9ef;
}
.puppy-announcement p{
  margin:0 auto 18px;
  max-width:760px;
  color:#cfc5b8;
  font-size:17px;
  line-height:1.75;
}
.puppy-announcement strong{
  color:#f0dfc2;
}
.puppy-divider{
  width:min(330px,70%);
  margin:24px auto 30px;
  display:flex;
  align-items:center;
  gap:14px;
}
.puppy-divider:before,.puppy-divider:after{
  content:"";
  height:1px;
  background:#a97b32;
  flex:1;
}
.puppy-divider span{
  color:#c79a55;
  font-size:18px;
}
.puppy-closing{
  margin-top:28px !important;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:20px !important;
  color:#e8d7bb !important;
}
.puppy-contact-btn{
  display:inline-block;
  margin-top:18px;
  padding:14px 24px;
  border:1px solid #c69b5c;
  border-radius:999px;
  color:#f1dfc1;
  text-decoration:none;
  font-weight:700;
  transition:.2s ease;
}
.puppy-contact-btn:hover{
  background:#c69b5c;
  color:#171713;
}
@media(max-width:760px){
  .puppy-announcement{
    padding:70px 20px;
  }
  .puppy-announcement h2{
    font-size:50px;
  }
  .puppy-announcement p{
    font-size:16px;
  }
}


/* ===== Hoffnungsträger / Familien gesucht ===== */
.guardian-home{
  scroll-margin-top:100px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  min-height:720px;
  background:#eee5d7;
  color:#2a2119;
}
.guardian-photo{
  min-height:720px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16)),
    url("assets/elly-2.jpg") center center/cover no-repeat;
}
.guardian-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:80px clamp(38px,6vw,95px);
}
.guardian-copy h2{
  margin:10px 0 18px;
  font:400 clamp(48px,6vw,78px)/.96 Georgia,"Times New Roman",serif;
  color:#2b2118;
}
.guardian-line{
  width:90px;
  height:1px;
  background:#a77a3d;
  margin:8px 0 30px;
}
.guardian-copy > p{
  max-width:680px;
  margin:0 0 17px;
  color:#625548;
  font-size:16.5px;
  line-height:1.72;
}
.guardian-copy strong{color:#332519}
.guardian-questions{
  margin:12px 0 22px;
  padding:20px 22px;
  border-left:3px solid #ad8148;
  background:rgba(255,250,242,.62);
}
.guardian-questions strong,
.guardian-questions span{
  display:block;
}
.guardian-questions strong{
  margin-bottom:5px;
  font:400 25px Georgia,"Times New Roman",serif;
}
.guardian-questions span{color:#67584a}
.guardian-note{
  font-style:italic;
}
.guardian-phone{
  align-self:flex-start;
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:12px;
  padding:14px 22px;
  border:1px solid #9e7440;
  border-radius:10px;
  color:#3a291a;
  text-decoration:none;
  transition:.2s ease;
}
.guardian-phone:hover{
  background:#2a2119;
  color:#fff7eb;
}
.guardian-phone span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.guardian-phone strong{color:inherit;font-size:18px}

@media(max-width:820px){
  .guardian-home{
    grid-template-columns:1fr;
  }
  .guardian-photo{
    min-height:440px;
    background-position:center 30%;
  }
  .guardian-copy{
    padding:58px 20px 68px;
  }
  .guardian-copy h2{
    font-size:48px;
  }
}


/* ===== Links & Empfehlungen ===== */
.links-page{
  background:#11110f;
}
.links-page nav .active{
  color:#ddb978;
}
.links-hero{
  min-height:350px;
  display:flex;
  align-items:flex-end;
  padding:70px 24px;
  background:
    linear-gradient(90deg,rgba(15,15,13,.90),rgba(15,15,13,.35)),
    url("assets/hero.jpg") center 44%/cover no-repeat;
}
.links-hero-inner{
  width:min(1200px,100%);
  margin:0 auto;
}
.links-hero h1{
  margin:8px 0 14px;
  color:#fff9ef;
  font:400 clamp(64px,9vw,112px)/.9 Georgia,"Times New Roman",serif;
}
.links-hero p:last-child{
  max-width:650px;
  color:#d7cec2;
  font-size:18px;
  line-height:1.6;
}

.links-content{
  background:#eee5d7;
  color:#2a2119;
  padding:95px 24px 110px;
}
.links-intro{
  width:min(1100px,100%);
  margin:0 auto 42px;
}
.links-intro h2{
  margin:8px 0 10px;
  font:400 clamp(44px,6vw,70px)/1 Georgia,"Times New Roman",serif;
}
.links-intro p:last-child{
  color:#77695c;
  font-size:18px;
}

.partner-card{
  width:min(1100px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr .9fr;
  background:#11110f;
  color:#f4ecdf;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 22px 60px rgba(53,36,21,.13);
}
.partner-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:470px;
  padding:32px;
  background:#121212;
}
.partner-logo-wrap img{
  width:100%;
  height:auto;
  max-height:430px;
  object-fit:contain;
}
.partner-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:55px;
}
.partner-copy h3{
  margin:8px 0 20px;
  font:400 clamp(42px,5vw,64px)/1 Georgia,"Times New Roman",serif;
  color:#f4dfbb;
}
.partner-copy p{
  color:#c6b9a9;
  font-size:17px;
  line-height:1.75;
}
.partner-link{
  align-self:flex-start;
  margin-top:18px;
  padding:14px 22px;
  border:1px solid #c79752;
  border-radius:999px;
  color:#f0d8ad;
  text-decoration:none;
  font-weight:700;
  transition:.2s ease;
}
.partner-link:hover{
  background:#c79752;
  color:#11110f;
}

@media(max-width:820px){
  .links-hero{
    min-height:290px;
    padding:48px 20px;
  }
  .links-hero h1{
    font-size:58px;
  }
  .links-content{
    padding:65px 18px 80px;
  }
  .partner-card{
    grid-template-columns:1fr;
  }
  .partner-logo-wrap{
    min-height:0;
    padding:22px;
  }
  .partner-logo-wrap img{
    max-height:none;
  }
  .partner-copy{
    padding:32px 24px 38px;
  }
}


/* Dogcoach auf der Links-Seite */
.links-content .partner-card + .partner-card{
  margin-top:34px;
}
.dogcoach-logo-wrap{
  background:#11110f;
}
.dogcoach-logo-wrap img{
  width:min(78%,520px);
  max-height:360px;
  object-fit:contain;
}
@media(max-width:820px){
  .dogcoach-logo-wrap img{
    width:min(86%,420px);
  }
}


/* Bunter Hund auf der Links-Seite */
.bunterhund-logo-wrap{
  background:#3d3d3d;
}
.bunterhund-logo-wrap img{
  width:min(78%,500px);
  max-height:360px;
  object-fit:contain;
}
@media(max-width:820px){
  .bunterhund-logo-wrap img{
    width:min(88%,420px);
  }
}


/* Angis Tierheilpraxis auf der Links-Seite */
.angis-logo-wrap{
  background:#fff;
}
.angis-logo-wrap img{
  width:min(68%,420px);
  max-height:360px;
  object-fit:contain;
}
@media(max-width:820px){
  .angis-logo-wrap img{
    width:min(78%,340px);
  }
}


/* ===== FINALER AUFRÄUM-FIX ===== */
:root{
  --page-max:1200px;
  --bg-dark:#11110f;
  --bg-light:#eee5d7;
  --text-dark:#2a2119;
  --text-soft:#6f6255;
  --gold:#b38349;
}

html{scroll-behavior:smooth;}
body{overflow-x:hidden;}
main{display:block;}

section{
  position:relative;
}

.section,
.dogs-section,
.females-section,
.puppy-announcement,
.guardian-home,
.contact-modern,
.knowledge-grid-section,
.guestbook-content,
.links-content{
  scroll-margin-top:90px;
}

/* Ruhigere vertikale Abstände */
.dogs-section,
.females-section{
  padding-top:84px !important;
  padding-bottom:84px !important;
}
@media(max-width:760px){
  .dogs-section,
  .females-section{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
}

/* Einheitliche Kartenraster */
.dog-grid,
.dogs-grid,
.female-grid,
.females-grid{
  width:min(var(--page-max),calc(100% - 40px));
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
}
@media(max-width:1100px){
  .dog-grid,
  .dogs-grid,
  .female-grid,
  .females-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:640px){
  .dog-grid,
  .dogs-grid,
  .female-grid,
  .females-grid{
    grid-template-columns:1fr !important;
    width:min(100% - 28px,620px);
  }
}

/* Hundekarten optisch vereinheitlichen */
.dog-card,
.female-card,
.dog-tile,
.hund-card{
  border-radius:14px !important;
  overflow:hidden !important;
  min-width:0 !important;
}
.dog-card img,
.female-card img,
.dog-tile img,
.hund-card img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#11110f;
}

/* Keine unnötigen Untertitel auf Vorschaubildern */
.dog-card .meta,
.dog-card .subtitle,
.dog-card .details,
.female-card .meta,
.female-card .subtitle,
.female-card .details,
.dog-tile .meta,
.dog-tile .subtitle,
.hund-card .meta,
.hund-card .subtitle{
  display:none !important;
}

/* Hundename bleibt gut sichtbar */
.dog-card h3,
.female-card h3,
.dog-tile h3,
.hund-card h3{
  margin:12px 14px 14px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:28px !important;
  line-height:1.05 !important;
}

/* Profilbereiche: Bild links, Fakten rechts, mobil untereinander */
.dog-profile,
.hund-profile,
.profile-section{
  width:min(var(--page-max),calc(100% - 40px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:42px !important;
}
.dog-profile img,
.hund-profile img,
.profile-section img{
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Galerien: sauber, nichts abschneiden */
.gallery,
.dog-gallery,
.profile-gallery{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.gallery img,
.dog-gallery img,
.profile-gallery img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  border-radius:10px !important;
  background:#11110f;
}
@media(max-width:760px){
  .gallery,
  .dog-gallery,
  .profile-gallery{
    grid-template-columns:1fr !important;
  }
}

/* Navigation ruhiger */
header nav,
#nav{
  gap:22px !important;
}
header nav a,
#nav a{
  white-space:nowrap;
}

/* Footer kompakter */
footer{
  padding-top:24px !important;
  padding-bottom:24px !important;
}
.footer-asca{
  padding-top:28px !important;
  padding-bottom:20px !important;
}

/* Allgemein keine unschönen horizontalen Linien/Ränder */
hr{
  border:0;
  border-top:1px solid rgba(120,92,58,.22);
}

/* 2026-08-18: larger, clean dog galleries; every supplied photo appears only once */
.female-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.female-grid .card{min-height:620px;border-radius:18px}
.female-grid .card img{object-fit:cover;object-position:center}
.feature.dog-panel .gallery{padding:24px;gap:18px;min-height:760px}
.feature.dog-panel .gallery-main{width:100%;max-width:900px;max-height:900px;object-fit:contain;border-radius:16px}
.feature.dog-panel .thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;width:100%;padding:0;margin-top:4px}
.feature.dog-panel .thumbs img{width:100%;height:170px;object-fit:cover;border-radius:12px;cursor:pointer}
@media(max-width:950px){.female-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.female-grid .card{min-height:560px}}
@media(max-width:650px){.female-grid{grid-template-columns:1fr}.female-grid .card{min-height:520px}.feature.dog-panel .gallery{padding:12px}.feature.dog-panel .thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.feature.dog-panel .thumbs img{height:140px}}


/* =========================================================
   2026-08-18 – KI-BILDER SAUBER
   Nur vom Nutzer gelieferte KI-Motive in Hundeprofilen.
   Keine Duplikate, keine abgeschnittenen Bilder.
   ========================================================= */

#male-details .dog-panel .ai-gallery,
#female-details .dog-panel .ai-gallery{
  display:grid !important;
  width:100% !important;
  max-width:980px !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:28px !important;
  gap:20px !important;
  background:#11110f !important;
  align-items:start !important;
  overflow:visible !important;
}

#male-details .dog-panel .ai-gallery.single,
#female-details .dog-panel .ai-gallery.single{
  grid-template-columns:minmax(0,1fr) !important;
}

#male-details .dog-panel .ai-gallery.two,
#female-details .dog-panel .ai-gallery.two{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

#male-details .dog-panel .ai-gallery.three,
#female-details .dog-panel .ai-gallery.three{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.ai-image-button{
  appearance:none;
  -webkit-appearance:none;
  display:block;
  width:100%;
  padding:0;
  margin:0;
  border:0;
  border-radius:16px;
  overflow:hidden;
  background:#171713;
  cursor:zoom-in;
  box-shadow:0 12px 34px rgba(0,0,0,.20);
}

.ai-dog-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  background:#11110f !important;
}

/* Übersicht: groß genug, ohne Köpfe abzuschneiden */
#hunde .grid,
#huendinnen .grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
}

#hunde .card,
#huendinnen .card{
  min-height:0 !important;
  height:auto !important;
  border-radius:16px !important;
  overflow:hidden !important;
}

#hunde .card > img,
#huendinnen .card > img{
  display:block !important;
  width:100% !important;
  height:420px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#11110f !important;
}

/* Profilbereich darf nicht mehr durch alte .gallery-Regeln zerlegt werden */
#male-details .feature.dog-panel,
#female-details .feature.dog-panel{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr) !important;
  align-items:center !important;
}

#male-details .feature.dog-panel > .ai-gallery,
#female-details .feature.dog-panel > .ai-gallery{
  grid-column:1 !important;
}

#male-details .feature.dog-panel > div:not(.ai-gallery),
#female-details .feature.dog-panel > div:not(.ai-gallery){
  grid-column:2 !important;
}

/* Vollbild-Vergrößerung */
.dog-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(5,5,5,.94);
}
.dog-lightbox.is-open{display:flex;}
.dog-lightbox img{
  display:block;
  max-width:min(94vw,1500px);
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
}
.dog-lightbox-close{
  position:fixed;
  top:18px;
  right:24px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
body.lightbox-open{overflow:hidden;}

@media(max-width:1100px){
  #hunde .grid,
  #huendinnen .grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #male-details .feature.dog-panel,
  #female-details .feature.dog-panel{
    grid-template-columns:1fr !important;
  }
  #male-details .feature.dog-panel > .ai-gallery,
  #female-details .feature.dog-panel > .ai-gallery,
  #male-details .feature.dog-panel > div:not(.ai-gallery),
  #female-details .feature.dog-panel > div:not(.ai-gallery){
    grid-column:1 !important;
  }
}

@media(max-width:760px){
  #hunde .grid,
  #huendinnen .grid{
    grid-template-columns:1fr !important;
  }

  #hunde .card > img,
  #huendinnen .card > img{
    height:auto !important;
    max-height:none !important;
  }

  #male-details .dog-panel .ai-gallery,
  #female-details .dog-panel .ai-gallery{
    grid-template-columns:1fr !important;
    padding:12px !important;
  }

  .dog-lightbox{
    padding:12px;
  }
  .dog-lightbox img{
    max-width:96vw;
    max-height:88vh;
  }
}


/* =========================================================
   FIX 2 – Übersichts-Karten sichtbar + große KI-Bilder
   ========================================================= */
#hunde .grid,
#huendinnen .grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:start !important;
}

#hunde .card,
#huendinnen .card{
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
  background:#11110f !important;
  border:1px solid rgba(215,183,127,.22) !important;
  border-radius:18px !important;
}

#hunde .card > img,
#huendinnen .card > img{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  background:#11110f !important;
}

#hunde .card:hover > img,
#huendinnen .card:hover > img{
  transform:none !important;
}

#hunde .card:after,
#huendinnen .card:after{
  display:none !important;
}

#hunde .card > div,
#huendinnen .card > div{
  position:relative !important;
  inset:auto !important;
  z-index:2 !important;
  padding:16px 18px 18px !important;
  background:#171713 !important;
}

#hunde .card h3,
#huendinnen .card h3{
  margin:4px 0 0 !important;
  font-size:30px !important;
  line-height:1.05 !important;
}

#hunde .card small,
#huendinnen .card small{
  font-size:10px !important;
}

/* Detailbilder ebenfalls groß und ohne Zuschnitt */
#male-details .ai-dog-image,
#female-details .ai-dog-image{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Mehr Platz, damit die Poster wirklich wirken */
#male-details .dog-panel .ai-gallery,
#female-details .dog-panel .ai-gallery{
  max-width:1100px !important;
  padding:18px !important;
}

/* Tablet */
@media(max-width:1200px){
  #hunde .grid,
  #huendinnen .grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Handy */
@media(max-width:700px){
  #hunde .grid,
  #huendinnen .grid{
    grid-template-columns:1fr !important;
  }
  #hunde .card,
  #huendinnen .card{
    max-width:560px !important;
    margin:0 auto !important;
  }
}

/* Wurfankündigungen */
.puppy-posters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:min(1180px,100%);margin:10px auto 38px;align-items:start}
.puppy-announcement-inner{width:min(1220px,100%)}
.puppy-posters img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.32);border:1px solid rgba(198,155,92,.28)}
@media(max-width:820px){.puppy-posters{grid-template-columns:1fr;max-width:650px;gap:22px}}


/* ===== ROCKY FINAL FIX ===== */
#rocky .rocky-gallery{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  width:100% !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding:22px !important;
  background:#11110f !important;
}
#rocky .rocky-gallery .ai-image-button{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#11110f !important;
  cursor:zoom-in !important;
}
#rocky .rocky-gallery .ai-dog-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
}
.dog-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.94);
}
.dog-lightbox.is-open{display:flex;}
.dog-lightbox img{
  max-width:94vw;
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
}
.dog-lightbox-close{
  position:fixed;
  top:18px;
  right:24px;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:34px;
  cursor:pointer;
}
body.lightbox-open{overflow:hidden;}
@media(max-width:760px){
  #rocky .rocky-gallery{
    grid-template-columns:1fr !important;
    padding:12px !important;
  }
}


/* ===== ROCKY GROSS + VERGRÖSSERBAR ===== */
#rocky{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr) !important;
  gap:44px !important;
  align-items:start !important;
}

#rocky .rocky-gallery-large{
  display:flex !important;
  flex-direction:column !important;
  gap:26px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

#rocky .rocky-zoom-link{
  display:block !important;
  width:100% !important;
  background:#11110f !important;
  border-radius:18px !important;
  overflow:hidden !important;
  cursor:zoom-in !important;
  box-shadow:0 18px 50px rgba(0,0,0,.28) !important;
}

#rocky .rocky-large-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Erstes Rocky-Poster bewusst besonders groß */
#rocky .rocky-zoom-link:first-child{
  max-width:950px !important;
  margin:0 auto !important;
}

/* Zweites Motiv etwas kompakter, aber weiterhin groß */
#rocky .rocky-zoom-link:nth-child(2){
  max-width:820px !important;
  margin:0 auto !important;
}

.dog-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(0,0,0,.96) !important;
}
.dog-lightbox.is-open{
  display:flex !important;
}
.dog-lightbox img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:96vw !important;
  max-height:92vh !important;
  object-fit:contain !important;
}
.dog-lightbox-close{
  position:fixed !important;
  top:18px !important;
  right:22px !important;
  z-index:1000000 !important;
  width:50px !important;
  height:50px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.45) !important;
  background:rgba(0,0,0,.65) !important;
  color:#fff !important;
  font-size:34px !important;
  cursor:pointer !important;
}
body.lightbox-open{
  overflow:hidden !important;
}

@media(max-width:950px){
  #rocky{
    grid-template-columns:1fr !important;
  }
}


/* ===== ROCKY LAYOUT ENDGÜLTIG KORRIGIERT ===== */
/* Kein zweispaltiges Profil-Layout: Rocky läuft wieder normal über die Breite. */
#rocky{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}

/* Bilder untereinander und sauber zentriert */
#rocky .rocky-gallery-large{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:32px !important;
  width:100% !important;
  max-width:1100px !important;
  margin:28px auto 0 !important;
  padding:0 24px 32px !important;
  box-sizing:border-box !important;
}

/* Beide Bilder groß, aber nicht überdimensioniert */
#rocky .rocky-zoom-link,
#rocky .rocky-zoom-link:first-child,
#rocky .rocky-zoom-link:nth-child(2){
  display:block !important;
  width:min(100%, 820px) !important;
  max-width:820px !important;
  margin:0 auto !important;
  padding:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  cursor:zoom-in !important;
  background:transparent !important;
}

/* Das Hochformat behält seine natürliche Proportion; nichts wird abgeschnitten. */
#rocky .rocky-large-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Vollbild bleibt aktiv */
.dog-lightbox.is-open{
  display:flex !important;
}
.dog-lightbox.is-open img{
  width:auto !important;
  height:auto !important;
  max-width:96vw !important;
  max-height:92vh !important;
  object-fit:contain !important;
}

@media(max-width:760px){
  #rocky .rocky-gallery-large{
    gap:20px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  #rocky .rocky-zoom-link,
  #rocky .rocky-zoom-link:first-child,
  #rocky .rocky-zoom-link:nth-child(2){
    width:100% !important;
    max-width:100% !important;
  }
}


/* ===== HUNDWECHSEL FIX V2 ===== */
/* Alle Hundeprofile sind standardmäßig zu. JS öffnet nur den gewählten Hund. */
#redriver,#tyson,#maison,#rocky,#hugo,#pepe,#logan,#dozer,
#elly,#yummy,#hazel,#siyanie,#pepper,#wilma{
  display:none;
}

/* Nur der vom JS aktiv gesetzte Hund wird gezeigt */
#redriver.active,#tyson.active,#maison.active,#rocky.active,#hugo.active,#pepe.active,
#logan.active,#dozer.active,#elly.active,#yummy.active,#hazel.active,#siyanie.active,
#pepper.active,#wilma.active{
  display:block !important;
}


/* ===== ROCKY DAUER-OFFEN FIX ===== */
/* Ältere Rocky-Regeln setzen #rocky auf display:block !important.
   Diese Endregel überschreibt das eindeutig. */
#rocky:not(.active){
  display:none !important;
}

#rocky.active{
  display:block !important;
}

/* Alle anderen Hunde ebenfalls nur sichtbar, wenn aktiv */
#redriver:not(.active),
#tyson:not(.active),
#maison:not(.active),
#hugo:not(.active),
#pepe:not(.active),
#logan:not(.active),
#dozer:not(.active),
#elly:not(.active),
#yummy:not(.active),
#hazel:not(.active),
#siyanie:not(.active),
#pepper:not(.active),
#wilma:not(.active){
  display:none !important;
}


/* Freigegebene neue Gästebucheinträge sauber unter die bisherigen Einträge setzen */
.approved-entries-wrap{
  display: contents;
}
#guestbook-approved-list{
  display: contents;
}


/* Neue/freigegebene Gästebucheinträge immer zuerst anzeigen */
.guestbook-list > .approved-entries-wrap{
  order:-1;
  width:100%;
  margin:0;
  padding:0;
}
.approved-entries-wrap,
#guestbook-approved-list{
  width:100%;
}
