/**
 * CVOT Block-specific Styles
 * Styles for all ACF blocks
 *
 * @package CVOT_Kadence
 */

/* ============================================================
   Hero Section Block — 1:1 aus templates/index-cvot-mode.html
   ============================================================ */
/* Template: <div class="relative bg-cvot-primary pt-24 pb-32 lg:pt-32 lg:pb-44 overflow-hidden"> */
.cvot-hero {
    position: relative;
    background: var(--cvot-primary); /* bg-cvot-primary = #00355e */
    padding: 6rem 0 8rem;            /* pt-24 pb-32 = 6rem 8rem */
    overflow: hidden;
    color: #fff;
}
/* Template: <div class="absolute inset-0 z-0"> */
.cvot-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
/* Template: <img class="w-full h-full object-cover opacity-20 mix-blend-overlay" /> */
.cvot-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.2;                 /* opacity-20 */
    mix-blend-mode: overlay;      /* mix-blend-overlay */
}
/* Template: <div class="absolute inset-0 bg-gradient-to-r from-cvot-primary via-cvot-primary/95 to-cvot-primary/80"></div> */
.cvot-hero__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        #00355e 0%,                  /* from-cvot-primary */
        rgba(0, 53, 94, 0.95) 50%,   /* via-cvot-primary/95 */
        rgba(0, 53, 94, 0.8) 100%    /* to-cvot-primary/80 */
    );
}
/* Template: <div class="absolute -top-24 -right-24 w-96 h-96 bg-cvot-accent opacity-10 rounded-full blur-3xl"></div> */
.cvot-hero__glow-1 {
    position: absolute;
    top: -6rem;          /* -top-24 */
    right: -6rem;        /* -right-24 */
    width: 24rem;        /* w-96 */
    height: 24rem;       /* h-96 */
    background: var(--cvot-accent);
    opacity: 0.1;        /* opacity-10 */
    border-radius: 9999px;
    filter: blur(64px);  /* blur-3xl = 64px */
    pointer-events: none;
}
/* Template: <div class="absolute bottom-0 left-0 w-64 h-64 bg-cvot-secondary opacity-20 rounded-full blur-3xl"></div> */
.cvot-hero__glow-2 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 16rem;        /* w-64 */
    height: 16rem;       /* h-64 */
    background: var(--cvot-secondary);
    opacity: 0.2;        /* opacity-20 */
    border-radius: 9999px;
    filter: blur(64px);  /* blur-3xl */
    pointer-events: none;
}
/* Template: <div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center"> */
.cvot-hero__content {
    position: relative;
    z-index: 10;
    max-width: 80rem;  /* max-w-7xl */
    margin: 0 auto;
    padding: 0 1rem;   /* px-4 */
    text-align: center;
}
@media (min-width: 640px) {
    .cvot-hero__content { padding: 0 1.5rem; } /* sm:px-6 */
}
@media (min-width: 1024px) {
    .cvot-hero__content { padding: 0 2rem; }   /* lg:px-8 */
}
/* Template: <div class="space-y-8 max-w-4xl mx-auto"> */
.cvot-hero__inner {
    max-width: 56rem;  /* max-w-4xl */
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2rem;         /* space-y-8 */
}

/* Template Badge:
   <div class="inline-flex items-center space-x-2 bg-white/10 backdrop-blur-sm rounded-full px-5 py-2 border border-white/20"> */
.cvot-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;                              /* space-x-2 */
    background: rgba(255, 255, 255, 0.1);     /* bg-white/10 */
    backdrop-filter: blur(4px);               /* backdrop-blur-sm */
    -webkit-backdrop-filter: blur(4px);
    border-radius: 9999px;                    /* rounded-full */
    padding: 0.5rem 1.25rem;                  /* py-2 px-5 */
    border: 1px solid rgba(255, 255, 255, 0.2); /* border-white/20 */
    font-size: 0.875rem;                      /* text-sm */
    font-weight: 500;                         /* font-medium */
    color: #e5e7eb;                           /* text-gray-200 */
    letter-spacing: 0.025em;                  /* tracking-wide */
    width: fit-content;
    margin: 0 auto;
}
.cvot-hero__badge svg {
    width: 1rem;  /* w-4 */
    height: 1rem; /* h-4 */
}
/* Template: <span class="text-gray-400">|</span> */
.cvot-hero__badge-sep {
    color: #9ca3af; /* text-gray-400 */
}

/* Template: <div class="space-y-4"> */
.cvot-hero__title-group {
    display: flex;
    flex-direction: column;
    gap: 1rem; /* space-y-4 */
}

/* Template: <h1 class="text-5xl lg:text-7xl font-extrabold text-white tracking-tight leading-none"> */
.cvot-hero h1 {
    font-size: 3rem;           /* text-5xl */
    font-weight: 800;          /* font-extrabold */
    color: #fff;
    letter-spacing: -0.025em;  /* tracking-tight */
    line-height: 1;            /* leading-none */
    margin: 0;
}

/* Template: <p class="text-xl lg:text-2xl font-light text-blue-100 max-w-3xl mx-auto leading-relaxed"> */
.cvot-hero__subtitle {
    font-size: 1.25rem;   /* text-xl */
    font-weight: 300;     /* font-light */
    color: #dbeafe;       /* text-blue-100 (Tailwind default) */
    max-width: 48rem;     /* max-w-3xl */
    margin: 0 auto;
    line-height: 1.625;   /* leading-relaxed */
}
/* Template: <strong class="text-white font-semibold"> */
.cvot-hero__subtitle strong {
    color: #fff;
    font-weight: 600;
}

/* Subline (12th Annual Congress …): so groß wie die Subtitle-Zeile darüber,
   hellblau, ohne Uppercase. */
.cvot-hero__tagline {
    font-size: 1.25rem;                 /* wie .cvot-hero__subtitle (text-xl) */
    font-weight: 600;
    color: #bcdcef;                     /* Hellblau (vormals --cvot-secondary) */
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.4;
    padding-top: 0.5rem;                /* pt-2 */
    margin: 0;
}

/* Template: <div class="flex flex-col sm:flex-row gap-4 justify-center pt-4"> */
.cvot-hero__actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;            /* gap-4 */
    justify-content: center;
    padding-top: 1rem;    /* pt-4 */
}
@media (min-width: 640px) {
    .cvot-hero__actions { flex-direction: row; } /* sm:flex-row */
}

/* Primary CTA — Template:
   class="group inline-flex items-center justify-center px-8 py-4 text-base font-bold text-white
          bg-cvot-accent rounded-full shadow-lg shadow-orange-900/20 hover:bg-orange-600
          hover:shadow-orange-900/30 transition-all duration-300 transform hover:-translate-y-1" */
.cvot-hero .cvot-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;                           /* py-4 px-8 */
    font-size: 1rem;                              /* text-base */
    font-weight: 700;                             /* font-bold */
    color: #fff;
    background: var(--cvot-accent);               /* bg-cvot-accent = #f57c00 */
    border-radius: 9999px;                        /* rounded-full */
    border: none;
    text-decoration: none;
    /* shadow-lg + shadow-orange-900/20: Tailwind shadow-lg Base mit orange-900 (#7c2d12) @ 20% */
    box-shadow: 0 10px 15px -3px rgba(124, 45, 18, 0.2), 0 4px 6px -4px rgba(124, 45, 18, 0.2);
    transition: all 0.3s ease;
}
.cvot-hero .cvot-btn-primary:hover {
    background: #ea580c; /* hover:bg-orange-600 (Tailwind) */
    color: #fff;
    box-shadow: 0 10px 15px -3px rgba(124, 45, 18, 0.3), 0 4px 6px -4px rgba(124, 45, 18, 0.3);
    transform: translateY(-0.25rem); /* hover:-translate-y-1 */
}
.cvot-hero .cvot-btn-primary svg {
    width: 1.25rem;     /* w-5 */
    height: 1.25rem;    /* h-5 */
    margin-right: 0.5rem; /* mr-2 */
    flex-shrink: 0;
}

/* Secondary CTA — Template:
   class="group inline-flex items-center justify-center px-8 py-4 text-base font-semibold text-white
          bg-white/5 border border-white/20 rounded-full hover:bg-white/10 transition-all duration-300 backdrop-blur-sm" */
.cvot-hero .cvot-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;                              /* py-4 px-8 */
    font-size: 1rem;                                 /* text-base */
    font-weight: 600;                                /* font-semibold */
    color: #fff;
    background: rgba(255, 255, 255, 0.05);           /* bg-white/5 */
    border: 1px solid rgba(255, 255, 255, 0.2);      /* border-white/20 */
    border-radius: 9999px;                           /* rounded-full */
    text-decoration: none;
    backdrop-filter: blur(4px);                      /* backdrop-blur-sm */
    -webkit-backdrop-filter: blur(4px);
    transition: all 0.3s ease;
}
.cvot-hero .cvot-btn-outline:hover {
    background: rgba(255, 255, 255, 0.1); /* hover:bg-white/10 */
    color: #fff;
}
.cvot-hero .cvot-btn-outline svg {
    width: 1rem;         /* w-4 */
    height: 1rem;        /* h-4 */
    margin-left: 0.5rem; /* ml-2 */
    flex-shrink: 0;
}
/* Template: opacity-70 group-hover:translate-x-1 transition-transform */
.cvot-hero__btn-arrow {
    opacity: 0.7;
    transition: transform 0.3s ease;
}
.cvot-hero .cvot-btn-outline:hover .cvot-hero__btn-arrow {
    transform: translateX(0.25rem); /* translate-x-1 */
}

/* Template: pt-32 pb-44 + text-7xl + text-2xl ab lg */
@media (min-width: 1024px) {
    .cvot-hero { padding: 8rem 0 11rem; }        /* lg:pt-32 lg:pb-44 */
    .cvot-hero h1 { font-size: 4.5rem; }         /* lg:text-7xl */
    .cvot-hero__subtitle { font-size: 1.5rem; }  /* lg:text-2xl */
    .cvot-hero__tagline  { font-size: 1.5rem; }  /* wie Subtitle, lg:text-2xl */
}

/* ============================================================
   Countdown Timer Block
   ============================================================ */
