/* Applied Cybersecurity Library — v5.0 design system module. */
/* This file is generated from the validated v4.x styles to preserve visual behavior while reducing stylesheet requests. */

/* Source preserved: performance-v46.css */
/* Applied Cybersecurity Library — desempenho: renderização sob demanda de cartões extensos. */

@supports (content-visibility: auto) {
  #book-grid > .book-card {
    content-visibility: auto;
    contain-intrinsic-size: auto 44rem;
  }

  .bundle-card,
  .confidence-ribbon,
  .editorial-lines article {
    content-visibility: auto;
    contain-intrinsic-size: auto 22rem;
  }
}

.cover-pair img {
  image-rendering: auto;
}

@media (prefers-reduced-data: reduce) {
  #promo-video {
    preload: none;
  }
}

/* Source preserved: mobile-repair-v47.css */
/* Applied Cybersecurity Library — correção móvel: ocupa a largura disponível sem rolagem horizontal. */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body,
main,
section,
article,
header,
footer,
nav,
div {
  min-width: 0;
}

@media (max-width: 1180px) {
  .topbar,
  .hero,
  .editorial-lines,
  .catalogue,
  .distribution,
  footer,
  .library-levels,
  .author-identity,
  .commercial-panel,
  .confidence-ribbon,
  .guided-entry,
  .journey-commerce {
    width: 100%;
    max-width: 100%;
  }

  .topbar {
    padding: 18px 24px;
    flex-wrap: wrap;
  }

  .topbar nav {
    order: 3;
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
  }

  .hero {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    padding-top: 62px;
    padding-bottom: 54px;
  }

  .hero-architecture {
    min-height: 320px;
  }

  .line-grid,
  .levels-grid,
  .bundle-grid,
  .journey-commerce__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .line-grid article,
  .bundle-card {
    min-width: 0;
  }

  .library-levels__head,
  .confidence-ribbon,
  .author-identity,
  .guided-entry__panel,
  .journey-commerce__panel,
  .commercial-panel,
  .distribution {
    grid-template-columns: minmax(0, 1fr);
  }

  .book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalogue-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .filters,
  .filters--levels {
    justify-content: flex-start;
  }

  .commercial-panel {
    margin-inline: 24px;
    width: auto;
  }

  .bundle-grid,
  .payment-bar {
    margin-right: -24px;
    margin-left: -24px;
  }
}

@media (max-width: 640px) {
  .topbar,
  .hero,
  .editorial-lines,
  .catalogue,
  .distribution,
  footer,
  .library-levels {
    padding-right: 16px;
    padding-left: 16px;
  }

  .topbar {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .topbar nav {
    display: none;
  }

  .brand {
    max-width: 11rem;
  }

  .hero {
    padding-top: 48px;
    padding-bottom: 44px;
  }

  .hero h1 {
    font-size: clamp(2.55rem, 13vw, 3.75rem);
  }

  .hero-lede {
    font-size: 1.1rem;
  }

  .metrics {
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 38px;
  }

  .hero-architecture {
    min-height: 260px;
  }

  .line-grid,
  .levels-grid,
  .bundle-grid,
  .journey-commerce__cards,
  .book-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .commercial-panel {
    margin-inline: 16px;
    padding: 22px 16px;
  }

  .bundle-grid,
  .payment-bar {
    margin-right: -16px;
    margin-left: -16px;
  }

  .bundle-card {
    padding: 18px 16px;
  }

  .book-card .cover-pair {
    gap: 10px;
    padding: 14px 14px 0;
  }

  .edition-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .edition-buy {
    min-height: 43px;
    font-size: .72rem;
  }

  .confidence-ribbon,
  .author-identity {
    margin-inline: 0;
    border-right: 0;
    border-left: 0;
  }
}

/* v5.0 mobile navigation: a compact, keyboard-operable menu; no horizontal clipping is used as the layout fix. */
@media (max-width:760px){
  .topbar{display:grid;grid-template-columns:minmax(0,1fr) 2.65rem auto 2.65rem;align-items:center;gap:.5rem;padding-block:.7rem}
  .topbar .brand{grid-column:1;min-width:0}
  .topbar .nav-toggle{display:inline-flex;grid-column:2}
  .topbar .language-menu{grid-column:3;min-width:0}
  .topbar .theme-toggle{grid-column:4}
  .topbar .currency-control{grid-column:2/-1;grid-row:2;justify-self:end;margin:0}
  .topbar .currency-status{display:none}
  .topbar nav#primary-nav{display:none;grid-column:1/-1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;width:100%;padding:.75rem 0 .1rem;border-top:1px solid rgba(116,204,225,.18)}
  .topbar nav#primary-nav.is-open{display:grid}
  .topbar nav#primary-nav a{display:flex;min-height:2.8rem;align-items:center;padding:.55rem .65rem;border:1px solid rgba(116,204,225,.16);font-size:.72rem;line-height:1.15}
}
@media (max-width:360px){
  .topbar{grid-template-columns:minmax(0,1fr) 2.35rem auto 2.35rem;gap:.35rem}
  .topbar .nav-toggle,.topbar .theme-toggle{width:2.35rem;height:2.2rem}
  .topbar .language-menu button{min-width:1.75rem;padding-inline:.34rem}
}
@media (max-width:520px){.not-found__panel{padding:1.5rem}.not-found h1{font-size:2.5rem}}
