/*!
 * Eventus Weihnachtsfeier
 * Frontend-Styles fuer die Hauptseite und die Location-Unterseiten.
 *
 * Die Hausschrift made_outer_sans wird vom Child Theme geladen.
 * Faellt sie aus, greift die Ersatzkette in --ev-font.
 */


/* =========================================================================
   1. TOKENS
   ========================================================================= */
.ev{
  --ev-ink:      #0A0A0A;
  --ev-ink-soft: #1C1C1C;
  --ev-paper:    #FFFFFF;
  --ev-paper-2:  #F7F7F6;
  --ev-grey:     #6E6E6E;
  --ev-sage:     #AEBCB9;
  --ev-rule:     rgba(10,10,10,.14);
  --ev-rule-d:   rgba(255,255,255,.16);

  --ev-max: 1240px;
  --ev-gut: clamp(20px, 4vw, 56px);
  --ev-sec: clamp(76px, 9vw, 140px);

  --ev-font: made_outer_sans, Poppins, "Helvetica Neue", Arial, sans-serif;
}


/* =========================================================================
   2. BASIS
   ========================================================================= */
.ev, .ev *{box-sizing:border-box}
.ev{
  font-family:var(--ev-font);color:var(--ev-ink);background:var(--ev-paper);
  font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:clip;
}
.ev :where(img){display:block;width:100%;height:auto}
.ev :where(p){margin:0 0 1em}
.ev :where(p:last-child){margin-bottom:0}
.ev :where(ul){margin:0;padding:0;list-style:none}
.ev :where(a){text-decoration:none;color:inherit}
.ev h1,.ev h2,.ev h3,.ev h4{overflow-wrap:break-word;hyphens:auto}

.ev-sec{padding:var(--ev-sec) var(--ev-gut)}
.ev-in{max-width:var(--ev-max);margin:0 auto;width:100%}
.ev-dark{background:var(--ev-ink);color:#fff}
.ev-paper{background:var(--ev-paper-2)}

/* Typografie */
.ev-label{
  font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ev-grey);margin:0 0 26px;
}
.ev-dark .ev-label{color:rgba(255,255,255,.45)}
.ev h2.ev-h2{
  font-family:var(--ev-font);font-size:clamp(25px,3.5vw,44px);line-height:1.08;
  font-weight:700;text-transform:uppercase;margin:0 0 18px;letter-spacing:-.005em;
  max-width:20ch;text-wrap:balance;
}
.ev-h2.ev-wide{max-width:26ch}
.ev-intro{font-size:clamp(15px,1.3vw,17px);font-weight:400;color:var(--ev-grey);max-width:56ch;margin:0}
.ev-dark .ev-intro{color:rgba(255,255,255,.6)}

/* Sektionskopf: Titel links, Text rechts. Ruhiger als zentriert. */
.ev-head{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(18px,4vw,64px);align-items:end;
  padding-bottom:34px;border-bottom:1px solid var(--ev-rule);margin-bottom:52px;
}
.ev-dark .ev-head{border-bottom-color:var(--ev-rule-d)}

