/* Fonts — self-hosted (GDPR, decizie 28.09.2026). Subsets latin + latin-ext, OFL: fonts/OFL-*.txt */
/* Google Sans Flex - latin-ext */
@font-face {
  font-family: "Google Sans Flex";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/google-sans-flex-latin-ext.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;
}
/* Google Sans Flex - latin */
@font-face {
  font-family: "Google Sans Flex";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/google-sans-flex-latin.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;
}
/* Montserrat - latin-ext */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/montserrat-latin-ext.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;
}
/* Montserrat - latin */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/montserrat-latin.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;
}

/* ==========================================================================
   Biessen Pharma — design system
   Tokens strictly from Manual-brand-Biessen-Pharma (chapters 4 & 5).
   Intended to be dropped into a WordPress theme as a single stylesheet.
   ========================================================================== */

:root {
  /* brand */
  --bp-dark: #003f5c;
  --bp-orange: #f8981d;
  --bp-light: #26c2f2;
  --bp-white: #ffffff;
  --bp-grey-text: #4a5568;
  --bp-grey-bg: #f3f7fa;

  /* derived tints (same hues, used for rules/fills only — never for text) */
  --bp-dark-80: #335f79;
  --bp-dark-12: rgba(0, 63, 92, 0.12);
  --bp-dark-06: rgba(0, 63, 92, 0.06);
  --bp-light-12: rgba(38, 194, 242, 0.12);
  --bp-select: rgba(38, 194, 242, 0.45); /* text selection: visible on white, in the site and in the editors */
  --bp-orange-12: rgba(248, 152, 29, 0.12);

  /* type */
  --bp-font-head: "Google Sans Flex", "Montserrat", Arial, Helvetica, sans-serif;
  --bp-font-body: "Montserrat", Arial, Helvetica, sans-serif;

  /* scale */
  --bp-step-1: clamp(0.75rem, 0.72rem + 0.1vw, 0.8125rem);
  --bp-step0: 1rem;
  --bp-step1: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
  --bp-step2: clamp(1.25rem, 1.1rem + 0.7vw, 1.75rem);
  --bp-step3: clamp(1.625rem, 1.35rem + 1.4vw, 2.5rem);
  --bp-step4: clamp(2rem, 1.5rem + 2.6vw, 3.75rem);
  --bp-step5: clamp(2.5rem, 1.6rem + 4.4vw, 5.5rem);

  /* space */
  --bp-s1: 4px;
  --bp-s2: 8px;
  --bp-s3: 12px;
  --bp-s4: 16px;
  --bp-s5: 24px;
  --bp-s6: 32px;
  --bp-s7: 48px;
  --bp-s8: 64px;
  --bp-s9: 96px;
  --bp-s10: 128px;

  --bp-wrap: 1440px;
  --bp-gutter: clamp(20px, 4vw, 56px);
  --bp-rule: 1px;
  --bp-header-h: 84px;
  --bp-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --bp-dark-deep: #00293c;   /* hover of links and dark buttons */
  --bp-dark-mid: #004a6c;    /* hero gradient end */
  --bp-orange-deep: #e5860c; /* hover of the primary button */
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bp-white);
  color: var(--bp-dark);
  font-family: var(--bp-font-body);
  font-size: var(--bp-step0);
  font-weight: 400;
  line-height: 1.6;
  text-wrap: pretty;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--bp-font-head);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -0.022em;
  margin: 0;
  color: inherit;
}
h3, h4, h5, h6 { font-weight: 600; letter-spacing: -0.012em; line-height: 1.2; }

p { margin: 0; }
img, video, svg { display: block; max-width: 100%; }
ul, ol { margin: 0; padding: 0; }
li { list-style: none; }

a { color: var(--bp-dark); text-decoration: none; transition: color 0.18s var(--bp-ease); }
a:hover { color: var(--bp-dark-deep); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--bp-light);
  outline-offset: 2px;
}
::selection { background: var(--bp-select); color: var(--bp-dark); }
.bp-section--dark ::selection, .bp-footer ::selection { background: var(--bp-light); color: var(--bp-dark); }
button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; }

/* ------------------------------------------------------------------ layout */

.bp-wrap {
  width: 100%;
  max-width: var(--bp-wrap);
  margin-inline: auto;
  padding-inline: var(--bp-gutter);
}

.bp-section { padding-block: var(--bp-s7); } /* era clamp(48px, 7vw, 44px): max < min, randa mereu 48px */
.bp-section--tight { padding-block: clamp(32px, 4vw, 56px); }
.bp-section--grey { background: var(--bp-grey-bg); }
.bp-section--dark { background: var(--bp-dark); color: var(--bp-white); }
.bp-section--dark a { color: var(--bp-light); }
.bp-section--dark a:hover { color: var(--bp-white); }

.bp-grid { display: grid; gap: var(--bp-s6); }
.bp-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.bp-stack { display: grid; gap: var(--bp-s4); align-content: start; }
.bp-stack--lg { gap: var(--bp-s6); }
.bp-row { display: flex; align-items: center; gap: var(--bp-s4); flex-wrap: wrap; }
.bp-row--tight { gap: var(--bp-s3); }

/* -------------------------------------------------------------- typography */

.bp-kicker {
  font-family: var(--bp-font-body);
  font-size: var(--bp-step-1);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bp-grey-text);
  display: flex;
  align-items: center;
  gap: var(--bp-s3);
}
.bp-kicker::before {
  content: "";
  width: 28px;
  height: var(--bp-rule);
  background: var(--bp-orange);
  flex: none;
}
.bp-section--dark .bp-kicker { color: var(--bp-light); }
.bp-hero .bp-kicker,
.bp-catbanner .bp-kicker { color: var(--bp-light); }

.bp-h1 { font-size: var(--bp-step4); }
.bp-h2 { font-size: var(--bp-step3); }
.bp-h3 { font-size: var(--bp-step2); }
.bp-h4 { font-size: var(--bp-step1); }
.bp-lead { font-size: var(--bp-step1); line-height: 1.55; color: var(--bp-grey-text); max-width: 62ch; }
.bp-section--dark .bp-lead { color: rgba(255, 255, 255, 0.82); }

.bp-note { font-size: var(--bp-step-1); line-height: 1.5; color: var(--bp-grey-text); }

.bp-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--bp-s6);
  padding-bottom: var(--bp-s5);
  border-bottom: var(--bp-rule) solid var(--bp-dark);
  margin-bottom: var(--bp-s7);
}
.bp-section--dark .bp-section-head { border-bottom-color: rgba(255, 255, 255, 0.3); }
.bp-section-head__text { display: grid; gap: var(--bp-s4); }
.bp-section-head__aside { gap: var(--bp-s5); max-width: 34ch; justify-items: start; }
.bp-kicker--spaced { margin-bottom: var(--bp-s5); }

/* ----------------------------------------------------------------- buttons */

.bp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--bp-s3);
  padding: 14px 22px;
  min-height: 48px;
  border: var(--bp-rule) solid transparent;
  border-radius: 0;
  font-family: var(--bp-font-body);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.18s var(--bp-ease), color 0.18s var(--bp-ease),
    border-color 0.18s var(--bp-ease), transform 0.18s var(--bp-ease);
}
.bp-btn svg { flex: none; }
.bp-btn:active { transform: translateY(1px); }

/* orange fill carries dark-blue label (manual, ch. 4.2) */
.bp-btn--primary { background: var(--bp-orange); color: var(--bp-dark); border-color: var(--bp-orange); }
.bp-btn--primary:hover { background: var(--bp-orange-deep); border-color: var(--bp-orange-deep); color: var(--bp-dark); }

.bp-btn--dark { background: var(--bp-dark); color: var(--bp-white); border-color: var(--bp-dark); }
.bp-btn--dark:hover { background: var(--bp-dark-deep); border-color: var(--bp-dark-deep); color: var(--bp-white); }

.bp-btn--outline { background: transparent; color: var(--bp-dark); border-color: var(--bp-dark); }
.bp-btn--outline:hover { background: var(--bp-dark); color: var(--bp-white); }

.bp-btn--light { background: var(--bp-white); color: var(--bp-dark); border-color: var(--bp-white); }
.bp-btn--light:hover { background: var(--bp-light); border-color: var(--bp-light); color: var(--bp-dark); }

.bp-btn--ghost-light { background: transparent; color: var(--bp-white); border-color: rgba(255, 255, 255, 0.45); }
.bp-btn--ghost-light:hover { background: var(--bp-white); color: var(--bp-dark); border-color: var(--bp-white); }

.bp-btn--block { width: 100%; }

/* On dark grounds the generic `a` colour rules must not win over a button's own
   label colour — that turned .bp-btn--ghost-light:hover into white-on-white. */
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--primary,
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--primary:hover,
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--light,
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--light:hover,
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--ghost-light:hover,
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--outline:hover { color: var(--bp-dark); }

:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--ghost-light,
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--dark,
:is(.bp-section--dark, .bp-hero, .bp-cta, .bp-footer, .bp-pv, .bp-statband, .bp-catbanner) a.bp-btn--dark:hover { color: var(--bp-white); }

/* mirror of the above for light grounds, where .bp-btn--outline sits on white */
a.bp-btn--outline:hover { color: var(--bp-white); }
.bp-btn--lg { min-height: 56px; padding: 16px 28px; font-size: 1rem; }
.bp-btn[disabled] { opacity: 0.45; pointer-events: none; }

.bp-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: var(--bp-s2);
  font-weight: 600;
  font-size: 0.9375rem;
  padding-bottom: 2px;
  border-bottom: var(--bp-rule) solid var(--bp-orange);
}
.bp-link-arrow svg { transition: transform 0.18s var(--bp-ease); }
.bp-link-arrow:hover svg { transform: translateX(4px); }

.bp-iconbtn {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: var(--bp-rule) solid transparent;
  color: var(--bp-dark);
  position: relative;
  transition: background-color 0.18s var(--bp-ease), border-color 0.18s var(--bp-ease);
}
.bp-iconbtn:hover { border-color: var(--bp-dark); }
.bp-iconbtn__count {
  position: absolute;
  top: 2px;
  right: 0;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  background: var(--bp-orange);
  color: var(--bp-dark);
  font-size: 11px;
  font-weight: 700;
  display: grid;
  place-items: center;
}

/* -------------------------------------------------------------------- tags */

.bp-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--bp-grey-bg);
  color: var(--bp-dark);
  border: 1px solid var(--bp-dark-12);
}
.bp-tag--device { background: var(--bp-light-12); border-color: rgba(38, 194, 242, 0.4); }
.bp-tag--supl { background: var(--bp-orange-12); border-color: rgba(248, 152, 29, 0.45); }
.bp-tag--dark { background: var(--bp-dark); color: var(--bp-white); border-color: var(--bp-dark); }
.bp-tag--outline { background: transparent; }

/* ------------------------------------------------------------ PNRR topbar */

.bp-topbar {
  background: var(--bp-white);
  color: var(--bp-dark);
  border-bottom: 1px solid var(--bp-dark-12);
  font-size: 0.75rem;
  line-height: 1.35;
}
.bp-topbar__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bp-s5);
  min-height: 48px;
  padding-block: 8px;
}
.bp-topbar__logos { display: flex; align-items: center; gap: var(--bp-s4); flex: none; }
.bp-topbar__logos img { height: 60px; width: auto; }
.bp-topbar__text { color: var(--bp-dark); }
.bp-topbar__links { display: flex; gap: var(--bp-s4); flex: none; }
.bp-topbar__links a { color: var(--bp-dark); font-weight: 600; }
.bp-topbar__links a:hover { color: var(--bp-dark); border-bottom: 2px solid var(--bp-orange); }

/* ------------------------------------------------------------------ header */

.bp-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--bp-white);
  border-bottom: var(--bp-rule) solid var(--bp-dark);
}
.bp-header__in {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--bp-s6);
  min-height: var(--bp-header-h);
}
.bp-header__logo { flex: none; display: block; }
.bp-header__logo img { height: 46px; width: auto; }
.bp-header__spacer { flex: 1; }
.bp-header__actions { display: flex; align-items: center; gap: var(--bp-s2); flex: none; }

.bp-header__search { display: flex; align-items: stretch; border: var(--bp-rule) solid var(--bp-dark-12); height: 44px; transition: border-color 0.18s var(--bp-ease); }
.bp-header__search:hover,
.bp-header__search:focus-within { border-color: var(--bp-dark); }
.bp-header__search input {
  width: 180px;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0 12px;
  font-family: var(--bp-font-body);
  font-size: 0.875rem;
  color: var(--bp-dark);
}
.bp-header__search input::placeholder { color: var(--bp-grey-text); }
.bp-header__search button { flex: none; width: 44px; display: grid; place-items: center; background: var(--bp-dark); color: var(--bp-white); }
.bp-header__search button:hover { background: var(--bp-orange); color: var(--bp-dark); }
@media (max-width: 1200px) { .bp-header__search input { width: 120px; } }
@media (max-width: 1024px) { .bp-header__search { display: none; } }