.cvot-countdown {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-2xl);
    border: 1px solid #fff;
    overflow: hidden;
    padding: 2rem;
}
@media (min-width: 1024px) {
    .cvot-countdown { padding: 2.5rem; }
}
.cvot-countdown__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.cvot-countdown__icon {
    background: var(--cvot-light);
    padding: 0.75rem;
    border-radius: 1rem;
    flex-shrink: 0;
}
.cvot-countdown__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0;
    margin-top: 0 !important; /* überschreibt fremde h2-Styles */
    /* Icon-Box links ist 48px hoch (24px SVG + 2×12px Padding) – gleiche
       line-height zentriert den Text vertikal bündig zum Icon. */
    line-height: 48px;
}
.cvot-countdown__info {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0;
}
.cvot-countdown__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    margin-bottom: 2rem;
}
@media (min-width: 640px) {
    .cvot-countdown__grid { gap: 1rem; }
}
.cvot-countdown__item {
    text-align: center;
}
.cvot-countdown__item .countdown-digit {
    border-radius: 1rem;
    padding: 1rem 0.5rem;
    box-shadow: var(--cvot-shadow-lg);
    margin-bottom: 0.5rem;
    background: linear-gradient(135deg, var(--cvot-primary), #002847);
}
@media (min-width: 640px) {
    .cvot-countdown__item .countdown-digit { padding: 1.5rem 0.5rem; }
}
.cvot-countdown__item .countdown-digit span {
    font-size: 1.875rem;
    font-weight: 800;
    color: #fff;
    font-variant-numeric: tabular-nums;
    display: block;
}
@media (min-width: 640px) {
    .cvot-countdown__item .countdown-digit span { font-size: 3rem; }
}
.cvot-countdown__label {
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
}
@media (min-width: 640px) {
    .cvot-countdown__label { font-size: 0.875rem; }
}
.cvot-countdown__description {
    background: var(--cvot-light);
    border-radius: 1rem;
    padding: 1.5rem;
    border: 1px solid rgba(191, 219, 254, 0.5);
}
.cvot-countdown__desc-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0 0 0.5rem;
}
.cvot-countdown__desc-text {
    color: #64748b;
    font-size: 0.875rem;
    line-height: 1.625;
    margin-bottom: 1rem;
}
.cvot-countdown__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--cvot-accent);
    color: #fff;
    font-weight: 700;
    border-radius: 0.75rem;
    text-decoration: none;
    font-size: 0.875rem;
    box-shadow: 0 4px 14px rgba(245, 124, 0, 0.2);
    transition: all 0.2s;
}
.cvot-countdown__cta:hover {
    background: var(--cvot-accent-hover, #ea6c00);
    color: #fff;
    box-shadow: 0 6px 20px rgba(245, 124, 0, 0.3);
    transform: translateY(-2px);
}

/* ============================================================
   Quick Nav Cards Block
   ============================================================ */
.cvot-quick-nav-wrapper {
    padding: 4rem 0;
}
.cvot-quick-nav__header {
    text-align: center;
    margin-bottom: 3rem;
}
.cvot-quick-nav__eyebrow-wrap {
    display: inline-block;
    margin-bottom: 1.5rem; /* fester 24px-Abstand zwischen Eyebrow und H2 */
}
.cvot-quick-nav__eyebrow {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background: var(--cvot-light);
    color: var(--cvot-primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.cvot-quick-nav__title {
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--cvot-primary);
    margin: 0;
}
/* H2-Top-Margin fest auf 0 – überschreibt die font-size-abhängige .single-content h2-Regel (höhere Spezifität) */
.cvot-quick-nav-wrapper .cvot-quick-nav__title {
    margin-top: 0;
}
.cvot-quick-nav__divider {
    margin: 1rem auto 0;
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}
.cvot-quick-nav {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
    max-width: 56rem;
    margin: 0 auto;
}
@media (min-width: 640px) {
    .cvot-quick-nav { grid-template-columns: repeat(2, 1fr); }
}
.cvot-quick-nav__card {
    position: relative;
    background: var(--cvot-primary);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: var(--cvot-shadow-lg);
    overflow: hidden;
    transition: all 0.3s;
    text-decoration: none;
    display: block;
    color: #fff;
}
.cvot-quick-nav__card:hover {
    box-shadow: var(--cvot-shadow-2xl);
    transform: translateY(-4px);
    color: #fff;
}
.cvot-quick-nav__card--accent {
    background: linear-gradient(135deg, var(--cvot-accent), #ea6c00);
}
.cvot-quick-nav__glow {
    position: absolute;
    top: 0;
    right: 0;
    width: 8rem;
    height: 8rem;
    background: rgba(0, 126, 189, 0.2);
    border-radius: 50%;
    transform: translate(50%, -50%);
    filter: blur(24px);
    transition: transform 0.5s;
    pointer-events: none;
}
.cvot-quick-nav__card--accent .cvot-quick-nav__glow {
    background: rgba(255, 255, 255, 0.1);
}
.cvot-quick-nav__card:hover .cvot-quick-nav__glow {
    transform: translate(50%, -50%) scale(1.5);
}
.cvot-quick-nav__row {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.cvot-quick-nav__text {
    flex: 1;
    min-width: 0;
}
.cvot-quick-nav__icon-box {
    background: rgba(255, 255, 255, 0.1);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    border-radius: 0.75rem;
    padding: 0.75rem;
    width: fit-content;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.cvot-quick-nav__card--accent .cvot-quick-nav__icon-box {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.2);
}
.cvot-quick-nav__card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.5rem;
}
.cvot-quick-nav__card-desc {
    color: #bfdbfe;
    font-size: 0.875rem;
    margin: 0;
}
.cvot-quick-nav__card--accent .cvot-quick-nav__card-desc {
    color: #fed7aa;
}
.cvot-quick-nav__arrow {
    width: 3rem;
    height: 3rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
}
.cvot-quick-nav__card--accent .cvot-quick-nav__arrow {
    background: rgba(255, 255, 255, 0.2);
}
.cvot-quick-nav__card:hover .cvot-quick-nav__arrow {
    background: var(--cvot-accent);
    transform: scale(1.1);
}
.cvot-quick-nav__card--accent:hover .cvot-quick-nav__arrow {
    background: #fff;
}
.cvot-quick-nav__card--accent:hover .cvot-quick-nav__arrow svg {
    stroke: var(--cvot-accent) !important;
}

/* ============================================================
   Accreditations Block
   ============================================================ */
.cvot-accreditations-wrapper {
    padding: 6rem 0;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.cvot-accreditations__header {
    text-align: center;
    margin-bottom: 4rem;
}
.cvot-accreditations__title {
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0 0 1rem;
}
.cvot-accreditations__description {
    color: #6b7280;
    max-width: 42rem;
    margin: 0 auto;
    line-height: 1.625;
}
.cvot-accreditations__divider {
    margin: 1rem auto 0;
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}
.cvot-accreditations {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
    .cvot-accreditations { grid-template-columns: repeat(3, 1fr); }
}
.cvot-accreditation-card {
    background: #fff;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: var(--cvot-shadow-sm);
    border: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.3s;
}
.cvot-accreditation-card:hover {
    box-shadow: var(--cvot-shadow-xl);
    transform: translateY(-4px);
}
.cvot-accreditation-card__icon {
    background: #fff;
    padding: 1rem;
    border-radius: 50%;
    margin-bottom: 1.5rem;
    box-shadow: var(--cvot-shadow-sm);
    border: 1px solid #f1f5f9;
    transition: transform 0.3s;
}
.cvot-accreditation-card:hover .cvot-accreditation-card__icon {
    transform: scale(1.1);
}
.cvot-accreditation-card__title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.75rem;
    min-height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cvot-accreditation-card__desc {
    color: #64748b;
    font-size: 0.875rem;
    margin: 0 0 2rem;
    flex: 1;
    line-height: 1.625;
}
.cvot-accreditation-card__credits {
    width: 100%;
    padding-top: 1.5rem;
    border-top: 1px solid #f8fafc;
}
.cvot-accreditation-card__credits-number {
    display: block;
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin-bottom: 0.25rem;
}
.cvot-accreditation-card__credits-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #94a3b8;
}

/* ============================================================
   Livestream Player Block
   ============================================================ */
.cvot-livestream {
    background: var(--cvot-primary);
    padding: 1.5rem 0 2rem;
}
.cvot-livestream__coming-soon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--cvot-primary), #003d6b, var(--cvot-primary));
    padding: 2rem;
    text-align: center;
    position: absolute;
    inset: 0;
    color: #fff;
}

/* ============================================================
   Now Playing Block
   ============================================================ */
.cvot-now-playing {
    background: var(--cvot-primary);
}
.cvot-now-playing__card {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    padding: 1.5rem 2rem;
}
@media (min-width: 768px) {
    .cvot-now-playing__card { padding: 2rem 2.5rem; }
}

/* ============================================================
   Programme Schedule Block
   ============================================================ */
.cvot-programme-block {
    padding: 2rem 0;
}
.cvot-programme__header {
    text-align: center;
    margin-bottom: 2rem;
}
.cvot-programme__title {
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0 0 0.5rem;
}
@media (min-width: 1024px) {
    .cvot-programme__title { font-size: 2.25rem; }
}
.cvot-programme__intro {
    color: #6b7280;
    font-size: 0.875rem;
    margin: 0;
}
.cvot-programme__divider {
    margin: 1rem auto 0;
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}

/* Premium Hero Header (blau, wie Designvorlage) */
.cvot-programme__hero {
    position: relative;
    overflow: hidden;
    background: var(--cvot-primary);
    /* Full-bleed: bricht aus dem Content-Container aus, unabhängig von der Block-Ausrichtung. */
    width: auto;
    margin-top: -2rem;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 4rem 1.5rem;
    color: #fff;
}
@media (min-width: 1024px) {
    .cvot-programme__hero { padding: 5rem 2rem; }
}
.cvot-programme__hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.cvot-programme__hero-glow {
    position: absolute;
    border-radius: 9999px;
    filter: blur(64px);
}
.cvot-programme__hero-glow--1 {
    top: -6rem; right: -6rem;
    width: 24rem; height: 24rem;
    background: var(--cvot-accent);
    opacity: 0.1;
}
.cvot-programme__hero-glow--2 {
    bottom: -4rem; left: -2rem;
    width: 16rem; height: 16rem;
    background: var(--cvot-secondary);
    opacity: 0.18;
}
.cvot-programme__hero-glow--3 {
    top: 50%; left: 50%;
    width: 36rem; height: 36rem;
    transform: translate(-50%, -50%);
    background: var(--cvot-secondary);
    opacity: 0.06;
}
.cvot-programme__hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1242px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
}
@media (min-width: 1024px) {
    .cvot-programme__hero-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
.cvot-programme__hero-text { max-width: 40rem; }
.cvot-programme__hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 1rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 9999px;
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.cvot-programme__hero-badge svg { color: var(--cvot-accent); }
.cvot-programme__hero-title {
    margin: 1rem 0 0;
    font-size: 2.25rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
}
@media (min-width: 1024px) {
    .cvot-programme__hero-title { font-size: 3rem; }
}
.cvot-programme__hero-subtitle {
    margin: 1rem 0 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: #bcdcef;
}
.cvot-programme__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    flex-shrink: 0;
}
.cvot-programme__hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.9rem 1.6rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s, background 0.2s, box-shadow 0.2s;
}
.cvot-programme__hero-btn:hover { transform: translateY(-2px); }
.cvot-programme__hero-btn--primary {
    background: var(--cvot-accent);
    color: #fff;
    box-shadow: 0 10px 24px rgba(245, 124, 0, 0.25);
}
.cvot-programme__hero-btn--primary:hover { background: #e06f00; }
.cvot-programme__hero-btn--ghost {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.cvot-programme__hero-btn--ghost:hover { background: rgba(255, 255, 255, 0.18); }

/* Download CTA Box (Premium, unter dem Programm) */
.cvot-programme__download {
    max-width: 64rem;
    margin: 0 auto;
    padding: 3.5rem 1rem 1rem;
}
.cvot-programme__download-card {
    position: relative;
    overflow: hidden;
    border-radius: 1.75rem;
    background: linear-gradient(to bottom right, var(--cvot-primary), #003d6b);
    box-shadow: var(--cvot-shadow-lg, 0 20px 40px rgba(0, 53, 94, 0.2));
    padding: 3rem 1.5rem;
    text-align: center;
}
@media (min-width: 640px) {
    .cvot-programme__download-card { padding: 3.5rem; }
}
.cvot-programme__download-glow {
    position: absolute;
    border-radius: 9999px;
    filter: blur(40px);
    pointer-events: none;
}
.cvot-programme__download-glow--1 {
    top: -4rem; right: -4rem;
    width: 12rem; height: 12rem;
    background: var(--cvot-accent);
    opacity: 0.12;
}
.cvot-programme__download-glow--2 {
    bottom: -3rem; left: -3rem;
    width: 10rem; height: 10rem;
    background: var(--cvot-secondary);
    opacity: 0.14;
}
.cvot-programme__download-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}
.cvot-programme__download-icon {
    display: inline-flex;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    color: #fff;
}
.cvot-programme__download-title {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 800;
    color: #fff;
}
@media (min-width: 640px) {
    .cvot-programme__download-title { font-size: 1.9rem; }
}
.cvot-programme__download-text {
    margin: 0;
    max-width: 30rem;
    color: #bcdcef;
    line-height: 1.6;
}
.cvot-programme__download-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
}
.cvot-programme__download-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.9rem 1.6rem;
    border-radius: 9999px;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    background: #fff;
    color: var(--cvot-primary);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s, background 0.2s;
}
.cvot-programme__download-btn:hover { transform: translateY(-2px); background: #f1f5f9; }
.cvot-programme__download-btn--ghost {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    box-shadow: none;
}
.cvot-programme__download-btn--ghost:hover { background: rgba(255, 255, 255, 0.18); }

.cvot-programme__coming-soon,
.cvot-programme__empty {
    text-align: center;
    padding: 3rem;
    background: var(--cvot-light);
    border-radius: 1rem;
}
.cvot-programme__coming-soon p,
.cvot-programme__empty p {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--cvot-primary);
    margin: 0;
}

