/* ==========================================================
   TECSIS — Piel global para las páginas heredadas del tema
   Se aplica en todo el sitio menos la portada y el catálogo,
   que ya traen su propio diseño.
   ========================================================== */

body.tzskin{background:#05070d!important;color:var(--txt)!important}

/* --- Se oculta el encabezado, el pie y la barra de título del tema --- */
body.tzskin .masthead,
body.tzskin #phantom,
body.tzskin .page-title,
body.tzskin .titlebar,
body.tzskin #page-title,
body.tzskin .footer,
body.tzskin #footer,
body.tzskin .bottom-bar,
body.tzskin #bottom-bar,
body.tzskin .sidebar-content,
body.tzskin .breadcrumbs,
body.tzskin .joinchat,
body.tzskin #joinchat,
body.tzskin .scroll-top,
body.tzskin .dt-back-to-top{display:none!important}

/* --- El contenedor del tema se libera para ocupar todo el ancho --- */
body.tzskin #main,
body.tzskin .main,
body.tzskin #content,
body.tzskin .content,
body.tzskin .wf-wrap,
body.tzskin .wf-container,
body.tzskin .wf-container-main,
body.tzskin .entry-content,
body.tzskin .vc_row,
body.tzskin .vc_column-inner{
  background:transparent!important;box-shadow:none!important;border:0!important
}
body.tzskin #main{padding:0!important;margin:0!important}

/* Filas del constructor de páginas: nada de losas blancas */
body.tzskin .vc_row,
body.tzskin .vc_row-has-fill,
body.tzskin .vc_row-has-fill > .vc_column_container > .vc_column-inner,
body.tzskin .vc_section,
body.tzskin .wpb_wrapper,
body.tzskin .wpb_text_column,
body.tzskin .wf-container,
body.tzskin .wf-cell,
body.tzskin .dt-section,
body.tzskin .vc_col-sm-12,
body.tzskin .vc_column_container{
  background-color:transparent!important;box-shadow:none!important
}
/* Encabezados del constructor, que traen color en línea */
body.tzskin .tzpg-cuerpo .vc_custom_heading,
body.tzskin .tzpg-cuerpo .vc_custom_heading *,
body.tzskin .tzpg-cuerpo .wpb_heading{color:var(--txt)!important}

/* --- Marco de contenido propio --- */
.tzpg{
  position:relative;isolation:isolate;overflow:hidden;
  padding:70px 0 96px;
  background:
    radial-gradient(48% 40% at 12% 6%,rgba(47,123,255,.20),transparent 70%),
    radial-gradient(42% 36% at 92% 2%,rgba(34,211,238,.13),transparent 70%),
    linear-gradient(180deg,#070b14,#05070d 60%)
}
.tzpg::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.4;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000 20%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000 20%,transparent 100%)
}
.tzpg-hd{max-width:var(--max);margin:0 auto 44px;padding:0 24px}
.tzpg-hd h1{
  font-family:var(--ff-d);font-weight:800;letter-spacing:-.02em;line-height:1.1;
  font-size:clamp(1.9rem,3.6vw,3rem);margin:16px 0 0;color:var(--txt)
}
.tzpg-hd .tz-eyebrow{margin-bottom:2px}
.tzpg-cuerpo{max-width:var(--max);margin:0 auto;padding:0 24px}

