/* =====================================================================
 *  EasyAuto24 – Design-System (EASY-Blau) für Startseite + Unterseiten.
 *  Analog zum EASY-System (ez-pages.css), Akzent #2a82d6.
 *  WICHTIG: definiert die CSS-Variablen, die i18n.js + cookie-banner.js
 *  erwarten (--accent-color, --heading-color, --heading-font, --nav-font,
 *  --surface-color, --contrast-color, --default-color, --default-font).
 * ===================================================================== */
:root{
  --accent-color:#2a82d6;       /* Marken-Blau (knalliger Akzent) */
  --accent-d:#2d5a8c;           /* dunkleres Blau (Verläufe/Hover) */
  --accent-l:#4c7faf;           /* helleres Blau */
  --ink:#10303c;                /* Überschriften dunkel */
  --ink-2:#1d3f4d;              /* Fließtext dunkel */
  --muted:#5b6b72;              /* gedämpfter Text */
  --line:#e2ecef;               /* feine Linien/Rahmen */
  --bg:#f4f8fa;                 /* Seitenhintergrund */
  --card:#fff;
  --radius:18px;
  --shadow:0 10px 30px rgba(16,48,60,.08);
  --shadow-lg:0 20px 50px rgba(16,48,60,.14);
  --maxw:1200px;
  /* Variablen für i18n.js / cookie-banner.js */
  --heading-color:var(--ink);
  --default-color:var(--ink-2);
  --surface-color:#fff;
  --contrast-color:#fff;
  --heading-font:'Raleway','Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --nav-font:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --default-font:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--default-font);color:var(--ink-2);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:70px;hyphens:auto;-webkit-hyphens:auto;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);color:var(--ink);line-height:1.18;hyphens:auto;-webkit-hyphens:auto;}
p{hyphens:auto;-webkit-hyphens:auto;word-break:break-word;}
.ea24-wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.ea24-sec{padding:64px 0;}
@media(max-width:600px){.ea24-sec{padding:44px 0;}}
.ea24-h-sec{font-size:clamp(1.5rem,3.4vw,2.4rem);font-weight:800;color:var(--ink);line-height:1.16;}
.ea24-lead{color:var(--muted);font-size:1.06rem;max-width:760px;}
.ea24-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-color);margin-bottom:12px;}
.ea24-eyebrow .ea24-dash{color:var(--accent-color);}

