/* Bizniz Design 5 — dark card, blue wave header, profile hero, contact rows, social strip, services grid. */
.pub-card--biznizdesign5,
.pub-card--template-05,
.bc-card.bc-t-template-05 {
  --bc-t5-primary: #004dc3;
  --bc-t5-dark: #0b0b0b;
  --bc-t5-ink: #ffffff;
  --bc-t5-muted: #b3b3b3;
  --bc-t5-card-width: 400px;
  --bc-t5-stripe: #ffffff;
  font-family: var(--bc-t5-font-contact, Inter, system-ui, -apple-system, "Segoe UI", sans-serif);
  width: 100%;
  max-width: min(100%, 430px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  color: var(--bc-t5-ink);
  /* Stop socials/sliders from expanding the document and shifting the card.
     Use hidden (not clip) — Android WebView often ignores overflow-x:clip.
     contain:inline-size keeps max-content icon rows from widening ancestors. */
  overflow-x: hidden;
  min-width: 0;
  contain: inline-size;
}

.pub-card--biznizdesign5 *,
.pub-card--template-05 *,
.bc-card.bc-t-template-05 * {
  box-sizing: border-box;
}

.pub-card.pub-card--biznizdesign5,
.pub-card.pub-card--template-05 {
  /* X must stay clipped (shift fix). Y stays visible for profile overlap. */
  overflow-x: hidden;
  overflow-y: visible;
  border: none;
  box-shadow: none;
  background: transparent;
}

.bc-t5-card {
  width: 100%;
  max-width: min(100%, var(--bc-t5-card-width));
  margin: 0 auto;
  background-color: var(--bc-t5-dark);
  border-radius: 35px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
  color: var(--bc-t5-ink);
  position: relative;
  /* Clip X so the socials band (width:max-content) cannot widen the page and
     shift the whole card right with a black left gutter. Keep Y visible so the
     overlapping profile circle is not cut off. Use hidden for Android support. */
  overflow-x: hidden;
  overflow-y: visible;
  /* Do NOT reset --bc-t5-stripe — inherits from root (SECTION OUTLINE COLOR). */
}

/* Header — client-original bowl curve (fill + outline share one edge) */
.bc-t5-wave-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: block;
  overflow: visible;
  pointer-events: none;
}

.bc-t5-header-container {
  height: 175px;
  position: relative;
  width: 100%;
  background: transparent;
  overflow: visible;
  z-index: 2;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
}

