/* ===== TIPOGRAFÍA ===== */
@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/fa-solid-900.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Estilo para el contenedor del submenú */
:root {
    --theme-azul: #007bff;
    --theme-rojo: #E84444;
    --theme-oscuro-glass: rgba(15, 23, 42, 1); /* Un azul muy oscuro para el fondo */
}

.scroll-margin-top{
scroll-margin-top: 150px;
}
#formulario {
scroll-margin-top: 350px !important;
}

body {
scroll-behavior: smooth; /* Opcional: Para que el movimiento sea suave y no un salto brusco */
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 15px;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  min-height: 100vh;
  background: linear-gradient(-45deg, var(--theme-azul), #254da3, #1a0505, var(--theme-azul));
  background-size: 400% 400%;
  animation: fluidez 25s ease infinite;
}

/*E84444*/
body.theme-alt {
  min-height: 100vh;
background: linear-gradient(-45deg, var(--theme-rojo), /* Rojo Base */
    #931d1d, /* Rojo Oscuro */
    #1a0505, /* Casi Negro */
    var(--theme-rojo)  /* Cierre para que el loop sea fluido */
);
  animation: fluidez 25s ease infinite;
  background-size: 400% 400%;
}

@keyframes fluidez {
    0% { background-position: 0% 50%; }
    25% { background-position: 50% 100%; }
    50% { background-position: 100% 50%; }
    75% { background-position: 50% 0%; }
    100% { background-position: 0% 50%; }
}

/**/
body.theme-psy {
  min-height: 100vh;
  background: linear-gradient(
    120deg,
    #ff0080,
    #7928ca,
    #2afadf,
    #00ff85,
    #ffed00
  );
  background-size: 400% 400%;
  animation: bgPsy 30s ease-in-out infinite;
}

@keyframes bgPsy {
  0%   { background-position:   0% 50%; }
  25%  { background-position:  50%  0%; }
  50%  { background-position: 100% 50%; }
  75%  { background-position:  50% 100%; }
  100% { background-position:   0% 50%; }
}

/**/
body.theme-neon {
  min-height: 100vh;
  background: linear-gradient(
    120deg,
    #0f2027,
    #00c6ff,
    #0072ff,
    #0f2027
  );
  background-size: 300% 300%;
  animation: bgNeon 20s linear infinite;
}
@keyframes bgNeon {
  0%   { background-position:   0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position:   0% 50%; }
}

/**/
body.theme-cosmic {
  min-height: 100vh;
  background: radial-gradient(
    circle at 30% 30%,
    #1fa2a6,
    #5b4b8a,
    #041b2d,
    #020412,
    #1fa2a6
  );
  background-size: 300% 300%;
  animation: bgCosmic 25s ease-in-out infinite;
}

@keyframes bgCosmic {
  0% {
    background-position: 30% 30%;
  }
  25% {
    background-position: 70% 30%;
  }
  50% {
    background-position: 70% 70%;
  }
  75% {
    background-position: 30% 70%;
  }
  100% {
    background-position: 30% 30%;
  }
}

/* ===== Gradientes animados (elementos independientes) ===== */
body.theme-aqua {
  min-height: 100vh;
  background: linear-gradient(120deg, #ff3c3c, #ff9a3c, #ff3cff, #8c3cff);
  background-size: 300% 300%;
  animation: themePsyMove1 30s linear infinite;
}

body.theme-ocean {
  min-height: 100vh;
  background: linear-gradient(120deg, #00f0ff, #00ff7a, #007aff, #00f0ff);
  background-size: 300% 300%;
  animation: themePsyMove2 20s linear infinite;
}

body.theme-solar {
  min-height: 100vh;
  background: linear-gradient(120deg, #ff0000, #ffea00, #ff00ea, #ff0000);
  background-size: 300% 300%;
  animation: themePsyMove3 20s linear infinite;
}

/* ===== Keyframes de movimiento de gradientes ===== */
@keyframes themePsyMove1 {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes themePsyMove2 {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes themePsyMove3 {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/**/
.no-click {
    pointer-events: none;
}

p, .paragraph {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 25px;
}

h1,h2,h3,h4,h5,h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #222;
}

h1 { font-size: 60px; }
@media(max-width:400px){ h1 { font-size:30px; } }
h2 { font-size:36px; }
h3 { font-size:30px; }
h4 { font-size:20px; }
h5 { font-size:18px; }
h6 { font-size:14px; }

/* ===== PRELOADER ===== */
#preloader {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;      /* centra verticalmente */
  justify-content: center;  /* centra horizontalmente */
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  opacity: 0.5;
  z-index: 99999;
}

/**/
.container.py-160 {
  padding-top: 160px;
  padding-bottom: 160px;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
}

.text-banner-white {
  color: #ffffff;
  text-shadow: 0 2px 6px rgba(0,0,0,0.55);
}

.hero-content .btn { margin-top: 20px; }

/* ===== SLICK FIXES ===== */
.hero-slider .slick-track,
.hero-slider .slick-list { height: 100%; }

.hero-slider .slick-slide { height: auto; }
.hero-slider .slick-slide > div { height: 100%; }

/* ===== BOTONES ===== */
.btn {
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  text-transform: capitalize;
  padding: 10px;
  border-radius: 5px;
  border: 0;
  transition: 0.2s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.20);
}

.btn-primary { background:var(--theme-azul); color:#fff; }
body.theme-alt .btn-primary { background:var(--theme-rojo); color:#fff; }

/* ===== LINKS ===== */
a { transition:0.2s ease; text-decoration:none; }

/* ===== LABELS ===== */
label { 
    width:200px; 
    /*text-align:right;*/ /*se desactiva para adaptarlo al forumlario contacto*/
    padding-right:20px; 
}
.ml-10 { margin-left: 10px; }
.float-right { float: right; }

/* ===== MENSAJES / BOLETAS ===== */
.no-visibility { opacity: 0; max-height: 0; overflow: hidden; transition: opacity 0.4s ease, max-height 0.4s ease; }
.visible { opacity: 1; max-height: 100vh; }

.grilla-boletas { display:grid; grid-template-columns:repeat(13,1fr); gap:4px; }
.grilla-boletas .mes {border: 2px solid #fff; border-radius: 8px;}

body.theme-alt .grilla-boletas .mes {
color: rgba(232, 68, 68, .5);
border: 2px solid rgba(232, 68, 68, .1);
background-color: rgba(232, 68, 68, .3);
}

.grilla-boletas .mes.activo { background:var(--theme-azul); color:#fff; }

body.theme-alt .grilla-boletas .mes.activo { 
background-color: rgba(255, 255, 255, .9);
}

.btn-mes-boleta.seleccionado {
    border: 2px solid #0056b3;
    box-shadow: 0 6px 16px rgba(0,0,0,.3);
}

body.theme-alt .btn-mes-boleta.seleccionado {
    color: rgba(232, 68, 68, .9) !important;
    background-color: rgba(255, 255, 255, .9) !important;
    border: 2px solid  rgba(255, 77, 77, 0.9) !important;
    box-shadow: 0 6px 16px rgba(255, 77, 77, 0.9);
}

#grillaActasBody,#grillaBoletas{
    width:100%;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

#grillaBoletasBody .mes.activo:active {
    transform: translateY(0);
    box-shadow: none;
}

#grillaBoletasBody .mes.activo {
    background-color: #f8f9fa;
    color: #212529;
    border: 1px solid #ced4da;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .1s ease;
}

#grillaBoletasBody .mes.activo:hover {
    background-color: #e9ecef;
    box-shadow: 0 2px 6px rgba(255, 255, 255, 0.5);
    transform: translateY(-1px);
}

body.theme-alt #grillaBoletasBody .mes.activo {
    background-color: rgba(232, 68, 68, .9);
    border: 1px solid rgba(232, 68, 68, .9);
    color: rgba(255, 255, 255, 1);    
}

body.theme-alt #grillaBoletasBody .mes.activo:hover {
    background-color: rgba(232, 68, 68, .7);
    box-shadow: 0 2px 6px rgba(255,255,255,.9);
    transform: translateY(-1px);
}


/* ===== BACKGROUND / TITLES ===== */
.bg-color-blue{ background:var(--theme-azul); }
.title-bg-blue{ background:var(--theme-azul); color:#fff; }

/* ===== NO SELECT ===== */
.select-no, .no-select {
    user-select: none;
    -webkit-user-select: none; /* Safari */
}

label.select-no{
cursor: pointer;
}

.form-card{
border-radius:5px;
padding:20px;
}

/* ===== FORM Y SECTION ===== */
.section-header, .form-control {
background-color:  rgba(0,0,0,.05);
/*padding: .75rem 1.25rem;*/
font-size: 1rem;
line-height: 2.5;
height: auto;
font-weight: 600;
padding-left:15px;
}
body.theme-alt .section-header, 
body.theme-alt .form-control {
/*color: var(--theme-rojo);*/
color:  rgba(255, 255, 255,.9);
background-color:  rgba(232, 68, 68,.05);
}

body.theme-alt input,
body.theme-alt textarea {
border: 1px solid var(--theme-rojo);
}
.section-header h5{
    margin:0;
}

section .signup-form, .modal-content {
    /*margin: 50px auto;*/
    padding: 50px;
    background-color: #f2f2f2;
    border-radius: 15px;
    box-shadow: 0 4px 14px rgba(0,0,0,.45);
}

body.theme-alt .border-start-custom{border-color: var(--theme-rojo);}

body.theme-alt h3,
body.theme-alt h4,
body.theme-alt h5{
  color: var(--theme-rojo);
}

body.theme-alt .card {
    background-color: var(--bg-dark);
    color: var(--text-main);
}

body.theme-alt .grilla-header {
    background-color: var(--bg-header);
    color: var(--text-main);
    font-weight: 600;
    border-bottom: 1px solid var(--border-soft);
}

.grilla-row {
    border-bottom: 1px solid var(--border-soft);
}
body.theme-alt .grilla-row {
    background-color: var(--bg-row);
    transition: background-color 0.25s ease;
}

body.theme-alt .grilla-row:hover {
    background-color: var(--bg-row-hover);
}

body.theme-alt .grilla-cell {
    padding: 8px 10px;
    color: var(--text-main);
    font-size: 0.95rem;
}

body.theme-alt .importe {
    text-align: right;
    font-weight: 600;
    color: #66b3ff;
}

body.theme-alt .muted {
    color: var(--text-muted);
    font-size: 0.9rem;
}

input[type="checkbox"] {
    margin-right:7px;
    accent-color: var(--accent);
    cursor: pointer;
}

body.theme-alt .row-error {
    background-color: rgba(232, 68, 68, 0.15);
    border-left: 3px solid var(--theme-rojo);
}

body.theme-alt .row-active {
    background-color: rgba(0, 123, 255, 0.15);
    border-left: 3px solid var(--accent);
}

/* ===== FORM DARK MODE ===== */
body.theme-alt .signup-form,
body.theme-alt .form-card {
    background-color: rgba(15, 23, 42, 1);
    color: #e0e0e0;
}

body.theme-alt label {
    color: #cfcfcf;
}
body.theme-alt .form-control::placeholder {
    color: #9b9b9b;
}

body.theme-alt .form-control:focus {
    background-color: rgba(232,68,68,.5);
    color: #ffffff;
    border-color: #c83636;
    box-shadow: 0 0 0 0.15rem rgba(232,68,68,.25);
}

body.theme-alt .alert {
    background-color: rgba(232, 68, 68, .1);
    color: #e0e0e0;
    border-color: rgba(232,68,68,.25);
}

body.theme-alt .alert-success {
    border-left: 3px solid #28a745;
}

body.theme-alt .alert-danger {
    border-left: 3px solid var(--theme-rojo);
}

body.theme-alt input[type="checkbox"] {
    accent-color: var(--theme-rojo);
}

body.theme-alt .btn-primary {
    background-color: var(--theme-rojo);
    box-shadow: 0 4px 12px rgba(232, 68, 68, 0.35);
    color: #fff;
}

body.theme-alt .btn-primary:hover {
    background-color: #c83636;
}


/* Dark theme */
body.theme-alt {
    --bg-row: var(--bg-row-dark);
    --bg-row-hover: var(--bg-row-hover-dark);
    --text-main: var(--text-main-dark);
    --accent: var(--accent-dark);
}

/* Light theme (body sin .theme-alt) */
body #grillaActasBody .grilla-row:nth-child(even) {
    background-color: #ffffff;
}
body #grillaActasBody .grilla-row:nth-child(odd) {
    background-color: #f9f9f9;
}
body #grillaActasBody .grilla-row:hover {
    background-color: #e0f0ff;
}

/* Dark theme (body con .theme-alt) */
body.theme-alt #grillaActasBody .grilla-row:nth-child(even) {
    background-color: rgba(232, 68, 68, .1); /* fila par */
}
body.theme-alt #grillaActasBody .grilla-row:nth-child(odd) {
    background-color: rgba(232, 68, 68, .2); /* fila impar */
}
body.theme-alt #grillaActasBody .grilla-row:hover {
    background-color: rgba(232, 68, 68, .4); /* hover */
}

