
/* ========================================================================
   ELBETAL FOTOGRAFIE GODMODE ROOT 9.7
   Ziel: Aus dem echten Root-Verzeichnis eine gefuehrte Premium-Verkaufsseite bauen.
   Scope: ef-gm-* Klassen + vorsichtige Startseiten-/Header-Ergaenzungen.
   ======================================================================== */
:root{
  --efgm-navy:#061b49;
  --efgm-navy-2:#071d4f;
  --efgm-deep:#02142f;
  --efgm-cream:#fff8ec;
  --efgm-gold:#d8ae4f;
  --efgm-green:#86bd2b;
  --efgm-blue:#1687c8;
  --efgm-orange:#f08a25;
  --efgm-magenta:#d9488e;
  --efgm-text:#0b214c;
  --efgm-shadow:0 24px 70px rgba(2,20,47,.18);
}
body{background:var(--efgm-navy);}
.ef-topline:before{
  content:"";position:fixed;z-index:9999;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,#061b49 0%,#1687c8 18%,#86bd2b 37%,#d8ae4f 56%,#f08a25 72%,#d9488e 88%,#061b49 100%);
  pointer-events:none;
}
.ef-site-header{border-top:0!important;}
.ef-nav .ef-menu-cta .ef-menu-link{background:linear-gradient(135deg,var(--efgm-gold),var(--efgm-green));color:var(--efgm-navy)!important;border-radius:999px;font-weight:900;box-shadow:0 10px 30px rgba(216,174,79,.25)}
.ef-start-hero-slider{position:relative;overflow:hidden;background:var(--efgm-deep)}
.ef-start-hero-slider:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,47,.88),rgba(2,20,47,.58) 42%,rgba(2,20,47,.14) 76%);z-index:2;pointer-events:none}
.ef-gm-hero-overlay{position:absolute;z-index:4;inset:0;display:flex;align-items:center;pointer-events:none;padding:clamp(26px,5vw,70px) 0}
.ef-gm-hero-shell{width:min(1180px,calc(100% - 36px));margin:0 auto;color:#fff;pointer-events:auto;text-align:left}
.ef-gm-kicker{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:12px;color:var(--efgm-gold);margin-bottom:14px}
.ef-gm-kicker:before{content:"";width:36px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--efgm-gold),var(--efgm-green),var(--efgm-blue))}
.ef-gm-hero-shell h1{max-width:850px;margin:0 0 18px;font-size:clamp(32px,5.2vw,76px);line-height:.98;color:#fff;font-weight:950;letter-spacing:-.045em;text-shadow:0 12px 45px rgba(0,0,0,.34)}
.ef-gm-hero-shell p{max-width:760px;margin:0 0 24px;color:rgba(255,255,255,.92);font-size:clamp(17px,2vw,22px);line-height:1.55;font-weight:600}
.ef-gm-hero-actions,.ef-gm-actions,.ef-gm-final-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ef-gm-btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border-radius:999px;text-decoration:none!important;font-weight:950;letter-spacing:.02em;line-height:1.1;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;border:1px solid transparent;box-sizing:border-box}
.ef-gm-btn:hover{transform:translateY(-2px);text-decoration:none!important}
.ef-gm-btn-primary{background:#fff;color:var(--efgm-navy)!important;box-shadow:0 14px 34px rgba(255,255,255,.18)}
.ef-gm-btn-primary:hover{background:var(--efgm-gold);color:var(--efgm-navy)!important}
.ef-gm-btn-rainbow{background:linear-gradient(135deg,var(--efgm-blue),var(--efgm-green),var(--efgm-gold),var(--efgm-orange),var(--efgm-magenta));background-size:220% 220%;color:#fff!important;box-shadow:0 18px 44px rgba(216,174,79,.28)}
.ef-gm-btn-rainbow:hover{background:var(--efgm-navy)!important;color:#fff!important;box-shadow:0 18px 44px rgba(6,27,73,.32)}
.ef-gm-btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42);color:#fff!important;backdrop-filter:blur(10px)}
.ef-gm-btn-ghost:hover,.ef-gm-btn-light:hover{background:var(--efgm-navy)!important;color:#fff!important;border-color:var(--efgm-navy)}
.ef-gm-btn-light{background:#fff;color:var(--efgm-navy)!important;border-color:rgba(6,27,73,.16)}
.ef-gm-hero-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ef-gm-hero-trust span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.ef-gm-pathways,.ef-gm-photo-core,.ef-gm-visible-projects{background:linear-gradient(180deg,#fff8ec 0%,#ffffff 100%);padding:clamp(58px,7vw,100px) 0;color:var(--efgm-text)}
.ef-gm-section-head{text-align:center;max-width:850px;margin:0 auto 34px}.ef-gm-section-head h2,.ef-gm-copy h2,.ef-gm-shop-copy h2,.ef-gm-final-shell h2{margin:0 0 14px;color:var(--efgm-navy);font-size:clamp(30px,4vw,54px);line-height:1.03;font-weight:950;letter-spacing:-.035em}.ef-gm-section-head p,.ef-gm-copy p,.ef-gm-shop-copy p,.ef-gm-final-shell p{color:#415270;font-size:17px;line-height:1.65;font-weight:550}
.ef-gm-path-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.ef-gm-path-card{position:relative;display:flex;flex-direction:column;min-height:286px;padding:25px 22px;border-radius:26px;background:#fff;color:var(--efgm-text)!important;text-decoration:none!important;box-shadow:0 18px 50px rgba(6,27,73,.08);border:1px solid rgba(6,27,73,.08);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.ef-gm-path-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--efgm-blue),var(--efgm-green),var(--efgm-gold),var(--efgm-orange),var(--efgm-magenta))}.ef-gm-path-card:nth-child(2):before{background:linear-gradient(90deg,var(--efgm-magenta),var(--efgm-orange),var(--efgm-gold))}.ef-gm-path-card:nth-child(3):before{background:linear-gradient(90deg,var(--efgm-green),var(--efgm-gold))}.ef-gm-path-card:nth-child(4):before{background:linear-gradient(90deg,var(--efgm-blue),var(--efgm-green))}.ef-gm-path-card:nth-child(5):before{background:linear-gradient(90deg,var(--efgm-navy),var(--efgm-blue),var(--efgm-magenta))}.ef-gm-path-card:hover{transform:translateY(-6px);box-shadow:var(--efgm-shadow)}.ef-gm-path-card span{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--efgm-cream);color:var(--efgm-navy);font-weight:950;margin-bottom:18px}.ef-gm-path-card h3{margin:0 0 11px;color:var(--efgm-navy);font-size:22px;font-weight:950;line-height:1.1}.ef-gm-path-card p{font-size:15px;line-height:1.55;color:#516078;margin-bottom:18px}.ef-gm-path-card b{margin-top:auto;color:var(--efgm-blue);font-weight:950}
.ef-gm-trustband{background:var(--efgm-navy);padding:26px 0;color:#fff}.ef-gm-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ef-gm-trust-grid div{padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.ef-gm-trust-grid strong{display:block;color:#fff;font-size:20px;font-weight:950}.ef-gm-trust-grid span{display:block;color:rgba(255,255,255,.78);font-size:13px;margin-top:4px}
.ef-gm-two-col{display:grid;grid-template-columns:1fr .8fr;gap:38px;align-items:center}.ef-gm-chip-row{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 24px}.ef-gm-chip-row span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(6,27,73,.1);color:var(--efgm-navy);font-weight:800;font-size:13px}.ef-gm-image-card{border-radius:32px;overflow:hidden;box-shadow:var(--efgm-shadow);background:var(--efgm-navy);min-height:360px}.ef-gm-image-card img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block;transform:scale(1.02)}
.ef-gm-shop-bridge{position:relative;background:radial-gradient(circle at 78% 20%,rgba(216,174,79,.28),transparent 26%),linear-gradient(135deg,#061b49 0%,#071d4f 52%,#02142f 100%);color:#fff;padding:clamp(64px,8vw,115px) 0;overflow:hidden}.ef-gm-shop-shell{position:relative}.ef-gm-shop-shell:after{content:"";position:absolute;right:20px;top:50%;width:min(360px,34vw);height:min(360px,34vw);transform:translateY(-50%);border-radius:40%;background:linear-gradient(135deg,rgba(22,135,200,.32),rgba(134,189,43,.28),rgba(216,174,79,.26),rgba(217,72,142,.22));filter:blur(3px);opacity:.9}.ef-gm-shop-copy{position:relative;z-index:2;max-width:790px}.ef-gm-shop-copy h2{color:#fff}.ef-gm-shop-copy p{color:rgba(255,255,255,.85)}.ef-gm-shop-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px}.ef-gm-shop-links a{display:inline-flex;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff!important;font-weight:850;text-decoration:none!important;border:1px solid rgba(255,255,255,.16)}.ef-gm-shop-links a:hover{background:#fff;color:var(--efgm-navy)!important}
.ef-gm-visible-projects{background:linear-gradient(180deg,#fff 0%,#fff8ec 100%)}.ef-gm-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ef-gm-service-grid a{display:block;text-decoration:none!important;color:var(--efgm-text)!important;background:#fff;border-radius:28px;padding:30px;border:1px solid rgba(6,27,73,.08);box-shadow:0 20px 55px rgba(6,27,73,.08);position:relative;overflow:hidden}.ef-gm-service-grid a:before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(90deg,var(--efgm-gold),var(--efgm-green),var(--efgm-blue))}.ef-gm-service-grid h3{color:var(--efgm-navy);font-size:27px;font-weight:950;margin:0 0 10px}.ef-gm-service-grid p{color:#53627a;line-height:1.58}.ef-gm-service-grid b{color:var(--efgm-blue);font-weight:950}.ef-gm-service-grid a:hover{transform:translateY(-4px);box-shadow:var(--efgm-shadow)}
.ef-gm-final-cta{background:var(--efgm-navy);padding:clamp(58px,7vw,90px) 0;color:#fff}.ef-gm-final-shell{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:34px;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(0,0,0,.18)}.ef-gm-final-shell h2{color:#fff}.ef-gm-final-shell p{color:rgba(255,255,255,.82);max-width:780px}.ef-gm-final-actions{justify-content:flex-end}
.ef-gm-mobile-actions{display:none}.ef-hours-section{background:#fff8ec!important}.ef-web-wow-section{margin-top:0!important}.ef-shirt-process-section{background:#fff!important}body > br, .page > br{display:none!important}
@media (max-width:1200px){.ef-gm-path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ef-gm-path-card{min-height:250px}.ef-gm-two-col{grid-template-columns:1fr}.ef-gm-shop-shell:after{opacity:.35}.ef-gm-final-shell{grid-template-columns:1fr}.ef-gm-final-actions{justify-content:flex-start}}
@media (max-width:860px){.ef-gm-hero-shell{text-align:center}.ef-gm-hero-actions,.ef-gm-hero-trust{justify-content:center}.ef-start-hero-slider:after{background:linear-gradient(180deg,rgba(2,20,47,.82),rgba(2,20,47,.62))}.ef-gm-path-grid,.ef-gm-service-grid,.ef-gm-trust-grid{grid-template-columns:1fr}.ef-gm-two-col{gap:24px}.ef-gm-final-shell{padding:24px}.ef-gm-mobile-actions{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);left:10px;right:10px;bottom:10px;z-index:9990;border-radius:999px;overflow:hidden;box-shadow:0 16px 45px rgba(0,0,0,.28);background:var(--efgm-navy)}.ef-gm-mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;color:#fff!important;text-decoration:none!important;font-weight:950;font-size:13px}.ef-gm-mobile-actions a:nth-child(2){background:linear-gradient(135deg,var(--efgm-gold),var(--efgm-green));color:var(--efgm-navy)!important}.ef-gm-mobile-actions a:nth-child(3){background:linear-gradient(135deg,var(--efgm-blue),var(--efgm-magenta))}body{padding-bottom:64px}.ef-topline:before{height:3px}}
@media (max-width:560px){.ef-gm-hero-overlay{position:relative;background:var(--efgm-navy);padding:34px 0}.ef-start-hero-slider:after{display:none}.ef-gm-hero-shell h1{font-size:32px}.ef-gm-btn{width:100%;padding-left:16px;padding-right:16px}.ef-gm-pathways,.ef-gm-photo-core,.ef-gm-visible-projects,.ef-gm-shop-bridge,.ef-gm-final-cta{padding:44px 0}.ef-gm-image-card,.ef-gm-image-card img{min-height:260px}}
@media (prefers-reduced-motion:reduce){.ef-gm-path-card,.ef-gm-service-grid a,.ef-gm-btn,.ef-gm-image-card img{transition:none!important}}

/* ========================================================================
   ELBETAL GODMODE ROOT 9.7.1 - FIX ENTSCHEIDUNGS-KACHELN
   Problem: 5 Karten nebeneinander waren im echten Root-Layout zu schmal.
   Ziel: Breitere Karten, sauberer Textumbruch, keine Ueberlaeufe.
   ======================================================================== */
.ef-gm-pathways .container{
  max-width:1380px!important;
}
.ef-gm-path-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(285px,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.ef-gm-path-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  min-height:305px!important;
  padding:30px 28px 28px!important;
  overflow:hidden!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  hyphens:auto!important;
}
.ef-gm-path-card *{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
.ef-gm-path-card span{
  flex:0 0 auto!important;
  width:48px!important;
  height:48px!important;
  font-size:14px!important;
}
.ef-gm-path-card h3{
  font-size:clamp(22px,2vw,29px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  overflow-wrap:normal!important;
  hyphens:auto!important;
}
.ef-gm-path-card p{
  font-size:16px!important;
  line-height:1.62!important;
  overflow-wrap:normal!important;
  hyphens:auto!important;
}
.ef-gm-path-card b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:fit-content!important;
  max-width:100%!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--efgm-gold),var(--efgm-green))!important;
  color:var(--efgm-navy)!important;
  line-height:1.15!important;
  white-space:normal!important;
  text-align:center!important;
}
.ef-gm-path-card:hover b{
  background:var(--efgm-navy)!important;
  color:#fff!important;
}
@media (min-width:1280px){
  .ef-gm-path-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:1279px){
  .ef-gm-path-grid{
    grid-template-columns:repeat(2,minmax(280px,1fr))!important;
  }
}
@media (max-width:760px){
  .ef-gm-pathways .container{
    width:min(100% - 28px,1380px)!important;
  }
  .ef-gm-path-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .ef-gm-path-card{
    min-height:0!important;
    padding:26px 22px!important;
  }
}