/* Buttons: nur zwei, schwarz oder Kontur */
.ev-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:16px 34px;border-radius:9999px;border:1px solid var(--ev-ink);
  font-family:var(--ev-font);font-size:14px;font-weight:500;line-height:1;
  cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease;
}
.ev .ev-btn-solid{background:var(--ev-ink);color:#fff}
.ev .ev-btn-solid:hover{background:#333;border-color:#333}
.ev .ev-btn-line{background:transparent;color:var(--ev-ink)}
.ev .ev-btn-line:hover{background:var(--ev-ink);color:#fff}
.ev .ev-btn-inv{background:#fff;color:var(--ev-ink);border-color:#fff}
.ev .ev-btn-inv:hover{background:transparent;color:#fff}
.ev .ev-btn-inv-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.ev .ev-btn-inv-line:hover{background:#fff;color:var(--ev-ink);border-color:#fff}
.ev-btns{display:flex;flex-wrap:wrap;gap:12px}

/* Textlink mit Unterstrich */
.ev-tlink{
  display:inline-block;padding-bottom:2px;
  border-bottom:1px solid var(--ev-ink);font-weight:500;font-size:14px;
}

/* =========================================================================
   3. HERO
   ========================================================================= */
.ev-hero{
  position:relative;display:flex;align-items:flex-end;
  min-height:min(78vh,760px);
  padding:calc(var(--ev-sec) + 30px) var(--ev-gut) clamp(52px,6vw,84px);
  background:var(--ev-ink);color:#fff;overflow:hidden;isolation:isolate;
}
.ev-hero-bg{position:absolute;inset:0;z-index:-1}
.ev-hero-bg img{height:100%;object-fit:cover}
.ev-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top, rgba(10,10,10,.9) 0%, rgba(10,10,10,.52) 46%, rgba(10,10,10,.3) 100%);
}
.ev-hero .ev-in{position:relative}
.ev-hero-label{
  font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.6);margin:0 0 24px;
}
.ev-hero h1{
  font-family:var(--ev-font);font-size:clamp(32px,5.2vw,76px);line-height:1;
  font-weight:700;text-transform:uppercase;letter-spacing:-.015em;
  margin:0 0 24px;color:#fff;
}
.ev-hero-sub{font-size:clamp(15px,1.4vw,19px);font-weight:400;color:rgba(255,255,255,.78);max-width:50ch;margin:0 0 34px}
.ev-hero-foot{
  margin-top:clamp(36px,5vw,58px);padding-top:22px;
  border-top:1px solid rgba(255,255,255,.22);
  display:flex;flex-wrap:wrap;gap:8px 34px;
  font-size:13px;font-weight:400;color:rgba(255,255,255,.62);
}
.ev-hero-foot b{color:#fff;font-weight:500}

/* =========================================================================
   4. USP ZEILE
   ========================================================================= */
.ev-usp{padding:0 var(--ev-gut)}
.ev-usp-in{
  max-width:var(--ev-max);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--ev-rule);
}
.ev-usp-in div{padding:34px 26px 34px 0}
.ev-usp-in b{display:block;font-size:14px;font-weight:700;text-transform:uppercase;margin-bottom:4px;letter-spacing:.02em}
.ev-usp-in span{font-size:13px;font-weight:400;color:var(--ev-grey)}

/* =========================================================================
   5. LOCATIONS
   ========================================================================= */
.ev-locs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3vw,44px) clamp(20px,2.4vw,32px)}
.ev-loc{display:block}
.ev-loc-img{overflow:hidden;background:#111;aspect-ratio:4 / 5;margin-bottom:18px}
.ev-loc-img img{height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.ev-loc:hover .ev-loc-img img{transform:scale(1.03)}
.ev-loc h3{font-size:clamp(17px,1.6vw,21px);font-weight:700;text-transform:uppercase;margin:0 0 8px;line-height:1.2}
.ev-loc-facts{font-size:13.5px;font-weight:400;color:var(--ev-grey);margin:0 0 16px}
.ev-loc-more{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-top:14px;border-top:1px solid var(--ev-rule);
  font-size:13px;font-weight:500;
}
.ev-loc-more span:last-child{color:var(--ev-grey);font-weight:400;transition:transform .3s ease}
.ev-loc:hover .ev-loc-more span:last-child{transform:translateX(4px)}
.ev-locs-foot{margin-top:52px;padding-top:26px;border-top:1px solid var(--ev-rule);font-size:14px;font-weight:400;color:var(--ev-grey)}

/* =========================================================================
   6. PAKETE ALS VERGLEICHSTABELLE
   ========================================================================= */
.ev-tab{width:100%;border-collapse:collapse;font-size:14px}
.ev-tab{color:inherit}
.ev-tab th,.ev-tab td{color:inherit;text-align:left;vertical-align:top;padding:16px 18px;border-bottom:1px solid var(--ev-rule-d)}
.ev-tab thead th{padding-top:0;vertical-align:bottom}
.ev-tab .ev-rowlab{
  width:23%;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.45);padding-left:0;
}
.ev-tab td{font-weight:400;color:rgba(255,255,255,.84);width:25.6%}
.ev-tab td li{margin-bottom:4px}
.ev-pak-name{font-size:clamp(15px,1.5vw,19px);font-weight:700;text-transform:uppercase;line-height:1.15;margin:0 0 10px;display:block}
.ev-pak-p{font-size:clamp(24px,2.6vw,34px);font-weight:700;line-height:1;display:block;font-variant-numeric:tabular-nums}
.ev-pak-p small{font-size:12px;font-weight:400;color:rgba(255,255,255,.5);margin-left:7px;letter-spacing:.02em}
.ev-pak-tag{
  display:inline-block;margin-bottom:12px;font-size:10.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ev-sage);
}
.ev-col-hi{background:rgba(255,255,255,.07)}
.ev-tab tfoot td{border-bottom:0;padding-top:26px}
.ev-pak-cards{display:none}
.ev-pak-foot{
  margin-top:40px;padding-top:26px;border-top:1px solid var(--ev-rule-d);
  display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;
  font-size:14px;font-weight:400;color:rgba(255,255,255,.6);
}
.ev-pak-foot b{color:#fff;font-weight:500}

/* ----- Budget-Rechner, ohne Dekor ----- */
.ev-calc{margin-top:clamp(44px,5vw,64px);padding-top:clamp(34px,4vw,48px);border-top:1px solid var(--ev-rule-d)}
.ev-calc-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;margin-bottom:20px}
.ev-calc-top p{font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.45);margin:0}
.ev-calc-top b{font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.ev-calc-top b span.ev-calc-unit{font-size:13px;font-weight:400;color:rgba(255,255,255,.5);margin-left:9px;letter-spacing:.02em}
.ev .ev-calc input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:1px;border:0;border-radius:0;padding:0;
  background:rgba(255,255,255,.28);outline:none;margin:8px 0 10px;
}
.ev .ev-calc input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
  background:#fff;border:0;cursor:pointer;
}
.ev .ev-calc input[type=range]::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;background:#fff;border:0;cursor:pointer;
}
.ev .ev-calc input[type=range]:focus-visible{outline:1px solid #fff;outline-offset:8px}
.ev-calc-scale{display:flex;justify-content:space-between;font-size:11px;font-weight:400;color:rgba(255,255,255,.38);letter-spacing:.06em}
.ev-calc-out{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid var(--ev-rule-d)}
.ev-calc-out li{padding:24px 26px 0;border-right:1px solid var(--ev-rule-d)}
.ev-calc-out li:first-child{padding-left:0}
.ev-calc-out li:last-child{border-right:0}
.ev-calc-out b{display:block;font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:10px}
.ev-calc-out strong{display:block;font-size:clamp(21px,2.4vw,29px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.ev-calc-out em{display:block;font-style:normal;font-size:12.5px;font-weight:400;color:rgba(255,255,255,.45);margin-top:8px}
.ev-calc-note{margin-top:26px;font-size:12.5px;font-weight:400;color:rgba(255,255,255,.42)}

/* Gesamtsumme direkt an den Paketpreisen */
.ev-pak-tot{display:block;margin-top:9px;font-size:12.5px;font-weight:400;color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums}
.ev-pak-tot b{font-weight:500;color:rgba(255,255,255,.78)}

/* ----- Anfrageleiste, nur Mobil ----- */
.ev-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:9990;display:none;align-items:center;gap:14px;
  padding:13px 16px calc(13px + env(safe-area-inset-bottom, 0px));
  background:var(--ev-ink);border-top:1px solid var(--ev-rule-d);
  transform:translateY(110%);transition:transform .32s cubic-bezier(.2,.7,.3,1);
}
.ev-sticky.ev-show{transform:none}
.ev-sticky-txt{flex:1;min-width:0;color:#fff;line-height:1.3}
.ev-sticky-txt b{display:block;font-size:14px;font-weight:700;letter-spacing:.01em}
.ev-sticky-txt span{display:block;font-size:11px;font-weight:400;color:rgba(255,255,255,.52)}
.ev .ev-sticky .ev-btn{width:auto;flex:none;padding:13px 24px;font-size:13px}
@media (max-width:900px){
  .ev-sticky{display:flex}
  .ev-final{padding-bottom:calc(clamp(88px,11vw,170px) + 78px)}
}

/* ----- Verfuegbarkeit ----- */
.ev-avail{
  display:flex;align-items:center;gap:11px;margin:0 0 22px;
  font-size:13px;font-weight:400;color:rgba(255,255,255,.66);
}
.ev-avail i{width:6px;height:6px;border-radius:50%;background:var(--ev-sage);flex:none;font-style:normal}
.ev-avail b{font-weight:500;color:#fff}

/* =========================================================================
   7. PREIS ERKLAERT
   ========================================================================= */
.ev-incl{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--ev-rule)}
.ev-incl li{padding:30px 22px 0 0;border-right:1px solid var(--ev-rule)}
.ev-incl li:last-child{border-right:0}
.ev-incl b{display:block;font-size:13.5px;font-weight:700;text-transform:uppercase;margin-bottom:7px;letter-spacing:.03em}
.ev-incl span{font-size:13px;font-weight:400;color:var(--ev-grey);line-height:1.5}
.ev-price-line{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:0 0 18px;
}
.ev-price-line b{font-size:clamp(44px,6vw,86px);font-weight:700;line-height:.95;letter-spacing:-.03em}
.ev-price-line > span{font-size:14px;font-weight:400;color:var(--ev-grey)}
.ev-price-line b .ev-count{font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit}

/* =========================================================================
   8. ABLAUF
   ========================================================================= */
.ev-time{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ev-rule-d)}
.ev-time li{padding:30px 20px 0 0;border-right:1px solid var(--ev-rule-d)}
.ev-time li:last-child{border-right:0}
.ev-time time{display:block;font-size:clamp(19px,2.1vw,26px);font-weight:700;line-height:1;margin-bottom:12px;font-variant-numeric:tabular-nums}
.ev-time b{display:block;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.ev-time p{font-size:13px;font-weight:400;color:rgba(255,255,255,.55);margin:0;line-height:1.5}
.ev-time-note{margin-top:44px;font-size:14px;font-weight:400;color:rgba(255,255,255,.62)}
.ev-time-note b{color:#fff;font-weight:500}

/* =========================================================================
   9. FULL SERVICE UND UPGRADES
   ========================================================================= */
.ev-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,90px)}
.ev-serv{columns:2;column-gap:clamp(24px,3vw,44px)}
.ev-serv li{break-inside:avoid;padding:15px 0;border-bottom:1px solid var(--ev-rule)}
.ev-serv b{display:block;font-size:14px;font-weight:700;text-transform:uppercase;margin-bottom:3px}
.ev-serv span{font-size:12.5px;font-weight:400;color:var(--ev-grey)}

.ev-up li{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);
  gap:clamp(14px,3vw,44px);padding:26px 0;border-bottom:1px solid var(--ev-rule);
}
.ev-up li:first-child{border-top:1px solid var(--ev-rule)}
.ev-up b{font-size:clamp(15px,1.5vw,18px);font-weight:700;text-transform:uppercase;line-height:1.2}
.ev-up p{font-size:14px;font-weight:400;color:var(--ev-grey);margin:0}

/* =========================================================================
   10. GALERIE UND LOGOS
   ========================================================================= */
.ev-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
.ev-gal figure{margin:0;overflow:hidden;background:#111;aspect-ratio:3 / 2}
.ev-gal img{height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.ev-gal figure:hover img{transform:scale(1.04)}

.ev-logos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(30px,5vw,64px)}
/* Logos werden einfarbig schwarz dargestellt. Der Filter faerbt nur die
   sichtbaren Flaechen, Transparenz bleibt erhalten. */
.ev-logos img{width:auto;height:clamp(24px,2.8vw,34px);object-fit:contain;filter:grayscale(1) brightness(0);opacity:.62;transition:opacity .25s ease}
.ev-logos img:hover{opacity:1}

/* =========================================================================
   11. LEAD CTA UND FORMULAR
   ========================================================================= */
.ev-lead{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(24px,5vw,64px);align-items:center;
  padding:clamp(34px,4.6vw,56px) 0;border-top:1px solid var(--ev-rule);border-bottom:1px solid var(--ev-rule);
}
.ev-lead h2{font-size:clamp(21px,2.6vw,32px);font-weight:700;text-transform:uppercase;line-height:1.1;margin:0 0 12px;max-width:22ch}
.ev-lead p{font-size:14.5px;font-weight:400;color:var(--ev-grey);margin:0;max-width:50ch}

.ev-form-split{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,6vw,84px)}
.ev-form-aside li{padding:16px 0;border-bottom:1px solid var(--ev-rule);font-size:13.5px;font-weight:400;color:var(--ev-grey)}
.ev-form-aside li:first-child{border-top:1px solid var(--ev-rule)}
.ev-form-aside b{display:block;font-size:13px;font-weight:700;text-transform:uppercase;color:var(--ev-ink);margin-bottom:3px;letter-spacing:.03em}
.ev-fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 18px}
.ev-f{display:flex;flex-direction:column;gap:8px}
.ev-f.ev-full{grid-column:1 / -1}
.ev-f label{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ev-grey)}
.ev .ev-f input,.ev .ev-f select,.ev .ev-f textarea,.ev .wpcf7-form-control{
  font-family:var(--ev-font);font-size:15px;font-weight:400;color:var(--ev-ink);
  background:transparent;border:0;border-bottom:1px solid var(--ev-rule);border-radius:0;
  padding:10px 0;width:100%;transition:border-color .22s ease;
}
.ev .ev-f textarea,.ev textarea.wpcf7-form-control{min-height:104px;resize:vertical}
.ev .ev-f input:focus,.ev .ev-f select:focus,.ev .ev-f textarea:focus,.ev .wpcf7-form-control:focus{
  outline:none;border-bottom-color:var(--ev-ink);border-bottom-width:1.5px;
}
.ev-fsend{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:10px}
.ev-fsend small{font-size:12px;font-weight:400;color:var(--ev-grey);max-width:38ch;line-height:1.5}

