/* ==========================================================================
   PRODUCT PAGE - Specific Styles
   ========================================================================== */

/* ===== Product Detail ===== */
.product-detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3xl);
  align-items: start;
}

@media (min-width: 768px) {
  .product-detail {
    grid-template-columns: 1fr 1fr;
  }
}

.product-gallery {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 1;
  background-color: var(--clr-surface);
}

.product-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-gallery__badge {
  position: absolute;
  top: var(--space-lg);
  left: var(--space-lg);
  padding: 0.4em 1em;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  background-color: var(--clr-secondary);
  color: #1a1c14;
  border-radius: var(--radius-full);
}

.product-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.product-info__name {
  font-size: var(--fs-2xl);
  font-weight: 700;
  color: var(--clr-text);
}

.product-info__scientific {
  font-family: var(--ff-body);
  font-size: var(--fs-sm);
  font-style: italic;
  color: var(--clr-secondary);
  display: block;
  margin-top: var(--space-xs);
}

.product-info__description {
  font-size: var(--fs-base);
  color: var(--clr-text-muted);
  line-height: var(--lh-body);
}

/* Product attributes */
.product-attributes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}

.product-attr {
  padding: var(--space-md);
  background-color: var(--clr-surface);
  border-radius: var(--radius-md);
  border: 1px solid var(--clr-border-light);
}

.product-attr__label {
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--clr-text-muted);
  margin-bottom: var(--space-xs);
}

.product-attr__value {
  font-family: var(--ff-heading);
  font-size: var(--fs-md);
  font-weight: 600;
  color: var(--clr-text);
}

/* ===== Uses Section ===== */
.uses-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

@media (min-width: 640px) {
  .uses-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .uses-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.use-card {
  padding: var(--space-xl);
  background-color: var(--clr-surface-elevated);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-lg);
  transition:
    border-color var(--transition-fast),
    box-shadow var(--transition-fast);
}

.use-card:hover {
  border-color: var(--clr-secondary);
  box-shadow: var(--shadow-md);
}

.use-card__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--clr-secondary-subtle);
  color: var(--clr-secondary-dark);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-md);
  i {
    font-size: 2rem;
  }
}

.use-card__icon svg {
  width: 24px;
  height: 24px;
  fill: var(--clr-secondary-dark);
  stroke: var(--clr-secondary-dark);
  path {
    fill: var(--clr-secondary-dark);
    stroke: var(--clr-secondary-dark);
  }
}

.use-card__title {
  font-family: var(--ff-heading);
  font-size: var(--fs-md);
  font-weight: 600;
  margin-bottom: var(--space-sm);
}

.use-card__text {
  font-size: var(--fs-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-body);
}

/* ===== Order Form Section ===== */
.order-form-section {
  background-color: var(--clr-surface);
}

.order-form {
  max-width: var(--container-md);
  margin-inline: auto;
  background-color: var(--clr-surface-elevated);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-xl);
  padding: var(--space-2xl);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

@media (min-width: 640px) {
  .form-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ===== Characteristics List ===== */
.char-list {
  ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    li {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: var(--space-sm);
      font-size: var(--fs-base);
      color: var(--clr-text-muted);
      position: relative;
      padding-left: 2rem;
      &:before {
        content: "\f633";
        font-family: "bootstrap-icons"; /* Essencial para carregar a fonte do Bootstrap Icons */
        font-size: 1.25rem;
        position: absolute;
        left: 0;
        top: 0;
        color: var(--clr-secondary);
      }
    }
  }
}
