/* Vapovor theme — skruptpages components (moved from vapovor-components.css, 19/10/2026). */
body #wrapper #main :is(.skg-directory__submit):not(.btn-touchspin) { border-radius: var(--vvp-ds-radius-action); font-size: var(--vvp-control-font-size); font-weight: var(--vvp-ui-control-weight); }
body #wrapper #main :is(.skg-directory__grid) { gap: var(--vvp-ui-section-gap); }
body #main :is(.skg-reader__body) { border-radius: var(--vvp-ds-radius-panel); }
body #main :is(.skg-reader__body) { padding: var(--vvp-ui-panel-padding); }
body #main :is(.skg-directory__grid,.skg-reader__layout) { gap: var(--vvp-ui-section-gap); }
body #main :is(.skg-directory__results,.skg-reader__related) { margin-block: var(--vvp-ui-section-gap); }
body #main :is(.skg-directory__card,.skg-directory__empty) { border-radius: var(--vvp-ds-radius-panel); }
body #main .skg-directory__card-link { padding: var(--vvp-ui-card-padding); border-radius: inherit; background: var(--vvp-ui-panel-bg); }
body #main .skg-directory__card-link:hover { background: var(--vvp-ui-info-bg); box-shadow: none; }
body #main .skg-directory__arrow { flex-basis: 20px; width: 20px; height: 20px; background: transparent; border: 0; font-size: 22px; }
body #main :is(.skg-definition-card) { border: 1px solid var(--vvp-ui-info-line); border-radius: var(--vvp-ui-info-radius); background: var(--vvp-ui-info-bg); }
body #main .skg-reader .skg-prose .skg-definitions>:is(dt,dd) { background: var(--vvp-ui-info-bg); }
body #main .skg-reader .skg-prose .skg-definition-card { border: 1px solid var(--vvp-ui-info-line); border-radius: var(--vvp-ui-info-radius); background: var(--vvp-ui-info-bg); padding: var(--vvp-ui-card-padding); }
body #main :is(.skg-faq-list) { display: grid; gap: var(--vvp-ui-control-gap); }
body #main :is(.skg-reader .skg-faq-item) { border: 0; margin-block: 0; }
body #main :is(.skg-reader .skg-prose .skg-faq-item summary) { box-sizing: border-box; min-height: var(--vvp-ui-control-height); padding: 12px 44px 12px 20px; border: 0; border-radius: var(--vvp-ui-control-radius); background: var(--vvp-ui-action-bg); color: var(--vvp-ds-action); font-size: 15px; line-height: 22px; font-weight: var(--vvp-ui-control-weight); }
body #main :is(.skg-reader .skg-prose .skg-faq-item summary):hover { background: var(--vvp-ui-action-hover); }
body #main :is(.skg-reader .skg-prose .skg-faq-item summary):focus-visible { outline: 2px solid var(--vvp-ds-focus); outline-offset: 3px; }
body #main :is(.skg-faq-item)>:not(summary) { margin: var(--vvp-ui-content-gap) 20px; }
body #main :is(.skg-practical__foot a) { gap: 10px; text-decoration: none; }
body #main :is(.skg-practical__foot a)>span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--vvp-ds-subtle,#eef0f2); color: var(--vvp-ds-action); font-size: 18px; line-height: 1; }
body #main :is(.skg-practical__foot a):hover>span[aria-hidden="true"] { background-color: var(--vvp-ds-action-soft,#e7ecf5); }
body #main .skg-practicals { margin: 20px 0 0; }
body #main .skg-practical { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px 24px; padding: 24px; background: var(--vvp-confort-soft); border: 1px solid var(--vvp-confort-line); border-radius: 14px; }
body #main .skg-practical__head { grid-column: 1; grid-row: 1; align-self: start; margin: 0; padding: 0; }
body #main .skg-practical__head h2 { font-size: 16px; line-height: 1.35; font-weight: 600; color: var(--vvp-ds-action); margin: 10px 0 0; }
body #main .skg-practical__label { display: inline-block; width: fit-content; margin: 0; padding: 4px 8px; border-radius: 6px; background: #e7ecf5; color: #283b63; font-size: 11px; line-height: 1.4; font-weight: 650; text-transform: none; letter-spacing: 0; }
body #main .vvp-guide-details .skg-practical__body { margin: 16px 0 0; }
body #main .skg-practical__foot { grid-column: 2; grid-row: 1; margin: 0; padding: 0; border: 0; align-self: center; }
body #main .skg-practical__foot a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767.98px) {
  body #main .skg-practical { grid-template-columns: minmax(0,1fr); padding: 20px; }
  body #main .skg-practical__foot { grid-column: 1; grid-row: 3; }
}
body #main .skg-practical :is(.skg-practical__foot a) { box-sizing: border-box; display: inline-flex; align-items: center; gap: var(--vvp-ui-control-gap); width: fit-content; max-width: 100%; min-height: var(--vvp-ui-control-height); padding: 12px 20px; border: 0; border-radius: var(--vvp-ui-control-radius); background: #fff; color: var(--vvp-ds-action); font-size: 15px; line-height: 22px; font-weight: var(--vvp-ui-control-weight); text-decoration: none; }
body #main .skg-practical .skg-practical__foot a>span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 20px; width: 20px; height: 20px; margin-left: auto; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 22px; line-height: 20px; font-weight: 400; }
body #main .skg-practical :is(.skg-practical__foot a):hover { background: #fff; color: #172f56; box-shadow: inset 0 0 0 1px #cad4e2; }
body #main .skg-practical :is(.skg-practical__foot a):focus-visible { outline: 2px solid var(--vvp-ds-action); outline-offset: 3px; }
body #main .skg-reader .skg-prose .skg-faq-item + .skg-faq-item { margin-top: var(--vvp-ui-control-gap); }
body #main .skg-reader .skg-prose .skg-faq-item > div { padding-bottom: 0; }
body #main :is(.skg-directory__card) { border: 1px solid var(--vvp-ui-panel-line); border-radius: var(--vvp-ds-radius-panel); background: var(--vvp-ui-panel-bg); box-shadow: none; }
body #wrapper #main .skg-reader { --skg-color: var(--vvp-ds-ink); --skg-muted: var(--vvp-ds-muted); --skg-accent: var(--vvp-ds-action); font-family: var(--vvp-font-ui,system-ui); }
body #wrapper #main .skg-reader__header { max-width: none; margin-bottom: var(--vvp-ui-reading-gap); }
body #wrapper #main .skg-reader__heading { min-width: 0; max-width: none; }
body #wrapper #main .skg-reader__cover { position: relative; z-index: 1; margin-inline: auto; }
body #wrapper #main .skg-reader:not(.skg-reader--side) .skg-reader__cover { margin: var(--vvp-ui-heading-gap) auto 0; }
body #wrapper #main .skg-reader__header .skp-classification { justify-content: center; }
body #wrapper #main .skg-reader .skg-reader__title { max-width: 1060px; margin-inline: auto; font-family: var(--vvp-font-ui,system-ui); font-size: clamp(28px,2.5vw,40px); font-weight: 500; line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
body #wrapper #main .skg-reader .skg-reader__intro { max-width: 72ch; margin: var(--vvp-ui-content-gap) auto 0; font-size: 17px; font-weight: 300; line-height: 1.7; }
body #wrapper #main .skg-reader .skg-reader__body { width: 100%; max-width: 74ch; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 16px; font-weight: 400; line-height: 1.8; }
body #wrapper #main .skg-reader__layout:not(.skg-reader__layout--toc) { max-width: 74ch; margin-inline: auto; }
body #wrapper #main .skg-reader .skg-prose :is(h2,h3,h4) { color: var(--vvp-ds-action); text-transform: none; text-wrap: balance; }
body #wrapper #main .skg-reader .skg-prose h2 { font-size: var(--vvp-type-section-size); font-weight: var(--vvp-type-section-weight); line-height: var(--vvp-type-section-line); letter-spacing: var(--vvp-type-section-tracking); }
body #wrapper #main .skg-reader .skg-prose :is(h3,h4) { font-family: var(--vvp-font-ui,system-ui); }
body #wrapper #main .skg-reader .skg-prose h3 { font-size: var(--vvp-type-subtitle-size); line-height: var(--vvp-type-subtitle-line); font-weight: var(--vvp-type-subtitle-weight); letter-spacing: var(--vvp-type-subtitle-tracking); }
body #wrapper #main .skg-reader .skg-prose h4 { font-size: 16px; line-height: 24px; font-weight: 600; letter-spacing: 0; }
body #wrapper #main .skg-reader__body > .skg-section { margin-block: 0 var(--vvp-ui-reading-gap); }
body #wrapper #main .skg-reader__body > .skg-section:last-child { margin-bottom: 0; }
body #wrapper #main .skg-reader__toc { padding: 0 0 0 16px; border: 0; border-left: 1px solid var(--vvp-ui-panel-line); border-radius: 0; background: transparent; box-shadow: none; }
body #wrapper #main .skg-reader .skg-reader__toc-title { min-height: 32px; padding: 0 0 12px; color: var(--vvp-ds-action); font-size: 20px; font-weight: 500; }
body #wrapper #main .skg-reader__toc a { min-height: 32px; padding: 8px 10px; border-left: 2px solid transparent; border-radius: 0; color: var(--vvp-ds-muted); font-size: 13px; line-height: 1.5; }
body #wrapper #main .skg-reader__toc a:is(:hover,[aria-current="location"]) { border-left-color: var(--vvp-ds-accentText,#bd3e68); background: var(--vvp-ui-action-bg); color: var(--vvp-ds-action); }
@media (min-width: 901px) {
  body #wrapper #main .skg-reader:not(.skg-reader--focus) .skg-reader__layout--toc { grid-template-columns: clamp(200px,18vw,240px) minmax(0,1fr); gap: clamp(24px,3vw,48px); }
}
@media (max-width: 767.98px) {
  body #wrapper #main .skg-reader .skg-reader__intro { font-size: 15px; }
  body #wrapper #main .skg-reader .skg-reader__body { font-size: 15px; }
}
.vvp-hero-shortcuts .skg-block__items { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; }
.vvp-hero-shortcuts > .skg-block { margin: 0; }
.vvp-hero-shortcuts :is(.skg-compact-link__icon,.skg-compact-link__arrow) { display: none; }
@media (max-width: 767.98px) {
  .vvp-hero-shortcuts .skg-block__items { gap: 0 18px; }
}
body #wrapper #main :is(.skg-reader__related) { position: relative; isolation: isolate; margin-block: 0; padding: var(--vvp-band-padding,var(--vvp-ui-band-space) 0); border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body #wrapper #main :is(.skg-reader__related)::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: var(--vvp-band-bg,var(--vvp-ui-band-gray)); box-shadow: 0 0 0 100vmax var(--vvp-band-bg,var(--vvp-ui-band-gray)); clip-path: inset(0 -100vmax); }
body #wrapper #main :is(.skg-reader__related) { --vvp-band-bg: var(--vvp-ui-panel-bg,#fff); }
body #wrapper #main :where(.skg-directory__filters,.skg-directory__results,.skg-directory__grid) { min-width: 0; max-width: 100%; margin-block: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body #wrapper #main :is(.skg-directory__filters) { padding-top: var(--vvp-ui-section-gap); }
body #wrapper #main :is(.skg-directory__results) { padding-top: var(--vvp-ui-control-gap); }
body #wrapper #main :is(.skg-directory__grid) { padding-block: var(--vvp-ui-control-gap) var(--vvp-ui-band-space); }
body #wrapper #main :is(.skg-directory__header) { margin-bottom: 0; }
body #wrapper #main .skg-reader .skg-prose h2 { margin-block: var(--vvp-ui-reading-gap) 16px; }
body #wrapper #main .skg-reader .skg-prose :is(h3,h4) { margin-block: var(--vvp-ui-section-gap) 12px; }
body #wrapper #main .skg-reader__body > .skg-section > :is(h2,h3,h4):first-child { margin-top: 0; }
body #wrapper #main .skg-directory__filters { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.vvp-filter-search-row > .skg-directory__field { flex: 1; min-width: 0; }
@media (max-width: 767.98px) {
  .vvp-filter-search-row > .skg-directory__field { width: 0; }
}
body #wrapper #main .skg-directory__grid { align-items: start; }
body #wrapper #main .skg-directory__read { margin-top: 16px; }
body #wrapper #main .skg-reader__cover img { max-height: 280px; object-fit: contain; }
body #wrapper #main :is(.skg-directory__empty) { max-width: 680px; margin: 24px auto 40px; padding: 0; border: 0; background: transparent; box-shadow: none; text-align: center; }
body #wrapper #main :is(.skg-directory__empty) :is(h2,h3,p) { margin: 0 0 12px; }

