/* Bizniz Design 4 — photo header, 4×2 action grids, gallery, video, schedule CTA (Font Awesome on host pages). */
.pub-card--biznizdesign4,
.pub-card--template-04,
.bc-card.bc-t-template-04 {
  --bc-t4-accent: #5345e5;
  --bc-t4-accent-hover: #4336c4;
  --bc-t4-page: #f5f6fa;
  --bc-t4-card: #ffffff;
  --bc-t4-ink: #222222;
  --bc-t4-gold: #d4af37;
  font-family: var(--bc-t4-font-contact, Poppins, system-ui, -apple-system, "Segoe UI", sans-serif);
  width: 100%;
  max-width: 430px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.pub-card--biznizdesign4 *,
.pub-card--template-04 *,
.bc-card.bc-t-template-04 * {
  box-sizing: border-box;
}

.pub-card.pub-card--biznizdesign4,
.pub-card.pub-card--template-04 {
  overflow: visible;
  border: none;
  box-shadow: none;
  background: var(--bc-t4-page);
}

.bc-t4-profile-card {
  background-color: var(--bc-t4-card);
  width: 100%;
  max-width: 430px;
  border: 1px solid #dcdcdc;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
  overflow: visible;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}

.bc-t4-header-section {
  padding: 35px 20px 65px;
  text-align: center;
  position: relative;
  background-size: cover;
  background-position: center;
  background-color: var(--bc-t4-header, var(--bc-t4-accent));
}

/* Photo header — widescreen banner layout (overlay bar + overlapping logo circle) */
.bc-t4-header-section--photo {
  --bc-t4-banner-h: 340px;
  --bc-t4-bar-h: 86px;
  --bc-t4-logo-ring: 110px;
  --bc-t4-bar-lift: 0.15;
  /* Gap between logo bottom edge and top of dark text bar */
  --bc-t4-logo-gap-above-bar: 22px;
  position: relative;
  height: var(--bc-t4-banner-h);
  min-height: var(--bc-t4-banner-h);
  padding: 0;
  overflow: visible;
  text-align: center;
  background-size: cover;
  background-position: center 30%;
}

.bc-t4-header-section--photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.12));
  pointer-events: none;
  z-index: 1;
}

.bc-t4-banner-overlay-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--bc-t4-banner-h) * var(--bc-t4-bar-lift));
  height: var(--bc-t4-bar-h);
  background-color: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 12px 9px;
  box-sizing: border-box;
}

.bc-t4-header-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 3px;
  width: 100%;
  max-width: 100%;
}

.bc-t4-header-section--photo .bc-t4-profile-name {
  font-family: var(--bc-t4-font-contact, Montserrat, "Segoe UI", sans-serif);
  font-size: var(--tpl-identity-name-size, max(1.22rem, 1.33rem));
  font-weight: 800;
  line-height: 1.14;
  letter-spacing: 0.03em;
  margin: 0.15rem 0 0;
  color: #ffffff;
  text-shadow: none;
  opacity: 1;
}

.bc-t4-header-section--photo .bc-t4-profile-title {
  font-family: var(--bc-t4-font-contact, Montserrat, "Segoe UI", sans-serif);
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: 0.06em;
  margin: 0.1rem 0 0;
  color: #ffffff;
  text-shadow: none;
  opacity: 0.95;
}

.bc-t4-header-section--photo .bc-t4-profile-company {
  font-family: var(--bc-t4-font-contact, Montserrat, "Segoe UI", sans-serif);
  font-size: clamp(0.56rem, 2.55vw, var(--tpl-identity-company-size, 0.82rem)) !important;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.035em;
  margin: 0;
  color: #ffffff;
  text-shadow: none;
  opacity: 0.95;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100%;
}

.bc-t4-header-section--photo .bc-t4-profile-name {
  margin: 0.15rem 0 0;
}

