/* Tokens oscuros del kit aportado por Marc, 15-10-2026. Sin reset global. */
body.svp-pro-site.svp-theme-dark {

  --svp-brand-violet:#5c088b;
  --svp-brand-magenta:#fa0287;
  --svp-brand-aqua:#69e6dc;
  --svp-aqua-ink:#69e6dc;
  --svp-link-ink:#69e6dc;
  --svp-link-hover:#9ceee7;
  --svp-canvas:#0b0d12;
  --svp-surface:#151922;
  --svp-surface-soft:#1e2532;
  --svp-ink:#f2f4f7;
  --svp-muted:#98a2b3;
  --svp-line:#303744;
  --svp-accent:#b180de;
  --svp-accent-hover:#c39ae8;
  --svp-on-accent:#191222;
  --svp-action-fill:#db0075;
  --svp-action-hover:#c7006a;
  --svp-on-action:#ffffff;
  --svp-focus:#c9a5ee;
  --svp-control-border:#7c889b;
  --svp-placeholder:#98a2b3;
  --svp-violet-ink:#d7b9f2;
  --svp-violet-soft:#2a1d36;
  --svp-magenta-ink:#ff63b6;
  --svp-success-ink:#75e0a7;
  --svp-success-soft:#102c24;
  --svp-warning-ink:#fec84b;
  --svp-warning-soft:#33291b;
  --svp-danger-ink:#fda29b;
  --svp-danger-soft:#352022;
    color-scheme:dark;
  --svp-font: "SVP Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --svp-space-1: 4px; --svp-space-2: 8px; --svp-space-4: 16px;
  --svp-space-6: 24px; --svp-space-8: 32px; --svp-space-12: 48px; --svp-space-16: 64px;
  --svp-radius-card: 16px; --svp-radius-control: 10px;
  --svp-card-wash: linear-gradient(125deg,
    color-mix(in srgb,var(--svp-brand-violet) 8%,var(--svp-surface)),
    var(--svp-surface) 55%,
    color-mix(in srgb,var(--svp-brand-aqua) 6%,var(--svp-surface)));
  background: var(--svp-canvas); color: var(--svp-ink);
  font-family: var(--svp-font); font-size: 16px; line-height: 1.6;
}
/* El namespace se añade solo en portada, Amazon y SEO Girona. */
.svp-pro-site :is(.svp-home,.svp-service-page),
.svp-pro-site :is(.svp-home,.svp-service-page) *,
.svp-pro-site .wp-block-buttons .wp-element-button { box-sizing: border-box; }
.svp-pro-site .site-content { padding: 0 24px 64px; background: transparent; }
.svp-pro-site #main .inside-article {
  max-width: 1200px; margin-inline: auto; padding: 144px 24px 32px !important;
  background: transparent;
}
.svp-pro-site #main .entry-content { margin-top: 0 !important; }
.svp-pro-site :is(.svp-home,.svp-service-page) { font-size: 16px; line-height: 1.6; }
.svp-pro-site :is(.svp-home,.svp-service-page) .wp-block-group__inner-container { padding: 0 !important; }
.svp-pro-site :is(.svp-home,.svp-service-page) :is(h1,h2,h3),
.svp-pro-site .entry-title {
  color: var(--svp-ink); font-weight: 650; line-height: 1.2; letter-spacing: -.025em;
  margin-block: 0 16px;
}
.svp-pro-site :is(.svp-home,.svp-service-page) h1,
.svp-pro-site .entry-title { font-size: clamp(28px,4vw,44px); max-width: 22ch; }
.svp-pro-site :is(.svp-home,.svp-service-page) h2 { font-size: 24px; max-width: 36ch; }
.svp-pro-site :is(.svp-home,.svp-service-page) h3 { font-size: 20px; }
.svp-pro-site :is(.svp-home,.svp-service-page) p { max-width: 65ch; margin-block: 0 16px; }
.svp-pro-site :is(.svp-home,.svp-service-page) .svp-eyebrow {
  color: var(--svp-magenta-ink); font-size: 11px; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase; margin-bottom: 8px;
}
.svp-pro-site .svp-home-lead, .svp-pro-site .svp-seo-page h1 + p { font-size: 18px; color: var(--svp-muted); }
.svp-pro-site :is(.svp-home,.svp-service-page) a:not(.wp-element-button),
.svp-pro-site .svp-footer-note a { color: var(--svp-link-ink); text-decoration: underline; text-underline-offset: .18em; }
.svp-pro-site :is(.svp-home,.svp-service-page) a:not(.wp-element-button):hover { color: var(--svp-link-hover); }
.svp-pro-site :is(.svp-home,.svp-service-page) strong { color: var(--svp-ink); }
.svp-pro-site :is(.svp-home,.svp-service-page) .wp-block-buttons { gap: 12px; margin-top: 24px; }
/* Resolver el !important heredado de GP solo en estas páginas de ensayo. */
body.svp-pro-site .wp-block-buttons .wp-block-button .wp-element-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 10px 20px; border: 1px solid var(--svp-action-fill) !important;
  border-radius: var(--svp-radius-control); background: var(--svp-action-fill) !important;
  color: var(--svp-on-action) !important; font-family: var(--svp-font);
  font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none;
  transition: background-color 160ms, border-color 160ms;
}
body.svp-pro-site .wp-block-buttons .wp-block-button .wp-element-button:hover {
  background: var(--svp-action-hover) !important; border-color: var(--svp-action-hover) !important;
  color: var(--svp-on-action) !important;
}
body.svp-pro-site .wp-block-buttons .is-style-outline .wp-element-button {
  background: var(--svp-surface) !important; color: var(--svp-ink) !important;
  border-color: var(--svp-control-border) !important;
}
body.svp-pro-site .wp-block-buttons .is-style-outline .wp-element-button:hover {
  background: var(--svp-surface-soft) !important; color: var(--svp-ink) !important;
  border-color: var(--svp-control-border) !important;
}
.svp-pro-site :is(.site-header,.main-navigation) .wp-block-buttons .wp-block-button .wp-element-button { min-height: 52px; }
.svp-pro-site :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--svp-focus); outline-offset: 3px; }
.svp-pro-site .svp-home-hero { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 64px; align-items: center; }
.svp-pro-site :is(.svp-home-hero,.svp-home-grid,.svp-service-grid,.svp-access-grid,.svp-team-layout) > .wp-block-group__inner-container { display: contents; }
.svp-pro-site :is(.svp-home-card,.svp-service-card,.svp-home-story,.svp-pro-note,.svp-home-aside) {
  padding: 24px; border: 1px solid var(--svp-line); border-radius: var(--svp-radius-card);
  background: var(--svp-surface); background-image: var(--svp-card-wash);
}
.svp-pro-site .svp-home-aside {
  /* Contenido casi opaco y borde claro: conserva lectura sobre el cristal. */
  background: var(--svp-surface); background-image: var(--svp-card-wash);
  box-shadow: inset 0 1px 0 #ffffff12,0 16px 48px #00000026;

}
@supports ((backdrop-filter:blur(16px)) or (-webkit-backdrop-filter:blur(16px))) {
  .svp-pro-site .svp-home-aside {
    background:linear-gradient(125deg,color-mix(in srgb,var(--svp-brand-violet) 5%,transparent),transparent 55%,color-mix(in srgb,var(--svp-brand-aqua) 4%,transparent)),color-mix(in srgb,var(--svp-surface) 92%,transparent);
    -webkit-backdrop-filter:blur(16px) saturate(115%); backdrop-filter:blur(16px) saturate(115%);
  }
}
.svp-pro-site .svp-home-aside p:not(.svp-eyebrow) { padding-top: 16px; border-top: 1px solid var(--svp-line); color: var(--svp-muted); }
.svp-pro-site .svp-home-aside p:last-child { margin-bottom: 0; }
.svp-pro-site .svp-home-section { margin-top: 64px; scroll-margin-top: 40px; }
.svp-pro-site .svp-home-grid, .svp-pro-site .svp-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
.svp-pro-site :is(.svp-home-card,.svp-service-card) p:last-child { margin-bottom: 0; }
.svp-pro-site .svp-home :is(ol,ul), .svp-pro-site .svp-service-page :is(ol,ul) { max-width: 65ch; padding-left: 24px; }
.svp-pro-site :is(.svp-home,.svp-service-page) li { margin-block: 16px; padding-left: 4px; }
.svp-pro-site .svp-service-page > h2 { margin-top: 48px; }
.svp-pro-site .svp-service-page > .wp-block-group__inner-container > h2 { margin-top: 48px; }
.svp-pro-site :is(.svp-home,.svp-service-page) details { padding-block: 24px; border-bottom: 1px solid var(--svp-line); }
.svp-pro-site :is(.svp-home,.svp-service-page) summary { color: var(--svp-ink); font-weight: 650; cursor: pointer; }
.svp-pro-site :is(.svp-home,.svp-service-page) details p { margin-top: 16px; }
.svp-pro-site .svp-home-contact { padding-top: 32px; border-top: 1px solid var(--svp-line); }
.svp-pro-site .svp-brand-card { position: relative; overflow: hidden; }
.svp-pro-site .svp-brand-monogram { color: var(--svp-muted); font-size: 11px; letter-spacing: .13em; margin-bottom: 24px; }
.svp-pro-site .svp-brand-status { display: inline-block; color: var(--svp-muted); border: 1px solid var(--svp-line); border-radius: 10px; padding: 4px 8px; font-size: 12px; }
.svp-pro-site .svp-brand-game { border-top: 2px solid var(--svp-brand-violet); }
.svp-pro-site .svp-pro-note { margin-top: 24px; border-left: 2px solid var(--svp-brand-aqua); }
.svp-pro-site .svp-access-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.svp-pro-site .svp-footer-note { padding: 32px 24px; text-align: center; border-top: 1px solid var(--svp-line); }
.svp-pro-site .svp-footer-note h2 { font-size: 24px; margin-bottom: 16px; }
.home.svp-pro-site .svp-footer-note { display: none; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .svp-pro-site .svp-brand-card { transition: transform 160ms ease,border-color 160ms ease; }
  .svp-pro-site .svp-brand-card:hover, .svp-pro-site .svp-brand-card:focus-within { transform: translateY(-4px); border-color: var(--svp-accent); }
}
@media (max-width:1050px) {
  .svp-pro-site .svp-home-hero { grid-template-columns: 1fr; gap: 32px; }
  .svp-pro-site .svp-home-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) { .svp-pro-site .svp-service-grid { grid-template-columns: 1fr; } }
