/* =========================================================
   LOCATIES — hero-aligned + theme-proof (FAQ-logica)
   ✅ Startlijn gelijk aan hero (max-width:1400 + padding:0 30px)
   ✅ Altijd onder elkaar (flex/grid/float/zoom-proof)
   Styling blijft identiek, enkel container-uitlijning aangepast
========================================================= */

/* Force onderaan (werkt voor floats/flex/grid parents) */
.fxl-locations-wrap{
  display:block;
  width:100%;
  max-width:100%;
  clear:both;
  float:none;
  flex:0 0 100%;
  align-self:stretch;
  grid-column:1 / -1;
  box-sizing:border-box;
}

/* BASE */
.fxl-locations-block{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,Helvetica,sans-serif;
  color:#1E293B;
  background:none;

  /* ✅ nooit naast andere blocks */
  display:block;
  width:100%;
  max-width:100%;
  clear:both;
  float:none;
  flex:0 0 100%;
  box-sizing:border-box;
}

/* scoped container/inner */
.fxl-locations-block .fxl-container{
  padding:56px 0;

  /* extra safety */
  display:block;
  width:100%;
  max-width:100%;
  clear:both;
  float:none;
  flex:0 0 100%;
  box-sizing:border-box;
}

/* ✅ HERO STARTLIJN */
.fxl-locations-block .fxl-inner{
  width:100%;
  max-width:1280px;   /* hero */
  margin:0 auto;
  padding:0 30px;     /* hero */
  box-sizing:border-box;
}

/* (optioneel) “rustige” contentbreedte zoals vroeger (1200), maar links uitgelijnd */
.fxl-locations-block .fxl-content{
  max-width:1280px;
  margin:0;           /* NIET auto */
}

/* Titel + intro */
.fxl-locations-block .fxl-h2{
  font-size:28px;
  font-weight:900;
  margin:0 0 8px;

  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
.fxl-locations-block .fxl-h2::before,
.fxl-locations-block .fxl-h2::after{
  content:none !important;
  display:none !important;
}

.fxl-locations-block .fxl-intro{
  margin:0 0 24px;
  color:#475569;
  font-weight:700;
  max-width:680px;

  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* =========================================================
   GRID
========================================================= */
.fxl-locations-block .fxl-location-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  max-width:820px;
  width:100%;
}

/* =========================================================
   CARD
========================================================= */
.fxl-locations-block .fxl-location-card{
  border:1px solid rgba(30,41,59,.12);
  border-radius:18px;
  background:#fff;
  padding:20px;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  transition:transform .15s ease, box-shadow .15s ease;

  outline:0 !important;
}
.fxl-locations-block .fxl-location-card::before,
.fxl-locations-block .fxl-location-card::after{
  content:none !important;
  display:none !important;
}
.fxl-locations-block .fxl-location-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(15,23,42,.08);
}

/* head */
.fxl-locations-block .fxl-location-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 10px;
}

/* thumb */
.fxl-locations-block .fxl-location-thumb{
  width:56px;
  height:56px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid rgba(30,41,59,.12);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  background:#fff;
  flex:0 0 auto;

  outline:0 !important;
}

/* h3 */
.fxl-locations-block .fxl-h3{
  margin:0;
  font-size:18px;
  font-weight:900;
  line-height:1.15;

  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* address */
.fxl-locations-block .fxl-address{
  margin:0 0 10px;
  font-weight:800;
  color:#334155;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* meta */
.fxl-locations-block .fxl-meta{
  margin:0 0 14px;
  font-size:14px;
  font-weight:700;
  color:#475569;
  line-height:1.45;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* link */
.fxl-locations-block .fxl-location-link{
  font-weight:900;
  font-size:15px;
  color:#1E293B !important;
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:2px 0;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  border-radius:0 !important;
}
.fxl-locations-block .fxl-location-link::before,
.fxl-locations-block .fxl-location-link::after{
  content:none !important;
  display:none !important;
}
.fxl-locations-block .fxl-location-link > span{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  text-decoration:none !important;
}
.fxl-locations-block .fxl-location-link:hover{ opacity:.9; }
.fxl-locations-block .fxl-location-link:focus-visible{
  outline:none;
  border-radius:10px;
  box-shadow:0 0 0 3px rgba(15,41,64,.18);
}

/* responsive */
@media(max-width:700px){
  .fxl-locations-block .fxl-location-grid{ grid-template-columns:1fr; }

  /* ✅ hero-consistent: behoud 30px padding (zoals hero) */
  .fxl-locations-block .fxl-inner{ padding:0 30px; }

  .fxl-locations-block .fxl-container{ padding:44px 0; }
}
