.elementor-926 .elementor-element.elementor-element-74e093b{--display:flex;}.elementor-926 .elementor-element.elementor-element-74e093b:not(.elementor-motion-effects-element-type-background), .elementor-926 .elementor-element.elementor-element-74e093b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A1A1A;}.elementor-926 .elementor-element.elementor-element-55d13e2{--display:flex;--min-height:100vh;}.elementor-926 .elementor-element.elementor-element-55d13e2:not(.elementor-motion-effects-element-type-background), .elementor-926 .elementor-element.elementor-element-55d13e2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1A1A1A;}.elementor-926 .elementor-element.elementor-element-ae8b478.elementor-element{--align-self:stretch;}.elementor-926 .elementor-element.elementor-element-30e08d0{--display:flex;--min-height:0vh;}.elementor-926 .elementor-element.elementor-element-242754f{--display:flex;}.elementor-926 .elementor-element.elementor-element-242754f:not(.elementor-motion-effects-element-type-background), .elementor-926 .elementor-element.elementor-element-242754f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}@media(min-width:768px){.elementor-926 .elementor-element.elementor-element-55d13e2{--content-width:100%;}.elementor-926 .elementor-element.elementor-element-30e08d0{--content-width:100vw;}}/* Start custom CSS for html, class: .elementor-element-adfd9cd *//* =====================================================
   LOADER WRAPPER (PREMIUM)
===================================================== */
.zn-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;

  background: radial-gradient(circle at center, #111 0%, #0a0a0a 70%);

  display: flex;
  align-items: center;
  justify-content: center;

  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.zn-loader.hidden {
  opacity: 0;
  visibility: hidden;
}


/* =====================================================
   INNER LAYOUT
===================================================== */
.zn-loader-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 22px;
  text-align: center;
}


/* =====================================================
   LOGO (RESPIRACIÓN SUAVE)
===================================================== */
.zn-loader-logo svg {
  width: 64px;
  height: auto;
  display: block;

  opacity: 0.9;
  animation: znLogoPulse 2.5s ease-in-out infinite;
}

@keyframes znLogoPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.85;
  }
  50% {
    transform: scale(1.05);
    opacity: 1;
  }
}


/* =====================================================
   PROGRESS BAR (REALISTA / PREMIUM)
===================================================== */
.zn-loader-bar-wrap {
  width: 140px;
  height: 2px;

  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}

.zn-loader-bar {
  width: 0%;
  height: 100%;

  background: linear-gradient(
    90deg,
    #ff5c00,
    #ff7a1a,
    #ff5c00
  );

  box-shadow: 0 0 12px rgba(255,92,0,0.35);

  transition: width 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}


/* =====================================================
   FRASES DINÁMICAS (PREMIUM BALANCEADO)
===================================================== */
.zn-loader-tip {
  margin-top: 6px;
  font-size: 15px;

  color: rgba(255,255,255,0.72); /* 🔥 blanco premium */

  letter-spacing: 0.3px; /* 🔥 micro detalle pro */

  opacity: 0;
  transform: translateY(12px);
  filter: blur(6px);

  transition: 
    opacity 0.6s ease,
    transform 0.6s ease,
    filter 0.6s ease;
}

.zn-loader-tip.show {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}


/* =====================================================
   MICRO GLOW (SUTIL)
===================================================== */
.zn-loader::after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(255,106,0,0.08), transparent 70%);
  filter: blur(40px);
  z-index: -1;
}


/* =====================================================
   SCROLL LOCK
===================================================== */
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}


