/* ==========================================================================
   Heimaterleben Events – Archiv/Shop + Single-Shell
   Vorgaben: dunkle Cards, kein Card-Rahmen, spezielles Blau (#1872a6),
   Footer-Hintergrund #3b3b3b, Labels ausblenden, Filter ohne BG,
   Icon-basierte Clear-/Search-Controls, Pagination/Buttons outline-blau.
   ========================================================================= */

/* ========== Tokens (anpassbar) ========================================== */
:root{
  --he-gap: 24px;
  --he-max: 1200px;

  /* Farben */
  --he-bg: #0f1216;
  --he-text: #f2f3f5;
  --he-text-muted: #c7c9ce;
  --he-text-softer: #a3a6ad;
  --he-accent: #1872a6;
  --he-accent2: #a0a8c6;
  --he-accent3: #1B365D;
  --he-border: #1f242b;
  --he-accent-weak: rgba(24,114,166,.18);
  --he-accent-border: rgba(24,114,166,.55);

  /* Card */
  --he-card: #101214;
  --he-card-bg: #333333;
  --he-card-radius: 5px;
  --he-card-shadow: 0 2px 10px rgba(0,0,0,.35);
  --he-card-shadow-hover: 0 10px 28px rgba(0,0,0,.5);
  --he-card-footer-bg: #3b3b3b;

  /* Badge */
  --he-badge-bg: var(--he-accent);
  --he-badge-bg2: var(--he-accent3);
  --he-badge-fg: #ffffff;

  /* Inputs / Filter */
  --he-input-bg: #e6e6e6;
  --he-input-bd: #cccccc;
  --he-input-fg: #333333;
  --he-input-ph: #999999;
  --he-input-bd-focus: #c0c0c0;

  /* Pagination */
  --he-pagi-fg: var(--he-accent);
  --he-pagi-bd: var(--he-accent);
    
  --he-danger: #d15353;
  --he-success: #36c28b;
  --he-warning: #f2b84b;
	
  --he-pg-gap: 10px;
  --he-pg-padding-y: 10px;
  --he-pg-padding-x: 14px;
  --he-pg-radius: 10px;
  --he-pg-font-size: 15px;
  --he-pg-min-size: 40px;            /* Mindest-Trefffläche */
  --he-pg-color: var(--he-accent2);            /* Text normal */
  --he-pg-bg: #ffffff;               /* Hintergrund normal */
  --he-pg-border: #e5e7eb;           /* Rahmen normal */
  --he-pg-hover-bg: var(--he-accent);         /* Hover Hintergrund */
  --he-pg-active-bg: var(--he-accent);        /* Aktive Seite Hintergrund */
  --he-pg-active-color: #ffffff;     /* Aktive Seite Text */
  --he-pg-shadow: 0 1px 2px rgba(0,0,0,.04);
    
}

/* ========== Wrapper / Container ========================================= */
.he-events-archive-wrapper .container, .hee-single-injected .container, .hee-single-shell, .he-organizer-single {
  width:100%; max-width:var(--he-max); margin:50px auto; padding:0 16px;
}

/* Links in unserem Bereich generell nicht unterstrichen */
.he-events-archive-wrapper a{ text-decoration:none; }

/* ========== Filterleiste (ohne Labels, ohne BG) ========================= */
.he-filters{ margin:0 0 40px; padding:0; border:none; background:transparent; }
.he-filter .he-label{ display:none !important; } /* Labels ausblenden */

/* --- Endgültiges 2-Spalten-Layout (Desktop) / 1-Spalte (Mobil) mit Grid-Areas --- */
.he-filters__row{
  display:grid !important;
  grid-template-columns: 1fr !important;
  grid-template-areas:
    "aside"
    "groups";
  gap:14px;
}

@media (max-width: 768px){
  .he-events-archive-wrapper .container, .hee-single-injected .container, .hee-single-shell, .he-organizer-single {
    margin:0 auto;
  }
}

@media (min-width:1024px){
  .he-filters__row{
    grid-template-columns: 2fr 1fr !important; /* links 3/4, rechts 1/4 */
    grid-template-areas: "groups aside" !important;
    column-gap:16px; row-gap:12px;
  }
}

/* Linke Spalte = Kategorien + Quick (Buttons) + Reset inline */
.he-filter--groups{
  grid-area: groups;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Rechte Spalte = Suche → Datum (jeweils eigene Zeile) */
.he-filter--aside{
  grid-area: aside;
  display:grid !important;
  grid-template-columns: 1fr;
  grid-template-areas:
    "search"
    "date";
  grid-auto-rows: auto;
  gap:10px;
}
.he-filter--search{ grid-area: search; }
.he-filter--date  { grid-area: date; }

/* Reihenfolge mobil: Suche vor Buttons wird durch Grid-Areas bereits sichergestellt */

/* Inputs */
.he-input-wrap{ position:relative; }
.he-filter input[type="search"],
.he-filter select,
.he-date-range input[type="date"]{
  width:100%;
  height:32px;
  line-height:32px;
  padding:10px 44px 10px 12px;
  background:var(--he-input-bg);
  color:var(--he-input-fg);
  border:1px solid var(--he-input-bd);
  border-radius:5px;
  font-size:14px;
  box-sizing:border-box;
}
.he-filter input::placeholder{ color:var(--he-input-ph); }

/* Suche 100% Breite + Platz für Clear + Search-Icon */
.he-filters .he-filter--aside .he-filter--search,
.he-filters .he-filter--aside .he-filter--search .he-input-wrap,
.he-filters .he-filter--aside .he-filter--search input[type="search"]{
  width:100% !important; display:block !important; box-sizing:border-box !important;
}
.he-filter--search .he-input-wrap input[type="search"]{ padding-right:96px; }

/* Clear-Icon (inline, ohne Button-Chrom) – einheitliche Position */
.he-clear-icon{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  right:60px !important; /* Platz für Search-Icon rechts */
  display:none;
  align-items:center;
  justify-content:center;
  color:var(--he-input-fg) !important;
  opacity:.85;
  cursor:pointer;
  z-index:2;
  font-size:25px !important;
}
.he-clear-icon:hover{ opacity:1; }

/* Search-Icon: icon-only, sauber am rechten Rand, korrekter Radius (5px) */
.he-input-wrap .he-search-icon{
  position:absolute; top:50%; right:0; transform:translateY(-50%);
  width:32px; height:32px; border:none; padding:0;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  background:var(--he-accent); color:#fff;
  border-top-right-radius:5px; border-bottom-right-radius:5px;
  border-top-left-radius:0; border-bottom-left-radius:0;
  line-height:0; z-index:3;
}
.he-search-icon svg{
  display:block; pointer-events:none;
  width:18px !important; height:18px !important;
  min-width:14px; min-height:14px;
}
.he-input-wrap .he-search-icon:hover{ filter: brightness(0.75); }

/* Datum (Desktop sichtbar) */
.he-date-range{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:8px;
  position:relative;
}
.he-date-sep{ color:var(--he-text-softer); font-size:13px; }
.he-date-range input[type="date"]{
  height:36px !important;
  line-height:34px !important;
  padding:6px 10px !important;
  font-size:13px !important;
  box-sizing:border-box;
}
/* Mobile: Datumsfelder ausblenden, Quick bleibt sichtbar */
@media (max-width:1023.98px){
  .he-date-range{ display:none !important; }
}
/* Clear-X für Datum rechts mittig */
.he-date-range .he-date-clear{
  position:absolute; right:0; top:50%; transform:translateY(-50%);
  font-size:22px; line-height:1; padding:0 6px;
}

/* Reset-Link: inline hinter Quick-Buttons in der linken Spalte */
.he-filter--groups .he-filter--reset{
  display:flex !important; align-items:center; margin-left:12px;
}
.he-filter--groups .he-reset-link{
  display:inline-block; margin-left:12px; white-space:nowrap;
  font-size: .9rem; text-decoration:none !important; font-weight:400; padding:8px 0;
}
.he-filter--groups .he-reset-link:hover{ color:var(--he-text); }

/* ==== Buttons (Quick & Kategorien) – einheitliche Chips ==== */
.he-cat-group{ display:flex; flex-wrap:wrap; margin:-4px 0 0 -6px; align-items:center; }
.he-quick{ display:flex !important; flex-wrap:wrap; } /* Quick-Container inline-flex-wrap */

.he-cat-group .he-cat-btn,
.he-quick .he-quick-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.9rem!important;
  font-weight: 400;
  line-height:1.2;
  padding:6px 12px;
  margin:4px 6px 0 0;
  cursor:pointer;
  background:transparent;
  border:1px solid var(--he-accent2);
  color:var(--he-accent2);
}
.he-quick .he-quick-btn { border-color:var(--he-accent); color:var(--he-accent); }

.he-cat-btn:hover, .he-quick-btn:hover{ filter:brightness(0.95); }
.he-cat-btn.is-active, .he-quick-btn.is-active{
  background:#fff; color:#111; border-color:#fff;
}

