/* ==========================================================================
   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}.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}
/* Default column-gap = 0 para el grid de 60 tracks. El JS / PHP aplican
   `gap: <user>` inline cuando se configura "Separacion entre columnas" en
   el panel del layout. NO usar !important: bloquearia el inline-style y
   el campo del panel quedaria inerte. Con minmax(0, 1fr) los gaps no
   desbordan, ya que 1fr distribuye el remanente tras restar los gaps. */
.oz-pb-root .oz-pb-internal-layout__grid{column-gap:0}
/* "Separacion entre columnas" (panel del layout): el gap se emite como
   margin-inline SIMETRICO via la custom property --oz-pb-sub-gap-x, dentro
   del <style> per-columna de oz_pb_runtime_build_sub_column_spacing_style.
   El margin-left/right combina esa var con el subMargin del usuario via
   calc(), de modo que el subMargin del usuario y el gap coexisten. El gap
   es por-layout (valor de columnGap), por eso no hay regla global aqui. */@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:480px){html body .oz-pb-root .oz-pb-inner--theme{max-width:var(--oz-container-mobile,480px)}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:481px) 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}
}

/* ===== OZ PB FIX: responsive stacking + overflow-wrap (added by hotfix) =====
   Apila columnas automaticamente en tablet pequena/movil (<=768px) cuando el
   usuario no ha configurado columnWidthsTablet/Mobile. Las reglas per-layout
   existentes (.{layout_uid} > ... :nth-child(N){grid-column:span N!important})
   tienen selector mas especifico y siguen ganando, asi que cualquier
   columnWidthsMobile manual del usuario continua funcionando.

   Alcance deliberado:
   - Escritorio (>1024px): comportamiento actual sin cambios.
   - Tablet horizontal (1024px): comportamiento actual sin cambios.
   - Tablet pequena / movil (<=768px): apilado automatico. */

/* 1) Apilado automatico en tablet pequena/movil (<=768px). El !important
      vence al inline grid-column:span N que pinta el render de cada
      sub-columna; selectores per-layout (mas especificos) siguen ganando. */
@media (max-width:768px){
    html body .oz-pb-root .oz-pb-internal-layout__grid > .oz-pb-sub-column,
    html body .oz-pb-root .oz-pb-row__inner > .oz-pb-col,
    html body .oz-pb-root .oz-pb-grid > .oz-pb-col,
    html body .oz-pb-root .oz-pb-grid > .oz-pb-sub-column{
        grid-column: 1 / -1 !important;
    }
    /* Columnas top-level: se conserva el reset de margin-left existente
       (comportamiento sin cambios respecto a la version anterior). */
    html body .oz-pb-root .oz-pb-row__inner > .oz-pb-col,
    html body .oz-pb-root .oz-pb-grid > .oz-pb-col{
        margin-left: 0 !important;
    }
    /* Sub-columnas del Layout interno: apaga SOLO el gap horizontal tecnico
       (--oz-pb-sub-gap-x). El render combina esa var con el subMargin del
       usuario via calc(); al ponerla en 0 desaparece el gap lateral al
       apilar SIN pisar el subMargin que el usuario haya configurado. La
       separacion vertical entre cards apiladas la sigue dando el row-gap
       inline del grid. */
    html body .oz-pb-root .oz-pb-internal-layout__grid > .oz-pb-sub-column,
    html body .oz-pb-root .oz-pb-grid > .oz-pb-sub-column{
        --oz-pb-sub-gap-x: 0px !important;
    }
}

/* 2) Texto largo sin espacios: parte la palabra cuando exceda el ancho
      disponible. Sin !important para permitir override manual. */
.oz-pb-root .oz-pb-col,
.oz-pb-root .oz-pb-sub-column,
.oz-pb-root .oz-pb-text,
.oz-pb-root .oz-pb-card,
.oz-pb-root .oz-pb-block{
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* 3) Imagenes y media dentro de cualquier bloque: cap a 100% del contenedor
      para evitar que widths fijos custom desborden la columna. */
.oz-pb-root .oz-pb-block img,
.oz-pb-root .oz-pb-block video,
.oz-pb-root .oz-pb-block iframe,
.oz-pb-root .oz-pb-block embed,
.oz-pb-root .oz-pb-block object{
    max-width: 100%;
}

/* 4) Sub-columna: hijos directos heredan box-sizing y max-width 100%, por
      consistencia con la regla equivalente para .oz-pb-col > *. */
.oz-pb-root .oz-pb-sub-column > *{
    box-sizing: border-box;
    max-width: 100%;
}

/* 5) Bloques: anula min-width:auto de flex items para evitar que el
      intrinseco de un hijo, como el ancho natural de una imagen, infle
      el bloque y rompa el grid del row/columna. min-width:0 es el partner
      necesario de minmax(0, 1fr) en .oz-pb-grid. */
.oz-pb-root .oz-pb-block,
.oz-pb-root .oz-pb-block--image,
.oz-pb-root .oz-pb-image{
    min-width: 0;
    max-width: 100%;
}