.bp-nav { display: flex; align-items: stretch; gap: 0; }
.bp-nav__item { position: static; display: flex; }
/* item-anchored dropdown (Companie): the panel opens directly under its own
   trigger, not against the header edge, so the pointer never leaves the item. */
.bp-nav__item--drop { position: relative; }
.bp-nav__link { display: flex; align-items: center; gap: 6px; height: var(--bp-header-h); padding-inline: var(--bp-s4); font-size: 0.9375rem; font-weight: 600; color: var(--bp-dark); border-bottom: 3px solid transparent; transition: border-color 0.18s var(--bp-ease), color 0.18s var(--bp-ease); }
.bp-nav__link--icon { padding-inline: var(--bp-s3); }
.bp-nav__link:hover { border-bottom-color: var(--bp-orange); }
.bp-nav__link.is-active { border-bottom-color: var(--bp-dark); }
.bp-nav[data-active="acasa"] .bp-nav__link[data-key="acasa"],
.bp-nav[data-active="despre"] .bp-nav__link[data-key="despre"],
.bp-nav[data-active="produse"] .bp-nav__link[data-key="produse"],
.bp-nav[data-active="noutati"] .bp-nav__link[data-key="noutati"],
.bp-nav[data-active="contact"] .bp-nav__link[data-key="contact"] { border-bottom-color: var(--bp-dark); }
.bp-nav__caret { transition: transform 0.2s var(--bp-ease); }
.bp-nav__item:hover .bp-nav__caret,
.bp-nav__item:focus-within .bp-nav__caret { transform: rotate(180deg); }

/* ---------------------------------------------------------------- mega menu */

.bp-mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bp-white);
  border: var(--bp-rule) solid var(--bp-dark);
  border-top: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.2s var(--bp-ease), transform 0.22s var(--bp-ease), visibility 0.22s;
  z-index: 70;
}
.bp-nav__item:hover > .bp-mega,
.bp-nav__item:focus-within > .bp-mega {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.bp-mega--right {
  left: 0;
  right: auto;
  width: min(720px, calc(100vw - 2 * var(--bp-s5)));
}
@media (min-width: 1025px) and (max-width: 1320px) {
  .bp-mega--right { left: auto; right: 0; }
}

.bp-mega__search { display: flex; border-bottom: var(--bp-rule) solid var(--bp-dark); }
.bp-mega__search input {
  flex: 1;
  min-width: 0;
  border: 0;
  padding: 18px 22px;
  font-family: var(--bp-font-body);
  font-size: 1rem;
  color: var(--bp-dark);
  background: var(--bp-grey-bg);
}
.bp-mega__search input::placeholder { color: var(--bp-grey-text); }
.bp-mega__search button {
  flex: none;
  padding-inline: 22px;
  background: var(--bp-dark);
  color: var(--bp-white);
  font-weight: 600;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bp-mega__search button:hover { background: var(--bp-orange); color: var(--bp-dark); }

.bp-mega__cols { display: grid; grid-template-columns: 440px 1fr; }
.bp-mega__col { padding: var(--bp-s6); }
.bp-mega__col + .bp-mega__col { border-left: var(--bp-rule) solid var(--bp-dark-12); }
.bp-mega__title {
  font-family: var(--bp-font-body);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bp-grey-text);
  margin-bottom: var(--bp-s5);
}
.bp-mega__needs { display: grid; gap: 0; }
.bp-mega__needs--two { grid-template-columns: 1fr 1fr; column-gap: var(--bp-s5); }
.bp-mega__need {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--bp-s4);
  padding: 14px 0;
  border-bottom: 1px solid var(--bp-dark-12);
  font-weight: 600;
  font-size: 1.0625rem;
  transition: padding-left 0.18s var(--bp-ease), color 0.18s var(--bp-ease);
}
.bp-mega__need:hover { padding-left: 8px; color: var(--bp-dark); }
.bp-mega__needs--two .bp-mega__need { font-size: 0.9375rem; padding: 11px 0; }
.bp-mega__need span { font-size: 0.75rem; font-weight: 500; color: var(--bp-grey-text); }
.bp-mega__need:hover span { color: var(--bp-dark); }

.bp-mega__brands {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 1px;
  background: var(--bp-dark-12);
  border: 1px solid var(--bp-dark-12);
}
.bp-mega__brand {
  background: var(--bp-white);
  display: grid;
  place-items: center;
  padding: 14px 10px;
  min-height: 62px;
  transition: background-color 0.18s var(--bp-ease);
}
.bp-mega__brand img { max-height: 34px; width: auto; object-fit: contain; }
.bp-mega__brand:hover { background: var(--bp-grey-bg); }

.bp-mega__foot {
  border-top: var(--bp-rule) solid var(--bp-dark);
  padding: var(--bp-s4) var(--bp-s6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bp-s5);
  background: var(--bp-grey-bg);
  font-size: 0.8125rem;
}
.bp-mega__list { display: grid; gap: 2px; }
.bp-mega__list a { display: block; padding: 8px 0; font-weight: 500; border-bottom: 1px solid var(--bp-dark-12); }
.bp-mega__list a:hover { padding-left: 6px; }
.bp-mega__list--spaced { margin-top: var(--bp-s5); }
.bp-mega__cols--two { grid-template-columns: 1fr 1fr; }
/* Escape closes an open panel while focus stays on its trigger (biessen.js). */
.bp-nav__item.is-dismissed > .bp-mega { opacity: 0; visibility: hidden; transform: translateY(-8px); }
.bp-nav__item.is-dismissed .bp-nav__caret { transform: none; }

/* ------------------------------------------------------- mobile navigation */

.bp-burger { display: none; }
.bp-drawer { display: none; }

/* ------------------------------------------------------------------- hero */

.bp-hero { position: relative; background: var(--bp-dark); color: var(--bp-white); overflow: hidden; }
.bp-hero__media { position: absolute; inset: 0; }
.bp-hero__media video,
.bp-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: left center; }

/* honeycomb hero field — replaces the background video: a static comb texture
   with hexagons rising out of it, all CSS-driven. */
.bp-hero__hexfield {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(110% 120% at 96% 108%, rgba(38, 194, 242, 0.34) 0%, rgba(0, 63, 92, 0) 58%),
    radial-gradient(80% 90% at 28% 0%, rgba(248, 152, 29, 0.14) 0%, rgba(0, 63, 92, 0) 62%),
    linear-gradient(178deg, var(--bp-dark-deep) 0%, var(--bp-dark) 62%, var(--bp-dark-mid) 100%);
}
.bp-hero__comb {
  position: absolute;
  inset: -60px -20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24.249' height='42' viewBox='0 0 24.249 42'%3E%3Cg fill='none' stroke='%2326C2F2' stroke-width='0.9'%3E%3Cpath d='M12.124 0 L0 7 L0 21 L12.124 28 L24.249 21 L24.249 7 Z'/%3E%3Cpath d='M0 21 L-12.124 28 L-12.124 42 L0 49 L12.124 42 L12.124 28 Z'/%3E%3Cpath d='M24.249 21 L12.124 28 L12.124 42 L24.249 49 L36.373 42 L36.373 28 Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 58px 100.5px;
  opacity: 0.34;
  -webkit-mask-image: radial-gradient(120% 130% at 94% 106%, black 0%, rgba(0, 0, 0, 0.35) 52%, rgba(0, 0, 0, 0) 88%);
  mask-image: radial-gradient(120% 130% at 94% 106%, black 0%, rgba(0, 0, 0, 0.35) 52%, rgba(0, 0, 0, 0) 88%);
  animation: bp-combdrift 58s linear infinite;
}
@keyframes bp-combdrift { to { background-position: 0 -201px; } }

.bp-hero__rise { position: absolute; inset: 0; }

/* film hero: the video IS the section \u2014 no scrim, no overlaid copy, nothing cropped */
.bp-hero--film { background: var(--bp-dark); }
.bp-hero--film .bp-hero__media { position: relative; inset: auto; }
.bp-hero--film .bp-hero__media video { width: 100%; height: auto; object-fit: contain; object-position: center; display: block; }.bp-hero__hex {
  position: absolute;
  left: var(--x);
  bottom: 0;
  width: var(--s);
  will-change: transform, opacity;
  animation: bp-hexrise var(--t) cubic-bezier(0.36, 0.1, 0.5, 0.95) var(--d) infinite;
}
.bp-hero__hex svg { display: block; width: 100%; height: auto; }
/* Hero hexagons: per-hex parameters (moved from inline styles in design/index.html). */
.bp-hero__hex:nth-child(1) { --x:97%; --s:84px; --t:17s; --d:-2s; --o:.5; --rise:640px; --dx:22px; --r:9deg; }
.bp-hero__hex:nth-child(2) { --x:89%; --s:46px; --t:13s; --d:-7s; --o:.62; --rise:560px; --dx:-16px; --r:-12deg; --f:rgba(38,194,242,.16); }
.bp-hero__hex:nth-child(3) { --x:83%; --s:122px; --t:22s; --d:-11s; --o:.3; --rise:700px; --dx:30px; --r:6deg; --w:1.8; }
.bp-hero__hex:nth-child(4) { --x:75%; --s:34px; --t:11s; --d:-4s; --o:.75; --rise:520px; --dx:14px; --r:-18deg; --f:rgba(38,194,242,.2); }
.bp-hero__hex:nth-child(5) { --x:68%; --s:66px; --t:15s; --d:-9s; --o:.42; --rise:600px; --dx:-24px; --r:11deg; }
.bp-hero__hex:nth-child(6) { --x:61%; --s:28px; --t:12s; --d:-1s; --o:.8; --rise:540px; --dx:18px; --r:20deg; --c:var(--bp-orange); --f:rgba(248,152,29,.18); }
.bp-hero__hex:nth-child(7) { --x:53%; --s:96px; --t:20s; --d:-13s; --o:.26; --rise:680px; --dx:-30px; --r:-7deg; --w:1.8; }
.bp-hero__hex:nth-child(8) { --x:45%; --s:40px; --t:14s; --d:-6s; --o:.5; --rise:580px; --dx:12px; --r:-14deg; }
.bp-hero__hex:nth-child(9) { --x:37%; --s:58px; --t:18s; --d:-3s; --o:.3; --rise:620px; --dx:-18px; --r:8deg; }
.bp-hero__hex:nth-child(10) { --x:29%; --s:24px; --t:10s; --d:-8s; --o:.55; --rise:500px; --dx:16px; --r:24deg; --f:rgba(38,194,242,.16); }
.bp-hero__hex:nth-child(11) { --x:21%; --s:78px; --t:21s; --d:-15s; --o:.2; --rise:660px; --dx:-14px; --r:-9deg; --w:1.8; }
.bp-hero__hex:nth-child(12) { --x:12%; --s:36px; --t:16s; --d:-5s; --o:.34; --rise:600px; --dx:20px; --r:13deg; }
.bp-hero__hex:nth-child(13) { --x:6%; --s:52px; --t:19s; --d:-12s; --o:.22; --rise:640px; --dx:-22px; --r:-6deg; }
.bp-hero__hex polygon {
  fill: var(--f, none);
  stroke: var(--c, var(--bp-light));
  stroke-width: var(--w, 2.4);
}
@keyframes bp-hexrise {
  0%   { transform: translate3d(0, 40%, 0) rotate(0deg) scale(0.72); opacity: 0; }
  14%  { opacity: var(--o, 0.5); }
  72%  { opacity: var(--o, 0.5); }
  100% { transform: translate3d(var(--dx, 0px), calc(-1 * var(--rise, 480px)), 0) rotate(var(--r, 8deg)) scale(1.04); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .bp-hero__comb { animation: none; }
  .bp-hero__hex { animation: none; opacity: var(--o, 0.5); transform: translate3d(0, calc(-0.45 * var(--rise, 480px)), 0); }
}
.bp-hero__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 63, 92, 0.58) 0%, rgba(0, 63, 92, 0.22) 34%, rgba(0, 63, 92, 0.78) 78%, rgba(0, 63, 92, 0.95) 100%),
    linear-gradient(90deg, rgba(0, 63, 92, 0.52) 0%, rgba(0, 63, 92, 0.18) 62%, rgba(0, 63, 92, 0) 100%);
}
.bp-hero__in {
  position: relative;
  min-height: min(52vh, 460px);
  display: grid;
  align-content: end;
  justify-items: start;
  text-align: left;
  gap: var(--bp-s4);
  padding-block: clamp(56px, 8vw, 96px) clamp(40px, 5vw, 64px);
  max-width: 780px;
  margin-right: auto;
}
.bp-hero__title { font-size: var(--bp-step3); }
.bp-hero__title em { font-style: normal; color: var(--bp-light); }
.bp-hero__sub { font-size: 1rem; line-height: 1.6; color: rgba(255, 255, 255, 0.86); max-width: 54ch; }
.bp-hero__cta { display: flex; gap: var(--bp-s3); flex-wrap: wrap; justify-content: flex-start; margin-top: var(--bp-s3); }

