/* Webfont marki, pobrany lokalnie zamiast łączenia z Google Fonts. */
/* vietnamese */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/exo-0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/exo-1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/exo-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/exo-0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/exo-1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/exo-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/exo-0.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/exo-1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Exo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/exo-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* brand.css — warstwa marki podglądu, wygenerowana przez redev-preview.
   Źródłem prawdy dla docelowego projektu jest Branding/_brand.scss.
   Tutaj te same tokeny nałożone na skompilowany Bootstrap 5.3.8 przez zmienne CSS. */

:root {
  --bs-primary: #0a3770;
  --bs-primary-rgb: 10, 55, 112;
  --bs-body-bg: #ffffff;
  --bs-body-color: #000000;
  --bs-body-font-family: Exo, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-line-height: 1.5;
  --bs-border-radius: 0.375rem;
  --bs-link-color: #0a3770;
  --bs-link-hover-color: #0e89b5;
  --bs-emphasis-color: #000000;
  --bs-emphasis-color-rgb: 0, 0, 0;
}

body {
  font-family: var(--bs-body-font-family);
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.btn-primary {
  --bs-btn-bg: #0a3770;
  --bs-btn-border-color: #0a3770;
  --bs-btn-hover-bg: #0e89b5;
  --bs-btn-hover-border-color: #0e89b5;
  --bs-btn-active-bg: #0e89b5;
  --bs-btn-active-border-color: #0e89b5;
  --bs-btn-color: #ffffff;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-active-color: #ffffff;
}

.btn-outline-primary {
  --bs-btn-color: #0a3770;
  --bs-btn-border-color: #0a3770;
  --bs-btn-hover-bg: #0a3770;
  --bs-btn-hover-border-color: #0a3770;
  --bs-btn-hover-color: #ffffff;
}

.text-primary { color: #0a3770 !important; }
.bg-primary { background-color: #0a3770 !important; }
.border-primary { border-color: #0a3770 !important; }
.link-primary { color: #0a3770 !important; }
a { color: #0a3770; }
a:hover { color: #0e89b5; }

.btn:focus-visible, .form-control:focus, .form-select:focus {
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), 0.25);
  border-color: #0a3770;
}

/* Podgląd oznacza wprost, że nie jest serwisem produkcyjnym. */
.redev-banner {
  background: #000000;
  color: #fff;
  font-size: .875rem;
}
.redev-banner a { color: #fff; text-decoration: underline; }

/* Układ odwzorowuje oryginał: menu w overlayu, wyśrodkowany hero,
   produkty jeden pod drugim z własnym kolorem akcentu. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: var(--bs-body-bg);
  border-bottom: 1px solid rgba(var(--bs-emphasis-color-rgb), .08);
}
.brand-mark {
  font-weight: 800;
  font-size: 1.5rem;
  letter-spacing: .02em;
  color: #0a3770;
  text-decoration: none;
}
.btn-menu {
  border: 0;
  font-weight: 600;
  color: #0a3770;
}
.menu-bars { display: inline-flex; flex-direction: column; gap: 4px; }
.menu-bars span { display: block; width: 22px; height: 2px; background: #0a3770; }

.site-menu { height: auto; background: #0a3770; color: #fff; }
.site-menu .nav-link { color: #fff; opacity: .85; }
.site-menu .nav-link:hover, .site-menu .nav-link.active { opacity: 1; }
.site-menu .btn-close { filter: invert(1) grayscale(1) brightness(2); }

.hero { background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .06), transparent); }
.hero-title {
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: #0a3770;
  font-size: clamp(1.75rem, 4vw, 3rem);
}
.hero-image { max-width: min(100%, 640px); }
.hero-lead { max-width: 46rem; font-size: 1.125rem; }

.product-block + .product-block { border-top: 1px solid rgba(var(--bs-emphasis-color-rgb), .08); }
.product-title { font-weight: 800; color: #0a3770; }
.product-lead { font-weight: 600; }
.product-packshot { max-height: 22rem; display: block; margin-inline: auto; }
.product-meta { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.product-age {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  padding: .35rem .6rem;
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
}
.product-age-label, .product-kind { font-size: .875rem; opacity: .75; }
.product-kind {
  border: 1px solid rgba(var(--bs-emphasis-color-rgb), .2);
  border-radius: 999px;
  padding: .25rem .75rem;
}
.product-list { padding-left: 1.1rem; }
.product-list li { margin-bottom: .35rem; }
.btn-product {
  background: var(--product-accent, #0a3770);
  border: 0;
  color: #fff;
  font-weight: 600;
  padding: .625rem 1.5rem;
  border-radius: 999px;
}
.btn-product:hover { color: #fff; filter: brightness(.92); }

.section-title, .page-title { font-weight: 800; color: #0a3770; }
.article-card { border: 0; box-shadow: 0 .25rem 1.25rem rgba(0, 0, 0, .06); }
.article-card:hover { box-shadow: 0 .5rem 1.75rem rgba(0, 0, 0, .1); }
.article-chip {
  display: inline-block;
  margin-bottom: .5rem;
  padding: .2rem .7rem;
  border-radius: 999px;
  background: rgba(var(--bs-primary-rgb), .12);
  color: #0a3770;
  font-size: .75rem;
  font-weight: 600;
}
.article-image { aspect-ratio: 16 / 10; object-fit: cover; }
.article-title { font-weight: 700; }
.article-excerpt { font-size: .9375rem; opacity: .85; }
.article-more, .product-card-more { font-weight: 600; text-decoration: none; }
.article-heading { font-weight: 800; color: #0a3770; }

.product-card { border: 0; box-shadow: 0 .25rem 1.25rem rgba(0, 0, 0, .06); }
.product-card-image { object-fit: contain; padding: 1.5rem; max-height: 16rem; }
.product-card-title { font-weight: 700; color: var(--product-accent, #0a3770); }

.site-footer { background: #0a3770; color: #fff; }
.site-footer a, .site-footer .link-body-emphasis { color: #fff !important; opacity: .85; }
.site-footer a:hover { opacity: 1; }
.site-footer hr { border-color: rgba(255, 255, 255, .25); }
.footnote { font-size: .75rem; opacity: .7; }

.redev-swatch {
  width: 100%;
  height: 4.5rem;
  border-radius: var(--bs-border-radius);
  border: 1px solid rgba(0, 0, 0, .1);
}
.redev-slot {
  border: 1px dashed rgba(var(--bs-emphasis-color-rgb), .35);
  border-radius: var(--bs-border-radius);
  padding: 1.25rem;
  background: rgba(var(--bs-emphasis-color-rgb), .02);
}
.redev-slot > .redev-slot-label {
  font-size: .75rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .6;
}