.bc-t4-logo-circle {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(
    var(--bc-t4-banner-h) * var(--bc-t4-bar-lift) + var(--bc-t4-bar-h) - (var(--bc-t4-logo-ring) / 2)
  );
  width: var(--bc-t4-logo-ring);
  height: var(--bc-t4-logo-ring);
  background-color: #ffffff;
  border-radius: 50%;
  border: 5px solid #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  z-index: 10;
  box-shadow:
    0 0 0 3px #ffffff,
    0 6px 20px rgba(0, 0, 0, 0.3);
  overflow: visible;
  box-sizing: border-box;
}

.bc-t4-logo-circle .bc-t4-logo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  box-sizing: border-box;
}

.bc-t4-logo-circle .bc-t4-logo-img.bc-t4-logo-img--brand {
  object-fit: contain;
  padding: 8%;
  border-radius: 0;
}

.bc-t4-logo-circle .bc-t4-logo-fallback {
  font-size: 1.35rem;
}


@media (max-width: 380px) {
  .bc-t4-header-section--photo {
    --bc-t4-banner-h: 300px;
    --bc-t4-bar-h: 80px;
    --bc-t4-logo-ring: 100px;
    --bc-t4-logo-gap-above-bar: 18px;
  }

  .bc-t4-header-section--photo .bc-t4-profile-name {
    font-size: 23px;
  }

  .bc-t4-header-section--photo .bc-t4-profile-title {
    font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
    letter-spacing: 0.1em;
  }

  .bc-t4-header-section--photo .bc-t4-profile-company {
    font-size: clamp(0.78rem, 3vw, var(--tpl-identity-company-size, 1.12rem)) !important;
    letter-spacing: 0.03em;
  }
}

.bc-t4-header-section--photo:not([style*="background-image"]) {
  background-color: var(--bc-t4-accent);
}

/* Corporate / no profile photo — cover banner only, identity centered below (no circle, no dark bar) */
.bc-t4-header-section--photo.bc-t4-header-section--no-profile {
  --bc-t4-banner-h: auto;
  min-height: clamp(140px, 38vw, 220px);
  height: auto;
  aspect-ratio: 16 / 7;
  max-height: 280px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center top;
  background-color: #ffffff;
}

.bc-t4-header-section--photo.bc-t4-header-section--no-profile::before {
  display: none;
}