/* Tabs Bar */
.cvot-programme__tabs-bar {
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 5rem; /* unter dem 80px Desktop-Header */
    z-index: 30;
    box-shadow: var(--cvot-shadow-sm);
    margin-bottom: 2.5rem;
}
.cvot-programme__tabs {
    display: flex;
    gap: 0.25rem;
    margin-bottom: -1px;
}
.cvot-programme__tabs-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    flex-wrap: wrap;
}
.cvot-programme__tab {
    padding: 1rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #9ca3af;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
/* Aktiv-State explizit — verhindert dass :hover-Background "sticky" bleibt. */
.cvot-programme__tab.active {
    background: transparent;
    color: var(--cvot-primary);
    border-bottom-color: var(--cvot-accent);
}

/* Hover nur auf Hover-fähigen Geräten und nur für NICHT-aktive Tabs. */
@media (hover: hover) {
    .cvot-programme__tab:hover:not(.active) {
        background: var(--cvot-primary);
        color: #fff;
    }
    .cvot-programme__tab:hover:not(.active) .cvot-programme__tab-badge {
        background: rgba(255, 255, 255, 0.18);
        color: #fff;
    }
}

.cvot-programme__tab-badge {
    font-size: 0.65rem;
    font-weight: 500;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    background: #f3f4f6;
    color: #9ca3af;
    transition: background-color 0.2s, color 0.2s;
}
.cvot-programme__tab.active .cvot-programme__tab-badge {
    background: #fff7ed;
    color: var(--cvot-accent);
}
.cvot-programme__booklet {
    display: none;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--cvot-secondary);
    border: 1px solid rgba(0, 126, 189, 0.3);
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.2s;
}
.cvot-programme__booklet:hover {
    color: var(--cvot-primary);
    background: var(--cvot-light);
}
@media (min-width: 768px) {
    .cvot-programme__booklet { display: inline-flex; }
}
.cvot-programme__downloads {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* Day Panel */
.cvot-programme__day {
    max-width: 64rem;
    margin: 0 auto;
    padding: 2.5rem 1rem 3.5rem;
}
.cvot-programme__day[hidden] {
    display: none;
}
.cvot-programme__day-header {
    text-align: center;
    margin-bottom: 3rem;
}
.cvot-programme__day-header h3 {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0;
}
@media (min-width: 1024px) {
    .cvot-programme__day-header h3 { font-size: 1.875rem; }
}
.cvot-programme__day-header p {
    color: #6b7280;
    font-size: 0.875rem;
    margin: 0.5rem 0 0;
}
.cvot-programme__day-divider {
    margin: 1rem auto 0;
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}
.cvot-programme__timeline {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
/* Day-Switch-Button am Ende jedes Day-Panels („Continue to … / Back to …").
   Optisch an die Programme-Tabs angelehnt: primary-blue Pille, accent-Bottom-Border,
   dezente Arrow-Animation auf Hover. */
.cvot-programme__day-switch-wrap {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    padding-bottom: 0.5rem;
}
.cvot-programme__day-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1.75rem;
    background: var(--cvot-primary);
    color: #fff;
    border: none;
    border-bottom: 2px solid var(--cvot-accent);
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 53, 94, 0.15);
    transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.cvot-programme__day-switch-arrow {
    display: inline-flex;
    font-weight: 400;
    font-size: 1.0625rem;
    line-height: 1;
    transition: transform 0.25s ease;
}
@media (hover: hover) {
    .cvot-programme__day-switch:hover {
        background: color-mix(in oklab, var(--cvot-primary) 82%, #000);
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 6px 22px rgba(0, 53, 94, 0.28);
    }
    .cvot-programme__day-switch[data-direction="next"]:hover .cvot-programme__day-switch-arrow {
        transform: translateX(3px);
    }
    .cvot-programme__day-switch[data-direction="prev"]:hover .cvot-programme__day-switch-arrow {
        transform: translateX(-3px);
    }
}
.cvot-programme__day-switch:focus-visible {
    outline: 2px solid var(--cvot-accent);
    outline-offset: 3px;
}

/* Session Card */
.cvot-programme__session {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(0, 53, 94, 0.2);
    box-shadow: var(--cvot-shadow-sm);
    background: #fff;
}
.cvot-programme__session-header {
    background: var(--cvot-primary);
    padding: 1rem 1.25rem;
}
@media (min-width: 640px) {
    .cvot-programme__session-header { padding: 1.25rem 1.5rem; }
}
.cvot-programme__session-head-row {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
@media (min-width: 640px) {
    .cvot-programme__session-head-row { flex-direction: row; align-items: center; justify-content: space-between; }
}
.cvot-programme__session-label {
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--cvot-secondary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.25rem;
}
.cvot-programme__session-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.375;
    margin: 0;
}
.cvot-programme__session-time {
    font-family: monospace;
    font-size: 0.75rem;
    font-weight: 600;
    color: #bfdbfe;
    background: rgba(255, 255, 255, 0.1);
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    align-self: flex-start;
    white-space: nowrap;
}
.cvot-programme__session-chairs {
    margin-top: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    color: #bfdbfe;
}
.cvot-programme__session-chairs svg {
    color: var(--cvot-accent);
    flex-shrink: 0;
}

/* Talks inside session */
.cvot-programme__talks {
    background: #fff;
}
.cvot-programme__talk {
    display: flex;
    flex-direction: column;
    border-left: 4px solid transparent;
    border-bottom: 1px solid #f3f4f6;
    transition: border-color 0.2s;
}
@media (min-width: 640px) {
    .cvot-programme__talk { flex-direction: row; }
}
.cvot-programme__talk:last-child {
    border-bottom: none;
}
.cvot-programme__talk:not(.is-discussion):hover {
    border-left-color: rgba(0, 126, 189, 0.3);
}
.cvot-programme__talk.is-discussion {
    background: rgba(248, 250, 252, 0.5);
}
.cvot-programme__talk--standalone {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 1rem;
    box-shadow: var(--cvot-shadow-sm);
}

/* Time sidebar */
.cvot-programme__time-sidebar {
    flex-shrink: 0;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    border-bottom: 1px solid #f3f4f6;
    background: #f9fafb;
}
@media (min-width: 640px) {
    .cvot-programme__time-sidebar {
        width: 9rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
        border-bottom: none;
        border-right: 1px solid #f3f4f6;
        background: transparent;
    }
}
.cvot-programme__talk--standalone .cvot-programme__time-sidebar {
    background: #f9fafb;
}
.cvot-programme__time-start {
    font-family: monospace;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--cvot-primary);
}
.cvot-programme__time-arrow {
    color: #d1d5db;
    display: none;
}
@media (min-width: 640px) {
    .cvot-programme__time-arrow { display: block; }
}
.cvot-programme__time-end {
    font-family: monospace;
    font-size: 0.875rem;
    color: #9ca3af;
}

/* Talk body */
.cvot-programme__talk-body {
    padding: 1rem 1.25rem;
    flex: 1;
}
.cvot-programme__talk-label {
    font-size: 0.65rem;
    font-weight: 500;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 0.375rem;
}
.cvot-programme__talk-title {
    font-weight: 700;
    color: #111827;
    line-height: 1.375;
    margin: 0 0 0.5rem;
    font-size: 0.9375rem;
}
.cvot-programme__speaker {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    color: #4b5563;
}
.cvot-programme__speaker svg {
    color: var(--cvot-accent);
    flex-shrink: 0;
}

/* Discussion */
.cvot-programme__discussion {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.cvot-programme__discussion-icon {
    padding: 0.5rem;
    background: var(--cvot-light);
    border-radius: 0.5rem;
    color: var(--cvot-secondary);
    flex-shrink: 0;
}
.cvot-programme__discussion h4 {
    font-weight: 600;
    color: #4b5563;
    margin: 0;
}

/* Break Card */
.cvot-programme__break-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: #f3f4f6;
    border-radius: 1rem;
    border: 1px solid #e5e7eb;
}
.cvot-programme__break-icon {
    padding: 0.625rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: var(--cvot-shadow-sm);
    color: #9ca3af;
    flex-shrink: 0;
}
.cvot-programme__break-body {
    flex: 1;
}
.cvot-programme__break-body h4 {
    font-weight: 600;
    color: #4b5563;
    margin: 0;
    font-size: 0.875rem;
}
.cvot-programme__break-time {
    font-family: monospace;
    font-size: 0.75rem;
    font-weight: 600;
    color: #9ca3af;
    background: #fff;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    white-space: nowrap;
}

/* Welcome Card */
.cvot-programme__welcome-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 1rem;
    box-shadow: var(--cvot-shadow-sm);
    overflow: hidden;
}
@media (min-width: 640px) {
    .cvot-programme__welcome-card { flex-direction: row; }
}
.cvot-programme__welcome-card .cvot-programme__time-sidebar {
    background: #f9fafb;
}
.cvot-programme__welcome-body {
    padding: 1rem 1.25rem;
    flex: 1;
}
.cvot-programme__welcome-body h4 {
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.5rem;
}

/* Award Lecture Card (oranger Gradient, wie Designvorlage) */
.cvot-programme__award {
    overflow: hidden;
    border: 2px solid rgba(245, 124, 0, 0.3);
    border-radius: 1rem;
    box-shadow: var(--cvot-shadow-sm);
    background: linear-gradient(to right, #fff7ed, #fff);
}
.cvot-programme__award-header {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(to right, var(--cvot-accent), #fb923c);
}
@media (min-width: 640px) {
    .cvot-programme__award-header {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
.cvot-programme__award-head-left {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}
.cvot-programme__award-trophy {
    display: inline-flex;
    flex-shrink: 0;
    padding: 0.5rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 0.75rem;
    color: #fff;
}
.cvot-programme__award-eyebrow {
    margin: 0 0 0.15rem;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #ffedd5;
}
.cvot-programme__award-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}
.cvot-programme__award-time {
    align-self: flex-start;
    font-family: monospace;
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
    padding: 0.35rem 0.75rem;
    border-radius: 0.5rem;
    white-space: nowrap;
}
@media (min-width: 640px) {
    .cvot-programme__award-time { align-self: center; }
}
.cvot-programme__award-body {
    padding: 1.25rem 1.5rem;
}
.cvot-programme__award-speaker {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #374151;
}
.cvot-programme__award-speaker svg {
    color: var(--cvot-accent);
    flex-shrink: 0;
}

/* Dunkler Hintergrund (per Programmpunkt) */
.cvot-programme__welcome-card.is-dark,
.cvot-programme__talk--standalone.is-dark,
.cvot-programme__talk.is-dark {
    background: var(--cvot-primary);
    border-color: rgba(255, 255, 255, 0.12);
}
.cvot-programme__welcome-card.is-dark .cvot-programme__time-sidebar,
.cvot-programme__talk--standalone.is-dark .cvot-programme__time-sidebar {
    background: rgba(255, 255, 255, 0.06);
}
.cvot-programme__welcome-card.is-dark .cvot-programme__welcome-body h4,
.cvot-programme__talk--standalone.is-dark .cvot-programme__talk-title,
.cvot-programme__talk.is-dark .cvot-programme__talk-title,
.cvot-programme__talk.is-dark .cvot-programme__talk-body h4 {
    color: #fff;
}
.cvot-programme__welcome-card.is-dark .cvot-programme__talk-label,
.cvot-programme__talk--standalone.is-dark .cvot-programme__talk-label,
.cvot-programme__talk.is-dark .cvot-programme__talk-label {
    color: #fdba74;
}
.cvot-programme__welcome-card.is-dark .cvot-programme__speaker,
.cvot-programme__talk--standalone.is-dark .cvot-programme__speaker,
.cvot-programme__talk.is-dark .cvot-programme__speaker {
    color: #cbd5e1;
}
.cvot-programme__welcome-card.is-dark .cvot-programme__time-start,
.cvot-programme__talk--standalone.is-dark .cvot-programme__time-start,
.cvot-programme__talk.is-dark .cvot-programme__time-start {
    color: #fff;
}
.cvot-programme__welcome-card.is-dark .cvot-programme__time-end,
.cvot-programme__talk--standalone.is-dark .cvot-programme__time-end,
.cvot-programme__talk.is-dark .cvot-programme__time-end {
    color: rgba(255, 255, 255, 0.55);
}

/* ============================================================
   Poster Gallery Block
   ============================================================ */
.cvot-poster-gallery-wrapper {
    padding: 3rem 0;
}
.cvot-poster-gallery__header {
    text-align: center;
    margin-bottom: 3rem;
}
.cvot-poster-gallery__title {
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0 0 1rem;
}
.cvot-poster-gallery__description {
    color: #6b7280;
    max-width: 42rem;
    margin: 0 auto;
    line-height: 1.625;
}
.cvot-poster-gallery__divider {
    margin: 1rem auto 0;
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}
.cvot-poster-gallery__booklet {
    margin-bottom: 1.5rem;
}
.cvot-poster-gallery__coming-soon {
    text-align: center;
    padding: 3rem;
    background: var(--cvot-light);
    border-radius: 1rem;
}
.cvot-poster-gallery__coming-soon p {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--cvot-primary);
    margin: 0;
}

/* Search & Filter Bar */
.cvot-poster-gallery__search {
    position: sticky;
    top: 5rem; /* unter dem 80px Desktop-Header */
    z-index: 30;
    margin-bottom: 2rem;
}
/* Analog zur Compact-Talk-Bar: WP-Admin-Bar (32/46/0px) und Mobile-Menü-Breakpoint
   (≤1024px → Desktop-Header weg) müssen berücksichtigt werden. */
body.admin-bar .cvot-poster-gallery__search {
    top: calc(5rem + 32px);
}
@media screen and (max-width: 1024px) {
    .cvot-poster-gallery__search {
        top: 0;
    }
    body.admin-bar .cvot-poster-gallery__search {
        top: 32px;
    }
}
@media screen and (max-width: 782px) {
    body.admin-bar .cvot-poster-gallery__search {
        top: 46px;
    }
}
@media screen and (max-width: 600px) {
    body.admin-bar .cvot-poster-gallery__search {
        top: 0;
    }
}
.cvot-poster-gallery__search-card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid #f1f5f9;
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: var(--cvot-shadow-sm);
}
@media (min-width: 768px) {
    .cvot-poster-gallery__search-card { flex-direction: row; }
}
.cvot-poster-gallery__search-input {
    flex: 1;
    position: relative;
}
.cvot-poster-gallery__search-icon {
    position: absolute;
    inset: 0 auto 0 0;
    padding-left: 1rem;
    display: flex;
    align-items: center;
    pointer-events: none;
    color: #9ca3af;
    height: 34px;
}
.cvot-poster-gallery__search-input .cvot-input {
    width: 100%;
    padding-left: 2.75rem;
}
.cvot-poster-gallery__filter {
    flex-shrink: 0;
    width: 100%;
    position: relative;
}
@media (min-width: 768px) {
    .cvot-poster-gallery__filter { width: 16rem; }
}
.cvot-poster-gallery__filter-icon {
    position: absolute;
    inset: 0 auto 0 0;
    padding-left: 1rem;
    display: flex;
    align-items: center;
    pointer-events: none;
    color: #9ca3af;
}
.cvot-poster-gallery__filter .cvot-select {
    width: 100%;
    padding-left: 2.75rem;
    padding-right: 2.5rem;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.cvot-poster-gallery__chevron {
    position: absolute;
    inset: 0 0 0 auto;
    padding-right: 0.75rem;
    display: flex;
    align-items: center;
    pointer-events: none;
    color: #9ca3af;
}
.cvot-poster-gallery__counter {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.cvot-poster-gallery__counter span {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    background: #f1f5f9;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    white-space: nowrap;
}

/* No Results */
.cvot-poster-gallery__no-results {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 5rem 0;
    text-align: center;
}
.cvot-poster-gallery__no-results.is-visible {
    display: flex;
}
.cvot-poster-gallery__no-results-icon {
    background: var(--cvot-light);
    padding: 1.5rem;
    border-radius: 50%;
    color: var(--cvot-secondary);
    margin-bottom: 1.5rem;
}
.cvot-poster-gallery__no-results h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.5rem;
}
.cvot-poster-gallery__no-results p {
    color: #6b7280;
    max-width: 28rem;
    margin: 0 auto;
}
.cvot-poster-gallery__empty {
    text-align: center;
    color: #94a3b8;
    padding: 2rem;
}

/* Category Sections */
.cvot-poster-gallery__category {
    margin-bottom: 3rem;
}
.cvot-poster-gallery__category-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}
.cvot-poster-gallery__category-icon {
    padding: 0.625rem;
    border-radius: 0.75rem;
    flex-shrink: 0;
}
.cvot-poster-gallery__category-text h2 {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--cvot-primary);
    letter-spacing: -0.025em;
    margin: 0;
}
.cvot-poster-gallery__category-text p {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0.125rem 0 0;
}
.cvot-poster-gallery__category-rule {
    flex: 1;
    height: 1px;
    background: #e5e7eb;
    margin-left: 1rem;
    display: none;
}
@media (min-width: 640px) {
    .cvot-poster-gallery__category-rule { display: block; }
}

