/* Stage 39: public storefront visual reconciliation.
 * Shared-host fallback is loaded last and uses these same scoped rules.
 * Only public product-carousel and seller-profile layouts are affected.
 */
.t-home-carousel-section .t-product-carousel-wrap,
.t-home-carousel-section .t-product-carousel-track {
  min-inline-size: 0;
}
.t-home-carousel-section .t-product-carousel-track {
  align-items: stretch;
  gap: .9rem;
  padding-block: .2rem .85rem;
  scroll-padding-inline: .5rem;
}
.t-home-carousel-section .t-product-carousel-item {
  display: flex;
  flex: 0 0 clamp(13rem, 58vw, 16.5rem);
  min-inline-size: 0;
  max-inline-size: calc(100vw - 2.5rem);
  scroll-snap-align: start;
}
.t-home-carousel-section .t-product-carousel-item > .t-product-card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-inline-size: 0;
  block-size: auto;
  overflow: hidden;
  border-radius: 1rem;
}
.t-home-carousel-section .t-product-carousel-item .t-product-card-link {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 0;
  grid-template-columns: none;
}
.t-home-carousel-section .t-product-carousel-item .t-product-media {
  display: block;
  flex: 0 0 auto;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: #f5f2ea;
}
.t-home-carousel-section .t-product-carousel-item .t-product-media > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.t-home-carousel-section .t-product-carousel-item .t-product-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 0;
  gap: .3rem;
  padding: .8rem;
}
.t-home-carousel-section .t-product-carousel-item .t-product-title {
  display: -webkit-box;
  min-block-size: 2.8em;
  margin: 0;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: .88rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.t-home-carousel-section .t-product-carousel-item .t-product-price {
  margin-block-start: .3rem;
  font-size: clamp(.95rem, 1.4vw, 1.08rem);
  line-height: 1.6;
  white-space: normal;
  overflow-wrap: anywhere;
}
.t-home-carousel-section .t-product-carousel-item .t-fulfillment-flags {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: .3rem;
  margin-block-start: .2rem;
}
.t-home-carousel-section .t-product-carousel-item .t-fulfillment-tag {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  min-inline-size: 0;
  padding: .21rem .45rem;
  font-size: .65rem;
  line-height: 1.55;
  white-space: nowrap;
}
.t-home-carousel-section .t-product-carousel-item .t-fulfillment-estimate {
  flex: 1 1 100%;
  white-space: normal;
  font-size: .66rem;
}
.t-home-carousel-section .t-product-carousel-item .t-product-review-meta {
  min-block-size: 0;
  margin: 0;
  font-size: .69rem;
}
.t-home-carousel-section .t-product-carousel-item .t-product-meta {
  display: flex;
  flex-wrap: nowrap;
  min-inline-size: 0;
  max-inline-size: 100%;
  margin-block-start: auto;
  padding-block-start: .3rem;
  overflow: hidden;
  font-size: .69rem;
  white-space: nowrap;
}
.t-home-carousel-section .t-product-carousel-item .t-product-meta > span {
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.t-home-carousel-section .t-product-carousel-item .t-product-discount {
  z-index: 1;
}

/* Full-width seller identity: action buttons no longer occupy a tiny left
 * column, and the report control never wraps into a vertical stack. */
.t-seller-profile-hero .t-seller-profile-cover {
  position: relative;
  block-size: clamp(10.5rem, 19vw, 15rem);
  min-block-size: 0;
  overflow: hidden;
}
.t-seller-profile-hero .t-seller-profile-cover img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  max-block-size: none;
  object-fit: cover;
  object-position: center 45%;
}
.t-seller-profile-hero .t-seller-profile-cover-fallback {
  min-block-size: 100%;
}
.t-seller-profile-hero .t-seller-profile-hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .85rem;
  padding-inline: clamp(.9rem, 2.2vw, 1.55rem);
}
.t-seller-profile-hero .t-seller-profile-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  margin-block-start: -2.65rem;
  min-inline-size: 0;
}
.t-seller-profile-hero .t-avatar.t-seller-profile-avatar {
  position: relative;
  z-index: 4;
  inline-size: 6.2rem !important;
  block-size: 6.2rem !important;
  flex: 0 0 auto;
  margin: 0;
  transform: none;
  border: 4px solid #fff !important;
  background: #fff;
  box-shadow: 0 9px 24px rgb(23 22 18 / .13);
}
.t-seller-profile-hero .t-seller-profile-copy {
  padding-block-start: 2.8rem;
  gap: .35rem;
  min-inline-size: 0;
}
.t-seller-profile-hero .t-seller-profile-heading { gap: .25rem; }
.t-seller-profile-hero .t-seller-profile-title-row { gap: .65rem; }
.t-seller-profile-hero .t-seller-profile-title-row h1 {
  font-size: clamp(1.25rem, 2.2vw, 1.9rem);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.t-seller-profile-hero .t-seller-profile-summary {
  max-inline-size: 58ch;
  margin: 0;
  font-size: .9rem;
  line-height: 1.85;
}
.t-seller-profile-hero .t-seller-profile-meta { font-size: .85rem; }
.t-seller-profile-hero .t-seller-profile-chips { gap: .4rem; margin-block-start: .3rem; }
.t-seller-profile-hero .t-seller-profile-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .55rem;
  min-inline-size: 0;
  padding-block: .35rem .25rem;
}
.t-seller-profile-hero .t-seller-profile-actions > * {
  flex: 0 0 auto;
  inline-size: auto;
  max-inline-size: 100%;
  margin: 0;
}
.t-seller-profile-hero .t-seller-profile-actions .t-btn,
.t-seller-profile-hero .t-seller-profile-actions .t-seller-profile-action-link,
.t-seller-profile-hero .t-seller-profile-report .t-btn {
  display: inline-flex;
  inline-size: auto;
  min-inline-size: 0;
  min-block-size: 2.75rem;
  max-inline-size: 100%;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding-inline: .95rem;
  line-height: 1.6;
  white-space: nowrap;
  word-break: normal;
}
.t-seller-profile-hero .t-seller-profile-report {
  display: inline-flex;
  min-inline-size: 0;
}
.t-seller-profile-hero .t-seller-profile-report .t-btn {
  border: 1px solid var(--color-border);
  background: transparent;
  color: var(--color-neutral-600);
  font-size: .78rem;
}
.t-seller-profile-hero .t-seller-profile-stats {
  gap: .6rem;
  padding-inline: clamp(.9rem, 2.2vw, 1.55rem);
}
.t-seller-profile-hero .t-seller-profile-stat-card {
  min-inline-size: 0;
  padding: .7rem .5rem;
}
.t-seller-profile-hero .t-seller-profile-rating-strip {
  padding-inline: clamp(.9rem, 2.2vw, 1.55rem);
  gap: .5rem;
}