/* =====================================================
   ELEMENTOR FIX
===================================================== */
body.elementor-editor-active .zn-loader {
  display: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ae8b478 *//*========================
RESET
========================*/
*{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{

--accent:#ff6a00;

--modal-width:1380px;
--modal-radius:32px;

--gallery-width:58%;
--info-width:42%;

}

body{
background:#0d0d0e;
font-family:Inter,sans-serif;
color:#fff;
overflow-x:hidden;
}



/*========================
WRAP
========================*/
.zn-wrap{
max-width:1120px;
margin:auto;
padding:72px 42px 90px;
}



/*========================
HERO
========================*/
.zn-hero{
max-width:760px;
margin:0 auto 56px;
text-align:center;
}

.zn-kicker{
font-size:11px;
letter-spacing:.35em;
font-weight:600;
text-transform:uppercase;
color:var(--accent);
margin-bottom:16px;
}

.zn-hero h1{
font-size:clamp(30px,3.5vw,52px);
line-height:1.05;
letter-spacing:-.04em;
font-weight:600;
max-width:720px;
margin:auto;
}

.zn-hero p{
margin-top:18px;
font-size:15px;
line-height:1.6;
opacity:.65;
max-width:600px;
margin-inline:auto;
}



/*========================
FILTROS
========================*/
.zn-filters{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:12px;
margin:34px 0 54px;
}

.zn-filters button{
height:40px;
padding:0 18px;
border-radius:999px;
background:#111;
border:1px solid rgba(255,255,255,.06);
color:#bbb;
font-size:12px;
cursor:pointer;
transition:.3s;
}

.zn-filters button.active,
.zn-filters button:hover{
background:var(--accent);
color:#fff;
box-shadow:0 0 18px rgba(255,106,0,.15);
}



/*========================
GRID
========================*/
.zn-grid{
display:grid;
grid-template-columns:
repeat(3,minmax(230px,285px));
justify-content:center;
gap:24px;
}



/*========================
CARDS
========================*/
.zn-card{
position:relative;
cursor:pointer;

opacity:0;
transform:translateY(24px);

background:
linear-gradient(
180deg,
#171717,
#111
);

border:1px solid rgba(255,255,255,.06);
border-radius:22px;

overflow:hidden;

will-change:
transform,
opacity;

transition:
opacity .55s ease,
transform .55s cubic-bezier(.22,1,.36,1),
box-shadow .35s ease;
}



.zn-card.reveal{
opacity:1;
transform:translateY(0);
}



.zn-card.reveal:hover{
transform:translateY(-5px);

box-shadow:
0 18px 42px rgba(0,0,0,.38);
}



/*========================
IMAGEN
========================*/
.zn-media{
height:165px;
background:#151515;
overflow:hidden;
}

.zn-media img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:.7s;
}

.zn-card:hover img{
transform:scale(1.03);
}



/*========================
BADGE
========================*/
.zn-badge{
position:absolute;
top:14px;
left:14px;

padding:6px 11px;
border-radius:999px;
background:#090909;

font-size:9px;
font-weight:600;
}



/*========================
CONTENT
========================*/
.zn-content{
padding:20px;
}

.zn-content h3{
font-size:18px;
line-height:1.2;
margin-bottom:10px;
font-weight:500;
}

.zn-content p{
font-size:13px;
line-height:1.55;
opacity:.62;
margin-bottom:14px;
}

.zn-view{
font-size:13px;
font-weight:600;
color:var(--accent);
}



/*========================
MODAL
========================*/

.zn-modal{
position:fixed;
inset:0;
display:none;
align-items:center;
justify-content:center;
z-index:99999;
}

.zn-modal.active{
display:flex;
}



/* fondo */
.zn-modal-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.82);
backdrop-filter:blur(14px);
}



/*========================
CAJA MODAL
========================*/

.zn-modal-box{

position:relative;
z-index:2;

width:min(
var(--modal-width),
94vw
);

height:min(
860px,
88vh
);

background:
linear-gradient(
180deg,
#121213,
#0b0b0c
);

border:
1px solid rgba(255,255,255,.06);

border-radius:
var(--modal-radius);

padding:56px 60px;

box-shadow:
0 50px 140px rgba(0,0,0,.65);

overflow-y:auto;
overflow-x:hidden;
scroll-behavior:smooth;

}



/* cerrar */
.zn-modal-close{
position:absolute;

top:26px;
right:30px;

width:46px;
height:46px;

border:none;
border-radius:50%;

background:#171717;

color:#fff;

font-size:28px;

cursor:pointer;

transition:.3s;
}


.zn-modal-close:hover{
background:#222;
}



/*========================
LAYOUT
========================*/

.zn-modal-layout{

display:flex;

gap:72px;

height:100%;

align-items:center;

}



/*========================
GALERIA
========================*/

.zn-modal-gallery{

width:var(--gallery-width);

display:flex;

gap:22px;

align-items:center;

}



.zn-modal-thumbs{

display:flex;

flex-direction:column;

gap:14px;

}



.zn-modal-thumbs img{

width:88px;

height:88px;

object-fit:cover;


border-radius:16px;


cursor:pointer;

opacity:.55;


border:1px solid transparent;


transition:.3s;

}



.zn-modal-thumbs img.active,
.zn-modal-thumbs img:hover{

opacity:1;

border-color:var(--accent);

}



/* imagen principal */

