:root{
  --tg-bg:#2b2b2b;
  --tg-panel:rgba(60,60,60,.78);
  --tg-form:rgba(52,52,52,.82);

  --tg-ink:#f2f2f2;
  --tg-ink2:#d0d0d0;

  --tg-gold:#C8A24A;
  --tg-gold2:#B8902E;

  --tg-line:rgba(255,255,255,.14);
  --tg-line2:rgba(0,0,0,.20);

  --tg-shadow:0 18px 60px rgba(0,0,0,.40);
  --tg-radius:18px;

  --tg-field-bg: rgba(245,245,245,.88);
  --tg-field-bg2: rgba(235,235,235,.92);
  --tg-field-border: rgba(0,0,0,.22);
  --tg-field-text: #111;
  --tg-field-ph: rgba(0,0,0,.48);
}

/* =========================
   GLOBAL / RESET (hart gegen Theme)
   ========================= */
.tg-dark{
  color:var(--tg-ink) !important;
  font-family:system-ui, Arial, sans-serif !important;
}
.tg-dark, .tg-dark *{
  box-sizing:border-box !important;
}

/* Panel / Wrapper */
.tg-panel{
  background:var(--tg-panel) !important;
  border:1px solid var(--tg-line) !important;
  border-radius:var(--tg-radius) !important;
  box-shadow:var(--tg-shadow) !important;
  padding:22px !important;
}
.tg-muted{ color:var(--tg-ink2) !important; }

.tg-form-wrap{
  max-width:1100px !important;
  margin:40px auto !important;
  padding:20px !important;
}

/* Headings */
.tg-form-head h2{
  margin:0 0 8px !important;
  font-size:28px !important;
  color:var(--tg-ink) !important;
}
.tg-form-head p{
  margin:0 0 20px !important;
  color:var(--tg-ink2) !important;
}

/* Form */
.tg-form{
  background:var(--tg-form) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:var(--tg-radius) !important;
  padding:24px !important;
}

/* Grid */
.tg-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:16px !important;
}
@media (max-width:860px){
  .tg-grid{ grid-template-columns:1fr !important; }
}

/* =========================
   LABELS
   ========================= */
.tg-dark .tg-field label{
  display:block !important;
  font-weight:900 !important;
  margin-bottom:7px !important;
  font-size:13px !important;
  letter-spacing:.2px !important;
  color:rgba(255,255,255,.92) !important;
  text-shadow:0 1px 0 rgba(0,0,0,.35) !important;
}

/* Help Text */
.tg-help{
  font-size:12px !important;
  color:rgba(255,255,255,.72) !important;
  margin-top:6px !important;
}

/* Inline */
.tg-inline-2{
  display:grid !important;
  grid-template-columns:1fr 150px !important;
  gap:10px !important;
}
.tg-field-wide{ grid-column:1/-1 !important; }

/* =========================
   INPUTS / TEXTAREA / SELECT
   ========================= */
.tg-dark .tg-field input[type="text"],
.tg-dark .tg-field input[type="number"],
.tg-dark .tg-field input[type="tel"],
.tg-dark .tg-field input[type="email"],
.tg-dark .tg-field textarea{
  width:100% !important;
  border-radius:14px !important;
  border:1px solid var(--tg-field-border) !important;
  background: var(--tg-field-bg) !important;
  color: var(--tg-field-text) !important;
  padding:11px 12px !important;
  outline:none !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.14) !important;
}

.tg-dark .tg-field textarea{
  min-height:140px !important;
  resize:vertical !important;
}

/* Placeholder */
.tg-dark .tg-field input::placeholder,
.tg-dark .tg-field textarea::placeholder{
  color: var(--tg-field-ph) !important;
}

/* Focus */
.tg-dark .tg-field input:focus,
.tg-dark .tg-field textarea:focus,
.tg-dark .tg-field select:focus{
  border-color: rgba(200,162,74,.95) !important;
  box-shadow: 0 0 0 4px rgba(200,162,74,.18), 0 12px 26px rgba(0,0,0,.16) !important;
}

/* SELECT */
.tg-dark .tg-field select{
  width:100% !important;
  border-radius:14px !important;
  border:1px solid var(--tg-field-border) !important;
  background: var(--tg-field-bg) !important;
  color: var(--tg-field-text) !important;
  padding:11px 44px 11px 12px !important;
  outline:none !important;

  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;

  background-image:
    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.75) 50%),
    linear-gradient(135deg, rgba(0,0,0,.75) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size:6px 6px, 6px 6px !important;
  background-repeat:no-repeat !important;
}

.tg-dark .tg-field select option{
  background:#f0f0f0 !important;
  color:#111 !important;
}

/* =========================
   FILE INPUT  (KLEINER!)
   ========================= */
.tg-dark .tg-field input[type="file"]{
  width:100% !important;
  border-radius:14px !important;
  border:1px solid var(--tg-field-border) !important;
  background: var(--tg-field-bg2) !important;
  color: var(--tg-field-text) !important;

  padding:8px 10px !important;
  font-size:13px !important;
  line-height:1.2 !important;

  box-shadow: 0 10px 22px rgba(0,0,0,.14) !important;
}

/* Chrome/Edge/Safari */
.tg-dark .tg-field input[type="file"]::file-selector-button{
  border:none !important;
  border-radius:10px !important;
  padding:7px 10px !important;
  margin-right:10px !important;

  cursor:pointer !important;
  font-weight:800 !important;
  font-size:12.5px !important;
  line-height:1.1 !important;

  color:#111 !important;
  background: linear-gradient(180deg, var(--tg-gold), var(--tg-gold2)) !important;
  box-shadow: 0 8px 16px rgba(0,0,0,.16) !important;
}
.tg-dark .tg-field input[type="file"]::file-selector-button:hover{
  filter:brightness(1.06) !important;
}

