/*
 Theme Name:	Cultura Científica
 Theme URI:
 Description:
 Author:		SIIGSA - Desarrolladores de software
 Author URI:	https://siigsa.cl/
 Template:     	hello-elementor
 Version:      	1.0

 /* == Add your own styles below this line ==
--------------------------------------------*/

.cc-act-pill {
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--Primario, #6300FF);
    padding: 6px 16px;
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
    color: #fff;
}
.cc-act-pill img {
    width: 16px;
    height: 16px;
    flex: none;
}
.cc-act-fecha {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 20px;
    text-transform: uppercase;
    color: #333;
}
.cc-act-fecha .cc-act-fecha-item {
    display: flex;
    align-items: center;
    gap: 3px;
}
.cc-act-fecha img {
    width: 16px;
    height: 16px;
    flex: none;
}
.cc-act-fecha .cc-act-divider {
    width: 2px;
    height: 16px;
    background: #d9d9d9;
}
.cc-act-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-family: Montserrat, sans-serif;
    width: 100%;
}
.cc-act-chips .cc-act-chip {
    background: #f2f2f2;
    color: #4d4d4d;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    padding: 4px 8px;
    border-radius: 4px;
}
.cc-act-chips .cc-act-chip--full {
    flex: 1 1 100%;
}

.cc-actividades {
    display: flex;
    flex-direction: column;
    gap: 24px;
    font-family: Montserrat, sans-serif;
}

.cc-act-tematicos {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.cc-act-tematicos-titulo {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #000;
}
.cc-act-tematicos-desc {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: #000;
}

.cc-filtros-ejes {
    --e-filter-wrap: nowrap;
    --e-filter-white-space: normal;
    --e-filter-item-max-width: none;
    --e-filter-item-padding: 0;
}

.cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter {
    display: flex;
    flex-wrap: nowrap;
    gap: 24px;
    justify-content: space-between;
    align-items: flex-start;
}
.cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter .e-filter-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;

    flex: 1 1 0;
    min-width: 0;
    max-width: 150px;
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    cursor: pointer;
    color: var(--cc-eje-color, inherit);
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;

    white-space: normal;
    overflow: visible;
    overflow-wrap: break-word;
    text-wrap: balance;
    transition: transform .2s ease, opacity .2s ease;
}