.zn-modal-main{

flex:1;

height:640px;


background:#111;


border-radius:28px;


overflow:hidden;


display:flex;

align-items:center;

justify-content:center;

}



.zn-modal-main img{

width:100%;

height:100%;

object-fit:contain;

}

/*========================
INFO + CONFIGURADOR PREMIUM
========================*/

.zn-modal-info{

width:var(--info-width);

display:flex;

flex-direction:column;

justify-content:flex-start;


/* MODIFICADO
antes 48px
*/
padding-top:28px;

}



.zn-modal-kicker{

font-size:11px;

letter-spacing:.30em;

text-transform:uppercase;


color:var(--accent);


margin-bottom:14px;

}



.zn-modal-info h2{

font-size:62px;

line-height:.96;

font-weight:600;

letter-spacing:-.05em;


/* MODIFICADO
antes 38px
*/
margin-bottom:26px;


max-width:500px;

}



.zn-modal-description{

font-size:17px;


/* MODIFICADO
antes 1.8
*/
line-height:1.65;


opacity:.72;


max-width:520px;


/* MODIFICADO
antes 46px
*/
margin-bottom:18px;

}




/*========================
STEP 1
========================*/


#znIntroStep{

display:flex;

flex-direction:column;

gap:0;

}



.zn-intro-specs{

display:flex;

flex-direction:column;


/* MODIFICADO
antes 26px
*/
gap:18px;


/* MODIFICADO
antes 28px
*/
margin-top:12px;


/* MODIFICADO
antes 58px
*/
margin-bottom:24px;


/* MODIFICADO
antes 34px 0 34px
*/
padding:22px 0;


position:relative;

}



.zn-intro-specs:before,
.zn-intro-specs:after{

content:"";

display:block;

height:1px;

width:100%;


background:
linear-gradient(
90deg,
transparent,
rgba(255,255,255,.08),
transparent
);

}



.zn-intro-specs:before{

margin-bottom:6px;

}



.zn-intro-specs:after{

margin-top:10px;

}



.zn-intro-row{

display:flex;

flex-direction:column;

gap:8px;

}



.zn-intro-label{

font-size:10px;

font-weight:700;


letter-spacing:.34em;

text-transform:uppercase;


color:rgba(255,255,255,.34);


margin-bottom:10px;

}



.zn-intro-value{

font-size:17px;

line-height:1.5;


font-weight:520;


letter-spacing:-.01em;


color:#e9e9e9;


max-width:420px;

}



/*========================
BOTON INICIAR CONFIG
========================*/


#startQuoteConfig{


height:64px;


max-width:500px;

width:100%;


/* MODIFICADO
antes 14px
*/
margin-top:0;


display:flex;

align-items:center;

justify-content:center;


gap:12px;


background:
linear-gradient(
180deg,
#ff7a14,
#ff6600
);


color:#fff;

text-decoration:none;


border:none;

border-radius:20px;


font-size:16px;

font-weight:650;

letter-spacing:-.01em;


cursor:pointer;


box-shadow:
0 14px 28px rgba(255,106,0,.22),
0 28px 60px rgba(255,106,0,.10),
inset 0 1px 0 rgba(255,255,255,.18);


transition:
transform .35s ease,
box-shadow .35s ease,
filter .35s ease;

}



#startQuoteConfig:hover{

transform:translateY(-4px);


filter:brightness(1.04);


box-shadow:
0 22px 42px rgba(255,106,0,.30),
0 34px 70px rgba(255,106,0,.14),
inset 0 1px 0 rgba(255,255,255,.22);

}



#startQuoteConfig:active{

transform:translateY(-1px);

}

/*========================
STEP 2 CONFIGURADOR
========================*/

.zn-configurator{

/* MODIFICADO
antes 18px
*/
margin-top:8px;


padding:34px 36px;


display:flex;

flex-direction:column;


/* MODIFICADO
antes 24px
*/
gap:20px;


position:relative;

overflow:visible;


background:
linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.008)
);


border:1px solid rgba(255,255,255,.06);

border-radius:32px;


backdrop-filter:blur(18px);


box-shadow:
0 26px 70px rgba(0,0,0,.30),
inset 0 1px 0 rgba(255,255,255,.03);

}



/* título */

.zn-config-title{

font-size:24px;

line-height:1.1;

font-weight:620;


letter-spacing:-.03em;


margin:0;

}



/* bloques */

.zn-config-block{

display:flex;

flex-direction:column;


/* MODIFICADO
antes 18px
*/
gap:14px;

}