/* Poster Grid */
.cvot-poster-gallery__grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
}
@media (min-width: 768px) {
    .cvot-poster-gallery__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .cvot-poster-gallery__grid { grid-template-columns: repeat(3, 1fr); }
}

/* Poster Card */
.cvot-poster-card {
    background: #fff;
    border-radius: 1rem;
    border: 1px solid #f1f5f9;
    overflow: hidden;
    transition: all 0.3s;
    box-shadow: var(--cvot-shadow-sm);
}
.cvot-poster-card:hover {
    box-shadow: var(--cvot-shadow-lg);
    transform: translateY(-2px);
}
.cvot-poster-card.is-hidden {
    display: none;
}
.cvot-poster-card__thumb {
    aspect-ratio: 600 / 854;
    position: relative;
    display: block;
    text-decoration: none;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
}
a.cvot-poster-card__thumb:hover {
    transform: scale(1.02);
}
.cvot-poster-card__thumb--empty { cursor: default; }

.cvot-poster-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 1;
}

/* Overlay — always rendered. Centered content by default (empty/PDF cards),
   collapses to a corner stamp when an image is present (--has-image sets
   justify-content: flex-end on the thumb). */
.cvot-poster-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    text-align: center;
    color: #fff;
    pointer-events: none;
    transition: background 0.2s ease;
}

/* When an image is present: subtle gradient overlay + branding moves to
   bottom-left as a small stamp — unifies the look across varied posters. */
.cvot-poster-card__thumb--has-image .cvot-poster-card__overlay {
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0.875rem 0.75rem;
    background: linear-gradient(
        to bottom,
        rgba(0, 53, 94, 0.0) 55%,
        rgba(0, 53, 94, 0.75) 100%
    );
}
.cvot-poster-card__thumb--has-image .cvot-poster-card__thumb-icon {
    display: none;
}
.cvot-poster-card__thumb--has-image .cvot-poster-card__thumb-label {
    font-size: 0.55rem;
    letter-spacing: 0.15em;
    opacity: 0.85;
    text-align: left;
}
.cvot-poster-card__thumb--has-image .cvot-poster-card__thumb-number {
    font-size: 0.8rem;
    font-weight: 700;
    margin-top: 0.125rem;
    text-align: left;
    letter-spacing: 0.05em;
}
/* Subtle hover lift on the gradient overlay */
a.cvot-poster-card__thumb--has-image:hover .cvot-poster-card__overlay {
    background: linear-gradient(
        to bottom,
        rgba(0, 53, 94, 0.0) 40%,
        rgba(0, 53, 94, 0.85) 100%
    );
}

/* PDF cards (no image): keep the centered branded placeholder look */
.cvot-poster-card__thumb-icon {
    background: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    border-radius: 0.75rem;
    padding: 1rem;
    margin-bottom: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.cvot-poster-card__thumb-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.9);
}
.cvot-poster-card__thumb-number {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 0.25rem;
}
.cvot-poster-card__badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 3;
    font-size: 0.75rem;            /* was 0.6rem — now 12px for legibility */
    font-weight: 800;              /* bolder so type differences pop */
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.35rem 0.7rem;
    border-radius: 9999px;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); /* subtle lift */
    border: 1px solid rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.cvot-poster-card__body {
    padding: 1.25rem;
}
.cvot-poster-card__title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.375;
    margin: 0 0 0.5rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s;
}
.cvot-poster-card:hover .cvot-poster-card__title {
    color: var(--cvot-secondary);
}
.cvot-poster-card__authors {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0 0 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cvot-poster-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.cvot-poster-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.2s;
}
.cvot-poster-card__btn--primary {
    background: var(--cvot-secondary);
    color: #fff;
    box-shadow: var(--cvot-shadow-sm);
}
.cvot-poster-card__btn--primary:hover {
    background: #0091d5;
    color: #fff;
}

/* 3D Flipbook plugin renders its own <a class="_3d-flip-book"> inside our button span;
   force its text + link state colors to match the white-on-cyan button styling. */
.cvot-poster-card__btn--flipbook a,
.cvot-poster-card__btn--flipbook a._3d-flip-book,
.cvot-poster-card__btn--flipbook a._3d-flip-book:link,
.cvot-poster-card__btn--flipbook a._3d-flip-book:visited,
.cvot-poster-card__btn--flipbook a._3d-flip-book:hover,
.cvot-poster-card__btn--flipbook a._3d-flip-book:active {
    color: #fff !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font: inherit !important;
}
.cvot-poster-card__btn--secondary {
    background: var(--cvot-light);
    color: var(--cvot-primary);
}
.cvot-poster-card__btn--secondary:hover {
    background: #dbeafe;
    color: var(--cvot-primary);
}
.cvot-poster-card__btn--accent {
    color: var(--cvot-accent);
    background: transparent;
}
.cvot-poster-card__btn--accent:hover {
    background: #fff7ed;
    color: var(--cvot-accent);
}

/* ============================================================
   Q&A Form Block
   ============================================================ */
.cvot-qa-form {
    max-width: 48rem;
    margin: 0 auto;
    padding: 4rem 0;
}
.cvot-qa-form__header {
    text-align: center;
    margin-bottom: 2.5rem;
}
.cvot-qa-form__eyebrow-wrap {
    display: inline-block;
    margin-bottom: 1rem;
}
.cvot-qa-form__eyebrow {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background: var(--cvot-light);
    color: var(--cvot-primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.cvot-qa-form__title {
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: var(--cvot-primary);
    margin: 0;
}
.cvot-qa-form__divider {
    margin: 1rem auto 0;
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}
.cvot-qa-form__form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.cvot-qa-form__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}
@media (min-width: 640px) {
    .cvot-qa-form__grid { grid-template-columns: 1fr 1fr; }
}
.cvot-qa-form__field {
    display: block;
}
.cvot-required {
    color: #ef4444;
}
.cvot-qa-form__privacy {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.cvot-checkbox {
    margin-top: 0.25rem;
    width: 1rem;
    height: 1rem;
    cursor: pointer;
}
.cvot-qa-form__privacy-label {
    font-size: 0.75rem;
    color: #64748b;
    line-height: 1.625;
    cursor: pointer;
}
.cvot-qa-form__privacy-label a {
    color: var(--cvot-secondary);
    font-weight: 500;
}
.cvot-qa-form__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.5rem;
    gap: 1rem;
    flex-wrap: wrap;
}
.cvot-qa-form__required-hint {
    font-size: 0.75rem;
    color: #94a3b8;
    margin: 0;
}
.cvot-qa-form__submit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    background: var(--cvot-secondary);
    color: #fff;
    font-weight: 700;
    border-radius: 0.75rem;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.875rem;
    box-shadow: 0 10px 25px -5px rgba(0, 126, 189, 0.1);
    transition: all 0.2s;
}
.cvot-qa-form__submit:hover {
    background: #0091d5;
    box-shadow: 0 15px 35px -5px rgba(0, 126, 189, 0.2);
}
.cvot-qa-form__submit svg {
    transition: transform 0.2s;
}
.cvot-qa-form__submit:hover svg {
    transform: translate(0.125rem, -0.125rem);
}
.cvot-qa-form__message {
    display: none;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
}

/* ============================================================
   Certificate Cards Block
   ============================================================ */
.cvot-cert-cards {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.cvot-cert-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 2rem;
    border-radius: 1rem;
    box-shadow: var(--cvot-shadow-md);
    transition: all 0.3s;
    text-decoration: none;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) {
    .cvot-cert-card {
        flex-direction: row;
        padding: 2rem;
        gap: 1.5rem;
    }
}
.cvot-cert-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--cvot-shadow-xl);
}
.cvot-cert-card--accent {
    background: var(--cvot-accent);
    color: #fff;
    box-shadow: 0 10px 25px -5px rgba(245, 124, 0, 0.2);
}
.cvot-cert-card--accent:hover {
    box-shadow: 0 15px 35px -5px rgba(245, 124, 0, 0.3);
}
.cvot-cert-card--primary {
    background: var(--cvot-primary);
    color: #fff;
    box-shadow: 0 10px 25px -5px rgba(0, 53, 94, 0.15);
}
.cvot-cert-card--primary:hover {
    box-shadow: 0 15px 35px -5px rgba(0, 53, 94, 0.25);
}
.cvot-cert-card__bg-icon {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem;
    opacity: 0.05;
    pointer-events: none;
    transform: translate(25%, -25%);
    color: #fff;
    z-index: 0;
}
.cvot-cert-card--accent .cvot-cert-card__bg-icon {
    opacity: 0.1;
}
.cvot-cert-card__icon-box {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    background: rgba(255, 255, 255, 0.1);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    position: relative;
    z-index: 10;
    transition: transform 0.3s;
}
.cvot-cert-card--accent .cvot-cert-card__icon-box {
    background: #fff;
    color: var(--cvot-accent);
    box-shadow: var(--cvot-shadow-md);
}
.cvot-cert-card:hover .cvot-cert-card__icon-box {
    transform: scale(1.05);
}
.cvot-cert-card__body {
    flex: 1;
    text-align: center;
    position: relative;
    z-index: 10;
}
@media (min-width: 768px) {
    .cvot-cert-card__body { text-align: left; }
}
.cvot-cert-card__body h4 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: #fff;
}
.cvot-cert-card--accent .cvot-cert-card__body h4 {
    font-size: 1.5rem;
}
.cvot-cert-card__body p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #bfdbfe;
}
.cvot-cert-card--accent .cvot-cert-card__body p {
    color: #ffedd5;
    font-weight: 500;
    font-size: 1.125rem;
}
.cvot-cert-card__action {
    flex-shrink: 0;
    position: relative;
    z-index: 10;
    width: 100%;
}
@media (min-width: 768px) {
    .cvot-cert-card__action { width: auto; }
}
.cvot-cert-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    background: #fff;
    color: var(--cvot-primary);
    font-weight: 700;
    border-radius: 0.75rem;
    box-shadow: var(--cvot-shadow-sm);
    font-size: 0.875rem;
    transition: background 0.2s;
}
.cvot-cert-card--accent .cvot-cert-card__btn {
    color: var(--cvot-accent);
    padding: 1rem 2rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cvot-cert-card--primary .cvot-cert-card__btn:hover {
    background: #eff6ff;
}
.cvot-cert-card--accent .cvot-cert-card__btn:hover {
    background: #fff7ed;
}

/* ============================================================
   Symposium Portals Block — Slider mit Screenshot/Titel/Sprache
   ============================================================ */
.cvot-symposia {
    padding: 4rem 0;
}
.cvot-symposia__header {
    text-align: center;
    max-width: 42rem;
    margin: 0 auto 2.5rem;
}
.cvot-symposia__title {
    font-size: 2rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0;
}
.cvot-symposia__intro {
    color: var(--cvot-light-text);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0.75rem 0 0;
}
.cvot-symposia__divider {
    width: 4rem;
    height: 0.25rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 1rem auto 0;
}

/* Slider */
.cvot-symposia__slider {
    position: relative;
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem;
}
.cvot-symposia__viewport {
    overflow: hidden;
}
.cvot-symposia__track {
    display: flex;
    gap: 1.5rem;
    transition: transform 0.4s ease;
    will-change: transform;
}
.cvot-symposia__slide {
    flex: 0 0 100%;
}
@media (min-width: 640px) {
    .cvot-symposia__slide { flex: 0 0 calc((100% - 1.5rem) / 2); }
}
@media (min-width: 1024px) {
    .cvot-symposia__slide { flex: 0 0 calc((100% - 3rem) / 3); }
}

/* Übersicht (Grid statt Slider) – Kacheln untereinander, Desktop 3 / Tablet 2 / Mobil 1 */
.cvot-symposia__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem;
}
@media (min-width: 640px) {
    .cvot-symposia__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .cvot-symposia__grid { grid-template-columns: repeat(3, 1fr); }
}

/* Karte */
.cvot-symposia__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid var(--cvot-border);
    border-radius: 1rem;
    overflow: hidden;
    text-decoration: none;
    box-shadow: var(--cvot-shadow-sm);
    transition: transform 0.2s, box-shadow 0.2s;
}
.cvot-symposia__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--cvot-shadow-lg, 0 12px 32px rgba(0,53,94,0.12));
}
.cvot-symposia__thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    background: var(--cvot-light);
    overflow: hidden;
}
.cvot-symposia__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cvot-symposia__thumb-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cvot-light-text);
}
.cvot-symposia__lang {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    border-radius: 9999px;
    background: var(--cvot-primary);
    color: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
.cvot-symposia__lang--de {
    background: var(--cvot-accent);
}
.cvot-symposia__body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1.25rem;
    flex: 1;
}
.cvot-symposia__name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--cvot-primary);
    line-height: 1.35;
    margin: 0;
}
.cvot-symposia__visit {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: auto;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--cvot-secondary);
}
.cvot-symposia__card:hover .cvot-symposia__visit {
    color: var(--cvot-accent);
}

