/*
1. Posicionamiento
2. Modelo de caja (box model)
3. Tipografía
4. Visuales
5. Miscelaneo
*/
:root{
	/* Colores */
	--just-black: #0a0a0a;
	--just-white: #ffffff;
	--soft-grey: #dbdbdb;
	--medium-grey: #8C8C8C;
	--hard-grey: #666666;
	--shadow-black: #0d0000;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	font-size: 62.5%;
	font-family: "Nunito", sans-serif;
}
body {
	line-height: 1.6;
}

.div-portada {
	background-image: url('./fotoGral/elOrfebre2.jpg'); /* Imagen */
    background-size: cover;          /* Cubre todo el espacio */
    background-position: center;     /* Centra la imagen */
    background-repeat: no-repeat;    /* No repite la imagen */
    height: 43vh;   
    width: 100%;
    display: flex;
    justify-content: center;         /* Centra contenido horizontal */
    align-items: center;             /* Centra contenido vertical */
    color: white;                    /* Color del texto */
	animation-name: slowzoom;
	animation-duration: 10s;
	animation-timing-function: linear;
}

.sec-portada {
	height: 90px;	
}

@keyframes slowzoom {
	from {
    height: 43vh;   
    width: 100%;
	}
	to {
    height: 43vh;   
    width: 120%;
	}
}


header {
	display: flex;
	flex-direction: column;
	background: var(--just-white);
}
header img {
	width: clamp(50px, 50vw, 500px);
	height: auto;
	margin: 3rem;
	align-self: center;
	max-height: 70px;
}
.header--title-container {
	margin: 2rem auto 0;
	text-align: center;
}
.header--title-container h1 {
	font-size: clamp(1.2rem, 4vw, 2rem);
	color: var(--just-black);
}
.header--title-container p {
	font-size: clamp(1rem, 2.5vw, 1.4rem);
	color: var(--just-black);
}
.header--button {
    position: relative;
	top: 1rem;
    display: flex;
    gap: 1rem;
    padding: 0 1rem;
}
.header--button-inicio,
.header--button-portafolio,
.header--button-acceso {
    min-width: 150px;
    max-width: 130px;
    height: 48px;
    background-color: var(--medium-grey);
	border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    color: var(--just-white);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.header--button-inicio:hover,
.header--button-portafolio:hover,
.header--button-acceso:hover {
    transform: translateY(-2px);
    box-shadow: -3px 4px 12px rgba(50, 50, 50, 0.4);
    background-color: var(--just-white);
    color: var(--just-black);
}



main {
	width: 100%;
	min-width: 240px;
	background-color: var(--just-white);

}
.main--titulo-doc {
	padding: 2rem 1rem 2rem;
	text-align: center;
}
.main--titulo-doc h2 {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	color: var(--just-black);
}
.main--titulo-doc h3 {
	font-size: clamp(1.2rem, 3vw, 1.8rem);
	color: var(--just-black);
}
.main--titulo-doc p {
	font-size: clamp(1rem, 2.5vw, 1.6rem);
	color: var(--just-black);
}

.foto-portada-body {
	margin: 1rem;
	margin-bottom: 2rem;
}

.foto-portada-body img{
	height: 180px;   
    width: auto;
	border-radius: 1rem;
}

.foto-portada-body-contra {
	margin: 1rem;
	float: right;
	flex-direction: column; /* Apila elementos verticalmente */
	align-items: right;  
	margin-left: 100rem;
	margin-bottom: 2rem;
}

.foto-portada-body-contra img{
	height: 180px;   
    width: auto;
	border-radius: 1rem;

}

.foto-portada-body-contra p{
	margin-left: 28.5rem;
}


footer {
	display: flex;
	background-color: var(--hard-grey);
	padding: 1rem 2rem;
}
footer section {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1rem;
}
footer .pie-izquierdo ul {
	font-weight: 1000;
	line-height: 1.2rem;
	list-style: none;
	text-align: center;
}
.pie-izquierdo li {
	margin: 1rem 0;
}
.pie-izquierdo a {
	text-decoration: none;
	color: var(--soft-grey);
	transition: color 0.3s ease;
}
.pie-izquierdo a:hover {
	color: var(--just-white);
}
.pie-derecho img {
	width: clamp(60px, 10vw, 100px);
	height: auto;
}




/* Responsive Design - Mobile First */
@media (max-width: 480px) {

	.header--button {
		flex-direction: column;
		align-items: center;
	}
	footer {
		flex-direction: column;
		text-align: center;
	}
	footer section {
		padding: 0.5rem;
	}

}
@media (min-width: 480px) {
	footer section {
		width: 50%;
	}
}

@media (max-width: 610px) {
	.foto-portada-body {
		margin: 0rem;	
		margin-bottom: 2rem;
	}
	.foto-portada-body-contra {
		margin: 0rem;	
		margin-bottom: 2rem;
	}
	.foto-portada-body img{
		border-radius: 0rem;	
	}
	.foto-portada-body-contra img{
		border-radius: 0rem;	
	}

}
@media (min-width: 1100px) {
	.foto-portada-body-contra {
	margin-right: 20rem;
	}
	.foto-portada-body {
	margin-left: 20rem;
	}
}
