/* =========================================
   Block: Einladung (kss/lswn-invite)
   ========================================= */

.lswn-invite {
    position: relative;
    z-index: 4;
    padding: clamp(60px, 9vw, 124px) clamp(26px, 6vw, 86px);
    background: linear-gradient(148deg, var(--lswn-wine) 0%, var(--lswn-wine-dk) 100%);
    border-radius: 4px 60px 4px 60px;
    text-align: center;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Ranken laufen jetzt über die komplette Boxhöhe (top:0 + bottom:0, height
   bewusst nicht gesetzt — so füllt sich die Höhe an der Box entlang, auch
   wenn die Box selbst height:auto hat). Vorher waren die SVGs fix 250/280px
   hoch und wirkten neben viel höherem Content-Bereich winzig. */
.lswn-invite__orn {
    position: absolute;
    top: 0;
    bottom: 0;
    width: clamp(150px, 20vw, 260px);
    opacity: .4;
    pointer-events: none;
}
.lswn-invite__orn path {
    fill: none;
    stroke: var(--lswn-gold-lt);
    stroke-width: 1.3;
    stroke-linecap: round;
}
.lswn-invite__orn circle { fill: var(--lswn-gold-lt); }

.lswn-invite__orn--a { left: 18px; }
.lswn-invite__orn--b { right: 18px; transform: rotate(180deg); }

/* --- Frei editierbarer Inhalt (InnerBlocks: Heading/Paragraph/Buttons) ---
   Kein ACF-Feld hier — Überschrift/Text/Button sind normale WP-Core-Blöcke
   innerhalb von kss_inner_block() (siehe render.php), damit die Kundin sie
   ganz normal im Editor bearbeitet. Entsprechend generisch auf
   Element-/Core-Block-Ebene gestylt statt auf eigene Klassen. */
.lswn-invite__content {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
}
.lswn-invite__content > * {
    margin: 0 0 1em;
}
.lswn-invite__content > *:last-child {
    margin-bottom: 0;
}

.lswn-invite__content h1,
.lswn-invite__content h2,
.lswn-invite__content h3 {
    font-family: var(--lswn-serif);
    font-weight: 400;
    line-height: var(--lswn-leading-heading);
    letter-spacing: var(--lswn-tracking-heading);
    font-size: clamp(29px, 5vw, 60px);
    color: var(--lswn-parch);
    margin-bottom: 20px;
}
.lswn-invite__content h1 i,
.lswn-invite__content h2 i,
.lswn-invite__content h3 i {
    font-style: italic;
    color: var(--lswn-gold-lt);
}

.lswn-invite__content p {
    color: rgba(253, 246, 242, .78);
    max-width: 50ch;
    margin-left: auto;
    margin-right: auto;
}

.lswn-invite__content .wp-block-buttons {
    justify-content: center;
    margin-top: 14px;
}

.lswn-invite__content .wp-block-button__link {
    display: inline-block;
    position: relative;
    overflow: hidden;
    padding: 18px 50px;
    background: none;
    border: 1px solid var(--lswn-gold-lt);
    border-radius: 999px;
    font-size: 14px;
    color: var(--lswn-gold-lt);
    text-decoration: none;
    transition: color .45s ease;
}
.lswn-invite__content .wp-block-button__link::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--lswn-gold-lt);
    transform: translateY(101%);
    transition: transform .6s cubic-bezier(.2, .7, .3, 1);
}
.lswn-invite__content .wp-block-button__link:hover {
    color: var(--lswn-wine-dk);
}
.lswn-invite__content .wp-block-button__link:hover::before {
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .lswn-invite__content .wp-block-button__link,
    .lswn-invite__content .wp-block-button__link::before {
        transition: none;
    }
}