/* Light theme */
body #grillaActasBody .grilla-row.row-active { background-color: rgba(0,123,255,0.15); border-left: 3px solid var(--theme-azul); }
body #grillaActasBody .grilla-row.row-error { background-color: rgba(232,68,68,0.15); border-left: 3px solid var(--theme-rojo); }


/* Dark theme */
body.theme-alt #grillaActasBody .grilla-row.row-active { background-color: rgba(232, 68, 68, 0.1); border-left: 3px solid var(--theme-rojo); }
body.theme-alt #grillaActasBody .grilla-row.row-error { background-color: rgba(232, 68, 68, 0.5);; border-left: 3px solid var(--theme-rojo); }


.modal-content {
    position: absolute;
    left: 50%; /* Lo mueve a la mitad de la pantalla */
    transform: translate(-50%, 0); 
    width: 100%; /* Espacio de sobra para las tarjetas */
    z-index: 2;
    border: none !important;
    display: block; 
}

/* DARK: aplica también a psy, neon, cosmic */
body.theme-alt .modal-content {
color: #fff !important;
background-color: rgba(15, 23, 42, 1);
}
.bg-body {
color: #fff !important;
background-color: rgba(0,123,255, 1)!important;
}
body.theme-alt .bg-body {
background-color: rgba(232, 68, 68, 1)!important;
}

