/* ============================================================
   A&M Hero Block — Sub-Block-Variante (CSS Grid Areas)
   ============================================================ */

/* WP Block-Theme setzt im Global-Styles-Block die Regel
   `:where(.wp-site-blocks) > * { margin-block-start: 1.2rem }` —
   das ergibt ~20px Lücke zwischen Header-Template-Part und Post-
   Content-Wrapper. Wenn ein Hero im Post-Content sitzt, soll der
   Block direkt am Header kleben. Scoped via :has() damit normale
   Text-Pages ihren Atemraum behalten. */
.wp-block-post-content:has(> .ams-block-hero) {
    margin-block-start: 0;
}

.ams-block-hero {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "titel    showcase"
        "stats    showcase";
    min-height: calc(100vh - 60px);
    background: #fff;
    overflow: hidden;
}

@media (min-width: 2200px) {
    .ams-block-hero {
        max-width: 1920px;
        margin-inline: auto;
        grid-template-columns: 1fr 960px;
    }
    .ams-block-hero__showcase-section { border-bottom-right-radius: 24px; }
}

/* ── SIGNET-ORNAMENT (jetzt auf der Section, nicht __left) ── */
.ams-block-hero::before {
    content: '';
    position: absolute;
    top: 50%; left: 38%;
    transform: translate(-50%, -55%) scale(0.92);
    width: 520px; height: 520px;
    background: url('../../../assets/logos/AuM_Signet.png') no-repeat center/contain;
    opacity: 0; pointer-events: none; z-index: 0;
    animation: ams-heroMarkIn 1.6s var(--ease-out, cubic-bezier(0.22,0.61,0.36,1)) 0.5s both;
}
@keyframes ams-heroMarkIn {
    from { opacity: 0; transform: translate(-50%, -55%) scale(0.92); }
    to   { opacity: 0.045; transform: translate(-50%, -55%) scale(1); }
}