/* --------------------------------------------------------------- stat band */

.bp-statband { background: var(--bp-dark); color: var(--bp-white); }
.bp-statband__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bp-statband__cell {
  padding: var(--bp-s6) var(--bp-s5);
  display: grid;
  gap: 6px;
  justify-items: center;
  text-align: center;
}
.bp-statband__cell + .bp-statband__cell { border-left: 1px solid rgba(255, 255, 255, 0.22); }
.bp-statband__num {
  font-family: var(--bp-font-head);
  font-size: 46px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.bp-statband__lbl { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.72); max-width: 22ch; }

/* --------------------------------------------------------- product cards */

.bp-prodgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--bp-s6) var(--bp-s5);
  background: transparent;
  border: 0;
}
.bp-prodgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.bp-card {
  position: relative;
  background: transparent;
  display: flex;
  flex-direction: column;
  padding: 0;
}
.bp-card__media {
  display: block;
  position: relative;
  aspect-ratio: 4 / 3;
  background: transparent;
  overflow: hidden;
  margin-bottom: var(--bp-s4);
}
.bp-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform 0.35s var(--bp-ease); }
.bp-card:hover .bp-card__media img { transform: scale(1.04); }
.bp-card__cats { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bp-grey-text); margin-bottom: var(--bp-s2); }
.bp-card__title { font-family: var(--bp-font-head); font-size: 1.0625rem; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
.bp-card__title a:hover { color: var(--bp-dark); }
.bp-card__claim { font-size: 0.8125rem; color: var(--bp-grey-text); line-height: 1.45; margin-top: 6px; }
.bp-card__foot {
  margin-top: auto;
  padding-top: var(--bp-s4);
  display: grid;
  gap: var(--bp-s3);
}
.bp-card__price { font-family: var(--bp-font-head); font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; white-space: nowrap; }
.bp-card__add {
  width: 100%;
  min-height: 46px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  background: var(--bp-dark);
  color: var(--bp-white);
  border: var(--bp-rule) solid var(--bp-dark);
  font-family: var(--bp-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  text-align: left;
  transition: background-color 0.18s var(--bp-ease), color 0.18s var(--bp-ease), border-color 0.18s var(--bp-ease);
}
.bp-card__add svg { flex: none; }
.bp-card__add:hover { background: var(--bp-orange); color: var(--bp-dark); border-color: var(--bp-orange); }
.bp-card__add:active { transform: translateY(1px); }
.bp-card__add.is-added { background: var(--bp-light); color: var(--bp-dark); border-color: var(--bp-light); }
/* WooCommerce appends a "Vezi coșul" link after AJAX add; the header badge already shows it. */
.bp-card__foot .added_to_cart { display: none; }

/* ------------------------------------------------------------ brand slider */

.bp-slider { position: relative; }
.bp-slider__track {
  display: flex;
  gap: var(--bp-s5);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-block: var(--bp-s2);
}
.bp-slider__track::-webkit-scrollbar { display: none; }
.bp-slider__cell {
  flex: 0 0 calc((100% - 4 * var(--bp-s5)) / 5);
  scroll-snap-align: start;
  display: grid;
  place-items: center;
  min-height: 116px;
  padding: var(--bp-s4);
}
.bp-slider__cell img {
  max-height: 82px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.7;
  transition: filter 0.2s var(--bp-ease), opacity 0.2s var(--bp-ease), transform 0.2s var(--bp-ease);
}
.bp-slider__cell:hover img { filter: none; opacity: 1; transform: scale(1.04); }
.bp-slider__nav { display: flex; gap: var(--bp-s2); }
.bp-slider__btn {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: var(--bp-rule) solid var(--bp-dark);
  color: var(--bp-dark);
  transition: background-color 0.18s var(--bp-ease), color 0.18s var(--bp-ease);
}
.bp-slider__btn:hover { background: var(--bp-dark); color: var(--bp-white); }

@media (max-width: 760px) {
  .bp-slider__cell { flex: 0 0 calc((100% - var(--bp-s5)) / 2); }
}

/* ------------------------------------------------------------ brands grid */

.bp-brands {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1px;
  background: var(--bp-dark-12);
  border: 1px solid var(--bp-dark-12);
}
.bp-brands__cell {
  background: var(--bp-white);
  display: grid;
  place-items: center;
  min-height: 116px;
  padding: var(--bp-s5);
  transition: background-color 0.2s var(--bp-ease);
}
.bp-brands__cell img { max-height: 86px; width: auto; object-fit: contain; filter: grayscale(1); opacity: 0.7; transition: filter 0.2s var(--bp-ease), opacity 0.2s var(--bp-ease); }
.bp-brands__cell:hover { background: var(--bp-grey-bg); }
.bp-brands__cell:hover img { filter: none; opacity: 1; }

/* ------------------------------------------------------------------ split */

.bp-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bp-split__pane { padding: clamp(32px, 5vw, 72px); display: grid; align-content: center; gap: var(--bp-s5); }
.bp-split__media { position: relative; min-height: 380px; background: var(--bp-grey-bg); }
.bp-split__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bp-split--flip .bp-split__media { order: -1; }

.bp-features { display: grid; gap: 0; }
.bp-feature { padding: var(--bp-s5) 0; border-top: 1px solid var(--bp-dark-12); display: grid; gap: 6px; }
.bp-feature:last-child { border-bottom: 1px solid var(--bp-dark-12); }
.bp-feature h4 { font-size: 1.0625rem; }
.bp-section--dark .bp-feature { border-color: rgba(255, 255, 255, 0.2); }
.bp-section--dark .bp-feature .bp-note { color: rgba(255, 255, 255, 0.72); }
.bp-split--framed { border: calc(var(--bp-rule) * 2) solid rgba(255, 255, 255, 0.3); }

/* ------------------------------------------------------------------ stats */

.bp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: var(--bp-rule) solid var(--bp-dark); }
.bp-stats__cell { padding: var(--bp-s6); display: grid; gap: var(--bp-s2); }
.bp-stats__cell + .bp-stats__cell { border-left: var(--bp-rule) solid var(--bp-dark); }
.bp-stats__num { font-family: var(--bp-font-head); font-size: var(--bp-step4); font-weight: 700; letter-spacing: -0.04em; line-height: 1; }
.bp-stats__lbl { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bp-grey-text); }
.bp-section--dark .bp-stats { border-color: rgba(255, 255, 255, 0.3); }
.bp-section--dark .bp-stats__cell + .bp-stats__cell { border-left-color: rgba(255, 255, 255, 0.3); }
.bp-section--dark .bp-stats__lbl { color: var(--bp-light); }

/* --------------------------------------------------------------- CTA band */

.bp-cta {
  background: var(--bp-dark);
  color: var(--bp-white);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--bp-s7);
  padding: clamp(36px, 5vw, 64px) clamp(28px, 4vw, 56px);
}
.bp-cta h2 { font-size: var(--bp-step3); max-width: 24ch; }
.bp-cta p { color: rgba(255, 255, 255, 0.8); max-width: 46ch; margin-top: var(--bp-s3); }

/* ------------------------------------------------------- breadcrumb / page */

.bp-crumbs { display: flex; align-items: center; gap: var(--bp-s2); flex-wrap: wrap; font-size: 0.8125rem; color: var(--bp-grey-text); padding-block: var(--bp-s5); }
.bp-crumbs a { color: var(--bp-grey-text); }
.bp-crumbs a:hover { color: var(--bp-dark); }
.bp-crumbs span[aria-current] { color: var(--bp-dark); font-weight: 600; }
.bp-crumbs__sep { opacity: 0.5; }

.bp-pagehead { padding-block: clamp(24px, 4vw, 48px) clamp(28px, 4vw, 52px); border-bottom: var(--bp-rule) solid var(--bp-dark); }
.bp-pagehead__in { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--bp-s6); flex-wrap: wrap; }

/* --------------------------------------------------------- category banner */

.bp-catbanner { position: relative; width: 100%; aspect-ratio: 2240 / 1260; max-height: 420px; background: var(--bp-dark); overflow: hidden; }
.bp-catbanner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bp-catbanner__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 63, 92, 0.92) 0%, rgba(0, 63, 92, 0.6) 55%, rgba(0, 63, 92, 0.1) 100%); }
.bp-catbanner__in { position: relative; height: 100%; display: grid; align-content: center; gap: var(--bp-s4); color: var(--bp-white); max-width: 640px; }
.bp-catbanner__in h1 { font-size: var(--bp-step4); }
.bp-catbanner__in p { color: rgba(255, 255, 255, 0.86); }

/* --------------------------------------------------------- shop: filters */

.bp-shop { display: grid; grid-template-columns: 276px 1fr; gap: var(--bp-s8); align-items: start; padding-block: var(--bp-s7) var(--bp-s9); }

.bp-filters { display: grid; gap: 0; position: sticky; top: calc(var(--bp-header-h) + 16px); border-top: var(--bp-rule) solid var(--bp-dark); }
.bp-filters__group { padding-block: var(--bp-s5); border-bottom: 1px solid var(--bp-dark-12); display: grid; gap: var(--bp-s3); }
.bp-filters__title { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bp-grey-text); }
.bp-check { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 0.9375rem; padding: 4px 0; }
.bp-check input { appearance: none; width: 18px; height: 18px; flex: none; border: var(--bp-rule) solid var(--bp-dark); background: var(--bp-white); display: grid; place-items: center; cursor: pointer; }
.bp-check input:checked { background: var(--bp-dark); }
.bp-check input:checked::after { content: ""; width: 8px; height: 4px; border-left: 2px solid var(--bp-white); border-bottom: 2px solid var(--bp-white); transform: rotate(-45deg) translate(1px, -1px); }
.bp-check__count { margin-left: auto; font-size: 0.75rem; color: var(--bp-grey-text); font-variant-numeric: tabular-nums; }
.bp-check:hover { color: var(--bp-dark); }

.bp-range { display: grid; gap: var(--bp-s3); }
.bp-range input[type="range"] { width: 100%; accent-color: var(--bp-dark); }
.bp-range__vals { display: flex; justify-content: space-between; font-size: 0.8125rem; color: var(--bp-grey-text); font-variant-numeric: tabular-nums; }

.bp-sortbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bp-s5);
  padding-bottom: var(--bp-s4);
  border-bottom: var(--bp-rule) solid var(--bp-dark);
  margin-bottom: var(--bp-s6);
  flex-wrap: wrap;
}
.bp-sortbar__count { font-size: 0.875rem; color: var(--bp-grey-text); }
.bp-sortbar__count b { color: var(--bp-dark); }
.bp-select { position: relative; display: inline-flex; align-items: center; }
.bp-select select {
  appearance: none;
  border: var(--bp-rule) solid var(--bp-dark);
  background: var(--bp-white);
  color: var(--bp-dark);
  font-family: var(--bp-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  padding: 10px 42px 10px 14px;
  cursor: pointer;
  border-radius: 0;
}
.bp-select__caret { position: absolute; right: 14px; pointer-events: none; }

.bp-subnav { display: flex; gap: var(--bp-s2); flex-wrap: wrap; }
.bp-subnav a {
  padding: 9px 16px;
  border: var(--bp-rule) solid var(--bp-dark-12);
  font-size: 0.875rem;
  font-weight: 600;
  transition: border-color 0.18s var(--bp-ease), background-color 0.18s var(--bp-ease);
}
.bp-subnav a:hover { border-color: var(--bp-dark); }
.bp-subnav a.is-active { background: var(--bp-dark); color: var(--bp-white); border-color: var(--bp-dark); }

/* ------------------------------------------------------------ product page */

.bp-pdp { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--bp-s8); padding-block: var(--bp-s6) var(--bp-s8); align-items: start; }
.bp-pdp__gallery { display: grid; gap: var(--bp-rule); }
.bp-pdp__main { position: relative; aspect-ratio: 4 / 3; background: transparent; overflow: hidden; }
.bp-pdp__main img { width: 100%; height: 100%; object-fit: contain; }
.bp-pdp__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--bp-s3); }
.bp-pdp__thumb { aspect-ratio: 1; background: transparent; border: var(--bp-rule) solid transparent; padding: 8px; cursor: pointer; transition: border-color 0.18s var(--bp-ease); }
.bp-pdp__thumb img { width: 100%; height: 100%; object-fit: contain; }
.bp-pdp__thumb.is-active,
.bp-pdp__thumb:hover { border-color: var(--bp-dark); }

