/**
 * Bizniz Design 2 & 3 — shell layout (step strips removed from markup; CSS hides any legacy nodes).
 * Design 2 Part 1: balanced SVG gold + stroked stripe (legacy); Design 3: cyan layered strips (legacy).
 */

.pub-card--template-02,
.bc-card.bc-t-template-02 {
  --tpl-text: #1e1b4b;
  --tpl-muted: #64748b;
  --tpl-line: rgba(30, 27, 75, 0.08);
  --tpl-canvas: #f4f4f5;
}

.pub-card--template-03,
.bc-card.bc-t-template-03 {
  --tpl-canvas: var(--tpl-teal-soft, #f0f9fc);
}

.pub-card--template-02 .tpl-card-shell,
.bc-card.bc-t-template-02 .tpl-card-shell,
.pub-card--template-03 .tpl-card-shell,
.bc-card.bc-t-template-03 .tpl-card-shell {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: flex-start;
  width: 100%;
  border-radius: var(--tpl-radius-xl, 32px);
  overflow: hidden;
  border: 1px solid var(--tpl-line, rgba(15, 23, 42, 0.1));
  box-shadow: var(--tpl-shadow-card, 0 4px 24px rgba(15, 23, 42, 0.07));
  background: var(--tpl-surface, #fff);
}

.pub-card--template-02 .tpl-step-strip,
.bc-card.bc-t-template-02 .tpl-step-strip,
.pub-card--template-03 .tpl-step-strip,
.bc-card.bc-t-template-03 .tpl-step-strip {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  flex-shrink: 0;
  line-height: 0;
}

.pub-card--template-02 .tpl-step-strip,
.bc-card.bc-t-template-02 .tpl-step-strip {
  background: var(--tpl-surface, #fff);
}

.pub-card--template-03 .tpl-step-strip,
.bc-card.bc-t-template-03 .tpl-step-strip {
  background: var(--tpl-surface, #fff);
}

.pub-card--template-02 .tpl-step-svg,
.bc-card.bc-t-template-02 .tpl-step-svg,
.pub-card--template-03 .tpl-step-svg,
.bc-card.bc-t-template-03 .tpl-step-svg {
  width: 100%;
  min-width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}

/* Design 2 Part 1 — SVG banner (stretch width, fixed band height); bottom strip mirrored */
.pub-card--template-02 .tpl-part1-frame,
.bc-card.bc-t-template-02 .tpl-part1-frame {
  background: transparent;
}

.pub-card--template-02 .tpl-part1-container,
.bc-card.bc-t-template-02 .tpl-part1-container {
  width: 100%;
  height: var(--tpl-part1-banner-height, 96px);
  display: block;
  margin: 0;
  line-height: 0;
}

.pub-card--template-02 .tpl-part1-svg,
.bc-card.bc-t-template-02 .tpl-part1-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.pub-card--template-02 .tpl-step-strip--bottom .tpl-part1-container,
.bc-card.bc-t-template-02 .tpl-step-strip--bottom .tpl-part1-container {
  transform: scaleY(-1);
}

/* Skin 03: bottom strip flipped */
.pub-card--template-03 .tpl-step-strip--bottom .tpl-step-svg,
.bc-card.bc-t-template-03 .tpl-step-strip--bottom .tpl-step-svg {
  transform: scaleY(-1);
}

/* Stepped top/bottom strips were removed from tri markup for Designs 2–3. Hide any legacy
   nodes (stale embeds, older JS bundles, or cached innerHTML) so they never paint again. */
.pub-card--template-02 .tpl-step-strip,
.bc-card.bc-t-template-02 .tpl-step-strip,
.pub-card--template-03 .tpl-step-strip,
.bc-card.bc-t-template-03 .tpl-step-strip {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  border: 0 !important;
  flex: 0 0 0 !important;
}

.pub-card--template-02 .tpl-surface,
.bc-card.bc-t-template-02 .tpl-surface,
.pub-card--template-03 .tpl-surface,
.bc-card.bc-t-template-03 .tpl-surface {
  position: relative;
  z-index: 1;
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  background: var(--tpl-surface, #fff);
  border-radius: 0;
  border: none;
  box-shadow: none;
  padding: clamp(1.5rem, 4.5vw, 2.15rem);
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 2.8vw, 1.45rem);
}

/* Match Design 1 inner hero behavior on skins 02 / 03 (bc-templates-series.css is scoped to template-01 only). */
.pub-card--template-02 .tpl-hero,
.bc-card.bc-t-template-02 .tpl-hero,
.pub-card--template-03 .tpl-hero,
.bc-card.bc-t-template-03 .tpl-hero {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.pub-card--template-02 .tpl-hero--digital-only .tpl-hero__physical,
.bc-card.bc-t-template-02 .tpl-hero--digital-only .tpl-hero__physical,
.pub-card--template-03 .tpl-hero--digital-only .tpl-hero__physical,
.bc-card.bc-t-template-03 .tpl-hero--digital-only .tpl-hero__physical {
  display: none;
}

.pub-card--template-02 .tpl-hero__digital-fallback,
.bc-card.bc-t-template-02 .tpl-hero__digital-fallback,
.pub-card--template-03 .tpl-hero__digital-fallback,
.bc-card.bc-t-template-03 .tpl-hero__digital-fallback {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
  padding: 0.35rem 0 0.15rem;
}

.pub-card--template-02 .tpl-hero--digital-only .tpl-hero__digital-fallback,
.bc-card.bc-t-template-02 .tpl-hero--digital-only .tpl-hero__digital-fallback,
.pub-card--template-03 .tpl-hero--digital-only .tpl-hero__digital-fallback,
.bc-card.bc-t-template-03 .tpl-hero--digital-only .tpl-hero__digital-fallback {
  display: flex;
}

.pub-card--template-02 .tpl-hero__digital-avatar,
.bc-card.bc-t-template-02 .tpl-hero__digital-avatar,
.pub-card--template-03 .tpl-hero__digital-avatar,
.bc-card.bc-t-template-03 .tpl-hero__digital-avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--tpl-teal-soft, rgba(0, 153, 174, 0.12)), rgba(241, 245, 249, 0.95));
  border: 3px solid rgba(0, 153, 174, 0.35);
  box-shadow: var(--tpl-shadow-soft, 0 2px 8px rgba(15, 23, 42, 0.06));
  display: grid;
  place-items: center;
  color: var(--tpl-teal, #0099ae);
  overflow: hidden;
}

.pub-card--template-02 .tpl-hero__digital-avatar img,
.bc-card.bc-t-template-02 .tpl-hero__digital-avatar img,
.pub-card--template-03 .tpl-hero__digital-avatar img,
.bc-card.bc-t-template-03 .tpl-hero__digital-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.pub-card--template-02 .tpl-hero__frame,
.bc-card.bc-t-template-02 .tpl-hero__frame,
.pub-card--template-03 .tpl-hero__frame,
.bc-card.bc-t-template-03 .tpl-hero__frame {
  border-radius: var(--tpl-radius-lg, 24px);
  padding: clamp(0.5rem, 2vw, 0.65rem);
  background: linear-gradient(165deg, #f8fafc 0%, #eef2f7 100%);
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: var(--tpl-shadow-hero, 0 8px 32px rgba(15, 23, 42, 0.08));
}

.pub-card--template-02 .tpl-hero__card,
.bc-card.bc-t-template-02 .tpl-hero__card,
.pub-card--template-03 .tpl-hero__card,
.bc-card.bc-t-template-03 .tpl-hero__card {
  position: relative;
  width: 100%;
  aspect-ratio: 3.5 / 2;
  max-height: 220px;
  margin: 0 auto;
  border-radius: calc(var(--tpl-radius-md, 16px) - 2px);
  overflow: hidden;
}

.pub-card--template-02 .tpl-hero__card > img,
.bc-card.bc-t-template-02 .tpl-hero__card > img,
.pub-card--template-03 .tpl-hero__card > img,
.bc-card.bc-t-template-03 .tpl-hero__card > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(var(--tpl-radius-md, 16px) - 4px);
}

.pub-card--template-02 .tpl-identity-stack,
.bc-card.bc-t-template-02 .tpl-identity-stack,
.pub-card--template-03 .tpl-identity-stack,
.bc-card.bc-t-template-03 .tpl-identity-stack {
  display: flex;
  flex-direction: column;
  gap: clamp(0.7rem, 3.2vw, 1.15rem);
}

.pub-card--template-02 .tpl-profile,
.bc-card.bc-t-template-02 .tpl-profile,
.pub-card--template-03 .tpl-profile,
.bc-card.bc-t-template-03 .tpl-profile {
  text-align: center;
}

.pub-card--template-02 .tpl-profile.tpl-profile--row,
.bc-card.bc-t-template-02 .tpl-profile.tpl-profile--row,
.pub-card--template-03 .tpl-profile.tpl-profile--row,
.bc-card.bc-t-template-03 .tpl-profile.tpl-profile--row {
  text-align: left;
}

.pub-card--template-02 .tpl-profile__media,
.bc-card.bc-t-template-02 .tpl-profile__media,
.pub-card--template-03 .tpl-profile__media,
.bc-card.bc-t-template-03 .tpl-profile__media {
  margin: 0 auto 0.85rem;
}

.pub-card--template-02 .tpl-profile__photo,
.bc-card.bc-t-template-02 .tpl-profile__photo,
.pub-card--template-03 .tpl-profile__photo,
.bc-card.bc-t-template-03 .tpl-profile__photo {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
  border: 3px solid rgba(0, 153, 174, 0.35);
  box-shadow: var(--tpl-shadow-soft, 0 2px 8px rgba(15, 23, 42, 0.06));
}

.pub-card--template-02 .tpl-hero__card--filled,
.bc-card.bc-t-template-02 .tpl-hero__card--filled,
.pub-card--template-03 .tpl-hero__card--filled,
.bc-card.bc-t-template-03 .tpl-hero__card--filled {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  display: block;
  box-shadow: none;
}

/* —— Bizniz Design 2 Part 2: profile row + contact box (Part 1 = .tpl-part1-frame strips) —— */
.pub-card--template-02 .tpl-preview-wrap,
.bc-card.bc-t-template-02 .tpl-preview-wrap {
  max-width: 450px;
  margin-inline: auto;
}

.pub-card--template-02 .tpl-surface,
.bc-card.bc-t-template-02 .tpl-surface {
  font-family: "Montserrat", var(--tpl-font, system-ui), sans-serif;
  --tpl-t02-ink: var(--tpl-text, #333);
  --tpl-t02-muted: var(--tpl-muted, #555);
  --tpl-t02-line: #e0e0e0;
  --tpl-t02-gold: var(--tpl-part1-gold, #e3bc7a);
  --tpl-t02-circle: var(--tpl-part1-dark, #121212);
  color: var(--tpl-t02-ink);
}

.pub-card--template-02 .tpl-t02-profile-header,
.bc-card.bc-t-template-02 .tpl-t02-profile-header {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  margin-bottom: 0.25rem;
  text-align: left;
}

.pub-card--template-02 .tpl-t02-logo-circle,
.bc-card.bc-t-template-02 .tpl-t02-logo-circle {
  flex: 0 0 auto;
  width: 95px;
  height: 95px;
  min-width: 95px;
  max-width: 95px;
  border-radius: 50%;
  background: var(--tpl-t02-circle);
  color: var(--tpl-t02-gold);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.35rem;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
}

.pub-card--template-02 .tpl-t02-logo-img,
.bc-card.bc-t-template-02 .tpl-t02-logo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  box-sizing: border-box;
}

.pub-card--template-02 .tpl-t02-logo-img:not(.tpl-t02-logo-img--profile),
.bc-card.bc-t-template-02 .tpl-t02-logo-img:not(.tpl-t02-logo-img--profile) {
  object-fit: contain;
  padding: 6%;
}

.pub-card--template-02 .tpl-t02-logo-tagline,
.bc-card.bc-t-template-02 .tpl-t02-logo-tagline {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.42rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--tpl-t02-gold);
  max-width: 4.25rem;
}

.pub-card--template-02 .tpl-t02-logo-fallback-svg svg,
.bc-card.bc-t-template-02 .tpl-t02-logo-fallback-svg svg {
  width: 22px;
  height: 22px;
}

.pub-card--template-02 .tpl-t02-header-info .tpl-t02-name,
.bc-card.bc-t-template-02 .tpl-t02-header-info .tpl-t02-name,
.pub-card--template-02 .tpl-t02-header-info .tpl-profile__name,
.bc-card.bc-t-template-02 .tpl-t02-header-info .tpl-profile__name {
  font-size: var(--tpl-identity-name-size, max(1.22rem, 1.33rem));
  font-weight: 800;
  line-height: 1.14;
  margin: 0.5rem 0 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.pub-card--template-02 .tpl-t02-tagline,
.bc-card.bc-t-template-02 .tpl-t02-tagline {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--tpl-t02-muted);
  line-height: 1.45;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pub-card--template-02 .tpl-t02-tagline[data-personal-line="title"],
.bc-card.bc-t-template-02 .tpl-t02-tagline[data-personal-line="title"] {
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 600;
}

.pub-card--template-02 .tpl-t02-tagline[data-ds="business"]:not([data-personal-line="title"]),
.bc-card.bc-t-template-02 .tpl-t02-tagline[data-ds="business"]:not([data-personal-line="title"]) {
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 600;
}

.pub-card--template-02 .tpl-t02-tagline span[data-personal-line="title"],
.bc-card.bc-t-template-02 .tpl-t02-tagline span[data-personal-line="title"] {
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 600;
}

.pub-card--template-02 .tpl-t02-tagline span[data-ds="business"],
.bc-card.bc-t-template-02 .tpl-t02-tagline span[data-ds="business"] {
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 600;
}

.pub-card--template-02 .tpl-t02-extra-meta,
.bc-card.bc-t-template-02 .tpl-t02-extra-meta {
  margin-top: 0.45rem;
}

.pub-card--template-02 .tpl-t02-extra-meta .tpl-profile__headline,
.bc-card.bc-t-template-02 .tpl-t02-extra-meta .tpl-profile__headline {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.8rem;
}

.pub-card--template-02 .tpl-t02-contact-box,
.bc-card.bc-t-template-02 .tpl-t02-contact-box {
  border: 1px solid var(--tpl-t02-line);
  background: #ffffff;
  border-radius: 20px;
  padding: 1.1rem 0.85rem 1rem;
  text-align: center;
}

.pub-card--template-02 .tpl-t02-section-title,
.bc-card.bc-t-template-02 .tpl-t02-section-title {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--tpl-t02-ink, var(--tpl-text, #1e1b4b));
}

.pub-card--template-02 .tpl-t02-contact-grid,
.bc-card.bc-t-template-02 .tpl-t02-contact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 1.1rem;
}

.pub-card--template-02 .tpl-t02-contact-grid + .tpl-t02-contact-grid--more,
.bc-card.bc-t-template-02 .tpl-t02-contact-grid + .tpl-t02-contact-grid--more {
  margin-top: 0.5rem;
}

.pub-card--template-02 .tpl-t02-contact-grid--more,
.bc-card.bc-t-template-02 .tpl-t02-contact-grid--more {
  margin-bottom: 0.05rem;
}

/* Contact extras + meetings: same vertical list alignment as Template 1 rows */
.pub-card--template-02 .tpl-t02-contact-extras-list,
.pub-card--template-02 .tpl-t02-meetings-list,
.bc-card.bc-t-template-02 .tpl-t02-contact-extras-list,
.bc-card.bc-t-template-02 .tpl-t02-meetings-list {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

.pub-card--template-02 .tpl-t02-contact-extras-list .tpl-row,
.pub-card--template-02 .tpl-t02-meetings-list .tpl-row,
.bc-card.bc-t-template-02 .tpl-t02-contact-extras-list .tpl-row,
.bc-card.bc-t-template-02 .tpl-t02-meetings-list .tpl-row {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
}

.pub-card--template-02 .tpl-t02-contact-extras-list .tpl-row--contact > .tpl-row__link,
.pub-card--template-02 .tpl-t02-contact-extras-list .tpl-row--contact > .tpl-row__btn,
.pub-card--template-02 .tpl-t02-meetings-list .tpl-row--contact > .tpl-row__link,
.pub-card--template-02 .tpl-t02-meetings-list .tpl-row--contact > .tpl-row__btn,
.bc-card.bc-t-template-02 .tpl-t02-contact-extras-list .tpl-row--contact > .tpl-row__link,
.bc-card.bc-t-template-02 .tpl-t02-contact-extras-list .tpl-row--contact > .tpl-row__btn,
.bc-card.bc-t-template-02 .tpl-t02-meetings-list .tpl-row--contact > .tpl-row__link,
.bc-card.bc-t-template-02 .tpl-t02-meetings-list .tpl-row--contact > .tpl-row__btn {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.65rem !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pub-card--template-02 .tpl-t02-contact-item,
.bc-card.bc-t-template-02 .tpl-t02-contact-item {
  text-decoration: none;
  color: var(--tpl-t02-ink);
  border: 1px solid var(--tpl-t02-line);
  border-radius: 15px;
  padding: 0.85rem 0.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.7rem;
  font-weight: 400;
  min-height: 7rem;
  box-sizing: border-box;
}

.pub-card--template-02 .tpl-t02-contact-item--muted,
.bc-card.bc-t-template-02 .tpl-t02-contact-item--muted {
  opacity: 0.45;
  pointer-events: none;
}

.pub-card--template-02 .tpl-t02-icon-circle,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle {
  width: var(--tpl-ico-size, 72px);
  height: var(--tpl-ico-size, 72px);
  min-width: var(--tpl-ico-size, 72px);
  min-height: var(--tpl-ico-size, 72px);
  max-width: var(--tpl-ico-size, 72px);
  max-height: var(--tpl-ico-size, 72px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--tpl-brand, #4f46e5);
  color: var(--tpl-t02-icon-fg, #fff);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  overflow: hidden;
}

/* Default reset style: white glyphs on brand circles */
.pub-card--template-02 .tpl-t02-icon-circle .tpl-ico svg,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle .tpl-ico svg,
.pub-card--template-02 .tpl-t02-icon-circle svg,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle svg {
  color: var(--tpl-t02-icon-fg, #fff);
}

.pub-card--template-02 .tpl-t02-icon-circle svg,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle svg {
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  max-width: var(--tpl-ico-glyph-max, var(--tpl-ico-svg, 42px));
  max-height: var(--tpl-ico-glyph-max, var(--tpl-ico-svg, 42px));
  display: block;
  flex-shrink: 1;
  object-fit: contain;
}

.pub-card--template-02 .tpl-t02-icon-circle svg.bc-ico-globe,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle svg.bc-ico-globe {
  fill: none !important;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Template 2: bottom CTA buttons — smaller labels so BOOK APPOINTMENT / GOOGLE MEET fit */
.pub-card--template-02 .tpl-card-bottom-actions .tpl-card-action-btn__lbl,
.bc-card.bc-t-template-02 .tpl-card-bottom-actions .tpl-card-action-btn__lbl,
.pub-card--template-02 .tpl-card-bottom-actions .tpl-cta--card-action .tpl-card-action-btn__lbl,
.bc-card.bc-t-template-02 .tpl-card-bottom-actions .tpl-cta--card-action .tpl-card-action-btn__lbl {
  font-size: 0.5625rem;
  line-height: 1.12;
  letter-spacing: 0.03em;
  max-height: 2.5em;
  padding: 0 0.15rem;
  box-sizing: border-box;
}

.pub-card--template-02 .tpl-t02-icon-circle img.brand-ico,
.bc-card.bc-t-template-02 .tpl-t02-icon-circle img.brand-ico {
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  max-width: var(--tpl-ico-glyph-max, var(--tpl-ico-svg, 42px));
  max-height: var(--tpl-ico-glyph-max, var(--tpl-ico-svg, 42px));
  display: block;
  flex-shrink: 1;
  object-fit: contain;
  border-radius: 4px;
}

.pub-card--template-02 .tpl-t02-icon-circle:has(> img.brand-ico),
.bc-card.bc-t-template-02 .tpl-t02-icon-circle:has(> img.brand-ico) {
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.pub-card--template-02 .tpl-t02-social-title,
.bc-card.bc-t-template-02 .tpl-t02-social-title {
  margin: 0 0 0.65rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}

.pub-card--template-02 .tpl-t02-social-row,
.bc-card.bc-t-template-02 .tpl-t02-social-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.45rem;
}

/* Must follow base .tpl-t02-social-row so display:flex wins over display:grid */
.pub-card--template-02 .tpl-t02-social-row.tpl-t02-social-row--flex,
.bc-card.bc-t-template-02 .tpl-t02-social-row.tpl-t02-social-row--flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.pub-card--template-02 .tpl-t02-social-row--flex .tpl-t02-social-item,
.bc-card.bc-t-template-02 .tpl-t02-social-row--flex .tpl-t02-social-item {
  flex: 0 0 auto;
  min-width: 80px;
  min-height: 80px;
}

.pub-card--template-02 .tpl-t02-social-row--flex .tpl-t02-social-item .tpl-t02-icon-circle,
.bc-card.bc-t-template-02 .tpl-t02-social-row--flex .tpl-t02-social-item .tpl-t02-icon-circle {
  width: var(--tpl-ico-size, 72px);
  height: var(--tpl-ico-size, 72px);
  min-width: var(--tpl-ico-size, 72px);
  min-height: var(--tpl-ico-size, 72px);
  max-width: var(--tpl-ico-size, 72px);
  max-height: var(--tpl-ico-size, 72px);
}

.pub-card--template-02 .tpl-t02-social-row--flex .tpl-t02-social-item .tpl-t02-icon-circle svg,
.bc-card.bc-t-template-02 .tpl-t02-social-row--flex .tpl-t02-social-item .tpl-t02-icon-circle svg,
.pub-card--template-02 .tpl-t02-social-row--flex .tpl-t02-social-item .tpl-t02-icon-circle img.brand-ico,
.bc-card.bc-t-template-02 .tpl-t02-social-row--flex .tpl-t02-social-item .tpl-t02-icon-circle img.brand-ico {
  width: var(--tpl-ico-svg, 42px);
  height: var(--tpl-ico-svg, 42px);
  max-width: var(--tpl-ico-svg, 42px);
  max-height: var(--tpl-ico-svg, 42px);
}

.pub-card--template-02 .tpl-t02-social-item,
.bc-card.bc-t-template-02 .tpl-t02-social-item {
  border: 1px solid var(--tpl-t02-line);
  border-radius: 10px;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}

.pub-card--template-02 .tpl-t02-social-item--muted,
.bc-card.bc-t-template-02 .tpl-t02-social-item--muted {
  opacity: 0.4;
  pointer-events: none;
}

.pub-card--template-02 .tpl-t02-social-item .tpl-t02-icon-circle,
.bc-card.bc-t-template-02 .tpl-t02-social-item .tpl-t02-icon-circle {
  width: var(--tpl-ico-size, 72px);
  height: var(--tpl-ico-size, 72px);
  min-width: var(--tpl-ico-size, 72px);
  min-height: var(--tpl-ico-size, 72px);
  max-width: var(--tpl-ico-size, 72px);
  max-height: var(--tpl-ico-size, 72px);
}

.pub-card--template-02 .tpl-t02-social-item .tpl-t02-icon-circle svg,
.bc-card.bc-t-template-02 .tpl-t02-social-item .tpl-t02-icon-circle svg {
  width: var(--tpl-ico-svg, 42px);
  height: var(--tpl-ico-svg, 42px);
  max-width: var(--tpl-ico-svg, 42px);
  max-height: var(--tpl-ico-svg, 42px);
}

.pub-card--template-02 .tpl-t02-overflow,
.bc-card.bc-t-template-02 .tpl-t02-overflow {
  margin-top: 1rem;
  text-align: left;
}

.pub-card--template-02 .tpl-t02-overflow-heading,
.bc-card.bc-t-template-02 .tpl-t02-overflow-heading {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--tpl-t02-muted);
}

.pub-card--template-02 .tpl-t02-overflow-heading:first-child,
.bc-card.bc-t-template-02 .tpl-t02-overflow-heading:first-child {
  margin-top: 0.35rem;
}

/* Template 2 only: stacked section panels (Contact / Social / Delivery / Payment) */
.pub-card--template-02 .tpl-t02-contact-box.tpl-t02-links-stack,
.bc-card.bc-t-template-02 .tpl-t02-contact-box.tpl-t02-links-stack {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.75rem 0.65rem 0.9rem;
}

.pub-card--template-02 .tpl-t02-stack-panel,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel {
  border: 1px solid var(--tpl-t02-line);
  border-radius: 14px;
  padding: 0.75rem 0.65rem 0.85rem;
  background: rgba(248, 250, 252, 0.98);
  text-align: left;
}

.pub-card--template-02 .tpl-t02-stack-panel--contact,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel--contact {
  text-align: center;
}

.pub-card--template-02 .tpl-t02-stack-panel--social,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel--social {
  text-align: center;
}

.pub-card--template-02 .tpl-t02-stack-panel .tpl-t02-section-title,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel .tpl-t02-section-title {
  margin-top: 0;
  margin-bottom: 0.7rem;
}

.pub-card--template-02 .tpl-t02-stack-detail,
.bc-card.bc-t-template-02 .tpl-t02-stack-detail {
  margin-top: 0.6rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--tpl-t02-line);
  text-align: left;
}

.pub-card--template-02 .tpl-t02-stack-subtitle,
.bc-card.bc-t-template-02 .tpl-t02-stack-subtitle {
  margin: 0.85rem 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tpl-t02-muted);
  text-align: left;
}

.pub-card--template-02 .tpl-t02-stack-detail .tpl-t02-stack-subtitle:first-child,
.bc-card.bc-t-template-02 .tpl-t02-stack-detail .tpl-t02-stack-subtitle:first-child {
  margin-top: 0;
}

.pub-card--template-02 .tpl-t02-stack-panel--delivery,
.pub-card--template-02 .tpl-t02-stack-panel--payment,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel--delivery,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel--payment {
  text-align: center;
}

.pub-card--template-02 .tpl-t02-stack-panel--delivery .tpl-t02-section-title,
.pub-card--template-02 .tpl-t02-stack-panel--payment .tpl-t02-section-title,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel--delivery .tpl-t02-section-title,
.bc-card.bc-t-template-02 .tpl-t02-stack-panel--payment .tpl-t02-section-title {
  text-align: center;
}

.pub-card--template-02 .tpl-gallery .tpl-module__title,
.bc-card.bc-t-template-02 .tpl-gallery .tpl-module__title,
.pub-card--template-02 .tpl-video .tpl-module__title,
.bc-card.bc-t-template-02 .tpl-video .tpl-module__title {
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: none;
  margin-bottom: 0.65rem;
}

.pub-card--template-02 .tpl-cta-wrap--t02-footer,
.bc-card.bc-t-template-02 .tpl-cta-wrap--t02-footer {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 0.65rem;
}

.pub-card--template-02 .tpl-cta-wrap--t02-footer .tpl-cta,
.bc-card.bc-t-template-02 .tpl-cta-wrap--t02-footer .tpl-cta {
  text-align: center;
  font-size: 0.8rem;
  padding: 0.85rem 0.5rem;
  border-radius: 8px;
}

@media (max-width: 380px) {
  .pub-card--template-02 .tpl-t02-contact-grid,
  .bc-card.bc-t-template-02 .tpl-t02-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pub-card--template-02 .tpl-t02-social-row,
  .bc-card.bc-t-template-02 .tpl-t02-social-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* —— Bizniz Design 3 Part 2 (Part 1 = skin03 strips only; does not alter Design 1 / 2 rules above) —— */
.pub-card--template-03 .tpl-preview-wrap,
.bc-card.bc-t-template-03 .tpl-preview-wrap {
  max-width: 450px;
  margin-inline: auto;
}

.pub-card--template-03 .tpl-surface,
.bc-card.bc-t-template-03 .tpl-surface {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* --tpl-t03-* tokens are set on .tpl-preview-wrap (inline) by js/card-shared triSuiteMarkup — do not redefine them here or user color picks are ignored. */
  color: var(--tpl-t03-ink, #333);
}

.pub-card--template-03 .tpl-t03-profile-header,
.bc-card.bc-t-template-03 .tpl-t03-profile-header {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 0.35rem;
  text-align: left;
}

.pub-card--template-03 .tpl-t03-logo-circle,
.bc-card.bc-t-template-03 .tpl-t03-logo-circle {
  flex: 0 0 auto;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--tpl-t03-navy);
  border: 2px solid var(--tpl-t03-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: var(--tpl-t03-gold);
}

.pub-card--template-03 .tpl-t03-logo-img,
.pub-card--template-03 .tpl-t03-avatar-img,
.bc-card.bc-t-template-03 .tpl-t03-logo-img,
.bc-card.bc-t-template-03 .tpl-t03-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.pub-card--template-03 .tpl-t03-logo-img,
.bc-card.bc-t-template-03 .tpl-t03-logo-img {
  object-fit: contain;
  padding: 0.35rem;
}

/* Guide/reset mode: force identical logo placeholder presentation across templates. */
[data-bc-tri="1"] .tpl-preview-wrap--guide .tpl-t02-logo-circle,
[data-bc-tri="1"] .tpl-preview-wrap--guide .tpl-t03-logo-circle {
  background: transparent;
  border: 0;
  padding: 0;
}

[data-bc-tri="1"] .tpl-preview-wrap--guide .tpl-t02-logo-circle {
  width: 95px;
  height: 95px;
  min-width: 95px;
  max-width: 95px;
}

[data-bc-tri="1"] .tpl-preview-wrap--guide .tpl-t02-logo-img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  border-radius: 50%;
  object-fit: cover;
  padding: 0;
  border: 0;
  box-shadow: none;
  display: block;
}

[data-bc-tri="1"] .tpl-preview-wrap--guide .tpl-t03-logo-img,
[data-bc-tri="1"] .tpl-preview-wrap--guide .tpl-profile__mark--logo .tpl-profile__logo {
  width: 80px;
  height: 80px;
  max-width: 80px;
  max-height: 80px;
  border-radius: 50%;
  object-fit: cover;
  padding: 0;
  border: 0;
  box-shadow: none;
  display: block;
}

.pub-card--template-03 .tpl-t03-name,
.bc-card.bc-t-template-03 .tpl-t03-name {
  margin: 0.5rem 0 0;
  font-size: var(--tpl-identity-name-size, max(1.22rem, 1.33rem));
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.14;
  color: var(--tpl-t03-ink, #222);
}

.pub-card--template-03 .tpl-t03-line,
.bc-card.bc-t-template-03 .tpl-t03-line {
  margin: 2px 0 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--tpl-t03-muted);
}

.pub-card--template-03 .tpl-t03-line--title,
.bc-card.bc-t-template-03 .tpl-t03-line--title {
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 400;
  line-height: 1.22;
}

.pub-card--template-03 .tpl-t03-line--company,
.bc-card.bc-t-template-03 .tpl-t03-line--company {
  margin: 0;
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 800;
  line-height: 1.22;
}

.pub-card--template-02 .tpl-t02-line--title,
.bc-card.bc-t-template-02 .tpl-t02-line--title {
  margin: 0.5rem 0 0;
  font-size: clamp(0.9rem, 2.6vw, 1.05rem);
  font-weight: 400;
  color: var(--tpl-t02-muted);
  line-height: 1.45;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pub-card--template-02 .tpl-t02-line--company,
.bc-card.bc-t-template-02 .tpl-t02-line--company {
  margin: 0;
  font-size: clamp(0.9rem, 2.6vw, 1.05rem);
  font-weight: 800;
  color: var(--tpl-t02-ink, var(--tpl-text, #1e1b4b));
  line-height: 1.45;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pub-card--template-03 .tpl-t03-extra-meta,
.bc-card.bc-t-template-03 .tpl-t03-extra-meta {
  margin-top: 0.5rem;
}

.pub-card--template-03 .tpl-t03-extra-meta .tpl-profile__headline,
.bc-card.bc-t-template-03 .tpl-t03-extra-meta .tpl-profile__headline {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.8rem;
}

.pub-card--template-03 .tpl-t03-contact-card,
.bc-card.bc-t-template-03 .tpl-t03-contact-card {
  border: 1px solid var(--tpl-t03-line);
  border-radius: 20px;
  padding: 1.25rem 1rem 1.1rem;
  background: #fff;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.pub-card--template-03 .tpl-t03-card-title,
.bc-card.bc-t-template-03 .tpl-t03-card-title {
  margin: 0 0 1.15rem;
  font-size: 1.05rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.02em;
  color: var(--tpl-t03-ink, #222);
}

.pub-card--template-03 .tpl-t03-contact-grid,
.bc-card.bc-t-template-03 .tpl-t03-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 1.25rem;
  width: 100%;
  max-width: 100%;
}

.pub-card--template-03 .tpl-t03-contact-grid + .tpl-t03-contact-grid--more,
.bc-card.bc-t-template-03 .tpl-t03-contact-grid + .tpl-t03-contact-grid--more {
  margin-top: 0.15rem;
}

.pub-card--template-03 .tpl-t03-contact-grid.tpl-t03-contact-grid--more,
.bc-card.bc-t-template-03 .tpl-t03-contact-grid.tpl-t03-contact-grid--more {
  margin-bottom: 0.15rem;
}

.pub-card--template-03 .tpl-t03-stack-panel,
.bc-card.bc-t-template-03 .tpl-t03-stack-panel {
  border: 1px solid var(--tpl-t03-line);
  border-radius: 14px;
  padding: 0.75rem 0.65rem 0.85rem;
  background: rgba(249, 250, 251, 0.96);
  text-align: center;
}

.pub-card--template-03 .tpl-t03-stack-panel--delivery,
.pub-card--template-03 .tpl-t03-stack-panel--payment,
.bc-card.bc-t-template-03 .tpl-t03-stack-panel--delivery,
.bc-card.bc-t-template-03 .tpl-t03-stack-panel--payment {
  text-align: center;
}

.pub-card--template-03 .tpl-t03-stack-panel .tpl-t03-card-title,
.bc-card.bc-t-template-03 .tpl-t03-stack-panel .tpl-t03-card-title {
  margin: 0 0 0.75rem;
}

.pub-card--template-03 .tpl-t03-stack-panel .tpl-t03-contact-grid,
.bc-card.bc-t-template-03 .tpl-t03-stack-panel .tpl-t03-contact-grid {
  margin-bottom: 0.65rem;
}

.pub-card--template-03 .tpl-t03-stack-panel .tpl-t03-contact-grid.tpl-t03-contact-grid--more,
.bc-card.bc-t-template-03 .tpl-t03-stack-panel .tpl-t03-contact-grid.tpl-t03-contact-grid--more {
  margin-bottom: 0.1rem;
}

.pub-card--template-03 .tpl-t03-social-row--more-strip,
.bc-card.bc-t-template-03 .tpl-t03-social-row--more-strip {
  margin-top: 0.35rem;
  gap: 0.5rem;
  justify-content: center;
}

.pub-card--template-03 .tpl-t03-contact-item,
.bc-card.bc-t-template-03 .tpl-t03-contact-item {
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--tpl-t03-line);
  border-radius: 12px;
  padding: 0.75rem 0.3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  transition: background 0.2s;
  font-size: 0.75rem;
  font-weight: 500;
  min-height: 6.75rem;
  box-sizing: border-box;
}

.pub-card--template-03 .tpl-t03-contact-item:hover,
.bc-card.bc-t-template-03 .tpl-t03-contact-item:hover {
  background: #f9f9f9;
  opacity: 1;
  visibility: visible;
}

.pub-card--template-02 .tpl-t02-contact-item:hover,
.bc-card.bc-t-template-02 .tpl-t02-contact-item:hover {
  opacity: 1;
  visibility: visible;
}

.pub-card--template-02 .tpl-t02-contact-item:hover .tpl-t02-icon-circle,
.bc-card.bc-t-template-02 .tpl-t02-contact-item:hover .tpl-t02-icon-circle,
.pub-card--template-03 .tpl-t03-contact-item:hover .tpl-t03-icon-square,
.bc-card.bc-t-template-03 .tpl-t03-contact-item:hover .tpl-t03-icon-square {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1.04);
  filter: brightness(1.08);
}

.pub-card--template-03 .tpl-t03-contact-item--muted,
.bc-card.bc-t-template-03 .tpl-t03-contact-item--muted {
  opacity: 0.45;
  pointer-events: none;
}

.pub-card--template-03 .tpl-t03-icon-square,
.bc-card.bc-t-template-03 .tpl-t03-icon-square {
  width: var(--tpl-ico-size, 72px);
  height: var(--tpl-ico-size, 72px);
  min-width: var(--tpl-ico-size, 72px);
  min-height: var(--tpl-ico-size, 72px);
  max-width: var(--tpl-ico-size, 72px);
  max-height: var(--tpl-ico-size, 72px);
  border-radius: 8px;
  background: var(--tpl-t03-icon-bg, var(--tpl-brand, #4f46e5));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.pub-card--template-03 .tpl-t03-icon-square .tpl-ico svg,
.pub-card--template-03 .tpl-t03-icon-square svg,
.bc-card.bc-t-template-03 .tpl-t03-icon-square .tpl-ico svg,
.bc-card.bc-t-template-03 .tpl-t03-icon-square svg {
  width: var(--tpl-ico-svg, 42px);
  height: var(--tpl-ico-svg, 42px);
  max-width: var(--tpl-ico-svg, 42px);
  max-height: var(--tpl-ico-svg, 42px);
  display: block;
  color: #fff;
}

.pub-card--template-03 .tpl-t03-icon-square--social,
.bc-card.bc-t-template-03 .tpl-t03-icon-square--social {
  width: var(--tpl-ico-size, 72px);
  height: var(--tpl-ico-size, 72px);
  min-width: var(--tpl-ico-size, 72px);
  min-height: var(--tpl-ico-size, 72px);
  max-width: var(--tpl-ico-size, 72px);
  max-height: var(--tpl-ico-size, 72px);
  border-radius: 6px;
}

.pub-card--template-03 .tpl-t03-icon-square--social svg,
.pub-card--template-03 .tpl-t03-icon-square--social .tpl-ico svg,
.bc-card.bc-t-template-03 .tpl-t03-icon-square--social svg,
.bc-card.bc-t-template-03 .tpl-t03-icon-square--social .tpl-ico svg {
  width: var(--tpl-ico-svg, 42px);
  height: var(--tpl-ico-svg, 42px);
  max-width: var(--tpl-ico-svg, 42px);
  max-height: var(--tpl-ico-svg, 42px);
}

.pub-card--template-03 .tpl-t03-icon-square img.brand-ico,
.bc-card.bc-t-template-03 .tpl-t03-icon-square img.brand-ico {
  width: 40px;
  height: 40px;
  display: block;
  object-fit: contain;
  border-radius: 4px;
}

.pub-card--template-03 .tpl-t03-icon-square--social img.brand-ico,
.bc-card.bc-t-template-03 .tpl-t03-icon-square--social img.brand-ico {
  width: 40px;
  height: 40px;
}

.pub-card--template-03 .tpl-t03-icon-square:has(> img.brand-ico),
.bc-card.bc-t-template-03 .tpl-t03-icon-square:has(> img.brand-ico),
.pub-card--template-03 .tpl-t03-icon-square--social:has(> img.brand-ico),
.bc-card.bc-t-template-03 .tpl-t03-icon-square--social:has(> img.brand-ico) {
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.pub-card--template-03 .tpl-t03-social-row,
.bc-card.bc-t-template-03 .tpl-t03-social-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
}

.pub-card--template-03 .tpl-t03-social-item,
.bc-card.bc-t-template-03 .tpl-t03-social-item {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pub-card--template-03 .tpl-t03-social-item--muted,
.bc-card.bc-t-template-03 .tpl-t03-social-item--muted {
  opacity: 0.4;
  pointer-events: none;
}

.pub-card--template-03 .tpl-t03-overflow,
.bc-card.bc-t-template-03 .tpl-t03-overflow {
  margin-top: 1rem;
  text-align: left;
}

.pub-card--template-03 .tpl-t03-overflow-heading,
.bc-card.bc-t-template-03 .tpl-t03-overflow-heading {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--tpl-t03-muted);
}

.pub-card--template-03 .tpl-gallery--t03 .tpl-module__title,
.pub-card--template-03 .tpl-video--t03 .tpl-module__title,
.bc-card.bc-t-template-03 .tpl-gallery--t03 .tpl-module__title,
.bc-card.bc-t-template-03 .tpl-video--t03 .tpl-module__title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.85rem;
}

.pub-card--template-03 .tpl-gallery--t03 .tpl-gallery-grid,
.bc-card.bc-t-template-03 .tpl-gallery--t03 .tpl-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 0.5rem;
}

.pub-card--template-03 .tpl-gallery--t03 .tpl-gal-cell img,
.bc-card.bc-t-template-03 .tpl-gallery--t03 .tpl-gal-cell img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 4px !important;
}

.pub-card--template-03 .tpl-t03-video-stack,
.bc-card.bc-t-template-03 .tpl-t03-video-stack {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.pub-card--template-03 .tpl-t03-video-decor,
.bc-card.bc-t-template-03 .tpl-t03-video-decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}

.pub-card--template-03 .tpl-t03-video-overlay-svg,
.bc-card.bc-t-template-03 .tpl-t03-video-overlay-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.pub-card--template-03 .tpl-video--t03 .tpl-video__frame .bc-video-grid__cell > .corp-embed::after,
.pub-card--template-03 .tpl-video--t03 .tpl-video__frame .bc-video-grid__cell > .corp-embed-tiktok::after,
.bc-card.bc-t-template-03 .tpl-video--t03 .tpl-video__frame .bc-video-grid__cell > .corp-embed::after,
.bc-card.bc-t-template-03 .tpl-video--t03 .tpl-video__frame .bc-video-grid__cell > .corp-embed-tiktok::after {
  z-index: 5;
}

.pub-card--template-03 .tpl-cta-wrap--t03-footer,
.bc-card.bc-t-template-03 .tpl-cta-wrap--t03-footer {
  display: flex;
  gap: 0.85rem;
  margin-bottom: 0.25rem;
}

.pub-card--template-03 .tpl-cta-wrap--t03-footer .tpl-cta,
.bc-card.bc-t-template-03 .tpl-cta-wrap--t03-footer .tpl-cta {
  flex: 1;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.75rem 0.5rem;
  border-radius: 8px;
}

.pub-card--template-03 .tpl-cta-wrap--t03-footer .tpl-cta--primary,
.pub-card--template-03 .tpl-cta-wrap--t03-footer .tpl-cta--secondary,
.bc-card.bc-t-template-03 .tpl-cta-wrap--t03-footer .tpl-cta--primary,
.bc-card.bc-t-template-03 .tpl-cta-wrap--t03-footer .tpl-cta--secondary {
  background: var(--tpl-t03-btn, #00a0b1);
  border: 2px solid var(--tpl-t03-btn, #00a0b1);
  color: #fff;
  box-shadow: none;
}

@media (max-width: 400px) {
  .pub-card--template-03 .tpl-t03-contact-grid,
  .bc-card.bc-t-template-03 .tpl-t03-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pub-card--template-03 .tpl-gallery--t03 .tpl-gallery-grid,
  .bc-card.bc-t-template-03 .tpl-gallery--t03 .tpl-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
