/* Consistent, high-quality artwork presentation */
img {
  max-width: 100%;
  height: auto;
  image-rendering: auto;
}

.homeCategoryGrid img,
.shopCategoryGrid img,
.archivePreviewGrid img,
.quiltArchive .archivePreviewGrid img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  padding: 10px;
  background: #e9dfd0;
  border: 1px solid rgba(36, 37, 31, 0.08);
  filter: none;
}

.productVisual {
  position: relative;
  overflow: hidden;
  height: auto;
  aspect-ratio: 4 / 5;
  background: #e9dfd0;
  border: 1px solid rgba(36, 37, 31, 0.08);
}

.productVisual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  padding: 14px;
  background: #e9dfd0;
  filter: none;
}

.productCard {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.productInfo {
  box-sizing: border-box;
  width: auto;
  min-height: 86px;
  align-items: flex-start;
}

.productCard .productInquiry {
  box-sizing: border-box;
  max-width: 100%;
  width: auto;
}

.pieceMaterials {
  min-height: 48px;
}

.productCard .addToCart {
  margin-top: auto;
}

.masonryGallery {
  align-items: start;
}

.workCard,
.workCard.featured {
  grid-column: span 4;
  min-width: 0;
}

.workVisual,
.featured .workVisual {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  background: #e9dfd0;
  border: 1px solid rgba(36, 37, 31, 0.08);
}

.workVisual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  padding: 12px;
  background: #e9dfd0;
  filter: none;
}

.botanicalArchiveGrid article > div,
.leafGuideVisual {
  position: relative;
  overflow: hidden;
  height: auto;
  aspect-ratio: 4 / 3;
  background: #e9dfd0;
  border: 1px solid rgba(36, 37, 31, 0.08);
}

.botanicalArchiveGrid img,
.leafGuideVisual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  padding: 8px;
  background: #e9dfd0;
  filter: none;
}

.heroArt img,
.culcita img,
.florisGardenPhoto img,
.leafGuideTeaser img,
.practiceSplit img {
  image-rendering: auto;
  object-position: center;
}

@media (max-width: 900px) {
  .workCard,
  .workCard.featured {
    grid-column: span 6;
  }
}

@media (max-width: 560px) {
  .masonryGallery {
    grid-template-columns: minmax(0, 1fr);
  }

  .workCard,
  .workCard.featured {
    grid-column: auto;
  }

  .productInfo,
  .pieceMaterials {
    min-height: 0;
  }

  .homeCategoryGrid img,
  .shopCategoryGrid img,
  .archivePreviewGrid img,
  .quiltArchive .archivePreviewGrid img,
  .productVisual,
  .workVisual,
  .featured .workVisual,
  .botanicalArchiveGrid article > div,
  .leafGuideVisual {
    height: auto;
  }
}

/* Product information, inquiry, and archive improvements */
.pieceDimensions {
  min-height: 42px;
  margin: 0 0 10px;
  color: #535047;
  font: 15px/1.45 "Cormorant Garamond", serif;
}

.pieceDimensions strong {
  color: #24251f;
}

.detailLink {
  margin-top: auto;
}

.productBreadcrumb {
  display: flex;
  gap: 12px;
  padding: 24px 6vw;
  border-bottom: 1px solid rgba(36, 37, 31, 0.14);
  color: #6a675e;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.productDetailHero {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: 7vw;
  padding: 65px 6vw 105px;
  background: #fbf7ef;
}

.productMediaGallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-content: start;
}

.productMediaGallery figure {
  margin: 0;
}

.productMainImage {
  grid-column: 1 / -1;
  padding: 22px;
  background: #e9dfd0;
}

.productMainImage img {
  max-height: 760px;
  object-fit: contain;
}

.productCrop {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #e9dfd0;
}

.productCrop img {
  height: 100%;
  object-fit: cover;
  transform: scale(1.5);
}

.cropCenter img { object-position: center; }
.cropEdge img { object-position: 82% 72%; }

