/* BresciaPC product-first navigation shell - authoritative presentation layer. */
#bresciapc-header.bpc-header-modern {
  --bpc-shell-blue: #0878ed;
  --bpc-shell-blue-deep: #0062cc;
  --bpc-shell-ink: #17243a;
  --bpc-shell-muted: #65758a;
  --bpc-shell-line: #dfe7f0;
  --bpc-shell-soft: #f4f7fb;
  isolation: isolate;
  position: sticky;
  top: 0;
  z-index: 1000;
  display: block;
  height: auto;
  overflow: visible;
  border-bottom: 1px solid rgba(20, 42, 69, .09);
  background: rgba(255, 255, 255, .93);
  box-shadow: 0 1px 0 rgba(17, 37, 61, .02);
  -webkit-backdrop-filter: saturate(170%) blur(20px);
  backdrop-filter: saturate(170%) blur(20px);
  transition: box-shadow .22s ease, background-color .22s ease;
}
#bresciapc-header.bpc-header-modern.is-static { position: relative; top: auto; }
#bresciapc-header.bpc-header-modern.scrolled,
body.scrolled #bresciapc-header.bpc-header-modern {
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 14px 38px rgba(20, 42, 69, .10);
}
body.admin-bar #bresciapc-header.bpc-header-modern.is-sticky { top: 32px; }

/* Optional service-area strip. It disappears on scroll and on small screens. */
#bresciapc-header.bpc-header-modern .bpc-header-utility {
  min-height: 28px;
  height: 28px;
  overflow: hidden;
  border: 0;
  background: #102540;
  color: #dce9f7;
  transition: min-height .2s ease, height .2s ease, opacity .16s ease;
}
#bresciapc-header.bpc-header-modern.scrolled .bpc-header-utility,
body.scrolled #bresciapc-header.bpc-header-modern .bpc-header-utility {
  min-height: 0;
  height: 0;
  opacity: 0;
}
#bresciapc-header.bpc-header-modern .bpc-header-utility__inner {
  width: min(100% - 40px, 1380px);
  min-height: 28px;
  margin: 0 auto;
  padding: 0;
}
#bresciapc-header.bpc-header-modern .bpc-header-utility__message {
  gap: 8px;
  color: inherit;
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: .01em;
}
#bresciapc-header.bpc-header-modern .bpc-header-utility__message > span {
  width: 6px;
  height: 6px;
  background: #52d99b;
  box-shadow: 0 0 0 4px rgba(82, 217, 155, .13);
}
#bresciapc-header.bpc-header-modern .bpc-header-utility__featured,
#bresciapc-header.bpc-header-modern .bpc-header-utility-menu a {
  color: #dce9f7;
  font-size: 11.5px;
  font-weight: 680;
}

/* Main bar. */
#bresciapc-header.bpc-header-modern .header-container {
  width: min(100% - 40px, 1380px);
  min-height: 72px;
  height: 72px;
  margin: 0 auto;
  padding: 0;
  gap: clamp(18px, 2.4vw, 38px);
  transition: min-height .2s ease, height .2s ease;
}
#bresciapc-header.bpc-header-modern.scrolled .header-container,
body.scrolled #bresciapc-header.bpc-header-modern .header-container {
  min-height: 62px;
  height: 62px;
}
#bresciapc-header.bpc-header-modern .header-logo {
  flex: 0 0 164px;
  width: 164px;
  min-width: 164px;
}
#bresciapc-header.bpc-header-modern .header-logo__link { min-height: 44px; }
#bresciapc-header.bpc-header-modern .header-logo .header-logo__wordmark {
  display: block !important;
  width: 160px !important;
  max-width: 160px !important;
  height: auto !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: width .2s ease !important;
}
#bresciapc-header.bpc-header-modern.scrolled .header-logo .header-logo__wordmark,
body.scrolled #bresciapc-header.bpc-header-modern .header-logo .header-logo__wordmark { width: 148px !important; }
#bresciapc-header.bpc-header-modern .header-logo .header-logo__mark { display: none !important; }

