/*
Theme Name: LSVD Saar
Theme URI: https://lsvdsaar.de
Description: Child von Twenty Twenty-Five. Tokens aus P3. Termin-Modul 0.4.4.
Author: LSVD⁺ Saar
Template: twentytwentyfive
Version: 0.13.4
Text Domain: lsvdsaar
*/

:root {
  --lsvd-tinte: #1a1a1a;
  --lsvd-rot: #b42318;
  --lsvd-sand: #f3eee6;
  --lsvd-papier: #ffffff;
  --lsvd-stumm: #5c5c5c;
  --lsvd-linie: #d6d1c7;
}

body {
  color: var(--lsvd-tinte);
}

/* Header-Logo unabhängig von Block-Editor-Größenangaben lesbar halten. */
header .wp-block-site-logo { flex-shrink: 0; }
header .wp-block-site-logo img,
header img.custom-logo {
  width: clamp(120px, 12vw, 160px) !important;
  height: auto !important;
  max-width: none !important;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--lsvd-rot);
  outline-offset: 2px;
}

.pride-text:hover {
  background-image: linear-gradient(
    -70deg,
    currentColor 30%,
    violet 35%,
    indigo 40%,
    blue 45%,
    green 50%,
    yellow 55%,
    orange 60%,
    red 65%,
    currentColor 70%
  );
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 400%;
  background-position: 0% center;
  animation: lsvd-pride 2s ease infinite;
}

@keyframes lsvd-pride {
  0% { background-position: 0% center; }
  100% { background-position: 100% center; }
}

@media (prefers-reduced-motion: reduce) {
  .pride-text:hover {
    animation: none;
    color: var(--lsvd-rot);
    background-image: none;
  }
}

/* 0.9.0: Handschrift für Notizzettel (lokal, kein Google-Abruf) */
@font-face { font-family: "Caveat"; src: url("assets/fonts/caveat-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }

/* 0.9.8: Startseite – Team-Teaser mit angepinntem Polaroid */
.home-team-teaser { background-color: #efe7da; background-image: radial-gradient(rgba(120,90,50,.13) 1px, transparent 1.4px), radial-gradient(rgba(120,90,50,.08) 1px, transparent 1.4px); background-size: 22px 22px, 31px 31px; background-position: 0 0, 11px 7px; padding: 72px 24px; }
.home-team-teaser .wp-block-columns { gap: 56px; align-items: center; max-width: 1040px; margin: 0 auto; }
.home-team-polaroid { margin: 0 auto !important; max-width: 420px; background: #fff; padding: 12px 12px 58px; border-radius: 3px; transform: rotate(-3deg); box-shadow: 0 2px 4px rgba(0,0,0,.08), 0 14px 30px rgba(0,0,0,.16); position: relative; transition: transform .35s ease; }
.home-team-polaroid img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 20%; }
.home-team-polaroid::before { content: ""; position: absolute; top: -9px; left: 50%; width: 20px; height: 20px; margin-left: -10px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #ff7a6b, var(--lsvd-rot) 55%, #6e150e); box-shadow: 0 3px 5px rgba(0,0,0,.3); z-index: 2; }
.home-team-polaroid figcaption { position: absolute; left: 0; right: 0; bottom: 14px; margin: 0; text-align: center; font: 600 1.6rem/1 "Caveat", "Segoe Print", cursive; color: var(--lsvd-tinte); }
.home-team-teaser:hover .home-team-polaroid, .home-team-teaser:focus-within .home-team-polaroid { transform: rotate(0deg) scale(1.02); }
.home-team-kicker { color: var(--lsvd-rot); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; margin: 0 0 8px; }
.home-team-teaser h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.1; margin: 0 0 16px; }
.home-team-teaser p { line-height: 1.55; max-width: 44ch; }
.home-team-teaser .wp-block-button__link { border-radius: 999px; font-weight: 700; padding: 14px 26px; }
@media (max-width: 781px) { .home-team-teaser { padding: 56px 16px; } .home-team-teaser .wp-block-columns { gap: 36px; } }
@media (prefers-reduced-motion: reduce) { .home-team-polaroid { transition: none; } .home-team-teaser:hover .home-team-polaroid { transform: rotate(-3deg); } }

/* Footer: Link zur Teamseite */
.lsvd-footer__team { margin-top: 4px; }
.lsvd-footer__team a { font-weight: 600; }

/* 0.9.9: Team-Teaser auf "Der Verband" (HTML-Seite, eigenes Raster) */
.verband-team.home-team-teaser { margin: 0; }
.verband-team__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; max-width: 1040px; margin: 0 auto; }
.verband-team .home-team-polaroid a { display: block; }
.verband-team .home-team-btn { display: inline-block; background: var(--lsvd-rot); color: #fff; text-decoration: none; font-weight: 700; border-radius: 999px; padding: 14px 26px; }
.verband-team .home-team-btn:hover { background: #8f1c13; }
.verband-team .home-team-btn:focus-visible { outline: 3px solid var(--lsvd-tinte); outline-offset: 3px; }
@media (max-width: 781px) { .verband-team__grid { grid-template-columns: 1fr; gap: 36px; } }
.verband-team .home-team-polaroid { width: 100%; box-sizing: border-box; }
/* 0.9.11: Pinnadel nicht abschneiden, Polaroid nicht an den Rand kleben */
.home-team-polaroid { overflow: visible !important; }
.home-team-teaser .wp-block-column:has(.home-team-polaroid), .verband-team__grid > figure:not(.home-team-polaroid) { padding: 12px 16px 0; box-sizing: border-box; }
/* 0.9.31: Auf der Verband-Seite überschrieb die Spaltenregel das Polaroid-Padding — die Bildunterschrift lag dadurch auf dem Foto. */
.verband-team__grid > figure.home-team-polaroid { padding: 12px 12px 58px; }
