/* ============================================================
   Pantherviews — componentes.css
   Estilos de nav, ficha de curso y footer.
   Se encola tras style.css; usa los tokens :root de alli.
   ============================================================ */

/* ---- NAV ---- */
.pv-nav{display:flex;justify-content:space-between;align-items:center;padding:26px 32px;max-width:var(--wrap);margin:0 auto;position:relative;z-index:5}
.pv-logo{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;font-size:21px}
.pv-logo b{color:var(--gold)}
.pv-logo-sub{font-weight:400;color:var(--paper-dim);font-size:14px}
.pv-nav-menu{display:flex;gap:26px;list-style:none;font-size:15px}
.pv-nav-menu a{color:var(--paper-dim);transition:color .25s}
.pv-nav-menu a:hover{color:var(--gold)}

/* ---- HERO ---- */
.pv-hero{padding:70px 0 90px;min-height:88vh;display:flex;flex-direction:column;justify-content:center}
.pv-level-badge{display:inline-flex;align-items:center;gap:11px;align-self:flex-start;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--yellow-sig);padding:8px 16px;border-radius:2px;font-weight:600}
.pv-level-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--navy)}
.pv-h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:.96;font-size:clamp(42px,7.2vw,92px);margin:26px 0 0;color:var(--paper)}
.pv-h1 .em{color:var(--gold);display:block}
.pv-sub{max-width:560px;margin-top:26px;font-size:18px;color:var(--paper-dim)}
.pv-hero-cta{display:flex;gap:18px;margin-top:40px;flex-wrap:wrap;align-items:center}

/* ---- BOTONES ---- */
.pv-btn{font-family:var(--font-display);font-weight:600;font-size:15.5px;padding:16px 30px;border-radius:3px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:10px;transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s,color .3s;will-change:transform}
.pv-btn.primary{background:var(--gold);color:var(--navy-deep)}
.pv-btn.ghost{border-color:var(--line);color:var(--paper)}
.pv-price-inline{font-family:var(--font-mono);font-size:14px;color:var(--paper-dim)}
.pv-price-inline b{color:var(--paper);font-size:19px}

/* ---- SPECS ---- */
.pv-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-top:64px}
.pv-spec{background:var(--navy-deep);padding:22px 24px}
.pv-spec .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.pv-spec .v{font-family:var(--font-display);font-size:22px;font-weight:600;margin-top:8px;color:var(--paper)}

/* ---- BLOQUES ---- */
.pv-block{padding:96px 0;border-top:1px solid var(--line)}
.pv-eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px}
.pv-eyebrow::before{content:"";width:34px;height:1px;background:var(--gold)}
.pv-h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;font-size:clamp(30px,4vw,48px);line-height:1.04;margin:20px 0 0;max-width:760px}
.pv-lead{max-width:620px;margin-top:18px;color:var(--paper-dim);font-size:17px}

/* ---- TEMARIO ---- */
.pv-modules{margin-top:54px;display:flex;flex-direction:column}
.pv-mod{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:24px;padding:30px 8px;border-top:1px solid var(--line);cursor:pointer;position:relative}
.pv-mod:last-child{border-bottom:1px solid var(--line)}
.pv-mod .num{font-family:var(--font-mono);font-size:14px;color:var(--gold)}
.pv-mod .title{font-family:var(--font-display);font-size:clamp(20px,2.4vw,27px);font-weight:600;color:var(--paper);transition:color .3s,transform .4s cubic-bezier(.16,1,.3,1);will-change:transform}
.pv-mod .lessons{font-family:var(--font-mono);font-size:12.5px;color:var(--paper-dim);letter-spacing:.05em}
.pv-mod:hover .title{color:var(--gold);transform:translateX(10px)}
.pv-mod .bar{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--gold);transition:width .5s cubic-bezier(.16,1,.3,1)}
.pv-mod:hover .bar{width:100%}

