/* =====================================================================
   GVSX Mod — páginas de conteúdo (Conteúdo do patch, Tutorial, Dúvidas) e legais.
   ===================================================================== */

.gvsx-page .gvsx-section__head h1 { font-size: var(--wp--preset--font-size--xx-large); margin: 0 0 0.6rem; }

/* =====================================================================
   Conteúdo do patch: abas por versão, busca, índice fixo e cards de categoria
   ===================================================================== */
.gvsx-cp { --gvsx-cp-bar-h: 76px; }
.gvsx-cp__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; flex-wrap: wrap; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.gvsx-cp__head .gvsx-section__head { margin-bottom: 0; max-width: 44rem; }
.gvsx-cp__video { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; padding: 0 1rem 0 0.8rem; border: 1px solid var(--gvsx-line-strong); border-radius: var(--gvsx-radius-m); color: var(--gvsx-text); font-weight: 600; font-size: 0.92rem; text-decoration: none; white-space: nowrap; transition: border-color var(--gvsx-dur-2) var(--gvsx-ease-out), background-color var(--gvsx-dur-2) var(--gvsx-ease-out); }
.gvsx-cp__video svg { color: var(--gvsx-accent-text); }
@media (hover: hover) and (pointer: fine) { .gvsx-cp__video:hover { border-color: var(--gvsx-accent); background: var(--gvsx-accent-soft); text-decoration: none; } }
.gvsx-cp__none { color: var(--gvsx-text-2); }

/* barra: abas + busca + contagem; fica presa sob o cabeçalho no desktop */
.gvsx-cp__bar { position: sticky; top: var(--gvsx-header-h); z-index: 5; display: flex; align-items: center; gap: 0.75rem 1rem; flex-wrap: wrap; padding: 0.6rem 0; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); background: var(--gvsx-bg); box-shadow: 0 1px 0 var(--gvsx-line); }
.gvsx-cp__bar .gvsx-tabs { margin-bottom: 0; }
.gvsx-cp__search { flex: 1 1 260px; display: flex; align-items: center; gap: 0.5rem; min-height: 48px; padding: 0 0.9rem; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-m); background: var(--gvsx-surface); color: var(--gvsx-text-3); cursor: text; transition: border-color var(--gvsx-dur-2) var(--gvsx-ease-out), box-shadow var(--gvsx-dur-2) var(--gvsx-ease-out); }
.gvsx-cp__search:focus-within { border-color: var(--gvsx-accent); box-shadow: 0 0 0 4px var(--gvsx-accent-soft); }
.gvsx-cp__search input[type="search"] { flex: 1; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 16px; color: var(--gvsx-text); }
.gvsx-cp__search input[type="search"]:focus { border: 0 !important; box-shadow: none; }
.gvsx-cp__count { font-size: 0.9rem; color: var(--gvsx-text-2); white-space: nowrap; }
.gvsx-cp__count b { font-family: var(--gvsx-font-mono); font-weight: 700; color: var(--gvsx-text); }

/* cabeçalho da versão */
.gvsx-cp__vhead { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem 1.25rem; align-items: center; padding: 1.25rem; margin-bottom: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-l); background: var(--gvsx-surface); }
.gvsx-cp__art { width: 88px; height: 88px; border-radius: var(--gvsx-radius-m); object-fit: cover; background: #0B0F0C; }
.gvsx-cp__vinfo h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 0.5rem; font-size: clamp(1.5rem, 2.6vw, 2.1rem); letter-spacing: -0.02em; line-height: 1.05; }
.gvsx-cp__vinfo p { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem 0.9rem; margin: 0; color: var(--gvsx-text-2); font-size: 0.95rem; max-width: none; }
.gvsx-cp__stats b { color: var(--gvsx-text); }
.gvsx-cp__vinfo .gvsx-cp__ref { display: flex; align-items: flex-start; gap: 0.5rem; margin: 0.6rem 0 0; padding: 0.55rem 0.75rem; border-radius: var(--gvsx-radius-m); background: var(--gvsx-info-soft); border: 1px solid rgb(var(--gvsx-info-rgb) / 0.35); color: var(--gvsx-text-2); font-size: 0.88rem; line-height: 1.45; max-width: 44rem; }
.gvsx-cp__ref .gvsx-i { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--gvsx-info); }
.gvsx-cp__cta { white-space: nowrap; }