/* Firefox Fallback */
.tg-dark .tg-field input[type="file"]::-moz-file-upload-button{
  border:none !important;
  border-radius:10px !important;
  padding:7px 10px !important;
  margin-right:10px !important;
  cursor:pointer !important;
  font-weight:800 !important;
  font-size:12.5px !important;
  line-height:1.1 !important;
  color:#111 !important;
  background: linear-gradient(180deg, var(--tg-gold), var(--tg-gold2)) !important;
  box-shadow: 0 8px 16px rgba(0,0,0,.16) !important;
}

/* =========================
   CHECKBOXES (GLOBAL FIX!)
   ========================= */
.tg-dark input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  padding:0 !important;
  flex:none !important;
  cursor:pointer !important;
  accent-color: var(--tg-gold) !important;
}

.tg-dark .tg-checkline,
.tg-dark .tg-privacy,
.tg-dark .tg-field .tg-checkline,
.tg-dark .tg-field label.tg-checkline{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  color:rgba(255,255,255,.92) !important;
  font-weight:800 !important;
}

/* Datenschutz Link */
.tg-privacy a{
  color:var(--tg-gold) !important;
  text-decoration:none !important;
  font-weight:900 !important;
}
.tg-privacy a:hover{
  text-decoration:underline !important;
}

/* =========================
   BUTTONS
   ========================= */
.tg-form-actions{
  display:flex !important;
  gap:12px !important;
  margin-top:18px !important;
  flex-wrap:wrap !important;
}

.tg-btn{
  border-radius:14px !important;
  padding:11px 16px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.92) !important;
  font-weight:900 !important;
  cursor:pointer !important;
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease !important;
}
.tg-btn:hover{ transform: translateY(-1px) !important; filter:brightness(1.06) !important; }
.tg-btn:active{ transform: translateY(0) !important; }

.tg-btn-gold{
  background: linear-gradient(180deg, var(--tg-gold), var(--tg-gold2)) !important;
  border-color: rgba(255,255,255,.18) !important;
  color:#111 !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.25) !important;
}

.tg-btn-ghost{
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.90) !important;
}

/* =========================
   BADGES / ICONS  (KOMPLETT AUS!)
   ========================= */
.tg-badge-btn{
  display:none !important;
}

.tg-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:center !important;
}
/* Thumbs (Edit-Form existing gallery) */
.tg-thumbs{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.tg-thumb img{
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.14) !important;
}

/* ================================
   TG Gallery Slider (Single Listing) - FIXED
==================================*/
.tg-gallery{margin:0 0 18px}
.tg-gallery-main{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03)
}

/* ✅ Wichtig: Nur 1 Slide sichtbar */
.tg-gallery-slide{display:none !important}
.tg-gallery-slide.is-active{display:block !important}
.tg-gallery-slide img{
  width:100%;
  height:auto;
  display:block;
  max-height:640px;
  object-fit:cover
}

.tg-gallery-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.tg-gallery-thumb{
  width:92px;
  height:62px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  padding:0;
  cursor:pointer
}
.tg-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tg-gallery-thumb.is-active{
  border-color:rgba(212,175,55,.55);
  box-shadow:0 0 0 3px rgba(212,175,55,.12)
}

/* Prev/Next Buttons */
.tg-gbtn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.28);
  color:#fff;
  font-size:26px;
  line-height:42px;
  font-weight:900;
  cursor:pointer;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter: blur(6px);
}
.tg-gbtn:hover{filter:brightness(1.08)}
.tg-prev{left:10px}
.tg-next{right:10px}

@media(max-width:700px){
  .tg-gallery-thumb{width:72px;height:52px}
  .tg-gallery-slide img{max-height:420px}
  .tg-gbtn{width:40px;height:40px;font-size:24px;line-height:38px}
}


/* ===== Single Fahrzeug: zentriert / responsive + Favorit/Angebot ===== */
.tg-single-wrap{
  max-width: 1280px;
  margin: 0 auto;
  padding: 22px 16px;
}
.tg-single-grid{
  display:grid;
  grid-template-columns: 1.6fr .9fr;
  gap: 22px;
  align-items:start;
}
.tg-titlebar{
  display:flex;
  flex-wrap:wrap;
  gap: 10px 12px;
  align-items:center;
  justify-content:space-between;
  margin: 6px 0 14px;
}
.tg-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.tg-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--tg-line);
  background: rgba(0,0,0,.22);
  color: var(--tg-ink);
  font-size: 13px;
  line-height: 1;
}
.tg-badge-offer{
  border-color: rgba(200,162,74,.55);
}
.tg-badge-link{
  text-decoration:none !important;
}
.tg-badge-link:hover{
  border-color: rgba(200,162,74,.8);
}
@media (max-width: 980px){
  .tg-single-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  .tg-single-wrap{ padding: 14px 12px; }
  .tg-titlebar{ justify-content:flex-start; }
  .tg-badge{ padding: 9px 12px; font-size: 14px; }
}



/* ===== Detailseite: Angebot + Favorit (edel, Schwarz/Gold) ===== */
.tg-single-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin: 0 0 14px;
}
.tg-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  color:#f2f2f2;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
  line-height:1;
}
.tg-pill-offer{
  border-color: rgba(200,162,74,.55);
  background: rgba(200,162,74,.10);
}
.tg-pill-fav{
  border-color: rgba(200,162,74,.55);
  background: rgba(200,162,74,.14);
}
.tg-pill-fav:hover{ filter: brightness(1.06); }