/* ---- PROSA (contenido libre) ---- */
.pv-prose{max-width:720px;color:var(--paper-dim);font-size:17px}
.pv-prose h2,.pv-prose h3{font-family:var(--font-display);color:var(--paper);margin:32px 0 12px}
.pv-prose p{margin-bottom:18px}
.pv-prose ul,.pv-prose ol{margin:0 0 18px;padding-left:22px}
.pv-prose li{margin-bottom:8px;line-height:1.6}
.pv-prose strong{color:var(--paper)}
.pv-prose table{width:100%;border-collapse:collapse;margin:18px 0 28px;font-size:15px}
.pv-prose table th,.pv-prose table td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.pv-prose table th{color:var(--paper);font-family:var(--font-display);font-weight:600}
.pv-legal-meta{font-family:var(--font-mono);font-size:12.5px;color:var(--gold);letter-spacing:.04em;margin-bottom:28px;display:block}

/* ---- CTA FINAL ---- */
.pv-final{padding:110px 0;text-align:center;border-top:1px solid var(--line)}
.pv-final .pv-h2{margin:20px auto 0}
.pv-final-price{font-family:var(--font-display);font-size:clamp(40px,6vw,68px);font-weight:700;color:var(--gold);margin:28px 0 6px}
.pv-final-price small{font-size:18px;color:var(--paper-dim);font-weight:400}
.pv-final .pv-btn{margin-top:24px}

/* ---- FOOTER ---- */
.pv-foot{padding:34px 0;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--paper-dim);text-align:center;letter-spacing:.05em}

/* ---- RESPONSIVE ---- */
@media (max-width:860px){
	.pv-specs{grid-template-columns:repeat(2,1fr)}
	.pv-mod{grid-template-columns:54px 1fr;gap:14px}
	.pv-mod .lessons{grid-column:2;margin-top:6px}
	.pv-nav-menu{display:none}
}

/* ---- PARA QUIEN ES + CERTIFICADO ---- */
.pv-grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;margin-top:54px;align-items:start}
.pv-list{list-style:none;display:flex;flex-direction:column;gap:18px}
.pv-list li{display:flex;gap:16px;align-items:flex-start;font-size:16.5px}
.pv-list li .mk{color:var(--gold);font-family:var(--font-mono);font-size:13px;margin-top:4px}
.pv-cert-card{background:linear-gradient(160deg,var(--navy-soft),var(--navy-deep));border:1px solid var(--line);border-radius:6px;padding:34px}
.pv-cert-card .badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.pv-cert-card h3{font-family:var(--font-display);font-size:23px;margin:12px 0;color:var(--paper)}
.pv-cert-card p{color:var(--paper-dim);font-size:15px}
.pv-cert-card .seal{width:64px;height:64px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:var(--gold);margin-bottom:22px;font-size:13px;letter-spacing:.04em;text-align:center;line-height:1.1}

@media (max-width:860px){
	.pv-grid2{grid-template-columns:1fr;gap:40px}
}

/* ============================================================
   BLINDAJE DE COLOR DE TITULARES
   Fuerza el color claro de los titulares para que ningun CSS
   residual (Elementor/tema anterior) los pise y los deje oscuros.
   El navy del tema exige texto claro en titulares grandes.
   ============================================================ */
body .pv-h1,
body .pv-h2,
body .pv-mod .title,
body .pv-cert-card h3{color:var(--paper)}
body .pv-h1 .em{color:var(--gold)}
body .pv-final-price{color:var(--gold)}
body .pv-eyebrow{color:var(--gold)}

/* ============================================================
   ANULAR CSS GLOBAL DE ELEMENTOR (.elementor-kit-NN)
   Elementor inyecta color #333 a todos los h1/h2/h3 via su
   "kit" global, incluso en paginas que no usan Elementor.
   Estas reglas tienen especificidad suficiente para ganar.
   Cuando Elementor se desactive al final del proyecto, estas
   reglas dejan de ser necesarias pero no estorban.
   ============================================================ */
body.wp-theme-pantherviews .pv-h1,
body.wp-theme-pantherviews .pv-h1 *:not(.em),
body.wp-theme-pantherviews .pv-h2,
body.wp-theme-pantherviews .pv-block .pv-h2,
body.wp-theme-pantherviews .pv-mod .title,
body.wp-theme-pantherviews .pv-cert-card h3{color:var(--paper) !important}
body.wp-theme-pantherviews .pv-h1 .em,
body.wp-theme-pantherviews .pv-final-price,
body.wp-theme-pantherviews .pv-eyebrow{color:var(--gold) !important}
body.wp-theme-pantherviews .pv-sub,
body.wp-theme-pantherviews .pv-lead,
body.wp-theme-pantherviews .pv-list li{color:var(--paper-dim) !important}

