header {
  background-size: cover;
  position: absolute;
  width: 100%;
}
/* Cambio estilos del botón */
.navbar-toggler {
  border: none;
  color: #fff;
}
.navbar-toggler:focus{
  box-shadow : none;
}


.navbar {
  z-index: 10;
}

.nav-link {
  font-family: "Lato", sans-serif;
  font-size: 19px;
  text-transform: uppercase;
  margin: 0 1em;
}
/* Acomodo img en movil */
@media screen and (max-width: 443px){
  .navbar-brand .logo {
      width: 250px !important;
  }
}

/* Acomodo menu solo en desktop */
/* @media screen and (min-width: 992px) {
  .navbar-expand-lg .navbar-collapse {
      margin-top: -1em !important;
  }
} */

/* Menu y animaciones */

.menu {
  --transition-duration: 0.3s;
  --transition-delay: 0.2s;
}
.menu a {
  position: relative;
  display: block;
  padding: 10px;
}

.menu .border {
  position: absolute;
  left: 0;
  background: currentColor;
  transition: transform var(--transition-duration) ease-in-out;
  /* border-color:#000 !important */
}

.menu .border-top,
.menu .border-bottom {
  width: 100%;
  height: 1px;
  transform: scaleX(0);
}

.menu .border-left,
.menu .border-right {
  width: 1px;
  height: 100%;
  transform: scaleY(0);
}

.menu .border-top,
.menu .border-left,
.menu .border-right {
  top: 0;
}

.menu .border-bottom {
  bottom: 0;
  transform-origin: bottom right;
}

.menu .border-top {
  transform-origin: top left;
}

.menu .border-left {
  transform-origin: bottom left;
}

.menu .border-right {
  left: auto;
  right: 0;
  transform-origin: top right;
}

.menu a:hover {
  color: #dbd13f !important;
}

.menu a:hover .border-top,
.menu a:hover .border-bottom {
  transform: scaleX(1);
  border-color: #dbd13f !important;
}

.menu a:hover .border-left,
.menu a:hover .border-right {
  transform: scaleY(1);
  border-color: #dbd13f !important;
}

.menu a:hover .border-right {
  transition-delay: var(--transition-delay);
}

.menu a:hover .border-bottom {
  transition-delay: calc(var(--transition-delay) * 2);
}

.menu a:hover .border-left {
  transition-delay: calc(var(--transition-delay) * 3);
}


/* ANIMACIONES
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.menu[data-animation="diagonal"] .border-left {
  transform-origin: top left;
}

.menu[data-animation="diagonal"] .border-right,
.menu[data-animation="diagonal"] .border-bottom {
  transform-origin: bottom right;
}

.menu[data-animation="diagonal"] a:hover [class^=border]{
  transition-delay: 0s;
}

.carousel-item span{
  display: block;
  width: 100%;
  height: 100vh;
  max-height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-item .descripcion{
position: absolute;
left: -370px;
bottom: -380px;
z-index: 9;
background-color: #fff;
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: 950px;
max-width: 100%;
display: inline-block;
vertical-align: middle;
height: 540px;
padding: 45px 90px 40px 75px;
font-size: 16px;
line-height: 27px;
transition: all .5s ease;
box-shadow: 9px -8px 15px 5px rgba(0,0,0,0.1);
overflow: scroll;
-ms-overflow-style: none; /* Internet Explorer 10+ */
scrollbar-width: none; /* Firefox 64 */
}
.carousel-item .descripcion::-webkit-scrollbar{
display: none;
}

.carousel-item .descripcion .open-icon,
.carousel-item .descripcion .close-icon{
  position: relative;
  top: -33px;
  left: calc(100% + 50px);;
  color:darkslategray;
  cursor: pointer;
  transition: .3s all ease-in-out;
}
.carousel-item .descripcion .open-icon:hover,
.carousel-item .descripcion .close-icon:hover{
transform: scale(1.3);
color: #dbd13f;
}
@media screen and (max-width: 768px){
.descripcion {
  visibility: hidden;
  left: 0!important;
  bottom: 0;
  width: 100%;
}
.carousel-item .descripcion .open-icon,
.carousel-item .descripcion .close-icon{
    left: 50%;
}
}
.carousel-item .descripcion h2{
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: bold;
}

.carousel-item .descripcion-full h2{
font-family: 'Montserrat', sans-serif;
font-size: 32px;
font-weight: bold;
margin-bottom: 46px;
}