/* ===== Tabs Icons: modern, monochrome (no emoji) ===== */
.tg-tab-ico{
  width:18px;height:18px;display:inline-block;flex:0 0 18px;
  margin-right:10px;
  background-color: rgba(17,17,17,.92);
  mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat;
  mask-position:center; -webkit-mask-position:center;
  mask-size:contain; -webkit-mask-size:contain;
  opacity:.9;
}
.tg-tab.is-active .tg-tab-ico{ background-color:#111; opacity:1; }
.tg-tab[data-kind="all"] .tg-tab-ico{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h7v7H4V4zm9 0h7v7h-7V4zM4 13h7v7H4v-7zm9 0h7v7h-7v-7z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h7v7H4V4zm9 0h7v7h-7V4zM4 13h7v7H4v-7zm9 0h7v7h-7v-7z'/%3E%3C/svg%3E");
}
.tg-tab[data-kind="car"] .tg-tab-ico{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 11l1.6-4.2A2 2 0 0 1 8.5 5h7a2 2 0 0 1 1.9 1.8L19 11v7h-2v-2H7v2H5v-7zm3.3-4h7.4l.9 2.5H7.4L8.3 7zM7.5 13.5A1.5 1.5 0 1 0 7.5 16a1.5 1.5 0 0 0 0-2.5zm9 0A1.5 1.5 0 1 0 16.5 16a1.5 1.5 0 0 0 0-2.5z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 11l1.6-4.2A2 2 0 0 1 8.5 5h7a2 2 0 0 1 1.9 1.8L19 11v7h-2v-2H7v2H5v-7zm3.3-4h7.4l.9 2.5H7.4L8.3 7zM7.5 13.5A1.5 1.5 0 1 0 7.5 16a1.5 1.5 0 0 0 0-2.5zm9 0A1.5 1.5 0 1 0 16.5 16a1.5 1.5 0 0 0 0-2.5z'/%3E%3C/svg%3E");
}
.tg-tab[data-kind="utility"] .tg-tab-ico{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 7h12v10H3V7zm13 3h3l2 2v5h-5V10zm-9 8a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0-3zm10 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 7h12v10H3V7zm13 3h3l2 2v5h-5V10zm-9 8a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0-3zm10 0a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0-3z'/%3E%3C/svg%3E");
}
.tg-tab[data-kind="bike"] .tg-tab-ico{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 17a4 4 0 1 1 3.9-5h2.2l1.4-2H18v2h-2.1l-2.2 3H10.9A4 4 0 0 1 7 17zm13 0a4 4 0 1 1-3.9-5H18l-1-2h-3V8h4l2 4h.1A4 4 0 0 1 20 17z'/%3E%3C/svg%3E");
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 17a4 4 0 1 1 3.9-5h2.2l1.4-2H18v2h-2.1l-2.2 3H10.9A4 4 0 0 1 7 17zm13 0a4 4 0 1 1-3.9-5H18l-1-2h-3V8h4l2 4h.1A4 4 0 0 1 20 17z'/%3E%3C/svg%3E");
}



/* =========================================================
   TG PROFESSIONAL SEARCH CARDS + ARCHIVE CARDS
   ========================================================= */

/* Suchtreffer unter dem Suchformular */
.tauschgarage-search [data-tg-list]{
  display:grid !important;
  gap:14px !important;
}

.tauschgarage-search .tg-card--link{
  display:grid !important;
  grid-template-columns:128px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:stretch !important;
  text-decoration:none !important;
  color:inherit !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.tauschgarage-search .tg-card--link:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(200,162,74,.42) !important;
  box-shadow:0 18px 38px rgba(0,0,0,.28) !important;
}
.tauschgarage-search .tg-card-img{
  position:relative !important;
  min-height:118px !important;
  background:#111 !important;
}
.tauschgarage-search .tg-card-img img,
.tauschgarage-search .tg-card-noimg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.tauschgarage-search .tg-card-img img{
  object-fit:cover !important;
}
.tauschgarage-search .tg-card-noimg{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.66) !important;
  font-weight:700 !important;
}
.tauschgarage-search .tg-card-body{
  min-width:0 !important;
  padding:12px 14px 12px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:10px !important;
}
.tauschgarage-search .tg-card-title{
  font-size:24px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#fff !important;
}
.tauschgarage-search .tg-card-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
.tauschgarage-search .tg-pill{
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:8px 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(10,10,10,.32) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.tauschgarage-search .tg-pill-offer{
  border-color:rgba(200,162,74,.62) !important;
  background:rgba(200,162,74,.12) !important;
}
.tauschgarage-search .tg-pill-price{
  border-color:rgba(200,162,74,.52) !important;
  background:rgba(255,255,255,.06) !important;
}
.tauschgarage-search .tg-card-link{ display:none !important; }

@media (max-width: 760px){
  .tauschgarage-search .tg-card--link{
    grid-template-columns:96px minmax(0,1fr) !important;
    gap:12px !important;
  }
  .tauschgarage-search .tg-card-img{ min-height:96px !important; }
  .tauschgarage-search .tg-card-body{ padding:10px 12px 10px 0 !important; }
  .tauschgarage-search .tg-card-title{ font-size:18px !important; }
  .tauschgarage-search .tg-pill{ min-height:30px !important; padding:7px 10px !important; font-size:12px !important; }
}

/* Archiv /fahrzeuge/ – Kacheln behalten, aber hochwertiger */
.post-type-archive-tg_fahrzeug .ast-archive-posts-container{
  gap:24px !important;
}
.post-type-archive-tg_fahrzeug .ast-archive-post{
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.22) !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.post-type-archive-tg_fahrzeug .ast-archive-post:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(200,162,74,.38) !important;
  box-shadow:0 22px 42px rgba(0,0,0,.28) !important;
}
.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumb img,
.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumbnail img,
.post-type-archive-tg_fahrzeug .ast-archive-post .entry-image img{
  width:100% !important;
  height:240px !important;
  object-fit:cover !important;
  display:block !important;
  background:#0f0f0f !important;
}
.post-type-archive-tg_fahrzeug .entry-header,
.post-type-archive-tg_fahrzeug .entry-content,
.post-type-archive-tg_fahrzeug .entry-summary{
  padding-left:18px !important;
  padding-right:18px !important;
}
.post-type-archive-tg_fahrzeug .entry-title a{
  color:#fff !important;
}
.post-type-archive-tg_fahrzeug .tg-archive-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:12px 0 8px !important;
}
.post-type-archive-tg_fahrzeug .tg-archive-badge{
  display:inline-flex !important;
  align-items:center !important;
  min-height:32px !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(0,0,0,.22) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.post-type-archive-tg_fahrzeug .tg-archive-badge--offer{
  border-color:rgba(200,162,74,.58) !important;
  background:rgba(200,162,74,.12) !important;
}
.post-type-archive-tg_fahrzeug .tg-archive-badge--price{
  border-color:rgba(255,255,255,.18) !important;
}


/* ===== Suchtreffer: Beschreibungsauszug ===== */
.tg-card-excerpt{
  margin-top:10px;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}


/* =========================================================
   SEARCH UI FINAL OVERRIDES - AUFGERÄUMT & PROFESSIONELL
   ========================================================= */

.tauschgarage-search{
  width:100% !important;
}

.tauschgarage-search .tg-panel{
  width:100% !important;
  max-width:1220px !important;
  margin:0 auto !important;
  padding:24px !important;
}

.tauschgarage-search .tg-titleblock{
  margin-bottom:18px !important;
}

.tauschgarage-search .tg-title{
  margin:0 0 8px !important;
  font-size:32px !important;
  line-height:1.1 !important;
  color:#fff !important;
}

.tauschgarage-search .tg-sub{
  margin:0 !important;
  color:rgba(255,255,255,.82) !important;
  font-size:16px !important;
  line-height:1.42 !important;
}

.tauschgarage-search .tg-shell,
.tauschgarage-search .tg-formwrap,
.tauschgarage-search .tg-form{
  width:100% !important;
}

/* Tabs / Banner */
.tauschgarage-search .tg-tabs{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin:0 0 16px !important;
}

.tauschgarage-search .tg-tab{
  min-height:54px !important;
  padding:9px 14px !important;
  gap:11px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:15px !important;
  border:1px solid rgba(200,162,74,.30) !important;
  background:linear-gradient(180deg, rgba(219,177,87,.96), rgba(198,150,56,.96)) !important;
  color:#111 !important;
  font-weight:900 !important;
  font-size:13px !important;
  line-height:1 !important;
  text-align:center !important;
  white-space:normal !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 8px 18px rgba(0,0,0,.16) !important;
  transition:
    transform .14s ease,
    filter .14s ease,
    box-shadow .14s ease,
    border-color .14s ease !important;
}

.tauschgarage-search .tg-tab:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.04) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 12px 24px rgba(0,0,0,.20) !important;
}

