/* =========================================================
   SEINE FAMILIE
   Datei: content-familie.css
========================================================= */


/* =========================================================
   1) BASICS
========================================================= */

    /* ---------------------------------------------------------
       Wrapper
    --------------------------------------------------------- */

          .familie-wrap{
            max-width: 980px;
            margin: 0 auto;
            box-sizing: border-box;
          }


    /* ---------------------------------------------------------
       Intro / Text
    --------------------------------------------------------- */

          .familie-intro{
            margin-bottom: calc(var(--menu-gap) * 1.6);
            color: rgba(255,255,255,0.88);
            font-size: var(--font-size-content);
            line-height: var(--line-height-text);
          }

          .familie-wrap p{
            margin: 0 0 1rem 0;
            color: rgba(255,255,255,0.92);
            font-size: var(--font-size-content);
            line-height: var(--line-height-text);
          }

          .familie-wrap em{
            color: rgba(255,255,255,0.96);
          }

          .familie-credits{
              display: block;
              margin-top: 0.2rem;

              font-size: 0.74rem;
              color: rgba(255,255,255,0.55);

              text-align: right;
              font-style: italic;
          }


    /* ---------------------------------------------------------
       Links im Familien-Bereich
    --------------------------------------------------------- */

          .familie-wrap a{
            color: var(--color-link);
            text-decoration: none;
            position: relative;
            overflow-wrap: anywhere;
          }

          .familie-wrap a::after{
            content: "";
            position: absolute;
            left: 50%;
            bottom: -2px;
            width: 0;
            height: 1.5px;
            background: currentColor;
            transition: width .25s ease, left .25s ease;
          }

          .familie-wrap a:hover{
            color: var(--color-link-hover);
          }

          .familie-wrap a:hover::after{
            width: 100%;
            left: 0;
          }


/* =========================================================
   2) SEKTIONEN
========================================================= */

          .familie-section{
            margin-top: calc(var(--menu-gap) * 1.1);
            padding: calc(var(--menu-gap) * 1.05);

            border: 1px solid rgba(255,255,255,0.22);
            border-radius: var(--radius-sm);
            background: rgba(0,0,0,0.12);

            transition: background .2s ease, border-color .2s ease;
          }

          .familie-section:hover{
            background: rgba(0,0,0,0.18);
            border-color: rgba(255,255,255,0.32);
          }

          .familie-title{
            margin: 0 0 14px 0;

            font-family: var(--font-style-headline);
            font-size: calc(var(--font-size-headline-section) * 0.9);
            color: #fff;
          }

          .familie-subtitle{
            margin: 0 0 10px 0;

            font-family: var(--font-style-headline);
            font-size: calc(var(--font-size-headline-minor) * 1.02);
            color: #fff;
          }

          .familie-linkline{
            margin-top: 1rem;
            font-weight: 400;
          }


/* =========================================================
   3) FIGURES / BILDER
========================================================= */

          .familie-figure{
            margin: 0.25rem 0 1rem 0;
            max-width: 320px;
            padding: 10px;

            background:
              linear-gradient(
                180deg,
                rgba(255,255,255,0.07) 0%,
                rgba(120,160,255,0.08) 100%
              );

            border: 1px solid rgba(255,255,255,0.16);
            border-radius: var(--radius-sm);

            box-shadow:
              inset 0 0 0 1px rgba(255,255,255,0.04),
              0 10px 26px rgba(0,0,0,0.22);

            backdrop-filter: blur(2px);
            -webkit-backdrop-filter: blur(2px);

            transition:
              transform .18s ease,
              border-color .18s ease,
              box-shadow .18s ease,
              background .18s ease;
          }

          .familie-figure:hover{
            transform: translateY(-2px);
            border-color: rgba(255,255,255,0.24);

            box-shadow:
              inset 0 0 0 1px rgba(255,255,255,0.06),
              0 14px 34px rgba(0,0,0,0.28);

            background:
              linear-gradient(
                180deg,
                rgba(255,255,255,0.08) 0%,
                rgba(130,170,255,0.11) 100%
              );
          }

          .familie-figure img{
            display: block;
            width: 100%;
            height: auto;

            border-radius: calc(var(--radius-sm) * 0.7);
            border: 1px solid rgba(255,255,255,0.08);

            box-shadow: 0 6px 18px rgba(0,0,0,0.18);
          }

          .familie-figure figcaption{
              margin-top: 6px;
              
              font-family: var(--font-style-text);
              font-size: 0.82rem;
              line-height: 1.35;

              color: rgba(255,255,255,0.80);
          }


