/* ===================================================================
   DIE FUNKTIONEN-SEITE — DIE VIER RASTER

   Die zehn App-Kacheln, die Punkte darunter, die vier Dinge ohne
   Cloud und die drei Plattformen. Getrennt von `funktionen.css`, weil
   dort der Rahmen steht und hier der Inhalt — und weil beide zusammen
   über dreihundert Zeilen kämen.

   Das Licht dieser Kästen steht in `glas.css`, ihre Bewegung in
   `js/funktionen-leben.js`. Hier stehen Spalten und Abstände.
   =================================================================== */

:root[data-thema] .fn-apps {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

:root[data-thema] .fn-app {

    position: relative;
    display: block;
    padding: 1.3rem;
    border-width: 1px;
    border-style: solid;
    border-radius: var(--k-rund-mittel);
    background: var(--k-vertieft);
    text-decoration: none;
    transition: transform var(--bew-schnell) var(--bew-beides);
}

:root[data-thema] .fn-app:hover {

    transform: translateY(-1px);
}

:root[data-thema] .fn-app__kopf {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

:root[data-thema] .fn-app__kopf i {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--k-rund-klein);
    background: var(--k-vertieft);
    font-size: 0.95rem;
}

:root[data-thema] .fn-app__kopf i::before {
    background-image: var(--k-verlauf);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

:root[data-thema] .fn-app__kopf h3 {
    color: var(--k-text);
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

:root[data-thema] .fn-app p {
    color: var(--k-text-leise);
    font-size: 0.92rem;
    line-height: 1.75;
}

:root[data-thema] .fn-system {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
    gap: 1rem;
}

:root[data-thema] .fn-nie {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

:root[data-thema] .fn-teil,
:root[data-thema] .fn-nie__punkt {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.2rem 1.3rem;
    border-width: 1px;
    border-style: solid;
    border-radius: var(--k-rund-mittel);
    background: var(--k-vertieft);
}

:root[data-thema] .fn-teil > i,
:root[data-thema] .fn-nie__punkt > i {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: var(--k-rund-klein);
    background: var(--k-vertieft);
    font-size: 1rem;
}

:root[data-thema] .fn-teil > i::before,
:root[data-thema] .fn-nie__punkt > i::before {
    background-image: var(--k-verlauf);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

:root[data-thema] .fn-teil h3,
:root[data-thema] .fn-nie__punkt h3 {
    color: var(--k-text);
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.4rem;
}

:root[data-thema] .fn-teil p,
:root[data-thema] .fn-nie__punkt p {
    color: var(--k-text-leise);
    font-size: 0.92rem;
    line-height: 1.75;
}

:root[data-thema] .fn-weiter {
    display: inline-block;
    color: var(--k-text);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
}

:root[data-thema] .fn-wo {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-bottom: 1.6rem;
}

:root[data-thema] .fn-plattform {
    position: relative;
    padding: 1.6rem 1.2rem;
    border-width: 1px;
    border-style: solid;
    border-radius: var(--k-rund-mittel);
    background: var(--k-vertieft);
    text-align: center;
}

:root[data-thema] .fn-plattform > i {
    display: block;
    margin-bottom: 0.7rem;
    background-image: var(--k-verlauf);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.6rem;
}

:root[data-thema] .fn-plattform > i.zeichen--zerfaellt::before {
    visibility: hidden;
}

:root[data-thema] .fn-plattform h3 {
    color: var(--k-text);
    font-size: 1.02rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
}

:root[data-thema] .fn-plattform p,
:root[data-thema] .fn-plattform span {
    color: var(--k-text-still);
    font-size: 0.85rem;
    line-height: 1.6;
}

:root[data-thema] .fn-plattform--ziel {
    border-color: transparent;
    background: var(--k-schein-verlauf-leise);
    box-shadow: 0 6px 22px var(--k-schein-leise);
}

:root[data-thema] .fn-satz {
    max-width: 760px;
    color: var(--k-text-leise);
    font-size: 0.95rem;
    line-height: 1.8;
}
