.elementor-183 .elementor-element.elementor-element-dc6e2a0{--display:flex;overflow:visible;}.elementor-183 .elementor-element.elementor-element-0dbfba8{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;overflow:visible;}.elementor-183 .elementor-element.elementor-element-0dbba79.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-183 .elementor-element.elementor-element-0dbba79.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-183 .elementor-element.elementor-element-0dbba79.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-183 .elementor-element.elementor-element-0dbba79 .elementor-image-box-wrapper .elementor-image-box-img{width:30%;}.elementor-183 .elementor-element.elementor-element-0dbba79 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-183 .elementor-element.elementor-element-a327594 img{height:500px;object-fit:cover;object-position:center center;}@media(max-width:1024px){.elementor-183 .elementor-element.elementor-element-0dbfba8{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-183 .elementor-element.elementor-element-0dbfba8{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-183 .elementor-element.elementor-element-0dbba79 .elementor-image-box-img{margin-bottom:15px;}}/* Start custom CSS for container, class: .elementor-element-dc6e2a0 */@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* ============================================================
   BIBLIOTECA VIRTUAL - IESTP SANTO TOMÁS
   PALETA BASADA EN EL LOGO INSTITUCIONAL:
   - PURPURA / MORADO = COLOR PRINCIPAL DE FONDO
   - AMARILLO / DORADO = ACCESO WEB & DESTACADOS
   - ROJO / VINO = ACCESO APP & DETALLES
============================================================ */

/* ============================================================
   CONTAINER PRINCIPAL
============================================================ */

.elementor-183 .elementor-element.elementor-element-dc6e2a0{
    /* Nueva Paleta Extraída del Logo */
    --purpura:#4A154B;
    --purpura-oscuro:#2C0D30;
    --purpura-profundo:#1A082C;
    --purpura-medio:#6B1F6E;
    --purpura-claro:#8A2B8F;

    --dorado:#FFC800;
    --dorado-claro:#FFE066;

    --rojo-logo:#D32F2F;
    --rojo-oscuro:#9A0007;

    --blanco:#FFFFFF;

    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    left:50% !important;
    margin-left:-50vw !important;
    margin-right:-50vw !important;
    padding:72px 5% 85px !important;
    overflow:hidden !important;

    background:
        /* CUADRÍCULA */
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),

        /* BRILLO IZQUIERDO (DORADO) */
        radial-gradient(circle at 8% 8%, rgba(255, 200, 0, 0.12), transparent 25%),

        /* BRILLO DERECHO (ROJO/PURPURA) */
        radial-gradient(circle at 94% 88%, rgba(211, 47, 47, 0.15), transparent 28%),

        /* FONDO PRINCIPAL MORADO/PURPURA */
        linear-gradient(135deg, #3A125E 0%, #250A3F 53%, #1A082C 100%) !important;

    background-size: 42px 42px, 42px 42px, auto, auto, auto !important;
    font-family: "Roboto", Arial, sans-serif !important;
}

/* INNER DE ELEMENTOR */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 > .e-con-inner{
    width:100% !important;
    max-width:1250px !important;
    margin:0 auto !important;
    padding:0 !important;
}

/* ============================================================
   ENCABEZADO 1 (sg-bib-title)
============================================================ */

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title{
    position:relative !important;
    width:100% !important;
    max-width:950px !important;
    margin:0 auto 18px !important;
    padding-top:45px !important;
    text-align:center !important;
}

/* BADGE SUPERIOR */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title::before{
    
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 17px;
    color:#2C0D30;
    background:linear-gradient(90deg, #FFE066 0%, #FFC800 52%, #D32F2F 100%);
    border-radius:999px;
    font-family:"Roboto", Arial, sans-serif;
    font-size:9px;
    font-weight:800;
    line-height:1;
    letter-spacing:.8px;
    text-transform:uppercase;
    box-shadow:0 8px 20px rgba(0,0,0,.3);
}

/* PUNTO DEL BADGE */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title::after{
    content:"";
    position:absolute;
    top:13px;
    left:calc(50% - 93px);
    width:7px;
    height:7px;
    background:#FFFFFF;
    border-radius:50%;
}

/* TÍTULO */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title .elementor-heading-title,
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title h1,
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title h2,
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title h3{
    margin:0 !important;
    color:#FFFFFF !important;
    font-family:"Roboto", Arial, sans-serif !important;
    font-size:clamp(44px,5vw,64px) !important;
    font-weight:900 !important;
    line-height:1.05 !important;
    letter-spacing:-1.6px !important;
    text-align:center !important;
}

/* ============================================================
   TEXTO INTRO (sg-bib-intro)
============================================================ */

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-intro{
    width:100% !important;
    max-width:780px !important;
    margin:0 auto 58px !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-intro,
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-intro p{
    color:rgba(255,255,255,.88) !important;
    font-family:"Roboto", Arial, sans-serif !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.8 !important;
    text-align:center !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-intro p{
    margin:0 !important;
}

/* ============================================================
   ENCABEZADO 2 (sg-bib-subtitle)
============================================================ */

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtitle{
    position:relative !important;
    width:100% !important;
    max-width:900px !important;
    margin:0 auto 13px !important;
    text-align:center !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtitle .elementor-heading-title,
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtitle h2,
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtitle h3{
    margin:0 !important;
    color:#FFFFFF !important;
    font-family:"Roboto", Arial, sans-serif !important;
    font-size:clamp(31px,3.5vw,43px) !important;
    font-weight:800 !important;
    line-height:1.12 !important;
    letter-spacing:-.8px !important;
    text-align:center !important;
}

/* LÍNEA DEBAJO */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtitle::after{
    content:"";
    display:block;
    width:78px;
    height:5px;
    margin:17px auto 0;
    border-radius:999px;
    background:linear-gradient(90deg, #FFC800 0%, #D32F2F 50%, #8A2B8F 100%);
}

/* ============================================================
   TEXTO 2 (sg-bib-subtext)
============================================================ */

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtext{
    width:100% !important;
    max-width:800px !important;
    margin:0 auto 36px !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtext,
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtext p{
    color:rgba(255,255,255,.80) !important;
    font-family:"Roboto", Arial, sans-serif !important;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.75 !important;
    text-align:center !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtext p{
    margin:0 !important;
}

/* ============================================================
   GRID DE DOS (sg-bib-grid)
============================================================ */

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-grid{
    width:100% !important;
    max-width:1020px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
    align-items:stretch !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-grid > .e-con-inner{
    display:contents !important;
}

/* ============================================================
   TARJETAS (CUADRO DE IMAGEN)
============================================================ */

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card{
    --accent:#FFC800;
    --accent-dark:#D4A000;
    --button-text:#2C0D30;

    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:linear-gradient(145deg, #44175B, #2B0C3C) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-top:5px solid var(--accent) !important;
    border-radius:21px !important;
    box-shadow:0 18px 40px rgba(0,0,0,.35) !important;
    transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}

/* TARJETA WEB */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-web{
    --accent:#FFC800;
    --accent-dark:#FFE066;
    --button-text:#2C0D30;
}

/* TARJETA APP */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-app{
    --accent:#D32F2F;
    --accent-dark:#9A0007;
    --button-text:#FFFFFF;
}

/* HOVER TARJETAS */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card:hover{
    transform:translateY(-7px) !important;
    border-color:var(--accent) !important;
    box-shadow:0 27px 52px rgba(0,0,0,.45) !important;
}

/* IMAGE BOX WRAPPER */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-wrapper{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    text-align:left !important;
}

/* IMAGEN */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:235px !important;
    margin:0 !important;
    overflow:hidden !important;
    border-radius:16px 16px 0 0 !important;
    background:#1A082C;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img a{
    display:block !important;
    width:100% !important;
    height:100% !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center !important;
    transition:transform .5s ease, filter .4s ease !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card:hover .elementor-image-box-img img{
    transform:scale(1.055);
    filter:saturate(1.1) contrast(1.03);
}

/* OVERLAY SOBRE IMAGEN */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(58,18,94,.02) 40%, rgba(44,13,48,.35) 70%, rgba(26,8,44,.8) 100%);
}

/* BADGE SOBRE IMAGEN */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img::before{
    position:absolute;
    z-index:5;
    left:18px;
    bottom:17px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    padding:0 13px 0 27px;
    color:#FFFFFF;
    background:rgba(26, 8, 44, 0.78);
    border:1px solid rgba(255, 255, 255, 0.2);
    border-radius:999px;
    backdrop-filter:blur(8px);
    font-family:"Roboto", Arial, sans-serif;
    font-size:9px;
    font-weight:800;
    letter-spacing:.45px;
    text-transform:uppercase;
    pointer-events:none;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-web .elementor-image-box-img::before{
    content:"ACCESO DESDE NAVEGADOR";
    color:#FFFFFF;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-app .elementor-image-box-img::before{
    content:"●  ACCESO DESDE APP";
    color:#FFFFFF;
}

/* CONTENIDO DE TARJETA */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-content{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    flex:1 !important;
    width:100% !important;
    padding:28px 25px 86px !important;
    text-align:left !important;
}

/* ETIQUETA SOBRE EL TÍTULO */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-content::before{
    display:block;
    margin-bottom:8px;
    color:var(--accent);
    font-family:"Roboto", Arial, sans-serif;
    font-size:10px;
    font-weight:800;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-web .elementor-image-box-content::before{
    content:"Aula web";
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-app .elementor-image-box-content::before{
    content:"APP BIBLIOTECA";
}

/* TÍTULO DE TARJETA */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-title{
    margin:0 0 12px !important;
    color:#FFFFFF !important;
    font-family:"Roboto", Arial, sans-serif !important;
    font-size:25px !important;
    font-weight:800 !important;
    line-height:1.22 !important;
    letter-spacing:-.4px !important;
    text-align:left !important;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-title a{
    display:block !important;
    position:static !important;
    color:inherit !important;
    text-decoration:none !important;
}

/* DESCRIPCIÓN */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-description{
    margin:0 !important;
    color:rgba(255,255,255,.85) !important;
    font-family:"Roboto", Arial, sans-serif !important;
    font-size:13.5px !important;
    font-weight:400 !important;
    line-height:1.75 !important;
    text-align:justify !important;
    text-justify:inter-word !important;
}

/* BOTÓN AUTOMÁTICO */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-title a::after{
    position:absolute;
    z-index:20;
    left:25px;
    bottom:25px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:145px;
    min-height:44px;
    padding:0 18px;
    color:var(--button-text) !important;
    background:var(--accent);
    border-radius:10px;
    box-shadow:0 9px 20px rgba(0,0,0,.3);
    font-family:"Roboto", Arial, sans-serif;
    font-size:11px;
    font-weight:800;
    text-decoration:none !important;
    white-space:nowrap;
    transition:transform .25s ease, filter .25s ease, box-shadow .25s ease;
}

/* BOTÓN WEB */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-web .elementor-image-box-title a::after{
    content:"Ingresar a la web  →";
    background:linear-gradient(135deg, #FFE066, #FFC800);
}

/* BOTÓN APP */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-app .elementor-image-box-title a::after{
    content:"Ingresar a la app  →";
    background:linear-gradient(135deg, #E53935, #D32F2F);
}

/* HOVER BOTÓN */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-title a:hover::after{
    transform:translateY(-3px);
    filter:brightness(1.1);
    box-shadow:0 14px 27px rgba(0,0,0,.4);
}

/* DETALLE DE COLOR INFERIOR */
.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card::after{
    content:"";
    position:absolute;
    right:24px;
    bottom:0;
    width:55px;
    height:5px;
    background:var(--accent);
    border-radius:999px 999px 0 0;
    transition:width .3s ease;
}

.elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card:hover::after{
    width:95px;
}

/* ============================================================
   RESPONSIVE (TABLET & MÓVIL)
============================================================ */

@media(max-width:900px){
    .elementor-183 .elementor-element.elementor-element-dc6e2a0{ padding:65px 4% 75px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-grid{ max-width:800px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img{ height:215px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-title{ font-size:22px !important; }
}

@media(max-width:767px){
    .elementor-183 .elementor-element.elementor-element-dc6e2a0{ padding:55px 16px 65px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title .elementor-heading-title{ font-size:40px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-intro{ margin-bottom:43px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtitle .elementor-heading-title{ font-size:30px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-grid{ grid-template-columns:1fr !important; max-width:480px !important; gap:18px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img{ height:220px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-content{ padding:24px 20px 79px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-title{ font-size:22px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-description{ font-size:13px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-title a::after{
        left:20px;
        bottom:21px;
        min-height:41px;
        min-width:140px;
        font-size:10px;
    }
}

@media(max-width:420px){
    .elementor-183 .elementor-element.elementor-element-dc6e2a0{ padding:48px 13px 58px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-title .elementor-heading-title{ font-size:35px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-subtitle .elementor-heading-title{ font-size:27px !important; }
    .elementor-183 .elementor-element.elementor-element-dc6e2a0 .sg-bib-card .elementor-image-box-img{ height:195px !important; }
}

/* PREVENCIÓN DE SCROLL HORIZONTAL */
html, body{
    overflow-x:hidden !important;
}/* End custom CSS */