.tauschgarage-search .tg-tab.is-active{
  border-color:rgba(255,255,255,.32) !important;
  background:linear-gradient(180deg, rgba(230,191,102,1), rgba(211,160,69,1)) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    inset 0 1px 0 rgba(255,255,255,.22),
    0 12px 26px rgba(0,0,0,.22) !important;
}

.tauschgarage-search .tg-tab-ico{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  margin:0 !important;
  opacity:1 !important;
  background-color:#111 !important;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.12)) !important;
}

.tauschgarage-search .tg-tab-txt{
  display:block !important;
  font-size:12px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:.15px !important;
  overflow-wrap:anywhere !important;
}

/* Formular */
.tauschgarage-search .tg-form{
  padding:20px !important;
  border-radius:22px !important;
}

/* Reihenfolge optisch: Suche – Marke – Typ/Filter – EZ von – EZ bis – PLZ – Umkreis */
.tauschgarage-search .tg-grid{
  display:grid !important;
  grid-template-columns:
    minmax(0,2.45fr)
    minmax(0,1.2fr)
    minmax(0,1.15fr)
    minmax(0,.9fr)
    minmax(0,.9fr)
    minmax(0,.85fr)
    minmax(0,1fr) !important;
  gap:14px !important;
  align-items:end !important;
  width:100% !important;
}

.tauschgarage-search .tg-w-search{ order:1 !important; }
.tauschgarage-search .tg-w-marke{ order:2 !important; }
.tauschgarage-search .tg-w-typ{ order:3 !important; }
.tauschgarage-search .tg-w-year{ order:4 !important; }
.tauschgarage-search .tg-w-plz{ order:5 !important; }
.tauschgarage-search .tg-w-radius{ order:6 !important; }

.tauschgarage-search .tg-field{
  min-width:0 !important;
}

.tauschgarage-search .tg-field label{
  display:block !important;
  margin:0 0 8px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.15px !important;
  color:rgba(255,255,255,.92) !important;
  font-weight:900 !important;
}

.tauschgarage-search .tg-field input,
.tauschgarage-search .tg-field select{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:54px !important;
  min-height:54px !important;
  padding:0 15px !important;
  border-radius:15px !important;
  border:1px solid rgba(0,0,0,.18) !important;
  background:rgba(248,248,248,.96) !important;
  color:#111 !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:52px !important;
  text-overflow:ellipsis !important;
  box-shadow:0 8px 18px rgba(0,0,0,.12) !important;
}

.tauschgarage-search .tg-field input::placeholder{
  color:rgba(0,0,0,.52) !important;
}

.tauschgarage-search .tg-field select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  padding:0 44px 0 15px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.72) 50%),
    linear-gradient(135deg, rgba(0,0,0,.72) 50%, transparent 50%) !important;
  background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50% !important;
  background-size:6px 6px, 6px 6px !important;
  background-repeat:no-repeat !important;
}

.tauschgarage-search .tg-field select option{
  color:#111 !important;
  background:#fff !important;
}

