/* Native single product presentation. All rules stay inside the PDP. */
.stepup-pdp { --pdp-paper:#faf9f6; --pdp-ink:#191919; --pdp-muted:#686863; --pdp-line:#d8d5ce; --pdp-red:#e31837; max-width:1440px; margin-inline:auto; padding:32px clamp(16px,4.4vw,64px) 64px; color:var(--pdp-ink); background:var(--pdp-paper); font-family:Arial,Helvetica,sans-serif; }
.stepup-pdp *, .stepup-pdp *::before, .stepup-pdp *::after { box-sizing:border-box; }
.stepup-pdp > .product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); column-gap:clamp(28px,4.4vw,64px); align-items:start; position:relative; }
.stepup-pdp > .product::before, .stepup-pdp > .product::after { display:none !important; }
.woocommerce .stepup-pdp div.product div.images, .woocommerce .stepup-pdp div.product div.summary { float:none; width:100%; min-width:0; margin:0 0 48px; }
.stepup-pdp > .product > :not(.images):not(.summary):not(.onsale) { grid-column:1 / -1; min-width:0; }
.stepup-pdp .woocommerce-breadcrumb { margin:0 0 26px; font-size:11px; line-height:1.6; color:var(--pdp-muted); }
.stepup-pdp .woocommerce-breadcrumb a { color:inherit; text-decoration:none; }
.stepup-pdp .stepup-pdp-brand { display:flex; align-items:center; gap:12px; font-size:10px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--pdp-muted); margin-block:0 20px; }
.stepup-pdp .stepup-pdp-brand::before { content:''; width:22px; height:2px; background:var(--pdp-red); }
.woocommerce .stepup-pdp div.product .product_title { font-size:clamp(30px,3.45vw,50px); line-height:1.04; letter-spacing:-1.7px; margin:0 0 24px; overflow-wrap:anywhere; }
.woocommerce .stepup-pdp div.product .summary p.price, .woocommerce .stepup-pdp div.product .summary span.price { color:var(--pdp-ink); font-size:23px; font-weight:700; line-height:1.5; }
.stepup-pdp .summary > .price { margin:0 0 8px; }
.stepup-pdp .price del { font-size:.72em; font-weight:400; margin-inline-end:8px; }
.stepup-pdp .price ins { text-decoration:none; }
.stepup-pdp .stepup-pdp-saving { display:inline-block; background:#f7e6e9; color:#b2112a; font-size:11px; padding:6px 8px; margin:0 0 12px; }
.stepup-pdp .woocommerce-product-rating { font-size:13px; }
.stepup-pdp .woocommerce-review-link { color:var(--pdp-muted); }
.stepup-pdp .woocommerce-product-details__short-description { margin:24px 0; font-size:14px; line-height:1.7; color:var(--pdp-muted); overflow-wrap:anywhere; }
.stepup-pdp .woocommerce-product-details__short-description p { margin:0 0 12px; }
.woocommerce .stepup-pdp > div.product > span.onsale { position:absolute; inset:18px auto auto 18px; z-index:2; border-radius:0; min-height:0; min-width:0; padding:6px 10px; background:#fff; color:#b2112a; font-size:11px; line-height:1.4; }
.woocommerce .stepup-pdp div.product div.images .woocommerce-product-gallery__image { background:#efeee9; }
.woocommerce .stepup-pdp div.product div.images .woocommerce-product-gallery__image > a { display:block; aspect-ratio:1; }
.woocommerce .stepup-pdp div.product div.images .woocommerce-product-gallery__image img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; }
.stepup-pdp .woocommerce-product-gallery__wrapper { margin:0; display:flow-root; }
.stepup-pdp .stepup-gallery-hint { display:block; margin-top:10px; color:var(--pdp-muted); font-size:11px; text-align:end; }
.woocommerce .stepup-pdp div.product div.images .flex-control-thumbs { display:flex; flex-wrap:nowrap; gap:10px; margin:12px 0 0; overflow-x:auto; padding:3px; scrollbar-width:thin; }
.woocommerce .stepup-pdp div.product div.images .flex-control-thumbs li { flex:0 0 80px; float:none; width:80px; }
.woocommerce .stepup-pdp div.product div.images .flex-control-thumbs li img { opacity:.7; aspect-ratio:1; object-fit:contain; border:1px solid transparent; padding:3px; background:#efeee9; }
.woocommerce .stepup-pdp div.product div.images .flex-control-thumbs li img.flex-active { opacity:1; border-color:var(--pdp-ink); }
.woocommerce .stepup-pdp div.product div.images .woocommerce-product-gallery__trigger { top:14px; right:14px; width:44px; height:44px; background:#fff; }
.woocommerce .stepup-pdp div.product div.images .woocommerce-product-gallery__trigger::before { top:13px; left:13px; }
.woocommerce .stepup-pdp div.product div.images .woocommerce-product-gallery__trigger::after { top:25px; left:25px; }
/* CSS also makes the native gallery readable if scripts are unavailable. */
.stepup-pdp .woocommerce-product-gallery { opacity:1 !important; }
.stepup-pdp .summary form.cart { margin:28px 0 24px; }
.stepup-pdp .summary form.cart:not(.variations_form):not(.grouped_form), .stepup-pdp .woocommerce-variation-add-to-cart { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.stepup-pdp .summary form.cart > :not(.quantity):not(.single_add_to_cart_button) { flex-basis:100%; }
.stepup-pdp .woocommerce-variation-add-to-cart > :not(.quantity):not(.single_add_to_cart_button) { flex-basis:100%; }
.woocommerce .stepup-pdp div.product form.cart .variations { margin:0 0 18px; border:0; table-layout:fixed; }
.stepup-pdp .variations tr, .stepup-pdp .variations th, .stepup-pdp .variations td { display:block; width:100%; padding:0; border:0; }
.stepup-pdp .variations label { display:block; margin-bottom:12px; font-size:12px; text-align:start; }
.woocommerce .stepup-pdp div.product form.cart .variations select { width:100%; min-width:0; min-height:46px; padding:10px; border:1px solid var(--pdp-line); background:#fff; color:var(--pdp-ink); margin:0 0 12px; font:inherit; }
.stepup-pdp select.stepup-size-adapted { display:none !important; }
.stepup-pdp .stepup-size-options { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.stepup-pdp .stepup-size-options button { flex:0 0 auto; min-width:58px; min-height:46px; padding:10px 14px; border:1px solid var(--pdp-line); background:transparent; color:var(--pdp-ink); font:inherit; font-size:13px; cursor:pointer; }
.stepup-pdp .stepup-size-options button[aria-pressed="true"] { border-color:var(--pdp-ink); background:var(--pdp-ink); color:#fff; }
.stepup-pdp .stepup-size-options button:disabled { color:#76736c; background:repeating-linear-gradient(135deg,transparent,transparent 8px,#e9e6df 8px,#e9e6df 9px); cursor:not-allowed; }
.stepup-pdp .reset_variations { display:inline-block; padding:6px 0; font-size:12px; color:var(--pdp-muted); }
.stepup-pdp .single_variation { margin-bottom:18px; }
.woocommerce .stepup-pdp div.product .summary .stock { font-size:12px; color:#486039; }
.woocommerce .stepup-pdp div.product .summary .out-of-stock { color:#a61128; }
.woocommerce .stepup-pdp div.product form.cart div.quantity { float:none; margin:0; }
.stepup-pdp .quantity .qty { width:70px; min-height:50px; padding:10px 6px; border:1px solid var(--pdp-line); background:transparent; color:var(--pdp-ink); font:inherit; border-radius:0; }
.woocommerce .stepup-pdp div.product form.cart .single_add_to_cart_button, .stepup-pdp [data-stepup-sticky-submit] { flex:1; min-height:50px; padding:14px 20px; border:1px solid var(--pdp-red); border-radius:0; background:var(--pdp-red); color:#fff; font:700 14px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; text-align:center; }
.stepup-pdp .single_add_to_cart_button[aria-busy="true"] { cursor:progress; }
.stepup-pdp [data-stepup-sticky-submit]:disabled { opacity:.6; cursor:not-allowed; }
.stepup-pdp .stepup-pdp-wishlist { display:inline-flex; gap:10px; align-items:center; min-height:44px; color:var(--pdp-ink); font-size:12px; text-decoration:none; }
.stepup-pdp .stepup-pdp-wishlist svg { width:20px; height:20px; }
.stepup-pdp .stepup-pdp-payment { border-top:1px solid var(--pdp-line); margin-top:24px; padding-top:20px; font-size:12px; line-height:1.7; color:var(--pdp-muted); }
.stepup-pdp .stepup-pdp-policy-links:has(a) { margin-top:24px; border-top:1px solid var(--pdp-line); padding-top:14px; }
.stepup-pdp .stepup-pdp-policy-links a { display:flex; align-items:center; justify-content:space-between; min-height:44px; color:var(--pdp-ink); font-size:12px; text-decoration:none; }
.stepup-pdp .stepup-pdp-policy-links svg { width:18px; height:18px; }
.stepup-pdp .product_meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:24px; font-size:11px; color:var(--pdp-muted); }
.stepup-pdp .product_meta a { color:inherit; }
.stepup-pdp .stepup-product-details { margin:20px 0 64px; border-top:1px solid var(--pdp-line); padding-top:36px; }
.stepup-pdp .stepup-product-details > h2, .stepup-pdp .stepup-pdp-recommendations h2 { font-size:30px; letter-spacing:-1px; font-weight:700; margin:0 0 28px; }
.stepup-pdp .stepup-product-panels { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; align-items:start; }
.stepup-pdp .stepup-product-panel { min-width:0; border-block-end:1px solid var(--pdp-line); }
.stepup-pdp .stepup-product-panel summary { display:flex; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; font-size:14px; font-weight:700; padding:22px 0; min-height:56px; }
.stepup-pdp .stepup-product-panel summary::-webkit-details-marker { display:none; }
.stepup-pdp .stepup-product-panel summary::after { content:'+'; font-size:20px; line-height:16px; font-weight:400; }
.stepup-pdp .stepup-product-panel[open] summary::after { content:'−'; }
.stepup-pdp .stepup-product-panel > div { padding-bottom:24px; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.stepup-pdp .stepup-product-panel p { margin:0 0 16px; }
.stepup-pdp .stepup-product-panel table { max-width:100%; table-layout:fixed; }
.stepup-pdp .stepup-product-panel input:not([type=checkbox]):not([type=radio]), .stepup-pdp .stepup-product-panel textarea { max-width:100%; padding:10px; border:1px solid var(--pdp-line); }
.stepup-pdp .stepup-product-panel #reviews #comments ol.commentlist { padding:0; }
.stepup-pdp .stepup-pdp-recommendations { padding:0; margin:0 0 64px; max-width:none; }
.stepup-pdp .stepup-pdp-recommendations .related { margin:0; }
.stepup-pdp :is(a,button,input,select,summary,[role=button]):focus-visible { outline:2px solid #b2112a; outline-offset:3px; }
.stepup-pdp [id^=tab-], .stepup-pdp .summary form.cart { scroll-margin-top:110px; }
.stepup-pdp .stepup-sticky-purchase[hidden] { display:none; }
/* Prevent WooCommerce's PDP/RTL sale offsets from stretching recommendation badges. */
.woocommerce .stepup-pdp div.product .stepup-shop ul.products li.product .onsale { inset:auto; inset-block-start:14px; inset-inline-start:14px; width:max-content; min-width:0; min-height:0; }
.rtl .stepup-pdp-policy-links .stepup-icon, .rtl .stepup-card-details .stepup-icon { transform:scaleX(-1); }
.stepup-pdp .stepup-sticky-purchase { display:none; }
@media (max-width:767px) {
    .stepup-pdp { padding:20px 16px 40px; }
    .stepup-pdp > .product { display:block; }
    .woocommerce .stepup-pdp div.product div.images { margin-bottom:28px; }
    .woocommerce .stepup-pdp div.product div.summary { margin-bottom:40px; }
    .woocommerce .stepup-pdp div.product .product_title { font-size:36px; letter-spacing:-1.2px; }
    .stepup-pdp .woocommerce-breadcrumb { margin-bottom:20px; }
    .woocommerce .stepup-pdp div.product div.images .flex-control-thumbs li { flex-basis:64px; width:64px; }
    .stepup-pdp .stepup-product-panels { display:block; }
    .stepup-pdp .stepup-product-details { padding-top:24px; margin-bottom:40px; }
    .stepup-pdp .stepup-pdp-recommendations { margin-bottom:40px; }
    .stepup-pdp .stepup-sticky-purchase { position:fixed; inset:auto 0 0; display:flex; align-items:center; gap:12px; background:var(--pdp-paper); padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--pdp-line); z-index:40; box-shadow:0 -4px 16px #1919190a; }
    .stepup-pdp .stepup-sticky-summary { flex:1; min-width:0; font-size:14px; font-weight:700; }
    .stepup-pdp .stepup-sticky-summary .price { color:var(--pdp-ink); font-size:14px; }
    .stepup-pdp .stepup-sticky-summary small { display:block; font-size:10px; font-weight:400; margin-top:4px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
    .stepup-pdp [data-stepup-sticky-submit] { flex:0 1 48%; padding:10px 12px; font-size:12px; }
    .stepup-pdp.stepup-has-sticky { padding-bottom:calc(132px + env(safe-area-inset-bottom,0px)); }
}
@media (prefers-reduced-motion:reduce) {
    .stepup-pdp *, .stepup-pdp *::before, .stepup-pdp *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}
