html {
	height: 100%;
	font-family: 'Playfair Display', serif;
}

*{
    font-family: 'Playfair Display', serif;
}

body {
	height: 100%;
	font-family: 'Lato', sans-serif;
	background-color: #fff;
	color: #333;
	display: flex;
	flex-direction: column;
}

h1{
    font-size: 1.5rem;
}

h2{
    font-size: 1.25rem;
}

main.principal {
	padding: 80px 0px 80px 0px;
}

main.resto{
    padding: 120px 80px 120px 80px;
}

/* ===== CABECERA ===== */
.navbar {
	border-bottom: 2px solid #ddd;
}

.navbar-brand img {
	height: 80px;
}

.dropdown-menu {
	border-radius: 10px;
	border: 3px solid #bbb;
	transition: all 0.2s ease;
}

/* ===== ICONOS SOCIALES (Desktop) ===== */
.social-icons {
	display: flex;
	align-items: center;
	gap: 15px;
}

.social-icons a {
	color: #000;
	font-size: 1.2rem;
	transition: color 0.3s ease;
	padding-right: 10px;
}

.social-icons a:hover {
	color: #000;
}

.columnas-2{
    column-count: 2; 
    column-gap: 20px;
}

.columnas-3{
    column-count: 3; 
    column-gap: 20px;
}

/* ===== ICONOS SOCIALES (Móvil) ===== */
@media (max-width: 991.98px) {

	.navbar-brand img {
		height:45px;
	}

	.social-icons-desktop {
		display: none !important;
	}

	.social-icons-mobile {
		display: flex !important;
		justify-content: center;
		gap: 25px;
		padding: 15px 0;
		border-top: 1px solid #ddd;
	}

	.boton-socios-mobile {
		display: flex !important;
		justify-content: center;
		padding: 15px 0;
	}

	.social-icons-mobile a {
		color: #000;
		font-size: 1.2rem;
		transition: color 0.3s ease;
		padding-right: 10px;
	}

	.social-icons-mobile a:hover {
		color: #000;
	}

	/* ===== SUBMENÚ EN MÓVIL ===== */
	.navbar .dropdown-menu {
		width: 100%;
		/* Ocupa todo el ancho */
		text-align: center;
		/* Centra el texto */
		border: none;
		/* Sin borde */
		border-radius: 0;
		/* Esquinas cuadradas */
		background-color: #f8f9fa;
		/* Fondo similar al navbar */
	}

	.navbar .dropdown-item {
		width: 100%;
		/* Ocupa todo el ancho */
		display: block;
		padding: 12px 0;
		/* Espaciado vertical */
	}

	/* Separadores entre opciones (links y dropdown items) */
	.navbar-nav .nav-link,
	.navbar-nav .dropdown-item {
		border-bottom: 1px solid #ddd;
	}

	/* Sin borde en el último item de cada lista */
	.navbar-nav .nav-item:last-child>.nav-link,
	.navbar-nav .dropdown-menu .dropdown-item:last-child {
		border-bottom: none;
	}
        
    .carousel-indicators{
        margin-bottom: 0px;
        bottom: -15px !important;
    }
    
    main.principal{
        padding: 60px 0px 40px 0px;
    }
    
    main.resto{
        padding: 100px 10px 40px 10px;
    }
    
    .columnas-2{
        column-count: 1; 
        column-gap: 20px;
    }

    .columnas-3{
        column-count: 1; 
        column-gap: 20px;
    }
}

@media (min-width: 992px) {

	.social-icons-mobile,
	.boton-socios-mobile {
		display: none !important;
	}


	/* Mostrar dropdown en hover (escritorio) */
	.navbar .nav-item.dropdown:hover .dropdown-menu {
		display: block;
		margin-top: 0;
	}

	/* Quitar retraso de cierre */
	.navbar .dropdown-menu {
		display: none;
		position: absolute;
	}

	/* === Eliminar el recuadro azul (outline y box-shadow) en hover/focus === */
	.navbar .nav-link:focus,
	.navbar .nav-link:hover,
	.navbar .dropdown-toggle:focus,
	.navbar .dropdown-toggle:hover,
	.navbar .dropdown-item:focus,
	.navbar .dropdown-item:hover {
		outline: none !important;
		box-shadow: none !important;
	}

	/* Subrayado personalizado al hacer hover en menú y dropdown. También para mostrar la pestaña activa*/
	.navbar .nav-link:hover,
	.navbar .dropdown-item:hover,
        .navbar a.activo{
		text-decoration: none;
		/* Quitar underline por defecto */
		border-bottom: 3px solid #000;
		/* Borde azul grueso */
		padding-bottom: 4px;
		/* Separación entre texto y borde */
	}
}

/* ===== CARRUSEL ===== */
.custom-carousel {
	margin-top: 40px;
}

.carousel-item {
	padding: 30px 0px 50px 0px;
}

.carousel-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 40px;
}