/* corpo: índice fixo à esquerda, cards à direita */
.gvsx-cp__body { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 2rem clamp(1.5rem, 3vw, 3rem); align-items: start; }
.gvsx-cp__index { min-width: 0; }
.gvsx-cp__index { position: sticky; top: calc(var(--gvsx-header-h) + var(--gvsx-cp-bar-h) + 1rem); max-height: calc(100vh - var(--gvsx-header-h) - var(--gvsx-cp-bar-h) - 2rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.gvsx-cp__index ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.gvsx-cp__index a { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.45rem 0.6rem; border-left: 2px solid transparent; border-radius: 0 var(--gvsx-radius-s) var(--gvsx-radius-s) 0; color: var(--gvsx-text-2); font-size: 0.88rem; text-decoration: none; transition: color var(--gvsx-dur-2) var(--gvsx-ease-out), background-color var(--gvsx-dur-2) var(--gvsx-ease-out), border-color var(--gvsx-dur-2) var(--gvsx-ease-out), opacity var(--gvsx-dur-2) var(--gvsx-ease-out); }
.gvsx-cp__index a b { font-family: var(--gvsx-font-mono); font-weight: 600; font-size: 0.78rem; color: var(--gvsx-text-3); }
.gvsx-cp__index a[aria-current="true"] { color: var(--gvsx-text); background: var(--gvsx-surface); border-left-color: var(--gvsx-accent); }
.gvsx-cp__index a.is-off { opacity: 0.4; }
@media (hover: hover) and (pointer: fine) { .gvsx-cp__index a:hover { color: var(--gvsx-text); text-decoration: none; } }

.gvsx-cp__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.gvsx-cp__card { margin: 0; padding: 1.1rem 1.25rem 1.2rem; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-l); background: var(--gvsx-surface); scroll-margin-top: calc(var(--gvsx-header-h) + var(--gvsx-cp-bar-h) + 1rem); }
.gvsx-cp__card--wide { grid-column: 1 / -1; }
.gvsx-cp__card h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin: 0 0 0.5rem; font-family: var(--gvsx-font-text); font-size: 1rem; font-weight: 600; letter-spacing: 0; line-height: 1.3; color: var(--gvsx-text); }
.gvsx-cp__card h3 small { flex: none; font-family: var(--gvsx-font-mono); font-size: 0.78rem; font-weight: 600; color: var(--gvsx-text-3); white-space: nowrap; }
.gvsx-cp__card ul { list-style: none; margin: 0; padding: 0; }
.gvsx-cp__card--wide ul { columns: 2; column-gap: 2rem; }
.gvsx-cp__card li { position: relative; padding: 0.35rem 0 0.35rem 1rem; border-top: 1px solid var(--gvsx-line); font-size: 0.9rem; line-height: 1.45; color: var(--gvsx-text-2); break-inside: avoid; }
.gvsx-cp__card li::before { content: ""; position: absolute; left: 0; top: 0.95em; width: 5px; height: 5px; border-radius: 50%; background: var(--gvsx-accent); }
.gvsx-cp__card li:first-child { border-top: 0; }
.gvsx-cp__card li[hidden], .gvsx-cp__card[hidden] { display: none; }
.gvsx-cp__card mark { background: var(--gvsx-accent-soft); color: var(--gvsx-accent-text); border-radius: 3px; padding: 0 0.1em; }
.gvsx-cp__empty { grid-column: 1 / -1; margin: 0; padding: 2.5rem 1rem; text-align: center; color: var(--gvsx-text-2); border: 1px dashed var(--gvsx-line-strong); border-radius: var(--gvsx-radius-l); max-width: none; }
.gvsx-cp__empty[hidden] { display: none; }