.tauschgarage-search .tg-field input:focus,
.tauschgarage-search .tg-field select:focus{
  border-color:rgba(200,162,74,.95) !important;
  box-shadow:0 0 0 4px rgba(200,162,74,.18), 0 14px 28px rgba(0,0,0,.16) !important;
}

.tauschgarage-search .tg-actions{
  order:7 !important;
  grid-column:1 / -1 !important;
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:2px !important;
}

.tauschgarage-search .tg-actions .tg-btn{
  min-height:50px !important;
  padding:12px 18px !important;
  border-radius:15px !important;
  font-size:14px !important;
}

.tauschgarage-search .tg-results-head{
  display:flex !important;
  align-items:end !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:20px 0 14px !important;
  padding:0 2px !important;
}

.tauschgarage-search .tg-results-title{
  color:#fff !important;
  font-size:28px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}

.tauschgarage-search .tg-results-count{
  color:rgba(255,255,255,.82) !important;
  font-size:16px !important;
  font-weight:700 !important;
}

.tauschgarage-search .tg-cards{
  display:grid !important;
  gap:16px !important;
}

.tauschgarage-search .tg-card--link{
  grid-template-columns:170px minmax(0,1fr) !important;
  gap:0 !important;
  min-height:170px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.05)) !important;
}

.tauschgarage-search .tg-card-img{
  min-height:170px !important;
  height:100% !important;
}

.tauschgarage-search .tg-card-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.tauschgarage-search .tg-card-body{
  padding:18px !important;
  gap:12px !important;
}

.tauschgarage-search .tg-card-title{
  margin:0 !important;
  font-size:30px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  word-break:break-word !important;
}

.tauschgarage-search .tg-card-meta{
  gap:10px !important;
}

.tauschgarage-search .tg-pill{
  min-height:36px !important;
  padding:8px 12px !important;
  font-size:13px !important;
}

.tauschgarage-search .tg-card-excerpt{
  margin-top:0 !important;
  font-size:16px !important;
  line-height:1.45 !important;
  color:rgba(255,255,255,.84) !important;
  -webkit-line-clamp:3 !important;
}

.tauschgarage-search .tg-empty{
  padding:18px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.04) !important;
  color:rgba(255,255,255,.84) !important;
}

.tauschgarage-search .tg-pager{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  margin-top:18px !important;
  flex-wrap:wrap !important;
}

.tauschgarage-search .tg-pagerbtn{
  min-height:46px !important;
  padding:10px 14px !important;
  border:none !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#dcb056,#c89b43) !important;
  color:#111 !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

.tauschgarage-search .tg-pagerinfo{
  color:rgba(255,255,255,.84) !important;
  font-weight:700 !important;
}

.tauschgarage-search .tg-loading{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.30) !important;
  z-index:9998 !important;
}

.tauschgarage-search.is-loading .tg-loading{
  display:flex !important;
}

.tauschgarage-search .tg-loadingbox{
  min-width:220px !important;
  padding:18px 20px !important;
  border-radius:18px !important;
  background:#2c2c2c !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 20px 50px rgba(0,0,0,.34) !important;
  text-align:center !important;
}

.tauschgarage-search .tg-loadingtxt{
  margin-top:10px !important;
  color:#fff !important;
  font-weight:800 !important;
}

/* Responsive */
@media (max-width: 1180px){
  .tauschgarage-search .tg-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  .tauschgarage-search .tg-w-search{
    grid-column:span 2 !important;
  }

  .tauschgarage-search .tg-w-marke,
  .tauschgarage-search .tg-w-typ,
  .tauschgarage-search .tg-w-year,
  .tauschgarage-search .tg-w-plz,
  .tauschgarage-search .tg-w-radius{
    grid-column:span 1 !important;
  }

  .tauschgarage-search .tg-actions{
    grid-column:1 / -1 !important;
  }
}

@media (max-width: 900px){
  .tauschgarage-search .tg-panel{
    padding:18px !important;
  }

  .tauschgarage-search .tg-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .tauschgarage-search .tg-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .tauschgarage-search .tg-w-search{
    grid-column:span 2 !important;
  }

  .tauschgarage-search .tg-actions{
    grid-column:1 / -1 !important;
  }
}

@media (max-width: 640px){
  .tauschgarage-search .tg-panel{
    padding:14px !important;
    border-radius:20px !important;
  }

  .tauschgarage-search .tg-title{
    font-size:26px !important;
  }

  .tauschgarage-search .tg-sub{
    font-size:14px !important;
  }

  .tauschgarage-search .tg-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
    margin-bottom:14px !important;
  }

  .tauschgarage-search .tg-tab{
    min-height:48px !important;
    padding:8px 8px !important;
    gap:8px !important;
    border-radius:13px !important;
    font-size:12px !important;
  }

  .tauschgarage-search .tg-tab-ico{
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
  }

  .tauschgarage-search .tg-tab-txt{
    font-size:10.8px !important;
    line-height:1.02 !important;
  }

  .tauschgarage-search .tg-form{
    padding:14px !important;
    border-radius:18px !important;
  }

  .tauschgarage-search .tg-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .tauschgarage-search .tg-w-search{
    grid-column:auto !important;
  }

  .tauschgarage-search .tg-field input,
  .tauschgarage-search .tg-field select{
    height:52px !important;
    min-height:52px !important;
    font-size:15px !important;
    line-height:50px !important;
  }

  .tauschgarage-search .tg-field select{
    padding:0 42px 0 14px !important;
    background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50% !important;
  }

  .tauschgarage-search .tg-actions{
    flex-direction:column !important;
    width:100% !important;
  }

  .tauschgarage-search .tg-actions .tg-btn{
    width:100% !important;
    justify-content:center !important;
  }

  .tauschgarage-search .tg-results-head{
    align-items:flex-start !important;
    flex-direction:column !important;
    margin:18px 0 12px !important;
  }

  .tauschgarage-search .tg-results-title{
    font-size:22px !important;
  }

  .tauschgarage-search .tg-results-count{
    font-size:15px !important;
  }

  .tauschgarage-search .tg-card--link{
    grid-template-columns:112px minmax(0,1fr) !important;
    min-height:142px !important;
    border-radius:18px !important;
  }

  .tauschgarage-search .tg-card-img{
    min-height:142px !important;
  }

  .tauschgarage-search .tg-card-body{
    padding:12px !important;
    gap:10px !important;
  }

  .tauschgarage-search .tg-card-title{
    font-size:18px !important;
    line-height:1.15 !important;
  }

  .tauschgarage-search .tg-card-meta{
    gap:8px !important;
  }

  .tauschgarage-search .tg-pill{
    min-height:30px !important;
    padding:6px 9px !important;
    font-size:11.5px !important;
  }

  .tauschgarage-search .tg-card-excerpt{
    font-size:13px !important;
    line-height:1.38 !important;
    -webkit-line-clamp:2 !important;
  }
}

