/* RESET Y BODY */
* { margin: 0; padding: 0; box-sizing: border-box; }

:root{
  --bg: #F0EEEC;
  --muted: #B9B6B3;
  --text: #525151;
  --sub: #69696a;
  --accent: #767371;
}


.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  left: 16px;
  top: 16px;
  width: auto;
  height: auto;
  background: #000;
  color: #fff;
  padding: 8px 12px;
  z-index: 9999;
  border-radius: 4px;
}


html { font-size: 16px; background: var(--bg); color: #333; }
body { font-family: 'Roboto', Arial, sans-serif; background: var(--bg); color: #333; line-height: 1.6; }

h1,h2,h3,h4 { color: var(--text); font-weight: 500; margin-bottom: 10px; }
p { font-size: 1rem; color: #444; margin-bottom: 1em; }
a { color: var(--text); transition: color .2s ease; }
a:hover, a:focus { color: #000; outline: none; }


.container {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

/* ====================================== */
/* HERO CONTACTO */
/* ====================================== */

.hero-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px 0 8px;
}
.hero-contact-text h1 {
  font-size: 20px;
  margin-bottom: 8px;
  font-weight: 700;
  color: #767371;
}
.hero-contact-text p {
  font-size: 15px;
  color: var(--sub);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}


.contact-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  width: 560px;
  gap: 6px 12px;
  justify-content: center;
  margin: 6px auto 8px;
  align-items: center;
  padding: 6px 0;
}

.contact-item .value {
  font-size: 14px;
  color: #3f3f3f;
}

.contact-item.address { text-align: left; }
.contact-item.phone { text-align: center; }
.contact-item.email { text-align: right; }


.contact-item.phone .phone-strong a {
  font-size: 16px;
  font-weight: 700;
  color: #222;
  text-decoration: none;
}


.map {
  padding: 8px 0 30px;
  display: flex;
  justify-content: center;
}
.map iframe {
  filter: grayscale(100%);
  height: 240px;
  width: 640px;
  max-width: 100%;
  border-radius: 8px;
  border: 0;
}

/* FOOTER */
.footer {
  color:#B9B6B3;
  padding-top: 30px;
  padding-bottom: 30px;
  text-align:center;
}
.footer p {  font-size:14px; color:#B9B6B3;}
.footer-links {
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}
.footer-links a {
  color:#B9B6B3;
  text-decoration:none;
  font-size:14px;
}

/* =========================== */
/* RESPONSIVE */
/* =========================== */

@media (max-width: 767px) {

  .container { padding: 0 8px; }
  .hero-contact { padding: 28px 8px; }
  .hero-contact-text h1 { font-size: 22px; }

  .contact-grid {
    grid-template-columns: 1fr;
    width: auto;
    gap: 12px;
    padding: 12px 6px;
  }

  .contact-item,
  .contact-item.address,
  .contact-item.phone,
  .contact-item.email {
    text-align: left;
    justify-self: stretch;
  }

  .contact-item.phone .phone-strong a {
    display: inline-block;
    text-align: left;
  }

  .map iframe { height: 220px; width: 95%; }
}

/* TABLET */
@media (min-width: 768px) and (max-width: 1100px) {
  .container { max-width: 820px; }

  .contact-grid {
    width: 520px;
    grid-template-columns: 1fr 200px 1fr;
  }

  .map iframe { width: 100%; height: 220px; }
}

/* ESCRITORIO */
@media (min-width: 1101px) {
  .container { max-width: 980px; }
}

/* FOOTER ESCRITORIO */
@media (min-width: 929px) {
  .footer-content {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:60px;
  }
}
