/* BresciaPC service footer - authoritative presentation layer. */
.bpc-footer.bpc-footer--modern {
  --bpc-footer-bg: #0d2037;
  --bpc-footer-panel: #132b47;
  --bpc-footer-ink: #f7faff;
  --bpc-footer-muted: #aebed0;
  --bpc-footer-line: rgba(211, 229, 247, .14);
  margin: 0;
  padding: 34px 0 20px;
  border: 0;
  background: radial-gradient(circle at 88% 0, rgba(43, 116, 189, .18), transparent 34%), var(--bpc-footer-bg);
  color: var(--bpc-footer-muted);
  font-size: 13px;
}
.bpc-footer.bpc-footer--modern > .bpc-section { width: min(100% - 48px, 1280px); max-width: 1280px; margin: 0 auto; padding: 0; }

/* One calm final decision point, not a second hero. */
.bpc-footer.bpc-footer--modern .bpc-footer-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;
  margin: 0 0 44px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(142, 190, 239, .2);
  border-radius: 22px;
  background: linear-gradient(135deg, #173555, #102a47);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 20px 55px rgba(4, 15, 28, .2);
  color: var(--bpc-footer-ink);
}
.bpc-footer.bpc-footer--modern .bpc-footer-cta__eyebrow { color: #81bfff; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bpc-footer.bpc-footer--modern .bpc-footer-cta h2 { margin: 5px 0 0; color: #fff; font-size: clamp(22px, 2.5vw, 31px); line-height: 1.15; letter-spacing: -.03em; }
.bpc-footer.bpc-footer--modern .bpc-footer-cta p { max-width: 680px; margin: 7px 0 0; color: #b7c8da; font-size: 13px; line-height: 1.55; }
.bpc-footer.bpc-footer--modern .bpc-footer-cta__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.bpc-footer.bpc-footer--modern .bpc-footer-cta__button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 15px; border-radius: 12px; font-size: 12px; font-weight: 760; text-decoration: none; }
.bpc-footer.bpc-footer--modern .bpc-footer-cta__button--primary { border: 1px solid #1684f3; color: #fff; background: #0878ed; box-shadow: 0 8px 20px rgba(0, 106, 218, .22); }
.bpc-footer.bpc-footer--modern .bpc-footer-cta__button--primary:hover { color: #fff; background: #0069d8; }
.bpc-footer.bpc-footer--modern .bpc-footer-cta__button--secondary { border: 1px solid rgba(205, 224, 243, .22); color: #ecf5ff; background: rgba(255, 255, 255, .045); }
.bpc-footer.bpc-footer--modern .bpc-footer-cta__button--secondary:hover { color: #fff; background: rgba(255, 255, 255, .09); }

.bpc-footer.bpc-footer--modern .bpc-footer-grid {
  display: grid;
  grid-template-columns: minmax(300px, .92fr) minmax(0, 1.55fr);
  gap: clamp(48px, 7vw, 92px);
  align-items: start;
}
.bpc-footer.bpc-footer--modern .bpc-footer-brand { display: grid; gap: 13px; }
.bpc-footer.bpc-footer--modern .footer-logo a { display: inline-flex; min-height: 46px; align-items: center; }
.bpc-footer.bpc-footer--modern .footer-logo img { width: 176px; max-width: 176px; height: auto; margin: 0; opacity: 1; filter: brightness(0) invert(1); }
.bpc-footer.bpc-footer--modern .bpc-footer-brand-badge { width: fit-content; display: inline-flex; align-items: center; gap: 9px; margin: 0; padding: 7px 10px; border: 1px solid rgba(78, 213, 151, .22); border-radius: 999px; color: #dcfaec; background: rgba(78, 213, 151, .07); font-size: 12px; font-weight: 720; }
.bpc-footer.bpc-footer--modern .bpc-footer-brand-badge > span { width: 6px; height: 6px; border-radius: 50%; background: #52d99b; box-shadow: 0 0 0 4px rgba(82, 217, 155, .12); }
.bpc-footer.bpc-footer--modern .bpc-footer-brand-copy { max-width: 390px; margin: 0; color: var(--bpc-footer-muted); font-size: 12px; line-height: 1.65; }
.bpc-footer.bpc-footer--modern .footer-contact-info { display: grid; gap: 5px; margin: 2px 0 0; color: var(--bpc-footer-muted); font-style: normal; }
.bpc-footer.bpc-footer--modern .footer-contact-info p { margin: 0; color: var(--bpc-footer-muted); font-size: 12px; line-height: 1.5; }
.bpc-footer.bpc-footer--modern .footer-contact-info strong { color: #d9e5f2; font-weight: 680; }
.bpc-footer.bpc-footer--modern .footer-contact-info a { color: #f3f8ff; text-decoration: none; }
.bpc-footer.bpc-footer--modern a:hover { color: #85c4ff; }
.bpc-footer.bpc-footer--modern .bpc-footer-quick-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 4px; }
.bpc-footer.bpc-footer--modern .bpc-footer-quick-actions a { min-height: 42px; display: inline-flex; align-items: center; gap: 7px; padding: 0 11px; border: 1px solid var(--bpc-footer-line); border-radius: 11px; color: #e8f2fd; background: rgba(255, 255, 255, .035); font-size: 11.5px; font-weight: 720; text-decoration: none; }
.bpc-footer.bpc-footer--modern .bpc-footer-quick-actions a svg { color: #75b9ff; }
.bpc-footer.bpc-footer--modern .bpc-footer-quick-actions a:hover { border-color: rgba(127, 192, 255, .4); color: #fff; background: rgba(127, 192, 255, .08); }
.bpc-footer.bpc-footer--modern .footer-socials { display: flex; gap: 7px; margin: 1px 0 0; }
.bpc-footer.bpc-footer--modern .footer-socials a { width: 42px; min-width: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--bpc-footer-line); border-radius: 11px; color: #e9f2fc; background: rgba(255, 255, 255, .035); }

/* Three curated menu columns; service catalogue remains in the guided header. */
.bpc-footer.bpc-footer--modern .bpc-footer-links-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 48px); }
.bpc-footer.bpc-footer--modern .footer-col-title { width: 100%; margin: 0 0 15px; padding: 0; border: 0; color: #fff; background: none; font-size: 12px; font-weight: 780; letter-spacing: .015em; text-align: left; }
.bpc-footer.bpc-footer--modern .footer-menu { margin: 0; padding: 0; list-style: none; }
.bpc-footer.bpc-footer--modern .footer-menu li { margin: 0 0 9px; }
.bpc-footer.bpc-footer--modern .footer-menu a { color: var(--bpc-footer-muted); font-size: 12px; line-height: 1.45; text-decoration: none; }
.bpc-footer.bpc-footer--modern .footer-menu a:hover { color: #fff; }

.bpc-footer.bpc-footer--modern .bpc-footer-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; margin-top: 38px; padding-top: 20px; border-top: 1px solid var(--bpc-footer-line); }
.bpc-footer.bpc-footer--modern .footer-legal,
.bpc-footer.bpc-footer--modern .copyright { color: #879db4; font-size: 12px; line-height: 1.6; }
.bpc-footer.bpc-footer--modern .copyright { margin: 0 0 7px; }
.bpc-footer.bpc-footer--modern .footer-site-url { color: #bfcedd; }
.bpc-footer.bpc-footer--modern .legal-nav { margin: 0; }
.bpc-footer.bpc-footer--modern .legal-menu { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; padding: 0; list-style: none; }
.bpc-footer.bpc-footer--modern .legal-menu a,
.bpc-footer.bpc-footer--modern .bpc-legal-link-button { padding: 0; border: 0; color: #aebed0; background: transparent; font: inherit; font-size: 12px; text-decoration: none; }
.bpc-footer.bpc-footer--modern .bpc-footer-trust { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 14px; border: 0; color: #d6e3f0; }
.bpc-footer.bpc-footer--modern .bpc-footer-trust__item { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; white-space: nowrap; }
.bpc-footer.bpc-footer--modern .footer-credits { grid-column: 2; }
.bpc-footer.bpc-footer--modern .bpc-payment-badges { display: flex; justify-content: flex-end; gap: 5px; margin-top: 9px; opacity: .88; }
.bpc-footer.bpc-footer--modern .bpc-footer-disclosure { margin: 15px 0 0; padding-top: 14px; border-top: 1px solid var(--bpc-footer-line); color: #71879f; font-size: 11px; line-height: 1.55; }

@media (max-width: 991.98px) {
  .bpc-footer.bpc-footer--modern .bpc-footer-cta { grid-template-columns: 1fr; }
  .bpc-footer.bpc-footer--modern .bpc-footer-cta__actions { justify-content: flex-start; }
  .bpc-footer.bpc-footer--modern .bpc-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-brand { max-width: 660px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-links-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .bpc-footer.bpc-footer--modern { padding: 24px 0 calc(16px + env(safe-area-inset-bottom)); text-align: left; }
  .bpc-footer.bpc-footer--modern > .bpc-section { width: min(100% - 30px, 1280px); }
  .bpc-footer.bpc-footer--modern .bpc-footer-cta { gap: 18px; margin-bottom: 32px; padding: 21px; border-radius: 18px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-cta h2 { font-size: 23px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-cta__actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .bpc-footer.bpc-footer--modern .bpc-footer-cta__button { padding-inline: 10px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-grid { gap: 22px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-brand { margin: 0; padding: 0 0 24px; border-bottom: 1px solid var(--bpc-footer-line); }
  .bpc-footer.bpc-footer--modern .footer-logo img { width: 160px; max-width: 160px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-links-wrapper { display: block; }
  .bpc-footer.bpc-footer--modern .footer-col { border-bottom: 1px solid var(--bpc-footer-line); }
  .bpc-footer.bpc-footer--modern.footer-accordion-ready .footer-col-toggle { position: relative; min-height: 52px; display: flex; align-items: center; margin: 0; padding: 0 34px 0 0; color: #fff; }
  .bpc-footer.bpc-footer--modern.footer-accordion-ready .footer-col-toggle::after { content: "+"; position: absolute; right: 4px; color: #83bff8; font-size: 20px; font-weight: 400; }
  .bpc-footer.bpc-footer--modern.footer-accordion-ready .footer-col.open .footer-col-toggle::after { content: "−"; }
  .bpc-footer.bpc-footer--modern .footer-menu { padding: 0 0 15px; }
  .bpc-footer.bpc-footer--modern .footer-menu li { margin-bottom: 10px; }
  .bpc-footer.bpc-footer--modern .footer-menu a { font-size: 11.5px; }
  .bpc-footer.bpc-footer--modern .bpc-footer-bottom { grid-template-columns: 1fr; align-items: start; margin-top: 28px; }
  .bpc-footer.bpc-footer--modern .footer-credits { grid-column: 1; }
  .bpc-footer.bpc-footer--modern .bpc-footer-trust,
  .bpc-footer.bpc-footer--modern .bpc-payment-badges { justify-content: flex-start; }
}
@media (max-width: 390px) {
  .bpc-footer.bpc-footer--modern .bpc-footer-cta__actions { grid-template-columns: 1fr; }
}

/* Legal reassurance: a single, readable source for warranty scope. */
.bpc-footer.bpc-footer--modern .bpc-footer-warranty-note {
  margin: 18px 0 0;
  padding: 14px 16px;
  border: 1px solid rgba(133, 196, 255, .18);
  border-radius: 14px;
  color: #aebed0;
  background: rgba(11, 32, 54, .64);
  font-size: 12px;
  line-height: 1.65;
}
.bpc-footer.bpc-footer--modern .bpc-footer-warranty-note a {
  color: #dcecff;
  font-weight: 720;
  text-underline-offset: 3px;
}
.bpc-footer.bpc-footer--modern .bpc-legal-links:empty,
.bpc-footer.bpc-footer--modern .bpc-legal-links__list:empty { display: none; }
.bpc-footer.bpc-footer--modern .footer-legal .legal-nav + .legal-nav { margin-top: 6px; }

@media (max-width: 767.98px) {
  .bpc-footer.bpc-footer--modern .bpc-footer-warranty-note {
    margin-top: 16px;
    padding: 13px 14px;
    font-size: 12px;
  }
}
