/* ==========================================================================
   mod_alpgeotech_bg_section – Hintergrundbild-Modul
   ========================================================================== */

/* ── Haupt-Hintergrund-Element ─────────────────────────────────────────── */
.agt-bg-section {
    position: absolute;
    inset: -35% 0;        /* Extra-Raum oben/unten für Parallax-Bewegung      */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 0;
    will-change: transform;
    pointer-events: none;
}

/* Parent-Sektion muss position:relative + overflow:hidden haben –
   wird von .section-mission / .section-produkte in template.css gesetzt   */

/* ── Overlay ───────────────────────────────────────────────────────────── */
.agt-bg-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

/* ── Innen-Rahmen ──────────────────────────────────────────────────────── */
.agt-bg-frame {
    position: absolute;
    z-index: 3;
    pointer-events: none;
}

/* ── Schatten-Varianten ────────────────────────────────────────────────── */
.agt-bg-shadow {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

/* Stärken-Multiplikatoren */
.agt-shadow-strength-soft   { --agt-shadow-alpha: 0.35; --agt-shadow-size: 60px; }
.agt-shadow-strength-medium { --agt-shadow-alpha: 0.55; --agt-shadow-size: 90px; }
.agt-shadow-strength-strong { --agt-shadow-alpha: 0.75; --agt-shadow-size: 130px; }

.agt-shadow-inset-top {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,var(--agt-shadow-alpha, 0.55)) 0%,
        transparent var(--agt-shadow-size, 90px)
    );
}

.agt-shadow-inset-bottom {
    background: linear-gradient(
        to top,
        rgba(0,0,0,var(--agt-shadow-alpha, 0.55)) 0%,
        transparent var(--agt-shadow-size, 90px)
    );
}

.agt-shadow-inset-both {
    background:
        linear-gradient(to bottom, rgba(0,0,0,var(--agt-shadow-alpha, 0.55)) 0%, transparent var(--agt-shadow-size, 90px)),
        linear-gradient(to top,    rgba(0,0,0,var(--agt-shadow-alpha, 0.55)) 0%, transparent var(--agt-shadow-size, 90px));
}

.agt-shadow-vignette {
    background: radial-gradient(
        ellipse at center,
        transparent 40%,
        rgba(0,0,0,var(--agt-shadow-alpha, 0.55)) 100%
    );
}

/* ── Bild-Animationen ──────────────────────────────────────────────────── */
@keyframes agt-ken-burns {
    0%   { transform: scale(1.0) translate(0, 0); }
    50%  { transform: scale(1.08) translate(-1%, 0.5%); }
    100% { transform: scale(1.0) translate(0, 0); }
}

@keyframes agt-drift-left {
    0%   { transform: translateX(0); }
    50%  { transform: translateX(-3%); }
    100% { transform: translateX(0); }
}

@keyframes agt-drift-right {
    0%   { transform: translateX(0); }
    50%  { transform: translateX(3%); }
    100% { transform: translateX(0); }
}

@keyframes agt-drift-up {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-3%); }
    100% { transform: translateY(0); }
}

@keyframes agt-pulse {
    0%   { transform: scale(1.0); }
    50%  { transform: scale(1.04); }
    100% { transform: scale(1.0); }
}

.agt-bg-anim-ken-burns  { animation: agt-ken-burns  20s ease-in-out infinite; }
.agt-bg-anim-drift-left  { animation: agt-drift-left  20s ease-in-out infinite; }
.agt-bg-anim-drift-right { animation: agt-drift-right 20s ease-in-out infinite; }
.agt-bg-anim-drift-up    { animation: agt-drift-up    20s ease-in-out infinite; }
.agt-bg-anim-pulse       { animation: agt-pulse       20s ease-in-out infinite; }

/* Die animation-duration wird per inline style überschrieben */

/* ── Barrierefreiheit ──────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .agt-bg-anim-ken-burns,
    .agt-bg-anim-drift-left,
    .agt-bg-anim-drift-right,
    .agt-bg-anim-drift-up,
    .agt-bg-anim-pulse {
        animation: none !important;
    }
}