/* Compact editorial navigation. */
#bresciapc-header.bpc-header-modern .header-nav-desktop {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  justify-content: flex-start;
}
#bresciapc-header.bpc-header-modern .header-nav-desktop ul.header-nav-list {
  position: static;
  justify-content: flex-start;
  gap: 4px;
}
#bresciapc-header.bpc-header-modern .header-nav-desktop li.menu-item { position: relative; }
#bresciapc-header.bpc-header-modern .header-nav-desktop li.bpc-repair-menu { position: static; }
#bresciapc-header.bpc-header-modern .header-nav-desktop li.menu-item > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border: 0;
  border-radius: 12px;
  color: var(--bpc-shell-ink);
  font-size: 13px;
  font-weight: 690;
  letter-spacing: -.012em;
  text-decoration: none;
}
#bresciapc-header.bpc-header-modern .header-nav-desktop li.menu-item > a::before,
#bresciapc-header.bpc-header-modern .header-nav-desktop li.menu-item > a::after { display: none; }
#bresciapc-header.bpc-header-modern .header-nav-desktop li.menu-item > a:hover,
#bresciapc-header.bpc-header-modern .header-nav-desktop li.menu-item > a:focus-visible,
#bresciapc-header.bpc-header-modern .header-nav-desktop li.current-menu-item > a {
  color: var(--bpc-shell-blue-deep);
  background: #edf5ff;
  box-shadow: none;
}
#bresciapc-header.bpc-header-modern .bpc-nav-leading-icon { color: var(--bpc-shell-blue); }
#bresciapc-header.bpc-header-modern .bpc-nav-chevron {
  margin-left: 1px;
  transition: transform .18s ease;
}
#bresciapc-header.bpc-header-modern .menu-item-has-children:hover > a .bpc-nav-chevron,
#bresciapc-header.bpc-header-modern .menu-item-has-children:focus-within > a .bpc-nav-chevron { transform: rotate(180deg); }