.bp-pdp__buy { display: grid; gap: var(--bp-s5); position: sticky; top: calc(var(--bp-header-h) + 16px); }
.bp-pdp__title { font-size: var(--bp-step3); }
.bp-pdp__claim { font-size: var(--bp-step1); color: var(--bp-grey-text); line-height: 1.5; }
.bp-pdp__pricerow { display: flex; align-items: baseline; gap: var(--bp-s4); padding-block: var(--bp-s4); border-block: var(--bp-rule) solid var(--bp-dark); }
.bp-pdp__price { font-family: var(--bp-font-head); font-size: var(--bp-step3); font-weight: 700; letter-spacing: -0.03em; }
.bp-pdp__pricerow--stack { flex-direction: column; align-items: flex-start; gap: var(--bp-s2); }
.bp-pdp__stock { display: inline-flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 600; color: var(--bp-dark); }
.bp-pdp__stock::before { content: ""; width: 8px; height: 8px; background: var(--bp-light); flex: none; }
.bp-pdp__actions { display: flex; gap: var(--bp-s3); flex-wrap: wrap; }

.bp-qty { display: inline-flex; align-items: stretch; border: var(--bp-rule) solid var(--bp-dark); flex: none; }
.bp-qty button { width: 48px; display: grid; place-items: center; font-size: 1.125rem; font-weight: 600; transition: background-color 0.18s var(--bp-ease); }
.bp-qty button:hover { background: var(--bp-grey-bg); }
.bp-qty input {
  width: 56px;
  border: 0;
  border-inline: var(--bp-rule) solid var(--bp-dark);
  text-align: center;
  font-family: var(--bp-font-head);
  font-size: 1rem;
  font-weight: 600;
  color: var(--bp-dark);
  background: var(--bp-white);
  -moz-appearance: textfield;
}
.bp-qty input::-webkit-outer-spin-button,
.bp-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bp-qty--sm button { width: 38px; }
.bp-qty--sm input { width: 44px; }

.bp-assur { display: grid; gap: 0; border-top: 1px solid var(--bp-dark-12); }
.bp-assur__row { display: flex; align-items: center; gap: var(--bp-s3); padding: 12px 0; border-bottom: 1px solid var(--bp-dark-12); font-size: 0.875rem; }
.bp-assur__row svg { flex: none; color: var(--bp-dark); }
.bp-assur__row b { font-weight: 600; }
.bp-assur__row span { color: var(--bp-grey-text); }
.bp-doclink { color: var(--bp-dark); text-decoration: none; }
.bp-doclink b { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bp-doclink:hover b, .bp-doclink:focus-visible b { text-decoration-thickness: 2px; }
.bp-pdp__buy > .bp-assur__row--doc { border-top: 1px solid var(--bp-dark-12); }

.bp-legal { background: var(--bp-grey-bg); border-left: var(--bp-rule) solid var(--bp-dark); padding: var(--bp-s4) var(--bp-s5); font-size: 0.8125rem; line-height: 1.5; color: var(--bp-dark); }
.bp-legal b { font-weight: 600; }

.bp-tabs { border-top: var(--bp-rule) solid var(--bp-dark); }
.bp-tabs__nav { display: flex; gap: 0; flex-wrap: wrap; }
.bp-tabs__btn {
  padding: 18px 24px 16px;
  font-size: 0.9375rem;
  font-weight: 600;
  border-bottom: 3px solid transparent;
  color: var(--bp-grey-text);
  transition: color 0.18s var(--bp-ease), border-color 0.18s var(--bp-ease);
}
.bp-tabs__btn:hover { color: var(--bp-dark); }
.bp-tabs__btn.is-active { color: var(--bp-dark); border-bottom-color: var(--bp-orange); }
.bp-tabs__panel { padding-block: var(--bp-s6) var(--bp-s8); border-top: 1px solid var(--bp-dark-12); }

.bp-prose { max-width: 70ch; display: grid; gap: var(--bp-s4); }
.bp-tabs .bp-prose { max-width: none; } /* product description: full width of the page (01.10.2026) */
.bp-prose p { color: var(--bp-grey-text); line-height: 1.7; }
.bp-prose h3 { margin-top: var(--bp-s5); color: var(--bp-dark); }
.bp-prose h4 { color: var(--bp-dark); }
.bp-prose strong { color: var(--bp-dark); font-weight: 600; }
.bp-prose ul { display: grid; gap: 10px; }
.bp-prose ul li { position: relative; padding-left: 22px; color: var(--bp-grey-text); line-height: 1.65; }
.bp-prose ul li::before { content: ""; position: absolute; left: 0; top: 0.66em; width: 10px; height: var(--bp-rule); background: var(--bp-orange); }
.bp-prose em { color: var(--bp-grey-text); }
.bp-prose blockquote { margin: var(--bp-s4) 0; padding-left: var(--bp-s5); border-left: var(--bp-rule) solid var(--bp-orange); font-size: var(--bp-step1); line-height: 1.5; color: var(--bp-dark); }
.bp-prose figure { margin: var(--bp-s5) 0; display: grid; gap: var(--bp-s3); }
.bp-prose figcaption { font-size: 0.8125rem; color: var(--bp-grey-text); }

.bp-spec { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.bp-spec th,
.bp-spec td { text-align: left; padding: 14px 0; border-bottom: 1px solid var(--bp-dark-12); vertical-align: top; }
.bp-spec th { width: 38%; font-weight: 600; color: var(--bp-dark); }
.bp-spec td { color: var(--bp-grey-text); }

/* -------------------------------------------------------------------- cart */

.bp-cart { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--bp-s8); align-items: start; padding-block: var(--bp-s7) var(--bp-s9); }

.bp-cartlist { border-top: var(--bp-rule) solid var(--bp-dark); }
.bp-cartrow { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto auto 44px; gap: var(--bp-s5); align-items: center; padding-block: var(--bp-s5); border-bottom: 1px solid var(--bp-dark-12); }
.bp-cartrow__media { aspect-ratio: 1; background: transparent; padding: 0; }
.bp-cartrow__media img { width: 100%; height: 100%; object-fit: contain; }
.bp-cartrow__name { font-family: var(--bp-font-head); font-size: 1rem; font-weight: 600; line-height: 1.3; }
.bp-cartrow__meta { font-size: 0.75rem; color: var(--bp-grey-text); margin-top: 4px; }
.bp-cartrow__line { font-family: var(--bp-font-head); font-size: 1.0625rem; font-weight: 700; letter-spacing: -0.02em; white-space: nowrap; min-width: 92px; text-align: right; }
.bp-cartrow__remove { width: 44px; height: 44px; display: grid; place-items: center; color: var(--bp-grey-text); transition: color 0.18s var(--bp-ease), background-color 0.18s var(--bp-ease); }
.bp-cartrow__remove:hover { color: var(--bp-dark); background: var(--bp-grey-bg); }

.bp-cartfoot { display: flex; align-items: center; justify-content: space-between; gap: var(--bp-s5); padding-top: var(--bp-s5); flex-wrap: wrap; }
.bp-coupon { display: flex; gap: 0; }
.bp-coupon input { border: var(--bp-rule) solid var(--bp-dark); border-right: 0; padding: 12px 14px; font-family: var(--bp-font-body); font-size: 0.9375rem; min-width: 200px; color: var(--bp-dark); }

.bp-summary { border: var(--bp-rule) solid var(--bp-dark); position: sticky; top: calc(var(--bp-header-h) + 16px); }
.bp-summary__head { padding: var(--bp-s5); border-bottom: var(--bp-rule) solid var(--bp-dark); display: flex; align-items: center; justify-content: space-between; }
.bp-summary__head h2 { font-size: 1.125rem; }
.bp-summary__body { padding: var(--bp-s5); display: grid; gap: var(--bp-s3); }
.bp-summary__line { display: flex; align-items: baseline; justify-content: space-between; gap: var(--bp-s4); font-size: 0.9375rem; }
.bp-summary__line span { color: var(--bp-grey-text); }
.bp-summary__line b { font-weight: 600; font-variant-numeric: tabular-nums; }
.bp-summary__total { display: flex; align-items: baseline; justify-content: space-between; gap: var(--bp-s4); padding: var(--bp-s5); border-top: var(--bp-rule) solid var(--bp-dark); }
.bp-summary__total span { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bp-grey-text); }
.bp-summary__total b { font-family: var(--bp-font-head); font-size: var(--bp-step2); font-weight: 700; letter-spacing: -0.03em; }
.bp-summary__cta { padding: 0 var(--bp-s5) var(--bp-s5); display: grid; gap: var(--bp-s3); }

.bp-ship-progress { padding: var(--bp-s4) var(--bp-s5); background: var(--bp-grey-bg); border-bottom: 1px solid var(--bp-dark-12); display: grid; gap: 10px; }
.bp-ship-progress__bar { height: 6px; background: var(--bp-dark-12); }

.bp-ship-progress p { font-size: 0.8125rem; color: var(--bp-dark); }

/* ---------------------------------------------------------------- checkout */

.bp-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: var(--bp-s8); align-items: start; padding-block: var(--bp-s7) var(--bp-s9); }
.bp-fieldset { border: 0; margin: 0; padding: 0 0 var(--bp-s7); display: grid; gap: var(--bp-s5); }
.bp-fieldset__head { display: flex; align-items: baseline; gap: var(--bp-s4); padding-bottom: var(--bp-s4); border-bottom: var(--bp-rule) solid var(--bp-dark); }
.bp-fieldset__num { font-family: var(--bp-font-head); font-size: 0.875rem; font-weight: 700; width: 28px; height: 28px; display: grid; place-items: center; background: var(--bp-dark); color: var(--bp-white); flex: none; }
.bp-fieldset__head h2 { font-size: 1.25rem; }

.bp-formgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bp-s4); }
.bp-field { display: grid; gap: 6px; }
.bp-field--full { grid-column: 1 / -1; }
.bp-field label { font-size: 0.8125rem; font-weight: 600; color: var(--bp-dark); }
.bp-field label em { font-style: normal; color: var(--bp-grey-text); font-weight: 500; }
.bp-input,
.bp-field select,
.bp-field textarea {
  border: var(--bp-rule) solid var(--bp-dark-12);
  background: var(--bp-white);
  padding: 13px 14px;
  font-family: var(--bp-font-body);
  font-size: 0.9375rem;
  color: var(--bp-dark);
  border-radius: 0;
  width: 100%;
  transition: border-color 0.18s var(--bp-ease);
}
.bp-field textarea { min-height: 128px; resize: vertical; }
.bp-input:hover,
.bp-field select:hover,
.bp-field textarea:hover { border-color: var(--bp-dark-80); }
.bp-input:focus,
.bp-field select:focus,
.bp-field textarea:focus { border-color: var(--bp-dark); outline: 0; box-shadow: inset 0 0 0 1px var(--bp-dark); }
.bp-field select { appearance: none; background-image: none; cursor: pointer; }

.bp-choices { display: grid; gap: var(--bp-rule); }
.bp-choice {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--bp-s4);
  padding: var(--bp-s4) var(--bp-s5);
  border: var(--bp-rule) solid var(--bp-dark-12);
  cursor: pointer;
  transition: border-color 0.18s var(--bp-ease), background-color 0.18s var(--bp-ease);
}
.bp-choice:hover { border-color: var(--bp-dark-80); }
.bp-choice:has(input:checked) { border-color: var(--bp-dark); background: var(--bp-grey-bg); }
.bp-choice input { appearance: none; width: 20px; height: 20px; border: var(--bp-rule) solid var(--bp-dark); background: var(--bp-white); display: grid; place-items: center; cursor: pointer; flex: none; }
.bp-choice input:checked::after { content: ""; width: 10px; height: 10px; background: var(--bp-dark); }
.bp-choice__txt { display: grid; gap: 2px; }
.bp-choice__txt b { font-weight: 600; font-size: 0.9375rem; }
.bp-choice__txt span { font-size: 0.8125rem; color: var(--bp-grey-text); }
.bp-choice__price { font-family: var(--bp-font-head); font-weight: 700; font-size: 0.9375rem; white-space: nowrap; }

