/* assets/css/styles.min.css */
/* Hinweis: Sichtbarkeits-Fix – Sektionen werden nur ausgeblendet, wenn JS läuft (.js auf <html>). Fällt JS aus oder main.min.js fehlt, bleibt der Content sichtbar. */
:root{--cc-primary:#ff4200;--cc-bg:#313131;--cc-text:#b9b9b9;--cc-sep:#5a5a5a;--cc-shadow:#141414;--cc-radius:14px;--cc-focus:2px solid #ff4200;--cc-ease:cubic-bezier(.2,.7,.2,1);--cc-tr-fast:all .15s var(--cc-ease);--cc-tr:all .25s var(--cc-ease);--cc-footer-bg:#252525;--cc-footer-top:#2a2a2a;--cc-footer-text:#d9d9d9;--cc-footer-muted:#bdbdbd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:var(--cc-bg);color:var(--cc-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}img{max-width:100%;height:auto;display:block}a{color:var(--cc-primary);text-decoration:none;transition:var(--cc-tr)}a:hover,a:focus{text-decoration:underline;text-underline-offset:.2em}hr.hr-sep{border:0;border-top:1px solid var(--cc-sep);opacity:1}
h1,h2,h3,h4,h5,h6{color:var(--cc-primary);line-height:1.2;margin:0 0 .5rem}p{margin:0 0 1rem}.section-title{letter-spacing:.5px}.section-subtitle{color:#d0d0d0}
.u-shadow{box-shadow:0 10px 30px -10px var(--cc-shadow),0 2px 8px -2px var(--cc-shadow)}.u-rounded{border-radius:var(--cc-radius)}.section-padding{padding:4rem 0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:var(--cc-focus);outline-offset:2px}
.main-navbar{background-color:#252525}.navbar-brand .brand-title{color:#fff;font-weight:700}.logo-img{filter:drop-shadow(0 6px 14px var(--cc-shadow))}.navbar .nav-link{color:#e5e5e5;transition:var(--cc-tr)}.navbar .nav-link:hover{color:var(--cc-primary)}.navbar .nav-link.active{color:var(--cc-primary);font-weight:600}.navbar .dropdown-menu{background:#2a2a2a;border:1px solid var(--cc-sep)}.navbar .dropdown-item{color:#e5e5e5}.navbar .dropdown-item:hover{background:#353535;color:var(--cc-primary)}.navbar-toggler{border-color:rgba(255,66,0,.55)}.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(255,66,0,.25)}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,66,0, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}@media (min-width:992px){.navbar .nav-link{padding:.5rem .75rem}}section[id]{scroll-margin-top:80px}
.hero-section{position:relative;padding:5rem 0 3rem;text-align:center;background:linear-gradient(180deg,#2b2b2b 0%,#2b2b2b 60%,transparent 100%)}.hero-logo{filter:drop-shadow(0 10px 26px var(--cc-shadow));border-radius:20px}.btn-cta{--_bg:var(--cc-primary);background:var(--_bg);color:#1b1b1b;border:0;border-radius:999px;padding:.85rem 1.25rem;font-weight:700;letter-spacing:.3px;transition:transform .15s var(--cc-ease),box-shadow .15s var(--cc-ease)}.btn-cta:hover{transform:translateY(-1px)}.btn-cta:active{transform:translateY(0);box-shadow:inset 0 3px 8px rgba(0,0,0,.25)}
.card{background:#2a2a2a;color:var(--cc-text)}.catch-card{background:#2a2a2a;border:1px solid var(--cc-sep);border-radius:var(--cc-radius);overflow:hidden;transition:var(--cc-tr)}.catch-card .card-img-top{border-bottom:1px solid var(--cc-sep);box-shadow:0 10px 30px -12px var(--cc-shadow)}.catch-card .card-title{color:#fff}.catch-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px -18px var(--cc-shadow)}
.gallery-grid{--g:12px}.gallery-grid .col-12,.gallery-grid .col-sm-6,.gallery-grid .col-lg-3{padding-left:var(--g);padding-right:var(--g)}.gallery-item{display:block;border-radius:var(--cc-radius);overflow:hidden;background:#2a2a2a}.gallery-item img{box-shadow:0 10px 30px -10px var(--cc-shadow),0 2px 8px -2px var(--cc-shadow);border-radius:var(--cc-radius)}
.accordion-item{background:#2a2a2a;border:1px solid var(--cc-sep);border-radius:var(--cc-radius)!important;overflow:hidden}.accordion-button{background:#2a2a2a;color:#eaeaea}.accordion-button:not(.collapsed){color:var(--cc-primary);background:#303030;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15)}.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(255,66,0,.25)}.accordion-body{color:var(--cc-text)}

/* App-Teaser unter Tipps & Tricks */
.app-teaser{background:#2a2a2a;border:1px solid var(--cc-sep);color:var(--cc-text);padding:1rem 1.25rem}
.app-teaser .kicker{color:var(--cc-primary);font-weight:700;letter-spacing:.2px}
.app-teaser strong{color:#eaeaea}
@media (max-width:576px){.app-teaser{padding:.9rem 1rem}}

.contact-box,.contact-form{background:#2a2a2a;border:1px solid var(--cc-sep);border-radius:var(--cc-radius);box-shadow:0 10px 30px -18px var(--cc-shadow)}.form-label{color:#eaeaea}.form-control{background:#1f1f1f;border:1px solid #444;color:#eaeaea}.form-control:focus{border-color:var(--cc-primary);box-shadow:0 0 0 .2rem rgba(255,66,0,.2)}.form-hint{color:#c9c9c9}.link-highlight{color:var(--cc-primary)}.link-highlight:hover{text-decoration:underline}
.js .gsap-section{opacity:0;transform:translateY(20px)}.js .gsap-item{opacity:0;transform:translateY(16px)}.gsap-show{opacity:1!important;transform:none!important;transition:opacity .6s var(--cc-ease),transform .6s var(--cc-ease)}
.site-footer{background:var(--cc-footer-bg);color:var(--cc-footer-text);position:relative;margin-top:3rem;background-image:linear-gradient(180deg,var(--cc-footer-top),var(--cc-footer-bg) 140px)}.site-footer .hr-sep{border-color:var(--cc-sep)}.site-footer::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,66,0,.35),transparent);opacity:.8}.site-footer .container{padding-top:1.25rem;padding-bottom:1.25rem}.site-footer p,.site-footer a{font-size:.95rem}.footer-link{color:var(--cc-footer-text);text-decoration:none;transition:var(--cc-tr-fast)}.footer-link:hover,.footer-link:focus{color:var(--cc-primary);text-decoration:underline;text-underline-offset:.2em}.site-footer nav .list-inline-item{margin:0 .4rem}.socials{gap:.65rem}.social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);box-shadow:0 6px 18px -10px var(--cc-shadow);transition:var(--cc-tr-fast);outline:0}.social-link svg{display:block}.social-link svg path{fill:#d9d9d9;transition:var(--cc-tr-fast)}.social-link:hover{transform:translateY(-2px);background:rgba(255,66,0,.08);border-color:rgba(255,66,0,.35)}.social-link:hover svg path{fill:var(--cc-primary)}.social-link:focus-visible{outline:var(--cc-focus)}@media (min-width:768px){.site-footer .text-md-end{text-align:right!important}.site-footer .text-md-start{text-align:left!important}}.site-footer .container+ .container{padding-top:.5rem;padding-bottom:1.5rem;color:var(--cc-footer-muted)}
.main-navbar .nav-link.active,.main-navbar .dropdown-item.active{color:var(--cc-primary)!important}.btn{border-radius:10px}.container{max-width:1140px}

/* ===== Hero: Basis – einmalig für alle Varianten ======================= */
.hero-section{position:relative;min-height:70vh;background-color:#313131;background-position:center center;background-size:cover;background-repeat:no-repeat}
.hero-section::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.28) 40%,rgba(0,0,0,.52) 100%);pointer-events:none}
@media (max-width:992px){.hero-section{min-height:64vh}}
@media (max-width:576px){.hero-section{min-height:62vh}}
.hero-section{background-image:url("../img/hero/hero-carp-dawn-2560.jpg")}
@media (min-width:993px){.hero-section{background-image:linear-gradient(rgba(0,0,0,.195),#000000e3),url("../img/hero/hero-carp-dawn-1920.jpg");background-position:center center,center center;background-size:auto,cover;background-repeat:no-repeat,no-repeat;background-attachment:scroll,scroll}}
@media (max-width:992px){.hero-section{background-image:linear-gradient(rgba(0,0,0,.195),#000000e3),url("../img/hero/hero-carp-dawn-1536.jpg");background-position:center center,center center;background-size:auto,cover;background-repeat:no-repeat,no-repeat;background-attachment:scroll,scroll}}
@media (max-width:576px){.hero-section{background-image:linear-gradient(rgba(0,0,0,.442),#0000003e),url("../img/hero/hero-carp-dawn-1080x1920.jpg");background-position:center center,center center;background-size:auto,cover;background-repeat:no-repeat,no-repeat;background-attachment:scroll,scroll}}
h1{text-shadow:0 4px 3px rgba(5,5,5,1)}
/* Buttons transparent + farbiger Rand; Hover in #b9b9b9 */
.btn,.btn-cta,.btn-primary,.btn-outline-primary,.btn-secondary,.btn-outline-secondary{background:transparent!important;color:#ff4200!important;border:2px solid #ff4200!important;box-shadow:none}.btn-cta{padding:.85rem 1.25rem;font-weight:700;letter-spacing:.3px;border-radius:10px}.btn:hover,.btn:focus,.btn:active,.btn-cta:hover,.btn-cta:focus,.btn-cta:active{color:#b9b9b9!important;border-color:#b9b9b9!important;background:transparent!important;transform:none}.btn:disabled,.btn.disabled{opacity:.5;pointer-events:none}

/* === Feature-Hero (Karpfenangeln & Hechtangeln) – gleiches Spacing ===== */
/* Kein Bild, kein Overlay: Heading + Text + Button auf #313131 */
.feature-hero{
  position:relative;
  display:block;                 /* keine vertikale Flex-Zentrierung */
  background:#313131;
  color:#eaeaea;
  text-align:center;
  padding:3.5rem 0;              /* IDENTISCH oben & unten */
}

.feature-hero::after{content:none}
.feature-hero .feature-content{max-width:960px;margin:0 auto}
.feature-hero h2{color:var(--cc-primary);margin:0 0 .6rem}
.feature-hero p{max-width:780px;margin:0 auto 1.25rem;color:#d0d0d0}
.feature-hero .btn-cta{padding:.95rem 1.35rem;border-width:2px}

/* Varianten-Hintergründe komplett deaktivieren */
.hero--carp,.hero--pike{background:#313131!important;background-image:none!important}

/* Trennlinie NUR zwischen den beiden Promo-Sektionen */
.feature-hero + .feature-hero{border-top:1px solid var(--cc-sep)}

/* Falls vor einer Promo ein <hr> steht: keine zusätzlichen Außenabstände */
.hr-sep + .feature-hero{margin-top:0}

/* GSAP-Fallback: Text nie unsichtbar */
.js .feature-hero.gsap-section,
.js .feature-hero .gsap-item{opacity:1!important;transform:none!important}

/* Optional: leicht enger auf kleineren Screens, aber weiter identisch */
@media (max-width:992px){
  .feature-hero{padding:3rem 0}
}
@media (max-width:576px){
  .feature-hero{padding:2.5rem 0}
}


/* Karten-Text auf 2 Zeilen begrenzen + sauber abschneiden */
.catch-card .card-body{ position: relative; }

.catch-card .card-text{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;     /* genau 2 Zeilen */
  line-clamp: 2;             /* Standard property for compatibility */
  overflow: hidden;
  max-height: 3.1em;         /* grob 2 Zeilen bei normaler line-height */
}

/* kleiner Abstand über dem Weiterlesen-Button */
.catch-card .read-more-btn{ margin-top:.5rem; }

/* ===== Floating Action Buttons (WA PNG + Arrow SVG) ===================== */
.fab-stack{
  position:fixed;
  right:calc(max(16px, env(safe-area-inset-right, 0px)) + 8px);
  bottom:calc(max(16px, env(safe-area-inset-bottom, 0px)) + 8px);
  display:flex; flex-direction:column; gap:16px;
  z-index:1050;
}

.fab{
  --fab-size: clamp(50px, 6vw, 56px);
  width:var(--fab-size); height:var(--fab-size);
  border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:#313131;                 /* Kreis-Hintergrund */
  border:2px solid var(--cc-primary); /* Rand in Markenfarbe */
  color:var(--cc-primary);            /* steuert SVG-Farbe (Pfeil) */
  text-decoration:none;
  box-shadow:0 10px 30px -12px var(--cc-shadow), 0 2px 8px -2px var(--cc-shadow);
  transition:transform .08s ease, var(--cc-tr-fast);
}

/* Icons innerhalb der Buttons */
.fab-icon{ width:54%; height:54%; display:block }       /* SVG (Pfeil) */
.fab-icon-img{ width:58%; height:auto; display:block }  /* PNG (WhatsApp) */

/* Hover/Focus: Rand & Icon werden hell, BG bleibt #313131 */
.fab:hover, .fab:focus-visible{
  border-color:#b9b9b9;
  color:#b9b9b9;                      /* färbt den SVG-Pfeil um */
  transform:translateY(-2px);
  outline:none;
}

/* etwas kompakter auf sehr kleinen Screens */
@media (max-width:576px){
  .fab-stack{ gap:14px }
}

/* Bewegungen reduzieren */
@media (prefers-reduced-motion:reduce){
  .fab{ transition:none }
  .fab:hover{ transform:none }
}


/* === Über mich (rundes Bild, neues Motto) ============================== */
.about-section{ background:#313131; color:var(--cc-text) }

/* Rundes Portrait mit Rahmen in Markenfarbe */
.about-avatar{
  width:clamp(160px, 28vw, 220px);
  height:clamp(160px, 28vw, 220px);
  border-radius:999px;
  object-fit:cover; object-position:center;
  border:3px solid var(--cc-primary);
  background:#1f1f1f; /* falls Bild langsam lädt */
}

/* Motto-Badge */
.about-motto{
  display:flex; flex-wrap:wrap; gap:.5rem .75rem; align-items:center;
  margin:1rem 0 1.25rem;
  padding:.85rem 1rem;
  background:rgba(255,255,255,.04);
  border:1px solid var(--cc-sep);
  border-left:4px solid var(--cc-primary);
  border-radius:12px;
}
.about-motto-label{ color:#eaeaea; font-weight:700; letter-spacing:.2px }
.about-motto-text{ color:#d9d9d9 }

/* Faktenkarte */
.about-card{
  background:#2a2a2a; border:1px solid var(--cc-sep);
  padding:1.1rem 1.15rem;
}
.about-facts li{
  padding:.48rem 0; border-bottom:1px dashed rgba(255,255,255,.12)
}
.about-facts li:last-child{ border-bottom:0 }
.about-facts li span{
  display:inline-block; min-width:140px; color:#eaeaea; font-weight:600
}

/* === Über mich: zentriert auf kleineren Bildschirmen ==================== */
@media (max-width: 991.98px){
  /* Bild wirklich mittig */
  .about-section .about-avatar{
    margin-left:auto;
    margin-right:auto;
  }

  /* Überschriften & Fließtext zentrieren */
  .about-section .section-title,
  .about-section .section-subtitle,
  .about-section p{
    text-align:center;
  }

  /* Motto-Badge mittig anordnen */
  .about-section .about-motto{
    justify-content:center;
    text-align:center;
  }

  /* Faktenkarte mittig, Inhalt darin links für bessere Lesbarkeit */
  .about-section .about-card{
    margin-left:auto;
    margin-right:auto;
    text-align:left;
    max-width:720px;
  }
  .about-section .about-facts{
    display:inline-block;   /* zentriert innerhalb der Karte */
    text-align:left;
  }
}

/* Promo-Icons über den Überschriften (Karpfen/Hecht) */
/* Promo-Icons über den Überschriften (größer) */
.feature-hero .promo-icon{
  display:block;
  width:clamp(92px, 50vw, 210px);
  height:auto;
  margin:0 auto 1rem;
  filter:drop-shadow(0 6px 14px var(--cc-shadow));
  image-rendering:-webkit-optimize-contrast;
}

/* Überschrift danach ohne Extraluft nach oben */
.feature-hero h2{ margin-top:0; }

/* Footer-Logo */
.footer-logo{
  width:clamp(140px, 14vw, 240px);
  height:auto;
  display:inline-block;
  filter:drop-shadow(0 6px 14px var(--cc-shadow));
}

/* === Einheitlicher, weicher Hover-Schatten (wie Highlights) ============ */
/* Grundschatten für Galerie- & Card-Bilder */
.gallery-item img,
.catch-card .card-img-top{
  box-shadow: 0 10px 30px -12px var(--cc-shadow);
  transition: box-shadow .28s var(--cc-ease), transform .28s var(--cc-ease);
  border-radius: var(--cc-radius);
}

/* Globaler Hover (greift auch für andere <img>) */
img:hover{
  box-shadow: 0 18px 46px -18px var(--cc-shadow),
              0 12px 32px -14px var(--cc-shadow);
  transform: translateY(-2px);
}

/* Speziell: Hover über Figure/Card hebt Bild identisch an */
.gallery-item:hover img,
.catch-card:hover .card-img-top{
  box-shadow: 0 18px 46px -18px var(--cc-shadow),
              0 12px 32px -14px var(--cc-shadow);
  transform: translateY(-2px);
}

/* Bewegungen reduzieren */
@media (prefers-reduced-motion:reduce){
  img:hover,
  .gallery-item:hover img,
  .catch-card:hover .card-img-top{ transform:none; }
}

/* ===== Cookie Consent (Carp2Pike) ====================================== */
.cc-banner{
  position:fixed; left:50%; bottom:16px; transform:translateX(-50%);
  width:min(100% - 24px, 920px);
  background:#2a2a2a; color:var(--cc-text);
  border:1px solid var(--cc-sep); border-radius:var(--cc-radius);
  box-shadow:0 18px 46px -18px var(--cc-shadow);
  z-index:1090; display:none;
}
.cc-banner .cc-inner{ padding:1rem 1rem }
@media (min-width:576px){ .cc-banner .cc-inner{ padding:1.25rem 1.25rem } }

.cc-banner h3{ color:#fff; margin:0 0 .35rem }
.cc-banner p{ margin:0; font-size:.95rem }
.cc-banner .cc-actions{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.85rem }
.cc-link{ color:var(--cc-primary); text-decoration:underline; text-underline-offset:.15em }

.cc-btn{ padding:.6rem .9rem; border-radius:10px; }
.cc-btn-primary{ border:2px solid var(--cc-primary); color:var(--cc-primary); background:transparent }
.cc-btn-muted{ border:2px solid var(--cc-sep); color:#d0d0d0; background:transparent }

/* Modal */
.cc-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  display:none; z-index:1091;
}
.cc-modal{
  position:fixed; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(100% - 24px, 760px);
  background:#2a2a2a; border:1px solid var(--cc-sep);
  border-radius:var(--cc-radius); box-shadow:0 18px 46px -18px var(--cc-shadow);
  z-index:1092; display:none;
}
.cc-modal .ccm-head{ padding:1rem 1.25rem; border-bottom:1px solid var(--cc-sep) }
.cc-modal .ccm-body{ padding:1rem 1.25rem }
.cc-modal .ccm-foot{ padding:1rem 1.25rem; border-top:1px solid var(--cc-sep); display:flex; gap:.6rem; flex-wrap:wrap; justify-content:flex-end }
.cc-modal h4{ color:#fff; margin:0 0 .35rem }
.cc-modal p{ margin:.25rem 0 .75rem }

.cc-switch{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.75rem 1rem; border:1px solid var(--cc-sep);
  border-radius:12px; background:#252525; margin:.5rem 0;
}
.cc-switch h5{ color:#eaeaea; margin:0 0 .1rem; font-size:1rem }
.cc-switch p{ margin:0; font-size:.9rem; color:#cfcfcf }

.cc-toggle{ appearance:none; width:44px; height:26px; border-radius:999px; position:relative;
  outline:none; cursor:pointer; border:2px solid #666; background:#1e1e1e; transition:var(--cc-tr-fast);
}
.cc-toggle::after{
  content:""; position:absolute; width:18px; height:18px; border-radius:50%;
  background:#888; top:2px; left:2px; transition:var(--cc-tr-fast);
}
.cc-toggle:checked{ border-color:var(--cc-primary); background:#312000 }
.cc-toggle:checked::after{ background:var(--cc-primary); left:calc(100% - 20px) }

/* Essential gesperrt */
.cc-toggle[disabled]{ opacity:.6; cursor:not-allowed }

/* Show helpers */
.cc-show{ display:block!important }

.logo-craftcodex {
margin: 0 50px;
}
@media (max-width: 576px) {
  .logo-craftcodex {
    margin: 0 110px;
  }
}