/* ============================================================
   HEADER DEL TEMA (reemplaza al de Elementor)
   ============================================================ */
.pv-header{position:sticky;top:0;z-index:1000;background:rgba(5,15,34,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:background .3s,border-color .3s}
.pv-header.pv-scrolled{background:rgba(5,15,34,.95)}
.pv-header-inner{max-width:var(--wrap);margin:0 auto;padding:10px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.pv-brand{display:flex;align-items:center}
.pv-brand-img{max-height:58px;width:auto}
.pv-footer-logo{max-height:46px;width:auto}
.pv-brand-text{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;font-size:21px;color:var(--paper)}
.pv-brand-text b{color:var(--gold)}
.pv-brand-text .sub{font-weight:400;color:var(--paper-dim);font-size:14px}

.pv-nav{display:flex;align-items:center;gap:30px}
.pv-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.pv-menu li{position:relative}
.pv-menu a{font-family:var(--font-body);font-size:15px;color:var(--paper-dim);transition:color .25s;display:inline-flex;align-items:center;gap:6px}
.pv-menu a:hover{color:var(--gold)}
/* indicador desplegable */
.pv-menu .menu-item-has-children > a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .25s}
.pv-menu .menu-item-has-children:hover > a::after{transform:rotate(-135deg);margin-top:2px}

/* submenu desplegable */
.pv-menu .sub-menu{position:absolute;top:calc(100% + 14px);left:0;min-width:230px;background:var(--navy-soft);border:1px solid var(--line);border-radius:8px;padding:10px;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.pv-menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.pv-menu .sub-menu li{display:block}
.pv-menu .sub-menu a{display:block;padding:10px 14px;border-radius:5px;font-size:14.5px;transition:background .2s,color .2s}
.pv-menu .sub-menu a:hover{background:rgba(212,175,55,.1);color:var(--gold)}
.pv-header-cta{padding:11px 22px;font-size:14.5px}

/* burger (oculto en desktop) */
.pv-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.pv-burger span{width:24px;height:2px;background:var(--paper);transition:transform .3s,opacity .3s}
.pv-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.pv-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.pv-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============================================================
   FOOTER DEL TEMA
   ============================================================ */
.pv-footer{border-top:1px solid var(--line);background:var(--navy-deep);margin-top:0}
.pv-footer-inner{max-width:var(--wrap);margin:0 auto;padding:64px 32px 40px;display:grid;grid-template-columns:1.2fr .7fr .7fr .9fr .9fr;gap:32px}
.pv-footer-social{display:flex;gap:14px;margin-top:18px}
.pv-footer-social a{color:var(--paper-dim);transition:color .25s}
.pv-footer-social a:hover{color:var(--gold)}
.pv-footer-hub .pv-footer-menu{margin-bottom:18px}
.pv-footer-campus-btn{display:inline-block;font-size:13.5px;padding:10px 20px}
.pv-footer-tag{color:var(--paper-dim);font-size:14px;margin-top:16px;max-width:280px}
.pv-footer-menu{list-style:none;display:flex;flex-direction:column;gap:12px}
.pv-footer-menu a{color:var(--paper-dim);font-size:14.5px;transition:color .25s}
.pv-footer-menu a:hover{color:var(--gold)}
.pv-footer-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px}
.pv-footer-contact p{color:var(--paper-dim);font-size:14.5px;margin-bottom:6px}
.pv-footer-bottom{max-width:var(--wrap);margin:0 auto;padding:24px 32px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--paper-dim);letter-spacing:.04em}

/* ============================================================
   RESPONSIVE HEADER/FOOTER
   ============================================================ */
@media (max-width:900px){
	.pv-burger{display:flex}
	.pv-nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--navy-deep);border-bottom:1px solid var(--line);padding:20px 32px 32px;transform:translateY(-120%);transition:transform .4s cubic-bezier(.16,1,.3,1);max-height:calc(100vh - 64px);overflow-y:auto}
	.pv-nav.pv-open{transform:translateY(0)}
	.pv-menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
	.pv-menu > li{border-bottom:1px solid var(--line)}
	.pv-menu a{padding:16px 0;font-size:16px}
	.pv-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;padding:0 0 12px 16px;min-width:0}
	.pv-header-cta{margin-top:18px;justify-content:center}
	.pv-footer-inner{grid-template-columns:1fr;gap:36px}
}

