/*
Theme Name: Ingenic
Theme URI: https://tuespecialistaweb.com/
Template: royal-elementor-kit
Author: Tu Especialista Web
Author URI: https://tuespecialistaweb.com/
Version: 1.0.139.1761474804

*/
/*Linea Read*/
.wpr-reading-progress-bar {background: linear-gradient(112deg, #01cdff 10%, rgb(30 101 255) 36%, rgba(0, 212, 255, 1) 100%)!important;}

/* === Cursor personalizado === */
.custom-cursor {
position: fixed;
top: 0;
left: 0;
width: 100px;
height: 100px;
pointer-events: none;
border-radius: 50%;
background: var(--cursor-color, #1E65FF);
opacity: 0;
transform: scale(0.3);
	
/*  mix-blend-mode: difference;*/
mix-blend-mode: normal;
display: flex;
justify-content: center;
align-items: center;
transition:
opacity 0.3s ease,
transform 0.3s ease,
background 0.3s ease;
z-index: 9999;}

.custom-cursor.active {
opacity: 0.9;
transform: scale(1);
animation: cursorPulse 1.6s ease-in-out infinite;}

@keyframes cursorPulse {
0%, 100% { box-shadow: 0 0 20px var(--cursor-color, #1E65FF); transform: scale(1); }
50% { box-shadow: 0 0 40px var(--cursor-color, #1E65FF); transform: scale(1.1); }
}

.cursor-text {
font-family: 'Inter', sans-serif;
font-weight: 600;
font-size: 13px;
color: #fff;
text-align: center;
line-height: 1.2em;
max-width: 80px;
opacity: 0;
transform: translateY(10px);
transition: opacity 0.3s ease, transform 0.3s ease;}

.custom-cursor.active .cursor-text {
opacity: 1;
transform: translateY(0);}
/* === Fin Cursor personalizado === */


/* === Cursor exclusivo para Sectores === */
.sector-cursor {
--sector-color: #2563EB;
position: fixed;
top: 0;
left: 0;
transform: translate(0, 0) scale(0.92);
pointer-events: none;
z-index: 10000;
display: inline-flex;
align-items: center;
gap: 10px;
padding: 12px 16px;
border-radius: 999px;
background: rgba(9, 16, 30, 0.78);
border: 1px solid rgba(255,255,255,0.10);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
box-shadow:
0 8px 30px rgba(0,0,0,0.20),
0 0 0 1px rgba(255,255,255,0.04) inset;
opacity: 0;
transition:opacity 0.25s ease,transform 0.25s ease,border-color 0.25s ease,box-shadow 0.25s ease;}

.sector-cursor::before {
content: "";
position: absolute;
inset: -8px;
border-radius: 999px;
border: 1px solid var(--sector-color);
opacity: 0;
transform: scale(0.92);
}

.sector-cursor.active {
    opacity: 1;
    transform: translate(0, 0) scale(1);
    border-color: color-mix(in srgb, var(--sector-color) 55%, white 15%);
    box-shadow:
        0 10px 35px rgba(0,0,0,0.26),
        0 0 20px color-mix(in srgb, var(--sector-color) 30%, transparent),
        0 0 45px color-mix(in srgb, var(--sector-color) 12%, transparent);
    animation: sectorCursorFloat 2s ease-in-out infinite;
}

.sector-cursor.active::before {
    opacity: 0.65;
    animation: sectorCursorPulse 1.8s ease-out infinite;
}

.sector-cursor-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: linear-gradient(135deg, var(--sector-color), color-mix(in srgb, var(--sector-color) 55%, white 20%));
    color: #fff;

    box-shadow:
        0 0 18px color-mix(in srgb, var(--sector-color) 35%, transparent),
        0 4px 10px rgba(0,0,0,0.18);
}

.sector-cursor-icon i {
    font-size: 14px;
    line-height: 1;
}

.sector-cursor-text {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #fff;
    white-space: nowrap;
}

@keyframes sectorCursorPulse {
0% {
transform: scale(0.94);
opacity: 0.60;}
70% {
transform: scale(1.10);opacity: 0;}
100% {
transform: scale(1.10);opacity: 0;}}

@keyframes sectorCursorFloat {
0%, 100% {
transform: scale(1) translateY(0);}
50% {transform: scale(1.02) translateY(-2px);}}

/* En móvil normalmente mejor desactivarlo */
@media (max-width: 1024px) {
.sector-cursor {display: none !important;}}


/* === Inicio Formularios de Contacto === */
input[type="text"], input[type="date"], input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], select, textarea {
text-align: left!important;
font-family: "Inter", Sans-serif!important;
font-size: 15px!important;
font-weight: 500!important;
color: #1F1F1F!important;
width: 100%!important;
border: solid 1px #1e65ff!important;
border-radius: 15px !important;
padding: 0.5rem 1rem!important;
transition: all .3s!important;
}

p.politica {
font-weight: 500!important;
color: #1F1F1F!important;}
p.politica a{
color: #01CDFF!important;
padding-left: 6px !important;}	
p.politica a:hover{
color: #1E65FF!important;}	


input#contactar {
background-color: #FFFFFF!important;
transition-duration: 0.4s!important;
animation-duration: 0.4s!important;
border-color: #1E65FF!important;
color: #1E65FF!important;
border-style: solid!important;
border-width: 1px 1px 1px 1px!important;
border-radius: 50px 50px 50px 50px!important;
width: 100%!important;
font-family: "Inter", Sans-serif!important;
font-size: 15px!important;
}

input#contactar:hover {
color: #FFFFFF!important;
background-color:#01CDFF!important;}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #1E65FF!important;
    font-family: 'Inter'!important;
    background-color: #1E65FF!important;
    color: #FFFFFF!important;
    font-size: 18px!important;
}

/* === Fin Formularios de Contacto === */

/* === Inicio de Blog === */

div#blog h2,
div#blog h3,
div#blog h4,
div#blog h5,
div#blog h6 {
font-family: "Sora", sans-serif !important;color: #1E65FF!important;font-weight: 500!important;}

div#blog h2 {font-size: 26px!important;}
div#blog h3 {font-size: 23px!important;}
div#blog h4 {font-size: 21px!important;}
div#blog h5 {font-size: 19px!important;}
div#blog h6 {font-size: 17px!important;}

div#blog p {font-family: "Inter", Sans-serif!important;font-size: 16px!important;font-weight: 500!important;color: #000000!important;}
div#blog li {font-family: "Inter", Sans-serif!important;font-size: 16px!important;font-weight: 500!important;color: #000000!important;}
div#blog a {font-family: "Inter", Sans-serif!important;font-size: 16px!important;font-weight: 500!important;color: #1E65FF!important;}
div#blog a:hover {color: #000000!important;}

div#blog img {border-radius: 30px 30px 30px 30px!important;}

/* Quote normal */
div#blog .wp-block-quote {
    padding: 20px !important;
    text-align: left !important;
    border-left: 5px solid #1E65FF !important;
    font-family: "Inter", sans-serif !important;
    font-size: 16px !important;
    border-radius: 10px !important;
    font-weight: 400 !important;
    color: #000 !important;
    margin-bottom: 20px !important;
    margin-left: 0 !important;
    background-color: #01CDFF47 !important;
}

/* Texto dentro del quote */
#blog .wp-block-quote p {
    margin-bottom: 0 !important;
}

/* Pullquote */
#blog .wp-block-pullquote {
    padding: 30px 20px !important;
    border-left: 5px solid #1E65FF !important;
    background-color: #01CDFF47 !important;
}

#blog .wp-block-pullquote p {
    font-family: "Inter", sans-serif !important;
    font-size: 16px !important;
}

div#blog blockquote.wp-block-quote.is-layout-flow.wp-block-quote-is-layout-flow p {
    margin-top: 0px!important;
    margin-bottom: 0px!important;}

