/* Product page: stacked desktop photography and a swipeable mobile gallery. */
body.single-product { background: #efefef; }
.single-product .commerce.container { width: 100%; max-width: none; padding: 0; }
.single-product .woocommerce-breadcrumb { display: none; }
.woocommerce .atelier-pdp { margin: 0; }
.pdp-layout { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, .35fr); gap: 48px 80px; padding: 50px var(--gutter); max-width: calc(var(--layout-lg) + var(--gutter) * 2); margin: auto; }
.pdp-studio, .pdp-detail-section { --content-max: var(--layout-md); }
.pdp-looks { --content-max: var(--layout-xl); }
.pdp-mood { --content-max: var(--layout-lg); }
.pdp-gallery { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: start; gap: 80px; min-width: 0; }
.pdp-thumbnails { position: sticky; top: 120px; display: grid; gap: 16px; }
.pdp-thumbnails a { width: 56px; height: 56px; border: 1px solid transparent; padding: 2px; }
.pdp-thumbnails a.is-selected { border-color: var(--ink); }
.pdp-thumbnails img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pdp-images { display: grid; gap: 30px; min-width: 0; }
.pdp-photo { display: block; scroll-margin-top: 120px; cursor: zoom-in; }
.pdp-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.pdp-dots { display: none; }
.pdp-mobile-zoom { display: none; }
.pdp-information { min-width: 0; grid-column: 2; grid-row: 1 / span 2; }
.pdp-information-inner { position: sticky; top: var(--pdp-sticky-top,120px); }
.woocommerce .atelier-pdp .product_title { font-size: 21.5px; line-height: 1.5; letter-spacing: .18em; margin: -4px 0 8px; text-transform: uppercase; }
.pdp-price-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.woocommerce .atelier-pdp p.price { font-size: 18px; letter-spacing: .12em; margin: 0; color: #777; }
.pdp-price-row .woocommerce-product-rating { font-size: 12px; margin: 0 !important; }
.pdp-colors p { color: #777; margin: 0 0 10px; }
.pdp-colors p span { color: var(--ink); }
.pdp-swatches { display: flex; gap: 12px; margin-bottom: 24px; }
.pdp-swatches a { display: block; width: 32px; height: 32px; padding: 2px; background: var(--swatch); border: 1px solid transparent; background-clip: content-box; }
.pdp-swatches a.is-selected { border-color: var(--ink); }
.woocommerce .atelier-pdp .woocommerce-product-details__short-description { line-height: 1.7; font-size: 14px; }
.woocommerce-product-details__short-description p { margin-bottom: 24px; }
.woocommerce-product-details__short-description a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce .atelier-pdp form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 24px; }
.woocommerce .atelier-pdp form.cart:not(.variations_form):not(.grouped_form) > .quantity { display: none; }
.woocommerce .atelier-pdp form.cart .button { flex: 1 0 100%; width: 100%; border-radius: 0; min-height: 48px; margin: 0; font-size: 12px; letter-spacing: .15em; font-weight: 400; }
.woocommerce .atelier-pdp form.cart .single_add_to_cart_button { border: 1px solid #d4d4d4; background: transparent; color: var(--ink); }
.woocommerce .atelier-pdp form.cart .single_add_to_cart_button:hover { background: var(--ink); color: white; }
.woocommerce .atelier-pdp form.variations_form { display: block; }
.woocommerce .atelier-pdp form.variations_form .button { margin-block: 6px; }
.pdp-features { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; }
.pdp-features > div { display: flex; align-items: center; gap: 6px; font-size: 11px; border: 1px solid #ddd; padding: 6px 8px; }
.pdp-features svg { flex-shrink: 0; width: 18px; height: 18px; color: #999; }
.pdp-more { display: block; font-size: 11px; letter-spacing: .14em; margin: 30px 0; padding: 18px 14px; border-block: 1px solid var(--line); }
.pdp-extra { grid-column: 1; min-width: 0; scroll-margin-top: 120px; }
.pdp-extra details { border-top: 1px solid var(--line); }
.pdp-extra details:last-of-type { border-bottom: 1px solid var(--line); }
.pdp-extra summary { list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 22px 0; font-size: 12px; letter-spacing: .14em; }
.pdp-extra summary::-webkit-details-marker { display: none; }
.pdp-extra summary::after { content: '+'; font-size: 20px; font-weight: 300; }
.pdp-extra details[open] summary::after { content: '−'; }
.pdp-accordion-content { padding: 0 0 24px; line-height: 1.8; }
.pdp-combine { margin-top: 40px; }
.pdp-combine h2 { font-size: 12px; letter-spacing: .14em; margin-bottom: 24px; }
.pdp-combine article { display: grid; grid-template-columns: 100px minmax(0,1fr) auto; gap: 20px; align-items: center; margin: 20px 0; }
.pdp-combine img { width: 100%; }
.pdp-combine h3 { font-size: 12px; margin-bottom: 8px; letter-spacing: .1em; }
.pdp-combine-add { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
.pdp-story-banner { position: relative; }
.pdp-story-banner > img { width: 100%; display: block; }
.pdp-story-banner > div { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; background: #0001; color: white; text-align: center; padding: 30px; }
.pdp-story-banner h2 { font-size: clamp(22px,2.4vw,34px); }
.pdp-studio { display: grid; grid-template-columns: minmax(0,375px) minmax(0,1fr); gap: 80px; align-items: center; }
.pdp-studio h2 { font-size: 28px; margin: 20px 0; }
.pdp-studio-images { position: relative; display: flex; align-items: center; }
.pdp-studio-images img:first-child { width: 63%; margin-left: 37%; }
.pdp-studio-images img:last-child { width: 50%; position: absolute; left: 0; }
.pdp-marquee { display: flex; align-items: center; gap: 80px; padding: 70px 0; border-block: 1px solid var(--line); overflow: hidden; font-size: clamp(40px,6.8vw,96px); font-family: var(--heading-font); white-space: nowrap; }
.pdp-marquee img { width: 180px; height: 180px; object-fit: cover; flex-shrink: 0; }
.pdp-detail-panel:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; background: white; align-items: center; }
.pdp-detail-panel > img { width: 100%; height: 100%; object-fit: cover; }
.pdp-detail-panel > div { padding: 60px; text-align: center; }
.pdp-detail-panel h2 { font-size: 28px; margin: 20px 0; }
.pdp-detail-nav { display: flex; justify-content: center; gap: 60px; padding-top: 32px; }
.pdp-detail-nav button { font-size: 18px; padding: 0 12px 12px; border-bottom: 2px solid transparent; color: #888; }
.pdp-detail-nav [aria-selected="true"] { color: var(--ink); border-color: var(--ink); }
.pdp-testimonial { text-align: center; background: #e5e5e5; }
.pdp-testimonial blockquote { max-width: 850px; margin: 0 auto 32px; padding: 0 24px; font-size: 20px; line-height: 1.7; }
.pdp-testimonial img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; margin: auto; }
.pdp-testimonial p { margin: 16px 0 0; }
.pdp-looks > h2, .pdp-looks > .eyebrow { text-align: center; }
.pdp-looks > h2 { font-size: 28px; margin-bottom: 48px; }
.pdp-look-panel:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.pdp-look-image { position: relative; }
.pdp-look-image > img { width: 100%; display: block; }
.pdp-hotspot { position: absolute; top: 66%; left: 55%; border: 8px solid #ffffff66; background: white; background-clip: padding-box; border-radius: 50%; width: 42px; height: 42px; display: grid; place-items: center; }
.pdp-look-product { max-width: 380px; margin: auto; width: 100%; text-align: center; }
.pdp-look-product > .button { display: inline-block; margin-top: 24px; }
.pdp-look-nav { display: flex; justify-content: center; gap: 24px; margin-top: 24px; }
.pdp-look-nav button { border: 1px solid var(--line); width: 44px; height: 44px; border-radius: 50%; }
.pdp-mood { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.pdp-mood video { grid-column: span 2; grid-row: span 2; width: 100%; height: 100%; object-fit: cover; }
.pdp-mood img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1; }
.pdp-related > h2 { text-align: center; font-size: 28px; margin-bottom: 48px; }
.pdp-collections { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; padding-bottom: 0; width: 100%; max-width: none; }
.pdp-collections > a { position: relative; color: white; }
.pdp-collections img { width: 100%; display: block; }
.pdp-collections a > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #0002; text-align: center; }
.pdp-collections h2 { font-size: 24px; }
.pdp-collections span { font-size: 11px; text-decoration: underline; text-underline-offset: 5px; letter-spacing: .14em; }
.pdp-lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; padding: 0; border: 0; background: #efefef; }
.pdp-lightbox[open] { display: grid; place-items: center; }
.pdp-lightbox img { max-width: 90vw; max-height: 90dvh; width: auto; height: auto; object-fit: contain; }
.pdp-lightbox button { position: absolute; z-index: 1; background: white; border: 1px solid var(--line); width: 44px; height: 44px; border-radius: 50%; }
.pdp-lightbox-close { top: 20px; right: 20px; font-size: 24px; }.pdp-lightbox-prev { left: 20px; top: 50%; }.pdp-lightbox-next { right: 20px; top: 50%; }
.pdp-lightbox p { position: absolute; bottom: 8px; }
[hidden] { display: none !important; }
.pdp-sticky-purchase { position: fixed; z-index: 20; top: var(--header-height,74px); left: 0; right: 0; border-block: 1px solid var(--line); background: #efefef; padding: 18px 48px; display: flex; align-items: center; justify-content: space-between; }
.admin-bar .pdp-sticky-purchase { top: calc(var(--header-height,74px) + 32px); }
.pdp-sticky-purchase > div { display: flex; gap: 24px; align-items: center; }.pdp-sticky-purchase img { width: 56px; height: 56px; object-fit: cover; }
.pdp-sticky-purchase p { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin: 0; }.pdp-sticky-purchase .amount { font-size: 12px; color: #777; letter-spacing: .12em; }
@media (max-width: 1199px) and (min-width: 1000px) { .pdp-layout { gap: 40px; padding-inline: 32px; }.pdp-gallery { gap: 32px; } }
@media (max-width: 999px) {
  .pdp-layout { display: flex; flex-direction: column; gap: 0; padding: 0 32px 60px; }
  .pdp-gallery { display: block; margin-inline: -32px; position: relative; }
  .pdp-mobile-zoom { display: grid; place-items: center; position: absolute; top: 20px; right: 20px; border-radius: 50%; width: 36px; height: 36px; background: white; box-shadow: 0 2px 12px #0001; z-index: 1; }
  .pdp-thumbnails { display: none; }
  .pdp-images { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .pdp-images::-webkit-scrollbar { display: none; }
  .pdp-photo { width: 100%; flex: 0 0 100%; scroll-snap-align: center; }
  .pdp-dots { display: flex; gap: 16px; justify-content: center; padding: 20px; }
  .pdp-dots button { width: 6px; height: 6px; padding: 0; border-radius: 50%; background: #999; }
  .pdp-dots [aria-pressed="true"] { background: #222; }
  .pdp-information { padding-top: 22px; }
  .pdp-information-inner { position: static; }
  .pdp-extra { margin-top: 24px; }
  .pdp-studio { gap: 40px; grid-template-columns: 1fr; }.pdp-studio-images { grid-row: 1; }
  .pdp-look-panel:not([hidden]) { gap: 32px; }
  .pdp-detail-panel > div { padding: 32px; }
}
@media (max-width: 699px) {
  .pdp-sticky-purchase,.admin-bar .pdp-sticky-purchase { top: auto; bottom: 0; padding: 12px 20px; }.pdp-sticky-purchase > div { display: none; }.pdp-sticky-purchase > .button { width: 100%; text-align: center; }
  .pdp-layout { padding: 0 20px 40px; }.pdp-gallery { margin-inline: -20px; }
  .woocommerce .atelier-pdp .product_title { font-size: 18px; line-height: 1.5; }
  .woocommerce .atelier-pdp p.price { font-size: 16px; }
  .pdp-story-banner > img { min-height: 400px; object-fit: cover; }
  .pdp-studio h2,.pdp-detail-panel h2,.pdp-related > h2,.pdp-looks > h2 { font-size: 22px; }
  .pdp-detail-panel:not([hidden]) { grid-template-columns: 1fr; }
  .pdp-detail-panel > div { padding: 40px 24px; }
  .pdp-marquee { gap: 40px; padding-block: 40px; }.pdp-marquee img { width: 100px; height: 100px; }
  .pdp-testimonial blockquote { font-size: 18px; }
  .pdp-look-panel:not([hidden]) { grid-template-columns: 1fr; }.pdp-look-product { max-width: 260px; }
  .pdp-mood { grid-template-columns: repeat(2,1fr); gap: 8px; }.pdp-mood video { aspect-ratio: 1; }
  .pdp-collections { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 20px; padding-bottom: 40px; }.pdp-collections > a { flex: 0 0 85%; scroll-snap-align: center; }
  .pdp-combine article { grid-template-columns: 70px minmax(0,1fr); gap: 14px; }.pdp-combine-add { grid-column: 2; }
}