@media (max-width: 1023px) {
	.gvsx-cp__body { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	.gvsx-cp__index { position: static; max-height: none; overflow: visible; margin-inline: calc(-1 * var(--gvsx-gutter)); padding-inline: var(--gvsx-gutter); }
	.gvsx-cp__index ol { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
	.gvsx-cp__index ol::-webkit-scrollbar { display: none; }
	.gvsx-cp__index a { flex: none; white-space: nowrap; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-m); padding: 0.45rem 0.8rem; background: var(--gvsx-surface); }
	.gvsx-cp__index a[aria-current="true"] { border-color: var(--gvsx-accent); }
}
@media (max-width: 899px) { .gvsx-cp__bar { position: static; box-shadow: none; padding: 0; } }
@media (max-width: 699px) {
	.gvsx-cp__grid { grid-template-columns: 1fr; }
	.gvsx-cp__card--wide ul { columns: 1; }
	.gvsx-cp__vhead { grid-template-columns: auto minmax(0, 1fr); padding: 1rem; }
	.gvsx-cp__art { width: 72px; height: 72px; }
	.gvsx-cp__cta { grid-column: 1 / -1; width: 100%; }
	.gvsx-cp__search { flex-basis: 100%; }
}

/* =====================================================================
   Tutorial: abertura com a capa, índice fixo, requisitos, passos com trilho, problemas e suporte
   ===================================================================== */
.gvsx-tut__hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.gvsx-tut__intro h1 { font-size: var(--wp--preset--font-size--xx-large); margin: 0 0 0.8rem; }
.gvsx-tut__intro > p { margin: 0 0 1.25rem; color: var(--gvsx-text-2); font-size: var(--wp--preset--font-size--medium); }
.gvsx-tut__build { margin: 0 0 var(--gvsx-s-4); }
.gvsx-tut__facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.gvsx-tut__facts li { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.5rem 0.8rem; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-m); background: var(--gvsx-surface); font-size: 0.88rem; font-weight: 500; color: var(--gvsx-text-2); }
.gvsx-tut__facts svg { color: var(--gvsx-accent-text); }
.gvsx-tut__cover { margin: 0; }
.gvsx-tut__cover img { display: block; width: 100%; height: auto; }

