/* =====================================================
   JV ACCESORIOS
   FRONTEND
===================================================== */



/* =====================================================
   ENCABEZADO EDITORIAL JV — PÁGINAS Y CATEGORÍAS
===================================================== */

.jv-category-header,
.jv-page-header{
    width:100%;
    background:var(--jv-global-background,#ffffff);
    padding:28px 0 22px;
}

.jv-category-header-inner,
.jv-page-header-inner{
    width:calc(100% - 40px);
    max-width:1400px;
    margin:0 auto;
}

/* Migas de pan: idénticas en todo el sitio */
.jv-category-breadcrumbs,
.jv-page-breadcrumbs{
    margin:0 0 8px;
    font-size:11px;
    font-weight:400;
    color:var(--jv-body-color,rgba(27,27,27,.45));
    letter-spacing:.4px;
    line-height:1.4;
}

.jv-category-breadcrumbs a,
.jv-page-breadcrumbs a,
.jv-category-breadcrumbs span,
.jv-page-breadcrumbs span{
    color:var(--jv-body-color,rgba(27,27,27,.45));
    text-decoration:none;
    transition:.25s;
}

/* Normaliza el wrapper de WooCommerce para que las categorías
   usen exactamente el mismo tamaño y estilo de migas que las páginas. */
.jv-category-breadcrumbs .woocommerce-breadcrumb{
    display:block !important;
    width:100% !important;
    margin:0 0 8px !important;
    padding:0 !important;
    font-size:11px !important;
    font-weight:400 !important;
    letter-spacing:.4px !important;
    line-height:1.4 !important;
}
.jv-category-breadcrumbs .woocommerce-breadcrumb a,
.jv-category-breadcrumbs .woocommerce-breadcrumb span,
.jv-category-breadcrumbs .woocommerce-breadcrumb .delimiter{
    font-size:11px !important;
    font-weight:400 !important;
    letter-spacing:.4px !important;
    line-height:1.4 !important;
    color:rgba(27,27,27,.45) !important;
    text-decoration:none !important;
}

.jv-category-breadcrumbs a:hover,
.jv-page-breadcrumbs a:hover{
    color:var(--jv-body-color,rgba(27,27,27,.75));
}

/* Títulos: exactamente el mismo tratamiento */
.jv-category-title,
.jv-page-title{
    margin:0;
    font-size:24px;
    font-weight:300;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--jv-category-title-color,rgba(27,27,27,.35));
    line-height:1.15;
}

/* =====================================================
   BANNER
===================================================== */

.jv-category-banner{

    width:100%;

    overflow:hidden;

    margin:0;

    padding:0;

}

.jv-category-banner picture{

    display:block;

    width:100%;

}

.jv-category-banner img{

    display:block;

    width:100%;

    height:auto;

}



/* =====================================================
   INTRODUCCIÓN
===================================================== */