/* ============================================================
   BLINDAJE COLOR DEL MENU (Elementor pinta los <a> oscuros)
   ============================================================ */
body.wp-theme-pantherviews .pv-menu a,
body.wp-theme-pantherviews .pv-footer-menu a{color:var(--paper-dim) !important}
body.wp-theme-pantherviews .pv-menu a:hover,
body.wp-theme-pantherviews .pv-menu .sub-menu a:hover,
body.wp-theme-pantherviews .pv-footer-menu a:hover{color:var(--gold) !important}
body.wp-theme-pantherviews .pv-menu .sub-menu a{color:var(--paper-dim) !important}
body.wp-theme-pantherviews .pv-header-cta{color:var(--navy-deep) !important}
body.wp-theme-pantherviews .pv-brand-text,
body.wp-theme-pantherviews .pv-footer-tag,
body.wp-theme-pantherviews .pv-footer-contact p{color:var(--paper) !important}
body.wp-theme-pantherviews .pv-footer-tag{color:var(--paper-dim) !important}

/* ============================================================
   HOME — HERO con reticula de fondo
   ============================================================ */
.pv-home-hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.pv-hero-grid{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.5}
.pv-home-hero-inner{position:relative;z-index:2;padding:80px 0}
.pv-hero-eyebrow{margin-bottom:28px}
.pv-home-h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:.98;font-size:clamp(44px,7.5vw,104px);color:var(--paper)}
.pv-home-h1 .em{color:var(--gold)}
.pv-home-hero-sub{max-width:600px;margin-top:30px;font-size:19px;color:var(--paper-dim);line-height:1.6}
.pv-home-hero-cta{display:flex;gap:18px;margin-top:42px;flex-wrap:wrap}

.pv-hero-scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim)}
.pv-scroll-line{width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:pvScroll 2s ease-in-out infinite}
@keyframes pvScroll{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ---- DOMINIOS ---- */
.pv-domains-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:54px}
.pv-domain{background:var(--navy-deep);padding:34px 28px;transition:background .3s}
.pv-domain:hover{background:var(--navy-soft)}
.pv-domain-n{font-family:var(--font-mono);font-size:12px;color:var(--gold);letter-spacing:.1em}
.pv-domain h3{font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--paper);margin:16px 0 10px}
.pv-domain p{font-size:14px;color:var(--paper-dim);line-height:1.55}

/* ---- ESCALERA ---- */
.pv-ladder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.pv-level-card{background:linear-gradient(160deg,var(--navy-soft),var(--navy-deep));border:1px solid var(--line);border-radius:10px;padding:34px;position:relative;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s}
.pv-level-card:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.5)}
.pv-level-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.pv-level-dot{width:12px;height:12px;border-radius:50%}
.pv-level-yellow .pv-level-dot{background:var(--yellow-sig)}
.pv-level-orange .pv-level-dot{background:#E8843B}
.pv-level-red .pv-level-dot{background:#C8433B}
.pv-level-step{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim)}
.pv-level-card h3{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--paper);margin:0}
.pv-level-name{font-size:15px;color:var(--gold);margin:6px 0 16px;font-weight:500}
.pv-level-desc{font-size:14.5px;color:var(--paper-dim);line-height:1.6;flex-grow:1}
.pv-level-status{display:inline-block;margin-top:22px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:3px;align-self:flex-start}
.pv-status-open{background:rgba(242,194,0,.15);color:var(--yellow-sig);border:1px solid rgba(242,194,0,.3)}
.pv-status-soon{background:rgba(217,213,204,.08);color:var(--paper-dim);border:1px solid var(--line)}
.pv-level-link{margin-top:18px;font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--gold);align-self:flex-start}

/* ---- AUDIENCIA ---- */
.pv-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}
.pv-aud-card{border:1px solid var(--line);border-radius:8px;padding:30px;transition:background .3s}
.pv-aud-card:hover{background:var(--navy-soft)}
.pv-aud-card h3{font-family:var(--font-display);font-size:20px;color:var(--paper);margin-bottom:12px}
.pv-aud-card p{font-size:14.5px;color:var(--paper-dim);line-height:1.6}