/* =========================================================================
   12. FAQ
   ========================================================================= */
.ev-faq{border-top:1px solid var(--ev-rule)}
.ev-faq details{border-bottom:1px solid var(--ev-rule)}
.ev-faq summary{
  list-style:none;cursor:pointer;position:relative;padding:26px 48px 26px 0;
  font-size:clamp(15px,1.4vw,17px);font-weight:500;line-height:1.35;
}
.ev-faq summary::-webkit-details-marker{display:none}
.ev-faq summary::before,.ev-faq summary::after{
  content:"";position:absolute;right:6px;top:50%;background:var(--ev-ink);transition:transform .28s ease;
}
.ev-faq summary::before{width:14px;height:1px}
.ev-faq summary::after{width:1px;height:14px;margin-top:-6.5px;margin-right:6.5px}
.ev-faq details[open] summary::after{transform:rotate(90deg)}
.ev-faq-a{margin:0;padding:0 48px 28px 0;font-size:14.5px;font-weight:400;color:var(--ev-grey);line-height:1.66;max-width:76ch}

/* =========================================================================
   13. FINALER CTA
   ========================================================================= */
.ev-final{padding:clamp(88px,11vw,170px) var(--ev-gut);background:var(--ev-ink);color:#fff}
.ev-final h2{font-size:clamp(28px,4.6vw,62px);line-height:1.02;font-weight:700;text-transform:uppercase;margin:0 0 20px;letter-spacing:-.015em;max-width:16ch}
.ev-final p{font-size:clamp(15px,1.4vw,18px);font-weight:400;color:rgba(255,255,255,.62);max-width:50ch;margin:0 0 36px}
.ev-final-meta{
  margin-top:clamp(44px,6vw,72px);padding-top:24px;border-top:1px solid var(--ev-rule-d);
  display:flex;flex-wrap:wrap;gap:8px 30px;font-size:13px;font-weight:400;color:rgba(255,255,255,.5);
}

/* =========================================================================
   14. RESPONSIVE
   ========================================================================= */
@media (max-width:1040px){
  .ev-locs{grid-template-columns:repeat(2,1fr)}
  .ev-head{grid-template-columns:1fr;align-items:start;gap:16px}
  .ev-usp-in{grid-template-columns:repeat(2,1fr)}
  .ev-incl{grid-template-columns:repeat(2,1fr)}
  .ev-incl li{border-right:0;border-bottom:1px solid var(--ev-rule);padding-bottom:26px}
  .ev-time{grid-template-columns:repeat(2,1fr)}
  .ev-calc-out{grid-template-columns:1fr}
  .ev-calc-out li{border-right:0;border-bottom:1px solid var(--ev-rule-d);padding:24px 0 22px}
  .ev-calc-out li:last-child{border-bottom:0}
  .ev-time li{border-right:0;border-bottom:1px solid var(--ev-rule-d);padding-bottom:26px}
  .ev-split,.ev-form-split,.ev-lead{grid-template-columns:1fr}
  .ev-gal{grid-template-columns:repeat(2,1fr)}

  /* Tabelle wird auf schmalen Screens zu drei gestapelten Bloecken */
  .ev-pak-table{display:none}
  .ev-pak-cards{display:block}
}
@media (max-width:640px){
  .ev-locs{grid-template-columns:1fr}
  .ev-usp-in{grid-template-columns:1fr}
  .ev-usp-in div{padding:22px 0;border-bottom:1px solid var(--ev-rule)}
  .ev-usp-in div:last-child{border-bottom:0}
  .ev-incl{grid-template-columns:1fr}
  .ev-time{grid-template-columns:1fr}
  .ev-serv{columns:1}
  .ev-up li{grid-template-columns:1fr;gap:8px}
  .ev-gal{grid-template-columns:1fr}
  .ev-fgrid{grid-template-columns:1fr}
  .ev-btn{width:100%}
  .ev-btns{flex-direction:column}
  .ev-faq summary,.ev-faq-a{padding-right:40px}
}

/* Karten-Fassung der Pakete fuer schmale Screens */
.ev-pc{padding:30px 0;border-bottom:1px solid var(--ev-rule-d)}
.ev-pc:first-child{border-top:1px solid var(--ev-rule-d)}
.ev-pc-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 18px;margin-bottom:20px}
.ev-pc h3{font-size:19px;font-weight:700;text-transform:uppercase;margin:0;line-height:1.15}
.ev-pc-grp{margin-bottom:14px}
.ev-pc-grp h4{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.42);margin:0 0 6px}
.ev-pc-grp li{font-size:14px;font-weight:400;color:rgba(255,255,255,.84);margin-bottom:3px}