.bp-ministack { display: grid; gap: var(--bp-rule); }
.bp-minirow { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: var(--bp-s4); align-items: center; padding-bottom: var(--bp-s4); border-bottom: 1px solid var(--bp-dark-12); }
.bp-minirow:last-child { border-bottom: 0; }
.bp-minirow__media { aspect-ratio: 1; background: transparent; padding: 0; }
.bp-minirow__media img { width: 100%; height: 100%; object-fit: contain; }
.bp-minirow__name { font-size: 0.875rem; font-weight: 600; line-height: 1.3; }
.bp-minirow__qty { font-size: 0.75rem; color: var(--bp-grey-text); }
.bp-minirow__price { font-family: var(--bp-font-head); font-weight: 700; font-size: 0.9375rem; white-space: nowrap; }

/* -------------------------------------------------------------------- blog */

.bp-postgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--bp-s6); }
.bp-post { display: grid; gap: var(--bp-s4); align-content: start; }
.bp-post__media { position: relative; aspect-ratio: 16 / 9; background: var(--bp-grey-bg); overflow: hidden; border: var(--bp-rule) solid var(--bp-dark-12); }
.bp-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s var(--bp-ease); }
.bp-post:hover .bp-post__media img { transform: scale(1.04); }
.bp-post__meta { display: flex; align-items: center; gap: var(--bp-s3); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bp-grey-text); }
.bp-post__title { font-family: var(--bp-font-head); font-size: 1.1875rem; font-weight: 600; line-height: 1.28; letter-spacing: -0.012em; }
.bp-post__excerpt { font-size: 0.9375rem; color: var(--bp-grey-text); line-height: 1.6; }

.bp-post--feature { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--bp-s7); align-items: center; padding-bottom: var(--bp-s7); border-bottom: var(--bp-rule) solid var(--bp-dark); }
.bp-post--feature .bp-post__media { aspect-ratio: 4 / 3; }
.bp-post--feature .bp-post__title { font-size: var(--bp-step3); font-weight: 700; line-height: 1.08; }
.bp-post--feature .bp-post__body { display: grid; gap: var(--bp-s4); align-content: center; }

.bp-pager { display: flex; align-items: center; gap: var(--bp-s2); justify-content: center; padding-top: var(--bp-s7); }
.bp-pager a,
.bp-pager span { min-width: 44px; height: 44px; display: grid; place-items: center; border: var(--bp-rule) solid var(--bp-dark-12); font-weight: 600; font-size: 0.9375rem; padding-inline: 12px; }
.bp-pager a:hover { border-color: var(--bp-dark); }
.bp-pager .is-current { background: var(--bp-dark); color: var(--bp-white); border-color: var(--bp-dark); }

/* ----------------------------------------------------------------- article */

.bp-article { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: var(--bp-s8); align-items: start; padding-block: var(--bp-s7) var(--bp-s9); }
.bp-article__head { display: grid; gap: var(--bp-s5); padding-bottom: var(--bp-s6); border-bottom: var(--bp-rule) solid var(--bp-dark); margin-bottom: var(--bp-s6); }
.bp-article__title { font-size: var(--bp-step3); }
.bp-article__byline { display: flex; align-items: center; gap: var(--bp-s4); font-size: 0.8125rem; color: var(--bp-grey-text); flex-wrap: wrap; }
.bp-article__hero { aspect-ratio: 16 / 9; background: var(--bp-grey-bg); overflow: hidden; margin-bottom: var(--bp-s6); }
.bp-article__hero img { width: 100%; height: 100%; object-fit: cover; }
.bp-aside { display: grid; gap: var(--bp-s6); position: sticky; top: calc(var(--bp-header-h) + 16px); }
.bp-aside__block { display: grid; gap: var(--bp-s4); }
.bp-aside__title { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bp-grey-text); padding-bottom: var(--bp-s3); border-bottom: var(--bp-rule) solid var(--bp-dark); }
.bp-toc { display: grid; gap: 0; }
.bp-toc a { padding: 10px 0; font-size: 0.875rem; font-weight: 500; border-bottom: 1px solid var(--bp-dark-12); transition: padding-left 0.18s var(--bp-ease); }
.bp-toc a:hover { padding-left: 6px; }
.bp-share { display: flex; gap: var(--bp-s2); }
.bp-share a { width: 44px; height: 44px; display: grid; place-items: center; border: var(--bp-rule) solid var(--bp-dark-12); }
.bp-share a:hover { border-color: var(--bp-dark); background: var(--bp-grey-bg); }

/* ----------------------------------------------------------------- contact */

.bp-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--bp-s8); padding-block: var(--bp-s7) var(--bp-s9); align-items: start; }
.bp-contactcards { display: grid; gap: var(--bp-rule); border-top: var(--bp-rule) solid var(--bp-dark); }
.bp-contactcard { padding: var(--bp-s5) 0; border-bottom: 1px solid var(--bp-dark-12); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--bp-s4); align-items: start; }
.bp-contactcard__icon { width: 44px; height: 44px; display: grid; place-items: center; background: var(--bp-grey-bg); color: var(--bp-dark); }
.bp-contactcard__lbl { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bp-grey-text); }
.bp-contactcard__val { font-family: var(--bp-font-head); font-size: 1.125rem; font-weight: 600; margin-top: 4px; letter-spacing: -0.01em; }
.bp-contactcard p { font-size: 0.875rem; color: var(--bp-grey-text); margin-top: 4px; }
.bp-map { aspect-ratio: 16 / 10; background: var(--bp-grey-bg); border: var(--bp-rule) solid var(--bp-dark-12); position: relative; overflow: hidden; }
.bp-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(1.05); }
.bp-pv { background: var(--bp-dark); color: var(--bp-white); padding: var(--bp-s5); display: grid; gap: var(--bp-s3); }
.bp-pv h3 { font-size: 1.0625rem; }
.bp-pv p { font-size: 0.875rem; color: rgba(255, 255, 255, 0.82); }
.bp-pv a { color: var(--bp-light); font-weight: 600; }

/* ------------------------------------------------------------------ footer */

.bp-footer { background: var(--bp-dark); color: var(--bp-white); }
.bp-footer a { color: rgba(255, 255, 255, 0.78); }
.bp-footer a:hover { color: var(--bp-light); }
.bp-footer__top { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: var(--bp-s7); padding-block: clamp(40px, 5vw, 72px); }
.bp-footer__brand { display: grid; gap: var(--bp-s4); align-content: start; }
.bp-footer__brand img { height: 54px; width: auto; }
.bp-footer__legalinfo { font-size: 0.8125rem; line-height: 1.6; color: rgba(255, 255, 255, 0.72); }
.bp-footer__legalinfo b { color: var(--bp-white); font-weight: 600; }
.bp-footer__title { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bp-light); margin-bottom: var(--bp-s4); }
.bp-footer__list { display: grid; gap: 10px; font-size: 0.875rem; }
.bp-footer__contact { display: grid; gap: var(--bp-s4); font-size: 0.875rem; }
.bp-footer__phone { font-family: var(--bp-font-head); font-size: 1.375rem; font-weight: 700; letter-spacing: -0.02em; color: var(--bp-white); }
.bp-footer__anpc { display: flex; gap: var(--bp-s3); flex-wrap: wrap; margin-top: var(--bp-s2); }
.bp-footer__anpc img { height: 42px; width: auto; background: var(--bp-white); }
.bp-footer__social { display: flex; gap: var(--bp-s2); }
.bp-footer__social a { width: 44px; height: 44px; display: grid; place-items: center; border: var(--bp-rule) solid rgba(255, 255, 255, 0.3); color: var(--bp-white); }
.bp-footer__social a:hover { background: var(--bp-white); color: var(--bp-dark); border-color: var(--bp-white); }

.bp-footer__pnrr { border-top: var(--bp-rule) solid rgba(255, 255, 255, 0.22); padding-block: var(--bp-s5); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--bp-s5); align-items: center; }
.bp-footer__pnrr-logos { display: flex; gap: var(--bp-s4); align-items: center; }
.bp-footer__pnrr-logos img { height: 44px; width: auto; background: var(--bp-white); padding: 4px; }
.bp-footer__pnrr p { font-size: 0.75rem; line-height: 1.5; color: rgba(255, 255, 255, 0.72); }
.bp-footer__pnrr b { color: var(--bp-white); font-weight: 600; }
.bp-footer__pnrr p a { color: var(--bp-white); text-decoration: underline; text-underline-offset: 2px; }

.bp-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.18); padding-block: var(--bp-s5); display: flex; align-items: center; justify-content: space-between; gap: var(--bp-s5); flex-wrap: wrap; font-size: 0.8125rem; color: rgba(255, 255, 255, 0.66); }

@keyframes bp-rise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ----------------------------------------------------- scroll reveal / fx */

/* Scroll reveal — pure CSS, scroll-driven where supported.
   Without support the content is simply visible: never a blank section. */
.bp-reveal { opacity: 1; transform: none; }
@keyframes bp-reveal-in {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}
@supports (animation-timeline: view()) {
  .bp-reveal {
    animation: bp-reveal-in linear both;
    animation-timeline: view();
    animation-range: entry 5% entry 60%;
  }
  .bp-reveal[data-d="1"] { animation-range: entry 8% entry 66%; }
  .bp-reveal[data-d="2"] { animation-range: entry 11% entry 72%; }
  .bp-reveal[data-d="3"] { animation-range: entry 14% entry 78%; }
  .bp-reveal[data-d="4"] { animation-range: entry 17% entry 84%; }
}

.bp-marquee { overflow: hidden; border-block: var(--bp-rule) solid var(--bp-dark); background: var(--bp-white); }
.bp-marquee__track { display: flex; gap: var(--bp-s8); padding-block: var(--bp-s4); width: max-content; animation: bp-scroll 34s linear infinite; }
.bp-marquee__item { display: flex; align-items: center; gap: var(--bp-s3); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bp-dark); white-space: nowrap; }
.bp-marquee__item::before { content: ""; width: 7px; height: 7px; background: var(--bp-orange); flex: none; }
@keyframes bp-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* image-slot placeholders always fill their framed container */
.bp-catbanner,
.bp-card__media,
.bp-pdp__main,
.bp-pdp__thumb,
.bp-cartrow__media,
.bp-minirow__media,
.bp-post__media { position: relative; }

.bp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bp-skip { position: absolute; left: -9999px; }
.bp-skip:focus { left: var(--bp-gutter); top: 8px; z-index: 100; background: var(--bp-dark); color: var(--bp-white); padding: 10px 16px; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .bp-reveal { opacity: 1; transform: none; animation: none; }
}

/* ============================================================ responsive */

@media (max-width: 1180px) {
  .bp-shop { grid-template-columns: 1fr; gap: var(--bp-s6); }
  .bp-filters { position: static; }
  .bp-cart,
  .bp-checkout,
  .bp-article,
  .bp-contact { grid-template-columns: 1fr; gap: var(--bp-s7); }
  .bp-summary,
  .bp-aside,
  .bp-pdp__buy { position: static; }
  .bp-prodgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bp-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bp-s6); }
}

@media (max-width: 1024px) {
  :root { --bp-header-h: 68px; }
  .bp-nav { display: none; }
  .bp-burger {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: var(--bp-rule) solid var(--bp-dark);
  }
  .bp-pdp { grid-template-columns: 1fr; gap: var(--bp-s6); }
  .bp-topbar__text { display: none; }
  /* Tablets: the PNRR logos shrink before the topbar links are pushed off-screen. */
  .bp-topbar__logos { flex: 1 1 auto; min-width: 0; }
  .bp-topbar__logos img { height: auto; max-height: 60px; min-width: 0; max-width: calc(50% - var(--bp-s2)); object-fit: contain; }
  .bp-cta { grid-template-columns: 1fr; gap: var(--bp-s5); }
  .bp-post--feature { grid-template-columns: 1fr; gap: var(--bp-s5); }
  .bp-split { grid-template-columns: 1fr; }
  .bp-split--flip .bp-split__media { order: 0; }
  .bp-split__media { min-height: 280px; }

  .bp-drawer {
    display: grid;
    position: fixed;
    inset: 0;
    z-index: 95;
    grid-template-rows: auto 1fr;
    background: var(--bp-white);
    transform: translateX(100%);
    transition: transform 0.32s var(--bp-ease);
  }
  .bp-drawer.is-open { transform: none; }
  .bp-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: var(--bp-s4); padding: var(--bp-s4) var(--bp-gutter); border-bottom: var(--bp-rule) solid var(--bp-dark); min-height: 68px; }
  .bp-drawer__head img { height: 38px; width: auto; }
  .bp-drawer__body { overflow-y: auto; padding: var(--bp-s5) var(--bp-gutter) var(--bp-s8); display: grid; gap: var(--bp-s5); align-content: start; }
  .bp-drawer__search { display: flex; border: var(--bp-rule) solid var(--bp-dark); }
  .bp-drawer__search input { flex: 1; min-width: 0; border: 0; padding: 13px 14px; font-family: var(--bp-font-body); font-size: 1rem; color: var(--bp-dark); }
  .bp-drawer__search button { flex: none; padding-inline: 16px; background: var(--bp-dark); color: var(--bp-white); display: grid; place-items: center; }
  .bp-drawer__group { display: grid; }
  .bp-drawer__link { display: flex; align-items: center; justify-content: space-between; gap: var(--bp-s4); padding: 15px 0; border-bottom: 1px solid var(--bp-dark-12); font-family: var(--bp-font-head); font-size: 1.125rem; font-weight: 600; }
  .bp-drawer__link svg { flex: none; color: var(--bp-grey-text); }
  .bp-drawer__sub { display: grid; padding-left: var(--bp-s4); }
  .bp-drawer__sub a { padding: 11px 0; font-size: 0.9375rem; font-weight: 500; color: var(--bp-grey-text); border-bottom: 1px solid var(--bp-dark-12); }
  .bp-drawer__cta { display: grid; gap: var(--bp-s3); margin-top: var(--bp-s4); }
}