/* labels */

.zn-config-label{

font-size:10px;

font-weight:700;


letter-spacing:.32em;

text-transform:uppercase;


color:rgba(255,255,255,.42);


/* MODIFICADO
antes 2px
*/
margin-bottom:0;

}




/*========================
SEGMENTED
========================*/


.zn-segmented{

display:flex;

gap:14px;

}



.zn-seg{


height:50px;

padding:0 30px;


border:none;

border-radius:16px;


background:#151515;

color:#969696;


font-size:14px;

font-weight:560;


cursor:pointer;


transition:.3s ease;

}



.zn-seg:hover{

background:#1d1d1d;

color:#fff;

}



.zn-seg.active{


background:
linear-gradient(
180deg,
#ff7a14,
#ff6600
);


color:#fff;


box-shadow:
0 10px 28px rgba(255,106,0,.28);

}





/*========================
CHIPS
========================*/


.zn-chip-group{


display:flex;

flex-wrap:wrap;


/* MODIFICADO
antes 14px
*/
gap:12px;

}




.zn-chip{


height:44px;

padding:0 20px;


border-radius:999px;

border:1px solid transparent;


background:#151515;

color:#b7b7b7;


font-size:13px;

font-weight:520;


cursor:pointer;


transition:.3s ease;

}



.zn-chip:hover{


background:#1d1d1d;

color:#fff;

}



.zn-chip.active{


color:#fff;


border-color:
rgba(255,106,0,.45);


box-shadow:
inset 0 0 0 1px rgba(255,106,0,.06);

}





/*========================
FINISH SELECT DROPDOWN
========================*/


.zn-finish-select{


position:relative;

width:100%;

}



.zn-select-trigger{


width:100%;


height:60px;


padding:0 22px;


display:flex;

align-items:center;

justify-content:space-between;


background:
linear-gradient(
180deg,
#151515,
#111
);


border:1px solid rgba(255,255,255,.07);


border-radius:20px;


cursor:pointer;


transition:.35s ease;


box-shadow:
inset 0 1px 0 rgba(255,255,255,.03);

}



.zn-select-trigger:hover{

border-color:rgba(255,106,0,.26);

}



.zn-select-placeholder{


font-size:14px;

font-weight:520;


color:rgba(255,255,255,.48);

}



.zn-select-placeholder.selected{

color:#fff;

font-weight:600;

}



.zn-select-arrow{


font-size:22px;

font-weight:700;

line-height:1;


color:var(--accent);


display:flex;

align-items:center;

justify-content:center;


transform:translateY(-1px);


transition:
transform .3s ease,
color .3s ease;

}



.zn-finish-select.open .zn-select-arrow{


transform:
translateY(-1px)
rotate(180deg);

}



.zn-select-dropdown{


position:absolute;


top:calc(100% + 10px);

left:0;

right:0;


display:none;

flex-direction:column;


gap:6px;


background:
linear-gradient(
180deg,
#181818,
#101010
);


border:1px solid rgba(255,255,255,.06);


border-radius:20px;


padding:10px;


max-height:280px;


overflow-y:auto;


z-index:999999;


box-shadow:
0 30px 60px rgba(0,0,0,.42);

}




.zn-finish-select.open .zn-select-dropdown{

display:flex;

}




.zn-option{


height:46px;

padding:0 18px;


display:flex;

align-items:center;


border:none;


border-radius:14px;


background:transparent;


color:#cfcfcf;


font-size:14px;


font-weight:520;


cursor:pointer;


transition:.28s ease;

}




.zn-option:hover{


background:#1c1c1c;


color:#fff;

}




.zn-option.active{


background:
rgba(255,106,0,.10);


color:#fff;


border:1px solid rgba(255,106,0,.28);

}

/*========================
SLIDER
========================*/

#quantityRange{

appearance:none;

width:100%;


height:5px;

border-radius:999px;


background:#252525;

outline:none;


margin-top:6px;

margin-bottom:8px;

}



#quantityRange::-webkit-slider-thumb{

appearance:none;


width:22px;

height:22px;


border-radius:50%;

background:var(--accent);


cursor:pointer;


box-shadow:
0 0 0 6px rgba(255,106,0,.10);

}



#quantityRange::-moz-range-thumb{

width:22px;

height:22px;

border:none;

border-radius:50%;

background:var(--accent);

}



.zn-qty-readout{

margin-top:8px;


font-size:15px;

font-weight:520;


color:#dddddd;

}




/*========================
CHECK
========================*/