/* ---- POR QUE ---- */
.pv-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:54px}
.pv-why-item{border-top:2px solid var(--gold);padding-top:22px}
.pv-why-item h3{font-family:var(--font-display);font-size:19px;color:var(--paper);margin-bottom:10px}
.pv-why-item p{font-size:14.5px;color:var(--paper-dim);line-height:1.6}

.pv-home-final{text-align:center}

/* ---- BLINDAJE color home vs Elementor ---- */
body.wp-theme-pantherviews .pv-home-h1,
body.wp-theme-pantherviews .pv-domain h3,
body.wp-theme-pantherviews .pv-level-card h3,
body.wp-theme-pantherviews .pv-aud-card h3,
body.wp-theme-pantherviews .pv-why-item h3{color:var(--paper) !important}
body.wp-theme-pantherviews .pv-home-h1 .em,
body.wp-theme-pantherviews .pv-level-name,
body.wp-theme-pantherviews .pv-level-link{color:var(--gold) !important}

/* ---- RESPONSIVE HOME ---- */
@media (max-width:900px){
	.pv-domains-grid{grid-template-columns:repeat(2,1fr)}
	.pv-ladder-grid,.pv-audience-grid,.pv-why-grid{grid-template-columns:1fr;gap:20px}
}

/* ============================================================
   CATALOGO DE CURSOS
   ============================================================ */
.pv-cat-hero{position:relative;overflow:hidden;padding:130px 0 70px;border-bottom:1px solid var(--line)}
.pv-cat-hero-inner{position:relative;z-index:2}
.pv-cat-hero .pv-home-h1{font-size:clamp(40px,6vw,80px)}

/* filtro por sector */
.pv-sector-filter{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.pv-sector-chip{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;padding:9px 18px;border-radius:40px;border:1px solid var(--line);color:var(--paper-dim);transition:all .25s}
.pv-sector-chip:hover{border-color:rgba(212,175,55,.5);color:var(--gold)}
.pv-sector-chip.active{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);font-weight:600}

/* bloque de disciplina */
.pv-disc-block{padding:70px 0;border-top:1px solid var(--line)}
.pv-disc-block:first-of-type{border-top:0}
.pv-disc-head{margin-bottom:36px}
.pv-disc-desc{color:var(--paper-dim);font-size:16px;margin-top:14px;max-width:600px}

/* grid de cursos */
.pv-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pv-cat-card{display:flex;flex-direction:column;background:linear-gradient(160deg,var(--navy-soft),var(--navy-deep));border:1px solid var(--line);border-radius:10px;padding:28px;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s;will-change:transform}
.pv-cat-card:hover{border-color:rgba(212,175,55,.5)}
.pv-cat-level{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.pv-cat-card h3{font-family:var(--font-display);font-size:23px;font-weight:600;color:var(--paper);margin:14px 0}
.pv-cat-sectors{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.pv-cat-sectors span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--paper-dim);border:1px solid var(--line);padding:4px 9px;border-radius:3px}
.pv-cat-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.pv-cat-price{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--gold)}
.pv-cat-arrow{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--paper)}

/* disciplina "proximamente" */
.pv-disc-soon{display:flex;align-items:center;gap:20px;padding:34px;border:1px dashed var(--line);border-radius:10px;background:rgba(14,37,71,.3)}
.pv-soon-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim);border:1px solid var(--line);padding:7px 14px;border-radius:40px;white-space:nowrap}
.pv-disc-soon p{color:var(--paper-dim);font-size:15px;margin:0}

/* blindaje color */
body.wp-theme-pantherviews .pv-cat-card h3{color:var(--paper) !important}
body.wp-theme-pantherviews .pv-cat-price{color:var(--gold) !important}

@media (max-width:900px){
	.pv-cat-grid{grid-template-columns:1fr}
	.pv-disc-soon{flex-direction:column;align-items:flex-start;gap:12px}
}

/* ============================================================
   HOME v2 — HERO red de nodos
   ============================================================ */
.pv-hero-net{position:relative;overflow:hidden}
.pv-net-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.6}