@media (max-width: 760px) {
  .bp-hero__in { min-height: 44vh; }
  .bp-hero__hex:nth-child(n+8) { display: none; }
  .bp-hero__comb { background-size: 44px 76px; }
  .bp-statband__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bp-statband__cell:nth-child(3) { border-left: 0; }
  .bp-statband__cell:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, 0.22); }
  .bp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bp-stats__cell:nth-child(3) { border-left: 0; }
  .bp-stats__cell:nth-child(n + 3) { border-top: var(--bp-rule) solid var(--bp-dark); }
  .bp-section-head { flex-direction: column; align-items: flex-start; }
  .bp-grid--2 { grid-template-columns: 1fr; }
  .bp-prodgrid,
  .bp-prodgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bp-postgrid { grid-template-columns: 1fr; }
  .bp-formgrid { grid-template-columns: 1fr; }
  .bp-cartrow { grid-template-columns: 72px minmax(0, 1fr) 44px; gap: var(--bp-s4); row-gap: var(--bp-s3); }
  .bp-cartrow__qtycell { grid-column: 2; }
  .bp-cartrow__line { grid-column: 2; text-align: left; min-width: 0; }
  .bp-cartrow__remove { grid-row: 1; grid-column: 3; }
  .bp-footer__top { grid-template-columns: 1fr; }
  .bp-footer__pnrr { grid-template-columns: 1fr; }
  
  .bp-topbar__links { display: none; }
  .bp-pdp__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 460px) {
  .bp-prodgrid,
  .bp-prodgrid--4 { grid-template-columns: 1fr; }
  .bp-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bp-statband__row { grid-template-columns: 1fr; }
  .bp-statband__cell + .bp-statband__cell { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.22); }
}

/* ============================================================ WooCommerce (theme templates)
   WooCommerce's own CSS is disabled (woocommerce_enqueue_styles); everything below uses the tokens. */

/* ---------------------------------------------------------------- archive */

.bp-catbanner__scrim { pointer-events: none; }
.bp-catbanner__wrap { position: absolute; inset: 0; pointer-events: none; }
.bp-catbanner__in { pointer-events: auto; }
.bp-catbanner--plain .bp-catbanner__scrim { display: none; }
.bp-crumbs--light { padding-block: 0; color: rgba(255, 255, 255, 0.7); }
.bp-crumbs--light a { color: rgba(255, 255, 255, 0.7); }
.bp-crumbs--light a:hover,
.bp-crumbs--light span[aria-current] { color: var(--bp-white); }
.bp-pagehead--flush { border-bottom: 0; }
.bp-filters__form { display: contents; }
.bp-filters__group--last { border-bottom: 0; }
.bp-empty { display: grid; gap: var(--bp-s5); justify-items: start; padding-block: var(--bp-s6); }
.bp-legal--spaced { margin-top: var(--bp-s7); }
.bp-legal--spaced-sm { margin-top: calc(var(--bp-s6) + var(--bp-s2)); }
.bp-legal a,
.bp-note--links a,
.bp-note--link { text-decoration: underline; }
.bp-card__price del,
.bp-pdp .price del { color: var(--bp-grey-text); font-size: 0.72em; font-weight: 500; margin-right: var(--bp-s2); }
.bp-card__price ins,
.bp-pdp .price ins { text-decoration: none; }
.bp-card__add.loading { opacity: 0.7; pointer-events: none; }

/* ---------------------------------------------------------------- product page */

.bp-row--xs { gap: var(--bp-s2); }
.bp-btn--grow { flex: 1; min-width: 200px; }
.bp-pdp__claim p + p { margin-top: var(--bp-s3); }
.bp-pdp__stock.is-out::before { background: var(--bp-orange); }
.bp-spec-wrap { max-width: 640px; }
.bp-pdp__thumbs[hidden] { display: none; }
.bp-tabs__content { display: grid; gap: var(--bp-s4); }
.bp-pdp .variations_form { display: grid; gap: var(--bp-s4); }
.bp-pdp table.variations { width: 100%; border-collapse: collapse; }
.bp-pdp table.variations th,
.bp-pdp table.variations td { display: block; text-align: left; padding: 0; }
.bp-pdp table.variations tr { display: grid; gap: 6px; margin-bottom: var(--bp-s3); }
.bp-pdp table.variations label { font-size: 0.8125rem; font-weight: 600; color: var(--bp-dark); }
.bp-pdp table.variations select {
  appearance: none;
  width: 100%;
  border: var(--bp-rule) solid var(--bp-dark-12);
  background: var(--bp-white);
  padding: 13px 14px;
  font-family: var(--bp-font-body);
  font-size: 0.9375rem;
  color: var(--bp-dark);
  border-radius: 0;
  cursor: pointer;
}
.bp-pdp table.variations select:focus { border-color: var(--bp-dark); outline: 0; box-shadow: inset 0 0 0 1px var(--bp-dark); }
.bp-pdp .reset_variations { display: inline-block; margin-top: var(--bp-s2); font-size: 0.8125rem; text-decoration: underline; color: var(--bp-grey-text); }
.bp-pdp .woocommerce-variation-price .price { font-family: var(--bp-font-head); font-size: var(--bp-step2); font-weight: 700; letter-spacing: -0.03em; }
.bp-pdp .woocommerce-variation-availability,
.bp-pdp .stock { font-size: 0.875rem; color: var(--bp-grey-text); }
.single_add_to_cart_button.disabled { opacity: 0.5; cursor: not-allowed; }
.single_add_to_cart_button.loading { opacity: 0.7; pointer-events: none; }
.bp-qty input.qty { -moz-appearance: textfield; }

/* ---------------------------------------------------------------- cart */

.bp-stack--tight { gap: var(--bp-s3); }
.bp-cartrow__media a { display: block; width: 100%; height: 100%; }
.bp-cartrow .variation { font-size: 0.75rem; color: var(--bp-grey-text); display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
.bp-coupon .input-text { border: var(--bp-rule) solid var(--bp-dark); border-right: 0; padding: 12px 14px; font-family: var(--bp-font-body); font-size: 0.9375rem; border-radius: 0; }
progress.bp-ship-progress__bar { appearance: none; display: block; width: 100%; border: 0; border-radius: 0; background: var(--bp-dark-12); color: var(--bp-light); }
progress.bp-ship-progress__bar::-webkit-progress-bar { background: var(--bp-dark-12); }
progress.bp-ship-progress__bar::-webkit-progress-value { background: var(--bp-light); transition: width 0.4s var(--bp-ease); }
progress.bp-ship-progress__bar::-moz-progress-bar { background: var(--bp-light); }
.bp-summary__line .woocommerce-remove-coupon { margin-left: 6px; font-size: 0.75rem; font-weight: 500; text-decoration: underline; color: var(--bp-grey-text); }
/* WooCommerce price markup (spans) inside summary values keeps the value's style,
   not the label style that .bp-summary__line span / .bp-summary__total span give. */
.bp-summary__line b span,
.bp-summary__total b span { font: inherit; letter-spacing: inherit; text-transform: none; color: inherit; }

/* ---------------------------------------------------------------- checkout */

.bp-summary__body--rule { border-top: 1px solid var(--bp-dark-12); }
.bp-assur--plain { border-top: 0; }
.bp-assur--plain .bp-assur__row { border-bottom: 0; }
.bp-checkout .form-row,
.bp-wc .form-row { margin: 0; }
.bp-field .woocommerce-input-wrapper { display: block; }
.bp-field .woocommerce-input-wrapper > strong { display: block; padding: 13px 0; font-weight: 600; }
.bp-field .optional { font-weight: 500; color: var(--bp-grey-text); }
.bp-field textarea.bp-textarea--short { min-height: 92px; }
.bp-checkout .shipping_address { margin-top: var(--bp-s4); }
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.woocommerce-account-fields { display: grid; gap: var(--bp-s4); }
.bp-checkout #ship-to-different-address { margin: 0; }
.bp-ship-methods { display: grid; gap: var(--bp-s3); }
.bp-checkout .wc_payment_methods { list-style: none; margin: 0; padding: 0; }
.bp-checkout .wc_payment_method { display: grid; }
.bp-checkout .payment_box { padding: var(--bp-s4) var(--bp-s5); background: var(--bp-grey-bg); border: var(--bp-rule) solid var(--bp-dark); border-top: 0; font-size: 0.875rem; color: var(--bp-grey-text); }
.bp-checkout .payment_box p + p { margin-top: var(--bp-s2); }
.bp-choice__price img { max-height: 24px; width: auto; }
.bp-checkout .place-order { display: grid; gap: var(--bp-s3); margin-top: var(--bp-s5); }
.woocommerce-privacy-policy-text p { font-size: 0.8125rem; color: var(--bp-grey-text); line-height: 1.55; }
.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-checkbox-text a { text-decoration: underline; }
.woocommerce-form-login { display: grid; gap: var(--bp-s4); max-width: 560px; padding: var(--bp-s5); border: var(--bp-rule) solid var(--bp-dark); margin-bottom: var(--bp-s6); }
#place_order { justify-content: center; }

/* ---------------------------------------------------------------- forms outside the checkout (account, login)
   Scoped to the account page and the login form: the checkout has its own .bp-field markup. */

:is(.woocommerce-account .bp-wc, .woocommerce-form-login) input.input-text,
:is(.woocommerce-account .bp-wc, .woocommerce-form-login) select,
:is(.woocommerce-account .bp-wc, .woocommerce-form-login) textarea {
  width: 100%;
  border: var(--bp-rule) solid var(--bp-dark-12);
  background: var(--bp-white);
  padding: 13px 14px;
  font-family: var(--bp-font-body);
  font-size: 0.9375rem;
  color: var(--bp-dark);
  border-radius: 0;
}
:is(.woocommerce-account .bp-wc, .woocommerce-form-login) input.input-text:focus,
:is(.woocommerce-account .bp-wc, .woocommerce-form-login) select:focus,
:is(.woocommerce-account .bp-wc, .woocommerce-form-login) textarea:focus { border-color: var(--bp-dark); outline: 0; box-shadow: inset 0 0 0 1px var(--bp-dark); }
:is(.woocommerce-account .bp-wc, .woocommerce-form-login) label { display: block; margin-bottom: 6px; font-size: 0.8125rem; font-weight: 600; color: var(--bp-dark); }
:is(.woocommerce-account .bp-wc, .woocommerce-form-login) .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.bp-wc .button,
.woocommerce-form-login .button,
.woocommerce-message .button,
.woocommerce-info .button {
  display: inline-flex;
  align-items: center;
  gap: var(--bp-s2);
  min-height: 44px;
  padding: 10px 20px;
  background: var(--bp-dark);
  color: var(--bp-white);
  border: var(--bp-rule) solid var(--bp-dark);
  border-radius: 0;
  font-family: var(--bp-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.18s var(--bp-ease), color 0.18s var(--bp-ease), border-color 0.18s var(--bp-ease);
}
.bp-wc .button:hover,
.woocommerce-form-login .button:hover,
.woocommerce-message .button:hover,
.woocommerce-info .button:hover { background: var(--bp-orange); color: var(--bp-dark); border-color: var(--bp-orange); }
.woocommerce-account .bp-wc .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bp-s7); }
.woocommerce-account .bp-wc form { display: grid; gap: var(--bp-s4); }