/* ===== BOTÓN PRIMARY – DEFAULT (LIGHT) ===== */
.btn-sg {
  width: 70px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow 0.2s ease, transform 0.15s ease; /* animación suave */
}
.btn-sg i.ti-email {
  color: #000 !important;
  font-size: 1.6rem;
  line-height: 1;
  transition: color 0.2s ease;
}
/* Botón base */
.btn-sg.btn-primary {
  color: #80c1ff !important;
  background-color: #111;
  border: 2px solid #80c1ff; /* borde “normal” dentro del tamaño del botón */
  border-radius: 6px;
  padding: 0.5rem 1rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.35);
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

/* Hover */
.btn-sg.btn-primary:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.55);
  transform: translateY(-1px);
}

/* ===== Dark / Theme Alt ===== */
body.theme-alt .btn-sg.btn-primary {
  color: #eee !important;
  border: 2px solid transparent; /* quita visualmente el borde sin cambiar tamaño */
  box-shadow: 0 4px 12px rgba(255, 97, 97, 0.35);
}

body.theme-alt .btn-sg.btn-primary:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.55);
}

/**/
/* Altura mínima de 75% del viewport */
.hiddenLoad {
    display: none; /* Estado inicial oculto */
    min-height: 75vh;
    width: 100%;
    /* Opcional: Centrar contenido cuando aparezca */
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Clase para cuando decidas mostrarlo mediante JS */
.hiddenLoad.is-visible {
    display: flex; /* Cambiamos a flex para mantener alineación */
    animation: fadeIn 0.5s ease forwards;
}

/* Animación sutil de entrada */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* INACTIVITY */
.inactivity {
  transition: opacity 0.5s ease;
}

.inactivity.hidden {
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
}

#inactivityAlert.show {
  display: block;
  opacity: 1;
}

