/*
Theme Name: Astra Child - Limpiezas Merlin
Template: astra
Version: 1.0.0
Description: Tema hijo de Astra para Limpiezas Merlin.
Text Domain: astra-child-merlin
*/

/* Barra superior */
.merlin-topbar { background:#164b91; color:#fff; }
.merlin-topbar__inner { max-width:1200px; margin:auto; padding:9px 20px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 32px; font-size:13px; line-height:1.5; }
.merlin-topbar a { color:#fff; text-decoration:none; }
.merlin-topbar a:hover { color:#d8eaff; }
.merlin-topbar__item { display:inline-flex; align-items:center; gap:8px; }
.merlin-topbar__item svg { width:15px; height:15px; stroke:#a7dcff; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
@media(max-width:600px) { .merlin-topbar__inner { padding:8px 12px; gap:5px 16px; font-size:12px; } .merlin-topbar__hours { flex-basis:100%; justify-content:center; } }
  flex: 0 1 calc((100% - 44px) / 3);
  min-width: 0;
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.045);
  transition: transform .2s ease, box-shadow .2s ease;
}
.merlin-servicios-cabecera {
    margin-top: 40px !important;
}
.merlin-servicio-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(0,0,0,.1); }
.merlin-servicio-card img { display: block; width: 100%; height: 175px; object-fit: cover; border-radius: 0; }
.merlin-servicio-card-contenido { padding: 20px; }
.merlin-servicio-card h3 { font-size: 18px; line-height: 1.35; font-weight: 600; color: #24364b; margin: 0 0 10px; }
.merlin-servicio-card p { font-size: 14px; line-height: 1.6; color: #667085; margin: 0 0 16px; }
.merlin-servicio-card span { font-size: 13px; font-weight: 600; color: #2856bc; }
.merlin-servicio-card:hover span { color: #163c91; }

/* PORTADA — TEXTO Y MAPA */
.merlin-contenido { padding: 35px 0 20px; }
.merlin-contenido h2, .merlin-ubicacion h2 { margin: 0 0 15px; }
.merlin-contenido p { margin: 0 0 20px; }
.merlin-ubicacion { padding: 10px 0 45px; }
.merlin-google-maps { width: 100%; height: 450px; overflow: hidden; }
.merlin-google-maps iframe { display: block; width: 100%; height: 100%; border: 0; }

/* COMUNIDADES */
.merlin-comunidades-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 25px; }
.merlin-comunidades-item { min-width: 0; padding-bottom: 10px; }
.merlin-comunidades-item img { margin-bottom: 15px; }
.merlin-comunidades-item p { margin: 0; }

/* CRISTALES */
.merlin-cristales-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 25px; }
.merlin-cristales-item { min-width: 0; }
.merlin-comunidades .merlin-cristales-item h3 { margin: 0 0 18px; }

/* GARAJES, LOCALES Y OFICINAS */
.merlin-garajes-imagen { margin-bottom: 28px; }
.merlin-garajes-servicios { border-top: 1px solid #eee; padding-top: 15px; }
.merlin-garajes-servicios ul, .merlin-quienes-info ul { list-style-type: square; margin: 15px 0 25px; }
.merlin-garajes-servicios ul { padding-left: 30px; }
.merlin-garajes-servicios li, .merlin-quienes-info li { margin-bottom: 3px; }
.merlin-oficinas .merlin-garajes-servicios { border-top: 0; padding-top: 0; }
.merlin-oficinas h2 { margin: 15px 0 8px; }

/* FIN DE OBRA */
.merlin-fin-obra-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; align-items: start; }
.merlin-fin-obra-texto, .merlin-fin-obra-foto { min-width: 0; }
.merlin-fin-obra-texto p { margin-bottom: 22px; }

/* QUIÉNES SOMOS — FOTOGRAFÍAS Y CONTENIDO */
.merlin-quienes-coche { display: block; width: 85%; max-width: 650px; height: auto; margin: 28px 0; }
.merlin-quienes-fachada { margin: 40px 0 25px; }
.merlin-quienes-info { display: grid; grid-template-columns: 1fr 1.6fr; gap: 30px; margin-top: 20px; }
.merlin-quienes-info > div { min-width: 0; }
.merlin-quienes-info ul { padding-left: 25px; }
.merlin-quienes-contacto { margin: 20px 0 25px !important; }
.merlin-quienes-galeria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 25px; }

/* QUIÉNES SOMOS — VALORES CON SVG */
.merlin-quienes-valores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 25px; }
.merlin-valor {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px 8px;
  background: #f0f5fc;
  border: 1px solid #e3ecfa;
  border-radius: 10px;
  text-align: center;
}
.merlin-valor svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: #4168cf;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.merlin-valor span { font-size: 12px; font-weight: 600; color: #34445c; line-height: 1.4; }

/* RESPONSIVE */
@media (max-width: 900px) {
  .merlin-quienes-info { grid-template-columns: 1fr; gap: 15px; }
  .merlin-servicio-card { flex-basis: calc((100% - 22px) / 2); }
}
@media (max-width: 767px) {
  .merlin-intro { grid-template-columns: 1fr; gap: 25px; padding-top: 25px; }
  .merlin-mapa-provincia { max-width: 220px; }
  .merlin-google-maps { height: 350px; }
  .merlin-cristales-grid { grid-template-columns: 1fr; gap: 30px; }
  .merlin-cristales-item img { max-width: 400px; }
  .merlin-fin-obra-grid { grid-template-columns: 1fr; gap: 20px; }
  .merlin-fin-obra-foto img { max-width: 450px; }
}
@media (max-width: 600px) {
  .merlin-servicios-nuevos { padding: 35px 0 45px; }
  .merlin-servicio-card { flex-basis: 100%; }
  .merlin-servicio-card img { height: 190px; }
  .merlin-comunidades-grid { grid-template-columns: 1fr; gap: 30px; }
  .merlin-comunidades-item img { margin-bottom: 12px; }
  .merlin-quienes-coche { width: 100%; }
  .merlin-quienes-valores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .merlin-quienes-galeria { grid-template-columns: 1fr; }
}

/* HOME - BLOQUE SUPERIOR */

.merlin-home .merlin-intro {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(230px, 1fr);
  gap: 30px;
  align-items: start;
}

.merlin-home .merlin-intro-principal,
.merlin-home .merlin-lateral {
  min-width: 0;
}

.merlin-home .merlin-foto-principal {
  display: block;
  width: 100%;
  height: auto;
}

.merlin-home .merlin-lateral {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* MÓVIL */
@media (max-width: 767px) {
  .merlin-home .merlin-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
  }
}

/* HOME - CUADRÍCULA DE SERVICIOS */

.merlin-home .merlin-servicios-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 22px;
}