/* Checkout details */
.bp-field--hidden { display: none; }
/* Required marker: visually hidden (design shows only "— opțional"); inputs keep required/aria-required. */
.bp-field .required,
.woocommerce-terms-and-conditions-wrapper .required { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* A single payment method: WooCommerce hides its radio, so the label spans the radio column too. */
.wc_payment_method:only-child .bp-choice { grid-template-columns: minmax(0, 1fr) auto; }

/* ---------------------------------------------------------------- notices, validation, loading */

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  list-style: none;
  margin: 0 0 var(--bp-s5);
  padding: var(--bp-s4) var(--bp-s5);
  background: var(--bp-grey-bg);
  border-left: calc(var(--bp-rule) * 3) solid var(--bp-light);
  color: var(--bp-dark);
  font-size: 0.9375rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--bp-s3);
}
.woocommerce-error { display: grid; border-left-color: var(--bp-orange); }
.woocommerce-error li { list-style: none; }
.bp-notice-list { display: grid; gap: var(--bp-s2); margin: 0; padding: 0; }
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a { text-decoration: underline; }
.woocommerce-invalid .bp-input,
.woocommerce-invalid select,
.woocommerce-invalid .input-text { border-color: var(--bp-orange); box-shadow: inset 0 0 0 1px var(--bp-orange); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.blockUI.blockOverlay { cursor: wait; }

/* ---------------------------------------------------------------- my account, order received */

.bp-wc > .woocommerce:has(.woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--bp-s8); align-items: start; padding-block: var(--bp-s6) var(--bp-s8); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: var(--bp-rule) solid var(--bp-dark); }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; border-bottom: 1px solid var(--bp-dark-12); font-weight: 500; color: var(--bp-grey-text); }
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover { color: var(--bp-dark); font-weight: 600; }
.woocommerce-MyAccount-content { display: grid; gap: var(--bp-s5); }
.bp-wc table.shop_table,
.woocommerce-order table.shop_table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.bp-wc table.shop_table th,
.bp-wc table.shop_table td,
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td { text-align: left; padding: 12px var(--bp-s3) 12px 0; border-bottom: 1px solid var(--bp-dark-12); vertical-align: top; }
.bp-wc table.shop_table thead th { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bp-grey-text); }
.woocommerce-order { display: grid; gap: var(--bp-s6); padding-block: var(--bp-s6) var(--bp-s8); }
.woocommerce-order-overview { list-style: none; margin: 0; padding: var(--bp-s5); display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--bp-s4); border: var(--bp-rule) solid var(--bp-dark); }
.woocommerce-order-overview li { display: grid; gap: 4px; font-size: 0.8125rem; color: var(--bp-grey-text); }
.woocommerce-order-overview strong { font-family: var(--bp-font-head); font-size: 1rem; color: var(--bp-dark); }
.woocommerce-customer-details address { font-style: normal; line-height: 1.7; color: var(--bp-grey-text); }

/* ---------------------------------------------------------------- cart offer pop-up (biessen-cart-offer, Etapa 9) */

.bp-offer {
  width: min(600px, calc(100vw - 2 * var(--bp-s4)));
  max-height: calc(100vh - 2 * var(--bp-s5));
  padding: 0;
  border: var(--bp-rule) solid var(--bp-dark);
  border-radius: 0;
  background: var(--bp-white);
  color: var(--bp-dark);
  overflow: auto;
}
.bp-offer::backdrop { background: rgba(0, 63, 92, 0.55); }
.bp-offer[open] { display: grid; grid-template-columns: 200px minmax(0, 1fr); }
.bp-offer__media { display: grid; place-items: center; padding: var(--bp-s4); background: var(--bp-grey-bg); }
.bp-offer__media img { width: 100%; height: auto; max-height: 220px; object-fit: contain; }
.bp-offer__body { display: grid; gap: var(--bp-s3); align-content: start; padding: var(--bp-s5); }
.bp-offer__body h2 { font-size: var(--bp-step2); }
.bp-offer__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--bp-s3); }
.bp-offer__price del { color: var(--bp-grey-text); font-size: 0.9375rem; }
.bp-offer__price ins { text-decoration: none; font-family: var(--bp-font-head); font-size: var(--bp-step2); font-weight: 700; letter-spacing: -0.02em; }
.bp-offer__legal { font-size: 0.75rem; line-height: 1.5; color: var(--bp-grey-text); border-left: var(--bp-rule) solid var(--bp-dark); padding-left: var(--bp-s3); }
.bp-offer__actions { display: flex; flex-wrap: wrap; gap: var(--bp-s3); margin-top: var(--bp-s2); }
@media (prefers-reduced-motion: no-preference) {
  .bp-offer[open] { animation: bp-offer-in 0.22s var(--bp-ease); }
}
@keyframes bp-offer-in { from { opacity: 0; transform: translateY(8px); } }

/* ---------------------------------------------------------------- WooCommerce responsive */

@media (max-width: 1180px) {
  .bp-wc > .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; gap: var(--bp-s6); }
}
@media (max-width: 760px) {
  .bp-cartrow > .product-remove { grid-row: 1; grid-column: 3; }
  .bp-btn--grow { min-width: 0; }
  .woocommerce-account .bp-wc .col2-set { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .bp-offer[open] { grid-template-columns: 1fr; }
}

/* ============================================================ Pages, articles, block patterns (Etapa 5)
   Page templates: Prezentare · Document cu cuprins · Contact · Landing. Sections are core blocks
   with the .bp-* classes (patterns "Biessen" in the editor). */

/* ---------------------------------------------------------------- core blocks inside the design */

/* Classic themes wrap group content in .wp-block-group__inner-container; keep the grid/flex layouts. */
[class*="bp-"] > .wp-block-group__inner-container { display: contents; }
.bp-blocks .wp-block-image,
.bp-prose .wp-block-image { margin: 0; }
.bp-blocks .wp-block-image img,
.bp-prose .wp-block-image img { height: auto; max-width: 100%; }
.bp-split__media .wp-block-image { position: absolute; inset: 0; }
.bp-split__media .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.bp-blocks .wp-block-buttons,
.bp-prose .wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--bp-s3); }
.wp-block-button[class*="is-style-bp-"] .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: var(--bp-s3);
  min-height: 48px;
  padding: 14px 22px;
  border: var(--bp-rule) solid transparent;
  border-radius: 0;
  font-family: var(--bp-font-body);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 0.18s var(--bp-ease), color 0.18s var(--bp-ease), border-color 0.18s var(--bp-ease);
}
.wp-block-button.is-style-bp-primary .wp-block-button__link { background: var(--bp-orange); color: var(--bp-dark); border-color: var(--bp-orange); }
.wp-block-button.is-style-bp-primary .wp-block-button__link:hover { background: var(--bp-white); border-color: var(--bp-dark); }
.wp-block-button.is-style-bp-dark .wp-block-button__link { background: var(--bp-dark); color: var(--bp-white); border-color: var(--bp-dark); }
.wp-block-button.is-style-bp-outline .wp-block-button__link { background: transparent; color: var(--bp-dark); border-color: var(--bp-dark); }
.wp-block-button.is-style-bp-outline .wp-block-button__link:hover,
.wp-block-button.is-style-bp-dark .wp-block-button__link:hover { background: var(--bp-dark); color: var(--bp-white); }
.wp-block-button.is-style-bp-light .wp-block-button__link { background: var(--bp-white); color: var(--bp-dark); border-color: var(--bp-white); }
.wp-block-button.is-style-bp-light .wp-block-button__link:hover { background: var(--bp-light); border-color: var(--bp-light); }
.wp-block-button.is-style-bp-ghost-light .wp-block-button__link { background: transparent; color: var(--bp-white); border-color: rgba(255, 255, 255, 0.45); }
.wp-block-button.is-style-bp-ghost-light .wp-block-button__link:hover { background: var(--bp-white); color: var(--bp-dark); border-color: var(--bp-white); }

/* ---------------------------------------------------------------- page head */

.bp-page { display: block; }
.bp-pagehead__text { gap: var(--bp-s4); max-width: 760px; }
.bp-pagehead__text .bp-lead { max-width: 62ch; }
.bp-pagehead--media .bp-pagehead__in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); align-items: center; gap: var(--bp-s8); }
.bp-pagehead__media img { width: 100%; height: auto; max-height: 360px; object-fit: contain; }
.bp-h1--narrow { max-width: 22ch; }
.bp-section--flushtop { padding-top: var(--bp-s6); }
.bp-section--lastpad { padding-bottom: var(--bp-s9); }
.bp-section-head__note { max-width: 34ch; }
.bp-section-head--flush { margin-bottom: var(--bp-s6); }
.bp-note--narrow { max-width: 26ch; }
.bp-prose--page { max-width: 72ch; }
.bp-legal--warn { border-left-color: var(--bp-orange); margin-bottom: var(--bp-s5); }
.bp-legal--bottom { margin-bottom: var(--bp-s8); }

/* Hero variants */
.bp-hero__in--page { min-height: min(46vh, 420px); }
.bp-hero--plain .bp-hero__scrim { display: none; }
.bp-catbanner--landing { max-height: 520px; }
.bp-catbanner--landing .bp-catbanner__in { max-width: 720px; }

/* ---------------------------------------------------------------- sections from the patterns */

.bp-grid--wide { gap: var(--bp-s8); align-items: start; }
.bp-col { display: grid; gap: var(--bp-s5); align-content: start; }
.bp-split--card { background: var(--bp-white); border: calc(var(--bp-rule) * 2) solid var(--bp-dark-12); }
.bp-section--dark .bp-split__pane .bp-lead,
.bp-section--dark .bp-split__pane p { color: rgba(255, 255, 255, 0.82); }
.bp-section--dark .bp-feature h4 { color: var(--bp-white); }

/* Cards with an accent line (values, therapeutic areas, points) */
.bp-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(var(--bp-rule) * 2);
  background: var(--bp-dark-12);
  border: calc(var(--bp-rule) * 2) solid var(--bp-dark-12);
  margin-bottom: var(--bp-s6);
}
.bp-values--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bp-value { background: var(--bp-white); padding: var(--bp-s6); display: grid; gap: var(--bp-s3); align-content: start; }
.bp-value::before { content: ""; width: 28px; height: calc(var(--bp-rule) * 2); background: var(--bp-orange); }
.bp-value:nth-child(even)::before { background: var(--bp-light); }
.bp-section--grey .bp-values { background: var(--bp-dark-12); }

/* Timeline */
.bp-timeline { position: relative; display: grid; gap: 0; max-width: 880px; }
.bp-timeline::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 7px; width: calc(var(--bp-rule) * 2); background: var(--bp-light); }
.bp-timeline__item { position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr); column-gap: var(--bp-s6); row-gap: 4px; padding: 0 0 var(--bp-s6) var(--bp-s7); }
.bp-timeline__item::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; background: var(--bp-white); border: calc(var(--bp-rule) * 2) solid var(--bp-light); }
.bp-timeline__item:last-child { padding-bottom: 0; }
.bp-timeline__item:last-child::before { background: var(--bp-light); }
.bp-timeline__year { grid-row: 1 / span 2; font-family: var(--bp-font-head); font-size: var(--bp-step2); font-weight: 700; letter-spacing: -0.02em; color: var(--bp-dark); line-height: 1.1; }
.bp-timeline__item .bp-note { max-width: 56ch; }

/* Link cards */
.bp-linkcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bp-s5); }
.bp-linkcard { position: relative; display: grid; gap: var(--bp-s3); align-content: start; padding: var(--bp-s6); border: calc(var(--bp-rule) * 2) solid var(--bp-dark-12); transition: border-color 0.18s var(--bp-ease), background-color 0.18s var(--bp-ease); }
.bp-linkcard:hover { border-color: var(--bp-dark); background: var(--bp-grey-bg); }
.bp-linkcard h3 a::after { content: ""; position: absolute; inset: 0; }
.bp-linkcard h3 a:focus-visible { outline: 0; }
.bp-linkcard:has(a:focus-visible) { outline: 2px solid var(--bp-dark); outline-offset: 2px; }

/* Quote */
.bp-quote { margin: 0; padding: 0; border: 0; display: grid; gap: var(--bp-s4); }
.bp-quote p { font-family: var(--bp-font-head); font-size: 1.125rem; font-weight: 500; line-height: 1.4; color: var(--bp-dark); }
.bp-quote--lg p { font-size: var(--bp-step2); line-height: 1.3; max-width: 44ch; }
.bp-quote cite { display: flex; align-items: center; gap: var(--bp-s3); font-style: normal; font-size: 0.875rem; font-weight: 600; color: var(--bp-dark); }
.bp-quote cite::before { content: ""; width: 28px; height: calc(var(--bp-rule) * 2); background: var(--bp-orange); flex: none; }