.bc-t4-header-identity-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0.85rem 1rem 0.35rem;
  background: var(--bc-t4-card, #ffffff);
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.bc-t4-header-identity-stack .bc-t4-header-info {
  align-items: center;
  text-align: center;
}

.bc-t4-header-identity-stack .bc-t4-profile-name,
.bc-t4-header-identity-stack .bc-t4-profile-title,
.bc-t4-header-identity-stack .bc-t4-profile-company {
  color: var(--bc-t4-ink, #222222);
  text-shadow: none;
  opacity: 1;
}

.bc-t4-header-identity-stack .bc-t4-profile-company {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.bc-t4-header-identity-stack .bc-t4-header-info [data-personal-line],
.bc-t4-header-identity-stack .bc-t4-profile-name,
.bc-t4-header-identity-stack .bc-t4-profile-title,
.bc-t4-header-identity-stack .bc-t4-profile-company {
  text-align: center !important;
}

.bc-t4-logo-container {
  width: 115px;
  height: 115px;
  background-color: #ffffff;
  border-radius: 50%;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 5px solid #000000;
  box-shadow:
    0 0 0 3px #ffffff,
    0 6px 20px rgba(0, 0, 0, 0.28);
  overflow: visible;
}

.bc-t4-logo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

.bc-t4-logo-fallback {
  font-family: var(--bc-t4-font-personal, inherit);
  font-size: 1.65rem;
  font-weight: 700;
  color: #5c4827;
  line-height: 1;
}

.bc-t4-profile-name {
  color: #ffffff;
  font-family: inherit;
  font-size: var(--tpl-identity-name-size, max(1.22rem, 1.33rem));
  font-weight: 800;
  letter-spacing: 0.5px;
  margin: 0.5rem 0 0;
  text-transform: uppercase;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  line-height: 1.14;
}

.bc-t4-profile-title {
  color: #ffffff;
  font-family: inherit;
  font-size: var(--tpl-identity-sub-size, max(1.02rem, 1.05rem));
  font-weight: 400;
  letter-spacing: 0.8px;
  opacity: 0.95;
  margin: 0.5rem 0 0;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  line-height: 1.22;
}

.bc-t4-profile-company {
  color: #ffffff;
  font-family: inherit;
  font-size: clamp(0.78rem, 3vw, var(--tpl-identity-company-size, 1.12rem)) !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  opacity: 0.95;
  margin: 0;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  line-height: 1.1;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100%;
}

.bc-t4-buttons-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  padding: 0 16px;
  width: 100%;
  box-sizing: border-box;
}

.bc-t4-top-grid {
  --bc-t4-top-btn-h: calc(var(--tpl-ico-size, 65px) + 1.35rem);
  --bc-t4-banner-btn-overlap: 0.24;
  margin-top: calc(-1 * var(--bc-t4-top-btn-h) * var(--bc-t4-banner-btn-overlap));
  position: relative;
  z-index: 5;
  margin-bottom: 12px;
}

.bc-t4-hero-contact-grid {
  margin-bottom: 18px;
  row-gap: 12px;
}

.bc-t4-bottom-grid {
  margin-bottom: 12px;
}

.bc-t4-section-grid {
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  padding: 0 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.bc-t4-meta-block {
  padding: 0 20px 16px;
  text-align: center;
}

.bc-t4-headline,
.bc-t4-accreditations {
  font-size: 13px;
  line-height: 1.45;
  color: var(--bc-t4-ink);
  margin: 0 0 6px;
  opacity: 0.88;
}

.bc-t4-btn-item--static {
  cursor: default;
  opacity: 0.92;
}

.bc-t4-btn-item[data-bc-coupon] {
  cursor: pointer;
  font: inherit;
}

/* Grid chip: square/circle icon tile + label below (matches Templates 1–2) */
.bc-t4-buttons-grid .bc-t4-btn-item,
.bc-t4-section-grid .bc-t4-btn-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  flex: 0 0 var(--tpl-ico-size, 65px);
  width: var(--tpl-ico-size, 65px);
  max-width: var(--tpl-ico-size, 65px);
  background: transparent;
  color: var(--bc-t4-ink, #222222);
  text-decoration: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  min-height: 0;
  min-width: 0;
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  transform: none !important;
  box-sizing: border-box;
}

.bc-t4-btn-item:hover {
  opacity: 1;
  visibility: visible;
}

.bc-t4-btn-item .bc-t4-btn-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--tpl-ico-size, 65px);
  height: var(--tpl-ico-size, 65px);
  min-width: var(--tpl-ico-size, 65px);
  max-width: var(--tpl-ico-size, 65px);
  min-height: var(--tpl-ico-size, 65px);
  max-height: var(--tpl-ico-size, 65px);
  aspect-ratio: 1 / 1;
  background-color: var(--bc-t4-accent);
  color: var(--bc-t4-icon-color, #ffffff);
  border-radius: var(--bc-t4-chip-radius, 10px) !important;
  box-sizing: border-box;
  overflow: hidden;
  transition: background-color 0.2s, transform 0.2s;
}

.pub-card--template-04[data-bc-icon-shape="circle"] .bc-t4-btn-ico,
.bc-card.bc-t-template-04[data-bc-icon-shape="circle"] .bc-t4-btn-ico,
[data-bc-t4="1"][data-bc-icon-shape="circle"] .bc-t4-btn-ico {
  border-radius: 50% !important;
}

.pub-card--template-04[data-bc-icon-shape="rounded"] .bc-t4-btn-ico,
.bc-card.bc-t-template-04[data-bc-icon-shape="rounded"] .bc-t4-btn-ico,
[data-bc-t4="1"][data-bc-icon-shape="rounded"] .bc-t4-btn-ico {
  border-radius: 10px !important;
}

.pub-card--template-04[data-bc-icon-shape="square"] .bc-t4-btn-ico,
.bc-card.bc-t-template-04[data-bc-icon-shape="square"] .bc-t4-btn-ico,
[data-bc-t4="1"][data-bc-icon-shape="square"] .bc-t4-btn-ico {
  border-radius: 2px !important;
}

.pub-card--template-04[data-bc-icon-shape="hexagon"] .bc-t4-buttons-grid .bc-t4-btn-item,
.pub-card--template-04[data-bc-icon-shape="hexagon"] .bc-t4-section-grid .bc-t4-btn-item,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"] .bc-t4-buttons-grid .bc-t4-btn-item,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"] .bc-t4-section-grid .bc-t4-btn-item,
[data-bc-t4="1"][data-bc-icon-shape="hexagon"] .bc-t4-buttons-grid .bc-t4-btn-item,
[data-bc-t4="1"][data-bc-icon-shape="hexagon"] .bc-t4-section-grid .bc-t4-btn-item {
  flex: 0 0 var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px));
  width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px));
  max-width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px));
}