.gvsx-tut__layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 2rem clamp(2rem, 4vw, 4rem); align-items: start; }
.gvsx-tut__index { min-width: 0; }
.gvsx-tut__index { position: sticky; top: calc(var(--gvsx-header-h) + 1.5rem); max-height: calc(100vh - var(--gvsx-header-h) - 3rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.gvsx-tut__index ol { list-style: none; margin: 0; padding: 0; }
.gvsx-tut__index ol ol { margin: 0.15rem 0 0.35rem 0.6rem; padding-left: 0.4rem; border-left: 1px solid var(--gvsx-line); }
.gvsx-tut__index a { display: flex; align-items: baseline; gap: 0.5rem; padding: 0.4rem 0.6rem; border-radius: var(--gvsx-radius-s); color: var(--gvsx-text-2); font-size: 0.92rem; font-weight: 600; text-decoration: none; transition: color var(--gvsx-dur-2) var(--gvsx-ease-out), background-color var(--gvsx-dur-2) var(--gvsx-ease-out); }
.gvsx-tut__index ol ol a { padding: 0.3rem 0.6rem; font-size: 0.84rem; font-weight: 500; color: var(--gvsx-text-3); }
.gvsx-tut__index a b { flex: none; min-width: 1.1em; font-family: var(--gvsx-font-mono); font-size: 0.74rem; font-weight: 600; color: var(--gvsx-text-3); }
.gvsx-tut__index a[aria-current="true"] { color: var(--gvsx-text); background: var(--gvsx-surface); }
.gvsx-tut__index a[aria-current="true"] b { color: var(--gvsx-accent-text); }
.gvsx-tut__index li.is-within > a { color: var(--gvsx-text); }
@media (hover: hover) and (pointer: fine) { .gvsx-tut__index a:hover { color: var(--gvsx-text); text-decoration: none; } }

.gvsx-tut__body { min-width: 0; max-width: 56rem; }
.gvsx-tut__sec { scroll-margin-top: calc(var(--gvsx-header-h) + 1rem); }
.gvsx-tut__sec + .gvsx-tut__sec { margin-top: clamp(3rem, 6vw, 5rem); padding-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--gvsx-line); }
.gvsx-tut__sec .gvsx-section__head h2 { font-size: var(--wp--preset--font-size--x-large); }

.gvsx-tut__req { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gvsx-tut__req li { padding: 1.1rem 1.2rem 1.2rem; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-l); background: var(--gvsx-surface); }
.gvsx-tut__req svg { width: 1.5rem; height: 1.5rem; color: var(--gvsx-accent-text); margin-bottom: 0.7rem; }
.gvsx-tut__req h3 { margin: 0 0 0.35rem; font-family: var(--gvsx-font-text); font-size: 1rem; font-weight: 600; letter-spacing: 0; }
.gvsx-tut__req p { margin: 0; font-size: 0.9rem; color: var(--gvsx-text-2); max-width: none; }
.gvsx-tut__req a { color: var(--gvsx-accent-text); }

.gvsx-tut__alert { display: flex; gap: 0.8rem; align-items: flex-start; margin: 1rem 0 0; padding: 1rem 1.1rem; border: 1px solid rgb(var(--gvsx-warn-rgb) / 0.4); border-radius: var(--gvsx-radius-m); background: var(--gvsx-warn-soft); color: var(--gvsx-text-2); font-size: 0.92rem; max-width: none; }
.gvsx-tut__alert svg { flex: none; color: var(--gvsx-warn); margin-top: 0.15em; }
.gvsx-tut__alert strong { color: var(--gvsx-text); }

/* passos: número fixo na coluna da esquerda, trilho que se preenche conforme a leitura avança */
.gvsx-tut__steps { list-style: none; margin: 0; padding: 0; }
.gvsx-tut__step { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 1.25rem; padding-bottom: clamp(2rem, 4vw, 3rem); scroll-margin-top: calc(var(--gvsx-header-h) + 1rem); }
.gvsx-tut__step::before { content: ""; position: absolute; left: 23px; top: 48px; bottom: 0; width: 2px; background: var(--gvsx-line); transition: background-color var(--gvsx-dur-4) var(--gvsx-ease-out); }
.gvsx-tut__step:last-child::before { display: none; }
.gvsx-tut__step.is-done::before { background: var(--gvsx-accent); }
.gvsx-tut__n { position: sticky; top: calc(var(--gvsx-header-h) + 1rem); z-index: 1; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--gvsx-line-strong); background: var(--gvsx-bg); color: var(--gvsx-text-3); font-family: var(--gvsx-font-mono); font-weight: 700; font-size: 1rem; transition: background-color var(--gvsx-dur-3) var(--gvsx-ease-out), color var(--gvsx-dur-3) var(--gvsx-ease-out), border-color var(--gvsx-dur-3) var(--gvsx-ease-out), transform var(--gvsx-dur-3) var(--gvsx-ease-out); }
.gvsx-tut__step.is-done .gvsx-tut__n { border-color: var(--gvsx-accent); color: var(--gvsx-accent-text); }
.gvsx-tut__step.is-active .gvsx-tut__n { background: var(--gvsx-accent); border-color: var(--gvsx-accent); color: var(--gvsx-accent-ink); transform: scale(1.06); }
.gvsx-tut__step--opt .gvsx-tut__n { border-style: dashed; }
.gvsx-tut__content h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 0.7rem; margin: 0.55rem 0 0.7rem; font-size: clamp(1.25rem, 2vw, 1.5rem); letter-spacing: -0.02em; line-height: 1.1; }
.gvsx-tut__content p { margin: 0 0 0.8rem; color: var(--gvsx-text-2); max-width: none; }
.gvsx-tut__content strong { color: var(--gvsx-text); }
.gvsx-tut__content ol { margin: 0 0 0.8rem; padding-left: 1.4rem; color: var(--gvsx-text-2); }
.gvsx-tut__content ol li { margin: 0 0 0.4rem; padding-left: 0.2rem; }
.gvsx-tut__content ol li::marker { font-family: var(--gvsx-font-mono); font-weight: 700; color: var(--gvsx-accent-text); }
.gvsx-tut__tip { display: flex; gap: 0.7rem; align-items: flex-start; padding: 0.8rem 1rem; border: 1px solid rgb(var(--gvsx-info-rgb) / 0.35); border-radius: var(--gvsx-radius-m); background: var(--gvsx-info-soft); font-size: 0.9rem; }
.gvsx-tut__tip svg { flex: none; color: var(--gvsx-info); margin-top: 0.15em; }
.gvsx-tut__tip--warn { border-color: rgb(var(--gvsx-warn-rgb) / 0.4); background: var(--gvsx-warn-soft); }
.gvsx-tut__tip--warn svg { color: var(--gvsx-warn); }
.gvsx-tut__shot { margin: 1rem 0 0; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-m); overflow: hidden; background: var(--gvsx-surface); }
.gvsx-tut__shot img { display: block; width: 100%; height: auto; }