/* =========================================================================
   15. VARIANTE 5: WEIHNACHTLICHE DETAILS UND BEWEGUNG
   ========================================================================= */
.ev{
  --ev-pine:  #101E18;   /* sehr dunkles Tannengruen statt reinem Schwarz */
  --ev-warm:  rgba(222,192,142,.14);
}
.ev .ev-dark{background:var(--ev-pine)}
.ev .ev-final{background:var(--ev-pine)}
.ev .ev-hero{background:var(--ev-pine)}

/* ----- Scroll-Animation ----- */
.ev-rv{
  opacity:0;transform:translateY(20px);
  transition:opacity .66s cubic-bezier(.22,.72,.3,1), transform .66s cubic-bezier(.22,.72,.3,1);
  transition-delay:var(--ev-d, 0ms);
  will-change:opacity, transform;
}
.ev-rv.ev-on{opacity:1;transform:none}

/* Ablauf-Linie zeichnet sich */
.ev-time{position:relative}
.ev-time::before{
  content:"";position:absolute;top:-1px;left:0;height:1px;width:100%;
  background:var(--ev-sage);transform:scaleX(0);transform-origin:left;
  transition:transform 1.15s cubic-bezier(.22,.72,.3,1) .15s;
}
.ev-time.ev-on::before{transform:none}