@media (max-width: 390px){
  .tauschgarage-search .tg-tab{
    font-size:11.5px !important;
    min-height:46px !important;
    padding:8px 6px !important;
    gap:6px !important;
  }

  .tauschgarage-search .tg-tab-ico{
    width:18px !important;
    height:18px !important;
    flex:0 0 18px !important;
  }

  .tauschgarage-search .tg-tab-txt{
    font-size:10px !important;
  }

  .tauschgarage-search .tg-card--link{
    grid-template-columns:98px minmax(0,1fr) !important;
  }

  .tauschgarage-search .tg-card-img{
    min-height:132px !important;
  }

  .tauschgarage-search .tg-card-title{
    font-size:17px !important;
  }
}

.tg-single-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
  margin:0 0 14px !important;
}

.tg-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-weight:800 !important;
  font-size:14px !important;
  line-height:1 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
}

.tg-pill-offer{
  background:rgba(200,162,74,.16) !important;
  border-color:rgba(200,162,74,.45) !important;
  color:#f3d27a !important;
}

.tg-pill-fav{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#fff !important;
}

.tg-pill-fav:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.06) !important;
}

/* =========================================================
   MOBILE SEARCH CARDS 2-SPALTIG - FINAL OVERRIDE
   Hinweis: Für Baujahr in den Karten werden zusätzlich JS/PHP benötigt.
   ========================================================= */
@media (max-width: 640px){
  .tauschgarage-search .tg-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    align-items:start !important;
  }

  .tauschgarage-search .tg-card--link{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    min-height:auto !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.05)) !important;
  }

  .tauschgarage-search .tg-card-img{
    width:100% !important;
    min-height:0 !important;
    aspect-ratio: 1 / 1 !important;
    height:auto !important;
    background:#111 !important;
  }

  .tauschgarage-search .tg-card-img img,
  .tauschgarage-search .tg-card-noimg{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  .tauschgarage-search .tg-card-body{
    padding:10px 10px 12px !important;
    gap:7px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    min-width:0 !important;
  }

  .tauschgarage-search .tg-card-title{
    margin:0 !important;
    font-size:16px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    word-break:break-word !important;
  }

  .tauschgarage-search .tg-card-meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
  }

  .tauschgarage-search .tg-pill{
    min-height:24px !important;
    padding:4px 8px !important;
    font-size:11px !important;
    line-height:1 !important;
    border-radius:999px !important;
  }

  .tauschgarage-search .tg-card-meta .tg-pill:first-child{
    display:none !important;
  }

  .tauschgarage-search .tg-card-meta .tg-pill:nth-child(3){
    display:none !important;
  }

  .tauschgarage-search .tg-card-excerpt{
    margin-top:0 !important;
    font-size:12px !important;
    line-height:1.3 !important;
    color:rgba(255,255,255,.82) !important;
    -webkit-line-clamp:2 !important;
  }

  .tauschgarage-search .tg-results-head{
    margin:16px 0 10px !important;
  }

  .tauschgarage-search .tg-pager{
    gap:10px !important;
    margin-top:14px !important;
  }
}

@media (max-width: 390px){
  .tauschgarage-search .tg-cards{
    gap:8px !important;
  }

  .tauschgarage-search .tg-card--link{
    border-radius:16px !important;
  }

  .tauschgarage-search .tg-card-body{
    padding:9px 9px 11px !important;
    gap:6px !important;
  }

  .tauschgarage-search .tg-card-title{
    font-size:15px !important;
    line-height:1.12 !important;
  }

  .tauschgarage-search .tg-pill{
    min-height:22px !important;
    padding:4px 7px !important;
    font-size:10px !important;
  }

  .tauschgarage-search .tg-card-excerpt{
    font-size:11px !important;
  }
}
/* TG FIX – Floating Angebot / Favorit entfernen */
.tg-topbar-favoffer{
display:none !important;
}

.tg-single-badges{
position:static !important;
top:auto !important;
left:auto !important;
right:auto !important;
}
/* =========================================================
   TG ARCHIVE FIX FINAL
   Bild sauber + Karte per JS komplett klickbar
   ========================================================= */

.post-type-archive-tg_fahrzeug .ast-archive-post{
  position:relative !important;
  cursor:pointer !important;
}

.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumb,
.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumbnail,
.post-type-archive-tg_fahrzeug .ast-archive-post .entry-image,
.post-type-archive-tg_fahrzeug .ast-archive-post .ast-blog-featured-section{
  position:relative !important;
  overflow:hidden !important;
  border-top-left-radius:18px !important;
  border-top-right-radius:18px !important;
  aspect-ratio: 4 / 3 !important;
  background:#0f0f0f !important;
}