.gvsx-tut__problems { border-bottom: 1px solid var(--gvsx-line); }
.gvsx-tut__problems summary span { flex: 1; }
.gvsx-tut__problems .gvsx-details__body p, .gvsx-tut__problems .gvsx-details__body li { font-size: 0.95rem; }
.gvsx-tut__problems .gvsx-details__body p { margin: 0 0 0.8rem; max-width: none; }
.gvsx-tut__problems ul { margin: 0 0 0.8rem; padding-left: 1.2rem; }
.gvsx-tut__problems li { margin: 0 0 0.35rem; }
.gvsx-tut__problems li::marker { color: var(--gvsx-accent-text); }
.gvsx-tut__problems strong { color: var(--gvsx-text); }
.gvsx-tut__problems code { font-family: var(--gvsx-font-mono); font-size: 0.85em; padding: 0.15em 0.45em; border-radius: 4px; background: var(--gvsx-well); color: var(--gvsx-text); word-break: break-all; }
.gvsx-tut__problems a { color: var(--gvsx-accent-text); }

.gvsx-tut__channels { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gvsx-tut__channel { display: block; color: inherit; text-decoration: none; }
.gvsx-tut__channel > svg { width: 1.75rem; height: 1.75rem; color: var(--gvsx-accent-text); margin-bottom: 0.7rem; }
.gvsx-tut__channel h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 0.4rem; font-size: 1.15rem; letter-spacing: -0.02em; }
.gvsx-tut__channel p { margin: 0 0 0.9rem; font-size: 0.92rem; color: var(--gvsx-text-2); max-width: none; }
.gvsx-tut__channel strong { color: var(--gvsx-text); }
.gvsx-tut__hours { margin: 1.25rem 0 0; font-size: 0.9rem; color: var(--gvsx-text-2); max-width: none; }
.gvsx-tut__hours a { color: var(--gvsx-accent-text); }

@media (max-width: 1023px) {
	.gvsx-tut__hero { grid-template-columns: 1fr; }
	.gvsx-tut__layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.gvsx-tut__body { max-width: none; }
	.gvsx-tut__index { position: sticky; top: var(--gvsx-header-h); z-index: 5; max-height: none; overflow: visible; margin-inline: calc(-1 * var(--gvsx-gutter)); padding: 0.5rem var(--gvsx-gutter); background: var(--gvsx-bg); box-shadow: 0 1px 0 var(--gvsx-line); }
	.gvsx-tut__index ol { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
	.gvsx-tut__index ol::-webkit-scrollbar { display: none; }
	.gvsx-tut__index ol ol { display: none; }
	.gvsx-tut__index a { flex: none; white-space: nowrap; padding: 0.45rem 0.8rem; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-m); background: var(--gvsx-surface); font-size: 0.86rem; }
	.gvsx-tut__index a[aria-current="true"], .gvsx-tut__index li.is-within > a { border-color: var(--gvsx-accent); }
	.gvsx-tut__req { grid-template-columns: 1fr 1fr; }
	.gvsx-tut__sec, .gvsx-tut__step { scroll-margin-top: calc(var(--gvsx-header-h) + 4rem); }
}
@media (max-width: 599px) {
	.gvsx-tut__req, .gvsx-tut__channels { grid-template-columns: 1fr; }
	.gvsx-tut__step { grid-template-columns: 40px minmax(0, 1fr); gap: 0.9rem; }
	.gvsx-tut__n { width: 40px; height: 40px; font-size: 0.9rem; top: calc(var(--gvsx-header-h) + 3.5rem); }
	.gvsx-tut__step::before { left: 19px; top: 40px; }
}

