@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

.cinzel { font-family: "Cinzel", serif; }

body { color: #192241; font-family: "Roboto", sans-serif; }

/* VARIABLES */
:root {
    --main-color: #FF7A33;
    --main-color-light: #00bfe2;
    --main-color-dark: #333;
}

/*HEADER CSS*/
img {transition: opacity ease 300ms;}
img:not([src]) {opacity: 0;}

nav.sticky .shadow-sticky { box-shadow: 0 0 #0000, 0 0 #0000, 0 10px 20px 5px rgba(0, 0, 0, 0.07), 0 10px 20px 5px rgba(0, 0, 0, 0.05); }
nav.sticky.sticked .shadow-sticky { box-shadow: none; }

@media (max-width: 1023px) {
    .navbar-content > ul.shadow-sticky {
        box-shadow: none !important;
    }
}

.custom-tns-full-height .tns-outer,
.custom-tns-full-height .tns-inner,
.custom-tns-full-height .tns-item,
.custom-tns-full-height .c-tns-container {
    height: 100%;
}

.dropdown-toggle.open ~ .dropdown { max-height: 500px; }
.dropdown-toggle.open .icon { transform: rotate(180deg); }

@media (max-width: 1023px) {
    body.navbar-open { height: 100vh; overflow: hidden; }
    .navbar { pointer-events: none; }
    .navbar.open { pointer-events: auto; }
    .navbar .navbar-content { transform: translateX(100%); }
    .navbar.open .navbar-content { transform: translateX(0); }
    .navbar .navbar-overlay { opacity: 0;}
    .navbar.open .navbar-overlay { opacity: 1; }
}

/* MAIN COLOR */
.text-main-color { color: var(--main-color); }
.group:hover .group-hover\:text-main-color { color: var(--main-color); }
.hover\:text-main-color:hover { color: var(--main-color); }
.focus\:text-main-color:focus { color: var(--main-color); }
.bg-main-color { background-color: var(--main-color); }
.group:hover .group-hover\:bg-main-color { background-color: var(--main-color); }
.hover\:bg-main-color:hover { background-color: var(--main-color); }
.focus\:bg-main-color:focus { background-color: var(--main-color); }
.border-main-color { border-color: var(--main-color); }
.hover\:border-main-color:hover { border-color: var(--main-color); }
.focus\:border-main-color:focus { border-color: var(--main-color); }
.fill-main-color { fill: var(--main-color); }
.hover\:fill-main-color:hover { fill: var(--main-color); }
.focus\:fill-main-color:focus { fill: var(--main-color); }
.stroke-main-color { stroke: var(--main-color); }
.hover\:stroke-main-color:hover { stroke: var(--main-color); }
.focus\:stroke-main-color:focus { stroke: var(--main-color); }

/* MAIN COLOR LIGHT */
.text-main-color-light { color: var(--main-color-light); }
.group:hover .group-hover\:text-main-color-light { color: var(--main-color-light); }
.hover\:text-main-color-light:hover { color: var(--main-color-light); }
.focus\:text-main-color-light:focus { color: var(--main-color-light); }
.bg-main-color-light { background-color: var(--main-color-light); }
.group:hover .group-hover\:bg-main-color-light { background-color: var(--main-color-light); }
.hover\:bg-main-color-light:hover { background-color: var(--main-color-light); }
.focus\:bg-main-color-light:focus { background-color: var(--main-color-light); }
.border-main-color-light { border-color: var(--main-color-light); }
.hover\:border-main-color-light:hover { border-color: var(--main-color-light); }
.focus\:border-main-color-light:focus { border-color: var(--main-color-light); }
.fill-main-color-light { fill: var(--main-color-light); }
.hover\:fill-main-color-light:hover { fill: var(--main-color-light); }
.focus\:fill-main-color-light:focus { fill: var(--main-color-light); }
.stroke-main-color-light { stroke: var(--main-color-light); }
.hover\:stroke-main-color-light:hover { stroke: var(--main-color-light); }
.focus\:stroke-main-color-light:focus { stroke: var(--main-color-light); }

/* MAIN COLOR DARK */
.text-main-color-dark { color: var(--main-color-dark); }
.group:hover .group-hover\:text-main-color-dark { color: var(--main-color-dark); }
.hover\:text-main-color-dark:hover { color: var(--main-color-dark); }
.focus\:text-main-color-dark:focus { color: var(--main-color-dark); }
.bg-main-color-dark { background-color: var(--main-color-dark); }
.group:hover .group-hover\:bg-main-color-dark { background-color: var(--main-color-dark); }
.hover\:bg-main-color-dark:hover { background-color: var(--main-color-dark); }
.focus\:bg-main-color-dark:focus { background-color: var(--main-color-dark); }
.border-main-color-dark { border-color: var(--main-color-dark); }
.hover\:border-main-color-dark:hover { border-color: var(--main-color-dark); }
.focus\:border-main-color-dark:focus { border-color: var(--main-color-dark); }
.fill-main-color-dark { fill: var(--main-color-dark); }
.hover\:fill-main-color-dark:hover { fill: var(--main-color-dark); }
.focus\:fill-main-color-dark:focus { fill: var(--main-color-dark); }
.stroke-main-color-dark { stroke: var(--main-color-dark); }
.hover\:stroke-main-color-dark:hover { stroke: var(--main-color-dark); }
.focus\:stroke-main-color-dark:focus { stroke: var(--main-color-dark); }

/* BASE CLASES PROPIAS */
:focus,
input:focus,
button:hover,
button:focus { outline: none; }
.buscador_oculto{margin-top:-60px;opacity:0;}

.tns-controls { display: none; }

.tns-nav{display:flex;justify-content:center;width:100%;align-items:center;margin-top:20px;position:relative;bottom:0px;}
.tns-nav button{background-color:#e4e4e4; border:solid 1px white;width:15px; height:15px; border-radius:100%;margin:5px;}
.tns-nav button.tns-nav-active{ background-color: var(--main-color); }

.tns-nav-active { background-color: var(--main-color); }

.titulo-main-color span { color: var(--main-color); font-weight: 700; }
.titulo-main-color-light span { color: var(--main-color-light); font-weight: 700; }
.titulo-main-color-dark span { color: var(--main-color-dark); font-weight: 700; }
.titulo-main-color-white span { color: #fff; font-weight: 700 !important; }
.titulo-main-color-black span { color: #000; font-weight: 700 !important; }

.shadow-custom { box-shadow: 0 0 20px 2px rgb(0 0 0 / 10%); }
.text-shadow { text-shadow: 1px 1px 5px #00000085; }
.text-shadow2 { text-shadow: 1px 1px 2px #00000060; }

.gradient-white { 
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.196516106442577) 50%, rgba(255,255,255,1) 100%);
}

.gradient-white-contacto {
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.6) 100%);
}

.gradient-contacto {
    background: #EFF6FF;
    background: linear-gradient(135deg,rgba(239, 246, 255, 1) 0%, rgba(156, 193, 231, 1) 72%);
}

.gradient-buscador {
    background: #EFF6FF;
    background: linear-gradient(135deg,rgba(239, 246, 255, 1) 0%, rgba(156, 193, 231, 1) 100%);
}

input[type="checkbox"].custom-checkbox:checked {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='%239CC1E7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.transition3s { transition: all 0.3s ease-in-out; }

.p-1\/20::after { content: ""; display: block; padding-top: 200%; }
.p-1\/15::after { content: ""; display: block; padding-top: 150%; }
.p-1\/12::after { content: ""; display: block; padding-top: 120%; }
.p-1\/10::after { content: ""; display: block; padding-top: 100%; }
.p-1\/9::after { content: ""; display: block; padding-top: 90%; }
.p-1\/8::after { content: ""; display: block; padding-top: 80%; }
.p-1\/7::after { content: ""; display: block; padding-top: 70%; }
.p-1\/6::after { content: ""; display: block; padding-top: 60%; }
.p-1\/5::after { content: ""; display: block; padding-top: 50%; }
.p-1\/4::after { content: ""; display: block; padding-top: 40%; }
.p-1\/3::after { content: ""; display: block; padding-top: 30%; }
.p-1\/2::after { content: ""; display: block; padding-top: 20%; }
.p-1\/1::after { content: ""; display: block; padding-top: 10%; }

.p-noticias::afeter { content: ""; display: block; padding-top: 60%; }
.p-principal::after { content: ""; display: block; padding-top: 69.2%; }

@media (min-width: 1023px) {
    .p-noticias::after { content: ""; display: block; padding-top: 40%; }
    .p-principal::after { content: ""; display: block; padding-top: 69.5%; }
}

@media (min-width: 	1280px) {
    .p-principal::after { content: ""; display: block; padding-top: 69.7%; }
}

.last\:border-none > li:last-child,
.last\:border-none > a:last-child { border: none !important; }

.hover\:text-yellow-600:hover {
    --tw-text-opacity: 1;
    color: var(--main-color);
}

.hover\:scale-sm:hover { transform: scale(1.1); }
.hover\:scale-md:hover { transform: scale(1.3); }
.hover\:scale-lg:hover { transform: scale(1.5); }

.rotate-180 { transform: rotate(180deg); }

.filter-white { filter: grayscale(100) brightness(0) invert(1); }
.filter-black { filter: grayscale(100) brightness(0) invert(0); }

.blur { 
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(40px); 
}

.leading-titulo { line-height: 1.10; }
.leading-snug { line-height: 1.375; }
.leading-relaxed { line-height: 1.625; }
.leading-loose { line-height: 2; }

.fill-currentColor { fill: currentColor; }

.line-clamp1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.line-clamp2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.line-clamp3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.line-clamp4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.line-clamp5 { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.line-clamp13 { display: -webkit-box; -webkit-line-clamp: 13; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.line-clamp15 { display: -webkit-box; -webkit-line-clamp: 15; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.line-clamp20 { display: -webkit-box; -webkit-line-clamp: 20; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }

@media (min-width: 1024px) { .top-custom { top: 5.6rem; } }

@keyframes rotar {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

.animate-rotar {
    animation: rotar 10s linear infinite;
}

.-z-1 { z-index: -1; }
.z-60 { z-index: 60; }

.social-media li { padding: 0px; }

.social-media li a { margin: 0px; display: flex; width: 100%; height: 100%; }

body { opacity: 1; }

/* PREDETERMINADOS DEL MOTOR */
body {
    margin: 0;
    font-family: system-ui, -apple-system, sans-serif;
}

/* Estilos para input range */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #e5e7eb;
    outline: none;
}
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #2B6CB0;
    cursor: pointer;
    transition: transform 0.2s;
}
input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}
input[type="range"]::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #2B6CB0;
    cursor: pointer;
    border: none;
    transition: transform 0.2s;
}
input[type="range"]::-moz-range-thumb:hover {
    transform: scale(1.2);
}

/* Estilos para panel de filtros colapsable */
.filtros-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out;
}

.filtros-panel > .filtros-panel-inner {
    overflow: hidden;
}

.filtros-panel.expanded {
    grid-template-rows: 1fr;
}

/* En desktop siempre visible */
@media (min-width: 1024px) {
    .filtros-panel {
        grid-template-rows: 1fr !important;
    }
    .filtros-toggle-btn {
        display: none !important;
    }
}

/* Overlay para móvil */
.filtros-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 40;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.filtros-overlay.active {
    opacity: 1;
    visibility: visible;
}

@media (min-width: 1024px) {
    .filtros-overlay {
        display: none !important;
    }
}

/* Icono de rotación */
.toggle-icon {
    transition: transform 0.3s ease;
}

.toggle-icon.rotated {
    transform: rotate(180deg);
}


