/* Stampora PDP v3 - premium storefront layout */
.single-product div.product .entry-summary{max-width:560px}
.single-product div.product .product_title{font:700 clamp(24px,2.6vw,34px)/1.15 var(--fc-font-head);letter-spacing:-.02em;margin:0 0 12px}
.single-product div.product .entry-summary>.price{font:700 26px/1.1 var(--fc-font-head)!important;color:var(--fc-ink)!important;margin:0 0 6px!important;display:block}
.single-product div.product .entry-summary>.price del{opacity:.45;font-weight:500;margin-right:8px}
.single-product div.product .entry-summary>.price ins{text-decoration:none;color:var(--fc-accent)}
.sp-taxline{font:400 13px/1.5 var(--fc-font-body);color:var(--fc-muted);margin:0 0 16px}
.sp-stock{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--fc-font-body);color:#0F7A3D;margin:0 0 20px}
.sp-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.sp-stock[data-stock="out"]{color:var(--fc-muted)}

/* one clean stepper: kill any injected duplicates */
.sp-qty-btn{display:none!important}

/* ---- Buy box ---- */
.single-product form.cart{display:block!important;margin:0 0 22px!important;padding:0!important;background:none;border:0}
.single-product form.cart::after{content:"";display:block;clear:both}

/* variation pills */
.sp-pills{margin:0 0 18px}
.sp-pills__label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font:600 12px/1 var(--fc-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fc-muted);margin:0 0 10px}
.sp-pills__chosen{font:600 13px/1 var(--fc-font-body);letter-spacing:0;text-transform:none;color:var(--fc-ink)}
.sp-pills__row{display:flex;flex-wrap:wrap;gap:8px}
.sp-pill{appearance:none;border:1.5px solid var(--fc-line);background:var(--fc-surface);color:var(--fc-ink);border-radius:999px;padding:0 18px;min-height:46px;font:600 14px/1 var(--fc-font-body);cursor:pointer;touch-action:manipulation;transition:border-color .16s ease,background-color .16s ease,color .16s ease}
.sp-pill:hover{border-color:var(--fc-deep)}
.sp-pill:focus-visible{outline:3px solid var(--fc-deep);outline-offset:2px}
.sp-pill[aria-pressed="true"]{background:var(--fc-deep);border-color:var(--fc-deep);color:#fff}
.sp-pill[disabled]{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.single-product table.variations{display:none!important}
.single-product .woocommerce-variation-description{font:400 14px/1.6 var(--fc-font-body);color:var(--fc-muted);margin:0 0 12px}
.single-product .woocommerce-variation-price{margin:0 0 16px}
.single-product .woocommerce-variation-price .price{font:700 24px/1 var(--fc-font-head)!important;color:var(--fc-ink)!important}

/* quantity + add to cart on one row */
.sp-buyrow{display:flex;gap:12px;align-items:stretch}
.single-product .nm-quantity-wrap{display:block!important;float:none!important;width:auto!important;margin:0!important;padding:0!important;flex:0 0 auto}
.single-product .nm-quantity-wrap>label,.single-product .nm-qty-label-abbrev{display:none!important}
.single-product .quantity{display:inline-flex!important;align-items:stretch;width:auto!important;height:58px!important;background:var(--fc-surface);border:1.5px solid var(--fc-line);border-radius:999px;overflow:hidden;float:none!important;margin:0!important}
.single-product .nm-qty-minus,.single-product .nm-qty-plus{position:relative!important;display:flex!important;align-items:center;justify-content:center;width:50px!important;height:auto!important;line-height:1!important;margin:0!important;padding:0!important;font-size:0!important;color:var(--fc-ink);cursor:pointer;background:transparent;border:0;touch-action:manipulation;transition:background-color .16s ease;-webkit-user-select:none;user-select:none}
.single-product .nm-qty-minus::before,.single-product .nm-qty-plus::before{content:"";width:13px;height:1.5px;background:currentColor;border-radius:2px}
.single-product .nm-qty-plus::after{content:"";position:absolute;width:1.5px;height:13px;background:currentColor;border-radius:2px}
.single-product .nm-qty-minus:hover,.single-product .nm-qty-plus:hover{background:var(--fc-bg)}
.single-product .nm-qty-minus:focus-visible,.single-product .nm-qty-plus:focus-visible{outline:3px solid var(--fc-deep);outline-offset:-3px}
.single-product .quantity input.qty{width:46px!important;height:auto!important;text-align:center;border:0!important;background:transparent!important;font:700 16px/1 var(--fc-font-body)!important;color:var(--fc-ink);font-variant-numeric:tabular-nums;-moz-appearance:textfield;padding:0!important;margin:0!important}
.single-product .quantity input.qty::-webkit-outer-spin-button,.single-product .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single-product .quantity input.qty:focus-visible{outline:2px solid var(--fc-deep);outline-offset:-2px;border-radius:6px}

.single-product .single_add_to_cart_button,.single-product button.nm-variable-add-to-cart-button{position:relative;display:flex!important;float:none!important;flex:1 1 auto;min-height:58px;align-items:center;justify-content:center;gap:10px;margin:0!important;padding:0 30px!important;border:0!important;border-radius:999px!important;background:var(--fc-ink)!important;color:#fff!important;font:700 15px/1 var(--fc-font-head)!important;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background-color .18s ease,transform .12s ease}
.single-product .single_add_to_cart_button:hover{background:var(--fc-deep)!important}
.single-product .single_add_to_cart_button:active{transform:translateY(1px)}
.single-product .single_add_to_cart_button:focus-visible{outline:3px solid var(--fc-accent);outline-offset:3px}
.single-product .single_add_to_cart_button.disabled,.single-product .single_add_to_cart_button[disabled]{opacity:.4;cursor:not-allowed}
.single-product .single_add_to_cart_button.is-loading{color:transparent!important;pointer-events:none}
.single-product .single_add_to_cart_button.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:sp-spin .7s linear infinite}
@keyframes sp-spin{to{transform:rotate(360deg)}}
.sp-buynow{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin:10px 0 0;border:1.5px solid var(--fc-ink);border-radius:999px;background:transparent;color:var(--fc-ink);font:700 15px/1 var(--fc-font-head);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .18s ease,color .18s ease}
.sp-buynow:hover{background:var(--fc-ink);color:#fff}
.sp-buynow:focus-visible{outline:3px solid var(--fc-accent);outline-offset:3px}

/* ---- Assurance ---- */
ul.sp-assure{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--fc-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
ul.sp-assure li{position:relative;padding-left:26px;font:400 14px/1.5 var(--fc-font-body);color:var(--fc-muted)}
ul.sp-assure li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:var(--fc-deep)}
ul.sp-assure li::after{content:"";position:absolute;left:4.5px;top:6.5px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
@media(max-width:560px){ul.sp-assure{grid-template-columns:1fr}}

/* ---- Accordion ---- */
.sp-acc{margin:26px 0 0;border-top:1px solid var(--fc-line)}
.sp-acc details{border-bottom:1px solid var(--fc-line)}
.sp-acc summary{list-style:none;cursor:pointer;padding:16px 40px 16px 0;position:relative;font:600 15px/1.4 var(--fc-font-head);color:var(--fc-ink)}
.sp-acc summary::-webkit-details-marker{display:none}
.sp-acc summary:focus-visible{outline:3px solid var(--fc-deep);outline-offset:2px}
.sp-acc summary::after{content:"";position:absolute;right:6px;top:22px;width:9px;height:9px;border-right:2px solid var(--fc-muted);border-bottom:2px solid var(--fc-muted);transform:rotate(45deg);transition:transform .2s ease}
.sp-acc details[open] summary::after{transform:rotate(-135deg)}
.sp-acc .sp-acc__body{padding:0 0 18px;font:400 14px/1.7 var(--fc-font-body);color:var(--fc-muted)}
.sp-acc .sp-acc__body p{margin:0 0 10px}

/* ---- Sticky mobile bar ---- */
.sp-buybar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;align-items:center;gap:12px;background:var(--fc-surface);border-top:1px solid var(--fc-line);box-shadow:0 -8px 24px -16px rgba(7,31,61,.5);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(115%);transition:transform .24s ease;visibility:hidden}
.sp-buybar.is-visible{transform:none;visibility:visible}
.sp-buybar__meta{flex:1 1 auto;min-width:0}
.sp-buybar__name{display:block;font-size:12px;color:var(--fc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-buybar__price{display:block;font:700 17px/1.2 var(--fc-font-head);color:var(--fc-ink)}
.sp-buybar__cta{flex:0 0 auto;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:var(--fc-ink);color:#fff;font:700 14px/1 var(--fc-font-head);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.sp-buybar__cta:focus-visible{outline:3px solid var(--fc-accent);outline-offset:3px}
@media(min-width:900px){.sp-buybar{display:none}}
@media(max-width:600px){.sp-buyrow{flex-wrap:wrap}.single-product .single_add_to_cart_button{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){.sp-buybar,.sp-pill,.single-product .single_add_to_cart_button,.sp-acc summary::after{transition-duration:.01ms}}
/* ---- Remove stray parent-theme grey lines in buy box (2026-09-09) ---- */
.single-product .woocommerce-variation.single_variation{border:0 !important;box-shadow:none !important}
.single-product .nm-quantity-wrap,.single-product .nm-quantity-wrap.qty-show{border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 !important}
.single-product .single_variation_wrap,.single-product .woocommerce-variation-add-to-cart{border:0 !important;box-shadow:none !important}
/* PDP reviews (replaces tabs) */
.sp-pdp-reviews{max-width:860px;margin:8px auto 0;padding:8px clamp(16px,3vw,24px) 0}
.sp-pdp-reviews__title{font:800 clamp(22px,2.6vw,30px)/1.1 var(--fc-font-head);letter-spacing:-.02em;color:var(--fc-ink);margin:0 0 18px;text-align:center}
.sp-pdp-reviews #reviews{margin:0}
.woocommerce-tabs{display:none!important}

/* option-required flash */
@keyframes sp-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(3px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.sp-pills--needed{animation:sp-shake .5s both}
.sp-pills--needed .sp-pill{border-color:var(--fc-accent)}
@media (prefers-reduced-motion:reduce){.sp-pills--needed{animation:none}}

/* Buy-now / add-to-cart: choose-an-option message */
.sp-need-msg{display:none;margin:10px 0 0;padding:10px 14px;border-radius:10px;background:#FDE7EC;border:1px solid var(--fc-accent);color:var(--fc-accent);font:700 13.5px/1.4 var(--fc-font-body)}
