/*!
 * =====================================================================
 *  BUSWAL THEME  -  Modul fuer SocialEngine 8.1  |  v1.0.0  |  reines ASCII
 *  Wird von den Buswal-Widgets automatisch geladen (Kopfzeile/Menue/Fusszeile).
 *  TEIL A: globales Design (Farben, Knoepfe, Formulare, Tabs ...)
 *  TEIL B: Bausteine der Buswal-Widgets
 *  Eigene Buswal-Seiten (.bwd, .bwpe, .bwpr ...) bringen ihre Stile selbst mit.
 * =====================================================================
 */

/* =====================================================================
 *  TEIL A - GLOBALES DESIGN
 * ===================================================================== */
/* ===== 01 Farben & Masse ============================================ */
:root{
  --bw-ink:#050505;        /* Schrift / schwarze Knoepfe (wie Facebook) */
  --bw-ink-2:#1c1e21;      /* zweite Schriftfarbe */
  --bw-muted:#65676b;      /* leise Schrift */
  --bw-faint:#8a90a0;      /* Beschriftungen klein */
  --bw-line:#e6e8ec;       /* Rahmen */
  --bw-line-2:#eef0f3;     /* feine Trennlinien */
  --bw-soft:#f6f7f9;       /* helle Flaechen */
  --bw-soft-2:#f3f4f6;     /* Felder / Pillen */
  --bw-bg:#ffffff;         /* Seitenhintergrund (1.3.7: weiss) */
  --bw-card:#ffffff;
  --bw-hover:#2a2d33;
  --bw-grad:linear-gradient(135deg,#3b82f6,#ec4899);   /* Gruppenkauf / Akzent */
  --bw-grad-v:linear-gradient(180deg,#3b82f6,#ec4899);
  --bw-warn-bg:#fff7ed; --bw-warn-line:#fed7aa; --bw-warn:#9a3412;  /* Fehler: orange statt rot */
  --bw-ok-bg:#e6f8ec;   --bw-ok-line:#bbf0cd;   --bw-ok:#0b6b33;
  --bw-info-bg:#eff6ff; --bw-info-line:#cfe0fb; --bw-info:#1e40af;
  --bw-r-xl:18px; --bw-r-lg:14px; --bw-r:12px; --bw-r-sm:10px; --bw-pill:999px;
  --bw-sh-1:0 1px 2px rgba(15,17,21,.04);
  --bw-sh-2:0 6px 20px rgba(15,17,21,.08);
  --bw-sh-3:0 18px 50px rgba(15,17,21,.18);
  --bw-ring:0 0 0 3px rgba(15,17,21,.10);
  --bw-ease:cubic-bezier(.2,.8,.2,1);

  /* Bootstrap 5 (SocialEngine 8) auf Buswal-Farben stellen */
  --bs-primary:#0f1115; --bs-primary-rgb:15,17,21;
  --bs-secondary:#6b7080; --bs-secondary-rgb:107,112,128;
  --bs-danger:#c2410c;  --bs-danger-rgb:194,65,12;
  --bs-link-color:#0f1115; --bs-link-color-rgb:15,17,21;
  --bs-link-hover-color:#2a2d33; --bs-link-hover-color-rgb:42,45,51;
  --bs-body-color:#0f1115; --bs-border-color:#e6e8ec;
  --bs-border-radius:12px; --bs-border-radius-sm:10px; --bs-border-radius-lg:18px; --bs-border-radius-pill:999px;
  --bs-focus-ring-color:rgba(15,17,21,.12);
}

/* ===== 02 Grundlagen ================================================= */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html body{ background:var(--bw-bg); color:var(--bw-ink); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
html body ::selection{ background:#0f1115; color:#fff; }
html body a{ text-underline-offset:2px; transition:color .15s ease; }
html body img{ max-width:100%; }
html body :focus-visible{ outline:2px solid var(--bw-ink); outline-offset:2px; }
html body hr{ border:0; border-top:1px solid var(--bw-line); opacity:1; }
html body .font_color_light, html body .sesbasic_text_light{ color:var(--bw-muted); }

/* ===== 03 Kopf & Menues (nur Feinschliff, Pulse-Aufbau bleibt) ======= */
html body #global_header{ background:#fff; border-bottom:1px solid var(--bw-line); box-shadow:none; }
html body .layout_core_menu_main ul.navigation > li > a, html body .layout_core_menu_main .main_menu_navigation > li > a{ border-radius:var(--bw-r-sm); font-weight:700; transition:background .15s ease, color .15s ease; }
html body .layout_core_menu_main ul.navigation > li > a:hover, html body .layout_core_menu_main .main_menu_navigation > li > a:hover{ background:var(--bw-soft); color:var(--bw-ink); }
html body .layout_core_menu_main ul.navigation > li.active > a, html body .layout_core_menu_main .main_menu_navigation > li.active > a{ background:var(--bw-ink); color:#fff; }
/* Zaehler (Benachrichtigungen, Nachrichten, Freunde) */
html body .core_mini_menu .updates_count, html body .minimenu_count, html body .notification_count, html body .header_count, html body .core_menu_mini .count, html body #core_menu_mini_menu .count{ background:var(--bw-grad) !important; color:#fff !important; border:2px solid #fff; font-weight:800; }
/* Suchfeld im Kopf */
html body .layout_core_search_mini input[type="text"], html body .layout_core_search_mini input[type="search"], html body #global_search_field{ border:1.5px solid var(--bw-line); border-radius:var(--bw-pill); background:var(--bw-soft); padding-left:14px; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
html body .layout_core_search_mini input:focus, html body #global_search_field:focus{ background:#fff; border-color:var(--bw-ink); box-shadow:var(--bw-ring); outline:none; }

/* ===== 04 Seitenaufbau =============================================== */
html body .layout_main{ gap:20px; }
/* Seiten-Kopf eines Bereichs (Browse-Seiten) */
html body .headline h2, html body .layout_page_header h2, html body .generic_layout_container > h2{ font-weight:800; letter-spacing:-.01em; color:var(--bw-ink); }

/* ===== 05 Widgets ==================================================== */
/* Seitenspalten: jedes Widget als weisse Karte */
html body .layout_left > .generic_layout_container, html body .layout_right > .generic_layout_container{
  background:var(--bw-card); border:1px solid var(--bw-line); border-radius:var(--bw-r-xl);
  padding:16px; margin-bottom:16px; box-shadow:var(--bw-sh-1);
}
/* leere / reine Werbe-Widgets nicht als Karte */
html body .layout_left > .generic_layout_container:empty, html body .layout_right > .generic_layout_container:empty{ display:none; }
/* Widget-Ueberschriften */
html body .generic_layout_container > h3, html body .layout_left > .generic_layout_container > h3, html body .layout_right > .generic_layout_container > h3{
  position:relative; margin:0 0 12px; padding:0 0 0 12px; background:none; border:0;
  font-size:15px; font-weight:800; line-height:1.3; letter-spacing:-.005em; color:var(--bw-ink); text-transform:none;
}
html body .generic_layout_container > h3::before{ content:""; position:absolute; left:0; top:2px; bottom:2px; width:4px; border-radius:4px; background:var(--bw-grad-v); }
/* Mehr-Links in Widgets */
html body .generic_layout_container .more_link a, html body .generic_layout_container .view_all a, html body .sesbasic_more_link a{
  font-weight:800; font-size:13px; color:var(--bw-ink); text-decoration:none;
}

/* ===== 06 Knoepfe ==================================================== */
/* Bootstrap-Knoepfe */
html body .btn{ --bs-btn-font-weight:800; --bs-btn-border-radius:999px; --bs-btn-padding-x:18px; --bs-btn-padding-y:9px; --bs-btn-focus-box-shadow:var(--bw-ring);
  transition:background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease; }
html body .btn:active{ transform:translateY(1px); }
html body .btn-primary{ --bs-btn-bg:#0f1115; --bs-btn-border-color:#0f1115; --bs-btn-color:#fff;
  --bs-btn-hover-bg:#2a2d33; --bs-btn-hover-border-color:#2a2d33; --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:#000; --bs-btn-active-border-color:#000; --bs-btn-active-color:#fff;
  --bs-btn-disabled-bg:#0f1115; --bs-btn-disabled-border-color:#0f1115; }
html body .btn-secondary, html body .btn-alt, html body .btn-light{ --bs-btn-bg:#fff; --bs-btn-border-color:#e3e5e8; --bs-btn-color:#0f1115;
  --bs-btn-hover-bg:#f6f7f9; --bs-btn-hover-border-color:#d9dce1; --bs-btn-hover-color:#0f1115;
  --bs-btn-active-bg:#eef0f3; --bs-btn-active-border-color:#d9dce1; --bs-btn-active-color:#0f1115; }
html body .btn-outline-primary{ --bs-btn-color:#0f1115; --bs-btn-border-color:#0f1115; --bs-btn-hover-bg:#0f1115; --bs-btn-hover-border-color:#0f1115; --bs-btn-hover-color:#fff; }
html body .btn-link{ --bs-btn-color:#0f1115; --bs-btn-hover-color:#2a2d33; text-decoration:none; }
/* "Gefahr" (Loeschen) ohne Rot: dunkles Orange */
html body .btn-danger{ --bs-btn-bg:#fff7ed; --bs-btn-border-color:#fed7aa; --bs-btn-color:#9a3412;
  --bs-btn-hover-bg:#ffedd5; --bs-btn-hover-border-color:#fdba74; --bs-btn-hover-color:#7c2d12; }
html body .btn-success{ --bs-btn-bg:#0b6b33; --bs-btn-border-color:#0b6b33; --bs-btn-hover-bg:#09592a; --bs-btn-hover-border-color:#09592a; }

/* Klassische SocialEngine-/SES-Knoepfe */
html body .global_form button[type="submit"], html body .global_form button#submit, html body .global_form button#done, html body .global_form button#execute, html body .global_form input[type="submit"], html body button.button, html body a.button, html body input.button, html body .sesbasic_button, html body a.sesbasic_link_btn, html body .sesbasic_animation.sesbasic_link_btn{
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  min-height:42px; padding:0 20px; border:1.5px solid #0f1115; border-radius:var(--bw-pill);
  background:#0f1115; color:#fff; font:inherit; font-size:14px; font-weight:800; line-height:1.2;
  text-decoration:none; cursor:pointer; box-shadow:none; text-shadow:none; background-image:none;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
html body .global_form button[type="submit"]:hover, html body .global_form input[type="submit"]:hover, html body button.button:hover, html body a.button:hover, html body .sesbasic_button:hover, html body a.sesbasic_link_btn:hover{ background:#2a2d33; border-color:#2a2d33; color:#fff; }
html body .global_form button[type="submit"]:active, html body .global_form input[type="submit"]:active, html body button.button:active, html body a.button:active, html body .sesbasic_button:active, html body a.sesbasic_link_btn:active{ transform:translateY(1px); box-shadow:var(--bw-ring); }
html body .global_form button[type="submit"]:disabled, html body .global_form input[type="submit"]:disabled{ opacity:.45; cursor:not-allowed; }
/* "Abbrechen" neben dem Speichern-Knopf */
html body .global_form .form-element a[href*="cancel"], html body .global_form #cancel, html body .global_form a#cancel, html body .global_form .buttons a{
  display:inline-flex; align-items:center; min-height:42px; padding:0 16px; border-radius:var(--bw-pill);
  background:var(--bw-soft-2); color:var(--bw-ink); font-size:14px; font-weight:800; text-decoration:none;
}
html body .global_form .buttons, html body .global_form #buttons-element, html body .global_form #buttons-wrapper .form-element{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }

/* ===== 07 Formulare ================================================== */
/* Formular als Karte (Seiten-Formulare, nicht im Dashboard-Baustein) */
html body .layout_middle > .generic_layout_container > form.global_form > div > div, html body .layout_middle > form.global_form > div > div, html body #global_content > form.global_form > div > div{
  background:var(--bw-card); border:1px solid var(--bw-line); border-radius:var(--bw-r-xl);
  padding:24px; box-shadow:var(--bw-sh-1);
}
html body .global_form h3{ font-size:20px; font-weight:800; letter-spacing:-.01em; color:var(--bw-ink); margin:0 0 6px; }
html body .global_form > div > div > p.form-description, html body .global_form .form-description{ color:var(--bw-muted); font-size:14px; margin:0 0 16px; }
html body .global_form .form-label label, html body .global_form label.optional, html body .global_form label.required{ font-size:13px; font-weight:800; color:var(--bw-ink-2); }
html body .global_form .form-element .description, html body .global_form p.description, html body .form-text{ color:var(--bw-muted); font-size:12.5px; line-height:1.45; }

/* Eingabefelder */
html body .global_form input[type="text"], html body .global_form input[type="email"], html body .global_form input[type="password"], html body .global_form input[type="search"], html body .global_form input[type="number"], html body .global_form input[type="url"], html body .global_form input[type="tel"], html body .global_form input[type="date"], html body .global_form input[type="datetime-local"], html body .global_form input[type="time"], html body .global_form select, html body .global_form textarea, html body .form-control, html body .form-select{
  box-sizing:border-box; width:100%; max-width:100%; min-height:44px; padding:10px 12px;
  border:1.5px solid #e3e5e8; border-radius:var(--bw-r); background-color:#fff; color:var(--bw-ink);
  font:inherit; font-size:15px; line-height:1.4; box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
html body .global_form textarea, html body textarea.form-control{ min-height:110px; resize:vertical; }
html body .global_form input:hover:not(:focus):not([type="checkbox"]):not([type="radio"]), html body .global_form select:hover:not(:focus), html body .global_form textarea:hover:not(:focus), html body .form-control:hover:not(:focus), html body .form-select:hover:not(:focus){ border-color:#d0d4da; }
html body .global_form input:focus, html body .global_form select:focus, html body .global_form textarea:focus, html body .form-control:focus, html body .form-select:focus{ border-color:var(--bw-ink); box-shadow:var(--bw-ring); outline:none; }
html body .global_form input::placeholder, html body .global_form textarea::placeholder, html body .form-control::placeholder{ color:#9aa0ad; }
html body .global_form select, html body .form-select{ appearance:none; -webkit-appearance:none; padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230f1115' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:16px; }
html body .global_form select[multiple], html body select.form-select[multiple]{ background-image:none; padding-right:12px; }
html body input[type="checkbox"], html body input[type="radio"]{ accent-color:#0f1115; }
html body .global_form input[type="checkbox"], html body .global_form input[type="radio"], html body .form-check-input{ width:18px; height:18px; }
html body .form-check-input:checked{ background-color:#0f1115; border-color:#0f1115; }
html body .form-check-input:focus{ box-shadow:var(--bw-ring); border-color:#0f1115; }
html body .form-switch .form-check-input{ width:2.4em; }
html body input[type="file"]{ font-size:14px; }
html body input[type="file"]::file-selector-button{ margin-right:10px; padding:8px 14px; border:0; border-radius:var(--bw-pill); background:var(--bw-ink); color:#fff; font-weight:800; cursor:pointer; }
html body input[type="range"]{ accent-color:#0f1115; }

/* Fehler & Hinweise im Formular */
html body .global_form ul.form-errors, html body .global_form ul.errors, html body ul.form-errors{
  list-style:none; margin:0 0 14px; padding:12px 14px; border:1px solid var(--bw-warn-line); border-radius:var(--bw-r);
  background:var(--bw-warn-bg); color:var(--bw-warn); font-size:13.5px; font-weight:600;
}
html body .global_form ul.form-errors li, html body ul.form-errors li{ background:none; padding:0; margin:0; }
html body .global_form .form-element ul.errors{ margin:6px 0 0; padding:6px 10px; font-size:12.5px; }
html body .global_form ul.form-notices, html body ul.form-notices{
  list-style:none; margin:0 0 14px; padding:12px 14px; border:1px solid var(--bw-ok-line); border-radius:var(--bw-r);
  background:var(--bw-ok-bg); color:var(--bw-ok); font-size:13.5px; font-weight:600;
}
html body .global_form ul.form-notices li, html body ul.form-notices li{ background:none; padding:0; margin:0; }
html body .global_form .form-wrapper{ margin-bottom:14px; }

/* ===== 08 Tabs ======================================================= */
html body .tabs_alt{ border:0; margin-bottom:14px; }
html body .tabs_alt > ul, html body .tabs_alt ul#main_tabs, html body .sesbasic_tabs > ul{
  display:flex; flex-wrap:nowrap; gap:6px; margin:0; padding:6px; list-style:none;
  background:var(--bw-soft); border:1px solid var(--bw-line-2); border-radius:var(--bw-r-lg);
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
html body .tabs_alt > ul::-webkit-scrollbar, html body .sesbasic_tabs > ul::-webkit-scrollbar{ display:none; }
html body .tabs_alt > ul > li, html body .sesbasic_tabs > ul > li{ flex:0 0 auto; float:none; margin:0; border:0; background:none; }
html body .tabs_alt > ul > li > a, html body .sesbasic_tabs > ul > li > a{
  display:inline-flex; align-items:center; gap:6px; height:38px; padding:0 14px; border:0; border-radius:var(--bw-r-sm);
  background:transparent; color:#4b5261; font-size:13.5px; font-weight:800; white-space:nowrap; text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
html body .tabs_alt > ul > li > a:hover, html body .sesbasic_tabs > ul > li > a:hover{ background:#fff; color:var(--bw-ink); }
html body .tabs_alt > ul > li.active > a, html body .tabs_alt > ul > li > a.active, html body .sesbasic_tabs > ul > li.active > a{
  background:var(--bw-ink); color:#fff; box-shadow:0 2px 8px rgba(15,17,21,.15);
}
html body .tabs_alt > ul > li > a span, html body .tabs_alt .count{ font-size:11px; font-weight:800; padding:1px 7px; border-radius:var(--bw-pill); background:rgba(15,17,21,.08); }
html body .tabs_alt > ul > li.active > a span, html body .tabs_alt > ul > li.active .count{ background:rgba(255,255,255,.18); }
/* Bootstrap Nav-Tabs / Pills */
html body .nav-tabs{ border-bottom:0; gap:6px; }
html body .nav-tabs .nav-link{ border:0; border-radius:var(--bw-r-sm); color:#4b5261; font-weight:800; }
html body .nav-tabs .nav-link:hover{ background:var(--bw-soft); color:var(--bw-ink); }
html body .nav-tabs .nav-link.active, html body .nav-pills .nav-link.active{ background:var(--bw-ink); color:#fff; }

/* ===== 09 Seitenzahlen =============================================== */
html body .pages ul.paginationControl, html body ul.paginationControl{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; list-style:none; margin:18px 0; padding:0; }
html body ul.paginationControl > li{ float:none; margin:0; }
html body ul.paginationControl > li > a, html body ul.paginationControl > li > span, html body ul.paginationControl > li.selected > a{
  display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 12px;
  border:1px solid var(--bw-line); border-radius:var(--bw-r-sm); background:#fff; color:var(--bw-ink); font-weight:800; font-size:14px; text-decoration:none;
}
html body ul.paginationControl > li > a:hover{ background:var(--bw-soft); }
html body ul.paginationControl > li.selected > a, html body ul.paginationControl > li.selected > span{ background:var(--bw-ink); border-color:var(--bw-ink); color:#fff; }
html body .pagination{ --bs-pagination-color:#0f1115; --bs-pagination-hover-color:#0f1115; --bs-pagination-hover-bg:#f6f7f9;
  --bs-pagination-active-bg:#0f1115; --bs-pagination-active-border-color:#0f1115; --bs-pagination-border-color:#e6e8ec;
  --bs-pagination-focus-box-shadow:var(--bw-ring); --bs-pagination-border-radius:10px; gap:6px; }
html body .pagination .page-link{ border-radius:10px !important; font-weight:800; min-width:40px; text-align:center; }
/* "Mehr laden" */
html body .load_more .btn, html body .sesbasic_load_btn a, html body .sesbasic_view_more a, html body .feed_viewmore a, html body #feed_viewmore_link{
  border-radius:var(--bw-pill); font-weight:800;
}

/* ===== 10 Listen & Bilder ============================================ */
html body .thumb_icon, html body img.thumb_icon, html body .item_photo_user.thumb_icon{ border-radius:50%; object-fit:cover; }
html body .thumb_normal, html body .thumb_profile, html body img.thumb_profile{ border-radius:var(--bw-r-lg); object-fit:cover; }
html body .item_photo_user, html body img.item_photo_user{ object-fit:cover; }
/* Mitglieder-/Eintragslisten in Seiten-Widgets: weiche Zeilen */
html body .layout_left ul > li, html body .layout_right ul > li{ border-color:var(--bw-line-2); }
/* Karten-Hover fuer verlinkte Kacheln (SES-Raster) */
html body .sesbasic_grid_item, html body .sesbasic_list_item, html body .sesbasic_item_grid{ transition:box-shadow .2s var(--bw-ease), transform .2s var(--bw-ease); }
html body .sesbasic_grid_item:hover, html body .sesbasic_item_grid:hover{ box-shadow:var(--bw-sh-2); transform:translateY(-2px); }
/* Leerer Ladebereich */
html body .sesbasic_loading_container{ min-height:120px; border-radius:var(--bw-r-xl);
  background:linear-gradient(90deg,#f3f4f6 25%,#fafbfc 37%,#f3f4f6 63%); background-size:400% 100%; animation:bwShimmer 1.3s ease infinite; }
@keyframes bwShimmer{ 0%{ background-position:100% 50%; } 100%{ background-position:0 50%; } }

/* ===== 11 Ausklapp-Menues ============================================ */
html body .dropdown-menu{ --bs-dropdown-border-color:#e6e8ec; --bs-dropdown-border-radius:14px; --bs-dropdown-link-hover-bg:#f6f7f9;
  --bs-dropdown-link-active-bg:#0f1115; --bs-dropdown-link-active-color:#fff; --bs-dropdown-padding-x:6px; --bs-dropdown-padding-y:6px;
  box-shadow:var(--bw-sh-2); }
html body .dropdown-item{ border-radius:10px; font-weight:600; padding:8px 12px; }
html body .dropdown-divider{ border-color:var(--bw-line-2); }
/* SE-eigene Pulldowns (Benachrichtigungen, Optionen) */
html body .pulldown_contents_wrapper, html body .updates_pulldown_active .pulldown_contents_wrapper, html body .core_pulldown_contents{
  border:1px solid var(--bw-line) !important; border-radius:var(--bw-r-lg) !important; box-shadow:var(--bw-sh-2) !important; overflow:hidden;
}

/* ===== 12 Popups ===================================================== */
html body #TB_overlay, html body .ajaxsmoothbox_overlay, html body .modal-backdrop{ background:rgba(15,17,21,.5); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
html body #TB_window, html body .ajaxsmoothbox_main, html body .modal-content{
  border:0 !important; border-radius:20px !important; box-shadow:var(--bw-sh-3) !important; overflow:hidden; background:#fff;
}
html body #TB_title, html body .modal-header{ border-bottom:1px solid var(--bw-line-2); font-weight:800; }
html body .modal-footer{ border-top:1px solid var(--bw-line-2); }
html body #TB_closeWindowButton, html body .ajaxsmoothbox_close, html body .btn-close{ border-radius:50%; opacity:.8; }
html body .btn-close:focus{ box-shadow:var(--bw-ring); }

/* ===== 13 Hinweise (tip) ============================================= */
html body .tip, html body .sesbasic_tip{ margin:0 0 14px; }
html body .tip > span, html body .sesbasic_tip > span{
  position:relative; display:block; padding:14px 16px 14px 48px; border:1.5px dashed #e3e5e8; border-radius:var(--bw-r-lg);
  background:var(--bw-soft); color:var(--bw-ink-2); font-size:14px; line-height:1.5; background-image:none;
}
html body .tip > span::before, html body .sesbasic_tip > span::before{ content:"i"; position:absolute; left:16px; top:13px; width:22px; height:22px; border-radius:50%; background:var(--bw-ink); color:#fff;
  font:800 12px/22px Georgia, serif; text-align:center; }
html body .tip > span a, html body .sesbasic_tip > span a{ font-weight:800; color:var(--bw-ink); }

/* ===== 14 Badges ===================================================== */
html body .badge{ border-radius:var(--bw-pill); font-weight:800; letter-spacing:.01em; }
html body .badge.bg-primary, html body .text-bg-primary{ background:var(--bw-ink) !important; color:#fff !important; }
html body .badge.bg-danger, html body .text-bg-danger{ background:var(--bw-grad) !important; color:#fff !important; }
html body .badge.bg-secondary, html body .badge.bg-light, html body .text-bg-light{ background:var(--bw-soft-2) !important; color:var(--bw-ink-2) !important; }
html body .badge.bg-success, html body .text-bg-success{ background:var(--bw-ok-bg) !important; color:var(--bw-ok) !important; }
html body .badge.bg-warning, html body .text-bg-warning{ background:var(--bw-warn-bg) !important; color:var(--bw-warn) !important; }
html body .text-danger{ color:#c2410c !important; }
/* Buswal-Akzent zum Wiederverwenden: <span class="bw-grad-badge">Gruppenkauf</span> */
html body .bw-grad-badge{ display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:var(--bw-pill); background:var(--bw-grad); color:#fff; font-size:11.5px; font-weight:800; }
html body .bw-grad-text{ background:var(--bw-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ===== 15 Tabellen =================================================== */
html body .table{ --bs-table-border-color:#eef0f3; --bs-table-striped-bg:#fafbfc; --bs-table-hover-bg:#f6f7f9; }
html body .table > thead th{ font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--bw-faint); background:var(--bw-soft); border-bottom:1px solid var(--bw-line); }
html body .table > :not(caption) > * > *{ padding:12px 12px; vertical-align:middle; }
html body .table-responsive{ border:1px solid var(--bw-line); border-radius:var(--bw-r-lg); background:#fff; }
html body .table-responsive > .table{ margin:0; }

/* ===== 16 Meldungen (Bootstrap-Alerts) =============================== */
html body .alert{ border-radius:var(--bw-r-lg); font-weight:600; font-size:14px; }
html body .alert-danger{ --bs-alert-bg:#fff7ed; --bs-alert-border-color:#fed7aa; --bs-alert-color:#9a3412; }
html body .alert-warning{ --bs-alert-bg:#fffbeb; --bs-alert-border-color:#fde68a; --bs-alert-color:#92400e; }
html body .alert-success{ --bs-alert-bg:#e6f8ec; --bs-alert-border-color:#bbf0cd; --bs-alert-color:#0b6b33; }
html body .alert-info, html body .alert-primary{ --bs-alert-bg:#eff6ff; --bs-alert-border-color:#cfe0fb; --bs-alert-color:#1e40af; }
/* SE-Meldungen am Seitenkopf */
html body ul.form-notices, html body .core_message_success{ border-radius:var(--bw-r-lg); }

/* ===== 17 Fusszeile ================================================== */
html body #global_footer{ background:#fff; border-top:1px solid var(--bw-line); color:var(--bw-muted); }
html body #global_footer a, html body .layout_core_menu_footer a{ color:var(--bw-ink-2); font-weight:600; text-decoration:none; }
html body #global_footer a:hover, html body .layout_core_menu_footer a:hover{ color:var(--bw-ink); text-decoration:underline; }
html body .layout_core_menu_footer select, html body #global_footer select{ border:1.5px solid var(--bw-line); border-radius:var(--bw-pill); padding:6px 30px 6px 12px; background-color:#fff; }

/* ===== 18 Kleinkram ================================================== */
/* schlanke Bildlaufleisten (Desktop) */
@media (hover:hover) and (pointer:fine){
  html body *{ scrollbar-width:thin; scrollbar-color:#d0d4da transparent; }
  html body ::-webkit-scrollbar{ width:10px; height:10px; }
  html body ::-webkit-scrollbar-thumb{ background:#d0d4da; border-radius:10px; border:3px solid transparent; background-clip:content-box; }
  html body ::-webkit-scrollbar-thumb:hover{ background:#b6bac4; border:3px solid transparent; background-clip:content-box; }
  html body ::-webkit-scrollbar-track{ background:transparent; }
}
/* Zitate, Code */
html body blockquote{ margin:12px 0; padding:10px 14px; border-left:4px solid; border-image:var(--bw-grad-v) 1; background:var(--bw-soft); color:var(--bw-ink-2); }
html body code, html body pre{ border-radius:8px; background:var(--bw-soft-2); }
html body pre{ padding:12px 14px; overflow:auto; }
/* Tooltip */
html body .tooltip{ --bs-tooltip-bg:#0f1115; --bs-tooltip-border-radius:8px; --bs-tooltip-font-size:12.5px; }

/* ===== 19 Tablet & Handy ============================================= */
@media (max-width:1024px){
  /* kein Zoomen beim Antippen von Feldern (iPhone/iPad) */
  html body input[type="text"], html body input[type="email"], html body input[type="password"], html body input[type="search"], html body input[type="number"], html body input[type="url"], html body input[type="tel"], html body input[type="date"], html body input[type="datetime-local"], html body input[type="time"], html body select, html body textarea, html body .form-control, html body .form-select{ font-size:16px !important; }
}
@media (max-width:991px){
  html body .layout_left > .generic_layout_container, html body .layout_right > .generic_layout_container{ padding:14px; border-radius:16px; margin-bottom:12px; }
  html body .layout_middle > .generic_layout_container > form.global_form > div > div, html body .layout_middle > form.global_form > div > div, html body #global_content > form.global_form > div > div{ padding:18px; border-radius:16px; }
}
@media (max-width:767px){
  html body .global_form h3{ font-size:18px; }
  /* Speichern-Knopf in Formularen volle Breite */
  html body .global_form .buttons > button[type="submit"], html body .global_form #buttons-element > button[type="submit"], html body .global_form #submit-element > button, html body .global_form #done-element > button{ flex:1 1 100%; width:100%; min-height:48px; }
  html body .global_form .buttons > a, html body .global_form #buttons-element > a{ flex:1 1 100%; justify-content:center; min-height:46px; }
  html body .tabs_alt > ul > li > a, html body .sesbasic_tabs > ul > li > a{ height:40px; }
  html body ul.paginationControl > li > a, html body ul.paginationControl > li > span{ min-width:42px; height:42px; }
  html body #TB_window, html body .ajaxsmoothbox_main{ border-radius:18px !important; max-width:calc(100vw - 20px) !important; }
  html body .table-responsive{ border-radius:var(--bw-r); }
}

/* ===== 20 Bewegung reduzieren ======================================== */
@media (prefers-reduced-motion:reduce){
  html body *, html body *::before, html body *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* =====================================================================
 *  TEIL B - BUSWAL-BAUSTEINE: Kopfzeile, Suche, Icon-Leiste, Kacheln,
 *  Handy-Menue, Fusszeile
 * ===================================================================== *//* Grund-Reset fuer Buswal-Bausteine (niedrige Gewichtung per :where -> eigene Klassen gewinnen,
   allgemeine Theme-Regeln fuer button/ul/li/a/img/h* werden aber neutralisiert) */

html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop, .bwm-ov) button{ -webkit-appearance:none; appearance:none; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; text-shadow:none;
  text-transform:none; letter-spacing:normal; min-width:0; min-height:0; width:auto; height:auto; float:none; line-height:1.2; font:inherit; color:inherit; cursor:pointer; outline-offset:2px; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) ul, html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) ol{ list-style:none; margin:0; padding:0; border:0; background:none; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) ul li{ list-style:none; margin:0; padding:0; border:0; background:none; float:none; width:auto; display:block; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) ul li::before, html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) ul li::after{ content:none; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) a{ text-decoration:none; text-transform:none; background-image:none; box-shadow:none; border:0; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) a:hover{ text-decoration:none; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) img{ border:0; box-shadow:none; max-width:100%; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) :is(h1, h2, h3, h4, p, form){ margin:0; padding:0; border:0; background:none; text-transform:none; }
html body :where(.bwh, .bwq, .bwm, .bwf, .bwb-pop) :is(span, b, small){ background:none; border:0; }
html body .bwh, html body .bwq, html body .bwm, html body .bwf, html body .bwb-pop{ text-transform:none; letter-spacing:normal; text-align:left; line-height:1.4; box-sizing:border-box; float:none; }
html body .bw-ic{ display:block; flex:0 0 auto; }
html body .bwh [hidden], html body .bwm [hidden], html body .bwf [hidden], html body .bwb-pop [hidden], html body .bwq [hidden]{ display:none !important; }/* Widget-Rahmen von SocialEngine neutralisieren */


html body .layout_buswal_header, html body .layout_buswal_mobile_menu, html body .layout_buswal_footer{ margin:0 !important; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; }
html body #global_header:has(.bwh){ padding:0 !important; background:transparent; border:0; box-shadow:none; }
html body #global_footer:has(.bwf){ padding:0 !important; margin:0 !important; background:transparent !important; border:0 !important; }
html body .layout_buswal_header{ position:relative; z-index:1000; }/* ===== B1 Kopfzeile ================================================== */


html body .bwh{ position:relative; z-index:1000; background:#fff; color:var(--bw-ink); border-bottom:1px solid var(--bw-line); font-family:inherit; color-scheme:only light; }
html body .bwh *{ box-sizing:border-box; }
html body .bwh.is-fixed{ position:fixed; top:0; left:0; right:0; box-shadow:0 8px 24px rgba(15,17,21,.08); animation:bwhDown .22s var(--bw-ease); }
@keyframes bwhDown{ from{ transform:translateY(-100%); } to{ transform:none; } }
html body .bwh-in{ max-width:1320px; height:68px; margin:0 auto; padding:0 20px; display:flex; align-items:center; gap:16px; }
html body .bwh-left{ flex:1 1 0; min-width:0; display:flex; align-items:center; gap:8px; }
html body .bwh-right{ flex:1 1 0; min-width:max-content; display:flex; align-items:center; justify-content:flex-end; }
html body .bwh-burger{ flex:0 0 40px; width:40px; height:40px; margin:0 0 0 -8px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--bw-ink);
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background .15s ease; }
html body .bwh-burger:hover, html body .bwh-burger[aria-expanded="true"]{ background:var(--bw-soft-2); }
html body .bwh-logo{ display:flex; align-items:center; min-width:0; height:46px; }
html body .bwh-logo .generic_layout_container, html body .bwh-logo .layout_core_menu_logo{ margin:0 !important; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; }
html body .bwh-logo a{ display:flex; align-items:center; text-decoration:none !important; }
html body .bwh-logo img{ display:block; width:auto !important; height:auto !important; max-height:46px; max-width:210px !important; object-fit:contain; filter:none !important; }
html body .bwh-logo__txt, html body .bwf-logo__txt{ display:none !important; font-size:26px; font-weight:900; letter-spacing:-.03em; line-height:1; color:var(--bw-ink) !important; white-space:nowrap; }
html body .bwh-logo.is-noimg .bwh-logo__txt, html body .bwf-logo.is-noimg .bwf-logo__txt{ display:inline-block !important; }
html body .bwh-logo.is-noimg img, html body .bwf-logo.is-noimg img{ display:none !important; }
html body .bwh-pill{ display:inline-flex; align-items:center; justify-content:center; gap:7px; height:38px; padding:0 16px; border-radius:var(--bw-pill);
  background:var(--bw-ink); color:#fff !important; font-size:13.5px; font-weight:800; white-space:nowrap; text-decoration:none !important; border:1px solid var(--bw-ink); transition:background .15s ease; }
html body .bwh-pill:hover{ background:var(--bw-hover); }
html body .bwh-pill--ghost{ background:#fff; color:var(--bw-ink) !important; border-color:#e3e5e8; }
html body .bwh-pill--ghost:hover{ background:var(--bw-soft-2); }
html body .bwh--admin .bwh-in{ height:58px; }/* ===== B2 Suche ====================================================== */


html body .bws{ flex:0 1 560px; min-width:240px; position:relative; }
html body .bws-toggle{ display:none; }
html body .bws-box{ position:relative; }
html body .bws-form{ display:flex !important; align-items:center; gap:2px; width:100%; height:42px; margin:0 !important; padding:0 4px 0 14px !important;
  background:var(--bw-soft) !important; border:1.5px solid transparent !important; border-radius:var(--bw-pill) !important; box-shadow:none !important;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease; }
html body .bws-form:hover{ border-color:#e3e5e8 !important; }
html body .bws-form:focus-within{ background:#fff !important; border-color:var(--bw-ink) !important; box-shadow:var(--bw-ring) !important; }
html body .bws-ic{ display:inline-flex; color:var(--bw-muted); }
html body .bws-input{ flex:1 1 auto; min-width:0; width:auto !important; height:38px !important; min-height:0 !important; margin:0 !important; padding:0 8px !important;
  border:0 !important; outline:none !important; box-shadow:none !important; background:transparent !important; border-radius:0 !important;
  color:var(--bw-ink) !important; font:inherit; font-size:14.5px !important; -webkit-appearance:none; appearance:none; }
html body .bws-input::placeholder{ color:#8b919a; opacity:1; }
html body .bws-input::-webkit-search-cancel-button, html body .bws-input::-webkit-search-decoration{ -webkit-appearance:none; display:none; }
html body .bws-clear, html body .bws-go{ flex:0 0 auto; display:inline-flex !important; align-items:center; justify-content:center; margin:0 !important; padding:0 !important; border:0 !important; border-radius:50% !important; cursor:pointer; box-shadow:none !important; }
html body .bws-clear{ width:28px; height:28px; background:transparent !important; color:#8b919a !important; }
html body .bws-clear:hover{ background:#e9ebee !important; color:var(--bw-ink) !important; }
html body .bws-go{ width:32px; height:32px; background:var(--bw-ink) !important; color:#fff !important; transition:background .15s ease; }
html body .bws-go:hover{ background:var(--bw-hover) !important; }
html body .bws-res{ position:absolute; z-index:100006; top:calc(100% + 8px); left:0; right:0; min-width:340px; box-sizing:border-box; padding:6px;
  background:#fff; color:var(--bw-ink); border:1px solid var(--bw-line); border-radius:18px; box-shadow:var(--bw-sh-3);
  max-height:min(70vh, 480px); overflow-y:auto; overscroll-behavior:contain; text-align:left; }
html body .bws-res.is-busy .bws-row{ opacity:.55; }
html body .bws-head{ padding:6px 10px 4px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--bw-faint); }
html body .bws-row{ display:flex; align-items:center; gap:10px; min-height:50px; padding:6px 10px; border-radius:12px; color:var(--bw-ink) !important; text-decoration:none !important; }
html body .bws-row:hover, html body .bws-row.is-act{ background:var(--bw-soft-2); }
html body .bws-th{ flex:0 0 38px; width:38px; height:38px; border-radius:11px; background:#f0f1f3 center / cover no-repeat; display:inline-flex; align-items:center; justify-content:center; font-weight:800; color:var(--bw-muted); overflow:hidden; }
html body .bws-th--user{ border-radius:50%; }
html body .bws-tx{ flex:1 1 auto; min-width:0; line-height:1.3; }
html body .bws-tx b{ display:block; font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .bws-tx b mark{ background:none; color:var(--bw-ink); font-weight:800; padding:0; }
html body .bws-tx small{ display:block; font-size:12px; color:#8b919a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .bws-kind{ flex:0 0 auto; padding:3px 9px; border-radius:var(--bw-pill); background:var(--bw-soft-2); font-size:11px; font-weight:700; color:#4b5563; }
html body .bws-all{ display:flex; align-items:center; gap:10px; margin-top:4px; padding:12px 10px; border-top:1px solid var(--bw-line-2); border-radius:0 0 12px 12px; font-size:13.5px; font-weight:800; color:var(--bw-ink) !important; text-decoration:none !important; }
html body .bws-all:hover, html body .bws-all.is-act{ background:var(--bw-soft-2); }
html body .bws-msg{ padding:18px 12px; font-size:13px; color:var(--bw-muted); text-align:center; }
html body .bws-sk{ display:flex; align-items:center; gap:10px; min-height:50px; padding:6px 10px; }
html body .bws-sk i{ flex:0 0 38px; height:38px; border-radius:11px; }
html body .bws-sk span{ flex:1 1 auto; max-width:60%; height:12px; border-radius:6px; }
html body .bws-sk i, html body .bws-sk span{ background:linear-gradient(90deg,#f0f1f3 0%,#f7f8fa 50%,#f0f1f3 100%); background-size:200% 100%; animation:bwSk 1.1s linear infinite; }
@keyframes bwSk{ from{ background-position:200% 0; } to{ background-position:-200% 0; } }/* ===== B3 Icon-Leiste + Fenster ===================================== */


html body .bwb{ --bwb-size:40px; display:flex; align-items:center; gap:4px; }
html body .bwb-btn{ position:relative; flex:0 0 var(--bwb-size); width:var(--bwb-size); height:var(--bwb-size); margin:0; padding:0; border:0; border-radius:50%;
  background:transparent; color:var(--bw-ink); display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  font:inherit; -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:background .15s ease; }
html body .bwb-btn:hover, html body .bwb-btn:focus-visible, html body .bwb-btn[aria-expanded="true"]{ background:var(--bw-soft-2); outline:none; }
html body .bwb-btn--txt{ font-size:13px; font-weight:800; letter-spacing:.02em; }
html body .bwb-btn--me{ margin-left:4px; padding:2px; background:var(--bw-grad); }
html body .bwb-btn--me:hover, html body .bwb-btn--me[aria-expanded="true"]{ background:var(--bw-grad); box-shadow:0 0 0 3px rgba(15,17,21,.08); }
html body .bwb-btn--me img, html body .bwb-btn--me .bw-ic{ width:100% !important; height:100% !important; border-radius:50%; object-fit:cover; display:block; border:2px solid #fff; background:#fff; }
html body .bwb-btn--me .bw-ic{ padding:5px; }
html body .bwb-badge{ position:absolute; top:2px; right:1px; min-width:17px; height:17px; padding:0 5px; border-radius:var(--bw-pill); background:var(--bw-grad); color:#fff;
  font-size:10px; font-weight:800; line-height:17px; text-align:center; box-shadow:0 0 0 2px #fff; pointer-events:none; }
html body .bwb-badge:empty{ display:none; }
html body .bwb--guest{ gap:8px; }

html body .bwb-pop{ position:fixed; z-index:100005; top:72px; left:8px; width:340px; max-width:calc(100vw - 16px); box-sizing:border-box;
  background:#fff; color:var(--bw-ink); border:1px solid var(--bw-line); border-radius:18px; box-shadow:var(--bw-sh-3);
  opacity:0; visibility:hidden; transform:translateY(-6px) scale(.985); transition:opacity .16s ease, transform .16s ease, visibility .16s; text-align:left; font-family:inherit; }
html body .bwb-pop.is-open{ opacity:1; visibility:visible; transform:none; }
html body .bwb-pop *{ box-sizing:border-box; }
html body .bwb-in{ overflow-y:auto; border-radius:18px; overscroll-behavior:contain; max-height:520px; }
html body .bwb-title{ position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px 8px; background:#fff; font-size:15px; font-weight:800; }
html body .bwb-title a{ font-size:12.5px; font-weight:700; color:var(--bw-muted) !important; text-decoration:none !important; white-space:nowrap; }
html body .bwb-title a:hover{ color:var(--bw-ink) !important; }
html body .bwb-list{ list-style:none; margin:0; padding:2px 8px 8px; }
html body .bwb-list li{ margin:0; padding:0; list-style:none; }
html body .bwb-row{ display:flex; align-items:flex-start; gap:10px; padding:9px 8px; border-radius:12px; color:var(--bw-ink) !important; text-decoration:none !important; }
html body a.bwb-row:hover, html body li.bwb-row:hover{ background:var(--bw-soft); }
html body .bwb-row.is-new{ background:#f5f7fb; }
html body .bwb-row.is-new::after{ content:""; flex:0 0 8px; width:8px; height:8px; margin-top:6px; border-radius:50%; background:var(--bw-grad); }
html body .bwb-row__img{ flex:0 0 38px; width:38px; height:38px; border-radius:50%; object-fit:cover; background:var(--bw-soft-2); }
html body .bwb-row__img--ic{ display:inline-flex; align-items:center; justify-content:center; color:var(--bw-muted); }
html body .bwb-row__txt{ flex:1 1 auto; min-width:0; font-size:13px; line-height:1.4; color:var(--bw-ink-2); }
html body .bwb-row__txt b{ display:block; font-size:13.5px; color:var(--bw-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .bwb-row__txt > span{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .bwb-row__txt small{ display:block; margin-top:2px; font-size:11.5px; color:#9ca3af; }
html body .bwb-note a{ color:var(--bw-ink) !important; font-weight:700; text-decoration:none !important; }
html body .bwb-empty{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:22px 14px 24px; font-size:13px; color:var(--bw-muted); text-align:center; }
html body .bwb-empty .bw-ic{ color:#c4c8d0; }
html body .bwb-foot{ display:flex; gap:6px; padding:8px 10px 10px; border-top:1px solid var(--bw-line-2); }
html body .bwb-foot a{ flex:1 1 auto; display:inline-flex; align-items:center; justify-content:center; height:40px; border-radius:var(--bw-pill); background:var(--bw-ink); color:#fff !important; font-size:13.5px; font-weight:800; text-decoration:none !important; }
html body .bwb-foot a:hover{ background:var(--bw-hover); }
html body .bwb-foot a.bwb-ghost{ background:var(--bw-soft-2); color:var(--bw-ink) !important; }
html body .bwb-apps{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:6px; padding:2px 12px 14px; }
html body .bwb-app{ display:flex; flex-direction:column; align-items:center; gap:7px; padding:12px 4px 10px; border-radius:14px; background:var(--bw-soft); color:var(--bw-ink) !important; text-decoration:none !important; text-align:center; transition:background .15s ease, transform .15s ease; }
html body .bwb-app:hover{ background:#eef0f2; transform:translateY(-1px); }
html body .bwb-app.is-on{ background:var(--bw-ink); color:#fff !important; }
html body .bwb-app__ic{ width:38px; height:38px; border-radius:12px; background:#fff; color:var(--bw-ink); display:inline-flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(15,17,21,.06); overflow:hidden; }
html body .bwb-app__ic img{ width:22px; height:22px; object-fit:contain; }
html body .bwb-app__lb{ font-size:12px; font-weight:700; line-height:1.25; max-width:100%; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
html body .bwb-me{ display:flex; align-items:center; gap:12px; margin:8px 8px 4px; padding:10px; border-radius:14px; background:var(--bw-soft); color:var(--bw-ink) !important; text-decoration:none !important; }
html body .bwb-me:hover{ background:#eef0f2; }
html body .bwb-me img, html body .bwb-me__ph{ flex:0 0 44px; width:44px; height:44px; border-radius:50%; object-fit:cover; background:#fff; display:inline-flex; align-items:center; justify-content:center; }
html body .bwb-me b{ display:block; font-size:15px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
html body .bwb-me small{ font-size:12.5px; font-weight:700; color:var(--bw-muted); }
html body .bwb-links{ list-style:none; margin:0; padding:4px 8px 8px; }
html body .bwb-links li{ margin:0; padding:0; list-style:none; }
html body .bwb-links a{ display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:12px; color:var(--bw-ink) !important; font-size:14px; font-weight:600; text-decoration:none !important; }
html body .bwb-links a:hover{ background:var(--bw-soft-2); }
html body .bwb-links a .bw-ic{ color:var(--bw-ink-2); }
html body .bwb-sep{ height:1px; margin:0 16px; background:var(--bw-line-2); }
html body .bwb-cart{ padding:0 12px 4px; }
html body .bwb-cart .sesbasic_header_pulldown_inner{ position:static !important; width:auto !important; box-shadow:none !important; border:0 !important; padding:0 !important; margin:0 !important; background:none !important; }
html body .bwb-cart .sesbasic_header_pulldown_head, html body .bwb-cart .sesbasic_header_pulldown_tip, html body .bwb-cart .sesbasic_header_pulldown_footer{ display:none !important; }
html body .bwb-cart .sesbasic_header_pulldown_body{ max-height:none !important; overflow:visible !important; }
html body .bwb-cart .sesbasic_cart_pulldown_item{ display:flex !important; align-items:flex-start; gap:12px; position:relative; padding:10px 0 !important; border-bottom:1px solid var(--bw-line-2); }
html body .bwb-cart .sesbasic_cart_pulldown_item:last-child{ border-bottom:0; }
html body .bwb-cart .sesbasic_cart_pulldown_item ._thumb{ flex:0 0 48px; width:48px !important; height:48px; float:none !important; }
html body .bwb-cart .sesbasic_cart_pulldown_item ._thumb img{ width:48px !important; height:48px !important; object-fit:cover; border-radius:10px; display:block; }
html body .bwb-cart .sesbasic_cart_pulldown_item ._info{ flex:1 1 auto; min-width:0; float:none !important; width:auto !important; margin:0 !important; padding-right:28px; font-size:13px; color:#4b5563; }
html body .bwb-cart .sesbasic_cart_pulldown_item ._title a{ color:var(--bw-ink) !important; font-weight:700; text-decoration:none !important; }
html body .bwb-cart .sesbasic_cart_pulldown_item ._close{ position:absolute !important; top:10px; right:0; }/* Sprachauswahl (Fenster, Menue, Fusszeile) */


html body .bw-lang{ margin:0; }
html body .bw-lang ul{ list-style:none; margin:0; padding:2px 8px 10px; }
html body .bw-lang li{ margin:0; padding:0; list-style:none; }
html body .bw-lang__btn{ display:flex; align-items:center; gap:10px; width:100%; margin:0; padding:8px 10px; border:0; border-radius:12px; background:none; color:var(--bw-ink);
  font:inherit; font-size:14px; font-weight:600; text-align:left; cursor:pointer; }
html body .bw-lang__btn:hover{ background:var(--bw-soft-2); }
html body .bw-lang__btn i{ flex:0 0 30px; width:30px; height:30px; border-radius:9px; background:var(--bw-soft-2); display:inline-flex; align-items:center; justify-content:center; font-style:normal; font-size:11.5px; font-weight:800; }
html body .bw-lang__btn.is-on{ background:var(--bw-ink); color:#fff; }
html body .bw-lang__btn.is-on i{ background:rgba(255,255,255,.16); }/* ===== B4 Kacheln unter der Kopfzeile ================================ */


html body .bwq{ position:relative; z-index:1; background:#fff; border-bottom:1px solid var(--bw-line); }
html body .bwq-in{ position:relative; max-width:1320px; margin:0 auto; padding:10px 20px 12px; display:flex; align-items:center; gap:8px; }
html body .bwq-track{ flex:1 1 auto; min-width:0; display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x proximity; padding:4px 2px 6px; scrollbar-width:none; cursor:grab; }
html body .bwq-track::-webkit-scrollbar{ display:none; }
html body .bwq-track.is-drag{ cursor:grabbing; scroll-snap-type:none; }
html body .bwq-track.is-drag a{ pointer-events:none; }
html body .bwq-item{ --q-bg:#f3f4f6; --q-ic:#0f1115; --q-ic-c:#fff; --q-lb:#0f1115;
  position:relative; flex:0 0 auto; width:84px; height:64px; border-radius:14px; overflow:hidden; scroll-snap-align:start;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:var(--q-bg);
  text-decoration:none !important; transition:transform .2s ease, box-shadow .2s ease; -webkit-tap-highlight-color:transparent; }
html body .bwq-item:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(15,17,21,.10); }
html body .bwq-item:focus-visible{ outline:2px solid #0f1115; outline-offset:2px; }
html body .bwq-ic{ width:24px; height:24px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; background:var(--q-ic); color:var(--q-ic-c); transition:border-radius .2s ease; }
html body .bwq-item:hover .bwq-ic{ border-radius:50%; }
html body .bwq-lb{ font-size:11.5px; font-weight:800; color:var(--q-lb) !important; white-space:nowrap; }
html body .bwq-item--bonus{ --q-bg:#ffe2bf; --q-ic:#fb923c; --q-ic-c:#0f1115; }
html body .bwq-item--cashback{ --q-bg:#c9f1d6; --q-ic:#4ade80; --q-ic-c:#0f1115; }
html body .bwq-item--group{ --q-bg:linear-gradient(115deg,#38bdf8 0%,#67c9fa 30%,#e28fd8 68%,#f472b6 100%); --q-lb:#fff; background-size:160% 160%; animation:bwqFlow 7s ease-in-out infinite; }
html body .bwq-item--group .bwq-ic{ background:transparent; color:#fff; width:auto; height:auto; }
html body .bwq-item--group .bwq-ic .bw-ic{ animation:bwqTick 4s steps(8) infinite; }
html body .bwq-item--group .bwq-lb{ text-shadow:0 1px 1px rgba(15,17,21,.25); }
html body .bwq-item--group::after{ content:""; position:absolute; top:0; left:0; width:40%; height:100%; pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%); transform:translateX(-150%) skewX(-18deg); animation:bwqShine 4.5s ease-in-out infinite; }
@keyframes bwqFlow{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
@keyframes bwqShine{ 0%,55%{ transform:translateX(-150%) skewX(-18deg); } 100%{ transform:translateX(330%) skewX(-18deg); } }
@keyframes bwqTick{ to{ transform:rotate(360deg); } }
html body .bwq-dot{ position:absolute; top:7px; right:7px; z-index:2; width:7px; height:7px; border-radius:50%; background:#fff; animation:bwqDot 2s infinite; }
@keyframes bwqDot{ 0%{ box-shadow:0 0 0 0 rgba(255,255,255,.7); } 70%{ box-shadow:0 0 0 7px rgba(255,255,255,0); } 100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); } }
html body .bwq-item--promo{ --q-bg:#ffe8dc; --q-ic:#ea580c; --q-ic-c:#fff; gap:3px; width:100px; }
html body .bwq-item--group{ width:96px; }
html body .bwq-badge{ position:absolute; top:5px; right:5px; padding:1px 5px; border-radius:5px; background:#c2410c; color:#fff; font-size:8px; font-weight:900; letter-spacing:.06em; line-height:1.35; }
html body .bwq-timer{ display:inline-flex; align-items:center; padding:1px 7px; border-radius:var(--bw-pill); background:#fff; color:#9a3412; font-size:9.5px; font-weight:800; line-height:1.45; font-variant-numeric:tabular-nums; white-space:nowrap; }
html body .bwq-timer.is-soon{ background:#c2410c; color:#fff; }
html body .bwq-timer.is-upcoming{ background:#fed7aa; color:#9a3412; }
html body .bwq-arrow{ flex:0 0 32px; width:32px; height:32px; padding:0; border:1px solid var(--bw-line); border-radius:50%; background:#fff; color:var(--bw-ink);
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 2px 6px rgba(15,17,21,.06); opacity:.35; pointer-events:none; transition:opacity .15s ease, background .15s ease, color .15s ease; }
html body .bwq-in.can-l .bwq-arrow--l, html body .bwq-in.can-r .bwq-arrow--r{ opacity:1; pointer-events:auto; }
html body .bwq-arrow:hover{ background:var(--bw-ink); color:#fff; border-color:var(--bw-ink); }/* ===== B5 Handy-Menue (Seitenfenster) ================================ */


html body .bwm-ov{ position:fixed; inset:0; z-index:100010; background:rgba(15,17,21,.45); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); opacity:0; transition:opacity .25s ease; }
html body .bwm-ov.is-on{ opacity:1; }
html body .bwm{ position:fixed; top:0; bottom:0; left:0; z-index:100011; display:flex; flex-direction:column; width:350px; max-width:88vw; box-sizing:border-box;
  padding-top:env(safe-area-inset-top); background:#fff; color:var(--bw-ink); border-radius:0 24px 24px 0; box-shadow:12px 0 40px rgba(15,17,21,.2);
  transform:translateX(-105%); visibility:hidden; transition:transform .3s var(--bw-ease), visibility 0s linear .3s; touch-action:pan-y; outline:none; font-family:inherit; }
html body .bwm *{ box-sizing:border-box; }
html body .bwm::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--bw-grad-v); }
html body .bwm.is-on{ transform:none; visibility:visible; transition:transform .3s var(--bw-ease), visibility 0s; }
html body .bwm.is-drag{ transition:none !important; }
html.bwm-lock, html.bwm-lock body{ overflow:hidden !important; }
html body .bwm-head{ flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px 14px 10px 20px; }
html body .bwm-head__t{ font-size:19px; font-weight:800; letter-spacing:-.01em; }
html body .bwm-x{ width:40px; height:40px; padding:0; border:0; border-radius:50%; background:var(--bw-soft-2); color:var(--bw-ink); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:background .15s ease, transform .2s ease; }
html body .bwm-x:hover{ background:#e9ebee; transform:rotate(90deg); }
html body .bwm-body{ flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:0 12px calc(18px + env(safe-area-inset-bottom)) 14px; }
html body .bwm-me{ display:flex; align-items:center; gap:12px; padding:12px; border-radius:18px; background:var(--bw-soft); color:var(--bw-ink) !important; text-decoration:none !important; }
html body .bwm-me:hover{ background:#eef0f2; }
html body .bwm-me__av{ flex:0 0 54px; width:54px; height:54px; padding:2px; border-radius:50%; background:var(--bw-grad); display:inline-flex; align-items:center; justify-content:center; color:var(--bw-ink); }
html body .bwm-me__av img, html body .bwm-me__av .bw-ic{ width:100% !important; height:100% !important; border-radius:50%; object-fit:cover; border:2px solid #fff; background:#fff; }
html body .bwm-me__av .bw-ic{ padding:10px; }
html body .bwm-me__t{ flex:1 1 auto; min-width:0; }
html body .bwm-me__t b{ display:block; font-size:16px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .bwm-me__t small{ font-size:12.5px; font-weight:600; color:var(--bw-muted); }
html body .bwm-me__go{ color:var(--bw-faint); }
html body .bwm-stats{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; margin:10px 0 0; }
html body .bwm-stats a{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 4px 10px; border:1px solid var(--bw-line); border-radius:16px; color:var(--bw-ink-2) !important; font-size:12px; font-weight:700; text-decoration:none !important; transition:background .15s ease; }
html body .bwm-stats a:hover{ background:var(--bw-soft); }
html body .bwm-stats__ic{ position:relative; display:inline-flex; color:var(--bw-ink); }
html body .bwm-badge{ position:absolute; top:-7px; right:-12px; min-width:18px; height:18px; padding:0 5px; border-radius:var(--bw-pill); background:var(--bw-grad); color:#fff; font-size:10.5px; font-weight:800; line-height:18px; text-align:center; box-shadow:0 0 0 2px #fff; }
html body .bwm-guest{ padding:16px; border-radius:18px; background:var(--bw-soft); }
html body .bwm-guest b{ display:block; font-size:16px; font-weight:800; }
html body .bwm-guest span{ display:block; margin:4px 0 12px; font-size:13px; color:var(--bw-muted); line-height:1.45; }
html body .bwm-guest__btns{ display:flex; gap:8px; }
html body .bwm-btn{ flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 16px; border:1.5px solid var(--bw-ink); border-radius:var(--bw-pill);
  background:var(--bw-ink); color:#fff !important; font-size:14.5px; font-weight:800; text-decoration:none !important; transition:background .15s ease; }
html body .bwm-btn:hover{ background:var(--bw-hover); }
html body .bwm-btn--ghost{ background:#fff; color:var(--bw-ink) !important; border-color:#e3e5e8; }
html body .bwm-btn--ghost:hover{ background:var(--bw-soft-2); }
html body .bwm-quick{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; margin:12px 0 0; }
html body .bwm-quick__i{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:66px; padding:8px 4px; border-radius:14px; background:#f3f4f6; color:var(--bw-ink) !important; font-size:12px; font-weight:800; text-decoration:none !important; text-align:center; }
html body .bwm-quick__i--group{ background:linear-gradient(115deg,#38bdf8 0%,#e28fd8 68%,#f472b6 100%); color:#fff !important; }
html body .bwm-quick__i--bonus{ background:#ffe2bf; }
html body .bwm-quick__i--cashback{ background:#c9f1d6; }
html body .bwm-sec{ padding:18px 8px 6px; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--bw-faint); }
html body .bwm-list{ list-style:none; margin:0; padding:0; }
html body .bwm-list li{ margin:0; padding:0; list-style:none; }
html body .bwm-list a, html body .bwm-rowbtn{ display:flex; align-items:center; gap:12px; width:100%; min-height:50px; margin:0; padding:6px 10px 6px 6px; border:0; border-radius:14px; background:none;
  color:var(--bw-ink-2) !important; font:inherit; font-size:15px; font-weight:700; text-align:left; text-decoration:none !important; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background .15s ease; }
html body .bwm-list a:hover, html body .bwm-rowbtn:hover{ background:var(--bw-soft); color:var(--bw-ink) !important; }
html body .bwm-rowbtn--static{ cursor:default; }
html body .bwm-rowbtn--static:hover{ background:none; }
html body .bwm-list li.is-on > a{ background:var(--bw-ink); color:#fff !important; box-shadow:0 6px 16px rgba(15,17,21,.18); }
html body .bwm-list li.is-on > a .bwm-ic{ background:rgba(255,255,255,.14); color:#fff; }
html body .bwm-ic{ position:relative; flex:0 0 38px; width:38px; height:38px; border-radius:12px; background:var(--bw-soft-2); color:var(--bw-ink); display:inline-flex; align-items:center; justify-content:center; overflow:hidden; }
html body .bwm-ic img{ width:22px; height:22px; object-fit:contain; }
html body .bwm-ic--av img{ width:100%; height:100%; object-fit:cover; }
html body .bwm-lb{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html body .bwm-val{ flex:0 0 auto; padding:3px 9px; border-radius:var(--bw-pill); background:var(--bw-soft-2); color:var(--bw-ink-2); font-size:12.5px; font-weight:800; }
html body .bwm-dim{ color:#9aa0ad; }
html body .bwm-acc__chev{ transition:transform .2s ease; }
html body [aria-expanded="true"] > .bwm-acc__chev{ transform:rotate(180deg); }
html body .bwm-acc__body{ padding:2px 0 6px 50px; }
html body .bw-lang--menu ul{ padding:0; }
html body .bwm-toggle{ display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin:4px 0 0; padding:10px; border:1.5px dashed #e3e5e8; border-radius:14px; background:none; color:var(--bw-ink-2); font:inherit; font-size:13.5px; font-weight:800; cursor:pointer; }
html body .bwm-toggle:hover{ background:var(--bw-soft); }
html body .bwm-toggle[aria-expanded="true"] .bw-ic{ transform:rotate(180deg); }
html body .bwm-seg{ display:inline-flex; gap:2px; padding:3px; border-radius:var(--bw-pill); background:var(--bw-soft-2); }
html body .bwm-seg button{ min-width:36px; height:30px; padding:0 8px; border:0; border-radius:var(--bw-pill); background:none; color:var(--bw-ink-2); font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
html body .bwm-seg button.is-on{ background:#fff; color:var(--bw-ink); box-shadow:0 1px 3px rgba(15,17,21,.12); }
html body .bwm-foot{ display:flex; flex-direction:column; gap:8px; margin-top:18px; }/* ===== B6 Fusszeile ================================================== */


html body .bwf{ position:relative; margin-top:40px; background:#0f1115; color:#aab0bb; font-family:inherit; color-scheme:only light; }
html body .bwf *{ box-sizing:border-box; }
html body .bwf::before{ content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--bw-grad); }
html body .bwf-in{ max-width:1320px; margin:0 auto; padding:52px 20px 22px; }
html body .bwf-top{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,2fr); gap:48px; }
html body .bwf-logo{ display:flex; align-items:center; height:46px; margin-bottom:14px; }
html body .bwf-logo .generic_layout_container, html body .bwf-logo .layout_core_menu_logo{ margin:0 !important; padding:0 !important; background:none !important; border:0 !important; }
html body .bwf-logo a{ display:flex; text-decoration:none !important; }
html body .bwf-logo img{ display:block; width:auto !important; height:auto !important; max-height:44px; max-width:200px !important; object-fit:contain; filter:brightness(0) invert(1); }
html body .bwf-logo__txt{ color:#fff !important; }
html body .bwf-text{ max-width:400px; margin:0 0 18px; font-size:14px; line-height:1.65; color:#aab0bb; }
html body .bwf-social{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
html body .bwf-social li{ margin:0; padding:0; list-style:none; }
html body .bwf-social a{ width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.08); color:#fff !important; display:inline-flex; align-items:center; justify-content:center; text-decoration:none !important; transition:background .2s ease, transform .2s ease; }
html body .bwf-social a:hover{ background:var(--bw-grad); transform:translateY(-2px); }
html body .bwf-cols{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:28px; }
html body .bwf-col__t{ display:flex; align-items:center; justify-content:space-between; width:100%; margin:0 0 14px; padding:0; border:0; background:none; color:#fff; font:inherit; font-size:12.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; text-align:left; cursor:default; }
html body .bwf-chev{ display:none; transition:transform .2s ease; }
html body .bwf-col__list{ list-style:none; margin:0; padding:0; }
html body .bwf-col__list li{ margin:0 0 10px; padding:0; list-style:none; }
html body .bwf-col__list a{ color:#aab0bb !important; font-size:14px; text-decoration:none !important; transition:color .15s ease; }
html body .bwf-col__list a:hover{ color:#fff !important; }
html body .bwf-contact li{ display:flex; align-items:flex-start; gap:10px; font-size:14px; }
html body .bwf-contact .bw-ic{ margin-top:2px; color:#fff; }
html body .bwf-bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; margin-top:40px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); font-size:13px; color:#8a90a0; }
html body .bwf-bottom{ padding-right:60px; }
html body .bwf-bottom__r{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
html body .bwf-sell{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
html body .bwf-sell input{ width:16px; height:16px; accent-color:#fff; }
html body .bwf-lang{ display:inline-flex; align-items:center; gap:6px; color:#8a90a0; }
html body .bw-lang--inline ul{ display:flex; flex-wrap:wrap; gap:4px; padding:0; }
html body .bw-lang--inline .bw-lang__btn{ padding:4px 10px; border-radius:var(--bw-pill); color:#aab0bb; font-size:12.5px; font-weight:700; }
html body .bw-lang--inline .bw-lang__btn i{ display:none; }
html body .bw-lang--inline .bw-lang__btn:hover{ background:rgba(255,255,255,.08); color:#fff; }
html body .bw-lang--inline .bw-lang__btn.is-on{ background:rgba(255,255,255,.14); color:#fff; }
html body .bwf-top-btn{ position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom)); z-index:900; width:46px; height:46px; padding:0; border:0; border-radius:50%;
  background:#0f1115; color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 10px 24px rgba(15,17,21,.25); transition:transform .2s ease, background .2s ease; }
html body .bwf-top-btn:hover{ background:#2a2d33; transform:translateY(-2px); }
html body .bwf--admin{ margin-top:0; }/* ===== B7 Tablet & Handy ============================================= */


@media (max-width:1100px){
  html body .bwb-hide-sm{ display:none !important; }
}
@media (max-width:900px){
  html body .bwh-in{ gap:6px; padding:0 12px; height:62px; }
  html body .bwh-left{ flex:1 1 auto; }
  html body .bwh-right{ flex:0 0 auto; }
  html body .bws{ flex:0 0 auto; min-width:0; position:static; order:2; }
  html body .bwh-right{ order:3; }
  html body .bws-toggle{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:var(--bw-ink); cursor:pointer; }
  html body .bws-toggle:hover, html body .bws-toggle[aria-expanded="true"]{ background:var(--bw-soft-2); }
  html body .bws-box{ position:absolute; z-index:100004; left:10px; right:10px; top:calc(100% + 8px); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .16s ease, transform .16s ease, visibility .16s; }
  html body .bws.is-open .bws-box{ opacity:1; visibility:visible; transform:none; }
  html body .bws-form{ height:50px; padding:0 6px 0 16px !important; background:#fff !important; border-color:#e6e8eb !important; box-shadow:var(--bw-sh-3) !important; }
  html body .bws-input{ font-size:16px !important; height:46px !important; }
  html body .bws-go{ width:38px; height:38px; }
  html body .bws-res{ position:static; min-width:0; margin-top:6px; max-height:calc(100dvh - 160px); }
  html body .bwf-top{ grid-template-columns:1fr; gap:34px; }
}
@media (max-width:767px){
  html body .bwh-in{ height:58px; padding:0 8px 0 10px; }
  html body .bwh-burger{ margin-left:-4px; }
  html body .bwh-logo{ height:40px; }
  html body .bwh-logo img{ max-height:38px; max-width:140px !important; }
  html body .bwh-logo__txt{ font-size:22px; }
  html body .bwb{ --bwb-size:38px; gap:0; }
  html body .bwb-btn--apps{ display:none; }
  html body .bwb-btn--me{ margin-left:2px; }
  html body .bwb-apps{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  html body .bwh-pill{ height:36px; padding:0 12px; font-size:13px; }
  html body .bwh-pill--signup{ display:none; }
  html body .bwh-pill--ghost{ width:38px; padding:0; border:0; }
  html body .bwh-pill--ghost span{ display:none; }
  html body .bwq-in{ padding:8px 12px 10px; }
  html body .bwq-arrow{ display:none; }
  html body .bwq-track{ gap:10px; }
  html body .bwq-item{ width:76px; height:62px; }
  html body .bwq-item--promo{ width:96px; }
  html body .bwq-item--group{ width:92px; }
  html body .bwf-in{ padding:40px 16px 90px; }
  html body .bwf-cols{ grid-template-columns:1fr; gap:0; }
  html body .bwf-col{ border-bottom:1px solid rgba(255,255,255,.1); }
  html body .bwf-col__t{ margin:0; padding:16px 0; font-size:13px; cursor:pointer; }
  html body .bwf-chev{ display:block; }
  html body .bwf-col.is-open .bwf-chev{ transform:rotate(180deg); }
  html body .bwf-col__list{ display:none; padding:0 0 14px; }
  html body .bwf-col.is-open .bwf-col__list{ display:block; }
  html body .bwf-bottom{ flex-direction:column; align-items:flex-start; margin-top:24px; padding-right:0; }
}
@media (max-width:360px){
  html body .bwb{ --bwb-size:34px; }
  html body .bwh-logo img{ max-width:110px !important; }
}
@media (prefers-reduced-motion:reduce){
  html body .bwq-item--group, html body .bwq-item--group::after, html body .bwq-item--group .bw-ic, html body .bwq-dot, html body .bws-sk i, html body .bws-sk span{ animation:none !important; }
}

/* =====================================================================
 *  TEIL C - BUSWAL-SCHRIFT (wie Facebook: Systemschrift)
 * ===================================================================== */

:root{
  /* Schrift wie Facebook: die Systemschrift des Geraets (Windows: Segoe UI, Mac/iPhone: San Francisco,
     Android: Roboto) - laedt nichts nach, ist sofort da und sehr gut lesbar */
  --bw-font:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
  --bw-font-display:var(--bw-font);
  --bs-body-font-family:var(--bw-font);
}

/* Grundschrift: sanft (ohne Zwang) - Theme-Bausteine und Symbol-Schriften bleiben, wie sie sind */
html body{ font-family:var(--bw-font); }
/* ganze Seite: normale Text-Elemente bekommen die Buswal-Schrift (ohne !important;
   Symbol-Schriften wie fa/fi/icon_ haben eigene Klassen-Regeln und bleiben unberuehrt) */
html body :is(p, a, span, div, li, dd, dt, label, td, th, h1, h2, h3, h4, h5, h6, button, input, select, textarea, small, strong, b, em, blockquote, section, article, header, footer, nav)
  :where(:not([class*="fa-"]):not([class^="fa"]):not([class*=" fa "]):not([class*="fi-"]):not([class*="icon"]):not([class*="material"]):not([class*="emoji"])){ font-family:var(--bw-font); }
body button, body input, body select, body textarea{ font-family:inherit; }
.bwh, .bwq, .bwm, .bwf, .bwb-pop, .bwd{ font-family:var(--bw-font); }
body{ font-feature-settings:"kern" 1; -webkit-font-smoothing:antialiased; }

/* Ueberschriften mit Charakter (nur Seiten-Titel und Buswal-Bausteine) */
.headline h2, .layout_page_header h2, .generic_layout_container > h3, .global_form h3,
.bwh-logo__txt, .bwf-logo__txt, .bwm-head__t, .bwm-me__t b, .bwm-guest b, .bwb-title, .bwb-me b,
.bwd .bwd-top__title, .bwf-col__t{
  font-family:var(--bw-font-display) !important; font-optical-sizing:auto;
}
.headline h2, .layout_page_header h2{ font-weight:700; letter-spacing:-.01em; }
.generic_layout_container > h3, .global_form h3{ font-weight:700; letter-spacing:0; }

/* Logo-Schriftzug: kraeftig, eng, mit Verlaufs-Punkt */
.bwh-logo__txt, .bwf-logo__txt{ font-weight:800 !important; letter-spacing:-.03em !important; font-size:28px; }
.bwh-logo__txt::after, .bwf-logo__txt::after{ content:""; display:inline-block; width:.26em; height:.26em; margin-left:.06em; border-radius:50%; background:var(--bw-grad); vertical-align:baseline; }

/* Knoepfe, Reiter, Kacheln (Buswal-Bausteine) */
.bwh-pill, .bwm-btn, .bwb-foot a, .bwq-lb, .bwm-quick__i, .bwm-lb{ font-weight:700; letter-spacing:-.005em; }
/* Zahlen: Preise, Zaehler, Countdown gleich breit (springt nicht) */
.bwb-badge, .bwm-badge, .bwq-timer, .bwm-val{ font-variant-numeric:tabular-nums; }

/* Kleine Feinheiten */
.bwf-col__t{ letter-spacing:.06em; }
@media (max-width:767px){
  .bwh-logo__txt{ font-size:24px; }
}

/* =====================================================================
 *  TEIL D - TITEL KRAEFTIGER + TIEFSCHWARZ (Wunsch: mehr bold, mehr schwarz)
 * ===================================================================== */
html body{ color:#050505; }
html body :is(h1, h2, h3, h4, h5, h6){ color:#050505; font-weight:800; }
html body :is(h1, h2, h3, h4, h5, h6) a{ color:#050505; font-weight:800; }
html body .headline h2, html body .layout_page_header h2{ font-weight:800; letter-spacing:-.015em; }
html body .generic_layout_container > h3, html body .global_form h3{ font-weight:800; color:#050505; }
/* typische Titel in SocialEngine-/SES-Listen und Karten */
html body :is(.item_title, .feed_item_username, .sesbasic_item_title, .sesbasic_title, ._title, .title, .sesproduct_title, .estore_title, .user_name, .profile_title, .grid_title, .list_title) :is(a, span, b),
html body :is(.item_title, .sesbasic_item_title, .sesbasic_title, ._title, .sesproduct_title, .estore_title, .grid_title, .list_title){ color:#050505; font-weight:700; }
html body .feed_item_username a, html body .feed_item_posted a.feed_item_username{ font-weight:700; color:#050505; }
html body :is(strong, b){ font-weight:700; }
/* Buswal-Bausteine: Titel und Beschriftungen kraeftiger */
html body .bwm-lb, html body .bwb-links a, html body .bwq-lb, html body .bwm-quick__i, html body .bws-tx b, html body .bwb-row__txt b, html body .bwf-col__t{ font-weight:800; }
html body .bwm-list a, html body .bwm-rowbtn{ color:#050505 !important; }
html body .bwm-list li.is-on > a{ color:#fff !important; }
html body .bwb-title, html body .bwm-head__t, html body .bwm-me__t b, html body .bwb-me b{ font-weight:800; color:#050505; }

/* =====================================================================
 *  TEIL E - FEINSCHLIFF (Kacheln am Desktop kleiner, Fusszeile dunkelgrau + gut lesbar)
 * ===================================================================== */
/* Kacheln unter der Kopfzeile: am Desktop kompakter */
@media (min-width:768px){
  html body .bwq-in{ padding-top:6px; padding-bottom:8px; }
  html body .bwq-track{ gap:8px; padding-top:2px; padding-bottom:4px; }
  html body .bwq-item{ width:70px; height:50px; gap:3px; border-radius:12px; }
  html body .bwq-item--group{ width:82px; }
  html body .bwq-item--promo{ width:88px; gap:2px; }
  html body .bwq-ic{ width:20px; height:20px; border-radius:6px; }
  html body .bwq-ic .bw-ic{ width:13px !important; height:13px !important; min-width:13px !important; }
  html body .bwq-item--group .bwq-ic .bw-ic{ width:15px !important; height:15px !important; min-width:15px !important; }
  html body .bwq-lb{ font-size:10.5px; }
  html body .bwq-timer{ font-size:8.5px; padding:0 6px; }
  html body .bwq-badge{ top:3px; right:3px; font-size:7px; padding:1px 4px; }
  html body .bwq-dot{ top:5px; right:5px; width:6px; height:6px; }
  html body .bwq-arrow{ flex-basis:28px; width:28px; height:28px; }
}

/* Fusszeile: dunkelgrau (wie Facebook dunkel), alle Texte gut lesbar - auch gegen Theme-Regeln */
html body .bwf{ background:#242526 !important; color:#b0b3b8 !important; }
html body .bwf :is(p, span, li, small, label, div, em){ color:#b0b3b8 !important; }
html body .bwf a, html body .bwf a:visited{ color:#e4e6eb !important; }
html body .bwf a:hover{ color:#fff !important; text-decoration:underline !important; }
html body .bwf .bwf-col__t, html body .bwf .bwf-col__t span{ color:#fff !important; }
html body .bwf .bwf-text{ color:#b0b3b8 !important; }
html body .bwf .bwf-copy{ color:#b0b3b8 !important; }
html body .bwf .bwf-logo__txt{ color:#fff !important; }
html body .bwf .bwf-contact .bw-ic, html body .bwf .bwf-chev, html body .bwf .bwf-lang .bw-ic{ color:#e4e6eb !important; }
html body .bwf .bwf-social a{ background:#3a3b3c !important; color:#fff !important; }
html body .bwf .bwf-social a:hover{ background:var(--bw-grad) !important; text-decoration:none !important; }
html body .bwf .bwf-bottom{ border-top-color:#3a3b3c !important; }
html body .bwf .bwf-col{ border-color:#3a3b3c !important; }
html body .bwf .bw-lang--inline .bw-lang__btn{ color:#b0b3b8 !important; background:transparent !important; }
html body .bwf .bw-lang--inline .bw-lang__btn span{ color:inherit !important; }
html body .bwf .bw-lang--inline .bw-lang__btn:hover{ background:#3a3b3c !important; color:#fff !important; }
html body .bwf .bw-lang--inline .bw-lang__btn.is-on{ background:#3a3b3c !important; color:#fff !important; }
html body .bwf .bwf-sell input{ accent-color:#e4e6eb; }
html body .bwf-top-btn{ background:#3a3b3c !important; color:#fff !important; }

/* =====================================================================
 *  TEIL F - DASHBOARD (Produkt-/Shop-Dashboard, Klasse .bwd) gegen Theme-Regeln absichern
 *  Desktop: Kopf oben, Menue links (senkrecht), Inhalt rechts. Handy/Tablet: untereinander.
 * ===================================================================== */
@media (min-width:992px){
  html body .layout_middle .bwd{ display:grid !important; grid-template-columns:268px minmax(0,1fr) !important; column-gap:20px !important; row-gap:0 !important;
    align-items:start !important; flex-direction:initial !important; flex-wrap:initial !important; width:auto !important; max-width:none !important; float:none !important; }
  html body .layout_middle .bwd::before, html body .layout_middle .bwd::after{ display:none !important; content:none !important; }
  html body .layout_middle .bwd > *{ grid-column:2 !important; width:auto !important; max-width:none !important; min-width:0 !important; float:none !important; flex:none !important; margin-left:0 !important; margin-right:0 !important; }
  html body .layout_middle .bwd > .bwd-top{ grid-column:1 / -1 !important; }
  html body .layout_middle .bwd > .bwd-tabs{ grid-column:1 !important; grid-row:2 / span 20 !important; position:sticky !important; top:84px !important; }
  html body .layout_middle .bwd .bwd-nav ul{ display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; overflow:visible !important; }
  html body .layout_middle .bwd .bwd-nav li{ width:auto !important; flex:none !important; float:none !important; }
  html body .layout_middle .bwd .bwd-nav li a{ justify-content:flex-start !important; white-space:normal !important; }
  html body .layout_middle .bwd .bwd-share, html body .layout_middle .bwd .bwd-renew{ width:auto !important; }
}
@media (max-width:991px){
  html body .layout_middle .bwd{ display:block !important; }
  html body .layout_middle .bwd > *{ float:none !important; width:100% !important; max-width:100% !important; min-width:0 !important; flex:none !important; margin-left:0 !important; margin-right:0 !important; }
  html body .bwd .bwd-nav ul{ flex-direction:column !important; flex-wrap:nowrap !important; }
}
/* Formular-Ueberschrift der Plugins (z. B. "Edit Product Entry") im Dashboard ruhiger */
html body .bwd .estore_dashboard_content form.global_form > div > div > h3{ background:none !important; padding:0 !important; margin:0 0 6px !important; font-size:20px !important; }
/* =====================================================================
 *  TEIL G - Seitenaufbau: Kopf im normalen Fluss, Inhalt startet sauber darunter
 *  (SE 8.1-Themes setzen den Kopf teils "fixed"/"sticky" und schieben #global_wrapper
 *   bzw. #global_content mit festen Werten -> Inhalt rutschte ca. 50px unter den Kopf.
 *   Der Buswal-Kopf haelt sich beim Scrollen selbst fest, darum hier alles zuruecksetzen.)
 * ===================================================================== */
html body #global_header:has(.bwh),
html body #global_header:has(.bwh) .layout_page_header,
html body #global_header:has(.bwh) .layout_page_header > .generic_layout_container,
html body #global_header:has(.bwh) .layout_main{ position:relative !important; top:auto !important; bottom:auto !important; transform:none !important; height:auto !important; min-height:0 !important; max-height:none !important; }
html body #global_header:has(.bwh){ z-index:1000; margin:0 !important; }
html body:has(#global_header .bwh) #global_wrapper{ margin-top:0 !important; padding-top:0 !important; top:auto !important; transform:none !important; }
html body:has(#global_header .bwh) #global_content{ margin-top:0 !important; padding-top:20px !important; top:auto !important; transform:none !important; }
@media (max-width:767px){ html body:has(#global_header .bwh) #global_content{ padding-top:14px !important; } }

/* =====================================================================
 *  TEIL H - Logo im Kopf etwas kleiner
 * ===================================================================== */
html body .bwh .bwh-logo img, html body .bwh .bwh-logo svg, html body .bwh .bwh-logo picture{ max-height:34px !important; max-width:160px !important; }
html body .bwh .bwh-logo__txt{ font-size:22px !important; }
@media (max-width:767px){
  html body .bwh .bwh-logo img, html body .bwh .bwh-logo svg, html body .bwh .bwh-logo picture{ max-height:28px !important; max-width:115px !important; }
  html body .bwh .bwh-logo__txt{ font-size:19px !important; }
}
@media (max-width:380px){
  html body .bwh .bwh-logo img, html body .bwh .bwh-logo svg, html body .bwh .bwh-logo picture{ max-width:95px !important; }
}

/* =====================================================================
 *  TEIL I - Schnellzugriff-Kacheln: Farben als Rahmen (weisse Kachel,
 *  farbiger Rahmen + farbiges Symbol statt voll eingefaerbter Flaeche)
 * ===================================================================== */
html body .bwq-item{ --q-bd:#d5d8de; --q-icc:#0f1115; --q-tint:#f6f7f9;
  background:#fff !important; border:1.5px solid var(--q-bd) !important; box-shadow:none; }
html body .bwq-item--bonus{ --q-bd:#fb923c; --q-icc:#ea580c; --q-tint:#fff7ed; }
html body .bwq-item--cashback{ --q-bd:#4ade80; --q-icc:#16a34a; --q-tint:#f0fdf4; }
html body .bwq-item--promo{ --q-bd:#ea580c; --q-icc:#ea580c; --q-tint:#fff7ed; }
html body .bwq-item:hover{ background:var(--q-tint) !important; box-shadow:0 6px 16px rgba(15,17,21,.08); }
html body .bwq-ic{ background:transparent !important; color:var(--q-icc) !important; width:auto; height:auto; border-radius:0; }
html body .bwq-ic .bw-ic{ width:19px !important; height:19px !important; min-width:19px !important; }
html body .bwq-item:hover .bwq-ic{ border-radius:0; }
html body .bwq-lb{ color:#0f1115 !important; text-shadow:none !important; }
/* Aktion: Zeit-Pille passend */
html body .bwq-item--promo .bwq-timer{ background:#fff7ed; color:#9a3412; }
html body .bwq-item--promo .bwq-timer.is-soon{ background:#ea580c; color:#fff; }
/* Gruppenkauf: Verlaufs-Rahmen (blau -> pink), Symbol + Text im Verlauf, Punkt pulsiert farbig */
html body .bwq-item--group{
  border:2px solid transparent !important;
  background:linear-gradient(#fff, #fff) padding-box, linear-gradient(115deg,#38bdf8 0%,#3b82f6 30%,#a855f7 62%,#ec4899 100%) border-box !important;
  background-size:100% 100%, 200% 200% !important; animation:bwqBorder 6s ease-in-out infinite; }
html body .bwq-item--group:hover{ background:linear-gradient(#fdf4ff, #fdf4ff) padding-box, linear-gradient(115deg,#38bdf8 0%,#3b82f6 30%,#a855f7 62%,#ec4899 100%) border-box !important; background-size:100% 100%, 200% 200% !important; }
html body .bwq-item--group::after{ display:none !important; content:none !important; }
html body .bwq-item--group .bwq-ic{ color:#7c3aed !important; }
html body .bwq-item--group .bwq-ic .bw-ic{ width:20px !important; height:20px !important; min-width:20px !important; }
html body .bwq-item--group .bwq-lb{ color:#6d28d9 !important; background:linear-gradient(90deg,#3b82f6,#ec4899); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
html body .bwq-dot{ background:#ec4899 !important; animation:bwqDot2 2s infinite !important; }
@keyframes bwqBorder{ 0%,100%{ background-position:0 0, 0% 50%; } 50%{ background-position:0 0, 100% 50%; } }
@keyframes bwqDot2{ 0%{ box-shadow:0 0 0 0 rgba(236,72,153,.55); } 70%{ box-shadow:0 0 0 7px rgba(236,72,153,0); } 100%{ box-shadow:0 0 0 0 rgba(236,72,153,0); } }
@media (max-width:767px){
  html body .bwq-ic .bw-ic{ width:16px !important; height:16px !important; min-width:16px !important; }
  html body .bwq-item--group .bwq-ic .bw-ic{ width:17px !important; height:17px !important; min-width:17px !important; }
}
@media (prefers-reduced-motion:reduce){ html body .bwq-item--group, html body .bwq-dot{ animation:none !important; } }

/* =====================================================================
   Teil J: Schrift auf der ganzen Plattform etwas groesser (ca. +1 bis +2 px)
   Grundschrift + die haeufigsten Texte von SocialEngine / SES / Shop / Buswal.
   Alles in diesem Block - zum Zuruecknehmen einfach den Block entfernen.
   ===================================================================== */
html body{ font-size:15px; line-height:1.5; }
html body :where(#global_content){ font-size:15px; }
/* Beitraege / Kommentare (Aktivitaet, Profile, Gruppen ...) */
html body [class*="feed_item_bodytext"], html body [class*="feed_item_body_content"] .feed_item_bodytext,
html body .feed_item_attachments .feed_attachment_core_link .feed_item_link_desc,
html body .rich_content_body, html body .layout_core_html_block{ font-size:15.5px !important; line-height:1.55; }
html body [class*="feed_item_posted"], html body [class*="feed_item_generated"]{ font-size:14.5px; }
html body [class*="feed_item_date"], html body [class*="feed_item_time"], html body .timestamp, html body .timestamp-update{ font-size:13px; }
html body .comments_body, html body [class*="comments_body"], html body [class*="comment_body"]{ font-size:14.5px; line-height:1.5; }
html body .comments_author a, html body [class*="comments_author"] a{ font-size:14.5px; }
html body .comments_date, html body [class*="comments_date"], html body .comments_info .comments_date{ font-size:12.5px; }
/* Ueberschriften der Bereiche */
html body .generic_layout_container > h3, html body .generic_layout_container > .widget_title, html body .layout_main h2{ font-size:17px; }
/* Listen, Profile, Infos */
html body .sesbasic_text_light, html body .sesbasic_text_light a{ font-size:13.5px; }
html body .profile_fields ul li span, html body .profile_fields ul li > span + span{ font-size:14.5px; }
html body .browse_info_title, html body .browse_info_title a{ font-size:15.5px; }
html body .browse_info_blurb, html body .browse_info_desc{ font-size:14.5px; }
/* Knoepfe, Tabs, Formulare */
html body button, html body .button, html body a.button, html body input[type="submit"], html body input[type="button"]{ font-size:14.5px; }
html body .tabs_alt > ul > li > a, html body .tabs > ul > li > a{ font-size:14.5px !important; }
html body .global_form h3{ font-size:21px; }
html body .global_form .form-label label, html body .global_form label.optional, html body .global_form label.required{ font-size:14px; }
html body .global_form .form-element .description, html body .global_form p.description, html body .form-text{ font-size:13.5px; }
html body .global_form > div > div > p.form-description, html body .global_form .form-description{ font-size:15px; }
html body input[type="text"], html body input[type="email"], html body input[type="password"], html body input[type="search"], html body input[type="number"], html body input[type="url"], html body input[type="tel"], html body select, html body textarea{ font-size:16px; }
html body .tip > span, html body .alert{ font-size:15px; }
/* Buswal Kopfzeile / Menues / Suche */
html body .bws-tx b{ font-size:15px; }
html body .bws-tx small{ font-size:13px; }
html body .bwb-row__txt{ font-size:14px; }
html body .bwb-row__txt b{ font-size:14.5px; }
html body .bwb-row__txt small{ font-size:12.5px; }
html body .bwb-links a{ font-size:15px; }
html body .bwq-lb{ font-size:12.5px; }
html body .bwm-list a, html body .bwm-rowbtn{ font-size:16px; }
html body .bwm-quick__i, html body .bwm-stats a{ font-size:13px; }
/* Shop: Produktkarten, Preise, Warenkorb */
html body li.ses-grid-li .sesproduct_grid_info_title, html body li.ses-grid-li .sesproduct_grid_info_title a, html body .bw-card__title{ font-size:15px !important; }
html body li.ses-grid-li .sesproduct_price .current_value{ font-size:19px !important; }
html body li.ses-grid-li .sesproduct_product_stat, html body li.ses-grid-li .sesproduct_product_stat *{ font-size:12.5px !important; }
html body li.ses-grid-li .ses-disc-save{ font-size:13px !important; }
html body li.ses-grid-li a.ses-opt-btn, html body li.ses-grid-li .sesproduct_add_cart a.add-cart:not(.sesproduct_wishlist){ font-size:14px !important; }
html body .bwmc-t{ font-size:15px !important; }
html body .bwmc-pr, html body .bwmc-vars{ font-size:12.5px !important; }
html body .sesproduct_cart_desc h4{ font-size:16px; }
@media (max-width:640px){
  html body{ font-size:15px; }
  html body [class*="feed_item_bodytext"]{ font-size:15.5px !important; }
  html body li.ses-grid-li .sesproduct_grid_info_title, html body li.ses-grid-li .sesproduct_grid_info_title a, html body .bw-card__title{ font-size:14px !important; }
  html body li.ses-grid-li .sesproduct_price .current_value{ font-size:17px !important; }
  html body li.ses-grid-li a.ses-opt-btn, html body li.ses-grid-li .sesproduct_add_cart a.add-cart:not(.sesproduct_wishlist){ font-size:12.5px !important; }
}
@media (max-width:380px){
  html body li.ses-grid-li a.ses-opt-btn, html body li.ses-grid-li .sesproduct_add_cart a.add-cart:not(.sesproduct_wishlist){ font-size:11.5px !important; }
}


/* =====================================================================
 *  TEIL K - Proportionen fuer jeden Bildschirm (Handy bis 4K)
 *  Schrift waechst fliessend mit; sehr grosse Bildschirme etwas groesser.
 * ===================================================================== */
html body{ font-size:clamp(15px, 14.2px + 0.18vw, 17px); }
@media (min-width:1600px){
  html body [class*="feed_item_bodytext"]{ font-size:16.5px !important; }
  html body li.ses-grid-li .sesproduct_grid_info_title, html body li.ses-grid-li .sesproduct_grid_info_title a, html body .bw-card__title{ font-size:16px !important; }
  html body li.ses-grid-li .sesproduct_price .current_value{ font-size:20px !important; }
  html body .generic_layout_container > h3{ font-size:18px; }
}
@media (min-width:2200px){
  html body [class*="feed_item_bodytext"]{ font-size:17.5px !important; }
  html body li.ses-grid-li .sesproduct_grid_info_title, html body li.ses-grid-li .sesproduct_grid_info_title a, html body .bw-card__title{ font-size:17px !important; }
  html body li.ses-grid-li .sesproduct_price .current_value{ font-size:22px !important; }
  html body .generic_layout_container > h3{ font-size:20px; }
}
/* =====================================================================
 *  TEIL L - Kein Zoom beim Antippen (Handy / Tablet)
 *  iPhone/iPad zoomen automatisch hinein, wenn ein Eingabefeld kleiner
 *  als 16px geschrieben ist. Darum auf Touch-Geraeten ALLE Felder 16px
 *  (mit doppelter ID-Staerke, damit auch Seiten-eigene Regeln verlieren).
 *  Doppeltippen zoomt nicht mehr (touch-action), Zwei-Finger-Zoom bleibt.
 * ===================================================================== */
@media (max-width:1024px), (pointer:coarse){
  :is(html,#bw-nz1):is(html,#bw-nz2) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="range"]):not([type="file"]):not([type="image"]):not([type="color"]):not([type="hidden"]),
  :is(html,#bw-nz1):is(html,#bw-nz2) select,
  :is(html,#bw-nz1):is(html,#bw-nz2) textarea,
  :is(html,#bw-nz1):is(html,#bw-nz2) [contenteditable="true"],
  :is(html,#bw-nz1):is(html,#bw-nz2) .selectize-input,
  :is(html,#bw-nz1):is(html,#bw-nz2) .selectize-input input,
  :is(html,#bw-nz1):is(html,#bw-nz2) .select2-search__field{
    font-size:16px !important;
  }
  /* Platzhalter duerfen kleiner aussehen, ohne Zoom auszuloesen */
  :is(html,#bw-nz1) input::placeholder, :is(html,#bw-nz1) textarea::placeholder{ font-size:15px; }
}
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
a, button, input, select, textarea, label, summary, [role="button"], [onclick]{ touch-action:manipulation; }
/* =====================================================================
 *  TEIL M - Kopfzeile 98% breit + Untermenue als Pille (wie die Suche)
 *  - Kopf und Untermenue 98% breit (vorher max. 1320px -> auf grossen
 *    Bildschirmen / Firefox nur ca. 60% der Breite)
 *  - Untermenue: eigene abgerundete Leiste mit Rand, vom Kopf getrennt,
 *    nur Icons (farbig wie bisher), Name als Hinweis, keine Pfeile,
 *    aktuelle Seite mit Ring.
 * ===================================================================== */
html body .bwh .bwh-in{ max-width:98% !important; width:98% !important; }
html body .bwq{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 !important; }
html body .bwq, html body .bwq *, html body .bwh .bwh-in{ box-sizing:border-box !important; }
html body .bwq .bwq-in{ max-width:98% !important; width:98% !important; margin:0 auto !important; padding:10px 0 8px !important; display:flex !important; justify-content:center !important; gap:0 !important; }
html body .bwq .bwq-arrow{ display:none !important; }
html body .bwq .bwq-track{ flex:0 1 auto !important; width:auto !important; max-width:100% !important; min-width:0; margin:0 auto !important; padding:4px 6px !important; gap:2px !important;
  justify-content:center; overflow-x:auto; overflow-y:visible; cursor:default;
  background:#fff !important; border:1px solid #e3e5e8 !important; border-radius:999px !important; box-shadow:0 2px 8px rgba(15,17,21,.04) !important; }
html body .bwq .bwq-track:hover{ border-color:#d6d9de !important; }
html body .bwq .bwq-item{ position:relative !important; flex:0 0 auto !important; width:56px !important; min-width:0 !important; height:44px !important; padding:0 !important; margin:0 !important; gap:0 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:transparent !important; border:0 !important; border-radius:999px !important; box-shadow:none !important; transform:none !important; animation:none !important; overflow:visible !important; }
html body .bwq .bwq-item::before, html body .bwq .bwq-item::after{ display:none !important; content:none !important; }
@media (hover:hover) and (pointer:fine){ html body .bwq .bwq-item:hover{ background:#f2f3f5 !important; box-shadow:none !important; transform:none !important; } }
html body .bwq .bwq-item:hover:not(.is-active){ box-shadow:none !important; }
html body .bwq .bwq-item.is-active{ background:#f2f3f5 !important; box-shadow:inset 0 0 0 1.5px #0f1115 !important; }
/* Icons: ohne Kaestchen, gross, Farbe je Bereich */
html body .bwq .bwq-ic{ width:auto !important; height:auto !important; background:transparent !important; border-radius:0 !important; color:#4b5261 !important; }
html body .bwq .bwq-ic .bw-ic, html body .bwq .bwq-ic svg{ width:23px !important; height:23px !important; min-width:23px !important; animation:none !important; }
html body .bwq .bwq-item--bonus .bwq-ic{ color:#ea580c !important; }
html body .bwq .bwq-item--cashback .bwq-ic{ color:#16a34a !important; }
html body .bwq .bwq-item--promo .bwq-ic{ color:#dc2626 !important; }
html body .bwq .bwq-item--group .bwq-ic{ color:#7c3aed !important; }
/* Name als kleiner Hinweis unter dem Icon (Maus / Tastatur) */
html body .bwq .bwq-lb{ position:absolute !important; left:50%; top:calc(100% + 10px); z-index:40; transform:translateX(-50%) translateY(-3px);
  padding:5px 9px !important; border-radius:8px; background:#0f1115 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; text-shadow:none !important;
  font-size:12px !important; font-weight:700 !important; line-height:1.2 !important; white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .15s ease, transform .15s ease, visibility .15s; }
html body .bwq .bwq-item:hover .bwq-lb, html body .bwq .bwq-item:focus-visible .bwq-lb{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
@media (hover:none){ html body .bwq .bwq-lb{ display:none !important; } }
@media (hover:hover) and (pointer:fine){ html body .bwq .bwq-track{ overflow:visible !important; } html body .bwq{ position:relative; z-index:20 !important; } }
/* Aktion: Countdown nur im Hinweis, SALE klein am Icon; Gruppenkauf-Punkt */
html body .bwq .bwq-timer{ display:none !important; }
html body .bwq .bwq-badge{ top:1px !important; right:1px !important; padding:1px 5px !important; border-radius:999px !important; font-size:8px !important; box-shadow:0 0 0 2px #fff; background:#dc2626 !important; }
html body .bwq .bwq-dot{ top:7px !important; right:11px !important; width:8px !important; height:8px !important; }
@media (max-width:1024px){ html body .bwq .bwq-track{ justify-content:flex-start; } }
@media (max-width:767px){
  html body .bwh .bwh-in{ max-width:100% !important; width:100% !important; }
  html body .bwq .bwq-in{ max-width:100% !important; width:100% !important; padding:8px 8px 6px !important; }
  html body .bwq .bwq-track{ width:100% !important; justify-content:space-between; padding:3px 4px !important; gap:0 !important; }
  html body .bwq .bwq-item{ flex:1 0 44px !important; width:auto !important; height:42px !important; }
  html body .bwq .bwq-ic .bw-ic, html body .bwq .bwq-ic svg{ width:22px !important; height:22px !important; min-width:22px !important; }
  html body .bwq .bwq-dot{ right:calc(50% - 18px) !important; }
  html body .bwq .bwq-badge{ right:calc(50% - 26px) !important; }
}
@supports (-moz-appearance:none){ html body .bwq .bwq-ic .bw-ic, html body .bwq .bwq-ic svg{ width:24px !important; height:24px !important; min-width:24px !important; } }
/* Hinweis (Name) auch am Handy: beim Antippen / Gedrueckt-halten erscheint er kurz unter dem Icon */
html body .bwq-tip{ position:fixed; z-index:100010; left:0; top:0; padding:6px 10px; border-radius:8px; background:#0f1115; color:#fff; font-size:12.5px; font-weight:700; line-height:1.2;
  white-space:nowrap; pointer-events:none; opacity:0; transform:translateY(-3px); transition:opacity .15s ease, transform .15s ease; box-shadow:0 6px 16px rgba(15,17,21,.18); }
html body .bwq-tip::before{ content:""; position:absolute; top:-5px; left:var(--ax, 50%); width:10px; height:10px; margin-left:-5px; background:#0f1115; transform:rotate(45deg); border-radius:2px; }
html body .bwq-tip.is-on{ opacity:1; transform:none; }
html body .bwq .bwq-item{ -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
html body .bwq .bwq-item:hover .bwq-lb::before, html body .bwq .bwq-lb::before{ content:""; position:absolute; top:-5px; left:50%; width:10px; height:10px; margin-left:-5px; background:#0f1115; transform:rotate(45deg); border-radius:2px; z-index:-1; }
/* =====================================================================
 *  TEIL N - Schrift "Inter" (liegt auf dem eigenen Server - kein Google)
 *  Staerken zwischen fett und leicht: was im Code "sehr fett" (800/900)
 *  ist, wird Bold (700); "fett" (700) wird Halbfett (600); Fliesstext 400.
 *  Lizenz: SIL Open Font License (externals/fonts/OFL-Inter.txt)
 * ===================================================================== */
@font-face{ font-family:'Buswal Sans'; font-style:normal; font-display:swap; font-weight:100 449; src:url('/externals/buswal-fonts/inter-400.woff2') format('woff2'); }
@font-face{ font-family:'Buswal Sans'; font-style:normal; font-display:swap; font-weight:450 549; src:url('/externals/buswal-fonts/inter-500.woff2') format('woff2'); }
@font-face{ font-family:'Buswal Sans'; font-style:normal; font-display:swap; font-weight:550 749; src:url('/externals/buswal-fonts/inter-600.woff2') format('woff2'); }
@font-face{ font-family:'Buswal Sans'; font-style:normal; font-display:swap; font-weight:750 1000; src:url('/externals/buswal-fonts/inter-700.woff2') format('woff2'); }
:root{
  --bw-font:'Buswal Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
  --bw-font-display:var(--bw-font);
  --bs-body-font-family:var(--bw-font);
}
html body{ font-family:var(--bw-font); font-synthesis-weight:none; letter-spacing:-.003em; }
/* Bausteine mit eigener Schrift-Angabe ebenfalls auf Inter */
html body :is(.bkd, .bkd-sub-mo, .bwmc, .bw-st, .bw-bk, .bwpe, .bwpc, .ses-attr-modern, .ses-var-modern, .wa-gp, .wa-gv, .ses-m-box, .bwq-tip, #professionalMySettings, .estore_manage_products){ font-family:var(--bw-font) !important; }
html body :is(.bkd, .bkd-sub-mo, .bwmc, .bw-st, .bw-bk) :is(h1,h2,h3,h4,p,a,span,div,li,label,button,input,select,textarea,b,strong,small):not([class*="fa-"]):not([class^="fa"]):not([class*="fi-"]):not([class*="icon"]){ font-family:inherit; }
/* Buchungen (Booking-Modul) hat eigene Schrift-Angaben -> ueberall dieselbe Schrift wie der Rest */
html body:is([id^="global_page_booking"], [id*="_booking-"]) :is(*):not(i):not(svg):not(svg *):not([class*="fa-"]):not([class^="fa"]):not([class*=" fa"]):not([class*="fi-"]):not([class*="icon"]):not([class*="material"]):not([class*="emoji"]):not(.flatpickr-calendar *):not(code):not(pre),
html body :is([class*="sesapmt"], [class*="booking"], [id*="booking"], .bkd, .bkd-sub-mo, #professionalMySettings),
html body :is([class*="sesapmt"], [class*="booking"], [id*="booking"], .bkd, .bkd-sub-mo, #professionalMySettings) :not(i):not(svg):not(svg *):not([class*="fa-"]):not([class^="fa"]):not([class*=" fa"]):not([class*="fi-"]):not([class*="icon"]):not([class*="material"]):not([class*="emoji"]):not(code):not(pre){
  font-family:var(--bw-font) !important; }
/* Zahlen gleich breit (Preise, Countdown) */
html body :is(.bwmc-price, .bwmc-total, .bkd-sub-plan-price, .bwq-timer, [class*="price"]){ font-variant-numeric:tabular-nums; }

/* =====================================================================
 *  ICONS IM KOPF + UNTERMENUE BESSER SICHTBAR (03.11.2026)
 *  Dunkler, dicker, etwas groesser; Theme darf Strich/Fuellung nicht aendern.
 * ===================================================================== */
html body :is(.bwh, .bwq, .bwb, .bwb-pop, .bwm) svg.bw-ic{ opacity:1 !important; visibility:visible !important; overflow:visible; }
html body :is(.bwh, .bwq, .bwb, .bwb-pop, .bwm) svg.bw-ic > g{ fill:none !important; stroke:currentColor !important; stroke-width:2.25 !important; }
/* Untermenue (Schnellzugriff unter dem Kopf) */
html body .bwq .bwq-ic{ color:#0f1115 !important; }
html body .bwq .bwq-ic .bw-ic, html body .bwq .bwq-ic svg{ width:26px !important; height:26px !important; min-width:26px !important; }
html body .bwq .bwq-item{ width:60px !important; height:48px !important; }
html body .bwq .bwq-item--bonus .bwq-ic{ color:#ea580c !important; }
html body .bwq .bwq-item--cashback .bwq-ic{ color:#16a34a !important; }
html body .bwq .bwq-item--promo .bwq-ic{ color:#dc2626 !important; }
html body .bwq .bwq-item--group .bwq-ic{ color:#7c3aed !important; }
html body .bwq .bwq-item.is-active .bwq-ic svg.bw-ic > g{ stroke-width:2.5 !important; }
/* Kopf-Knoepfe (Glocke, Nachrichten, Warenkorb, Entdecken) */
html body .bwb .bwb-btn{ color:#0f1115 !important; background:#f3f4f6; }
html body .bwb .bwb-btn:hover, html body .bwb .bwb-btn[aria-expanded="true"]{ background:#e5e7eb !important; }
html body .bwb .bwb-btn:not(.bwb-btn--me) .bw-ic{ width:23px !important; height:23px !important; min-width:23px !important; }
html body .bwb .bwb-btn--me{ background:var(--bw-grad) !important; }
/* Fenster "Mein Konto": Icon in kleinem Feld */
html body .bwb-pop .bwb-links a .bw-ic{ box-sizing:content-box !important; width:18px !important; height:18px !important; min-width:18px !important; padding:7px; border-radius:10px; background:#f1f2f4; color:#0f1115 !important; }
html body .bwb-pop .bwb-links a:hover .bw-ic{ background:#0f1115; color:#fff !important; }
/* Fenster "Entdecken" */
html body .bwb-pop .bwb-app__ic{ width:42px !important; height:42px !important; background:#fff !important; color:#0f1115 !important; box-shadow:0 0 0 1px #e3e5e8, 0 2px 6px rgba(15,17,21,.08) !important; }
html body .bwb-pop .bwb-app__ic .bw-ic, html body .bwb-pop .bwb-app__ic svg{ width:22px !important; height:22px !important; min-width:22px !important; }
html body .bwb-pop .bwb-app__ic img{ width:24px !important; height:24px !important; }
html body .bwb-pop .bwb-app.is-on .bwb-app__ic{ color:#0f1115 !important; }
html body .bwb-pop .bwb-row__img--ic{ color:#0f1115 !important; background:#f1f2f4; }
/* Handy */
@media (max-width:767px){
  html body .bwq .bwq-item{ width:auto !important; height:46px !important; }
  html body .bwq .bwq-ic .bw-ic, html body .bwq .bwq-ic svg{ width:24px !important; height:24px !important; min-width:24px !important; }
  html body .bwb .bwb-btn:not(.bwb-btn--me) .bw-ic{ width:22px !important; height:22px !important; min-width:22px !important; }
}
/* Warenkorb-Fenster: Entfernen-Knopf + "Alle entfernen" */
html body .bwb-cart .sesbasic_cart_pulldown_item ._close a{ display:inline-flex !important; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#f1f2f4; color:#0f1115 !important; font-size:13px; cursor:pointer; text-decoration:none !important; }
html body .bwb-cart .sesbasic_cart_pulldown_item ._close a:hover{ background:#fee2e2; color:#dc2626 !important; }
html body .bwb-cart.is-busy{ opacity:.55; pointer-events:none; }
html body .bwb-cart-clear{ display:block; width:100%; margin:6px 0 4px; padding:8px 10px; border:0; border-radius:10px; background:transparent; color:#dc2626; font-size:13px; font-weight:700; cursor:pointer; text-align:center; }
html body .bwb-cart-clear:hover{ background:#fef2f2; }
/* 1.3.7: Seitenhintergrund ueberall weiss (auch Theme-Container) */
html, html body, html body #global_wrapper, html body #global_content, html body #global_content_simple,
html body .layout_main, html body .layout_middle, html body .layout_left, html body .layout_right, html body .layout_top, html body .layout_bottom{ background-color:#fff !important; }
/* ===== 1.3.8: Schnellzugriff-Leiste - Icon oben, Name darunter, ohne Hintergrund, kein Abstand ===== */
html body #global_header, html body .layout_page_header, html body .layout_page_header > .generic_layout_container,
html body .bwh-wrap, html body .bwq, html body .bwq .bwq-in{ background:transparent !important; box-shadow:none !important; }
html body #global_header, html body .layout_page_header{ border-bottom:0 !important; margin-bottom:0 !important; padding-bottom:0 !important; }
html body #global_wrapper{ padding-top:0 !important; margin-top:0 !important; }
html body #global_content{ padding-top:0 !important; margin-top:0 !important; }
html body #global_content > .layout_main:first-child, html body #global_content > .layout_top:first-child{ margin-top:0 !important; }
html body .bwq .bwq-in{ padding:4px 0 2px !important; }
html body .bwq .bwq-track{ background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; padding:0 2px !important; gap:4px !important; }
html body .bwq .bwq-item{ flex-direction:column !important; justify-content:flex-start !important; gap:3px !important; width:auto !important; min-width:62px !important; height:auto !important;
  padding:4px 6px 5px !important; border-radius:12px !important; background:transparent !important; box-shadow:none !important; }
@media (hover:hover) and (pointer:fine){ html body .bwq .bwq-item:hover{ background:transparent !important; } html body .bwq .bwq-item:hover .bwq-ic{ transform:translateY(-1px); } }
html body .bwq .bwq-item.is-active{ background:transparent !important; box-shadow:none !important; }
html body .bwq .bwq-ic{ transition:transform .15s ease; }
html body .bwq .bwq-ic .bw-ic, html body .bwq .bwq-ic svg{ width:21px !important; height:21px !important; min-width:21px !important; }
html body .bwq .bwq-lb, html body .bwq .bwq-item:hover .bwq-lb{ position:static !important; display:block !important; opacity:1 !important; visibility:visible !important; transform:none !important;
  padding:0 !important; background:none !important; border-radius:0 !important; color:#3b4250 !important; -webkit-text-fill-color:#3b4250 !important;
  font-size:11px !important; font-weight:700 !important; line-height:1.2 !important; white-space:nowrap; pointer-events:none; transition:none !important; }
html body .bwq .bwq-lb::before, html body .bwq .bwq-item:hover .bwq-lb::before{ content:none !important; display:none !important; }
html body .bwq .bwq-item.is-active .bwq-lb{ color:#0f1115 !important; -webkit-text-fill-color:#0f1115 !important; font-weight:800 !important; }
html body .bwq .bwq-item.is-active::after{ content:"" !important; display:block !important; position:absolute; left:50%; bottom:0; width:18px; height:2.5px; margin-left:-9px; border-radius:2px; background:#0f1115; }
html body .bwq .bwq-item--group .bwq-lb{ color:#7c3aed !important; -webkit-text-fill-color:#7c3aed !important; }
html body .bwq .bwq-badge{ top:-3px !important; right:auto !important; left:calc(50% + 4px) !important; }
html body .bwq .bwq-dot{ top:3px !important; right:auto !important; left:calc(50% + 8px) !important; }
html body .bwq-tip{ display:none !important; }
@media (max-width:767px){
  html body .bwq .bwq-in{ padding:10px 4px 0 !important; }   /* 1.3.8b: Icons am Handy 8px tiefer */
  html body .bwq .bwq-track{ justify-content:space-between !important; gap:0 !important; }
  html body .bwq .bwq-item{ flex:1 0 auto !important; min-width:54px !important; padding:4px 3px 5px !important; }
  html body .bwq .bwq-ic .bw-ic, html body .bwq .bwq-ic svg{ width:20px !important; height:20px !important; min-width:20px !important; }
  html body .bwq .bwq-lb{ font-size:10.5px !important; }
  html body .bwq .bwq-badge{ top:-1px !important; }   /* 1.3.8c: SALE am Handy 2px tiefer, nicht mehr verdeckt */
}