.hanlob-pro-gallery,.hanlob-pro-gallery *{box-sizing:border-box}
.hanlob-pro-gallery{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;width:100%;align-items:start}
.hanlob-pro-gallery__thumbs{display:flex;flex-direction:column;gap:9px;max-height:560px;padding:3px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}
.hanlob-pro-gallery button.hanlob-pro-gallery__thumb{display:block;position:relative;flex:0 0 68px;width:68px;height:68px;min-width:68px;margin:0;padding:4px;overflow:hidden;appearance:none;background:#fff!important;border:1px solid #dce7ee!important;border-radius:10px!important;outline:none!important;box-shadow:0 3px 10px rgba(21,67,99,.04)!important;opacity:.8;cursor:pointer}
.hanlob-pro-gallery button.hanlob-pro-gallery__thumb:hover{border-color:#2D93C8!important;opacity:1}
.hanlob-pro-gallery button.hanlob-pro-gallery__thumb.is-active{border:2px solid #2D93C8!important;box-shadow:0 0 0 3px rgba(45,147,200,.12)!important;opacity:1}
.hanlob-pro-gallery__thumb img{display:block;width:100%;height:100%;border-radius:6px;object-fit:cover}
.hanlob-pro-gallery__thumb.is-video::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.38);color:#fff;font-size:22px;border-radius:7px}
.hanlob-pro-gallery__stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:520px;padding:18px;overflow:hidden;background:#fff;border:1px solid #dfeaf1;border-radius:18px;box-shadow:0 10px 28px rgba(25,74,110,.06)}
.hanlob-pro-gallery__main{display:block;width:100%;max-width:100%;max-height:560px;object-fit:contain;transform:scale(1);transform-origin:center;transition:.22s ease;cursor:zoom-in}
.hanlob-pro-gallery__main.is-zoomed{transform:scale(1.8)}
.hanlob-pro-gallery__video-wrap,.hanlob-pro-lightbox__video-wrap{width:100%;height:100%}
.hanlob-pro-gallery__video-wrap video,.hanlob-pro-gallery__video-wrap iframe,.hanlob-pro-lightbox__video-wrap video,.hanlob-pro-lightbox__video-wrap iframe{width:100%;height:100%;border:0;border-radius:12px;background:#000}
.hanlob-pro-gallery button.hanlob-pro-gallery__arrow{position:absolute;top:50%;z-index:5;width:34px;height:34px;padding:0;transform:translateY(-50%);background:#fff!important;border:1px solid #d9e6ee!important;border-radius:50%!important;color:#2D93C8!important;font-size:24px;box-shadow:0 5px 14px rgba(15,45,70,.08)!important}
.hanlob-pro-gallery button.hanlob-pro-gallery__arrow:hover{background:#2D93C8!important;color:#fff!important}
.hanlob-pro-gallery__prev{left:10px}.hanlob-pro-gallery__next{right:10px}
.hanlob-pro-gallery button.hanlob-pro-gallery__expand{position:absolute;right:12px;bottom:12px;width:36px;height:36px;padding:0;background:#fff!important;border:1px solid #d8e5ed!important;border-radius:10px!important;color:#2D93C8!important}
.hanlob-pro-gallery__expand svg{width:18px;height:18px;fill:currentColor}
body.hanlob-pro-lightbox-open{overflow:hidden!important}
.hanlob-pro-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:18px}
.hanlob-pro-lightbox.is-open{display:flex}
.hanlob-pro-lightbox__backdrop{position:absolute;inset:0;background:rgba(8,20,32,.94);backdrop-filter:blur(6px)}
.hanlob-pro-lightbox__content{position:relative;z-index:2;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:auto auto;gap:12px;width:min(1450px,96vw);max-height:94vh}
.hanlob-pro-lightbox__media-wrap{grid-column:2;grid-row:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:14px}
.hanlob-pro-lightbox__image{max-width:100%;max-height:calc(94vh - 120px);object-fit:contain;transform:scale(1);transform-origin:center;transition:.22s ease}
.hanlob-pro-lightbox__image.is-zoomed{transform:scale(2)}
.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow{align-self:center;width:42px;height:42px;padding:0;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:50%!important;color:#fff!important;font-size:32px}
.hanlob-pro-lightbox__prev{grid-column:1;grid-row:1}.hanlob-pro-lightbox__next{grid-column:3;grid-row:1}
.hanlob-pro-gallery button.hanlob-pro-lightbox__close{position:fixed;top:16px;right:18px;width:40px;height:40px;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;color:#fff!important;font-size:28px}
.hanlob-pro-lightbox__counter{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:5px 10px;background:rgba(7,18,28,.72);border-radius:18px;color:#fff;font-size:12px;font-weight:700}
.hanlob-pro-lightbox__thumbs{grid-column:1/-1;grid-row:2;display:flex;gap:8px;width:fit-content;max-width:calc(100vw - 80px);margin:0 auto;padding:6px 9px;overflow-x:auto;background:rgba(11,25,38,.72);border-radius:14px}
.hanlob-pro-gallery button.hanlob-pro-lightbox__thumb{position:relative;flex:0 0 54px;width:54px;height:54px;padding:3px;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:8px!important;opacity:.66}
.hanlob-pro-gallery button.hanlob-pro-lightbox__thumb.is-active{border:2px solid #2D93C8!important;opacity:1}
.hanlob-pro-lightbox__thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}
.hanlob-pro-lightbox__thumb.is-video::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.38);color:#fff;font-size:19px;border-radius:6px}
@media(max-width:767px){.hanlob-pro-gallery{grid-template-columns:1fr}.hanlob-pro-gallery__stage{order:1;min-height:350px}.hanlob-pro-gallery__thumbs{order:2;flex-direction:row;max-height:none;overflow-x:auto}.hanlob-pro-gallery__main,.hanlob-pro-gallery__main.is-zoomed,.hanlob-pro-lightbox__image,.hanlob-pro-lightbox__image.is-zoomed{transform:none!important}.hanlob-pro-lightbox__content{grid-template-columns:36px minmax(0,1fr) 36px}}


/* =====================================================
   VIDEO PREMIUM — SEGUNDA POSICIÓN
===================================================== */

.hanlob-pro-gallery__thumb.is-video,
.hanlob-pro-lightbox__thumb.is-video {
    position: relative !important;
    overflow: hidden !important;
}

.hanlob-pro-gallery__thumb.is-video::before,
.hanlob-pro-lightbox__thumb.is-video::before {
    content: "";
    position: absolute;
    inset: 3px;
    z-index: 2;
    border-radius: 6px;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.14) 0%,
        rgba(0, 0, 0, 0.48) 100%
    );
    pointer-events: none;
}

.hanlob-pro-gallery__thumb.is-video::after,
.hanlob-pro-lightbox__thumb.is-video::after {
    content: "▶";
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding-left: 2px;
    transform: translate(-50%, -50%);
    background: rgba(45, 147, 200, 0.96);
    border: 2px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    color: #ffffff;
    font-size: 13px;
    line-height: 1;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.24);
    pointer-events: none;
}

.hanlob-pro-gallery__thumb.is-video:hover::after,
.hanlob-pro-lightbox__thumb.is-video:hover::after {
    transform: translate(-50%, -50%) scale(1.08);
}

.hanlob-video-badge {
    position: absolute;
    left: 50%;
    bottom: 5px;
    z-index: 5;
    transform: translateX(-50%);
    padding: 2px 6px;
    background: rgba(7, 18, 28, 0.82);
    border-radius: 8px;
    color: #ffffff;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.35px;
    pointer-events: none;
}

.hanlob-pro-gallery__thumb.is-video.is-active,
.hanlob-pro-lightbox__thumb.is-video.is-active {
    border-color: #2D93C8 !important;
    box-shadow:
        0 0 0 3px rgba(45, 147, 200, 0.12),
        0 7px 18px rgba(45, 147, 200, 0.12) !important;
}

@media (max-width: 767px) {
    .hanlob-pro-gallery__thumb.is-video::after,
    .hanlob-pro-lightbox__thumb.is-video::after {
        width: 27px;
        height: 27px;
        font-size: 12px;
    }

    .hanlob-video-badge {
        bottom: 4px;
        font-size: 7px;
        padding: 2px 5px;
    }
}


/* =====================================================
   HANLOB GALLERY PRO 1.3.0
   Transiciones premium y flechas centradas
===================================================== */

.hanlob-pro-gallery__stage {
    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease !important;
}

.hanlob-pro-gallery__stage.is-switching {
    transform: scale(.992);
}

.hanlob-pro-gallery__main {
    transition:
        opacity .24s ease,
        transform .26s cubic-bezier(.22,.61,.36,1),
        filter .24s ease !important;
}

.hanlob-pro-gallery__main.is-changing {
    opacity: .12 !important;
    filter: blur(1.2px);
}

.hanlob-pro-gallery__main.is-entering {
    animation: hanlobImageIn .30s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes hanlobImageIn {
    from { opacity: 0; transform: scale(.985); }
    to { opacity: 1; transform: scale(1); }
}

.hanlob-pro-gallery.is-variation-changing {
    opacity: .58;
    transform: translateY(2px);
    transition: opacity .20s ease, transform .20s ease;
}

.hanlob-pro-gallery.is-variation-ready {
    animation: hanlobVariationIn .34s ease both;
}

@keyframes hanlobVariationIn {
    from { opacity: .42; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Flechas centradas dentro de los círculos */
.hanlob-pro-gallery button.hanlob-pro-gallery__arrow,
.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow {
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__arrow::before,
.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow::before {
    display: block;
    position: relative;
    top: -1px;
    width: 100%;
    color: inherit;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__prev::before,
.hanlob-pro-gallery button.hanlob-pro-lightbox__prev::before {
    content: "‹";
}

.hanlob-pro-gallery button.hanlob-pro-gallery__next::before,
.hanlob-pro-gallery button.hanlob-pro-lightbox__next::before {
    content: "›";
}

/* Lightbox con apertura y cierre suaves */
.hanlob-pro-lightbox {
    display: flex !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease, visibility .24s ease !important;
}

.hanlob-pro-lightbox.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.hanlob-pro-lightbox__backdrop {
    opacity: 0;
    transition: opacity .26s ease !important;
}

.hanlob-pro-lightbox.is-open .hanlob-pro-lightbox__backdrop {
    opacity: 1;
}

.hanlob-pro-lightbox__content {
    opacity: 0;
    transform: scale(.975) translateY(8px);
    transition:
        opacity .28s ease,
        transform .30s cubic-bezier(.22,.61,.36,1) !important;
}

.hanlob-pro-lightbox.is-open .hanlob-pro-lightbox__content {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.hanlob-pro-lightbox__image {
    transition:
        opacity .22s ease,
        transform .26s cubic-bezier(.22,.61,.36,1),
        filter .22s ease !important;
}

.hanlob-pro-lightbox__image.is-changing {
    opacity: .14 !important;
    filter: blur(1px);
}

.hanlob-pro-gallery button.hanlob-pro-gallery__arrow,
.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow,
.hanlob-pro-gallery button.hanlob-pro-gallery__expand,
.hanlob-pro-gallery button.hanlob-pro-lightbox__close,
.hanlob-pro-gallery button.hanlob-pro-gallery__thumb,
.hanlob-pro-gallery button.hanlob-pro-lightbox__thumb {
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        opacity .18s ease !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__arrow:hover {
    transform: translateY(-50%) scale(1.06) !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow:hover {
    transform: scale(1.06);
}

@media (max-width: 767px) {
    .hanlob-pro-gallery button.hanlob-pro-gallery__arrow::before,
    .hanlob-pro-gallery button.hanlob-pro-lightbox__arrow::before {
        top: -1px;
        font-size: 19px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hanlob-pro-gallery,
    .hanlob-pro-gallery *,
    .hanlob-pro-lightbox,
    .hanlob-pro-lightbox * {
        animation: none !important;
        transition: none !important;
    }
}


/* =====================================================
   HANLOB GALLERY PRO 1.4.0
   Versión final estable por el momento
===================================================== */

.hanlob-pro-gallery__main {
    cursor: zoom-in !important;
    transform-origin: center center;
    will-change: transform;
}

.hanlob-pro-gallery__stage.is-zoom-active {
    cursor: zoom-out;
}

.hanlob-pro-gallery__zoom-hint {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 7;
    display: flex;
    align-items: center;
    padding: 6px 9px;
    background: rgba(255,255,255,.92);
    border: 1px solid #d8e5ed;
    border-radius: 9px;
    color: #2D93C8;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 5px 14px rgba(20,58,84,.08);
    pointer-events: none;
    opacity: .85;
}

.hanlob-pro-lightbox__media-wrap.is-pannable {
    cursor: grab;
}

.hanlob-pro-lightbox__media-wrap.is-dragging {
    cursor: grabbing;
}

.hanlob-pro-lightbox__image {
    touch-action: none;
    user-select: none;
}

.hanlob-pro-lightbox__zoom-toolbar {
    position: absolute;
    left: 50%;
    bottom: 14px;
    z-index: 12;
    display: flex;
    align-items: center;
    gap: 8px;
    transform: translateX(-50%);
    padding: 7px 10px;
    background: rgba(7,18,28,.78);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    box-shadow: 0 8px 20px rgba(0,0,0,.20);
    backdrop-filter: blur(8px);
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__zoom-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    padding: 0;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif;
    font-size: 19px;
    line-height: 1;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__zoom-btn:hover {
    background: #2D93C8 !important;
    border-color: #2D93C8 !important;
}

.hanlob-pro-lightbox__zoom-value {
    min-width: 48px;
    color: #ffffff;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.hanlob-pro-lightbox__counter {
    bottom: 62px !important;
}

.hanlob-pro-gallery__video-wrap,
.hanlob-pro-lightbox__video-wrap {
    min-height: 320px;
}

.hanlob-pro-gallery__video-wrap video,
.hanlob-pro-gallery__video-wrap iframe {
    max-height: 560px;
}

.hanlob-pro-lightbox__video-wrap video,
.hanlob-pro-lightbox__video-wrap iframe {
    max-height: calc(94vh - 120px);
}

.hanlob-pro-gallery.is-preloading .hanlob-pro-gallery__main {
    filter: saturate(.98);
}

.hanlob-pro-gallery button.hanlob-pro-gallery__arrow::before,
.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow::before {
    top: 0 !important;
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .hanlob-pro-gallery__zoom-hint,
    .hanlob-pro-lightbox__zoom-toolbar {
        display: none;
    }

    .hanlob-pro-lightbox__counter {
        bottom: 10px !important;
    }

    .hanlob-pro-gallery__video-wrap,
    .hanlob-pro-lightbox__video-wrap {
        min-height: 240px;
    }
}


/* =====================================================
   ELEMENTOR EDITOR COMPATIBILITY — v1.4.1
===================================================== */

body.elementor-editor-active .hanlob-pro-gallery,
body.elementor-editor-preview .hanlob-pro-gallery,
.elementor-edit-mode .hanlob-pro-gallery {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    clear: both !important;
    float: none !important;
    overflow: visible !important;
}

body.elementor-editor-active .hanlob-pro-gallery__thumbs,
body.elementor-editor-preview .hanlob-pro-gallery__thumbs,
.elementor-edit-mode .hanlob-pro-gallery__thumbs {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 76px !important;
    max-width: 76px !important;
    height: auto !important;
    max-height: 560px !important;
    float: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: none !important;
}

body.elementor-editor-active .hanlob-pro-gallery__stage,
body.elementor-editor-preview .hanlob-pro-gallery__stage,
.elementor-edit-mode .hanlob-pro-gallery__stage {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 420px !important;
    height: auto !important;
    float: none !important;
    overflow: hidden !important;
    transform: none !important;
}

body.elementor-editor-active .hanlob-pro-gallery__main,
body.elementor-editor-preview .hanlob-pro-gallery__main,
.elementor-edit-mode .hanlob-pro-gallery__main {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 520px !important;
    margin: 0 auto !important;
    float: none !important;
    object-fit: contain !important;
}

/* Evita que el zoom dificulte editar el shortcode. */
body.elementor-editor-active .hanlob-pro-gallery__main.is-zoomed,
body.elementor-editor-preview .hanlob-pro-gallery__main.is-zoomed,
.elementor-edit-mode .hanlob-pro-gallery__main.is-zoomed {
    transform: none !important;
}

body.elementor-editor-active .hanlob-pro-gallery__zoom-hint,
body.elementor-editor-preview .hanlob-pro-gallery__zoom-hint,
.elementor-edit-mode .hanlob-pro-gallery__zoom-hint {
    display: none !important;
}

/* El lightbox no debe abrirse sobre los controles del editor. */
body.elementor-editor-active .hanlob-pro-lightbox,
body.elementor-editor-preview .hanlob-pro-lightbox,
.elementor-edit-mode .hanlob-pro-lightbox {
    display: none !important;
}

@media (max-width: 767px) {
    body.elementor-editor-active .hanlob-pro-gallery,
    body.elementor-editor-preview .hanlob-pro-gallery,
    .elementor-edit-mode .hanlob-pro-gallery {
        grid-template-columns: 1fr !important;
    }

    body.elementor-editor-active .hanlob-pro-gallery__thumbs,
    body.elementor-editor-preview .hanlob-pro-gallery__thumbs,
    .elementor-edit-mode .hanlob-pro-gallery__thumbs {
        order: 2 !important;
        flex-direction: row !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }
}


/* =========================================================
   REPARACIÓN DE COMPATIBILIDAD — 1.4.3
   No depende de la clase body.single-product.
========================================================= */

.hanlob-pro-gallery button,
.hanlob-pro-gallery button:hover,
.hanlob-pro-gallery button:focus,
.hanlob-pro-gallery button:active {
    font-family: Helvetica, Arial, sans-serif !important;
    text-transform: none !important;
    text-decoration: none !important;
    outline: none !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__thumb {
    background: #ffffff !important;
    border: 1px solid #dce7ee !important;
    color: #2D93C8 !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__thumb:hover {
    border-color: #2D93C8 !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__thumb.is-active {
    border: 2px solid #2D93C8 !important;
    box-shadow: 0 0 0 3px rgba(45,147,200,.12) !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__arrow,
.hanlob-pro-gallery button.hanlob-pro-gallery__expand {
    background: #ffffff !important;
    border-color: #d9e6ee !important;
    color: #2D93C8 !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__arrow:hover,
.hanlob-pro-gallery button.hanlob-pro-gallery__expand:hover {
    background: #2D93C8 !important;
    border-color: #2D93C8 !important;
    color: #ffffff !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow,
.hanlob-pro-gallery button.hanlob-pro-lightbox__close {
    color: #ffffff !important;
}

/* Evita que estilos globales de Elementor cambien tamaños o posición */
.hanlob-pro-gallery__thumbs > button {
    min-height: 68px !important;
    line-height: 1 !important;
}

.hanlob-pro-gallery__arrow {
    line-height: 28px !important;
}

.hanlob-pro-gallery__expand {
    line-height: 1 !important;
}


/* =========================================================
   HANLOB GALLERY PRO 2.0 — ELEMENTOR NATIVO
========================================================= */

.hanlob-pro-gallery.has-no-arrows .hanlob-pro-gallery__arrow,
.hanlob-pro-gallery.has-no-arrows .hanlob-pro-lightbox__arrow {
    display: none !important;
}

.hanlob-pro-gallery.has-no-lightbox .hanlob-pro-gallery__expand {
    display: none !important;
}

.hanlob-gallery-editor-notice {
    padding: 18px;
    border: 1px dashed #2D93C8;
    border-radius: 12px;
    background: #f5fbfe;
    color: #23526d;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

/* Aislamiento contra estilos globales de temas y Elementor */
.elementor-widget-hanlob-gallery-pro .hanlob-pro-gallery,
.elementor-widget-hanlob-gallery-pro .hanlob-pro-gallery * {
    box-sizing: border-box;
}

.elementor-widget-hanlob-gallery-pro button {
    appearance: none;
    -webkit-appearance: none;
}


/* =========================================================
   HANLOB GALLERY PRO 2.0.1 — VARIACIONES, VIDEO Y LIGHTBOX
========================================================= */

.hanlob-pro-lightbox__content {
    position: relative !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__close {
    position: absolute !important;
    top: -10px !important;
    right: -10px !important;
    z-index: 20 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 0 3px !important;
    line-height: 1 !important;
    font-family: Arial, sans-serif !important;
    font-size: 29px !important;
    font-weight: 300 !important;
    background: #23384d !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.30) !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__close:hover {
    background: #2D93C8 !important;
    transform: scale(1.05) !important;
}

.hanlob-pro-gallery__video-wrap,
.hanlob-pro-lightbox__video-wrap {
    width: 100%;
    height: 100%;
}

.hanlob-pro-gallery__video-wrap video,
.hanlob-pro-gallery__video-wrap iframe,
.hanlob-pro-lightbox__video-wrap video,
.hanlob-pro-lightbox__video-wrap iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: contain;
    background: #000;
}

.hanlob-pro-lightbox__video-wrap {
    max-width: min(900px, 82vw);
    height: min(78vh, 900px);
}

@media (max-width: 767px) {
    .hanlob-pro-gallery button.hanlob-pro-lightbox__close {
        top: -6px !important;
        right: -4px !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
    }
}


/* 2.0.2 functional repairs */
.hanlob-pro-gallery__thumb.is-video{position:relative!important}
.hanlob-pro-gallery__thumb.is-video::after{content:"▶"!important;position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(0,0,0,.38)!important;color:#fff!important;font-size:20px!important;border-radius:7px!important;pointer-events:none!important}
.hanlob-video-badge{position:absolute!important;left:50%!important;bottom:3px!important;transform:translateX(-50%)!important;padding:2px 5px!important;border-radius:4px!important;background:#167eaf!important;color:#fff!important;font-size:7px!important;font-weight:800!important;line-height:1!important;z-index:3!important}
.hanlob-pro-lightbox__content{position:relative!important}
.hanlob-pro-lightbox__close{position:fixed!important;top:24px!important;right:24px!important;z-index:1000002!important;width:42px!important;height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:50%!important;background:rgba(10,28,43,.84)!important;color:#fff!important;font-size:28px!important;line-height:1!important}


/* =========================================================
   HANLOB GALLERY PRO 2.0.3
========================================================= */

.hanlob-pro-gallery__main[hidden],
.hanlob-pro-gallery__video-wrap[hidden],
.hanlob-pro-lightbox__image[hidden],
.hanlob-pro-lightbox__video-wrap[hidden] {
    display: none !important;
}

.hanlob-pro-gallery__video-wrap {
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: min(560px, 70vh) !important;
    min-height: 420px !important;
}

.hanlob-pro-gallery__video-wrap video,
.hanlob-pro-gallery__video-wrap iframe {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: 560px !important;
    object-fit: contain;
    background: #000;
}

.hanlob-pro-lightbox__video-wrap {
    align-items: center;
    justify-content: center;
    width: min(1100px, 82vw) !important;
    height: min(720px, 78vh) !important;
}

.hanlob-pro-lightbox__video-wrap video,
.hanlob-pro-lightbox__video-wrap iframe {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    background: #000;
}

.hanlob-pro-lightbox__media-wrap.is-auto-zooming {
    cursor: zoom-in;
}

.hanlob-pro-lightbox__media-wrap.is-auto-zooming .hanlob-pro-lightbox__image {
    cursor: crosshair;
    transition: transform .12s ease-out !important;
}

@media (max-width: 767px) {
    .hanlob-pro-gallery__video-wrap {
        height: 360px !important;
        min-height: 300px !important;
    }

    .hanlob-pro-lightbox__video-wrap {
        width: 100% !important;
        height: 60vh !important;
    }
}


/* =========================================================
   HANLOB GALLERY PRO 2.0.4
   VIDEO MÁS CLARO + UNA SOLA TRANSICIÓN
========================================================= */

.hanlob-pro-gallery__thumb.is-video,
.hanlob-pro-lightbox__thumb.is-video {
    position: relative;
    overflow: hidden;
}

.hanlob-video-badge {
    position: absolute;
    left: 4px;
    right: 4px;
    bottom: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 21px;
    padding: 3px 5px;
    border-radius: 6px;
    background: rgba(17, 48, 69, .9);
    color: #ffffff;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .25px;
    line-height: 1;
    pointer-events: none;
    z-index: 4;
}

.hanlob-video-badge__play {
    position: relative;
    display: inline-flex;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border-radius: 50%;
    background: #2D93C8;
    box-shadow: 0 0 0 2px rgba(255,255,255,.24);
}

.hanlob-video-badge__play::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 3.5px;
    width: 0;
    height: 0;
    border-top: 3.5px solid transparent;
    border-bottom: 3.5px solid transparent;
    border-left: 5px solid #ffffff;
}

.hanlob-video-badge__text {
    line-height: 1;
}

.hanlob-pro-gallery__thumb.is-video img,
.hanlob-pro-lightbox__thumb.is-video img {
    filter: brightness(.78);
}

/* Se conserva únicamente la transición exterior de variación. */
.hanlob-pro-gallery.is-variation-changing .hanlob-pro-gallery__stage {
    opacity: .28;
    transform: scale(.992);
    transition: opacity .12s ease, transform .12s ease;
}

.hanlob-pro-gallery.is-variation-ready .hanlob-pro-gallery__stage {
    animation: hanlobVariationSingleFade .38s ease both;
}

@keyframes hanlobVariationSingleFade {
    from {
        opacity: .28;
        transform: scale(.992);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}


/* =========================================================
   HANLOB GALLERY PRO 2.1.0 STABLE
   ICONO DE VIDEO LIMPIO + CAMBIO DE VARIACIÓN ÚNICO
========================================================= */

.hanlob-video-badge {
    position: absolute !important;
    inset: 50% auto auto 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(20, 52, 73, .88) !important;
    box-shadow:
        0 3px 10px rgba(0,0,0,.24),
        0 0 0 2px rgba(255,255,255,.9) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

.hanlob-video-badge__play {
    position: relative !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    margin-left: 2px !important;
    border-top: 6px solid transparent !important;
    border-bottom: 6px solid transparent !important;
    border-left: 9px solid #ffffff !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.hanlob-video-badge__play::before,
.hanlob-video-badge__play::after,
.hanlob-video-badge__text {
    display: none !important;
    content: none !important;
}

.hanlob-pro-gallery__thumb.is-video img,
.hanlob-pro-lightbox__thumb.is-video img {
    filter: brightness(.76) !important;
}

/* La transición principal queda como único efecto del cambio de variante. */
.hanlob-pro-gallery.is-variation-changing .hanlob-pro-gallery__main,
.hanlob-pro-gallery.is-variation-changing .hanlob-pro-gallery__video-wrap {
    animation: none !important;
    transition: none !important;
}

.hanlob-pro-gallery.is-variation-ready .hanlob-pro-gallery__main,
.hanlob-pro-gallery.is-variation-ready .hanlob-pro-gallery__video-wrap {
    animation: none !important;
}


/* =========================================================
   HANLOB GALLERY PRO 2.2.1 — MOBILE COMPACT + FULLSCREEN ZOOM
   Desktop remains unchanged. These rules apply only to phones.
========================================================= */
@media (max-width: 767px) {
    .hanlob-pro-gallery {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        gap: 7px !important;
        align-items: start !important;
    }

    .hanlob-pro-gallery__thumbs {
        order: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 50px !important;
        max-width: 50px !important;
        height: 218px !important;
        max-height: 218px !important;
        padding: 1px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scroll-snap-type: y proximity;
    }

    .hanlob-pro-gallery button.hanlob-pro-gallery__thumb,
    .hanlob-pro-gallery__thumbs > button {
        flex: 0 0 49px !important;
        width: 49px !important;
        min-width: 49px !important;
        height: 49px !important;
        min-height: 49px !important;
        padding: 3px !important;
        border-radius: 8px !important;
        scroll-snap-align: start;
    }

    .hanlob-pro-gallery__stage {
        order: 2 !important;
        min-width: 0 !important;
        width: 100% !important;
        height: clamp(255px, 66vw, 340px) !important;
        min-height: 0 !important;
        max-height: 340px !important;
        padding: 7px !important;
        touch-action: pan-y !important;
    }

    .hanlob-pro-gallery__main {
        width: 100% !important;
        height: 100% !important;
        max-height: 326px !important;
        object-fit: contain !important;
        transform: none !important;
        cursor: zoom-in !important;
    }

    .hanlob-pro-gallery__video-wrap {
        min-height: 0 !important;
        height: 100% !important;
    }

    .hanlob-pro-gallery button.hanlob-pro-gallery__arrow {
        display: none !important;
    }

    .hanlob-pro-gallery button.hanlob-pro-gallery__expand {
        right: 8px !important;
        bottom: 8px !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 10px !important;
    }

    .hanlob-pro-lightbox {
        padding: 0 !important;
    }

    .hanlob-pro-lightbox__content {
        display: block !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        padding: max(54px, env(safe-area-inset-top)) 8px max(10px, env(safe-area-inset-bottom)) !important;
    }

    .hanlob-pro-lightbox__media-wrap {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        touch-action: none !important;
        user-select: none !important;
        -webkit-user-select: none !important;
    }

    .hanlob-pro-lightbox__image {
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        transform-origin: center center !important;
        will-change: transform;
        touch-action: none !important;
        transition: opacity .18s ease, filter .18s ease !important;
    }

    /* En el visor móvil se navega deslizando; no se repiten miniaturas ni flechas. */
    .hanlob-pro-lightbox__thumbs,
    .hanlob-pro-gallery button.hanlob-pro-lightbox__arrow,
    .hanlob-pro-lightbox__zoom-toolbar {
        display: none !important;
    }

    .hanlob-pro-gallery button.hanlob-pro-lightbox__close {
        top: max(10px, env(safe-area-inset-top)) !important;
        right: 10px !important;
        z-index: 9 !important;
        width: 42px !important;
        height: 42px !important;
        background: rgba(7,18,28,.76) !important;
    }

    .hanlob-pro-lightbox__counter {
        bottom: max(16px, env(safe-area-inset-bottom)) !important;
        z-index: 7 !important;
    }

    .hanlob-pro-lightbox__media-wrap.is-pannable { cursor: grab; }
    .hanlob-pro-lightbox__media-wrap.is-dragging { cursor: grabbing; }
}

@media (max-width: 390px) {
    .hanlob-pro-gallery {
        grid-template-columns: 46px minmax(0, 1fr) !important;
        gap: 6px !important;
    }
    .hanlob-pro-gallery__thumbs {
        width: 46px !important;
        max-width: 46px !important;
        height: 202px !important;
        max-height: 202px !important;
    }
    .hanlob-pro-gallery button.hanlob-pro-gallery__thumb,
    .hanlob-pro-gallery__thumbs > button {
        flex-basis: 45px !important;
        width: 45px !important;
        min-width: 45px !important;
        height: 45px !important;
        min-height: 45px !important;
    }
    .hanlob-pro-gallery__stage {
        height: clamp(245px, 68vw, 320px) !important;
        max-height: 320px !important;
    }
}

/* =========================================================
   HANLOB GALLERY PRO 2.2.2 — MOBILE DISCOVERY + TRUE PINCH
========================================================= */
@media (max-width: 767px) {
    .hanlob-pro-gallery { position: relative !important; }

    /* 4 miniaturas completas + parte de la quinta. */
    .hanlob-pro-gallery__thumbs {
        height: 244px !important;
        max-height: 244px !important;
        padding-bottom: 22px !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    .hanlob-pro-gallery__thumbs::-webkit-scrollbar { display: none !important; }

    .hanlob-pro-gallery__thumb-cue {
        display: none !important;
        position: absolute !important;
        left: 13px !important;
        top: 215px !important;
        z-index: 12 !important;
        width: 25px !important;
        height: 25px !important;
        min-height: 25px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,.94) !important;
        box-shadow: 0 2px 8px rgba(12,34,48,.22) !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .hanlob-pro-gallery__thumb-cue.is-visible { display: flex !important; }
    .hanlob-pro-gallery__thumb-cue span {
        width: 8px !important;
        height: 8px !important;
        border-right: 2px solid #143449 !important;
        border-bottom: 2px solid #143449 !important;
        transform: rotate(45deg) translate(-1px,-1px) !important;
    }

    .hanlob-pro-gallery__mobile-counter {
        display: block !important;
        position: absolute !important;
        top: 8px !important;
        right: 8px !important;
        z-index: 8 !important;
        padding: 4px 8px !important;
        border-radius: 999px !important;
        color: #fff !important;
        background: rgba(7,18,28,.66) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        pointer-events: none !important;
    }

    .hanlob-pro-lightbox__media-wrap,
    .hanlob-pro-lightbox__image {
        touch-action: none !important;
        -webkit-touch-callout: none !important;
        -webkit-user-drag: none !important;
    }
    .hanlob-pro-lightbox__image {
        transform-origin: 50% 50% !important;
        transition: opacity .18s ease, filter .18s ease !important;
    }
}

@media (max-width: 390px) {
    .hanlob-pro-gallery__thumbs {
        height: 224px !important;
        max-height: 224px !important;
        padding-bottom: 20px !important;
    }
    .hanlob-pro-gallery__thumb-cue {
        left: 11px !important;
        top: 196px !important;
    }
}


/* =========================================================
   HANLOB GALLERY PRO 2.2.3 — MOBILE TOUCH + POLISHED VIDEO
========================================================= */
@media (max-width: 767px) {
    /* El indicador queda debajo del carril y nunca tapa una miniatura. */
    .hanlob-pro-gallery__thumbs {
        height: 230px !important;
        max-height: 230px !important;
        padding-bottom: 0 !important;
    }
    .hanlob-pro-gallery__thumb-cue {
        left: 12px !important;
        top: 234px !important;
        width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
        background: transparent !important;
        box-shadow: none !important;
        border: 1px solid rgba(20,52,73,.12) !important;
    }

    /* Miniatura de video profesional: overlay, play limpio y etiqueta VIDEO. */
    .hanlob-pro-gallery__thumb.is-video::after,
    .hanlob-pro-lightbox__thumb.is-video::after {
        content: "" !important;
        inset: 0 !important;
        width: auto !important;
        height: auto !important;
        transform: none !important;
        border: 0 !important;
        border-radius: 7px !important;
        background: linear-gradient(180deg, rgba(7,18,28,.08), rgba(7,18,28,.52)) !important;
        box-shadow: none !important;
    }
    .hanlob-video-badge {
        left: 50% !important;
        right: auto !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translate(-50%,-50%) !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        min-height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
    }
    .hanlob-video-badge__play {
        width: 28px !important;
        height: 28px !important;
        flex-basis: 28px !important;
        background: rgba(255,255,255,.96) !important;
        box-shadow: 0 3px 10px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.4) !important;
    }
    .hanlob-video-badge__play::before {
        left: 11px !important;
        top: 8px !important;
        border-top-width: 6px !important;
        border-bottom-width: 6px !important;
        border-left: 8px solid #2D93C8 !important;
    }
    .hanlob-video-badge__text {
        display: block !important;
        padding: 2px 5px !important;
        border-radius: 4px !important;
        background: rgba(7,18,28,.88) !important;
        color: #fff !important;
        font-size: 6px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: .65px !important;
    }

    .hanlob-pro-lightbox__media-wrap {
        touch-action: none !important;
        overscroll-behavior: none !important;
    }
    .hanlob-pro-lightbox__image {
        touch-action: none !important;
        transform-origin: center center !important;
    }
}

@media (max-width: 390px) {
    .hanlob-pro-gallery__thumbs {
        height: 211px !important;
        max-height: 211px !important;
    }
    .hanlob-pro-gallery__thumb-cue {
        left: 10px !important;
        top: 215px !important;
    }
}


/* =========================================================
   HANLOB GALLERY PRO 2.2.4 — REAL MOBILE ZOOM + UI POLISH
========================================================= */
@media (max-width: 767px) {
    /* Más aire entre el carril de miniaturas y el indicador. */
    .hanlob-pro-gallery__thumb-cue {
        top: 248px !important;
    }

    /* Video: miniatura limpia, sin texto; círculo Hanlob y play blanco. */
    .hanlob-video-badge__text {
        display: none !important;
    }
    .hanlob-video-badge {
        gap: 0 !important;
    }
    .hanlob-video-badge__play {
        width: 32px !important;
        height: 32px !important;
        flex-basis: 32px !important;
        border-radius: 50% !important;
        background: #2D93C8 !important;
        box-shadow: 0 4px 12px rgba(8,52,76,.32), 0 0 0 2px rgba(255,255,255,.88) !important;
    }
    .hanlob-video-badge__play::before {
        left: 13px !important;
        top: 9px !important;
        border-top-width: 7px !important;
        border-bottom-width: 7px !important;
        border-left: 9px solid #fff !important;
    }

    /* Botón de lupa visible dentro del lightbox. */
    .hanlob-pro-gallery button.hanlob-pro-lightbox__mobile-zoom {
        position: absolute !important;
        right: 18px !important;
        bottom: max(70px, calc(env(safe-area-inset-bottom) + 58px)) !important;
        z-index: 10 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.34) !important;
        border-radius: 50% !important;
        background: rgba(7,18,28,.82) !important;
        box-shadow: 0 5px 18px rgba(0,0,0,.28) !important;
        color: #fff !important;
    }
    .hanlob-pro-lightbox__mobile-zoom span {
        position: relative !important;
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        border: 2px solid currentColor !important;
        border-radius: 50% !important;
    }
    .hanlob-pro-lightbox__mobile-zoom span::before,
    .hanlob-pro-lightbox__mobile-zoom span::after {
        content: "" !important;
        position: absolute !important;
        background: currentColor !important;
        border-radius: 2px !important;
    }
    .hanlob-pro-lightbox__mobile-zoom span::before {
        width: 7px !important;
        height: 2px !important;
        right: -6px !important;
        bottom: -3px !important;
        transform: rotate(45deg) !important;
    }
    .hanlob-pro-lightbox__mobile-zoom span::after {
        width: 8px !important;
        height: 2px !important;
        left: 2px !important;
        top: 5px !important;
        box-shadow: 3px 0 0 -0.1px transparent !important;
    }
    .hanlob-pro-lightbox__mobile-zoom.is-active span::after {
        display: none !important;
    }
}

@media (max-width: 390px) {
    .hanlob-pro-gallery__thumb-cue {
        top: 229px !important;
    }
}

@media (min-width: 768px) {
    .hanlob-pro-lightbox__mobile-zoom { display: none !important; }
}

/* =========================================================
   HANLOB GALLERY PRO 2.2.5 — FINAL VIDEO + ZOOM ICON POLISH
========================================================= */

/* El indicador de miniaturas es exclusivo de móvil. Evita el rectángulo
   heredado de los estilos globales de botones en escritorio. */
@media (min-width: 768px) {
    .hanlob-pro-gallery__thumb-cue {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* Miniatura de video consistente en móvil, escritorio y lightbox. */
.hanlob-pro-gallery__thumb.is-video::after,
.hanlob-pro-lightbox__thumb.is-video::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: rgba(7, 18, 28, .18) !important;
    box-shadow: none !important;
    pointer-events: none !important;
}
.hanlob-video-badge {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    transform: translate(-50%, -50%) !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    border-radius: 50% !important;
    background: #2D93C8 !important;
    box-shadow: 0 4px 13px rgba(7,35,55,.34) !important;
    pointer-events: none !important;
}
.hanlob-video-badge__play {
    position: relative !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    margin-left: 3px !important;
    border-top: 7px solid transparent !important;
    border-bottom: 7px solid transparent !important;
    border-left: 11px solid #fff !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.hanlob-video-badge__play::before,
.hanlob-video-badge__play::after,
.hanlob-video-badge__text {
    display: none !important;
    content: none !important;
}
.hanlob-pro-gallery__thumb.is-video img,
.hanlob-pro-lightbox__thumb.is-video img {
    opacity: 1 !important;
    filter: none !important;
}

@media (max-width: 767px) {
    /* Más separación visual debajo de la quinta miniatura parcial. */
    .hanlob-pro-gallery__thumb-cue {
        top: 258px !important;
    }

    /* Lupa clara: + en estado normal, − cuando el zoom está activo. */
    .hanlob-pro-gallery button.hanlob-pro-lightbox__mobile-zoom {
        overflow: visible !important;
    }
    .hanlob-pro-lightbox__mobile-zoom span {
        position: relative !important;
        display: block !important;
        width: 17px !important;
        height: 17px !important;
        border: 2px solid currentColor !important;
        border-radius: 50% !important;
        background: transparent !important;
    }
    .hanlob-pro-lightbox__mobile-zoom span::before {
        content: "" !important;
        position: absolute !important;
        right: -7px !important;
        bottom: -4px !important;
        width: 8px !important;
        height: 2px !important;
        border-radius: 2px !important;
        background: currentColor !important;
        transform: rotate(45deg) !important;
    }
    .hanlob-pro-lightbox__mobile-zoom span::after {
        content: "+" !important;
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: auto !important;
        height: auto !important;
        transform: translate(-50%, -55%) !important;
        background: transparent !important;
        color: currentColor !important;
        font: 700 15px/1 Arial, sans-serif !important;
        box-shadow: none !important;
    }
    .hanlob-pro-lightbox__mobile-zoom.is-active span::after {
        display: block !important;
        content: "−" !important;
        transform: translate(-50%, -58%) !important;
    }
}

@media (max-width: 390px) {
    .hanlob-pro-gallery__thumb-cue {
        top: 239px !important;
    }
}


/* v2.2.6: navegación estable y limpia en lightbox, incluso sobre video. */
.hanlob-pro-gallery button.hanlob-pro-gallery__arrow,
.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow {
    overflow: hidden !important;
    text-indent: -9999px !important;
}

.hanlob-pro-gallery button.hanlob-pro-gallery__arrow::before,
.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow::before {
    text-indent: 0 !important;
}

.hanlob-pro-lightbox__content {
    position: relative !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 1000003 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    border-radius: 50% !important;
    background: rgba(8,25,39,.72) !important;
    color: #fff !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.26) !important;
    opacity: .96 !important;
    pointer-events: auto !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__prev {
    left: 12px !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__next {
    right: 12px !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

.hanlob-pro-gallery button.hanlob-pro-lightbox__arrow::before {
    top: 0 !important;
    font-size: 34px !important;
    line-height: 1 !important;
}

.hanlob-pro-lightbox__video-wrap,
.hanlob-pro-lightbox__video-wrap iframe,
.hanlob-pro-lightbox__video-wrap video {
    position: relative;
    z-index: 1;
}

@media (max-width: 767px) {
    .hanlob-pro-gallery button.hanlob-pro-lightbox__arrow {
        display: flex !important;
        width: 42px !important;
        height: 42px !important;
        background: rgba(8,25,39,.82) !important;
    }

    .hanlob-pro-gallery button.hanlob-pro-lightbox__prev {
        left: 8px !important;
    }

    .hanlob-pro-gallery button.hanlob-pro-lightbox__next {
        right: 8px !important;
    }

    .hanlob-pro-gallery button.hanlob-pro-lightbox__arrow::before {
        font-size: 30px !important;
    }
}

/* v2.2.7: el contador móvil nunca debe aparecer en escritorio. */
.hanlob-pro-gallery__mobile-counter {
    display: none !important;
}

@media (max-width: 767px) {
    .hanlob-pro-gallery__mobile-counter {
        display: block !important;
    }
}
