/* Community Core 9.1.3 — approved 16-card PC / 8-card mobile partner layout */

#ccapp .cc-home-guarantee .cc-g-grid,
#ccapp .cc-v91-partner-directory{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
#ccapp .cc-v91-partner-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid #e1e3e6!important;
  background:#fff!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#ccapp .cc-v91-partner-card *{box-sizing:border-box!important}
#ccapp .cc-v91-card-media{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  overflow:hidden!important;
  border:0!important;
  background:#111!important;
}
#ccapp .cc-v91-card-media>a,
#ccapp .cc-v913-media-static{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  text-decoration:none!important;
}
#ccapp .cc-v91-card-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#111!important;
}
#ccapp .cc-v913-media-fallback{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  background:linear-gradient(135deg,#111,#252525)!important;
  color:#fff!important;
  font-size:26px!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
}
#ccapp .cc-v913-slot-number{
  position:absolute!important;
  z-index:3!important;
  left:8px!important;
  top:8px!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  background:#efc36d!important;
  color:#111!important;
  font-size:12px!important;
  font-weight:950!important;
  box-shadow:0 2px 8px rgba(0,0,0,.12)!important;
}
#ccapp .cc-v91-card-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
  margin:10px 0 7px!important;
}
#ccapp .cc-v91-card-head>a,
#ccapp .cc-v91-card-head>b{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  color:#111!important;
  font-size:17px!important;
  line-height:1.15!important;
  font-weight:950!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#ccapp .cc-v91-card-head>span{
  flex:0 0 auto!important;
  padding:5px 7px!important;
  background:#111!important;
  color:#fff!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
}
#ccapp .cc-v91-partner-card>p{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:38px!important;
  margin:0!important;
  color:#626870!important;
  font-size:11px!important;
  line-height:1.55!important;
}
#ccapp .cc-v91-card-score{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-top:10px!important;
  padding-top:9px!important;
  border-top:1px solid #eceef0!important;
}
#ccapp .cc-v91-card-score strong{
  color:#111!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:950!important;
}
#ccapp .cc-v91-card-score small{
  color:#777!important;
  font-size:9px!important;
  line-height:1.35!important;
  text-align:right!important;
}
#ccapp .cc-v91-card-actions{
  display:grid!important;
  grid-template-columns:1fr 1.25fr!important;
  gap:7px!important;
  width:100%!important;
  margin-top:10px!important;
}
#ccapp .cc-v91-card-actions>a,
#ccapp .cc-v91-card-actions>span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 7px!important;
  border:1px solid #111!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:950!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
#ccapp .cc-v91-analysis-link{background:#fff!important;color:#111!important}
#ccapp .cc-v91-site-link{background:#d71920!important;border-color:#d71920!important;color:#fff!important}
#ccapp .cc-v91-card-actions .is-disabled{
  background:#f4f5f6!important;
  border-color:#dcdfe3!important;
  color:#9a9fa6!important;
  cursor:default!important;
}
#ccapp .cc-v91-partner-card.is-placeholder{background:#fafafa!important}
#ccapp .cc-v91-partner-card.is-placeholder .cc-v91-card-head>span{background:#555!important}
#ccapp .cc-v91-partner-card.is-placeholder .cc-v913-media-fallback{color:#c3c6ca!important;background:#181818!important}

#ccapp .cc-v91-directory-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:20px 0 14px!important;
  padding:12px 14px!important;
  border:1px solid #e3e5e8!important;
  background:#f7f8f9!important;
  font-size:11px!important;
}
#ccapp .cc-v91-directory-head b{font-size:12px!important}
#ccapp .cc-v91-directory-head span{color:#747980!important}