/* disciplinas (constelacion) */
.pv-disc-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px}
.pv-disc-node{position:relative;display:flex;flex-direction:column;background:rgba(14,37,71,.45);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:12px;padding:30px;transition:transform .4s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s;will-change:transform;overflow:hidden}
.pv-disc-node:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.5);background:var(--navy-soft)}
.pv-disc-num{font-family:var(--font-mono);font-size:13px;color:var(--gold);letter-spacing:.12em}
.pv-disc-node h3{font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--paper);margin:14px 0 10px;line-height:1.2}
.pv-disc-node p{font-size:14px;color:var(--paper-dim);line-height:1.55;flex-grow:1}
.pv-disc-arrow{margin-top:18px;color:var(--gold);font-size:20px;transition:transform .3s}
.pv-disc-node:hover .pv-disc-arrow{transform:translateX(6px)}

/* sectores */
.pv-sectors-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:48px}
.pv-sector-item{background:var(--navy-deep);padding:40px 28px;transition:background .3s;text-align:left}
.pv-sector-item:hover{background:var(--navy-soft)}
.pv-sector-item span{font-family:var(--font-mono);font-size:12px;color:var(--gold);letter-spacing:.1em}
.pv-sector-item h3{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--paper);margin-top:14px}

/* blindaje color */
body.wp-theme-pantherviews .pv-disc-node h3,
body.wp-theme-pantherviews .pv-sector-item h3{color:var(--paper) !important}
body.wp-theme-pantherviews .pv-disc-num,
body.wp-theme-pantherviews .pv-disc-arrow{color:var(--gold) !important}

@media (max-width:900px){
	.pv-disc-home-grid{grid-template-columns:1fr}
	.pv-sectors-row{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   HOVER v2 — zoom en vez de desplazamiento + latido en CTAs
   ============================================================ */
/* Botones: zoom suave (sustituye al magnetico) */
.pv-btn{transition:transform .3s ease, background .3s, color .3s !important}
.pv-btn:hover{transform:scale(1.05) !important}

/* Tarjetas y nodos: zoom en vez de subir (translateY) */
.pv-cat-card:hover,
.pv-disc-node:hover,
.pv-level-card:hover{transform:scale(1.025) !important}

/* Modulos del temario: quitar el desplazamiento lateral, dejar solo color */
.pv-mod:hover .title{transform:none !important}

/* Latido sutil y lento en CTAs primarios */
@keyframes pvPulse{
	0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,.45)}
	50%{box-shadow:0 0 0 12px rgba(212,175,55,0)}
}
.pv-btn.primary{animation:pvPulse 2.8s ease-in-out infinite}
.pv-btn.primary:hover{animation:none}  /* al pasar el raton, para el latido y hace zoom */

@media (prefers-reduced-motion:reduce){
	.pv-btn.primary{animation:none}
}

/* ============================================================
   FIX: cartas de disciplina hacen zoom-in al cargar
   Causa: el reveal (translateY) y el hover (scale) comparten
   'transform'. Forzamos que en estado NO-hover el scale sea 1
   y que el reveal use solo translate, sin que el navegador
   interpole desde un scale fantasma.
   ============================================================ */
.pv-disc-node{transform:translateY(34px) scale(1)}
.pv-disc-node.pv-revealed,
body.wp-theme-pantherviews .pv-disc-node.pv-revealed{transform:translateY(0) scale(1) !important}
.pv-disc-node.pv-revealed:hover,
body.wp-theme-pantherviews .pv-disc-node.pv-revealed:hover{transform:translateY(0) scale(1.025) !important}
/* mientras no esta revelada, sin hover-scale */
.pv-disc-node:not(.pv-revealed):hover{transform:translateY(34px) scale(1)}
.pv-disc-node{opacity:0;transition:opacity .7s ease, transform .4s cubic-bezier(.16,1,.3,1), border-color .3s, background .3s}
.pv-disc-node.pv-revealed{opacity:1}

/* ---- Three.js mount (3D que viaja con el scroll, solo desktop) ---- */
.pv-three-mount{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;opacity:.85;transition:opacity .4s}
@media (hover:none),(max-width:900px){.pv-three-mount{display:none}}

/* ============================================================
   FIX: destello dorado en la fila de sectores antes del reveal
   El fondo var(--line) del contenedor se veia mientras las
   celdas aun no habian aparecido. Lo ocultamos hasta entonces.
   ============================================================ */
.pv-sectors-row{background:transparent;border-color:transparent;transition:background .4s,border-color .4s}
.pv-sectors-row.pv-grid-ready{background:var(--line);border-color:var(--line)}

