/* ABG Theme 6.57.45 – scoped visual refinements for the local directory. */
/* Sponsor creative: content-led banner instead of a tall grey placeholder. */
body.abg-v6 .abg-campaign-local_top {
  box-sizing:border-box; width:min(1220px,calc(100% - 32px));
  margin:clamp(16px,3vw,30px) auto; padding:clamp(16px,2.4vw,27px);
  display:grid; grid-template-columns:minmax(0,260px) minmax(0,1fr);
  gap:clamp(17px,3vw,30px); align-items:center; min-height:0;
  border:1px solid #dbe7e4; border-radius:22px;
  background:linear-gradient(120deg,#eaf4f1 0%,#f7faf9 58%,#fff 100%);
  box-shadow:0 14px 34px rgba(10,39,46,.065); overflow:hidden;
}
body.abg-v6 .abg-campaign-local_top .abg-campaign-kicker {
  grid-column:1/-1; margin:0; color:#53756f; letter-spacing:.12em;
}
body.abg-v6 .abg-campaign-local_top .abg-campaign-visual {min-width:0;max-width:100%;}
body.abg-v6 .abg-campaign-local_top .abg-campaign-visual img {
  width:100%; height:auto; max-height:200px; aspect-ratio:16/10;
  object-fit:contain; border-radius:14px; background:transparent;
}
body.abg-v6 .abg-campaign-local_top .abg-campaign-copy {min-width:0;}
body.abg-v6 .abg-campaign-local_top .abg-campaign-copy h3 {
  font-size:clamp(1.15rem,2vw,1.65rem); line-height:1.2; margin:0 0 9px;
}
body.abg-v6 .abg-campaign-local_top .abg-campaign-copy p {max-width:68ch;line-height:1.55;}
body.abg-v6 .abg-campaign-local_top .abg-campaign-cta {display:inline-flex;align-items:center;min-height:38px;}
body.abg-v6 .abg-campaign-local_top:not(:has(.abg-campaign-visual)) {grid-template-columns:1fr;}
body.abg-v6 .abg-campaign-local_top:not(:has(.abg-campaign-visual)) .abg-campaign-copy {grid-column:1/-1;}
/* Logo images should never be cropped in business directory cards. */
body.abg-v6 .abg-v45-local-card > .abg-v45-local-media.is-logo-media {
  display:flex!important; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#f9fbfa,#e9f3f0)!important;
}
body.abg-v6 .abg-v45-local-card > .abg-v45-local-media.is-logo-media img {
  width:100%!important; height:100%!important;
  max-width:100%!important;max-height:100%!important;
  padding:clamp(12px,3vw,24px)!important;box-sizing:border-box!important;
  object-fit:contain!important;object-position:center!important;
}
/* Keep premium/partner profile logos fully visible regardless of aspect ratio. */
body.abg-v6 article.abg-v644-business-detail:is(.plan-pro,.plan-plus) .abg-v638-business-logo.abg-v65740-logo-in-head {
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:0;flex-shrink:0;overflow:hidden!important;
}
body.abg-v6 article.abg-v644-business-detail:is(.plan-pro,.plan-plus) .abg-v638-business-logo.abg-v65740-logo-in-head img {
  display:block!important; width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  min-width:0;min-height:0;padding:0!important;
  object-fit:contain!important;object-position:center!important;
  transform:none!important;
}
/* An illustration that is effectively a logo is framed as artwork, not cropped as a photo. */
body.abg-v6 article.abg-v644-business-detail .abg-v644-premium-media.is-logo-art {
  background:linear-gradient(145deg,#243b3b 0%,#193039 55%,#13242c 100%)!important;
}
body.abg-v6 article.abg-v644-business-detail .abg-v644-premium-media.is-logo-art figure {
  inset:0; display:flex;align-items:center;justify-content:center;
  padding:30px 30px 110px;box-sizing:border-box;
}
body.abg-v6 article.abg-v644-business-detail .abg-v644-premium-media.is-logo-art figure img {
  display:block;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;
}
@media (max-width:720px) {
  body.abg-v6 .abg-campaign-local_top {grid-template-columns:1fr;gap:14px;width:calc(100% - 24px);padding:17px;border-radius:17px;}
  body.abg-v6 .abg-campaign-local_top .abg-campaign-visual img {max-height:170px;aspect-ratio:auto;}
  body.abg-v6 article.abg-v644-business-detail .abg-v644-premium-media.is-logo-art figure {padding:22px 20px 105px;}
}