.bc-t5-header-content {
  position: relative;
  z-index: 2;
  padding: 24px 24px 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.bc-t5-logo-circle {
  background: #fff;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--bc-t5-primary);
  font-size: 24px;
  flex-shrink: 0;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.bc-t5-logo-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.bc-t5-bizniz-title {
  font-weight: 700;
  letter-spacing: -0.3px;
  font-size: 1.1875rem;
  text-transform: none;
  /* Matches SECTIONS → TEXT COLOR (--bc-t5-band-label / socialFontColor). */
  color: var(--bc-t5-band-label, #fff);
  margin: 0;
  line-height: 1.2;
}

/* Hero — name left, profile photo overlapping header (keep circle fully visible).
   Transparent fill so the wave OUTLINE COLOR stroke stays visible under the overlap. */
.bc-t5-hero {
  position: relative;
  z-index: 3;
  background-color: transparent;
  padding: 0 24px 10px;
  margin-top: -28px;
  border-radius: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  overflow: visible;
}

.bc-t5-profile-info {
  flex: 1;
  min-width: 0;
  /* Clear the wave dip — 36px sat under the white curve and clipped the name. */
  margin-top: 64px;
  /* Keep name / title level — no optical "uphill" from transforms. */
  transform: none;
}

.bc-t5-profile-name {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--bc-t5-ink);
  line-height: 1.15;
  transform: none;
  text-align: left;
}

.bc-t5-profile-title {
  margin: 5px 0 0;
  color: var(--bc-t5-muted);
  font-size: 0.95rem;
  line-height: 1.35;
  transform: none;
  text-align: left;
}

.bc-t5-profile-img-container {
  width: 110px;
  height: 110px;
  border: 3.5px solid #ffffff;
  border-radius: 50%;
  overflow: hidden;
  background: var(--bc-t5-dark);
  flex-shrink: 0;
  margin-top: -28px;
  margin-left: auto;
  /* Keep circle inside the card; sits over the curve (same as client sample). */
  margin-right: 18px;
  /* Client-approved: white ring + cyan outer glow */
  box-shadow: 0 0 0 2.5px #5cc2f4, 0 8px 16px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  position: relative;
  z-index: 4;
}

.bc-t5-profile-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.bc-t5-profile-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.5rem;
  color: #fff;
  background: #444;
}

/* Alternating section backgrounds */
.bc-t5-section--primary,
.bc-t5-footer-strip {
  background-color: var(--bc-t5-primary);
  color: #fff;
}

/* Section OUTLINE COLOR — single seam (border only). Do not stack inset box-shadow
   on top of the same border — that produced the double/weird outline ring. */
.bc-t5-section--primary.bc-t5-section--icons {
  border-top: 3px solid var(--bc-t5-stripe, #ffffff) !important;
  border-bottom: 3px solid var(--bc-t5-stripe, #ffffff) !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

.bc-t5-section--dark {
  background-color: var(--bc-t5-dark);
  color: var(--bc-t5-ink);
}

/* Hero must stay transparent so locked wave outline stays visible under overlap. */
.bc-t5-hero.bc-t5-section--dark {
  background-color: transparent;
  color: var(--bc-t5-ink);
}

.bc-t5-section-heading {
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

.bc-t5-section--dark .bc-t5-section-heading {
  color: var(--bc-t5-ink);
}

/* Contact + icon band sections (no button wrappers — chip icons only) */
.bc-t5-section--contact,
.bc-t5-section--icons {
  padding: 12px 12px 14px;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  box-sizing: border-box;
}

.bc-t5-icon-scroll-wrap,
.bc-t6-icon-scroll-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  /* Room for the chip outline ring (box-shadow ~2px) top & bottom — with a
     horizontal scroller overflow-y must stay hidden, so padding (inside the
     clip box) is what keeps the ring from being cut off. */
  padding-top: 6px;
  padding-bottom: 8px;
  /* Never let this band expand ancestors / shift the published card. */
  box-sizing: border-box;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
}

.bc-t5-icon-scroll-wrap .bc-t5-btn-item .bc-t5-btn-lbl,
.bc-t6-icon-scroll-wrap .bc-t6-btn-item .bc-t6-btn-lbl {
  max-width: 72px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: normal;
}


.bc-t5-icon-grid-wrap {
  overflow: visible;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 8px 4px;
}

.bc-t5-icon-grid-wrap .bc-t5-icon-grid {
  display: grid !important;
  grid-template-columns: repeat(4, var(--tpl-ico-size, 52px)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: unset !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  justify-content: space-between !important;
  justify-items: center;
  align-items: start;
  column-gap: 0 !important;
  row-gap: 1.15rem !important;
}

.bc-t5-icon-grid-wrap .bc-t5-btn-item .bc-t5-btn-lbl,
.bc-t6-icon-grid-wrap .bc-t6-btn-item .bc-t6-btn-lbl {
  max-width: 100%;
  width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
  text-align: center;
  line-height: 1.15;
  font-size: clamp(0.55rem, 2.4vw, 0.68rem);
  letter-spacing: 0.01em;
}

.bc-t5-icon-grid-wrap .bc-t5-icon-grid .bc-t5-btn-item,
.bc-t6-icon-grid-wrap .bc-t6-icon-grid .bc-t6-btn-item {
  width: var(--tpl-ico-size, 52px) !important;
  min-width: var(--tpl-ico-size, 52px) !important;
  max-width: var(--tpl-ico-size, 52px) !important;
  flex: 0 0 var(--tpl-ico-size, 52px) !important;
}
.bc-t5-icon-grid {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px)) !important;
  grid-template-columns: unset !important;
  justify-content: start !important;
  justify-items: center;
  align-items: start;
  column-gap: var(--tpl-grid-col-gap, 0.85rem);
  row-gap: var(--tpl-grid-row-gap, 0.55rem);
  /* Scroll strips stay max-content; parent .bc-t5-icon-scroll-wrap clips/scrolls. */
  width: max-content;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

.bc-t5-icon-grid .bc-t5-btn-item {
  flex: none;
  width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px)) !important;
  min-width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px)) !important;
  max-width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px)) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  box-sizing: border-box;
}