/* Vapovor theme type scale (--vvp-type-* tokens, defined by the theme): guide sections. */
.skg-reader-page .skg-section > h2 { font-family: var(--vvp-type-ui, Inter, system-ui, sans-serif) !important; font-size: var(--vvp-type-section-size, 24px) !important; font-weight: var(--vvp-type-section-weight, 600) !important; line-height: var(--vvp-type-section-line, 31px) !important; letter-spacing: var(--vvp-type-section-tracking, -.3px) !important; text-transform: none !important; color: var(--vvp-type-heading-color, #263b63) !important; }
.skg-reader-page .skg-section :is(p, li):not(.vvp-page-hero *) { font-size: var(--vvp-type-reading-size, 16px) !important; line-height: var(--vvp-type-reading-line, 28px) !important; }

/* Lot 5 (20/10/2026): guide cards, filters and the Apply button on the theme roles. */
body #wrapper #main .skg-directory__card h2 { line-height: var(--vvp-type-card-line); letter-spacing: var(--vvp-type-card-tracking); }
body #wrapper #main .skg-directory__filters .form-control { font-size: 16px; }
body #wrapper #main .skg-directory .vvp-refinements__apply { border-radius: var(--vvp-radius-pill); }

/* Lot 6 (20/10/2026): guide colours on the theme palette. */
body #wrapper #main .skg-reader { --skg-color: var(--vvp-color-ink); --skg-muted: var(--vvp-color-text-secondary); --skg-accent: var(--vvp-color-action); --skg-hover: var(--vvp-color-page); --skg-border: var(--vvp-color-line); }
body #wrapper #main .skg-reader .skg-prose .skg-definitions dd { color: var(--vvp-color-text-secondary); }
body #wrapper #main #content.skg-directory-page .skg-directory__filters label { color: var(--vvp-color-text-secondary) !important; }
body #wrapper #main .skg-directory .skg-directory__count { color: var(--vvp-color-text-secondary); }