/* Tabellenzeilen laufen nacheinander ein */
.ev-tab tbody tr{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease}
.ev-tab.ev-on tbody tr{opacity:1;transform:none}
.ev-tab.ev-on tbody tr:nth-child(1){transition-delay:.05s}
.ev-tab.ev-on tbody tr:nth-child(2){transition-delay:.13s}
.ev-tab.ev-on tbody tr:nth-child(3){transition-delay:.21s}
.ev-tab.ev-on tbody tr:nth-child(4){transition-delay:.29s}
.ev-tab.ev-on tbody tr:nth-child(5){transition-delay:.37s}

/* Hero laeuft beim Laden ein */
.ev-ld{opacity:0;transform:translateY(22px);animation:ev-up .9s cubic-bezier(.22,.72,.3,1) forwards;animation-delay:var(--ev-d,0ms)}
@keyframes ev-up{to{opacity:1;transform:none}}

/* Langsame Bildfahrt */
.ev-hero-bg img{animation:ev-pan 26s ease-in-out infinite alternate}
@keyframes ev-pan{from{transform:scale(1.01)}to{transform:scale(1.09)}}

/* ----- Schneefall, sehr sparsam ----- */
.ev-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ev-snow i{
  position:absolute;top:-6%;border-radius:50%;background:#fff;
  animation:ev-fall linear infinite;
}
@keyframes ev-fall{
  0%{transform:translate3d(0,-6vh,0);opacity:0}
  12%{opacity:.75}
  88%{opacity:.5}
  100%{transform:translate3d(30px,106vh,0);opacity:0}
}
.ev-hero .ev-in-wrap, .ev-final .ev-in{position:relative;z-index:1}

/* Warmer Kerzenschein im Abschluss */
.ev-final{position:relative;overflow:hidden;isolation:isolate}
.ev-final::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(58% 62% at 50% 8%, var(--ev-warm), transparent 68%);
}

