.bakery-site .product-page { padding: 28px 0 55px; }
.product-page .breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: .8125rem; margin-bottom: 27px; }
.bakery-site .product-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 56px; align-items: start; }
.product-photo-column { position: sticky; top: 122px; min-width: 0; }
.bakery-site .product-hero-media { width: 100%; height: auto; aspect-ratio: 1/1; padding: 24px; border: 1px solid #e7dfd3; border-radius: 28px; background: #f5f1e9; box-shadow: none; }
.bakery-site .product-hero-media::before { display: none; }
.bakery-site .product-hero-media img { position: static; width: var(--product-image-scale,92%); height: var(--product-image-scale,92%); object-fit: contain; mix-blend-mode: multiply; filter: none; }
.bakery-site .product-photo-photo img { mix-blend-mode: normal; border-radius: 12px; }
.photo-zoom-button { position: absolute; z-index: 2; inset: 0; display: flex; justify-content: flex-end; align-items: flex-end; padding: 20px; border: 0; background: none; border-radius: 28px; }
.photo-zoom-button span { display: grid; place-items: center; width: 42px; height: 42px; background: #fffdf9ed; border: 1px solid #dfd1c0; border-radius: 50%; font-size: 24px; transition: transform .25s; }
.photo-zoom-button:hover span { transform: scale(1.1); }
.product-photo-caption { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; font-size: .75rem; color: #807264; }
.product-photo-caption a { text-decoration: underline; text-underline-offset: 3px; }
.bakery-site .product-hero-copy h1 { font: 400 clamp(2.25rem,3.7vw,3.8rem)/1.04 Georgia,serif; letter-spacing: -.045em; margin: 9px 0 20px; }
.product-heading-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.product-heading-meta .eyebrow { margin: 0; }
.product-weight { color: #7a6a5a; font-size: .875rem; }
.bakery-site .product-detail-description { margin: 0 0 22px; font-size: 1rem; line-height: 1.75; color: #76695d; }
.bakery-site .product-detail-stock { margin-bottom: 18px; font-size: .875rem; }
.product-purchase-panel { padding: 24px; background: #f7eee1; border: 1px solid #ead5bb; border-radius: 20px; }
.product-price-row { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 19px; }
.product-price-row .price-block strong { font-size: 2rem; }
.product-price-row .price-block small { font-size: .8125rem; }
.purchase-unit { font-size: .8125rem; color: #806a54; }
.bakery-site .product-purchase-panel .detail-purchase-control { width: 100%; }
.bakery-site .detail-purchase-control .add-button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 53px; padding-inline: 23px; font-size: 1rem; border-radius: 30px; }
.bakery-site .detail-purchase-control .add-button.is-hidden { display: none; }
.detail-purchase-control .add-button > span { font-size: 1.5rem; }
.bakery-site .detail-purchase-control .quantity-stepper { width: 100%; height: 53px; }
.product-delivery-line { display: flex; gap: 10px; align-items: center; margin-top: 15px; font-size: .8125rem; color: #765e46; }
.product-delivery-line a { text-decoration: underline; text-underline-offset: 3px; }
.demo-product-note { margin: 17px 0; padding: 12px 15px; background: #f7f5f1; border-left: 2px solid #c09a69; font-size: .8125rem; color: #776a5b; }
.demo-product-note strong { display: block; margin-bottom: 4px; font-weight: 650; color: #5d4e3c; }
.product-quick-links { display: flex; flex-wrap: wrap; gap: 18px; padding-top: 19px; font-size: .875rem; }
.product-quick-links a { border-bottom: 1px solid #d7c3ab; padding-bottom: 2px; }
.product-facts { margin-top: 56px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; align-items: start; }
.food-information { padding: 29px; border: 1px solid #e6ded3; background: #fffdf9; border-radius: 22px; scroll-margin-top: 124px; }
.food-information > h2 { margin: 0 0 23px; font: 400 2rem/1.15 Georgia,serif; letter-spacing: -.03em; }
.food-information h3 { margin: 24px 0 9px; font-size: .875rem; font-weight: 650; }
.food-information p { font-size: .9375rem; color: #695d51; line-height: 1.8; margin-top: 0; overflow-wrap: anywhere; }
.allergen-note { display: flex; gap: 12px; padding: 17px; margin-top: 22px; background: #fcf0e0; border-radius: 14px; }
.allergen-note > span { font-size: 20px; color: #9b6027; }
.allergen-note h3 { margin: 0 0 5px; }
.allergen-note p { margin: 0; font-size: .875rem; }
.nutrition-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 19px; }
.nutrition-title h2 { margin: 0; font: 400 1.85rem/1.1 Georgia,serif; letter-spacing: -.035em; }
.nutrition-title span { color: #86715a; font-size: .8125rem; }
.nutrition-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.nutrition-grid > div { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 19px 6px; border-radius: 15px; background: #f6efe4; min-width: 0; }
.nutrition-grid strong { font-size: 1.5rem; font-weight: 600; letter-spacing: -.045em; }
.nutrition-grid small { color: #897560; font-size: .75rem; }
.nutrition-grid span { font-size: .75rem; margin-top: 7px; color: #78604b; }
.nutrition-footnote { margin-top: 12px !important; font-size: .75rem !important; color: #8d7c69 !important; }
.product-disclosures { margin-top: 26px; }
.product-disclosures details { border-top: 1px solid #e8dfd1; }
.product-disclosures summary { position: relative; list-style: none; cursor: pointer; padding: 19px 28px 19px 0; font-size: 1rem; font-weight: 600; }
.product-disclosures summary::-webkit-details-marker { display: none; }
.product-disclosures summary::after { content: "+"; position: absolute; right: 3px; top: 15px; font-size: 24px; font-weight: 400; color: #9a6640; transition: transform .3s; }
.product-disclosures details[open] summary::after { transform: rotate(45deg); }
.product-disclosures dl { margin: 0 0 19px; }
.product-disclosures dl > div { display: grid; grid-template-columns: 34% minmax(0,1fr); gap: 15px; padding: 10px 0; border-top: 1px dashed #e9e1d6; }
.product-disclosures dt { font-size: .8125rem; color: #887562; }
.product-disclosures dd { margin: 0; font-size: .875rem; overflow-wrap: anywhere; }
.product-information-source { border-top: 1px solid #e8dfd1; padding-top: 16px; margin-top: 20px; font-size: .75rem !important; color: #867766 !important; }
.mobile-product-buy { display: none; }
.product-lightbox { width: min(1000px,calc(100% - 32px)); max-height: 90dvh; padding: 42px 20px 20px; border: 1px solid #d8cdbd; border-radius: 22px; background: #fffdf9; }
.product-lightbox::backdrop { background: #20190fd9; backdrop-filter: blur(8px); }
.product-lightbox > img { max-width: 100%; height: 72dvh; object-fit: contain; margin-inline: auto; }
.lightbox-close { position: absolute; right: 14px; top: 10px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f1e8dc; font-size: 24px; }
.lightbox-caption { font-size: .8125rem; text-align: center; color: #786957; }
@media(max-width:1000px) { .bakery-site .product-hero { gap: 30px; } .food-information { padding: 22px; } .product-facts { gap: 20px; } .nutrition-title { flex-direction: column; } }
@media(max-width:760px) {
  .bakery-site .product-page { padding-top: 20px; }
  .product-page .breadcrumbs { font-size: .75rem; margin-bottom: 20px; }
  .product-page .breadcrumbs > span:last-child { display: none; }
  .bakery-site .product-hero { grid-template-columns: 1fr; gap: 25px; }
  .product-photo-column { position: static; }
  .bakery-site .product-hero-media { aspect-ratio: 6/5; border-radius: 22px; padding: 18px; }
  .bakery-site .product-hero-copy h1 { font-size: clamp(2rem,8vw,2.9rem); margin-bottom: 17px; }
  .product-purchase-panel { padding: 20px; }
  .product-facts { grid-template-columns: 1fr; margin-top: 30px; gap: 18px; }
  .food-information { padding: 22px 18px; }
  .food-information > h2 { font-size: 1.8rem; }
  .nutrition-title { flex-direction: row; }
  .nutrition-title h2 { font-size: 1.65rem; }
  .nutrition-grid strong { font-size: 1.35rem; }
  .product-disclosures dl > div { grid-template-columns: 1fr; gap: 5px; }
  .mobile-product-buy { position: fixed; z-index: 98; left: 0; right: 0; bottom: calc(74px + env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 16px; background: #fffdf9f5; backdrop-filter: blur(18px); border-top: 1px solid #e5d8c6; box-shadow: 0 -6px 24px #3c28130a; }
  .mobile-product-buy .detail-purchase-control { flex: 0 1 235px; }
  .mobile-product-buy .detail-purchase-control .add-button { font-size: .875rem; min-height: 45px; padding-inline: 17px; }
  .mobile-product-buy .price-block strong { font-size: 1.25rem; }
  .mobile-product-buy .purchase-unit { margin-top: 3px; font-size: .75rem; }
  .bakery-site:has(.mobile-product-buy) .site-footer { padding-bottom: 155px; }
  .bakery-site:has(.mobile-product-buy) .cart-notice { bottom: calc(166px + env(safe-area-inset-bottom)); }
  .product-lightbox { padding: 44px 10px 12px; }
}
@media(prefers-reduced-motion:reduce) { .product-disclosures summary::after { transition: none; } }
