/* heart effect theme. Shared structure is owned by animeEffectEditorBase_20260920_v1.css. */

.bk-heart-shower-hero,.bk-heart-shower-section-wrap,.bk-heart-shower-help-wrap {
  box-sizing: border-box;
}

.bk-heart-shower-hero *,.bk-heart-shower-section-wrap *,.bk-heart-shower-help-wrap * {
  box-sizing: border-box;
}

.bk-heart-shower-editor-heading {
  background: linear-gradient(135deg, #8f3765 0%, #d95e91 54%, #f2a9c3 100%);
}

.bk-heart-shower-editor-kicker {
  letter-spacing: 0.08em;
  opacity: 0.9;
}

.bk-heart-shower-card-number {
  background: #b85f81;
}

.bk-heart-shower-drop-zone {
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.bk-heart-shower-drop-zone>.fa-solid {
  color: #55a7c8;
}

.bk-heart-shower-file-button:focus-within,.bk-heart-shower-file-button:has(+.bk-heart-shower-visually-hidden:focus-visible) {
  outline: 3px solid rgba(25, 109, 151, 0.35);
  outline-offset: 2px;
}

.bk-heart-shower-sample-picker {
  width: 100%;
  margin: 12px 0 0;
  background: #f6fbfd;
  border: 1px solid #d3e5ec;
  border-radius: 7px;
}

.bk-heart-shower-sample-picker>summary {
  min-height: 44px;
  padding: 11px 13px;
  color: #285a70;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.bk-heart-shower-sample-picker>summary::-webkit-details-marker {
  display: none;
}

.bk-heart-shower-sample-picker>summary::after {
  float: right;
  content: '+';
  font-size: 20px;
  line-height: 1;
}

.bk-heart-shower-sample-picker[open]>summary::after {
  content: '−';
}

.bk-heart-shower-sample-picker-body {
  padding: 0 12px 12px;
}

.bk-heart-shower-sample-button {
  box-shadow: 0 1px 3px rgba(36, 80, 99, 0.08);
}

.bk-heart-shower-sample-button:focus-visible {
  outline: 3px solid rgba(25, 109, 151, 0.35);
}

.bk-heart-shower-sample-button:disabled {
  opacity: 0.55;
}

.bk-heart-shower-sample-button>span {
  margin: 0;
  background: transparent;
}

.bk-heart-shower-sample-button strong {
  color: inherit;
}

.bk-heart-shower-sample-picker+.bk-heart-shower-source-info {
  margin-top: 10px;
}

.bk-heart-shower-source-info[hidden] {
  display: none;
}

.bk-heart-shower-status.is-loading .fa-solid {
  animation: bk-anime-effect-spin 0.9s linear infinite;
}

.bk-heart-shower-workspace-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: 0;
}

.bk-heart-shower-canvas-stage,.bk-heart-shower-result-preview {
  background-image: linear-gradient(45deg, #f7f9fa 25%, transparent 25%), linear-gradient(-45deg, #f7f9fa 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f7f9fa 75%), linear-gradient(-45deg, transparent 75%, #f7f9fa 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
}

.bk-heart-shower-canvas-stage canvas {
  box-shadow: 0 3px 14px rgba(25, 51, 62, 0.18);
}

.bk-heart-shower-direction-group {
  min-width: 0;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
}

.bk-heart-shower-direction-group legend {
  width: auto;
  margin: 0 0 7px;
  padding: 0;
  color: #345b6c;
  font-size: 14px;
  font-weight: 700;
  border: 0;
}

.bk-heart-shower-direction-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.bk-heart-shower-direction-options label {
  position: relative;
  margin: 0;
  cursor: pointer;
}

.bk-heart-shower-direction-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.bk-heart-shower-direction-options span {
  display: grid;
  min-height: 76px;
  padding: 9px 8px;
  align-content: center;
  justify-items: center;
  color: #476674;
  background: #f7fafb;
  border: 2px solid #cfdee4;
  border-radius: 8px;
  text-align: center;
}

.bk-heart-shower-direction-options i {
  margin-bottom: 3px;
  color: #c96f91;
  font-size: 18px;
}

.bk-heart-shower-direction-options strong,.bk-heart-shower-direction-options small {
  display: block;
}

.bk-heart-shower-direction-options small {
  margin-top: 2px;
  color: #647881;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
}

.bk-heart-shower-direction-options input:checked+span {
  color: #82415d;
  background: #fff1f5;
  border-color: #c96f91;
  box-shadow: 0 0 0 2px rgba(201, 111, 145, 0.14);
}

.bk-heart-shower-direction-options input:focus-visible+span {
  outline: 3px solid rgba(20, 103, 145, 0.38);
  outline-offset: 2px;
}

.bk-heart-shower-direction-options input:disabled+span {
  cursor: not-allowed;
  opacity: 0.58;
}

.bk-heart-shower-preset:hover {
  background: #eff9fd;
  border-color: #9bcadc;
}

.bk-heart-shower-preset.is-selected {
  color: #82415d;
  background: #fff1f5;
  border-color: #c96f91;
  box-shadow: 0 0 0 2px rgba(201, 111, 145, 0.14);
}

.bk-heart-shower-preset-icon {
  color: #cf6d91;
}

.bk-heart-shower-preset:nth-child(2) .bk-heart-shower-preset-icon {
  color: #d98aa5;
}

.bk-heart-shower-preset:nth-child(3) .bk-heart-shower-preset-icon {
  color: #8b5bd2;
}

.bk-heart-shower-preset-icon-heavy {
  font-size: 27px;
}

.bk-heart-shower-advanced {
  margin-top: 12px;
  border: 1px solid #d7e4e9;
  border-radius: 7px;
}

.bk-heart-shower-advanced>summary {
  min-height: 44px;
  padding: 11px 13px;
  color: #2a6078;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.bk-heart-shower-advanced>summary::-webkit-details-marker {
  display: none;
}

.bk-heart-shower-advanced>summary::after {
  float: right;
  content: '+';
  font-size: 20px;
  line-height: 1;
}

.bk-heart-shower-advanced[open]>summary::after {
  content: '−';
}

.bk-heart-shower-advanced-body {
  padding: 0 12px 12px;
}

.bk-heart-shower-output-size-list strong,.bk-heart-shower-output-size-list small {
  display: block;
  line-height: 1.25;
}

.bk-heart-shower-segmented input:checked+span,.bk-heart-shower-format-list input:checked+span {
  color: #82415d;
  background: #fff1f5;
  border-color: #c96f91;
  box-shadow: inset 0 0 0 1px #c96f91;
}

.bk-heart-shower-segmented input:focus-visible+span,.bk-heart-shower-format-list input:focus-visible+span {
  outline: 3px solid rgba(20, 103, 145, 0.38);
}

.bk-heart-shower-format-list label>span {
  grid-template-columns: minmax(100px, 0.8fr) minmax(0, 1.2fr);
}

.bk-heart-shower-progress[hidden] {
  display: none;
}

.bk-heart-shower-result {
  box-shadow: 0 3px 14px rgba(84, 131, 54, 0.12);
}

.bk-heart-shower-result-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
}

.bk-heart-shower-result-preview img,.bk-heart-shower-result-preview video {
  box-shadow: 0 3px 14px rgba(25, 51, 62, 0.18);
}

.bk-heart-shower-result-preview [hidden] {
  display: none;
}

.bk-heart-shower-example-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bk-heart-shower-example-card {
  border: 1px solid #e4c8c3;
  box-shadow: 0 2px 8px rgba(92, 57, 49, 0.08);
}

.bk-heart-shower-example-card figcaption {
  color: #5c4a45;
}

.bk-heart-shower-example-card figcaption strong {
  font-size: 14px;
}

.bk-heart-shower-example-card figcaption span {
  color: #786963;
}

.bk-heart-shower-editor button:focus-visible,.bk-heart-shower-editor a:focus-visible,.bk-heart-shower-editor summary:focus-visible {
  outline: 3px solid rgba(20, 103, 145, 0.38);
}

@media (max-width: 991px) {
  .bk-heart-shower-workspace-grid,.bk-heart-shower-result-grid {
    grid-template-columns: minmax(0, 1fr);
  }

}

@media (max-width: 767px) {
  .bk-heart-shower-card-heading-inline {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .bk-heart-shower-presets {
    grid-template-columns: minmax(0, 1fr);
  }

  .bk-heart-shower-direction-options span {
    min-height: 82px;
    padding-right: 5px;
    padding-left: 5px;
  }

  .bk-heart-shower-output-size-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bk-heart-shower-preset {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .bk-heart-shower-source-info .btn {
    width: 100%;
  }

  .bk-heart-shower-reset-settings {
    width: 100%;
  }

  .bk-heart-shower-example-grid {
    grid-template-columns: minmax(0, 1fr);
  }

}

@media (max-width: 374px) {
  .bk-heart-shower-format-list label>span {
    grid-template-columns: minmax(0, 1fr);
  }

}
