/* =========================================================
   EUROSOFÁ · TIENDAS Y HORARIOS
   Compatible con [eurosofa_contact_form] y [eurosofa_stores]
   ========================================================= */

.escrm-contact-section{
  --escrm-blue:#123f78;
  --escrm-blue-dark:#071d37;
  --escrm-blue-soft:#edf4fb;
  --escrm-orange:#ef6c22;
  --escrm-muted:#687383;
  --escrm-line:#dfe5eb;
  --escrm-shadow:0 24px 70px rgba(7,29,55,.14);

  position:relative;
  display:block;
  width:100%;
  margin:0;
  padding:72px 0;
  overflow:hidden;
  color:#17202b;
  background:
    radial-gradient(circle at 8% 15%,rgba(239,108,34,.12),transparent 28%),
    radial-gradient(circle at 92% 80%,rgba(18,63,120,.10),transparent 30%),
    var(--escrm-blue-soft);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.escrm-contact-section,
.escrm-contact-section *,
.escrm-contact-section *::before,
.escrm-contact-section *::after{
  box-sizing:border-box;
}

.escrm-shell{
  width:min(1400px,calc(100% - 40px));
  margin:0 auto;
}

.escrm-stores-showcase{
  padding:38px;
  border:1px solid rgba(18,63,120,.10);
  border-radius:30px;
  background:#fff;
  box-shadow:var(--escrm-shadow);
}

.escrm-stores-showcase-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  gap:24px 34px;
  align-items:end;
  margin-bottom:28px;
}

.escrm-stores-kicker{
  display:inline-flex;
  margin:0 0 10px;
  color:var(--escrm-orange);
  font-family:"Nunito","Inter",sans-serif;
  font-size:12px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.escrm-stores-showcase h2{
  margin:0;
  color:var(--escrm-blue-dark);
  font-family:"Nunito","Inter",sans-serif;
  font-size:clamp(30px,3vw,44px);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.04em;
}

.escrm-stores-showcase-head p{
  margin:0;
  color:var(--escrm-muted);
  font-size:16px;
  line-height:1.65;
}

.escrm-stores-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

.escrm-store-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--escrm-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(7,29,55,.08);
}

.escrm-store-photo{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#e8eef5;
}

.escrm-store-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.escrm-store-photo-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:linear-gradient(135deg,#eaf1f8 0%,#dce6f1 100%);
}

.escrm-store-photo-placeholder span{
  color:var(--escrm-blue);
  font-family:"Nunito","Inter",sans-serif;
  font-size:20px;
  font-weight:800;
  line-height:1.25;
  text-align:center;
}

.escrm-store-card-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:20px 20px 22px;
}

.escrm-store-card-top{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.escrm-store-card-top h3{
  margin:0;
  color:var(--escrm-blue-dark);
  font-family:"Nunito","Inter",sans-serif;
  font-size:21px;
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.02em;
}

.escrm-store-phone{
  display:inline-flex;
  align-items:center;
  width:max-content;
  color:var(--escrm-orange);
  font-size:15px;
  font-weight:800;
  line-height:1.3;
  text-decoration:none;
}

.escrm-store-phone:hover,
.escrm-store-phone:focus{
  text-decoration:underline;
}

.escrm-store-hours-lines{
  display:grid;
  gap:6px;
}

.escrm-store-hours-lines span{
  display:block;
  color:#425062;
  font-size:14px;
  line-height:1.55;
}

.escrm-store-hours-lines .escrm-store-hours-day{
  color:inherit;
  font-weight:800;
}

@media (max-width:1050px){
  .escrm-stores-showcase-head{
    grid-template-columns:1fr;
    gap:14px;
  }

  .escrm-stores-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px){
  .escrm-contact-section{
    padding:54px 0;
  }

  .escrm-shell{
    width:calc(100% - 24px);
  }

  .escrm-stores-showcase{
    padding:24px 16px;
    border-radius:24px;
  }

  .escrm-stores-showcase h2{
    font-size:31px;
  }

  .escrm-stores-showcase-head p{
    font-size:15px;
  }

  .escrm-stores-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .escrm-store-card{
    border-radius:18px;
  }

  .escrm-store-card-body{
    padding:16px 14px 18px;
  }

  .escrm-store-card-top h3{
    font-size:17px;
  }

  .escrm-store-phone{
    font-size:14px;
  }

  .escrm-store-hours-lines{
    gap:5px;
  }

  .escrm-store-hours-lines span{
    font-size:13px;
    line-height:1.5;
  }
}
