/*
 * BAOI 5.3.33.2 — Global Theme Shell & Design System Foundation
 * Presentation-only layer loaded after boai-suite-front.css.
 * No page-family markup is rewritten here; 5.3.33.3 will own template unification.
 */
body.baoi-design-v53332 {
  --baoi-ds-reading-max:1160px;
  --baoi-ds-hub-max:1360px;
  --baoi-ds-app-max:1480px;
  --baoi-ds-institutional-max:1040px;
  --baoi-ds-text-measure:78ch;
  --baoi-ds-page-pad:clamp(14px,2.5vw,40px);
  --baoi-ds-section-gap:clamp(28px,4vw,54px);
  --baoi-ds-card-radius:18px;
  --baoi-ds-control-radius:12px;
  --baoi-ds-border-soft:rgba(151,188,215,.18);
  --baoi-ds-focus:#53d8ff;
  --baoi-ds-shadow:0 16px 42px rgba(0,0,0,.12);
  --baoi-ds-h1:clamp(2.1rem,4.2vw,3.45rem);
  --baoi-ds-h1-hub:clamp(2rem,3.2vw,3rem);
  --baoi-ds-h1-app:clamp(1.9rem,3vw,2.75rem);
  --baoi-ds-h2:clamp(1.55rem,2.2vw,2rem);
  --baoi-ds-h3:clamp(1.2rem,1.6vw,1.45rem);
}

/* One outer page shell instead of generations of unrelated max-width values. */
body.baoi-design-v53332 .site-content > .ast-container,
body.baoi-design-v53332 #content > .ast-container {
  width:100%!important;
  max-width:none!important;
  padding-left:var(--baoi-ds-page-pad)!important;
  padding-right:var(--baoi-ds-page-pad)!important;
  box-sizing:border-box!important;
}
body.baoi-design-v53332 #primary,
body.baoi-design-v53332 .content-area,
body.baoi-design-v53332 .site-main,
body.baoi-design-v53332 article.page,
body.baoi-design-v53332 article.post,
body.baoi-design-v53332 .entry-content,
body.baoi-design-v53332 .wp-block-post-content {
  box-sizing:border-box!important;
}

