
body{font-family:Montserrat,sans-serif;margin:0;background:#f4f6f8;color:#333}
nav{background:#061423;padding:15px}
nav ul{list-style:none;display:flex;gap:30px;margin:0}
nav a{color:#fff;text-decoration:none;font-weight:600}

header{background:linear-gradient(135deg,#061423,#0b2f4a,#061423);color:#fff;padding:30px 5px}
.header-container{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.header-logo img{width:220px}

.carousel{overflow:hidden}
.carousel-track{display:flex;animation:slide 25s infinite}
.carousel-track img{width:100%;flex-shrink:0}


20%{transform:translateX(0)}
25%{transform:translateX(-100%)}
45%{transform:translateX(-100%)}
50%{transform:translateX(-200%)}
70%{transform:translateX(-200%)}
75%{transform:translateX(-300%)}
95%{transform:translateX(-300%)}
100%{transform:translateX(-400%)}
}

section{max-width:1200px;margin:auto;padding:70px 20px}
.intro{text-align:justify}
.service-block{margin-top:30px}
.service-block h3{color:#061423}

.gallery{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:40px}
.gallery img{width:250px;height:275px;object-fit:cover}

.full-width-image img{width:100%;display:block}

footer{background:#061423;color:#fff;text-align:center;padding:20px}
footer a{color:#c9b36a;text-decoration:none}

.conocenos-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:40px;
margin-bottom:50px;
}
.conocenos-grid h3{
color:#061423;
margin-bottom:10px;
}


.carousel{overflow:hidden}
.carousel-track{
display:flex;
width:500%;
animation:slide 30s infinite;
}
.carousel-track img{
width:100vw;
flex-shrink:0;
object-fit:cover;
}


.carousel{position:relative}
.carousel-btn{
position:absolute;
top:50%;
transform:translateY(-50%);
background:rgba(0,0,0,0.5);
color:#fff;
border:none;
font-size:28px;
padding:10px 14px;
cursor:pointer;
z-index:10;
}
.carousel-btn.prev{left:20px}
.carousel-btn.next{right:20px}
.carousel-btn.pause{
top:20px;
right:20px;
transform:none;
font-size:18px;
}


.carousel{width:100%;background:#000}
.carousel-viewport{position:relative;overflow:hidden;width:100%;height:520px}
.carousel-track{
display:flex;
height:100%;
transition:transform .6s ease-in-out;
}
.carousel-track img{
width:100%;
height:100%;
object-fit:cover;
flex-shrink:0;
}

.carousel-btn{
position:absolute;
background:rgba(0,0,0,.5);
color:#fff;
border:none;
font-size:28px;
padding:12px 16px;
cursor:pointer;
z-index:10;
}
.carousel-btn.prev{left:20px;top:50%;transform:translateY(-50%)}
.carousel-btn.next{right:20px;top:50%;transform:translateY(-50%)}
.carousel-btn.pause{top:20px;right:20px;font-size:18px}

@media(max-width:768px){
.carousel-viewport{height:320px}
}


.carousel{
width:100%;
background:#fff;
}

.carousel-viewport{
position:relative;
overflow:hidden;
width:100%;
height:520px;
background:#fff;
}

.carousel-track{
display:flex;
height:100%;
transition:transform .6s ease-in-out;
}

.carousel-track img{
width:100%;
height:100%;
object-fit:cover;
flex-shrink:0;
}


.carousel-indicators{
position:absolute;
bottom:15px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:10px;
z-index:10;
}

.carousel-indicators span{
width:12px;
height:12px;
border-radius:50%;
background:#ccc;
cursor:pointer;
}

.carousel-indicators span.active{
background:#1b3b5f;
}


.carousel{
    width:100%;
    background:#fff;
}

.carousel-wrapper{
    position:relative;
    width:100%;
    max-width:1200px;
    height:420px;
    margin:0 auto;
    overflow:hidden;
}

.carousel-track{
    display:flex;
    height:100%;
    transition:transform .5s ease;
}

.carousel-track img{
    width:100%;
    height:100%;
    object-fit:contain;
    flex-shrink:0;
    background:#fff;
}

.ctrl{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,.5);
    color:#fff;
    border:none;
    padding:12px 16px;
    cursor:pointer;
    font-size:24px;
    z-index:10;
}

.ctrl.prev{left:10px}
.ctrl.next{right:10px}
.ctrl.pause{
    top:15px;
    right:50%;
    transform:translateX(50%);
}

@media(max-width:768px){
    .carousel-wrapper{height:260px}
}

/* ===== NEW CLEAN CAROUSEL ===== */
.carousel{
  width:100%;
  background:#fff;
  padding:20px 0;
}

.carousel-container{
  position:relative;
  width:100%;
  max-width:1100px;
  height:420px;
  margin:0 auto;
  overflow:hidden;
}

.carousel-slides{
  display:flex;
  width:100%;
  height:100%;
  transition:transform .45s ease-in-out;
}

.carousel-slides img{
  width:100%;
  height:100%;
  flex:0 0 100%;
  object-fit:contain;
  background:#fff;
}

/* Controls */
.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,.6);
  color:#fff;
  border:none;
  padding:10px 14px;
  font-size:22px;
  cursor:pointer;
  z-index:5;
}

.carousel-btn.prev{left:10px}
.carousel-btn.next{right:10px}

@media(max-width:768px){
  .carousel-container{height:260px}
}

/* ===== RESTORE GLOBAL HORIZONTAL MARGINS ===== */
section{
  padding-left: 24px;
  padding-right: 24px;
}

@media(min-width: 1024px){
  section{
    padding-left: 40px;
    padding-right: 40px;
  }
}

.map-container{
  display:flex;
  justify-content:center;
  margin-top:20px;
}

/* ===== CONTACTO DOS COLUMNAS ===== */
.contacto-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:30px;
  align-items:flex-start;
}

.contacto-datos p{
  font-size:16px;
  line-height:1.6;
}

@media(max-width: 900px){
  .contacto-grid{
    grid-template-columns: 1fr;
  }
}

/* Footer */
footer {
    background-color: var(--azul-marino);
    color: var(--blanco);
    padding: 40px 0 20px;
    text-align: center;
    border-radius: var(--radio-borde) var(--radio-borde) 0 0;
    margin-top: 40px;
}
        
.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
        
/* Estilos básicos para los iconos */
.social-container {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 12px;
    max-width: 600px;
    margin: 20px auto;
}
    
.social-title {
    color: #0a2463;
    text-align: center;
    margin-bottom: 20px;
}
        
    /* Estilos de los iconos de redes sociales */
        .social-links {
            display: flex;
            gap: 20px;
            margin-top: 15px;
        }
        
        .social-links a {
            color: var(--blanco);
            font-size: 1.5rem;
            transition: var(--transicion);
        }
        
        .social-links a:hover {
            color: var(--naranja-suave);
            transform: translateY(-3px);
        }
        
        .copyright {
            margin-top: 30px;
            padding-top: 20px;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            font-size: 0.9rem;
            color: var(--gris-medio);
            width: 100%;
        }
        
        /* Responsive */
        @media (max-width: 600px) {
            .social-links {
                gap: 15px;
            }
            
            .social-link {
                width: 45px;
                height: 45px;
                font-size: 1.3rem;
            }
        }


        