/* --- Tipografía del contenido heredado, forzada a leerse en oscuro --- */
body.tzskin .tzpg-cuerpo h1,
body.tzskin .tzpg-cuerpo h2,
body.tzskin .tzpg-cuerpo h3,
body.tzskin .tzpg-cuerpo h4,
body.tzskin .tzpg-cuerpo h5,
body.tzskin .tzpg-cuerpo h6{
  font-family:var(--ff-d)!important;color:var(--txt)!important;
  letter-spacing:-.02em;line-height:1.2;margin:34px 0 14px
}
body.tzskin .tzpg-cuerpo h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
body.tzskin .tzpg-cuerpo h3{font-size:clamp(1.2rem,1.9vw,1.5rem)}
body.tzskin .tzpg-cuerpo p,
body.tzskin .tzpg-cuerpo li,
body.tzskin .tzpg-cuerpo td,
body.tzskin .tzpg-cuerpo th,
body.tzskin .tzpg-cuerpo span,
body.tzskin .tzpg-cuerpo div,
body.tzskin .tzpg-cuerpo strong,
body.tzskin .tzpg-cuerpo em,
body.tzskin .tzpg-cuerpo blockquote{
  color:var(--txt-2)!important;font-family:var(--ff-b)!important
}
body.tzskin .tzpg-cuerpo strong,
body.tzskin .tzpg-cuerpo b{color:var(--txt)!important}
body.tzskin .tzpg-cuerpo p{font-size:1.02rem;line-height:1.75;margin:0 0 18px}
body.tzskin .tzpg-cuerpo a{color:var(--blue-l)!important;text-decoration:none}
body.tzskin .tzpg-cuerpo a:hover{color:var(--cyan)!important;text-decoration:underline}
body.tzskin .tzpg-cuerpo ul{list-style:none;padding:0;margin:0 0 22px}
body.tzskin .tzpg-cuerpo ul > li{
  position:relative;padding-left:26px;margin-bottom:10px;font-size:.98rem
}
body.tzskin .tzpg-cuerpo ul > li::before{
  content:"";position:absolute;left:0;top:.5em;width:15px;height:15px;border-radius:50%;
  background:rgba(47,123,255,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b9bff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat
}
body.tzskin .tzpg-cuerpo ol{padding-left:22px;margin:0 0 22px}
body.tzskin .tzpg-cuerpo img{
  max-width:100%;height:auto;border-radius:16px;
  box-shadow:0 22px 54px -18px rgba(0,0,0,.75)
}
body.tzskin .tzpg-cuerpo table{
  width:100%;border-collapse:separate;border-spacing:0;margin:0 0 26px;
  border:1px solid var(--line);border-radius:14px;overflow:hidden
}
body.tzskin .tzpg-cuerpo th{
  background:rgba(255,255,255,.05)!important;font-family:var(--ff-d)!important;
  font-weight:600;text-align:left;padding:13px 16px;font-size:.86rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--txt-3)!important
}
body.tzskin .tzpg-cuerpo td{padding:13px 16px;border-top:1px solid var(--line);font-size:.94rem}
body.tzskin .tzpg-cuerpo blockquote{
  border-left:3px solid var(--blue);padding:6px 0 6px 20px;margin:0 0 24px;font-style:normal
}
body.tzskin .tzpg-cuerpo hr{border:0;border-top:1px solid var(--line);margin:34px 0}
/* botones del tema */
body.tzskin .tzpg-cuerpo .vc_btn3,
body.tzskin .tzpg-cuerpo .dt-btn,
body.tzskin .tzpg-cuerpo button,
body.tzskin .tzpg-cuerpo input[type="submit"]{
  background:var(--grad-brand)!important;color:#fff!important;border:0!important;
  border-radius:100px!important;padding:14px 26px!important;
  font-family:var(--ff-d)!important;font-weight:600!important;font-size:.94rem!important;
  box-shadow:var(--shadow-glow)!important;cursor:pointer
}
/* formularios del tema */
body.tzskin .tzpg-cuerpo input[type="text"],
body.tzskin .tzpg-cuerpo input[type="email"],
body.tzskin .tzpg-cuerpo input[type="tel"],
body.tzskin .tzpg-cuerpo select,
body.tzskin .tzpg-cuerpo textarea{
  background:rgba(255,255,255,.04)!important;border:1px solid var(--line-strong)!important;
  color:var(--txt)!important;border-radius:11px!important;padding:14px 16px!important;
  font-family:var(--ff-b)!important;width:100%;box-shadow:none!important
}

/* --- Llamado a la acción al final de cada página heredada --- */
.tzpg-cta{
  max-width:var(--max);margin:64px auto 0;padding:0 24px
}
.tzpg-cta-in{
  border-radius:var(--r-xl);padding:44px 40px;text-align:center;
  border:1px solid rgba(47,123,255,.26);
  background:
    radial-gradient(70% 120% at 0% 0%,rgba(47,123,255,.28),transparent 62%),
    linear-gradient(135deg,#0b1426,#070c16)
}
.tzpg-cta-in h2{
  font-family:var(--ff-d);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;
  margin:0 0 12px;color:var(--txt)!important
}
.tzpg-cta-in p{color:var(--txt-2)!important;margin:0 auto 26px;max-width:56ch}
.tzpg-cta-btns{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}

@media (max-width:640px){
  .tzpg{padding:44px 0 70px}
  .tzpg-cta-in{padding:30px 22px}
}

/* ==========================================================
   NAVEGACIÓN POR SECCIONES (un clic = siguiente bloque)
   ========================================================== */
.tzsn{
  position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:80;
  display:flex;flex-direction:column;gap:9px;align-items:flex-end
}
.tzsn-p{
  display:flex;align-items:center;gap:9px;cursor:pointer;background:none;border:0;padding:0;
  color:var(--txt-3);font-family:var(--ff-d);font-size:.72rem;font-weight:600
}
.tzsn-p i{
  width:9px;height:9px;border-radius:50%;flex:0 0 auto;
  background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.28);
  transition:background .25s,transform .25s,box-shadow .25s
}
.tzsn-p span{
  opacity:0;transform:translateX(8px);white-space:nowrap;pointer-events:none;
  background:rgba(5,7,13,.88);backdrop-filter:blur(8px);border:1px solid var(--line-strong);
  padding:5px 11px;border-radius:100px;transition:opacity .25s,transform .25s;order:-1
}
.tzsn-p:hover span{opacity:1;transform:none}
.tzsn-p:hover i{background:var(--blue-l);transform:scale(1.25)}
.tzsn-p.is-on i{
  background:var(--cyan);border-color:var(--cyan);transform:scale(1.3);
  box-shadow:0 0 0 4px rgba(34,211,238,.18)
}

/* Botón de "siguiente sección" */
.tzsn-next{
  position:fixed;right:26px;bottom:104px;z-index:82;
  width:52px;height:52px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  background:rgba(9,14,24,.82);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.16);color:var(--txt);
  box-shadow:0 16px 40px -12px rgba(0,0,0,.8);
  transition:background .25s,transform .25s,border-color .25s
}
.tzsn-next:hover{background:var(--grad-brand);border-color:transparent;transform:translateY(-3px)}
.tzsn-next svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.2}
.tzsn-next.is-fin svg{transform:rotate(180deg)}

@media (max-width:1100px){ .tzsn{display:none} }
@media (max-width:640px){
  .tzsn-next{right:18px;bottom:92px;width:46px;height:46px}
  .tzsn-next svg{width:19px;height:19px}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
