/* ===== GLOBAL ===== */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: Arial, sans-serif; line-height: 1.6; color: #222; background: #fff8f0; }

/* ===== HEADER ===== */
header { display: flex; justify-content: space-between; align-items: center; padding: 15px 5%; background: #fff; box-shadow: 0 3px 10px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 1000; }
.logo img { height: 50px; }
nav ul { list-style: none; display: flex; gap: 25px; }
nav a { text-decoration: none; color: #333; font-weight: 500; transition: color 0.3s; }
nav a:hover { color: #f57c00; }
.lang-switch button { background: none; border: none; cursor: pointer; font-weight: bold; color: #f57c00; }

/* ===== HERO ===== */
.hero { text-align: center; padding: 100px 20px; background: linear-gradient(135deg, #fff5e6, #ffe0b2); border-radius: 12px; margin: 20px 5%; }
.hero h1 { font-size: 2rem; margin-bottom: 15px; color: #b26a00; }
.hero p { font-size: 1.2rem; color: #663c00; }

/* ===== CONTENT ===== */
.content { padding: 40px 10%; max-width: 1200px; margin: 0 auto; }
.content h2 { font-size: 1.8rem; margin-bottom: 20px; color: #b26a00; }
.content p, .content li { margin-bottom: 15px; }

/* ===== SERVICES ===== */
.services-section {
    padding: 60px 10%;
    background-color: #fefcf7;
}
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}
.service-card {
    background-color: white;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}
.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.service-card h3 { font-size: 1.3rem; margin-bottom: 15px; color: #333; }
.service-card p { font-size: 1rem; color: #555; line-height: 1.5; }

/* ===== GALLERY (merged & working) ===== */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
  overflow: hidden;
  max-height: 0;            /* hidden initially */
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.8s ease;
}

.gallery-grid.show {
  max-height: 5000px;       /* large enough to show all fotos */
  opacity: 1;
  transform: translateY(0);
}

.gallery-grid a { display: block; }
.gallery-grid img {
  width: 100%;
  border-radius: 10px;
  display: block;
  transition: transform 0.3s ease;
}
.gallery-grid img:hover { transform: scale(1.03); }

/* ===== VIDEO ===== */
.video-section { text-align: center; background: #fff3e6; padding: 50px 20px; border-radius: 12px; margin-top: 40px; }
.video-section video { width: 100%; max-width: 600px; margin-bottom: 20px; border-radius: 10px; box-shadow: 0 3px 15px rgba(0,0,0,0.15); }

/* ===== FOOTER ===== */
footer { text-align: center; padding: 30px 0; background: #b26a00; color: white; font-size: 0.9rem; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .hero { padding: 70px 15px; }
    .hero h1 { font-size: 1.6rem; }
    .hero p { font-size: 1rem; }
    nav ul { flex-direction: column; gap: 10px; margin-top: 10px; }
    header { flex-direction: column; align-items: flex-start; }
}

/* ===== UTIL ===== */
.hidden { display: none !important; }