body.baoi-design-v53332.baoi-shell-reading .site-main,
body.baoi-design-v53332.baoi-shell-reading article.page,
body.baoi-design-v53332.baoi-shell-reading article.post {
  width:min(100%,var(--baoi-ds-reading-max))!important;
  max-width:var(--baoi-ds-reading-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.baoi-design-v53332.baoi-shell-hub .site-main {
  width:min(100%,var(--baoi-ds-hub-max))!important;
  max-width:var(--baoi-ds-hub-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.baoi-design-v53332.baoi-shell-application .site-main {
  width:min(100%,var(--baoi-ds-app-max))!important;
  max-width:var(--baoi-ds-app-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.baoi-design-v53332.baoi-shell-institutional .site-main {
  width:min(100%,var(--baoi-ds-institutional-max))!important;
  max-width:var(--baoi-ds-institutional-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Existing BAOI app/hub roots now share predictable outer dimensions. */
body.baoi-design-v53332.baoi-shell-hub :where(
  .boai-home-v2,.boai-guides-app,.boai-hub,.boai-scripts-hub,.boai-pannes-app,
  .boai-errors-app,.boai-memo-app,.boai-ports-directory,.boai-favorites-app,
  .boai-software-app,.boai-center,.boai-event-app,.boai-comparisons-app
) {
  width:100%!important;
  max-width:var(--baoi-ds-hub-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.baoi-design-v53332.baoi-shell-application :where(
  .boai-tool-app,.boai-diag-app,.boai-dx,.boai-modeles,.boai-infra-app,
  .boai-cyber,.boai-wp-app,.boai-ssl-app,.boai-vlan-app,.boai-fgt-app,
  .boai-http-app,.boai-life,.boai-dns-app,.boai-quiz-app,.boai-mail-app,
  .boai-linux-app,.boai-ws-app,.boai-mon-app,.boai-net-app,.boai-vmw-app,
  .boai-vu-app,.boai-pra-app,.boai-calc-app,.boai-builder-app,.boai-tp
) {
  width:100%!important;
  max-width:var(--baoi-ds-app-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Readability hierarchy. Deliberately scoped by shell mode so tool engines keep their own UI typography. */
body.baoi-design-v53332.baoi-shell-reading h1 {
  font-size:var(--baoi-ds-h1)!important;
  line-height:1.04!important;
  letter-spacing:-.035em;
  text-wrap:balance;
  max-width:25ch;
}
body.baoi-design-v53332.baoi-shell-hub h1 {
  font-size:var(--baoi-ds-h1-hub)!important;
  line-height:1.08!important;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.baoi-design-v53332.baoi-shell-application h1 {
  font-size:var(--baoi-ds-h1-app)!important;
  line-height:1.1!important;
  letter-spacing:-.02em;
  text-wrap:balance;
}
body.baoi-design-v53332.baoi-shell-reading .entry-content {
  font-size:clamp(1rem,.96rem + .12vw,1.075rem);
  line-height:1.72;
}
body.baoi-design-v53332.baoi-shell-reading .entry-content h2 {
  font-size:var(--baoi-ds-h2);
  line-height:1.18;
  letter-spacing:-.018em;
  margin-top:clamp(2rem,4vw,3.2rem);
  margin-bottom:.8rem;
  scroll-margin-top:110px;
  text-wrap:balance;
}
body.baoi-design-v53332.baoi-shell-reading .entry-content h3 {
  font-size:var(--baoi-ds-h3);
  line-height:1.25;
  margin-top:1.8rem;
  margin-bottom:.65rem;
  scroll-margin-top:110px;
}
body.baoi-design-v53332.baoi-shell-reading .entry-content > :where(p,ul,ol,blockquote) {
  max-width:var(--baoi-ds-text-measure);
}
body.baoi-design-v53332.baoi-shell-reading .entry-content :where(p,li) {
  text-wrap:pretty;
}

/* Shared navigation/context blocks receive one rhythm without changing their HTML. */
body.baoi-design-v53332 :where(.boai-breadcrumbs,.baoi-breadcrumbs) {
  margin-top:clamp(14px,2vw,26px);
  margin-bottom:clamp(18px,2.6vw,32px);
  line-height:1.45;
}
body.baoi-design-v53332 :where(.boai-toc-toggle,.baoi-toc-toggle,.boai-topic-context,.boai-reading-time,.boai-fav-inline) {
  border-radius:var(--baoi-ds-control-radius);
}

/* Tables, code and details are frequent on procedures/guides: keep them readable and mobile-safe. */
body.baoi-design-v53332.baoi-shell-reading .entry-content table {
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border-collapse:separate;
  border-spacing:0;
  -webkit-overflow-scrolling:touch;
}
body.baoi-design-v53332.baoi-shell-reading .entry-content :where(pre,code,kbd,samp) {
  font-variant-ligatures:none;
}
body.baoi-design-v53332.baoi-shell-reading .entry-content pre {
  max-width:100%;
  overflow:auto;
  padding:clamp(14px,2vw,20px);
  border-radius:var(--baoi-ds-control-radius);
  line-height:1.55;
  tab-size:4;
}
body.baoi-design-v53332.baoi-shell-reading .entry-content details {
  border-radius:var(--baoi-ds-control-radius);
}
body.baoi-design-v53332.baoi-shell-reading .entry-content blockquote {
  margin-left:0;
  margin-right:0;
  padding-left:1.1rem;
  border-left:3px solid var(--baoi-ds-focus);
}

/* Common BAOI card geometry only; local modules retain their colors/content logic. */
body.baoi-design-v53332 :where(
  .boai-card,.boai-tools-card,.boai-hub-card,.boai-guide-card,.boai-proc-card,
  .boai-error-card,.boai-event-card,.boai-port-card,.boai-memo-card,.boai-diag-card,
  .boai-comparison-card,.boai-mail-card,.boai-vmw-card,.boai-fgt-card,.boai-audit-card,
  .boai-library-card
) {
  border-radius:var(--baoi-ds-card-radius)!important;
  box-sizing:border-box;
}

/* Consistent interaction feedback improves credibility and keyboard usability. */
body.baoi-design-v53332 :where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline:3px solid var(--baoi-ds-focus)!important;
  outline-offset:3px!important;
  box-shadow:none;
}
body.baoi-design-v53332 :where(button,input,select,textarea) {
  border-radius:var(--baoi-ds-control-radius);
}
body.baoi-design-v53332 img,
body.baoi-design-v53332 svg,
body.baoi-design-v53332 video,
body.baoi-design-v53332 canvas {
  max-width:100%;
}

@media (max-width: 1100px) {
  body.baoi-design-v53332 { --baoi-ds-page-pad:clamp(12px,2.2vw,28px); }
  body.baoi-design-v53332.baoi-shell-reading h1 { max-width:none; }
}

@media (max-width: 782px) {
  body.baoi-design-v53332 {
    --baoi-ds-page-pad:12px;
    --baoi-ds-card-radius:15px;
    --baoi-ds-control-radius:10px;
    --baoi-ds-h1:clamp(2rem,10vw,2.65rem);
    --baoi-ds-h1-hub:clamp(1.9rem,9vw,2.5rem);
    --baoi-ds-h1-app:clamp(1.8rem,8vw,2.35rem);
  }
  body.baoi-design-v53332 .site-content > .ast-container,
  body.baoi-design-v53332 #content > .ast-container {
    padding-left:var(--baoi-ds-page-pad)!important;
    padding-right:var(--baoi-ds-page-pad)!important;
  }
  body.baoi-design-v53332.baoi-shell-reading .entry-content {
    font-size:1rem;
    line-height:1.68;
  }
  body.baoi-design-v53332.baoi-shell-reading .entry-content h2 {
    margin-top:2rem;
  }
  body.baoi-design-v53332 :where(.boai-breadcrumbs,.baoi-breadcrumbs) {
    overflow-wrap:anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.baoi-design-v53332 *,
  body.baoi-design-v53332 *::before,
  body.baoi-design-v53332 *::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
