.svkp{margin:.4rem 0 0;padding-left:1.1rem;list-style:none}
.svkp li{margin:.15rem 0;position:relative;padding-left:1.1rem}
.svkp li:before{content:"✔";position:absolute;left:0;top:0}
.svkp-rtl{margin:.4rem 0 0;padding-right:1.1rem;list-style:none;direction:rtl;text-align:right}
.svkp-rtl li{margin:.15rem 0;position:relative;padding-right:1.1rem;padding-left:0}
.svkp-rtl li:before{content:"✔";position:absolute;right:0;left:auto}

/* Two-column specs table (labels + values) */
.svspecs{width:100%;border-collapse:collapse;margin:.4rem 0 0 0;--svspecs-label-w:12rem}
.svkp + .svspecs{margin-left:2.2rem}
.svkp-rtl + .svspecs{margin-right:2.2rem;margin-left:0}
.svspecs td{display:table-cell;border-bottom:1px solid #e5e7eb;padding:.35rem .5rem;vertical-align:top}
.svspecs td:first-child{color:#111827;font-weight:600;white-space:nowrap;width:var(--svspecs-label-w);min-width:var(--svspecs-label-w);padding-right:.75rem}
.svspecs td:last-child{color:#374151;word-break:break-word}

/* Align this table block visually with .svkp bullet text indent */
.svspecs.svkp-align{margin-left:2.2rem}
/* Opt-out: remove default indent */
.svspecs--noindent{margin-left:0}

/* Tweaks (optional knobs) */
/* Fixed label width; override with inline style or CSS var if needed */
.svspecs--fixed td:first-child{width:40%}
/* Remove row separators */
.svspecs--nolines td{border-bottom:0}
/* Compact spacing */
.svspecs--compact td{padding:.25rem .4rem}

/* Callout boxes with left border accent */
.svcallout{background:#f9fafb;border-left:3px solid #60a5fa;padding:.6rem .75rem;margin:.8rem 0;border-radius:.25rem}

/* Conclusion paragraph with emphasis */
.svconclusion{font-weight:500;margin-top:1rem}

/* FAQ accordion container */
.sv-faq{margin:1rem 0}
.sv-faq-item{border-bottom:1px solid #e5e7eb;padding:.5rem 0}
.sv-faq-q{cursor:pointer;font-weight:600}
.sv-faq-a{margin:.35rem 0 0;color:#374151;line-height:1.6}

/* Disclaimer text styling */
.svdisclaimer{font-size:.875rem;color:#6b7280;margin-top:.75rem}

/* === SV GRID GUARDRAILS — START (non-destructive) === */
.sv-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
  /* prevent layout thrash when content streams in */
  contain: layout paint style;
}
@media (max-width: 1100px) {
  .sv-grid { grid-template-columns: 1fr !important; }
}
.sv-grid > * {
  min-width: 0 !important;  /* stop overflow from forcing a 1-col wrap */
  content-visibility: auto; /* render only when in viewport */
  contain-intrinsic-size: 600px 400px; /* reserve space to avoid jumps */
}
.sv-grid--ready { visibility: visible !important; }
.sv-grid:not(.sv-grid--ready) { visibility: hidden; } /* hide flicker during first paint */
/* === SV GRID GUARDRAILS — END === */

/* === SV FILTERS GATE (non-destructive) === */
.sv-filters { visibility: hidden; }
.sv-filters--ready { visibility: visible; }
.sv-filters__panel { display: none; }
.sv-filters__panel.is-active { display: block; }
/* === SV FILTERS GATE — END === */

/* === SV-PAGE STATIC GRID (pure CSS, no JS) === */
.sv-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(280px, 29vw, 420px);
  gap: 16px;
  align-items: start;
  contain: layout paint style;
}
@media (max-width: 1100px) {
  .sv-page { grid-template-columns: 1fr; }
}
.sv-main { grid-column: 1; min-width: 0; }
.sv-aside { grid-column: 2; min-width: 0; }
@media (max-width: 1100px) {
  .sv-main, .sv-aside { grid-column: 1; }
}
/* === SV-PAGE STATIC GRID — END === */