/* ============================================================
   Z-INDEX: el 3D fijo (mount, z1) es fondo ambiental.
   Las secciones van por encima (z2) pero con fondo SEMI-
   transparente: dejan ver el icosaedro detras mientras viaja,
   manteniendo el texto legible.
   ============================================================ */
.pv-block,.pv-final,.pv-sectors-home,.pv-disc-home,.pv-why,.pv-ladder{position:relative;z-index:2;background:rgba(5,15,34,.68)}
/* el hero deja ver el 3D completamente */
.pv-home-hero{background:transparent}
/* las celdas/tarjetas con fondo propio si lo mantienen opaco para legibilidad interna */

/* La seccion final deja ver mas el 3D (clImax del recorrido) */
.pv-home-final{background:rgba(5,15,34,.60) !important}

/* ============================================================
   PAGINA DE MATRICULACION
   ============================================================ */
.pv-matriculacion-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:start}
@media (max-width:900px){.pv-matriculacion-grid{grid-template-columns:1fr}}
.pv-matriculacion-info{display:flex;flex-direction:column;gap:20px}
.pv-steps-list{padding-left:18px;margin:0}
.pv-steps-list li{font-size:14.5px;color:var(--paper-dim);line-height:1.6;margin-bottom:12px;counter-increment:none}
.pv-steps-list li strong{color:var(--paper)}
/* Aceptacion de condiciones CF7 */
.pv-matriculacion-form .wpcf7-acceptance{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px}
.pv-matriculacion-form .wpcf7-acceptance input[type="checkbox"]{margin-top:3px;accent-color:var(--gold);flex-shrink:0}
.pv-matriculacion-form .wpcf7-acceptance span{font-size:13px;color:var(--paper-dim);line-height:1.5}
.pv-matriculacion-form .wpcf7-acceptance a{color:var(--gold)}
/* Separadores de seccion del formulario de matriculacion */
.pv-matriculacion-form .wpcf7-form h3,
.pv-matriculacion-form .wpcf7-form p.pv-form-section{
	font-family:var(--font-display);font-size:11px;font-weight:700;
	letter-spacing:.12em;text-transform:uppercase;color:var(--gold);
	margin:28px 0 16px;padding-top:20px;border-top:1px solid var(--line);
}
/* Radio buttons: forzar display correcto cuando CF7 los renderiza fuera de label */
.pv-matriculacion-form .wpcf7-radio{display:flex;gap:20px;flex-wrap:wrap;margin:8px 0 16px}
.pv-matriculacion-form .wpcf7-radio .wpcf7-list-item{
	display:flex;align-items:center;gap:8px;
	font-size:14px;color:var(--paper-dim);margin:0;
}
.pv-matriculacion-form .wpcf7-radio .wpcf7-list-item-label{cursor:pointer}
.pv-matriculacion-form .wpcf7-radio input[type="radio"]{accent-color:var(--gold);width:16px;height:16px}
/* Select */
.pv-matriculacion-form .wpcf7-form select{
	width:100%;background:var(--navy-deep);border:1px solid var(--line);border-radius:6px;
	color:var(--paper);font-family:var(--font-body);font-size:14.5px;padding:12px 14px;margin-bottom:16px;
	appearance:none;cursor:pointer;
}
   Dos columnas: info (izq) + formulario CF7 (der). En movil
   pasa a una sola columna, info primero.
   ============================================================ */