/* 6) Sections full-bleed (theme/full): margin lateral del usuario se aplica
      como REDUCCION SEGURA del ancho del section, no como margen externo
      que se sume al width:100vw. Usamos calc(100vw - left - right) para el
      width y calc(50% - 50vw + left/right) para posicionar el section
      manteniendo el truco full-bleed.

      Comportamiento:
      - margin lateral = 0: width=100vw, margin-left=calc(50% - 50vw).
        Identico al full-bleed clasico.
      - margin lateral = 40px: width=100vw - 80px, gap visible 40px a cada lado.
      - margin asimetrico (ej. left=20 right=60): se respeta cada valor.

      Cada device usa sus propias vars --oz-pb-margin-{left|right}-{device}
      emitidas por oz_pb_runtime_build_spacing_style_vars. PHP ya hace la
      cascada PC->Laptop->Tablet->Mobile, asi que CSS no necesita fallback
      entre devices. El fallback "0px" solo aplica si la var no existe
      (legacy data sin las nuevas vars; comportamiento full-bleed clasico). */
html body .oz-pb-root .oz-pb-section--theme.oz-pb-spacing-scope,
html body .oz-pb-root .oz-pb-section--full.oz-pb-spacing-scope{
    width: calc(100vw - var(--oz-pb-margin-left-desktop, 0px) - var(--oz-pb-margin-right-desktop, 0px)) !important;
    max-width: calc(100vw - var(--oz-pb-margin-left-desktop, 0px) - var(--oz-pb-margin-right-desktop, 0px)) !important;
    margin-left: calc(50% - 50vw + var(--oz-pb-margin-left-desktop, 0px)) !important;
    margin-right: calc(50% - 50vw + var(--oz-pb-margin-right-desktop, 0px)) !important;
}
@media (max-width:1366px){
    html body .oz-pb-root .oz-pb-section--theme.oz-pb-spacing-scope,
    html body .oz-pb-root .oz-pb-section--full.oz-pb-spacing-scope{
        width: calc(100vw - var(--oz-pb-margin-left-laptop, 0px) - var(--oz-pb-margin-right-laptop, 0px)) !important;
        max-width: calc(100vw - var(--oz-pb-margin-left-laptop, 0px) - var(--oz-pb-margin-right-laptop, 0px)) !important;
        margin-left: calc(50% - 50vw + var(--oz-pb-margin-left-laptop, 0px)) !important;
        margin-right: calc(50% - 50vw + var(--oz-pb-margin-right-laptop, 0px)) !important;
    }
}
@media (max-width:1024px){
    html body .oz-pb-root .oz-pb-section--theme.oz-pb-spacing-scope,
    html body .oz-pb-root .oz-pb-section--full.oz-pb-spacing-scope{
        width: calc(100vw - var(--oz-pb-margin-left-tablet, 0px) - var(--oz-pb-margin-right-tablet, 0px)) !important;
        max-width: calc(100vw - var(--oz-pb-margin-left-tablet, 0px) - var(--oz-pb-margin-right-tablet, 0px)) !important;
        margin-left: calc(50% - 50vw + var(--oz-pb-margin-left-tablet, 0px)) !important;
        margin-right: calc(50% - 50vw + var(--oz-pb-margin-right-tablet, 0px)) !important;
    }
}
@media (max-width:480px){
    html body .oz-pb-root .oz-pb-section--theme.oz-pb-spacing-scope,
    html body .oz-pb-root .oz-pb-section--full.oz-pb-spacing-scope{
        width: calc(100vw - var(--oz-pb-margin-left-mobile, 0px) - var(--oz-pb-margin-right-mobile, 0px)) !important;
        max-width: calc(100vw - var(--oz-pb-margin-left-mobile, 0px) - var(--oz-pb-margin-right-mobile, 0px)) !important;
        margin-left: calc(50% - 50vw + var(--oz-pb-margin-left-mobile, 0px)) !important;
        margin-right: calc(50% - 50vw + var(--oz-pb-margin-right-mobile, 0px)) !important;
    }
}

/* 7) .site del tema OZ no incluye margin:0 auto por lo que queda alineada
      al borde izquierdo del viewport cuando max-width < 100% (sobre todo en
      mobile/tablet con container responsive). El full-bleed del plugin
      (.oz-pb-section--theme con calc(50% - 50vw)) asume que .site esta
      centrada. Sin esa asuncion, section queda desplazado a la izquierda
      y deja espacio blanco a la derecha del viewport.
      Aplicamos margin auto SOLO en paginas con builder (selector :has)
      para no afectar paginas del tema sin builder (single posts, archives,
      WooCommerce, etc.). */
html body:has(.oz-pb-root) .site{
    margin-left: auto !important;
    margin-right: auto !important;
}
/* ===== /OZ PB FIX ===== */

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

/* ===== image ===== */
.oz-pb-block--image{box-sizing:border-box;overflow:hidden}.oz-pb-block--image,.oz-pb-block--image .oz-pb-image,.oz-pb-block--image .oz-pb-image a,.oz-pb-block--image .oz-pb-image img{border-radius:inherit}.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;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-icon-text .oz-pb-it__desc,.oz-pb-it__link .oz-pb-it__desc{text-align:justify;text-align-last:left}.oz-pb-it__desc{margin:0;font-size:15px;line-height:1.5;opacity:.8}@media (max-width:480px){.oz-pb-it__icon .dashicons{font-size:32px;width:32px;height:32px}}
