/* ==========================================================================
   OZ Page Builder - Generated Base CSS
   Archivo generado automaticamente desde assets/native/.
   No editar manualmente.
   ========================================================================== */

/* ===== contenedor ===== */
html body .oz-pb-root{width:100%;overflow-x:visible;margin:0;padding:0;display:block}html body .oz-pb-root figure{margin:0;padding:0;display:block;border:none;outline:0;background:0 0}html body .oz-pb-root embed,html body .oz-pb-root iframe,html body .oz-pb-root img,html body .oz-pb-root object,html body .oz-pb-root video,html body .oz-pb-root picture{vertical-align:top;border:none;outline:0;background:0 0;display:block;}.oz-pb-block{margin:0;padding:0;box-sizing:border-box;min-width:0;max-width:100%}.oz-pb-root .oz-pb-section{position:relative;width:100%;box-sizing:border-box;background-size:cover;background-position:center;margin:0;padding:0;display:block;overflow:hidden}.oz-pb-root .oz-pb-section--has-media-bg{min-height:280px}.oz-pb-root .oz-pb-section__media-bg,.oz-pb-root .oz-pb-internal-layout__media-bg,.oz-pb-root .oz-pb-col__media-bg{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:0;pointer-events:none;background-size:cover;background-position:center center;background-repeat:no-repeat}.oz-pb-root .oz-pb-section__media-bg--parallax,.oz-pb-root .oz-pb-internal-layout__media-bg--parallax,.oz-pb-root .oz-pb-col__media-bg--parallax{top:-8%;bottom:-8%;height:auto;min-height:116%;will-change:transform}.oz-pb-root .oz-pb-col--has-media-bg{position:relative;overflow:hidden}.oz-pb-root .oz-pb-col--has-media-bg>*:not(.oz-pb-col__media-bg){position:relative;z-index:1}.oz-pb-root .oz-pb-section>.oz-pb-inner,.oz-pb-root .oz-pb-section>.oz-pb-row__inner{position:relative;z-index:1}html body .oz-pb-root .oz-pb-section--full,html body .oz-pb-root .oz-pb-section--theme{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.oz-pb-root .oz-pb-inner{width:100%;box-sizing:border-box;margin:0 auto;padding:0}.oz-pb-root .oz-pb-inner--full,.oz-pb-root .oz-pb-inner--theme{width:100%}.oz-pb-root .oz-pb-inner--theme{max-width:var(--oz-container-pc,1440px);margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.oz-pb-root .oz-pb-inner--full{max-width:none}.oz-pb-root .oz-pb-grid{display:grid;gap:0;width:100%;box-sizing:border-box;align-items:stretch;margin:0;padding:0}.oz-pb-root .oz-pb-col{min-width:0;box-sizing:border-box;display:flex;flex-direction:column;margin:0;padding:0}.oz-pb-root .oz-pb-col>*{box-sizing:border-box;max-width:100%}.oz-pb-root .oz-pb-column-children{width:100%;margin-top:0}.oz-pb-root .oz-pb-sub-row{width:100%;box-sizing:border-box}.oz-pb-root .oz-pb-sub-row+.oz-pb-sub-row{margin-top:0}.oz-pb-root .oz-pb-sub-column{min-width:0;max-width:100%;box-sizing:border-box}.oz-pb-root .oz-pb-internal-layout,.oz-pb-root .oz-pb-internal-layout__inner,.oz-pb-root .oz-pb-internal-layout__grid{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
/* Override crítico: el grid del layout interno usa 60 tracks. Aplicar un
   column-gap de 12px (default) reserva 59*12=708px del ancho disponible —
   más que el ancho de columnas estrechas (50%, móvil), causando que las
   sub-columnas desborden el padre. Forzamos column-gap:0 sobre el grid;
   row-gap se preserva para wrapping vertical. La separación horizontal
   entre sub-columnas debe lograrse vía padding/margin en las sub-columnas. */
.oz-pb-root .oz-pb-internal-layout__grid{column-gap:0!important}
/* Safety nets responsive: forzamos min-width:0 con !important para que las
   columnas siempre puedan encogerse por debajo del min-content size de su
   contenido. Sin esto, palabras largas o elementos con widths intrínsecos
   pueden inflar el track del grid y desbordar el viewport en móvil. */
.oz-pb-root .oz-pb-col,.oz-pb-root .oz-pb-sub-column,.oz-pb-root .oz-pb-block,.oz-pb-root .oz-pb-text{min-width:0!important;max-width:100%!important}
/* Word-break agresivo en todo el texto: break-word maneja palabras cortas
   normalmente y rompe sólo las que exceden el ancho. anywhere garantiza
   que URLs largas, código, o IDs sin espacios también rompan. white-space
   normal anula cualquier nowrap heredado del tema/parent. */
.oz-pb-root .oz-pb-text,.oz-pb-root .oz-pb-text *{overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important}
/* Safety net mobile/tablet: clamp explícito en cada nivel para que ningún
   ancho residual del tema o de inline styles haga overflow horizontal del
   viewport en pantallas pequeñas. */
@media (max-width:1024px){
  html body .oz-pb-root .oz-pb-section,
  html body .oz-pb-root .oz-pb-inner,
  html body .oz-pb-root .oz-pb-grid,
  html body .oz-pb-root .oz-pb-col,
  html body .oz-pb-root .oz-pb-sub-column,
  html body .oz-pb-root .oz-pb-block,
  html body .oz-pb-root .oz-pb-text{max-width:100%!important;min-width:0!important}
  html body .oz-pb-root .oz-pb-section{overflow-x:hidden!important}
}@media (max-width:1366px){html body .oz-pb-root .oz-pb-inner--theme{max-width:var(--oz-container-laptop,1366px)}}@media (max-width:1024px){html body .oz-pb-root .oz-pb-inner--theme{max-width:var(--oz-container-tablet,1024px)}}@media (max-width:420px){html body .oz-pb-root .oz-pb-inner--theme{max-width:var(--oz-container-mobile,420px)}html body .oz-pb-root .oz-pb-grid{grid-template-columns:1fr}html body .oz-pb-hide-mobile,html body .oz-pb-root .oz-pb-hide-mobile,html body .oz-pb-hide-mobile.oz-pb-block,html body .oz-pb-hide-mobile.oz-pb-col,html body .oz-pb-hide-mobile.oz-pb-section,html body .oz-pb-hide-mobile.oz-pb-internal-layout,html body .oz-pb-hide-mobile.oz-pb-row,html body .oz-pb-hide-mobile.oz-pb-sub-row,html body .oz-pb-hide-mobile.oz-pb-sub-column{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important}}@media (min-width:421px) and (max-width:1024px){html body .oz-pb-hide-tablet,html body .oz-pb-root .oz-pb-hide-tablet,html body .oz-pb-hide-tablet.oz-pb-block,html body .oz-pb-hide-tablet.oz-pb-col,html body .oz-pb-hide-tablet.oz-pb-section,html body .oz-pb-hide-tablet.oz-pb-internal-layout,html body .oz-pb-hide-tablet.oz-pb-row,html body .oz-pb-hide-tablet.oz-pb-sub-row,html body .oz-pb-hide-tablet.oz-pb-sub-column{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important}}@media (min-width:1025px) and (max-width:1366px){html body .oz-pb-hide-laptop,html body .oz-pb-root .oz-pb-hide-laptop,html body .oz-pb-hide-laptop.oz-pb-block,html body .oz-pb-hide-laptop.oz-pb-col,html body .oz-pb-hide-laptop.oz-pb-section,html body .oz-pb-hide-laptop.oz-pb-internal-layout,html body .oz-pb-hide-laptop.oz-pb-row,html body .oz-pb-hide-laptop.oz-pb-sub-row,html body .oz-pb-hide-laptop.oz-pb-sub-column{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important}}@media (min-width:1367px){html body .oz-pb-hide-desktop,html body .oz-pb-root .oz-pb-hide-desktop,html body .oz-pb-hide-desktop.oz-pb-block,html body .oz-pb-hide-desktop.oz-pb-col,html body .oz-pb-hide-desktop.oz-pb-section,html body .oz-pb-hide-desktop.oz-pb-internal-layout,html body .oz-pb-hide-desktop.oz-pb-row,html body .oz-pb-hide-desktop.oz-pb-sub-row,html body .oz-pb-hide-desktop.oz-pb-sub-column{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important}}

/* ===== Hover effects (.oz-pb-fx--<name>) =====
   Se aplican al WRAPPER (seccion, layout, columna o figure de imagen). El
   target del efecto es el "media bg" (capa absoluta de fondo) o el <img>
   directo del bloque image. Todos respetan prefers-reduced-motion. */
.oz-pb-root .oz-pb-fx{position:relative}
.oz-pb-root .oz-pb-fx .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx.oz-pb-image img{transition:transform .6s ease,filter .5s ease,opacity .4s ease,box-shadow .4s ease;will-change:transform,filter}

/* 1) Zoom (la imagen se acerca al pasar el cursor) */
.oz-pb-root .oz-pb-fx--zoom:hover .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--zoom:hover .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--zoom:hover .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--zoom.oz-pb-image:hover img{transform:scale(1.08)}

/* 2) Zoom-out (empieza ampliada y vuelve al original) */
.oz-pb-root .oz-pb-fx--zoom-out .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--zoom-out .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--zoom-out .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--zoom-out.oz-pb-image img{transform:scale(1.1)}
.oz-pb-root .oz-pb-fx--zoom-out:hover .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--zoom-out:hover .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--zoom-out:hover .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--zoom-out.oz-pb-image:hover img{transform:scale(1)}

/* 3) Shine (brillo diagonal pasando por encima) */
.oz-pb-root .oz-pb-fx--shine{overflow:hidden}
.oz-pb-root .oz-pb-fx--shine::before{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(120deg,rgba(255,255,255,0) 0,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);pointer-events:none;z-index:2;opacity:0;transition:none}
.oz-pb-root .oz-pb-fx--shine:hover::before{animation:oz-pb-fx-shine 1s ease-in-out forwards}
@keyframes oz-pb-fx-shine{0%{opacity:1;left:-75%}100%{opacity:1;left:125%}}

/* 4) Glow (resplandor accent al hover, pensado para CTAs y hero) */
.oz-pb-root .oz-pb-fx--glow{transition:box-shadow .4s ease}
.oz-pb-root .oz-pb-fx--glow:hover{box-shadow:0 0 0 2px rgba(37,99,235,.25),0 0 24px 4px rgba(37,99,235,.35)}

/* 5) Tilt (inclinacion 3D suave) */
.oz-pb-root .oz-pb-fx--tilt{transition:transform .4s ease,box-shadow .4s ease;transform-style:preserve-3d}
.oz-pb-root .oz-pb-fx--tilt:hover{transform:perspective(900px) rotateX(2deg) rotateY(-2deg) scale(1.02);box-shadow:0 18px 38px rgba(15,23,42,.18)}

/* 6) Brighten (aumenta brillo y saturacion) */
.oz-pb-root .oz-pb-fx--brighten:hover .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--brighten:hover .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--brighten:hover .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--brighten.oz-pb-image:hover img{filter:brightness(1.15) saturate(1.1)}

/* 7) Gray-to-color (en gris hasta que pasas el cursor) */
.oz-pb-root .oz-pb-fx--gray-color .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--gray-color .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--gray-color .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--gray-color.oz-pb-image img{filter:grayscale(1)}
.oz-pb-root .oz-pb-fx--gray-color:hover .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--gray-color:hover .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--gray-color:hover .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--gray-color.oz-pb-image:hover img{filter:grayscale(0)}

/* 8) Blur-focus (de borroso a nitido) */
.oz-pb-root .oz-pb-fx--blur-focus .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--blur-focus .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--blur-focus .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--blur-focus.oz-pb-image img{filter:blur(4px)}
.oz-pb-root .oz-pb-fx--blur-focus:hover .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx--blur-focus:hover .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx--blur-focus:hover .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx--blur-focus.oz-pb-image:hover img{filter:blur(0)}

/* Accesibilidad: respetar prefers-reduced-motion (desactiva animaciones) */
@media (prefers-reduced-motion:reduce){
.oz-pb-root .oz-pb-fx .oz-pb-section__media-bg,
.oz-pb-root .oz-pb-fx .oz-pb-internal-layout__media-bg,
.oz-pb-root .oz-pb-fx .oz-pb-col__media-bg,
.oz-pb-root .oz-pb-fx.oz-pb-image img{transition:none!important;transform:none!important}
.oz-pb-root .oz-pb-fx--shine::before{display:none}
.oz-pb-root .oz-pb-fx--tilt:hover{transform:none}
}

/* Block media background (imagen de fondo en bloques individuales) */
.oz-pb-root .oz-pb-block__media-bg{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:0;pointer-events:none;background-size:cover;background-position:center center;background-repeat:no-repeat}
.oz-pb-root .oz-pb-block__media-bg--parallax{top:-8%;bottom:-8%;height:auto;min-height:116%;will-change:transform}
.oz-pb-root .oz-pb-block--has-media-bg{position:relative;overflow:hidden}
.oz-pb-root .oz-pb-block--has-media-bg>*:not(.oz-pb-block__media-bg){position:relative;z-index:1}
.oz-pb-root .oz-pb-fx .oz-pb-block__media-bg{transition:transform .35s ease, filter .35s ease, opacity .35s ease}
.oz-pb-root .oz-pb-fx--zoom:hover .oz-pb-block__media-bg{transform:scale(1.06)}
.oz-pb-root .oz-pb-fx--zoom-out .oz-pb-block__media-bg{transform:scale(1.06)}
.oz-pb-root .oz-pb-fx--zoom-out:hover .oz-pb-block__media-bg{transform:scale(1)}
.oz-pb-root .oz-pb-fx--brighten:hover .oz-pb-block__media-bg{filter:brightness(1.15)}
.oz-pb-root .oz-pb-fx--gray-color .oz-pb-block__media-bg{filter:grayscale(1)}
.oz-pb-root .oz-pb-fx--gray-color:hover .oz-pb-block__media-bg{filter:grayscale(0)}
.oz-pb-root .oz-pb-fx--blur-focus .oz-pb-block__media-bg{filter:blur(2px)}
.oz-pb-root .oz-pb-fx--blur-focus:hover .oz-pb-block__media-bg{filter:blur(0)}
@media (prefers-reduced-motion:reduce){.oz-pb-root .oz-pb-fx .oz-pb-block__media-bg{transition:none!important;transform:none!important}}

/* ===== text ===== */
.oz-pb-block--text{box-sizing:border-box;min-width:0;max-width:100%}.oz-pb-text{margin:0;line-height:1.65;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;min-width:0;max-width:100%;box-sizing:border-box}.oz-pb-text *{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word}.oz-pb-text>:first-child{margin-top:0}.oz-pb-text>:last-child{margin-bottom:0}.oz-pb-text p{margin:0 0 .75em}.oz-pb-text p:last-child{margin-bottom:0}.oz-pb-text h1,.oz-pb-text h2,.oz-pb-text h3,.oz-pb-text h4,.oz-pb-text h5,.oz-pb-text h6{margin:0 0 .5em;line-height:1.2}.oz-pb-text ol,.oz-pb-text ul{margin:0 0 .75em;padding-left:1.5em}.oz-pb-text a{color:var(--oz-pb-accent,#2563eb);text-decoration:underline;text-underline-offset:2px}.oz-pb-text a:hover{opacity:.85}.oz-pb-text embed,.oz-pb-text iframe,.oz-pb-text img,.oz-pb-text object,.oz-pb-text video{max-width:100%}.oz-pb-text img,.oz-pb-text video{height:auto}.oz-pb-text iframe{width:100%;border:0}

/* ===== image ===== */
.oz-pb-block--image{box-sizing:border-box}.oz-pb-image{margin:0;width:100%;max-width:100%;overflow:hidden}.oz-pb-image img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}.oz-pb-image a{display:block;width:100%;max-width:100%}.oz-pb-image--align-left{text-align:left}.oz-pb-image--align-center{text-align:center}.oz-pb-image--align-right{text-align:right}.oz-pb-image--align-center img,.oz-pb-image--align-right img{max-width:100%}

/* ===== icon_text ===== */
.oz-pb-icon-text{display:flex;align-items:center;text-align:center;gap:1rem;width:100%;box-sizing:border-box}.oz-pb-it__link{display:flex;align-items:center;text-align:center;gap:1rem;color:inherit;text-decoration:none;width:100%;box-sizing:border-box}.oz-pb-icon-text.is-top,.oz-pb-it__link.is-top{flex-direction:column}.oz-pb-icon-text.is-bottom,.oz-pb-it__link.is-bottom{flex-direction:column-reverse}.oz-pb-icon-text.is-left,.oz-pb-it__link.is-left{flex-direction:row}.oz-pb-icon-text.is-right,.oz-pb-it__link.is-right{flex-direction:row-reverse}.oz-pb-it--align-left,.oz-pb-it--align-left .oz-pb-it__link{align-items:flex-start;text-align:left}.oz-pb-it--align-center,.oz-pb-it--align-center .oz-pb-it__link{align-items:center;text-align:center}.oz-pb-it--align-right,.oz-pb-it--align-right .oz-pb-it__link{align-items:flex-end;text-align:right}.oz-pb-it__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0}.oz-pb-it__icon img{display:block;max-width:100%;max-height:100%;object-fit:contain}.oz-pb-it__icon .dashicons{font-size:40px;width:40px;height:40px}.oz-pb-it__text{display:flex;flex-direction:column;gap:.4rem}.oz-pb-icon-text.is-top .oz-pb-it__text,.oz-pb-icon-text.is-bottom .oz-pb-it__text,.oz-pb-it__link.is-top .oz-pb-it__text,.oz-pb-it__link.is-bottom .oz-pb-it__text{align-self:stretch}.oz-pb-it__title{margin:0;font-size:18px;font-weight:700;line-height:1.3}.oz-pb-it__desc{margin:0;font-size:15px;line-height:1.5;opacity:.8}@media (max-width:420px){.oz-pb-it__icon{width:48px;height:48px}.oz-pb-it__icon .dashicons{font-size:32px;width:32px;height:32px}}