.zn-check{

display:flex;

align-items:flex-start;

gap:12px;


/* MODIFICADO
antes 4px
*/
margin-top:2px;


font-size:14px;

line-height:1.45;


color:#d5d5d5;

}



.zn-check input{

margin-top:3px;

accent-color:var(--accent);

transform:scale(1.06);

}





/*========================
CTA
========================*/


.zn-modal-cta{


display:flex;

align-items:center;

justify-content:center;


/* mantiene compatibilidad */
width:100%;


height:64px;


/* MODIFICADO
antes 10px
*/
margin-top:4px;


background:
linear-gradient(
180deg,
#ff7d18,
#ff6600
);


color:#fff;

text-decoration:none;


border:none;

border-radius:20px;


font-size:16px;

font-weight:650;


letter-spacing:-.01em;


box-shadow:
0 16px 34px rgba(255,106,0,.22),
0 28px 60px rgba(255,106,0,.12),
inset 0 1px 0 rgba(255,255,255,.18);


transition:
transform .35s ease,
box-shadow .35s ease,
filter .35s ease;

}



.zn-modal-cta:hover{


transform:translateY(-4px);


filter:brightness(1.03);


box-shadow:
0 24px 48px rgba(255,106,0,.30),
0 34px 70px rgba(255,106,0,.14);

}




.zn-modal-cta:active{

transform:translateY(-1px);

}






/*========================
STEP ACTIONS
nuevo contenedor opcional
========================*/


.zn-step-actions{


display:flex;

align-items:center;

justify-content:space-between;


gap:18px;


margin-top:14px;

}



/* cuando CTA esté dentro del wrapper */

.zn-step-actions .zn-modal-cta{


width:auto;


min-width:260px;


padding:0 30px;


margin-top:0;

}





/*========================
STEP BACK BUTTON
========================*/


.zn-step-back{


/* MODIFICADO
antes 14px
*/
margin-top:10px;


padding:0;


display:inline-flex;

align-items:center;


gap:10px;


align-self:flex-start;


background:none;


border:none;


color:#9b9b9b;


font-size:14px;

font-weight:600;


cursor:pointer;


opacity:.78;


transition:
transform .28s ease,
opacity .28s ease,
color .28s ease;

}




/* flecha */

.zn-step-back::before{


content:"←";


font-size:17px;


line-height:1;


transition:transform .28s ease;

}




/* hover */

.zn-step-back:hover{


opacity:1;


color:#fff;


transform:translateX(-4px);

}




.zn-step-back:hover::before{


transform:translateX(-4px);

}




/* active */


.zn-step-back:active{


transform:translateX(-2px);

}




/* focus */


.zn-step-back:focus-visible{


outline:none;


opacity:1;


color:#fff;

}

/*========================
RESPONSIVE
========================*/

@media(max-width:1100px){


.zn-grid{

grid-template-columns:
repeat(2,minmax(250px,1fr));

}



.zn-modal-box{

height:92vh;

max-height:92vh;


overflow-y:auto;

overflow-x:hidden;


padding:42px;

}



.zn-modal-layout{

flex-direction:column;

gap:42px;

}



.zn-modal-gallery,
.zn-modal-info{

width:100%;

}



.zn-modal-main{

height:420px;

}



.zn-modal-info h2{

font-size:42px;

}



.zn-modal-thumbs{

flex-direction:row;

flex-wrap:wrap;

}



}






/*========================
MOBILE
========================*/


@media(max-width:768px){



.zn-wrap{

padding:55px 24px;

}



.zn-kicker{

font-size:10px;

}



.zn-hero h1{

font-size:34px;

}



.zn-hero p{

font-size:14px;

}



.zn-grid{

grid-template-columns:1fr;

}



.zn-media{

height:180px;

}





/* modal mobile */


.zn-modal-box{

width:95vw;

padding:22px;


border-radius:24px;


height:88vh;


-webkit-overflow-scrolling:touch;

}



.zn-modal-main{

height:280px;


border-radius:18px;

}



/* info mobile */


.zn-modal-info{

padding-top:0;

}



.zn-modal-info h2{

font-size:38px;

margin-bottom:22px;

}



.zn-modal-description{

font-size:15px;

line-height:1.6;

margin-bottom:16px;

}



.zn-intro-specs{

gap:16px;

margin-top:10px;

margin-bottom:22px;

padding:18px 0;

}





/* configurador mobile */


.zn-configurator{

padding:22px;


gap:20px;


border-radius:20px;

}



.zn-config-title{

font-size:18px;

}



.zn-segmented{

flex-direction:column;

gap:10px;

}



.zn-seg{

width:100%;

height:42px;

}



.zn-chip-group{

gap:8px;

}



.zn-chip{

height:38px;


font-size:12px;


padding:0 14px;

}



.zn-config-label{

font-size:10px;

}



.zn-check{

font-size:13px;

line-height:1.4;

}



/* acciones mobile */

.zn-step-actions{

flex-direction:column-reverse;

align-items:stretch;

gap:16px;

}



.zn-step-actions .zn-modal-cta{

width:100%;

min-width:0;

}



.zn-step-back{

justify-content:center;

}



}