/* Detail page: position 1 = image, position 2 = direct vendor link CTA. */
#ccapp .cc-v91-detail-head{
  display:grid!important;
  grid-template-columns:124px minmax(0,1fr) 200px!important;
  gap:20px!important;
  align-items:center!important;
  padding:18px 0 22px!important;
  border-bottom:2px solid #111!important;
}
#ccapp .cc-v91-detail-logo{
  width:124px!important;
  height:124px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:1px solid #e1e3e6!important;
  background:#f4f5f6!important;
}
#ccapp .cc-v91-detail-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#111!important;
}
#ccapp .cc-v91-detail-logo>span{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  background:#111!important;
  color:#fff!important;
  font-size:40px!important;
  font-weight:950!important;
}
#ccapp .cc-v91-detail-copy{min-width:0!important}
#ccapp .cc-v91-detail-copy>small{
  display:block!important;
  margin-bottom:5px!important;
  color:#777!important;
  font-size:9px!important;
  font-weight:950!important;
  letter-spacing:.11em!important;
}
#ccapp .cc-v91-detail-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#ccapp .cc-v91-detail-title h1{
  margin:0!important;
  color:#111!important;
  font-size:36px!important;
  line-height:1.1!important;
  font-weight:950!important;
}
#ccapp .cc-v91-detail-title>span{
  padding:6px 8px!important;
  background:#111!important;
  color:#fff!important;
  font-size:8px!important;
  font-weight:950!important;
}
#ccapp .cc-v91-detail-copy>p{
  max-width:760px!important;
  margin:8px 0 0!important;
  color:#666!important;
  font-size:12px!important;
  line-height:1.6!important;
}
#ccapp .cc-v91-detail-cta>a,
#ccapp .cc-v91-detail-cta>span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:50px!important;
  padding:0 14px!important;
  border:1px solid #d71920!important;
  background:#d71920!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
#ccapp .cc-v91-detail-cta>.is-disabled{
  border-color:#ddd!important;
  background:#f3f4f5!important;
  color:#999!important;
}

/* Tablet */
@media (max-width:1050px) and (min-width:681px){
  #ccapp .cc-home-guarantee .cc-g-grid,
  #ccapp .cc-v91-partner-directory{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #ccapp .cc-v91-detail-head{grid-template-columns:100px minmax(0,1fr)!important}
  #ccapp .cc-v91-detail-logo{width:100px!important;height:100px!important}
  #ccapp .cc-v91-detail-cta{grid-column:1/-1!important}
}

/* Mobile approved layout: 2 columns x 4 rows = 8 cards on home. */
@media (max-width:680px){
  #ccapp .cc-home-guarantee .cc-g-grid,
  #ccapp .cc-v91-partner-directory{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #ccapp .cc-home-guarantee .cc-v91-partner-card:nth-child(n+9){display:none!important}
  #ccapp .cc-v91-partner-card{
    padding:7px!important;
  }
  #ccapp .cc-v913-slot-number{
    left:5px!important;top:5px!important;width:24px!important;height:24px!important;font-size:9px!important
  }
  #ccapp .cc-v91-card-head{margin:6px 0 4px!important}
  #ccapp .cc-v91-card-head>a,
  #ccapp .cc-v91-card-head>b{font-size:13px!important}
  #ccapp .cc-v91-card-head>span{font-size:6px!important;padding:4px!important}
  #ccapp .cc-v91-partner-card>p{display:none!important}
  #ccapp .cc-v91-card-score{margin-top:3px!important;padding-top:5px!important}
  #ccapp .cc-v91-card-score strong{font-size:23px!important}
  #ccapp .cc-v91-card-score small{display:none!important}
  #ccapp .cc-v91-card-actions{
    grid-template-columns:1fr 1.18fr!important;
    gap:4px!important;
    margin-top:6px!important;
  }
  #ccapp .cc-v91-card-actions>a,
  #ccapp .cc-v91-card-actions>span{
    min-height:32px!important;
    padding:0 3px!important;
    font-size:8px!important;
  }
  #ccapp .cc-v91-directory-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:3px!important;
    margin-top:14px!important;
  }
  #ccapp .cc-v91-detail-head{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:12px!important;
    padding-top:10px!important;
  }
  #ccapp .cc-v91-detail-logo{width:76px!important;height:76px!important}
  #ccapp .cc-v91-detail-title h1{font-size:24px!important}
  #ccapp .cc-v91-detail-title>span{font-size:7px!important;padding:4px 5px!important}
  #ccapp .cc-v91-detail-copy>p{font-size:10px!important;line-height:1.5!important;margin-top:4px!important}
  #ccapp .cc-v91-detail-cta{grid-column:1/-1!important}
  #ccapp .cc-v91-detail-cta>a,
  #ccapp .cc-v91-detail-cta>span{min-height:46px!important}
}