/* Navigation */
.cvot-symposia__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--cvot-border);
    border-radius: 9999px;
    background: #fff;
    color: var(--cvot-primary);
    cursor: pointer;
    box-shadow: var(--cvot-shadow-sm);
    transition: background 0.2s, color 0.2s, opacity 0.2s;
}
.cvot-symposia__nav:hover {
    background: var(--cvot-primary);
    color: #fff;
}
.cvot-symposia__nav--prev { left: -0.5rem; }
.cvot-symposia__nav--next { right: -0.5rem; }
.cvot-symposia__nav:disabled {
    opacity: 0.35;
    cursor: default;
}
.cvot-symposia__nav:disabled:hover {
    background: #fff;
    color: var(--cvot-primary);
}

/* Dots */
.cvot-symposia__dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.75rem;
}
.cvot-symposia__dot {
    width: 0.6rem;
    height: 0.6rem;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: var(--cvot-border);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}
.cvot-symposia__dot.is-active {
    background: var(--cvot-accent);
    transform: scale(1.25);
}

/* Nur eine Seite: Pfeile & Dots ausblenden */
.cvot-symposia.is-single .cvot-symposia__nav,
.cvot-symposia__slider.is-single .cvot-symposia__nav,
.cvot-symposia__slider.is-single .cvot-symposia__dots {
    display: none;
}

.cvot-symposia__empty {
    max-width: 40rem;
    margin: 0 auto;
    padding: 2rem;
    text-align: center;
    color: var(--cvot-light-text);
    border: 1px dashed var(--cvot-border);
    border-radius: 1rem;
}

/* ============================================================
   Sponsor Logos Block
   ============================================================ */
.cvot-sponsors {
    text-align: center;
    padding: 4rem 0;
    border-top: 1px solid var(--cvot-border);
}

/* ============================================================
   Sponsor Grid Block (quadratische Kacheln + Hover-Info)
   ============================================================ */
.cvot-sponsor-grid-block {
    text-align: center;
    padding: 4rem 0;
}
.cvot-sponsor-grid-block__headline {
    color: var(--cvot-light-text);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin: 0 0 2.5rem;
}
.cvot-sponsor-tiles {
    display: grid;
    /* Kacheln pro Zeile pro Breakpoint per Block-Feld (Inline-CSS-Vars).
       Mobile-first: Standard = Mobile-Wert, dann Tablet, dann Desktop. */
    grid-template-columns: repeat(var(--cvot-spg-cols-m, 2), 1fr);
    gap: 1rem;
    max-width: var(--cvot-max-width, 1200px);
    margin: 0 auto;
}
@media (min-width: 641px) {
    .cvot-sponsor-tiles {
        grid-template-columns: repeat(var(--cvot-spg-cols-t, 3), 1fr);
        gap: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .cvot-sponsor-tiles {
        grid-template-columns: repeat(var(--cvot-spg-cols-d, 5), 1fr);
    }
}
.cvot-sponsor-tile {
    position: relative;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: #fff;
    border: 1px solid var(--cvot-border);
    border-radius: 1rem;
    box-shadow: var(--cvot-shadow-sm);
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.3s, transform 0.3s, border-color 0.3s;
}
a.cvot-sponsor-tile:hover,
a.cvot-sponsor-tile:focus-visible {
    transform: translateY(-4px);
    box-shadow: var(--cvot-shadow-lg);
    border-color: var(--cvot-secondary);
}
.cvot-sponsor-tile__media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.cvot-sponsor-tile__media img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: opacity 0.3s ease;
}
/* Info-Overlay – elegant beim Hover/Focus eingeblendet */
.cvot-sponsor-tile__info {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(0, 53, 94, 0.92); /* --cvot-primary @ 92 % */
    color: #fff;
    opacity: 0;
    transform: translateY(0.5rem);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}
.cvot-sponsor-tile__info span {
    font-size: 0.8125rem;
    line-height: 1.45;
    font-weight: 500;
}
.cvot-sponsor-tile.has-info:hover .cvot-sponsor-tile__info,
.cvot-sponsor-tile.has-info:focus-visible .cvot-sponsor-tile__info {
    opacity: 1;
    transform: translateY(0);
}
.cvot-sponsor-tile.has-info:hover .cvot-sponsor-tile__media img,
.cvot-sponsor-tile.has-info:focus-visible .cvot-sponsor-tile__media img {
    opacity: 0;
}
.cvot-sponsor-tile--placeholder {
    color: var(--cvot-light-text);
    font-weight: 700;
    background: #f3f4f6;
}

/* ============================================================
   QR / Mentimeter Block
   ============================================================ */
.cvot-qr-section {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    /* Left/Right-Padding handhabt der innere `.cvot-container` analog zum Player. */
    margin-left: 2rem;
    margin-right: 2rem;
}

/* ============================================================
   Evaluation Section Block
   ============================================================ */
.cvot-evaluation {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.cvot-evaluation__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: var(--cvot-shadow-lg);
    transition: all 0.3s;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    color: #fff;
}
@media (min-width: 768px) {
    .cvot-evaluation__card {
        flex-direction: row;
        padding: 2rem;
    }
}
.cvot-evaluation__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--cvot-shadow-xl);
}
.cvot-evaluation__card--accent {
    background: var(--cvot-accent);
    box-shadow: 0 10px 25px -5px rgba(245, 124, 0, 0.2);
}
.cvot-evaluation__card--accent:hover {
    box-shadow: 0 15px 35px -5px rgba(245, 124, 0, 0.3);
}
.cvot-evaluation__card--primary {
    background: var(--cvot-primary);
}
.cvot-evaluation__bg-icon {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem;
    opacity: 0.1;
    pointer-events: none;
    transform: translate(25%, -25%);
    color: #fff;
    z-index: 0;
}
.cvot-evaluation__icon-box {
    flex-shrink: 0;
    z-index: 10;
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--cvot-shadow-md);
    transition: transform 0.3s;
}
@media (min-width: 768px) {
    .cvot-evaluation__icon-box { width: 5rem; height: 5rem; }
}
.cvot-evaluation__card--accent .cvot-evaluation__icon-box {
    background: #fff;
    color: var(--cvot-accent);
}
.cvot-evaluation__card--primary .cvot-evaluation__icon-box {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}
.cvot-evaluation__card:hover .cvot-evaluation__icon-box {
    transform: scale(1.05);
}
.cvot-evaluation__body {
    flex: 1;
    text-align: center;
    z-index: 10;
}
@media (min-width: 768px) {
    .cvot-evaluation__body { text-align: left; }
}
.cvot-evaluation__body h4 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: #fff;
}
.cvot-evaluation__body p {
    margin: 0;
    font-weight: 500;
    font-size: 1.125rem;
    color: #ffedd5;
}
.cvot-evaluation__card--primary .cvot-evaluation__body p {
    color: #bfdbfe;
}
.cvot-evaluation__action {
    flex-shrink: 0;
    z-index: 10;
    width: 100%;
    max-width: 16rem;
}
@media (min-width: 768px) {
    .cvot-evaluation__action { width: auto; }
}
.cvot-evaluation__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2rem;
    background: #fff;
    font-weight: 700;
    border-radius: 0.75rem;
    box-shadow: var(--cvot-shadow-md);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cvot-evaluation__card--accent .cvot-evaluation__btn {
    color: var(--cvot-accent);
}
.cvot-evaluation__card--primary .cvot-evaluation__btn {
    color: var(--cvot-primary);
}
.cvot-evaluation__card:hover .cvot-evaluation__btn svg {
    transform: translateX(0.25rem);
}

/* ============================================================
   Survey Card Block — aus index-cvot-mode.html (Z.256-274)
   Gradient-CTA-Karte (CKD Survey, etc.)
   ============================================================ */
.cvot-survey-card {
    background: linear-gradient(to bottom right, var(--cvot-secondary), var(--cvot-primary));
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-xl);
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
}
/* Abstand zwischen Survey- und Stat-Card, wenn sie gestacked in einer Column liegen. */
.cvot-survey-card + .cvot-stat-card {
    margin-top: 1.5rem;
}
/* ──────────────────────────────────────────────
   Card-Stack Pattern (Survey + Stat nebeneinander/untereinander)
   Setzt voraus: rechte Kadence-Column bekommt im Editor die CSS-Klasse
   `cvot-card-stack` (Advanced → Additional CSS Class(es)).
   Damit matcht die rechte Spalte die Höhe der linken Nachbar-Spalte,
   Survey-Card füllt per flex:1 den Rest, Stat-Card bleibt natural.
   ────────────────────────────────────────────── */
.wp-block-kadence-rowlayout:has(> .cvot-card-stack) {
    align-items: stretch;
}
.cvot-card-stack {
    display: flex;
    flex-direction: column;
}
.cvot-card-stack > .kt-inside-inner-col {
    flex: 1;
    display: flex;
    flex-direction: column;
}
/* Nur Survey-Card wächst — Stat bleibt natural, sonst wird Survey-Content abgeschnitten. */
.cvot-card-stack > .kt-inside-inner-col > .cvot-survey-card {
    flex: 1;
}
/* Linke Schwester-Column in derselben Row: Inner-Container auf Column-Höhe stretchen,
   damit der Countdown (oder was auch immer links ist) dieselbe Höhe erreicht wie rechts. */
.kt-row-column-wrap:has(> .cvot-card-stack) > .wp-block-kadence-column:not(.cvot-card-stack) > .kt-inside-inner-col {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.kt-row-column-wrap:has(> .cvot-card-stack) > .wp-block-kadence-column:not(.cvot-card-stack) > .kt-inside-inner-col > .cvot-countdown {
    flex: 1;
}
.cvot-survey-card__glow {
    position: absolute;
    top: -3rem;
    right: -3rem;
    width: 12rem;
    height: 12rem;
    background: #fff;
    opacity: 0.1;
    border-radius: 50%;
    filter: blur(32px);
    pointer-events: none;
}
.cvot-survey-card__inner {
    position: relative;
    z-index: 10;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    flex: 1; /* wächst innerhalb der Card — unabhängig von einer äußeren Höhe */
}
.cvot-survey-card__icon {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: 0.75rem;
    padding: 0.75rem;
    width: fit-content;
    margin-bottom: 1rem;
    color: #fff;
}
.cvot-survey-card__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.75rem;
}
.cvot-survey-card__desc {
    color: #dbeafe;
    font-size: 0.875rem;
    line-height: 1.625;
    margin: 0 0 1.5rem;
    flex: 1;
}
.cvot-survey-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: #fff;
    color: var(--cvot-primary);
    font-weight: 700;
    font-size: 0.875rem;
    border-radius: 0.75rem;
    text-decoration: none;
    box-shadow: var(--cvot-shadow-md);
    transition: background 0.2s, transform 0.2s;
}
.cvot-survey-card__btn:hover {
    background: #eff6ff;
    color: var(--cvot-primary);
    transform: translateY(-2px);
}

/* ============================================================
   Stat Card Block — aus index-cvot-mode.html (Z.277-284)
   Kennzahl-Karte (Years of Excellence, etc.)
   ============================================================ */
.cvot-stat-card {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-xl);
    border: 1px solid var(--cvot-border);
    padding: 2rem;
}
.cvot-stat-card__inner {
    text-align: center;
}
.cvot-stat-card__number {
    display: block;
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin-bottom: 0.25rem;
}
.cvot-stat-card__label {
    font-size: 0.875rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cvot-stat-card__divider {
    width: 3rem;
    height: 0.25rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 1rem auto;
}
.cvot-stat-card__desc {
    color: #64748b;
    font-size: 0.875rem;
    line-height: 1.625;
    margin: 0;
}

/* ============================================================
   Header Cards Block
   Links: blaue Submit-Karte + weiße Register-Karte (mit Icon links)
   Rechts: Countdown + Kennzahl. Zwei Spalten, garantiert gleich hoch.
   ============================================================ */
.cvot-header-cards {
    display: grid;
    grid-template-columns: 2fr 1fr;   /* links 2/3, Countdown 1/3 */
    gap: 1.5rem;
    align-items: stretch;             /* beide Spalten gleich hoch */
    /* Keine eigene max-width/Margin/Padding: der Block füllt seinen Container
       zu 100 % und überlässt Breite + Gutter dem Eltern-Element (Kadence-Zeile
       bzw. Content-Spalte) – wie native Blöcke. */
    width: 100%;
    box-sizing: border-box;
}
.cvot-header-cards__left {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.cvot-header-cards__right {
    display: flex;                    /* füllt Spaltenhöhe */
}

/* ── Blaue Karte (Submit) ─────────────────────────────── */
.cvot-hc-blue {
    position: relative;
    overflow: hidden;
    background: linear-gradient(to bottom right, var(--cvot-secondary), var(--cvot-primary));
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-xl);
    /* Eigener Compositing-Layer, sonst clippt Safari/WebKit den geblurten Glow
       nicht an den runden Ecken (er würde über die obere rechte Ecke ragen). */
    isolation: isolate;
    transform: translateZ(0);
}
.cvot-hc-blue__glow {
    position: absolute;
    top: -3rem;
    right: -3rem;
    width: 12rem;
    height: 12rem;
    background: #fff;
    opacity: 0.1;
    border-radius: 50%;
    filter: blur(32px);
    pointer-events: none;
}
.cvot-hc-blue__inner {
    position: relative;
    z-index: 1;
    padding: 2rem;
    display: flex;
    flex-direction: column;
}
.cvot-hc-blue__icon {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: 0.75rem;
    padding: 0.75rem;
    width: fit-content;
    margin-bottom: 1rem;
    color: #fff;
    line-height: 0;
}
.cvot-hc-blue__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.75rem;
}
.cvot-hc-blue__text {
    color: #dbeafe;
    font-size: 0.875rem;
    line-height: 1.625;
    margin: 0 0 1.5rem;
}
.cvot-hc-blue__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    align-self: flex-start;
    padding: 0.75rem 1.5rem;
    background: #fff;
    color: var(--cvot-primary);
    font-weight: 700;
    font-size: 0.875rem;
    border-radius: 0.75rem;
    text-decoration: none;
    box-shadow: var(--cvot-shadow-md);
    transition: background 0.2s, transform 0.2s;
}
.cvot-hc-blue__btn:hover {
    background: #eff6ff;
    color: var(--cvot-primary);
    transform: translateY(-2px);
}
.cvot-hc-blue__btn svg {
    transition: transform 0.2s;
}
.cvot-hc-blue__btn:hover svg {
    transform: translateX(0.25rem);
}