.carousel-text h2 {
	font-weight: 700;
	font-size: 2rem;
	color: #1e1e2f;
	margin-bottom: 15px;
}

.carousel-text p {
	color: #555;
	font-size: 1.1rem;
	line-height: 1.6;
}

.carousel-image img {
	width: 100%;
	border-radius: 10px;
	object-fit: cover;
	height: 400px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1800px) {
	.carousel-image img {
		height: 500px;
	}
}

@media (max-width: 768px) {
	.carousel-item {
		padding: 0px 10px 30px 10px;
	}

	.carousel-image img {
		height: 250px;
	}

	.carousel-text {
		padding-right: 0;
		text-align: center;
		margin-bottom: 15px;
	}
        
        .carousel-control-prev-icon,
        .carousel-control-next-icon{
            display: none;
        }

}

/* Botones carrusel oscuros */
.carousel-control-prev-icon,
.carousel-control-next-icon {
	background-color: #1e1e2f;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	background-size: 60%, 60%;
}

.carousel-control-prev,
.carousel-control-next {
	width: 5%;
}

/* Indicadores carrusel */
.carousel-indicators [data-bs-target] {
	background-color: #1e1e2f;
	width: 12px;
	height: 12px;
	border-radius: 50%;
}

.carousel-indicators .active {
	background-color: #0d6efd;
}

/* ===== SECCIÓN CENTRADA ===== */
section.info-center {
	text-align: center;
	background-color: #fff;
}

section.info-center h2 {
	font-weight: 600;
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

section.info-center p {
	max-width: 800px;
	margin: 0 auto;
	font-size: 1.1rem;
	line-height: 1.6;
}

/* ===== SECCIÓN JUSTIFICADA ===== */
section.info-justificada {
    padding: 1rem 1rem;
	text-align: justify;
	background-color: #fff;
}

section.info-justificada h2 {
	font-weight: 600;
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

section.info-justificada p,
section.info-justificada li {
	font-size: 1.1rem;
	line-height: 1.6;
}

/* ===== SECCIÓN NOTICIAS ===== */
section.noticias {
	padding: 3rem 1rem;
}

section.noticias h2 {
	text-align: center;
	font-weight: 600;
	margin-bottom: 2rem;
}

.news-container {
	display: flex;
	overflow-x: auto;
	gap: 1rem;
	scroll-behavior: smooth;
	padding-bottom: 1rem;
}

.news-card {
	background: #fff;
	border-radius: 10px;
	flex: 0 0 auto;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
	transition: transform 0.2s, box-shadow 0.3s;
	text-decoration: none;
	color: inherit;
}

.news-card:hover {
	transform: scale(1.03);
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
}

.news-card img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.news-body {
	padding: 1rem;
}

.news-body h5 {
	font-size: 1.1rem;
	font-weight: 600;
}

.news-body small {
	color: #888;
}

.news-body p {
	font-size: 0.95rem;
	margin-top: 0.5rem;
}

.news-container::-webkit-scrollbar {
	height: 10px;
}

.news-container::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 5px;
}

/* ===== VER MÁS ===== */
.ver-mas {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #e9ecef;
	border-radius: 10px;
    height: 100%;
	text-decoration: none;
	transition: all 0.3s;
}

.ver-mas:hover {
	background-color: #dee2e6;
	color: #084298;
}

/* ===== FOOTER ===== */
.footer-fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 1030;
	/* por encima del contenido */
}

footer a {
	color: #0d6efd;
	text-decoration: none;
	margin: 0 10px;
	transition: color 0.3s;
}

footer a:hover {
	color: #084298;
}

/* ===== DRAG AND DROP IMAGES ===== */

.imagen-galeria {
    height: 200px;
    width: 100%;
    object-fit: contain;
    background-color: #f8f9fa; /* fondo claro para imágenes más pequeñas */
}
.modal-img {
    width: 100%;
}
/* ===== PERSONALIZACIÓN ===== */

.is-invalid-password{
    border-color: #dc3545;
}

.invalid-feedback-password {
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: #dc3545;
}

ul.pagination > li.active{
    background-color: #212529;  
    --bs-pagination-active-bg : #212529;
    --bs-pagination-active-border-color: #212529;
    color: #FFF;
    --bs-btn-active-color: #FFF;
}

.form-check-input:checked{
    background-color: #C62E43;
    border-color: #C62E43;
}

input.readonly:hover {
    cursor:not-allowed
}

input.readonly{
	background-color: #BBBB;
}

.oculto{
    display: none;    
}

/* ===== DRAG AND DROP FICHEROS ===== */
.dropzone {
    border: 2px dashed var(--bs-primary);
    border-radius: 1rem;
    padding: 1rem 2rem 1rem 2rem;
    text-align: center;
    background-color: #f8f9fa;
    transition: all 0.3s ease;
    cursor: pointer;
}

.dropzone.dragover {
    background-color: #e7f1ff;
    border-color: #0d6efd;
}

.file-list {
    margin-top: 1rem;
}