/* Catalogue hub. */
#bresciapc-header.bpc-header-modern .header-nav-desktop .submenu {
  top: calc(100% + 12px);
  border: 1px solid var(--bpc-shell-line);
  border-radius: 22px;
  background: rgba(255, 255, 255, .99);
  box-shadow: 0 30px 90px rgba(19, 42, 69, .19), 0 6px 20px rgba(19, 42, 69, .07);
}
#bresciapc-header.bpc-header-modern .header-nav-desktop .submenu::before { top: -14px; height: 14px; }
#bresciapc-header.bpc-header-modern .header-nav-desktop .bpc-repair-hub {
  display: block;
  grid-template-columns: none;
  left: 50%;
  width: min(1020px, calc(100vw - 64px));
  min-width: 0;
  max-width: none;
  padding: 0;
  overflow: hidden;
  transform: translate(-50%, 10px);
}
#bresciapc-header.bpc-header-modern .header-nav-desktop .bpc-repair-menu:hover > .bpc-repair-hub,
#bresciapc-header.bpc-header-modern .header-nav-desktop .bpc-repair-menu:focus-within > .bpc-repair-hub { transform: translate(-50%, 0); }
#bresciapc-header.bpc-header-modern .header-nav-desktop .bpc-repair-menu.bpc-menu-force-closed > .bpc-repair-hub { transform: translate(-50%, 10px); }
.bpc-repair-hub__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  align-items: center;
  gap: 30px;
  padding: 23px 25px;
  border-bottom: 1px solid var(--bpc-shell-line);
  background: linear-gradient(135deg, #f9fbfd, #f1f7fe);
}
.bpc-repair-hub__eyebrow {
  display: block;
  margin-bottom: 4px;
  color: var(--bpc-shell-blue-deep);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.bpc-repair-hub__title {
  display: block;
  color: var(--bpc-shell-ink);
  font-size: 21px;
  line-height: 1.18;
  font-weight: 790;
  letter-spacing: -.025em;
}
.bpc-repair-hub__header p {
  margin: 5px 0 0;
  color: var(--bpc-shell-muted);
  font-size: 12px;
  line-height: 1.45;
}
.bpc-repair-hub__search {
  min-height: 58px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid #cddaea;
  border-radius: 15px;
  color: var(--bpc-shell-ink);
  background: #fff;
  text-align: left;
  box-shadow: 0 7px 20px rgba(19, 42, 69, .055);
}
.bpc-repair-hub__search:hover,
.bpc-repair-hub__search:focus-visible { border-color: #93bce8; box-shadow: 0 0 0 4px rgba(8, 120, 237, .09); }
.bpc-repair-hub__search > svg { color: var(--bpc-shell-blue); }
.bpc-repair-hub__search > span { display: grid; gap: 1px; }
.bpc-repair-hub__search strong { font-size: 12px; font-weight: 760; }
.bpc-repair-hub__search small { color: var(--bpc-shell-muted); font-size: 11.5px; }
.bpc-repair-hub__search kbd { padding: 4px 7px; border: 1px solid var(--bpc-shell-line); border-radius: 7px; background: var(--bpc-shell-soft); color: #718198; font: 650 10px/1 system-ui, sans-serif; }
.bpc-repair-hub__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 254px;
  gap: 0;
}
.bpc-repair-hub__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 18px;
}
.bpc-repair-hub__item {
  min-height: 72px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 15px;
  color: var(--bpc-shell-ink);
  background: #fff;
  text-decoration: none;
}
.bpc-repair-hub__item:hover,
.bpc-repair-hub__item:focus-visible { border-color: #c9dff5; background: #f5f9fe; box-shadow: 0 7px 20px rgba(19, 42, 69, .06); }
.bpc-repair-hub__item-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: var(--bpc-shell-blue-deep);
  background: #eaf4ff;
}
.bpc-repair-hub__item-copy { min-width: 0; display: grid; gap: 4px; }
.bpc-repair-hub__item-copy strong { font-size: 13px; font-weight: 760; line-height: 1.15; }
.bpc-repair-hub__item-copy small { overflow: hidden; color: var(--bpc-shell-muted); font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.bpc-repair-hub__arrow { color: #9aabbd; transition: transform .16s ease, color .16s ease; }
.bpc-repair-hub__item:hover .bpc-repair-hub__arrow { color: var(--bpc-shell-blue); transform: translateX(2px); }
.bpc-repair-hub__aside {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 20px;
  border-left: 1px solid var(--bpc-shell-line);
  background: #f8fafc;
}
.bpc-repair-hub__aside-label { margin: 0 0 2px; color: #75859a; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bpc-repair-hub__aside a {
  min-height: 66px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--bpc-shell-line);
  border-radius: 13px;
  color: var(--bpc-shell-ink);
  background: #fff;
  text-decoration: none;
}
.bpc-repair-hub__aside a:hover,
.bpc-repair-hub__aside a:focus-visible { border-color: #b8d6f5; }
.bpc-repair-hub__aside a > span:first-child { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; color: var(--bpc-shell-blue); background: #eaf4ff; }
.bpc-repair-hub__aside a > span:nth-child(2) { display: grid; gap: 3px; }
.bpc-repair-hub__aside strong { font-size: 12px; font-weight: 760; }
.bpc-repair-hub__aside small { color: var(--bpc-shell-muted); font-size: 11.5px; line-height: 1.35; }
.bpc-repair-hub__aside .bpc-repair-hub__all { min-height: 42px; grid-template-columns: minmax(0, 1fr) auto; margin-top: 3px; color: var(--bpc-shell-blue-deep); font-size: 11px; font-weight: 760; }
.bpc-repair-hub__aside .bpc-repair-hub__all > svg { color: currentColor; }

/* Small editorial submenus. */
#bresciapc-header.bpc-header-modern .header-nav-desktop .bpc-simple-submenu {
  left: 0;
  width: 260px;
  min-width: 260px;
  padding: 8px;
  transform: translateY(9px);
}
#bresciapc-header.bpc-header-modern .header-nav-desktop li:hover > .bpc-simple-submenu,
#bresciapc-header.bpc-header-modern .header-nav-desktop li:focus-within > .bpc-simple-submenu { transform: translateY(0); }
#bresciapc-header.bpc-header-modern .bpc-simple-submenu li a {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 11px;
  border-radius: 10px;
  color: var(--bpc-shell-ink);
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}
#bresciapc-header.bpc-header-modern .bpc-simple-submenu li a:hover,
#bresciapc-header.bpc-header-modern .bpc-simple-submenu li a:focus-visible { color: var(--bpc-shell-blue-deep); background: #eef6ff; }

/* Actions: one primary request, secondary status and Apple-like line icons. */
#bresciapc-header.bpc-header-modern .header-icons { flex: 0 0 auto; gap: 5px; }
#bresciapc-header.bpc-header-modern .header-icon {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--bpc-shell-ink);
  background: transparent;
}
#bresciapc-header.bpc-header-modern .header-icon:hover,
#bresciapc-header.bpc-header-modern .header-icon:focus-visible { border-color: var(--bpc-shell-line); color: var(--bpc-shell-blue-deep); background: var(--bpc-shell-soft); }
#bresciapc-header.bpc-header-modern .bpc-header-status-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid #cbdff3;
  border-radius: 13px;
  color: #164b7c;
  background: linear-gradient(180deg, #f9fcff, #edf6ff);
  box-shadow: 0 5px 15px rgba(21, 77, 126, .06);
  font-size: 12px;
  font-weight: 740;
  text-decoration: none;
  white-space: nowrap;
}
#bresciapc-header.bpc-header-modern .bpc-header-status-link:hover,
#bresciapc-header.bpc-header-modern .bpc-header-status-link:focus-visible { border-color: #8bbcea; color: var(--bpc-shell-blue-deep); background: #e6f3ff; transform: translateY(-1px); }
#bresciapc-header.bpc-header-modern .bpc-header-status-link__icon { display: inline-flex; color: var(--bpc-shell-blue); }
#bresciapc-header.bpc-header-modern .bpc-header-cta {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 0 3px;
  padding: 0 15px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, #1282f2, #0064d2);
  box-shadow: 0 9px 22px rgba(0, 105, 215, .22);
  font-size: 11px;
  font-weight: 770;
  text-decoration: none;
  white-space: nowrap;
}
#bresciapc-header.bpc-header-modern .bpc-header-cta:hover,
#bresciapc-header.bpc-header-modern .bpc-header-cta:focus-visible { color: #fff; background: linear-gradient(135deg, #0876e8, #0057ba); transform: translateY(-1px); }
#bresciapc-header.bpc-header-modern .bpc-header-cta__mobile-label { display: none; }
#bresciapc-header.bpc-header-modern .hamburger-icon { gap: 8px; width: auto; min-width: 74px; padding: 0 12px 0 10px; }
#bresciapc-header.bpc-header-modern .hamburger-apple > span:not(.bpc-hamburger-label) { left: 11px; width: 17px; }
#bresciapc-header.bpc-header-modern .hamburger-apple .line-top { top: 15px; }
#bresciapc-header.bpc-header-modern .hamburger-apple .line-bottom { top: 23px; }
#bresciapc-header.bpc-header-modern .bpc-hamburger-label { margin-left: 21px; color: var(--bpc-shell-ink); font-size: 11px; font-weight: 730; }

