/* Custom Block Styles */

.konferenz-card {
    position: relative;
    border-radius: var(--weyel-radius-lg);
    overflow: hidden;
    background-color: var(--weyel-color-white);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    min-height: 260px;
    background-repeat: no-repeat;
    background-position: top right;
}

.konferenz-card__inner {
    position: relative;
    z-index: 2;
    max-width: 420px;
    height: 100%;
    padding: var(--weyel-space-6) var(--weyel-space-6) var(--weyel-space-6) 96px;
    border-radius: var(--weyel-radius-lg);
}

.konferenz-card__icon {
    position: absolute;
    top: var(--weyel-space-6);
    left: var(--weyel-space-6);
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: var(--accent, var(--weyel-color-green));
    color: var(--weyel-color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--weyel-font-size-xl-minus);
}

.konferenz-card__headline {
    font-family: var(--weyel-font-family-base);
    margin: 0 0 var(--weyel-space-2);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: pre-line;
}

.konferenz-card__text {
    margin: 0;
    font-size: var(--weyel-font-size-lg);
    font-family: var(--weyel-font-family-base);
    line-height: var(--weyel-line-height-base);
    color: var(--weyel-color-text-muted);
}

.konferenz-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.85) 40%, rgba(255, 255, 255, 0.6) 60%, rgba(255, 255, 255, 0.2) 100%);
    z-index: 1;
}

.accordion3 {
    display: flex;
    gap: 0;
    height: 660px;
    overflow: hidden;
}

.panel {
    flex: 1 1 0%;
    border-radius: 0;
    padding: 18px;
    background: #1f2430;
    color: var(--weyel-color-white);
    text-decoration: none;
    overflow: hidden;
    position: relative;
    transition: flex 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: flex;
}

.accordion3 .panel.is-active {
    flex: 3 1 0%;
}

/* Label (senkrecht, sichtbar wenn Panel geschlossen):
   Re-Erscheinen wird verzögert, damit das Panel erst schrumpfen kann */
.panel-default {
    opacity: 1;
    position: absolute;
    bottom: var(--weyel-space-6);
    left: var(--weyel-space-6);
    transform: rotate(-90deg);
    z-index: 50;
    pointer-events: none;
    transition: opacity 0.3s ease 0.25s, transform 0.3s ease 0.25s;
}

/* Label-Exit: sofort und schnell ausblenden */
.panel.is-active .panel-default {
    opacity: 0;
    transform: rotate(-90deg) translateY(-40px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

/* Hover-Content: startet weiter unten für spürbaren Einzug */
.panel-hover {
    position: absolute;
    left: 150px;
    width: 80%;
    max-width: 700px;
    bottom: var(--weyel-space-6);
    padding: 18px;
    opacity: 0;
    transform: translateY(28px);
    pointer-events: none;
    /* Exit: schnell verschwinden */
    transition: opacity 0.18s ease, transform 0.18s ease;
    z-index: 50;
}

.panel-hover p {
    color: var(--weyel-color-white) !important;
}

/* Hover-Content-Enter: wartet bis Panel aufgegangen ist */
.panel.is-active .panel-hover {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s,
                transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
}

.panel1 { background: url(assets/img/Header_Konferenzloesungen.png); background-size: cover; background-position: center; }
.panel2 { background: url(assets/img/Header_Informationsloesungen.png); background-size: cover; background-position: center; }
.panel3 { background: url(assets/img/Header_Buchungsloesungen2.png); background-size: cover; background-position: center; }

.panel1 .panel-default { left: -5px; bottom: 96px; }
.panel2 .panel-default { left: -31px; bottom: 120px; }
.panel3 .panel-default { left: 0; bottom: 89px; }

.panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.35s ease;
    opacity: 0.85;
}

.panel1::before { background: linear-gradient(0deg, var(--weyel-color-green) 0%, rgba(255, 255, 255, 0) 90%); }
.panel2::before { background: linear-gradient(0deg, var(--weyel-color-blue) 0%, rgba(255, 255, 255, 0) 90%); }
.panel3::before { background: linear-gradient(0deg, var(--weyel-color-red) 0%, rgba(255, 255, 255, 0) 90%); }

.panel.is-active::before {
    opacity: 1;
}

/* Custom Section Block */
.custom-section-block {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    overflow: hidden;
    padding: var(--weyel-space-8) 0;
}

.custom-section-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    transition: background var(--weyel-transition-base), opacity var(--weyel-transition-base);
    opacity: 0.8;
}

.custom-section-content {
    position: relative;
    z-index: 2;
}

/* Overlay Color Variations */
.overlay-none .custom-section-overlay {
    background-color: transparent;
    opacity: 0;
}

.overlay-red .custom-section-overlay {
    background-color: var(--weyel-color-red);
}

.overlay-green .custom-section-overlay {
    background-color: var(--weyel-color-green);
}

.overlay-blue .custom-section-overlay {
    background-color: var(--weyel-color-blue);
}

.overlay-dark .custom-section-overlay {
    background-color: var(--weyel-color-text);
}

/* Video & Embeds */
.wp-block-embed {
    margin-bottom: var(--weyel-space-7);
    max-width: 100%;
}

.wp-block-embed__wrapper {
    position: relative;
    border-radius: var(--weyel-radius-lg);
    overflow: hidden;
    box-shadow: var(--weyel-shadow-medium);
    background-color: var(--weyel-color-black);
    transition: transform var(--weyel-transition-base), box-shadow var(--weyel-transition-base);
}

.wp-block-embed__wrapper:hover {
    box-shadow: var(--weyel-shadow-mega);
}

/* Ensure iframe fills the wrapper in aspect-ratio mode */
.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Aspect Ratio classes (WordPress defaults) */
.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
    padding-bottom: 56.25%;
    height: 0;
}

.wp-embed-aspect-4-3 .wp-block-embed__wrapper {
    padding-bottom: 75%;
    height: 0;
}