.pv-contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start}
@media (max-width:860px){
	.pv-contact-grid{grid-template-columns:1fr;row-gap:40px}
	body.wp-theme-pantherviews .pv-contact-form{margin-top:0 !important}
}
.pv-contact-info{display:flex;flex-direction:column;gap:20px}
.pv-contact-card{background:linear-gradient(160deg,var(--navy-soft),var(--navy-deep));border:1px solid var(--line);border-radius:10px;padding:28px}
.pv-contact-line{font-size:14.5px;color:var(--paper-dim);line-height:1.6;margin:6px 0}
.pv-contact-line a{color:var(--gold);text-decoration:none}
.pv-contact-line a:hover{color:var(--gold-bright)}
.pv-contact-form{background:linear-gradient(160deg,var(--navy-soft),var(--navy-deep));border:1px solid var(--line);border-radius:10px;padding:34px}
/* CF7 hereda tipografia del tema; inputs con look corporativo */
.pv-contact-form .wpcf7-form textarea{resize:vertical;max-height:420px}
.pv-contact-form .wpcf7-form input[type="text"],
.pv-contact-form .wpcf7-form input[type="email"],
.pv-contact-form .wpcf7-form input[type="tel"],
.pv-contact-form .wpcf7-form textarea,
.pv-contact-form .wpcf7-form select{
	width:100%;background:var(--navy-deep);border:1px solid var(--line);border-radius:6px;
	color:var(--paper);font-family:var(--font-body);font-size:14.5px;padding:12px 14px;margin-bottom:16px;
}
.pv-contact-form .wpcf7-form label{display:block;font-size:13px;color:var(--paper-dim);margin-bottom:6px}
.pv-contact-form .wpcf7-form input[type="submit"]{
	background:var(--gold);color:var(--navy-deep);border:none;border-radius:6px;
	font-family:var(--font-display);font-weight:600;font-size:14.5px;padding:13px 28px;cursor:pointer;transition:background .25s;
}
.pv-contact-form .wpcf7-form input[type="submit"]:hover{background:var(--gold-bright)}
.pv-contact-form .wpcf7-response-output{margin-top:14px;border-radius:6px;font-size:13.5px}

/* ============================================================
   PAGINA QUIENES SOMOS
   ============================================================ */
/* Areas de formacion: 3 columnas, mismo lenguaje visual que .pv-domain */
.pv-areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:54px}
.pv-area-item{background:var(--navy-deep);padding:30px 26px;transition:background .3s}
.pv-area-item:hover{background:var(--navy-soft)}
.pv-area-item h3{font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--paper);margin:14px 0 8px}
.pv-area-item p{font-size:13.5px;color:var(--paper-dim);line-height:1.55}
@media (max-width:860px){.pv-areas-grid{grid-template-columns:1fr}}

/* Equipo: tarjetas con foto placeholder */
.pv-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px}
.pv-team-card{background:linear-gradient(160deg,var(--navy-soft),var(--navy-deep));border:1px solid var(--line);border-radius:10px;padding:0 0 22px;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.pv-team-card:hover{transform:translateY(-6px)}
.pv-team-photo{width:100%;aspect-ratio:1/1;background:linear-gradient(160deg,rgba(212,175,55,.12),rgba(212,175,55,.03));border-bottom:1px solid var(--line);overflow:hidden}
.pv-team-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pv-team-card h3{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--paper);margin:18px 20px 4px}
.pv-team-role{font-size:13px;color:var(--gold);margin:0 20px}
@media (max-width:900px){.pv-team-grid{grid-template-columns:repeat(2,1fr)}}

.pv-iso-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}
.pv-iso-badge{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--paper-dim);border:1px solid var(--line);border-radius:4px;padding:8px 16px}
.pv-iso-plate{display:inline-flex;align-items:center;background:#f4f4f2;border-radius:6px;padding:10px 14px}
.pv-iso-plate img{display:block;height:52px;width:auto}
@media (max-width:480px){.pv-iso-plate img{height:40px}}
.pv-cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:38px}
@media (max-width:860px){.pv-cert-grid{grid-template-columns:1fr}}
.pv-cert-item{background:linear-gradient(160deg,var(--navy-soft),var(--navy-deep));border:1px solid var(--line);border-radius:10px;padding:28px;text-align:center}
.pv-cert-plate{display:inline-flex;align-items:center;justify-content:center;background:#f4f4f2;border-radius:8px;padding:16px 20px;margin-bottom:20px}
.pv-cert-plate img{display:block;height:118px;width:auto;max-width:100%}
.pv-cert-item h3{font-size:18px;margin:0 0 8px}
.pv-cert-item p{font-size:14.5px;color:var(--paper-dim);line-height:1.6;margin:0}
.pv-cert-entity{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--paper-dim);margin-top:12px}
@media (max-width:480px){.pv-cert-plate img{height:82px}}
.pv-footer-iso{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap;padding:28px 0;border-top:1px solid var(--line)}
.pv-iso-plate-sm{padding:6px 10px}
.pv-iso-plate-sm img{height:62px}
@media (max-width:480px){.pv-iso-plate-sm img{height:46px}}
