/* IFA Produktkatalog — Frontend CSS v4 */
:root {
  --ifa-accent:    #c0392b;
  --ifa-dark:      #111;
  --ifa-border:    #e2e2e2;
  --ifa-muted:     #777;
  --ifa-shadow:    0 4px 20px rgba(0,0,0,0.09);
  --ifa-shadow-lg: 0 16px 50px rgba(0,0,0,0.16);
  --ifa-tr:        0.28s cubic-bezier(.4,0,.2,1);
  --ifa-radius:    14px;
}

#ifa-katalog-wrap {
  font-family: 'Segoe UI', -apple-system, Arial, sans-serif;
  color: var(--ifa-dark);
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 80px;
}

/* ============================================================ CATEGORY CARDS */
#ifa-cat-section { margin-bottom: 52px; }
#ifa-cat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
@media (max-width:1024px){ #ifa-cat-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width:520px) { #ifa-cat-grid { grid-template-columns: 1fr 1fr; gap:10px; } }

.ifa-cat-card {
  border-radius: 18px; cursor: pointer; position: relative;
  overflow: hidden; border: 2px solid rgba(255,255,255,0.08);
  transition: all var(--ifa-tr); display: flex; flex-direction: column;
  min-height: 210px; box-shadow: 0 8px 32px rgba(0,0,0,0.30);
}
.ifa-cat-card::before {
  content:''; position:absolute; bottom:-40px; right:-40px;
  width:170px; height:170px; border-radius:50%;
  background:rgba(255,255,255,0.04); pointer-events:none; z-index:0;
}
.ifa-cat-card::after {
  content:''; position:absolute; bottom:18px; right:18px;
  width:90px; height:90px; border-radius:50%;
  background:rgba(255,255,255,0.035); pointer-events:none; z-index:0;
}
.ifa-cat-card:hover { transform:translateY(-7px) scale(1.018); box-shadow:0 28px 70px rgba(0,0,0,0.40); border-color:rgba(255,255,255,0.18); }
.ifa-cat-card.active { border-color: var(--ifa-accent) !important; box-shadow: 0 0 0 3px rgba(192,57,43,0.30), 0 20px 60px rgba(0,0,0,0.32); }
.ifa-cat-card-overlay-active { position:absolute; inset:0; background:rgba(192,57,43,0.08); opacity:0; transition:opacity var(--ifa-tr); pointer-events:none; z-index:1; }
.ifa-cat-card.active .ifa-cat-card-overlay-active { opacity:1; }
.ifa-cat-card-shine { position:absolute; inset:0; background:linear-gradient(130deg,rgba(255,255,255,0.08) 0%,transparent 55%); opacity:0; transition:opacity var(--ifa-tr); pointer-events:none; border-radius:inherit; }
.ifa-cat-card:hover .ifa-cat-card-shine { opacity:1; }

.ifa-cat-card-photo { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform 0.5s ease; z-index:0; }
.ifa-cat-card-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.15) 55%, transparent 100%); }
.ifa-cat-card:hover .ifa-cat-card-photo { transform:scale(1.06); }

.ifa-cat-card-icon { position:relative; z-index:2; width:54px; height:54px; background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.13); border-radius:14px; display:flex; align-items:center; justify-content:center; padding:12px; margin:22px 0 0 22px; flex-shrink:0; transition:all var(--ifa-tr); }
.ifa-cat-card:hover .ifa-cat-card-icon, .ifa-cat-card.active .ifa-cat-card-icon { background:rgba(255,255,255,0.18); transform:scale(1.08); }
.ifa-cat-card-icon svg { width:100%; height:100%; }