/* Mobile/tablet drawer: one compact hierarchy, with no duplicate legacy menu. */
#bresciapc-mobile-menu .mobile-menu-overlay { background: rgba(9, 24, 43, .48); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
#bresciapc-mobile-menu .mobile-menu-content { width: min(420px, 100%); max-width: 420px; border: 0; border-radius: 0 26px 26px 0; background: #f5f7fa; box-shadow: 28px 0 90px rgba(8, 25, 45, .23); }
#bresciapc-mobile-menu .mobile-menu-header { min-height: auto; padding: 18px 18px 15px; border-bottom: 1px solid var(--bpc-shell-line); background: rgba(255, 255, 255, .98); align-items: flex-start; }
#bresciapc-mobile-menu .mobile-menu-heading { display: grid; gap: 3px; }
#bresciapc-mobile-menu .bpc-mobile-menu-kicker { color: var(--bpc-shell-blue-deep); font-size: 11px; font-weight: 820; letter-spacing: .12em; text-transform: uppercase; }
#bresciapc-mobile-menu .mobile-menu-title { margin: 0; padding: 0; color: var(--bpc-shell-ink); font-size: 23px; line-height: 1.16; font-weight: 790; letter-spacing: -.027em; }
#bresciapc-mobile-menu .mobile-menu-heading > span:last-child { color: var(--bpc-shell-muted); font-size: 12.5px; font-weight: 620; }
#bresciapc-mobile-menu .dialog-close-button { flex: 0 0 44px; width: 44px; height: 44px; margin: 0; border: 1px solid var(--bpc-shell-line); border-radius: 12px; background: #fff; }
#bresciapc-mobile-menu .mobile-menu-scrollable-content { padding: 14px 0 calc(24px + env(safe-area-inset-bottom)); }
#bresciapc-mobile-menu .bpc-mobile-search-trigger { width: calc(100% - 28px); min-height: 54px; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 9px; margin: 0 14px 10px; padding: 8px 12px; border: 1px solid #bcd2e9; border-radius: 15px; color: var(--bpc-shell-ink); background: #fff; text-align: left; box-shadow: 0 8px 24px rgba(19, 42, 69, .055); }
#bresciapc-mobile-menu .bpc-mobile-search-trigger > svg { color: var(--bpc-shell-blue); }
#bresciapc-mobile-menu .bpc-mobile-search-trigger > span:nth-child(2) { display: grid; gap: 2px; }
#bresciapc-mobile-menu .bpc-mobile-search-trigger strong { font-size: 14px; font-weight: 760; }
#bresciapc-mobile-menu .bpc-mobile-search-trigger small { overflow: hidden; color: var(--bpc-shell-muted); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
#bresciapc-mobile-menu .bpc-mobile-service-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 14px 15px; }
#bresciapc-mobile-menu .bpc-mobile-service-action { min-height: 98px; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-content: center; align-items: center; gap: 9px; padding: 12px; border: 1px solid #cddff2; border-radius: 16px; color: var(--bpc-shell-ink); background: linear-gradient(145deg, #fff, #eef6ff); text-decoration: none; }
#bresciapc-mobile-menu .bpc-mobile-service-action--ship { border-color: #c8e6dc; background: linear-gradient(145deg, #fff, #eefaf6); }
#bresciapc-mobile-menu .bpc-mobile-service-action__icon { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; color: var(--bpc-shell-blue); background: #e1efff; }
#bresciapc-mobile-menu .bpc-mobile-service-action--ship .bpc-mobile-service-action__icon { color: #12835c; background: #e0f5ed; }
#bresciapc-mobile-menu .bpc-mobile-service-action__copy { min-width: 0; display: grid; gap: 3px; }
#bresciapc-mobile-menu .bpc-mobile-service-action__copy strong { font-size: 13.5px; line-height: 1.22; font-weight: 770; }
#bresciapc-mobile-menu .bpc-mobile-service-action__copy small { color: var(--bpc-shell-muted); font-size: 11px; line-height: 1.35; font-weight: 560; }
#bresciapc-mobile-menu .bpc-mobile-service-action > span:last-child { display: none; }
#bresciapc-mobile-menu .bpc-mobile-menu-section-label { padding: 0 16px; color: #65758a; font-size: 11px; font-weight: 820; letter-spacing: .105em; text-transform: uppercase; }
#bresciapc-mobile-menu .bpc-mobile-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 8px 14px; }
#bresciapc-mobile-menu .bpc-mobile-catalog__item { min-height: 84px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 8px 5px; border: 1px solid var(--bpc-shell-line); border-radius: 14px; color: var(--bpc-shell-ink); background: #fff; text-align: center; text-decoration: none; }
#bresciapc-mobile-menu .bpc-mobile-catalog__item > span { display: inline-flex; color: var(--bpc-shell-blue-deep); }
#bresciapc-mobile-menu .bpc-mobile-catalog__item strong { max-width: 100%; overflow: visible; font-size: 12.5px; font-weight: 730; line-height: 1.22; white-space: normal; }
#bresciapc-mobile-menu .bpc-mobile-catalog__all { min-height: 48px; display: flex; align-items: center; justify-content: space-between; margin: 0 14px; padding: 0 13px; border: 1px solid #c9dff5; border-radius: 13px; color: var(--bpc-shell-blue-deep); background: #edf6ff; font-size: 13px; font-weight: 760; text-decoration: none; }
#bresciapc-mobile-menu .bpc-mobile-menu-section-label--quick { margin-top: 17px; }
#bresciapc-mobile-menu .bpc-mobile-quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 8px 14px 0; }
#bresciapc-mobile-menu .bpc-mobile-quick-grid a { min-height: 54px; display: flex; align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid var(--bpc-shell-line); border-radius: 13px; color: var(--bpc-shell-ink); background: #fff; text-decoration: none; }
#bresciapc-mobile-menu .bpc-mobile-quick-grid a > span { display: inline-flex; color: var(--bpc-shell-blue); }
#bresciapc-mobile-menu .bpc-mobile-quick-grid strong { overflow: visible; font-size: 13px; line-height: 1.22; font-weight: 710; white-space: normal; }
#bresciapc-mobile-menu .bpc-mobile-menu-section-label--editorial { margin-top: 18px; }
#bresciapc-mobile-menu .bpc-mobile-editorial { margin: 7px 14px 0; border: 1px solid var(--bpc-shell-line); border-radius: 13px; background: #fff; overflow: hidden; }
#bresciapc-mobile-menu .bpc-mobile-editorial__group + .bpc-mobile-editorial__group { border-top: 1px solid #edf1f5; }
#bresciapc-mobile-menu .bpc-mobile-editorial a { color: var(--bpc-shell-ink); text-decoration: none; }
#bresciapc-mobile-menu .bpc-mobile-editorial__parent { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 12px; font-size: 13.5px; font-weight: 700; }
#bresciapc-mobile-menu .bpc-mobile-editorial__parent[aria-current="page"],
#bresciapc-mobile-menu .bpc-mobile-editorial__children a[aria-current="page"] { color: var(--bpc-shell-blue-deep); background: #edf6ff; }
#bresciapc-mobile-menu .bpc-mobile-editorial__children { display: grid; border-top: 1px solid #edf1f5; background: #f7f9fc; }
#bresciapc-mobile-menu .bpc-mobile-editorial__children a { min-height: 48px; display: flex; align-items: center; padding: 0 18px 0 24px; border-top: 1px solid #edf1f5; color: #506176; font-size: 12.5px; line-height: 1.35; font-weight: 640; }
#bresciapc-mobile-menu .bpc-mobile-editorial__children a:first-child { border-top: 0; }
#bresciapc-mobile-menu .bpc-mobile-editorial svg { flex: 0 0 auto; color: #94a4b7; }
#bresciapc-mobile-menu .bpc-mobile-editorial a:hover,
#bresciapc-mobile-menu .bpc-mobile-editorial a:focus-visible { background: #f2f7fc; outline: none; }
#bresciapc-mobile-menu .bpc-mobile-logout { min-height: 48px; display: flex; align-items: center; gap: 9px; margin: 13px 14px 0; padding: 0 11px; border-top: 1px solid var(--bpc-shell-line); color: #52647a; font-size: 13px; font-weight: 690; text-decoration: none; }