@media (min-width: 48rem) {
  .t-home-carousel-section .t-product-carousel-item { flex-basis: clamp(15rem, 22vw, 18rem); }
}
@media (max-width: 39.999rem) {
  .t-home-carousel-section .t-product-carousel-item { flex-basis: clamp(12.5rem, 59vw, 14rem); }
  .t-home-carousel-section .t-product-carousel-item .t-product-media { aspect-ratio: 5 / 4; }
  .t-home-carousel-section .t-product-carousel-item .t-product-body { padding: .7rem; }
  .t-seller-profile-hero .t-seller-profile-cover { block-size: 9.2rem; }
  .t-seller-profile-hero .t-seller-profile-identity {
    grid-template-columns: minmax(0, 1fr);
    gap: .45rem;
    margin-block-start: -2rem;
  }
  .t-seller-profile-hero .t-avatar.t-seller-profile-avatar {
    inline-size: 5rem !important;
    block-size: 5rem !important;
  }
  .t-seller-profile-hero .t-seller-profile-copy { padding-block-start: 0; }
  .t-seller-profile-hero .t-seller-profile-actions { gap: .45rem; }
  .t-seller-profile-hero .t-seller-profile-actions .t-btn,
  .t-seller-profile-hero .t-seller-profile-actions .t-seller-profile-action-link,
  .t-seller-profile-hero .t-seller-profile-report .t-btn {
    padding-inline: .68rem;
    font-size: .78rem;
  }
}
@media (max-width: 23rem) {
  .t-seller-profile-hero .t-seller-profile-actions > :not(.t-seller-profile-report) {
    flex: 1 1 calc(50% - .5rem);
  }
  .t-seller-profile-hero .t-seller-profile-actions .t-btn,
  .t-seller-profile-hero .t-seller-profile-actions .t-seller-profile-action-link {
    font-size: .74rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .t-home-carousel-section .t-product-carousel-item .t-product-media > img { transition: none !important; }
}