div#blog .wp-block-pullquote {
box-sizing: border-box;padding: 10px 0 !important;margin-bottom: 20px;}

div#blog td{background-color:#ffffff!important;font-family: "Inter", Sans-serif !important;font-size: 16px !important;}
div#blog tr{background-color:#ffffff!important;font-family: "Inter", Sans-serif !important;font-size: 16px !important;}

div#blog .wp-block-table td, .wp-block-table th {
border-color: #498aff !important;}

ul.wp-block-list {
    padding-bottom: 10px!important;}

div#blog .wp-block-button a {
background-color: #FFFFFF!important;
transition-duration: 0.4s!important;
animation-duration: 0.4s!important;
border-color: #1E65FF!important;
color: #1E65FF!important;
border-style: solid!important;
border-width: 1px 1px 1px 1px!important;
border-radius: 50px 50px 50px 50px!important;
width: 100%!important;
font-family: "Inter", Sans-serif!important;
font-size: 15px!important;}

div#blog .wp-block-button a:hover {
background-color: #1E65FF!important;
border-color: #1E65FF!important;
color: #FFFFFF!important;}

/* === Preguntas Frecuentes === */
div#blog button,
div#blog [type="submit"],
div#blog [type="button"] {
    display: flex!important;
    font-weight: 400!important;
    color: #000000!important;
    white-space: nowrap!important;
    user-select: none!important;
    background-color: transparent!important;
    border: 1px solid #000000!important;
    padding: 12px!important;
    width: 100%!important;
    text-align: left!important;
    font-size: 1rem!important;
    border-radius: 3px!important;
    transition: all .3s!important;
}

div#blog span.wp-block-accordion-heading__toggle-title:hover{
color: #FFFFFF!important;}

div#blog button[id^="accordion-item-"]:hover {
background: #1E65FF !important;}

div#blog span.wp-block-accordion-heading__toggle-title:active{
color: #FFFFFF!important;}

div#blog button[id^="accordion-item-"]:active{
background: #1E65FF !important;}

div#blog span.wp-block-accordion-heading__toggle-icon:hover{
color: #FFFFFF!important;}

div#blog span.wp-block-accordion-heading__toggle-icon:active{
color: #FFFFFF!important;}

/* === Fin de Blog === */

/* === Inicio reflejo card === */
.card-shine {
    position: relative;
    overflow: hidden;
}

.card-shine::after {
    content: "";
    position: absolute;
    top: -20%;
    left: -120%;
    width: 60%;
    height: 140%;
    background: linear-gradient(
        115deg,
        transparent 0%,
        rgba(255,255,255,0.00) 35%,
        rgba(255,255,255,0.16) 50%,
        rgba(255,255,255,0.00) 65%,
        transparent 100%
    );
    transform: skewX(-18deg);
    pointer-events: none;
    opacity: 0;
}

.card-shine:hover::after {
    opacity: 1;
    animation: shineSweep 0.9s ease;
}

@keyframes shineSweep {
    0% {
        left: -120%;
    }
    100% {
        left: 150%;
    }
}
/* === Fin reflejo card === */