.carousel-item .descripcion-full h5{
font-family: 'Montserrat', sans-serif;
font-size: 16px;
font-weight: bold;
margin-bottom: 0;
}

.carousel-item .descripcion-full p{
font-family: 'Lato', sans-serif;
font-size: 14px;
margin-bottom: 0;
color: #5a5a5a;
}
.carousel-item .descripcion-full p.texto-descripcion{
font-family: 'Lato', sans-serif;
font-size: 16px;
color: #5a5a5a;
}

/* Galeria proyectos */

.galeria h2, .galeria h5 {
font-family: 'Montserrat', sans-serif;
font-weight: bold;
}

.galeria h2 {
font-size: 32px;
}
.galeria h5 {
font-size: 16px;
}

/* Cards para proyectos */
.proyecto-card {
position: relative;
overflow: hidden;
border-radius: 0;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
transition: all 0.4s ease;
width: 100%;
height: 0;
padding-bottom: 69%;
}

.proyecto-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

.proyecto-card-img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}

.proyecto-card:hover .proyecto-card-img {
transform: scale(1.1);
}

.proyecto-card-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.8) 100%);
opacity: 0;
transition: opacity 0.4s ease;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 30px;
color: #fff;
}

.proyecto-card:hover .proyecto-card-overlay {
opacity: 1;
}

.proyecto-card-title {
font-family: 'Montserrat', sans-serif;
font-size: 24px;
font-weight: bold;
margin-bottom: 12px;
color: #fff;
transform: translateY(20px);
transition: transform 0.4s ease 0.1s;
}

.proyecto-card:hover .proyecto-card-title {
transform: translateY(0);
}

.proyecto-card-info {
font-family: 'Lato', sans-serif;
font-size: 14px;
line-height: 1.6;
margin-bottom: 8px;
color: #f2f2f2;
transform: translateY(20px);
opacity: 0;
transition: all 0.4s ease 0.2s;
}

.proyecto-card:hover .proyecto-card-info {
transform: translateY(0);
opacity: 1;
}

.proyecto-card-meta {
display: flex;
gap: 20px;
margin-top: 10px;
transform: translateY(20px);
opacity: 0;
transition: all 0.4s ease 0.3s;
}

.proyecto-card:hover .proyecto-card-meta {
transform: translateY(0);
opacity: 1;
}

.proyecto-card-meta-item {
font-family: 'Lato', sans-serif;
font-size: 13px;
display: flex;
align-items: center;
gap: 6px;
}

.proyecto-card-meta-item i {
color: #dbd13f;
font-size: 14px;
}

.galeria a h5 {
font-family: 'Montserrat', sans-serif;
font-size: 16px;
font-weight: bold;
margin-top: 16px;
color: #000;
transition: color 0.3s ease;
}

.galeria a:hover h5 {
color: #dbd13f;
}

/* Responsive para cards */
@media (max-width: 768px) {
.proyecto-card-overlay {
  padding: 20px;
}

.proyecto-card-title {
  font-size: 20px;
}

.proyecto-card-info {
  font-size: 13px;
}
}


/* Página proyecto individual */

.proyecto h2 {
font-family: 'Montserrat', sans-serif;
font-size: 32px;
font-weight: bold;
}

.proyecto h5 {
font-family: 'Montserrat', sans-serif;
font-size: 16px;
font-weight: bold;
margin-bottom: .25em;
}

.proyecto p{
font-size: 15px;
}
.proyecto .datos p{
font-size: 14px;
}

.proyecto-thumb img {
transition: 0.3s ease-in-out;
}

.proyecto-thumb img:hover {
box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
opacity: .9;
}

footer{
width: 100%;
background: #000;
}

footer p{
margin: 0;
color: #f2f2f2;
font-family: 'Montserrat', sans-serif;
font-size: 15px;
}

footer a{
  transition: .3s all ease-in-out;
}
footer a:hover{
  color: #dbd13f !important;
}