.ifa-cat-card-foot { position:relative; z-index:3; margin-top:auto; padding:18px 18px 18px 20px; display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }
.ifa-cat-card-title { font-size:17px; font-weight:800; color:#fff !important; line-height:1.2; margin:0 0 3px; text-shadow:0 1px 6px rgba(0,0,0,0.5); }
@media (max-width:520px){ .ifa-cat-card-title { font-size:13px; } }
.ifa-cat-card-count { font-size:12px; color:rgba(255,255,255,0.45); font-weight:500; display:block; }
.ifa-cat-card-arrow { flex-shrink:0; width:30px; height:30px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.45); transition:all var(--ifa-tr); }
.ifa-cat-card:hover .ifa-cat-card-arrow, .ifa-cat-card.active .ifa-cat-card-arrow { background:var(--ifa-accent); border-color:var(--ifa-accent); color:#fff; transform:translateX(3px); }

.ifa-sub-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; padding:14px 18px; background:#fff; border-radius:12px; border:1px solid var(--ifa-border); box-shadow:var(--ifa-shadow); animation:ifa-fade-in 0.2s ease; }
.ifa-sub-btn { background:transparent; border:1px solid var(--ifa-border); color:var(--ifa-muted); padding:6px 15px; border-radius:50px; cursor:pointer; font-size:13px; font-weight:500; transition:all var(--ifa-tr); }
.ifa-sub-btn:hover, .ifa-sub-btn.active { border-color:var(--ifa-accent); color:var(--ifa-accent); background:rgba(192,57,43,0.05); }

/* ============================================================ PRODUCTS HEADER */
#ifa-products-header { display:flex; align-items:center; gap:14px; margin-bottom:24px; padding-bottom:16px; border-bottom:2px solid var(--ifa-border); }
#ifa-active-cat-title { font-size:21px; font-weight:800; color:var(--ifa-dark); margin:0; }
#ifa-product-count-badge { font-size:11px; font-weight:700; background:var(--ifa-accent); color:#fff; padding:3px 11px; border-radius:50px; }

/* ============================================================ PRODUCT GRID */
#ifa-products-grid { min-height:260px; position:relative; }
#ifa-products-inner { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ #ifa-products-inner { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { #ifa-products-inner { grid-template-columns:1fr; } }

.ifa-product-card { background:#fff; border:1px solid var(--ifa-border); border-radius:var(--ifa-radius); overflow:hidden; cursor:pointer; transition:all var(--ifa-tr); display:flex; flex-direction:column; box-shadow:var(--ifa-shadow); }
.ifa-product-card:hover { border-color:var(--ifa-accent); transform:translateY(-5px); box-shadow:var(--ifa-shadow-lg); }

.ifa-card-image { width:100%; height:220px; overflow:hidden; background:#f8f8f8; position:relative; }
.ifa-card-image img { width:100%; height:100%; object-fit:contain; background:#fff; transition:transform 0.4s ease; display:block; }
.ifa-product-card:hover .ifa-card-image img { transform:scale(1.04); }
.ifa-card-no-image { width:100%; height:220px; background:linear-gradient(135deg,#f2f2f2,#e5e5e5); display:flex; align-items:center; justify-content:center; font-size:52px; opacity:0.3; position:relative; }
.ifa-card-overlay { position:absolute; inset:0; background:transparent; display:flex; align-items:flex-end; justify-content:center; opacity:0; transition:opacity var(--ifa-tr); padding-bottom:var(--sp-md); pointer-events:none; }
.ifa-product-card:hover .ifa-card-overlay { opacity:1; }
.ifa-card-overlay-btn { color:#fff; font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; background:var(--c-primary,#c0392b); border:none; padding:9px 20px; border-radius:50px; pointer-events:none; box-shadow:0 4px 14px rgba(0,0,0,.25); }
.ifa-card-body { padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; flex:1; border-top:3px solid transparent; transition:border-color var(--ifa-tr); }
.ifa-product-card:hover .ifa-card-body { border-top-color:var(--ifa-accent); }
.ifa-card-code { font-size:10px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; color:var(--ifa-accent); }
.ifa-card-title { font-size:16px; font-weight:700; color:var(--ifa-dark); line-height:1.4; }

/* ============================================================ LOADING */
#ifa-loading { display:flex; justify-content:center; align-items:center; min-height:200px; }
.ifa-spinner { width:40px; height:40px; border:3px solid var(--ifa-border); border-top-color:var(--ifa-accent); border-radius:50%; animation:ifa-spin 0.7s linear infinite; }
@keyframes ifa-spin { to { transform:rotate(360deg); } }
#ifa-no-products { text-align:center; color:var(--ifa-muted); padding:40px; font-size:15px; }
@keyframes ifa-fade-in { from { opacity:0; } to { opacity:1; } }

/* Kategorie-Shortcode */
.ifa-kategorie-wrap { max-width:1200px; margin:0 auto; padding:0 20px 60px; }
.ifa-kat-header { display:flex; align-items:center; gap:14px; margin-bottom:24px; padding-bottom:16px; border-bottom:2px solid var(--ifa-border,#e2e2e2); }
.ifa-kat-title { font-size:22px; font-weight:800; color:var(--ifa-dark,#111); margin:0; }
.ifa-kat-header .ifa-product-count-badge { font-size:11px; font-weight:700; background:var(--ifa-accent,#c0392b); color:#fff; padding:3px 11px; border-radius:50px; }

/* ============================================================
   DESIGN TOKENS (Kural-Set: tek kaynak, 4/8 grid)
   ============================================================ */
:root{
  --sp-xs:4px; --sp-sm:8px; --sp-md:16px; --sp-lg:24px; --sp-xl:32px; --sp-2xl:48px;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-full:999px;
  --btn-h:48px; --btn-h-sm:40px; --touch:48px;
  --t-display:28px; --t-title-lg:22px; --t-title:20px; --t-body-lg:18px; --t-body:16px; --t-body-sm:14px; --t-caption:12px;
  --w-content:840px; --w-form:480px; --w-btn:400px; --w-readable:680px;
  --c-primary:#c0392b; --c-primary-dk:#a93226; --c-ink:#111; --c-ink-2:#444; --c-muted:#6b7280;
  --c-surface:#fff; --c-surface-2:#f7f7f7; --c-border:#e2e2e2; --c-scrim:rgba(8,8,8,.8);
}
#ifa-katalog-wrap, .ifa-kategorie-wrap, #ifa-modal, #ifa-form-modal{ font-size:var(--t-body); line-height:1.5; }

/* ============================================================
   MODAL — Compact: bottom-sheet/fullscreen · Medium+: fixed-width dialog
   ============================================================ */
#ifa-modal-overlay{ position:fixed; inset:0; z-index:9999999; background:var(--c-scrim); backdrop-filter:blur(4px); animation:ifa-fade-in .2s ease; }
#ifa-modal{
  position:absolute; background:var(--c-surface); overflow-y:auto; -webkit-overflow-scrolling:touch;
  box-shadow:0 24px 80px rgba(0,0,0,.4); animation:ifa-slide-up .25s ease; scrollbar-width:thin;
  /* Compact default: full height sheet */
  inset:0; border-radius:0;
  padding-bottom:env(safe-area-inset-bottom);
}
#ifa-modal-close{
  position:sticky; top:var(--sp-sm); float:right; margin:var(--sp-sm) var(--sp-sm) 0 0; z-index:20;
  width:var(--touch); height:var(--touch); border-radius:var(--r-full); border:none; background:#f0f0f0; color:#333;
  font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0;
}
#ifa-modal-close:hover,#ifa-modal-close:focus-visible{ background:var(--c-primary); color:#fff; outline:none; }

#ifa-modal-body{ display:block; }

/* Gallery */
#ifa-modal-gallery{ background:var(--c-surface-2); padding:var(--sp-md); }
#ifa-slider-main{ position:relative; background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-md); margin:0 var(--sp-2xl); aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; }
#ifa-main-img{ width:100%; height:100%; object-fit:contain; border-radius:var(--r-md); display:block; }
#ifa-prev,#ifa-next{
  position:absolute; top:50%; transform:translateY(-50%); width:var(--btn-h-sm); height:var(--btn-h-sm); border-radius:var(--r-full);
  background:var(--c-surface); border:1px solid var(--c-border); color:#333; cursor:pointer; padding:0; font-size:14px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.12); transition:background .2s,color .2s;
}
#ifa-prev{ left:calc(-1 * var(--sp-2xl) + var(--sp-xs)); } #ifa-next{ right:calc(-1 * var(--sp-2xl) + var(--sp-xs)); }
#ifa-prev:hover,#ifa-next:hover,#ifa-prev:focus-visible,#ifa-next:focus-visible{ background:var(--c-primary); border-color:var(--c-primary); color:#fff; outline:none; }
#ifa-slider-thumbs{ display:flex; gap:var(--sp-sm); flex-wrap:wrap; margin-top:var(--sp-md); }
.ifa-thumb{ width:64px; height:64px; object-fit:contain; background:var(--c-surface); border-radius:var(--r-sm); border:2px solid transparent; opacity:.55; cursor:pointer; transition:opacity .2s,border-color .2s; }
.ifa-thumb.active,.ifa-thumb:hover{ opacity:1; border-color:var(--c-primary); }
#ifa-no-image{ aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; font-size:64px; opacity:.15; }

/* Info */
#ifa-modal-right{ display:block; }
#ifa-modal-info{ padding:var(--sp-lg) var(--sp-md) var(--sp-md); display:flex; flex-direction:column; gap:var(--sp-md); }
#ifa-modal-title{ font-size:var(--t-title-lg); line-height:1.2; font-weight:800; color:var(--c-ink); margin:0; overflow-wrap:anywhere; }
.ifa-modal-meta{ display:flex; flex-direction:column; gap:var(--sp-sm); padding:var(--sp-md) 0; border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); }
.ifa-modal-meta-row{ display:flex; gap:var(--sp-md); font-size:var(--t-body-sm); line-height:1.5; }
.ifa-modal-meta-label{ color:var(--c-muted); min-width:88px; }
.ifa-modal-meta-value{ color:var(--c-ink); font-weight:600; }
#ifa-modal-desc-short{ font-size:var(--t-body); line-height:1.6; color:var(--c-ink-2); }

/* Tabs */
#ifa-modal-tabs-wrap{ display:block; border-top:1px solid var(--c-border); }
#ifa-modal-tab-nav{ display:flex; }
.ifa-tab-btn{ flex:1; height:var(--btn-h); padding:0 var(--sp-md); border:none; cursor:pointer; font-size:var(--t-body); font-weight:700; background:var(--c-primary); color:rgba(255,255,255,.75); transition:background .2s,color .2s; border-right:1px solid rgba(255,255,255,.15); }
.ifa-tab-btn:last-child{ border-right:none; }
.ifa-tab-btn.active{ background:var(--c-ink); color:#fff; }
.ifa-tab-btn:not(.active):hover,.ifa-tab-btn:focus-visible{ background:var(--c-primary-dk); color:#fff; outline:none; }
.ifa-tab-pane{ padding:var(--sp-lg) var(--sp-md); background:#fafafa; max-width:var(--w-readable); }
.ifa-tab-pane h3{ font-size:var(--t-title); line-height:1.25; font-weight:800; color:var(--c-ink); margin:0 0 var(--sp-md); }
.ifa-tab-pane h4{ font-size:var(--t-body-lg); line-height:1.3; font-weight:700; color:var(--c-ink); margin:var(--sp-md) 0 var(--sp-sm); }
.ifa-tab-pane p{ font-size:var(--t-body); line-height:1.6; color:var(--c-ink-2); margin:0 0 var(--sp-md); }
.ifa-tab-pane ul{ margin:var(--sp-sm) 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:var(--sp-sm); }
.ifa-tab-pane li{ font-size:var(--t-body); line-height:1.5; color:var(--c-ink-2); padding-left:var(--sp-lg); position:relative; overflow-wrap:anywhere; }
.ifa-tab-pane li::before{ content:'✓'; position:absolute; left:0; color:var(--c-primary); font-weight:700; }

/* CTA */
#ifa-angebot-wrap{ padding:var(--sp-md); background:var(--c-surface); border-top:1px solid var(--c-border); }
#ifa-angebot-btn{
  display:inline-flex; align-items:center; justify-content:center; width:100%; max-width:var(--w-btn); height:var(--btn-h); padding:0 var(--sp-md);
  background:var(--c-primary); color:#fff; border:none; border-radius:var(--r-sm); cursor:pointer;
  font-size:var(--t-body); font-weight:800; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; transition:background .15s,transform .15s;
}
#ifa-angebot-btn:hover,#ifa-angebot-btn:focus-visible{ background:var(--c-primary-dk); outline:none; }
#ifa-angebot-btn:active{ transform:scale(.98); }

/* ---------- MEDIUM (600–839): centered dialog, single column ---------- */
@media (min-width:600px){
  #ifa-modal-overlay{ display:flex; align-items:center; justify-content:center; padding:var(--sp-lg); }
  #ifa-modal{ position:relative; inset:auto; width:100%; max-width:560px; max-height:calc(100vh - var(--sp-2xl)); border-radius:var(--r-lg); padding-bottom:0; }
  #ifa-modal-gallery{ border-radius:var(--r-lg) var(--r-lg) 0 0; }
}

/* ---------- EXPANDED (840+): two-column dialog, contentMaxWidth ---------- */
@media (min-width:840px){
  #ifa-modal{ max-width:1080px; display:flex; flex-direction:column; overflow:hidden; }
  #ifa-modal-body{ display:grid; grid-template-columns:1fr 1fr; flex:1; min-height:0; }
  #ifa-modal-gallery{ border-radius:var(--r-lg) 0 0 var(--r-lg); border-right:1px solid var(--c-border); overflow-y:auto; padding:var(--sp-lg); }
  #ifa-modal-right{ display:flex; flex-direction:column; min-height:0; overflow-y:auto; }
  #ifa-modal-info{ padding:var(--sp-xl) var(--sp-lg) var(--sp-md); }
  .ifa-tab-pane{ padding:var(--sp-lg); }
  #ifa-angebot-wrap{ margin-top:auto; padding:var(--sp-md) var(--sp-lg) var(--sp-lg); }
  #ifa-angebot-btn{ width:auto; min-width:240px; }
}

/* ============================================================
   FORM MODAL — formMaxWidth 480
   ============================================================ */
#ifa-form-overlay{ position:fixed; inset:0; z-index:9999999999; background:var(--c-scrim); backdrop-filter:blur(4px); align-items:center; justify-content:center; padding:var(--sp-md); animation:ifa-fade-in .2s ease; }
#ifa-form-modal{ background:var(--c-surface); border-radius:var(--r-lg); width:100%; max-width:var(--w-form); max-height:calc(100vh - var(--sp-xl)); overflow-y:auto; box-shadow:0 24px 80px rgba(0,0,0,.35); animation:ifa-slide-up .25s ease; }
#ifa-form-header{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-md); padding:var(--sp-md) var(--sp-lg); border-bottom:1px solid var(--c-border); }
#ifa-form-title{ font-size:var(--t-title); line-height:1.25; font-weight:800; color:var(--c-ink); margin:0; overflow-wrap:anywhere; }
#ifa-form-close{ flex:none; width:var(--touch); height:var(--touch); border-radius:var(--r-full); border:none; background:#f0f0f0; font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
#ifa-form-close:hover,#ifa-form-close:focus-visible{ background:var(--c-primary); color:#fff; outline:none; }
#ifa-form-body{ padding:var(--sp-lg); }
#ifa-form-body input[type=text],#ifa-form-body input[type=email],#ifa-form-body input[type=tel],#ifa-form-body input[type=url],#ifa-form-body select{ min-height:var(--btn-h) !important; font-size:var(--t-body) !important; }
#ifa-form-body textarea{ font-size:var(--t-body) !important; }
#ifa-form-body button[type=submit]{ height:var(--btn-h) !important; max-width:var(--w-btn); font-size:var(--t-body) !important; }

/* Pressed state (Bölüm G) */
.ifa-product-card:active,.ifa-cat-card:active{ transform:scale(.99); }
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; } }

/* ---- Unterkategorie-Filter (Kategorie-Shortcode) ---- */
.ifa-subfilter{ display:flex; flex-wrap:wrap; gap:var(--sp-sm); margin:0 0 var(--sp-lg); }
.ifa-subfilter-btn{
  min-height:var(--btn-h-sm); padding:0 var(--sp-md); border-radius:var(--r-full);
  border:1px solid var(--c-border); background:var(--c-surface); color:var(--c-ink-2);
  font-size:var(--t-body-sm); font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:var(--sp-sm);
  transition:background .15s,color .15s,border-color .15s;
}
.ifa-subfilter-btn span{ font-size:var(--t-caption); font-weight:700; background:#f0f0f0; color:var(--c-muted); border-radius:var(--r-full); padding:2px 8px; }
.ifa-subfilter-btn:hover{ border-color:var(--c-primary); color:var(--c-primary); }
.ifa-subfilter-btn.active{ background:var(--c-primary); border-color:var(--c-primary); color:#fff; }
.ifa-subfilter-btn.active span{ background:rgba(255,255,255,.25); color:#fff; }
.ifa-product-card.is-hidden{ display:none !important; }

/* ---- Unterkategorie-Karten (Ebene 1) ---- */
.ifa-subcat-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:var(--sp-lg); margin-bottom:var(--sp-lg); }
.ifa-subcat-card{
  background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-md);
  overflow:hidden; cursor:pointer; display:flex; flex-direction:column;
  box-shadow:0 1px 3px rgba(0,0,0,.06); transition:transform .15s,box-shadow .15s,border-color .15s;
}
.ifa-subcat-card:hover{ transform:translateY(-3px); border-color:var(--c-primary); box-shadow:0 10px 28px rgba(0,0,0,.12); }
.ifa-subcat-card:active{ transform:scale(.99); }
.ifa-subcat-img{ aspect-ratio:4/3; background:var(--c-surface-2); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ifa-subcat-img img{ width:100%; height:100%; object-fit:contain; }
.ifa-subcat-img span{ font-size:44px; opacity:.25; }
.ifa-subcat-all{ background:linear-gradient(135deg,#f3f3f3,#e9e9e9); }
.ifa-subcat-body{ padding:var(--sp-md); display:flex; flex-direction:column; gap:var(--sp-xs); border-top:3px solid transparent; transition:border-color .15s; }
.ifa-subcat-card:hover .ifa-subcat-body{ border-top-color:var(--c-primary); }
.ifa-subcat-body h3{ margin:0; font-size:var(--t-body-lg); line-height:1.3; font-weight:700; color:var(--c-ink); }
.ifa-subcat-count{ font-size:var(--t-body-sm); color:var(--c-muted); }

/* ---- Zurück-Leiste (Ebene 2) ---- */
.ifa-subcat-bar{ display:flex; align-items:center; gap:var(--sp-md); margin-bottom:var(--sp-lg); }
.ifa-back-to-cats{
  display:inline-flex; align-items:center; gap:var(--sp-sm); height:var(--btn-h-sm); padding:0 var(--sp-md);
  border:1px solid var(--c-border); background:var(--c-surface); color:var(--c-ink-2);
  border-radius:var(--r-full); font-size:var(--t-body-sm); font-weight:600; cursor:pointer; transition:all .15s;
}
.ifa-back-to-cats:hover,.ifa-back-to-cats:focus-visible{ border-color:var(--c-primary); color:var(--c-primary); outline:none; }
.ifa-subcat-current{ font-size:var(--t-title); font-weight:800; color:var(--c-ink); }

/* ---- Zurück-Navigation (Sichtbarkeit über Klasse, nicht inline) ---- */
.ifa-hidden{ display:none !important; }
.ifa-subcat-bar{
  display:flex; align-items:center; gap:var(--sp-md);
  position:sticky; top:0; z-index:5;
  padding:var(--sp-sm) 0 var(--sp-md);
  background:linear-gradient(#fff 70%, rgba(255,255,255,0));
  margin-bottom:var(--sp-sm);
}
.ifa-subcat-bar-bottom{ display:flex; justify-content:center; margin-top:var(--sp-xl); }
.ifa-subcat-bar-bottom .ifa-back-to-cats{ height:var(--btn-h); padding:0 var(--sp-lg); font-size:var(--t-body); }

/* Hover-Badge: neutral, kein roter Overlay */
.ifa-card-overlay{ background:transparent !important; align-items:flex-end !important; padding-bottom:var(--sp-md); }
.ifa-card-overlay-btn{ background:var(--c-primary,#c0392b) !important; border:none !important; color:#fff !important; }