/* =========================================================
   4) POSITIONEN / GROESSEN
========================================================= */

          .familie-figure--left{
            float: left;
            margin: 0.2rem 1rem 0.95rem 0;
          }

          .familie-figure--right{
            float: right;
            margin: 0.2rem 0 0.95rem 1rem;
          }

          .familie-figure--center{
            float: none;
            clear: both;
            margin: 1rem auto;
          }

          .familie-figure--small{
            max-width: 220px;
          }

          .familie-figure--medium{
            max-width: 280px;
          }

          .familie-figure--large{
            max-width: 360px;
          }


/* =========================================================
   5) GALLERY
========================================================= */

          .familie-gallery{
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;

            max-width: 700px;
            margin: 1.6rem auto;
          }

          .familie-shot{
            margin: 0;
            padding: 8px;

            border: 1px solid rgba(255,255,255,0.16);
            border-radius: var(--radius-sm);
            background: rgba(255,255,255,0.04);

            box-shadow: 0 8px 18px rgba(0,0,0,0.18);
            overflow: hidden;
          }

          .familie-shot img{
            display: block;
            width: 100%;
            height: 320px;

            object-fit: cover;
            object-position: center top;

            border-radius: calc(var(--radius-sm) * 0.65);
          }


/* =========================================================
   6) LISTE BUCH
========================================================= */

          .familie-booklist{
            margin-top: 1.2rem;
            padding: 14px 16px;

            border: 1px solid rgba(255,255,255,0.18);
            border-radius: var(--radius-sm);
            background: rgba(0,0,0,0.10);
          }

          .familie-list{
            margin: 0;
            padding: 0;
            list-style: none;

            display: grid;
            gap: 8px;
          }

          .familie-list li{
            position: relative;
            padding-left: 24px;

            color: rgba(255,255,255,0.92);
            font-family: var(--font-style-text);
            line-height: 1.35;
          }

          .familie-list li::before{
            content: "›";
            position: absolute;
            left: 8px;
            top: 0;

            color: rgba(255,255,255,0.55);
            font-weight: 900;
          }        


/* =========================================================
   7) EXTERNE LINKS
========================================================= */

          .extlink{
            position: relative;
            display: inline-block;
            padding-right: 1.35em;
          }

          .extlink[target="_blank"]::before{
            content: "⧉";
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-55%);

            font-size: 0.85em;
            line-height: 1;
            opacity: 0.75;
            pointer-events: none;

            transition: opacity 0.2s ease, transform 0.2s ease;
          }

          .extlink[target="_blank"]:hover::before{
            opacity: 1;
            transform: translateY(-55%) translate(2px, -2px);
          }


/* =========================================================
   8) FLOATS AUFRAEUMEN
========================================================= */

          .familie-wrap::after,
          .familie-section::after{
            content: "";
            display: block;
            clear: both;
          }

          .familie-clear{
            clear: both;
          }          


/* =========================================================
   9) RESPONSIVE – DESKTOP
========================================================= */

@media (min-width: 860px){

          .familie-gallery{
            grid-template-columns: repeat(3, minmax(0, 1fr));
          }
}


/* =========================================================
   10) RESPONSIVE – MOBILE
========================================================= */

@media (max-width: 700px){

          .familie-figure,
          .familie-figure--left,
          .familie-figure--right,
          .familie-figure--center{
            float: none;
            display: block;

            max-width: 100%;
            margin: 0.45rem auto 1rem auto;
          }

          .familie-figure:hover{
            transform: none;
          }

          .familie-gallery{
            grid-template-columns: 1fr;
            max-width: 420px;
          }

          .familie-shot img{
            height: auto;
          }

          .familie-wrap p{
            text-align: left;
          }
}

@media (max-width: 768px){

          .familie-section{
            padding: calc(var(--menu-gap) * 0.9);
          }

          .familie-intro{
            margin-bottom: calc(var(--menu-gap) * 1.2);
          }
}