/* CONFLUA v166: marketplace-style product page focused on media and description. */

#productDialog,
body.shared-product-page #productDialog[open] {
  width: min(1540px, calc(100vw - 28px)) !important;
  max-width: min(1540px, calc(100vw - 28px)) !important;
}

#productDialog > .dialog-card {
  padding: 22px 26px 30px !important;
  border-radius: 26px !important;
  background: #fff !important;
}

#productDialog .dialog-navigation {
  margin: 0 48px 18px 0;
  padding-bottom: 16px;
  border-bottom: 1px solid #e0ebe5;
}

#productDialog .product-dialog-overview {
  display: grid !important;
  grid-template-columns: minmax(440px, 1.12fr) minmax(310px, .82fr) minmax(280px, .66fr) !important;
  align-items: start !important;
  gap: clamp(22px, 2vw, 34px) !important;
  margin-top: 0 !important;
}

#productDialog .product-dialog-media-column,
#productDialog .product-dialog-info-column,
#productDialog .product-purchase-column {
  min-width: 0;
}

#productDialog .product-dialog-media-column {
  align-self: start;
}

#productDialog .product-media-swiper {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  grid-template-areas: "thumbs viewport";
  align-items: start;
  gap: 12px;
}

#productDialog .product-media-swiper.has-single-media {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "viewport";
}

#productDialog .product-media-viewport {
  grid-area: viewport;
  border-radius: 22px !important;
  background: #f3f7f4 !important;
}

#productDialog .product-media-thumbs {
  grid-area: thumbs;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 560px;
  margin: 0 !important;
  padding: 2px !important;
  overflow-x: hidden;
  overflow-y: auto;
}

#productDialog .product-media-thumb-button {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 13px;
}

#productDialog .product-media-thumb-button.is-active {
  border-color: #239262;
  box-shadow: 0 0 0 2px rgba(35, 146, 98, .14);
}

#productDialog .product-dialog-heading {
  padding: 2px 0 18px;
}

#productDialog .product-dialog-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
  margin-bottom: 8px;
}

#productDialog .product-dialog-kicker .eyebrow {
  margin: 0;
}

#productDialog #dialogArticle {
  color: #7a8d84;
  font-size: 11px;
  font-weight: 750;
}

#productDialog #dialogTitle {
  margin: 0 0 12px;
  color: #142b22;
  font-size: clamp(27px, 2.5vw, 40px);
  line-height: 1.06;
  letter-spacing: -.025em;
}

#productDialog .product-dialog-rating-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

#productDialog .product-dialog-rating-line > div {
  color: #e89a16;
  font-weight: 850;
}

#productDialog .product-dialog-rating-line button,
#productDialog .product-section-heading > button {
  padding: 7px 10px;
  border: 0;
  border-radius: 10px;
  background: #f0f7f3;
  color: #245d47;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

#productDialog .product-new-rating {
  color: #61766c;
  font-size: 12px;
}

#productDialog .product-dialog-description {
  margin: 0 !important;
  color: #536b60;
  font-size: 15px;
  line-height: 1.55;
}

#productDialog .product-specification-card {
  padding-top: 4px;
}

#productDialog .product-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 8px;
}

#productDialog .product-section-heading h3,
#productDialog .product-section-heading p {
  margin: 0;
}

#productDialog .product-section-heading h3 {
  color: #182d25;
  font-size: 20px;
}

#productDialog .product-spec-table {
  display: grid;
  gap: 0;
  margin: 0;
}

#productDialog .product-spec-table > div {
  display: grid;
  grid-template-columns: minmax(105px, 35%) minmax(0, 1fr) !important;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid #e3ece7;
}

#productDialog .product-spec-table > div:last-child {
  border-bottom: 0;
}

#productDialog .product-spec-table dt {
  color: #7a8c83;
  font-weight: 650;
}

#productDialog .product-spec-table dd {
  margin: 0;
  color: #182b23;
  font-weight: 650;
  line-height: 1.42;
}

#productDialog .product-purchase-column {
  display: grid;
  gap: 14px;
}

#productDialog .product-purchase-card,
#productDialog .product-purchase-delivery {
  box-sizing: border-box;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid #dbe9e1;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(19, 65, 47, .1);
}

#productDialog .product-purchase-card {
  position: sticky;
  top: 0;
}

#productDialog .product-purchase-status-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}

#productDialog .product-availability-chip,
#productDialog .zero-fee-pill {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

#productDialog .product-availability-chip.is-available {
  background: #e5f8ec;
  color: #167247;
}

#productDialog .product-availability-chip.is-order {
  background: #fff3d9;
  color: #8a5a00;
}

#productDialog .product-availability-chip.is-unavailable {
  background: #f4ecec;
  color: #9a4646;
}

