/*
Theme Name: Jungpanther Theme Hero
Theme URI: https://example.com/jungpanther-theme-hero
Author: Andreas Müller
Description: Sporty hero theme with 30px overlap, configurable hero button, drawer fixes, and social icons.
Version: 6.8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jungpanther-theme-hero
Tags: responsive-layout, custom-logo, full-width-template, custom-colors
*/

:root{
  --jp-primary:#14234b;
  --jp-white:#fff;
  --jp-speed:300ms;
}

/* Reset & base */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%; scroll-behavior: smooth;}
body{font-family:'Inter',sans-serif;background:#f0f3f8;color:#0c1326;line-height:1.8;}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;}

/* Typography */
h1,h2,h3,h4,h5,h6,.jp-nav a,.jp-wordmark,.cta{font-family:'Oswald',sans-serif;text-transform:uppercase;}

/* Header (fixed) */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:var(--jp-primary);color:#fff;
  transition:all .3s cubic-bezier(.4,0,.2,1);
}
.jp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 18px;transition:padding .3s cubic-bezier(.4,0,.2,1)}
.site-header.scrolled .jp-header-inner{padding:10px 18px}

.jp-logo img{height:80px;width:auto;transition:height .3s cubic-bezier(.4,0,.2,1)}
.site-header.scrolled .jp-logo img{height:48px}