/* ── Weiße Karte (Register) ───────────────────────────── */
.cvot-hc-white {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-xl);
    border: 1px solid var(--cvot-border);
    padding: 2rem;
}
.cvot-hc-white__body {
    display: flex;
    flex-direction: column;
    text-align: left;
}
.cvot-hc-white__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0 0 0.75rem;
}
.cvot-hc-white__text {
    color: #64748b;
    font-size: 0.875rem;
    line-height: 1.625;
    margin: 0 0 1.5rem;
}
.cvot-hc-white__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    align-self: flex-start;
    padding: 0.75rem 1.5rem;
    background: var(--cvot-accent);
    color: #fff;
    font-weight: 700;
    font-size: 0.875rem;
    border-radius: 0.75rem;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(245, 124, 0, 0.2);
    transition: all 0.2s;
}
.cvot-hc-white__btn:hover {
    background: var(--cvot-accent-hover, #ea6c00);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(245, 124, 0, 0.3);
}

/* ── Rechte Karte (Countdown + Kennzahl) ──────────────── */
.cvot-header-cards__right {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-2xl);
    border: 1px solid var(--cvot-border);
    overflow: hidden;
    width: 100%;
}
.cvot-hc-right__inner {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;      /* vertikal zentriert bei überschüssiger Höhe */
    flex: 1;
}
@media (min-width: 1024px) {
    .cvot-hc-right__inner { padding: 2.5rem; }
}
.cvot-hc-right__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}
.cvot-hc-right__icon {
    background: var(--cvot-light);
    padding: 0.75rem;
    border-radius: 1rem;
    flex-shrink: 0;
    line-height: 0;
}
.cvot-hc-right__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0 !important;
    line-height: 48px;            /* bündig zur 48px-Icon-Box */
}
.cvot-hc-right__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
}
.cvot-hc-right__item {
    text-align: center;
    min-width: 0;
}
.cvot-hc-right__item .countdown-digit {
    border-radius: 0.75rem;
    padding: 0.75rem 0.25rem;
    box-shadow: var(--cvot-shadow-lg);
    margin-bottom: 0.5rem;
    background: linear-gradient(135deg, var(--cvot-primary), #002847);
}
@media (min-width: 1024px) {
    .cvot-hc-right__item .countdown-digit { padding: 1rem 0.35rem; }
}
.cvot-hc-right__item .countdown-digit span {
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
    font-variant-numeric: tabular-nums;
    display: block;
    line-height: 1.1;
}
@media (min-width: 1024px) {
    .cvot-hc-right__item .countdown-digit span { font-size: 1.75rem; }
}
.cvot-hc-right__label {
    font-size: 0.625rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
}
@media (min-width: 1024px) {
    .cvot-hc-right__label { font-size: 0.75rem; }
}
.cvot-hc-right__divider {
    width: 3rem;
    height: 0.25rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 2rem auto 1.5rem;
}
.cvot-hc-right__stat {
    text-align: center;
}
.cvot-hc-right__number {
    display: block;
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin-bottom: 0.25rem;
}
.cvot-hc-right__stat-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Responsive: unter 900px alles untereinander (blau → weiß → rechts) */
@media (max-width: 900px) {
    .cvot-header-cards {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   President Letter Block — aus index-cvot-mode.html (Z.429-493)
   Brief des Kongresspräsidenten
   ============================================================ */
.cvot-letter {
    padding: 6rem 0;
}
.cvot-letter__header {
    text-align: center;
    margin-bottom: 4rem;
}
.cvot-letter__eyebrow {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background: var(--cvot-light);
    color: var(--cvot-primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1.5rem; /* fester 24px-Abstand zwischen Eyebrow und H2 */
}
.cvot-letter__title {
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0;
}
/* H2-Top-Margin fest auf 0 – überschreibt die font-size-abhängige .single-content h2-Regel (höhere Spezifität) */
.cvot-letter .cvot-letter__title {
    margin-top: 0;
}
@media (min-width: 1024px) {
    .cvot-letter__title { font-size: 3rem; }
}
.cvot-letter__divider {
    margin: 1.5rem auto 0;
    width: 6rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}
.cvot-letter__card {
    max-width: 56rem;
    margin: 0 auto;
    background: linear-gradient(to bottom right, rgba(240, 247, 250, 0.5), #fff);
    border-radius: 1.5rem;
    padding: 2rem;
    border: 1px solid rgba(191, 219, 254, 0.5);
    box-shadow: var(--cvot-shadow-sm);
}
@media (min-width: 1024px) {
    .cvot-letter__card { padding: 3rem; }
}
.cvot-letter__quote-mark {
    color: rgba(245, 124, 0, 0.2);
    font-size: 5rem;
    font-family: Georgia, serif;
    line-height: 1;
    margin-bottom: 1rem;
    margin-top: -1rem;
}
.cvot-letter__quote-mark--close {
    text-align: right;
    margin-top: -2.5rem;
    margin-bottom: 0;
}
.cvot-letter__body {
    margin-top: -3rem;
    color: #475569;
    font-size: 1rem;
    line-height: 1.75;
}
.cvot-letter__body p:first-child {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--cvot-primary);
}
.cvot-letter__body p {
    margin: 0 0 1.5rem;
}
.cvot-letter__body strong {
    color: var(--cvot-primary);
}
.cvot-letter__signature {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(191, 219, 254, 0.5);
}
.cvot-letter__avatar {
    width: 5rem;
    height: 5rem;
    background: rgba(0, 53, 94, 0.1);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    color: rgba(0, 53, 94, 0.4);
}
.cvot-letter__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cvot-letter__signer-name {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0;
}
.cvot-letter__signer-role {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--cvot-secondary);
    margin: 0.25rem 0 0;
}
.cvot-letter__signer-loc {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0.25rem 0 0;
}

/* ============================================================
   Organizer Card Block — aus index-cvot-mode.html (Z.496-528)
   Veranstalter-Karte
   ============================================================ */
.cvot-organizer {
    padding: 5rem 0;
    background: #f8fafc; /* slate-50 — aus index-cvot-mode.html Z.497 */
    border-top: 1px solid #e2e8f0; /* slate-200 */
}
.cvot-organizer__header {
    text-align: center;
    margin-bottom: 3rem;
}
.cvot-organizer__title {
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0 0 1rem;
}
.cvot-organizer__divider {
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 0 auto;
}
.cvot-organizer__card {
    max-width: 42rem;
    margin: 0 auto;
    background: #fff;
    border-radius: 1.5rem;
    padding: 2rem 3rem;
    box-shadow: var(--cvot-shadow-sm);
    border: 1px solid var(--cvot-border);
    text-align: center;
}
.cvot-organizer__logo {
    width: 12rem;
    height: 5rem;
    background: none;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    border: none;
    overflow: hidden;
}
.cvot-organizer__logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.cvot-organizer__logo-text {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cvot-primary);
    letter-spacing: 0.1em;
}
.cvot-organizer__company {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0 0 0.5rem;
}
.cvot-organizer__address {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: #64748b;
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
}
.cvot-organizer__address p {
    margin: 0;
}
.cvot-organizer__city {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0 0 1.5rem;
}
.cvot-organizer__sep {
    width: 3rem;
    height: 2px;
    background: rgba(245, 124, 0, 0.3);
    border-radius: 9999px;
    margin: 0 auto 1.5rem;
}
.cvot-organizer__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cvot-secondary);
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.2s;
}
.cvot-organizer__link:hover {
    color: var(--cvot-primary);
}
.cvot-organizer__button {
    display: inline-flex;
    margin-top: 1.5rem;
}

/* ============================================================
   FAQ Section Block — templates/faq.html (Z.180-436)
   ============================================================ */
.cvot-faq-section {
    background: #fff;
    padding: 4rem 1rem;
    max-width: 64rem; /* max-w-4xl + slack */
    margin: 0 auto;
}
@media (min-width: 1024px) {
    .cvot-faq-section { padding: 6rem 2rem; }
}
.cvot-faq-section__header {
    text-align: center;
    margin-bottom: 3rem;
}
.cvot-faq-section__eyebrow {
    display: inline-block;
    padding: 0.375rem 1rem;
    border-radius: 9999px;
    background: var(--cvot-light);
    color: var(--cvot-primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}
.cvot-faq-section__title {
    font-size: 2.25rem;
    line-height: 1.1;
    font-weight: 800;
    color: var(--cvot-primary);
    letter-spacing: -0.02em;
    margin: 0 0 1rem;
}
@media (min-width: 1024px) {
    .cvot-faq-section__title { font-size: 3rem; }
}
.cvot-faq-section__divider {
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 0 auto 1.5rem;
}
.cvot-faq-section__description {
    color: #6b7280;
    max-width: 42rem;
    margin: 0 auto;
    font-size: 1.0625rem;
    line-height: 1.7;
}
.cvot-faq-section__categories {
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
    margin-top: 3.5rem;
}
.cvot-faq-category__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--cvot-light);
}
.cvot-faq-category__icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem;
    background: var(--cvot-light);
    color: var(--cvot-primary);
    border-radius: 0.75rem;
}
.cvot-faq-category__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0;
}
.cvot-faq-category__items {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.cvot-faq-item {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: border-color 0.25s ease;
}
.cvot-faq-item:hover {
    border-color: color-mix(in oklab, var(--cvot-secondary) 40%, transparent);
}
.cvot-faq-item__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 3rem); /* 3rem = Platz für den Chevron-Indikator rechts */
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    list-style: none;
    gap: 1rem;
}
.cvot-faq-item__question::-webkit-details-marker {
    display: none;
}
.cvot-faq-item__q-text {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    text-align: left;
    transition: color 0.2s ease;
}
.cvot-faq-item:hover .cvot-faq-item__q-text {
    color: var(--cvot-primary);
}
.cvot-faq-item__toggle {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    background: var(--cvot-light);
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cvot-primary);
    transition: background 0.2s ease;
}
.cvot-faq-item:hover .cvot-faq-item__toggle {
    background: color-mix(in oklab, var(--cvot-secondary) 10%, var(--cvot-light));
}
.cvot-faq-item__icon-plus {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.cvot-faq-item[open] .cvot-faq-item__icon-plus {
    transform: rotate(45deg);
}
.cvot-faq-item__answer {
    padding: 0 1.5rem 1.25rem;
    color: #4b5563;
    font-size: 0.875rem;
    line-height: 1.7;
}
.cvot-faq-item__answer p {
    margin: 0 0 0.75rem;
}
.cvot-faq-item__answer p:last-child {
    margin-bottom: 0;
}

/* CTA */
.cvot-faq-section__cta-wrap {
    margin-top: 4rem;
    padding-top: 4rem;
    border-top: 1px solid #e5e7eb;
}
.cvot-faq-cta {
    position: relative;
    max-width: 48rem;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 1rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    padding: 2rem;
    text-align: center;
    overflow: hidden;
}
@media (min-width: 768px) {
    .cvot-faq-cta { padding: 3rem; }
}
.cvot-faq-cta__bg-icon {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0.04;
    pointer-events: none;
    color: var(--cvot-primary);
    transform: translate(25%, -25%);
}
.cvot-faq-cta__inner {
    position: relative;
    z-index: 10;
}
.cvot-faq-cta__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    background: var(--cvot-light);
    border-radius: 1rem;
    margin-bottom: 1.5rem;
}
.cvot-faq-cta__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0 0 0.75rem;
}
.cvot-faq-cta__desc {
    color: #6b7280;
    line-height: 1.7;
    max-width: 28rem;
    margin: 0 auto 2rem;
}
.cvot-faq-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    background: var(--cvot-secondary);
    border-radius: 9999px;
    text-decoration: none;
    box-shadow: 0 10px 15px -3px rgba(8, 47, 73, 0.1);
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.cvot-faq-cta__btn:hover {
    background: color-mix(in oklab, var(--cvot-secondary) 85%, #000);
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(8, 47, 73, 0.2);
}

/* ============================================================
   Contact Info Block — templates/contact.html (Z.100-189)
   ============================================================ */
.cvot-contact-info {
    padding: 4rem 1rem;
    max-width: 80rem;
    margin: 0 auto;
}
@media (min-width: 1024px) {
    .cvot-contact-info { padding: 5rem 2rem; }
}
.cvot-contact-info__header {
    text-align: center;
    margin-bottom: 3rem;
}
.cvot-contact-info__eyebrow {
    display: inline-block;
    padding: 0.375rem 1rem;
    border-radius: 9999px;
    background: var(--cvot-light);
    color: var(--cvot-primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}
.cvot-contact-info__title {
    font-size: 2.25rem;
    line-height: 1.1;
    font-weight: 800;
    color: var(--cvot-primary);
    letter-spacing: -0.02em;
    margin: 0 0 1rem;
}
@media (min-width: 1024px) {
    .cvot-contact-info__title { font-size: 3rem; }
}
.cvot-contact-info__divider {
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 0 auto 1.5rem;
}
.cvot-contact-info__description {
    color: #6b7280;
    max-width: 42rem;
    margin: 0 auto;
    font-size: 1.0625rem;
    line-height: 1.7;
}
.cvot-contact-info__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 64rem;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .cvot-contact-info__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.cvot-contact-card {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 1rem;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 10px 25px rgba(229, 231, 235, 0.5);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.cvot-contact-card:hover {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}
.cvot-contact-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    background: var(--cvot-light);
    border-radius: 1rem;
    margin-bottom: 1.5rem;
    transition: transform 0.3s ease;
}
.cvot-contact-card:hover .cvot-contact-card__icon {
    transform: scale(1.1);
}
.cvot-contact-card__label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #9ca3af;
    margin: 0 0 0.75rem;
}
.cvot-contact-card__link {
    display: block;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--cvot-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}
.cvot-contact-card a.cvot-contact-card__link:hover {
    color: var(--cvot-secondary);
}
.cvot-contact-card__note {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.6;
}

/* ============================================================
   Contact Form Section Block — templates/contact.html (Z.190-271)
   ============================================================ */
.cvot-contact-form-section {
    background: #fff;
    padding: 4rem 1rem;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
}
@media (min-width: 1024px) {
    .cvot-contact-form-section { padding: 5rem 2rem; }
}
.cvot-contact-form-section__inner {
    max-width: 48rem;
    margin: 0 auto;
}
.cvot-contact-form-section__header {
    text-align: center;
    margin-bottom: 2.5rem;
}
.cvot-contact-form-section__eyebrow {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background: var(--cvot-light);
    color: var(--cvot-primary);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}
.cvot-contact-form-section__title {
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--cvot-primary);
    margin: 0 0 0.75rem;
}
.cvot-contact-form-section__description {
    color: #6b7280;
    max-width: 32rem;
    margin: 0 auto;
    line-height: 1.6;
}
.cvot-contact-form-section__divider {
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 1rem auto 0;
}
.cvot-contact-form-section__form {
    margin-top: 2rem;
}
.cvot-contact-form-section__placeholder {
    padding: 2.5rem 2rem;
    background: #f9fafb;
    border: 2px dashed #d1d5db;
    border-radius: 0.75rem;
    color: #6b7280;
    text-align: center;
    line-height: 1.7;
}
.cvot-contact-form-section__placeholder p {
    margin: 0 0 0.5rem;
}
.cvot-contact-form-section__placeholder p:last-child {
    margin-bottom: 0;
}
.cvot-contact-form-section__placeholder code {
    background: #e5e7eb;
    color: var(--cvot-primary);
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-size: 0.8125rem;
}