/* ── SUB-BLOCK: TITEL ──────────────────────────────────── */
.ams-block-hero__titel {
    grid-area: titel;
    position: relative; z-index: 1;
    padding: 96px 64px 0 120px;
    display: flex; flex-direction: column;
    animation: ams-heroFadeUp 0.6s ease both;
}
.ams-block-hero__titel .ams-eyebrow { margin: 0; animation: ams-heroFadeUp 0.6s ease 0s both; opacity: 0; }
.ams-block-hero__title {
    font-family: var(--font-display, 'Roboto', sans-serif);
    font-weight: 500;
    font-size: clamp(2.8rem, 5.2vw, 4.4rem);
    line-height: 1.06; letter-spacing: -0.02em;
    color: var(--ink, #1a1a1a);
    text-wrap: balance; max-width: 16ch;
    margin: 12px 0 0;
    animation: ams-heroFadeUp 0.6s ease 0.1s both; opacity: 0;
}
.ams-block-hero__title em { font-style: italic; font-weight: 500; color: var(--brand-primary, #cc0000); }
/* Safety-Net: falls rich_text doch mal nested <p> liefert */
.ams-block-hero__title > p { margin: 0; display: inline; }

.ams-block-hero__lead {
    font-size: 1.05rem; color: var(--ink-2, #4a4a4a);
    line-height: 1.7; max-width: 480px; margin: 24px 0 0;
    animation: ams-heroFadeUp 0.6s ease 0.2s both; opacity: 0;
}
.ams-block-hero__lead strong { color: var(--ink, #1a1a1a); font-weight: 600; }
.ams-block-hero__lead > p { margin: 0; display: inline; }

.ams-block-hero__actions {
    display: flex; gap: 28px;
    align-items: center; flex-wrap: wrap;
    margin-top: 32px;
    animation: ams-heroFadeUp 0.6s ease 0.3s both; opacity: 0;
}
.ams-hero-cta-sec.is-visible { display: inline-flex !important; }

.ams-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 0.78rem; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--brand-primary, #cc0000);
}
.ams-eyebrow::before { content: ''; width: 24px; height: 2px; background: var(--brand-primary, #cc0000); }

/* ── BUTTONS ───────────────────────────────────────────── */
.ams-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 13px 26px; border-radius: 100px;
    font-weight: 600; font-size: 0.92rem;
    transition: all 200ms var(--ease-out, cubic-bezier(0.22,0.61,0.36,1));
    border: 0; cursor: pointer; font-family: inherit;
    text-decoration: none;
}
.ams-btn--primary { background: var(--brand-primary, #cc0000); color: #fff; box-shadow: var(--shadow-cta, 0 4px 16px rgba(204,0,0,0.25)); }
.ams-btn--primary:hover { background: var(--brand-primary-dark, #990000); transform: translateY(-2px); color: #fff; }
.ams-btn--ghost { color: var(--ink, #1a1a1a); padding: 13px 4px; background: transparent; position: relative; transition: gap 200ms var(--ease-out); }
.ams-btn--ghost:hover { gap: 12px; }
.ams-btn--ghost::before {
    content: ''; position: absolute;
    left: 4px; right: 30px; bottom: 8px; height: 2px;
    background: var(--brand-primary, #cc0000); border-radius: 100px;
    transform-origin: left center; transform: scaleX(0);
    transition: transform 320ms var(--ease-out);
    pointer-events: none;
}
.ams-btn--ghost:hover::before { transform: scaleX(1); }
.ams-btn .arr { color: var(--brand-primary, #cc0000); display: inline-block; transition: transform 320ms var(--ease-out); }
.ams-btn--primary .arr { color: inherit; }
.ams-btn--ghost:hover .arr { transform: translateX(5px); }
.ams-btn--ghost .btn__label { display: inline-block; transition: opacity 220ms var(--ease-out), transform 220ms var(--ease-out); }
.ams-btn--ghost .btn__label.is-leaving  { opacity: 0; transform: translateY(-8px); }
.ams-btn--ghost .btn__label.is-entering { opacity: 0; transform: translateY(8px); transition: none; }

/* ── SUB-BLOCK: STATS ──────────────────────────────────── */
.ams-block-hero__stats-section {
    grid-area: stats;
    position: relative; z-index: 1;
    padding: 0 64px 48px 120px;
    display: flex; flex-direction: column;
    gap: 32px;
    align-self: center;
    animation: ams-heroFadeUp 0.6s ease 0.4s both; opacity: 0;
}
.ams-block-hero__stats { display: flex; gap: 56px; flex-wrap: wrap; }
.ams-stat { display: flex; align-items: center; gap: 16px; cursor: help; transition: transform 250ms var(--ease-out); }
.ams-stat:hover { transform: translateY(-2px); }
.ams-stat:hover .ams-stat__num { color: var(--brand-primary, #cc0000); }
.ams-stat__num {
    font-family: var(--font-display, 'Roboto', sans-serif);
    font-weight: 700; font-size: 2.2rem; line-height: 1;
    color: var(--ink, #1a1a1a); letter-spacing: -0.02em;
    transition: color 250ms var(--ease-out);
}
.ams-stat__icon { flex-shrink: 0; color: var(--brand-primary, #cc0000); transition: transform 250ms var(--ease-out); }
.ams-stat:hover .ams-stat__icon { transform: scale(1.08); }
.ams-stat__icon svg { width: 42px; height: 42px; }
.ams-stat__text { display: flex; flex-direction: column; }
.ams-stat__lbl { font-size: 0.78rem; color: var(--ink-2, #4a4a4a); margin-top: 6px; letter-spacing: 0.04em; font-weight: 500; }

.ams-block-hero__facts { position: relative; min-height: 64px; }
.ams-block-hero__facts-set { position: absolute; inset: 0; opacity: 0; transition: opacity 280ms var(--ease-out); pointer-events: none; }
.ams-block-hero__facts-set.is-active { opacity: 1; }
.ams-block-hero__facts-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 0.66rem; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--brand-primary, #cc0000); margin-bottom: 6px;
}
.ams-block-hero__facts-eyebrow::before { content: ''; width: 16px; height: 1.5px; background: var(--brand-primary, #cc0000); border-radius: 100px; }
.ams-block-hero__facts-item { display: none; font-size: 0.88rem; color: var(--ink-2, #4a4a4a); line-height: 1.5; max-width: 560px; }
.ams-block-hero__facts-item.is-active { display: block; }

/* ── SUB-BLOCK: SHOWCASE ───────────────────────────────── */
.ams-block-hero__showcase-section {
    grid-area: showcase;
    background: var(--surface, #f5f4f2);
    position: relative; overflow: hidden;
    min-height: 560px;
    border-bottom-left-radius: 24px;
    animation: ams-heroFadeIn 0.8s ease 0.2s both; opacity: 0;
}
.ams-block-hero__showcase { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.ams-scene {
    position: absolute; inset: 0;
    padding: 48px 56px 296px;
    display: flex; flex-direction: column; gap: 12px;
    opacity: 0;
    transition: opacity 900ms var(--ease-out, cubic-bezier(0.22,0.61,0.36,1));
    overflow: hidden;
}
.ams-scene.is-active { opacity: 1; transition-delay: 80ms; }
.ams-scene__bg { position: absolute; inset: 0; background-size: cover; z-index: 0; }
.ams-scene--photo .ams-scene__bg::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(26,26,26,0) 0%, rgba(26,26,26,0.15) 55%, rgba(26,26,26,0.45) 100%);
}

.ams-block-hero__strip { position: absolute; left: 0; right: 0; z-index: 4; padding: 16px 48px 14px; }
.ams-block-hero__strip--info {
    top: 0; padding: 24px 48px 80px;
    background: linear-gradient(180deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0.72) 45%, rgba(10,10,10,0.24) 82%, rgba(10,10,10,0) 100%);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, rgba(0,0,0,0.4) 90%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 55%, rgba(0,0,0,0.4) 90%, transparent 100%);
    backdrop-filter: blur(10px) saturate(110%);
}
.ams-block-hero__strip--info > * { max-width: 540px; }
.ams-block-hero__strip--tabs {
    bottom: 0; padding: 80px 48px 26px;
    background: linear-gradient(0deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0.72) 45%, rgba(10,10,10,0.24) 82%, rgba(10,10,10,0) 100%);
    -webkit-mask-image: linear-gradient(0deg, #000 0%, #000 55%, rgba(0,0,0,0.4) 90%, transparent 100%);
    mask-image: linear-gradient(0deg, #000 0%, #000 55%, rgba(0,0,0,0.4) 90%, transparent 100%);
    backdrop-filter: blur(10px) saturate(110%);
}

.ams-block-hero__card-eyebrow {
    font-size: 0.72rem; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: #fff; display: inline-flex; align-items: center; gap: 8px;
    margin-bottom: 10px; text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}
.ams-block-hero__card-eyebrow::before { content: ''; width: 24px; height: 2px; background: var(--brand-primary, #cc0000); border-radius: 100px; }
.ams-block-hero__card-title {
    font-family: var(--font-display, 'Roboto', sans-serif);
    font-weight: 600; font-size: 1.6rem; line-height: 1.12;
    letter-spacing: -0.015em; color: #fff;
    transition: opacity 250ms var(--ease-out);
    margin-bottom: 10px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.85), 0 2px 8px rgba(0,0,0,0.55);
}
.ams-block-hero__card-title.is-fading { opacity: 0; }
.ams-block-hero__card-desc {
    font-size: 0.95rem; color: #fff; line-height: 1.55;
    min-height: 44px;
    transition: opacity 250ms var(--ease-out);
    margin: 0;
    text-shadow: 0 1px 3px rgba(0,0,0,0.85), 0 2px 6px rgba(0,0,0,0.5);
}
.ams-block-hero__card-desc.is-fading { opacity: 0; }

.ams-scenebar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; align-items: stretch; }
.ams-seg {
    position: relative; background: transparent; border: 0;
    padding: 10px 8px 12px; font-family: inherit;
    cursor: pointer; text-align: center;
    transition: color 200ms var(--ease-out);
    display: flex; flex-direction: column; gap: 14px;
}
.ams-seg__label {
    font-family: var(--font-display, 'Roboto', sans-serif);
    font-weight: 500; font-size: 1.4rem; line-height: 1.1;
    color: rgba(255,255,255,0.6); letter-spacing: -0.01em;
    transition: color 250ms var(--ease-out);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7);
}
.ams-seg:hover .ams-seg__label { color: rgba(255,255,255,0.92); }
.ams-seg.is-active .ams-seg__label { color: #fff; font-weight: 600; }
.ams-seg__progress {
    position: relative; height: 3px; border-radius: 100px;
    background: rgba(255,255,255,0.12); overflow: hidden;
    transition: background 250ms var(--ease-out);
}
.ams-seg.is-active .ams-seg__progress { background: rgba(255,255,255,0.22); }
.ams-seg__progress::after {
    content: ''; position: absolute; inset: 0;
    background: var(--brand-primary, #cc0000); border-radius: 100px;
    transform-origin: left; transform: scaleX(0);
}
.ams-seg.is-active .ams-seg__progress::after {
    animation: ams-segFill var(--ams-seg-duration, 6s) linear forwards;
    animation-play-state: var(--ams-seg-play, running);
}
@keyframes ams-segFill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ── Entry-Animations ──────────────────────────────────── */
@keyframes ams-heroFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ams-heroFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ── REDUCED MOTION ───────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .ams-block-hero__titel,
    .ams-block-hero__stats-section,
    .ams-block-hero__showcase-section,
    .ams-block-hero__titel > *,
    .ams-block-hero::before { animation: none; opacity: 1; transform: none; }
    .ams-block-hero::before { opacity: 0.045; }
    .ams-scene { transition: none; }
    .ams-seg.is-active .ams-seg__progress::after { animation: none; transform: scaleX(1); }
}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 1024px) {
    .ams-block-hero {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "titel"
            "stats"
            "showcase";
        min-height: auto;
    }
    .ams-block-hero__titel { padding: 80px 48px 0; }
    .ams-block-hero__stats-section { padding: 32px 48px 48px; }
    .ams-block-hero__showcase-section { min-height: 560px; border-bottom-left-radius: 0; }
}
@media (max-width: 640px) {
    .ams-block-hero__titel { padding: 48px 24px 0; }
    .ams-block-hero__stats-section { padding: 24px 24px 32px; }
    .ams-block-hero__title { font-size: clamp(2rem, 8vw, 2.6rem); }
    .ams-block-hero__stats { gap: 24px; }
    .ams-stat__num { font-size: 1.6rem; }
    .ams-stat__icon svg { width: 30px; height: 30px; }
    .ams-scenebar { grid-template-columns: repeat(3, 1fr); }
    .ams-block-hero__strip--info,
    .ams-block-hero__strip--tabs { padding-left: 24px; padding-right: 24px; }
}

/* ── EDITOR-SPECIFIC ──────────────────────────────────── */
.editor-styles-wrapper .ams-block-hero { min-height: 600px; }
.editor-styles-wrapper .ams-block-hero__titel,
.editor-styles-wrapper .ams-block-hero__stats-section { padding-left: 32px; padding-right: 32px; }
