.sf-context-panel-root[data-type="product"] {
  --sf-context-panel-background: var(--sf-color-surface, #fff);
}

.sf-context-panel-root[data-type="product"] .sf-context-panel__body {
  min-height: 0;
  overflow: auto;
}

.sf-context-panel-root[data-type="product"] {
  --sf-context-product-media-height: calc(100vh - 275px);

  .sf-context-product-skeleton__header {
    .sf-context-product-skeleton__title {
      width: min(150px, 70%);
      height: 18px;
    }

    .sf-context-product-skeleton__meta {
      width: min(96px, 52%);
      height: 13px;
    }

    .sf-context-action.sf-context-skeleton__block {
      background: var(--sf-color-surface-subtle, #f0eff5);
    }
  }

  .sf-context-product-skeleton__body {
    box-sizing: border-box;
    width: 100%;
    min-height: 100%;
    padding: 1em 0.5em 1em 1em;

    .sf-context-product-skeleton__media {
      width: 100%;
      height: var(--sf-context-product-media-height);
      max-height: 1080px;
      border-radius: 15px;
      background: #e7e5ed;
    }
  }

  .sf-context-product-skeleton__footer {
    .sf-context-product-skeleton__price {
      width: 112px;
      height: 23px;
      margin-left: auto;
    }

    .sf-context-product-skeleton__button {
      min-height: var(--sf-control-size, 44px);
    }
  }
}

.sf-context-product-description,
.sf-context-product-review-gallery,
.sf-context-product-reviews {
  box-sizing: border-box;
  color: var(--sf-color-text, #25242e);
}

.sf-context-product-description {
  padding: var(--sf-space-4, 16px);
  background: var(--sf-color-surface, #fff);
}

.sf-context-product-reviews {
  padding: 0 0.75em;
}

.sf-context-product-review-gallery {
  padding: 0;
}

.sf-context-section-skeleton {
  box-sizing: border-box;
  width: 100%;

  &--description {
    display: grid;
    gap: var(--sf-space-4, 16px);

    .sf-context-section-skeleton__card {
      min-height: 180px;

      &--large {
        min-height: 260px;
      }
    }
  }

  &--reviews {
    display: grid;
    gap: var(--sf-space-4, 16px);
    padding: var(--sf-space-4, 16px) 0;

    .sf-context-section-skeleton__review {
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr);
      align-items: start;
      gap: var(--sf-space-3, 12px);

      .sf-context-section-skeleton__avatar {
        width: 52px;
        height: 52px;
        border-radius: 50%;
      }

      .sf-context-section-skeleton__bubble {
        min-height: 118px;
        border-radius: var(--sf-radius-md, 12px);
      }
    }
  }

  &--gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sf-space-2, 8px);
    padding: var(--sf-space-4, 16px);

    .sf-context-section-skeleton__gallery-item {
      aspect-ratio: 1;
    }
  }
}

.sf-context-product-description .sf-product-parameters,
.sf-context-product-description .sf-product-full-desc-section {
  box-sizing: border-box;
  padding: var(--sf-space-4, 16px);
  border: 1px solid var(--sf-color-border, #e3e1ea);
  border-radius: var(--sf-radius-md, 12px);
  background: var(--sf-color-surface-subtle, #f7f6fa);
}

.sf-context-product-description .sf-product-parameters,
.sf-context-product-description .sf-product-attrs-group,
.sf-context-product-description .sf-product-attrs-list {
  display: flex;
  flex-direction: column;
  gap: var(--sf-space-3, 12px);
}

.sf-context-product-description .sf-product-parameters-title,
.sf-context-product-description .sf-product-full-desc-title,
.sf-context-product-description .sf-product-attrs-group-title {
  margin: 0;
  color: var(--sf-color-text, #25242e);
}

.sf-context-product-description .sf-product-attrs-group-title {
  color: var(--sf-color-accent-strong, #e98135);
  font-size: 14px;
}

.sf-context-product-description .sf-product-attr {
  display: flex;
  align-items: flex-end;
  gap: var(--sf-space-2, 8px);
}

.sf-context-product-description .sf-product-attr-label,
.sf-context-product-description .sf-product-attr-values {
  flex: 0 0 auto;
}

.sf-context-product-description .sf-product-attr-space {
  flex: 1 1 auto;
  min-width: 12px;
  border-bottom: 1px dotted var(--sf-color-border-strong, #bbb8c8);
}

.sf-context-product-description .sf-product-full-desc {
  color: var(--sf-color-text, #25242e);
  font: 400 15px/1.65 var(--sf-font-body, "DM Sans", sans-serif);
}

.sf-context-product-description .sf-product-full-desc-section {
  margin-top: var(--sf-space-4, 16px);
}

.sf-context-panel__body--reviews,
.sf-context-panel__body--review-gallery {
    --sf-context-review-doodle-size: 500px;
    --sf-context-review-doodle-opacity: 0.62;
    background: radial-gradient(circle at 8% 10%, rgb(156 126 255 / 26%), transparent 38%), radial-gradient(circle at 88% 30%, rgb(255 151 173 / 20%), transparent 20%), linear-gradient(150deg, #ffc1c7 14%, #ffd69b 70%);

    &::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        pointer-events: none;
        background-image: url(https://starkframe.store/wp-content/plugins/sf-core/shared/design/backgrounds/doodles-1-seamless.png);
        background-repeat: repeat;
        background-position: 18px 12px;
        background-size: contain;
        opacity: var(--sf-context-review-doodle-opacity);
    }
}

.sf-context-product-reviews {
  overflow: visible;
  background: transparent;

  .sf-reviews-block {
    padding: 1em 0;
  }
}

.sf-context-product-reviews .sf-reviews-list {
  display: flex;
  flex-direction: column;
  gap: var(--sf-space-4, 16px);
  padding: 0;
  margin: 0;
}

.sf-context-product-reviews .sf-review--reply {
  --sf-context-review-bubble: rgb(255 255 255 / 100%);
}

.sf-context-product-reviews .sf-review.is-focus-review {
  border-radius: var(--sf-radius-lg, 16px);
  box-shadow: 0 0 0 3px rgb(255 173 105 / 52%);
  transition: box-shadow 220ms ease;
}

@media (max-width: 480px) {
  .sf-context-product-reviews .sf-review {
    --sf-context-review-avatar-size: 44px;
    --sf-context-review-bubble-gap: 12px;
  }
}

.sf-context-product-review-gallery .sf-reviews-gallery-grid {
  gap: var(--sf-space-2, 8px);
}

.sf-context-product-review-gallery .sf-reviews-gallery-more,
.sf-context-product-reviews .sf-reviews-more-cont {
  border: 1px solid var(--sf-color-border, #e3e1ea);
  background: var(--sf-color-surface, #fff);
}

.sf-context-product-review-gallery .sf-gallery-show-more-btn,
.sf-context-product-reviews .sf-reviews-more-btn {
  color: var(--sf-color-text, #25242e);
}

.sf-context-review-footer__notice {
  margin: 0;
  color: var(--sf-color-text-secondary, #6f6d7d);
  font: 500 13px/1.4 var(--sf-font-body, "DM Sans", sans-serif);
}

.sf-context-review-footer .sf-context-footer__button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.sf-context-section-error {
  margin: var(--sf-space-4, 16px);
  padding: var(--sf-space-4, 16px);
  border-radius: var(--sf-radius-md, 12px);
  background: var(--sf-color-surface-subtle, #f0eff5);
  color: var(--sf-color-text-secondary, #6f6d7d);
}