/* alerta centrada */
#inactivityAlert {
  position: fixed;
  top: 2px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #f44336;
  color: #fff;
  padding: 10px 20px;
  border-radius: 6px;
  font-weight: bold;
  display: none;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Estilo unificado para la X de cierre en Contacto y Cards */
.close-footer-btn, .close-card-btn {
    position: absolute;
    background: rgba(0, 0, 0, 0.2);
    border: none;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.close-card-btn {
    font-size: 22px;
    width: 44px; height: 44px;
}
.close-footer-btn {
font-size: 22px;
width: 44px; height: 44px;
top: 9px;left: 7px;
}
.close-card-btn {
top: 11px;right: 25%;
}
.close-footer-btn:hover, .close-card-btn:hover {
    background: rgba(0, 0, 0, 0.5);
    transform: rotate(90deg);
}

/* En tema oscuro, la X cambia a rojo sutil al hover */
body.theme-alt .close-footer-btn,
body.theme-alt .close-card-btn {
    background: rgba(255, 77, 77, 0.3);
    color: #ff4d4d;
}


body.theme-alt .close-footer-btn:hover, 
body.theme-alt .close-card-btn:hover {
    background: rgba(255, 77, 77, 0.2);
}

@media (max-width: 575px) {
    .close-card-btn {right: 11px;}

    .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* formulario principal */
    section .signup-form {
        margin: 0 auto;
        padding: 15px;
        border-radius: 0;
    }

    /* headers de grillas */
    .section-header {
        font-size: 0.9rem;
        padding: 10px;
    }

    /* inputs y selects */
    .form-control {
        font-size: 0.95rem;
    }

    /* botones */
    .btn {margin-bottom: 8px;}

    /* contenedor de botones */
    .d-flex.justify-content-center.gap-2 {
        flex-direction: column;
        gap: 8px;
    }
    
}

@media (max-width: 767px) and (orientation: landscape) {
    .close-card-btn {top: 50px;right: 11px;}

    .container {
        margin: 50px auto;
        max-width: 100%;
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
    }

    section .signup-form {
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }

    /* grillas */
    #grillaActasBody,
    #grillaBoletasBody {
        overflow-x: auto;
    }

    /* botones en fila */
    .d-flex.justify-content-center.gap-2 {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (min-width: 992px) {
    section .signup-form {
        margin: 50px auto;
        max-width: 1100px;
        padding: 40px;
    }
}

/**/
.icon-box{
    color: var(--theme-azul);
}
body.theme-alt .icon-box{
    color: var(--theme-rojo);
}

span.badge{
    background: var(--theme-azul);
}
body.theme-alt span.badge{
    background: var(--theme-rojo);
}

.list-group-item{
background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); transition: 0.3s;
}

/* Un toque extra para cuando pasen el mouse */
.list-group-item:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    transform: translateX(5px); /* Un pequeño desplazamiento lateral */
}

