/* ============================================================
   Gamblerina — static skeleton (prefix: bal)
   gamblerina.co.it — LANG: IT
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face { font-family: "Poppins"; src: local("Poppins"); }
/* Display + body loaded via <link> in HTML (Pacifico + Poppins) */

/* ============================================================
   1. TOKENS
   ============================================================ */
:root {
  /* Backgrounds */
  --bal-bg-900: #1a1033;
  --bal-bg-800: #241546;
  --bal-bg-700: #2d1a57;
  --bal-bg-600: #3a2270;
  --bal-bg-header: #2a1850;
  --bal-bg-input: #160d2b;

  /* Brand / accents */
  --bal-primary: #6c4bd8;
  --bal-primary-600: #5a3cc0;
  --bal-accent: #5ce0c6;
  --bal-accent-600: #46c9b0;
  --bal-magenta: #d63b9e;
  --bal-green-link: #3fd9a0;

  /* Gradients */
  --bal-grad-sidebar: linear-gradient(90deg, #5a3cc0 0%, #3a2270 100%);
  --bal-grad-hero: linear-gradient(120deg, #3a2270 0%, #5a2a8c 50%, #7a3a9e 100%);
  --bal-grad-cta: linear-gradient(180deg, #6ee8cf 0%, #46c9b0 100%);

  /* Text */
  --bal-text: #ffffff;
  --bal-text-muted: #b9a8e0;
  --bal-text-dim: #8a78b8;
  --bal-win: #3fd96a;

  /* Chips */
  --bal-chip-bet: #6c4bd8;
  --bal-chip-mult: #2f6bd6;

  /* Borders */
  --bal-border: #4a3580;
  --bal-border-soft: rgba(255,255,255,.10);
  --bal-border-accent: #5ce0c6;

  /* Overlays */
  --bal-overlay: linear-gradient(180deg, rgba(20,12,40,0) 35%, rgba(20,12,40,.85) 100%);
  --bal-overlay-flat: rgba(20,12,40,.55);

  /* Typography */
  --bal-font-body: "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bal-font-display: "Pacifico", "Brush Script MT", cursive;
  --bal-fs-base: 16px;
  --bal-fs-h1: clamp(2rem, 4vw, 3.25rem);
  --bal-fs-h2: clamp(1.5rem, 3vw, 2.25rem);
  --bal-fs-h3: clamp(1.1rem, 2vw, 1.4rem);
  --bal-fw-regular: 400;
  --bal-fw-medium: 500;
  --bal-fw-semibold: 600;
  --bal-fw-bold: 700;

  /* Radii */
  --bal-r-sm: 8px;
  --bal-r-md: 14px;
  --bal-r-lg: 20px;
  --bal-r-pill: 999px;

  /* Spacing */
  --bal-sp-1: 4px;
  --bal-sp-2: 8px;
  --bal-sp-3: 12px;
  --bal-sp-4: 16px;
  --bal-sp-5: 24px;
  --bal-sp-6: 32px;
  --bal-sp-7: 48px;
  --bal-sp-8: 64px;

  /* Layout */
  --bal-sidebar-w: 290px;
  --bal-maxw: 1440px;
  --bal-gap-grid: 16px;
  --bal-game-min: 180px;
  --bal-provider-min: 200px;
  --bal-header-h: 72px;

  /* Shadows */
  --bal-shadow-card: 0 6px 20px rgba(0,0,0,.35);
  --bal-shadow-cta: 0 4px 14px rgba(92,224,198,.35);
}

/* ============================================================
   2. RESET / BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  overflow-x: clip;            /* ivybet pattern */
  scroll-behavior: smooth;
  font-size: var(--bal-fs-base);
  max-width: 100%;
}
body {
  overflow-x: hidden;          /* ivybet pattern */
  max-width: 100%;
  background: var(--bal-bg-800);
  color: var(--bal-text);
  font-family: var(--bal-font-body);
  font-weight: var(--bal-fw-regular);
  line-height: 1.5;
  min-height: 100vh;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

h1, h2, h3, h4, h5 { font-weight: var(--bal-fw-bold); line-height: 1.15; }
.bal-display { font-family: var(--bal-font-display); font-weight: 400; }

:focus-visible { outline: 2px solid var(--bal-accent); outline-offset: 2px; }

/* ============================================================
   3. UTILITIES
   ============================================================ */
.bal-container { width: 100%; max-width: var(--bal-maxw); margin-inline: auto; padding-inline: var(--bal-sp-5); }
.bal-muted { color: var(--bal-text-muted); }
.bal-link-green { color: var(--bal-green-link); font-weight: var(--bal-fw-semibold); }

/* image slot helper */
.bal-imgslot { position: relative; overflow: hidden; background: var(--bal-bg-700); }
.bal-imgslot img { width: 100%; height: 100%; object-fit: cover; }
.bal-imgslot--overlay::after {
  content: ""; position: absolute; inset: 0; background: var(--bal-overlay); pointer-events: none;
}

/* ---------- Buttons (all <a>) ---------- */
.bal-btn { display: inline-flex; align-items: center; justify-content: center;
  gap: var(--bal-sp-2); font-weight: var(--bal-fw-semibold); cursor: pointer;
  border-radius: var(--bal-r-pill); padding: 10px 22px; transition: filter .18s, transform .18s; }
.bal-btn:hover { filter: brightness(1.08); }
.bal-btn:active { transform: translateY(1px); }
.bal-btn--accent { background: var(--bal-grad-cta); color: #0d2b25; box-shadow: var(--bal-shadow-cta); }
.bal-btn--primary { background: var(--bal-primary); color: #fff; }
.bal-btn--outline { background: transparent; color: #fff; border: 1px solid var(--bal-border-accent); }
.bal-btn--ghost { background: var(--bal-bg-700); color: #fff; }
.bal-btn--block { display: flex; width: 100%; }
.bal-btn--lg { padding: 16px 28px; font-size: 1.05rem; }

/* round icon button */
.bal-iconbtn { display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: var(--bal-r-pill);
  background: var(--bal-primary); color: #fff; cursor: pointer; }
.bal-iconbtn--soft { background: var(--bal-bg-600); }

/* section header row */
.bal-sechead { display: flex; align-items: center; justify-content: space-between;
  gap: var(--bal-sp-4); margin-bottom: var(--bal-sp-4); }
.bal-sechead h2 { font-size: var(--bal-fs-h2); }
.bal-sechead__nav { display: flex; gap: var(--bal-sp-2); }
.bal-section { padding-block: var(--bal-sp-6); min-width: 0; }

/* carousel arrows */
.bal-arrows { display: flex; gap: var(--bal-sp-2); }

/* ============================================================
   4. HEADER
   ============================================================ */
.bal-header {
  position: sticky; top: 0; z-index: 50;
  height: var(--bal-header-h);
  background: var(--bal-bg-header);
  border-bottom: 1px solid var(--bal-border);
}
.bal-header__inner { display: flex; align-items: center; gap: var(--bal-sp-4);
  height: 100%; max-width: var(--bal-maxw); margin-inline: auto; padding-inline: var(--bal-sp-5); }
.bal-burger { font-size: 1.4rem; background: none; color: #fff; cursor: pointer; line-height: 1; }
.bal-logo { display: inline-flex; align-items: center; }
.bal-logo__text { font-family: var(--bal-font-display); font-size: 1.6rem; color: #fff; letter-spacing: .5px; }
.bal-header__divider { width: 1px; height: 28px; background: var(--bal-border); }
.bal-header__spacer { flex: 1; }
.bal-header__actions { display: flex; align-items: center; gap: var(--bal-sp-3); }

/* ============================================================
   5. LAYOUT: sidebar + main
   ============================================================ */
.bal-layout {
  display: grid;
  grid-template-columns: var(--bal-sidebar-w) 1fr;
  align-items: start;
  max-width: var(--bal-maxw);
  margin-inline: auto;
  gap: var(--bal-sp-5);
  padding: var(--bal-sp-5);
}
.bal-main { min-width: 0; max-width: 100%; overflow: hidden; }   /* ivybet pattern: kill child overflow */

/* ---------- Sidebar ---------- */
.bal-sidebar { display: flex; flex-direction: column; gap: var(--bal-sp-4); position: sticky; top: calc(var(--bal-header-h) + var(--bal-sp-5)); }
.bal-promo-list { display: flex; flex-direction: column; gap: var(--bal-sp-3); }
.bal-promo {
  display: flex; align-items: center; justify-content: space-between;
  background: var(--bal-grad-sidebar); border-radius: var(--bal-r-md);
  padding: var(--bal-sp-4) var(--bal-sp-4); font-weight: var(--bal-fw-bold);
  min-height: 64px;
}
.bal-promo__icon { width: 48px; height: 48px; }

.bal-menu {
  background: var(--bal-bg-700); border: 1px solid var(--bal-border);
  border-radius: var(--bal-r-lg); padding: var(--bal-sp-4);
  display: flex; flex-direction: column; gap: var(--bal-sp-1);
}
.bal-menu__item { display: flex; align-items: center; gap: var(--bal-sp-3);
  padding: var(--bal-sp-3); border-radius: var(--bal-r-sm); transition: background .15s; }
.bal-menu__item:hover { background: var(--bal-bg-600); }
.bal-menu__ico { width: 22px; height: 22px; display: inline-flex; }

.bal-app {
  background: var(--bal-bg-700); border: 1px solid var(--bal-border);
  border-radius: var(--bal-r-lg); padding: var(--bal-sp-4);
  display: grid; grid-template-columns: 1fr; gap: var(--bal-sp-3); align-items: center;
}
.bal-app__media { width: 90px; height: 110px; border-radius: var(--bal-r-md); }

.bal-sidebar__bottom { display: flex; align-items: center; gap: var(--bal-sp-3); }
.bal-langsel {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: var(--bal-sp-2);
  background: var(--bal-bg-600); border: 1px solid var(--bal-border);
  border-radius: var(--bal-r-pill); padding: 12px var(--bal-sp-4); font-weight: var(--bal-fw-semibold);
}
.bal-social { display: flex; gap: var(--bal-sp-3); }
.bal-social a { flex: 1; display: flex; align-items: center; justify-content: center;
  background: var(--bal-bg-700); border-radius: var(--bal-r-md); padding: var(--bal-sp-4); }

/* ============================================================
   6. HERO
   ============================================================ */
.bal-hero {
  position: relative; border-radius: var(--bal-r-lg); overflow: hidden;
  background: var(--bal-grad-hero); min-height: 360px;
  display: grid; place-items: center; text-align: center; padding: var(--bal-sp-7) var(--bal-sp-5);
}
.bal-hero__bg { position: absolute; inset: 0; z-index: 0; }
.bal-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.bal-hero__inner { position: relative; z-index: 1; max-width: 520px; }
.bal-hero__eyebrow { text-transform: uppercase; letter-spacing: 3px; font-weight: var(--bal-fw-semibold);
  font-size: .85rem; color: var(--bal-text-muted); margin-bottom: var(--bal-sp-2); }
.bal-hero h1, .bal-hero .bal-hero__title { font-family: var(--bal-font-display); font-weight: 400;
  font-size: var(--bal-fs-h1); margin-bottom: var(--bal-sp-3); text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.bal-hero__sub { font-family: var(--bal-font-display); font-size: clamp(1.6rem,3.5vw,2.6rem); margin-bottom: var(--bal-sp-5); }

/* ============================================================
   7. CAROUSELS / GAME CARDS
   ============================================================ */
.bal-rail {
  display: grid; grid-auto-flow: column; grid-auto-columns: var(--bal-game-min);
  gap: var(--bal-gap-grid); overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: var(--bal-sp-2); scrollbar-width: thin;
}
.bal-rail > * { scroll-snap-align: start; }

/* static grid variant (Migliori giochi etc.) */
.bal-grid {
  display: grid; gap: var(--bal-gap-grid);
  grid-template-columns: repeat(auto-fill, minmax(var(--bal-game-min), 1fr));
}

.bal-card { position: relative; border-radius: var(--bal-r-md); overflow: hidden;
  background: var(--bal-bg-700); box-shadow: var(--bal-shadow-card); transition: transform .18s; }
.bal-card:hover { transform: translateY(-3px); }
.bal-card__link { display: block; }
.bal-card__media { aspect-ratio: 3 / 4; display: block; }
.bal-card__fav { position: absolute; top: 8px; right: 8px; width: 26px; height: 26px;
  display: grid; place-items: center; color: #fff; opacity: .85; z-index: 2; }
.bal-card__body { position: absolute; inset-inline: 0; bottom: 0; z-index: 2; display: block;
  padding: var(--bal-sp-3); text-align: center; }
.bal-card h3 { font-size: .95rem; text-transform: uppercase; letter-spacing: .3px; }
.bal-card__provider { display: block; font-size: .72rem; color: var(--bal-text-muted); margin-top: 2px; }

/* win card (Grandi vittorie) */
.bal-wincard { display: flex; align-items: center; gap: var(--bal-sp-3);
  background: var(--bal-bg-700); border-radius: var(--bal-r-md); padding: var(--bal-sp-3);
  min-width: 240px; }
.bal-wincard__media { width: 52px; height: 52px; border-radius: var(--bal-r-sm); flex: 0 0 auto; }
.bal-wincard__info h4 { font-size: .9rem; font-weight: var(--bal-fw-semibold); }
.bal-wincard__nick { font-size: .78rem; color: var(--bal-text-muted); }
.bal-wincard__amount { font-weight: var(--bal-fw-bold); color: var(--bal-win); }

/* provider card */
.bal-provrail { display: grid; grid-auto-flow: column; grid-auto-columns: var(--bal-provider-min);
  gap: var(--bal-gap-grid); overflow-x: auto; padding-bottom: var(--bal-sp-2); }
.bal-provcard { display: grid; place-items: center; height: 120px;
  background: var(--bal-bg-700); border: 1px solid var(--bal-border);
  border-radius: var(--bal-r-lg); padding: var(--bal-sp-4); }
.bal-provcard img { max-height: 48px; width: auto; object-fit: contain; }
.bal-provcard__name { font-weight: var(--bal-fw-semibold); color: var(--bal-text-muted);
  text-align: center; letter-spacing: .5px; }
.bal-payments { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--bal-sp-5); margin-top: var(--bal-sp-6); }
.bal-payments img { max-height: 34px; width: auto; opacity: .9; }

/* ============================================================
   8. BETS TABLE
   ============================================================ */
.bal-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bal-sp-5);
  border-bottom: 1px solid var(--bal-border); margin-bottom: var(--bal-sp-4); }
.bal-tabs__group { display: flex; gap: var(--bal-sp-5); }
.bal-tab { padding: var(--bal-sp-3) 0; color: var(--bal-text-muted); font-weight: var(--bal-fw-semibold);
  border-bottom: 2px solid transparent; }
.bal-tab.is-active { color: #fff; border-bottom-color: var(--bal-accent); }
.bal-tabs__spacer { flex: 1; }
.bal-tabs__toggle { display: flex; gap: var(--bal-sp-2); }
.bal-toggle { display: inline-flex; align-items: center; gap: var(--bal-sp-2);
  padding: var(--bal-sp-2) var(--bal-sp-4); border-radius: var(--bal-r-pill);
  background: var(--bal-bg-700); font-size: .85rem; }
.bal-toggle.is-active { background: var(--bal-primary); }

.bal-table-wrap { display: block; width: 100%; max-width: 100%; overflow: auto hidden;
  -webkit-overflow-scrolling: touch; }
.bal-table { width: 100%; border-collapse: separate; border-spacing: 0 6px; min-width: 720px; }
.bal-table th { text-align: left; color: var(--bal-text-muted); font-weight: var(--bal-fw-medium);
  font-size: .85rem; padding: var(--bal-sp-3) var(--bal-sp-4); }
.bal-table td { padding: var(--bal-sp-4); background: var(--bal-bg-700); vertical-align: middle; }
.bal-table tr td:first-child { border-radius: var(--bal-r-md) 0 0 var(--bal-r-md); }
.bal-table tr td:last-child { border-radius: 0 var(--bal-r-md) var(--bal-r-md) 0; }
.bal-table__game { display: flex; align-items: center; gap: var(--bal-sp-3); }
.bal-table__ico { width: 34px; height: 34px; border-radius: var(--bal-r-sm); flex: 0 0 auto; }
.bal-chip { display: inline-block; padding: 4px 12px; border-radius: var(--bal-r-pill);
  font-size: .85rem; font-weight: var(--bal-fw-semibold); }
.bal-chip--bet { background: var(--bal-chip-bet); }
.bal-chip--mult { background: var(--bal-chip-mult); }
.bal-table__payout { color: var(--bal-win); font-weight: var(--bal-fw-bold); }

/* ============================================================
   8b. SEO TEXT BLOCK
   ============================================================ */
.bal-seo { max-width: 900px; }
.bal-seo h2 { font-size: var(--bal-fs-h2); margin-bottom: var(--bal-sp-4); }
.bal-seo p { color: var(--bal-text-muted); margin-bottom: var(--bal-sp-4); line-height: 1.7; }
.bal-seo__note { font-size: .85rem; color: var(--bal-text-dim); }

/* ============================================================
   9. FOOTER
   ============================================================ */
.bal-footer { background: var(--bal-bg-900); padding-block: var(--bal-sp-7); margin-top: var(--bal-sp-7); }
.bal-footer__top { display: grid; grid-template-columns: 220px repeat(4, 1fr); gap: var(--bal-sp-6); }
.bal-footer__brand { display: flex; flex-direction: column; gap: var(--bal-sp-4); }
.bal-footer__col h5 { font-size: .95rem; margin-bottom: var(--bal-sp-3); color: var(--bal-text-muted); }
.bal-footer__col li { margin-bottom: var(--bal-sp-3); }
.bal-footer__col a:hover { color: var(--bal-accent); }
.bal-footer__divider { height: 1px; background: var(--bal-border); margin-block: var(--bal-sp-5); }
.bal-footer__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end;
  gap: var(--bal-sp-4); }
.bal-badge { display: inline-flex; align-items: center; gap: var(--bal-sp-2);
  background: var(--bal-grad-cta); color: #0d2b25; padding: 8px 14px; border-radius: var(--bal-r-md);
  font-weight: var(--bal-fw-semibold); }
.bal-footer__legal { color: var(--bal-text-muted); font-size: .85rem; margin-top: var(--bal-sp-5); }

/* ============================================================
   10. FLOATING + COOKIE BAR
   ============================================================ */
.bal-float { position: fixed; right: 18px; bottom: 88px; z-index: 60; display: flex; flex-direction: column; gap: var(--bal-sp-3); }
.bal-cookie {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 70;
  background: var(--bal-bg-900); border-top: 1px solid var(--bal-border);
  display: flex; align-items: center; justify-content: center; gap: var(--bal-sp-4);
  padding: var(--bal-sp-4) var(--bal-sp-5); flex-wrap: wrap; text-align: center;
}
.bal-cookie p { color: var(--bal-text-muted); font-size: .9rem; max-width: 1100px; }

/* ============================================================
   11. MODALS
   ============================================================ */
.bal-modal { position: fixed; inset: 0; z-index: 100; display: none;
  align-items: center; justify-content: center; padding: var(--bal-sp-4);
  background: rgba(10,6,22,.75); }
.bal-modal:target { display: flex; }            /* CSS-only open via :target */
.bal-modal__box { position: relative; width: 100%; max-width: 440px;
  background: var(--bal-bg-700); border: 2px solid var(--bal-border-soft);
  border-radius: var(--bal-r-lg); padding: var(--bal-sp-7) var(--bal-sp-6); }
.bal-modal__close { position: absolute; top: 16px; right: 16px; }
.bal-modal h2 { text-align: center; font-family: var(--bal-font-display); font-weight: 400;
  font-size: 1.8rem; margin-bottom: var(--bal-sp-5); }
.bal-modal__sub { text-align: center; font-family: var(--bal-font-display);
  font-size: 1.6rem; margin-bottom: var(--bal-sp-5); line-height: 1.2; }

.bal-field { display: flex; align-items: center; gap: var(--bal-sp-3);
  background: var(--bal-bg-input); border: 1px solid var(--bal-border);
  border-radius: var(--bal-r-md); padding: var(--bal-sp-4); margin-bottom: var(--bal-sp-4); }
.bal-field input { flex: 1; background: none; border: none; color: #fff; font: inherit; }
.bal-field input::placeholder { color: var(--bal-text-dim); }
.bal-field__ico { color: var(--bal-text-muted); display: inline-flex; }

.bal-modal__alt { text-align: center; color: var(--bal-text-muted); margin: var(--bal-sp-4) 0; }
.bal-modal__alt a { color: #fff; font-weight: var(--bal-fw-semibold); }
.bal-divider { display: flex; align-items: center; gap: var(--bal-sp-3);
  color: var(--bal-text-muted); font-size: .85rem; margin: var(--bal-sp-4) 0; }
.bal-divider::before, .bal-divider::after { content: ""; flex: 1; height: 1px; background: var(--bal-border); }
.bal-btn--google { background: #fff; color: #222; }
.bal-forgot { display: block; text-align: center; color: var(--bal-green-link);
  font-weight: var(--bal-fw-semibold); margin-top: var(--bal-sp-4); }

.bal-check { display: flex; align-items: flex-start; gap: var(--bal-sp-3); margin-top: var(--bal-sp-4); font-size: .9rem; }
.bal-check input { width: 22px; height: 22px; flex: 0 0 auto; accent-color: var(--bal-primary); }
.bal-check a { text-decoration: underline; }

/* language modal grid */
.bal-langgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--bal-border);
  border: 1px solid var(--bal-border); border-radius: var(--bal-r-md); overflow: hidden; }
.bal-langgrid a { padding: var(--bal-sp-4); background: var(--bal-bg-700); font-weight: var(--bal-fw-semibold);
  display: flex; align-items: center; gap: var(--bal-sp-2); }
.bal-langgrid a.is-active { border: 2px solid var(--bal-border-accent); border-radius: var(--bal-r-sm); }

/* ============================================================
   12. MOBILE MENU (off-canvas) — ivybet pattern
   ============================================================ */
.bal-scrim { position: fixed; inset: 0; z-index: 80; background: rgba(10,6,22,.6);
  opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }

@media (max-width: 1040px) {
  :root { --bal-sidebar-w: 250px; }
  .bal-footer__top { grid-template-columns: 1fr 1fr 1fr; }
  .bal-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 790px) {
  .bal-layout { grid-template-columns: 1fr; padding: var(--bal-sp-4); }

  /* off-canvas sidebar */
  .bal-sidebar {
    position: fixed; top: 0; left: 0; z-index: 90;
    width: 86%; max-width: 320px; height: 100dvh;
    background: var(--bal-bg-800); padding: var(--bal-sp-5);
    overflow-y: auto;
    transform: translateX(100%); visibility: hidden;   /* hidden default */
    transition: transform .28s ease, visibility .28s;
  }
  /* :target open */
  #bal-menu:target { transform: translateX(0); visibility: visible; }
  #bal-menu:target ~ .bal-scrim,
  .bal-scrim:target { opacity: 1; visibility: visible; }

  .bal-header__actions .bal-btn { padding: 8px 14px; font-size: .85rem; }
  .bal-hero { min-height: 280px; }
  .bal-footer__top { grid-template-columns: 1fr 1fr; }
  .bal-footer__meta { justify-content: flex-start; }
  .bal-cookie { justify-content: flex-start; text-align: left; }
}

@media (max-width: 420px) {
  .bal-footer__top { grid-template-columns: 1fr; }
  .bal-header__divider { display: none; }
}

@media (max-width: 790px) {
  .bal-hide-mobile { display: none !important; }
}

.bal-app__title { font-weight: var(--bal-fw-bold); line-height: 1.15; }

/* Compact language switcher in footer (not stretched) */
.bal-footer__brand .bal-langsel {
  flex: 0 0 auto; align-self: flex-start; width: auto;
  padding: 6px 14px; font-size: .82rem;
}

/* Visible breadcrumbs on internal pages */
.bal-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  font-size: .82rem; margin-bottom: var(--bal-sp-3); color: var(--bal-text-muted); }
.bal-breadcrumb a { color: var(--bal-green-link); }
.bal-breadcrumb a:hover { color: var(--bal-accent); }
.bal-breadcrumb__sep { opacity: .55; }
.bal-breadcrumb__current { color: var(--bal-text-muted); }
