/* Public information and directory adapters. Loaded only for the routes listed
 * in head.tpl. Keep module controls, editorial content and catalog grids native. */
body:not(#manufacturer) #wrapper > .container-fluid {
  width: 100%; max-width: var(--vvp-ui-page-width); padding-inline: 80px;
}
body:not(#manufacturer) #wrapper #main {
  width: 100%; max-width: 1280px; margin-inline: auto; padding: 0 !important;
}
body #wrapper #main { font-family: var(--vvp-font-ui,Inter,system-ui,sans-serif); }
body #wrapper #main .vvp-page-hero h1 {
  margin: 0; font-family: inherit; font-size: 40px; font-weight: 600;
  line-height: 1.2; letter-spacing: -.65px; text-transform: none;
}
body #wrapper #main .vvp-page-hero .vvp-title__lead { font-weight: 600; }
body #wrapper #main .vvp-page-hero .vvp-title__soft { font-weight: 400; }
body #wrapper #main .vvp-page-hero h1::before,
body #wrapper #main .vvp-page-hero h1::after { content: none; }
body #wrapper #main .vvp-page-hero p { margin-top: 8px; font-size: 16px; line-height: 24px; }
body #wrapper #main > .page-header { margin-bottom: 32px; }
body #wrapper #main > .page-footer:empty { display: none; }
/* Long CMS copy keeps a reading width; its HTML, tables and hooks stay intact. */
body #wrapper #main > .page-cms {
  --vvp-band-padding: 0;
  width: 100%; max-width: 960px; margin-inline: auto; padding: 0;
  overflow-wrap: anywhere; font-family: inherit;
}
body #wrapper #main .page-cms :is(h2,h3,h4) {
  color: var(--vvp-ds-action); font-family: inherit; font-weight: 600; line-height: 1.3; text-transform: none;
}
body #wrapper #main .page-cms h2 { font-size: var(--vvp-type-section-size); line-height: var(--vvp-type-section-line); letter-spacing: var(--vvp-type-section-tracking); }
body #wrapper #main .page-cms :is(h3,h4) { font-size: var(--vvp-type-subtitle-size); line-height: var(--vvp-type-subtitle-line); letter-spacing: var(--vvp-type-subtitle-tracking); }
body #wrapper #main .page-cms :is(p,ul,ol) { font-size: 16px; line-height: 1.65; }
/* Structured module cards own their rhythm; don't add editorial CMS margins. */
body #wrapper #main .page-cms .skmp-delivery-page :is(h2,h3,p,dl,dd,ul) { margin: 0; }
body #wrapper #main .page-cms .skmp-delivery-page__rate > p { margin-top: 6px; }
body #wrapper #main .page-cms .skmp-delivery-page__rate dl { margin-top: 16px; }
body #wrapper #main .page-cms .skmp-delivery-page__notes ul { margin-top: 16px; }
body #wrapper #main .page-cms .skmp-delivery-page__carrier > p { margin-top: 12px; }
body #wrapper #main .page-cms .skmp-delivery-page__supplements { margin-top: 20px; }
body #wrapper #main .page-cms hr { margin-block: 28px; border-color: var(--vvp-ui-panel-line); }
body #wrapper #main .page-cms blockquote {
  background: var(--vvp-ui-info-bg); border: 1px solid var(--vvp-ui-info-line);
  border-left: 3px solid var(--vvp-ds-action); border-radius: var(--vvp-ui-info-radius); box-shadow: none;
}
/* Delivery's nested padding used to double the spacing of its reading section. */
body #wrapper #main .page-cms .deliv-wrapper { margin-top: 32px; }
body #wrapper #main .page-cms .deliv-top { padding: 0 0 20px; }
body #wrapper #main .page-cms .deliv-top h2 { margin: 0; }
body #wrapper #main .page-cms .deliv-pricing { display: grid; gap: 20px; padding: 0; }
body #wrapper #main .page-cms .deliv-card { margin: 0; padding: 24px; border: 1px solid var(--vvp-ui-panel-line); border-radius: var(--vvp-ds-radius-panel); background: #fff; box-shadow: none; }
body #wrapper #main .page-cms .deliv-message { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: start; gap: 12px; margin: 0 0 24px; padding: 16px 20px; border: 1px solid var(--vvp-ui-info-line); border-radius: var(--vvp-ui-info-radius); background: var(--vvp-ui-info-bg); }
body #wrapper #main .page-cms .deliv-message > .material-icons { margin: 0; line-height: 1.3; }
body #wrapper #main .page-cms .deliv-method-title { display: block; color: var(--vvp-ds-action); font-size: 20px; font-weight: 600; }
body #wrapper #main .page-cms .deliv-method-title .material-icons { display: inline-block; vertical-align: middle; margin: 0 8px 0 0; color: var(--vvp-ds-action); }
body #wrapper #main .page-cms .deliv-method-title .transport-name { display: inline; }
/* Navigation panels and document cards use the existing shared surfaces. */
body #wrapper #main :is(.sitemap-block,.skd-library__card,.skg-directory__card) {
  border: 1px solid var(--vvp-ui-panel-line); border-radius: var(--vvp-ds-radius-panel); background: #fff; box-shadow: none;
}
body #wrapper #main .sitemap-block { padding: 24px; gap: 24px; }
body #wrapper #main :is(.sitemap-block__title,.sitemap-brand-panel h3,.skd-library__card h2,.skg-directory__card h2) {
  color: var(--vvp-ds-action); font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.4; text-transform: none;
}
body #wrapper #main .sitemap-block__head p { margin-top: 4px; font-size: 14px; line-height: 21px; }
body #wrapper #main :is(.sitemap-section__icon,.skd-library__icon) {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px;
  color: var(--vvp-ds-action); border: 0; border-radius: 50%; background: var(--vvp-ui-action-bg);
}
body #wrapper #main .sitemap-list__link { color: var(--vvp-ds-action); font-weight: 500; }
body #wrapper #main .sitemap-tree-toggle {
  width: 44px; height: 44px; flex-shrink: 0; color: var(--vvp-ds-action); border: 0; border-radius: var(--vvp-ui-control-radius); background: var(--vvp-ui-action-bg);
}
body #wrapper #main .sitemap-brand-alpha { gap: 8px; }
body #wrapper #main .sitemap-brand-alpha button {
  min-width: 40px; min-height: 40px; color: var(--vvp-ds-action); border: 1px solid transparent;
  border-radius: var(--vvp-ui-control-radius); background: var(--vvp-ui-action-bg); font-family: inherit; font-weight: 500;
}
body #wrapper #main .sitemap-brand-alpha button.is-active { color: #fff; background: var(--vvp-ds-action); }
body #wrapper #main .sitemap-brand-alpha button:disabled { opacity: .4; }
body #wrapper #main .sitemap-brand-panel { border-color: var(--vvp-ui-panel-line); border-radius: var(--vvp-ui-info-radius); background: var(--vvp-ui-info-bg); }
/* The support module retains readonly, validation, consent and captcha styles. */
body #wrapper #main .vapochat-contact .vc-eyebrow { display: none; }
body #wrapper #main .vapochat-contact .vc-form h2 { color: var(--vvp-ds-action); font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.4; text-transform: none; }
body #wrapper #main .vapochat-contact .vc-field > :is(input,select,textarea) { font-size: 16px; }
body #wrapper #main .skg-reader .skg-reader__toc-title { font-family: var(--vvp-font-ui,Inter,system-ui,sans-serif); font-size: 18px; font-weight: 600; color: var(--vvp-ds-action); }
body #wrapper #main :is(.page-not-found,.vvp-empty-state) { color: var(--vvp-ds-muted); }
body #wrapper #main :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--vvp-ds-focus); outline-offset: 3px;
}
@media (max-width: 1100px) {
  body:not(#manufacturer) #wrapper > .container-fluid { padding-inline: 32px; }
}
@media (max-width: 767.98px) {
  body:not(#manufacturer) #wrapper > .container-fluid { padding-inline: 24px; }
  body #wrapper #main .vvp-page-hero h1 { font-size: 28px; line-height: 36px; letter-spacing: -.4px; }
  body #wrapper #main :is(.sitemap-block,.page-cms .deliv-card) { padding: 20px; }
  body #wrapper #main .sitemap-tree-toggle { width: 40px; height: 40px; }
}
@media (max-width: 479.98px) {
  body:not(#manufacturer) #wrapper > .container-fluid { padding-inline: 16px; }
}

/* Ordinary CMS copy uses one reading surface; composed module pages stay native. */
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) { max-width: 880px; margin: 28px auto 40px; padding: 40px 48px; border: 1px solid var(--vvp-ui-panel-line); border-radius: var(--vvp-ds-radius-panel); background: #fff; box-shadow: none; color: var(--vvp-ds-ink); }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty))::before { content: none; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) :is(p,ul,ol) { font-size: 16px; line-height: 1.75; margin-block: 0 14px; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) h2 { margin-block: 32px 14px; font-size: 24px; line-height: 1.35; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) h3 { margin-block: 28px 12px; font-size: 20px; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) h4 { margin-block: 24px 10px; font-size: 18px; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) > :first-child { margin-top: 0; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) > :last-child { margin-bottom: 0; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) p:has(> strong:only-child) { margin-block: 28px 12px; color: var(--vvp-ds-action); }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) > p:first-child:has(> strong:only-child) { margin-top: 0; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) :is(ul,ol) { padding-left: 1.4em; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) ul { list-style: disc; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) ol { list-style: decimal; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) li { padding-left: 4px; margin-bottom: 7px; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) li::marker { color: var(--vvp-ds-action); }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) :is(p,li,td) a:not(.btn):not([role="button"]) { color: var(--vvp-ds-action); text-decoration: underline; text-underline-offset: 3px; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) blockquote { margin: 24px 0; padding: 18px 22px; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) img { max-width: 100%; height: auto; }
body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) hr { margin-block: 28px; }
@media(max-width:767.98px) {
  body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) { margin: 20px auto 28px; padding: 24px 20px; border-radius: 16px; }
  body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) h2 { margin-top: 28px; font-size: 22px; }
  body#cms #wrapper #main > .page-cms:not(:has(.skmp-delivery-page,.skmp-returns-page,.deliv-wrapper,.deliv-pricing,.vvp-cms-empty)) > :first-child { margin-top: 0; }
}