/* ---------- Buttons ---------- */
.ea24-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 26px;border-radius:999px;font-weight:600;font-size:1rem;cursor:pointer;border:2px solid transparent;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s,filter .18s;font-family:inherit;text-align:center;}
.ea24-btn-primary{background:linear-gradient(135deg,var(--accent-l),var(--accent-d));color:#fff;border-color:var(--accent-d);box-shadow:0 10px 24px rgba(42,130,214,.35);}
.ea24-btn-primary:hover{transform:translateY(-2px);color:#fff;}
.ea24-btn-secondary{background:#fff;color:var(--accent-d);border-color:#cfe4ea;}
.ea24-btn-secondary:hover{transform:translateY(-2px);border-color:var(--accent-color);color:var(--accent-d);}
.ea24-btn-glass{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5);}
.ea24-btn-glass:hover{background:rgba(255,255,255,.26);border-color:#fff;color:#fff;}

/* ---------- Header ---------- */
.ea24-hdr{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 18px rgba(16,48,60,.10);}
.ea24-hdr-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;height:70px;max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.ea24-logo{display:flex;align-items:center;flex-shrink:0;}
.ea24-logo img{height:44px;width:auto;}
.ea24-phone{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--accent-color);white-space:nowrap;flex-shrink:0;}
.ea24-phone i{color:var(--accent-color)!important;}
.ea24-phone .b24{background:#e63946;color:#fff;font-size:.66rem;padding:2px 7px;border-radius:999px;font-weight:700;display:inline-block;}
/* Telefonnummer mittig; Logo + Sprach-Flagge bleiben als Gruppe links zusammen (Flagge dicht am Logo) */
.ea24-hdr .ea24-phone{margin-left:auto;margin-right:auto;}
/* Handy/Tablet (Nav ist im Burger): Nummer ECHT mittig auf 50% der Seite, Logo+Flagge links */
@media(max-width:991px){
  .ea24-hdr-inner{position:relative;}
  .ea24-hdr-inner>.ea24-lang-btn{margin-right:auto!important;}
  .ea24-hdr .ea24-phone{position:absolute;left:50%;top:0;height:100%;transform:translateX(-50%);display:inline-flex;align-items:center;margin:0;white-space:nowrap;}
}
@media(max-width:560px){.ea24-hdr .ea24-logo img{height:36px;}.ea24-hdr .ea24-phone{font-size:.95rem;gap:5px;}.ea24-phone .b24{font-size:.62rem;padding:2px 6px;}}
@media(max-width:430px){.ea24-hdr .ea24-logo img{height:32px;}.ea24-hdr .ea24-phone{font-size:.88rem;gap:4px;}.ea24-phone .b24{font-size:.58rem;padding:2px 5px;display:inline-block;}}
@media(max-width:360px){.ea24-hdr .ea24-phone i{display:none;}.ea24-hdr .ea24-phone{font-size:.84rem;}}

/* ---------- Nav (nav#navmenu bleibt; Lang-Button wird DAVOR injiziert) ---------- */
.navmenu{display:flex;align-items:center;}
.navmenu>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
.navmenu>ul>li{position:relative;}
.navmenu a,.navmenu .toggle-dropdown{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;font-weight:600;color:var(--ink-2);font-size:.95rem;cursor:pointer;transition:.15s;font-family:var(--nav-font);}
.navmenu>ul>li>a:hover,.navmenu>ul>li>a.active,.navmenu .dropdown.open>.toggle-dropdown{background:#e8f3f6;color:var(--accent-d);}
.navmenu .toggle-dropdown i{font-size:.7em;transition:transform .2s;}
.navmenu .dropdown.open>.toggle-dropdown i{transform:rotate(180deg);}
.navmenu .dropdown>ul{position:absolute;top:calc(100% + 6px);left:0;min-width:264px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;max-height:70vh;overflow:auto;z-index:20;}
.navmenu .dropdown.open>ul{opacity:1;visibility:visible;transform:translateY(0);}
.navmenu .dropdown>ul li{margin:0;}
.navmenu .dropdown>ul a{display:block;padding:9px 12px;border-radius:9px;font-size:.9rem;color:var(--ink-2);font-weight:500;}
.navmenu .dropdown>ul a:hover,.navmenu .dropdown>ul a.active{background:#e8f3f6;color:var(--accent-d);font-weight:600;}
.mobile-nav-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;font-size:1.55rem;color:var(--ink);background:none;border:0;cursor:pointer;padding:0;line-height:1;}
.ea24-navback{display:none;}
body.ea24-lock{overflow:hidden;}
@media(max-width:1199px){
  .navmenu>ul{position:fixed;top:0;right:0;bottom:0;width:min(330px,84vw);flex-direction:column;align-items:stretch;background:#fff;padding:84px 16px 24px;gap:3px;border-left:1px solid var(--line);transform:translateX(105%);transition:transform .3s cubic-bezier(.34,.01,.2,1);max-height:100vh;overflow:auto;z-index:101;}
  body.mobile-nav-active .navmenu>ul{transform:translateX(0);}
  .ea24-navback{display:block;position:fixed;inset:0;background:rgba(8,28,38,.5);opacity:0;visibility:hidden;transition:.3s;z-index:99;}
  .ea24-navback.show{opacity:1;visibility:visible;}
  .navmenu a,.navmenu .toggle-dropdown{padding:14px 14px;border-radius:11px;font-size:1.04rem;width:100%;}
  .navmenu .dropdown>.toggle-dropdown{display:flex;width:100%;justify-content:space-between;align-items:center;}
  .navmenu .dropdown>ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:2px 0 6px 14px;max-height:none;display:none;min-width:0;}
  .navmenu .dropdown.open>ul{display:block;}
  .mobile-nav-toggle{display:inline-flex;position:fixed;top:16px;right:18px;z-index:102;background:#fff;border-radius:10px;box-shadow:none;}
  body.mobile-nav-active .mobile-nav-toggle{position:fixed;}
}

/* ---------- Startseite-Hero ---------- */
.ea24-hero{position:relative;color:#fff;overflow:hidden;background:#0c2832;}
.ea24-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.ea24-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(8,28,38,.92),rgba(42,130,214,.62));}
.ea24-hero .ea24-wrap{position:relative;z-index:2;}
.ea24-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:96px 0 72px;}
@media(max-width:992px){.ea24-hero-grid{grid-template-columns:1fr;padding:84px 0 56px;}}
.ea24-hero h1{font-size:clamp(1.9rem,5vw,3.1rem);font-weight:800;line-height:1.12;letter-spacing:-.5px;color:#fff;margin-bottom:18px;}
.ea24-hero p{font-size:1.1rem;opacity:.95;max-width:600px;margin-bottom:26px;color:#eaf4f7;}
.ea24-hero-btns{display:flex;flex-wrap:wrap;gap:12px;}
.ea24-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.ea24-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 15px;font-size:.86rem;font-weight:600;}
.ea24-hero-badge i{color:#8fe1f3;}
.ea24-hero-card{position:relative;border-radius:22px;overflow:hidden;min-height:340px;box-shadow:var(--shadow-lg);border:6px solid rgba(255,255,255,.12);}
.ea24-hero-card-img{position:absolute;inset:0;background-size:cover;background-position:center;}
@media(max-width:992px){.ea24-hero-card{display:none;}}

/* ---------- Service-Hero (Unterseiten) ---------- */
.ea24-shero{position:relative;color:#fff;padding:96px 0 38px;background:#0c2832;}
.ea24-shero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(8,28,38,.9),rgba(42,130,214,.6));}
.ea24-shero .ea24-wrap{position:relative;z-index:2;}
.ea24-shero .crumb{font-size:.82rem;opacity:.88;margin-bottom:12px;}
.ea24-shero .crumb a{border-bottom:1px solid rgba(255,255,255,.4);}
.ea24-shero h1{font-size:clamp(1.9rem,5vw,3rem);font-weight:800;line-height:1.12;letter-spacing:-.5px;color:#fff;margin-bottom:12px;}
.ea24-shero p{font-size:1.08rem;opacity:.94;max-width:640px;color:#eaf4f7;}

/* ---------- Karten-Grid ---------- */
.ea24-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.ea24-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;height:100%;display:flex;flex-direction:column;}
.ea24-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#bfe0e8;}
.ea24-ico{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;font-size:1.55rem;background:color-mix(in srgb,var(--accent-color) 12%,#fff);color:var(--accent-color);margin-bottom:15px;transition:.2s;flex-shrink:0;}
.ea24-card:hover .ea24-ico{background:linear-gradient(135deg,var(--accent-l),var(--accent-d));color:#fff;}
.ea24-card h3,.ea24-card h5{font-size:1.12rem;font-weight:700;color:var(--ink);margin-bottom:8px;}
.ea24-card p{color:var(--muted);font-size:.93rem;margin:0;}
.ea24-card strong{color:var(--accent-d);}
/* anklickbare Karten */
a.ea24-card{text-decoration:none;color:inherit;}
a.ea24-card .ea24-card-more{margin-top:auto;padding-top:12px;color:var(--accent-d);font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;gap:5px;}
a.ea24-card:hover .ea24-card-more{text-decoration:underline;}

/* ---------- CTA-Streifen ---------- */
.ea24-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:linear-gradient(135deg,var(--accent-d),#0c2832);color:#fff;border-radius:22px;padding:30px 34px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;}
.ea24-cta::before{content:"";position:absolute;inset:0;background-image:var(--ea24-cta-img,none);background-size:cover;background-position:center;opacity:.18;z-index:0;pointer-events:none;}
.ea24-cta>div,.ea24-cta>.ea24-cta-btns{position:relative;z-index:1;}
.ea24-cta h3{font-size:clamp(1.2rem,2.6vw,1.65rem);font-weight:800;margin:0 0 6px;color:#fff;}
.ea24-cta p{color:#d4eef4;margin:0;}
.ea24-cta-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.ea24-cta .ea24-btn-secondary{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.45);}
.ea24-cta .ea24-btn-secondary:hover{background:rgba(255,255,255,.24);border-color:#fff;color:#fff;}
@media(max-width:640px){.ea24-cta{padding:24px;text-align:center;justify-content:center;}.ea24-cta>div:first-child{width:100%;}.ea24-cta-btns{justify-content:center;width:100%;}}

/* ---------- Kontakt-Grid (Formular + Box) ---------- */
@media(max-width:860px){.ea24-contact-grid{grid-template-columns:1fr!important;}}

/* ---------- Kontakt-Box ---------- */
.ea24-contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);}
.ea24-contact-card h4{font-size:1.2rem;font-weight:700;margin-bottom:18px;color:var(--ink);}
.ea24-contact-card .ea24-cline{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);}
.ea24-contact-card .ea24-cline:last-child{border-bottom:0;}
.ea24-contact-card .ea24-cline i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent-color) 12%,#fff);color:var(--accent-color);font-size:1.05rem;flex-shrink:0;}
.ea24-contact-card .ea24-cline a,.ea24-contact-card .ea24-cline span{color:var(--ink-2);font-weight:600;}
.ea24-contact-card .ea24-cline a:hover{color:var(--accent-color);}

/* ---------- Formular ---------- */
.ea24-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);}
.ea24-form .ea24-field{margin-bottom:16px;}
.ea24-form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;color:var(--ink-2);}
.ea24-form input,.ea24-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:1rem;font-family:inherit;color:var(--ink-2);background:#fbfdfe;transition:border-color .15s,box-shadow .15s;}
.ea24-form input:focus,.ea24-form textarea:focus{outline:0;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(42,130,214,.12);}
.ea24-form input[type=file]{padding:9px 10px;background:#fff;}
.ea24-form .ea24-submit-row{text-align:center;margin-top:8px;}
.ea24-success{padding:30px;background:#e6fbf3;color:#0e7a55;border-left:6px solid #15a06b;border-radius:14px;box-shadow:var(--shadow);text-align:center;animation:ea24fadeIn .5s ease-in-out;}
.ea24-success i{font-size:2.5rem;color:#15a06b;}
.ea24-success h4{margin-top:12px;font-weight:600;color:#0e7a55;}
.ea24-success p{margin-bottom:0;color:#0e7a55;}
@keyframes ea24fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
@keyframes ea24bounce{0%,80%,100%{transform:scale(.7);opacity:.5;}40%{transform:scale(1);opacity:1;}}

/* ---------- Galerie (modern, edel, echtes Crossfade) ---------- */
.ea24-gallery{position:relative;width:100%;max-width:920px;margin:0 auto;}
.ea24-gallery-wrap{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 22px 50px rgba(16,48,60,.20),0 2px 8px rgba(16,48,60,.08);aspect-ratio:16/9;background:#eef3f5;border:1px solid rgba(42,130,214,.14);touch-action:pan-y;cursor:grab;}
.ea24-gallery-wrap::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);pointer-events:none;z-index:2;}
.ea24-gallery-wrap::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(8,28,38,0) 55%,rgba(8,28,38,.26) 100%);opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:2;}
.ea24-gallery-wrap:hover::after{opacity:1;}
.ea24-gallery-wrap:active{cursor:grabbing;}
/* Zwei gestapelte Ebenen – nur Opacity wird animiert (kein transform/scale → kein iPhone-Ruckeln) */
.ea24-gallery-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.ea24-gallery-img.is-active{opacity:1;}
.ea24-gallery-dots{display:flex;justify-content:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:20px 10px 0;}
.ea24-dot{width:9px;height:9px;border-radius:50%;background:#cdd9dd;cursor:pointer;transition:width .3s ease,background .3s ease;flex-shrink:0;}
.ea24-dot.active{background:var(--accent-color);width:26px;border-radius:5px;box-shadow:0 2px 6px rgba(42,130,214,.35);}
.ea24-dot:hover{background:var(--accent-color);}
@media(max-width:480px){.ea24-dot{width:7px;height:7px;}.ea24-dot.active{width:18px;}}

/* ---------- Quote / Statement ---------- */
.ea24-quote{text-align:center;font-style:italic;color:#9aa6ab;font-size:1.05rem;padding:8px 0;}

/* ---------- Marken-Banner (dunkel) ---------- */
.ea24-brand{position:relative;overflow:hidden;background:#0c2832;color:#fff;border-radius:22px;}
.ea24-brand-bg{position:absolute;inset:0;background-size:cover;background-position:center 70%;z-index:0;opacity:.55;}
.ea24-brand::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,28,38,.85),rgba(42,130,214,.55));z-index:1;}
.ea24-brand-inner{position:relative;z-index:2;text-align:center;padding:54px 24px;}
.ea24-brand-inner img{max-width:150px;height:auto;margin:0 auto 16px;}
.ea24-brand-inner h4{color:#fff;font-size:1.3rem;font-weight:700;margin-bottom:18px;}
.ea24-brand .ea24-explore{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:10px 20px;transition:.18s;}
.ea24-brand .ea24-explore:hover{background:rgba(255,255,255,.16);border-color:#fff;color:#fff;}

/* ---------- Footer ---------- */
.ea24-foot{background:linear-gradient(180deg,#1b1e21,#0c0d0f);color:#cddde2;padding:50px 0 24px;}
.ea24-foot .ea24-wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.ea24-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px;}
@media(max-width:760px){.ea24-foot-grid{grid-template-columns:1fr;}}
.ea24-foot h4{color:#fff;font-size:1rem;margin-bottom:14px;}
.ea24-foot a{color:#cddde2;}.ea24-foot a:hover{color:#fff;}
.ea24-foot ul{list-style:none;}.ea24-foot li{margin-bottom:9px;font-size:.92rem;}
.ea24-foot .ea24-sitename{font-weight:800;font-size:1.3rem;color:#fff;display:inline-block;margin-bottom:10px;}
.ea24-foot p{font-size:.92rem;margin-bottom:10px;}
.ea24-foot .ea24-foot-contact i{color:var(--accent-l);margin-right:7px;}
.ea24-foot .ea24-copyright{text-align:center;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;color:#90a8b1;}
.ea24-foot .ea24-copyright .ea24-sitename{font-size:.95rem;}

/* ---------- Scroll-Top (über dem Chat-Button, unten rechts) ---------- */
.ea24-top{position:fixed;right:18px;bottom:84px;width:46px;height:46px;border-radius:50%;background:rgba(42,130,214,.55);color:#fff;display:grid;place-items:center;font-size:1.6rem;box-shadow:none;opacity:0;visibility:hidden;transition:.25s;z-index:90;cursor:pointer;border:0;}
.ea24-top.show{opacity:1;visibility:visible;}
.ea24-top:hover{background:var(--accent-color);color:#fff;}

/* ---------- Reveal-Animation ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Hilfsklassen ---------- */
.ea24-center{text-align:center;}
.ea24-mt-0{margin-top:0;}
.ea24-section-title{text-align:center;max-width:760px;margin:0 auto 40px;}
.ea24-section-title h2,.ea24-section-title h3{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:800;color:var(--ink);margin-bottom:12px;}
.ea24-section-title p{color:var(--muted);font-size:1.04rem;}
.ea24-section-title .ea24-dash{color:var(--accent-color);}