/* ─── CF7-Felder im Contact-Form-Section-Block ──────────────
   Styling am Block-Scope verankert, damit andere CF7-Forms
   im Theme nicht beeinflusst werden. */

.cvot-contact-form-section__form .wpcf7-form > p,
.cvot-contact-form-section__form .wpcf7-form > div {
    margin: 0 0 1.5rem;
}
.cvot-contact-form-section__form .wpcf7-form > p:last-child,
.cvot-contact-form-section__form .wpcf7-form > div:last-child {
    margin-bottom: 0;
}

/* Spalten-Rows (cvot-form-row-2/3/name) — BEWUSST NICHT auf den Block gescoped,
   damit sie in jedem CF7-Formular funktionieren, egal in welchem Block es steckt.
   Die Klassennamen sind theme-spezifisch, daher kollidieren sie mit nichts. */
.cvot-form-row-2,
.cvot-form-row-3,
.cvot-form-row-name,
.cvot-form-row-address {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin: 0 0 1.5rem;
}
@media (min-width: 640px) {
    .cvot-form-row-2 {
        grid-template-columns: 1fr 1fr;
    }
    .cvot-form-row-3 {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .cvot-form-row-name {
        grid-template-columns: 7rem 1fr 1fr;
    }
    /* Adresse / Stadt / PLZ — breit / mittel / schmal (entspricht 6/4/2) */
    .cvot-form-row-address {
        grid-template-columns: 3fr 2fr 1fr;
    }
}
.cvot-form-row-2 > p,
.cvot-form-row-2 > div,
.cvot-form-row-3 > p,
.cvot-form-row-3 > div,
.cvot-form-row-name > p,
.cvot-form-row-name > div,
.cvot-form-row-address > p,
.cvot-form-row-address > div {
    margin: 0;
}

/* Zwischenüberschriften im Formular (z.B. First Author / Abstract) */
.cvot-contact-form-section__form h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 2rem 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}
.cvot-contact-form-section__form .wpcf7-form > h3:first-child {
    margin-top: 0;
}

/* Labels */
.cvot-contact-form-section__form label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
    line-height: 1.4;
}

/* Required-Stern: rote Markierung. CF7 nutzt span.required-mark; manuelles
   <span class="required">*</span> im Label funktioniert ebenfalls. */
.cvot-contact-form-section__form .required,
.cvot-contact-form-section__form .required-mark,
.cvot-contact-form-section__form .wpcf7-form-control-wrap[data-name$="*"] + label::after {
    color: #f87171;
}

/* Wrapper, den CF7 um jedes Feld legt — bricht Input auf neue Zeile
   und schafft den Abstand zwischen Label-Text und Eingabefeld. */
.cvot-contact-form-section__form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 0.5rem;
}

/* Inputs / Textarea / Select */
.cvot-contact-form-section__form input[type="text"],
.cvot-contact-form-section__form input[type="email"],
.cvot-contact-form-section__form input[type="tel"],
.cvot-contact-form-section__form input[type="url"],
.cvot-contact-form-section__form input[type="number"],
.cvot-contact-form-section__form input[type="date"],
.cvot-contact-form-section__form textarea,
.cvot-contact-form-section__form select {
    width: 100%;
    padding: 0.75rem 1rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-family: inherit;
    color: #1e293b;
    line-height: 1.5;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.cvot-contact-form-section__form input::placeholder,
.cvot-contact-form-section__form textarea::placeholder {
    color: #9ca3af;
}

.cvot-contact-form-section__form input:focus,
.cvot-contact-form-section__form textarea:focus,
.cvot-contact-form-section__form select:focus {
    outline: none;
    background: #fff;
    border-color: var(--cvot-secondary, #007ebd);
    box-shadow: 0 0 0 3px rgba(0, 126, 189, 0.18);
}

.cvot-contact-form-section__form textarea {
    resize: vertical;
    min-height: 9rem;
}

/* Select-Caret per inline SVG */
.cvot-contact-form-section__form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.75rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem 1rem;
}

/* Acceptance / Checkboxes (Privacy-Hinweis) */
.cvot-contact-form-section__form .wpcf7-acceptance,
.cvot-contact-form-section__form .wpcf7-checkbox {
    margin: 0;
}
.cvot-contact-form-section__form .wpcf7-acceptance .wpcf7-list-item,
.cvot-contact-form-section__form .wpcf7-checkbox .wpcf7-list-item {
    display: block;
    margin: 0;
}
.cvot-contact-form-section__form .wpcf7-acceptance label,
.cvot-contact-form-section__form .wpcf7-checkbox label {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.75rem;
    font-weight: 400;
    color: #6b7280;
    line-height: 1.6;
    cursor: pointer;
    margin: 0;
}
.cvot-contact-form-section__form .wpcf7-acceptance input[type="checkbox"],
.cvot-contact-form-section__form .wpcf7-checkbox input[type="checkbox"] {
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin: 0.2rem 0 0;
    accent-color: var(--cvot-secondary, #007ebd);
    border-radius: 0.25rem;
    cursor: pointer;
}
.cvot-contact-form-section__form .wpcf7-list-item-label {
    flex: 1;
}
.cvot-contact-form-section__form .wpcf7-acceptance a,
.cvot-contact-form-section__form .wpcf7-checkbox a {
    color: var(--cvot-secondary, #007ebd);
    font-weight: 500;
    text-decoration: none;
}
.cvot-contact-form-section__form .wpcf7-acceptance a:hover,
.cvot-contact-form-section__form .wpcf7-checkbox a:hover {
    text-decoration: underline;
}

/* Footer-Reihe (Pflichtfeld-Hinweis links / Submit rechts) */
.cvot-contact-form-section__form .cvot-form-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.5rem;
    margin: 0;
}
.cvot-contact-form-section__form .cvot-form-mandatory {
    font-size: 0.75rem;
    color: #9ca3af;
    margin: 0;
}
.cvot-contact-form-section__form .cvot-form-mandatory .required {
    color: #f87171;
}

/* Submit-Button */
.cvot-contact-form-section__form input[type="submit"],
.cvot-contact-form-section__form button[type="submit"],
.cvot-contact-form-section__form .wpcf7-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 2rem;
    background: var(--cvot-secondary, #007ebd);
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none;
    border-radius: 0.75rem;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    box-shadow: 0 10px 15px -3px rgba(8, 47, 73, 0.10), 0 4px 6px -4px rgba(8, 47, 73, 0.10);
}
.cvot-contact-form-section__form input[type="submit"]:hover,
.cvot-contact-form-section__form button[type="submit"]:hover,
.cvot-contact-form-section__form .wpcf7-submit:hover {
    background: #0891b2;
    box-shadow: 0 14px 20px -3px rgba(8, 47, 73, 0.20), 0 6px 8px -4px rgba(8, 47, 73, 0.15);
    transform: translateY(-1px);
}
.cvot-contact-form-section__form input[type="submit"]:focus,
.cvot-contact-form-section__form button[type="submit"]:focus,
.cvot-contact-form-section__form .wpcf7-submit:focus {
    outline: 3px solid rgba(0, 126, 189, 0.30);
    outline-offset: 2px;
}
.cvot-contact-form-section__form input[type="submit"]:disabled,
.cvot-contact-form-section__form .wpcf7-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Validation */
.cvot-contact-form-section__form .wpcf7-not-valid {
    border-color: #f87171 !important;
    background: #fef2f2 !important;
}
.cvot-contact-form-section__form .wpcf7-not-valid-tip {
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: #dc2626;
}

/* Response Output (Erfolg / Fehler) */
.cvot-contact-form-section__form .wpcf7-response-output {
    margin: 1.5rem 0 0 !important;
    padding: 0.875rem 1rem !important;
    border-radius: 0.5rem;
    border-width: 1px !important;
    font-size: 0.875rem;
    line-height: 1.5;
}
.cvot-contact-form-section__form form.invalid .wpcf7-response-output,
.cvot-contact-form-section__form form.unaccepted .wpcf7-response-output,
.cvot-contact-form-section__form form.payment-required .wpcf7-response-output {
    border-color: #fca5a5 !important;
    background: #fef2f2 !important;
    color: #b91c1c !important;
}
.cvot-contact-form-section__form form.sent .wpcf7-response-output {
    border-color: #6ee7b7 !important;
    background: #ecfdf5 !important;
    color: #065f46 !important;
}

/* CF7 Spinner */
.cvot-contact-form-section__form .wpcf7-spinner {
    margin-left: 0.75rem;
    background-color: var(--cvot-secondary, #007ebd);
}

/* ============================================================
   Contact Location Block — templates/contact.html (Z.273-349)
   ============================================================ */
.cvot-contact-location {
    background: #f8fafc; /* slate-50 */
    padding: 4rem 1rem;
    border-bottom: 1px solid #e2e8f0;
}
@media (min-width: 1024px) {
    .cvot-contact-location { padding: 5rem 2rem; }
}
.cvot-contact-location__inner {
    max-width: 64rem;
    margin: 0 auto;
}
.cvot-contact-location__inner p {
    margin-bottom: 0;
}
.cvot-contact-location__header {
    text-align: center;
    margin-bottom: 3rem;
}
.cvot-contact-location__title {
    font-size: 1.875rem;
    font-weight: 800;
    color: var(--cvot-primary);
    margin: 0 0 1rem;
    letter-spacing: -0.01em;
}
.cvot-contact-location__divider {
    width: 4rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
    margin: 0 auto;
}
.cvot-contact-location__card {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 1rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
    .cvot-contact-location__card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Map (left) */
.cvot-contact-location__map {
    position: relative;
    background: var(--cvot-primary);
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.cvot-contact-location__map-bg {
    position: absolute;
    inset: 0;
    opacity: 0.1;
}
.cvot-contact-location__map-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cvot-contact-location__map-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom right,
        var(--cvot-primary) 0%,
        color-mix(in oklab, var(--cvot-primary) 95%, transparent) 50%,
        color-mix(in oklab, var(--cvot-primary) 90%, transparent) 100%
    );
}
.cvot-contact-location__map-content {
    position: relative;
    z-index: 10;
    text-align: center;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.cvot-contact-location__map-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 9999px;
    backdrop-filter: blur(8px);
}
.cvot-contact-location__map-city {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
}
.cvot-contact-location__map-address {
    color: #bfdbfe; /* blue-200 */
    font-size: 0.875rem;
    margin: 0;
}
.cvot-contact-location__map-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 9999px;
    text-decoration: none;
    backdrop-filter: blur(8px);
    transition: background 0.2s ease;
}
.cvot-contact-location__map-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Details (right) */
.cvot-contact-location__details {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.5rem;
}
@media (min-width: 1024px) {
    .cvot-contact-location__details { padding: 2.5rem 3rem; }
}
.cvot-contact-location__company {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--cvot-primary);
    margin: 0 0 0.5rem;
    letter-spacing: -0.01em;
}
.cvot-contact-location__company-tagline {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cvot-secondary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
}
.cvot-contact-location__company-desc {
    color: #4b5563;
    line-height: 1.7;
    margin: 0;
}
.cvot-contact-location__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.cvot-contact-location__list > li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}
.cvot-contact-location__list-icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    background: var(--cvot-light);
    border-radius: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cvot-contact-location__list-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    margin: 0 0 0.125rem;
}
.cvot-contact-location__list-value {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.5;
}
.cvot-contact-location__list-link {
    font-size: 0.875rem;
    color: var(--cvot-secondary);
    text-decoration: none;
    transition: text-decoration 0.2s ease;
}
.cvot-contact-location__list-link:hover {
    text-decoration: underline;
}