/*========================
BACK TO TOP
========================*/


#znBackTop{


position:fixed;


right:34px;

bottom:34px;


width:58px;

height:58px;


display:flex;

align-items:center;

justify-content:center;



background:
linear-gradient(
180deg,
#1b1b1b,
#111
);



border:1.5px solid #ff6a00;


border-radius:18px;



backdrop-filter:blur(8px);



cursor:pointer;



opacity:0;

visibility:hidden;



transform:
translateY(20px)
scale(.92);



transition:all .35s ease;



z-index:99999;



box-shadow:
0 12px 30px rgba(0,0,0,.35);

}





/* aparece */


#znBackTop.show{


opacity:1;


visibility:visible;



transform:
translateY(0)
scale(1);

}






/* hover */


#znBackTop:hover{


transform:
translateY(-4px)
scale(1.03);



background:#1e1e1e;



box-shadow:
0 18px 34px rgba(0,0,0,.45),
0 0 0 1px rgba(255,106,0,.15);

}






/* click */


#znBackTop:active{


transform:
translateY(-1px)
scale(.98);

}




#znBackTop svg{

pointer-events:none;

}






/* mobile */


@media(max-width:768px){



#znBackTop{


right:18px;

bottom:18px;



width:52px;

height:52px;



border-radius:16px;

}



}

/*========================
OCULTAR SCROLL MODAL
========================*/

.zn-modal-box{

scrollbar-width:none;

}


.zn-modal-box::-webkit-scrollbar{

display:none;

}

/*========================
GALERIA PRODUCTO MOBILE
========================*/

@media(max-width:768px){


.zn-modal-gallery{

width:100%;

display:flex;

flex-direction:column-reverse;

align-items:center;

gap:18px;

}


/* FOTO PRINCIPAL */
.zn-modal-main{

width:100%;

height:auto;

aspect-ratio:1/1;

border-radius:22px;

background:#111;

}


/* conserva fotos cuadradas */
.zn-modal-main img{

width:100%;

height:100%;

object-fit:contain;

}


/* MINIATURAS ABAJO */
.zn-modal-thumbs{

width:100%;

display:flex;

flex-direction:row;

justify-content:center;

gap:12px;

}


/* mini fotos */
.zn-modal-thumbs img{

width:82px;

height:82px;

border-radius:16px;

object-fit:cover;

}


}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-97cd280 *//* ==============================
   ZIPNOVA MUSIC PLAYER V3
   PARTE 1
================================ */

.music-widget{

    position:fixed;

    left:32px;

    /* Alineado horizontalmente con WhatsApp */
    bottom:38px;

    z-index:9999;

    opacity:1;

    visibility:visible;

    transition:
    opacity .35s ease,
    visibility .35s ease,
    transform .35s ease;

}

/* Ocultar durante el loader */

body.loading .music-widget{

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:translateY(10px);

}



/* ==============================
   BOTÓN PRINCIPAL
================================ */

.music-circle{

    width:48px;

    height:48px;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    border:none;

    border-radius:50%;

    color:#ffffff;

    font-size:20px;

    line-height:1;

    user-select:none;

    background:
    linear-gradient(
    180deg,
    rgba(36,36,36,.72),
    rgba(14,14,14,.90)
    );

    border:
    1px solid rgba(255,255,255,.08);

    backdrop-filter:
    blur(24px);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 28px rgba(0,0,0,.35);

    transition:
    .28s cubic-bezier(.22,.61,.36,1);

}



.music-circle:hover{

    transform:
    translateY(-2px);

    border-color:
    rgba(255,101,0,.35);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 18px rgba(255,101,0,.18),
    0 14px 30px rgba(0,0,0,.38);

}



.music-circle:active{

    transform:
    scale(.96);

}