.pub-card--template-04[data-bc-icon-shape="hexagon"] .bc-t4-btn-ico,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"] .bc-t4-btn-ico,
[data-bc-t4="1"][data-bc-icon-shape="hexagon"] .bc-t4-btn-ico {
  width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) !important;
  height: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) !important;
  min-width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) !important;
  max-width: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) !important;
  min-height: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) !important;
  max-height: var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) !important;
  flex: 0 0 auto;
  align-self: center;
  border-radius: 0 !important;
  -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"],
.pub-card--template-04[data-bc-icon-shape="hexagon"],
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"] {
  --bc-hex-clip: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  --bc-hex-ring-scale-white: calc((var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) - 6px) / var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)));
  --bc-hex-ring-scale-black: calc((var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)) - 4px) / var(--tpl-ico-hex-size, var(--tpl-ico-size, 72px)));
  --bc-hex-white-ring-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 104 104'%3E%3Cpolygon fill='rgba(15%2C23%2C42%2C0.22)' points='24.31%2C-1.39 75.69%2C-1.39 101.39%2C50 75.69%2C101.39 24.31%2C101.39 -1.39%2C50'/%3E%3Cpath fill='%23ffffff' fill-rule='evenodd' d='M25%2C0 L75%2C0 L100%2C50 L75%2C100 L25%2C100 L0%2C50 Z M27.08%2C4.15 L72.92%2C4.15 L95.85%2C50 L72.92%2C95.85 L27.08%2C95.85 L4.15%2C50 Z'/%3E%3C/svg%3E");
}

.bc-t4-btn-item:hover .bc-t4-btn-ico {
  background-color: var(--bc-t4-accent-hover);
  transform: translateY(-2px);
}

.bc-t4-border-btn .bc-t4-btn-ico {
  border: 3px solid #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.bc-t4-btn-item .bc-t4-btn-ico i {
  font-size: var(--tpl-ico-svg, 38px);
  line-height: 1;
  margin: 0;
  color: inherit !important;
}

.bc-t4-btn-item .bc-t4-btn-ico .fa-brands,
.bc-t4-btn-item .bc-t4-btn-ico .fa-brands::before {
  color: inherit !important;
}

.bc-t4-btn-item .bc-t4-btn-ico svg,
.bc-t4-btn-item .bc-t4-btn-ico img.brand-ico {
  width: var(--tpl-ico-svg, 32px) !important;
  height: var(--tpl-ico-svg, 32px) !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;
  display: block;
  object-fit: contain;
  flex-shrink: 1;
  fill: currentColor;
  color: inherit;
}