@media (max-width:600px) {
  .svp-pro-site .site-content { padding: 0 8px 48px; }
  .svp-pro-site #main .inside-article { padding: 112px 16px 24px !important; }
  .svp-pro-site :is(.svp-home-grid,.svp-access-grid) { grid-template-columns: 1fr; }
  .svp-pro-site .wp-block-button { width: 100%; }
  body.svp-pro-site .wp-block-buttons .wp-block-button .wp-element-button { display: flex; width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .svp-pro-site *, .svp-pro-site *::before, .svp-pro-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .svp-pro-site .reveal { opacity: 1 !important; transform: none !important; }
}
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more), (forced-colors:active) {
  .svp-pro-site :is(.svp-home-card,.svp-service-card,.svp-home-story,.svp-pro-note,.svp-home-aside) { background: var(--svp-surface); background-image: none; -webkit-backdrop-filter:none; backdrop-filter: none; box-shadow: none; }
}

.svp-pro-site .svp-bc-wrap { background: var(--svp-canvas); }
.svp-pro-site .svp-breadcrumbs a, .svp-pro-site .svp-breadcrumbs a:visited { color: var(--svp-link-ink); }

/* Escena propia: rutas de conexión, distinta de la doble hélice del producto. */
.svp-pro-site .svp-home-hero { position:relative; isolation:isolate; }
.svp-pro-site .svp-network { position:absolute; inset:-48px -16px; z-index:-1; overflow:hidden; pointer-events:none; opacity:.14; }
.svp-pro-site .svp-network img { width:100%; height:100%; }
.svp-network .svp-flow { transform-box:fill-box; transform-origin:center; animation:svp-drift 22s ease-in-out infinite alternate; animation-play-state:paused; }
.svp-network .svp-flow-secondary { animation-duration:29s; animation-direction:alternate-reverse; }
.svp-network.is-running .svp-flow { animation-play-state:running; }
@keyframes svp-drift { from { transform:translateY(-12px) rotate(-2deg); } to { transform:translateY(12px) rotate(2deg); } }
.svp-pro-site .svp-motion-control { min-height:48px; padding:10px 16px; border:1px solid var(--svp-control-border); border-radius:10px; background:var(--svp-surface); color:var(--svp-ink); font:600 14px/1.3 var(--svp-font); cursor:pointer; margin-top:16px; }
.svp-motion-control[hidden] { display:none !important; }
.svp-pro-site .svp-media { position:relative; overflow:hidden; margin:0 0 24px; border-radius:10px; background:var(--svp-canvas); aspect-ratio:16/9; }
.svp-pro-site .svp-media video { display:block; width:100%; height:100%; object-fit:cover; }
/* Filtro exclusivamente sobre la imagen; controles sin filtros. */
.svp-pro-site .svp-media > img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.8); }
.svp-pro-site .svp-media > [hidden] { display:none !important; }
.svp-pro-site .svp-video-play { position:absolute; bottom:16px; left:16px; min-height:48px; border:1px solid var(--svp-action-fill); border-radius:10px; padding:10px 20px; background:var(--svp-action-fill); color:var(--svp-on-action); font:600 14px/1.3 var(--svp-font); cursor:pointer; }
.svp-pro-site .svp-video-play:hover { background:var(--svp-action-hover); }
.svp-pro-site .svp-media-fallback { position:absolute; inset:0; background:var(--svp-surface); padding:24px; }
.svp-pro-site .svp-team-layout { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px; }
.svp-pro-site .svp-team-photo { margin:0; overflow:hidden; border-radius:16px; background:var(--svp-surface); }
.svp-pro-site .svp-team-photo img { display:block; width:100%; height:auto; filter:saturate(.8); }
.svp-pro-site .svp-team-photo figcaption { padding:16px 24px; color:var(--svp-muted); font-size:14px; }
@media (max-width:600px) { .svp-pro-site .svp-team-layout { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce), (prefers-reduced-transparency:reduce), (prefers-contrast:more), (forced-colors:active) {
  .svp-pro-site .svp-network, .svp-pro-site .svp-motion-control { display:none !important; }
  .svp-pro-site .svp-media::after { display:none; }
}