.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumb img,
.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumbnail img,
.post-type-archive-tg_fahrzeug .ast-archive-post .entry-image img,
.post-type-archive-tg_fahrzeug .ast-archive-post .ast-blog-featured-section img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  background:#0f0f0f !important;
}

.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumb a,
.post-type-archive-tg_fahrzeug .ast-archive-post .post-thumbnail a,
.post-type-archive-tg_fahrzeug .ast-archive-post .entry-title a{
  position:static !important;
  inset:auto !important;
  text-indent:0 !important;
  overflow:visible !important;
}

@media (max-width:640px){
  .post-type-archive-tg_fahrzeug .ast-archive-post .post-thumb,
  .post-type-archive-tg_fahrzeug .ast-archive-post .post-thumbnail,
  .post-type-archive-tg_fahrzeug .ast-archive-post .entry-image,
  .post-type-archive-tg_fahrzeug .ast-archive-post .ast-blog-featured-section{
    aspect-ratio: 4 / 3 !important;
  }
}


/* =========================================================
   TG NEWSLETTER PAGE – Premium Cards + Formular
   ========================================================= */
.tg-newsletter-section{
  max-width:1240px;
  margin:48px auto 60px;
  padding:0 20px 20px;
}
.tg-newsletter-intro{
  text-align:center;
  max-width:940px;
  margin:0 auto 34px;
}
.tg-newsletter-intro h2{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(30px,4vw,54px);
  line-height:1.06;
  font-weight:900;
  letter-spacing:-.02em;
  text-shadow:0 3px 18px rgba(0,0,0,.35);
}
.tg-newsletter-intro p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.7;
}
.tg-newsletter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:8px;
}
.tg-newsletter-card{
  position:relative;
  min-height:250px;
  padding:28px 26px 24px;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(200,162,74,.16), transparent 34%),
    radial-gradient(circle at bottom right, rgba(200,162,74,.08), transparent 28%),
    linear-gradient(180deg, rgba(20,20,20,.98), rgba(8,8,8,.98));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 38px rgba(200,162,74,.06),
    0 18px 38px rgba(0,0,0,.38);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.tg-newsletter-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  pointer-events:none;
  box-shadow:inset 0 0 70px rgba(255,215,130,.05);
}
.tg-newsletter-card::after{
  content:"";
  position:absolute;
  top:-60px;
  right:-60px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(200,162,74,.20) 0%, rgba(200,162,74,0) 70%);
  pointer-events:none;
}
.tg-newsletter-card:hover{
  transform:translateY(-6px);
  border-color:rgba(200,162,74,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 0 55px rgba(200,162,74,.10),
    0 24px 48px rgba(0,0,0,.48),
    0 0 24px rgba(200,162,74,.08);
}
.tg-newsletter-icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  border-radius:18px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,233,170,.32), rgba(255,233,170,0) 38%),
    linear-gradient(180deg, rgba(200,162,74,.20), rgba(200,162,74,.08));
  border:1px solid rgba(200,162,74,.24);
  box-shadow:
    inset 0 0 18px rgba(255,220,130,.10),
    0 8px 20px rgba(0,0,0,.28);
  position:relative;
}
.tg-newsletter-icon::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:26px;
  height:26px;
  background:linear-gradient(180deg,#f4d87f,#c89a2b);
  box-shadow:0 0 14px rgba(200,162,74,.28);
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}
.tg-icon-calendar::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a2 2 0 0 1 2-2h3V2Zm13 8H4v9a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-9Z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a2 2 0 0 1 2-2h3V2Zm13 8H4v9a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-9Z'/></svg>");
}
.tg-icon-chart::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M4 19h16v2H2V3h2v16Zm3-3-3-3 4-4 3 3 5-6 4 3-1.2 1.6-2.6-2-5 6-3-3-2.8 2.8 1.6 1.6Z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M4 19h16v2H2V3h2v16Zm3-3-3-3 4-4 3 3 5-6 4 3-1.2 1.6-2.6-2-5 6-3-3-2.8 2.8 1.6 1.6Z'/></svg>");
}
.tg-icon-star::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='m12 2.5 2.9 5.88 6.49.95-4.7 4.58 1.11 6.47L12 17.35 6.2 20.38l1.11-6.47-4.7-4.58 6.49-.95L12 2.5Z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='m12 2.5 2.9 5.88 6.49.95-4.7 4.58 1.11 6.47L12 17.35 6.2 20.38l1.11-6.47-4.7-4.58 6.49-.95L12 2.5Z'/></svg>");
}
.tg-icon-bell::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 22a3 3 0 0 0 2.83-2H9.17A3 3 0 0 0 12 22Zm7-4H5v-2l2-2v-3a5 5 0 1 1 10 0v3l2 2v2Z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 22a3 3 0 0 0 2.83-2H9.17A3 3 0 0 0 12 22Zm7-4H5v-2l2-2v-3a5 5 0 1 1 10 0v3l2 2v2Z'/></svg>");
}
.tg-icon-tools::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21.7 7.3 16.5 12.5l-5-5 5.2-5.2a4 4 0 0 0-5.4 5.8L3 16.4V21h4.6l8.3-8.3a4 4 0 0 0 5.8-5.4ZM6 19H5v-1l7.6-7.6 1 1L6 19Z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21.7 7.3 16.5 12.5l-5-5 5.2-5.2a4 4 0 0 0-5.4 5.8L3 16.4V21h4.6l8.3-8.3a4 4 0 0 0 5.8-5.4ZM6 19H5v-1l7.6-7.6 1 1L6 19Z'/></svg>");
}
.tg-icon-gift::before{
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 7h-2.18A3 3 0 0 0 12 4.24 3 3 0 0 0 6.18 7H4a2 2 0 0 0-2 2v3h9v10h2V12h9V9a2 2 0 0 0-2-2ZM9 7a1 1 0 1 1 1-1c0 .55-.45 1-1 1Zm6 0a1 1 0 1 1 1-1c0 .55-.45 1-1 1Z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 7h-2.18A3 3 0 0 0 12 4.24 3 3 0 0 0 6.18 7H4a2 2 0 0 0-2 2v3h9v10h2V12h9V9a2 2 0 0 0-2-2ZM9 7a1 1 0 1 1 1-1c0 .55-.45 1-1 1Zm6 0a1 1 0 1 1 1-1c0 .55-.45 1-1 1Z'/></svg>");
}
.tg-newsletter-card h3{
  margin:0 0 12px;
  color:#d8aa3d;
  font-size:28px;
  line-height:1.18;
  font-weight:800;
}
.tg-newsletter-card p{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.7;
}
.tg-newsletter-formbox{
  margin-top:42px;
  padding:34px 28px;
  border-radius:26px;
  background:
    radial-gradient(circle at top left, rgba(200,162,74,.10), transparent 30%),
    linear-gradient(180deg, rgba(15,15,15,.98), rgba(8,8,8,.98));
  border:1px solid rgba(200,162,74,.18);
  box-shadow:
    inset 0 0 38px rgba(200,162,74,.05),
    0 18px 40px rgba(0,0,0,.35);
}
.tg-newsletter-formhead{
  text-align:center;
  max-width:820px;
  margin:0 auto 22px;
}
.tg-newsletter-formhead h3{
  margin:0 0 10px;
  color:#fff;
  font-size:32px;
  font-weight:900;
}
.tg-newsletter-formhead p{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:16px;
  line-height:1.65;
}
.tg-news-notice{
  max-width:900px;
  margin:0 auto 18px;
  padding:15px 16px;
  border-radius:16px;
  font-weight:800;
  line-height:1.55;
}
.tg-news-notice-ok{
  background:rgba(58,151,89,.18);
  border:1px solid rgba(85,190,116,.28);
  color:#e9ffef;
}
.tg-news-notice-err{
  background:rgba(176,65,65,.18);
  border:1px solid rgba(220,93,93,.28);
  color:#fff2f2;
}
.tg-newsletter-form{
  max-width:900px;
  margin:0 auto;
}
.tg-newsletter-formgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.tg-newsletter-field label{
  display:block;
  margin:0 0 8px;
  color:#f2f2f2;
  font-weight:800;
}
.tg-newsletter-field input[type="text"],
.tg-newsletter-field input[type="email"]{
  width:100%;
  min-height:54px;
  background:#f3f3f3;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:12px 14px;
  color:#111;
  font-size:16px;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.tg-newsletter-field input:focus{
  outline:none;
  border-color:rgba(200,162,74,.95);
  box-shadow:0 0 0 4px rgba(200,162,74,.18),0 12px 26px rgba(0,0,0,.16);
}
.tg-newsletter-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:16px;
  color:rgba(255,255,255,.9);
  font-weight:700;
}
.tg-newsletter-check input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--tg-gold);
}
.tg-newsletter-check a{
  color:var(--tg-gold);
  text-decoration:none;
  font-weight:900;
}
.tg-newsletter-check a:hover{
  text-decoration:underline;
}
.tg-newsletter-actions{
  margin-top:20px;
}
.tg-newsletter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 26px;
  border:none;
  border-radius:999px;
  background:linear-gradient(180deg,#e0b95b 0%,#c89a2b 100%);
  color:#111;
  font-weight:900;
  font-size:15px;
  box-shadow:0 14px 30px rgba(0,0,0,.35);
  cursor:pointer;
}
.tg-newsletter-btn:hover{
  filter:brightness(1.04);
  transform:translateY(-1px);
}
@media (max-width:1024px){
  .tg-newsletter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:767px){
  .tg-newsletter-section{
    margin:34px auto 40px;
    padding:0 14px 20px;
  }
  .tg-newsletter-intro{
    margin-bottom:26px;
  }
  .tg-newsletter-intro p{
    font-size:15px;
    line-height:1.6;
  }
  .tg-newsletter-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .tg-newsletter-card{
    min-height:auto;
    padding:22px 18px 20px;
    border-radius:20px;
  }
  .tg-newsletter-card h3{
    font-size:24px;
  }
  .tg-newsletter-card p{
    font-size:15px;
    line-height:1.6;
  }
  .tg-newsletter-formbox{
    margin-top:28px;
    padding:24px 18px;
    border-radius:20px;
  }
  .tg-newsletter-formhead h3{
    font-size:26px;
  }
  .tg-newsletter-formhead p{
    font-size:15px;
  }
  .tg-newsletter-formgrid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .tg-newsletter-actions .tg-newsletter-btn{
    width:100%;
  }
}
/* Newsletter Button Design */

.tg-newsletter-formbox button,
.tg-newsletter-formbox .wpforms-submit{

background: linear-gradient(180deg,#e0b95b 0%,#c89a2b 100%) !important;
color:#111 !important;

border:none !important;
border-radius:999px !important;

padding:14px 34px !important;

font-weight:900 !important;
font-size:16px !important;
letter-spacing:.3px;

box-shadow:
0 10px 24px rgba(0,0,0,.35),
inset 0 1px 0 rgba(255,255,255,.25);

transition:all .2s ease;
cursor:pointer;
}

/* Hover Effekt */

.tg-newsletter-formbox button:hover,
.tg-newsletter-formbox .wpforms-submit:hover{

transform:translateY(-2px);
box-shadow:
0 14px 30px rgba(0,0,0,.45),
0 0 18px rgba(200,162,74,.45);

filter:brightness(1.05);
}
/* Newsletter Formular Schrift heller */

.tg-newsletter-formbox .wpforms-field-label{
color:#ffffff !important;
font-weight:700;
}

.tg-newsletter-formbox .wpforms-field-sublabel{
color:#cccccc !important;
}

.tg-newsletter-formbox .wpforms-required