/* V251 — Configuração geral: tipografia, navegação, componentes e acessibilidade.
   Regra de segurança: no padrão Prime atual, a camada não sobrescreve medidas legadas;
   somente controles efetivamente alterados pelo administrador recebem classes *-custom. */

/* Tipografia — famílias e métricas só entram quando personalizadas. */
body.ui-system-v251.ui251-font-body-custom,
body.ui-system-v251.ui251-font-body-custom button,
body.ui-system-v251.ui251-font-body-custom input,
body.ui-system-v251.ui251-font-body-custom select,
body.ui-system-v251.ui251-font-body-custom textarea{font-family:var(--ui251-font-body)!important}
body.ui-system-v251.ui251-font-heading-custom :is(h1,h2,h3,h4,h5,h6){font-family:var(--ui251-font-heading)!important}
body.ui-system-v251.ui251-body-weight-custom{font-weight:var(--ui251-body-weight)!important}
body.ui-system-v251.ui251-line-height-custom{line-height:var(--ui251-line-height)!important}
body.ui-system-v251.ui251-tracking-custom{letter-spacing:var(--ui251-tracking)!important}
body.ui-system-v251.ui251-base-scale-custom{font-size:calc(100% * var(--ui251-base-scale))!important}
body.ui-system-v251.ui251-heading-weight-custom :is(h1,h2,h3,h4,h5,h6){font-weight:var(--ui251-heading-weight)!important}
body.ui-system-v251.ui251-heading-scale-custom :is(.page-heading h1,.admin-head h1,.compact-page-hero h1){font-size:clamp(var(--ui251-page-h1-min),var(--ui251-page-h1-vw),var(--ui251-page-h1-max))!important}
body.ui-system-v251.ui251-heading-scale-custom :is(.section-head h2,.storefront-heading h2){font-size:clamp(var(--ui251-section-h2-min),var(--ui251-section-h2-vw),var(--ui251-section-h2-max))!important}
body.ui-system-v251.ui251-heading-scale-custom :is(.panel-head h2,.block-heading h2,.block-heading h3){font-size:clamp(var(--ui251-panel-h2-min),var(--ui251-panel-h2-vw),var(--ui251-panel-h2-max))!important}
body.ui-system-v251.ui251-nav-font-custom :is(.prime-nav a,.public-nav a,.uv198-primary-nav>a,.admin-context-inner a,.admin-tabs a){font-size:var(--ui251-nav-font)!important}
body.ui-system-v251.ui251-button-font-custom :is(button,.primary-btn,.secondary-btn,.danger-btn,.prime-light-btn,.public-login,.public-signup,.preview-action,.text-btn){font-size:var(--ui251-button-font)!important}
body.ui-system-v251.ui251-form-font-custom :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,label){font-size:var(--ui251-form-font)!important}
body.ui-system-v251.ui251-meta-font-custom :is(small,.muted,.table-subtle,.section-label,.eyebrow,.meta,.metadata){font-size:var(--ui251-meta-font)!important}

/* Cabeçalho e navegação — cada controle é independente. */
body.ui-system-v251.ui251-header-height-custom :is(.prime-header,.public-header){height:var(--ui251-header-h)!important}
body.ui-system-v251.ui251-header-height-custom :is(.header-inner,.public-header-inner){height:var(--ui251-header-inner-h)!important;min-height:var(--ui251-header-inner-h)!important}
body.ui-system-v251.ui251-header-width-custom :is(.header-inner,.public-header-inner){width:min(calc(100vw - 30px),var(--ui251-header-max))!important;max-width:var(--ui251-header-max)!important}
body.ui-system-v251.ui251-header-radius-custom :is(.header-inner,.public-header-inner){border-radius:var(--ui251-header-radius)!important}
body.ui-system-v251.ui251-nav-gap-custom :is(.prime-nav,.public-nav,.uv198-primary-nav,.admin-context-inner){gap:var(--ui251-nav-gap)!important}
body.ui-system-v251.ui251-logo-scale-custom .brand-logo-img{max-height:var(--ui251-logo-h)!important}
body.ui-system-v251.ui251-icon-scale-custom :is(.header-icon-btn svg,.profile-trigger svg,.public-search-link svg,.profile-menu svg,.mobile-nav svg,.uv198-icon-action svg){width:var(--ui251-header-icon)!important;height:var(--ui251-header-icon)!important}
body.ui-system-v251.ui251-icon-scale-custom :is(.header-icon-btn,.public-search-link,.uv198-icon-action){width:var(--ui251-header-action)!important;min-width:var(--ui251-header-action)!important;height:var(--ui251-header-action)!important}

