/* Soft Atelier / Immersive Folio. Scoped to product pages; shared shop remains intact. */
.single-product { --pdp-wine:#701d23; --pdp-panel:#eee5da; --pdp-line:#ddcabe; background:#f6f3ec; }
.single-product .site-header { height:clamp(44px,4.8vw,70px); padding-inline:clamp(24px,4vw,72px); }
.single-product .site-header .wordmark { font-size:clamp(18px,1.7vw,24px); }
.single-product .site-header .desktop-nav a { font-size:clamp(12px,1.15vw,16px); }
.single-product .store-page.wrap { width:calc(100% - 2 * clamp(24px,3.8vw,64px)); max-width:1500px; padding-top:clamp(12px,1.4vw,20px); }
.single-product .woocommerce-breadcrumb { margin:0 0 clamp(8px,1vw,14px); font-size:clamp(11px,1vw,14px); color:#514b47; }
.single-product .woocommerce-breadcrumb a { color:var(--pdp-wine); }
.single-product div.product.pdp-product { margin-bottom:0; }
.single-product .pdp-top { display:grid; grid-template-columns:minmax(0,1.94fr) minmax(260px,1fr); gap:clamp(24px,3vw,48px); align-items:start; }
.single-product div.product .summary.pdp-summary { width:auto; float:none; margin:0; min-width:0; opacity:1!important; transform:none!important; }
.pdp-gallery { min-width:0; }
.pdp-stage { position:relative; overflow:hidden; border-radius:30px; background:#eee5da; aspect-ratio:1.22; touch-action:pan-y; }
.pdp-slide,.pdp-slide a { display:block; width:100%; height:100%; margin:0; }
.pdp-slide img { width:100%; height:100%; object-fit:contain; object-position:center; }
.pdp-mobile-nav,.pdp-stage-count { display:none; }
.pdp-arrow,.pdp-zoom { display:flex; align-items:center; justify-content:center; position:absolute; border:1px solid #fff9; background:#35101235; color:white; border-radius:50%; width:44px; height:44px; padding:9px; }
.pdp-arrow:hover,.pdp-zoom:hover { background:#35101280; }
.pdp-arrow { top:50%; transform:translateY(-50%); }
.pdp-prev { left:22px; }.pdp-next { right:22px; }.pdp-zoom { right:22px; bottom:20px; }
.pdp-filmstrip { display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; padding:5px 3px 8px; margin-top:12px; }
.pdp-filmstrip button { flex:0 0 calc((100% - 48px) / 5); min-width:65px; max-width:160px; aspect-ratio:1.06; border:2px solid transparent; background:transparent; padding:3px; border-radius:15px; overflow:hidden; }
.pdp-filmstrip button[aria-pressed=true] { border-color:var(--pdp-wine); }
.pdp-filmstrip img { width:100%; height:100%; object-fit:cover; border-radius:10px; }
.pdp-gallery-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:8px 8px 0; font-size:14px; }
.pdp-gallery-footer progress { width:40%; height:2px; border:0; background:var(--pdp-line); accent-color:var(--pdp-wine); }
.pdp-gallery-footer progress::-webkit-progress-bar { background:var(--pdp-line); }.pdp-gallery-footer progress::-webkit-progress-value { background:var(--pdp-wine); }
.pdp-gallery-footer button { display:flex; align-items:center; gap:7px; border:0; background:none; color:var(--pdp-wine); padding:6px 0; font-size:14px; }
.pdp-gallery-footer button svg { width:18px; }
.single-product div.product .pdp-summary h1 { font-family:var(--display); font-size:clamp(38px,4.3vw,68px); line-height:.99; letter-spacing:-.045em; margin:8px 0 8px; color:#242322; }
.pdp-painted { color:#625d59; font-size:16px; margin:0 0 12px; }
.single-product .pdp-price.price { display:flex; flex-wrap:wrap; gap:7px 12px; align-items:baseline; color:var(--pdp-wine); font-size:clamp(26px,2.6vw,40px); margin:0 0 13px; line-height:1.2; }
.single-product.woocommerce div.product .pdp-summary .pdp-price.price ins { order:0; font-size:1em; font-weight:500; color:var(--pdp-wine); text-decoration:none; background:none; }
.single-product .pdp-price.price del { order:1; font-size:.5em; opacity:1; color:#756a62; }
.single-product .pdp-price .leathura-price-discount { order:2; font-size:11px; background:var(--pdp-wine); }
.pdp-description { font-size:16px; line-height:1.5; color:#635c56; margin-bottom:16px; }
.pdp-description p { margin:0; }
.single-product div.product .pdp-purchase form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 14px; }
.single-product div.product .pdp-purchase form.cart div.quantity { display:flex; align-items:center; justify-content:center; border:1px solid var(--pdp-line); border-radius:40px; overflow:hidden; min-height:48px; margin:0; flex:0 0 38%; }
.single-product .pdp-purchase .quantity .qty { min-width:0; width:40px; height:46px; padding:0; border:0; border-radius:0; text-align:center; background:none; -moz-appearance:textfield; }
.pdp-purchase .quantity .qty::-webkit-inner-spin-button,.pdp-purchase .quantity .qty::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.pdp-quantity-step { display:flex; align-items:center; justify-content:center; min-width:36px; min-height:44px; color:var(--pdp-wine); border:0; background:none; padding:8px; }
.pdp-quantity-step img { width:16px; height:16px; }
.single-product div.product .pdp-purchase .single_add_to_cart_button { flex:1; background:var(--pdp-wine); color:#fff; border:1px solid var(--pdp-wine); border-radius:40px; min-height:48px; padding:12px 14px; font:500 16px/1.3 var(--body); margin:0; white-space:nowrap; }
.pdp-purchase .single_add_to_cart_button:hover { background:#54141a!important; }
.pdp-purchase .stock { font-size:14px; }
.pdp-save-row { display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--pdp-wine); font-size:14px; margin-bottom:10px; }
.pdp-save-row .save-inline { display:flex; gap:9px; align-items:center; background:none; border:0; padding:7px 0; margin:0; font-size:14px; color:inherit; }
.pdp-save-row a { text-decoration:underline; text-underline-offset:3px; }
.pdp-shipping { font-size:14px; color:#6d655e; margin:0 0 22px; }
.pdp-disclosures { background:var(--pdp-panel); border-radius:26px; padding:0 18px; }
.pdp-disclosures details { border-bottom:1px solid var(--pdp-line); }
.pdp-disclosures details:last-child { border:0; }
.pdp-disclosures summary,.pdp-full-description>summary,.pdp-reviews>summary { display:flex; align-items:center; justify-content:space-between; gap:15px; list-style:none; cursor:pointer; min-height:53px; padding:13px 0; font-size:16px; }
.pdp-disclosures summary::-webkit-details-marker,.pdp-full-description>summary::-webkit-details-marker,.pdp-reviews>summary::-webkit-details-marker { display:none; }
.pdp-disclosures summary svg { width:17px; height:17px; color:var(--pdp-wine); transition:transform .2s; }
.pdp-disclosures details[open]>summary svg { transform:rotate(45deg); }
.pdp-disclosures details>div { padding:0 0 17px; font-size:14px; line-height:1.6; color:#645c55; }
.pdp-disclosures p { margin:0 0 12px; }
.pdp-disclosures a { color:var(--pdp-wine); text-decoration:underline; text-underline-offset:3px; }
.pdp-disclosures div>a { display:flex; align-items:center; gap:7px; margin-top:8px; }
.single-product .pdp-disclosures .product_meta { margin:0; font-size:12px; }
.pdp-editorial { margin-top:42px; }
.pdp-editorial h2 { font-size:clamp(36px,4.6vw,70px); line-height:1.03; letter-spacing:-.04em; }
.pdp-editorial p { font-size:18px; line-height:1.5; color:#625b56; margin:26px 0 0; }
.pdp-editorial figure { position:relative; overflow:hidden; border-radius:28px; margin:0; }
.pdp-editorial figure img { width:100%; height:100%; object-fit:cover; }
.pdp-editorial figcaption { position:absolute; bottom:12px; left:14px; margin:0; font-size:11px; padding:3px 8px; border-radius:20px; background:#f6f3ece8; color:#625b56; }
.pdp-day { display:grid; grid-template-columns:1.9fr .8fr; gap:clamp(28px,3.4vw,54px); align-items:center; margin-bottom:34px; }
.pdp-day figure { aspect-ratio:1.48; }
.pdp-day>div { padding-right:12px; }
.pdp-details-story { display:grid; grid-template-columns:1fr 1.12fr .66fr; align-items:center; gap:24px; margin-bottom:34px; }
.pdp-details-story>div { padding:15px 20px; }
.pdp-details-story figure { height:100%; min-height:310px; max-height:470px; }
.pdp-details-story figure:first-of-type img { transform:scale(2.1); transform-origin:50% 35%; }
.pdp-secondary-detail img { transform:scale(2.8); transform-origin:65% 80%; }
.pdp-founder { display:grid; grid-template-columns:1fr 1fr; gap:35px; padding:30px 28px 30px 42px; background:var(--pdp-wine); border-radius:32px; color:#fff8ee; align-items:center; }
.pdp-founder h2 { font-size:clamp(35px,4.4vw,65px); }
.pdp-founder p { color:#f4e6dd; font-size:17px; max-width:430px; margin-top:18px; }
.pdp-founder a,.pdp-studio a { display:inline-flex; align-items:center; gap:10px; text-decoration:underline; text-underline-offset:4px; margin-top:14px; }
.pdp-founder figure { height:100%; min-height:245px; max-height:330px; border-radius:25px; }
.pdp-founder figure img { transform:scale(2.2); transform-origin:55% 80%; }
.pdp-studio { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; padding:42px 28px; }
.pdp-studio h2 { font-size:clamp(30px,3.5vw,52px); }
.pdp-studio>div { padding-left:45px; border-left:1px solid var(--pdp-line); }
.pdp-studio p { margin:0; font-size:16px; }
.pdp-studio a { margin-top:5px; font-size:16px; color:var(--pdp-wine); }
.pdp-full-description,.pdp-reviews { border-top:1px solid var(--pdp-line); padding:0 12px; font-size:16px; }
.pdp-full-description>div { padding:15px 0 24px; max-width:850px; }.pdp-full-description p { font-size:16px; margin:0 0 16px; }
.single-product .site-footer { margin-top:28px; border-radius:40px 40px 0 0; padding-top:36px; background:var(--pdp-wine); }
.single-product .site-footer .footer-curve,.single-product .site-footer .closing,.single-product .site-footer .newsletter { display:none; }
.single-product .site-footer .footer-navigation { padding-block:0 25px; border:0; }
.pdp-lightbox { width:min(1200px,96vw); max-width:96vw; height:94dvh; max-height:94dvh; padding:16px 22px; border:0; border-radius:20px; background:#f6f3ec; color:#2b2b2b; }
.pdp-lightbox::backdrop { background:#20090ce8; }
.pdp-lightbox-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; height:52px; }
.pdp-lightbox-toolbar p { margin:0; font-size:14px; }
.pdp-lightbox-stage { height:calc(100% - 90px); display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; }
.pdp-lightbox-stage img { width:100%; height:100%; min-height:0; object-fit:contain; }
.pdp-photo-note { text-align:center; font-size:13px; margin:10px 0 0; }
.pdp-modal-open { overflow:hidden; }
.pdp-no-photo img { width:100%; border-radius:28px; }
.single-product .pdp-purchase>p,.single-product .pdp-purchase>div:not(.woocommerce-variation-add-to-cart) { font-size:13px; }
@media(min-width:768px) and (max-width:1000px) {
 .single-product .pdp-top { grid-template-columns:minmax(0,1.94fr) minmax(240px,1fr); gap:24px; }
 .single-product .store-page.wrap { width:calc(100% - 48px); }.single-product div.product .pdp-summary h1 { font-size:40px; }
 .pdp-description { font-size:14px; }.pdp-gallery-footer { gap:8px; font-size:12px; }.pdp-gallery-footer button { font-size:12px; }.pdp-gallery-footer progress { width:20%; }
}
@media(max-width:767px) {
 .single-product .site-header { display:none; }
 .single-product .store-page.wrap { width:100%; max-width:none; padding-top:0; }
 .single-product .woocommerce-breadcrumb { display:none; }
 .single-product .pdp-top { display:flex; flex-direction:column; gap:0; }
 .single-product .pdp-gallery { width:100%; }
 .pdp-stage { width:100%; aspect-ratio:1.035; border-radius:0; }
 .pdp-stage .pdp-slide img { padding:52px 12px 24px; }
 .pdp-mobile-nav { display:grid; position:absolute; z-index:2; top:16px; left:16px; right:16px; grid-template-columns:44px 1fr auto; align-items:center; gap:10px; color:white; }
 .pdp-mobile-nav>.wordmark { font-size:clamp(18px,5vw,25px); letter-spacing:.24em; justify-self:center; color:var(--pdp-wine); }
 .pdp-mobile-nav>div { display:flex; gap:8px; }
 .pdp-glass { width:40px; height:40px; display:flex; align-items:center; justify-content:center; border:1px solid #ffffff55; border-radius:50%; background:#563035c9; color:white; padding:9px; backdrop-filter:blur(12px); }
 .pdp-glass svg { width:22px; height:22px; }
 .pdp-glass[aria-pressed=true] { background:var(--pdp-wine); }
 .pdp-stage-count { display:block; position:absolute; bottom:25px; left:20px; color:white; font-size:14px; background:#563035c9; padding:2px 8px; border-radius:15px; }
 .pdp-stage .pdp-arrow { display:none; }
 .pdp-stage .pdp-zoom { right:18px; bottom:20px; width:36px; height:36px; padding:7px; background:#563035c9; }
 .pdp-filmstrip { position:relative; z-index:3; background:#f6f3ec; border-radius:20px 20px 0 0; margin-top:-13px; padding:12px 18px 8px; gap:8px; scrollbar-width:none; }
 .pdp-filmstrip::-webkit-scrollbar { display:none; }
 .pdp-filmstrip button { flex-basis:calc((100vw - 68px)/5); min-width:56px; max-width:120px; border-radius:10px; padding:2px; }
 .pdp-filmstrip img { border-radius:7px; }
 .pdp-gallery-footer { display:none; }
 .single-product div.product .summary.pdp-summary { width:100%; margin:0; padding:12px 20px 0; display:flex; flex-direction:column; }
 .single-product div.product .pdp-summary h1 { order:0; font-size:clamp(32px,8.2vw,53px); line-height:1.04; margin:0 0 8px; }
 .single-product .pdp-price.price { order:1; font-size:29px; margin:0 0 7px; gap:6px 10px; }
 .single-product .pdp-price.price del { font-size:15px; }.single-product .pdp-price .leathura-price-discount { font-size:10px; }
 .pdp-painted { order:2; font-size:16px; margin:0 0 16px; }.pdp-shipping { order:3; font-size:14px; margin:0 0 20px; }
 .pdp-description { display:none; }.pdp-purchase { order:4; }.pdp-save-row { display:none; }
 .pdp-disclosures { order:5; border-radius:22px; padding-inline:16px; width:100%; }
 .pdp-disclosures summary { font-size:16px; min-height:53px; }.pdp-disclosures details>div { font-size:14px; }
 .single-product div.product .pdp-purchase form.cart { position:fixed; z-index:30; bottom:12px; left:8px; right:8px; margin:0; background:#fbf8f2f2; border:1px solid #fff7; border-radius:22px; padding:12px; gap:10px; box-shadow:0 8px 32px #39231b25; backdrop-filter:blur(16px); padding-bottom:max(12px,env(safe-area-inset-bottom)); }
 .single-product div.product .pdp-purchase form.cart div.quantity { flex:0 0 34%; min-height:50px; }.single-product .pdp-purchase .quantity .qty { width:34px; }
 .pdp-quantity-step { min-width:31px; padding:7px; }.single-product div.product .pdp-purchase .single_add_to_cart_button { min-height:50px; font-size:18px; }
 .single-product div.product .pdp-purchase .variations_form.cart { max-height:50dvh; overflow:auto; }.pdp-purchase .variations { width:100%; }
 .single-product { padding-bottom:100px; }.single-product .site-footer { margin-top:20px; border-radius:26px 26px 0 0; }
 .single-product .site-footer .wrap { width:calc(100% - 40px); }.single-product .footer-navigation { grid-template-columns:1fr 1fr; gap:25px; }.single-product .footer-brand { grid-column:1/-1; }
 .pdp-editorial { margin-top:32px; padding-inline:16px; }.pdp-editorial h2 { font-size:36px; }.pdp-editorial p { font-size:16px; margin-top:18px; }
 .pdp-day { display:flex; flex-direction:column; gap:22px; margin-bottom:30px; align-items:stretch; }.pdp-day figure { aspect-ratio:1.15; border-radius:22px; }.pdp-day>div { padding:0 8px; }.pdp-day h2 br { display:none; }
 .pdp-details-story { grid-template-columns:1fr 1fr; gap:12px; margin-bottom:25px; }.pdp-details-story>div { grid-column:1/-1; padding:4px 8px 10px; }.pdp-details-story h2 br { display:none; }.pdp-details-story figure { min-height:0; height:auto; aspect-ratio:.85; border-radius:18px; }
 .pdp-founder { grid-template-columns:1fr; padding:26px 22px; gap:22px; border-radius:25px; }.pdp-founder h2 { font-size:38px; }.pdp-founder figure { min-height:0; height:220px; }.pdp-founder p { font-size:16px; }
 .pdp-studio { grid-template-columns:1fr; gap:15px; padding:30px 8px; }.pdp-studio h2 { font-size:33px; }.pdp-studio>div { border:0; padding:0; }
 .pdp-full-description,.pdp-reviews { padding-inline:8px; }.pdp-lightbox { padding:10px; border-radius:16px; }.pdp-lightbox-stage { grid-template-columns:30px minmax(0,1fr) 30px; gap:2px; }.pdp-lightbox-stage button { width:30px; padding:5px; }
 .single-product .woocommerce-notices-wrapper { position:relative; z-index:5; }.single-product .woocommerce-message { margin:10px; }
}
@media(prefers-reduced-motion:reduce) { .pdp-disclosures summary svg { transition:none; } }

/* Painted Musician: show the portrait, then the frock's floral brushwork. */
#product-5453 .pdp-details-story figure:first-of-type img {
 object-position:50% 0;
 transform:scale(2.2);
 transform-origin:50% 23%;
}
#product-5453 .pdp-secondary-detail img {
 object-position:50% 87%;
 transform:scale(4.2);
 transform-origin:62% 87%;
}
#product-5453 .pdp-founder figure img {
 object-position:50% 100%;
 transform:scale(2.2);
 transform-origin:60% 70%;
}

/* The product viewer uses native dialog state instead of the shared modal controller. */
.single-product .pdp-lightbox[open] { opacity:1; transform:none; pointer-events:auto; }
.single-product .pdp-lightbox[open]::backdrop { opacity:1; }