.jv-category-intro{

    width:min(860px,92%);

    margin:70px auto 60px;

    color:var(--jv-body-color,#3d3d3d);

    font-size:18px;

    font-weight:300;

    line-height:1.9;

    letter-spacing:.15px;

}

.jv-category-intro h1,
.jv-category-intro h2,
.jv-category-intro h3{

    margin:0 0 22px;

    font-size:34px;

    font-weight:300;

    line-height:1.2;

    color:var(--jv-heading-color,#1b1b1b);

    letter-spacing:.5px;

}

.jv-category-intro p{

    margin:0 0 24px;

}

.jv-category-intro strong{

    font-weight:600;

}

.jv-category-intro a{

    color:var(--jv-accent-color,#2d4f3a);

    text-decoration:none;

    transition:.25s;

}

.jv-category-intro a:hover{

    opacity:.75;

}

.jv-category-intro ul,
.jv-category-intro ol{

    margin:25px 0;

    padding-left:24px;

}

.jv-category-intro li{

    margin-bottom:12px;

}



/* =====================================================
   CONTENIDO SEO
===================================================== */

.jv-category-footer{

    width:min(860px,92%);

    margin:90px auto 120px;

    color:var(--jv-body-color,#3d3d3d);

    font-size:18px;

    font-weight:300;

    line-height:1.9;

    letter-spacing:.15px;

}

.jv-category-footer h2{

    margin:60px 0 22px;

    font-size:34px;

    font-weight:300;

    color:var(--jv-heading-color,#1b1b1b);

    line-height:1.25;

}

.jv-category-footer h3{

    margin:45px 0 18px;

    font-size:26px;

    font-weight:400;

    color:var(--jv-heading-color,#222);

}

.jv-category-footer p{

    margin:0 0 24px;

}

.jv-category-footer strong{

    font-weight:600;

}

.jv-category-footer a{

    color:var(--jv-accent-color,#2d4f3a);

    text-decoration:none;

    transition:.25s;

}

.jv-category-footer a:hover{

    opacity:.75;

}

.jv-category-footer ul,
.jv-category-footer ol{

    margin:25px 0;

    padding-left:24px;

}

.jv-category-footer li{

    margin-bottom:12px;

}



/* =====================================================
   TABLET
===================================================== */

@media (max-width:1024px){

    .jv-category-header,
    .jv-page-header{
        padding:22px 0 18px;
    }

    .jv-category-title,
    .jv-page-title{
        font-size:22px;
        letter-spacing:1.6px;
    }

    .jv-category-banner img{

    width:100%;

    height:auto;

}

    .jv-category-intro,
    .jv-category-footer{

        width:90%;

        font-size:17px;

    }

    .jv-category-intro{

        margin:55px auto 45px;

    }

    .jv-category-footer{

        margin:70px auto 90px;

    }

    .jv-category-intro h1,
    .jv-category-intro h2,
    .jv-category-intro h3,
    .jv-category-footer h2{

        font-size:30px;

    }

    .jv-category-footer h3{

        font-size:24px;

    }

}



/* =====================================================
   MÓVIL
===================================================== */

@media (max-width:768px){

    .jv-category-header,
    .jv-page-header{
        padding:18px 0 16px;
    }

    .jv-category-header-inner,
    .jv-page-header-inner{
        width:90%;
    }

    .jv-category-breadcrumbs,
    .jv-page-breadcrumbs{
        font-size:10px;
        margin-bottom:6px;
    }

    .jv-category-title,
    .jv-page-title{
        font-size:20px;
        letter-spacing:1px;
    }

    .jv-category-banner img{

    width:100%;

    height:auto;

}

    .jv-category-intro,
    .jv-category-footer{

        width:90%;

        font-size:16px;

        line-height:1.8;

    }

    .jv-category-intro{

        margin:40px auto 35px;

    }

    .jv-category-footer{

        margin:55px auto 70px;

    }

    .jv-category-intro h1,
    .jv-category-intro h2,
    .jv-category-intro h3,
    .jv-category-footer h2{

        font-size:26px;

    }

    .jv-category-footer h3{

        font-size:22px;

    }

}

/* =====================================================
   BANNER TIENDA — CONTROL JV
===================================================== */

.jv-shop-banner{
    position:relative;
    width:100%;
    overflow:hidden;
    margin:0;
    padding:0;
    isolation:isolate;
}

.jv-shop-banner-picture{
    display:block;
    width:100%;
    line-height:0;
}

.jv-shop-banner-picture img{
    display:block;
    width:100%;
    max-width:none;
    margin:0;
}

.jv-shop-banner-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
}

.jv-shop-banner-content{
    pointer-events:none;
    position:absolute;
    inset:0;
    z-index:3;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:30px 6%;
    box-sizing:border-box;
    color:#fff;
}

.jv-shop-text-top{
    justify-content:flex-start;
}

.jv-shop-text-center{
    justify-content:center;
}

.jv-shop-text-bottom{
    justify-content:flex-end;
}

.jv-shop-banner-title{
    margin:0 0 16px;
    color:#fff !important;
    font-family:var(--jv-heading-font, Georgia, serif);
    font-size:clamp(30px,4vw,52px);
    font-weight:400;
    line-height:1.1;
    letter-spacing:.3px;
}

.jv-shop-banner-breadcrumbs{
    color:rgba(255,255,255,.95);
    font-size:13px;
    line-height:1.4;
}

.jv-shop-banner-breadcrumbs .woocommerce-breadcrumb{
    margin:0;
    color:inherit;
}

.jv-shop-banner-breadcrumbs a{
    color:inherit;
    text-decoration:underline;
}

.jv-shop-banner-breadcrumbs .delimiter{
    margin:0 5px;
}

@media (max-width:768px){
    .jv-shop-banner-content{
        padding:22px 5%;
    }

    .jv-shop-banner-title{
        font-size:34px;
        margin-bottom:10px;
    }

    .jv-shop-banner-breadcrumbs{
        font-size:11px;
    }
}

/* =====================================================
   JV BANNERS — PÁGINAS Y PROTECCIÓN BÁSICA
===================================================== */

.jv-protected-banner,
.jv-protected-banner img {
    -webkit-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}

.jv-page-banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
    isolation: isolate;
}

.jv-page-banner-picture {
    display: block;
    width: 100%;
    line-height: 0;
}

.jv-banner-link{
    display:block;
    width:100%;
    color:inherit;
    text-decoration:none;
    line-height:0;
}

.jv-banner-link:focus,
.jv-banner-link:hover{
    text-decoration:none;
    color:inherit;
}

.jv-page-banner-picture img {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
}

/* =====================================================
   JV BANNERS — AJUSTES VISUALES
===================================================== */
.jv-banner-adjustment-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:rgba(0,0,0,0);
}
.jv-category-banner .jv-banner-link,
.jv-page-banner .jv-banner-link{
    position:relative;
    z-index:1;
}