/* Botões, formulários, tabelas e superfícies. */
body.ui-system-v251.ui251-button-height-custom :is(.primary-btn,.secondary-btn,.danger-btn,.prime-light-btn,.public-login,.public-signup,.preview-action,.text-btn){min-height:var(--ui251-button-h)!important}
body.ui-system-v251.ui251-button-radius-custom :is(.primary-btn,.secondary-btn,.danger-btn,.prime-light-btn,.public-login,.public-signup,.preview-action,.text-btn){border-radius:var(--ui251-button-radius)!important}
body.ui-system-v251.ui251-form-height-custom :is(input:not([type="checkbox"]):not([type="radio"]),select){min-height:var(--ui251-form-h)!important}
body.ui-system-v251.ui251-form-radius-custom :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){border-radius:var(--ui251-form-radius)!important}
body.ui-system-v251.ui251-content-width-custom .page-shell{max-width:var(--ui251-content-max)!important}
body.ui-system-v251.ui251-panel-radius-custom :is(.panel,.section-panel,.content-panel,.dashboard-panel,.admin-panel,.form-panel,.form-card,.settings-card,.profile-panel,.profile-section,.learning-hero,.dashboard-mini-grid>article,.stats-grid>article,.calendar-board>article,.certificate-card,.live-card,.path-card,.question-card,.course-content-block,.detail-copy-block,.review-grid>article,.checkpoint-card,.comment-card,.provider-note,.resource-admin-item,.comment-admin-item,.quiz-admin-card,.admin-action-card){border-radius:var(--ui251-panel-radius)!important}
body.ui-system-v251.ui251-table-density-custom table th{height:var(--ui251-table-th-h)!important;padding:var(--ui251-table-th-pad) calc(var(--ui251-table-th-pad) * 1.1)!important}
body.ui-system-v251.ui251-table-density-custom table td{padding:var(--ui251-table-td-pad)!important}

/* Rodapé e camadas flutuantes importantes. */
body.ui-system-v251.ui251-footer-custom :is(.public-footer,.app-footer){font-size:var(--ui251-footer-font)!important}
body.ui-system-v251.ui251-footer-custom .public-footer{padding-top:var(--ui251-footer-pad)!important;padding-bottom:var(--ui251-footer-pad)!important}
body.ui-system-v251.ui251-footer-custom :is(.public-footer-inner,.public-footer-bottom,.app-footer){padding-block:calc(var(--ui251-footer-pad) * .7)!important}
body.ui-system-v251.ui251-modal-custom :is(.modal,.dialog){max-width:min(calc(100vw - 28px),var(--ui251-modal-max))!important;border-radius:var(--ui251-modal-radius)!important}
body.ui-system-v251.ui251-dropdown-custom :is(.popover,.dropdown-menu,.menu-panel,.profile-menu,.notification-menu,.admin-nav-popover-v174,.admin-nav-popover-portal-v189){border-radius:var(--ui251-dropdown-radius)!important}
body.ui-system-v251.ui251-alert-custom :is(.alert,.public-flash,.notice-success,.notice-error,.social-notice,.playlist-toast){border-radius:var(--ui251-alert-radius)!important;font-size:var(--ui251-alert-font)!important}

/* Acessibilidade: o foco nunca é removido; quando personalizado, apenas dimensão/cor mudam. */
body.ui-system-v251.ui251-focus-custom :focus-visible{outline:var(--ui251-focus-width) solid var(--ui251-focus-color)!important;outline-offset:var(--ui251-focus-offset)!important}
body.ui-system-v251.ui251-large-touch-targets :is(button,a.primary-btn,a.secondary-btn){min-height:max(var(--ui251-touch-target),var(--ui251-button-h))!important}
body.ui-system-v251.ui251-large-touch-targets :is(.prime-nav a,.public-nav a,.admin-context-inner a,.admin-tabs a){min-height:var(--ui251-touch-target)!important}
body.ui-system-v251.ui251-content-links-underlined :is(main p a,main li a,.lesson-notes p a,.panel p a,.admin-panel p a){text-decoration:underline!important;text-underline-offset:.18em}
body.ui-system-v251.ui251-reduce-transparency :is(.prime-header,.public-header,.header-inner,.public-header-inner,.profile-menu,.notification-menu,.search-drawer,.admin-context-nav,.modal,.dialog,.popover){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.ui-system-v251.ui251-reduce-transparency :is(.header-inner,.public-header-inner,.profile-menu,.notification-menu,.search-drawer,.modal,.dialog,.popover){background:var(--pv201-navbar,#0B0B0B)!important}
body.ui-system-v251.ui251-themed-scrollbar{scrollbar-color:var(--pv201-primary,var(--pv201-blue,#D4AF37)) var(--pv201-background-deep,#050505);scrollbar-width:auto}
body.ui-system-v251.ui251-themed-scrollbar ::-webkit-scrollbar{width:var(--ui251-scrollbar);height:var(--ui251-scrollbar)}
body.ui-system-v251.ui251-themed-scrollbar ::-webkit-scrollbar-track{background:var(--pv201-background-deep,#050505)}
body.ui-system-v251.ui251-themed-scrollbar ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--pv201-primary,var(--pv201-blue,#D4AF37)) 72%,#444);border:2px solid var(--pv201-background-deep,#050505);border-radius:99px}

@media(max-width:720px){
  body.ui-system-v251.ui251-heading-scale-custom :is(.page-heading h1,.admin-head h1,.compact-page-hero h1){font-size:var(--ui251-mobile-h1)!important}
  body.ui-system-v251.ui251-heading-scale-custom :is(.section-head h2,.storefront-heading h2){font-size:var(--ui251-mobile-section-h2)!important}
  body.ui-system-v251.ui251-form-font-custom :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:max(16px,var(--ui251-form-font))!important}
}