/* Theme selector inside the drawer: reachable on touch devices and at least 44px high. */
#bresciapc-mobile-menu .bpc-mobile-theme-toggle {
  width: calc(100% - 28px);
  min-height: 52px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 0 14px 10px;
  padding: 7px 11px;
  border: 1px solid var(--bpc-shell-line);
  border-radius: 14px;
  color: var(--bpc-shell-ink);
  background: #fff;
  text-align: left;
  cursor: pointer;
}
#bresciapc-mobile-menu .bpc-mobile-theme-toggle:hover,
#bresciapc-mobile-menu .bpc-mobile-theme-toggle:focus-visible {
  border-color: #9fc6ed;
  background: #f4f9ff;
  box-shadow: 0 0 0 4px rgba(8, 120, 237, .09);
}
#bresciapc-mobile-menu .bpc-mobile-theme-toggle__icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  color: var(--bpc-shell-blue-deep);
  background: #eaf4ff;
}
#bresciapc-mobile-menu .bpc-mobile-theme-toggle__copy { min-width: 0; display: grid; gap: 2px; }
#bresciapc-mobile-menu .bpc-mobile-theme-toggle__copy strong { font-size: 13px; font-weight: 760; }
#bresciapc-mobile-menu .bpc-mobile-theme-toggle__copy small { color: var(--bpc-shell-muted); font-size: 11.5px; }
#bresciapc-mobile-menu .bpc-mobile-theme-toggle__state {
  min-width: 48px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #40546c;
  background: #eef3f8;
  font-size: 11px;
  font-weight: 780;
  text-align: center;
}