/* ==============================
   ICONO PRINCIPAL
================================ */

.music-symbol{

    font-size:22px;

    color:#ffffff;

    transition:.25s;

}



.music-circle:hover .music-symbol{

    color:#ff6500;

}



/* ==============================
   MENÚ FLOTANTE
================================ */

.music-menu{

    position:absolute;

    left:0;

    bottom:62px;

    display:flex;

    flex-direction:column;

    gap:10px;

    opacity:0;

    visibility:hidden;

    transform:
    translateY(16px)
    scale(.92);

    transition:
    opacity .30s,
    transform .30s,
    visibility .30s;

}



.music-menu.active{

    opacity:1;

    visibility:visible;

    transform:
    translateY(0)
    scale(1);

}



/* ==============================
   VOLUMEN
================================ */

.volume-wrapper{

    position:relative;

}



/* ==============================
   TARJETA GLASS
================================ */

.volume-card{

    position:absolute;

    left:60px;

    top:50%;

    transform:
    translateY(-50%)
    translateX(-10px);

    width:0;

    opacity:0;

    overflow:hidden;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:0;

    border-radius:18px;

    background:
    linear-gradient(
    180deg,
    rgba(36,36,36,.72),
    rgba(14,14,14,.92)
    );

    border:
    1px solid rgba(255,255,255,.08);

    backdrop-filter:
    blur(22px);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 20px 45px rgba(0,0,0,.38);

    transition:
    .30s cubic-bezier(.22,.61,.36,1);

}



.volume-card.active{

    width:165px;

    padding:
    14px 18px;

    opacity:1;

    transform:
    translateY(-50%)
    translateX(0);

}



/* ==============================
   EFECTO PULSO
================================ */

.music-playing{

    animation:
    musicPulse
    3.5s infinite;

}



@keyframes musicPulse{

0%{

box-shadow:
0 0 0 rgba(255,101,0,0);

}

50%{

box-shadow:
0 0 22px rgba(255,101,0,.18);

}

100%{

box-shadow:
0 0 0 rgba(255,101,0,0);

}

}



/* ==============================
   SLIDER PREMIUM
================================ */

#musicVolume{

    width:120px;

    appearance:none;

    -webkit-appearance:none;

    background:transparent;

    cursor:pointer;

}



/* ==============================
   CHROME / EDGE
================================ */

#musicVolume::-webkit-slider-runnable-track{

    height:4px;

    background:
    rgba(255,255,255,.18);

    border-radius:999px;

}



#musicVolume::-webkit-slider-thumb{

    -webkit-appearance:none;

    appearance:none;

    width:14px;

    height:14px;

    margin-top:-5px;

    border-radius:50%;

    background:#ffffff;

    border:2px solid #ff6500;

    box-shadow:
    0 0 10px rgba(255,101,0,.35);

    transition:.25s ease;

}



#musicVolume::-webkit-slider-thumb:hover{

    transform:scale(1.15);

    background:#ff6500;

}



/* ==============================
   FIREFOX
================================ */

#musicVolume::-moz-range-track{

    height:4px;

    background:
    rgba(255,255,255,.18);

    border-radius:999px;

}



#musicVolume::-moz-range-thumb{

    width:14px;

    height:14px;

    border:none;

    border-radius:50%;

    background:#ffffff;

    box-shadow:
    0 0 10px rgba(255,101,0,.35);

    cursor:pointer;

}



#musicVolume::-moz-range-thumb:hover{

    background:#ff6500;

}



/* ==============================
   EFECTO BOTONES
================================ */

.music-circle span{

    transition:
    color .25s,
    transform .25s;

}



.music-circle:hover span{

    color:#ff6500;

    transform:scale(1.08);

}



/* ==============================
   EFECTO TARJETA
================================ */

.volume-card::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:18px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.03),
        rgba(255,255,255,0)
    );

    pointer-events:none;

}

/* ==============================
   RESPONSIVE
================================ */

@media (max-width:768px){

    .music-widget{

        left:18px;
        bottom:32px;

    }

    .music-circle{

        width:44px;
        height:44px;
        font-size:18px;

    }

    .music-symbol{

        font-size:20px;

    }

    .music-menu{

        bottom:58px;
        gap:8px;

    }

    .volume-card{

        left:56px;

    }

    .volume-card.active{

        width:145px;
        padding:12px 16px;

    }

    #musicVolume{

        width:105px;

    }

}



/* ==============================
   MOBILE PEQUEÑO
================================ */