body.theme-alt .input-group-text{
border:none;
border-right: 1px solid rgba(255, 77, 77, 1);
background: rgba(255, 77, 77, 1);
}

body.theme-alt #toggleClave.btn{
border-left: 1px solid rgba(255, 77, 77, 1);
background: rgba(255, 77, 77, 1);
}

body.theme-alt #mensajeModal{
    color: var(--theme-rojo);
}

/*iconos svg*/
#cardClick {
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.3s ease, filter 0.3s ease;
will-change: transform;
}
#cardClick:hover {
transform: scale(1.05) translateY(-2px);
color: var(--accent-color);
filter: drop-shadow(0 4px 6px rgba(0,0,0,0.2));
}
#cardClick:active {
transform: scale(0.98);
}

/* --- Estilo de los Iconos (Máscaras) --- */
.ti-lock, .ti-eye, .ti-eye-off, .ti-palette, .ti-angle-up, .ti-menu-alt, .ti-html5, .ti-css3, .ti-angle-right{
width: 1em; height: 1em;
background-color: currentColor;
-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
-webkit-mask-size: contain; mask-size: contain;
-webkit-mask-position: center; mask-position: center;
}
.ti-face-smile, .ti-thumb-up, .ti-comment-alt, .ti-info-alt{
width: 50px; height: 50px;
background-color: currentColor;
-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
-webkit-mask-size: contain; mask-size: contain;
-webkit-mask-position: center; mask-position: center;
}
.ti-lock, .ti-eye, .ti-eye-off{
width: 16px; opacity: 0.6;
}
.ti-palette {
-webkit-mask-image: url('../vendors/themify-icons/svg/palette.svg');
mask-image: url('../vendors/themify-icons/svg/palette.svg');
}
.ti-angle-up {
-webkit-mask-image: url('../vendors/themify-icons/svg/angle-up.svg');
mask-image: url('../vendors/themify-icons/svg/angle-up.svg');
}
.ti-menu-alt {
-webkit-mask-image: url('../vendors/themify-icons/svg/menu-alt.svg');
mask-image: url('../vendors/themify-icons/svg/menu-alt.svg');
}
.ti-html5 {
width: 2em; height: 2em;
-webkit-mask-image: url('../vendors/themify-icons/svg/html5.svg');
mask-image: url('../vendors/themify-icons/svg/html5.svg');
}
.ti-css3 {
width: 2em; height: 2em;
-webkit-mask-image: url('../vendors/themify-icons/svg/css3.svg');
mask-image: url('../vendors/themify-icons/svg/css3.svg');
}
.ti-angle-right {
-webkit-mask-image: url('../vendors/themify-icons/svg/angle-right.svg');
mask-image: url('../vendors/themify-icons/svg/angle-right.svg');
}
.ti-face-smile{
-webkit-mask-image: url('../vendors/themify-icons/svg/face-smile.svg');
mask-image: url('../vendors/themify-icons/svg/face-smile.svg');
}
.ti-thumb-up{
-webkit-mask-image: url('../vendors/themify-icons/svg/thumb-up.svg');
mask-image: url('../vendors/themify-icons/svg/thumb-up.svg');
}
.ti-comment-alt{
-webkit-mask-image: url('../vendors/themify-icons/svg/comment-alt.svg');
mask-image: url('../vendors/themify-icons/svg/comment-alt.svg');
}
.ti-info-alt{
-webkit-mask-image: url('../vendors/themify-icons/svg/info-alt.svg');
mask-image: url('../vendors/themify-icons/svg/info-alt.svg');
}
.ti-eye{
-webkit-mask-image: url('../vendors/themify-icons/svg/eye.svg');
mask-image: url('../vendors/themify-icons/svg/eye.svg');
}
.ti-eye-off{
-webkit-mask-image: url('../vendors/themify-icons/svg/eye-off.svg');
mask-image: url('../vendors/themify-icons/svg/eye-off.svg');
}
.ti-lock{
-webkit-mask-image: url('../vendors/themify-icons/svg/lock.svg');
mask-image: url('../vendors/themify-icons/svg/lock.svg');
}