.cc-filtros-ejes .e-filter-item::before {
    content: "";
    display: block;
    flex: none;
    width: 100%;
    max-width: 130px;
    aspect-ratio: 1 / 1;
    background: center / contain no-repeat;
}
.cc-filtros-ejes .e-filter-item[data-filter="tecnologia-ia-e-innovacion"]     { --cc-eje-color: #6300FF; }
.cc-filtros-ejes .e-filter-item[data-filter="ciencias-naturales-y-ambientales"] { --cc-eje-color: #33CC33; }
.cc-filtros-ejes .e-filter-item[data-filter="ciencias-sociales-y-humanidades"]  { --cc-eje-color: #FF4088; }
.cc-filtros-ejes .e-filter-item[data-filter="sostenibilidad"]                 { --cc-eje-color: #F7AB03; }
.cc-filtros-ejes .e-filter-item[data-filter="salud-y-ciencias-biomedicas"]    { --cc-eje-color: #0033FF; }
.cc-filtros-ejes .e-filter-item[data-filter="ciencias-fisicas-y-matematicas"] { --cc-eje-color: #FC6631; }


.cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter .e-filter-item:hover {
    color: var(--cc-eje-color, inherit);
    transform: translateY(-5px);
    opacity: 1;
}
.cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter .e-filter-item[aria-pressed="true"] {
    color: var(--cc-eje-color, inherit);
}
.cc-filtros-ejes .e-filter:has(.e-filter-item[aria-pressed="true"]) .e-filter-item:not([aria-pressed="true"]) {
    opacity: .2;
}

.cc-act-toggle {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #6300FF;
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 8px 16px;
    font: 700 16px/1.5 Montserrat, sans-serif;
    cursor: pointer;
}
.cc-act-toggle:hover {
    background: #5200d6;
}


.cc-act-panel {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.cc-act-panel[hidden] {
    display: none;
}
.cc-act-panel-cab {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}
.cc-act-panel-titulo {
    margin: 0;
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.55px;
    color: #000;
}
.cc-act-panel-cerrar {
    border: 0 !important;
    background: none !important;
    padding: 0;
    cursor: pointer;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.cc-act-panel-cerrar img {
    width: 14px;
    height: 14px;
}
.cc-act-panel-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    align-items: start;
    width: 100%;
}
.cc-act-campo {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}
.cc-act-campo-lbl {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.55px;
    color: #101828;
}

.cc-act-select,
.cc-act-field {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 8px 12px;
    font: 400 16px/1.5 Montserrat, sans-serif;
    color: #4d4d4d;
}

.cc-act-select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 36px;
    background-image: url("assets/icons/panel/chevron.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px auto;
    cursor: pointer;
    height: 43px;
}
.cc-act-select:focus,
.cc-act-rango-input:focus {
    outline: none;
}
.cc-act-select:disabled {
    background-color: #f2f2f2;
    color: #999;
    cursor: not-allowed;
}

.cc-act-multi {
    position: relative;
}

.cc-act-multi .cc-act-multi-btn {
    width: 100%;
    box-sizing: border-box;
    height: 43px;
    padding: 8px 36px 8px 12px;
    background: #fff url("assets/icons/panel/chevron.svg") no-repeat right 12px center;
    background-size: 12px auto;
    border: 1px solid #ccc;
    border-radius: 8px;
    font: 400 16px/1.5 Montserrat, sans-serif;
    color: #4d4d4d;
    text-align: left;
    cursor: pointer;
}

.cc-act-multi .cc-act-multi-btn:hover,
.cc-act-multi .cc-act-multi-btn:focus {
    background-color: #fff;
    border-color: #ccc;
    color: #4d4d4d;
}
.cc-act-multi .cc-act-multi-btn:disabled {
    background-color: #f2f2f2;
    color: #999;
    cursor: not-allowed;
}
.cc-act-multi.is-abierto .cc-act-multi-btn {
    border-color: #6600ff;
}

.cc-act-multi-texto {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.cc-act-multi-lista {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    box-sizing: border-box;
    max-height: 240px;
    overflow-y: auto;
    padding: 8px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, .12);
}
.cc-act-multi-lista[hidden] {
    display: none;
}
.cc-act-multi-opt {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 4px;
    border-radius: 4px;
    font: 400 15px/1.3 Montserrat, sans-serif;
    color: #333;
    cursor: pointer;
}
.cc-act-multi-opt:hover {
    background: #f5f0ff;
}
.cc-act-multi-opt input {
    flex: none;
    margin: 2px 0 0;
    accent-color: #6600ff;
}

.cc-act-loopgrid .e-loop-nothing-found-message {
    padding: 40px 24px;
    border: 1px dashed #ccc;
    border-radius: 8px;
    background: #fafafa;
}
.cc-act-loopgrid .e-loop-nothing-found-message__text {
    font: 700 18px/1.4 Montserrat, sans-serif;
    color: #101828;
}

.cc-act-sin-resultados-pista {
    max-width: 46ch;
    margin: 12px auto 0;
    font: 400 15px/1.4 Montserrat, sans-serif;
    color: #4d4d4d;
    text-align: center;
}


.cc-act-multi-grupo {
    margin: 8px 4px 4px;
    font: 700 13px/1.2 Montserrat, sans-serif;
    letter-spacing: .5px;
    color: #101828;
}
.cc-act-multi-grupo:first-child {
    margin-top: 0;
}
.cc-act-field {
    display: flex;
    align-items: center;
    gap: 8px;
}
.cc-act-rango-input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0 !important;
    background: none;
    padding: 0 !important;
    font: 400 16px/1.5 Montserrat, sans-serif;
    color: #333;
    cursor: pointer;
}
.cc-act-rango-input::placeholder {
    color: #4d4d4d;
    opacity: 1;
}
.cc-act-field-icono {
    flex: none;
    width: 20px;
    height: 22px;
}

.cc-act-panel-acciones {
    grid-column: 4;
    align-self: end;
    display: flex;
    gap: 16px;
    align-items: flex-end;
}
.cc-act-filtrar,
.cc-act-limpiar {
    flex: 1 1 0;
    min-width: 0;
    background: #6600ff !important;
    color: #fff;
    border: 0 !important;
    border-radius: 8px;
    padding: 8px 16px;
    font: 700 16px/1.5 Montserrat, sans-serif;
    cursor: pointer;
}
.cc-act-filtrar:hover,
.cc-act-limpiar:hover {
    background: #5200d6;
}

.cc-act-resultados {
    position: relative;
    transition: opacity .15s ease;
}
.cc-act-resultados.is-loading {
    opacity: .5;
    pointer-events: none;
}
.cc-act-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.cc-act-item {
    display: flex;
    min-width: 0;
}
.cc-act-item > .elementor {
    width: 100%;
}
.cc-act-vacio {
    padding: 32px;
    text-align: center;
    color: #4d4d4d;
    font-size: 16px;
}

.cc-act-barra-inferior {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 32px;
}
.cc-act-mostrar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
}
.cc-act-mostrar-sel {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.cc-act-perpage {
    appearance: none;
    -webkit-appearance: none;
    width: auto;
    display: inline-block;
    border: 1px solid #4d4d4d;
    border-radius: 4px;
    padding: 6px 30px 6px 12px;
    font: 400 14px/1.2 Montserrat, sans-serif;
    color: #333;
    background: #fff;
    cursor: pointer;
}
.cc-act-mostrar-sel::after {
    content: "";
    position: absolute;
    right: 11px;
    top: 45%;
    width: 7px;
    height: 7px;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #4d4d4d;
    border-bottom: 2px solid #4d4d4d;
    pointer-events: none;
}
.cc-act-conteo {
    margin: 0;
    font-size: 14px;
    color: #333;
    white-space: nowrap;
}

.cc-act-pag {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.cc-act-pag .cc-act-pag-btn {
    min-width: 24px;
    height: 24px;
    padding: 0 4px;
    border: 0;
    background: none;
    border-radius: 2px;
    font: 400 16px/1 Montserrat, sans-serif;
    color: #6300FF;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
.cc-act-pag .cc-act-pag-num.is-active {
    background: #6300FF;
    color: #fff;
}
.cc-act-pag .cc-act-pag-flecha {
    background: #f2f2f2;
    color: #4d4d4d;
    font-size: 18px;
}
.cc-act-pag .cc-act-pag-btn:disabled {
    cursor: default;
    color: #c9c9c9;
}
.cc-act-pag .cc-act-pag-flecha:disabled {
    background: #f7f7f7;
    color: #d4d4d4;
}
.cc-act-pag .cc-act-pag-btn:not(:disabled):not(.is-active):not(.cc-act-pag-flecha):hover,
.cc-act-pag .cc-act-pag-btn:not(:disabled):not(.is-active):not(.cc-act-pag-flecha):focus {
    background: #f4eeff;
    color: #6300FF;
}
.cc-act-pag .cc-act-pag-num.is-active:hover,
.cc-act-pag .cc-act-pag-num.is-active:focus {
    background: #6300FF;
    color: #fff;
}
.cc-act-pag .cc-act-pag-flecha:not(:disabled):hover,
.cc-act-pag .cc-act-pag-flecha:not(:disabled):focus {
    background: #e7e7e7;
    color: #4d4d4d;
}
.cc-act-pag .cc-act-pag-btn:disabled:hover,
.cc-act-pag .cc-act-pag-btn:disabled:focus {
    background: none;
    color: #c9c9c9;
}
.cc-act-pag .cc-act-pag-flecha:disabled:hover,
.cc-act-pag .cc-act-pag-flecha:disabled:focus {
    background: #f7f7f7;
    color: #d4d4d4;
}

.cc-act-pag-dots {
    color: #6300FF;
    padding: 0 2px;
    align-self: flex-end;
}

.cc-act-buscar input,
.cc-act-buscar button {
	padding-top: 0px !important;
    padding-bottom: 0px !important;
    height: auto;
}
input[type=date]:focus, 
input[type=email]:focus, 
input[type=number]:focus, 
input[type=password]:focus, 
input[type=search]:focus, 
input[type=tel]:focus, 
input[type=text]:focus, 
input[type=time]:focus, 
input[type=url]:focus, 
select:focus, 
textarea:focus {
	border-color: #CCCCCC !important;
}


@media (max-width: 1024px) {
    .cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter {
        gap: 16px;
    }
    .cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter .e-filter-item {
        font-size: 14px;
    }
    .cc-act-panel-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .cc-act-panel-acciones {
        grid-column: 1 / -1;
    }
    .cc-act-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter {
        gap: 12px;
        justify-content: flex-start;
        overflow-x: auto;
    }
    .cc-filtros-ejes.elementor-widget-taxonomy-filter .e-filter .e-filter-item {
        flex: 0 0 auto;
        width: 96px;
        max-width: none;
        gap: 8px;
        font-size: 12px;
    }
    .cc-act-panel-grid {
        grid-template-columns: 1fr;
    }
    
    .cc-act-panel {
        padding: 20px;
        gap: 12px;
    }
    .cc-act-grid {
        grid-template-columns: 1fr;
    }
    .cc-act-barra {
        flex-wrap: wrap;
    }
    .cc-act-barra-inferior {
        justify-content: space-between;
        gap: 16px;
    }
}

.cc-detalle-bc-link a {
    text-decoration: underline;
}
.cc-detalle-bc-link a:hover {
    color: #6300FF;
}

.cc-act-compartir .elementor-button {
    box-shadow: none;
}

.cc-detalle-fecha {
    font-size: 16px;
    letter-spacing: 0.55px;
}

.cc-detalle-imagen img {
    display: block;
    width: 100%;
    aspect-ratio: 213 / 120;
    object-fit: cover;
}

.cc-detalle-descripcion {
    font: 400 16px/1.5 Montserrat, sans-serif;
    color: #333;
}
.cc-detalle-descripcion p:last-child {
    margin-bottom: 0;
}

.cc-detalle-mapa iframe {
    border-radius: 4px;
}


.cc-detalle-valor .elementor-heading-title {
    overflow-wrap: anywhere;
}
.cc-detalle-enlace a {
    text-decoration: underline;
}

.cc-act-agendar {
    position: relative;
}
.cc-act-agendar .elementor-button {
    box-shadow: none;
}
.cc-act-agendar::after {
    content: "Podrás agregar esta actividad a tu calendario";
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%);
    width: max-content;
    max-width: 262px;
    padding: 4px 8px;
    border-radius: 4px;
    background: rgba(12, 12, 13, 0.85);
    color: rgba(255, 255, 255, 0.95);
    font: 700 12px/1.5 Montserrat, sans-serif;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease;
    z-index: 2;
}
.cc-act-agendar:hover::after,
.cc-act-agendar:focus-within::after {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 767px) {
    .cc-detalle-dato--agendar {
        padding-top: 0 !important;
    }
}

.elementor-element-f028e36:not(:has(> *)) {
    display: none;
}
