/**
 * Icon chip balance — all templates, all four shapes (rounded, circle, square, hexagon).
 * Works with --tpl-ico-size / --tpl-ico-pad / --tpl-ico-svg / --tpl-ico-glyph-max from card-shared.js.
 * @version 20260526-icon-loan-footer
 */

article.pub-card[data-bc-tri="1"],
div.bc-card[data-bc-tri="1"],
[data-bc-t3="1"],
[data-bc-t4="1"],
.pub-card--template-02,
.bc-card.bc-t-template-02 {
  --tpl-ico-pad: calc(var(--tpl-ico-size, 75px) * 0.14);
  --tpl-ico-svg: calc(var(--tpl-ico-size, 75px) * 0.5);
  --tpl-ico-glyph-max: calc(var(--tpl-ico-size, 75px) * 0.72);
}

article.pub-card[data-bc-tri="1"][data-bc-icon-shape="hexagon"],
div.bc-card[data-bc-tri="1"][data-bc-icon-shape="hexagon"],
[data-bc-t3="1"][data-bc-icon-shape="hexagon"],
[data-bc-t4="1"][data-bc-icon-shape="hexagon"],
.pub-card--template-02[data-bc-icon-shape="hexagon"],
.bc-card.bc-t-template-02[data-bc-icon-shape="hexagon"] {
  --tpl-ico-pad: calc(var(--tpl-ico-size, 75px) * 0.18);
  --tpl-ico-svg: calc(var(--tpl-ico-size, 75px) * 0.44);
  --tpl-ico-glyph-max: calc(var(--tpl-ico-size, 75px) * 0.58);
}

/* Chip hosts — uniform padding + centered flex */
[data-bc-tri="1"] .tpl-ico,
.pub-card--template-02 .tpl-t02-icon-circle,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle,
.bc-t3-btn-ico,
.bc-t4-btn-ico {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--tpl-ico-pad, 9px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

[data-bc-t3="1"][data-bc-icon-outline="1"] .bc-t3-btn-ico,
[data-bc-t4="1"][data-bc-icon-outline="1"] .bc-t4-btn-ico,
[data-bc-tri="1"][data-bc-icon-outline="1"] .tpl-ico {
  overflow: visible !important;
}

/* Glyphs — fit inside padded safe area (no forced min dimensions) */
[data-bc-tri="1"] .tpl-ico > svg,
[data-bc-tri="1"] .tpl-ico > img.brand-ico,
[data-bc-tri="1"] .tpl-ico > .contact-icon-glyph,
[data-bc-tri="1"] .tpl-ico > .social-icon-glyph,
.pub-card--template-02 .tpl-t02-icon-circle > svg,
.pub-card--template-02 .tpl-t02-icon-circle > img.brand-ico,
.pub-card--template-02 .tpl-t02-icon-circle > .brand-ico-mask,
.pub-card--template-02 .tpl-t02-icon-circle > i,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle > svg,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle > img.brand-ico,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle > .brand-ico-mask,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle > i,
.bc-t3-btn-ico > svg,
.bc-t3-btn-ico > img.brand-ico,
.bc-t3-btn-ico > .contact-icon-glyph,
.bc-t4-btn-ico > svg,
.bc-t4-btn-ico > img.brand-ico,
.bc-t4-btn-ico > .contact-icon-glyph {
  width: var(--tpl-ico-svg, 38px) !important;
  height: var(--tpl-ico-svg, 38px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: var(--tpl-ico-glyph-max, var(--tpl-ico-svg, 38px)) !important;
  max-height: var(--tpl-ico-glyph-max, var(--tpl-ico-svg, 38px)) !important;
  flex-shrink: 0;
  object-fit: contain;
  object-position: center;
}

/* Font Awesome — scale from chip metrics, never overflow */
[data-bc-tri="1"] .tpl-ico > i,
.pub-card--template-02 .tpl-t02-icon-circle > i,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle > i,
.bc-t3-btn-ico > i,
.bc-t4-btn-ico > i {
  font-size: var(--tpl-ico-svg, 32px) !important;
  line-height: 1 !important;
  width: 1em;
  height: 1em;
  max-width: var(--tpl-ico-glyph-max, 72%) !important;
  max-height: var(--tpl-ico-glyph-max, 72%) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
}

[data-bc-tri="1"] .tpl-ico > i::before,
.bc-t3-btn-ico > i::before,
.bc-t4-btn-ico > i::before {
  line-height: 1;
}

/* Wide / tall FA glyphs */
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="fax"] > i,
.bc-t3-btn-ico:has(> .fa-fax) > i,
.bc-t4-btn-ico:has(> .fa-fax) > i {
  font-size: calc(var(--tpl-ico-svg, 32px) * 0.78) !important;
}

[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="mobile"] > i,
.bc-t3-btn-ico:has(> .fa-mobile-screen-button) > i,
.bc-t4-btn-ico:has(> .fa-mobile-screen-button) > i {
  font-size: calc(var(--tpl-ico-svg, 32px) * 0.88) !important;
}

/* Social brand marks — slight tune for visual weight */
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="instagram"] > svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="twitter"] > svg,
.bc-t3-btn-ico:has(> .fa-instagram) > i,
.bc-t4-btn-ico:has(> .fa-instagram) > i {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.92) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.92) !important;
}

[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="twitter"] > svg,
.bc-t3-btn-ico:has(> .fa-x-twitter) > i,
.bc-t4-btn-ico:has(> .fa-x-twitter) > i {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.88) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.88) !important;
}

[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="youtube"] > svg,
.bc-t3-btn-ico:has(> .fa-youtube) > i,
.bc-t4-btn-ico:has(> .fa-youtube) > i {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.94) !important;
}