.bc-t5-btn-item .bc-t5-btn-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px));
  height: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px));
  min-width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px));
  max-width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px));
  min-height: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px));
  max-height: var(--tpl-ico-hex-size, var(--tpl-ico-size, 52px));
  background: var(--tpl-chip-fill, var(--bc-t5-primary));
  color: var(--tpl-chip-icon, #fff);
  border-radius: var(--tpl-chip-radius, 8px);
  box-sizing: border-box;
  /* Visible so outline rings (box-shadow / hex ::before) are not clipped */
  overflow: visible;
}

.bc-t5-btn-item .bc-t5-btn-lbl {
  font-size: 0.68rem;
  line-height: 1.2;
  text-align: center;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  max-width: min(100%, 4.75rem);
}

.bc-t5-section--primary .bc-t5-section-heading {
  color: var(--bc-t5-band-label, #fff);
}

.bc-t5-section--primary .bc-t5-btn-lbl {
  color: var(--bc-t5-band-label, #fff);
}

.bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico:not(.bc-t5-btn-ico--glyph-only) {
  background: var(--bc-t5-band-chip-fill, var(--tpl-chip-fill, #ffffff)) !important;
  color: var(--tpl-chip-icon, #0047ab) !important;
  /* Icon rings: Outline picker only — never stack CTA/section border (same lock as T6). */
  border: none !important;
}

/* Hex/shield outlines paint fill via ::after — keep chip shell transparent */
[data-bc-t5="1"][data-bc-icon-outline="1"][data-bc-icon-shape="hexagon"] .bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico:not(.bc-t5-btn-ico--glyph-only),
[data-bc-t5="1"][data-bc-icon-outline="1"][data-bc-icon-shape="shield"] .bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico:not(.bc-t5-btn-ico--glyph-only),
.pub-card--template-05[data-bc-icon-outline="1"][data-bc-icon-shape="hexagon"] .bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico:not(.bc-t5-btn-ico--glyph-only),
.pub-card--template-05[data-bc-icon-outline="1"][data-bc-icon-shape="shield"] .bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico:not(.bc-t5-btn-ico--glyph-only),
.bc-card.bc-t-template-05[data-bc-icon-outline="1"][data-bc-icon-shape="hexagon"] .bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico:not(.bc-t5-btn-ico--glyph-only),
.bc-card.bc-t-template-05[data-bc-icon-outline="1"][data-bc-icon-shape="shield"] .bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico:not(.bc-t5-btn-ico--glyph-only) {
  background: transparent !important;
  background-color: transparent !important;
}

.bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico svg,
.bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico i {
  fill: currentColor;
  color: inherit;
}

.bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico svg [fill]:not([fill="none"]) {
  fill: currentColor;
}

.bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico--glyph-only {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--tpl-chip-icon, #fff) !important;
  border-radius: 0 !important;
}

.bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico--glyph-only svg,
.bc-t5-section--primary.bc-t5-section--icons .bc-t5-btn-ico--glyph-only img.brand-ico {
  width: 26px;
  height: 26px;
  display: block;
}

.bc-t5-section--dark .bc-t5-btn-lbl {
  color: var(--bc-t5-ink);
}

[data-bc-t5="1"][data-bc-icon-shape="circle"] .bc-t5-btn-ico,
.pub-card--template-05[data-bc-icon-shape="circle"] .bc-t5-btn-ico {
  border-radius: 50% !important;
}

[data-bc-t5="1"][data-bc-icon-shape="square"] .bc-t5-btn-ico,
.pub-card--template-05[data-bc-icon-shape="square"] .bc-t5-btn-ico {
  border-radius: 2px !important;
}

[data-bc-t5="1"][data-bc-icon-shape="squircle"] .bc-t5-btn-ico,
.pub-card--template-05[data-bc-icon-shape="squircle"] .bc-t5-btn-ico {
  border-radius: var(--bc-squircle-radius, 40%) !important;
}

/* CTA band sections — fixed white pill buttons */
.bc-t5-section--cta {
  padding: 12px 20px 14px;
}

.bc-t5-cta-scroll-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  padding-bottom: 4px;
}

.bc-t5-cta-grid-wrap {
  overflow: visible;
  padding-bottom: 0;
}

.bc-t5-cta-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(140px, 1fr);
  gap: 12px;
  width: max-content;
  min-width: 100%;
  max-width: none;
}

.bc-t5-cta-grid--static {
  display: flex !important;
  flex-direction: column !important;
  grid-auto-flow: unset;
  grid-template-columns: unset;
  grid-auto-columns: unset;
  gap: 12px !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.bc-t5-cta-grid--static .bc-t5-service-btn {
  scroll-snap-align: unset;
  width: 100% !important;
}

.bc-t6-icon-grid-wrap {
  overflow: visible;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 8px 4px;
}

.bc-t6-icon-grid-wrap .bc-t6-icon-grid {
  display: grid !important;
  grid-template-columns: repeat(4, var(--tpl-ico-size, 52px)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: unset !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-content: space-between !important;
  justify-items: center;
  column-gap: 0 !important;
  row-gap: 1rem !important;
}

.bc-t6-cta-grid-wrap {
  overflow: visible;
  padding-bottom: 0;
}

.bc-t6-cta-grid.bc-t6-cta-grid--static {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: unset !important;
  grid-auto-flow: unset !important;
  grid-auto-columns: unset !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.bc-t6-cta-grid--static .bc-t6-service-card {
  scroll-snap-align: unset;
  width: 100% !important;
}

@media (min-width: 360px) {
  /* Keep scroll width on the CTA strip only — never let min-width inflate the card. */
  .bc-t5-cta-scroll-wrap {
    overflow-x: auto;
    max-width: 100%;
    min-width: 0;
  }
  .bc-t5-cta-scroll-wrap .bc-t5-cta-grid:not(.bc-t5-cta-grid--static) {
    grid-auto-columns: minmax(calc(50% - 6px), 1fr);
    width: max-content;
    min-width: calc(200% + 12px);
    max-width: none;
  }
  .bc-t5-cta-scroll-wrap .bc-t5-cta-grid:not(.bc-t5-cta-grid--static):has(.bc-t5-service-btn:nth-child(-n + 2):last-child),
  .bc-t5-cta-scroll-wrap .bc-t5-cta-grid:not(.bc-t5-cta-grid--static):has(.bc-t5-service-btn:nth-child(2):last-child) {
    min-width: 100%;
    width: 100%;
    grid-auto-columns: 1fr 1fr;
  }
}

.bc-t5-btn-item .bc-t5-btn-ico svg,
.bc-t5-btn-item .bc-t5-btn-ico img.brand-ico,
.bc-t5-btn-item .bc-t5-btn-ico i {
  max-width: var(--tpl-ico-svg, 28px);
  max-height: var(--tpl-ico-svg, 28px);
}

.bc-t5-btn-item[data-bc-coupon],
.bc-t5-btn-item[data-bc-about-us] {
  cursor: pointer;
  font: inherit;
}

.bc-t5-service-btn {
  background: var(--bc-t5-cta-bg, #fff) !important;
  color: var(--bc-t5-cta-ink, #000) !important;
  padding: 0 10px;
  border-radius: 12px;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  border: 2px solid var(--bc-t5-cta-outline, transparent);
  font-family: inherit;
  scroll-snap-align: start;
  box-sizing: border-box;
  width: 100%;
  overflow: visible;
}

/* No outline — zero border/shadow on T5 contact/CTA service buttons. */
[data-bc-cta-outline="0"] .bc-t5-service-btn,
[data-bc-cta-outline="0"] a.bc-t5-service-btn,
[data-bc-cta-outline="0"] button.bc-t5-service-btn {
  border: none !important;
  box-shadow: none !important;
}

.bc-t5-service-btn:hover {
  filter: brightness(0.97);
}

.bc-t5-service-btn__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: inherit;
}

.bc-t5-service-btn__ico svg,
.bc-t5-service-btn__ico img,
.bc-t5-service-btn__ico .brand-ico-mask {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  display: block;
  object-fit: contain;
  fill: currentColor;
}

.bc-t5-service-btn__label {
  min-width: 0;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Client: T5 contact rows are icon + text only — never button pills / outlines.
   (CTA outline color is for bottom action buttons, not these contact lines.) */
.bc-t5-contact-item {
  background: transparent !important;
  color: var(--bc-t5-contact-text, var(--bc-t5-muted)) !important;
  padding: 4px 0;
  border-radius: 0;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.86rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 28px;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: inherit;
  cursor: pointer;
  box-sizing: border-box;
  width: 100%;
  transform: none;
}

.bc-t5-contact-item__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  color: inherit;
}

.bc-t5-contact-item__ico svg,
.bc-t5-contact-item__ico img.brand-ico {
  width: 18px;
  height: 18px;
  max-width: 18px;
  max-height: 18px;
  display: block;
  object-fit: contain;
}

.bc-t5-contact-item__ico i {
  font-size: 1.1rem;
  width: 30px;
  text-align: center;
}

.bc-t5-contact-item__text {
  min-width: 0;
  word-break: break-word;
  text-align: left;
  color: var(--bc-t5-contact-text, var(--bc-t5-muted));
}

.bc-t5-section--contact-list {
  padding: 30px 25px;
  background-color: var(--bc-t5-dark);
}

.bc-t5-contact-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Socials — blue band with white circle icons */
.bc-t5-band-section {
  background-color: var(--bc-t5-primary);
  padding: 12px 10px 14px;
  text-align: center;
}

.bc-t5-band-section__title {
  margin: 0 0 12px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.9rem;
  font-weight: 700;
}

.bc-t5-social-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-items: center;
  gap: 10px 8px;
}

.bc-t5-social-icon {
  background: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--bc-t5-primary);
  text-decoration: none;
  flex-shrink: 0;
}

.bc-t5-social-icon--guide {
  pointer-events: none;
}

.bc-t5-social-icon__glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 0;
}

.bc-t5-social-icon__glyph svg,
.bc-t5-social-icon__glyph img.brand-ico {
  width: 18px;
  height: 18px;
  max-width: 18px;
  max-height: 18px;
  display: block;
  object-fit: contain;
}

.bc-t5-social-icon__glyph i {
  font-size: 18px;
  line-height: 1;
}

.bc-t5-section--services {
  padding: 12px 25px 14px;
}

/* Gallery / video modules */
.bc-t5-module {
  padding: 0 20px 20px;
}

.bc-t5-module__title {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.9rem;
  margin: 0 0 14px;
  font-weight: 700;
  color: var(--bc-t5-ink);
}

.bc-t5-module .bc-video-grid,
.bc-t5-module .tpl-gallery-grid,
.bc-t5-gallery-host .tpl-gallery-grid {
  border-radius: 12px;
  overflow: hidden;
}

/* Locked 2×2 video previews — never stack full-width down the card. */
.bc-t5-video-host .bc-video-grid,
.bc-t5-module.bc-t5-video .bc-video-grid,
.bc-t5-card .bc-video-grid {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 8px !important;
  grid-auto-flow: row !important;
}

.bc-t5-video-host .bc-video-grid--n2,
.bc-t5-video-host .bc-video-grid--n3,
.bc-t5-video-host .bc-video-grid--n4,
.bc-t5-module.bc-t5-video .bc-video-grid--n2,
.bc-t5-module.bc-t5-video .bc-video-grid--n3,
.bc-t5-module.bc-t5-video .bc-video-grid--n4,
.bc-t5-card .bc-video-grid--n2,
.bc-t5-card .bc-video-grid--n3,
.bc-t5-card .bc-video-grid--n4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.bc-t5-video-host .bc-video-grid__cell,
.bc-t5-module.bc-t5-video .bc-video-grid__cell,
.bc-t5-card .bc-video-grid__cell {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  aspect-ratio: 16 / 9 !important;
}

.bc-t5-gallery-host {
  padding: 0;
  text-align: center;
}

.bc-t5-gallery-host .tpl-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px;
  margin: 0;
}

.bc-t5-gallery-host .tpl-gal-cell img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}

/* Footer actions + email list inside card */
.bc-t5-card .tpl-email-list {
  padding: 0 20px 16px;
  color: var(--bc-t5-ink);
}

/* Subscribe matches upper CTA fill */
.bc-t5-card .tpl-email-list__btn {
  width: 100%;
  min-height: 44px;
  border-radius: var(--tpl-radius-md, 16px);
  padding: 0.72rem 1rem;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  box-sizing: border-box;
  background-color: var(--bc-t5-cta-bg, #ffffff) !important;
  color: var(--bc-t5-cta-ink, #111111) !important;
  border: 2px solid var(--bc-t5-cta-outline, transparent) !important;
}

/* Bottom meetings / schedule / loan CTAs — same fill + outline as service cards */
.bc-t5-card .tpl-card-action-btn,
.bc-t5-card .tpl-cta--card-action,
.bc-t5-card .tpl-cta--schedule-book {
  background: var(--bc-t5-cta-bg, #ffffff) !important;
  color: var(--bc-t5-cta-ink, #111111) !important;
  border: 2px solid var(--bc-t5-cta-outline, transparent) !important;
}

.bc-t5-card .tpl-cta-wrap--card-actions {
  padding: 0 20px 16px;
}

/* Grouped footer uses shared pad — avoid double inset vs Templates 1–4 */
.bc-t5-card .tpl-card-bottom-actions--grouped .tpl-cta-wrap--card-actions {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

/* Keep a small black separator when two colored bands are consecutive.
   Final lock also lives in bc-all-templates-fixes.css (loads last). */
.bc-t5-card .bc-t5-section--primary + .bc-t5-section--primary {
  margin-top: 8px;
}

/* Bottom CTA equal gap — reinforced in bc-all-templates-fixes.css (loads last). */
.bc-t5-card .tpl-card-bottom-actions--grouped {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.bc-t5-card .tpl-footer.tpl-footer--suite {
  padding: 0 20px 8px;
  background: transparent;
}

.bc-t5-card .tpl-footer-brand__tagline,
.bc-t5-card .tpl-footer-brand__link {
  color: var(--bc-t5-muted);
}

/* Decorative footer strip */
.bc-t5-footer-strip {
  height: 20px;
  background-color: color-mix(in srgb, var(--bc-t5-primary) 72%, #3b44b2);
  margin-top: 10px;
  position: relative;
  border-radius: 0;
}

.bc-t5-footer-star {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.5);
  font-size: 1rem;
  line-height: 1;
}

/* Published recipient view — full width shell */
html.pub-card-recipient #card-mount .pub-card.pub-card--template-05,
html.pub-card-recipient #card-mount .pub-card.pub-card--biznizdesign5 {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
}

html.pub-card-recipient #card-mount .pub-card--template-05 .bc-t5-card,
html.pub-card-recipient #card-mount .pub-card--biznizdesign5 .bc-t5-card {
  max-width: 100%;
  width: 100%;
  border-radius: 0;
  box-shadow: none;
  overflow-x: hidden;
  overflow-y: visible;
}

html.pub-card-recipient #card-mount .pub-card--template-05,
html.pub-card-recipient #card-mount .pub-card--biznizdesign5 {
  overflow-x: hidden;
  max-width: 100% !important;
}

html.pub-card-recipient #card-mount .pub-card--template-05 .bc-t5-footer-strip,
html.pub-card-recipient #card-mount .pub-card--biznizdesign5 .bc-t5-footer-strip {
  border-radius: 0;
}

html.pub-card-recipient body.pub-card-page:has(#card-mount .pub-card--template-05),
html.pub-card-recipient body.pub-card-page:has(#card-mount .pub-card--biznizdesign5) {
  background: #1a1a1a !important;
}
