/*
Theme Name: WatchWave Child
Theme URI: https://example.invalid/watchwave-child
Description: Tema hijo para personalizaciones seguras del tema padre WatchWave.
Author: WatchWave
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Template: watchwave-parent
Text Domain: watchwave-child
*/

/* Añade aquí las personalizaciones de CSS para conservarlas tras actualizar el tema padre. */


/* WatchWave Professional Finish v1.1 — visual polish only; preserves original sections/content */
:root { --ww-pro-pink:#ff38c7; --ww-pro-violet:#8b5cf6; --ww-pro-ink:#090811; --ww-pro-border:rgba(255,255,255,.12); }
html { scroll-behavior:smooth; }
body { text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:2px solid var(--ww-pro-pink); outline-offset:3px; }
:where(button,.btn,.button,[type=submit]) { transition:transform .18s ease, filter .18s ease, box-shadow .18s ease; }
:where(button,.btn,.button,[type=submit]):hover { filter:brightness(1.07); }
:where(.card,.plan-card,.plan,.channel,.ww-mail-panel,.ww-chat-demo) { border-color:var(--ww-pro-border); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
:where(.card,.plan-card,.plan,.channel,.ww-chat-demo):hover { border-color:rgba(255,56,199,.38); }
:where(img,video,svg,canvas) { max-width:100%; }
:where(.wrap,.container,.inner,.content,.grid,.row) { min-width:0; }
/* Keep the original neon identity, using restrained glow rather than stronger effects. */
.ww-review-contact .ww-mail-panel { box-shadow:0 18px 55px rgba(0,0,0,.32),0 0 24px rgba(139,92,246,.08); }
.ww-review-contact .ww-mail-actions button { box-shadow:0 9px 25px rgba(218,25,194,.20); }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }


/* ==========================================================
   WATCHWAVE PREMIUM FINISH v2.0
   Refinamiento visual conservador: no oculta contenido ni
   reemplaza imágenes, secciones o animaciones originales.
   ========================================================== */
:root {
  --ww-premium-bg: #090811;
  --ww-premium-surface: #11101b;
  --ww-premium-surface-2: #171426;
  --ww-premium-pink: #ff38c7;
  --ww-premium-pink-soft: #ff70d7;
  --ww-premium-violet: #9567ff;
  --ww-premium-text: #f7f4ff;
  --ww-premium-muted: #bdb7cf;
  --ww-premium-line: rgba(210, 190, 255, .16);
  --ww-premium-radius: 18px;
  --ww-premium-shadow: 0 16px 42px rgba(0, 0, 0, .24);
}

html { scroll-padding-top: 92px; }
body { background-color: var(--ww-premium-bg); color: var(--ww-premium-text); }
::selection { background: rgba(255, 56, 199, .3); color: #fff; }
img { image-rendering: auto; }

/* Navigation: acabado limpio sin cambiar estructura ni enlaces */
header.top, .top {
  border-bottom: 1px solid rgba(214, 188, 255, .12);
  background-color: rgba(9, 8, 17, .92);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
}
.top .logo, .top nav a { text-decoration-thickness: .08em; text-underline-offset: .22em; }
.top nav a:focus-visible, .top .logo:focus-visible { border-radius: 7px; }
.top nav a.active, .top nav a[aria-current="page"] { color: var(--ww-premium-pink-soft); }

/* Jerarquía tipográfica coherente; respeta el tamaño responsive existente */
h1, h2, h3 { text-wrap: balance; }
h1 { letter-spacing: -.035em; }
h2 { letter-spacing: -.03em; }
p, li { text-wrap: pretty; }

/* Superficies y tarjetas: bordes suaves, sombra discreta y foco visible */
:where(.card, .plan, .plan-card, .channel, .value-card, .ww-home-plans article,
       .ww-stats > div, .ww-m3u-channel, .ww-chat-demo, .ww-mail-panel) {
  border-color: var(--ww-premium-line);
  box-shadow: var(--ww-premium-shadow);
  border-radius: var(--ww-premium-radius);
}
:where(.card, .plan, .plan-card, .channel, .value-card, .ww-home-plans article):focus-within {
  border-color: rgba(255, 56, 199, .55);
  box-shadow: 0 0 0 1px rgba(255, 56, 199, .10), var(--ww-premium-shadow);
}
:where(.card, .plan, .plan-card, .channel, .value-card, .ww-home-plans article):hover {
  border-color: rgba(149, 103, 255, .42);
}

/* Botones consistentes; sin alterar texto, destino ni funcionalidad */
:where(a.btn, button, .button, [type="submit"], .top > .btn) {
  -webkit-tap-highlight-color: transparent;
  font-weight: 750;
}
:where(a.btn, button, .button, [type="submit"]):focus-visible {
  outline: 2px solid var(--ww-premium-pink-soft);
  outline-offset: 3px;
}
:where(a.btn, .button, [type="submit"]) {
  box-shadow: 0 8px 24px rgba(255, 56, 199, .14);
}
:where(a.btn, .button, [type="submit"]):hover {
  box-shadow: 0 11px 28px rgba(255, 56, 199, .2);
}

/* Formularios: contraste alto y estados comprensibles */
:where(input, select, textarea) {
  color: var(--ww-premium-text);
  border-color: rgba(190, 167, 245, .3);
}
:where(input, select, textarea)::placeholder { color: #aaa2bd; opacity: 1; }
:where(input, select, textarea):focus-visible {
  border-color: var(--ww-premium-pink-soft);
  outline: 2px solid rgba(255, 56, 199, .24);
  outline-offset: 1px;
}
label { color: var(--ww-premium-text); }

/* Mantener el formulario con un único CTA visual y sin introducir botones */
.ww-mail-actions button, #page-contacto #contact-form button[type="submit"] {
  font-weight: 800;
  letter-spacing: .025em;
}

/* Tablas y bloques extensos no deben romper el viewport */
:where(.wrap, .container, main, section, article, .grid, .row) { min-width: 0; }
pre, code { overflow-wrap: anywhere; }

/* Responsive: solo ajuste de espaciado; no se ocultan secciones */
@media (max-width: 760px) {
  :root { --ww-premium-radius: 15px; }
  html { scroll-padding-top: 76px; }
  .wrap { width: min(100% - 28px, 1200px); }
  :where(.card, .plan, .plan-card, .value-card, .ww-home-plans article) { box-shadow: 0 10px 28px rgba(0, 0, 0, .2); }
}

/* Respeta preferencias de movimiento del sistema */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
