/* ==================================================
   BELLA WILDHERZ – FAMILIE
   Seitenspezifische Gestaltung für /Familie.
   Lädt nach /css/gemeinsam.css.
================================================== */

.familie-two{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: 22px;
  align-items: stretch;
}

.familie-panel,
.familie-mini-card,
.familie-resource-card{
  background: var(--cream);
  border: 1.5px solid rgba(59,94,50,.1);
  border-radius: var(--radius-xl);
  box-shadow: 0 14px 38px rgba(26,36,22,.07);
}

.familie-panel{
  padding: clamp(22px, 3vw, 34px);
}

.familie-panel-large p,
.familie-panel p,
.familie-mini-card p,
.familie-resource-card p,
.familie-heart-box p,
.familie-heart-note p,
.familie-contact-box p,
.familie-quote p{
  color: #5a6a54;
  line-height: 1.75;
  font-size: .98rem;
}

.familie-panel p + p,
.familie-heart-box p + p{
  margin-top: 14px;
}

.familie-actions,
.familie-contact-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
  align-items: center;
}

.familie-quote{
  background:
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.72), transparent 34%),
    linear-gradient(135deg, #f5ead2 0%, #d9e4cc 62%, #b8cba7 100%);
  border-radius: 32px;
  padding: clamp(24px, 4vw, 44px);
  border: 1.5px solid rgba(59,94,50,.14);
  position: relative;
  overflow: hidden;
}

.familie-quote h3,
.familie-panel h3,
.familie-mini-card h3,
.familie-resource-card h3,
.familie-step h3,
.familie-heart-note h3{
  font-family: "Fraunces", serif;
  color: var(--ink);
  line-height: 1.18;
}

.familie-quote h3,
.familie-heart-note h3{
  font-size: 1.35rem;
  margin-bottom: 10px;
}

.familie-quote strong{
  color: var(--forest);
  font-weight: 900;
}

.familie-quote-bg{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
  overflow: hidden;
  color: #fffaf0;
  background-image:
    linear-gradient(rgba(38, 54, 31, .62), rgba(38, 54, 31, .62)),
    url("/Bilder/kleinerfuchs.png");
  background-position: center;
  background-size: cover;
}

.familie-card-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.familie-card-grid-five{
  grid-template-columns: repeat(6, 1fr);
}

.familie-card-grid-five .familie-mini-card{
  grid-column: span 2;
}

.familie-card-grid-five .familie-grandparents-card{
  grid-column: span 2;
}

.familie-mini-card{
  padding: 24px;
  transition: transform .22s, box-shadow .22s;
}

.familie-mini-card:hover,
.familie-resource-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.familie-icon{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 82px;
  margin: 0 auto 1rem;
  font-size: 2.35rem;
}

.familie-mini-card h3,
.familie-resource-card h3,
.familie-step h3{
  font-size: 1.18rem;
  margin-bottom: 8px;
}

.familie-mini-card p,
.familie-resource-card p{
  line-height: 1.62;
  font-size: .9rem;
}

.familie-steps{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  counter-reset: familie-step;
}

.familie-step{
  position: relative;
  background: var(--cream);
  border: 1.5px solid rgba(59,94,50,.1);
  border-radius: var(--radius-xl);
  padding: 24px;
  overflow: hidden;
  min-height: 220px;
}

.familie-step::after{
  content: "";
  position: absolute;
  right: -34px;
  bottom: -46px;
  width: 140px;
  height: 140px;
  border-radius: 999px;
  background: rgba(107,158,94,.12);
}

.familie-step-number{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: var(--forest);
  color: #fff;
  font-family: "Fraunces", serif;
  font-weight: 900;
  margin-bottom: 18px;
}

.familie-step p{
  position: relative;
  z-index: 1;
  color: #5a6a54;
  line-height: 1.62;
  font-size: .9rem;
}

.familie-resource-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.familie-resource-card{
  padding: 22px;
  transition: transform .22s, box-shadow .22s;
}

.familie-resource-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.familie-resource-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  font-size: 2rem;
}

.familie-resource-count{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(59,94,50,.08);
  color: var(--forest);
  font-size: .72rem;
  font-weight: 900;
  white-space: nowrap;
}

.familie-text-link{
  display: inline-flex;
  margin-top: 16px;
  color: var(--forest);
  font-weight: 900;
  text-decoration: none;
}

.familie-text-link:hover{
  text-decoration: underline;
}

