.cfp-served-list{margin:.25rem 0 0;padding:0;list-style:none}
.cfp-served-item{display:inline-flex;align-items:center;gap:6px;margin-right:12px;margin-bottom:6px}
.cfp-pin{line-height:1;display:inline-flex;align-items:center}
.cfp-served-text{line-height:1.35}
.cfp-served-list{display:flex;flex-wrap:wrap}
.cfp-served-item{align-items:center}
.cfp-served-icon{display:inline-flex;align-items:center;line-height:1}
.cfp-served-name{line-height:1.35}

/* Stack centres vertically and add gap */
.cfp-served{margin-top:10px}
.cfp-types + .cfp-served{margin-top:10px}
/* Stack only school list items vertically */
.cfp-served-list{display:block}
.cfp-served-item{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.cfp-types + .cfp-served{margin-top:10px}


/* Mobile tweaks */
@media (max-width: 767px){
  /* Tighten care types wrapping rows */
  .cfp-types{margin-bottom:6px}
  .cfp-types .cfp-badge{margin-bottom:4px}
  .cfp-badges{display:flex;flex-wrap:wrap;gap:4px 16px}

  /* Light dividers - same colour as card border, inset left-right */
  .cfp-divider{height:1px;background:rgba(0,0,0,0.08); /* fallback */}
  .cfp-card{position:relative}
  .cfp-mobile-rule{height:1px;opacity:0.75;border-radius:1px;background:currentColor}
  .cfp-mobile-section{padding:8px 0}

  /* Inject borders via pseudo elements so we don't change markup */
  .cfp-types{position:relative}
  .cfp-types:after{
    content:'';display:block;height:1px;background:rgba(0,0,0,0.08);
    margin:10px 14px 0 14px; /* inset */
  }
  .cfp-served{position:relative}
  .cfp-served:after{
    content:'';display:block;height:1px;background:rgba(0,0,0,0.08);
    margin:10px 14px 0 14px;
  }
  /* Add a bit more space above address so the divider breathes */
  .cfp-address{padding-top:8px}
}


/* Mobile improvements */
@media (max-width: 767px){
  .cfp-types{row-gap:4px;column-gap:14px;margin-bottom:6px}
  .cfp-type{margin-bottom:0}
  .cfp-types::after{
    content:'';display:block;height:1px;background:var(--cfp-card-border,rgba(0,0,0,0.1));margin:10px 16px 0 16px;
  }
  .cfp-served::after{
    content:'';display:block;height:1px;background:var(--cfp-card-border,rgba(0,0,0,0.1));margin:10px 16px 0 16px;
  }
  .cfp-addr{padding-top:10px}
}



@media (max-width: 767px){
  .cfp-types{row-gap:4px;column-gap:14px;margin-bottom:6px}
  .cfp-type{margin-bottom:0}
  /* Dividers with inset equal to card padding */
  .cfp-types::after{
    content:'';display:block;height:1px;background:var(--cfp-card-border,rgba(0,0,0,0.12));margin:12px 16px 0 16px;
  }
  .cfp-served::after{
    content:'';display:block;height:1px;background:var(--cfp-card-border,rgba(0,0,0,0.12));margin:12px 16px 0 16px;
  }
  /* Double the space above the address */
  .cfp-addr{padding-top:20px}
}



/* Geolocate icon positioned inside input, right aligned */
.cfp-inputwrap{ position:relative; }
.cfp-geo-btn{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cfp-geo-btn::before{
  content:'';
  display:block;
  width:24px;
  height:24px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:24px 24px;
}
.cfp-geo-btn.fallback::before{ content:'🎯'; width:auto; height:auto; font-size:20px; line-height:1; }


.cfp-inputwrap .cfp-input{ padding-right:56px !important; }
.cfp-geo-btn{ z-index:4; }
.cfp-geo-btn::before{ background-image:var(--geo-url); }


/* Geolocate icon inside the search field */
.cfp-inputwrap{ position:relative; }
.cfp-inputwrap .cfp-input{ padding-right:56px; }
.cfp-inputwrap .cfp-geo-btn{
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border:0; background:transparent; padding:0; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; z-index:4;
}
.cfp-inputwrap .cfp-geo-btn::before{
  content:''; display:block; width:24px; height:24px; background-repeat:no-repeat; background-position:center; background-size:24px 24px;
}
.cfp-inputwrap .cfp-geo-btn.fallback::before{ content:'🎯'; width:auto; height:auto; font-size:20px; line-height:1; }

/* Mobile spacing tweak - reduce vertical gap between wrapped care type badges */
@media (max-width: 767px){
  .cfp-badges{gap:2px 16px}
}
