/* PX Product Experience 0.8.0 — single-product hero/buybox only.
 * Catalog cards and the rest of Milano remain untouched.
 */
.pxp-icon{width:1em;height:1em;display:block}.pxp-icon-image{display:block;width:1em;height:1em;object-fit:contain}
body.pxp-single-focus{overflow-x:hidden}
body.pxp-single-focus #product-header{display:none!important}
body.pxp-single-focus .pxp-product{margin:0!important;padding:0!important;max-width:none!important;width:auto!important}
body.pxp-single-focus .site-content{padding-left:0!important;padding-right:0!important}

/* HERO ------------------------------------------------------------------- */
body.pxp-single-focus .pxp-hero{width:100vw;margin-left:calc(50% - 50vw);background:var(--pxp-hero-bg,#c99ac2);color:#111;padding:22px 0 34px}
.pxp-hero__inner{width:min(calc(100% - 40px),1080px);margin:0 auto}
.pxp-breadcrumb{font-size:11px;font-weight:700;line-height:1.25;margin:0 0 12px;color:#111;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pxp-breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.pxp-breadcrumb__sep{opacity:.55;text-decoration:none}
.pxp-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.98fr);gap:28px;align-items:start}
.pxp-hero__gallery,.pxp-hero__buybox{min-width:0}

/* GALLERY ---------------------------------------------------------------- */
.pxp-gallery{min-width:0}
.pxp-gallery__stage{position:relative;overflow:hidden;border-radius:14px;background:#fff;aspect-ratio:1/1;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.pxp-gallery__slides,.pxp-gallery__slide{position:absolute;inset:0;margin:0}
.pxp-gallery__slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease}
.pxp-gallery__slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.pxp-gallery__image{display:block;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;background:#fff}
.pxp-gallery__badge{position:absolute;z-index:5;top:15px;left:17px;display:inline-flex;align-items:center;min-height:25px;padding:5px 11px;border-radius:999px;background:#fff;color:#111;font-size:10px;font-weight:850;line-height:1;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.pxp-gallery__arrow{position:absolute;z-index:7;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0!important;border-radius:50%!important;background:#fff!important;color:#111!important;display:grid!important;place-items:center!important;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.12);padding:0!important;margin:0!important;transition:transform .15s ease,box-shadow .15s ease}
.pxp-gallery__arrow:hover{transform:translateY(-50%) scale(1.04);box-shadow:0 3px 14px rgba(0,0,0,.16)}
.pxp-gallery__arrow span{font:400 30px/1 Arial,sans-serif!important;display:block;height:31px;transform:translateY(-1px)}
.pxp-gallery__prev{left:15px}.pxp-gallery__next{right:15px}
.pxp-gallery__features{position:absolute;z-index:5;left:17px;right:17px;bottom:15px;display:flex;justify-content:center;align-items:stretch;gap:8px;pointer-events:none}
.pxp-gallery-feature{flex:0 1 calc((100% - 16px)/3);max-width:150px;min-width:0;min-height:64px;border-radius:9px;background:var(--pxp-feature-bg,rgba(255,255,255,.72));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7px 8px;color:#111;box-shadow:0 1px 4px rgba(0,0,0,.035)}
.pxp-gallery-feature__icon{font-size:25px;color:var(--pxp-feature-icon,var(--pxp-accent,#111));margin-bottom:3px}.pxp-gallery-feature strong{font-size:10px;line-height:1.08;font-weight:850;color:var(--pxp-feature-title,#111)}.pxp-gallery-feature small{font-size:8px;line-height:1.08;margin-top:2px;opacity:.75;color:var(--pxp-feature-subtitle,#111);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.pxp-gallery__dots{display:flex;justify-content:center;gap:6px;margin:8px 0 0}.pxp-gallery__dots span{width:5px;height:5px;border-radius:50%;background:rgba(17,17,17,.25);transition:transform .15s ease,background .15s ease}.pxp-gallery__dots span.is-active{background:#111;transform:scale(1.18)}

/* BUYBOX ----------------------------------------------------------------- */
.pxp-buybox{background:#fff;border-radius:14px;overflow:hidden;color:#111;box-shadow:0 1px 0 rgba(0,0,0,.025);min-width:0}
.pxp-buybox__main{padding-bottom:0}
.pxp-buybox__header{padding:24px 25px 0}
.pxp-buybox__overline{font-size:12px;font-weight:900;line-height:1.15;margin:0 0 6px;color:#111}
.pxp-buybox__title{font-family:var(--heading-font-family,var(--body-font-family,Arial,sans-serif));font-weight:950;letter-spacing:-.042em;font-size:clamp(38px,3.25vw,49px);line-height:.93;margin:0 0 7px;color:#050505;max-width:100%;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.pxp-buybox--long-title .pxp-buybox__title{font-size:clamp(31px,2.75vw,40px);line-height:.96;letter-spacing:-.035em}
.pxp-buybox__subtitle{font-size:19px;line-height:1.15;margin:0 0 9px;color:#161616}
.pxp-buybox__social-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;margin-top:1px}
.pxp-rating{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;font-weight:850;line-height:1}.pxp-rating a{color:#111!important;text-decoration:underline;text-underline-offset:2px}.pxp-rating .star-rating{font-size:14px!important;margin:0!important;color:#111!important}.pxp-rating .star-rating:before,.pxp-rating .star-rating span:before{color:#111!important}
.pxp-line-compact{margin-left:auto;display:flex;align-items:center;gap:7px}.pxp-line-compact__label{font-size:10px;font-weight:850;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;color:#111}.pxp-line-compact__thumbs{display:flex;align-items:center}.pxp-line-compact__thumbs a{width:26px;height:26px;border-radius:50%;overflow:hidden;background:#f4eff4;border:2px solid #eee8ef;display:block;margin-left:-4px}.pxp-line-compact__thumbs a:first-child{margin-left:0}.pxp-line-compact__thumbs img{width:100%;height:100%;object-fit:contain}
.pxp-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.pxp-pill{--pill-bg:#f4f4f4;--pill-icon:var(--pxp-accent,#111);--pill-text:#111;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--pill-bg);color:var(--pill-text);font-size:10px;font-weight:800;line-height:1}.pxp-pill__icon{font-size:13px;color:var(--pill-icon)}

.pxp-details{margin:15px 25px 0;border:0!important}
.pxp-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 12px;font-size:12px;font-weight:900;color:#111;border-bottom:1px solid transparent}.pxp-details summary::-webkit-details-marker{display:none}.pxp-details[open] summary{border-bottom-color:#ededed}.pxp-details__chevron{font:700 17px/1 Arial,sans-serif;transform:rotate(0deg);transition:transform .16s ease}.pxp-details[open] .pxp-details__chevron{transform:rotate(180deg)}.pxp-details__content{padding:11px 0 4px;font-size:12px;line-height:1.5;color:#333}.pxp-details__content p{margin-top:0}.pxp-details__content p:last-child{margin-bottom:0}

/* COMPACT AUDIO ---------------------------------------------------------- */
.pxp-audio{margin:8px 25px 0;max-width:365px}
.pxp-audio__player{display:flex;align-items:center;gap:7px;padding:4px 5px;border-radius:999px;background:var(--pxp-audio-bg,#f5e7ef);min-width:0;min-height:36px}
.pxp-audio__avatar{width:27px;height:27px;border-radius:50%;overflow:hidden;flex:0 0 27px;background:#fff}.pxp-audio__avatar img{width:100%;height:100%;object-fit:cover}
.pxp-audio__track{flex:1;min-width:52px;cursor:pointer;outline:none}.pxp-audio__wave{height:18px;position:relative;overflow:hidden;border-radius:3px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.07) 0 2px,transparent 2px 4px)}.pxp-audio__wave:after{content:"";position:absolute;inset:2px 0;background:repeating-linear-gradient(90deg,var(--pxp-audio-wave,#c8bdc4) 0 2px,transparent 2px 4px);opacity:.8;clip-path:polygon(0 50%,5% 20%,10% 70%,15% 35%,20% 80%,25% 15%,30% 65%,35% 30%,40% 75%,45% 25%,50% 70%,55% 35%,60% 85%,65% 20%,70% 60%,75% 30%,80% 75%,85% 20%,90% 65%,95% 35%,100% 50%,100% 60%,95% 25%,90% 75%,85% 35%,80% 85%,75% 25%,70% 70%,65% 40%,60% 80%,55% 25%,50% 65%,45% 35%,40% 80%,35% 30%,30% 75%,25% 25%,20% 85%,15% 30%,10% 70%,5% 25%,0 60%)}.pxp-audio__progress{position:absolute;inset:0 auto 0 0;width:0;background:rgba(255,255,255,.32);z-index:2}.pxp-audio__time{font-size:9px;font-weight:850;white-space:nowrap;color:#111}.pxp-audio__play{width:28px;height:28px;flex:0 0 28px;border:0!important;border-radius:50%!important;background:var(--pxp-audio-button,#5cd0b7)!important;color:#fff!important;cursor:pointer;display:grid!important;place-items:center!important;padding:0!important;font-size:9px!important;line-height:1!important}.pxp-audio__play.is-playing{font-size:0!important}.pxp-audio__play.is-playing:after{content:"Ⅱ";font-size:10px;font-weight:900}.pxp-audio__copy{font-size:9px;margin:4px 6px 0;color:#777;line-height:1.25}.pxp-audio__copy strong{color:var(--pxp-accent,#111)}

/* PURCHASE --------------------------------------------------------------- */
.pxp-purchase{padding:26px 25px 19px}.pxp-audio + .pxp-purchase{padding-top:17px}.pxp-details[open] + .pxp-purchase{padding-top:18px}
.pxp-pack-options{display:grid;gap:7px}
.pxp-pack-option{appearance:none;width:100%;min-height:68px;display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;text-align:left;padding:0!important;border:1px solid #d8d8d8!important;border-radius:9px!important;background:#fff!important;color:#111!important;overflow:hidden;cursor:pointer;box-shadow:none!important;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.pxp-pack-option:hover:not(:disabled){border-color:#777!important;transform:translateY(-1px)}.pxp-pack-option.is-selected{border:2px solid #111!important;box-shadow:0 0 0 1px rgba(0,0,0,.03)!important}.pxp-pack-option:disabled{opacity:.45;cursor:not-allowed}
.pxp-pack-option__image{align-self:stretch;display:grid;place-items:center;background:color-mix(in srgb,var(--pxp-hero-bg,#c99ac2) 72%,#fff);padding:5px;border-right:1px solid rgba(0,0,0,.035)}.pxp-pack-option__image img{display:block;max-width:66px;max-height:57px;width:auto!important;height:auto!important;object-fit:contain!important;margin:0!important}.pxp-pack-option__name{font-size:12px;line-height:1.2;padding:9px 12px;font-weight:600}.pxp-pack-option__price{text-align:right;font-size:13px;line-height:1.05;font-weight:900;padding:9px 13px;white-space:nowrap;color:#111}.pxp-pack-option__price .price{font-size:inherit!important;margin:0!important;color:inherit!important}.pxp-pack-option__price del{opacity:.45;font-weight:500;display:block;font-size:9px}.pxp-pack-option__price ins{text-decoration:none}.pxp-pack-option__price small{display:block;font-size:8px;font-weight:400;color:#777;margin-top:3px}
.pxp-unit-summary{min-height:18px;text-align:center;margin:20px 0 10px;font-size:12px;line-height:1.2;font-weight:900;color:#707070;text-transform:uppercase;letter-spacing:.01em}.pxp-unit-summary:empty{display:none}

/* Native form stays the source of truth; frontend.js sends it via Woo AJAX. */
.pxp-cart-form form.cart{display:block!important;margin:0!important;padding:0!important;position:relative!important}.pxp-cart-form form.cart .quantity{display:none!important}
.pxp-cart-form .variations{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:0!important;padding:0!important;border:0!important}.pxp-cart-form .reset_variations,.pxp-cart-form .woocommerce-variation-price{display:none!important}.pxp-cart-form .woocommerce-variation-availability{font-size:11px;margin:0 0 7px;text-align:center;color:#555}.pxp-cart-form .single_variation_wrap,.pxp-cart-form .woocommerce-variation-add-to-cart{display:block!important;margin:0!important;padding:0!important}
.pxp-cart-form .single_add_to_cart_button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:44px!important;border:0!important;border-radius:999px!important;background:var(--pxp-button-bg,#ffd441)!important;color:var(--pxp-button-text,#111)!important;font-family:inherit!important;font-size:12px!important;font-weight:900!important;line-height:1!important;text-transform:uppercase!important;box-shadow:none!important;margin:0!important;padding:13px 20px!important;opacity:1!important;text-shadow:none!important;letter-spacing:0!important;transition:filter .15s ease,transform .15s ease}.pxp-cart-form .single_add_to_cart_button:hover{filter:brightness(.98);transform:translateY(-1px)}.pxp-cart-form .single_add_to_cart_button,.pxp-cart-form .single_add_to_cart_button *{color:var(--pxp-button-text,#111)!important}.pxp-cart-form .single_add_to_cart_button.disabled,.pxp-cart-form .single_add_to_cart_button:disabled{opacity:.48!important;cursor:not-allowed!important;transform:none}.pxp-cart-form .single_add_to_cart_button.loading{pointer-events:none;opacity:.72!important}.pxp-cart-form .single_add_to_cart_button.loading:after{content:"";width:13px;height:13px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pxpSpin .65s linear infinite}@keyframes pxpSpin{to{transform:rotate(360deg)}}
.pxp-cart-form .single_add_to_cart_button .icon-load{display:none!important}.pxp-cart-form .single_buy_now_button,.pxp-cart-form .buy-now-button,.pxp-cart-form [class*="buy_now"],.pxp-cart-form [class*="buy-now"]{display:none!important}.pxp-cart-form .wcboost-wishlist-single-button,.pxp-cart-form .wcboost-products-compare-button,.pxp-cart-form .wcboost-wishlist-button,.pxp-cart-form .wcboost-products-compare__button{display:none!important}.pxp-cart-form .wc-points-rewards-product-message,.pxp-cart-form .points,.pxp-cart-form [class*="points-rewards"],.pxp-cart-form [class*="points_reward"]{display:none!important}
.pxp-secondary-cta{display:block;text-align:center;color:#111!important;text-decoration:none!important;font-size:11px;line-height:1.2;font-weight:900;margin:13px 0 0;text-transform:uppercase}.pxp-availability{text-align:center;font-size:11px;line-height:1.2;margin-top:27px;color:#555}.pxp-availability.is-in-stock{color:#39a963}.pxp-availability.is-out-of-stock{color:#bb3240}
.pxp-trust{display:grid;grid-template-columns:repeat(3,1fr);background:#f6f6f6;border-top:1px solid #eeeeee;padding:15px 12px 16px;gap:8px;margin-top:0}.pxp-trust__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;color:#777}.pxp-trust__item>span{font-size:18px;color:#555}.pxp-trust__item small{font-size:9px;line-height:1.2}

/* REST OF PAGE ----------------------------------------------------------- */
.pxp-product-after-hero{background:var(--color-background,#fff);padding-top:0}.pxp-product-after-hero>.woocommerce-tabs,.pxp-product-after-hero>.related,.pxp-product-after-hero>.upsells{width:min(calc(100% - 40px),1080px);margin-left:auto;margin-right:auto}

@media(max-width:1040px){
  .pxp-hero__inner{width:min(calc(100% - 28px),990px)}
  .pxp-hero__grid{grid-template-columns:minmax(0,.96fr) minmax(390px,1.04fr);gap:20px}
  .pxp-buybox__title{font-size:clamp(34px,4vw,44px)}.pxp-buybox--long-title .pxp-buybox__title{font-size:clamp(29px,3.5vw,37px)}
  .pxp-gallery-feature{min-height:58px;padding:5px 4px}.pxp-gallery-feature__icon{font-size:23px}.pxp-gallery-feature strong{font-size:9px}.pxp-gallery-feature small{display:none}
}

@media(max-width:767px){
  body.pxp-single-focus .site-content{padding-top:0!important}body.pxp-single-focus .pxp-hero{padding:8px 0 16px}
  .pxp-hero__inner{width:100%;max-width:none}.pxp-breadcrumb{font-size:9px;margin:0 12px 7px;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.pxp-breadcrumb__sep{padding:0 4px}.pxp-hero__grid{display:block}
  .pxp-hero__gallery{margin:0 10px 9px}.pxp-gallery__stage{border-radius:12px;aspect-ratio:1/1}.pxp-gallery__arrow{width:32px;height:32px}.pxp-gallery__arrow span{font-size:27px;height:29px}.pxp-gallery__prev{left:9px}.pxp-gallery__next{right:9px}.pxp-gallery__badge{top:9px;left:9px;font-size:9px}.pxp-gallery__features{left:8px;right:8px;bottom:8px;gap:4px}.pxp-gallery-feature{flex:1 1 0;max-width:none;min-height:52px;border-radius:7px}.pxp-gallery-feature__icon{font-size:20px}.pxp-gallery-feature strong{font-size:8.5px;overflow-wrap:anywhere}.pxp-gallery-feature small{display:none}.pxp-gallery__dots{margin-top:6px}
  .pxp-hero__buybox{margin:0 10px}.pxp-buybox{border-radius:12px}.pxp-buybox__header{padding:17px 16px 0}.pxp-buybox__overline{font-size:10px;margin-bottom:4px}.pxp-buybox__title,.pxp-buybox--long-title .pxp-buybox__title{font-size:clamp(28px,8.8vw,37px);line-height:.95;letter-spacing:-.035em;max-width:100%;text-wrap:balance}.pxp-buybox__subtitle{font-size:16px;margin-bottom:7px}.pxp-buybox__social-row{align-items:flex-start;gap:8px;min-height:22px}.pxp-rating{font-size:9px;gap:5px}.pxp-rating .star-rating{font-size:12px!important}.pxp-line-compact__label{display:none}.pxp-line-compact__thumbs a{width:23px;height:23px}.pxp-pills{margin-top:7px}.pxp-pill{font-size:9px;padding:5px 7px}
  .pxp-details{margin:11px 16px 0}.pxp-details summary{padding:8px 0 10px;font-size:11px}
  .pxp-audio{margin:7px 16px 0;max-width:320px}.pxp-audio__player{min-height:34px}.pxp-audio__avatar{width:25px;height:25px;flex-basis:25px}.pxp-audio__play{width:27px;height:27px;flex-basis:27px}.pxp-audio__time{font-size:8.5px}.pxp-audio__wave{height:16px}.pxp-audio__copy{font-size:8.5px}
  .pxp-purchase{padding:17px 16px 14px}.pxp-audio + .pxp-purchase{padding-top:13px}.pxp-pack-option{grid-template-columns:68px minmax(0,1fr) auto;min-height:59px}.pxp-pack-option__name{font-size:10px;padding:7px 8px}.pxp-pack-option__price{font-size:11px;padding:7px 9px}.pxp-pack-option__image img{max-width:51px;max-height:48px}.pxp-unit-summary{font-size:10px;margin:15px 0 8px}.pxp-cart-form .single_add_to_cart_button{min-height:43px!important}.pxp-secondary-cta{font-size:10px}.pxp-availability{margin-top:18px;font-size:10px}.pxp-trust{padding:12px 6px 14px;gap:4px}.pxp-trust__item small{font-size:8px}
  .pxp-product-after-hero>.woocommerce-tabs,.pxp-product-after-hero>.related,.pxp-product-after-hero>.upsells{width:min(calc(100% - 20px),680px)}
}
