/**
 * FLUGWELT Shop Theme – flugwelt-shop.css v10
 * =============================================
 * CD/CI: Farben aus FLUGWELT Hauptseite
 *   --blue-deep:    #094e72
 *   --blue-dark:    #0f6fa0
 *   --blue-mid:     #1b8fcd
 *   --blue-primary: #33a6e6
 *   --blue-sky:     #85cef2
 *   --orange:       #e8751a
 *   --off-white:    #f4f8fb
 *
 * HINWEIS: body padding-top wird dynamisch via JS (positionShopBar) gesetzt.
 * Das CSS hier enthält nur den Fallback-Wert für den FOUC.
 */

/* ══════════════════════════════════════════════════════════════════
   1. NAVBAR – immer gefärbt (nie transparent wie auf Hauptseite)
   ══════════════════════════════════════════════════════════════════ */
html body.fw-shop .navbar,
html body.fw-shop nav.navbar,
html body.fw-shop nav.navbar.scrolled {
  background: linear-gradient(135deg, #094e72 0%, #0f6fa0 60%, #1b8fcd 100%) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.2) !important;
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
}

/* Logo */
body.fw-shop .navbar .nav-logo-text,
body.fw-shop .navbar .nav-logo-sub     { color: #fff !important; }
body.fw-shop .navbar .nav-logo-text > span { color: #85cef2 !important; }

/* Nav-Links */
body.fw-shop .navbar .nav-link            { color: rgba(255,255,255,.85) !important; }
body.fw-shop .navbar .nav-link:hover,
body.fw-shop .navbar .nav-link.active     { color: #fff !important; }
body.fw-shop .navbar .nav-arrow           { color: rgba(255,255,255,.5) !important; }

/* Hamburger */
body.fw-shop .navbar .nav-toggle span     { background: rgba(255,255,255,.85) !important; }

/* Desktop Dropdown */
body.fw-shop .navbar .dropdown-menu       { background: #fff !important; box-shadow: 0 8px 24px rgba(9,78,114,.15) !important; }
body.fw-shop .navbar .dropdown-menu a     { color: #094e72 !important; }
body.fw-shop .navbar .dropdown-menu a:hover { color: #33a6e6 !important; background: #f0f8fc !important; }

/* ══════════════════════════════════════════════════════════════════
   2. BODY + WRAPPER
   ══════════════════════════════════════════════════════════════════ */
body.fw-shop {
  /* Fallback – JS überschreibt mit exaktem Wert */
  padding-top: 180px !important;
  background: var(--off-white, #f4f8fb);
  color: var(--text-body, #254355);
  font-family: var(--font-body, 'FF Dax', system-ui, sans-serif);
}

/* PS #header: kein eigener Hintergrund / keine eigene Höhe */
body.fw-shop #header {
  background: transparent !important;
  min-height: 0 !important;
  padding: 0 !important; margin: 0 !important;
  border: 0 !important; box-shadow: none !important;
}

#fw-shop-main { min-height: 60vh; }
#wrapper { padding: 1rem 0 3rem; }

/* PS Standard-Header-Elemente ausblenden */
.header-nav, .header-top, .header-banner,
.footer-container, #mobile_top_menu_wrapper { display: none !important; }

/* ══════════════════════════════════════════════════════════════════
   3. SHOP-BAR (Suchleiste + Kategoriezeile)
   Position wird via JS als fixed gesetzt.
   CSS hier: Fallback + Styling.
   ══════════════════════════════════════════════════════════════════ */
#fw-shop-bar {
  width: 100%;
  z-index: 998;
}

/* ── Suchleiste ── */
.fw-shop-search {
  background: linear-gradient(135deg, #094e72 0%, #0f6fa0 100%);
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: .45rem 0;
  width: 100%;
}
.fw-shop-search .container {
  display: flex;
  align-items: center;
  gap: .5rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
.fw-shop-search form {
  display: flex;
  gap: .4rem;
  flex: 1;
}
.fw-shop-search input[type="search"] {
  flex: 1;
  border: none;
  border-radius: 100px;
  padding: .38rem 1rem;
  font-size: .88rem;
  background: rgba(255,255,255,.14);
  color: #fff;
  outline: none;
  min-width: 0;
}
.fw-shop-search input::placeholder { color: rgba(255,255,255,.45); }
.fw-shop-search input:focus         { background: rgba(255,255,255,.22); }
.fw-shop-search form button[type="submit"] {
  background: #e8751a;
  border: none;
  border-radius: 100px;
  padding: .38rem .9rem;
  color: #fff;
  cursor: pointer;
  font-size: .85rem;
  flex-shrink: 0;
}
.fw-shop-search form button[type="submit"]:hover { background: #d4660f; }

/* ── Mobiler Kategorie-Burger (links neben Suchleiste) ── */
.fw-shop-mob-cat-toggle {
  display: none;           /* nur auf Mobile sichtbar (s. Media Query) */
  flex-direction: column;
  justify-content: space-between;
  gap: 0;
  width: 32px;
  height: 32px;
  padding: 6px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .15s;
}
.fw-shop-mob-cat-toggle:hover {
  background: rgba(255,255,255,.2);
}
.fw-shop-mob-cat-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: rgba(255,255,255,.85);
  border-radius: 2px;
  transition: transform .2s, opacity .2s;
}
/* Offener Zustand: X-Icon */
.fw-shop-mob-cat-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.fw-shop-mob-cat-toggle.open span:nth-child(2) { opacity: 0; }
.fw-shop-mob-cat-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Kategoriezeile (Desktop) ── */
.fw-shop-catrow {
  background: rgba(9,78,114,.97);
  border-bottom: 1px solid rgba(255,255,255,.07);
  width: 100%;
}
.fw-shop-catrow .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
.fw-catrow-inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  min-height: 40px;
}

/* Kategorie-Liste */
.fw-catrow-list {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0; padding: 0;
  flex-wrap: wrap;
  overflow: visible;
}
.fw-catrow-list li {
  position: relative;
}
.fw-catrow-list li a {
  display: flex;
  align-items: center;
  gap: .3rem;
  padding: .5rem 1rem;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: .83rem;
  font-weight: 600;
  white-space: nowrap;
  transition: color .12s, background .12s;
  height: 100%;
  box-sizing: border-box;
}
.fw-catrow-list li a:hover,
.fw-catrow-list li.current > a { color: #fff; background: rgba(255,255,255,.09); }
.fw-catrow-list li a i { font-size: .75rem; opacity: .75; }

/* Desktop: Submenü bei Hover anzeigen */
.fw-catrow-sublist {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  background: #094e72;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 28px rgba(0,0,0,.22);
  min-width: 200px;
  z-index: 999;
  flex-direction: column;
  padding: .35rem 0;
}
.fw-catrow-has-sub:hover > .fw-catrow-sublist,
.fw-catrow-has-sub.touch-open > .fw-catrow-sublist {
  display: flex;
}
.fw-catrow-sublist li a {
  padding: .45rem 1.1rem;
  font-size: .8rem;
  font-weight: 500;
  color: rgba(255,255,255,.7);
  background: transparent;
  justify-content: flex-start;
}
.fw-catrow-sublist li a:hover { color: #fff; background: rgba(255,255,255,.08); }

/* Pfeil-Indikator für Items mit Unterkategorien */
.fw-catrow-has-sub > a::after {
  content: '▾';
  font-size: .65rem;
  opacity: .55;
  margin-left: .2rem;
}

/* User-Menü rechts (Warenkorb + Login) */
.fw-catrow-user {
  display: flex;
  align-items: center;
  gap: .25rem;
  padding: 0 .25rem;
  flex-shrink: 0;
  margin-left: auto;
}

/* ══════════════════════════════════════════════════════════════════
   4. BOOTSTRAP GRID KORREKTUR
   FLUGWELT styles.css überschreibt Bootstrap → hier zurücksetzen.
   Mobile-First mit min-width Media Queries (letzte Regel gewinnt).
   ══════════════════════════════════════════════════════════════════ */
#wrapper .container {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
}
#wrapper .row {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
  margin: 0 -15px !important;
  gap: 0 !important;
}
#wrapper [class*="col-"] {
  padding: 0 15px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* XS – 1 Spalte (default) */
#wrapper .col-xs-12 { flex: 0 0 100% !important; max-width: 100% !important; }

/* SM ≥ 576px – 2 Spalten */
@media (min-width: 576px) {
  #wrapper .col-sm-6  { flex: 0 0 50%     !important; max-width: 50%     !important; }
  #wrapper .col-sm-4  { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
  #wrapper .col-md-3  { flex: 0 0 25%     !important; max-width: 25%     !important; }
  #wrapper .col-md-4  { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
  #wrapper .col-md-8  { flex: 0 0 66.666% !important; max-width: 66.666% !important; }
  #wrapper .col-md-9  { flex: 0 0 75%     !important; max-width: 75%     !important; }
}

/* LG ≥ 992px – 3 Spalten */
@media (min-width: 992px) {
  #wrapper .col-lg-3  { flex: 0 0 25%     !important; max-width: 25%     !important; }
  #wrapper .col-lg-4  { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
  #wrapper .col-lg-9  { flex: 0 0 75%     !important; max-width: 75%     !important; }
}

/* XL ≥ 1200px – 4 Spalten */
@media (min-width: 1200px) {
  #wrapper .col-xl-3  { flex: 0 0 25%     !important; max-width: 25%     !important; }
  #wrapper .col-xl-4  { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
}

/* ══════════════════════════════════════════════════════════════════
   5. BREADCRUMB
   ══════════════════════════════════════════════════════════════════ */
.breadcrumb {
  background: transparent;
  padding: .6rem 0;
  margin-bottom: .75rem;
  font-size: .8rem;
}
.breadcrumb-item { color: #6a8fa8; }
.breadcrumb-item a { color: #33a6e6; text-decoration: none; }
.breadcrumb-item.active { color: #094e72; font-weight: 600; }
.breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #6a8fa8; }

/* ══════════════════════════════════════════════════════════════════
   6. HOMEPAGE HERO (Gutscheine Showcase)
   ══════════════════════════════════════════════════════════════════ */
.fw-home-hero {
  background: linear-gradient(135deg, #094e72 0%, #0f6fa0 50%, #1b8fcd 100%);
  padding: 2.5rem 0;
  color: #fff;
}
.fw-home-hero .container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.fw-home-hero__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}
.fw-home-hero__eyebrow {
  font-size: .78rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: #85cef2;
  display: flex; align-items: center; gap: .4rem; margin-bottom: .5rem;
}
.fw-home-hero__title {
  font-size: 2.2rem; font-weight: 900; line-height: 1.1;
  color: #fff; margin: 0 0 .75rem;
}
.fw-home-hero__title span { color: #e8751a; }
.fw-home-hero__sub {
  font-size: .95rem; color: rgba(255,255,255,.8);
  line-height: 1.6; max-width: 460px; margin: 0 0 1.25rem;
}
.fw-home-hero__ctas { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 1rem; }
.fw-home-hero__btn-primary {
  display: inline-flex; align-items: center; gap: .5rem;
  background: #e8751a; color: #fff !important;
  padding: .65rem 1.4rem; border-radius: 100px;
  font-weight: 700; font-size: .9rem; text-decoration: none;
  transition: background .15s, transform .1s;
}
.fw-home-hero__btn-primary:hover { background: #d4660f; transform: translateY(-1px); }
.fw-home-hero__btn-secondary {
  display: inline-flex; align-items: center;
  background: rgba(255,255,255,.12); color: #fff !important;
  padding: .65rem 1.25rem; border-radius: 100px;
  font-weight: 600; font-size: .88rem; text-decoration: none;
  border: 1.5px solid rgba(255,255,255,.3);
  transition: background .15s;
}
.fw-home-hero__btn-secondary:hover { background: rgba(255,255,255,.2); }
.fw-home-hero__perks {
  display: flex; flex-wrap: wrap; gap: 1rem;
  font-size: .78rem; color: rgba(255,255,255,.65);
}
.fw-home-hero__perks i { color: #27ae60; margin-right: .2rem; }
.fw-home-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; flex-shrink: 0; }
.fw-hero-tile {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .45rem; padding: 1.1rem .75rem;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px; color: #fff !important; text-decoration: none;
  font-size: .8rem; font-weight: 600;
  transition: background .15s, transform .15s; min-width: 100px;
}
.fw-hero-tile:hover { background: rgba(255,255,255,.18); transform: translateY(-2px); }
.fw-hero-tile i { font-size: 1.6rem; color: #85cef2; }

/* Sektion-Header für Produktlisten-Module */
.fw-home-products { padding: 1.5rem 0 2rem; }
.fw-home-products .container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.fw-product-section { margin-bottom: 2.5rem; }
.fw-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1rem; padding-bottom: .5rem;
  border-bottom: 2px solid #33a6e6;
}
.fw-section-title {
  font-size: 1.05rem; font-weight: 800; color: #094e72;
  display: flex; align-items: center; gap: .5rem; margin: 0;
}
.fw-section-title i { color: #33a6e6; font-size: .9rem; }
.fw-section-all {
  font-size: .8rem; font-weight: 600; color: #33a6e6;
  text-decoration: none; display: flex; align-items: center; gap: .3rem;
}
.fw-section-all:hover { color: #094e72; }
/* Alten "All products" Link ausblenden */
.featured-products .all-product-link,
a.all-product-link { display: none !important; }
/* Alte Sektion-Header ausblenden */
.featured-products .h2.products-section-title { display: none !important; }

@media (max-width: 900px) {
  .fw-home-hero__inner { grid-template-columns: 1fr; }
  .fw-home-hero__grid { grid-template-columns: repeat(4, 1fr); }
  .fw-hero-tile { min-width: 0; padding: .85rem .5rem; font-size: .72rem; }
  .fw-hero-tile i { font-size: 1.2rem; }
  .fw-home-hero__title { font-size: 1.7rem; }
}
@media (max-width: 480px) {
  .fw-home-hero__grid { grid-template-columns: repeat(2, 1fr); }
  .fw-home-hero { padding: 1.75rem 0; }
}

/* ══════════════════════════════════════════════════════════════════
   7. PRODUKT-KARTEN – Neues FLUGWELT-Design
   ══════════════════════════════════════════════════════════════════ */
/* fw-card = product-miniature (das neue Design) */
.fw-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(9,78,114,.07);
  transition: transform .2s, box-shadow .2s;
  border: 1px solid rgba(9,78,114,.06);
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 1.25rem;
}
.fw-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(9,78,114,.15); }

/* Bildbereich */
.fw-card__image { position: relative; overflow: hidden; background: #f8fafc; }
.fw-card__img-link {
  display: block; aspect-ratio: 4/3; overflow: hidden;
}
.fw-card__img-link img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .3s ease; display: block;
}
.fw-card:hover .fw-card__img-link img { transform: scale(1.06); }

/* Hover-Overlay */
.fw-card__overlay {
  position: absolute; inset: 0;
  background: rgba(9,78,114,.55);
  display: flex; align-items: center; justify-content: center; gap: .75rem;
  opacity: 0; transition: opacity .2s ease;
}
.fw-card:hover .fw-card__overlay { opacity: 1; }
.fw-card__overlay-btn {
  display: flex; align-items: center; gap: .4rem;
  padding: .55rem 1rem; background: #fff; color: #094e72;
  border-radius: 100px; text-decoration: none;
  font-size: .8rem; font-weight: 700;
  transition: background .15s, color .15s; white-space: nowrap;
}
.fw-card__overlay-btn:hover { background: #e8751a; color: #fff !important; }
.fw-card__overlay-btn i { font-size: .88rem; }
.fw-card__overlay-btn .material-icons { display: none !important; }

/* Badges */
.fw-badge {
  position: absolute; top: .6rem;
  font-size: .68rem; font-weight: 800;
  padding: .22rem .6rem; border-radius: 100px;
  display: flex; align-items: center; gap: .22rem;
  text-transform: uppercase; letter-spacing: .04em; z-index: 2;
}
.fw-badge--new { left: .6rem; background: #27ae60; color: #fff; }
.fw-badge--sale { right: .6rem; background: #e8751a; color: #fff; }

/* Info-Bereich */
.fw-card__body {
  padding: .85rem 1rem 1rem !important;
  flex: 1; display: flex; flex-direction: column;
}
.fw-card__title {
  margin: 0 0 .4rem !important;
  font-size: .9rem !important;
  line-height: 1.35 !important;
  flex: 1;
}
.fw-card__title a { color: #094e72 !important; font-weight: 700 !important; text-decoration: none !important; }
.fw-card__title a:hover { color: #33a6e6 !important; }

/* Preis */
.fw-card__price {
  display: flex; align-items: baseline; gap: .5rem;
  margin: .35rem 0 .65rem !important; flex-wrap: wrap;
}
.fw-price { color: #e8751a !important; font-weight: 800 !important; font-size: 1.05rem !important; }
.fw-price--old { color: #a0b3c6 !important; font-size: .78rem !important; text-decoration: line-through !important; }
.fw-discount-badge {
  background: #e8751a; color: #fff;
  font-size: .66rem; font-weight: 800;
  padding: .12rem .4rem; border-radius: 100px;
}

/* CTA */
.fw-card__cta {
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .5rem 1rem;
  background: linear-gradient(135deg, #094e72, #0f6fa0);
  color: #fff !important; border-radius: 8px;
  font-size: .8rem; font-weight: 700; text-decoration: none;
  transition: opacity .15s, transform .1s; margin-top: auto;
}
.fw-card__cta:hover { opacity: .87; transform: translateY(-1px); }
.fw-card__cta i { font-size: .82rem; }

/* Altes .thumbnail-container und .product-description ausblenden */
.product-miniature .thumbnail-container { display: none !important; }
.product-miniature .product-flags { display: none !important; }

/* ══════════════════════════════════════════════════════════════════
   7b. KATEGORIE-HEADER
   ══════════════════════════════════════════════════════════════════ */
.fw-cat-header { margin-bottom: 1.25rem; border-radius: 12px; overflow: hidden; }
.fw-cat-header__cover {
  position: relative; background-size: cover; background-position: center;
  min-height: 140px; display: flex; align-items: flex-end;
}
.fw-cat-header__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(9,78,114,.85) 0%, rgba(9,78,114,.3) 100%);
}
.fw-cat-header__text { position: relative; z-index: 1; padding: 1.25rem 1.5rem; }
.fw-cat-header__title { font-size: 1.4rem; font-weight: 800; color: #fff; margin: 0 0 .2rem; }
.fw-cat-header__desc { font-size: .85rem; color: rgba(255,255,255,.8); margin: 0; }
.fw-cat-header__text--no-img {
  background: linear-gradient(135deg, #094e72, #0f6fa0);
  padding: 1.25rem 1.5rem;
}
.fw-cat-header__text--no-img .fw-cat-header__title { color: #fff; }
.fw-cat-header__desc-full { font-size: .83rem; color: rgba(255,255,255,.72); margin-top: .3rem; }
.fw-cat-header__desc-full p { margin: 0; }
/* Alten Stil verbergen */
#js-product-list-header .block-category.card,
.block-category.card { display: none !important; }


/* ══════════════════════════════════════════════════════════════════
   7. BUTTONS
   ══════════════════════════════════════════════════════════════════ */
.btn-primary  { background: #e8751a !important; border-color: #e8751a !important; color: #fff !important; font-weight: 600; border-radius: 8px; }
.btn-primary:hover { background: #d4660f !important; border-color: #d4660f !important; }
.btn-secondary, .btn-outline-secondary {
  background: transparent !important;
  border: 2px solid #33a6e6 !important;
  color: #094e72 !important;
  font-weight: 600;
  border-radius: 8px;
}
.btn-secondary:hover { background: #33a6e6 !important; color: #fff !important; }
.add-to-cart { background: #e8751a !important; border-color: #e8751a !important; color: #fff !important; font-weight: 700; }

/* ══════════════════════════════════════════════════════════════════
   8. FORMULARE
   ══════════════════════════════════════════════════════════════════ */
.form-control {
  border: 1.5px solid #d8eaf5;
  border-radius: 8px;
  color: #094e72;
}
.form-control:focus {
  border-color: #33a6e6;
  box-shadow: 0 0 0 3px rgba(51,166,230,.18);
}

/* ══════════════════════════════════════════════════════════════════
   9. PAGINIERUNG
   ══════════════════════════════════════════════════════════════════ */
.pagination .page-link { color: #094e72; border-color: #d8eaf5; border-radius: 6px; margin: 0 2px; }
.pagination .page-link:hover { background: #33a6e6; color: #fff; border-color: #33a6e6; }
.pagination .page-item.active .page-link { background: #e8751a; border-color: #e8751a; }

/* ══════════════════════════════════════════════════════════════════
   10. ALERTS
   ══════════════════════════════════════════════════════════════════ */
.alert-success { background: #e8f5e9; border-color: #27ae60; color: #1e7e34; border-radius: 10px; }
.alert-danger   { background: #fff3e0; border-color: #e8751a; border-radius: 10px; }
.alert-info     { background: #e8f4fd; border-color: #33a6e6; color: #094e72; border-radius: 10px; }

/* ══════════════════════════════════════════════════════════════════
   11. WARENKORB/USER ICONS (Catrow rechts)
   ══════════════════════════════════════════════════════════════════ */
.fw-nav-actions { display: flex; align-items: center; gap: .3rem; }
.fw-nav-icon-btn {
  display: flex; align-items: center; gap: .3rem;
  padding: .3rem .55rem;
  border-radius: 6px;
  color: rgba(255,255,255,.8);
  text-decoration: none;
  font-size: .85rem;
  font-weight: 600;
  position: relative;
  transition: background .12s;
}
.fw-nav-icon-btn:hover { background: rgba(255,255,255,.12); color: #fff; }
.fw-nav-icon-btn i { font-size: 1rem; }

.fw-cart-count {
  position: absolute; top: -2px; right: -2px;
  background: #e8751a; color: #fff;
  font-size: .6rem; font-weight: 800;
  width: 16px; height: 16px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.fw-cart-btn { position: relative; }
.fw-cart-dropdown {
  display: none;
  position: absolute; top: calc(100% + 6px); right: 0;
  width: 280px; background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(9,78,114,.18);
  border: 1px solid #d8eaf5;
  padding: .85rem;
  z-index: 9999;
}
.fw-cart-btn:hover .fw-cart-dropdown { display: block; }
.fw-cart-item { display: flex; gap: .65rem; align-items: center; padding: .45rem 0; border-bottom: 1px solid #f0f3f8; }
.fw-cart-item img { border-radius: 5px; object-fit: cover; }
.fw-cart-item-name { font-size: .8rem; font-weight: 600; color: #094e72; }
.fw-cart-item-price { font-size: .76rem; color: #e8751a; font-weight: 700; }
.fw-cart-total { display: flex; justify-content: space-between; padding: .55rem 0; font-weight: 700; font-size: .85rem; color: #094e72; }
.fw-cart-actions { margin-top: .4rem; }
.fw-cart-empty { text-align: center; padding: 1.1rem 0; color: #6a8fa8; font-size: .82rem; }
.fw-user-name { font-size: .76rem; max-width: 65px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ══════════════════════════════════════════════════════════════════
   12. CHECKOUT
   ══════════════════════════════════════════════════════════════════ */
body.fw-shop.page-checkout { padding-top: 0 !important; }
.fw-checkout-nav {
  background: #094e72 !important;
  position: sticky !important; top: 0 !important; z-index: 1000 !important;
}
.fw-checkout-nav .nav-logo-text { color: #fff !important; }
.fw-checkout-nav .nav-logo-text span { color: #85cef2 !important; }
.fw-checkout-footer { background: #094e72 !important; }

/* ══════════════════════════════════════════════════════════════════
   13. FOOTER
   ══════════════════════════════════════════════════════════════════ */
#footer, .fw-shop-footer {
  background: #094e72 !important;
  padding-top: 2.5rem;
  margin-top: 2rem;
}

/* ══════════════════════════════════════════════════════════════════
   14. HOMEPAGE – Demo-Module ausblenden
   ══════════════════════════════════════════════════════════════════ */
#index .banner, #index .ps_banner, #index .ps_imageslider,
#index .slider-wrapper, #index .slick-slider, #index .js-slides,
#index [class*=blockreassurance], #index .ps-customtext,
#index .blockcmsinfo { display: none !important; }

/* Produkt-Sektionen auf Homepage: Überschriften kompakter */
#index .products-section-title,
#index h2.h2 { font-size: 1.1rem !important; font-weight: 800; color: #094e72; margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 2px solid #33a6e6; }

/* ══════════════════════════════════════════════════════════════════
   15. PRODUKT-DETAILSEITE
   ══════════════════════════════════════════════════════════════════ */

/* ── Page Wrapper ── */
.fw-product-page { max-width:1200px; margin:0 auto; padding:.75rem 15px 3rem; }
body#product #wrapper { padding-top:.25rem !important; }

/* ── Breadcrumb ── */
.fw-breadcrumb { margin-bottom:1.5rem; }
.fw-breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; gap:.25rem; padding:0; margin:0; font-size:.78rem; color:#6a8fa8; }
.fw-breadcrumb li { display:flex; align-items:center; gap:.25rem; }
.fw-breadcrumb li:not(:last-child)::after { content:"›"; color:#b6cfde; font-weight:700; margin-left:.3rem; }
.fw-breadcrumb a { color:#33a6e6; text-decoration:none; font-weight:600; display:flex; align-items:center; gap:.25rem; }
.fw-breadcrumb a:hover { color:#094e72; }
.fw-breadcrumb [aria-current] { color:#094e72; font-weight:700; }

/* ── 2‑Spalten Grid ── */
.fw-product-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:start; margin-bottom:2.5rem; }
@media(max-width:768px){ .fw-product-grid{grid-template-columns:1fr;gap:1.5rem;} }

/* ── Bilder ── */
.fw-product-images .product-cover { border-radius:14px; overflow:hidden; background:#f8fafc; margin-bottom:.75rem; }
.fw-product-images .product-cover img { width:100%; max-height:420px; object-fit:contain; display:block; }
.fw-product-images .js-qv-mask { overflow:visible; }
.fw-product-images .js-product-images,
.fw-product-images .product-images { display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.5rem; }
.fw-product-images .js-product-images li,
.fw-product-images .product-images li { width:64px; height:64px; border-radius:8px; overflow:hidden; border:2px solid transparent; cursor:pointer; transition:border-color .15s; flex-shrink:0; list-style:none; padding:0; }
.fw-product-images .js-product-images li:hover,
.fw-product-images .product-images li:hover,
.fw-product-images .js-product-images li.selected,
.fw-product-images .product-images li.selected { border-color:#33a6e6; }
.fw-product-images .js-product-images img,
.fw-product-images .product-images img { width:100%; height:100%; object-fit:cover; border-radius:5px; }

/* ── Produktflaggen ── */
.fw-product-flags { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.85rem; }
.fw-product-flags .product-flag { display:inline-block; padding:.18rem .65rem; border-radius:100px; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.fw-product-flags .new { background:#33a6e6; color:#fff; }
.fw-product-flags .on-sale { background:#e8751a; color:#fff; }
.fw-product-flags .online-only { background:#85cef2; color:#094e72; }
.fw-product-flags .discount { background:#27ae60; color:#fff; }
.fw-product-flags .pack { background:#094e72; color:#fff; }
.fw-product-flags .out_of_stock { background:#ccc; color:#555; }

/* ── Hersteller ── */
.fw-product-manufacturer { margin-bottom:.55rem; }
.fw-product-manufacturer a,
.fw-product-manufacturer { font-size:.8rem; color:#6a8fa8; text-decoration:none; display:flex; align-items:center; gap:.35rem; }
.fw-product-manufacturer a:hover { color:#33a6e6; }
.fw-product-manufacturer i { color:#85cef2; font-size:.75rem; }

/* ── Name & Meta ── */
.fw-product-name { font-size:1.6rem; font-weight:900; color:#094e72; line-height:1.15; margin:0 0 .5rem; }
.fw-product-meta { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; font-size:.78rem; color:#6a8fa8; }
.fw-product-meta i { color:#85cef2; margin-right:.25rem; font-size:.7rem; }
.fw-product-ref, .fw-product-condition { display:flex; align-items:center; }
.fw-product-short-desc { font-size:.93rem; color:#4a6278; line-height:1.65; margin-bottom:1.25rem; padding-bottom:1.25rem; border-bottom:1px solid #e8f0f8; }

/* ── Preis ── */
.fw-product-price-box { margin-bottom:1.25rem; }
.fw-product-price-box .product-prices .price,
.fw-product-price-box .current-price,
.fw-product-price-box .current-price-value { font-size:2rem !important; font-weight:900 !important; color:#e8751a !important; }
.fw-product-price-box .regular-price { font-size:1rem !important; color:#a0b3c6 !important; text-decoration:line-through !important; font-weight:400 !important; }
.fw-product-price-box .discount-percentage { background:#e8751a; color:#fff; border-radius:100px; padding:.15rem .55rem; font-size:.75rem; font-weight:800; margin-left:.5rem; display:inline-block; vertical-align:middle; }
.fw-product-price-box .product-discount { margin-bottom:.2rem; }
.fw-product-price-box .tax-shipping-delivery-label { font-size:.72rem; color:#7f9bb5; margin-top:.25rem; }

/* ── Varianten ── */
.fw-product-variants { margin-bottom:1.25rem; }
.fw-variant-group { margin-bottom:1rem; }
.fw-variant-label { display:block; font-size:.78rem; font-weight:700; color:#094e72; margin-bottom:.35rem; }

/* Select */
.fw-variant-select-wrap { position:relative; display:inline-block; min-width:180px; }
.fw-variant-select-wrap select.fw-select { width:100%; padding:.5rem 2rem .5rem .75rem; border:1.5px solid #d8eaf5; border-radius:8px; font-size:.85rem; color:#094e72; background:#fff; appearance:none; -webkit-appearance:none; cursor:pointer; }
.fw-variant-select-wrap select.fw-select:focus { border-color:#33a6e6; outline:none; box-shadow:0 0 0 3px rgba(51,166,230,.12); }
.fw-select-arrow { position:absolute; right:.6rem; top:50%; transform:translateY(-50%); pointer-events:none; color:#85cef2; font-size:.75rem; }

/* Color Swatches */
.fw-color-swatches { display:flex; gap:.5rem; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.fw-swatch-item { flex-shrink:0; }
.fw-swatch-item label { display:flex; cursor:pointer; }
.fw-swatch-input { position:absolute; opacity:0; width:0; height:0; }
.fw-swatch-color,
.fw-swatch-texture { display:block; width:32px; height:32px; border-radius:50%; border:2px solid #d8eaf5; transition:border-color .15s,box-shadow .15s; }
.fw-swatch-input:checked + .fw-swatch-color,
.fw-swatch-input:checked + .fw-swatch-texture { border-color:#33a6e6; box-shadow:0 0 0 3px rgba(51,166,230,.2); }
.fw-swatch-input:focus-visible + .fw-swatch-color,
.fw-swatch-input:focus-visible + .fw-swatch-texture { outline:2px solid #85cef2; outline-offset:2px; }

/* Radio Group */
.fw-radio-group { display:flex; gap:.75rem; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.fw-radio-item { flex-shrink:0; }
.fw-radio-item label { display:flex; align-items:center; gap:.3rem; cursor:pointer; }
.fw-radio-input { accent-color:#33a6e6; width:16px; height:16px; }
.fw-radio-label { font-size:.85rem; color:#254355; }

/* ── Kaufen-Box ── */
.fw-product-buy { background:#f4f8fb; border-radius:12px; padding:1.1rem; margin-bottom:1.25rem; }
.fw-product-quantity { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.fw-quantity-label { font-size:.82rem; font-weight:700; color:#094e72; min-width:60px; margin:0; }

/* Qty +/- Buttons */
.fw-quantity-input-group { display:flex; align-items:center; border:1.5px solid #d8eaf5; border-radius:10px; overflow:hidden; background:#fff; }
.fw-qty-btn { width:34px; height:38px; border:none; background:#f8fafc; color:#094e72; font-size:.85rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .12s; }
.fw-qty-btn:hover { background:#e8f5fc; }
.fw-qty-input { width:56px !important; height:38px; border:none; border-left:1px solid #d8eaf5; border-right:1px solid #d8eaf5; text-align:center; font-size:.95rem; font-weight:700; color:#094e72; background:#fff; padding:0; -moz-appearance:textfield; }
.fw-qty-input::-webkit-inner-spin-button,
.fw-qty-input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }

/* Add-to-cart Button */
.fw-add-btn-wrap { flex:1 1 auto; min-width:140px; }
.fw-add-to-cart-btn { width:100% !important; justify-content:center !important; padding:.8rem 1.5rem !important; font-size:1rem !important; border-radius:10px !important; background:#e8751a !important; border-color:#e8751a !important; color:#fff !important; font-weight:700 !important; display:flex !important; align-items:center !important; gap:.5rem !important; transition:background .15s !important; white-space:nowrap; }
.fw-add-to-cart-btn:hover { background:#d4660f !important; border-color:#d4660f !important; }
.fw-add-to-cart-btn:disabled { background:#cbd5e0 !important; border-color:#cbd5e0 !important; cursor:not-allowed; }

/* ── Verfügbarkeit ── */
.fw-availability { margin-top:.75rem; }
.fw-availability-badge { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .75rem; border-radius:8px; font-size:.82rem; font-weight:600; }
.fw-available-success { background:#eafaf1; color:#27ae60; }
.fw-available-warning { background:#fef5e7; color:#e67e22; }
.fw-available-danger { background:#ffeaea; color:#e74c3c; }
.fw-min-qty { margin-top:.5rem; font-size:.76rem; color:#7f9bb5; display:flex; align-items:center; gap:.25rem; }

/* ── Reassurance ── */
.block-reassurance { margin-top:.85rem; }
.block-reassurance li { list-style:none; display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:#6a8fa8; padding:.25rem 0; }
.block-reassurance img { width:20px; opacity:.6; }

/* ── Tabs ── */
.fw-product-tabs { border-radius:12px; overflow:hidden; border:1px solid #e8f0f8; margin-bottom:2rem; background:#fff; }
.fw-tab-nav { display:flex; border-bottom:2px solid #e8f0f8; background:#f8fafc; }
.fw-tab-btn { padding:.75rem 1.25rem; border:none; background:transparent; font-size:.85rem; font-weight:600; color:#6a8fa8; cursor:pointer; display:flex; align-items:center; gap:.4rem; border-bottom:2px solid transparent; margin-bottom:-2px; transition:color .12s,border-color .12s; }
.fw-tab-btn:hover { color:#094e72; }
.fw-tab-btn.active { color:#094e72; border-bottom-color:#33a6e6; background:#fff; }
.fw-tab-btn i { color:#33a6e6; font-size:.8rem; }
.fw-tab-content { padding:1.5rem; }
.fw-tab-pane { display:none; }
.fw-tab-pane.active { display:block; }
.fw-product-description { font-size:.93rem; line-height:1.7; color:#254355; }

/* ── Produkt-Details Sheet ── */
.fw-product-details-sheet { display:grid; gap:.35rem; }
.fw-detail-row { display:flex; padding:.45rem 0; border-bottom:1px solid #f0f4f8; font-size:.84rem; }
.fw-detail-row:last-child { border-bottom:none; }
.fw-detail-label { color:#6a8fa8; font-weight:600; min-width:160px; flex-shrink:0; }
.fw-detail-value { color:#094e72; font-weight:700; }
.fw-stock-available { color:#27ae60; }

/* ── Anhänge ── */
.fw-attachment-link { display:flex; align-items:center; gap:.5rem; padding:.6rem .85rem; background:#f4f8fb; border-radius:8px; color:#094e72; text-decoration:none; font-weight:600; font-size:.88rem; margin-bottom:.4rem; transition:background .12s; }
.fw-attachment-link:hover { background:#e8f5fc; }
.fw-attachment-link i { color:#33a6e6; }
.fw-attachment-link span { color:#6a8fa8; font-size:.78rem; }

/* ── Zubehör ── */
.fw-product-accessories { margin-top:2rem; }

/* ── Material Icons & Alt‑Tabs ausblenden ── */
.fw-product-page .material-icons,
.fw-product-page .scroll-box-arrows,
.fw-product-page .tabs:not(.fw-product-tabs),
.fw-product-page .nav-tabs { display:none !important; }

/* ── Produkt-Flaggen Partial ── */
.fw-product-info .product-flags { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.85rem; }
.fw-product-info .product-flags li { list-style:none; padding:.18rem .65rem; border-radius:100px; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin:0; }
.fw-product-info .product-flags .new { background:#33a6e6; color:#fff; }
.fw-product-info .product-flags .on-sale { background:#e8751a; color:#fff; }
.fw-product-info .product-flags .online-only { background:#85cef2; color:#094e72; }
.fw-product-info .product-flags .discount { background:#27ae60; color:#fff; }
.fw-product-info .product-flags .pack { background:#094e72; color:#fff; }
.fw-product-info .product-flags .out_of_stock { background:#ccc; color:#555; }

/* ── Mengenrabatt-Tabelle ── */
.fw-product-buy .product-discounts { margin-bottom:.75rem; }
.fw-product-buy .product-discounts-title { font-size:.78rem; font-weight:700; color:#094e72; margin-bottom:.35rem; }
.fw-product-buy .table-product-discounts { width:100%; border-collapse:collapse; font-size:.78rem; }
.fw-product-buy .table-product-discounts th,
.fw-product-buy .table-product-discounts td { padding:.35rem .5rem; text-align:left; border-bottom:1px solid #e8f0f8; }
.fw-product-buy .table-product-discounts th { color:#6a8fa8; font-weight:700; }
.fw-product-buy .table-product-discounts td { color:#094e72; font-weight:600; }

/* ── Responsive ── */
@media (max-width:768px) {
  .fw-product-grid { grid-template-columns:1fr; gap:1.5rem; }
  .fw-product-name { font-size:1.3rem; }
  .fw-detail-label { min-width:120px; }
  .fw-product-quantity { flex-direction:column; align-items:flex-start; }
  .fw-add-btn-wrap { min-width:100%; }
}

/* ══════════════════════════════════════════════════════════════════
   16. UNTERKATEGORIEN
   ══════════════════════════════════════════════════════════════════ */
#subcategories ul,
.category-subcategories ul {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
  gap: .75rem !important;
  list-style: none !important; padding: 0 !important; margin: 0 0 1.5rem !important;
}
#subcategories li, .category-subcategories li {
  background: #fff !important; border-radius: 10px !important;
  box-shadow: 0 1px 8px rgba(9,78,114,.07) !important;
  border: 1px solid rgba(9,78,114,.05) !important;
  text-align: center !important;
  overflow: hidden !important;
  transition: transform .15s !important;
}
#subcategories li:hover, .category-subcategories li:hover { transform: translateY(-2px) !important; }
#subcategories img, .category-subcategories img { width: 100% !important; aspect-ratio: 1 !important; object-fit: cover !important; }
#subcategories a, .category-subcategories a { display: block !important; padding: .5rem !important; font-size: .8rem !important; font-weight: 600 !important; color: #094e72 !important; text-decoration: none !important; }
#subcategories a:hover, .category-subcategories a:hover { color: #33a6e6 !important; }

/* ══════════════════════════════════════════════════════════════════
   17. LINKE SPALTE (Filter/Kategoriebaum)
   ══════════════════════════════════════════════════════════════════ */
#left-column {
  background: #fff;
  border-radius: 12px;
  padding: 1.1rem;
  box-shadow: 0 1px 8px rgba(9,78,114,.06);
  align-self: start;
}
#left-column .block-title,
#left-column .h6 { color: #094e72; font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; padding-bottom: .4rem; border-bottom: 2px solid #33a6e6; margin-bottom: .6rem; }

/* ══════════════════════════════════════════════════════════════════
   18. TOUCH / DESKTOP NAV-DROPDOWN (CSS-only Hover)
   ══════════════════════════════════════════════════════════════════ */
html body.fw-shop .nav-item.has-dropdown.touch-open > .dropdown-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: all !important;
}

/* ══════════════════════════════════════════════════════════════════
   18b. KATEGORIE-ACCORDION (Startseite)
   ══════════════════════════════════════════════════════════════════ */

/* Vertikaler Abstand zwischen Produktkarten = horizontaler Abstand */
#wrapper .row > [class*="col-"],
.fw-cat-group__body .row > [class*="col-"] {
  margin-bottom: 30px !important; /* = 2×15px padding = horizontaler Abstand */
}
.fw-cat-group__body .row {
  margin-bottom: 0 !important;
}

/* Kein Bild Placeholder */
.fw-card__no-img {
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, #e8f5fc, #f4f8fb);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fw-card__no-img i {
  font-size: 3rem;
  color: #33a6e6;
  opacity: .35;
}

/* Kategorie-Gruppe Container */
.fw-cat-group {
  margin-bottom: 1rem;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(9,78,114,.07);
  border: 1px solid rgba(9,78,114,.08);
  background: #fff;
}

/* Kategorie-Header (Button) */
.fw-cat-group__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1.25rem;
  background: linear-gradient(135deg, #094e72 0%, #0f6fa0 100%);
  color: #fff;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background .15s;
  gap: 1rem;
}
.fw-cat-group__header:hover {
  background: linear-gradient(135deg, #073d59 0%, #0d5f8a 100%);
}

/* Titel-Bereich */
.fw-cat-group__title {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}
.fw-cat-group__title i {
  font-size: .9rem;
  color: #85cef2;
}

/* Anzahl-Badge */
.fw-cat-group__count {
  background: rgba(255,255,255,.2);
  color: rgba(255,255,255,.85);
  font-size: .7rem;
  font-weight: 700;
  padding: .15rem .5rem;
  border-radius: 100px;
  line-height: 1.4;
}

/* Rechte Seite: Link + Chevron */
.fw-cat-group__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}
.fw-cat-group__link {
  font-size: .78rem;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: .3rem;
  transition: color .12s;
}
.fw-cat-group__link:hover { color: #fff; }
.fw-cat-group__link i { font-size: .7rem; }

/* Chevron dreht sich beim Öffnen */
.fw-cat-group__chevron {
  font-size: .8rem;
  color: rgba(255,255,255,.7);
  transition: transform .3s ease;
}
.fw-cat-group--open .fw-cat-group__chevron {
  transform: rotate(180deg);
}

/* Produkt-Grid in Gruppe */
.fw-cat-group__body {
  background: #fff;
  /* max-height Accordion: CSS-Transition, kein JS display-Toggle */
  overflow: hidden;
  max-height: 0;
  padding: 0 1.25rem; /* kein vertikales Padding wenn geschlossen */
  transition: max-height .35s ease, padding .35s ease;
}
/* Wenn offen: vertikales Padding wieder einblenden */
.fw-cat-group--open .fw-cat-group__body {
  padding: 1.25rem 1.25rem .5rem;
}
.fw-cat-group__body .row {
  margin: 0 -12px !important;
}
.fw-cat-group__body .row > [class*="col-"] {
  padding: 0 12px !important;
}

/* Gutschein-Gruppe: gleicher Stil wie andere Kategorien (kein Orange) */
.fw-cat-group--voucher .fw-cat-group__header {
  background: linear-gradient(135deg, #094e72 0%, #0f6fa0 100%);
}

/* ══════════════════════════════════════════════════════════════════
   18c. LEERRAUM-REDUKTION
   ══════════════════════════════════════════════════════════════════ */

/* styles.css setzt section { padding: var(--section-gap) 0 } = 5rem = 80px.
   Im Shop überschreiben wir das komplett. */
body.fw-shop section,
body.fw-shop #content > section,
body.fw-shop .page-home section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* #content selbst kann ebenfalls padding haben */
body.fw-shop #content,
body.fw-shop #content.page-home {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* #wrapper oben kompakter */
body.fw-shop #wrapper {
  padding-top: .75rem !important;
  padding-bottom: 1.5rem !important;
}

/* Breadcrumb: im Shop ausblenden (Kategorien sind im Catrow sichtbar) */
body.fw-shop .breadcrumb,
body.fw-shop nav[aria-label="breadcrumb"],
body.fw-shop #wrapper > .container > nav { display: none !important; }

/* fw-home-products: minimaler oberer Abstand */
.fw-home-products {
  padding-top: .5rem !important;
  padding-bottom: 1.5rem !important;
}

/* ══════════════════════════════════════════════════════════════════
   20. LISTING: KATEGORIE-SEITEN
   ══════════════════════════════════════════════════════════════════ */

/* Linke Spalte ausblenden – Kategorieseiten nutzen volle Breite */
body.fw-shop #left-column { display: none !important; }

/* Content-Wrapper volle Breite wenn linke Spalte weg */
body.fw-shop #content-wrapper,
body.fw-shop .js-content-wrapper {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* Unterkategorien-Block ausblenden */
body.fw-shop #subcategories,
body.fw-shop .subcategories {
  display: none !important;
}

/* Listing-Main: kein extra Padding */
.fw-listing-main { padding: 0; }

/* ── Kategorie-Header: volle Breite ── */
.fw-cat-header {
  margin: 0 0 1rem !important;
  border-radius: 0 !important;   /* volle Breite = keine abgerundeten Ecken */
  width: 100%;
}
.fw-cat-header__cover {
  min-height: 120px !important;
}
.fw-cat-header__text--no-img {
  padding: 1rem 1.5rem !important;
}
.fw-cat-header__title { font-size: 1.3rem !important; }

/* Damit der Header aus dem Container-Padding ausbricht */
#main .fw-cat-header {
  margin-left: -15px !important;
  margin-right: -15px !important;
  width: calc(100% + 30px) !important;
}

/* ── Sortier-Leiste ── */
.fw-list-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .65rem;
  padding: .65rem 0;
  margin-bottom: .75rem;
  border-bottom: 1px solid #e8f0f8;
}
.fw-list-top__count {
  font-size: .85rem;
  color: #6a8fa8;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.fw-list-top__count i { color: #33a6e6; }

.fw-list-top__sort {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.fw-list-top__sort-label {
  font-size: .82rem;
  color: #6a8fa8;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: .3rem;
  white-space: nowrap;
}

/* Sort-Button */
.fw-sort-btn {
  display: flex !important;
  align-items: center;
  gap: .5rem;
  padding: .4rem .85rem;
  background: #fff;
  border: 1.5px solid #d8eaf5;
  border-radius: 8px;
  font-size: .84rem;
  font-weight: 600;
  color: #094e72;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .15s;
}
.fw-sort-btn:hover { border-color: #33a6e6; }
.fw-sort-chevron {
  font-size: .7rem;
  color: #6a8fa8;
  transition: transform .2s;
}
.products-sort-order.show .fw-sort-chevron { transform: rotate(180deg); }

/* Sort-Dropdown: Bootstrap 3 Kompatibilität
   styles.css setzt .dropdown-menu a { display:block } was das Menü immer sichtbar macht. */
.products-sort-order .fw-sort-dropdown {
  display: none !important; /* Bootstrap kontrolliert via .open Klasse */
}
.products-sort-order.open .fw-sort-dropdown {
  display: block !important;
}
/* Einzelne Links im Dropdown: block ist OK */
.fw-sort-dropdown .select-list { display: flex; }

.fw-sort-dropdown {
  display: none !important;
  min-width: 240px;
  border-radius: 10px;
  border: 1px solid #e8f0f8;
  padding: .35rem 0;
  margin-top: .25rem;
}
.fw-sort-dropdown .select-list {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  font-size: .84rem;
  color: #254355;
  text-decoration: none;
  transition: background .12s;
}
.fw-sort-dropdown .select-list:hover { background: #f0f8fc; }
.fw-sort-dropdown .select-list.current { color: #094e72; font-weight: 700; }
.fw-sort-dropdown .select-list i { color: #33a6e6; font-size: .75rem; width: 14px; }

/* Aktive Filter */
#js-active-search-filters {
  margin-bottom: .75rem;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.active-filter-title { display: none; }
.filter-block li { list-style: none; }
.active_filter {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  background: #e8f5fc;
  color: #094e72;
  border-radius: 100px;
  padding: .25rem .65rem;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none;
}
.active_filter:hover { background: #d8ecf5; }

/* ── Pagination ── */
.fw-list-bottom {
  padding-top: 1.5rem;
  margin-top: 1rem;
  border-top: 1px solid #e8f0f8;
}
.fw-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .75rem;
}
.fw-pagination__info {
  font-size: .82rem;
  color: #6a8fa8;
  flex: 1;
  text-align: left;
}
.fw-pagination__info strong { color: #094e72; }

.fw-pagination__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: .25rem;
  align-items: center;
}
.fw-pagination__item .fw-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1.5px solid #d8eaf5;
  color: #094e72;
  text-decoration: none;
  font-size: .85rem;
  font-weight: 600;
  transition: all .12s;
  background: #fff;
}
.fw-pagination__item .fw-pagination__link:hover {
  background: #33a6e6;
  border-color: #33a6e6;
  color: #fff;
}
.fw-pagination__item.current .fw-pagination__link {
  background: #e8751a;
  border-color: #e8751a;
  color: #fff;
  cursor: default;
}

/* Seitenanfang-Button */
.fw-pagination__top-btn {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .4rem .85rem;
  background: #fff;
  border: 1.5px solid #d8eaf5;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 600;
  color: #094e72;
  text-decoration: none;
  transition: all .12s;
  flex: 0 0 auto;
}
.fw-pagination__top-btn:hover {
  background: #094e72;
  border-color: #094e72;
  color: #fff;
}
.fw-pagination__top-btn i { font-size: .8rem; }

@media (max-width: 576px) {
  .fw-list-top { flex-direction: column; align-items: flex-start; }
  .fw-pagination__info { text-align: center; flex: 1 1 100%; }
  .fw-pagination { gap: .5rem; }
  .fw-pagination__top-btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════════
   19. MOBILE ≤ 1024px
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {

  /* Mobiler Cat-Burger anzeigen */
  .fw-shop-mob-cat-toggle { display: flex !important; }

  /* Desktop Kategoriezeile ausblenden (JS zeigt sie als Overlay) */
  .fw-shop-catrow { display: none; }

  /* Hamburger-Button sichtbar, CTA ausblenden */
  html body.fw-shop .nav-toggle { display: flex !important; }
  html body.fw-shop .nav-cta    { display: none !important; }

  /* Nav-Actions (Cart/User) kompakt */
  html body.fw-shop .fw-shop-actions { gap: 0 !important; }

  /* Nav-Menü: Vollbild-Overlay */
  html body.fw-shop .nav-menu {
    display: none !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    height: 100dvh !important;
    overflow-y: auto !important;
    background: #094e72 !important;
    padding: max(5rem, 5rem) 1.5rem 2rem !important;
    gap: 0 !important;
    z-index: 9998 !important;
    align-items: flex-start !important;
  }
  html body.fw-shop .nav-menu.open { display: flex !important; }

  html body.fw-shop .nav-item {
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  html body.fw-shop .nav-link {
    font-size: 1.1rem !important;
    padding: .75rem 0 !important;
    width: 100% !important;
  }

  /* Mobile Dropdown: eingeblendet wenn .mob-open gesetzt (via JS style.display) */
  html body.fw-shop nav.navbar .dropdown-menu {
    position: static !important;
    background: transparent !important;
    border: none !important; box-shadow: none !important;
    padding: 0 0 .4rem 1rem !important;
    display: none;  /* kein !important – JS setzt style.display direkt */
  }
  html body.fw-shop .navbar .dropdown-menu a {
    font-size: .9rem !important;
    padding: .35rem 0 !important;
    color: rgba(255,255,255,.65) !important;
  }
  html body.fw-shop .navbar .dropdown-menu a:hover {
    color: #85cef2 !important; background: transparent !important;
  }

  /* CTA im Overlay */
  html body.fw-shop .nav-cta { display: block !important; margin-top: 1rem !important; }
  html body.fw-shop .nav-cta .btn { width: 100% !important; justify-content: center !important; }

  /* Mobiles Kategorie-Menü als Overlay (Klassen via JS gesetzt) */
  .fw-shop-catrow.fw-mob-cat-open {
    display: block !important;
    background: #094e72 !important;
    overflow-y: auto !important;
    padding: .5rem 0 1rem !important;
  }
  .fw-shop-catrow.fw-mob-cat-open .fw-catrow-inner {
    flex-direction: column !important;
  }
  .fw-shop-catrow.fw-mob-cat-open .fw-catrow-list {
    flex-direction: column !important;
    width: 100% !important;
  }
  .fw-shop-catrow.fw-mob-cat-open .fw-catrow-list li { width: 100% !important; border-bottom: 1px solid rgba(255,255,255,.06) !important; }
  .fw-shop-catrow.fw-mob-cat-open .fw-catrow-list li a {
    padding: .7rem 1.1rem !important;
    font-size: 1rem !important;
    white-space: normal !important;
  }
  .fw-shop-catrow.fw-mob-cat-open .fw-catrow-sublist {
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 0 .3rem 1.5rem !important;
    min-width: 0 !important;
  }
  .fw-shop-catrow.fw-mob-cat-open .fw-catrow-sublist li a {
    padding: .45rem .5rem !important;
    font-size: .88rem !important;
    color: rgba(255,255,255,.6) !important;
  }
  /* Pfeil dreht sich wenn Submenü offen */
  .fw-catrow-has-sub.fw-mob-sub-open > a::after { content: '▴'; }

  /* User-Menü auf Mobile ausblenden (Warenkorb ist in Suchzeile) */
  .fw-catrow-user { display: none !important; }

  /* Produkte: 2 Spalten auf Tablet */
  #wrapper .col-xl-3, #wrapper .col-lg-4 { flex: 0 0 50% !important; max-width: 50% !important; }

  /* Body-Overlay (wenn Cat-Menü offen) */
  body.fw-mob-cat-overlay::before {
    content: '';
    position: fixed; inset: 0;
    background: rgba(0,0,0,.4);
    z-index: 999;
  }
}

/* ══════════════════════════════════════════════════════════════════
   20. KLEINE MOBILE ≤ 480px
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  #wrapper .col-xl-3, #wrapper .col-lg-4, #wrapper .col-sm-6 {
    flex: 0 0 100% !important; max-width: 100% !important;
  }
  .fw-shop-search input[type="search"] { padding: .35rem .75rem !important; font-size: .82rem !important; }
}

/* ══════════════════════════════════════════════════════════════════
   21. DESKTOP ≥ 1025px
   ══════════════════════════════════════════════════════════════════ */
@media (min-width: 1025px) {
  body.fw-shop .nav-inner { justify-content: center !important; gap: 0 !important; }
  body.fw-shop .nav-inner .nav-logo { margin-right: auto !important; }
  body.fw-shop .fw-shop-actions { margin-left: .5rem; }
  .fw-shop-mob-cat-toggle { display: none !important; }
}
/* ── fw-sort-menu: eigenes Dropdown (kein Bootstrap) ── */
.fw-sort-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 9999;
  list-style: none;
  margin: 0;
  padding: .35rem 0;
  min-width: 220px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(9,78,114,.15);
  border: 1px solid #e8f0f8;
}
.fw-sort-option {
  display: flex !important;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  font-size: .84rem;
  color: #254355;
  text-decoration: none;
  transition: background .12s;
  white-space: nowrap;
}
.fw-sort-option:hover { background: #f0f8fc; color: #094e72; }
.fw-sort-option.current { color: #094e72; font-weight: 700; }
.fw-sort-option i { color: #33a6e6; font-size: .75rem; width: 14px; }

/* ── PS-native page-list: FLUGWELT Styling ── */
.fw-pagination .fw-paginlist {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: .3rem !important;
  align-items: center !important;
}
.fw-pagination .fw-paginlist li a.fw-pagin-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 .6rem !important;
  border-radius: 8px !important;
  border: 1.5px solid #d8eaf5 !important;
  color: #094e72 !important;
  text-decoration: none !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  background: #fff !important;
  transition: all .12s !important;
}
.fw-pagination .fw-paginlist li a.fw-pagin-link:hover {
  background: #33a6e6 !important;
  border-color: #33a6e6 !important;
  color: #fff !important;
}
.fw-pagination .fw-paginlist li.current a.fw-pagin-link,
.fw-pagination .fw-paginlist li a.fw-pagin-link.disabled {
  background: #e8751a !important;
  border-color: #e8751a !important;
  color: #fff !important;
  cursor: default !important;
  pointer-events: none !important;
}
/* Prev/Next: Icon statt Text */
.fw-pagination .fw-paginlist li a[rel="prev"]::before {
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free",FontAwesome;
  content: "\f053";
  font-weight: 900;
}
.fw-pagination .fw-paginlist li a[rel="next"]::before {
  font-family: "Font Awesome 6 Pro","Font Awesome 6 Free",FontAwesome;
  content: "\f054";
  font-weight: 900;
}
.fw-pagination .fw-paginlist li a[rel="prev"],
.fw-pagination .fw-paginlist li a[rel="next"] {
  font-size: 0 !important;
}
.fw-pagination .fw-paginlist li a[rel="prev"]::before,
.fw-pagination .fw-paginlist li a[rel="next"]::before {
  font-size: .8rem !important;
  color: #094e72 !important;
}
.fw-pagination .fw-paginlist li a[rel="prev"]:hover::before,
.fw-pagination .fw-paginlist li a[rel="next"]:hover::before {
  color: #fff !important;
}

/* ══ KRITISCHE FIXES ══ */

/* 1. Alte PS-Pagination komplett ausblenden */
nav.pagination { display: none !important; }

/* 2. Alter Seitenanfang-Button ausblenden */
.hidden-md-up.up, div.up { display: none !important; }

/* 3. fw-paginlist: Pagination zentriert + korrekt gestylt */
.fw-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: .75rem !important;
}
.fw-pagination__info {
  font-size: .82rem;
  color: #6a8fa8;
  flex: 0 0 auto;
}
.fw-pagination__info strong { color: #094e72; }

.fw-paginlist {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: .3rem !important;
  align-items: center !important;
}
.fw-paginlist li a.fw-pagin-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 .6rem !important;
  border-radius: 8px !important;
  border: 1.5px solid #d8eaf5 !important;
  color: #094e72 !important;
  text-decoration: none !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  background: #fff !important;
  transition: all .12s !important;
}
.fw-paginlist li a.fw-pagin-link:hover {
  background: #33a6e6 !important;
  border-color: #33a6e6 !important;
  color: #fff !important;
}
.fw-paginlist li.current a.fw-pagin-link,
.fw-paginlist li a.fw-pagin-link.disabled {
  background: #e8751a !important;
  border-color: #e8751a !important;
  color: #fff !important;
  cursor: default !important;
  pointer-events: none !important;
}
/* Vor/Zurück Navigation-Links: kleiner, kein oranger Hintergrund */
.fw-paginlist li a.fw-pagin-nav {
  background: #fff !important;
  color: #094e72 !important;
  border-color: #d8eaf5 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.fw-paginlist li a.fw-pagin-nav:hover {
  background: #33a6e6 !important;
  border-color: #33a6e6 !important;
  color: #fff !important;
}

/* Seitenanfang-Button */
.fw-pagination__top-btn {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .4rem .85rem;
  background: #fff;
  border: 1.5px solid #d8eaf5;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 600;
  color: #094e72;
  text-decoration: none;
  transition: all .12s;
}
.fw-pagination__top-btn:hover { background: #094e72; border-color: #094e72; color: #fff; }
.fw-pagination__top-btn i { font-size: .8rem; }

/* fw-list-bottom */
.fw-list-bottom { padding-top: 1.5rem; margin-top: 1rem; border-top: 1px solid #e8f0f8; }

/* 4. Sort-Menü korrekt */
.fw-sort-wrapper { position: relative; }
.fw-sort-btn {
  display: flex !important;
  align-items: center;
  gap: .5rem;
  padding: .4rem .85rem;
  background: #fff;
  border: 1.5px solid #d8eaf5;
  border-radius: 8px;
  font-size: .84rem;
  font-weight: 600;
  color: #094e72;
  cursor: pointer;
  white-space: nowrap;
}
.fw-sort-btn:hover { border-color: #33a6e6; }
.fw-sort-chevron { font-size: .7rem; color: #6a8fa8; transition: transform .2s; }

/* ── Sort-Menü: Chevron dreht sich korrekt ── */
.fw-sort-btn[aria-expanded="true"] .fw-sort-chevron {
  transform: rotate(180deg);
}

/* ── Overlay auf Karte: Pfeil-Button ── */
.fw-card__overlay {
  text-decoration: none;
}
.fw-card__overlay:hover { opacity: 1; }

/* ══════════════════════════════════════════════════════════
   PRODUKTDETAILSEITE – fw-pp (Product Page)
   Kompakt, stylisch, FLUGWELT CI
   ══════════════════════════════════════════════════════════ */

/* Container */
.fw-pp {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px 3rem;
}

/* ── Hero: Bild + Panel ── */
.fw-pp__hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(9,78,114,.14);
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .fw-pp__hero { grid-template-columns: 1fr; min-height: auto; }
}

/* Bild-Bereich: volle Höhe, kein Whitespace */
.fw-pp__img-wrap {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #0a3d5e, #1b8fcd);
  min-height: 420px;
}
.fw-pp__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s ease;
}
.fw-pp__hero:hover .fw-pp__img {
  transform: scale(1.03);
}
.fw-pp__img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 420px;
  color: rgba(255,255,255,.3);
  font-size: 5rem;
}

/* Kategorie-Badge auf dem Bild */
.fw-pp__cat-badge {
  position: absolute;
  top: 1.1rem;
  left: 1.1rem;
  background: rgba(9,78,114,.85);
  backdrop-filter: blur(8px);
  color: #85cef2;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  padding: .3rem .75rem;
  border-radius: 100px;
  display: flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(133,206,242,.25);
}

/* Info-Panel */
.fw-pp__panel {
  background: #fff;
  padding: 2rem 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
  justify-content: center;
}
@media (max-width: 768px) {
  .fw-pp__panel { padding: 1.5rem; }
}

/* Produktname */
.fw-pp__name {
  font-size: 1.6rem;
  font-weight: 900;
  color: #094e72;
  line-height: 1.15;
  margin: 0;
}
@media (max-width: 900px) {
  .fw-pp__name { font-size: 1.3rem; }
}

/* Kurzbeschreibung */
.fw-pp__short {
  font-size: .9rem;
  color: #4a6278;
  line-height: 1.6;
}
.fw-pp__short p { margin: 0; }

/* Preis */
.fw-pp__price-wrap {
  display: flex;
  align-items: baseline;
  gap: .65rem;
  flex-wrap: wrap;
}
.fw-pp__price {
  font-size: 2.2rem;
  font-weight: 900;
  color: #e8751a;
  line-height: 1;
}
.fw-pp__price-old {
  font-size: 1rem;
  color: #a0b3c6;
  text-decoration: line-through;
}
.fw-pp__discount {
  background: #e8751a;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  padding: .18rem .55rem;
  border-radius: 100px;
}
.fw-pp__tax {
  font-size: .75rem;
  color: #8a9ab8;
  font-weight: 500;
  flex: 0 0 100%;
  margin-top: -.5rem;
}

/* Divider */
.fw-pp__divider {
  height: 1px;
  background: linear-gradient(to right, #d8eaf5, transparent);
  margin: .25rem 0;
}

/* Warenkorb-Zeile */
.fw-pp__cart-row {
  display: flex;
  gap: .75rem;
  align-items: center;
}

/* Menge */
.fw-pp__qty {
  display: flex;
  align-items: center;
  border: 1.5px solid #d8eaf5;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}
.fw-pp__qty-btn {
  background: #f4f8fb;
  border: none;
  width: 36px;
  height: 42px;
  cursor: pointer;
  color: #094e72;
  font-size: .8rem;
  transition: background .12s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fw-pp__qty-btn:hover { background: #e8f5fc; color: #33a6e6; }
.fw-pp__qty-input {
  width: 48px !important;
  border: none !important;
  text-align: center !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #094e72 !important;
  background: #fff !important;
  padding: 0 !important;
  height: 42px !important;
  -moz-appearance: textfield !important;
}
.fw-pp__qty-input::-webkit-outer-spin-button,
.fw-pp__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Add-to-Cart Button */
.fw-pp__add-btn {
  flex: 1;
  background: linear-gradient(135deg, #e8751a, #d4660f) !important;
  border: none !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  padding: 0 1.5rem !important;
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  cursor: pointer !important;
  transition: opacity .15s, transform .1s !important;
  white-space: nowrap !important;
}
.fw-pp__add-btn:hover { opacity: .9 !important; transform: translateY(-1px) !important; }
.fw-pp__add-btn i { font-size: .9rem !important; }

/* Verfügbarkeit */
.fw-pp__avail {
  font-size: .8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: .35rem;
}
.fw-pp__avail--ok  { color: #27ae60; }
.fw-pp__avail--low { color: #e8751a; }
.fw-pp__avail--out { color: #e74c3c; }

/* Reassurance */
.fw-pp__reassurance .block-reassurance { margin: 0; }
.fw-pp__reassurance .block-reassurance ul { padding: 0; margin: 0; }
.fw-pp__reassurance .block-reassurance li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  color: #6a8fa8;
  padding: .2rem 0;
}
.fw-pp__reassurance .block-reassurance img { width: 18px; opacity: .6; }

/* ── Beschreibungs-Block ── */
.fw-pp__desc-wrap {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e8f0f8;
  overflow: hidden;
  margin-bottom: 2rem;
}
.fw-pp__desc-label {
  background: linear-gradient(135deg, #094e72, #0f6fa0);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  padding: .75rem 1.5rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.fw-pp__desc-label i { color: #85cef2; }
.fw-pp__desc {
  padding: 1.5rem;
  font-size: .92rem;
  line-height: 1.7;
  color: #254355;
}
.fw-pp__desc p:last-child { margin-bottom: 0; }

/* ── Ähnliche Produkte ── */
.fw-pp__related { margin-top: 1rem; }

/* Material-Icons + altes Thumbnail ausblenden */
.fw-pp .material-icons,
.fw-pp .scroll-box-arrows,
.fw-pp .js-product-images,
.fw-pp ul.product-images,
.fw-pp .product-images,
.fw-pp .js-product-images-modal { display: none !important; }

/* PS-eigene Menge-Buttons ausblenden (wir nutzen eigene) */
.fw-pp .product-quantity .input-group-btn,
.fw-pp .product-quantity .input-group-btn-vertical,
.fw-pp .product-quantity .bootstrap-touchspin { display: none !important; }

/* PS product-add-to-cart: sichtbar lassen, via CSS gestylt */

/* Bruttopreis-Text ausblenden */
.fw-pp .tax-shipping-info { display: none !important; }

/* ══════════════════════════════════════════════
   PRODUKTSEITE: Add-to-Cart Styling
   ══════════════════════════════════════════════ */

/* Qty + Button Layout */
.fw-product-quantity { margin-top: .5rem; }
.fw-quantity-label {
  display: none; /* "Menge" Label ausblenden */
}
.fw-quantity-input-group {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1.5px solid #d8eaf5;
  border-radius: 10px;
  overflow: hidden;
  width: fit-content;
  margin-bottom: .75rem;
}
.fw-qty-btn {
  background: #f4f8fb;
  border: none;
  width: 40px;
  height: 44px;
  cursor: pointer;
  color: #094e72;
  font-size: .82rem;
  transition: background .12s, color .12s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fw-qty-btn:hover { background: #e8f5fc; color: #33a6e6; }
.fw-qty-input {
  width: 52px !important;
  border: none !important;
  border-left: 1.5px solid #d8eaf5 !important;
  border-right: 1.5px solid #d8eaf5 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #094e72 !important;
  background: #fff !important;
  padding: 0 !important;
  height: 44px !important;
  -moz-appearance: textfield !important;
  box-shadow: none !important;
}
.fw-qty-input::-webkit-outer-spin-button,
.fw-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Add-to-Cart Button */
.fw-add-btn-wrap { margin-top: .5rem; }
.fw-add-to-cart-btn {
  width: 100% !important;
  background: linear-gradient(135deg, #e8751a, #c45f0d) !important;
  border: none !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: .75rem 1.5rem !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  cursor: pointer !important;
  transition: opacity .15s, transform .1s !important;
  box-shadow: 0 4px 15px rgba(232,117,26,.3) !important;
}
.fw-add-to-cart-btn:hover {
  opacity: .92 !important;
  transform: translateY(-1px) !important;
}

/* Minimale Menge */
.fw-min-qty { font-size: .78rem; color: #8a9ab8; margin-top: .4rem; }

/* ══════════════════════════════════════════════
   PRINT-AT-HOME BANNER
   ══════════════════════════════════════════════ */
.fw-print-banner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0;
  align-items: stretch;
  border-radius: 16px;
  overflow: hidden;
  margin: 1.5rem 0;
  box-shadow: 0 8px 32px rgba(9,78,114,.13);
  position: relative;
}

/* Linke Deko-Spalte */
.fw-print-banner__deco {
  background: linear-gradient(180deg, #e8751a 0%, #c45f0d 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1.25rem;
  min-width: 70px;
}
.fw-print-banner__icon {
  font-size: 2rem;
  color: rgba(255,255,255,.85);
  transform: rotate(-15deg);
}

/* Mittlerer Content */
.fw-print-banner__content {
  background: linear-gradient(135deg, #094e72 0%, #0f6fa0 100%);
  padding: 1.5rem 1.75rem;
  color: #fff;
}
.fw-print-banner__eyebrow {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #85cef2;
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .4rem;
}
.fw-print-banner__eyebrow i { color: #e8751a; }
.fw-print-banner__title {
  font-size: 1.25rem;
  font-weight: 900;
  color: #fff;
  margin: 0 0 .5rem;
  line-height: 1.2;
}
.fw-print-banner__text {
  font-size: .85rem;
  color: rgba(255,255,255,.8);
  line-height: 1.55;
  margin: 0 0 .85rem;
}
.fw-print-banner__text strong { color: #fff; }
.fw-print-banner__perks {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.25rem;
}
.fw-print-banner__perks span {
  font-size: .78rem;
  color: rgba(255,255,255,.75);
  display: flex;
  align-items: center;
  gap: .3rem;
  font-weight: 600;
}
.fw-print-banner__perks i { color: #27ae60; }

/* Rechte Visual-Spalte: stilisierter "Gutschein" */
.fw-print-banner__visual {
  background: rgba(255,255,255,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1.5rem;
}
.fw-print-banner__paper {
  background: #fff;
  border-radius: 8px;
  padding: .85rem 1rem;
  width: 130px;
  box-shadow: 0 4px 16px rgba(0,0,0,.25), 3px 3px 0 rgba(0,0,0,.1);
  position: relative;
}
.fw-print-banner__paper-logo {
  display: flex;
  align-items: center;
  gap: .3rem;
  color: #094e72;
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .5rem;
}
.fw-print-banner__paper-logo i { color: #e8751a; font-size: .75rem; }
.fw-print-banner__paper-title {
  font-size: .7rem;
  font-weight: 900;
  color: #094e72;
  margin-bottom: .5rem;
  border-bottom: 1px solid #e8f0f8;
  padding-bottom: .35rem;
}
.fw-print-banner__paper-lines div {
  height: 5px;
  background: #e8f0f8;
  border-radius: 3px;
  margin-bottom: .35rem;
}
.fw-print-banner__paper-lines div:nth-child(2) { width: 75%; }
.fw-print-banner__paper-lines div:nth-child(3) { width: 55%; }
.fw-print-banner__paper-stamp {
  position: absolute;
  bottom: .6rem;
  right: .6rem;
  width: 28px;
  height: 28px;
  background: linear-gradient(135deg, #27ae60, #1e8449);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: .7rem;
}

@media (max-width: 640px) {
  .fw-print-banner { grid-template-columns: 1fr; }
  .fw-print-banner__deco { flex-direction: row; gap: .5rem; padding: .75rem 1rem; min-width: auto; }
  .fw-print-banner__icon { transform: none; font-size: 1.25rem; }
  .fw-print-banner__visual { display: none; }
}