.merlin-home .merlin-servicio-card {
  display: block;
  flex: 0 1 calc((100% - 44px) / 3);
  min-width: 0;
  background: #fff;
  border: 1px solid #e8edf3;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.045);
  transition: transform .2s ease, box-shadow .2s ease;
}

.merlin-home .merlin-servicio-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,.1);
}

.merlin-home .merlin-servicio-card img {
  display: block;
  width: 100%;
  height: 175px;
  object-fit: cover;
  border-radius: 0;
}

.merlin-home .merlin-servicio-card-contenido {
  padding: 20px;
}

.merlin-home .merlin-servicio-card h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: #24364b;
  margin: 0 0 10px;
}

.merlin-home .merlin-servicio-card p {
  font-size: 14px;
  line-height: 1.6;
  color: #667085;
  margin: 0 0 16px;
}

.merlin-home .merlin-servicio-card span {
  font-size: 13px;
  font-weight: 600;
  color: #2856bc;
}

/* TABLET */
@media (max-width: 900px) {
  .merlin-home .merlin-servicio-card {
    flex-basis: calc((100% - 22px) / 2);
  }
}

/* MÓVIL */
@media (max-width: 600px) {
  .merlin-home .merlin-servicio-card {
    flex-basis: 100%;
  }

  .merlin-home .merlin-servicio-card img {
    height: 190px;
  }
}

.merlin-home .merlin-btn-presupuesto {
  display: inline-block;
  padding: 12px 20px;
  background: #263cba;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  border-radius: 4px;
}

.merlin-home .merlin-btn-presupuesto:hover {
  background: #182b90;
}

.ast-desktop .main-header-menu > .menu-item:not(:last-child) > .menu-link:hover::after,
.ast-desktop .main-header-menu > .current-menu-item:not(:last-child) > .menu-link::after {
  transform: scaleX(1);
}

/* Último elemento: botón de contacto */
.ast-desktop .main-header-menu > .menu-item:last-child > .menu-link {
  background: #2450ba;
  color: #fff;
  border-radius: 6px;
  padding: 0 20px;
  height: 42px;
  margin-left: 12px;
  align-self: center;
}

.ast-desktop .main-header-menu > .menu-item:last-child > .menu-link:hover {
  background: #193b91;
  color: #fff;
}
.ast-primary-header-bar {
        border-bottom-width: 0px;
}
.ast-builder-menu-mobile.ast-builder-menu.ast-builder-menu-mobile-focus-item.ast-builder-layout-element.site-header-focus-item {
    border: 1px solid #164b91;
}