/* @legacy */


/* ---- Páginas legais (trazido do gvsx.css 0.8.1, linhas 2427-2455, retokenizado) ---- */
/* ------------------------------------------------------------------ */
/* Páginas legais — template "page-legal" (v0.6.4)                    */
/* Texto corrido a 780px; tabelas/listas herdadas da Shopify.         */
/* ------------------------------------------------------------------ */
/* A folha jurídica é um bloco da grade; a coluna de leitura fica centrada em 780px dentro dele. */
.gvsx-legal__sheet > * { max-width: 780px; margin-inline: auto; }
.gvsx-legal .gvsx-legal__title { margin: 0 auto 0.5rem; font-size: clamp(1.75rem, 3.4vw, 2.5rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.gvsx-legal .gvsx-legal__content { color: var(--gvsx-text); font-size: 1rem; line-height: 1.7; }
.gvsx-legal .gvsx-legal__content > * { margin-top: 0; margin-bottom: 1.1rem; }
.gvsx-legal .gvsx-legal__content > p:first-child { margin: 0 0 1.8rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--gvsx-glass-border); color: var(--wp--preset--color--muted); font-size: 0.88rem; }
.gvsx-legal .gvsx-legal__content > p:first-child em { font-style: normal; }
.gvsx-legal .gvsx-legal__content h2 { margin: 2.4rem 0 0.9rem; font-size: 1.35rem; font-weight: 800; letter-spacing: -0.015em; color: var(--wp--preset--color--contrast); scroll-margin-top: 110px; }
.gvsx-legal .gvsx-legal__content h3 { margin: 1.7rem 0 0.6rem; font-size: 1.08rem; font-weight: 700; color: var(--wp--preset--color--contrast); }
.gvsx-legal .gvsx-legal__content strong { color: var(--wp--preset--color--contrast); font-weight: 700; }
.gvsx-legal .gvsx-legal__content a { color: var(--gvsx-neon); text-decoration: underline; text-decoration-color: rgb(var(--gvsx-glow-rgb) / 0.35); text-underline-offset: 3px; }
.gvsx-legal .gvsx-legal__content a:hover { text-decoration-color: currentColor; }
.gvsx-legal .gvsx-legal__content ul, .gvsx-legal .gvsx-legal__content ol { padding-left: 1.45rem; }
.gvsx-legal .gvsx-legal__content li { margin: 0 0 0.5rem; padding-left: 0.15rem; }
.gvsx-legal .gvsx-legal__content li::marker { color: var(--gvsx-neon); font-weight: 700; }
.gvsx-legal .wp-block-table { margin: 0 0 1.4rem; overflow-x: auto; border: 1px solid var(--gvsx-glass-border); border-radius: var(--gvsx-radius-l); background: var(--gvsx-glass); }
.gvsx-legal .wp-block-table table { width: 100%; margin: 0; border-collapse: collapse; font-size: 0.93rem; line-height: 1.55; }
.gvsx-legal .wp-block-table th, .gvsx-legal .wp-block-table td { padding: 0.7rem 0.95rem; border: 0; border-bottom: 1px solid var(--gvsx-glass-border); text-align: left; vertical-align: top; }
.gvsx-legal .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.gvsx-legal .wp-block-table thead th { background: rgb(var(--gvsx-fg-rgb) / 0.04); color: var(--wp--preset--color--contrast); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.gvsx-legal .wp-block-table td strong { color: var(--wp--preset--color--contrast); }
@media (max-width: 600px) {
  .gvsx-legal .gvsx-legal__content { font-size: 0.96rem; }
  .gvsx-legal .gvsx-legal__content h2 { margin-top: 2rem; font-size: 1.2rem; }
  .gvsx-legal .wp-block-table table { font-size: 0.86rem; }
  .gvsx-legal .wp-block-table th, .gvsx-legal .wp-block-table td { padding: 0.55rem 0.7rem; }
}