footer .ti-angle-right {
display: inline-block; /* Forzar visibilidad en el Footer */
}
body.theme-alt footer .ti-angle-right {
color: #E84444 !important;
}

body.theme-alt footer {
color: #E84444 !important;
}



/* 1. ESTRUCTURA DE SECCIÓN */
.item-section {
    margin-bottom: 1.5rem !important;
    position: relative;
    padding: 100px 0 !important; 
    min-height: 65vh; 
    display: flex;
    align-items: center;
}

/* camping */
/* --- Estilo de Tarjetas de Servicio --- */
.card-servicio {
    padding: 30px 15px;
    border-radius: 40px; /* Bordes redondeados amplios */
    border: 6px solid rgba(255, 255, 255, 0.8); /* Borde blanco importante */
    box-shadow: 0 10px 25px rgba(0,0,0,0.05); /* Sombra suave */
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.card-servicio:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    border-color: #fff; /* Se vuelve sólido al hover */
}

/* --- Círculo para los Iconos --- */
.icon-circle {
    width: 100px;
    height: 100px;
    background: rgba(0, 86, 179, 0.05); /* Color de marca traslúcido */
    color: #0056b3; /* Tu color de marca */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all 0.3s ease;
}

.card-servicio:hover .icon-circle {
    background: #0056b3;
    color: #fff;
}

.card-servicio h6 {
    font-size: 0.85rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #444;
    line-height: 1.3;
}

