/* Layout is the 256 × 160 body. The flourish may paint outside its bounds. */
.vc-curve-title-frame {
  --vc-curve-unit: 1;
  --vc-curve-width-scale: 1;
  --vc-curve-corner-unit: 1;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: var(--vc-font-body);
}
.vc-curve-title-frame__decoration {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  filter: var(--vc-curve-filter, hue-rotate(var(--vc-frame-theme-shift, 0deg)));
}
.vc-curve-title-frame__surface {
  position: absolute;
  top: calc(24px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  right: 0;
  bottom: 0;
  left: 0;
  border: 1px solid rgba(27, 118, 97, 0);
  background: var(--vc-curve-surface-fill, linear-gradient(180deg, #00361F, #001D10));
  background-origin: border-box;
}

.vc-curve-title-frame__decoration::after {
  content: "";
  position: absolute;
  top: 0; right: 0; left: 0;
  height: calc(24px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  background: var(--vc-frame-header-glow, none);
  box-shadow: inset 0 -1px 0 var(--vc-frame-header-edge, transparent);
  pointer-events: none;
}
.vc-curve-title-frame .vc-curve-title-frame__title {
  position: relative;
  display: block;
  flex: 0 0 calc(24px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  height: calc(24px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  min-width: 0;
  margin: 0;
  padding: calc(2px * var(--vc-curve-header-unit, var(--vc-curve-unit))) calc(8px * var(--vc-curve-header-unit, var(--vc-curve-unit))) 0 calc(28px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  overflow: hidden;
  border: 0;
  color: transparent;
  background: transparent;
  font-size: calc(12px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  font-weight: 700;
  line-height: calc(20px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: none;
  filter: var(--vc-curve-filter, hue-rotate(var(--vc-frame-theme-shift, 0deg)));
}
.vc-curve-title-frame__title::before {
  content: attr(data-title);
  position: absolute;
  inset: 0;
  padding: inherit;
  overflow: hidden;
  color: transparent;
  white-space: inherit;
  text-overflow: ellipsis;
  text-shadow: 0 0 calc(4px * var(--vc-curve-header-unit, var(--vc-curve-unit))) var(--vc-curve-title-shadow, #1a7068);
}
.vc-curve-title-frame__title-text {
  position: relative;
  display: block;
  overflow: hidden;
  color: transparent;
  background: linear-gradient(180deg, #fff, var(--vc-curve-title-end, #4fefa5));
  background-clip: text;
  -webkit-background-clip: text;
  text-overflow: ellipsis;
}
.vc-curve-title-frame__asset { position: absolute; display: block; transform-origin: top left; }
.vc-curve-title-frame__asset img { display: block; max-width: none; }
.vc-curve-title-frame__asset--header { top: 0; left: 0; transform: scale(var(--vc-curve-width-scale), var(--vc-curve-header-unit, var(--vc-curve-unit))); }
.vc-curve-title-frame__asset--bottom {
  bottom: 0;
  left: 0;
  transform: scale(var(--vc-curve-width-scale), var(--vc-curve-unit));
  transform-origin: bottom left;
}
.vc-curve-title-frame__asset--corner-flourish {
  right: calc(-4px * var(--vc-curve-corner-unit));
  bottom: calc(-2px * var(--vc-curve-corner-unit));
  transform: scale(var(--vc-curve-corner-unit));
  transform-origin: bottom right;
  opacity: var(--vc-frame-flourish-opacity, 1);
}
.vc-curve-title-frame__asset--corner-flourish img { transform: scaleX(-1); }
.vc-curve-title-frame__asset--title-icon {
  top: calc(4px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  left: calc(8px * var(--vc-curve-header-unit, var(--vc-curve-unit)));
  transform: scale(var(--vc-curve-header-unit, var(--vc-curve-unit)));
}
.vc-curve-title-frame__custom-icon {
  position: absolute;
  top: 0; left: 0;
  display: none;
  width: 16px; height: 16px;
  background: linear-gradient(180deg, #fff, var(--vc-curve-title-end, #4fefa5));
  -webkit-mask: var(--vc-curve-custom-icon) center / contain no-repeat;
  mask: var(--vc-curve-custom-icon) center / contain no-repeat;
}
.vc-curve-title-frame__asset--title-icon.has-custom-icon > img { visibility: hidden; }
.vc-curve-title-frame__asset--title-icon.has-custom-icon > .vc-curve-title-frame__custom-icon { display: block; }
.screen-title-panel.vc-curve-title-frame,
.screen-title-panel.vc-curve-title-frame:hover { border: 0; background: transparent; }
.screen-title-panel.vc-curve-title-frame.is-selected { box-shadow: 0 0 0 2px #ebf2fa; }
.screen-title-panel.vc-curve-title-frame .screen-title-panel__title { border: 0; }
.screen-title-panel.vc-curve-title-frame.no-panel-surface .vc-curve-title-frame__surface { display: none; }
/* The bottom edge and flourish belong to the panel surface, not its title. */
.screen-title-panel.vc-curve-title-frame.no-panel-surface .vc-curve-title-frame__asset--bottom,
.screen-title-panel.vc-curve-title-frame.no-panel-surface .vc-curve-title-frame__asset--corner-flourish { display: none; }
.screen-title-panel.vc-curve-title-frame .screen-title-panel__body {
  width: 100%;
  margin-right: 0;
  padding: calc(6px * var(--vc-curve-unit));
}
.title-card.vc-curve-title-frame,
.title-card.vc-curve-title-frame.active {
  height: auto;
  aspect-ratio: 256 / 160;
  padding: 0; border: 0; background: transparent;
}
.title-card.vc-curve-title-frame.active { box-shadow: 0 0 0 2px #ebf2fa; }
.title-card.vc-curve-title-frame .corner-check { z-index: 1; }