/* Release accessibility polish: comfortable hit targets without enlarging the visual shell. */
#bresciapc-header.bpc-header-modern .header-nav-desktop li.menu-item > a,
#bresciapc-header.bpc-header-modern .header-icon,
#bresciapc-header.bpc-header-modern .bpc-header-status-link,
#bresciapc-header.bpc-header-modern .bpc-header-cta { min-height: 44px; }
#bresciapc-header.bpc-header-modern .header-icon { width: 44px; min-width: 44px; height: 44px; }
#bresciapc-header.bpc-header-modern .bpc-header-utility__featured { min-height: 24px; display: inline-flex; align-items: center; }
#bresciapc-mobile-menu .dialog-close-button,
#bresciapc-search-dialog .dialog-close-button { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
#bresciapc-search-dialog .chip { min-height: 36px; padding-inline: 12px; }
@media (max-width: 767.98px) {
  #bresciapc-header.bpc-header-modern .bpc-header-cta { min-height: 44px; }
  #bresciapc-header.bpc-header-modern .hamburger-icon { width: 44px; min-width: 44px; height: 44px; }
  #bresciapc-search-dialog .dialog-close-button { width: 44px; height: 44px; }
}

/* Compact, interactive search sheet. Legacy header.css remains structural only. */
#bresciapc-search-dialog .search-dialog-overlay { background: rgba(8, 23, 42, .42); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
#bresciapc-search-dialog .search-dialog-content { box-sizing: border-box; width: min(720px, calc(100% - 32px)); min-width: 0; max-width: 720px; height: auto; min-height: 0; max-height: min(650px, calc(100% - 32px)); flex: 0 1 auto; align-self: flex-start; margin: 16px auto auto; padding: 22px; overflow-y: auto; border: 1px solid rgba(207, 220, 234, .95); border-radius: 24px; background: rgba(255, 255, 255, .99); box-shadow: 0 34px 100px rgba(9, 28, 51, .26); }
#bresciapc-search-dialog .dialog-close-button { top: 14px; right: 14px; width: 44px; height: 44px; border: 1px solid var(--bpc-shell-line); border-radius: 12px; background: #f6f8fb; }
#bresciapc-search-dialog .bpc-search-head { padding-right: 42px; }
#bresciapc-search-dialog .bpc-search-head__title { margin: 0; color: var(--bpc-shell-ink); font-size: 22px; line-height: 1.15; font-weight: 790; letter-spacing: -.025em; }
#bresciapc-search-dialog .bpc-search-head__sub { margin: 5px 0 0; color: var(--bpc-shell-muted); font-size: 11.5px; line-height: 1.45; }
#bresciapc-search-dialog .search-form-container { min-height: 54px; margin: 16px 0 12px; padding: 0 15px; border: 1px solid #b9cee5; border-radius: 15px; background: #fff; box-shadow: 0 8px 22px rgba(19, 42, 69, .055); }
#bresciapc-search-dialog .search-form-container:focus-within { border-color: #78afe9; box-shadow: 0 0 0 4px rgba(8, 120, 237, .1); }
#bresciapc-search-dialog .search-icon-inline { width: 19px; height: 19px; color: var(--bpc-shell-blue); }
#bresciapc-search-dialog .search-dialog-input { height: 52px; padding: 0 8px; border: 0; color: var(--bpc-shell-ink); background: transparent; font-size: 14px; box-shadow: none; }
#bresciapc-search-dialog .bpc-search-idle[hidden],
#bresciapc-search-dialog .bpc-search-no-results[hidden] { display: none !important; }
#bresciapc-search-dialog .bpc-search-suggestions { margin: 0 0 12px; }
#bresciapc-search-dialog .chips { display: flex; flex-wrap: wrap; gap: 6px; }
#bresciapc-search-dialog .chip { min-height: 40px; display: inline-flex; align-items: center; padding: 0 10px; border: 1px solid #d5e1ee; border-radius: 999px; color: #3f536b; background: #f8fafc; font-size: 11px; font-weight: 690; text-decoration: none; }
#bresciapc-search-dialog .chip:hover,
#bresciapc-search-dialog .chip:focus-visible { border-color: #a7cbed; color: var(--bpc-shell-blue-deep); background: #edf6ff; }
#bresciapc-search-dialog .bpc-search-browse__label { display: block; margin-bottom: 7px; color: #718198; font-size: 10.5px; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }
#bresciapc-search-dialog .bpc-search-browse__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
#bresciapc-search-dialog .bpc-search-browse__item { min-height: 49px; display: grid; grid-template-columns: 31px minmax(0, 1fr) 14px; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--bpc-shell-line); border-radius: 12px; color: var(--bpc-shell-ink); background: #fff; text-decoration: none; }
#bresciapc-search-dialog .bpc-search-browse__item:hover,
#bresciapc-search-dialog .bpc-search-browse__item:focus-visible { border-color: #b9d6f2; background: #f5f9fe; }
#bresciapc-search-dialog .bpc-search-browse__thumb { width: 31px; height: 31px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: var(--bpc-shell-blue-deep); background: #eaf4ff; }
#bresciapc-search-dialog .bpc-search-browse__copy strong { overflow: hidden; display: block; font-size: 11.5px; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
#bresciapc-search-dialog .bpc-search-browse__arrow { display: inline-flex; color: #9aabbd; }
#bresciapc-search-dialog .bpc-search-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 11px; }
#bresciapc-search-dialog .bpc-search-paths a { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #d6e2ee; border-radius: 11px; color: #40546c; background: #f8fafc; font-size: 11.5px; font-weight: 710; text-decoration: none; }
#bresciapc-search-dialog .bpc-search-paths svg { color: var(--bpc-shell-blue); }
#bresciapc-search-dialog .search-results-container { margin: 0; overflow: visible; }
#bresciapc-search-dialog .search-results { display: grid; gap: 6px; }
#bresciapc-search-dialog .result-item { min-height: 58px; display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid var(--bpc-shell-line); border-radius: 12px; color: var(--bpc-shell-ink); background: #fff; text-decoration: none; }
#bresciapc-search-dialog .result-item:hover,
#bresciapc-search-dialog .result-item:focus-visible { border-color: #b3d3f2; background: #f4f9ff; }
#bresciapc-search-dialog .result-image { width: 40px; height: 40px; border-radius: 9px; object-fit: cover; background: #f0f4f8; }
#bresciapc-search-dialog .result-item__copy { min-width: 0; display: grid; gap: 3px; }
#bresciapc-search-dialog .result-title { overflow: hidden; color: var(--bpc-shell-ink); font-size: 13px; line-height: 1.3; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
#bresciapc-search-dialog .result-arrow { color: #8da0b5; font-size: 22px; line-height: 1; }
#bresciapc-search-dialog .bpc-search-no-results { min-height: 74px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #d9e4ef; border-radius: 14px; background: #f8fafc; }
#bresciapc-search-dialog .bpc-search-no-results > span { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; color: var(--bpc-shell-blue); background: #e8f3ff; }
#bresciapc-search-dialog .bpc-search-no-results strong { font-size: 11px; color: var(--bpc-shell-ink); }
#bresciapc-search-dialog .bpc-search-no-results p { margin: 2px 0 0; color: var(--bpc-shell-muted); font-size: 11.5px; line-height: 1.35; }
#bresciapc-search-dialog .bpc-search-no-results > a { min-height: 42px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: 10px; color: #fff; background: #16845d; font-size: 11.5px; font-weight: 730; text-decoration: none; }