/* Client action chips — mask shape + --bc-t4-icon-color */
.bc-t4-btn-item .bc-t4-btn-ico .brand-ico-mask {
  display: block;
  flex: 0 0 auto;
  width: var(--tpl-ico-svg, 32px) !important;
  height: var(--tpl-ico-svg, 32px) !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;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  color: inherit;
}

.bc-t4-btn-item .bc-t4-btn-ico .contact-icon-glyph {
  display: block;
  line-height: 1;
  font-size: var(--tpl-ico-svg, 38px) !important;
}

/* Grubhub wordmark — bc-chip-icon-fit.css */

.bc-t4-btn-lbl,
.bc-t4-btn-item > span:not(.bc-t4-btn-ico):not(.bc-t4-btn-lbl) {
  font-size: clamp(0.5625rem, 2.6vw, 0.6875rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  line-height: 1.25;
  font-family: inherit;
  color: var(--bc-t4-ink, #222222);
  width: 100%;
  max-width: 100%;
  word-break: break-word;
  white-space: normal;
  text-transform: none;
}

[data-bc-t4="1"][data-bc-icon-outline="1"]:not([data-bc-icon-shape="hexagon"]) .bc-t4-btn-item:not(.bc-t4-btn-item--guide) .bc-t4-btn-ico {
  border: 0 !important;
  box-shadow: none !important;
  background-color: var(--bc-t4-accent, #5345e5) !important;
  overflow: visible !important;
}

[data-bc-t4="1"][data-bc-icon-outline="1"]:not([data-bc-icon-shape="hexagon"])[data-bc-icon-outline-color="white"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide) .bc-t4-btn-ico,
[data-bc-t4="1"][data-bc-icon-outline="1"]:not([data-bc-icon-shape="hexagon"])[data-bc-icon-outline-color="white"] .bc-t4-border-btn .bc-t4-btn-ico {
  outline: none !important;
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 4px rgba(15, 23, 42, 0.22) !important;
  -webkit-filter: none !important;
  filter: none !important;
}

[data-bc-t4="1"][data-bc-icon-outline="1"]:not([data-bc-icon-shape="hexagon"])[data-bc-icon-outline-color="black"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide) .bc-t4-btn-ico,
[data-bc-t4="1"][data-bc-icon-outline="1"]:not([data-bc-icon-shape="hexagon"])[data-bc-icon-outline-color="black"] .bc-t4-border-btn .bc-t4-btn-ico {
  outline: none !important;
  box-shadow: 0 0 0 2px #000000 !important;
  -webkit-filter: none !important;
  filter: none !important;
}

/* Hex ring — outer ::before outline + inner scaled ::after fill (matches box-shadow ring on other shapes) */
[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide) .bc-t4-btn-ico,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico {
  position: relative !important;
  isolation: isolate;
  outline: none !important;
  box-shadow: none !important;
  -webkit-filter: none !important;
  filter: none !important;
  overflow: visible !important;
  background-color: transparent !important;
  background: transparent !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::before,
[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::after,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::before,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::after,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::before,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  clip-path: var(--bc-hex-clip);
  -webkit-clip-path: var(--bc-hex-clip);
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0;
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::after,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::after,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico::after {
  background-color: var(--bc-t4-accent, #5345e5);
  transform-origin: center center;
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="white"] .bc-t4-btn-ico::before,
[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"]:not([data-bc-icon-outline-color]) .bc-t4-btn-ico::before,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="white"] .bc-t4-btn-ico::before,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"]:not([data-bc-icon-outline-color]) .bc-t4-btn-ico::before,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="white"] .bc-t4-btn-ico::before,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"]:not([data-bc-icon-outline-color]) .bc-t4-btn-ico::before {
  background-color: transparent;
  background-image: var(--bc-hex-white-ring-svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  -webkit-filter: none;
  filter: none;
  transform: none;
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="white"] .bc-t4-btn-ico::after,
[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"]:not([data-bc-icon-outline-color]) .bc-t4-btn-ico::after,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="white"] .bc-t4-btn-ico::after,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"]:not([data-bc-icon-outline-color]) .bc-t4-btn-ico::after,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="white"] .bc-t4-btn-ico::after,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"]:not([data-bc-icon-outline-color]) .bc-t4-btn-ico::after {
  transform: scale(var(--bc-hex-ring-scale-white, 0.917));
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="black"] .bc-t4-btn-ico::before,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="black"] .bc-t4-btn-ico::before,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="black"] .bc-t4-btn-ico::before {
  background: #000000;
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="black"] .bc-t4-btn-ico::after,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="black"] .bc-t4-btn-ico::after,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"][data-bc-icon-outline-color="black"] .bc-t4-btn-ico::after {
  transform: scale(var(--bc-hex-ring-scale-black, 0.944));
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide):hover .bc-t4-btn-ico {
  background-color: transparent !important;
  background: transparent !important;
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide):hover .bc-t4-btn-ico::after,
.pub-card--template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico:hover::after,
.bc-card.bc-t-template-04[data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico:hover::after {
  background-color: var(--bc-t4-accent-hover, var(--bc-t4-accent, #5345e5)) !important;
}

[data-bc-t4="1"][data-bc-icon-shape="hexagon"][data-bc-icon-outline="1"] .bc-t4-btn-ico > * {
  position: relative;
  z-index: 1;
}

[data-bc-t4="1"][data-bc-icon-outline="1"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide) .bc-t4-btn-ico i,
[data-bc-t4="1"][data-bc-icon-outline="1"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide) .bc-t4-btn-ico {
  color: var(--bc-t4-icon-color, #ffffff);
}

[data-bc-t4="1"][data-bc-icon-outline="1"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide):hover .bc-t4-btn-ico {
  background-color: var(--bc-t4-accent-hover, var(--bc-t4-accent, #5345e5)) !important;
  transform: translateY(-2px);
}

[data-bc-t4="1"][data-bc-icon-outline="1"] .bc-t4-btn-item:not(.bc-t4-btn-item--guide):hover .bc-t4-btn-ico i {
  color: var(--bc-t4-icon-color, #ffffff) !important;
  opacity: 1;
}

[data-bc-t4="1"][data-bc-icon-outline="1"] .bc-t4-border-btn .bc-t4-btn-ico {
  border: 0 !important;
  box-shadow: none !important;
}

.bc-t4-btn-item--guide {
  opacity: 0.55;
  pointer-events: none;
}

.bc-t4-section-heading {
  font-family: inherit;
  font-size: var(--bc-t4-heading-size, 18px);
  font-weight: 700;
  color: var(--bc-t4-ink);
  text-align: center;
  letter-spacing: 0.02em;
  margin: 20px 0 12px;
  text-transform: none;
}

.bc-t4-gallery-host {
  padding: 0 16px;
  margin-bottom: 25px;
  text-align: center;
}

.bc-t4-gallery-host .tpl-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px;
  margin: 0;
}

.bc-t4-gallery-host .tpl-gal-cell img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}

.bc-t4-video-wrapper {
  padding: 0 16px;
  margin-bottom: var(--tpl-section-stack-gap, 25px);
  text-align: center;
}

.bc-t4-video-container {
  position: relative;
  width: 100%;
  min-height: 195px;
  border-radius: 14px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  border: 1px solid #e2e2e2;
}

.bc-t4-video-container--has-embed {
  min-height: 0;
  background-image: none !important;
  border: none;
  display: block;
}

.bc-t4-video-embed-host .bc-video-grid {
  width: 100%;
}

.bc-t4-video-overlay-text {
  padding-left: 18px;
  color: var(--bc-t4-gold);
  max-width: 50%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

.bc-t4-deco-stars {
  font-size: 7px;
  letter-spacing: 3px;
  opacity: 0.8;
}

.bc-t4-restaurant-title {
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 1.5px;
  margin: 2px 0;
  border-bottom: 1px solid var(--bc-t4-gold);
  padding-bottom: 3px;
  width: 100%;
  text-transform: uppercase;
}

.bc-t4-restaurant-tagline {
  font-size: 6px;
  color: #ffffff;
  margin-top: 5px;
  letter-spacing: 0.4px;
  opacity: 0.9;
  white-space: nowrap;
}

.bc-t4-play-trigger {
  position: absolute;
  left: 51%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  background-color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  color: #222222;
  text-decoration: none;
  z-index: 2;
  transition: transform 0.2s;
}

.bc-t4-play-trigger:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.bc-t4-play-trigger i {
  font-size: 15px;
  margin-left: 2px;
}

.bc-t4-footer-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-top: 0;
  margin-bottom: var(--tpl-section-stack-gap, 25px);
  padding: 0 16px;
  width: 100%;
  box-sizing: border-box;
}

.bc-t4-profile-card > .tpl-email-list {
  width: 100%;
  margin-top: var(--tpl-section-stack-gap, 25px);
  margin-bottom: var(--tpl-section-stack-gap, 25px);
  padding: 0 16px;
  box-sizing: border-box;
  color-scheme: light;
  text-align: center !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bc-t4-profile-card > .tpl-email-list .tpl-module__title,
.bc-t4-profile-card > .tpl-email-list .tpl-email-list__title {
  font-family: inherit;
  font-size: var(--bc-t4-heading-size, 18px);
  font-weight: 700;
  color: var(--tpl-text, var(--bc-t4-ink, #111111));
  text-align: center !important;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.5px;
  margin-top: 0;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.bc-t4-profile-card > .tpl-email-list .tpl-email-list__subtitle {
  font-size: var(--bc-t4-body-size, 14px);
  font-weight: 500;
  text-align: center !important;
  width: 100%;
  margin: 0 0 12px;
  line-height: 1.4;
  color: var(--tpl-muted, var(--bc-t4-ink, #111111));
}

.bc-t4-profile-card > .tpl-email-list .tpl-email-list__form {
  width: 100%;
  max-width: 100%;
  text-align: center;
}

.bc-t4-profile-card > .tpl-email-list .tpl-email-list__row {
  display: flex;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.65rem;
  width: 100%;
}

.bc-t4-profile-card > .tpl-email-list .tpl-email-list__input {
  width: 100%;
  flex: none;
  min-height: 44px;
  padding: 0.65rem 0.75rem;
  font-size: var(--bc-t4-body-size, 14px);
  border-radius: 8px;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

.bc-t4-profile-card > .tpl-email-list .tpl-email-list__input::placeholder {
  color: #64748b;
  opacity: 1;
}

.bc-t4-profile-card > .tpl-email-list .tpl-email-list__btn {
  width: 100%;
  min-height: 44px;
  padding: 0.72rem 1rem;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  box-sizing: border-box;
  border: none;
  background: var(--bc-t4-accent, #5345e5) !important;
  color: #ffffff !important;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

.bc-t4-profile-card > .tpl-email-list .tpl-email-list__status {
  margin-top: 0.5rem;
  text-align: center;
}

.bc-t4-footer-action,
.bc-t4-footer-action--loan {
  display: block;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

.bc-t4-footer-actions .tpl-cta-wrap--card-actions {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

.bc-t4-footer-actions .bc-t4-action-btn {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  touch-action: manipulation;
  box-sizing: border-box;
}

.bc-t4-footer-actions .tpl-email-list {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.bc-t4-footer-actions .tpl-module__title,
.bc-t4-footer-actions .tpl-email-list__title,
.bc-t4-footer-actions .tpl-email-list__subtitle {
  font-family: inherit;
  font-size: var(--bc-t4-heading-size, 18px);
  font-weight: 700;
  color: var(--bc-t4-ink, #111111);
  text-align: center;
  letter-spacing: 0.5px;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.bc-t4-footer-actions .tpl-email-list__subtitle {
  font-size: var(--bc-t4-body-size, 14px);
  font-weight: 500;
  text-transform: none;
}

.bc-t4-action-btn {
  background-color: var(--bc-t4-accent);
  color: #ffffff;
  border: none;
  padding: 12px 28px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(83, 69, 229, 0.25);
  transition: background-color 0.2s, transform 0.1s;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
}

.bc-t4-action-btn:hover {
  background-color: var(--bc-t4-accent-hover);
  transform: translateY(-1px);
  color: #ffffff;
  opacity: 1;
  visibility: visible;
}

.bc-t4-action-btn--guide {
  opacity: 0.55;
  pointer-events: none;
}

.bc-t4-modules {
  padding: 0 16px 20px;
}

.bc-t4-modules .tpl-form,
.bc-t4-modules .tpl-email-list,
.bc-t4-modules .bc-loan-calculator {
  margin-top: 12px;
}

.bc-t4-modules .tpl-card-actions {
  padding: 0 0 12px;
  box-sizing: border-box;
}

.bc-t4-modules .bc-loan-calculator .bc-t4-section-heading {
  margin-top: 0;
}

.bc-t4-modules .tpl-module__title {
  font-family: inherit;
  font-size: var(--bc-t4-heading-size, 18px);
  font-weight: 700;
  color: var(--bc-t4-ink);
  text-align: center;
  letter-spacing: 0.5px;
  margin: 20px 0 12px;
  text-transform: uppercase;
}

body.panel-page .preview-card-wrap .bc-t4-section-heading,
body.panel-page .preview-card-wrap .bc-t4-profile-card h2,
body.panel-page #previewMount .bc-t4-section-heading {
  color: var(--bc-t4-ink) !important;
}

.pub-card--template-04 .tpl-card-actions,
.bc-card.bc-t-template-04 .tpl-card-actions {
  padding: 0 16px 12px;
  box-sizing: border-box;
}

.pub-card--template-04 .tpl-cta-wrap--card-actions,
.bc-card.bc-t-template-04 .tpl-cta-wrap--card-actions {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  align-items: stretch;
  width: 100%;
}

.pub-card--template-04 .tpl-card-action-btn,
.bc-card.bc-t-template-04 .tpl-card-action-btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.72rem 1.15rem;
  border-radius: 8px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  text-decoration: none;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

.pub-card--template-04 .tpl-card-action-btn:not([style*="background"]),
.bc-card.bc-t-template-04 .tpl-card-action-btn:not([style*="background"]) {
  background-color: var(--bc-t4-accent, #5345e5);
  color: #fff;
}

.pub-card--template-04 .tpl-card-action-btn__ico,
.bc-card.bc-t-template-04 .tpl-card-action-btn__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  flex-shrink: 0;
  line-height: 0;
}

.pub-card--template-04 .tpl-card-action-btn__ico svg,
.bc-card.bc-t-template-04 .tpl-card-action-btn__ico svg {
  width: 100%;
  height: 100%;
  display: block;
}

.pub-card--template-04 .tpl-card-action-btn__ico img.brand-ico,
.bc-card.bc-t-template-04 .tpl-card-action-btn__ico img.brand-ico {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pub-card--template-04 .tpl-card-action-btn__ico img.brand-ico--card-grid,
.pub-card--template-04 .tpl-card-action-btn__ico img.brand-ico--client-full,
.bc-card.bc-t-template-04 .tpl-card-action-btn__ico img.brand-ico--card-grid,
.bc-card.bc-t-template-04 .tpl-card-action-btn__ico img.brand-ico--client-full {
  filter: none !important;
}

