/* Keep the document as the page scroller; the template's hidden X overflow
   otherwise creates nested Y scrolling with its 100% body height. */
body.product-details-page{height:auto;min-height:100%;overflow-x:clip}
body.product-details-page > .wrapper{overflow-x:clip;overflow-y:visible}
.product-page{--pd-accent:#aa267c;--pd-accent-dark:#85205f;--pd-ink:#30232d;--pd-muted:#7a7076;--pd-line:#eee5eb;--pd-soft:#fcf7fa;color:var(--pd-ink)}
.product-page .pd-section{padding:22px 0 48px}
.product-page .pd-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--pd-muted);margin-bottom:18px}
.product-page .pd-breadcrumb a{color:var(--pd-muted)}
.product-page .pd-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:clamp(30px,4vw,58px);align-items:start}
.product-page .pd-gallery{min-width:0;position:sticky;top:110px}
.product-page .pd-gallery-stage{position:relative;border-radius:20px;background:linear-gradient(145deg,#fff 0%,var(--pd-soft) 100%);overflow:hidden;border:1px solid var(--pd-line)}
.product-page .product-gallery-main-image{width:100%;height:auto;aspect-ratio:1/1.04;object-fit:contain;display:block;mix-blend-mode:multiply}
.product-page .pd-image-link{display:block;cursor:zoom-in}
.product-page .pd-discount{position:absolute;top:18px;inset-inline-start:18px;z-index:2;padding:7px 12px;border-radius:30px;background:var(--pd-accent);color:white;font-size:12px;font-weight:700}
.product-page .pd-image-counter{position:absolute;bottom:14px;inset-inline-end:14px;z-index:2;border-radius:20px;background:#ffffffed;padding:4px 12px;font-size:12px;direction:ltr}
.product-page .product-gallery-next,.product-page .product-gallery-prev{width:40px;height:40px;border:1px solid var(--pd-line);border-radius:50%;background:#fffffff2;color:var(--pd-ink);box-shadow:0 6px 20px #30232d12}
.product-page .product-gallery-next:after,.product-page .product-gallery-prev:after{font-size:13px;font-weight:bold}
.product-page .pd-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:10px 2px 4px;scrollbar-width:thin;scroll-snap-type:x proximity}
.product-page .pd-thumb{flex:0 0 70px;height:70px;border:1px solid var(--pd-line);padding:4px;border-radius:10px;background:#fff;overflow:hidden;opacity:.65;scroll-snap-align:start}
.product-page .pd-thumb img{width:100%;height:100%;object-fit:contain}
.product-page .pd-thumb[aria-pressed=true]{border:2px solid var(--pd-accent);opacity:1}
.product-page .pd-gallery-note{font-size:11px;color:var(--pd-muted);margin:6px 0 0;text-align:center}
.product-page .pd-summary{padding:8px 0 0;min-width:0}
.product-page .pd-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--pd-accent);font-size:12px;margin-bottom:12px}
.product-page .pd-brand{font-size:10px;letter-spacing:3px;font-weight:700;color:var(--pd-muted)}
.product-page .pd-title{font-size:clamp(27px,3vw,39px);line-height:1.3;font-weight:700;letter-spacing:-.02em;margin:0 0 10px;overflow-wrap:anywhere}
.product-page .pd-rating{display:inline-flex;margin-bottom:14px}
.product-page .pd-rating .reviews{font-size:12px;color:var(--pd-muted)}
.product-page .pd-description{font-size:14px;line-height:1.85;color:var(--pd-muted);margin:0 0 16px;overflow-wrap:anywhere}
.product-page .pd-pricing{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:4px}
.product-page .pd-price{font-size:30px;font-weight:700;line-height:1.3;color:var(--pd-accent)}
.product-page .pd-price small{font-size:14px;font-weight:500}
.product-page .pd-old-price{font-size:16px;color:#999;text-decoration:line-through}
.product-page .pd-shipping-note{font-size:12px;color:var(--pd-muted);margin:0 0 14px}
.product-page .pd-variants{border-bottom:1px solid var(--pd-line)}
.product-page .pd-choice{padding:17px 0 0}
.product-page .pd-choice-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:700;margin-bottom:14px}
.product-page .pd-choice-name{font-weight:400;color:var(--pd-muted)}
.product-page .pd-colors{display:flex;gap:10px;flex-wrap:wrap}
.product-page .pd-color{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;padding:0;background:none;color:var(--pd-ink);font-size:11px;min-width:52px;max-width:88px}
.product-page .pd-color{position:relative;cursor:pointer}
.product-page .pd-color-visual{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid #e0d5dc;border-radius:50%;padding:5px;background:#fff;overflow:hidden;position:relative}
.product-page .pd-color-visual img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.product-page .pd-color-swatch{display:block;width:38px;height:38px;border-radius:50%;border:1px solid #0002;background:var(--swatch)}
.product-page .pd-color input,.product-page .pd-size input{position:absolute;opacity:0;width:1px;height:1px}
.product-page .pd-color input:checked + .pd-color-visual{border:2px solid var(--pd-accent);box-shadow:0 0 0 3px #aa267c12}
.product-page .pd-color:has(input:checked){color:var(--pd-accent);font-weight:700}
.product-page .pd-color input:focus-visible + span,.product-page .pd-size input:focus-visible + span{outline:2px solid var(--pd-accent);outline-offset:4px}
.product-page .pd-sizes{display:flex;gap:10px;flex-wrap:wrap}
.product-page .pd-size{position:relative;cursor:pointer;margin:0}
.product-page .pd-size span{display:flex;align-items:center;justify-content:center;min-width:60px;min-height:44px;border:1px solid var(--pd-line);border-radius:8px;font-size:13px;padding:8px 14px}
.product-page .pd-size input:checked + span{border-color:var(--pd-accent);background:var(--pd-soft);color:var(--pd-accent);font-weight:700}
.product-page .pd-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.product-page .pd-quantity-label{font-size:14px;font-weight:700}
.product-page .pd-quantity{display:flex;align-items:center;border:1px solid var(--pd-line);border-radius:9px;overflow:hidden;direction:ltr;background:#fff}
.product-page .pd-quantity button{width:44px;height:46px;border:0;background:none;font-size:22px;color:var(--pd-ink)}
.product-page .pd-quantity input{width:44px;padding:0;border:0;text-align:center;height:46px;font-size:16px;appearance:textfield;-moz-appearance:textfield;color:var(--pd-ink)}
.product-page .pd-quantity input::-webkit-inner-spin-button,.product-page .pd-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
.product-page .pd-buy-row{display:flex;gap:10px}
.product-page .pd-add{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-height:52px;border:0;border-radius:9px;background:var(--pd-accent);color:white;font-size:15px;font-weight:700;padding:12px 20px;transition:background .2s ease,transform .2s ease}
.product-page .pd-add:hover{background:var(--pd-accent-dark);color:white;transform:translateY(-1px)}
.product-page .pd-save{display:flex;align-items:center;justify-content:center;width:54px;flex:0 0 54px;border:1px solid var(--pd-line);border-radius:10px;background:white;color:var(--pd-accent);font-size:22px}
.product-page .pd-details-link{display:block;text-align:center;margin:13px 0 0;font-size:12px;color:var(--pd-muted);text-decoration:underline;text-underline-offset:4px}
.product-page .pd-information{margin-top:42px;padding-top:32px;border-top:1px solid var(--pd-line);--bs-gutter-x:32px}
.product-page .product-details-nav{margin:0 0 24px;gap:20px;border-bottom:1px solid var(--pd-line);flex-wrap:nowrap}
.product-page .product-details-nav .nav-link{font-size:16px;padding:14px 0;white-space:nowrap}
.product-page .tab-content{font-size:14px;line-height:1.9;overflow-wrap:anywhere}
.product-page .tab-content img{max-width:100%;height:auto}
.product-page .tab-content table{display:block;max-width:100%;overflow-x:auto}
.product-page .product-reviews-form-wrap{padding:24px;border:1px solid var(--pd-line);border-radius:14px;background:var(--pd-soft);margin:0}
.product-page .product-form-title{font-size:20px;margin-bottom:20px}
.product-page .product-review-item{padding:20px 0;border-bottom:1px solid var(--pd-line)}
.product-page .product-review-item .desc{margin-top:12px}
.product-page .pd-mobile-buy{display:none}
.product-page .pd-related-section{position:relative;padding:52px 0 66px;background:#fcfafb}
.product-page .pd-related-heading{margin-bottom:28px}
.product-page .pd-related-heading .title{margin-bottom:7px;font-size:clamp(26px,3vw,34px)}
.product-page .pd-related-heading p{max-width:650px;margin-inline:auto!important;color:var(--pd-muted);font-size:14px;line-height:1.75}
.product-page .related-product-slide-container{padding:2px 2px 8px;overflow:hidden}
.product-page .related-product-slide-container .swiper-wrapper{align-items:stretch}
.product-page .related-product-slide-container .swiper-slide{display:flex;height:auto;margin-bottom:0!important}
.product-page .related-product-slide-container .product-item{display:flex;flex-direction:column;width:100%;height:100%}
.product-page .related-product-slide-container .product-thumb{flex:0 0 auto;width:100%;aspect-ratio:370/450;background:#fafafa}
.product-page .related-product-slide-container .product-thumb>a{width:100%;height:100%}
.product-page .related-product-slide-container .product-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.product-page .related-product-slide-container .product-info{display:flex;flex:1 1 auto;flex-direction:column;width:100%;padding:16px 18px 18px}
.product-page .related-product-slide-container .product-st2-item:hover .product-info{margin-top:0}
.product-page .pd-related-rating-slot{height:26px;overflow:hidden}
.product-page .pd-related-rating-slot .product-rating{display:flex!important;align-items:center;justify-content:flex-start;flex-wrap:nowrap!important;gap:8px;margin:0}
.product-page .pd-related-rating-slot .rating{flex:0 0 auto}
.product-page .pd-related-rating-slot .reviews{min-width:0;margin-top:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-page .pd-related-variants-slot{position:absolute;bottom:10px;inset-inline-start:10px;z-index:2;display:flex;align-items:center;max-width:calc(100% - 20px);overflow:hidden}
.product-page .pd-related-variants-slot:not(:has(.variant-swatch)){display:none}
.product-page .pd-related-variants-slot .product-color-swatches{margin:0!important;max-height:34px;overflow:hidden}
.product-page .pd-related-variants-slot .variant-swatch{width:32px;height:32px;flex-basis:32px;padding:3px}
.product-page .related-product-slide-container .product-info .title{display:block;height:28px;margin:4px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}
.product-page .related-product-slide-container .prices{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:27px;margin-bottom:12px}
.product-page .related-product-slide-container .prices .price-old{margin-inline-start:4px;margin-left:0}
.product-page .related-product-slide-container .product-action{position:relative;bottom:auto;display:flex!important;flex:0 0 auto;width:100%;margin:0!important;margin-top:auto!important;transform:none;justify-content:stretch}
.product-page .related-product-slide-container .product-action .action-btn-cart{display:flex;align-items:center;justify-content:center;width:100%;height:42px;margin:0;padding:8px 14px;border:2px solid var(--pd-accent);border-radius:8px;background:var(--pd-accent);color:#fff;font-size:12px;font-weight:700;line-height:1;opacity:1;visibility:visible;transform:none;letter-spacing:.04em}
.product-page .related-product-slide-container .product-action .action-btn-cart:hover{background:var(--pd-accent-dark);border-color:var(--pd-accent-dark);color:#fff}
.product-page .related-product-nav{position:absolute;top:50%;z-index:5;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--pd-line);border-radius:50%;background:#fff;color:var(--pd-ink);box-shadow:0 8px 22px #30232d14;transform:translateY(-50%);font-size:21px}
.product-page .related-product-prev{left:12px}
.product-page .related-product-next{right:12px}
.product-page .related-product-nav.swiper-button-disabled{opacity:.3;cursor:not-allowed}
.product-page button:focus-visible,.product-page a:focus-visible,.product-page input:focus-visible{outline:2px solid var(--pd-accent);outline-offset:3px}
@media(max-width:1199px){.product-page .pd-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:32px}.product-page .related-product-nav{display:none}}
@media(max-width:991px){.product-page .pd-layout{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:24px}.product-page .pd-gallery{top:90px}.product-page .pd-title{font-size:28px}.product-page .product-reviews-form-wrap{margin-top:24px}}
@media(max-width:767px){
    .product-page .pd-section{padding:12px 0 28px}.product-page .pd-breadcrumb{font-size:11px;margin-bottom:12px;gap:7px}
    .product-page .pd-layout{grid-template-columns:minmax(0,1fr);gap:18px}.product-page .pd-gallery{position:static}
    .product-page .pd-gallery-stage{border-radius:16px}.product-page .product-gallery-main-image{aspect-ratio:1.12;max-height:420px}
    .product-page .pd-gallery-thumbs{gap:8px;padding-top:9px}.product-page .pd-thumb{flex-basis:58px;height:58px}
    .product-page .pd-discount{top:12px;inset-inline-start:12px;font-size:11px}.product-page .pd-gallery-note{margin-top:4px}
    .product-page .pd-summary{padding:0}.product-page .pd-title{font-size:26px;margin-bottom:8px}.product-page .pd-eyebrow{margin-bottom:7px}
    .product-page .pd-rating{margin-bottom:10px}.product-page .pd-description{font-size:13px;margin-bottom:13px;line-height:1.75}
    .product-page .pd-price{font-size:27px}.product-page .pd-choice{padding-top:14px}.product-page .pd-color-visual{width:60px;height:60px}
    .product-page .pd-information{margin-top:26px;padding-top:12px;--bs-gutter-x:24px}.product-page .product-details-nav{gap:24px;margin-bottom:18px;overflow-x:auto}
    .product-page .pd-mobile-buy{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:16px;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#fffffff5;border-top:1px solid var(--pd-line);box-shadow:0 -4px 24px #30232d08;backdrop-filter:blur(10px)}
    .product-page .pd-mobile-buy .pd-add{min-height:48px;font-size:14px;padding:10px 14px}.product-page .pd-mobile-price{font-size:18px;font-weight:700;white-space:nowrap}.product-page .pd-mobile-price small{display:block;font-size:10px;font-weight:400;color:var(--pd-muted)}
    body:has(.product-page){padding-bottom:90px}
    .product-page .pd-related-section{padding:38px 0 46px}.product-page .pd-related-heading{margin-bottom:22px}.product-page .pd-related-heading .title{font-size:27px}.product-page .pd-related-heading p{font-size:13px}.product-page .section-title .title{font-size:26px}
    .product-page .related-product-slide-container .product-info{padding:14px 14px 16px}.product-page .pd-related-rating-slot{height:24px}.product-page .related-product-slide-container .product-info .title{height:24px}.product-page .related-product-slide-container .prices{min-height:23px}
}
@media(max-width:575px){
    .product-page .related-product-slide-container .product-info{padding:12px 10px 14px}.product-page .pd-related-rating-slot{height:22px}.product-page .pd-related-variants-slot .variant-swatch{width:30px;height:30px;flex-basis:30px}.product-page .related-product-slide-container .product-info .title{height:22px;margin:3px 0}.product-page .related-product-slide-container .prices{margin-bottom:10px}.product-page .related-product-slide-container .product-action .action-btn-cart{height:40px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.product-page *{scroll-behavior:auto!important;transition:none!important}}
