/* SmileArt Locaties – v1.0.3 (site blue: #1891EE) */

/* Global font defaults */
.smileart-locs, .smileart-locs *{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  font-weight: 100;
  color: #000; /* zwarte tekst overal als basis */
}

/* Search */
.smileart-locs{ --gap:24px; }
.smileart-locs__search{
  margin-bottom: var(--gap);
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 100px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  padding: 8px 14px;
}
.smileart-locs__icon{
  width:22px; height:22px; flex:0 0 22px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%231891EE' stroke-width='2'/%3E%3Cpath d='M20 20l-4-4' stroke='%231891EE' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.smileart-locs__input{
  width:100%; padding:12px 12px;
  border:0 !important; outline:0 !important; background:transparent !important; color:#000 !important;
  border-radius: 100px;
  font-size:16px;
  -webkit-appearance: none;
  box-shadow: none !important;
}
.smileart-locs__input::placeholder{ color:#000 !important; opacity:1; }

/* Grid */
.smileart-locs__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gap);
}
@media (max-width: 1024px){
  .smileart-locs__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .smileart-locs__grid{ grid-template-columns: 1fr; }
}

/* Card */
.smileart-card{
  background:#fff;
  border-radius:20px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  overflow:hidden;
  display:flex; flex-direction:column;
}
.smileart-card__img{
  width:100%; height:auto; display:block;
  aspect-ratio: 16/9; object-fit:cover;
}
.smileart-card__body{ padding:16px 16px 18px; }

/* Title: Rubik Light 20px */
.smileart-card__title{
  margin:0 0 8px; font-size:20px;
  font-family: 'Rubik', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 300;
  color:#000 !important;
}

/* Address + openingstijden: Montserrat Thin in zwart */
.smileart-card__addr{ color:#000 !important; font-size:15px; line-height:1.6; margin-bottom:12px; }
.smileart-card__hours{ font-size:14px; color:#000 !important; }
.smileart-card__hours-row{ line-height:1.7; }
.smileart-card__hours-row strong{ font-weight:100; color:#000 !important; } /* override <strong> */

/* Button */
.smileart-card__cta{ margin-top:14px; }
.smileart-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 20px;
  border-radius:100px;
  background:#1891EE;
  color:#fff !important; text-decoration:none;
  font-family: 'Montserrat', sans-serif;
  font-weight:100; font-size:18px;
  transition: filter .2s ease, transform .02s ease;
}
.smileart-btn:hover{ filter: brightness(0.95); }
.smileart-btn:active{ transform: translateY(1px); }

/* Empty state */
.smileart-locs__empty{
  margin-top: 12px; color:#000 !important; font-style:italic;
}


/* v1.0.4 overrides */
.smileart-locs__search{
  border: 0 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  border-radius: 100px !important;
  padding: 8px 14px !important;
  display:flex; align-items:center; gap:10px;
  background:#fff;
}
.smileart-locs__input{
  border: 0 !important;
  outline: 0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#000 !important;
  font-family:'Montserrat', sans-serif !important;
  font-weight:100 !important;
  font-size:18px !important;
  line-height:27px !important;
  border-radius:100px;
}
.smileart-locs__input::placeholder{
  color:#000 !important;
  opacity:1 !important;
  font-family:'Montserrat', sans-serif !important;
  font-weight:100 !important;
  font-size:18px !important;
  line-height:27px !important;
}
/* Address & hours text */
.smileart-card__addr,
.smileart-card__hours,
.smileart-card__hours-row strong{
  color:#000 !important;
  font-family:'Montserrat', sans-serif !important;
  font-weight:100 !important;
  font-size:18px !important;
  line-height:27px !important;
}
/* Empty state */
.smileart-locs__empty{ color:#000 !important; }
/* Button label bold */
.smileart-btn{
  font-weight:700 !important;
  font-size:18px !important;
  line-height:18px !important;
}

/* v1.0.5 styling updates */
/* Kliniek titel */
.smileart-location-title {
    font-size: 25px !important;
    font-weight: 700 !important;
    font-family: 'Rubik', sans-serif !important;
}
/* Zoekveld, adres en openingstijden beter leesbaar */
.smileart-location-address,
.smileart-location-hours,
.smileart-locations-search input,
.smileart-locations-search input::placeholder {
    font-weight: 500 !important;
}
