/* Business detail services use the same soft gradient as the business name panel. */
#bf2-content .detail-page .services-section,
.detail-page .services-section{
  background:linear-gradient(110deg,#e8f4f2 0%,#f8fbf9 75%);
}

#bf2-content .detail-page .services-section .service-list,
.detail-page .services-section .service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:28px;
  row-gap:9px;
  margin:0;
  padding:0 0 0 1.25em;
  list-style:disc outside;
}

#bf2-content .detail-page .services-section .service-list li,
.detail-page .services-section .service-list li{
  display:list-item;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#173e50;
  font-weight:500;
  line-height:1.5;
  list-style:disc outside;
}

#bf2-content .detail-page .services-section .service-list li::marker,
.detail-page .services-section .service-list li::marker{
  color:#007b80;
}

@media(max-width:480px){
  #bf2-content .detail-page .services-section .service-list,
  .detail-page .services-section .service-list{grid-template-columns:1fr}
}

/* Contact actions use a consistent icon beside their text labels. */
#bf2-content .detail-page .contact-card .contact-icon,
.detail-page .contact-card .contact-icon{
  width:19px;
  height:19px;
  flex:none;
}
#bf2-content .detail-page .contact-card .email-link,
.detail-page .contact-card .email-link{align-items:center;gap:10px}

/* Balance optional cards between equal desktop columns; contact stays top-right. */
#bf2-content .detail-page .detail-layout,
.detail-page .detail-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
#bf2-content .detail-page .detail-column,
.detail-page .detail-column{align-content:start;min-width:0}
#bf2-content .detail-page .detail-card--gallery,
.detail-page .detail-card--gallery{min-width:0}
#bf2-content .detail-page .detail-column .business-gallery,
.detail-page .detail-column .business-gallery{
  width:100%;max-width:none;margin:0;padding:18px;
  border:1px solid #adc4ca;border-radius:10px;background:#fff;
  box-shadow:0 3px 13px #103c5009;
}
#bf2-content .detail-page .detail-column .business-gallery .photo-slide,
.detail-page .detail-column .business-gallery .photo-slide{height:270px;aspect-ratio:auto}
#bf2-content .detail-page .photo-slide.credited,
.detail-page .photo-slide.credited{flex-direction:column}
#bf2-content .detail-page .photo-slide.credited img,
.detail-page .photo-slide.credited img{height:calc(100% - 31px)}
#bf2-content .detail-page .photo-slide figcaption,
.detail-page .photo-slide figcaption{display:flex;align-items:center;justify-content:center;width:100%;min-height:31px;padding:4px 10px;background:#edf2f1;color:#36566a;font-size:12px;text-align:center}
#bf2-content .detail-page .detail-column .hours-card,
.detail-page .detail-column .hours-card{min-width:0}

/* The first available contact action is filled; the rest are matching outlines. */
#bf2-content .detail-page .contact-card .button,
.detail-page .contact-card .button{justify-content:center;white-space:normal;text-align:center}
#bf2-content .detail-page .contact-card .button.secondary,
.detail-page .contact-card .button.secondary{background:#fff;border:1px solid #a9c3c5;color:#103c50}
#bf2-content .detail-page .contact-card .button.secondary:hover,
.detail-page .contact-card .button.secondary:hover{background:#f1f8f6}
#bf2-content .detail-page .contact-card .profile-links a,
.detail-page .contact-card .profile-links a{background:#fff;border:1px solid #a9c3c5;color:#006970}
#bf2-content .detail-page .contact-card .profile-links a:hover,
.detail-page .contact-card .profile-links a:hover{background:#f1f8f6}

/* A shown street address gets its own card and a map of that address. */
#bf2-content .detail-page .location-card,
.detail-page .location-card{
  min-width:0;padding:22px 24px;border:1px solid #adc4ca;border-radius:10px;
  background:#fff;box-shadow:0 3px 13px #103c5009;
}
#bf2-content .detail-page .location-card h2,
.detail-page .location-card h2{margin:0 0 14px;font-size:24px;color:#103c50}
#bf2-content .detail-page .location-card address,
.detail-page .location-card address{margin:0 0 16px;color:#36566a;font-style:normal;line-height:1.5}
#bf2-content .detail-page .location-card iframe,
.detail-page .location-card iframe{display:block;width:100%;height:235px;border:0;border-radius:8px;background:#edf2f1}
#bf2-content .detail-page .location-card .button,
.detail-page .location-card .button{display:flex;width:100%;margin-top:14px;gap:10px}
#bf2-content .detail-page .location-card .contact-icon,
.detail-page .location-card .contact-icon{width:19px;height:19px;flex:none}

/* One optional gallery or map can fill the row beneath About and Contact. */
#bf2-content .detail-page .detail-spanning,
.detail-page .detail-spanning{margin:0 0 20px}
#bf2-content .detail-page .detail-spanning .business-gallery .photo-slide,
.detail-page .detail-spanning .business-gallery .photo-slide{height:320px}

@media(max-width:900px){
  #bf2-content .detail-page .detail-layout,.detail-page .detail-layout{display:flex;flex-direction:column;gap:14px}
  #bf2-content .detail-page .detail-column,.detail-page .detail-column{display:contents}
  #bf2-content .detail-page .detail-card--contact,.detail-page .detail-card--contact{order:-10;width:100%}
  #bf2-content .detail-page .detail-card--about,.detail-page .detail-card--about{order:0;width:100%}
  #bf2-content .detail-page .detail-card--services,.detail-page .detail-card--services{order:1;width:100%}
  #bf2-content .detail-page .detail-card--location,.detail-page .detail-card--location{order:2;width:100%}
  #bf2-content .detail-page .detail-card--gallery,.detail-page .detail-card--gallery{order:3;width:100%}
  #bf2-content .detail-page .detail-card--hours,.detail-page .detail-card--hours{order:4;width:100%}
  #bf2-content .detail-page .detail-column .business-gallery .photo-slide,.detail-page .detail-column .business-gallery .photo-slide{height:230px}
  #bf2-content .detail-page .detail-spanning,.detail-page .detail-spanning{display:block;margin-top:14px}
}