/* ----- Icons ----- */
.ev-ico{
  width:22px;height:22px;display:block;flex:none;
  stroke:var(--ev-sage);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;
}
.ev-usp-in .ev-ico{margin-bottom:14px}
.ev-incl .ev-ico{margin-bottom:14px;stroke:#1F3A2E}
.ev-time .ev-ico{margin-bottom:14px;width:20px;height:20px}
.ev-up-t{display:flex;align-items:flex-start;gap:12px}
.ev-up-t .ev-ico{stroke:#1F3A2E;margin-top:1px}

/* Schneeflocke als Marke vor jeder Sektionsbezeichnung */
.ev-label::before, .ev-hero-label::before{
  content:"";display:inline-block;width:11px;height:11px;margin-right:11px;vertical-align:-1px;
  background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23AEBCB9' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7'/%3E%3Cpath d='M12 6.4 9.6 4M12 6.4 14.4 4M12 17.6 9.6 20M12 17.6l2.4 2.4'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ----- Hochzaehlender Preis ----- */
.ev-count{font-variant-numeric:tabular-nums}

/* ----- FAQ oeffnet weich ----- */
.ev-faq details[open] .ev-faq-a{animation:ev-open .42s cubic-bezier(.22,.72,.3,1)}
@keyframes ev-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.ev-faq summary{transition:padding-left .25s ease}
.ev-faq summary:hover{padding-left:6px}

/* ----- Rueckmeldung beim Antippen ----- */
.ev .ev-btn{transition:background .22s ease,color .22s ease,border-color .22s ease,transform .12s ease}
.ev .ev-btn:active{transform:scale(.97)}
.ev-loc{transition:transform .3s ease}
.ev-loc:active{transform:scale(.995)}

/* ----- Bewegung reduzieren ----- */
@media (prefers-reduced-motion:reduce){
  .ev-rv{opacity:1;transform:none;transition:none}
  .ev-ld{opacity:1;transform:none;animation:none}
  .ev-hero-bg img{animation:none}
  .ev-snow{display:none}
  .ev-time::before{transform:none;transition:none}
  .ev-tab tbody tr{opacity:1;transform:none;transition:none}
  .ev-faq details[open] .ev-faq-a{animation:none}
}

/* =========================================================================
   17. VARIANTE 6: SCHRIFTSTAERKE UND AUSRICHTUNG
   ========================================================================= */
.ev{ --ev-grey:#555555; }

/* ----- Sektionskopf zentriert statt links und rechts geteilt ----- */
.ev-head{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;
  border-bottom:0;padding-bottom:0;margin-bottom:clamp(46px,5vw,70px);
}
.ev-head > div{width:100%}
.ev-head h2.ev-h2{max-width:26ch;margin-left:auto;margin-right:auto;text-align:center}
.ev-time-note{text-align:center;max-width:70ch;margin-left:auto;margin-right:auto}
.ev-head .ev-intro{max-width:58ch;margin-left:auto;margin-right:auto}
.ev-head .ev-price-line{justify-content:center}
.ev-head .ev-label{margin-bottom:20px}

/* ----- Bloecke mit Icon mittig ----- */
.ev-usp-in > div, .ev-incl li, .ev-time li{text-align:center}
.ev-usp-in .ev-ico, .ev-incl .ev-ico, .ev-time .ev-ico{margin-left:auto;margin-right:auto}
.ev-usp-in > div{padding:34px 20px}
.ev-incl li{padding:32px 20px 0}
.ev-time li{padding:30px 16px 0}
.ev-usp-in span{font-size:13.5px}
.ev-incl span{font-size:13.5px}
.ev-time p{font-size:13.5px}

/* ----- Leistungen: Kopf mittig, Liste darunter dreispaltig ----- */
.ev-split{display:block}
.ev-split > div:first-child{text-align:center;max-width:62ch;margin:0 auto clamp(44px,5vw,64px)}
.ev-split > div:first-child .ev-h2,
.ev-split > div:first-child .ev-intro{margin-left:auto;margin-right:auto}
.ev-serv{columns:3}
.ev-serv span{font-size:13.5px}

/* ----- Upgrades: Nummer und Titel bleiben links, Text daneben ----- */
.ev-up p{font-size:14.5px}

/* ----- Lead-CTA mittig ----- */
.ev-lead{display:block;text-align:center}
.ev-lead h2{max-width:26ch;margin-left:auto;margin-right:auto}
.ev-lead p{margin-left:auto;margin-right:auto}
.ev-lead > div:last-child{margin-top:28px}

/* ----- Formular: Kopf mittig, Vorteile als Dreierreihe ----- */
.ev-form-split{display:block}
.ev-form-aside{text-align:center;max-width:64ch;margin:0 auto clamp(40px,4vw,56px)}
.ev-form-aside .ev-h2,.ev-form-aside .ev-intro{margin-left:auto;margin-right:auto}
.ev-form-aside ul{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(18px,3vw,40px);text-align:left}
.ev-form-aside li:first-child,.ev-form-aside li{border-top:1px solid var(--ev-rule)}
.ev-fgrid{max-width:940px;margin:0 auto}
.ev-fsend{justify-content:center;text-align:center}

/* ----- Pakete: Fussnote und Rechnerhinweis mittig ----- */
.ev-pak-foot{justify-content:center;text-align:center}
.ev-calc-note{text-align:center}
.ev-locs-foot,.ev-loc-note{text-align:center}

/* ----- Abschluss mittig ----- */
.ev-final .ev-in{display:flex;flex-direction:column;align-items:center;text-align:center}
.ev-final h2{max-width:18ch;margin-left:auto;margin-right:auto}
.ev-final p{margin-left:auto;margin-right:auto}
.ev-final .ev-btns{justify-content:center}
.ev-final-meta{justify-content:center}
.ev-avail{justify-content:center}

/* ----- Kontrast ----- */
.ev-dark .ev-intro{color:rgba(255,255,255,.75)}
.ev-time p{color:rgba(255,255,255,.72)}
.ev-tab td{color:rgba(255,255,255,.92)}
.ev-hero-sub{color:rgba(255,255,255,.88)}
.ev-hero-foot{color:rgba(255,255,255,.8)}
.ev-final p{color:rgba(255,255,255,.78)}
.ev-calc-out em{color:rgba(255,255,255,.62)}
.ev-calc-note{color:rgba(255,255,255,.6)}
.ev-pak-tot{color:rgba(255,255,255,.68)}
.ev-pak-foot{color:rgba(255,255,255,.78)}
.ev-time-note{color:rgba(255,255,255,.8)}
.ev-tab .ev-rowlab{color:rgba(255,255,255,.58)}
.ev-pc-grp h4{color:rgba(255,255,255,.55)}
.ev-pc-grp li{color:rgba(255,255,255,.92)}
.ev-hero-label{color:rgba(255,255,255,.72)}
.ev-label{color:var(--ev-grey)}
.ev-dark .ev-label{color:rgba(255,255,255,.58)}

@media (max-width:1040px){
  .ev-serv{columns:2}
  .ev-form-aside ul{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ev-serv{columns:1}
}

/* =========================================================================
   18. NUR LOCATION-SEITE
   ========================================================================= */
.ev-crumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 22px;
  font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.ev-crumb a{border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px;transition:border-color .2s ease,color .2s ease}
.ev-crumb a:hover{color:#fff;border-bottom-color:#fff}
.ev-crumb span:last-child{color:#fff}
.ev-crumb::before{
  content:"";display:inline-block;width:11px;height:11px;margin-right:2px;
  background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23AEBCB9' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7'/%3E%3Cpath d='M12 6.4 9.6 4M12 6.4 14.4 4M12 17.6 9.6 20M12 17.6l2.4 2.4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ev-hero-claim{
  font-size:clamp(17px,2vw,26px);font-weight:400;color:var(--ev-sage);
  margin:0 0 20px;max-width:26ch;line-height:1.25;
}

/* Faktenleiste unter dem Kopfbereich */
.ev-facts{padding:0 var(--ev-gut);background:var(--ev-paper)}
.ev-facts-in{
  max-width:var(--ev-max);margin:0 auto;
  display:grid;grid-template-columns:repeat(5,1fr);
  border-bottom:1px solid var(--ev-rule);
}
.ev-facts-in > div{padding:30px 18px;border-right:1px solid var(--ev-rule);text-align:center}
.ev-facts-in > div:last-child{border-right:0}
.ev-facts-in .ev-ico{stroke:#1F3A2E;margin:0 auto 12px}
.ev-facts-in b{display:block;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.2}
.ev-facts-in span{font-size:13.5px;font-weight:400;color:var(--ev-grey)}

/* Beschreibung und Auf einen Blick */
.ev-split-wide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(34px,6vw,90px);align-items:start}
.ev-body{font-size:clamp(15.5px,1.35vw,17px);font-weight:400;color:var(--ev-grey);max-width:58ch;margin:0 0 1.15em}
.ev-glance{border-top:1px solid var(--ev-rule)}
.ev-glance li{
  display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:16px;
  padding:13px 0;border-bottom:1px solid var(--ev-rule);
}
.ev-glance span{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ev-grey);padding-top:3px}
.ev-glance b{font-size:15px;font-weight:500}

/* Drei Gruende */
.ev-why{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);border-top:1px solid var(--ev-rule);padding-top:8px}
.ev-why li{padding:30px 20px 0;border-right:1px solid var(--ev-rule);text-align:center}
.ev-why li:last-child{border-right:0}
.ev-why-no{display:block;font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--ev-sage);margin-bottom:14px}
.ev-why b{display:block;font-size:clamp(16px,1.6vw,19px);font-weight:700;text-transform:uppercase;line-height:1.2;margin-bottom:9px}
.ev-why p{font-size:14.5px;font-weight:400;color:var(--ev-grey);margin:0;max-width:34ch;margin-left:auto;margin-right:auto}

/* Weitere Locations: fuenf statt drei Kacheln */
.ev-loc-others .ev-locs{grid-template-columns:repeat(5,1fr);gap:clamp(18px,2.2vw,26px)}
.ev-loc-others .ev-loc-img{aspect-ratio:3 / 4}

/* Kennzeichnung auf einer Kachel der Hauptseite */
.ev-loc-tag{
  margin:0 0 7px;font-size:10.5px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ev-sage);
}

/* Gesetzte Location im Formular */
.ev .ev-f input[readonly]{color:var(--ev-grey);cursor:default}
.ev .ev-f input[readonly]:focus{border-bottom-color:var(--ev-rule);border-bottom-width:1px}

/* Rueckmeldung des Formulars */
.ev-note{
  padding:22px 26px;border:1px solid var(--ev-rule);font-size:15px;font-weight:400;line-height:1.55;
}
.ev-note-ok{border-color:#2F4A3C;background:#F2F6F3;color:#1F3A2E}
.ev-note-err{border-color:#9C3B34;background:#FBF3F2;color:#7A2C26;grid-column:1 / -1;margin-bottom:8px}

/* Honeypot, fuer Menschen unsichtbar */
.ev-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

/* Abschluss der Pakete mit Button */
.ev-pak-foot{justify-content:center;text-align:center;gap:18px 28px}
.ev-pak-foot .ev-btn{flex:none}

@media (max-width:1040px){
  .ev-facts-in{grid-template-columns:repeat(3,1fr)}
  .ev-facts-in > div:nth-child(3n){border-right:0}
  .ev-split-wide{grid-template-columns:1fr}
  .ev-why{grid-template-columns:1fr}
  .ev-why li{border-right:0;border-bottom:1px solid var(--ev-rule);padding-bottom:28px}
  .ev-why li:last-child{border-bottom:0}
  .ev-loc-others .ev-locs{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .ev-facts-in{grid-template-columns:repeat(2,1fr)}
  .ev-facts-in > div{border-right:0;border-bottom:1px solid var(--ev-rule);padding:22px 0}
  .ev-facts-in > div:nth-child(odd){padding-right:14px;border-right:1px solid var(--ev-rule)}
  .ev-facts-in > div:last-child{border-bottom:0}
  .ev-glance li{grid-template-columns:1fr;gap:3px}
  .ev-loc-others .ev-locs{grid-template-columns:repeat(2,1fr)}
  .ev-pak-foot .ev-btn{width:100%}
}


/* =========================================================================
   19. THEME-KOMPATIBILITAET
   Zwei Regeln der Website schlagen sonst die Vererbung in diesem Modul:

   1. Das Child Theme setzt  a { color:#fff !important }
      Dadurch werden alle Links im Modul weiss, auch Buttons auf hellem Grund.
   2. Die Beaver-Skin setzt  h1..h6 { color:#333 }
      Eine direkte Farbe auf der Ueberschrift schlaegt die geerbte Farbe der
      Sektion, deshalb wurden Ueberschriften auf dunklen Flaechen dunkelgrau.

   Beides wird hier gezielt und nur innerhalb von .ev zurueckgesetzt.
   Die !important sind an dieser Stelle Absicht, nicht Bequemlichkeit.
   ========================================================================= */

.ev{ --ev-sage-dark:#5C6F69; }

/* Ueberschriften erben wieder die Farbe ihrer Sektion */
.ev h1, .ev h2, .ev h3, .ev h4, .ev h5, .ev h6{ color:inherit !important; }

/* Links erben wieder, Buttons bekommen ihre eigene Farbe zurueck */
.ev a{ color:inherit !important; }
.ev .ev-btn-solid,
.ev .ev-btn-solid:hover{ color:#fff !important; }
.ev .ev-btn-line{ color:var(--ev-ink) !important; }
.ev .ev-btn-line:hover{ color:#fff !important; }
.ev .ev-btn-inv{ color:var(--ev-ink) !important; }
.ev .ev-btn-inv:hover{ color:#fff !important; }
.ev .ev-btn-inv-line{ color:#fff !important; }
.ev .ev-btn-inv-line:hover{ color:var(--ev-ink) !important; }
.ev .ev-crumb a:hover{ color:#fff !important; }

/* Salbeigruen war auf hellem Grund zu schwach */
.ev .ev-why-no,
.ev .ev-loc-tag{ color:var(--ev-sage-dark) !important; }

/* Gedeckte Toene auf der dunklen Flaeche etwas angehoben */
.ev .ev-dark .ev-label,
.ev .ev-final .ev-label{ color:rgba(255,255,255,.68) !important; }
.ev .ev-calc-top p{ color:rgba(255,255,255,.7) !important; }
.ev .ev-calc-scale{ color:rgba(255,255,255,.58) !important; }
.ev .ev-calc-out b{ color:rgba(255,255,255,.62) !important; }
.ev .ev-calc-out em{ color:rgba(255,255,255,.66) !important; }
.ev .ev-calc-note{ color:rgba(255,255,255,.66) !important; }
.ev .ev-pc-grp h4{ color:rgba(255,255,255,.64) !important; }
.ev .ev-tab .ev-rowlab{ color:rgba(255,255,255,.66) !important; }
.ev .ev-pak-tot{ color:rgba(255,255,255,.72) !important; }
.ev .ev-pak-p small{ color:rgba(255,255,255,.62) !important; }

/* =========================================================================
   20. FORMULAR: EINWILLIGUNG UND ABSENDEN
   Reihenfolge im Formular: Felder, dann Nachricht ueber die volle Breite,
   darunter die Datenschutz-Checkbox, darunter der Button.
   ========================================================================= */

.ev-consent{ grid-column:1 / -1; margin-top:10px; }
.ev-consent label{
  display:flex; align-items:flex-start; gap:13px; cursor:pointer;
  text-align:left; font-size:13.5px; font-weight:400; line-height:1.55;
  color:var(--ev-grey); letter-spacing:0; text-transform:none;
}
.ev .ev-consent input[type="checkbox"]{
  appearance:none !important; -webkit-appearance:none !important;
  width:20px !important; height:20px !important; flex:none;
  margin:1px 0 0 !important; padding:0 !important;
  border:1px solid rgba(10,10,10,.35) !important; border-radius:0 !important;
  background:#fff !important; cursor:pointer; position:relative;
  transition:background .2s ease, border-color .2s ease;
}
.ev .ev-consent input[type="checkbox"]:checked{
  background:var(--ev-ink) !important; border-color:var(--ev-ink) !important;
}
.ev .ev-consent input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:6px; top:2px; width:5px; height:10px;
  border:solid #fff; border-width:0 1.6px 1.6px 0; transform:rotate(45deg);
}
.ev .ev-consent input[type="checkbox"]:focus-visible{
  outline:2px solid var(--ev-ink); outline-offset:3px;
}
.ev .ev-consent a{ text-decoration:underline; text-underline-offset:2px; }
.ev .ev-consent a:hover{ color:var(--ev-ink) !important; }

/* Button und Hinweis stehen untereinander, mittig unter dem Formular */
.ev-fsend{
  grid-column:1 / -1; display:flex; flex-direction:column; align-items:center;
  gap:14px; margin-top:12px; text-align:center;
}
.ev-fsend small{ max-width:54ch; }

@media (max-width:640px){
  .ev-fsend{ align-items:stretch; }
}

/* =========================================================================
   21. LOGO-BAND IM KOPFBEREICH
   Schmales Band rechts neben den Buttons. Die Logos laufen langsam nach links
   und lösen sich an beiden Rändern weich auf, statt hart abgeschnitten zu
   werden. Der Verlauf macht das Ausblenden, die beiden Kanten legen
   zusätzlich eine leichte Unschärfe darüber.
   ========================================================================= */

.ev-hero-cta{
  display:flex; align-items:center; flex-wrap:wrap;
  gap:clamp(18px,2.6vw,38px);
}
.ev-hero-cta .ev-btns{ flex:0 0 auto; }

.ev-marquee{
  position:relative; flex:1 1 240px; min-width:0;
  height:54px; display:flex; align-items:center;
}
.ev-marquee-mask{
  width:100%; overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 16%, #000 84%, transparent 100%);
          mask-image:linear-gradient(to right, transparent 0, #000 16%, #000 84%, transparent 100%);
}
.ev-marquee-track{
  display:flex; width:max-content;
  animation:ev-marquee 34s linear infinite;
}
.ev-marquee:hover .ev-marquee-track{ animation-play-state:paused; }

.ev-marquee-set{
  display:flex; align-items:center; list-style:none; margin:0; padding:0;
  gap:clamp(26px,3.4vw,48px);
  padding-right:clamp(26px,3.4vw,48px);
}
.ev-marquee-set li{ flex:none; display:flex; align-items:center; }
.ev-marquee img{
  height:clamp(17px,1.9vw,23px); width:auto; object-fit:contain;
  filter:brightness(0) invert(1); opacity:.66;
}

/* Weiche Kanten mit leichter Unschaerfe */
.ev-marquee::before,
.ev-marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:clamp(34px,5vw,64px);
  pointer-events:none; z-index:2;
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
.ev-marquee::before{
  left:0;
  -webkit-mask-image:linear-gradient(to right, #000 15%, transparent 100%);
          mask-image:linear-gradient(to right, #000 15%, transparent 100%);
}
.ev-marquee::after{
  right:0;
  -webkit-mask-image:linear-gradient(to left, #000 15%, transparent 100%);
          mask-image:linear-gradient(to left, #000 15%, transparent 100%);
}

@keyframes ev-marquee{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(-50%,0,0); }
}

@media (max-width:900px){
  .ev-hero-cta{ gap:22px; }
  .ev-marquee{ flex:1 1 100%; height:48px; }
}
@media (max-width:640px){
  .ev-hero-cta .ev-btns{ flex:1 1 100%; }
}
@media (prefers-reduced-motion:reduce){
  .ev-marquee-track{ animation:none; }
  .ev-marquee::before,
  .ev-marquee::after{ backdrop-filter:none; -webkit-backdrop-filter:none; }
}
