/* Product detail refresh: phones and tablets retain their current layouts. */
.desktop-product-redesign, .desktop-product-eyebrow, .desktop-product-lede { display: none; }
@media (min-width: 992px) {
  body[data-page="product_detail"] { --detail-teal: #174f49; --detail-ink: #213d37; --detail-muted: #64736b; --detail-cream: #f8f5ef; --detail-border: #e9e3d7; --detail-gold: #b89458; background: var(--detail-cream); color: var(--detail-ink); }
  body[data-page="product_detail"] .desktop-product-content { display: none; }
  .desktop-product-redesign { display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.7; }
  body.desktop-photo-open { overflow: hidden; }
  .desktop-product-redesign *, .desktop-product-redesign *::before, .desktop-product-redesign *::after { box-sizing: border-box; }
  .detail-wrap, body[data-page="product_detail"] .product-page-header .container { width: 100%; max-width: 1180px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
  .desktop-product-redesign h2, .desktop-product-redesign h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 600; text-transform: none; letter-spacing: -.7px; color: var(--detail-ink); }
  .desktop-product-redesign h2 { font-size: 34px; line-height: 1.2; margin: 0 0 18px; }
  .desktop-product-redesign a { text-decoration: none; color: inherit; }
  .desktop-product-redesign button { font-family: inherit; cursor: pointer; }
  .desktop-product-redesign button:focus-visible, .desktop-product-redesign a:focus-visible, .desktop-product-redesign summary:focus-visible { outline: 2px solid var(--detail-gold); outline-offset: 4px; }
  .desktop-product-redesign [id] { scroll-margin-top: 110px; }

  /* Keep the store's navigation, styled to sit quietly above the product. */
  body[data-page="product_detail"] nav.navbar-fixed { position: sticky; top: 0; background: #fff; box-shadow: 0 1px 0 var(--detail-border); border: 0; }
  body[data-page="product_detail"] nav.navbar-fixed > .container { position: relative; width: 100%; max-width: 1180px; padding: 0 24px; }
  body[data-page="product_detail"] nav .navigation-main { display: flex; align-items: center; height: 80px; }
  body[data-page="product_detail"] nav .navigation .logo.site-brand { position: static; width: auto; flex: 0 0 auto; margin-right: 28px; padding: 0; color: var(--detail-teal) !important; font-family: Georgia, serif; font-weight: 600; font-size: 24px; line-height: 1.2; }
  body[data-page="product_detail"] nav .navigation-main .floating-menu { position: static; float: none; flex: 1; padding-right: 118px; }
  body[data-page="product_detail"] nav .navigation-main .floating-menu > ul { display: flex; justify-content: flex-end; align-items: center; padding: 0; margin: 0; }
  body[data-page="product_detail"] nav .navigation-main .floating-menu > ul > li > a { padding: 20px 9px; font-size: 12px; line-height: 1.4; font-weight: 500; text-transform: none; color: var(--detail-ink) !important; }
  body[data-page="product_detail"] nav .navigation-top { position: absolute; top: 18px; right: 24px; border: 0; background: transparent; }
  body[data-page="product_detail"] nav .navigation-top > ul { display: flex; align-items: center; height: 44px; overflow: visible; border: 0; padding: 0; margin: 0; }
  body[data-page="product_detail"] nav .navigation-top > ul > li:nth-last-child(n+4) { display: none; }
  body[data-page="product_detail"] nav .navigation-top > ul > li > a { display: flex; align-items: center; justify-content: center; min-width: 34px; height: 44px; padding: 0 7px; color: var(--detail-ink); background: transparent; }
  body[data-page="product_detail"] nav .navigation-top .icon::before { color: var(--detail-teal) !important; }
  body[data-page="product_detail"] nav .search-wrapper { top: 80px; background: #fff; border: 1px solid var(--detail-border); }

  .product-page-header { background: var(--detail-cream) !important; background-image: none !important; padding: 0; margin: 0; }
  .product-page-header > header { background: transparent; padding: 0; }
  .product-page-header > header > .container { display: flex; flex-direction: column; padding-top: 22px; padding-bottom: 36px; }
  .product-page-header .breadcrumb { order: -2; padding: 0; margin: 0 0 28px; background: transparent; font-size: 12px; text-shadow: none; }
  .product-page-header .breadcrumb.breadcrumb-inverted > li, .product-page-header .breadcrumb.breadcrumb-inverted > li > a { color: var(--detail-muted); }
  .product-page-header .breadcrumb .icon::before { color: var(--detail-muted) !important; }
  .product-page-header .breadcrumb > li + li::before { content: "›"; padding: 0 10px; color: #9ca79d; }
  .desktop-product-eyebrow { display: block; order: -1; margin: 0 0 12px; color: var(--detail-gold); text-transform: uppercase; font-size: 11px; letter-spacing: 2.5px; font-weight: 600; }
  .product-page-header .h2.title { margin: 0 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(36px, 3vw, 46px); font-weight: 600; line-height: 1.15; text-transform: none; letter-spacing: -1.1px; color: var(--detail-ink); text-shadow: none; }
  .desktop-product-lede { display: block; max-width: 760px; margin: 0; color: var(--detail-muted); font-size: 16px; line-height: 1.75; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

  .detail-product-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px; align-items: start; padding-bottom: 56px; }
  .detail-gallery { position: sticky; top: 104px; align-self: start; min-width: 0; max-height: calc(100vh - 128px); max-height: calc(100dvh - 128px); background: #fcfaf5; border-radius: 18px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; box-shadow: 0 18px 40px -30px rgba(23,79,73,.35); }
  .detail-main-photo { display: block; width: 100%; padding: 0; border: 0; background: #ede9e1; cursor: zoom-in !important; }
  .detail-main-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
  .detail-thumbnails { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 10px; }
  .detail-thumbnail { min-width: 0; border: 2px solid transparent; border-radius: 10px; background: #f0ece4; padding: 0; overflow: hidden; transition: border-color .18s ease; }
  .detail-thumbnail[aria-pressed="true"] { border-color: var(--detail-gold); }
  .detail-thumbnail img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
  .detail-summary { min-width: 0; padding: 0; margin: 0; background: transparent; }
  .detail-price { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin: 0 0 8px; }
  .detail-price > strong { font-family: Georgia, serif; font-size: 42px; font-weight: 600; line-height: 1.2; color: var(--detail-teal); }
  .detail-price > del { color: #8f9288; font-size: 20px; }
  .detail-price > span { font-size: 11px; padding: 3px 9px; border-radius: 20px; background: #eadcc7; color: #7c6137; }
  .detail-availability { display: flex; align-items: center; gap: 7px; color: var(--detail-muted); font-size: 12px; margin: 0 0 18px; }
  .detail-availability > span { width: 6px; height: 6px; border-radius: 50%; background: #718c5d; }
  .detail-unavailable > span { background: #b57b5a; }
  .detail-features { padding: 0; list-style: none; margin: 18px 0 22px; }
  .detail-features > li { position: relative; display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 18px; border-bottom: 1px solid var(--detail-border); padding: 11px 0 11px 25px; font-size: 13px; color: var(--detail-muted); }
  .detail-features > li::before { content: ""; position: absolute; top: 18px; left: 0; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--detail-gold); background: #e2cdaa; }
  .detail-features strong { color: var(--detail-ink); font-weight: 600; }
  .detail-features a { text-decoration: underline; text-underline-offset: 3px; }
  .detail-fabric-link { display: inline-block; margin-bottom: 22px; color: var(--detail-teal) !important; font-size: 13px; font-weight: 600; border-bottom: 1px solid var(--detail-gold); }
  .detail-order-actions { display: grid; grid-template-columns: minmax(0, 1fr) 52px; gap: 10px; }
  .detail-whatsapp { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 52px; padding: 14px 24px; border: 1px solid #25b969; border-radius: 999px; background: #25b969; color: #fff !important; font-size: 14px; line-height: 22px; font-weight: 600; text-decoration: none; transition: background-color .18s ease; }
  .detail-whatsapp:hover { background: #1b9b56; border-color: #1b9b56; }
  .detail-whatsapp .fa { font-size: 19px; }
  .detail-cart { display: flex; justify-content: center; align-items: center; min-width: 0; padding: 12px; border: 1px solid #c9d3c8; border-radius: 50%; background: #fff; color: var(--detail-teal); }
  .detail-cart .icon::before { color: var(--detail-teal) !important; }
  .detail-cart.added-to-cart { font-size: 10px; }
  .detail-order-note { color: var(--detail-muted); font-size: 11px; text-align: center; line-height: 1.7; margin: 10px 0 18px; }
  .detail-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .detail-service-grid > a { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--detail-border); background: #fcfaf5; border-radius: 12px; color: var(--detail-muted); font-size: 11px; line-height: 1.4; }
  .detail-service-grid .fa { color: var(--detail-gold); font-size: 21px; width: 24px; text-align: center; flex-shrink: 0; }
  .detail-service-grid strong { display: block; color: var(--detail-ink); font-size: 12px; font-weight: 600; margin-bottom: 3px; }
  .detail-colours { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
  .detail-colours legend { display: flex; justify-content: space-between; border: 0; font-size: 13px; font-weight: 600; margin-bottom: 10px; color: var(--detail-ink); }
  .detail-colours legend > span { color: var(--detail-muted); font-weight: 400; font-size: 11px; }
  .detail-colour-options { display: flex; flex-wrap: wrap; gap: 10px; }
  .detail-colour { display: flex; flex-direction: column; align-items: center; gap: 6px; background: none; border: 0; padding: 4px; font-size: 10px; color: var(--detail-muted); }
  .detail-swatch { width: 32px; height: 32px; border-radius: 50%; background: var(--detail-swatch); border: 3px solid var(--detail-cream); box-shadow: 0 0 0 1px #d8d1c3; }
  .detail-colour[aria-pressed="true"] .detail-swatch { box-shadow: 0 0 0 2px var(--detail-gold); }
  .detail-colour-note { font-size: 11px; color: var(--detail-muted); margin: 8px 0 0; }
  .detail-section { padding: 52px 0; border-top: 1px solid var(--detail-border); }
  .detail-eyebrow { margin: 0 0 12px; font-size: 10px; text-transform: uppercase; letter-spacing: 2.5px; font-weight: 600; color: var(--detail-gold); }
  .detail-prose { color: var(--detail-muted); font-size: 15px; line-height: 1.9; max-width: 1040px; }
  .detail-prose p { margin: 0 0 18px; }
  .detail-text-link { font-size: 13px; color: var(--detail-teal) !important; border-bottom: 1px solid var(--detail-gold); }
  .detail-faq { display: grid; gap: 12px; margin-top: 26px; }
  .detail-faq details { padding: 18px 22px; border: 1px solid var(--detail-border); border-radius: 12px; background: #fcfaf5; }
  .detail-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; list-style: none; font-size: 14px; font-weight: 600; cursor: pointer; }
  .detail-faq summary::-webkit-details-marker { display: none; }
  .detail-faq summary::after { content: "+"; color: var(--detail-gold); font-size: 23px; font-weight: 400; }
  .detail-faq details[open] summary::after { content: "−"; }
  .detail-faq details > div { padding-top: 14px; font-size: 13px; color: var(--detail-muted); line-height: 1.8; }
  .detail-faq p { margin: 0 0 8px; }
  .detail-faq a { text-decoration: underline; text-underline-offset: 3px; }
  .detail-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
  .detail-related-card { background: #fcfaf5; border: 1px solid var(--detail-border); border-radius: 16px; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
  .detail-related-card:hover { transform: translateY(-4px); box-shadow: 0 15px 30px -25px rgba(23,79,73,.5); }
  .detail-related-card > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #ede9e1; }
  .detail-related-card > div { padding: 18px 20px 22px; }
  .detail-related-card span { color: var(--detail-muted); font-size: 10px; }
  .detail-related-card h3 { margin: 7px 0 8px; font-size: 23px; line-height: 1.2; }
  .detail-related-card strong { color: var(--detail-teal); font-size: 16px; font-weight: 600; }
  .detail-enquiry { margin: 48px 0 58px; padding: 46px 40px; border-radius: 18px; text-align: center; background: var(--detail-teal); color: var(--detail-cream); }
  .detail-enquiry .detail-eyebrow { color: #e1c28e; }
  .detail-enquiry h2 { color: var(--detail-cream); }
  .detail-enquiry > p:not(.detail-eyebrow) { max-width: 540px; margin: 0 auto 24px; color: #d4e0d8; font-size: 14px; }
  .detail-review-summary { color: var(--detail-muted); }
  .detail-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 24px; }
  .detail-review-grid article { padding: 22px; background: #fcfaf5; border: 1px solid var(--detail-border); border-radius: 12px; }
  .detail-review-grid strong { display: flex; justify-content: space-between; font-size: 13px; }
  .detail-review-grid time { display: block; margin: 8px 0 14px; font-size: 11px; color: var(--detail-muted); }
  .detail-review-grid article p { font-size: 13px; color: var(--detail-muted); }
  body[data-page="product_detail"] footer { background: #123d36; color: #d1dcd4; }
  body[data-page="product_detail"] footer .footer-brand, body[data-page="product_detail"] footer h2 { color: #f8f5ef; font-family: Georgia, serif; text-transform: none; }
  body[data-page="product_detail"] footer .icon::before { color: #d8bc89 !important; }
  .detail-photo-dialog { width: min(1150px, 92vw); max-height: 94vh; margin: auto; padding: 48px 24px 18px; border: 0; border-radius: 16px; background: #fcfaf5; }
  .detail-photo-dialog::backdrop { background: rgba(13,35,30,.82); }
  .detail-photo-dialog img { display: block; width: 100%; height: 72vh; object-fit: contain; }
  .detail-photo-close { position: absolute; top: 12px; right: 16px; width: 36px; height: 36px; border: 1px solid #ddd6c7; background: #fff; border-radius: 50%; font-size: 24px; color: var(--detail-ink); }
  .detail-photo-dialog > p { text-align: center; margin: 12px 0 0; font-size: 12px; color: var(--detail-muted); }
  @media (prefers-reduced-motion: reduce) { .desktop-product-redesign *, .desktop-product-redesign *::before, .desktop-product-redesign *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
}