/* Key facts (shipping, figures) */
.bp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--bp-s4); margin-bottom: var(--bp-s6); }
.bp-fact { display: grid; gap: 4px; align-content: start; padding: var(--bp-s5); border: var(--bp-rule) solid var(--bp-dark-12); background: var(--bp-white); }
.bp-fact__icon { width: 40px; height: 40px; display: grid; place-items: center; background: var(--bp-grey-bg); color: var(--bp-dark); margin-bottom: var(--bp-s2); }
.bp-fact__lbl { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bp-grey-text); }
.bp-fact__val { font-family: var(--bp-font-head); font-size: var(--bp-step2); font-weight: 700; letter-spacing: -0.02em; color: var(--bp-dark); line-height: 1.15; }
.bp-fact__note { font-size: 0.8125rem; color: var(--bp-grey-text); }
.bp-prose .bp-fact p { color: inherit; line-height: 1.3; }
.bp-prose .bp-fact .bp-fact__lbl,
.bp-prose .bp-fact .bp-fact__note { color: var(--bp-grey-text); }

/* FAQ (core Details block) */
.bp-faq { display: grid; border-top: var(--bp-rule) solid var(--bp-dark); margin-bottom: var(--bp-s6); }
.bp-faq details { border-bottom: 1px solid var(--bp-dark-12); }
.bp-faq summary { position: relative; list-style: none; cursor: pointer; padding: var(--bp-s4) var(--bp-s7) var(--bp-s4) 0; font-weight: 600; color: var(--bp-dark); }
.bp-faq summary::-webkit-details-marker { display: none; }
.bp-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-family: var(--bp-font-head); font-size: 1.375rem; font-weight: 500; }
.bp-faq details[open] summary::after { content: "−"; }
.bp-faq details > :not(summary) { padding-bottom: var(--bp-s4); color: var(--bp-grey-text); line-height: 1.7; }
.bp-faq summary:focus-visible { outline: 2px solid var(--bp-dark); outline-offset: 2px; }

/* Document pages */
.bp-doc h2 { font-size: var(--bp-step2); margin-top: var(--bp-s6); scroll-margin-top: calc(var(--bp-header-h) + 24px); }
.bp-doc h2:first-child,
.bp-doc > .bp-facts:first-child + h2 { margin-top: 0; }
.bp-doc h3 { font-size: 1.0625rem; margin-top: var(--bp-s4); }
.bp-doc a,
.bp-prose--page a { text-decoration: underline; }
.bp-doc .bp-pv a { text-decoration: none; }
.bp-doc .bp-contactform { margin-block: var(--bp-s4); }

/* Articles */
.bp-article__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--bp-s4); margin-top: var(--bp-s7); padding-top: var(--bp-s5); border-top: var(--bp-rule) solid var(--bp-dark); }
.bp-article .bp-prose h2,
.bp-article .bp-prose h3 { scroll-margin-top: calc(var(--bp-header-h) + 24px); }
.bp-aside__logos img { height: 44px; width: auto; }
.bp-share__status:empty { display: none; }

/* Contact */
.bp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bp-pv__mail { font-size: 1.0625rem; }
.bp-check a { text-decoration: underline; }
.bp-map__placeholder { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: var(--bp-s3); padding: var(--bp-s5); text-align: center; color: var(--bp-dark); }
.bp-map__addr { font-weight: 600; max-width: 34ch; }
.bp-map .bp-note { max-width: 40ch; }

/* ---------------------------------------------------------------- responsive (pages) */

@media (max-width: 1180px) {
  .bp-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bp-values--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bp-grid--wide { gap: var(--bp-s7); }
}
@media (max-width: 1024px) {
  .bp-pagehead--media .bp-pagehead__in { grid-template-columns: minmax(0, 1fr) minmax(0, 0.6fr); gap: var(--bp-s6); }
  .bp-linkcards { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  /* PNRR logos (60px tall in the design) are ~616px wide together: scale them to the screen. */
  .bp-topbar__logos { flex: 1 1 auto; min-width: 0; justify-content: space-between; gap: var(--bp-s3); }
  .bp-topbar__logos img { height: auto; max-height: 48px; width: auto; max-width: calc(50% - var(--bp-s2)); object-fit: contain; }
  .bp-footer__pnrr-logos { flex-wrap: wrap; }
  .bp-footer__pnrr-logos img { max-width: 100%; }
  .bp-pagehead--media .bp-pagehead__in { grid-template-columns: 1fr; }
  .bp-pagehead__media { order: -1; max-width: 240px; }
  .bp-values,
  .bp-values--3 { grid-template-columns: 1fr; }
  .bp-value { padding: var(--bp-s5); }
  .bp-timeline__item { grid-template-columns: 1fr; padding-left: var(--bp-s6); }
  .bp-timeline__year { grid-row: auto; font-size: var(--bp-step1); }
  .bp-quote--lg p { font-size: var(--bp-step1); }
  .bp-article__foot { flex-direction: column; align-items: flex-start; }
}

/* ============================================================ Newsletter (biessen-klaviyo plugin)
   Band above the footer (hook biessen_before_footer) and the [biessen_newsletter] block. */

.bp-newsletter { background: var(--bp-grey-bg); border-top: var(--bp-rule) solid var(--bp-dark-12); padding-block: clamp(32px, 4vw, 56px); }
.bp-newsletter__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--bp-s7); align-items: center; }
.bp-newsletter__title { font-family: var(--bp-font-head); font-size: var(--bp-step2); font-weight: 700; line-height: 1.15; color: var(--bp-dark); }
.bp-newsletter__lead { margin-top: var(--bp-s3); color: var(--bp-grey-text); max-width: 52ch; }
.bp-newsletter__form { display: grid; gap: var(--bp-s3); }
.bp-newsletter__row { display: flex; }
.bp-newsletter__email { flex: 1 1 auto; min-width: 0; border-color: var(--bp-dark); border-right: 0; }
.bp-newsletter__email[aria-invalid="true"] { box-shadow: inset 0 0 0 1px var(--bp-orange); border-color: var(--bp-orange); }
.bp-newsletter__btn { flex: none; justify-content: center; }
.bp-newsletter__consent { align-items: flex-start; font-size: 0.8125rem; line-height: 1.5; color: var(--bp-grey-text); }
.bp-newsletter__consent input { margin-top: 1px; }
.bp-newsletter__consent input[aria-invalid="true"] { border-color: var(--bp-orange); box-shadow: 0 0 0 1px var(--bp-orange); }
.bp-newsletter__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bp-newsletter__msg { min-height: 1.5em; font-size: 0.875rem; color: var(--bp-dark); }
.bp-newsletter__msg:empty { min-height: 0; }
.bp-newsletter__msg.is-error { padding-left: var(--bp-s3); border-left: 2px solid var(--bp-orange); }
.bp-newsletter__form.is-done .bp-newsletter__row,
.bp-newsletter__form.is-done .bp-newsletter__consent { display: none; }
.bp-newsletter__form.is-done .bp-newsletter__msg { padding: var(--bp-s4); border: var(--bp-rule) solid var(--bp-dark); background: var(--bp-white); font-weight: 600; }
.bp-newsletter--inline { background: var(--bp-white); border: var(--bp-rule) solid var(--bp-dark); padding: var(--bp-s6); margin-block: var(--bp-s7); }
.bp-newsletter--inline .bp-newsletter__in { grid-template-columns: 1fr; gap: var(--bp-s5); }
@media (max-width: 760px) {
  .bp-newsletter__in { grid-template-columns: 1fr; gap: var(--bp-s5); }
  .bp-newsletter__row { flex-direction: column; gap: var(--bp-s2); }
  .bp-newsletter__email { border-right: var(--bp-rule) solid var(--bp-dark); }
  .bp-newsletter__btn { width: 100%; }
  .bp-newsletter--inline { padding: var(--bp-s5); }
}

/* ============================================================ WPConsent (cookie banner)
   The plugin renders inside a shadow root (#wpconsent-container). Its --wpconsent-* variables
   are set here on the host (they override the plugin's inline values on #wpconsent-root) and
   the exposed ::part()s get the theme's shape. Accept and Refuz share size and weight;
   Preferințe is the secondary, outlined action. No plugin file is modified. */

#wpconsent-container {
  --wpconsent-background: var(--bp-white);
  --wpconsent-text: var(--bp-dark);
  --wpconsent-border: var(--bp-dark-12);
  --wpconsent-outline-color: var(--bp-dark-12);
  --wpconsent-accept-bg: var(--bp-orange);
  --wpconsent-accept-color: var(--bp-dark);
  --wpconsent-cancel-bg: var(--bp-dark);
  --wpconsent-cancel-color: var(--bp-white);
  --wpconsent-preferences-bg: transparent;
  --wpconsent-preferences-color: var(--bp-dark);
  --wpconsent-border-radius: 0;
  --wpconsent-shadow: none;
  --wpconsent-font-size: 15px;
  --wpconsent-title-size: var(--bp-step2);
  --wpconsent-line-height: 1.55;
  --wpconsent-close-color: var(--bp-dark);
  --wpconsent-focus-outline-color: var(--bp-light);
  --wpconsent-focus-outline-width: 2px;
  --wpconsent-focus-outline-offset: 2px;
  font-family: var(--bp-font-body);
}
#wpconsent-container::part(wpconsent-banner) {
  border-top: var(--bp-rule) solid var(--bp-dark-12);
  padding: var(--bp-s4) var(--bp-gutter);
  gap: var(--bp-s5);
}
#wpconsent-container::part(wpconsent-banner-body) { text-align: left; }
#wpconsent-container::part(wpconsent-banner-footer) { gap: var(--bp-s3); }
#wpconsent-container::part(wpconsent-button-accept),
#wpconsent-container::part(wpconsent-button-cancel),
#wpconsent-container::part(wpconsent-button-preferences),
#wpconsent-container::part(wpconsent-preferences-accept-button),
#wpconsent-container::part(wpconsent-preferences-cancel-button),
#wpconsent-container::part(wpconsent-preferences-save-button) {
  min-width: 128px;
  height: 46px;
  padding: 0 var(--bp-s5);
  border: var(--bp-rule) solid var(--bp-dark);
  border-radius: 0;
  font-family: var(--bp-font-head);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: background-color 0.18s var(--bp-ease), color 0.18s var(--bp-ease);
}
#wpconsent-container::part(wpconsent-button-accept),
#wpconsent-container::part(wpconsent-preferences-accept-button) { border-color: var(--bp-orange); }
#wpconsent-container::part(wpconsent-button-accept):hover,
#wpconsent-container::part(wpconsent-preferences-accept-button):hover { background-color: var(--bp-orange-deep); border-color: var(--bp-orange-deep); }
#wpconsent-container::part(wpconsent-button-cancel):hover,
#wpconsent-container::part(wpconsent-preferences-cancel-button):hover { background-color: var(--bp-dark-deep); }
#wpconsent-container::part(wpconsent-button-preferences):hover,
#wpconsent-container::part(wpconsent-preferences-save-button):hover { background-color: var(--bp-dark-06); }
#wpconsent-container::part(wpconsent-preferences-content) { border-radius: 0; border-top: 4px solid var(--bp-orange); }
#wpconsent-container::part(wpconsent-preferences-title) { font-family: var(--bp-font-head); font-weight: 700; }
#wpconsent-container::part(wpconsent-settings-button) { border-radius: 0; background-color: var(--bp-dark); }
#wpconsent-container::part(wpconsent-settings-button):focus-visible,
#wpconsent-container::part(wpconsent-button-accept):focus-visible,
#wpconsent-container::part(wpconsent-button-cancel):focus-visible,
#wpconsent-container::part(wpconsent-button-preferences):focus-visible { outline: 2px solid var(--bp-light); outline-offset: 2px; }
@media (max-width: 767px) {
  /* Phones: Preferințe on its own row, Refuz and Accept side by side at equal width. */
  #wpconsent-container::part(wpconsent-banner) { gap: var(--bp-s3); }
  #wpconsent-container::part(wpconsent-banner-footer) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bp-s2); }
  #wpconsent-container::part(wpconsent-button-accept),
  #wpconsent-container::part(wpconsent-button-cancel),
  #wpconsent-container::part(wpconsent-button-preferences) { width: 100%; min-width: 0; padding: 0 var(--bp-s3); }
  #wpconsent-container::part(wpconsent-button-preferences) { grid-column: 1 / -1; }
}