/* Tastatur-Fokus (A11y) */
.he-cat-btn:focus-visible,
.he-quick-btn:focus-visible,
.he-details:focus-visible,
.pagination .button:focus-visible,
.pagination button:focus-visible {
  outline: 2px solid var(--he-accent);
  outline-offset: 2px;
}

/* ========== Grid (Woo-kompatibel) ======================================= */
.he-shelf ul.products{ list-style:none; margin:0; padding:0; }
.he-shelf ul.products.he-row{ display:flex; flex-wrap:wrap; gap:var(--he-gap); }
.he-col{ flex:0 0 100%; max-width:100%; }
@media (min-width:700px){
  .he-col-md-6{ flex-basis:calc(50% - var(--he-gap)); max-width:calc(50% - var(--he-gap)); }
}
@media (min-width:1024px){
  .he-col-lg-4{ flex-basis:calc(33.333% - var(--he-gap)); max-width:calc(33.333% - var(--he-gap)); }
}

/* ========== Card ========================================================= */
.he-shelf ul.products li.product{
  background:var(--he-card-bg) !important;
  border:none !important;
  border-radius:var(--he-card-radius) !important;
  box-shadow:var(--he-card-shadow) !important;
  overflow:hidden !important; position:relative !important;
  display:flex !important; flex-direction:column !important;
}
@media (prefers-reduced-motion: no-preference){
  .he-shelf ul.products li.product{
    transition: box-shadow .2s ease, transform .2s ease;
  }
  .he-shelf ul.products li.product:hover{
    box-shadow:var(--he-card-shadow-hover) !important;
  }
}

.he-shelf ul.products li.product .he-card{
  display:flex; flex-direction:column; height:100%;
}
.he-shelf ul.products li.product .he-content{
  flex: 1 1 auto; min-height: 0;
}
.he-shelf ul.products li.product .he-footer{
  margin-top: auto;
}

/* Bild */
.he-card .he-thumb{ display:block; overflow:hidden; }
.he-card .he-thumb img{
  display:block !important; width:100% !important; height:auto;
  aspect-ratio:1/1; object-fit:cover; transform:scale(1);
  transition:transform .35s ease;
}
.he-shelf li.product:hover .he-thumb img{ transform:scale(1.03); }

.he-card .he-badges{
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;  
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
  align-items: flex-start;
}

.he-badges .he-cat-badge,
.he-badges .he-org-badge{
  display: inline-flex;  
  width: auto;
  max-width: 100%;
  font-weight: 200!important;
    text-transform:uppercase;
    letter-spacing:.04em;
    border-radius:999px;
    padding:5px 9px;
    font-size:.72rem;
	color: var(--he-badge-fg);
}

.he-badges .he-cat-badge{
  background: var(--he-badge-bg)!important;
}

.he-badges .he-org-badge{
  position: absolute;
  top: 0;
  right: 0;
  background: var(--he-badge-bg2)!important;
  white-space: nowrap;    
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 60%;     
  padding: 5px 9px;
  z-index: 3;
}

.hee-single-shell .he-badges .he-org-badge {
  position: relative;    
}

.hee-single-shell .he-badges .he-cat-badge,
.hee-single-shell .he-badges .he-org-badge{
    padding:5px 20px;
    font-size:.8rem;
}

.he-cat-badge:hover, .he-org-badge:hover { opacity: 0.6; }

/* Inhalt */
.he-content{ padding:14px 16px 0; display:flex; flex-direction:column; gap:8px; color:var(--he-text); }
.he-content .he-title{ font-size:1.2rem; font-weight:600; line-height:1.35; margin:0; }
.he-content .he-title a,
.he-content .he-title a:hover,
.he-content .he-title a:focus{ text-decoration:none !important; }

/* Description – 14px */
.he-excerpt{
  font-size:14px; color:var(--he-text-muted); line-height:1.55;
   overflow:hidden;
    margin-bottom:25px;
}

/* Datum – zentriert, oben/unten 15px, ohne Uhrzeit; Farbe Accent */
.he-date {
  color:var(--he-accent); text-align:center;
  font-weight:500;
}
.he-more { font-size:.85rem; color:var(--he-text-softer); text-align:center; }
.he-venue { 
  color:var(--he-accent2); text-align:center;
  margin:0 0 25px 0;
}

/* Footer – eigener Hintergrund (#3b3b3b) */
.he-footer{
  display:flex; align-items:center; gap:10px; margin-top:auto; flex-wrap:wrap;
  background:var(--he-card-footer-bg); padding:12px 16px; border-top:none;
}
.he-footer .price { font-weight:400; color:var(--he-accent); margin-left: 10px; }
.he-price-right{ margin-left:auto; }

/* Card-Button: outline-blau (kein BG) */
.he-details.button,
.he-details{
  display:inline-block; text-decoration:none; font-weight:700;
  padding:8px 12px; border-radius:8px;
  background:transparent; color:var(--he-accent); border:1px solid var(--he-accent);
  line-height:1.2;
}
.he-details:hover{ filter:brightness(1.1); text-decoration:none; }