/* ============================================================
   Livestream Teaser Block — aus virtualcvot.html (Z.198-224)
   Card mit Preview-Bild + Play-Overlay + Live-Badge + Body + CTA
   ============================================================ */
.cvot-livestream-teaser {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-2xl);
    border: 1px solid #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.cvot-livestream-teaser__media {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #111827;
    overflow: hidden;
}
.cvot-livestream-teaser__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s ease;
}
.cvot-livestream-teaser:hover .cvot-livestream-teaser__media img {
    transform: scale(1.05);
}
.cvot-livestream-teaser__media-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    background: linear-gradient(135deg, var(--cvot-primary), #002847);
    color: rgba(255, 255, 255, 0.35);
    font-weight: 800;
    letter-spacing: -0.02em;
}
.cvot-livestream-teaser__brand-c { font-size: 3rem; }
.cvot-livestream-teaser__brand-year {
    font-size: 1rem;
    background: var(--cvot-accent);
    color: #fff;
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
    letter-spacing: 0.05em;
}
.cvot-livestream-teaser__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 53, 94, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}
.cvot-livestream-teaser:hover .cvot-livestream-teaser__overlay {
    background: rgba(0, 53, 94, 0.25);
}
.cvot-livestream-teaser__play {
    width: 5rem;
    height: 5rem;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease;
}
.cvot-livestream-teaser:hover .cvot-livestream-teaser__play { transform: scale(1.1); }
.cvot-livestream-teaser__badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(220, 38, 38, 0.9);
    backdrop-filter: blur(4px);
    color: #fff;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
}
.cvot-livestream-teaser__badge-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: #fff;
    animation: cvot-live-pulse 1.5s ease-in-out infinite;
}
.cvot-livestream-teaser__body {
    padding: 2rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.cvot-livestream-teaser__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.5rem;
}
.cvot-livestream-teaser__desc {
    color: #6b7280;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin: 0 0 1.5rem;
    flex: 1;
}
.cvot-livestream-teaser__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 1rem 2rem;
    background: var(--cvot-accent);
    color: #fff;
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 0.75rem;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(245, 124, 0, 0.2);
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    margin-top: auto;
}
.cvot-livestream-teaser__cta:hover {
    background: var(--cvot-accent-hover);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(245, 124, 0, 0.3);
}

/* ============================================================
   Programme Teaser Block — aus virtualcvot.html (Z.226-281, Now-Live-Anker entfernt)
   Kompakt: Header + Current + Next + CTA
   ============================================================ */
.cvot-programme-teaser {
    background: #fff;
    border-radius: 1.5rem;
    box-shadow: var(--cvot-shadow-xl);
    border: 1px solid #f3f4f6;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.cvot-programme-teaser__header {
    padding: 2rem;
    background: rgba(249, 250, 251, 0.5);
    border-bottom: 1px solid #f9fafb;
    flex-shrink: 0;
}
.cvot-programme-teaser__header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.cvot-programme-teaser__icon {
    background: var(--cvot-light);
    padding: 0.75rem;
    border-radius: 1rem;
    display: inline-flex;
}
.cvot-programme-teaser__up-next {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cvot-primary);
    background: var(--cvot-light);
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
}
.cvot-programme-teaser__heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.3;
}
.cvot-programme-teaser__day {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
    margin: 0.25rem 0 0;
}
.cvot-programme-teaser__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
}
.cvot-programme-teaser__empty {
    padding: 2rem;
    text-align: center;
    color: #9ca3af;
    font-size: 0.875rem;
    font-style: italic;
}
.cvot-programme-teaser__current {
    padding: 1.5rem;
    border-bottom: 1px solid #f3f4f6;
    background: rgba(255, 237, 213, 0.25); /* very light orange */
    position: relative;
}
.cvot-programme-teaser__current-rule {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 0.375rem;
    background: var(--cvot-accent);
}
.cvot-programme-teaser__next {
    padding: 1.5rem;
    flex: 1;
}
.cvot-programme-teaser__row-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}
.cvot-programme-teaser__label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.cvot-programme-teaser__label--current { color: var(--cvot-accent); }
.cvot-programme-teaser__label--next    { color: var(--cvot-primary); opacity: 0.6; }
.cvot-programme-teaser__time {
    font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 0.7rem;
    font-weight: 500;
    color: #6b7280;
    background: rgba(255, 255, 255, 0.6);
    padding: 0.15rem 0.5rem;
    border-radius: 0.25rem;
}
.cvot-programme-teaser__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.4;
    margin: 0 0 0.5rem;
}
.cvot-programme-teaser__title--next { font-weight: 600; color: #1f2937; }
.cvot-programme-teaser__speaker {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #374151;
}
.cvot-programme-teaser__speaker--next { color: #6b7280; font-weight: 400; }
.cvot-programme-teaser__footer {
    padding: 1.5rem;
    padding-top: 0;
    margin-top: auto;
}
.cvot-programme-teaser__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 1rem 1rem;
    background: var(--cvot-primary);
    color: #fff;
    font-weight: 700;
    font-size: 0.875rem;
    border-radius: 0.75rem;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0, 53, 94, 0.1);
    transition: background 0.2s, transform 0.2s;
}
.cvot-programme-teaser__cta:hover {
    background: #002847;
    color: #fff;
    transform: translateY(-2px);
}
.cvot-programme-teaser__cta svg { transition: transform 0.2s; }
.cvot-programme-teaser__cta:hover svg { transform: translateX(0.25rem); }

/* ============================================================
   Spacing Fix: Evaluation block needs bottom gap before Certificates
   (both are alignfull stacked with no intrinsic margin).
   ============================================================ */
.cvot-evaluation {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.cvot-cert-cards {
    padding-top: 2rem;
    padding-bottom: 3rem;
}
.cvot-evaluation + .cvot-cert-cards,
.cvot-evaluation.alignfull + .cvot-cert-cards.alignfull {
    margin-top: 2rem;
}

/* ============================================================
   Control-Visibility (zentrale Zeit-Steuerung via Admin → Zertifikat-Steuerung).
   Elemente mit data-show-from/data-show-until werden von control-visibility.js
   je nach aktuellem Vortrags-Index ein-/ausgeblendet.
   ============================================================ */
.is-cvot-hidden {
    display: none !important;
}
/* Optional: Fade-In beim Sichtbarwerden (smooth transition) */
.is-cvot-visible {
    animation: cvot-visibility-fade-in 0.5s ease-out;
}
@keyframes cvot-visibility-fade-in {
    0%   { opacity: 0; transform: translateY(6px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   Current-Talk Highlight (dynamic, set by programme.js polling
   /cvot/v1/control every 60s). Applies to both talks and sessions.
   ============================================================ */
.cvot-programme__talk.is-current-talk,
.cvot-programme__session.is-current-talk {
    position: relative;
    background: linear-gradient(90deg, rgba(245, 124, 0, 0.08), transparent 80%);
    border-left: 4px solid var(--cvot-accent);
    box-shadow: 0 4px 20px rgba(245, 124, 0, 0.12);
    transform: translateX(0);
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
.cvot-programme__talk.is-current-talk::before,
.cvot-programme__session.is-current-talk::before {
    content: 'NOW LIVE';
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    z-index: 5;
    padding: 0.2rem 0.6rem;
    background: #dc2626;
    color: #fff;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    border-radius: 9999px;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.4);
    animation: cvot-live-pulse 1.5s ease-in-out infinite;
}
@keyframes cvot-live-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.85; transform: scale(1.03); }
}

/* ============================================================
   GLightbox iframe overrides — PDFs render full-size
   (default GLightbox iframe CSS only sets min-height:165px which
   is way too small for PDF viewing — fill the viewport instead).
   ============================================================ */
.glightbox-container .gslide-inner-content,
.glightbox-container .ginner-container {
    width: 100%;
    max-width: 1200px;
}
.glightbox-container .gslide iframe {
    width: 100% !important;
    height: 88vh !important;
    min-height: 88vh !important;
    max-height: 88vh !important;
    border: none;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}
/* Ensure the iframe container slide takes full available width */
.glightbox-container .gslide.current.gslide-external,
.glightbox-container .gslide.current:has(iframe) {
    width: 100%;
    max-width: 95vw;
}

/* ============================================================
   Coming Soon Block (generic) + Page-Meta-Notice
   ============================================================ */
.cvot-coming-soon-block {
    padding: 4rem 1.5rem;
}
.cvot-coming-soon-block__inner {
    max-width: 36rem;
    margin: 0 auto;
    padding: 3rem 2rem;
    text-align: center;
    border-radius: 1rem;
}
.cvot-coming-soon-block--light .cvot-coming-soon-block__inner {
    background: var(--cvot-light, #f8fafc);
    color: var(--cvot-text, #0f172a);
    border: 1px solid var(--cvot-border, #e2e8f0);
}
.cvot-coming-soon-block--dark .cvot-coming-soon-block__inner {
    background: linear-gradient(135deg, #030712, #111827, #030712);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.08);
}
.cvot-coming-soon-block__icon {
    margin: 0 auto 1.25rem;
    width: 3rem;
    height: 3rem;
    color: var(--cvot-accent, #f57c00);
}
.cvot-coming-soon-block--dark .cvot-coming-soon-block__icon {
    color: var(--cvot-accent, #f57c00);
}
.cvot-coming-soon-block__heading {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0.75rem;
}
.cvot-coming-soon-block__subtext {
    font-size: 1.05rem;
    line-height: 1.5;
    margin: 0;
    opacity: 0.85;
}

/* ============================================================
   Page Header Block (kompakter Hero für Unterseiten)
   Vorbild: templates/registration.html Z. 138-159
   ============================================================ */
/* Padding-Werte aus templates/registration.html: pt-28 pb-16 / lg:pt-36 lg:pb-20 / lg:px-8 */
.cvot-page-header {
    position: relative;
    padding: 7rem 1rem 4rem;
    background: var(--cvot-primary);
    overflow: hidden;
    text-align: center;
    color: #fff;
}
@media (min-width: 640px) {
    .cvot-page-header {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 1024px) {
    .cvot-page-header {
        padding: 3rem 2rem 5rem;
    }
}
/* Full-Width-Breakout — Kadence content-style-unboxed limitiert sonst auf Content-Breite */
.entry-content > .cvot-page-header.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.cvot-page-header__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.cvot-page-header__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.15;
    mix-blend-mode: overlay;
}
.cvot-page-header__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
        var(--cvot-primary),
        rgba(0, 53, 94, 0.95),
        var(--cvot-primary));
}
.cvot-page-header__glow-1 {
    position: absolute;
    top: -6rem;
    right: -6rem;
    width: 24rem;
    height: 24rem;
    background: var(--cvot-accent);
    opacity: 0.10;
    border-radius: 9999px;
    filter: blur(60px);
}
.cvot-page-header__glow-2 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 16rem;
    height: 16rem;
    background: var(--cvot-secondary);
    opacity: 0.15;
    border-radius: 9999px;
    filter: blur(60px);
}
.cvot-page-header__content {
    position: relative;
    z-index: 1;
    max-width: 80rem;
    margin: 0 auto;
}
.cvot-page-header__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 9999px;
    padding: 0.375rem 1rem;
    margin-bottom: 1.5rem;
}
.cvot-page-header__badge span {
    font-size: 0.875rem;
    font-weight: 500;
    color: #e5e7eb;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.cvot-page-header__title,
.editor-styles-wrapper .cvot-page-header__title,
.editor-styles-wrapper .cvot-page-header h1 {
    font-size: 2.25rem;            /* text-4xl */
    line-height: 1.25;             /* leading-tight */
    font-weight: 800;              /* font-extrabold */
    letter-spacing: -0.025em;      /* tracking-tight */
    margin: 0.125em 0 0.5em;
    color: #fff !important;        /* schlägt theme.json/Gutenberg-Default im Editor */
}
@media (min-width: 1024px) {
    .cvot-page-header__title {
        font-size: 3rem;
    }
}
.cvot-page-header__subtitle {
    font-size: 1.125rem;
    line-height: 1.5;
    color: #bfdbfe;
    max-width: 42rem;
    margin: 0 auto;
}
.cvot-page-header__subtitle strong {
    color: #fff;
    font-weight: 600;
}
.cvot-page-header__divider {
    margin: 1.5rem auto 0;
    width: 6rem;
    height: 0.375rem;
    background: var(--cvot-accent);
    border-radius: 9999px;
}

/* Page-Meta-Notice (inc/page-coming-soon.php — ersetzt the_content) */
.cvot-coming-soon-notice {
    max-width: 36rem;
    margin: 4rem auto;
    padding: 3rem 2rem;
    text-align: center;
    background: var(--cvot-light, #f8fafc);
    border: 1px solid var(--cvot-border, #e2e8f0);
    border-radius: 1rem;
}
.cvot-coming-soon-notice h2 {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.75rem;
}
.cvot-coming-soon-notice p {
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 0;
    color: var(--cvot-medium-text, #475569);
}