#productDialog .zero-fee-pill {
  background: #173f31;
  color: #a5ff61;
}

#productDialog .product-dialog-price {
  margin: 0 0 8px;
  color: #177d4f;
  font-size: clamp(30px, 3vw, 43px);
  font-weight: 950;
  line-height: 1;
  letter-spacing: -.035em;
}

#productDialog .product-dialog-price-note {
  margin: 0 0 16px;
  color: #64786f;
  font-size: 12px;
  line-height: 1.45;
}

#productDialog .product-purchase-actions {
  display: grid;
  gap: 9px;
}

#productDialog .product-purchase-actions button {
  width: 100%;
  min-height: 52px;
  border-radius: 15px;
  font-size: 15px;
  font-weight: 900;
}

#productDialog #dialogAddButton.primary-action {
  background: linear-gradient(90deg, #146b4b, #8fff33);
  color: #fff;
}

#productDialog #dialogAddButton.secondary-action {
  border-color: #cfe4d8;
  background: #edf8f2;
  color: #176347;
}

#productDialog #dialogBuyNowButton {
  border-color: #cfe4d8;
  background: #edf8f2;
  color: #176347;
}

#productDialog .product-purchase-actions button:disabled {
  border-color: #dfe8e3 !important;
  background: #edf1ef !important;
  color: #8a9992 !important;
  cursor: not-allowed;
  opacity: .78;
}

#productDialog #dialogActionNote:empty {
  display: none;
}

#productDialog .product-purchase-social {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

#productDialog .product-purchase-social button {
  width: 100%;
  min-width: 0;
  justify-content: center;
  padding-inline: 8px;
  font-size: 11px;
}

#productDialog .product-purchase-delivery {
  box-shadow: none;
  background: #f8fbf9;
}

#productDialog .product-purchase-delivery h3 {
  font-size: 17px;
}

#productDialog .product-detailed-description {
  margin: 28px 0 0 !important;
  padding: 24px !important;
  border: 1px solid #dce9e2;
  border-radius: 22px;
  background: #fbfdfc;
  scroll-margin-top: 18px;
}

#productDialog .product-detailed-description > p {
  max-width: 1000px;
  margin: 14px 0 20px;
  color: #334b40;
  font-size: 16px;
  line-height: 1.65;
}

#productDialog .product-description-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

#productDialog .product-description-cards article {
  padding: 17px;
  border: 1px solid #dce9e2;
  border-radius: 17px;
  background: #fff;
}

#productDialog .product-description-cards h4,
#productDialog .product-description-cards p {
  margin: 0;
}

#productDialog .product-description-cards h4 {
  margin-bottom: 7px;
  color: #1d5e45;
}

#productDialog .product-description-cards p {
  color: #52685e;
  line-height: 1.55;
}

#productDialog #dialogSellerBlock,
#productDialog #dialogReviewsTitle {
  scroll-margin-top: 18px;
}

@media (max-width: 1279px) {
  #productDialog .product-dialog-overview {
    grid-template-columns: minmax(390px, 1fr) minmax(320px, .9fr) !important;
  }

  #productDialog .product-dialog-media-column {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  #productDialog .product-dialog-info-column {
    grid-column: 2;
    grid-row: 1;
  }

  #productDialog .product-purchase-column {
    grid-column: 2;
    grid-row: 2;
  }

  #productDialog .product-purchase-card {
    position: static;
  }
}

@media (max-width: 900px) {
  #productDialog .product-dialog-overview {
    grid-template-columns: 1fr !important;
  }

  #productDialog .product-dialog-media-column,
  #productDialog .product-dialog-info-column,
  #productDialog .product-purchase-column {
    grid-column: 1;
    grid-row: auto;
  }

  #productDialog .product-media-swiper {
    grid-template-columns: 1fr;
    grid-template-areas: "viewport" "thumbs";
  }

  #productDialog .product-media-thumbs {
    flex-direction: row;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
  }
}

@media (max-width: 680px) {
  #productDialog,
  body.shared-product-page #productDialog[open] {
    width: 100% !important;
    max-width: 100% !important;
  }

  #productDialog > .dialog-card {
    padding: 14px 14px 24px !important;
    border-radius: 0 !important;
  }

  #productDialog .dialog-navigation {
    margin-right: 40px;
    overflow-x: auto;
  }

  #productDialog #dialogTitle {
    font-size: 30px;
  }

  #productDialog .product-spec-table > div {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 10px;
  }

  #productDialog .product-description-cards,
  #productDialog .product-purchase-social {
    grid-template-columns: 1fr;
  }

  #productDialog .product-detailed-description {
    padding: 18px !important;
  }
}