.jp-wordmark a{color:#fff;text-decoration:none;font-size:40px;letter-spacing:1px;display:inline-flex;align-items:center;transition:font-size .3s cubic-bezier(.4,0,.2,1)}
.site-header.scrolled .jp-wordmark a{font-size:24px}
.jp-wordmark img{height:60px;width:auto;max-width:280px;transition:height .3s cubic-bezier(.4,0,.2,1)}
.site-header.scrolled .jp-wordmark img{height:36px}

/* Desktop menu */
.jp-nav ul{list-style:none;display:flex;gap:24px;align-items:center;margin:0;padding:0}
.jp-nav a{color:#fff;text-decoration:none;font-size:18px;transition:opacity var(--jp-speed)}
.jp-nav a:hover{opacity:.75}
.jp-nav li{position:relative}
.jp-nav li ul{position:absolute;left:0;top:100%;background:rgba(20,35,75,.98);border-radius:8px;display:none;min-width:220px;padding:8px 0;z-index:1000;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.jp-nav li:hover>ul{display:block}
.jp-nav li ul li a{display:block;padding:10px 14px}

/* Desktop social icons */
.jp-social-desktop{display:flex;align-items:center;gap:14px;margin-left:16px}
.jp-social-desktop a{display:inline-flex;line-height:0}
.jp-social-desktop svg{width:22px;height:22px;fill:#fff;transition:filter var(--jp-speed),transform var(--jp-speed)}
.jp-social-desktop svg:hover{filter:brightness(1.25);transform:translateY(-1px)}

/* Burger */
.jp-burger{display:none;flex-direction:column;gap:5px;width:30px;cursor:pointer;justify-content:center;background:transparent;border:none;margin-left:auto;margin-right:10px;}
.jp-burger span{height:3px;width:100%;background:var(--jp-white);border-radius:2px}

/* Drawer */
.jp-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity var(--jp-speed),visibility var(--jp-speed);z-index:58}
.jp-drawer{position:fixed;top:0;left:0;width:100%;background:var(--jp-primary);color:var(--jp-white);transform:translateY(-100%);transition:transform var(--jp-speed) ease,opacity var(--jp-speed) ease;z-index:59;opacity:0;max-height:100vh;overflow-y:auto}
.jp-drawer.open{transform:translateY(0);opacity:1}
.jp-drawer-backdrop.open{opacity:1;visibility:visible}
.jp-drawer .drawer-pad{padding:72px 0 0}
.jp-drawer nav ul{list-style:none;margin:0;padding:0}
.jp-drawer nav li a{display:block;padding:16px 22px;color:#fff;text-decoration:none;font-size:20px;border-bottom:1px solid rgba(255,255,255,.2)}
.jp-drawer nav li a:hover{background:rgba(255,255,255,.1)}
.jp-drawer nav li ul{display:none;padding-left:20px}
.jp-drawer nav li.open>ul{display:block}
.jp-drawer .drawer-social{display:flex;justify-content:center;gap:22px;padding:18px 0 24px}
.jp-drawer .drawer-social a{display:inline-flex}
.jp-drawer .drawer-social svg{width:26px;height:26px;fill:#fff;transition:filter var(--jp-speed)}
.jp-drawer .drawer-social svg:hover{filter:brightness(1.25)}

/* Hero */
@keyframes fadeInHero{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}
.jp-hero{width:100%;height:65vh;background-position:center 40%;background-size:cover;background-repeat:no-repeat;position:relative;overflow:hidden;animation:fadeInHero 1.2s ease-out forwards;}
@media(max-width:768px){
  .jp-hero{height:45vh;background-position:center 40%;background-size:cover;}
}

.jp-hero .hero-inner{height:100%;display:flex;justify-content:center;align-items:flex-end}
.jp-hero .cta {
  display: inline-block;
  background: #003d80;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  padding: .25rem 1.6rem;
  border-radius: 6px;
  margin-bottom: .6rem;
  margin-right: 1rem; /* 👈 adds space between buttons */
  text-transform: uppercase;
  letter-spacing: .5px;
  text-decoration: none;
  transition: transform var(--jp-speed), box-shadow var(--jp-speed);
}
.jp-hero .cta:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.25)}

/* Home content cards */
.jp-home-card{width:min(1100px,92%);margin:40px auto;background:#f8f9fb;border-radius:18px;padding:0 18px 32px;box-shadow:0 12px 32px rgba(0,0,0,.08);line-height:1.8;}
.jp-home-card + .jp-home-card{margin-top:60px;}

.jp-home-card .cta{display:inline-block;background:#003d80;color:#fff;font-size:1.4rem;font-weight:700;padding:.25rem 1.6rem;border-radius:6px;margin-top:1rem;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;transition:transform var(--jp-speed),box-shadow var(--jp-speed)}


/* Footer */
.site-footer{background:#14234b;color:#e6f0ff;padding:28px 18px;text-align:center}

/* Responsive */
@media(max-width:992px){
  .jp-nav{display:none}
  .jp-burger{display:flex;z-index:61;}
  .jp-header-inner{padding:8px 10px;gap:8px;flex-wrap:wrap;}

  .jp-logo img{height:60px;max-width:90px;}
  .jp-wordmark a{font-size:18px;}
  .jp-wordmark img{height:45px;max-width:180px;}

  .jp-social-desktop { display: none !important; }
}

/* Page styling aligned with home cards and Safari/mobile spacing fixes */

.jp-page-card {
  width: min(1100px, 92%);
  margin: 120px auto 40px auto;
  background: #f8f9fb;
  border-radius: 18px;
  padding: 28px 32px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  line-height: 1.8;
}

/* Ensure enough space for fixed header on Safari & mobile */
@supports (-webkit-touch-callout: none) {
  .jp-page-card, main.container, section.card {
    margin-top: 140px !important;
  }
}

/* Page heading styling */
.jp-page-card h1 {
  margin-bottom: 24px;
  font-size: 2rem;
  text-align: center;
}

/* Mobile adjustments */
@media(max-width:768px){
  .jp-hero{height:45vh;background-position:center 40%;background-size:cover;}
  .jp-page-card {margin-top: 160px;}
}

/* General home card style reuse */
.jp-home-card {
  width: min(1100px, 92%);
  margin: 0px auto;
  background: #f8f9fb;
  border-radius: 18px;
  padding: 1px 28px 28px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  line-height: 1.8;
}


.jp-home-card + .jp-home-card {margin-top: 60px;}

/* Container override to style pages like cards */
.container > .card {
  width: min(1100px, 92%);
  margin: -80px auto 0px auto;
  background: #f8f9fb;
  border-radius: 18px;
  padding: 15px 15px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  line-height: 1.8;
}

/* Fix for content hidden under fixed header */
:root {
  --jp-header-height: 130px;
}

/* Add enough space so content isn't hidden under header */
main.container,
main.site-content {
  flex: 1 0 auto;
  display: block;
  padding-top: var(--jp-header-height);
}

/* Keep footer stuck to bottom */
.site-footer {
  flex-shrink: 0;
  margin-top: auto;
  position: relative;
  z-index: 1;
}

/* Safari tweak only — small extra padding for safe area */
@supports (-webkit-touch-callout: none) {
  main.container,
  main.site-content {
    padding-top: calc(var(--jp-header-height) + 10px);
  }
}

/* --- Content typography and list spacing --- */
.jp-page-card,
.jp-home-card,
.container > .card {
  line-height: 1.8;
}

/* Proper indentation and spacing for lists */
.jp-page-card ul,
.jp-page-card ol,
.jp-home-card ul,
.jp-home-card ol,
.container > .card ul,
.container > .card ol {
  margin-left: 1.8em;          /* indent lists */
  margin-top: 0.75em;          /* space before list */
  margin-bottom: 1.5em;        /* space after list */
  list-style-position: outside;
}

/* Individual list items spacing */
.jp-page-card li,
.jp-home-card li,
.container > .card li {
  margin-bottom: 0.4em;
}

/* Ensure headings and paragraphs have good spacing */
.jp-page-card h2,
.jp-page-card h3,
.jp-page-card h4,
.jp-home-card h2,
.jp-home-card h3,
.jp-home-card h4 {
  margin-top: 2em;
  margin-bottom: 0.75em;
  font-weight: 700;
}

.jp-page-card p,
.jp-home-card p,
.container > .card p {
  margin-bottom: 1.2em;
}

/* Optional: improved bullet visibility */
.jp-page-card ul li::marker,
.jp-home-card ul li::marker,
.container > .card ul li::marker {
  color: #14234b;
}

.jp-home-card {
  scroll-margin-top: 60px; /* adjust this value to match your header height */
}



/* --- ERCI Overview (Abteilungsleitung & Ansprechpartner) --- */
/* --- ERCI Grid Layout --- */
.erci-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}

/* --- ERCI Card Layout --- */
.erci-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.05);
  padding: 16px 18px 12px;
  display: flex;
  flex-direction: column; /* vertical inside each card */
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.erci-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}

/* Horizontal content for image + text */
.erci-card-content {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
}

/* Image */
.erci-avatar {
  width: 100px;
  height: 130px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  background: #e8ecf3;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}
.erci-card:hover .erci-avatar {
  transform: scale(1.03);
}

/* Text beside image */
.erci-card-content > div {
  flex: 1;
  min-width: 0;
}
.erci-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #0c1326;
  margin-bottom: 0.25rem;
}
.erci-role {
  font-weight: 600;
  color: #003d80;
}

/* Email line spans full card width below */
.erci-note {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px solid rgba(0,0,0,0.06);
  text-align: center;
  font-size: 0.9rem;
  color: #555;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Responsive stacking */
@media (max-width: 768px) {
  .erci-card-content {
    flex-direction: column;
    text-align: center;
  }
  .erci-avatar {
    width: 150px;
    height: 180px;
  }
  .erci-note {
    white-space: normal;
    text-overflow: unset;
  }
}

/* =========================================================
   ERC Ingolstadt Partner & Camp Styles
   Matches Jungpanther Theme & ERCI Overview Cards
   ========================================================= */

:root {
  --jp-primary: #14234b;
  --jp-accent: #003d80;
  --jp-bg: #f8f9fb;
  --jp-white: #ffffff;
}

/* --- Section Container --- */
.erci-wrap {
  max-width: 1200px;
  margin: 10px auto 60px auto;
  padding: 10px 20px 40px;
  background: var(--jp-bg);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  line-height: 1.8;
}

/* --- Subtext under title --- */
.erci-sub {
  text-align: left;
  font-size: 1rem;
  color: #333;
  margin: 0 auto 40px auto;
  max-width: 900px;
}

/* --- Grid layout for partner cards --- */
.erci-grid.partners {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 28px;
  justify-items: center;
}

/* --- Partner Card --- */
.erci-card {
  background: var(--jp-white);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
  padding: 28px 24px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  max-width: 600px;
}

.erci-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

/* --- Partner Logo --- */
.erci-partner-logo {
  width: auto;
  max-width: 260px;
  height: auto;
  margin: 0 auto 20px auto;
  display: block;
  object-fit: contain;
  filter: brightness(0.98);
  transition: filter 0.3s ease;
}

.erci-partner-logo:hover {
  filter: brightness(1.05);
}

/* --- Card Headings --- */
.erci-card h3 {
  color: var(--jp-primary);
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* --- Paragraph styling inside cards --- */
.erci-card p {
  color: #4b5563;
  font-size: 0.95rem;
  margin-bottom: 1rem;
  line-height: 1.6;
}



/* --- Buttons inside cards --- */
.erci-card a {
  display: inline-block;
  background: var(--jp-accent);
  color: var(--jp-white);
  padding: 0.6rem 1.2rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.3px;
  transition: background 0.25s ease, transform 0.15s ease;
}

.erci-card a:hover {
  background: #002b5c;
  transform: translateY(-2px);
}

/* --- Responsive tweaks --- */
@media (max-width: 768px) {
  .erci-wrap {
    padding: 24px 18px 36px;
    margin: 80px auto;
  }

  .erci-card {
    padding: 20px 18px;
  }

  .erci-partner-logo {
    max-width: 200px;
    margin-bottom: 16px;
  }

  .erci-card h3 {
    font-size: 1.2rem;
  }
}

/* =========================================================
   ERC Ingolstadt Partner-Vorteile Styles
   Matches Jungpanther Theme & ERCI Overview Design
   ========================================================= */

:root {
  --jp-primary: #14234b;
  --jp-accent: #003d80;
  --jp-bg: #f8f9fb;
  --jp-white: #ffffff;
}

/* --- Section Container --- */
.erci-wrap {
  max-width: 1200px;
  margin: 20px auto 60px auto;
  padding: 10px 20px 40px;
  background: var(--jp-bg);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  line-height: 1.8;
}

/* --- Subheading / Intro Text --- */
.erci-sub {
  text-align: justify;
  font-size: 1rem;
  color: #333;
  margin: 0 auto 40px auto;
  max-width: 900px;
}

/* --- Partner Grid Layout --- */
.erci-grid.partners {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  justify-items: center;
}

/* --- Partner Card --- */
.erci-card {
  background: var(--jp-white);
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
  padding: 22px 20px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  width: 100%;
  max-width: 360px;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.erci-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

/* --- Partner Logo --- */
.erci-partner-logo {
  width: auto;
  max-width: 180px;
  height: 80px;
  object-fit: contain;
  margin-bottom: 12px;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.erci-card:hover .erci-partner-logo {
  transform: scale(1.05);
  filter: brightness(1.05);
}

/* --- Partner Name --- */
.erci-card h3 {
  color: var(--jp-primary);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.4rem;
}

/* --- Card Text --- */
.erci-card p,
.erci-card {
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* --- Footer Note --- */
.erci-note {
  text-align: center;
  font-size: 0.95rem;
  color: #555;
  line-height: 1.6;
  max-width: 700px;
  margin: 40px auto 0 auto;
}

/* --- Responsive Adjustments --- */
@media (max-width: 992px) {
  .erci-grid.partners {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 18px;
  }

  .erci-card {
    padding: 18px;
    min-height: 200px;
  }

  .erci-partner-logo {
    max-width: 150px;
    height: auto;
    margin-bottom: 10px;
  }

  .erci-card h3 {
    font-size: 1rem;
  }
}

@media (max-width: 600px) {
  .erci-wrap {
    margin: 20px auto;
    padding: 24px 16px 36px;
  }

  .erci-partner-logo {
    max-width: 120px;
    margin-bottom: 8px;
  }

  .erci-card {
    max-width: 100%;
  }
}

.erci-section .cta{display:inline-block;background:#003d80;color:#fff;font-size:1.25rem;font-weight:700;padding:.25rem 1.6rem;border-radius:6px;margin-top:1rem;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;transition:transform var(--jp-speed),box-shadow var(--jp-speed)}



/* --- Sticky Footer Layout (Fixed Header Compatible) --- */
/* --- Global layout fix for sticky footer + fixed header --- */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Make sure main fills the available space */
main.site-content {
  flex: 1 0 auto;
  display: block;
  padding-top: var(--jp-header-height, 130px); /* space for fixed header */
}

/* Footer sits at bottom without overlap */
.site-footer {
  flex-shrink: 0;
  margin-top: auto;
  position: relative;
  z-index: 1;
}

/* Fix Safari spacing (keeps compatibility) */
@supports (-webkit-touch-callout: none) {
  main.site-content {
    padding-top: calc(var(--jp-header-height, 130px) + 10px);
  }
}

/* =========================================================
   ERC Ingolstadt Sponsoren Page
   ========================================================= */

.erci-grid.sponsors {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 26px;
  justify-items: center;
  align-items: stretch;
}

.erci-card.sponsor {
  background: var(--jp-white);
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
  padding: 24px 20px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  width: 100%;
  max-width: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.erci-card.sponsor:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

.erci-sponsor-logo {
  width: auto;
  max-width: 220px;
  height: 100px;
  object-fit: contain;
  margin-bottom: 12px;
  filter: grayscale(100%) brightness(0.9);
  transition: filter 0.3s ease, transform 0.3s ease;
}

.erci-card.sponsor:hover .erci-sponsor-logo {
  filter: grayscale(0%) brightness(1);
  transform: scale(1.05);
}

.erci-card.sponsor h3 {
  color: var(--jp-primary);
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
/* --- Sponsor link styling: white text with hover accent --- */
.erci-card.sponsor a {
  color: #ffffff;
  background: var(--jp-accent);
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.3px;
  text-decoration: none;
  display: inline-block;
  transition: background 0.25s ease, transform 0.15s ease;
  margin-top: 8px;
}

.erci-card.sponsor a:hover {
  background: #001f4d;
  transform: translateY(-2px);
}


@media (max-width: 768px) {
  .erci-grid.sponsors {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 18px;
  }
  .erci-sponsor-logo {
    max-width: 160px;
    height: 80px;
  }
}

/* === Inline text link styling (excludes buttons & CTAs) === */
.jp-page-card p a:not(.cta):not(.button),
.jp-home-card p a:not(.cta):not(.button),
.container > .card p a:not(.cta):not(.button),
.erci-card p a:not(.cta):not(.button) {
  color: var(--jp-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

/* Hover/focus states */
.jp-page-card p a:not(.cta):hover,
.jp-home-card p a:not(.cta):hover,
.container > .card p a:not(.cta):hover,
.erci-card p a:not(.cta):hover {
  color: var(--jp-primary);
  text-decoration-color: var(--jp-primary);
}

/* Accessibility focus ring */
.jp-page-card p a:not(.cta):focus-visible,
.jp-home-card p a:not(.cta):focus-visible,
.container > .card p a:not(.cta):focus-visible,
.erci-card p a:not(.cta):focus-visible {
  outline: 2px solid var(--jp-accent);
  outline-offset: 2px;
}

/* === Partners Page Width Alignment === */
body.page-template-page-partners .erci-wrap {
  max-width: min(1100px, 92%); /* match normal page width */
  margin: 0 auto 60px auto;    /* center and give bottom space */
  padding: 30px 24px 40px;     /* comfortable inner padding */
}

/* Fix top spacing */
body.page-template-page-partners main.site-content {
  padding-top: calc(var(--jp-header-height, 130px) / 2);
}

/* --- Partner card logo alignment fix --- */
.erci-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 280px; /* ensures consistent overall height */
  text-align: center;
}

.erci-card .erci-partner-logo {
  width: auto;
  max-width: 180px;
  height: 100px; /* fixed height for alignment */
  object-fit: contain;
  margin-bottom: 16px;
  display: block;
}

/* === Prevent partner logo links from inheriting button styles or background === */
.erci-card a img.erci-partner-logo,
.erci-card a.erci-partner-logo {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Remove button styling from linked logos */
.erci-card a:has(img.erci-partner-logo) {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: inline-block;
}

/* --- Partner Card: Ausnahmen text --- */
.erci-card .erci-ausnahmen {
  margin-top: 0.4rem;
  font-size: 0.85rem;
  color: rgba(0,0,0,0.6);
  font-style: italic;
  line-height: 1.5;
}

body.page-id-30 .erci-card  {
  min-height: 80px;
}


/* =========================================================
   iPhone Safari Hero/Header Overlap Fix (confirmed alignment)
   ========================================================= */

/* =========================================================
   iPhone Safari Fixed-Header / Spacing Fix
   ========================================================= */
@supports (-webkit-touch-callout: none) {

  /* Prevent any global offset or double spacing */
  html, body {
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }

  /* Remove rogue top margins on first child or hero */
  .jp-hero,
  main.site-content > *:first-child,
  main.container > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* --- Default for all normal pages --- */
  main.site-content,
  main.container {
    padding-top: 92px !important;
  }

  /* --- Front page only (smaller header above hero) --- */
  body.home main.site-content,
  body.page-template-frontpage main.site-content,
  body.page-id-2 main.site-content { /* use your actual front page ID if needed */
    padding-top: 76px !important;
  }
}

/* --- iPad Safari fix: correct header spacing per orientation --- */
@supports (-webkit-touch-callout: none) {

  /* iPad portrait — normal header height */
  @media (min-width: 768px) and (orientation: portrait) {
    main.site-content,
    main.container {
      padding-top: var(--jp-header-height, 130px) !important;
    }
  }

  /* iPad landscape — extra padding for full header height */
  @media (min-width: 768px) and (orientation: landscape) {
    main.site-content,
    main.container {
      padding-top: calc(var(--jp-header-height, 130px) + 30px) !important;
    }
  }
}

@supports (-webkit-appearance:none) and (not (-webkit-touch-callout: none)) {
  .jp-hero { margin-top: -2px; }
}


/* Remove WordPress admin-bar margin on mobile */
@media screen and (max-width: 782px) {
  html { margin-top: 0 !important; }
  #wpadminbar { position: fixed !important; }
}


