/* BS Ried SuS – Responsive Schülerportal 2.0
   Lädt nach compact.css und verändert ausschließlich die Portal-Startseite. */

.bsr-v2-home {
  --v2-bg: #f4f7fb;
  --v2-card: #fff;
  --v2-ink: #102342;
  --v2-muted: #617087;
  --v2-line: #dce5ef;
  --v2-orange: #f56400;
  --v2-orange-strong: #e95500;
  --v2-orange-soft: #fff0e5;
  --v2-blue-soft: #eef7ff;
  --v2-green-soft: #eefaf3;
  --v2-violet-soft: #f4f0ff;
  --v2-shadow: 0 14px 34px rgba(29, 56, 93, .08);
  --v2-sidebar: 190px;
  background: var(--v2-bg) !important;
  color: var(--v2-ink) !important;
  min-height: 100vh;
  overflow-x: clip;
}

.bsr-v2-home::before,
.bsr-v2-home::after { display: none !important; }
.bsr-v2-home a { -webkit-tap-highlight-color: rgba(245,100,0,.12); }
.bsr-v2-icon { display: block; width: 21px; height: 21px; flex: 0 0 auto; }

/* Kopfzeile */
.bsr-v2-home .bsr-v2-site-header {
  align-items: center !important;
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--v2-line) !important;
  box-shadow: 0 4px 18px rgba(30,55,88,.04);
  display: grid !important;
  grid-template-columns: minmax(300px, 1fr) auto minmax(300px, 1fr) !important;
  min-height: 68px !important;
  padding: 8px 22px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  backdrop-filter: blur(14px);
}
body.admin-bar .bsr-v2-home .bsr-v2-site-header { top: 32px !important; }
.bsr-v2-brand { align-items: center; display: inline-flex; gap: 10px; min-width: 0; width: max-content; }
.bsr-v2-brand-mark {
  align-items: center; border: 2px solid var(--v2-orange); border-radius: 7px; color: var(--v2-orange);
  display: inline-flex; height: 28px; justify-content: center; width: 28px; flex: 0 0 auto;
}
.bsr-v2-brand-mark .bsr-v2-icon { height: 17px; width: 17px; }
.bsr-v2-brand-text { align-items: baseline; display: flex; min-width: 0; white-space: nowrap; }
.bsr-v2-brand-text strong { color: var(--v2-orange); font-size: 1rem; font-weight: 850; }
.bsr-v2-brand-text b { color: #14223a; font-size: .9rem; font-weight: 780; }
.bsr-v2-brand-text small { display: none; }
.bsr-v2-header-nav { align-items: center; display: flex; justify-content: center; }
.bsr-v2-header-nav a { align-items: center; border-radius: 12px; color: #30425e; display: inline-flex; font-size: .83rem; font-weight: 720; gap: 8px; min-height: 42px; padding: 0 15px; }
.bsr-v2-header-nav a.is-active { background: #f6f8fb; color: var(--v2-ink); }
.bsr-v2-user-zone { align-items: center; display: flex; gap: 10px; justify-self: end; min-width: 0; }
.bsr-v2-user-card { align-items: center; border-radius: 14px; display: flex; gap: 9px; padding: 4px 7px; }
.bsr-v2-user-card:hover { background: #f7f9fc; }
.bsr-v2-avatar { align-items: center; background: linear-gradient(145deg,#ff7c20,#f25700); border-radius: 50%; color: #fff; display: inline-flex; font-size: .75rem; font-weight: 850; height: 36px; justify-content: center; width: 36px; flex: 0 0 auto; }
.bsr-v2-user-card > span:last-child,.bsr-v2-drawer-user > span:last-child { display: grid; gap: 1px; }
.bsr-v2-user-card strong { color: var(--v2-ink); font-size: .79rem; font-weight: 780; }
.bsr-v2-user-card small { color: var(--v2-muted); font-size: .68rem; }
.bsr-v2-login { background: var(--v2-orange); border-radius: 12px; color: #fff !important; font-size: .78rem; font-weight: 800; min-height: 40px; padding: 11px 16px; }
.bsr-v2-menu-button { align-items: center; background: transparent; border: 0; border-radius: 10px; color: var(--v2-ink); cursor: pointer; display: none; height: 44px; justify-content: center; padding: 0; width: 44px; }

/* Desktop-Seitenleiste */
.bsr-v2-sidebar {
  background: rgba(255,255,255,.94); border-right: 1px solid var(--v2-line); bottom: 0; display: flex; flex-direction: column;
  justify-content: space-between; left: 0; padding: 18px 12px 18px; position: fixed; top: 68px; width: var(--v2-sidebar); z-index: 50;
}
body.admin-bar .bsr-v2-sidebar { top: 100px; }
.bsr-v2-sidebar nav,.bsr-v2-mobile-drawer nav { display: grid; gap: 5px; }
.bsr-v2-nav-item { align-items: center; border-radius: 11px; color: #40516a !important; display: flex; font-size: .82rem; font-weight: 700; gap: 11px; min-height: 46px; padding: 8px 11px; position: relative; transition: background .18s ease,color .18s ease,transform .18s ease; }
.bsr-v2-nav-item:hover { background: #f6f8fb; color: var(--v2-ink) !important; transform: translateX(1px); }
.bsr-v2-nav-item.is-active { background: var(--v2-orange-soft); color: var(--v2-orange-strong) !important; }
.bsr-v2-nav-item.is-active::before { background: var(--v2-orange); border-radius: 0 5px 5px 0; bottom: 8px; content:""; left: -12px; position: absolute; top: 8px; width: 3px; }
.bsr-v2-nav-icon { align-items: center; display: inline-flex; justify-content: center; width: 22px; }
.bsr-v2-nav-divider { border-top: 1px solid var(--v2-line); display: block; margin: 10px 4px; }
.bsr-v2-help-card { background: #f5f9ff; border: 1px solid #e0eaf7; border-radius: 14px; display: grid; gap: 5px; padding: 12px; }
.bsr-v2-help-card strong { color: var(--v2-ink); font-size: .76rem; }
.bsr-v2-help-card span { color: var(--v2-muted); font-size: .68rem; }
.bsr-v2-help-card a { align-items:center; color:#2f72be !important; display:flex; font-size:.68rem; font-weight:760; gap:5px; margin-top:2px; }
.bsr-v2-help-card .bsr-v2-icon { width:14px; height:14px; }

/* Hauptinhalt */
.bsr-v2-home > .bsr-notice,
.bsr-v2-home > .bsr-hero,
.bsr-v2-home > .bsr-portal-section,
.bsr-v2-home > .bsr-area-panel,
.bsr-v2-home > .bsr-footer {
  margin-left: calc(var(--v2-sidebar) + 24px) !important;
  margin-right: 24px !important;
  max-width: 1280px !important;
}
.bsr-v2-home > .bsr-notice { margin-top: 18px !important; }

.bsr-v2-home .bsr-v2-hero {
  background: linear-gradient(115deg,#fff7f0 0%,#fffaf6 48%,#edf5ff 100%) !important;
  border: 1px solid #e8e3df;
  border-radius: 20px;
  box-shadow: var(--v2-shadow);
  display: grid !important;
  gap: 22px !important;
  grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr) !important;
  margin-top: 22px !important;
  min-height: 300px !important;
  overflow: hidden;
  padding: 38px 22px 36px 38px !important;
  position: relative;
}
.bsr-v2-home .bsr-v2-hero::before { display:none !important; }
.bsr-v2-home .bsr-hero-copy { align-self: center !important; max-width: 670px; }
.bsr-v2-mobile-welcome { display: none; }
.bsr-v2-home .bsr-kicker { color: var(--v2-orange-strong) !important; font-size: .69rem !important; font-weight: 850 !important; letter-spacing: .12em !important; margin: 0 0 11px !important; }
.bsr-v2-home .bsr-hero h1.bsr-home-title { color: var(--v2-ink) !important; font-size: clamp(2.2rem,4vw,3.55rem) !important; font-weight: 880 !important; letter-spacing: -.055em !important; line-height: .99 !important; margin: 0 !important; max-width: 680px !important; white-space: normal !important; }
.bsr-v2-home .bsr-hero-lead { color: var(--v2-muted) !important; font-size: .96rem !important; line-height: 1.55 !important; margin: 18px 0 14px !important; max-width: 630px !important; }
.bsr-v2-home .bsr-text-link { color: var(--v2-orange-strong) !important; font-size: .78rem !important; font-weight: 800 !important; gap: 6px; }
.bsr-v2-home .bsr-text-link .bsr-v2-icon { height: 15px; width: 15px; }
.bsr-v2-home .bsr-v2-hero-art { display:flex !important; align-items:center; justify-content:center; min-height:230px !important; padding: 0 !important; visibility:visible !important; }
.bsr-v2-home .bsr-v2-hero-art::before,.bsr-v2-home .bsr-v2-hero-art::after { display:none !important; }
.bsr-v2-home .bsr-v2-hero-art > * { visibility:visible !important; }
.bsr-v2-home .bsr-v2-hero-art img { display:block; height:auto; max-height:250px; max-width:100%; width:auto; }

/* Karten */
.bsr-v2-home .bsr-portal-section { padding: 18px 0 22px !important; }
.bsr-v2-home .bsr-section-heading { display:none !important; }
.bsr-v2-home .bsr-modern-shortcuts {
  display: grid !important; gap: 15px !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; grid-auto-rows: 1fr !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
  background: var(--v2-card) !important; border: 1px solid var(--v2-line) !important; border-radius: 18px !important; box-shadow: var(--v2-shadow) !important;
  color: var(--v2-ink) !important; display:flex !important; flex-direction:column !important; min-height:220px !important; overflow:hidden !important; padding:18px 18px 16px !important; transform:none !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:hover { border-color:#c8d5e4 !important; box-shadow:0 17px 36px rgba(29,56,93,.12) !important; transform:translateY(-2px) !important; }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-glow { display:none !important; }
.bsr-v2-home .bsr-modern-tile-head { align-items:flex-start !important; display:flex !important; justify-content:space-between !important; margin:0 0 16px !important; }
.bsr-v2-home .bsr-modern-icon {
  align-items:center !important; border-radius:13px !important; display:flex !important; height:50px !important; justify-content:center !important; width:50px !important;
}
.bsr-v2-home .bsr-modern-icon svg { height:25px !important; width:25px !important; }
.bsr-v2-home .bsr-modern-tile-grades .bsr-modern-icon { background:#e9f5ff !important; color:#168ce8 !important; }
.bsr-v2-home .bsr-modern-tile-lessons .bsr-modern-icon { background:#eaf9f0 !important; color:#31a665 !important; }
.bsr-v2-home .bsr-modern-tile-solutions .bsr-modern-icon { background:#f1edff !important; color:#7958e8 !important; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-icon { background:#fff0e5 !important; color:var(--v2-orange) !important; }
.bsr-v2-home .bsr-modern-arrow { align-items:center !important; background:#fff !important; border:1px solid var(--v2-line) !important; border-radius:50% !important; color:#396087 !important; display:flex !important; height:32px !important; justify-content:center !important; width:32px !important; }
.bsr-v2-home .bsr-modern-arrow .bsr-icon { height:15px !important; width:15px !important; }
.bsr-v2-home .bsr-modern-copy { display:flex !important; flex:1 !important; flex-direction:column !important; min-width:0 !important; position:relative !important; }
.bsr-v2-home .bsr-modern-copy h3 { color:var(--v2-ink) !important; font-size:1.04rem !important; font-weight:820 !important; letter-spacing:-.025em !important; line-height:1.18 !important; margin:0 0 8px !important; }
.bsr-v2-home .bsr-modern-copy p { color:var(--v2-muted) !important; font-size:.78rem !important; line-height:1.52 !important; margin:0 0 14px !important; }
.bsr-v2-home .bsr-modern-chip { align-self:flex-start !important; background:transparent !important; border:0 !important; color:var(--v2-orange-strong) !important; font-size:.69rem !important; font-weight:790 !important; margin-top:auto !important; padding:0 !important; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-awl-layout { display:block !important; height:100% !important; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-copy { height:100% !important; }
.bsr-v2-home .bsr-modern-eyebrow { color:var(--v2-orange-strong) !important; font-size:.62rem !important; letter-spacing:.11em !important; margin:0 0 8px !important; }
.bsr-v2-home .bsr-awl-scene { display:none !important; }
.bsr-v2-home .bsr-awl-button .bsr-icon { height:13px !important; width:13px !important; }

/* Der alte AWL-Kopf hat keine Icon-Box – visuell ergänzen. */
.bsr-v2-home .bsr-modern-tile-awl::after { content:"AWL"; align-items:center; background:#fff0e5; border-radius:13px; color:var(--v2-orange); display:flex; font-size:.78rem; font-weight:900; height:50px; justify-content:center; left:18px; position:absolute; top:18px; width:50px; z-index:3; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-copy { padding-top:65px !important; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-eyebrow { display:none !important; }

/* PDF-Schnellzugriff / Ergebnisbereich */
.bsr-v2-home .bsr-area-panel {
  align-items:flex-start !important; background:#fff !important; border:1px solid var(--v2-line) !important; border-radius:18px !important; box-shadow:var(--v2-shadow) !important;
  display:grid !important; gap:18px !important; grid-template-columns:auto minmax(0,1fr) auto !important; margin-bottom:22px !important; margin-top:0 !important; padding:20px !important; scroll-margin-top:88px;
}
.bsr-v2-home .bsr-area-icon { align-items:center !important; background:#fff0e5 !important; border-radius:12px !important; color:var(--v2-orange) !important; display:flex !important; height:48px !important; justify-content:center !important; width:48px !important; }
.bsr-v2-home .bsr-area-icon .bsr-icon { height:23px !important; width:23px !important; }
.bsr-v2-home .bsr-ext-results-content { min-width:0 !important; }
.bsr-v2-home .bsr-ext-results-content .bsr-kicker { margin-bottom:4px !important; }
.bsr-v2-home .bsr-area-panel h2 { color:var(--v2-ink) !important; font-size:1.24rem !important; letter-spacing:-.025em !important; margin:0 !important; }
.bsr-v2-home .bsr-area-panel p { color:var(--v2-muted) !important; font-size:.76rem !important; line-height:1.5 !important; margin:6px 0 12px !important; }
.bsr-v2-home .bsr-ext-results-form { align-items:end !important; display:grid !important; gap:10px !important; grid-template-columns:minmax(160px,.7fr) minmax(260px,1.3fr) auto !important; }
.bsr-v2-home .bsr-ext-results-form label { color:#3d4d65 !important; display:grid !important; font-size:.68rem !important; font-weight:780 !important; gap:5px !important; }
.bsr-v2-home .bsr-ext-results-form select { background:#fbfcfe !important; border:1px solid #cfd9e5 !important; border-radius:10px !important; color:var(--v2-ink) !important; min-height:42px !important; padding:0 10px !important; width:100% !important; }
.bsr-v2-home .bsr-ext-results-open { border-radius:10px !important; min-height:42px !important; padding:0 14px !important; white-space:nowrap !important; }
.bsr-v2-home .bsr-ext-results-close { border-radius:10px !important; min-height:38px !important; padding:0 12px !important; }

.bsr-v2-footer { background:transparent !important; border:0 !important; color:#7a8798 !important; font-size:.68rem !important; justify-content:flex-start !important; min-height:0 !important; padding:8px 0 28px !important; }

/* Mobiles Menü und Bottom-Navigation: Desktop unsichtbar */
.bsr-v2-mobile-drawer,.bsr-v2-drawer-backdrop,.bsr-v2-bottom-nav { display:none; }

@media (max-width: 1180px) {
  .bsr-v2-home { --v2-sidebar: 174px; }
  .bsr-v2-home .bsr-v2-site-header { grid-template-columns:minmax(280px,1fr) auto minmax(230px,1fr) !important; }
  .bsr-v2-brand-text b { font-size:.78rem; }
  .bsr-v2-home .bsr-modern-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile { min-height:185px !important; }
}

@media (max-width: 960px) {
  .bsr-v2-home { --v2-sidebar: 0px; padding-bottom:80px; }
  .bsr-v2-sidebar { display:none !important; }
  .bsr-v2-home > .bsr-notice,.bsr-v2-home > .bsr-hero,.bsr-v2-home > .bsr-portal-section,.bsr-v2-home > .bsr-area-panel,.bsr-v2-home > .bsr-footer { margin-left:16px !important; margin-right:16px !important; max-width:none !important; }
  .bsr-v2-home .bsr-v2-site-header { grid-template-columns:minmax(0,1fr) auto !important; min-height:62px !important; padding:7px 14px !important; }
  .bsr-v2-header-nav { display:none; }
  .bsr-v2-user-card { display:none; }
  .bsr-v2-menu-button { display:flex; }
  .bsr-v2-home .bsr-v2-hero { grid-template-columns:minmax(0,1fr) minmax(260px,.72fr) !important; min-height:260px !important; padding:30px !important; }
  .bsr-v2-home .bsr-hero h1.bsr-home-title { font-size:2.35rem !important; }
  .bsr-v2-home .bsr-v2-hero-art img { max-height:205px; }
  .bsr-v2-home .bsr-ext-results-form { grid-template-columns:1fr 1.5fr !important; }
  .bsr-v2-home .bsr-ext-results-open { grid-column:1/-1 !important; width:100% !important; }
}

@media (max-width: 720px) {
  body.admin-bar .bsr-v2-home .bsr-v2-site-header { top:46px !important; }
  .bsr-v2-home { background:#f5f8fc !important; padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .bsr-v2-home .bsr-v2-site-header { position:sticky !important; top:0 !important; }
  .bsr-v2-brand-mark { height:26px; width:26px; }
  .bsr-v2-brand-text { display:grid; gap:0; line-height:1.02; }
  .bsr-v2-brand-text strong { font-size:.84rem; }
  .bsr-v2-brand-text b { display:none; }
  .bsr-v2-brand-text small { color:var(--v2-ink); display:block; font-size:.72rem; font-weight:760; margin-top:2px; }
  .bsr-v2-home > .bsr-notice,.bsr-v2-home > .bsr-hero,.bsr-v2-home > .bsr-portal-section,.bsr-v2-home > .bsr-area-panel,.bsr-v2-home > .bsr-footer { margin-left:10px !important; margin-right:10px !important; }

  .bsr-v2-home .bsr-v2-hero {
    background:linear-gradient(130deg,#edf5ff 0%,#fff8f1 100%) !important; border-radius:16px !important; display:block !important; margin-top:10px !important; min-height:0 !important; padding:20px 18px !important;
  }
  .bsr-v2-home .bsr-v2-hero-art { display:none !important; }
  .bsr-v2-mobile-welcome { color:var(--v2-ink); display:block; font-size:1.33rem; font-weight:860; letter-spacing:-.035em; margin:0 0 5px; }
  .bsr-v2-home .bsr-kicker { display:none !important; }
  .bsr-v2-home .bsr-hero h1.bsr-home-title { display:none !important; }
  .bsr-v2-home .bsr-hero-lead { color:#55677f !important; font-size:.76rem !important; line-height:1.45 !important; margin:0 !important; max-width:75% !important; }
  .bsr-v2-home .bsr-text-link { display:none !important; }
  .bsr-v2-home .bsr-v2-hero::after { content:"🎓"; align-items:center; background:rgba(255,255,255,.7); border-radius:50%; display:flex; font-size:1.65rem; height:58px; justify-content:center; position:absolute; right:16px; top:18px; width:58px; }

  .bsr-v2-home .bsr-portal-section { padding:10px 0 !important; }
  .bsr-v2-home .bsr-modern-shortcuts { display:grid !important; gap:8px !important; grid-template-columns:1fr !important; }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
    align-items:center !important; border-radius:14px !important; display:grid !important; grid-template-columns:48px minmax(0,1fr) 32px !important; min-height:70px !important; padding:10px 10px !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(1) { background:linear-gradient(100deg,#eef7ff,#fff) !important; }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(2) { background:linear-gradient(100deg,#eefaf3,#fff) !important; }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(3) { background:linear-gradient(100deg,#f4f0ff,#fff) !important; }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(4) { background:linear-gradient(100deg,#fff2e9,#fff) !important; }
  .bsr-v2-home .bsr-modern-tile-head { display:contents !important; }
  .bsr-v2-home .bsr-modern-icon { border-radius:11px !important; grid-column:1 !important; grid-row:1 !important; height:44px !important; width:44px !important; }
  .bsr-v2-home .bsr-modern-icon svg { height:22px !important; width:22px !important; }
  .bsr-v2-home .bsr-modern-arrow { grid-column:3 !important; grid-row:1 !important; height:30px !important; width:30px !important; }
  .bsr-v2-home .bsr-modern-copy { display:block !important; grid-column:2 !important; grid-row:1 !important; height:auto !important; padding:0 !important; }
  .bsr-v2-home .bsr-modern-copy h3 { font-size:.86rem !important; margin:0 0 3px !important; }
  .bsr-v2-home .bsr-modern-copy p { display:block !important; font-size:.66rem !important; line-height:1.32 !important; margin:0 !important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .bsr-v2-home .bsr-modern-chip,.bsr-v2-home .bsr-modern-eyebrow { display:none !important; }
  .bsr-v2-home .bsr-modern-tile-awl::after { content:"AWL"; border-radius:11px; font-size:.65rem; grid-column:1; grid-row:1; height:44px; left:auto; position:relative; top:auto; width:44px; }
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-copy { grid-column:2 !important; padding:0 !important; }
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-awl-layout { display:contents !important; }
  .bsr-v2-home .bsr-modern-tile-awl::before { display:none !important; }

  .bsr-v2-home .bsr-area-panel { border-radius:14px !important; display:grid !important; gap:10px !important; grid-template-columns:42px minmax(0,1fr) !important; margin-bottom:12px !important; padding:12px !important; scroll-margin-top:72px; }
  .bsr-v2-home .bsr-area-icon { height:42px !important; width:42px !important; }
  .bsr-v2-home .bsr-ext-results-close { grid-column:1/-1 !important; justify-self:end !important; min-height:36px !important; }
  .bsr-v2-home .bsr-ext-results-form { display:grid !important; gap:8px !important; grid-template-columns:1fr !important; }
  .bsr-v2-home .bsr-ext-results-open { grid-column:auto !important; min-height:44px !important; width:100% !important; }
  .bsr-v2-home .bsr-area-panel h2 { font-size:1rem !important; }
  .bsr-v2-home .bsr-area-panel p { font-size:.68rem !important; }
  .bsr-v2-home .bsr-ext-results-form label { font-size:.65rem !important; }
  .bsr-v2-home .bsr-ext-results-form select { min-height:44px !important; }
  .bsr-v2-footer { display:none !important; }

  .bsr-v2-drawer-backdrop { background:rgba(11,27,50,.38); inset:0; position:fixed; z-index:140; }
  .bsr-v2-drawer-backdrop:not([hidden]) { display:block; }
  .bsr-v2-mobile-drawer {
    background:#fff; box-shadow:-16px 0 40px rgba(20,42,72,.18); display:block; height:100dvh; max-width:330px; overflow:auto; padding:18px 14px 28px;
    position:fixed; right:0; top:0; transform:translateX(104%); transition:transform .24s ease; width:min(86vw,330px); z-index:150;
  }
  .bsr-v2-mobile-drawer[aria-hidden="false"] { transform:translateX(0); }
  .bsr-v2-drawer-head { align-items:center; display:flex; justify-content:space-between; margin-bottom:16px; }
  .bsr-v2-drawer-user { align-items:center; display:flex; gap:10px; min-width:0; }
  .bsr-v2-drawer-user strong { color:var(--v2-ink); font-size:.87rem; }
  .bsr-v2-drawer-user small { color:var(--v2-muted); font-size:.68rem; }
  .bsr-v2-drawer-close { align-items:center; background:#f5f7fa; border:0; border-radius:10px; color:var(--v2-ink); display:flex; height:42px; justify-content:center; padding:0; width:42px; }
  .bsr-v2-mobile-drawer .bsr-v2-nav-item { min-height:49px; }
  .bsr-v2-menu-open { overflow:hidden !important; }

  .bsr-v2-bottom-nav {
    align-items:stretch; background:rgba(255,255,255,.97); border-top:1px solid var(--v2-line); bottom:0; box-shadow:0 -8px 26px rgba(32,57,89,.08); display:grid;
    grid-template-columns:repeat(5,1fr); left:0; padding:5px 4px calc(5px + env(safe-area-inset-bottom)); position:fixed; right:0; z-index:100; backdrop-filter:blur(14px);
  }
  .bsr-v2-bottom-nav a,.bsr-v2-bottom-nav button { align-items:center; background:transparent; border:0; border-radius:10px; color:#50617a !important; display:flex; flex-direction:column; font:inherit; gap:2px; justify-content:center; min-height:55px; padding:5px 2px; }
  .bsr-v2-bottom-nav .bsr-v2-icon { height:20px; width:20px; }
  .bsr-v2-bottom-nav span { font-size:.56rem; font-weight:720; }
  .bsr-v2-bottom-nav .is-active { color:var(--v2-orange) !important; }
}

@media (max-width: 390px) {
  .bsr-v2-home .bsr-hero-lead { max-width:70% !important; }
  .bsr-v2-home .bsr-v2-hero::after { height:50px; right:12px; top:19px; width:50px; }
  .bsr-v2-brand-text strong { font-size:.78rem; }
  .bsr-v2-brand-text small { font-size:.67rem; }
  .bsr-v2-home .bsr-modern-copy p { max-width:205px; }
}

@media (prefers-reduced-motion: reduce) {
  .bsr-v2-home *, .bsr-v2-home *::before, .bsr-v2-home *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; }
}


/* ==================================================================
   2.1.1 – Visual Polish, basierend auf der stabilen 2.0.1
   Keine strukturellen Seiteneingriffe per CSS/JS.
   ================================================================== */
.bsr-v2-home {
  background:
    radial-gradient(circle at -4% 16%, rgba(245,100,0,.075), transparent 18%),
    radial-gradient(circle at 104% 13%, rgba(245,100,0,.055), transparent 15%),
    linear-gradient(180deg,#f6f8fc 0%,#eef3f9 100%) !important;
}

.bsr-v2-home .bsr-v2-site-header {
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 8px 26px rgba(23,48,90,.055) !important;
}

.bsr-v2-home .bsr-v2-hero {
  background: linear-gradient(120deg,#fff7f0 0%,#fffdfb 46%,#edf5ff 100%) !important;
  border-color: rgba(229,220,212,.94) !important;
  box-shadow: 0 24px 48px rgba(18,47,86,.085),0 3px 10px rgba(18,47,86,.035) !important;
  padding: 42px 28px 38px 42px !important;
}
.bsr-v2-home .bsr-v2-hero-art {
  overflow: hidden;
}
.bsr-v2-home .bsr-v2-hero-art img {
  max-height: 275px !important;
  width: 100% !important;
  object-fit: contain;
  filter: saturate(.98) drop-shadow(0 15px 26px rgba(23,48,90,.06));
}
.bsr-v2-home .bsr-hero h1.bsr-home-title {
  font-size: clamp(2.35rem,4.2vw,3.7rem) !important;
  max-width: 720px !important;
}
.bsr-v2-home .bsr-hero-lead {
  font-size: 1rem !important;
  max-width: 570px !important;
}
.bsr-v2-home .bsr-text-link {
  align-items: center;
  display: inline-flex;
  border-bottom: 2px solid rgba(245,100,0,.17);
  padding-bottom: 3px;
}

.bsr-v2-home > .bsr-v2-benefits {
  margin-left: calc(var(--v2-sidebar) + 24px) !important;
  margin-right: 24px !important;
  max-width: 1280px !important;
}
.bsr-v2-benefits {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  margin-top: 14px;
  margin-bottom: 4px;
}
.bsr-v2-benefit {
  align-items: center;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(220,229,239,.95);
  border-radius: 16px;
  box-shadow: 0 12px 26px rgba(23,48,90,.05);
  display: flex;
  gap: 12px;
  min-height: 72px;
  padding: 13px 15px;
}
.bsr-v2-benefit-icon {
  align-items: center;
  background: linear-gradient(145deg,#fff2e7,#eef6ff);
  border-radius: 13px;
  color: var(--v2-orange);
  display: inline-flex;
  flex: 0 0 auto;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.bsr-v2-benefit-icon .bsr-v2-icon { width: 20px; height: 20px; }
.bsr-v2-benefit-text { color:#273a58; font-size:.78rem; font-weight:760; line-height:1.34; }

.bsr-v2-home .bsr-modern-shortcuts { gap:18px !important; }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
  position: relative;
  border-color: rgba(216,226,237,.98) !important;
  background: linear-gradient(180deg,#fff 0%,#fbfcfe 100%) !important;
  box-shadow: 0 18px 38px rgba(21,44,77,.08),inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile::before {
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:5px;
  border-radius:18px 18px 0 0;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(1)::before { background:linear-gradient(90deg,#2399f4,#89ccff); }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(2)::before { background:linear-gradient(90deg,#38ae6a,#9ae4b5); }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(3)::before { background:linear-gradient(90deg,#8060ed,#c4b4ff); }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(4)::before { background:linear-gradient(90deg,#f56400,#ffad67); }
.bsr-v2-home .bsr-modern-copy h3 { font-size:1.16rem !important; letter-spacing:-.028em !important; }
.bsr-v2-home .bsr-modern-copy p { font-size:.82rem !important; line-height:1.52 !important; }
.bsr-v2-home .bsr-modern-icon { box-shadow:inset 0 1px 0 rgba(255,255,255,.85); }
.bsr-v2-home .bsr-modern-arrow { box-shadow:0 9px 18px rgba(21,44,77,.07); }

.bsr-v2-home .bsr-area-panel {
  box-shadow:0 18px 40px rgba(21,44,77,.075) !important;
  border-color:rgba(216,226,237,.98) !important;
}
.bsr-v2-home .bsr-area-panel h2 { font-size:1.28rem !important; }
.bsr-v2-home .bsr-ext-results-open { box-shadow:0 11px 22px rgba(245,100,0,.17); }

@media (max-width:1180px) {
  .bsr-v2-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:960px) {
  .bsr-v2-home > .bsr-v2-benefits {
    margin-left:16px !important;
    margin-right:16px !important;
    max-width:none !important;
  }
}

@media (max-width:720px) {
  .bsr-v2-home > .bsr-v2-benefits {
    margin-left:10px !important;
    margin-right:10px !important;
  }
  .bsr-v2-benefits {
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:8px;
    margin-bottom:2px;
  }
  .bsr-v2-benefit {
    border-radius:13px;
    gap:8px;
    min-height:58px;
    padding:9px 10px;
  }
  .bsr-v2-benefit-icon { border-radius:10px; height:34px; width:34px; }
  .bsr-v2-benefit-icon .bsr-v2-icon { width:17px; height:17px; }
  .bsr-v2-benefit-text { font-size:.66rem; }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile::before { height:4px; border-radius:14px 14px 0 0; }
}


/* ==================================================================
   2.1.2 – weitere optische Verfeinerung (nur CSS, keine Strukturänderung)
   ================================================================== */
.bsr-v2-home {
  background:
    radial-gradient(circle at 0% 18%, rgba(245,100,0,.085), transparent 20%),
    radial-gradient(circle at 100% 14%, rgba(245,100,0,.06), transparent 14%),
    linear-gradient(180deg,#f5f8fc 0%,#eef3f9 100%) !important;
}

.bsr-v2-home .bsr-v2-site-header {
  background: rgba(255,255,255,.95) !important;
  border-bottom: 1px solid rgba(220,229,239,.96) !important;
  box-shadow: 0 10px 28px rgba(18,47,86,.05) !important;
}
.bsr-v2-home .bsr-v2-header-nav a.is-active,
.bsr-v2-home .bsr-v2-user-card,
.bsr-v2-home .bsr-v2-login {
  box-shadow: 0 8px 18px rgba(18,47,86,.05);
}
.bsr-v2-home .bsr-v2-user-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  border: 1px solid rgba(220,229,239,.85);
}

.bsr-v2-home .bsr-v2-sidebar {
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(250,252,254,.95));
  box-shadow: inset -1px 0 0 rgba(220,229,239,.92);
}
.bsr-v2-home .bsr-v2-nav-item {
  border: 1px solid transparent;
}
.bsr-v2-home .bsr-v2-nav-item:hover {
  border-color: rgba(220,229,239,.9);
}
.bsr-v2-home .bsr-v2-nav-item.is-active {
  background: linear-gradient(180deg,#fff4eb,#fff8f3) !important;
  border-color: rgba(245,100,0,.14);
  box-shadow: 0 8px 18px rgba(245,100,0,.08);
}
.bsr-v2-home .bsr-v2-help-card {
  background: linear-gradient(180deg,#f8fbff,#f2f7fd);
  box-shadow: 0 12px 22px rgba(18,47,86,.05);
}

.bsr-v2-home .bsr-v2-hero {
  grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 56% 102%, rgba(245,100,0,.12), transparent 28%),
    radial-gradient(circle at 88% 24%, rgba(77,146,235,.11), transparent 18%),
    linear-gradient(123deg,#fff7f0 0%,#fffdfb 44%,#eef5ff 100%) !important;
  box-shadow: 0 28px 56px rgba(18,47,86,.08), 0 4px 14px rgba(18,47,86,.03) !important;
}
.bsr-v2-home .bsr-v2-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  right: 34%;
  bottom: -95px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,100,0,.14) 0%, rgba(245,100,0,.04) 46%, rgba(245,100,0,0) 72%);
  pointer-events: none;
}
.bsr-v2-home .bsr-v2-hero::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 28px;
  width: 74px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f56400, #ffb376);
  opacity: .95;
}
.bsr-v2-home .bsr-hero-copy {
  padding-right: 8px;
}
.bsr-v2-home .bsr-kicker {
  font-size: .72rem !important;
  margin-bottom: 16px !important;
}
.bsr-v2-home .bsr-hero h1.bsr-home-title {
  font-size: clamp(2.55rem,4.2vw,4rem) !important;
  line-height: .96 !important;
}
.bsr-v2-home .bsr-hero-lead {
  color: #5d6d83 !important;
  font-size: 1.02rem !important;
  line-height: 1.6 !important;
  margin: 20px 0 18px !important;
}
.bsr-v2-home .bsr-v2-hero-art {
  align-items: center !important;
  display: flex !important;
  justify-content: center !important;
  padding: 10px 8px 10px 14px !important;
}
.bsr-v2-home .bsr-v2-hero-art img {
  background: rgba(255,255,255,.18);
  border-radius: 18px;
  max-height: 300px !important;
  padding: 0;
}
.bsr-v2-home .bsr-text-link {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(245,100,0,.12);
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(245,100,0,.08);
  padding: 9px 14px 9px 16px !important;
}

.bsr-v2-benefits {
  gap: 16px;
  margin-top: 18px;
  margin-bottom: 8px;
}
.bsr-v2-benefit {
  border-radius: 18px;
  min-height: 78px;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(249,251,253,.97));
  box-shadow: 0 14px 28px rgba(18,47,86,.05);
}
.bsr-v2-benefit:nth-child(1) .bsr-v2-benefit-icon { background: linear-gradient(145deg,#eef7ff,#ffffff); color:#1d96f0; }
.bsr-v2-benefit:nth-child(2) .bsr-v2-benefit-icon { background: linear-gradient(145deg,#eefaf3,#ffffff); color:#37a764; }
.bsr-v2-benefit:nth-child(3) .bsr-v2-benefit-icon { background: linear-gradient(145deg,#f4f1ff,#ffffff); color:#7c61e9; }
.bsr-v2-benefit:nth-child(4) .bsr-v2-benefit-icon { background: linear-gradient(145deg,#fff2e8,#ffffff); color:#f56400; }
.bsr-v2-benefit-text { font-size: .8rem; }

.bsr-v2-home .bsr-portal-section { padding-top: 16px !important; }
.bsr-v2-home .bsr-modern-shortcuts { gap: 20px !important; }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
  border-radius: 20px !important;
  min-height: 232px !important;
  padding: 20px 20px 18px !important;
  box-shadow: 0 18px 36px rgba(18,47,86,.075), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(1) {
  background: linear-gradient(180deg,#fafdff 0%,#ffffff 100%) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(2) {
  background: linear-gradient(180deg,#fbfffc 0%,#ffffff 100%) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(3) {
  background: linear-gradient(180deg,#fcfbff 0%,#ffffff 100%) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(4) {
  background: linear-gradient(180deg,#fffaf6 0%,#ffffff 100%) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile::after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  opacity: .5;
  pointer-events: none;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(1)::after { background: radial-gradient(circle, rgba(35,153,244,.10) 0%, rgba(35,153,244,0) 70%); }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(2)::after { background: radial-gradient(circle, rgba(56,174,106,.10) 0%, rgba(56,174,106,0) 70%); }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(3)::after { background: radial-gradient(circle, rgba(128,96,237,.10) 0%, rgba(128,96,237,0) 70%); }
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(4)::after { background: radial-gradient(circle, rgba(245,100,0,.11) 0%, rgba(245,100,0,0) 70%); }
.bsr-v2-home .bsr-modern-icon {
  width: 54px !important;
  height: 54px !important;
  border-radius: 15px !important;
}
.bsr-v2-home .bsr-modern-tile-head { margin-bottom: 18px !important; }
.bsr-v2-home .bsr-modern-arrow {
  width: 34px !important;
  height: 34px !important;
  border-color: rgba(210,220,232,.95) !important;
}
.bsr-v2-home .bsr-modern-copy h3 {
  font-size: 1.22rem !important;
  line-height: 1.15 !important;
  margin-bottom: 10px !important;
}
.bsr-v2-home .bsr-modern-copy p {
  color: #617188 !important;
  font-size: .84rem !important;
  margin-bottom: 16px !important;
}
.bsr-v2-home .bsr-modern-chip,
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-chip.bsr-awl-button {
  align-items: center !important;
  align-self: flex-start !important;
  background: linear-gradient(180deg,#ff8a2a,#f56400) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 20px rgba(245,100,0,.18) !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  min-height: 34px !important;
  padding: 0 14px !important;
}
.bsr-v2-home .bsr-modern-tile-awl::after {
  background: linear-gradient(145deg,#fff2e8,#ffffff) !important;
  border: 1px solid rgba(245,100,0,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-copy { position: relative; z-index: 1; }

.bsr-v2-home .bsr-area-panel {
  position: relative;
  overflow: hidden;
  border-radius: 20px !important;
  padding: 22px 22px 20px !important;
  box-shadow: 0 20px 40px rgba(18,47,86,.07) !important;
  background:
    radial-gradient(circle at 94% 18%, rgba(245,100,0,.07), transparent 16%),
    linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%) !important;
}
.bsr-v2-home .bsr-area-panel::before {
  content: "";
  position: absolute;
  right: -44px;
  top: -40px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,100,0,.10) 0%, rgba(245,100,0,0) 70%);
  pointer-events: none;
}
.bsr-v2-home .bsr-area-icon {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.bsr-v2-home .bsr-area-panel h2 {
  font-size: 1.34rem !important;
  margin-bottom: 2px !important;
}
.bsr-v2-home .bsr-area-panel p {
  color: #66768c !important;
  font-size: .79rem !important;
}
.bsr-v2-home .bsr-ext-results-form select {
  background: rgba(255,255,255,.95) !important;
  box-shadow: inset 0 1px 2px rgba(18,47,86,.03);
}
.bsr-v2-home .bsr-ext-results-open,
.bsr-v2-home .bsr-ext-results-close {
  border-radius: 12px !important;
}
.bsr-v2-home .bsr-ext-results-open {
  background: linear-gradient(180deg,#ff8a2a,#f56400) !important;
  box-shadow: 0 12px 24px rgba(245,100,0,.18) !important;
}

@media (max-width: 1180px) {
  .bsr-v2-home .bsr-v2-hero {
    grid-template-columns: minmax(0,1fr) minmax(300px,.78fr) !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
    min-height: 210px !important;
  }
}

@media (max-width: 960px) {
  .bsr-v2-home .bsr-v2-hero {
    padding: 32px 22px !important;
  }
  .bsr-v2-home .bsr-v2-hero::before {
    right: 24%;
    width: 180px;
    height: 180px;
    bottom: -88px;
  }
}

@media (max-width: 720px) {
  .bsr-v2-home .bsr-v2-site-header {
    box-shadow: 0 8px 18px rgba(18,47,86,.05) !important;
  }
  .bsr-v2-home .bsr-v2-hero {
    border-radius: 18px !important;
    padding: 18px 16px 18px !important;
    background:
      radial-gradient(circle at 86% 24%, rgba(245,100,0,.10), transparent 15%),
      linear-gradient(135deg,#edf5ff 0%,#fff8f1 100%) !important;
  }
  .bsr-v2-home .bsr-v2-hero::before,
  .bsr-v2-home .bsr-v2-hero-art {
    display: none !important;
  }
  .bsr-v2-home .bsr-v2-hero::after {
    left: auto;
    top: 18px;
    right: 16px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255,255,255,.78);
    box-shadow: 0 8px 18px rgba(18,47,86,.06);
  }
  .bsr-v2-home .bsr-modern-shortcuts {
    gap: 10px !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
    min-height: 74px !important;
    border-radius: 16px !important;
    padding: 10px 10px !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile::after {
    width: 70px;
    height: 70px;
    right: -24px;
    bottom: -24px;
  }
  .bsr-v2-home .bsr-modern-icon,
  .bsr-v2-home .bsr-modern-tile-awl::after {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
  }
  .bsr-v2-home .bsr-modern-copy h3 { font-size: .9rem !important; margin-bottom: 3px !important; }
  .bsr-v2-home .bsr-modern-copy p { font-size: .67rem !important; margin-bottom: 0 !important; }
  .bsr-v2-home .bsr-modern-chip,
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-chip.bsr-awl-button {
    display: none !important;
  }
  .bsr-v2-benefit {
    min-height: 64px;
    padding: 10px 10px;
  }
  .bsr-v2-home .bsr-area-panel {
    border-radius: 16px !important;
    padding: 14px 12px 12px !important;
  }
  .bsr-v2-home .bsr-area-panel::before { display: none; }
}


/* ==================================================================
   2.1.3 – Header/Logos/hero closer to the approved draft
   ================================================================== */
.bsr-v2-home .bsr-v2-site-header {
  grid-template-columns: auto 1fr auto !important;
  gap: 18px !important;
}
.bsr-v2-home .bsr-v2-header-nav { justify-self: center !important; }
.bsr-v2-home .bsr-v2-user-zone {
  display: flex !important;
  visibility: visible !important;
  justify-self: end !important;
  gap: 12px !important;
}
.bsr-v2-home .bsr-v2-header-tools {
  align-items: center;
  display: flex;
  gap: 10px;
}
.bsr-v2-home .bsr-v2-user-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  border: 1px solid rgba(220,229,239,.88);
  box-shadow: 0 8px 20px rgba(18,47,86,.05);
  gap: 10px !important;
  min-height: 44px;
  padding: 4px 10px 4px 6px !important;
}
.bsr-v2-home .bsr-v2-user-caret {
  align-items: center;
  color: #6b7b90;
  display: inline-flex;
  margin-left: 2px;
}
.bsr-v2-home .bsr-v2-user-caret .bsr-v2-icon { width: 16px; height: 16px; }

.bsr-v2-home .bsr-v2-hero {
  grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr) !important;
}
.bsr-v2-home .bsr-v2-hero-art img {
  border-radius: 16px;
  max-height: 255px !important;
  object-fit: cover;
  width: 100% !important;
}

.bsr-v2-home .bsr-modern-tile-solutions .bsr-modern-icon { background:#f1edff !important; color:#7a5cea !important; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-icon { background:#fff0e5 !important; color:#f56400 !important; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-tile-head {
  align-items: flex-start !important;
  display: flex !important;
  justify-content: space-between !important;
  margin: 0 0 18px !important;
}
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-copy {
  height: auto !important;
  padding-top: 0 !important;
}
.bsr-v2-home .bsr-modern-tile-awl::after,
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-awl-layout,
.bsr-v2-home .bsr-awl-scene { display: none !important; }
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-eyebrow {
  color: #f56400 !important;
  display: inline-block !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  margin-bottom: 10px !important;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .bsr-v2-home .bsr-v2-site-header {
    grid-template-columns: minmax(240px,1fr) auto auto !important;
  }
}

@media (max-width: 960px) {
  .bsr-v2-home .bsr-v2-header-tools { display: none !important; }
}

@media (max-width: 720px) {
  .bsr-v2-home .bsr-v2-site-header {
    grid-template-columns: minmax(0,1fr) auto !important;
  }
  .bsr-v2-home .bsr-v2-hero-art img { max-height: 210px !important; }
}


/* ==================================================================
   2.1.4 – weitere optische Verfeinerung laut Rueckmeldung
   - Kacheln mit hellen unterschiedlichen Hintergrundfarben
   - Vorteilsboxen ueber den Modulen gleichmaessig ausrichten
   ================================================================== */
.bsr-v2-benefits {
  align-items: stretch;
  gap: 16px;
}
.bsr-v2-benefit {
  align-items: center;
  justify-content: flex-start;
  min-height: 82px;
  padding: 15px 18px;
}
.bsr-v2-benefit-text {
  display: flex;
  align-items: center;
  min-height: 36px;
  line-height: 1.32;
}
.bsr-v2-benefit:nth-child(1) {
  background: linear-gradient(180deg,#f7fbff 0%,#eef7ff 100%);
  border-color: rgba(168,207,246,.42);
}
.bsr-v2-benefit:nth-child(2) {
  background: linear-gradient(180deg,#f8fffa 0%,#eefaf3 100%);
  border-color: rgba(155,222,183,.42);
}
.bsr-v2-benefit:nth-child(3) {
  background: linear-gradient(180deg,#fbf9ff 0%,#f3eeff 100%);
  border-color: rgba(198,181,255,.48);
}
.bsr-v2-benefit:nth-child(4) {
  background: linear-gradient(180deg,#fff9f4 0%,#fff1e6 100%);
  border-color: rgba(255,194,148,.45);
}

.bsr-v2-home .bsr-modern-shortcuts {
  align-items: stretch !important;
  gap: 20px !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-height: 236px !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(1) {
  background: linear-gradient(180deg,#f7fbff 0%,#eef7ff 100%) !important;
  border-color: rgba(160,205,244,.55) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(2) {
  background: linear-gradient(180deg,#f8fffa 0%,#eefaf3 100%) !important;
  border-color: rgba(152,222,183,.52) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(3) {
  background: linear-gradient(180deg,#fbf9ff 0%,#f3eeff 100%) !important;
  border-color: rgba(196,178,255,.55) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(4) {
  background: linear-gradient(180deg,#fff9f4 0%,#fff1e6 100%) !important;
  border-color: rgba(255,190,138,.55) !important;
}
.bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile::before {
  height: 6px !important;
}
.bsr-v2-home .bsr-modern-copy {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}
.bsr-v2-home .bsr-modern-copy p {
  flex: 1 1 auto !important;
}
.bsr-v2-home .bsr-modern-chip,
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-chip.bsr-awl-button {
  margin-top: auto !important;
}
.bsr-v2-home .bsr-modern-tile-awl .bsr-modern-copy {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

@media (max-width: 1180px) {
  .bsr-v2-benefit {
    min-height: 76px;
  }
}

@media (max-width: 720px) {
  .bsr-v2-benefits {
    gap: 8px;
  }
  .bsr-v2-benefit {
    min-height: 60px;
    padding: 9px 10px;
  }
  .bsr-v2-benefit-text {
    min-height: 28px;
    font-size: .66rem;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(1) {
    background: linear-gradient(100deg,#eef7ff,#ffffff) !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(2) {
    background: linear-gradient(100deg,#eefaf3,#ffffff) !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(3) {
    background: linear-gradient(100deg,#f4f0ff,#ffffff) !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile:nth-child(4) {
    background: linear-gradient(100deg,#fff2e9,#ffffff) !important;
  }
}


/* ==================================================================
   2.1.5 – mobile Ansicht kompakter
   Desktop bleibt unverändert.
   ================================================================== */
@media (max-width: 720px) {
  /* Vorteile oberhalb der Module kompakter */
  .bsr-v2-benefits {
    gap: 6px !important;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }
  .bsr-v2-benefit {
    min-height: 52px !important;
    padding: 7px 8px !important;
    border-radius: 12px !important;
    gap: 7px !important;
  }
  .bsr-v2-benefit-icon {
    width: 30px !important;
    height: 30px !important;
    border-radius: 9px !important;
  }
  .bsr-v2-benefit-icon .bsr-v2-icon {
    width: 15px !important;
    height: 15px !important;
  }
  .bsr-v2-benefit-text {
    min-height: 0 !important;
    font-size: .61rem !important;
    line-height: 1.22 !important;
  }

  /* Direktzugriffskarten als kompakte horizontale Mobile-Karten */
  .bsr-v2-home .bsr-modern-shortcuts {
    gap: 7px !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) 30px !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    min-height: 64px !important;
    height: auto !important;
    padding: 8px 9px !important;
    border-radius: 13px !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile::before {
    height: 3px !important;
    border-radius: 13px 13px 0 0 !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile::after {
    width: 54px !important;
    height: 54px !important;
    right: -18px !important;
    bottom: -18px !important;
  }

  .bsr-v2-home .bsr-modern-tile-head {
    display: contents !important;
    margin: 0 !important;
  }
  .bsr-v2-home .bsr-modern-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
  }
  .bsr-v2-home .bsr-modern-icon svg {
    width: 20px !important;
    height: 20px !important;
  }
  .bsr-v2-home .bsr-modern-arrow {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
  }
  .bsr-v2-home .bsr-modern-arrow .bsr-icon {
    width: 13px !important;
    height: 13px !important;
  }

  .bsr-v2-home .bsr-modern-copy,
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    flex: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .bsr-v2-home .bsr-modern-copy h3 {
    font-size: .82rem !important;
    line-height: 1.12 !important;
    margin: 0 0 2px !important;
  }
  .bsr-v2-home .bsr-modern-copy p {
    display: block !important;
    flex: none !important;
    font-size: .60rem !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    max-width: none !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .bsr-v2-home .bsr-modern-eyebrow {
    display: none !important;
  }
  .bsr-v2-home .bsr-modern-chip,
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-chip.bsr-awl-button {
    display: none !important;
  }

  /* AWL verhält sich mobil exakt wie die anderen drei Karten */
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-tile-head {
    display: contents !important;
    margin: 0 !important;
  }
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .bsr-v2-home .bsr-modern-tile-awl .bsr-modern-arrow {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  /* Dateibereich ebenfalls etwas dichter, ohne Funktionsänderung */
  .bsr-v2-home .bsr-area-panel {
    gap: 8px !important;
    padding: 10px !important;
  }
  .bsr-v2-home .bsr-area-icon {
    width: 36px !important;
    height: 36px !important;
  }
  .bsr-v2-home .bsr-area-panel h2 {
    font-size: .94rem !important;
  }
  .bsr-v2-home .bsr-area-panel p {
    font-size: .63rem !important;
    margin: 4px 0 8px !important;
  }
}

@media (max-width: 390px) {
  .bsr-v2-benefits {
    grid-template-columns: 1fr 1fr !important;
  }
  .bsr-v2-benefit {
    min-height: 48px !important;
  }
  .bsr-v2-home .bsr-modern-shortcuts .bsr-modern-tile {
    grid-template-columns: 38px minmax(0,1fr) 28px !important;
    min-height: 60px !important;
    padding: 7px 8px !important;
  }
  .bsr-v2-home .bsr-modern-icon {
    width: 35px !important;
    height: 35px !important;
  }
  .bsr-v2-home .bsr-modern-copy h3 {
    font-size: .78rem !important;
  }
  .bsr-v2-home .bsr-modern-copy p {
    font-size: .57rem !important;
  }
}

/* ==================================================================
   2.1.8 – Hero-Titel zuverlässig einzeilig am Desktop
   portal-v2.css wird nach compact.css geladen. Deshalb muss die
   finale Korrektur hier am Dateiende stehen, damit frühere große
   Hero-Regeln (bis 4rem / white-space: normal) nicht mehr gewinnen.
   ================================================================== */
@media (min-width: 1181px) {
  .bsr-v2-home .bsr-v2-hero .bsr-hero-copy h1.bsr-home-title,
  .bsr-v2-home .bsr-hero h1.bsr-home-title {
    font-size: clamp(1.82rem, 2.05vw, 2.12rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    max-width: none !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 961px) and (max-width: 1180px) {
  .bsr-v2-home .bsr-v2-hero .bsr-hero-copy h1.bsr-home-title,
  .bsr-v2-home .bsr-hero h1.bsr-home-title {
    font-size: clamp(1.52rem, 2.25vw, 1.78rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
    max-width: none !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 721px) and (max-width: 960px) {
  .bsr-v2-home .bsr-v2-hero .bsr-hero-copy h1.bsr-home-title,
  .bsr-v2-home .bsr-hero h1.bsr-home-title {
    font-size: clamp(1.22rem, 2.25vw, 1.45rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -.04em !important;
    max-width: none !important;
    white-space: nowrap !important;
  }
}
