/* Shared components for the remaining templates. Header, footer and released pages stay independent. */
@layer afStandardRefinement {
body.af-standard-refined {
  --af-std-violet: #5c3473;
  --af-std-hover: #75468e;
  --af-std-ink: #321746;
  --af-std-text: #544d59;
  --af-std-muted: #716877;
  --af-std-line: #e4dde8;
  --af-std-surface: #f6f7f8;
  --af-std-width: 1240px;
  --af-std-read: 70ch;
  --af-std-gutter: 32px;
  background: #fff !important;
  color: var(--af-std-text);
}
body.af-standard-refined::before, body.af-standard-refined::after { content: none !important; }
body.af-standard-refined .site-grid { margin-top: 0 !important; padding: 0 !important; grid-template-columns: [full-start] minmax(0,1fr) [main-start] minmax(0,100%) [main-end] minmax(0,1fr) [full-end] !important; }
body.af-standard-refined .container-component { min-width: 0; width: 100% !important; max-width: none !important; margin: 0 !important; }
body.af-standard-refined main { padding: 0 !important; margin: 0 !important; min-width: 0; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; color: var(--af-std-text); font-size: 18px; }
body.af-standard-refined main::before, body.af-standard-refined main::after { content: none !important; }
body.af-standard-refined main :is(h1,h2,h3,h4,p,a,li,label,button,input,select,textarea) { letter-spacing: 0 !important; }
body.af-standard-refined main :is(h1,h2,h3,h4) { color: var(--af-std-ink) !important; -webkit-text-fill-color: currentColor !important; font-weight: 400 !important; text-shadow: none !important; overflow-wrap: anywhere; }
body.af-standard-refined main h1 { font-size: 56px !important; line-height: 1.12 !important; }
body.af-standard-refined main h2 { font-size: 40px !important; line-height: 1.2 !important; }
body.af-standard-refined main h3 { font-size: 24px !important; line-height: 1.35 !important; }
body.af-standard-refined main :is(p,li) { font-size: 18px !important; line-height: 1.75 !important; }
body.af-standard-refined main p { margin-bottom: 24px; }
body.af-standard-refined main a:not(.btn):not(.sppb-btn):not([role="button"]) { color: var(--af-std-violet) !important; overflow-wrap: anywhere; }
body.af-standard-refined main a:hover { color: var(--af-std-hover); }
body.af-standard-refined main :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--af-std-hover) !important; outline-offset: 4px !important; }
body.af-standard-refined main :is(.btn,.sppb-btn,.af-pill-link) { min-height: 48px; padding: 12px 24px; font-size: 16px !important; line-height: 1.4 !important; white-space: normal; text-decoration: none !important; box-shadow: none !important; }
body.af-standard-refined main :is(.btn-primary,.sppb-btn-primary,.btn-info) { color: #fff !important; background: var(--af-std-violet) !important; border-color: var(--af-std-violet) !important; }
body.af-standard-refined main :is(.btn-primary,.sppb-btn-primary,.btn-info):hover { color: #fff !important; background: var(--af-std-hover) !important; border-color: var(--af-std-hover) !important; }
body.af-standard-refined main :is(button,.btn):disabled { opacity: .5; cursor: not-allowed; }

/* HeroEditorial / ArticleBody / MediaFrame preserve original copy and photographs. */
body.af-standard-refined .com-content-article { width: calc(100% - var(--af-std-gutter) * 2) !important; max-width: var(--af-std-width) !important; margin: 0 auto !important; padding: 64px 0 !important; border: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
body.af-standard-refined .com-content-article > .page-header { max-width: 1040px; margin: 0 0 32px !important; padding: 0 0 32px !important; border-bottom: 1px solid var(--af-std-line); }
body.af-standard-refined .com-content-article > .page-header h1 { text-wrap: balance; }
body.af-standard-refined .com-content-article__body { width: 100% !important; max-width: min(100%, var(--af-std-read)) !important; font-size: 18px !important; margin-inline: auto !important; }
body.af-standard-refined .com-content-article__body :is(h2,h3) { margin-top: 48px; margin-bottom: 24px; }
body.af-standard-refined .com-content-article__body :is(p,li,span) { color: var(--af-std-text); -webkit-text-fill-color: currentColor !important; }
body.af-standard-refined .com-content-article__body img { display: block; max-width: 100%; height: auto !important; float: none !important; margin-block: 24px; border-radius: 8px; object-fit: contain; }
body.af-standard-technology .com-content-article__body p:has(img) { width: 100% !important; max-width: 100% !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
body.af-standard-refined .com-content-article > .item-image { max-width: 960px; margin: 0 auto 48px !important; }
body.af-standard-refined :is(.article-info,.article-info dd,.article-info span,.article-info time,figcaption) { font-size: 14px !important; line-height: 1.5 !important; color: var(--af-std-muted); }
body.af-standard-refined .article-info { margin-bottom: 32px; }
body.af-standard-refined .article-info dd { display: inline-block; margin-right: 16px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; }
body.af-standard-refined .article-info .icon-fw { display: none !important; }
body.af-standard-legal .com-content-article { max-width: 1040px !important; }
body.af-standard-legal main h1 { font-size: 48px !important; }
body.af-standard-legal main h2 { font-size: 32px !important; }
body.af-standard-legal .com-content-article__body { overflow-wrap: anywhere; }
body.af-standard-refined .af-std-table-scroll { max-width: 100%; overflow-x: auto; margin: 32px 0; }
body.af-standard-refined .af-std-table-scroll table { width: 100%; border-collapse: collapse; font-size: 16px; }
body.af-standard-refined .af-std-table-scroll :is(th,td) { padding: 16px; border-bottom: 1px solid var(--af-std-line); vertical-align: top; }
body.af-standard-refined .af-std-table-scroll th { background: var(--af-std-surface); color: var(--af-std-ink); }

/* Technology media stay technology-specific; no generic material visual is inserted. */
body.af-standard-technology .af-std-diagram { border: 1px solid var(--af-std-line); background: #fff; }
body.af-standard-refined .af-std-diagram-frame { display: block; position: relative; margin-block: 32px; }
body.af-standard-refined .af-std-diagram-frame img { margin: 0; width: 100%; }
body.af-standard-refined :is(.af-std-diagram-zoom,.af-std-diagram-close) { width: 48px; height: 48px; padding: 0; display: grid; place-items: center; color: var(--af-std-violet); border: 1px solid var(--af-std-line); border-radius: 8px; background: #fff; cursor: pointer; font-size: 20px; }
body.af-standard-refined .af-std-diagram-zoom { position: absolute; top: 16px; right: 16px; }
body.af-standard-refined .af-std-diagram-dialog { width: calc(100% - 32px); max-width: 1454px; max-height: calc(100dvh - 32px); padding: 16px 24px 24px; border: 1px solid var(--af-std-line); border-radius: 8px; background: #fff; overflow: auto; }
body.af-standard-refined .af-std-diagram-dialog::backdrop { background: rgba(25,21,29,.7); }
body.af-standard-refined .af-std-diagram-dialog img { display: block; max-width: none; width: 100%; min-width: 800px; height: auto; }
body.af-standard-refined .af-std-diagram-close { position: sticky; top: 0; margin: 0 0 16px auto; z-index: 1; }
body.af-standard-technology .sppb-addon-empty-space { height: 24px !important; }
body.af-standard-technology .addon-root-empty-space { margin: 0 !important; }

/* FastTrack keeps its independent application, sizing messages and controls intact. */
body.af-standard-fasttrack .com-content-article { width: 100% !important; max-width: none !important; padding-top: 48px !important; }
body.af-standard-fasttrack .page-header h1 { max-width: 1060px; font-size: 48px !important; }
body.af-standard-fasttrack .page-header::after { content: ''; display: block; width: 96px; height: 3px; margin-top: 24px; background: var(--af-std-violet); }
body.af-standard-fasttrack .com-content-article__body { max-width: none !important; }
body.af-standard-fasttrack #af-fasttrack-cloud-frame { width: 100% !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }

/* Existing supplementary content uses the same components, without new claims. */
body.af-standard-refined .af-seo-content { padding: 64px 0 !important; background: var(--af-std-surface) !important; border-top: 1px solid var(--af-std-line); }
body.af-standard-refined .af-seo-content__inner { width: calc(100% - var(--af-std-gutter) * 2) !important; max-width: var(--af-std-width) !important; margin-inline: auto; }
body.af-standard-refined .af-seo-content__kicker { font-size: 13px !important; color: var(--af-std-violet); }
body.af-standard-refined .af-seo-content__lead { max-width: var(--af-std-read); }
body.af-standard-refined .af-seo-content__grid { gap: 24px !important; }
body.af-standard-refined .af-seo-content__card { padding: 32px !important; border: 1px solid var(--af-std-line); border-radius: 8px; background: #fff; box-shadow: none !important; }
body.af-standard-refined .af-seo-content__card h3 { font-size: 24px !important; }
body.af-standard-refined .af-seo-content__card p { font-size: 17px !important; }

/* FormField / StepIndicator: layout only; no control names, values or validation are changed. */
body.af-standard-form .af-request-tool { width: calc(100% - var(--af-std-gutter) * 2) !important; max-width: var(--af-std-width) !important; padding: 64px 0 !important; gap: 48px !important; margin-inline: auto; }
body.af-standard-form .af-request-intro { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.af-standard-form .af-request-intro h1 { font-size: 44px !important; }
body.af-standard-form .af-request-form-column #visformcontainer { padding: 32px !important; background: #fff !important; border: 1px solid var(--af-std-line) !important; border-radius: 8px !important; box-shadow: none !important; }
body.af-standard-form .bfSectionDescription h1 { font-size: 28px !important; }
body.af-standard-form .bfSectionDescription :is(h2,h3) { font-size: 24px !important; }
body.af-standard-form .af-request-form-column fieldset { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.af-standard-form main :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),select,textarea), body.af-standard-search main input[type="search"] { min-height: 48px !important; max-width: 100%; padding: 12px 16px !important; font-size: 16px !important; line-height: 1.5 !important; color: var(--af-std-ink) !important; border: 1px solid #c9becf !important; border-radius: 6px !important; background: #fff !important; }
body.af-standard-form main textarea { min-height: 144px !important; }
body.af-standard-form main :is(input,select,textarea):focus { border-color: var(--af-std-violet) !important; box-shadow: 0 0 0 3px rgba(92,52,115,.12) !important; }
body.af-standard-form main :is(input,select,textarea)[aria-invalid="true"] { border-color: #a42941 !important; }
body.af-standard-form main :is(label,.form-label,.control-label) { font-size: 16px !important; line-height: 1.5 !important; color: var(--af-std-ink); }
body.af-standard-form main :is(.form-text,.help-block,.field-hint,.vis_mandatory) { font-size: 14px !important; line-height: 1.5 !important; }
body.af-standard-form main :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--af-std-violet); }
body.af-standard-form .visprogress { background: var(--af-std-surface) !important; border-radius: 8px !important; box-shadow: none !important; }
body.af-standard-form .visprogress :is(.stepCont,.badge) { font-size: 14px !important; }
body.af-standard-form .pbBtnCon .btn { padding: 0; min-width: 48px; width: 48px; height: 48px; display: inline-grid; place-items: center; }
body.af-standard-search .com-finder { width: calc(100% - var(--af-std-gutter) * 2); max-width: 1040px; margin: 48px auto; }
body.af-standard-search .result { padding-block: 32px; border-bottom: 1px solid var(--af-std-line); }
body.af-standard-search .result-url { font-size: 14px; overflow-wrap: anywhere; }

@media (max-width: 1199px) {
  body.af-standard-refined { --af-std-gutter: 24px; }
  body.af-standard-refined main h1 { font-size: 48px !important; }
  body.af-standard-refined main h2 { font-size: 36px !important; }
}
@media (max-width: 767px) {
  body.af-standard-refined main h1 { font-size: 38px !important; }
  body.af-standard-refined main h2 { font-size: 32px !important; }
  body.af-standard-refined main h3 { font-size: 23px !important; }
  body.af-standard-refined main :is(p,li) { font-size: 16px !important; line-height: 1.65 !important; }
  body.af-standard-refined .com-content-article__body { font-size: 16px !important; }
  body.af-standard-refined .com-content-article { padding-block: 40px !important; }
  body.af-standard-refined .com-content-article > .page-header { padding-bottom: 24px !important; margin-bottom: 24px !important; }
  body.af-standard-refined .com-content-article__body :is(h2,h3) { margin-top: 32px; }
  body.af-standard-refined .article-info dd { display: block; margin-bottom: 8px; }
  body.af-standard-fasttrack .page-header h1 { font-size: 36px !important; }
  body.af-standard-refined .af-seo-content { padding-block: 48px !important; }
  body.af-standard-refined .af-seo-content__grid { grid-template-columns: 1fr !important; }
  body.af-standard-refined .af-seo-content__card { padding: 24px !important; }
  body.af-standard-form .af-request-tool { padding-block: 40px !important; gap: 32px !important; }
  body.af-standard-form .af-request-intro h1 { font-size: 38px !important; }
  body.af-standard-form .af-request-form-column #visformcontainer { padding: 24px !important; }
  body.af-standard-form .bfSectionDescription h1 { font-size: 24px !important; }
  body.af-standard-legal main h2 { font-size: 28px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.af-standard-refined main *, body.af-standard-refined main *::before, body.af-standard-refined main *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
}