/* Status-Badges */
.he-status { font-size:.74rem; padding:3px 8px; border-radius:999px; border:1px solid transparent; margin-left: auto; }
.he-status--soldout { background:#3a1717; color:#ffcccc; border-color:#5a2424; }
.he-status--few { background:#3a2a12; color:#ffdca8; border-color:#5a3c18; }
.he-status--available { background:#163824; color:#bff2d0; border-color:#24583a; }
.he-status--inquiry { background:#bff2d0; color:#163824; border-color:#24583a; }
.he-status--announcement { background:#bff2d0; color:#163824; border-color:#24583a; }
.he-status--ended { background:#585858; color:#ffcccc; border-color:#585858; }
.he-status--past{ background:#2d2d2d; color:#e0e0e0; border-color:#404040; }


/* Past-Badge oben rechts + entsättigte Cards */
.he-shelf .he-past-flag{
  position:absolute; top:10px; right:10px; z-index:2;
  background:#585858; color:#fff; text-transform:uppercase;
  font-size:.72rem; letter-spacing:.04em; opacity:.9;
  padding:5px 9px; border-radius:999px;
}
.he-shelf li.product.is-past .he-thumb img{
  filter: grayscale(60%); opacity: .85;
}
.he-shelf li.product.is-past{ opacity: .95; }
.he-status--past{ background:#2d2d2d; color:#e0e0e0; border-color:#404040; }

/* ========== Pagination =================================================== */
.pagination.container-flex{
  display:flex; align-items:center; justify-content:center; gap:8px; margin-top:40px;
}
.pagination .button, .pagination button{
  background:transparent; border:1px solid var(--he-pagi-bd);
  border-radius:8px; padding:8px 12px; text-indent:0; color:var(--he-pagi-fg);
  line-height:1.1; font-weight:normal;
}
.pagination .button[disabled], .pagination button[disabled]{ opacity:.5; cursor:not-allowed; }
.pagination .pagination__input{
  width:80px; padding:5px;
  background:#191b1f; color:#ffffff; border:1px solid var(--he-input-bd-focus);
  border-radius:10px; text-align:center; font-weight:400; letter-spacing:.02em; caret-color:#ffffff;
}
.pagination .pagination__input::placeholder{ color:#b4b8c0; }
.grey.dove-text{ color:var(--he-text-softer); }

/* ========== Single-Shell (Shortcode) ==================================== */
.hee-single-shell{ display:block; color:var(--he-text); }

/* HERO: 2-Spalten (links Titel/Badge, rechts Bild) – konsolidiert */
.hee-single-hero{ margin-bottom:18px; }
.hee-single-title{ margin:0 0 8px; font-size:2rem; line-height:1.2; font-weight:800; color:var(--he-text); }
.hee-single-hero-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items:start;
  margin-bottom: 18px;
}
@media (min-width:1024px){
  .hee-single-hero-grid{
    grid-template-columns: 0.4fr 0.6fr; /* links etwas schmaler, rechts Bild */
    gap: 24px;
  }
}
.hee-hero-title-wrap { padding-right: 20%; }
.hee-hero-title-wrap .he-cat-badge{ margin-bottom:8px; display:inline-block; }
/* Wichtig: Card-spezifisches absolutes Badge NICHT auf die Single anwenden */
.hee-single-shell .he-cat-badge{ position: static !important; }
.hee-hero-media .hee-single-media{
  border-radius:10px; overflow:hidden; box-shadow: var(--he-card-shadow);
}
.hee-hero-media .hee-single-media img,
.hee-hero-media img{
  display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:10px; box-shadow:var(--he-card-shadow);
}

/* Content darunter: 40/60 + 40px Gap (Desktop) */
.hee-single-grid{
  display: grid; grid-template-columns: 1fr; gap: 24px !important;
}
@media (min-width:1024px){
  .hee-single-grid{
    grid-template-columns: 0.4fr 0.6fr; gap: 40px !important;
  }
}

.hee-single-col .hee-single-block{ margin-bottom: 18px; }
.hee-block-title{ margin: 0 0 8px; font-size: 1.05rem; font-weight: 800; color: var(--he-text); }

/* Terminzeile + Status-Badge */
.hee-date-line{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hee-date-main{ color: var(--he-accent); font-weight: 800; }

/* Tickets-Box */
.hee-single-tickets .hee-tickets-wrap{ background:#2b2b2b; border-radius:8px; padding:14px; border:1px solid rgba(24,114,166,.25); }

/* Galerie */
.hee-gallery-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
@media (min-width:1024px){ .hee-gallery-grid{ grid-template-columns: repeat(3, 1fr); } }
.hee-gallery-item img{ display:block; width:100%; height:auto; aspect-ratio: 4/3; object-fit: cover; border-radius:6px; }

/* Related */
.hee-related{ margin-top: 32px; }
.hee-related-title{ margin: 0 0 14px; font-size: 1.4rem; font-weight: 800; color: var(--he-text); }
.hee-related-empty{ color: var(--he-text-softer); }

/* ========== Safety Nets ================================================== */
.he-shelf ul/products{ display:block !important; }
.he-shelf ul.products.he-row{ display:flex !important; }

/* Danke-Seite – Overview-Block full width & sichtbar abgesetzt */
.he-order-overview {
  border: 1px solid var(--he-text-softer, #a3a6ad);
  background: var(--he-bg, #0f1216);
  color: var(--he-text, #f2f3f5);
  padding: 12px 14px;
  border-radius: 8px;
  margin: 0 0 18px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 16px;
}

/* ===== Layout & Fixes ===== */
.he-ty__title{margin:0 0 24px;line-height:1.1}
.he-ty__overview{margin:0 0 28px}
.he-ty__overview-grid{
  display:grid;
  grid-template-columns: 1fr 2fr 3fr 1fr 2fr;
  gap:24px;
  background:#0f1216; /* euer dunkler Balken */
  padding:20px 24px;border-radius:12px;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}
.he-ty__cell{min-width:0}
.he-ty__label{display:block;opacity:.7;font-size:.9rem;margin-bottom:2px}
.he-ty__value{font-size:1.15rem;font-weight:600}
.he-ty__value--wrap{word-break:break-word;overflow-wrap:anywhere}

@media (max-width: 1200px){
  .he-ty__overview-grid{grid-template-columns: repeat(3, minmax(0,1fr));}
}
@media (max-width: 768px){
  .he-ty__overview-grid{grid-template-columns: 1fr;}
}

/* Items wie Cart-Karten – volle Breite */
.he-woo-process .he-ty__items{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}
.he-woo-process .he-card{
  display:grid;grid-template-columns:96px 1fr auto auto auto;
  align-items:center;gap:16px;background:#171a1f;border-radius:16px;padding:16px;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}
.he-woo-process .he-card__thumb{width:96px;height:96px;border-radius:10px;overflow:hidden;background:#0a0c10}
.he-woo-process .he-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.he-woo-process .he-card__body{min-width:0}
.he-woo-process .he-card__title{margin:0 0 6px;font-size:1.1rem;line-height:1.25}
.he-woo-process .he-card__meta{opacity:.85}
.he-woo-process .he-card__qty,.he-card__price,.he-card__subtotal{min-width:88px;justify-self:end}

@media (max-width: 900px){
  .he-woo-process .he-card{grid-template-columns:80px 1fr auto;grid-auto-rows:auto}
  .he-woo-process .he-card__price{display:none}
}

/* Totals unterhalb, volle Breite */
.he-woo-process .he-ty__totals{margin-top:12px}
.he-woo-process .he-ty__totals-rows{background:#171a1f;border-radius:16px;padding:20px 24px;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset}
.he-woo-process .he-ty__totals-row{display:flex;justify-content:space-between;padding:8px 0}
.he-woo-process .he-ty__totals-row--total{font-weight:700}

/* Oberfläche wie die dunklen Karten */
.he-surface{
  background: var(--he-bg, #16181c);
  border: 1px solid var(--he-text-soft, rgba(255,255,255,0.14));
  border-radius: 12px;
  padding: 14px 18px;
}

/* Overview oben: Grid + Labels */
.he-order-overview{ margin: 10px 0 22px; }
.he-order-overview__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(160px,1fr));
  gap: 12px 18px;
}
@media (max-width: 992px){
  .he-order-overview__grid{ grid-template-columns: repeat(2, minmax(160px,1fr)); }
}
@media (max-width: 560px){
  .he-order-overview__grid{ grid-template-columns: 1fr; }
}
.he-order-overview__item{ position: relative; padding-right: 14px; }
.he-order-overview__label{
  display:block;
  font-size: .78rem;
  letter-spacing:.06em;
  text-transform: uppercase;
  opacity:.7;
  margin-bottom: 4px;
}
.he-order-overview__value{
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.2;
}
.he-order-overview__meta{
  margin-top: 10px;
}


/* (Optional) Standard-Woo-No-Products-Meldung in unserem Bereich ausblenden */
.he-events-archive-wrapper .woocommerce-info,
.he-events-archive-wrapper .woocommerce-notices-wrapper .woocommerce-info {
  display:none;
}

.he-archive-intro { margin-bottom: 50px; }
.he-archive-intro, .he-archive-intro .elementor-widget { text-align: center; }
.he-organizer-intro, .he-organizer-intro .elementor-widget { text-align: center; }

/* ===== Organizer Single – Headings ===== */
.he-organizer-single .he-org-subhead{
  color: var(--he-text-muted);
  letter-spacing: .02em;
  margin: 0 0 6px;
}
.he-organizer-single .he-org-title{
  color: var(--he-text);
  font-weight: 800;
  margin: 0 0 14px;
}

/* ===== Profilblock ===== */
.he-organizer-single .he-org-profile{
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  padding: 16px;
  margin-bottom: 50px;
  margin-top: 25px;
}
@media (min-width: 900px){
  .he-organizer-single .he-org-profile{
    grid-template-columns: 250px 1fr; /* kleines, rundes Bild */
    align-items: start;
  }
}
.he-organizer-single .he-org-avatar img{
  width: 250px; height: 250px; border-radius: 50%;
  object-fit: cover; display: block;
  border: 2px solid rgba(255,255,255,.08);
  box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset;
}
.he-organizer-single .he-avatar-fallback{
  width: 250px; height: 250px; border-radius: 50%;
  display: grid; place-items: center;
  background: #1b1f24; color: var(--he-text);
  font-size: 48px; font-weight: 700;
}

.he-org-profile__content { margin: auto 0; }

/* Beschreibung vor Links */
.he-organizer-single .he-org-profile__desc{ color: var(--he-text); }
.he-organizer-single .he-org-profile__links{ margin-top: 12px; }

.he-organizer-single .he-org-socials {
  margin-top: 12px; display: inline-flex; gap: 10px;
}
.he-organizer-single .he-org-socials .he-social {
  display: inline-grid; place-items: center;
  width: 36px; height: 36px; border-radius: 8px;
  color: var(--he-text); background: rgba(255,255,255,.06);
  border: 1px solid var(--he-border);
}
.he-organizer-single .he-org-socials .he-social:hover {
  background: rgba(24,114,166,.14);
  border-color: var(--he-accent);
}

/* Events-Section Titel */
.he-organizer-single .hee-related-title{
  margin: 30px 0 12px;
  color: var(--he-text);
}

.he-events-teaser-wrapper .he-teaser-actions, .he-organizer-single .he-org-events__all { text-align: center; margin-top: 50px; }


/* Header-Utility – Grundlayout */
header .he-hu{ 
    display:block; 
    width:100%; 
    text-align:right;
    font-size: 12px; 
}
header .he-hu__list{
  display:inline-flex;    
  justify-content:flex-end;  
  width:auto;
  align-items: center;
  gap: 0;
  padding: 0;
  list-style: none;
}
header .he-hu__item{ white-space:nowrap; display: inline-flex; align-items: center; }

/* Link-Optik */
.he-hu__link {
  display: inline-flex; align-items: center; gap: 8px;
  text-decoration: none; color: var(--he-text, #e8eef7);
  padding: 6px 10px;
  border-radius: 8px;
}
.he-hu__link:hover { opacity: .7; }

/* Icon + Text */
.he-hu__icon { line-height: 0; display: inline-grid; place-items: center; }
.he-hu__text { white-space: nowrap; }

/* Count-Badge am Cart */
.he-hu__count {
  display: inline-grid; place-items: center;
  min-width: 18px; height: 18px; padding: 0 5px;
  margin-left: 4px;
  border-radius: 999px;
  background: #1872a6; color: #fff;
  font-size: 11px; line-height: 18px;
  border: 1px solid rgba(255,255,255,.15);
}
.is-empty .he-hu__count { background: #3a4150; }

/* Trenner „|“ zwischen Items */
.he-hu__sep {
  margin: 0 4px; opacity: .5; user-select: none;
}

/* Mobil: nur Icon (Text ausblenden) */
@media (max-width: 991px) {
  .he-hu__text { display: none; }
  .he-hu__link { padding: 6px 8px; }
}


 
/* ===========================================================================================
   Heimaterleben – TEC/ET Tickets (Single) + AR-Modal Overrides
   Scope: Ticket-Block in .hee-single-tickets und .tribe-dialog__wrapper
   ======================================================================================== */

/* =========================
   1) Tickets-Block (Single)
   ========================= */
.hee-single-tickets .tribe-tickets,
.hee-single-tickets .tribe-common {
  color: var(--he-text);
}

/* Card-Grundlage */
.hee-single-tickets .tribe-tickets__item,
.hee-single-tickets .tribe-tickets__footer,
.hee-single-tickets form.tribe-tickets {
  background: var(--he-card);
  border: 1px solid var(--he-border);
  border-radius: 14px;
}

/* Innenabstände */
.hee-single-tickets form.tribe-tickets { padding: 16px; }
.hee-single-tickets .tribe-tickets__item { padding: 14px; }
.hee-single-tickets .tribe-tickets__item + .tribe-tickets__item { margin-top: 12px; }

/* Titel „Tickets“ */
.hee-single-tickets .tribe-tickets__title {
  margin: 0 0 10px;
  color: var(--he-text);
}

/* Preis / Zusatzinfos */
.hee-single-tickets .tribe-tickets__item__extra {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
}
.hee-single-tickets .tribe-tickets__item__content__title {
  color: var(--he-text);
  margin: 0;
}
.hee-single-tickets .tribe-tickets__item__extra__price,
.hee-single-tickets .tribe-tickets__item__extra__available {
  color: var(--he-text-muted);
}
.hee-single-tickets .tribe-amount,
.hee-single-tickets .tribe-currency-symbol {
  color: var(--he-text);
  font-weight: 600;
}

/* Quantity-Stepper */
.hee-single-tickets .tribe-tickets__item__quantity {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--he-border);
  border-radius: 10px;
  overflow: hidden;
  background: #0c0f13;
}
.hee-single-tickets .tribe-tickets__item__quantity__number {
  display: flex; align-items: center; justify-content: center;
  min-width: 62px; height: 38px; padding: 0 8px;
}
.hee-single-tickets .tribe-tickets-quantity {
  width: 56px; height: 38px; border: 0; background: transparent;
  color: var(--he-text); text-align: center;
}
.hee-single-tickets .tribe-tickets__item__quantity__add,
.hee-single-tickets .tribe-tickets__item__quantity__remove {
  width: 38px; height: 38px; border: 0; background: rgba(255,255,255,.06);
  color: var(--he-text); padding: 0!important;
}
.hee-single-tickets .tribe-tickets__item__quantity__add:hover,
.hee-single-tickets .tribe-tickets__item__quantity__remove:hover {
  background: rgba(255,255,255,.12);
}

/* Footer: Summe / CTA */
.hee-single-tickets .tribe-tickets__footer {
  margin-top: 14px; padding: 12px 14px;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  border-radius: 12px;
}
.hee-single-tickets .tribe-tickets__footer__quantity,
.hee-single-tickets .tribe-tickets__footer__total {
  color: var(--he-text);
}
.hee-single-tickets #tribe-tickets__submit,
.hee-single-tickets .tribe-tickets__buy,
.hee-single-tickets .tribe-common .tribe-common-c-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 40px; padding: 0 14px; border-radius: 10px;
  border: 1px solid var(--he-accent-border);
  background: transparent; color: #e8eef7;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}
.hee-single-tickets #tribe-tickets__submit:hover,
.hee-single-tickets .tribe-tickets__buy:hover,
.hee-single-tickets .tribe-common .tribe-common-c-btn:hover {
  background: rgba(24,114,166,.14);
  border-color: var(--he-accent);
}
.hee-single-tickets #tribe-tickets__submit[disabled],
.hee-single-tickets #tribe-tickets__submit[aria-disabled="true"] {
  opacity: .55; cursor: not-allowed;
}

/* Notices im Block (z. B. „Tickets im Warenkorb“) */
.hee-single-tickets .tribe-tickets__notice {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--he-border);
  color: var(--he-text);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0;
}
.hee-single-tickets .tribe-tickets__notice--error {
  background: rgba(209,83,83,.12);
  border-color: rgba(209,83,83,.45);
}
.hee-single-tickets .tribe-tickets__notice--barred {
  border-left: 4px solid var(--he-accent);
}

/* Inputs (falls im Block sichtbar) */
.hee-single-tickets input[type="text"],
.hee-single-tickets input[type="email"],
.hee-single-tickets input[type="tel"],
.hee-single-tickets textarea {
  background: #0c0f13; color: var(--he-text);
  border: 1px solid var(--he-border);
  border-radius: 10px; padding: 10px 12px;
}
.hee-single-tickets input::placeholder,
.hee-single-tickets textarea::placeholder { color: #95a1ae; }

/* Loader-Dots dezenter */
.hee-single-tickets .tribe-common-c-loader__dot circle { fill: #5c6573; opacity: .6; }

/* Fokus (A11y) */
.hee-single-tickets a:focus-visible,
.hee-single-tickets button:focus-visible,
.hee-single-tickets input:focus-visible,
.hee-single-tickets textarea:focus-visible {
  outline: 2px solid var(--he-accent);
  outline-offset: 2px;
}

/* =======================
   2) AR-Modal (Teilnehmer)
   ======================= */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__overlay {
  background: rgba(0,0,0,.6);
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__content {
  background: var(--he-card);
  color: var(--he-text);
  border: 1px solid var(--he-border);
  border-radius: 16px;
  padding: 16px;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__title {
  color: var(--he-text);
  margin: 0 0 12px;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__close-button {
  color: var(--he-text);
  border: 1px solid var(--he-border);
  background: transparent;
  border-radius: 10px;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__close-button:hover {
  border-color: var(--he-accent);
  background: rgba(24,114,166,.12);
}

/* Formular im Modal */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input[type="text"],
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input[type="email"],
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input[type="tel"],
.tribe-dialog__wrapper.tribe-modal__wrapper--ar textarea {
  background: #0c0f13; color: var(--he-text);
  border: 1px solid var(--he-border);
  border-radius: 10px; padding: 10px 12px;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input::placeholder,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar textarea::placeholder { color: #95a1ae; }

.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__item__attendee__fields__footer {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-top: 12px;
}
/* Sekundärer Link-CTA */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-c-btn-link {
  color: var(--he-text-muted);
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,.25);
  height: auto; padding: 0; border-radius: 0; border: 0;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-c-btn-link:hover {
  color: var(--he-text); border-bottom-color: var(--he-text);
}
/* Primär-CTA */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-c-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 40px; padding: 0 14px; border-radius: 10px;
  border: 1px solid var(--he-accent-border);
  background: transparent; color: #e8eef7;
  transition: background .15s ease, border-color .15s ease;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-c-btn:hover {
  background: rgba(24,114,166,.14);
  border-color: var(--he-accent);
}

/* Notices/Validierung im Modal */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__notice {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--he-border);
  color: var(--he-text);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0;
}
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-tickets__notice--error {
  background: rgba(209,83,83,.12);
  border-color: rgba(209,83,83,.45);
}

/* Loader im Modal dezenter */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-common-c-loader__dot circle { fill: #5c6573; opacity: .6; }

/* Fokus im Modal */
.tribe-dialog__wrapper.tribe-modal__wrapper--ar a:focus-visible,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar button:focus-visible,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar input:focus-visible,
.tribe-dialog__wrapper.tribe-modal__wrapper--ar textarea:focus-visible {
  outline: 2px solid var(--he-accent);
  outline-offset: 2px;
}

/* ==================
   3) Kleine Tweaks
   ================== */
/* Entfernt übertriebene Abstände/Trenner von TEC in unserem Block */
.hee-single-tickets .tribe-common-h-divider { border-color: var(--he-border); opacity: .8; }
.hee-single-tickets .tribe-common-b3:empty { display: none; }

/* Mobile Anpassungen */
@media (max-width: 767px) {
  .hee-single-tickets form.tribe-tickets { padding: 12px; }
  .hee-single-tickets .tribe-tickets__footer { gap: 12px; }
  .tribe-dialog__wrapper.tribe-modal__wrapper--ar .tribe-dialog__content { padding: 14px; }
}

/* =========================================================
   HE – Cart Mobile v6 (Hard Reset + stabiles 12er Grid)
   ========================================================= */
@media (max-width: 767.98px){
    .woocommerce {
        margin-top: 50px!important;
    }
    .he-cart .he-cart__actions {
        margin-top: 0px!important;
        margin-bottom: 0px!important;
    }

  /* --- Harte Rücknahme älterer Layout-Experimente --- */
  .he-cart__row,
  .he-cart__col{ all: unset; } /* nur Layout-Eigenschaften resetten */
  .he-cart__col{ box-sizing: border-box; }

  /* Card-Optik wiederherstellen (nur, was wir wirklich brauchen) */
  .he-cart__row{
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto auto;
    grid-auto-flow: dense;
    column-gap: 12px;
    row-gap: 12px;

    padding: 14px;
    margin: 14px 0;
    background: var(--he-card-bg, #1a1f25);
    border-radius: var(--he-radius, 14px);
    box-shadow: var(--he-card-shadow, 0 6px 24px rgba(0,0,0,.25));
  }

  /* Säulen-Zuweisung: oben Bild (1-3) + Produkt (4-12) */
  .he-cart__col--thumb    { grid-column: 1 / span 3; align-self: start; justify-self: stretch; }
  .he-cart__col--product  { grid-column: 4 / span 9; align-self: start; justify-self: stretch; min-width: 0; }

  /* Untere Zeile: exakt gedrittelt (je 4 Spalten) */
  .he-cart__col--price    { grid-column: 1 / span 4;  align-self: center; justify-self: start;  text-align: left;  }
  .he-cart__col--qty      { grid-column: 5 / span 4;  align-self: center; justify-self: center; text-align: center; }
  .he-cart__col--subtotal { grid-column: 9 / span 4;  align-self: center; justify-self: end;    text-align: right; color: var(--he-text-muted, #c7c9ce); }

  /* Sicherstellen, dass nichts anderes dazwischenfunkt */
  .he-cart__col--thumb,
  .he-cart__col--product,
  .he-cart__col--price,
  .he-cart__col--qty,
  .he-cart__col--subtotal{
    float: none !important;
    width: auto !important;
    display: block !important;        /* kein Flex/Inline-Flex von früher */
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Bild: sauber quadratisch */
  .he-cart__thumb{ width: 100%; aspect-ratio: 1 / 1; }
  .he-cart__thumb-img{
    width: 100%; height: 100%;
    object-fit: cover; border-radius: 10px; display: block;
  }

  /* Titel: nicht abbrechen/clampen – normal umbrechen */
  .he-cart__product-title{
    margin: 0 0 6px !important;
    line-height: 1.3;
    display: block;
    overflow: visible;
    white-space: normal;
    word-wrap: break-word;
    color: var(--he-text, #f2f3f5);
  }
  .he-cart__eventdate,
  .he-cart__article,
  .he-cart__meta{
    color: var(--he-text-softer, #a3a6ad);
    font-size: 0.94rem;
    margin: 2px 0;
  }

  /* Mengen-Select: kompakt, überlappt nichts, zentriert */
  .he-cart__col--qty .he-cart-qty{
    width: 100%;
    max-width: 100px;
    height: 40px;
    padding: 0 10px;
    border-radius: 10px;
    background: var(--he-bg-soft, #15191e);
    color: var(--he-text, #f2f3f5);
    border: 1px solid var(--he-border, rgba(255,255,255,.12));
  }

  /* Woo „data-title“ Labels ausblenden */
  .he-cart__col[data-title]::before{ content: none !important; }
}



/* ===== Layout-Fix: Header immer volle Breite ===== */
.he-cart{display:grid;grid-template-columns:1fr minmax(300px,360px);gap:24px;margin:20px 0}
.he-cart__header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.he-cart__title{margin:0}

/* Formular/Sidebar */
.he-cart .he-cart__table{display:flex;flex-direction:column;gap:12px}
.he-cart .he-cart__row{display:grid;grid-template-columns:100px 6fr 2fr 1fr 2fr;gap:20px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#1e1e1e;}
.he-cart .he-cart__col--thumb .he-cart__thumb-img{width:100px;height:100px;object-fit:cover;border-radius:8px}
.he-cart .he-cart__product-title{margin:.1rem 0 .25rem; font-size: 1.2rem;}
.he-cart .he-cart__eventdate{opacity:.9;font-size:.95rem;margin-bottom:.2rem}
.he-cart .he-cart__article{opacity:.7;font-size:.85rem;margin-bottom:.2rem}
.he-cart .he-cart__actions{display:flex;gap:8px;justify-content:flex-start;margin-top:25px;margin-bottom: 25px;}
.he-cart .he-cart__sidebar{position:sticky;top:80px;align-self:start}
.he-cart .he-cart-totals{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#212121;padding:16px;margin-bottom:16px}
.he-cart .he-cart-totals__rows{display:flex;flex-direction:column;gap:8px}
.he-cart .he-cart-totals__row{display:flex;justify-content:space-between;gap:12px}
.he-cart .he-cart-trust ul{margin:12px 0 0;padding-left:0;list-style:none;opacity:.85} /* ← keine Bullets */
.he-cart .he-cart-totals__title { font-size: 1.2rem }

/* ===== Buttons auf eure Klassen mappen ===== */
/* Primär (Zur Kasse) – Woo rendert .checkout-button.button.alt. */
.he-cart .checkout-button.button.alt,
.he-cart .sc_button.button-primary,
.he-cart .he-cart__update,
.he-cart .coupon .button,
.he-cart .he-cart-empty__actions .button,
.he-checkout #place_order {
    border-radius:5px;
    display:inline-block; text-decoration:none; font-weight:700;
    padding:8px 12px; border-radius:8px;
    background:transparent; color:var(--he-accent); border:1px solid var(--he-accent);
    line-height:1.2;
    text-align: center;
}
.he-cart .checkout-button.button.alt:hover,
.he-cart .sc_button.button-primary:hover,
.he-cart .he-cart__update:hover,
.he-cart .coupon .button:hover,
.he-cart .button:hover,
.he-checkout #place_order:hover{
    background:var(--he-accent); color:var(--he-text);	
}

.he-cart .checkout-button, .he-checkout #place_order, .he-button-100w {
	width: 100%!important;
}

.he-cart .he-cart-totals__cta { margin: 25px 0; }
.he-cart .he-cart-trust, .he-checkout #place_order { margin: 0 0 25px 0; }
.he-checkout .he-checkout-review { margin-top:25px; }
.he-checkout .select2-container--default .select2-selection--single { height: 40px; }

.he-checkout .checkout-inline-error-message { color: orange!important;}

/* ===== Woo Meldungen global ===== */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  border:1px solid rgba(255,255,255,.12)!important;
  border-left:4px solid #1872a6!important; /* Accent */
  background:#1f2328!important; color:#f2f3f5!important;
  padding:12px 14px; margin:12px 0; list-style:none;
  border-radius:8px;
}
.woocommerce-error{ border-left-color:#d9534f!important; }
.woocommerce-message{ border-left-color:#5cb85c!important; }
.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li{ list-style:none; margin:0; padding:0; }

/* Coupon/Qty Inputs */
.woocommerce-cart-form input.input-text,
.woocommerce-cart-form .qty{
  background:#2a2f36!important;color:#fff!important;border:1px solid #3b4250!important;border-radius:8px;
}
@media (max-width: 980px){
  .he-cart{grid-template-columns:1fr}
  .he-cart__row{grid-template-columns:64px 1fr 100px 120px 120px 36px}
}

/* ===========================================
   WooCommerce – Bestellbestätigungsseite
   (Dark Mode Anpassungen)
   =========================================== */

/* Gesamte Bestellübersicht dunkler Hintergrund, helle Schrift */
.woocommerce table.tribe-attendee-meta { margin-top: 15px; }
.woocommerce table.tribe-attendee-meta tbody td { border: solid 1px var(--he-text-softer, #a3a6ad)!important; }

.woocommerce-checkout .shop_table { background-color: var(--he-bg, #0f1216)!important;  }

.woocommerce-order .woocommerce-thankyou-order-received { font-size: 2em; font-style: italic; }
.woocommerce-order section { margin-top:25px; }
.woocommerce-order-details table,
.woocommerce-order-details thead th,
.woocommerce-order-details tbody td,
.woocommerce-order-overview,
.woocommerce-order-overview li {
  background: var(--he-bg, #0f1216);
  color: var(--he-text, #f2f3f5);
}

/* Tabellenränder angleichen */
.woocommerce-order-details table,
.woocommerce-order-details th,
.woocommerce-order-details td {
  border-color: var(--he-text-softer, #a3a6ad);
}

/* Tabellenkopf etwas absetzen */
.woocommerce-order-details thead th {
  font-weight: 600;
  color: var(--he-text, #f2f3f5);
  background: rgba(255,255,255,0.05);
}

/* Zeilen im Body */
.woocommerce-order-details tbody tr:nth-child(even) td {
  background: rgba(255,255,255,0.02);
}
.woocommerce-order-details tbody tr:nth-child(odd) td {
  background: transparent;
}

/* Order Overview (oben, Bestellnr., Datum etc.) */
.woocommerce-order-overview {
  border: 1px solid var(--he-text-softer, #a3a6ad);
  padding: 1em;
  margin-bottom: 2em;
  border-radius: 8px;
}
.woocommerce-order-overview li {
  border-right: 1px solid var(--he-text-softer, #a3a6ad);
}
.woocommerce-order-overview li:last-child {
  border-right: none;
}

/* Preise hervorheben */
.woocommerce-order-details tfoot td,
.woocommerce-order-details tfoot th {
  font-weight: 600;
  color: var(--he-ac, #1872a6);
}


.wc_payment_methods .wc_payment_method { border:1px solid rgba(255,255,255,.08); border-radius:10px; background:#232323; padding:12px; margin-bottom:10px; }
.wc_payment_methods .wc_payment_method input[type="radio"]{ transform:translateY(2px); margin-right:6px; }

/* Äußeres Grid kann 1 Spalte bleiben (Header vollbreit, darunter das Formular) */
.he-cart.he-checkout{ grid-template-columns: 1fr; }

/* → Das Formular ist das 2-Spalten-Grid (½ / ½) */
.he-checkout__form{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Linke Spalte: Kundendaten */
#customer_details{ grid-column: 1 / 2; }

/* Rechte Spalte: Review + Payment (dein <aside id="order_review">) */
#order_review.he-checkout__sidebar{ grid-column: 2 / 3; }

/* Mobile einkolumnig */
@media (max-width:980px){
  .he-checkout__form{ grid-template-columns: 1fr; }
  #customer_details, #order_review.he-checkout__sidebar{ grid-column: 1 / -1; }
}

/* Kunde: zwei Spalten Grid für Felder, Woo nutzt .form-row-* Klassen */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide{ grid-column:1 / -1; }

/* PLZ/Ort: wir setzen bereits per Filter form-row-first/last – sicherheitshalber: */
.form-row-first{grid-column:1/2;}
.form-row-last{grid-column:2/3;}

/* Labels ausblenden, Placeholder verwenden */
.woocommerce form .form-row label{display:none;}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{
  background:#2a2f36;border:1px solid #3b4250;color:#fff;border-radius:8px;padding:.6rem .7rem;
}
.woocommerce form .form-row textarea{min-height:110px}

/* Spalten-Layout der Review-Liste übernimmt Stil vom Warenkorb */
.he-checkout__items .he-cart__row {grid-template-columns:50px 6fr 1fr 2fr 2fr;}
.he-checkout__totals .he-cart-totals__rows {gap:15px}
.he-checkout-review .he-cart__col--thumb .he-cart__thumb-img {width:50px;height:50px;object-fit:cover;border-radius:8px}
.he-checkout-review .he-cart__product-title { font-size: 1rem; }
/* Kleinere Abstände */
.he-checkout--compact .he-cart__header{margin-bottom:6px}
.he-checkout--compact .he-cart__form{margin-top:8px}

/* Mobile: einkolumnig */
@media (max-width:980px){
  .he-checkout.he-cart{grid-template-columns:1fr;}
  .he-checkout__form{grid-column:1/-1;}
  .he-checkout__sidebar{grid-column:1/-1;}
}

/* Woo-Defaults neutralisieren, damit unser Grid greift */
.woocommerce .col2-set,
.woocommerce .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* ================= Partner-Dashboard – Form Layout ================= */
/* ==== Partner-Dashboard: Buchungsgruppen – Collapsing & Layout ==== */
.he-partner-dashboard .he-booking-section .he-section-title { margin: 16px 0; font-weight: 700; }

.he-partner-dashboard .he-booking-group {
  border:1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  margin-bottom: 30px;
  overflow: hidden;
}

.he-partner-dashboard .he-booking-group__head {
  display:flex; align-items:center; justify-content:space-between;
  gap: 12px; padding: 10px 12px;
  background: rgba(255,255,255,0.06);
}

.he-partner-dashboard .he-booking-group__title .he-title { font-weight: 700; }
.he-partner-dashboard .he-booking-group__title .he-range { color: var(--he-text-muted, #c7c9ce); }

.he-partner-dashboard .he-booking-group__actions { display:flex; align-items:center; gap: 8px; }

.he-partner-dashboard .he-btn.he-btn-small {
  display:inline-flex; align-items:center; height:30px; padding:0 10px;
  background: rgba(255,255,255,0.06); color: var(--he-text, #f2f3f5); text-decoration:none;
  border:1px solid rgba(255,255,255,0.08); border-radius: 8px;
}
.he-partner-dashboard .he-btn.he-btn-small:hover { background: rgba(255,255,255,0.10); }

.he-partner-dashboard .he-booking-section .he-table-wrap { border-radius: 0; }
.he-partner-dashboard .he-booking-section .he-table { margin-block-end: 0; }
.he-partner-dashboard .he-table.he-table-fixed {
  table-layout: fixed;
}
.he-partner-dashboard .he-table.he-table-fixed th,
.he-partner-dashboard .he-table.he-table-fixed td {
  word-wrap: break-word;
  overflow-wrap: anywhere;
}

/* Header-Kleinigkeiten */
.he-partner-dashboard .he-booking-group__title .he-count {
  color: var(--he-text-muted, #c7c9ce);
  margin-left: 6px;
}

.he-partner-dashboard .he-collapse-btn {
  width:30px; height:30px; border-radius:8px; border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06); cursor:pointer; position:relative;
}
.he-partner-dashboard .he-collapse-btn::before, .he-collapse-btn::after {
  content:""; position:absolute; background: currentColor; left: 7px; right:7px; top: 14px; height:2px;
}
/* vorher */
.he-collapse-btn::after { transform: rotate(90deg); }
.he-booking-group.is-collapsed .he-collapse-btn::after { transform: rotate(0deg); }

/* nachher */
.he-collapse-btn::after { transform: rotate(0deg); } /* Standard: Minus, wenn geöffnet */
.he-booking-group.is-collapsed .he-collapse-btn::after { transform: rotate(90deg); } /* Plus, wenn zu */


.he-partner-dashboard .he-booking-group.is-collapsed .he-table-wrap { display:none; }


.he-partner-dashboard .he-form { margin: 0; }
.he-partner-dashboard .he-grid-form{
  display:grid; grid-template-columns: 2fr 1fr; gap: var(--he-gap);
}
@media (max-width: 980px){
  .he-partner-dashboard .he-grid-form{ grid-template-columns: 1fr; }
}

/* Cards für Abschnitte */
.he-partner-dashboard .he-section{
  background: var(--he-bg, #0f1216);
  border-radius: 12px;
  padding: 20px;
  box-shadow: var(--he-card-shadow, 0 2px 10px rgba(0,0,0,.35));
  margin-bottom:30px;
}

/* Typo */
.he-partner-dashboard .he-h2{
  margin: 0 0 12px;
  font-size: 1.125rem;
  color: var(--he-text);
}

/* Fields */
.he-partner-dashboard .he-field{ margin-bottom: 14px; }
.he-partner-dashboard .he-field .he-label{ display:block; font-weight:600; margin-bottom:6px; color: var(--he-text); }
.he-partner-dashboard .he-label-inline{ margin-left:8px; color: var(--he-text); }
.he-partner-dashboard .he-input,
.he-partner-dashboard .he-input[type="date"],
.he-partner-dashboard .he-input[type="time"],
.he-partner-dashboard select.he-input {
  width:100%; height:38px; line-height:38px;
  background:#fff; color:#222;
  border:1px solid #ccc; border-radius:6px; padding:0 10px;
}
.he-partner-dashboard .he-input:focus{ outline:2px solid var(--he-blue,#1872a6); outline-offset:0; }
.he-partner-dashboard .he-inline{ display:flex; gap:8px; }
.he-partner-dashboard .he-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width: 640px){ .he-partner-dashboard .he-grid-2{ grid-template-columns:1fr; } }

.he-partner-dashboard .he-help{
  margin:6px 0 0;
  color: var(--he-text-softer, #a3a6ad);
  font-size: .9rem;
}

/* Actions in Sidebar */
.he-partner-dashboard .he-col-side .he-actions{
  margin-top: var(--he-gap);
  display:flex; gap:10px; flex-wrap:wrap;
}

/* ============== Dropzones & Previews ============== */
.he-partner-dashboard .he-dropzone{
  position: relative;
  display:flex;
  flex-direction: column;          /* <- Spalten-Layout */
  align-items: stretch;            /* Previews nutzen volle Breite */
  justify-content: flex-start;
  gap:8px; text-align:center;
  min-height: 120px;
  border:1px dashed rgba(255,255,255,.25);
  border-radius: 10px;
  background: rgba(255,255,255,.02);
  cursor: pointer;
  transition: .15s ease border-color, .15s ease background;
}
.he-partner-dashboard .he-dropzone.is-dragover{
  border-color: var(--he-blue, #1872a6);
  background: rgba(24,114,166,.15);
}
.he-partner-dashboard .he-input-file{
  position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer;
  z-index:1; /* liegt unter den Previews */
}
.he-partner-dashboard .he-dropzone__hint{
  display:flex; flex-direction:column; gap:4px; color: var(--he-text-muted, #c7c9ce);
  order:1; padding:12px 10px;
}
.he-partner-dashboard .he-dropzone__hint strong{ color: var(--he-text); }
/* Hint ausblenden, sobald Dateien vorhanden sind */
.he-partner-dashboard .he-dropzone.has-items .he-dropzone__hint{ display:none !important; }

/* Beitragsbild Preview */
.he-partner-dashboard .he-featured-preview{
  position: relative; width:100%; max-width: 260px; margin: 10px auto 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.04);
  aspect-ratio: 1 / 1;
}
.he-partner-dashboard .he-featured-preview img{
  position: absolute; inset: 0;
  width:100%; height:100%; object-fit:cover; display:block;
}
.he-partner-dashboard .he-btn-clear{
  position:absolute; top:6px; right:6px;
  border:0; border-radius:16px; width:28px; height:28px;
  background:#000; color:#fff; opacity:.7; cursor:pointer;
}
.he-partner-dashboard .he-btn-clear:hover{ opacity:1; }

/* Galerie: 3-Spalten-Grid (Preview & Readonly) */
.he-partner-dashboard #gallery_drop .he-gallery,
.he-partner-dashboard #gallery_preview.he-gallery,
.he-partner-dashboard .he-gallery.he-gallery--grid3{
  order:2;
  width:100%;
  display:grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap:12px !important;
  margin-top:10px;
  position: relative; z-index: 2; /* über dem file-input */
}

/* Thumb-Kachel – robustes Quadrat */
.he-partner-dashboard .he-g-thumb{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(0,0,0,.04);
  aspect-ratio:1 / 1;              /* modern */
}
.he-partner-dashboard .he-g-thumb::before{
  content:"";
  display:block;
  padding-top:100%;                 /* Fallback */
}
.he-partner-dashboard .he-g-thumb img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
}
.he-partner-dashboard .he-g-thumb.is-drag{ outline:2px dashed var(--he-blue,#1872a6); outline-offset:-2px; }

/* Kleine Screens: adaptiv */
@media (max-width: 680px){
  .he-partner-dashboard #gallery_drop .he-gallery,
  .he-partner-dashboard #gallery_preview.he-gallery,
  .he-partner-dashboard .he-gallery.he-gallery--grid3{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 420px){
  .he-partner-dashboard #gallery_drop .he-gallery,
  .he-partner-dashboard #gallery_preview.he-gallery,
  .he-partner-dashboard .he-gallery.he-gallery--grid3{
    grid-template-columns: 1fr !important;
  }
}

/* All-day Checkbox Zeile */
.he-partner-dashboard .he-field--all-day{
  display:flex; align-items:center; gap:10px; margin: 14px 0;
}
.he-partner-dashboard .he-input.is-readonly { background:#f3f3f3!important; color:#555!important; cursor:not-allowed; }

/* Multiselect & Tags */
.he-partner-dashboard select.he-input[multiple]{ min-height: 84px; }
.he-partner-dashboard .he-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.he-partner-dashboard .he-tag{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; border:1px solid rgba(0,0,0,.15); }
.he-partner-dashboard .he-tag-x{ all:unset; cursor:pointer; padding:0 4px; border-radius:50%; line-height:1; }
.he-partner-dashboard .he-tag-x:hover{ background:rgba(0,0,0,.08); }

/* "Auf Anfrage" Sektion visuell separieren */
.he-partner-dashboard .he-section--onrequest{
  border:1px solid rgba(24,114,166,.25);
  background: rgba(24,114,166,.06);
}

/* ============ Partner-Dashboard – Shell & Layout ============ */

.he-pd-shell { display: grid; grid-template-columns: 1fr; gap: var(--he-gap, 24px); }

.he-pd-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.he-pd-nav .he-tab {
  display: inline-flex; align-items: center; height: 38px; padding: 0 14px;
  text-decoration: none;
  background: rgba(255,255,255,0.06); color: var(--he-text, #f2f3f5);
}
.he-pd-nav .he-tab.is-active {
  background: rgba(24,114,166,0.18);  border-bottom: solid 3px #fff;;
}
.he-pd-nav .he-tab:hover { background: rgba(24,114,166,0.18); border-bottom: solid 3px #fff; }
.he-pd-nav .he-tab-cta { margin-left: auto; }

.he-col-main { min-width: 0; }

/* ============ Sections & Cards ============ */

.he-section { padding: 16px 16px; }
.he-section h2 { margin: 0 0 12px; font-size: 1.25rem; }

.he-sections-grid { display: grid; gap: 16px; }
.he-section-block { margin-bottom: 30px; }

@media (min-width: 900px) { .he-sections-grid { grid-template-columns: 1fr 1fr; } }
.he-section-block { background: transparent; border: 0; }

.he-cards { display: grid; gap: 12px; }
.he-cards-compact .he-card { padding: 12px; }
.he-card h3 { margin: 0 0 6px; font-size: 1rem; }

.he-actions-row { margin-top: 10px; display: flex; gap: 8px; }

/* Buttons */
.he-btn { display:inline-flex; align-items:center; height:36px; padding:0 14px; border-radius:8px;
  background: transparent; color: var(--he-text,#f2f3f5); border:1px solid #1872a6; text-decoration:none; }
.he-btn:hover { background: rgba(24,114,166,0.14); }
.he-btn-primary { background:#1872a6; border-color:#1872a6; color:#fff; }
.he-btn-primary:hover { filter: brightness(1.08); }

/* ============ Tabellen (Buchungen) ============ */

.he-table-wrap { overflow:auto; border-radius: 10px; border:1px solid rgba(255,255,255,0.08); }
.he-table { width:100%; border-collapse: collapse; }
.he-table th, .he-table td { padding:10px 12px; border-bottom:1px solid rgba(255,255,255,0.08); font-size:.95rem; }
.he-table thead th { background: rgba(255,255,255,0.06); text-align:left; font-weight:700; }
.he-table tbody tr:hover { background: rgba(255,255,255,0.03); }

/* Partner-Dashboard: 4-Spalten Grid wie im Shop, aber stabil */
.he-archive--pd .products.columns-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--he-gap, 24px);
  /* entfernt evtl. Woo-Listen-Styles */
  list-style: none;
  margin: 0;
  padding: 0;
}
.he-archive--pd .products.columns-4 > li.product {
  width: auto !important;      /* überschreibt evtl. Flex-Breiten */
  margin: 0 !important;
}
.he-archive--pd .he-card .he-cat-badge {
  display: inline-block;
  margin-top: .25rem;
}
.he-archive--pd .he-org-badge { opacity: .9; }
.he-archive--pd .he-badge-cat { opacity: .8; }

/* Container: zentriert + Abstand nach oben */
.he-pagination,
.woocommerce-pagination.he-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--he-pg-gap);
  margin-top: 28px;                 /* gewünschter Abstand oben */
  text-align: center;
  flex-wrap: wrap;                   /* bricht auf kleinen Screens um */
}

/* Reset, falls Woo eine UL nutzt – dein Markup nutzt <a> direkt */
.he-pagination .page-numbers {
  list-style: none;
}

/* Links & Spans einheitlich gestalten (auch .current, .dots) */
.he-pagination .page-numbers,
.woocommerce-pagination.he-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--he-pg-min-size);
  height: var(--he-pg-min-size);
  padding: var(--he-pg-padding-y) var(--he-pg-padding-x);
  border-radius: var(--he-pg-radius);
  border: 1px solid var(--he-pg-border);
  background: var(--he-pg-bg);
  color: var(--he-pg-color);
  font-size: var(--he-pg-font-size);
  line-height: 1;
  text-decoration: none;
  box-shadow: var(--he-pg-shadow);
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .06s ease-out;
}

/* Hover: klarer, aber subtil */
.he-pagination a.page-numbers:hover {
  background: var(--he-pg-hover-bg);
}

/* Active/Current (Woo setzt .current; du setzt zusätzlich .is-active) */
.he-pagination .page-numbers.current,
.he-pagination .page-numbers.is-active {
  background: var(--he-pg-active-bg);
  color: var(--he-pg-active-color);
  border-color: var(--he-pg-active-bg);
  cursor: default;
}

/* Pfeile (prev/next), falls vorhanden */
.he-pagination a.prev,
.he-pagination a.next {
  padding-inline: 16px;
}

/* Tastaturzugänglichkeit */
.he-pagination a.page-numbers:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

/* Leichtes "Tap"-Feedback */
.he-pagination a.page-numbers:active {
  transform: translateY(1px);
}

/* ============================================================
   Heimaterleben – ET+ "Deine Tickets" (Danke-Seite)
   Dark Theme Overrides mit hoher Spezifität
   Wrappers: .woocommerce.he-woo-process .he-ty__tickets-block
   ============================================================ */

.woocommerce.he-woo-process .he-ty__tickets-block{
  margin: 25px 0 !important;
}

/* Äußerer Tickets-Wrapper als HE-Card */
.woocommerce.he-woo-process .he-ty__tickets-block .tec-tickets__attendees-list-wrapper{
  background: var(--he-card-bg, #14181f) !important;
  color: var(--he-text, #f2f3f5) !important;
  border: 1px solid var(--he-border, rgba(255,255,255,.08)) !important;
  border-radius: var(--he-radius, 16px) !important;
  padding: var(--he-gap, 24px) !important;
  box-shadow: var(--he-card-shadow, 0 10px 30px rgba(0,0,0,.35)) !important;
  margin: 0 !important;
}

/* ET+ / Tribe "Card"-Defaults neutralisieren */
.woocommerce.he-woo-process .he-ty__tickets-block .tribe-common-c-card,
.woocommerce.he-woo-process .he-ty__tickets-block .tribe-common--card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Headline angleichen */
.woocommerce.he-woo-process .he-ty__tickets-block .tribe-common{ font-family: inherit !important; }
.woocommerce.he-woo-process .he-ty__tickets-block .tribe-common-h4{
  color: var(--he-text, #f2f3f5) !important;
  margin: 0 0 16px !important;
  font-weight: 700 !important;
}

/* Liste als ruhiges Grid */
.woocommerce.he-woo-process .he-ty__tickets-block .tec-tickets__attendees-list{
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Einzel-Item als dunkle Mini-Card */
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__attendees-list .tec-tickets__attendees-list-item{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 14px 16px !important;
  background: var(--he-card-bg, #14181f) !important;    /* kein Weiß */
  color: var(--he-text, #f2f3f5) !important;
  border: 2px solid var(--he-border, rgba(255,255,255,.08)) !important;
  box-shadow: none !important;
}

/* Sicherheit: alle unmittelbaren Kinder ohne helle Hintergründe */
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__attendees-list .tec-tickets__attendees-list-item > *{
  background: transparent !important;
}

/* Typografie im Item */
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__attendees-list-item-attendee-details-name{
  color: var(--he-text, #f2f3f5) !important;
}
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__attendees-list-item-attendee-details-ticket{
  color: var(--he-text-muted, #c7c9ce) !important;
  margin-top: 4px !important;
}
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__attendees-list-item-attendee-details-ticket .amount{
  color: var(--he-text, #f2f3f5) !important;
  font-weight: 600 !important;
}

/* Button-Container rechts */
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__wallet-plus-passes-container{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-self: end !important;
  background: transparent !important;
  margin: 0 !important;
}

/* PDF-Button -> wie HE-Outline-Button */
.woocommerce.he-woo-process .he-ty__tickets-block
a.tec-tickets__wallet-plus-component-pdf-button-link{
  /* ET+ setzt .tribe-common-c-btn-border – wir übersteuern direkt den spezifischen Link */
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 16px !important;
  border-radius: var(--he-radius, 16px) !important;
  border: 1px solid var(--he-accent, #1872a6) !important;
  color: var(--he-accent, #1872a6) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  transition: background .15s ease, color .15s ease, transform .05s ease, border-color .15s ease !important;
}
.woocommerce.he-woo-process .he-ty__tickets-block
a.tec-tickets__wallet-plus-component-pdf-button-link:hover{
  background: var(--he-accent, #1872a6) !important;
  color: var(--he-text, #f2f3f5) !important;
}
.woocommerce.he-woo-process .he-ty__tickets-block
a.tec-tickets__wallet-plus-component-pdf-button-link:active{
  transform: translateY(1px) !important;
}

/* Apple-Wallet Badge: Größe/Alignment, Original-Asset beibehalten */
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__wallet-plus-component-apple-wallet-button-link{
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}
.woocommerce.he-woo-process .he-ty__tickets-block
.tec-tickets__wallet-plus-component-apple-wallet-button-image{
  height: 36px !important;
  display: block !important;
}

/* Responsiv: Buttons unter Text */
@media (max-width: 640px){
  .woocommerce.he-woo-process .he-ty__tickets-block
  .tec-tickets__attendees-list .tec-tickets__attendees-list-item{
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .woocommerce.he-woo-process .he-ty__tickets-block
  .tec-tickets__wallet-plus-passes-container{
    justify-self: start !important;
  }
}



/* Kleinere Bildschirme: kompakter */
@media (max-width: 480px) {
  :root {
    --he-pg-min-size: 36px;
    --he-pg-font-size: 14px;
    --he-pg-gap: 8px;
  }
}

/* (Optional) Dark Mode – falls euer Theme prefers-color-scheme nutzt */
@media (prefers-color-scheme: dark) {
  :root {
    --he-pg-color: #e5e7eb;
    --he-pg-bg: #111827;
    --he-pg-border: #374151;
    --he-pg-hover-bg: #1f2937;
    --he-pg-active-bg: #2563eb;
    --he-pg-active-color: #ffffff;
    --he-pg-shadow: 0 1px 2px rgba(0,0,0,.2);
  }
}


/* ============ Utilities / bestehende Tokens nutzen ============ */

:root{
  --he-gap: 24px;
  --he-text: #f2f3f5;
}

/* === HE – Submenü (Desktop: fixer Balken) ============================ */
:root{
  --he-submenu-top: 0px;
  --he-submenu-arrow-x: 50vw;
}

@media (min-width: 992px){
  nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown{
    position: fixed !important;
    inset: var(--he-submenu-top) 0 auto 0;
    width: 100vw !important;
    height: 60px;
    display: none !important;            /* nur bei .is-open sichtbar */
    align-items: center;
    gap: 24px;
    padding: 0 24px;
    background: #0f1216;                 /* dunkler Balken */
    color: #f2f3f5;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
    z-index: 9999;
  }
	nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a, nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a.elementor-sub-item {
		font-weight: 500!important;
	}
  /* Sichtbar, wenn Parent offen ist */
  nav.elementor-nav-menu--main li.menu-item-has-children.is-open
  > ul.sub-menu.elementor-nav-menu--dropdown{
    display: flex !important;
  }

  /* kleiner Pfeil unter dem Parent-Link */
  nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown::before{
    content:"";
    position: fixed;
    top: calc(var(--he-submenu-top) - 8px);
    left: calc(var(--he-submenu-arrow-x) - 8px);
    width: 16px; height: 16px;
    transform: rotate(45deg);
    border-left: 1px solid rgba(255,255,255,.08);
    border-top: 1px solid rgba(255,255,255,.08);
    z-index: 10000;
  }

  /* Links im Balken */
  nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a{
    color: inherit;
    text-decoration: none;
    padding: 8px 10px;
    border-radius: 8px;
  }
  nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a:hover,
  nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown a:focus{
    background: rgba(255,255,255,.06);
  }

  /* Elementor-eigene Dropdown-Caret ggf. ausblenden */
  nav.elementor-nav-menu--main .elementor-nav-menu--dropdown::after{ display:none; }
}

/* Mobile/Tablet: keine Overrides – Elementor/SmartMenus übernimmt */
@media (max-width: 991.98px){
  nav.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown{
    position: static !important;
    width: auto !important;
    height: auto !important;
    display: none; /* Standardverhalten */
  }
}

/* =========================================================
   HE – Checkout Live-Validation (Woo)
   Zustände: .is-pristine | .is-valid | .is-invalid | .is-optional
   (vereinheitlicht auf Scope: .he-woo-process)
   ========================================================= */

/* Grundzustand für validierbare Felder */
.he-woo-process .he-field {
  box-sizing: border-box;
  border-radius: 10px;
  transition: border-color .15s ease, box-shadow .15s ease;
}

/* Basis-Styles für Eingaben im Checkout */
.he-woo-process input[type="text"],
.he-woo-process input[type="email"],
.he-woo-process input[type="tel"],
.he-woo-process input[type="password"],
.he-woo-process input[type="number"],
.he-woo-process textarea,
.he-woo-process select {
  border: 3px solid var(--he-border, rgba(255,255,255,.12));
  background: var(--he-bg-soft, #15191e);
  color: var(--he-text, #f2f3f5);
  border-radius: 10px;
  min-height: 44px;
  width: 100%;
}

/* Optional (immer neutral grau) */
.he-woo-process .he-field.is-optional {
  border: 3px solid rgba(255,255,255,.18);
}

/* Pristine (noch nicht berührt): neutral grau) */
.he-woo-process .he-field.is-pristine {
  border: 3px solid rgba(255,255,255,.18);
}

/* Valid: hellgrün */
.he-woo-process .he-field.is-valid {
  border: 3px solid #6edc82;
}

/* Invalid: rot */
.he-woo-process .he-field.is-invalid {
  border: 3px solid #ff5a5f;
}

/* Fokus-Ring soll sichtbar bleiben – NICHT durch Rahmen überstrahlen */
.he-woo-process .he-field:focus {
  outline: 2px solid rgba(255,255,255,.35);
  outline-offset: 2px;
}

/* Fehltext unter dem Feld */
.he-woo-process .he-field__error {
  margin-top: 6px;
  color: #ff8b8f;
  font-size: .92rem;
  line-height: 1.25;
}

/* Minimaler Abstand zwischen Form-Row und unserem Input-Rahmen */
.he-woo-process .form-row {
  margin-bottom: 14px;
}

/* Select2 (Land-Auswahl) sichtbar einfärben */
.he-woo-process .select2-container--default .select2-selection--single {
  background: var(--he-bg-soft, #15191e);
  border: 3px solid rgba(255,255,255,.18);
  border-radius: 10px;
  min-height: 44px;
}
.he-woo-process .select2-container--default .select2-selection--single.is-valid {
  border-color: #6edc82;
}
.he-woo-process .select2-container--default .select2-selection--single.is-invalid {
  border-color: #ff5a5f;
}
/* Pflichtfelder dezent vorab markieren (linker Inset-Streifen) */
.he-woo-process .form-row.validate-required .he-input {
  /* schmaler Akzent-Streifen links im Feld */
  box-shadow: inset 4px 0 0 rgba(24,114,166,.35);
}

/* beim Fokus etwas deutlicher */
.he-woo-process .form-row.validate-required .he-input:focus {
  box-shadow: inset 4px 0 0 rgba(24,114,166,.55);
}

/* Zustände haben Vorrang – Streifen bleibt als dezenter Pflicht-Hinweis bestehen.
   Falls du ihn bei INVALID ausblenden möchtest, nimm die nächste Regel dazu: */
/* .he-woo-process .form-row.validate-required .he-input.is-invalid { box-shadow: none; } */


