/* ═══════════════════════════════════════
   KAMATO – KMT  |  styles.css
   Fuente: Barlow Condensed (titulos) + Barlow (texto)
═══════════════════════════════════════ */

:root {
  --orange:   #F07C00;
  --orange-h: #D96E00;
  --dark:     #120900;
  --beige:    #F5EFE6;
  --text:     #1a1a1a;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Barlow', sans-serif;
  color: var(--text);
}

/* ─── NAVBAR ───────────────────────────── */
#navbar {
  background: transparent;
}
#navbar.scrolled {
  background: rgba(18, 9, 0, 0.95);
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 20px rgba(0,0,0,0.4);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

/* ─── HERO ───────────────────────────── */
.hero-bg {
  transform: scale(1.04);
  animation: heroZoom 8s ease-out forwards;
}
@keyframes heroZoom {
  from { transform: scale(1.04); }
  to   { transform: scale(1); }
}

.hero-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: 0.92;
  letter-spacing: -0.01em;
  animation: fadeUp 0.9s ease both;
}

.hero-title + p {
  animation: fadeUp 0.9s 0.2s ease both;
}
.hero-title ~ a {
  animation: fadeUp 0.9s 0.4s ease both;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─── SECTION TITLES ─────────────────── */
.section-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  line-height: 1;
  letter-spacing: -0.01em;
}

/* ─── OBRAS ──────────────────────────── */
.obra-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
}

.obra-img-container {
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
  transition: box-shadow 0.3s ease;
}
.obra-img-container:hover {
  box-shadow: 0 20px 60px rgba(0,0,0,0.22);
}

/* placeholder when image fails */
.img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e5e7eb;
  color: #9ca3af;
  font-size: 0.85rem;
}
.img-placeholder::after {
  content: 'Imagen no disponible';
}
.img-placeholder img {
  display: none;
}

/* ─── SLIDER ─────────────────────────── */
.obras-slider {
  position: relative;
}
#slider-track {
  will-change: transform;
}

.dot {
  transition: background 0.2s, transform 0.2s;
}
.dot.active {
  background: #F07C00;
  transform: scale(1.3);
}

/* ─── SERVICIOS ──────────────────────── */
.service-img {
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  overflow: hidden;
}

/* ─── CONTACT ────────────────────────── */
.contact-bg {
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}

/* SVG map lines pattern */
.map-pattern {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='30' y='30' width='80' height='60'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='130' y='20' width='100' height='80'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='250' y='40' width='70' height='50'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='20' y='120' width='90' height='70'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='140' y='130' width='60' height='90'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='230' y='110' width='100' height='60'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='60' y='220' width='80' height='55'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='160' y='240' width='120' height='70'/%3E%3Crect fill='none' stroke='%23a0622a' stroke-width='1' x='300' y='200' width='70' height='80'/%3E%3Cline x1='0' y1='110' x2='400' y2='130' stroke='%23c47a3a' stroke-width='2.5'/%3E%3Cline x1='0' y1='320' x2='400' y2='300' stroke='%23c47a3a' stroke-width='2'/%3E%3Cline x1='120' y1='0' x2='140' y2='400' stroke='%23c47a3a' stroke-width='2'/%3E%3Cline x1='290' y1='0' x2='310' y2='400' stroke='%23c47a3a' stroke-width='1.5'/%3E%3C/svg%3E");
  background-size: 400px 400px;
}

.contact-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: 0.9;
  text-transform: uppercase;
}

/* form inputs underline animation */
.form-field input,
.form-field textarea {
  transition: border-color 0.25s ease;
}

/* ─── FOOTER ─────────────────────────── */
footer a {
  transition: color 0.2s ease;
}

/* ─── BUTTONS ────────────────────────── */
.btn-primary {
  position: relative;
  overflow: hidden;
  transition: background 0.2s, transform 0.15s;
}
.btn-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.12);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}
.btn-primary:hover::after {
  transform: translateX(0);
}

/* ─── SCROLL REVEAL ──────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* ─── MOBILE ─────────────────────────── */
@media (max-width: 768px) {
  .hero-title {
    font-size: clamp(2.8rem, 14vw, 4rem);
  }
  #slide-next, #slide-prev {
    width: 2.5rem;
    height: 2.5rem;
  }
}