.familie-heart-box{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 22px;
  align-items: stretch;
  background:
    radial-gradient(circle at 92% 16%, rgba(255,255,255,.78), transparent 28%),
    linear-gradient(135deg, #f5ead2 0%, #dce8ce 64%, #bed2ae 100%);
  border: 1.5px solid rgba(59,94,50,.14);
  border-radius: 34px;
  padding: clamp(24px, 4vw, 44px);
  overflow: hidden;
  position: relative;
}

.familie-heart-box::after{
  content: "♡";
  position: absolute;
  right: 20px;
  bottom: -36px;
  color: rgba(59,94,50,.12);
  font-family: "Fraunces", serif;
  font-size: clamp(110px, 18vw, 190px);
  line-height: 1;
}

.familie-heart-copy,
.familie-heart-note{
  position: relative;
  z-index: 1;
}

.familie-heart-copy .sh{
  margin-bottom: 18px;
}

.familie-heart-note{
  background: rgba(255,253,247,.72);
  border: 1.5px solid rgba(255,255,255,.5);
  border-radius: 26px;
  padding: 24px;
  align-self: center;
  box-shadow: 0 14px 32px rgba(26,36,22,.08);
}

.familie-idea-list{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.familie-idea{
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  align-items: center;
  background: var(--cream);
  border: 1.5px solid rgba(59,94,50,.1);
  border-radius: var(--radius-lg);
  padding: 18px;
}

.familie-idea span{
  font-family: "Fraunces", serif;
  color: var(--forest);
  font-weight: 900;
  font-size: 1.45rem;
}

.familie-idea p{
  color: #5a6a54;
  line-height: 1.6;
  font-size: .94rem;
}

.familie-contact-box{
  background: var(--forest);
  color: #fff;
  border-radius: 34px;
  padding: clamp(26px, 4vw, 44px);
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  overflow: hidden;
  position: relative;
}

.familie-contact-box::after{
  content: "🌿";
  position: absolute;
  right: 18px;
  bottom: -10px;
  font-size: clamp(66px, 12vw, 130px);
  opacity: .1;
  pointer-events: none;
}

.familie-contact-box h2{
  font-family: "Fraunces", serif;
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  line-height: 1.05;
  margin-bottom: 10px;
}

.familie-contact-box p{
  color: rgba(255,255,255,.84);
  max-width: 680px;
}

.familie-contact-box .btn{
  background: #fff;
  color: var(--forest);
  position: relative;
  z-index: 1;
}

.familie-contact-box .btn:hover{
  background: var(--cream);
}

@media (max-width: 980px) {
  .familie-steps,
.familie-resource-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .familie-two,
.familie-heart-box{
    grid-template-columns: 1fr;
  }

  .familie-quote-bg{
    min-height: 240px;
  }

  .familie-card-grid,
.familie-card-grid-five{
    grid-template-columns: repeat(2, 1fr);
  }

  .familie-card-grid-five .familie-mini-card,
.familie-card-grid-five .familie-grandparents-card{
    grid-column: span 1;
  }
}

@media (max-width: 700px) {

  .familie-card-grid,
.familie-card-grid-five,
.familie-steps,
.familie-resource-grid,
.familie-idea-list{
    grid-template-columns: 1fr;
  }

  .familie-contact-box{
    align-items: flex-start;
    flex-direction: column;
  }

  .familie-contact-actions{
    margin-top: 4px;
  }
}

@media (max-width: 540px) {
  .familie-mini-card,
.familie-resource-card,
.familie-panel,
.familie-step,
.familie-heart-note{
    padding: 20px;
  }

  .familie-idea{
    grid-template-columns: 46px 1fr;
  }

  .familie-actions .btn,
.familie-contact-actions .btn{
    width: 100%;
  }
}

    .familie-icon img{
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }

    .btn-icon{
      width: 1.35em;
      height: 1.35em;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      margin-right: .45rem;
      vertical-align: middle;
    }

    .btn-icon img{
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }

    .familie-resource-icon img{
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }

    .familie-inline-icon{
      width: 1.25em;
      height: 1.25em;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: .35rem;
      vertical-align: -.25em;
    }

    .familie-inline-icon img{
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
    }

  

  .familie-quote-bg h3,
.familie-quote-bg p,
.familie-quote-bg strong{
    position: relative;
    z-index: 1;
    color: inherit;
  }

    .familie-share-box{
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
      gap: 26px;
      align-items: stretch;
      background:
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.72), transparent 30%),
        linear-gradient(135deg, #f7edda 0%, #e3edd7 62%, #c4d8b4 100%);
      border: 1.5px solid rgba(59,94,50,.14);
      border-radius: 34px;
      padding: clamp(26px, 4vw, 46px);
      box-shadow: 0 16px 42px rgba(26,36,22,.08);
    }

    .familie-share-copy,
.familie-share-note{
      position: relative;
      z-index: 1;
    }

    .familie-share-copy .sh{
      margin-bottom: 18px;
    }

    .familie-share-copy p,
.familie-share-note p{
      color: #5a6a54;
      line-height: 1.75;
      font-size: .98rem;
    }

    .familie-share-copy p + p{
      margin-top: 14px;
    }

    .familie-share-note{
      background: rgba(255,253,247,.74);
      border: 1.5px solid rgba(255,255,255,.56);
      border-radius: 28px;
      padding: 24px;
      align-self: center;
      box-shadow: 0 14px 32px rgba(26,36,22,.08);
    }

    .familie-share-note h3{
      font-family: "Fraunces", serif;
      color: var(--ink);
      line-height: 1.18;
      font-size: 1.35rem;
      margin-bottom: 10px;
    }

    .familie-share-list{
      display: grid;
      gap: 10px;
      margin-top: 18px;
    }

    .familie-share-item{
      display: grid;
      grid-template-columns: 34px 1fr;
      gap: 10px;
      align-items: start;
      color: #5a6a54;
      line-height: 1.55;
      font-weight: 800;
      font-size: .93rem;
    }

    .familie-share-item span{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      border-radius: 999px;
      background: rgba(59,94,50,.1);
      color: var(--forest);
      font-family: "Fraunces", serif;
      font-weight: 900;
    }

    .familie-share-box::after{
      content: "♡";
      position: absolute;
      right: 18px;
      bottom: -42px;
      color: rgba(59,94,50,.1);
      font-family: "Fraunces", serif;
      font-size: clamp(120px, 18vw, 200px);
      line-height: 1;
      pointer-events: none;
    }

    @media (max-width: 900px) {
      .familie-share-box{
        grid-template-columns: 1fr;
      }
    }