@media (max-width: 1320px) {
  #bresciapc-header.bpc-header-modern .bpc-header-status-link span:last-child { display: none; }
  #bresciapc-header.bpc-header-modern .bpc-header-status-link { width: 40px; min-width: 40px; justify-content: center; padding: 0; }
}
@media (min-width: 1161px) {
  #bresciapc-header.bpc-header-modern .hamburger-icon { display: none !important; }
}
@media (max-width: 1160px) {
  #bresciapc-header.bpc-header-modern .header-nav-desktop { display: none !important; }
  #bresciapc-header.bpc-header-modern .hamburger-icon { display: inline-flex !important; }
  #bresciapc-header.bpc-header-modern .header-container { min-height: 68px; height: 68px; }
  #bresciapc-header.bpc-header-modern.scrolled .header-container,
  body.scrolled #bresciapc-header.bpc-header-modern .header-container { min-height: 60px; height: 60px; }
  #bresciapc-header.bpc-header-modern .header-logo { flex: 1 1 auto; width: auto; }
}
@media (max-width: 767.98px) {
  body.admin-bar #bresciapc-header.bpc-header-modern.is-sticky { top: 0; }
  #bresciapc-header.bpc-header-modern .bpc-header-utility { display: none; }
  #bresciapc-header.bpc-header-modern .header-container { width: min(100% - 24px, 1380px); min-height: 62px; height: 62px; gap: 4px; }
  #bresciapc-header.bpc-header-modern.scrolled .header-container,
  body.scrolled #bresciapc-header.bpc-header-modern .header-container { min-height: 56px; height: 56px; }
  #bresciapc-header.bpc-header-modern .header-logo .header-logo__wordmark { width: 132px !important; max-width: 132px !important; }
  #bresciapc-header.bpc-header-modern .header-logo { min-width: 0; }
  #bresciapc-header.bpc-header-modern.scrolled .header-logo .header-logo__wordmark,
  body.scrolled #bresciapc-header.bpc-header-modern .header-logo .header-logo__wordmark { width: 124px !important; }
  #bresciapc-header.bpc-header-modern .header-icons { gap: 3px; }
  #bresciapc-header.bpc-header-modern .account-icon,
  #bresciapc-header.bpc-header-modern .bpc-header-status-link,
  #bresciapc-header.bpc-header-modern .bpc-theme-toggle { display: none !important; }
  #bresciapc-header.bpc-header-modern .search-icon { display: inline-flex !important; min-width: 44px; width: 44px; height: 44px; }
  #bresciapc-header.bpc-header-modern .bpc-header-cta { min-height: 44px; padding: 0 10px; border-radius: 11px; font-size: 11.5px; box-shadow: 0 6px 16px rgba(0, 105, 215, .18); }
  #bresciapc-header.bpc-header-modern .bpc-header-cta svg { display: none; }
  #bresciapc-header.bpc-header-modern .bpc-header-cta__desktop-label { display: none; }
  #bresciapc-header.bpc-header-modern .bpc-header-cta__mobile-label { display: inline; }
  #bresciapc-header.bpc-header-modern .hamburger-icon { min-width: 44px; width: 44px; height: 44px; padding: 0; }
  #bresciapc-header.bpc-header-modern .hamburger-apple > span:not(.bpc-hamburger-label) { left: 11px; }
  #bresciapc-header.bpc-header-modern .bpc-hamburger-label { display: none; }
  #bresciapc-mobile-menu .mobile-menu-content { border-radius: 0; }
  #bresciapc-search-dialog .search-dialog-content { width: calc(100% - 16px); height: auto; min-height: 0; max-height: calc(100% - 12px); margin: 8px auto 4px; padding: 17px 14px; border-radius: 20px; }
  #bresciapc-search-dialog .dialog-close-button { top: 10px; right: 10px; width: 44px; height: 44px; }
  #bresciapc-search-dialog .bpc-search-head { padding-right: 38px; }
  #bresciapc-search-dialog .bpc-search-head__title { font-size: 19px; }
  #bresciapc-search-dialog .bpc-search-head__sub { max-width: 90%; font-size: 11.5px; }
  #bresciapc-search-dialog .search-form-container { min-height: 50px; margin: 13px 0 10px; }
  #bresciapc-search-dialog .search-dialog-input { height: 48px; font-size: 13px; }
  #bresciapc-search-dialog .bpc-search-browse__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #bresciapc-search-dialog .bpc-search-browse__item { min-height: 46px; }
  #bresciapc-search-dialog .bpc-search-paths a { min-height: 42px; }
  #bresciapc-search-dialog .bpc-search-no-results { grid-template-columns: 32px minmax(0, 1fr); }
  #bresciapc-search-dialog .bpc-search-no-results > a { grid-column: 1 / -1; justify-content: center; }
}
@media (max-width: 390px) {
  #bresciapc-header.bpc-header-modern .header-logo .header-logo__wordmark { width: 108px !important; max-width: 108px !important; }
  #bresciapc-header.bpc-header-modern.scrolled .header-logo .header-logo__wordmark,
  body.scrolled #bresciapc-header.bpc-header-modern .header-logo .header-logo__wordmark { width: 104px !important; }
  #bresciapc-header.bpc-header-modern .bpc-header-cta { padding-inline: 8px; }
  #bresciapc-mobile-menu .bpc-mobile-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  #bresciapc-header.bpc-header-modern *,
  #bresciapc-mobile-menu * { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; }
}