@media (max-width:480px){

    .music-widget{

        left:14px;
        bottom:28px;

    }

    .music-circle{

        width:40px;
        height:40px;
        font-size:17px;

    }

    .music-symbol{

        font-size:18px;

    }

    .music-menu{

        gap:7px;

    }

    .volume-card{

        left:52px;

    }

    .volume-card.active{

        width:130px;
        padding:10px 14px;

    }

    #musicVolume{

        width:90px;

    }

}

/* ==============================
   EFECTO PREMIUM DE ATENCIÓN
================================ */

.music-circle.attention{

    animation: musicAttention 1.2s cubic-bezier(.22,.61,.36,1);

}

@keyframes musicAttention{

    0%{

        transform:translateY(0) scale(1);

        box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 12px 28px rgba(0,0,0,.35);

    }

    18%{

        transform:translateY(-8px) scale(1.08);

        box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 0 18px rgba(255,101,0,.35),
        0 18px 34px rgba(0,0,0,.38);

    }

    35%{

        transform:translateY(0) scale(1);

    }

    55%{

        transform:translateY(-5px) scale(1.04);

        box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 0 12px rgba(255,101,0,.28),
        0 16px 32px rgba(0,0,0,.36);

    }

    100%{

        transform:translateY(0) scale(1);

        box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 12px 28px rgba(0,0,0,.35);

    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6b9ecff *//* =====================================================
   FOOTER
===================================================== */
.cvh-footer {
  padding: 80px 20px 30px;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.cvh-footer-container {
  max-width: 1200px;
  margin: 0 auto;

  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
}


/* =====================================================
   COLUMNAS
===================================================== */
.cvh-footer-col h4 {
  font-size: 13px;
  margin-bottom: 15px;
  color: rgba(255,255,255,0.8);
}

.cvh-footer-col p {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
  margin-top: 10px;
}


/* =====================================================
   LOGO
===================================================== */
.cvh-footer-logo {
  height: 40px !important;
  width: auto !important;
  max-width: none !important;
  margin-bottom: 10px; /* 🔥 separación fina */
}


/* =====================================================
   LINKS
===================================================== */
.cvh-footer-col ul {
  list-style: none;
}

.cvh-footer-col ul li {
  margin-bottom: 10px;
}

.cvh-footer-col a {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
}

.cvh-footer-col a:hover {
  color: #ff6a00;
}


/* =====================================================
   REDES SOCIALES (CORREGIDO PRO)
===================================================== */
.cvh-socials {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.cvh-social {
  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 8px;
  background: rgba(255,255,255,0.08);

  transition: all 0.3s ease;
}

/* 🔥 ICONO SVG */
.cvh-social img {
  width: 14px;
  height: 14px;

  filter: brightness(0) invert(1);
  transition: all 0.3s ease;
}

/* 🔥 HOVER */
.cvh-social:hover {
  background: #ff6a00;
  transform: translateY(-2px);
}

.cvh-social:hover img {
  filter: brightness(0) invert(1) drop-shadow(0 0 6px rgba(255,106,0,0.6));
}


/* =====================================================
   PRIVACIDAD
===================================================== */
.cvh-privacy-title {
  margin-top: 20px;
}


/* =====================================================
   COPYRIGHT
===================================================== */
.cvh-footer-bottom {
  margin-top: 50px;
  text-align: center;

  font-size: 12px;
  color: rgba(255,255,255,0.4);
}


/* ===== MODAL ===== */
.cvh-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0,0,0,0.75);
}

.cvh-modal-content {
  max-width: 700px;
  max-height: 80vh;
  overflow: hidden;

  margin: 80px auto;
  background: #111;
  border-radius: 14px;

  display: flex;
  flex-direction: column;

  color: #fff;
  position: relative;
}

.cvh-modal-content h3 {
  padding: 20px 25px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-size: 18px;
}

.cvh-modal-body {
  padding: 25px;
  overflow-y: auto;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255,255,255,0.7);
}

.cvh-modal-body ul {
  padding-left: 18px;
  margin: 10px 0 20px;
}

.cvh-modal-body li {
  margin-bottom: 6px;
}

.cvh-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 22px;
  cursor: pointer;
  color: rgba(255,255,255,0.6);
}

.cvh-close:hover {
  color: #ff6a00;
}


/* =====================================================
   RESPONSIVE
===================================================== */
@media (max-width: 900px) {
  .cvh-footer-container {
    grid-template-columns: 1fr 1fr;
  }
}/* End custom CSS */