/* Ajuste móvil para que no queden tan grandes */
@media (max-width: 767px) {
    .card-servicio {
        padding: 20px 10px;
        border-radius: 30px;
        border-width: 4px;
    }
    .icon-circle {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
    }
}

/* 1. Quitamos el cursor de mano a la sección de inactividad en general */
.inactivity, 
.inactivity a, 
.inactivity .card-servicio {
    cursor: default !important;
}

/* 2. Se lo devolvemos ÚNICAMENTE a las fotos de la galería */
.view-lightbox, 
.view-lightbox * {
    cursor: pointer !important;
}

/* 3. También a los enlaces de texto que SI deban tener click (como el de notificar precios) */
.inactivity a[onclick], 
.inactivity a:not(.view-lightbox) {
    cursor: pointer !important;
}

/* ===== TEMA BLUE (Default) ===== */
.section-banner {
    margin: 50px 0;
    
    /* 2. ESQUINAS: Forzamos esquinas rectas */
    border-radius: 0 !important;
    
    /* 3. BORDES GRUESOS Y TRASLÚCIDOS:
       Gris oscuro (50, 50, 50) con 15% de opacidad (0.15) */
    border-top: 6px solid rgba(255, 255, 255, 0.5);
    border-bottom: 6px solid rgba(255, 255, 255, 0.5);
    
    /* 4. SOMBRA: Suave para dar profundidad */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    
    /* Aseguramos que la sombra y bordes se dibujen correctamente */
    position: relative;
    background-size: cover;
    background-position: center;
    overflow: visible; /* Asegura que la sombra no se corte */
}

.aviso-turnos {
    border-radius: 10px !important;
}

/* ===== TEMA ALT (Dark/Red) ===== */
body.theme-alt .section-banner {
    /*Esto crea un efecto de "neón apagado" sobre el fondo oscuro. */
    border-top: 6px solid rgba(255, 77, 77, 0.5);
    border-bottom: 6px solid rgba(255, 77, 77, 0.5);
    /* SOMBRA ALT: Más intensa y oscura para resaltar */
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
}

/* ===== TEMA BLUE (Default) ===== */
.caja-info {
    color: #333;
    border-radius: 20px !important;
    border: 6px solid rgba(50, 50, 50, 0.15) !important;
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(8px);
    text-shadow: 3px 2px 10px rgba(255, 255, 255, 0.9);
}

/* ===== TEMA BLUE (Default) ===== */
.titulo-especialidad {
    color: #007bff; /* Azul Bootstrap */
    border-color: #007bff !important;
}

.atendido-por { color: #6c757d; }
.icono-especialidad { color: #007bff; }
.nombre-profesional { color: #495057; }

/* ===== TEMA ALT (Dark/Red) ===== */
body.theme-alt .caja-info {
    color: #fff;
    border: 6px solid rgba(255, 77, 77, 0.75) !important;
    background: rgba(15, 23, 42, 0.75) !important;
    text-shadow: 2px 2px 10px rgba(255, 77, 77, 0.3);
}

body.theme-alt .titulo-especialidad {
    color: #ff4d4d; /* Rojo del tema alt */
    border-color: #ff4d4d !important;
}

body.theme-alt .atendido-por { color: #999999; }
body.theme-alt .icono-especialidad { color: #ff4d4d; }
body.theme-alt .nombre-profesional { color: #cccccc; }

/*sticki background swap*/
/* 1. Fondo fijo */
#bg-layer { 
    pointer-events: none; 
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 0;
}

.bg-item {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.8s ease-in-out; 
}

.bg-item.active { opacity: 1; }

/* 2. Capa de legibilidad */
.overlay-dinamico {
    z-index: 1;
    background: url('../images/skins/patternFullScreenBg_2.png') repeat;
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}

/* 3. Contenedor de contenido */
.content-wrapper {
    position: relative;
    z-index: 2;
}

.border-start-custom {
    border-left: 3px solid #007bff;
    padding-left: 20px;
}

.input-estatico {
    pointer-events: none;
    border-color: transparent !important;
    color: rgba(0, 0, 0, 0.2) !important;
}
body.theme-alt .input-estatico {
    color: rgba(255, 77, 77, 0.5) !important;
}