/* Shared profile layout, including Divi Theme Builder shortcodes. */
body.single-di_business .difi-tb-hero { height: 320px !important; background: #092a3d; }
body.single-di_business .difi-tb-hero > img { width: 100%; height: 100%; object-fit: cover !important; object-position: center 45%; }
body.single-di_business .difi-tb-hero__shade { background: linear-gradient(90deg,rgba(4,24,39,.78),rgba(4,24,39,.22) 75%); }
body.single-di_business .difi-tb-hero__content { left: max(24px,calc((100% - 1280px)/2)); right: 24px; bottom: 36px; max-width: 900px; }
body.single-di_business .difi-tb-hero h1, body.single-di_business .difi-hero h1 { font-size: clamp(30px,4vw,48px) !important; line-height: 1.1 !important; margin-bottom: 16px; }
body.single-di_business .difi-tags { display: flex; gap: 8px; flex-wrap: wrap; }
body.single-di_business .difi-tags span { font-size: 13px; line-height: 1.4; padding: 6px 11px; border: 1px solid #ffffff50; background: #072b3b55; border-radius: 6px; }
body.single-di_business .difi-tb-hero--logo > img { object-fit: contain !important; width: 42%; margin-left: auto; padding: 24px; box-sizing: border-box; background: #fff; }
body.single-di_business .difi-tb-hero--logo .difi-tb-hero__shade { display: none; }
body.single-di_business .difi-tb-hero--logo .difi-tb-hero__content { right: 45%; }
body.single-di_business .difi-tb-content { grid-template-columns: 180px minmax(0,1fr) 300px; gap: 24px; margin-top: 24px; margin-bottom: 24px; }
body.single-di_business .difi-card, body.single-di_business .difi-contact-card { padding: 24px !important; border-radius: 14px !important; box-shadow: 0 4px 18px #10243a05 !important; }
body.single-di_business .difi-card h2, body.single-di_business .difi-contact-card h2, body.single-di_business .difi-tb-related h2 { font-size: 23px !important; line-height: 1.25 !important; margin-bottom: 16px; }
body.single-di_business .difi-copy, body.single-di_business .difi-copy p { font-size: 15px !important; line-height: 1.7 !important; }
body.single-di_business .difi-section-label { color: #087fa1; font-size: 10px; letter-spacing: .09em; margin-bottom: 8px; }
body.single-di_business .difi-contact-list { margin: 0; }
body.single-di_business .difi-contact-list dd { overflow-wrap: anywhere; font-size: 14px; }
body.single-di_business .difi-button { font-size: 13px !important; padding: 10px 12px; min-height: 44px; box-sizing: border-box; }
body.single-di_business .difi-button:not(.difi-button--primary) { background: transparent; border-color: #e4ecf0; box-shadow: none; }
body.single-di_business .difi-hero-gallery { display: flex !important; gap: 10px; overflow-x: auto; margin: 16px auto; }
body.single-di_business .difi-hero-gallery figure { flex: 0 0 150px !important; height: 96px !important; }
body.single-di_business .difi-tb-related { padding: 24px 0 40px; }
body.single-di_business .difi-tb-content__contact { top: 90px; }
body.single-di_business .difi-tb-ad img { max-height: 270px; }
@media(max-width: 1000px) {
 body.single-di_business .difi-tb-content { grid-template-columns: minmax(0,1fr) 280px; }
 body.single-di_business .difi-tb-content__ad { grid-column: 1 / -1; position: static; max-width: 220px; order: 3; }
}
@media(max-width: 700px) {
 body.single-di_business .difi-tb-hero { height: 220px !important; }
 body.single-di_business .difi-tb-hero__content { left: 18px; right: 18px; bottom: 22px; }
 body.single-di_business .difi-tb-hero h1 { font-size: 28px !important; }
 body.single-di_business .difi-tags span { font-size: 11px; padding: 4px 7px; }
 body.single-di_business .difi-tb-content { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
 body.single-di_business .difi-tb-content__main { order: 1; width: 100%; gap: 16px; }
 body.single-di_business .difi-tb-content__contact { order: 2; position: static; width: 100%; }
 body.single-di_business .difi-card, body.single-di_business .difi-contact-card { padding: 18px !important; }
 body.single-di_business .difi-tb-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.single-di_business .difi-tb-related__card strong { font-size: 14px; }
 body.single-di_business .difi-hero-gallery figure { flex-basis: 120px !important; height: 80px !important; }
 body.single-di_business .difi-tb-hero--logo > img { padding: 12px; }
 body.single-di_business .difi-tb-hero--logo h1 { font-size: 23px !important; }
}

/* Logos belong in a compact identity panel, without a photographic overlay. */
body.single-di_business .difi-tb-hero--logo {
 display: grid; grid-template-columns: minmax(180px,280px) minmax(0,1fr);
 align-items: center; gap: 24px; box-sizing: border-box;
 width: min(1280px,calc(100% - 40px)); margin: 0 auto 24px;
 height: auto !important; min-height: 0 !important; padding: 20px 28px;
 background: linear-gradient(110deg,#fff 25%,#edf6fb); border: 1px solid #dce7ee;
 border-left: 4px solid #087da9; border-radius: 16px;
}
body.single-di_business .difi-tb-hero--logo > img {
 display: block; width: 100%; height: 190px; max-width: 280px;
 object-fit: contain !important; object-position: center; margin: 0; padding: 4px;
}
body.single-di_business .difi-tb-hero--logo .difi-tb-hero__content {
 position: static; min-width: 0; max-width: none; color: #10243a;
}
body.single-di_business .difi-tb-hero--logo h1 {
 color: #10243a; text-shadow: none; font-size: clamp(26px,3vw,38px) !important;
 line-height: 1.18 !important; margin: 0 0 14px; padding: 0; overflow-wrap: anywhere;
}
body.single-di_business .difi-tb-hero--logo .difi-tags span {
 color: #36576b; background: #eef6fa; border-color: #dce7ee;
}
@media(max-width:700px) {
 body.single-di_business .difi-tb-hero--logo {
  grid-template-columns: minmax(0,1fr); gap: 16px;
  width: calc(100% - 28px); padding: 20px; margin-bottom: 16px;
 }
 body.single-di_business .difi-tb-hero--logo > img {
  width: min(100%,280px); height: 150px; padding: 0;
 }
 body.single-di_business .difi-tb-hero--logo h1 { font-size: 26px !important; }
}

/* Consistent spacing and legible contact details across profile layouts. */
body.single-di_business .difi-tb-content { margin-top: 18px; gap: 20px; }
body.single-di_business .difi-tb-content__main { gap: 18px; }
body.single-di_business .difi-contact-list dd { font-size: 13px; }
body.single-di_business .difi-tb-related__card > img,
body.single-di_business .difi-related-card img {
 object-fit: contain; background: #fff; box-sizing: border-box; padding: 12px;
}
