/* QKStudio — single de proyecto: anterior/siguiente (.pn-) + franja lavanda de media altura (.qk-reveal--half).
   Aislado: no depende de body.qk-native (los proyectos hechos en Elementor no lo tienen). */
.pn{ position:relative; z-index:2; background:var(--gray-dark,#261e25); }
.pn-nav{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(241,241,241,.12); }
.pn-side{ position:relative; display:flex; align-items:flex-end; min-height:clamp(220px,26vw,340px); padding:clamp(26px,3.4vw,52px) var(--pad,clamp(20px,5vw,64px)); overflow:hidden; color:var(--white,#f1f1f1); isolation:isolate; }
.pn-side + .pn-side{ border-left:1px solid rgba(241,241,241,.12); }
.pn-side--next{ text-align:right; justify-content:flex-end; }
.pn-side:only-child{ grid-column:1 / -1; }
.pn-bg{ position:absolute; inset:0; z-index:-1; background-size:cover; background-position:center; opacity:0; transform:scale(1.08); transition:opacity .55s ease, transform 1.1s cubic-bezier(.16,.84,.44,1); }
.pn-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(38,30,37,.78),rgba(38,30,37,.35)); }
.pn-in{ display:flex; flex-direction:column; gap:10px; max-width:34em; transition:transform .5s cubic-bezier(.16,.84,.44,1); }
.pn-label{ font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gray-light,#918fa7); display:inline-flex; gap:.7em; align-items:center; }
.pn-side--next .pn-label{ justify-content:flex-end; }
.pn-arrow{ display:inline-block; transition:transform .45s cubic-bezier(.16,.84,.44,1); }
.pn-title{ font-family:var(--font-display,"Space Grotesk",sans-serif); font-weight:600; font-size:clamp(1.6rem,3.6vw,3.2rem); line-height:1.04; letter-spacing:-.02em; }
.pn-tipo{ font-size:.85rem; color:var(--gray-light,#918fa7); }
@media (hover:hover){
	.pn-side:hover .pn-bg,.pn-side:focus-visible .pn-bg{ opacity:1; transform:scale(1); }
	.pn-side--prev:hover .pn-in{ transform:translateX(10px); }
	.pn-side--next:hover .pn-in{ transform:translateX(-10px); }
	.pn-side--prev:hover .pn-arrow{ transform:translateX(-6px); }
	.pn-side--next:hover .pn-arrow{ transform:translateX(6px); }
}
.pn-side:focus-visible{ outline:2px solid var(--ax,#8D8CFF); outline-offset:-4px; }
@media (hover:none){ .pn-bg{ opacity:.35; transform:none; } }
@media (max-width:700px){
	.pn-nav{ grid-template-columns:1fr; }
	.pn-side + .pn-side{ border-left:0; border-top:1px solid rgba(241,241,241,.12); }
	.pn-side--next{ text-align:left; justify-content:flex-start; }
	.pn-side--next .pn-label{ justify-content:flex-start; }
	.pn-side{ min-height:180px; }
}

/* Defensa contra estilos globales de Elementor / Ultimate Addons (enlaces subrayados, colores de a / a:hover, títulos).
   Mayor especificidad + !important, todo bajo .pn para no tocar nada más. */
html body .pn a.pn-side,
html body .pn a.pn-side:link,
html body .pn a.pn-side:visited,
html body .pn a.pn-side:hover,
html body .pn a.pn-side:focus,
html body .pn a.pn-side:active{ color:#f1f1f1 !important; text-decoration:none !important; border:0 !important; box-shadow:none !important; background-image:none !important; background-color:transparent !important; outline-offset:-4px; }
html body .pn a.pn-side + a.pn-side{ border-left:1px solid rgba(241,241,241,.12) !important; }
html body .pn a.pn-side span,
html body .pn a.pn-side:hover span,
html body .pn a.pn-side:focus span{ text-decoration:none !important; text-shadow:none !important; box-shadow:none !important; border:0 !important; background-image:none; font-style:normal; }
html body .pn a.pn-side .pn-title,
html body .pn a.pn-side:hover .pn-title,
html body .pn a.pn-side:focus .pn-title{ display:block; color:#f1f1f1 !important; -webkit-text-fill-color:#f1f1f1 !important; opacity:1 !important; font-weight:600; font-size:clamp(1.6rem,3.6vw,3.2rem); line-height:1.04; letter-spacing:-.02em; text-transform:none; margin:0; }
html body .pn a.pn-side .pn-label,
html body .pn a.pn-side:hover .pn-label,
html body .pn a.pn-side .pn-tipo,
html body .pn a.pn-side:hover .pn-tipo{ color:#c9c8d6 !important; -webkit-text-fill-color:#c9c8d6 !important; opacity:1 !important; }
html body .pn a.pn-side .pn-arrow{ color:inherit !important; }
html body .pn a.pn-side:hover .pn-label,
html body .pn a.pn-side:hover .pn-tipo{ color:#f1f1f1 !important; -webkit-text-fill-color:#f1f1f1 !important; }

/* Franja lavanda, versión de media altura (mismo lenguaje que .qk-reveal del resto del sitio, con CSS propio) */
.qk-reveal--half{ position:relative; z-index:2; text-align:center; background:var(--ax,var(--gray-light,#918fa7)); color:var(--gray-dark,#261e25); padding:clamp(40px,4.8vw,74px) 0 clamp(46px,5.2vw,80px); border-radius:0 0 clamp(22px,3vw,44px) clamp(22px,3vw,44px); overflow:clip; }
.qk-reveal--half .qk-reveal__in{ --qk-t:clamp(1.9rem,4.8vw,4.9rem); position:relative; display:flex; flex-direction:column; align-items:center; }
.qk-reveal--half .qk-reveal__t{ font-family:var(--font-display,"Space Grotesk",sans-serif); font-weight:600; font-size:var(--qk-t); line-height:.96; letter-spacing:-.035em; max-width:14em; margin:0; color:var(--gray-dark,#261e25); text-wrap:balance; }
.qk-reveal--half .qk-reveal__t.is-split .qk-w{ overflow:hidden; padding:.07em 0 .2em; margin:-.07em 0 -.2em; vertical-align:top; }
.qk-reveal--half .qk-reveal__t.is-split .ch{ transform:translateY(112%); opacity:0; transition:transform .9s cubic-bezier(.22,1,.36,1), opacity .9s cubic-bezier(.22,1,.36,1); transition-delay:calc(var(--i) * 18ms + 150ms); }
.qk-reveal--half.is-in .qk-reveal__t.is-split .ch{ transform:none; opacity:1; }
.qk-reveal--half .qk-reveal__cta{ order:2; margin-top:clamp(24px,4vw,36px); background:var(--gray-dark,#261e25); color:var(--white,#f1f1f1); }
.qk-reveal--half .qk-reveal__cta:is(:hover,:focus-visible){ background:var(--white,#f1f1f1); color:var(--gray-dark,#261e25); }
@media (min-width:981px){
	.qk-reveal--half .qk-reveal__in{ padding-bottom:clamp(26px,2.6vw,38px); }
	.qk-reveal--half .qk-reveal__cta{ position:absolute; z-index:3; left:50% !important; top:100% !important; margin:0; transform:translate(-50%,-50%) rotate(-3deg); transition:transform .5s cubic-bezier(.16,.84,.44,1), background-color .3s ease, color .3s ease; }
	.qk-reveal--half .qk-reveal__cta:hover{ transform:translate(-50%,-50%) rotate(0deg) scale(1.04); }
}
html.js .qk-reveal--half .qk-reveal__cta{ opacity:0; }
html.js .qk-reveal--half.is-in .qk-reveal__cta{ opacity:1; transition:opacity .7s ease .9s, transform .5s cubic-bezier(.16,.84,.44,1), background-color .3s ease, color .3s ease; }
.qk-reveal--half :focus-visible{ outline-color:var(--gray-dark,#261e25); }
@media (prefers-reduced-motion:reduce){ html.js .qk-reveal--half .qk-reveal__cta{ opacity:1; } .qk-reveal--half .qk-reveal__t.is-split .ch{ transition:none; } }
