/* Alcomedian WPBakery Elements */
:root{
  --alco-accent:#800000;
  --alco-fill:#F5F5F5;
  --alco-card-bg:#ffffff;
  --alco-ink:#4b4b4b;
}

/* Alignment */
.alco-align{ width:100%; }
.alco-align--left{ text-align:left; }
.alco-align--center{ text-align:center; }
.alco-align--right{ text-align:right; }

/* Frame */
.alco-frame{
  border: var(--alco-frame-bw, 6px) solid var(--alco-accent) !important;
  border-radius: var(--alco-frame-rad, 14px) !important;
  padding: var(--alco-frame-py, 10px) var(--alco-frame-px, 16px) !important;
  background:#fff !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.08) !important;
}

/* Title */
.alco-title{
  display:inline-block !important;
  margin:0 0 14px 0 !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:.6px !important;
  text-transform:uppercase !important;
  color:var(--alco-ink) !important;
  /* Standard: fluid auf Mobile, kraftvoll auf Desktop */
  font-size: var(--alco-title-fs, clamp(22px, 5vw, 32px));
  overflow-wrap: normal; word-break: normal; hyphens: none;
  
}

/* Titel-Link (Titel und Card-Titel) */
.alco-title__link{
  text-decoration:none !important;
  color:inherit !important;
  display:inline-block;
}
.alco-title__link:hover{ filter:brightness(.95); }

/* Button */
.alco-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  font-weight:800 !important;
  letter-spacing:.2px !important;
  transition: filter .15s ease, transform .15s ease;
  user-select:none;
  color: var(--alco-ink) !important;
}
.alco-btn:hover{ filter:brightness(.95); transform:translateY(-1px); }
.alco-btn--outline{ background:transparent !important; }
.alco-btn--solid{ background:var(--alco-accent) !important; color:#fff !important; }

/* Divider */
.alco-divider{ color:var(--alco-accent) !important; }
.alco-divider--line{ height:0; }
.alco-divider--zigzag{
  height:14px;
  background:
    linear-gradient(135deg, transparent 75%, currentColor 75%) 0 0/14px 14px,
    linear-gradient(225deg, transparent 75%, currentColor 75%) 0 0/14px 14px;
}

/* Card */
.alco-card{
  background:var(--alco-card-bg);
  border:6px solid var(--alco-accent);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

/* Schatten-Varianten */
.alco-card--shadow-sm{ box-shadow:0 6px 14px rgba(0,0,0,0.08) !important; }
.alco-card--shadow-md{ box-shadow:0 10px 26px rgba(0,0,0,0.10) !important; }
.alco-card--shadow-lg{ box-shadow:0 16px 40px rgba(0,0,0,0.14) !important; }
.alco-card__head{
  padding:16px 18px 0 18px !important;
  text-align:center !important;
}
.alco-card__body{
  padding:0;
  flex: 1 1 auto;
}
.alco-card__footer{
  padding: 0 18px 16px 18px;
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.alco-badge{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  font-weight:800 !important;
}

/* Alignment fix for inline elements in flex contexts */
.alco-align--center .alco-btn,
.alco-align--center .alco-badge{ margin-left:auto !important; margin-right:auto !important; }

.alco-align--left .alco-btn,
.alco-align--left .alco-badge{ margin-left:0 !important; margin-right:auto !important; }

.alco-align--right .alco-btn,
.alco-align--right .alco-badge{ margin-left:auto !important; margin-right:0 !important; }


/* Button und Badge: feinere Linie (nicht 6px) */
.alco-btn.alco-frame{ --alco-frame-bw: 3px; }
.alco-badge.alco-frame{ --alco-frame-bw: 3px; }

/* Wenn Fuellung aktiv ist: Button soll nicht automatisch das Accent-Solid erzwingen */
.alco-btn.alco-fill{ background: var(--alco-fill) !important; color:#fff !important; }
.alco-btn.alco-fill:hover{ filter:brightness(.95); }


/* Card Hintergrund (Logo-Hellgrau) */
.alco-card.alco-card--fill{ background:#F5F5F5 !important; }


/* Fill toggle: immer Logo-Hellgrau #F5F5F5 (lesbare Schrift) */
.alco-fill{
  background: var(--alco-fill) !important;
  color: var(--alco-ink, #4b4b4b) !important;
}
.alco-fill *{ color: var(--alco-ink, #4b4b4b) !important; }


/* Zweifarbiger Text wie im Logo (Trenner: '=') */
.alco-text--bordeaux{ color:#800000 !important; }
.alco-text--gray{ color: var(--alco-ink, #4b4b4b) !important; }

/* Auch bei Fuellung: diese Spans duerfen ihre Farbe behalten */
.alco-fill .alco-text--bordeaux{ color:#800000 !important; }
.alco-fill .alco-text--gray{ color: var(--alco-ink, #4b4b4b) !important; }


/* Fix: Button Fuellung -> Text muss dunkel bleiben (nicht weiss) */
.alco-btn.alco-fill{ color: var(--alco-ink, #4b4b4b) !important; }
.alco-btn.alco-fill *{ color: var(--alco-ink, #4b4b4b) !important; }


/* Button wie Titel: Fuellung = #F5F5F5, Text = Ink */
.alco-btn.alco-fill{
  background: #F5F5F5 !important;
  color: var(--alco-ink, #4b4b4b) !important;
}
.alco-btn.alco-fill span,
.alco-btn.alco-fill .alco-text--bordeaux{
  color:#800000 !important;
}
.alco-btn.alco-fill .alco-text--gray{
  color: var(--alco-ink, #4b4b4b) !important;
}

/* Kill theme overrides */
.alco-align .alco-btn.alco-fill,
.alco-align .alco-btn.alco-fill *{
  color: var(--alco-ink, #4b4b4b) !important;
}


/* --- Alcomedian PDF Viewer (PDF.js) --- */
.alco-pdf-viewer{ width:100%; border:0; background:transparent; overflow:auto; }
.alco-pdf-canvas{ display:block; width:100%; height:auto; border:0; background:transparent; box-shadow:none; outline:none; }
.alco-pdf-loading{ min-height:160px; }
.alco-pdf-error{ padding:12px; border:1px solid rgba(0,0,0,.15); }

/* Zwei Seiten nebeneinander */
.alco-pdf-two-wrap{ display:flex; gap:16px; align-items:flex-start; }
.alco-pdf-two-wrap canvas{ width:50%; height:auto; }
@media (max-width: 768px){
  .alco-pdf-two-wrap{ flex-direction:column; }
  .alco-pdf-two-wrap canvas{ width:100%; }
}


/* --- Alcomedian Icon Titel --- */
.alco-icon-title{
  display:flex;
}
.alco-icon-title__link{
  display:inline-block;
  text-decoration:none;
}
.alco-icon-title__box{
  width: var(--alco-box-size, 56px);
  height: var(--alco-box-size, 56px);
  display:flex;
  align-items:center;
  justify-content:center;
  border: var(--alco-outline, 6px) solid var(--alco-accent);
  border-radius: var(--alco-radius, 14px);
  box-sizing:border-box;
}
.alco-icon-title__box i{
  font-size: calc(var(--alco-box-size, 56px) * 0.45);
  line-height: 1;
}

/* Fix Icon Titel Alignment */
.alco-icon-title{ display:flex; width:100%; }
.alco-align--left .alco-icon-title{ justify-content:flex-start; }
.alco-align--center .alco-icon-title{ justify-content:center; }
.alco-align--right .alco-icon-title{ justify-content:flex-end; }