.productMediaGallery figcaption {
  margin-top: 9px;
  color: #747168;
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.productDetailCopy {
  position: sticky;
  top: 28px;
  align-self: start;
}

.productDetailCopy h1 {
  margin: 0;
  font: 400 clamp(58px, 6vw, 92px)/0.9 "Cormorant Garamond", serif;
  letter-spacing: -0.04em;
}

.productPrice {
  margin: 22px 0;
  color: #6d2635;
  font: 30px "Cormorant Garamond", serif;
}

.productStory,
.productPurchaseNote {
  color: #555448;
  font: 17px/1.7 "Cormorant Garamond", serif;
}

.productFacts {
  margin: 35px 0;
  border-top: 1px solid rgba(36, 37, 31, 0.14);
}

.productFacts div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(36, 37, 31, 0.14);
}

.productFacts dt {
  color: #6d2635;
  font-size: 9px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.productFacts dd {
  margin: 0;
  font: 15px/1.55 "Cormorant Garamond", serif;
}

.productPurchaseButton { margin-bottom: 8px; }
.productPurchaseNote { font-size: 14px; }

.productCareShipping {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #d9d7c4;
}

.productCareShipping article {
  padding: 85px 7vw;
}

.productCareShipping article + article {
  border-left: 1px solid rgba(36, 37, 31, 0.14);
}

.productCareShipping h2,
.productPhotoNote h2 {
  margin: 0 0 18px;
  font: 48px/1 "Cormorant Garamond", serif;
}

.productCareShipping p:not(.eyebrow),
.productPhotoNote > p:not(.eyebrow) {
  color: #555448;
  font: 17px/1.7 "Cormorant Garamond", serif;
}

.productPhotoNote {
  padding: 95px 7vw;
  text-align: center;
}

.productPhotoNote > p:not(.eyebrow) {
  max-width: 680px;
  margin: 0 auto 28px;
}

.archiveMore {
  margin-top: 55px;
  border-top: 1px solid rgba(36, 37, 31, 0.14);
}

.archiveMore summary {
  display: flex;
  justify-content: space-between;
  padding: 24px 0;
  cursor: pointer;
  color: #6d2635;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.archiveMore[open] summary span { transform: rotate(180deg); }
.archiveMore .botanicalArchiveGrid { padding-top: 30px; }

.contactInquiryForm {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 7vw;
  padding: 95px 7vw;
  background: #d9d7c4;
}

.formHeading h2 {
  margin: 0 0 20px;
  font: 52px/1 "Cormorant Garamond", serif;
}

.formHeading > p:not(.eyebrow) {
  color: #555448;
  font: 16px/1.65 "Cormorant Garamond", serif;
}

.formFields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.formFields label {
  display: grid;
  gap: 8px;
  color: #6d2635;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.formFields input,
.formFields select,
.formFields textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(36, 37, 31, 0.3);
  border-radius: 0;
  padding: 13px 0;
  background: transparent;
  color: #24251f;
  font: 16px "Cormorant Garamond", serif;
}

.formFields textarea { resize: vertical; }
.fullField { grid-column: 1 / -1; }
.formFields .button { justify-self: start; border: 0; cursor: pointer; }
.formStatus { align-self: center; margin: 0; font: 15px "Cormorant Garamond", serif; }

@media (max-width: 900px) {
  .productDetailHero,
  .contactInquiryForm {
    grid-template-columns: 1fr;
  }

  .productDetailCopy { position: static; }
}

@media (max-width: 560px) {
  .productDetailHero { padding: 42px 0 75px; }
  .productDetailCopy { padding: 0 6vw; }
  .productMainImage { padding: 14px; }
  .productMediaGallery { gap: 10px; }
  .productMediaGallery figcaption { padding-left: 6vw; }
  .productFacts div { grid-template-columns: 95px 1fr; }
  .productCareShipping { grid-template-columns: 1fr; }
  .productCareShipping article { padding: 65px 7vw; }
  .productCareShipping article + article { border-left: 0; border-top: 1px solid rgba(36, 37, 31, 0.14); }
  .productPhotoNote { padding: 75px 7vw; }
  .contactInquiryForm { padding: 75px 7vw; gap: 35px; }
  .formFields { grid-template-columns: 1fr; }
  .fullField { grid-column: auto; }
}