@media screen and (min-height: 978px){
.footer{
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

}

h2.titulo-atelier{
font-family: 'Montserrat', sans-serif;
font-size: 32px;
font-weight: bold;
}

p.descripcion-atelier {
font-family: 'Lato', sans-serif;
line-height: 27px;
color: #5a5a5a;
font-weight: 400;
}
.texto-atelier{
padding: 0 30px;
}

/* Team and About Page Styles */
.team-section {
padding-top: 100px;
}

.about-container {
margin-bottom: 30px;
}

.team-title, .contact-title {
font-family: 'Montserrat', sans-serif;
font-size: 32px;
font-weight: bold;
margin-bottom: 16px;
color: #000;
}

.team-subtitle, .contact-subtitle {
font-family: 'Lato', sans-serif;
font-size: 18px;
color: #5a5a5a;
max-width: 700px;
margin: 0 auto;
line-height: 1.6;
}

.team-content {
margin-top: 2rem;
}

.main-team-photo-container {
position: relative;
overflow: hidden;
border-radius: 8px;
box-shadow: 0 6px 20px rgba(0,0,0,0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.main-team-photo-container:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.main-team-photo {
width: 100%;
height: auto;
object-fit: cover;
border-radius: 8px;
transition: transform 0.5s ease;
}

.about-text {
font-family: 'Lato', sans-serif;
font-size: 16px;
color: #5a5a5a;
line-height: 1.8;
padding: 20px;
background-color: #fff;
border-radius: 8px;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}

.about-text p {
margin-bottom: 20px;
}

.about-text p:last-child {
margin-bottom: 0;
}

/* Contact Section Styles */
.contact-section {
padding: 60px 0;
background-color: #f8f8f8;
}

.contact-info {
background-color: #fff;
border-radius: 8px;
height: 100%;
box-shadow: 0 4px 16px rgba(0,0,0,0.05);
transition: transform 0.3s ease;
}

.contact-info:hover {
transform: translateY(-5px);
}

.contact-info h3,
.info-item h5 {
font-family: 'Montserrat', sans-serif;
font-weight: bold;
}

.contact-info h3 {
font-size: 24px;
border-bottom: 2px solid #dbd13f;
padding-bottom: 8px;
display: inline-block;
}

.info-item h5 {
font-size: 16px;
margin-bottom: 4px;
}

.info-item p {
font-family: 'Lato', sans-serif;
color: #5a5a5a;
line-height: 1.5;
}

.form-label {
font-family: 'Montserrat', sans-serif;
font-weight: 500;
font-size: 15px;
}

.form-control,
.form-select {
border: 1px solid #ddd;
border-radius: 4px;
padding: 10px 16px;
font-family: 'Lato', sans-serif;
transition: all 0.3s ease;
}

.form-control:focus,
.form-select:focus {
border-color: #dbd13f;
box-shadow: 0 0 0 0.25rem rgba(219, 209, 63, 0.2);
}

.btn-submit {
background-color: #000;
color: #fff;
font-family: 'Montserrat', sans-serif;
font-weight: 500;
padding: 10px 24px;
border: none;
border-radius: 4px;
transition: all 0.3s ease;
}

.btn-submit:hover {
background-color: #dbd13f;
color: #000;
transform: translateY(-2px);
}

.map-container {
border-radius: 8px;
overflow: hidden;
transition: transform 0.3s ease;
}

.map-container:hover {
transform: translateY(-3px);
}

.contact-form {
background-color: #fff;
border-radius: 8px;
box-shadow: 0 4px 16px rgba(0,0,0,0.05);
transition: transform 0.3s ease;
}

.contact-form:hover {
transform: translateY(-5px);
}

.input-focused label {
color: #dbd13f;
}

.form-check-input:checked {
background-color: #dbd13f;
border-color: #dbd13f;
}

.form-check-label {
font-family: 'Lato', sans-serif;
font-size: 14px;
color: #666;
}

/* Responsive styles */
@media (max-width: 991px) {
.team-section {
  padding-top: 80px;
}

.about-container {
  padding-top: 20px;
}

.team-content {
  flex-direction: column;
}

.main-team-photo-container {
  margin-bottom: 2rem;
}

.about-text {
  padding: 1.5rem;
}
}

@media (max-width: 767px) {
.team-section {
  padding-top: 80px;
}

.about-container {
  padding-top: 20px;
}

.footer {
  position: relative;
}
}

@media screen and (min-width: 980px){
.texto-atelier{
  padding: 1%;
}
}

@media screen and (min-width: 1200px){
.texto-atelier{
  padding: 4%;
}
}

@media screen and (min-width: 1400px){
.texto-atelier{
  padding: 6%;
}
}