[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="yelp"] > svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="linkedin"] > svg {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.9) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.9) !important;
}

[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="tumblr"] > svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="whatnot"] > svg {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.86) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.86) !important;
}

/* Client action icons — often wide or tall */
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="coupon"] svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="specials"] svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="menu"] svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="catering"] svg,
.bc-t3-btn-ico .brand-ico-mask,
.bc-t4-btn-ico .brand-ico-mask {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.82) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.82) !important;
}

/* Delivery wordmarks */
svg.brand-ico--grubhub-wordmark,
.bc-t3-btn-ico--grubhub svg.brand-ico--grubhub-wordmark,
.bc-t4-btn-ico--grubhub svg.brand-ico--grubhub-wordmark,
[data-bc-tri="1"] .tpl-ico svg.brand-ico--grubhub-wordmark,
.pub-card--template-02 .tpl-t02-icon-circle svg.brand-ico--grubhub-wordmark {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.92) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.38) !important;
}

.bc-t3-btn-item--ubereats .bc-t3-btn-ico svg,
.bc-t4-btn-item--ubereats .bc-t4-btn-ico svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="ubereats"] svg,
[data-bc-tri="1"] .tpl-ico[data-bc-chip-key="doordash"] svg {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.9) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.42) !important;
}

/* Globe (website) keeps stroke */
[data-bc-tri="1"] svg.bc-ico-globe,
.bc-t3-btn-ico svg.bc-ico-globe,
.bc-t4-btn-ico svg.bc-ico-globe {
  max-width: calc(var(--tpl-ico-glyph-max, 72%) * 0.9) !important;
  max-height: calc(var(--tpl-ico-glyph-max, 72%) * 0.9) !important;
}

/* Template 1 ledger grid — tighter chips */
.pub-card--template-01 .tpl-links-grid--t01-ledger .tpl-lg-ul-contact,
.pub-card--template-01 .tpl-links-grid--t01-ledger .tpl-lg-ul-social,
.pub-card--template-01 .tpl-links-grid--t01-ledger .tpl-lg-ul-delivery,
.pub-card--template-01 .tpl-links-grid--t01-ledger .tpl-links-qcell--payment .tpl-rows,
.bc-card.bc-t-template-01 .tpl-links-grid--t01-ledger .tpl-lg-ul-contact,
.bc-card.bc-t-template-01 .tpl-links-grid--t01-ledger .tpl-lg-ul-social,
.bc-card.bc-t-template-01 .tpl-links-grid--t01-ledger .tpl-lg-ul-delivery,
.bc-card.bc-t-template-01 .tpl-links-grid--t01-ledger .tpl-links-qcell--payment .tpl-rows,
.pub-card--template-01b .tpl-links-grid--t01-ledger .tpl-lg-ul-contact,
.pub-card--template-01b .tpl-links-grid--t01-ledger .tpl-lg-ul-social,
.pub-card--template-01b .tpl-links-grid--t01-ledger .tpl-lg-ul-delivery,
.pub-card--template-01b .tpl-links-grid--t01-ledger .tpl-links-qcell--payment .tpl-rows,
.bc-card.bc-t-template-01b .tpl-links-grid--t01-ledger .tpl-lg-ul-contact,
.bc-card.bc-t-template-01b .tpl-links-grid--t01-ledger .tpl-lg-ul-social,
.bc-card.bc-t-template-01b .tpl-links-grid--t01-ledger .tpl-lg-ul-delivery,
.bc-card.bc-t-template-01b .tpl-links-grid--t01-ledger .tpl-links-qcell--payment .tpl-rows {
  --tpl-ico-pad: calc(var(--tpl-ico-size, 75px) * 0.14);
  --tpl-ico-svg: calc(var(--tpl-ico-size, 75px) * 0.5);
  --tpl-ico-glyph-max: calc(var(--tpl-ico-size, 75px) * 0.72);
}

.pub-card--template-01 .tpl-links-grid--t01-ledger[data-bc-icon-shape="hexagon"] .tpl-lg-ul-contact,
.pub-card--template-01 .tpl-links-grid--t01-ledger[data-bc-icon-shape="hexagon"] .tpl-lg-ul-social,
.bc-card.bc-t-template-01 .tpl-links-grid--t01-ledger[data-bc-icon-shape="hexagon"] .tpl-lg-ul-contact,
.bc-card.bc-t-template-01 .tpl-links-grid--t01-ledger[data-bc-icon-shape="hexagon"] .tpl-lg-ul-social {
  --tpl-ico-pad: calc(var(--tpl-ico-size, 72px) * 0.18);
  --tpl-ico-glyph-max: calc(var(--tpl-ico-size, 72px) * 0.58);
}

/* Client action-link masks — keep explicit size (auto collapses empty mask spans) */
[data-bc-tri="1"] .tpl-ico > .brand-ico-mask,
.pub-card--template-02 .tpl-t02-icon-circle > .brand-ico-mask,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle > .brand-ico-mask,
.bc-t3-btn-ico > .brand-ico-mask,
.bc-t4-btn-ico > .brand-ico-mask {
  display: block !important;
  flex: 0 0 var(--tpl-ico-svg, 32px) !important;
  width: var(--tpl-ico-svg, 32px) !important;
  height: var(--tpl-ico-svg, 32px) !important;
  min-width: var(--tpl-ico-svg, 32px) !important;
  min-height: var(--tpl-ico-svg, 32px) !important;
  max-width: var(--tpl-ico-glyph-max, 72%) !important;
  max-height: var(--tpl-ico-glyph-max, 72%) !important;
  background-color: currentColor !important;
}
