:root{--single-gutter: min(4.5rem, 5vw);--single-pre-h: 2.5rem;--single-pre-pt: min(1.5rem, 1.8vw);--single-thumb-w: min(5.5rem, 6vw);--single-thumb-item-h: min(4.75rem, 5.2vw);--single-offcanvas-w: min(48.875rem, 42vw);--single-bar-h: min(5rem, 5.5vw)}.wapu-single{background:var(--wtds-surface);min-height:calc(100vh - 7.375rem);padding-bottom:calc(var(--single-bar-h) + 2rem);position:relative;max-width:120rem;margin-left:auto;margin-right:auto}.wapu-single__pre{display:flex;align-items:center;justify-content:space-between;padding:var(--single-pre-pt) var(--single-gutter) 0;height:calc(var(--single-pre-pt) + var(--single-pre-h));max-width:90rem;margin-left:auto;margin-right:auto}.wapu-single__tabs{display:flex;gap:var(--wtds-s-1);background:transparent;border:none;overflow:visible;border-radius:0}.wapu-single__tab{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:0 var(--wtds-s-2);background:transparent;border:0;border-radius:var(--wtds-r-pill);font-family:var(--wtds-font-text);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-medium);line-height:var(--wtds-lh-snug);color:var(--wtds-ink-3);cursor:pointer;white-space:nowrap;transition:background-color var(--wtds-dur-fast) var(--wtds-ease),color var(--wtds-dur-fast) var(--wtds-ease)}.wapu-single__tab--active{background:var(--wtds-fill-4);color:var(--wtds-ink);font-weight:var(--wtds-fw-semibold);box-shadow:none}.wapu-single__tab:not(.wapu-single__tab--active):hover{background:var(--wtds-fill-4);color:var(--wtds-ink-2)}.wapu-single__tab:focus-visible{outline:none;box-shadow:var(--wtds-shadow-focus)}.wapu-single__content{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);align-items:start;padding:2rem var(--single-gutter) 0;gap:2.5rem;max-width:90rem;margin-left:auto;margin-right:auto}.wapu-single__gallery{display:grid;grid-template-columns:1fr var(--single-thumb-w);gap:.75rem;align-items:start}.wapu-single__main-image{width:100%;aspect-ratio:1;border-radius:var(--wtds-r-md);overflow:hidden;background:var(--wtds-surface-2);position:relative}.wapu-single__main-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;display:block}.wapu-single__thumbs{display:flex;flex-direction:column;align-items:center;width:100%;gap:.5rem;padding:0 .25rem}.wapu-single__thumb-nav{width:2.5625rem;height:2.5625rem;display:flex;align-items:center;justify-content:center;background:var(--wtds-surface-2);border:none;cursor:pointer;color:var(--wtds-ink-2);border-radius:50%;flex-shrink:0;transition:background .15s}.wapu-single__thumb-nav:hover{background:var(--wtds-separator-soft)}.wapu-single__thumb-nav:disabled{opacity:.3;cursor:default}.wapu-single__thumb-track{display:flex;flex-direction:column;gap:.5rem;width:100%}.wapu-single__thumb{position:relative;width:100%;height:var(--single-thumb-item-h);flex-shrink:0;border-radius:var(--wtds-r-md);overflow:hidden;border:.125rem solid transparent;background:var(--wtds-surface-2);padding:0;cursor:pointer;transition:border-color .18s,box-shadow .18s,filter .25s}.wapu-single__thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;-o-object-fit:cover;object-fit:cover;display:block}.wapu-single__thumb:not(.wapu-single__thumb--active){filter:grayscale(100%);opacity:.55}.wapu-single__thumb:not(.wapu-single__thumb--active):hover{filter:grayscale(40%);opacity:.8;border-color:var(--wtds-ink-4)}.wapu-single__thumb--active{border-color:var(--wtds-ink);box-shadow:0 1.25rem 1.25rem -1.25rem var(--wtds-shadow-color-soft);filter:grayscale(0%);opacity:1}.wapu-single__info{min-width:0;display:flex;flex-direction:column;gap:1.25rem}.wapu-single__brand-eyebrow{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:.75rem;font-family:var(--wtds-font-text);font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-semibold);letter-spacing:.3em;text-transform:uppercase;color:var(--wtds-ink)}.wapu-single__brand-eyebrow:after{content:"";display:inline-block;width:2rem;height:.5px;background:var(--drop-accent, var(--wtds-separator))}.wapu-single__brand-link{color:inherit;text-decoration:none;transition:opacity var(--wtds-dur-fast) var(--wtds-ease)}.wapu-single__brand-link:hover{opacity:.65}.wapu-single__brand-text{color:inherit}.wapu-single__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0}.wapu-single__title{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-title-2);font-weight:var(--wtds-fw-light);font-style:normal;line-height:1.15;letter-spacing:-.02em;color:var(--wtds-ink);margin:0;flex:1;min-width:0}.wapu-single__share{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:.5px solid var(--wtds-ink-4);border-radius:50%;background:transparent;color:var(--wtds-ink-3);cursor:pointer;flex-shrink:0;margin-top:.25rem;transition:background var(--wtds-dur-fast) var(--wtds-ease),color var(--wtds-dur-fast) var(--wtds-ease),border-color var(--wtds-dur-fast) var(--wtds-ease)}.wapu-single__share:hover,.wapu-single__share:focus-visible{background:var(--wtds-fill-4);color:var(--wtds-ink);border-color:var(--wtds-ink);outline:none}.wapu-single__share svg{width:1rem;height:1rem;display:block}.wapu-single__share.is-active{background:var(--wtds-ink);color:var(--wtds-surface);border-color:var(--wtds-ink)}.wapu-share-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:12.5rem;background:var(--wtds-surface);border:.5px solid var(--wtds-separator-soft);border-radius:.75rem;padding:.375rem;box-shadow:0 .5rem 1.5rem var(--wtds-shadow-color-soft);z-index:100;opacity:0;transform:translateY(-.25rem);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.wapu-share-menu.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.wapu-share-menu__item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;border:0;background:transparent;color:var(--wtds-ink);font-family:var(--wtds-font-text);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-regular);text-align:left;cursor:pointer;border-radius:var(--wtds-r-xs);text-decoration:none}.wapu-share-menu__item:hover{background:var(--wtds-fill-4)}.wapu-share-menu__item svg{width:1rem;height:1rem;flex-shrink:0;color:var(--wtds-ink-3)}.wapu-share-menu__item--copied svg{color:var(--wtds-success)}.wapu-single__share-wrap{position:relative;display:inline-block}.wapu-single__title em{font-style:italic;color:var(--drop-primary, inherit);font-weight:var(--wtds-fw-regular)}.wapu-single__desc-wrap{display:flex;flex-direction:column;gap:.625rem}.wapu-single__desc{font-family:var(--wtds-font-text);font-size:var(--wtds-fs-subhead);font-weight:var(--wtds-fw-regular);line-height:1.5;color:var(--wtds-ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wapu-single__ver-mas{display:inline-flex;align-items:center;gap:.25rem;align-self:flex-start;background:none;border:none;padding:.3125rem .75rem .3125rem 0;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-1);font-weight:var(--wtds-fw-semibold);color:var(--wtds-ink);cursor:pointer;transition:gap .2s ease,opacity .15s;text-decoration:none;white-space:nowrap;letter-spacing:.01em}.wapu-single__ver-mas:hover{gap:.5rem;opacity:.85}.wapu-single__price{line-height:1.2}.wapu-single__price .wapu-price--single{display:flex;flex-direction:column;gap:.375rem;align-items:flex-start}.wapu-single__price .wapu-price__row{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.75rem}.wapu-single__price .wapu-price__current{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-title-2);font-weight:var(--wtds-fw-medium);color:var(--wtds-ink);line-height:1;letter-spacing:-.01em}.wapu-single__price .wapu-price__cents{font-size:var(--wtds-fs-money-fraction);font-weight:var(--wtds-fw-semibold);opacity:.7;margin-left:-1px;vertical-align:baseline}.wapu-single__price .wapu-price__old{font-family:var(--wtds-font-text);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-regular);color:var(--wtds-ink-4);text-decoration:line-through;line-height:1}.wapu-single__price .wapu-price__from{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-1);font-weight:var(--wtds-fw-medium);color:var(--wtds-ink-3);line-height:1;margin-right:-.25rem}.wapu-single__price .wapu-price__pills{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.wapu-sale-pill{display:inline-flex;align-items:center;padding:var(--wtds-s-1) var(--wtds-s-2);background:var(--wtds-danger-soft);color:var(--wtds-danger);border-radius:var(--wtds-r-pill);font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-semibold);letter-spacing:var(--wtds-ls-tight);line-height:1;cursor:help;position:relative;text-decoration:none;white-space:nowrap;transition:background-color var(--wtds-dur-fast) var(--wtds-ease)}.wapu-sale-pill:hover,.wapu-sale-pill:focus-visible{background:var(--wtds-danger-soft)}.wapu-sale-pill:focus-visible{outline:none;box-shadow:var(--wtds-shadow-focus)}.wapu-sale-pill:hover .wapu-tooltip,.wapu-sale-pill:focus .wapu-tooltip,.wapu-sale-pill:focus-within .wapu-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);transition:opacity var(--wtds-dur-fast) var(--wtds-ease),transform var(--wtds-dur-fast) var(--wtds-ease),visibility 0s linear 0s}.wapu-single__variants{display:flex;flex-direction:column;gap:1rem}.wapu-single__variants-header{display:flex;align-items:center;justify-content:space-between}.wapu-single__variants-label-wrap{display:flex;flex-direction:column;gap:.1875rem}.wapu-single__variant-count{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--wtds-ink-3)}.wapu-single__variants-label{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-callout);font-weight:var(--wtds-fw-semibold);color:var(--wtds-ink)}.wapu-single__view-toggle{position:relative;display:flex;gap:0;background:var(--wtds-fill-3);border:none;border-radius:var(--wtds-r-sm);padding:.125rem;overflow:hidden}.wapu-single__view-indicator{position:absolute;top:.125rem;left:0;height:calc(100% - .25rem);border-radius:calc(var(--wtds-r-sm) - .125rem);background:var(--wtds-surface);box-shadow:var(--wtds-shadow-sm);pointer-events:none;z-index:0}.wapu-single__view-btn{position:relative;z-index:1;width:var(--wtds-s-4);height:var(--wtds-s-4);display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--wtds-ink-4);transition:color var(--wtds-dur-fast) var(--wtds-ease)}.wapu-single__view-btn:hover{color:var(--wtds-ink-3)}.wapu-single__view-btn--active{color:var(--wtds-ink)}.wapu-single__view-btn--active svg{color:var(--wtds-ink)}.wapu-single__view-btn--active svg line,.wapu-single__view-btn--active svg rect,.wapu-single__view-btn--active svg path{stroke:currentColor}.wapu-single__view-btn--active svg circle{fill:currentColor}.wapu-single__variant-items--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.75rem,4rem));justify-content:start;gap:.875rem .75rem}.wapu-single__variant-items--list{display:flex;flex-direction:column;gap:0;background:var(--wtds-surface);border:1px solid var(--wtds-surface-2);border-radius:var(--wtds-r-md);overflow-x:hidden;overflow-y:auto;max-height:22.25rem;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--wtds-separator-soft) transparent}.wapu-single__actions-row{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--wtds-outline-soft);position:relative}.wapu-single__actions-row .wcpl-list-popup{top:calc(100% + .5rem);left:0;right:auto;bottom:auto;max-width:min(17.5rem,calc(100vw - 2rem));min-width:min(12.5rem,calc(100vw - 2rem))}.wapu-single__action-btn{display:inline-flex;align-items:center}.wapu-single__variant-items--list::-webkit-scrollbar{width:.25rem}.wapu-single__variant-items--list::-webkit-scrollbar-track{background:transparent}.wapu-single__variant-items--list::-webkit-scrollbar-thumb{background:var(--wtds-separator-soft);border-radius:.25rem}.wapu-single__variant-items--list::-webkit-scrollbar-thumb:hover{background:var(--wtds-ink-4)}.wapu-single__variant-item{background:none;border:.5px solid var(--wtds-separator-soft);border-radius:var(--wtds-r-xs);cursor:pointer;padding:0;overflow:hidden;transition:border-color .18s,box-shadow .18s;text-align:left;display:flex}.wapu-single__variant-item:hover{border-color:var(--wtds-ink-4)}.wapu-single__variant-item[aria-selected=true],.wapu-single__variant-item--selected{border-color:var(--wtds-ink);box-shadow:0 0 0 1px var(--wtds-ink)}.wapu-single__variant-item--sold-out{opacity:.4;cursor:not-allowed}.wapu-single__variant-items--grid .wapu-single__variant-item{flex-direction:column;align-items:center;gap:var(--wtds-s-1);border:0;border-radius:0;padding:var(--wtds-s-1);background:transparent}.wapu-single__variant-items--grid .wapu-single__variant-item:hover{border-color:transparent;background:transparent}.wapu-single__variant-items--grid .wapu-single__variant-item[aria-selected=true],.wapu-single__variant-items--grid .wapu-single__variant-item--selected{border:0;box-shadow:none;background:transparent}.wapu-single__variant-items--grid .wapu-single__variant-thumb{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--wtds-surface-2);transition:box-shadow var(--wtds-dur-fast) var(--wtds-ease)}.wapu-single__variant-items--grid .wapu-single__variant-item[aria-selected=true] .wapu-single__variant-thumb,.wapu-single__variant-items--grid .wapu-single__variant-item--selected .wapu-single__variant-thumb{box-shadow:0 0 0 .09375rem var(--wtds-ink)}.wapu-single__variant-items--grid .wapu-single__variant-meta{padding:0;display:flex;flex-direction:column;align-items:center;gap:.125rem;text-align:center;width:100%}.wapu-single__variant-items--grid .wapu-single__variant-name{font-family:var(--wtds-font-text);font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-regular);color:var(--wtds-ink-2);line-height:1.2;letter-spacing:0}.wapu-single__variant-items--grid .wapu-single__variant-item[aria-selected=true] .wapu-single__variant-name,.wapu-single__variant-items--grid .wapu-single__variant-item--selected .wapu-single__variant-name{color:var(--wtds-ink);font-weight:var(--wtds-fw-medium)}.wapu-single__variant-items--list .wapu-single__variant-item{flex-direction:row;border-radius:0;border:none;border-bottom:1px solid var(--wtds-surface-2);padding:1.125rem 1rem;align-items:center;gap:1.125rem;min-height:5.75rem}.wapu-single__variant-items--list .wapu-single__variant-item:last-child{border-bottom:none}.wapu-single__variant-items--list .wapu-single__variant-item[aria-selected=true],.wapu-single__variant-items--list .wapu-single__variant-item--selected{background:var(--wtds-surface-2);box-shadow:none}.wapu-single__variant-items--list .wapu-single__variant-thumb{width:clamp(3rem,3.6vw,3.875rem);height:clamp(3rem,3.6vw,3.875rem);min-width:3rem;min-height:3rem;border-radius:25rem;border:.125rem solid var(--wtds-separator-soft);box-shadow:0 1.25rem 1.25rem -1.25rem var(--wtds-shadow-color-soft);overflow:hidden;background:var(--wtds-surface-2);flex-shrink:0}.wapu-single__variant-items--list .wapu-single__variant-item[aria-selected=true] .wapu-single__variant-thumb,.wapu-single__variant-items--list .wapu-single__variant-item--selected .wapu-single__variant-thumb{border-color:var(--wtds-ink)}.wapu-single__variant-items--list .wapu-single__variant-meta{flex:1;display:flex;flex-direction:column;gap:.125rem}.wapu-single__variant-items--list .wapu-single__variant-name{font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wapu-single__variant-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.wapu-single__variant-swatch{display:block;width:100%;height:100%;border-radius:inherit;background-size:cover;background-position:center;background-repeat:no-repeat}.wapu-single__variant-items--grid .wapu-single__variant-swatch{border-radius:0}.wapu-single__variant-items--list .wapu-single__variant-swatch{border-radius:50%}.wapu-single__variant-item--sold-out .wapu-single__variant-swatch{position:relative}.wapu-single__variant-item--sold-out .wapu-single__variant-swatch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top right,transparent calc(50% - .75px),var(--wtds-danger) 50%,transparent calc(50% + .75px));border-radius:inherit}.wapu-single__variant-name{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-medium);color:var(--wtds-ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wapu-single__main-image:hover .wapu-single__main-img{transform:scale(1.06)}.wapu-single__offcanvas{position:fixed;top:0;right:0;bottom:0;width:min(35rem,42vw);min-width:21.25rem;background:var(--wtds-surface);z-index:1000;transform:translate(100%);transition:transform var(--wtds-dur) var(--wtds-ease);overflow:hidden;display:flex;flex-direction:column;box-shadow:-.125rem 0 3.75rem var(--wtds-shadow-color-soft)}.wapu-single__offcanvas[aria-hidden=false]{transform:translate(0)}.wapu-single__offcanvas-topbar{display:flex;align-items:center;justify-content:flex-end;padding:1.75rem 2.5rem 1.5rem;border-bottom:1px solid var(--wtds-surface-2);flex-shrink:0}.wapu-single__offcanvas-panel{padding:2.5rem 2.5rem 3rem;flex:1;display:flex;flex-direction:column;gap:2rem;min-height:0;overflow-y:auto}.wapu-single__offcanvas-panel[hidden]{display:none}.wapu-single__offcanvas-title{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-title-2);font-weight:var(--wtds-fw-bold);line-height:1.35;letter-spacing:-.01em;color:var(--wtds-ink);margin:0;flex-shrink:0}.wapu-single__offcanvas-title--similares{font-size:var(--wtds-fs-callout)}.wapu-single__offcanvas-desc-wrap{flex:1;position:relative;overflow:hidden;min-height:0}.wapu-single__offcanvas-desc-wrap:after{content:"";position:absolute;bottom:0;left:0;right:0;height:6.25rem;background:linear-gradient(to bottom,var(--wtds-glass-faint),var(--wtds-surface-translucent));pointer-events:none}.wapu-single__offcanvas-desc{font-family:var(--wtds-font-text);font-size:var(--wtds-fs-body);font-weight:var(--wtds-fw-regular);line-height:1.65;color:var(--wtds-ink-3);height:100%;overflow-y:auto;padding-bottom:3rem}.wapu-single__offcanvas-desc p{margin:0}.wapu-single__offcanvas-desc p+p{margin-top:.875rem}.wapu-single__related-list{display:flex;flex-direction:column;gap:0;margin:0 -.5rem}.wapu-single__related-card{display:flex;align-items:center;gap:1.25rem;padding:1rem .5rem;border-bottom:1px solid var(--wtds-surface-2);text-decoration:none;color:inherit;border-radius:var(--wtds-r-xs);transition:background .18s}.wapu-single__related-card:first-child{border-top:1px solid var(--wtds-surface-2)}.wapu-single__related-card:hover{background:var(--wtds-surface-2)}.wapu-single__related-thumb{width:5.5rem;height:5.5rem;border-radius:var(--wtds-r-xs);overflow:hidden;background:var(--wtds-surface-2);flex-shrink:0}.wapu-single__related-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.wapu-single__related-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.wapu-single__related-brand{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--wtds-ink-4);display:block}.wapu-single__related-name{font-family:var(--wtds-font-text);font-size:var(--wtds-fs-footnote);color:var(--wtds-ink);display:block;line-height:1.45}.wapu-single__related-price{font-family:var(--wtds-font-text);font-size:var(--wtds-fs-caption-1);font-weight:var(--wtds-fw-semibold);color:var(--wtds-ink-3);display:block}.wapu-single__related-cta{display:block;text-align:center;margin-top:.5rem;padding:.625rem 1.25rem;background:var(--wtds-ink);border-radius:var(--wtds-r-pill);font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-2);font-weight:var(--wtds-fw-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--wtds-surface);text-decoration:none;transition:background .18s}.wapu-single__related-cta:hover{background:var(--wtds-ink-2)}.wapu-single__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--wtds-scrim);backdrop-filter:blur(.1875rem);-webkit-backdrop-filter:blur(.1875rem);z-index:999;opacity:0;pointer-events:none;transition:opacity var(--wtds-dur) var(--wtds-ease)}.wapu-single__overlay--visible{opacity:1;pointer-events:all}body.wapu-offcanvas-open{overflow:hidden}.wapu-single__cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--wtds-scrim-strong);z-index:1301;opacity:0;pointer-events:none;transition:opacity .28s ease}.wapu-single__cart-overlay--visible{opacity:1;pointer-events:auto}body.wapu-cart-sheet-open{overflow:hidden}.wapu-single__cart-sheet{position:fixed;left:0;right:0;bottom:0;width:100%;margin-left:0;margin-right:0;background:var(--wtds-surface);border-radius:1.375rem 1.375rem 0 0;box-shadow:0 -.75rem 2.75rem var(--wtds-shadow-color-strong);z-index:1305;height:52svh;max-height:52svh;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translate3d(0,110%,0);transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .28s ease}.wapu-single__cart-sheet.is-open{opacity:1;pointer-events:auto;transform:translateZ(0)}.wapu-single__cart-sheet.is-gsap-opening,.wapu-single__cart-overlay.is-gsap-opening,.wapu-single__cart-sheet.is-dragging{transition:none}.wapu-single__cart-sheet-headbar{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.75rem 1rem .375rem;touch-action:none}.wapu-single__cart-sheet-pill{width:2.875rem;height:.5625rem;border:none;border-radius:var(--wtds-r-pill);background:var(--wtds-separator-soft);cursor:grab;touch-action:none}.wapu-single__cart-sheet-pill:active{cursor:grabbing}.wapu-single__cart-sheet-close{position:absolute;right:.75rem;top:.5rem;display:inline-flex;align-items:center;justify-content:center}.wapu-single__cart-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem 1.25rem calc(1.125rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:.875rem}.wapu-single__cart-sheet-product{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.875rem;align-items:center}.wapu-single__cart-sheet-thumb{width:5.5rem;height:5.5rem;border-radius:.75rem;overflow:hidden;background:var(--wtds-surface-2)}.wapu-single__cart-sheet-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.wapu-single__cart-sheet-copy{min-width:0;display:flex;flex-direction:column;gap:.25rem}.wapu-single__cart-sheet-title{margin:0;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-callout);font-weight:var(--wtds-fw-bold);line-height:1.3;color:var(--wtds-ink)}.wapu-single__cart-sheet-name{margin:0;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-subhead);font-weight:var(--wtds-fw-medium);color:var(--wtds-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wapu-single__cart-sheet-qty{margin:0;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-semibold);color:var(--wtds-ink-3)}.wapu-single__cart-sheet-subtitle{margin:0;font-family:var(--wtds-font-text);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-semibold);color:var(--wtds-ink-3);letter-spacing:.01em}.wapu-single__cart-sheet-related-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(7.625rem,1fr);gap:.625rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.125rem;scrollbar-width:none}.wapu-single__cart-sheet-related-list::-webkit-scrollbar{display:none}.wapu-single__cart-sheet-related-card{text-decoration:none;border:.5px solid var(--wtds-separator-soft);border-radius:.75rem;background:var(--wtds-surface);padding:.625rem;display:flex;flex-direction:column;gap:.5rem;min-height:10.25rem}.wapu-single__cart-sheet-related-thumb{width:100%;aspect-ratio:1;border-radius:var(--wtds-r-sm);overflow:hidden;background:var(--wtds-surface-2);display:block}.wapu-single__cart-sheet-related-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.wapu-single__cart-sheet-related-name{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-semibold);line-height:1.25;color:var(--wtds-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wapu-single__cart-sheet-related-price{font-family:var(--wtds-font-text);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-bold);color:var(--wtds-ink-2);margin-top:auto}.wapu-single__cart-sheet-related-price .woocommerce-Price-amount{font-size:inherit;font-weight:inherit;color:inherit}.wapu-single__cart-sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin-top:auto}.wapu-single__cart-sheet-cta{width:100%;height:2.875rem;border-radius:var(--wtds-r-pill);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-bold);white-space:nowrap;padding:0 1rem}.wapu-single__cart-sheet-cta--ghost{background:var(--wtds-surface-2);color:var(--wtds-ink-2)}.wapu-single__cart-sheet-cta--primary{background:var(--wtds-ink);color:var(--wtds-surface)}.wapu-single__cart-bar{position:fixed;bottom:0;left:0;right:0;height:var(--single-bar-h);background:var(--wtds-surface-2);border-top:none;z-index:990;overflow:hidden}.wapu-single__cart-form{height:100%}.wapu-single__cart-bar-inner{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;height:100%;padding:0 var(--single-gutter)}.wapu-single__qty-select-wrap{display:flex;align-items:center;justify-content:center;border:.1rem solid var(--wtds-surface-2);border-radius:.75rem;background:var(--wtds-surface);padding:0 1rem;height:min(3.25rem,3.5vw);min-height:2.875rem;width:min(16.25rem,17vw);cursor:pointer;position:relative;box-shadow:0 1px .125rem var(--wtds-shadow-color-faint);flex-shrink:0}.wapu-single__qty-select{flex:1;width:100%;background:none;border:none;outline:none;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-field);font-weight:var(--wtds-fw-bold);color:var(--wtds-ink-2);cursor:pointer;padding:0 1.5rem;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align:center;-moz-text-align-last:center;text-align-last:center}.wapu-single__qty-chevron{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--wtds-ink-2);flex-shrink:0}.wapu-single__add-btn{width:auto;max-width:16.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.wapu-single__add-btn-label{display:inline-flex;align-items:center;justify-content:center;text-align:center}.wapu-single__add-btn-arrow{display:inline-block;margin-left:.5rem;flex-shrink:0;transition:transform var(--wtds-dur-fast) var(--wtds-ease)}.wapu-single__add-btn:hover:not(:disabled) .wapu-single__add-btn-arrow{transform:translate(.1875rem)}.wapu-single__add-btn:disabled .wapu-single__add-btn-arrow{opacity:.4}.wapu-single__add-btn.is-loading .wapu-single__add-btn-arrow{opacity:0}.wapu-single__add-btn-loader{width:1rem;height:1rem;position:absolute;right:.875rem;top:50%;border-radius:var(--wtds-r-pill);border:.125rem solid var(--wtds-outline);border-top-color:var(--wtds-outline-strong);opacity:0;transform:translateY(-50%) scale(.7);transition:opacity .22s ease,transform .22s ease;pointer-events:none}.wapu-single__add-btn.is-loading .wapu-single__add-btn-loader{opacity:1;transform:translateY(-50%) scale(1);animation:wapuSpin .75s linear infinite}.wapu-single__add-btn.is-loading .wapu-single__add-btn-label{opacity:.95}.wapu-single__add-btn.is-error{animation:wapuBtnShake .36s ease}.wapu-single__cart-feedback{margin:.5rem 0 0;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-caption-1);line-height:1.35;text-align:right}.wapu-single__cart-feedback.is-error{color:var(--wtds-danger-pressed)}.wapu-single__cart-feedback.is-success{color:var(--wtds-success)}.wapu-single__toast{position:fixed;inset:calc(.875rem + env(safe-area-inset-top,0px)) .875rem auto auto;transform:translateY(-.625rem);width:min(26.25rem,calc(100vw - 1.75rem));max-width:26.25rem;height:auto;min-height:0;max-height:none;display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:center;-moz-column-gap:.625rem;column-gap:.625rem;padding:.75rem .875rem;border-radius:var(--wtds-r-md);font-family:var(--wtds-font-display);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-semibold);line-height:1.35;box-shadow:0 .875rem 2.125rem var(--wtds-shadow-color-medium);z-index:1200;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.wapu-single__toast.is-visible{opacity:1;transform:translateY(0)}.wapu-single__toast-icon{flex:0 0 1.25rem;width:1.25rem;height:1.25rem;margin-top:0;display:inline-flex;align-items:center;justify-content:center}.wapu-single__toast-icon svg{width:1.25rem;height:1.25rem;display:block}.wapu-single__toast-message{display:block;min-width:0;min-height:0;height:auto;line-height:1.35;text-align:center;white-space:normal}.wapu-single__toast.is-error{background:var(--wtds-danger-soft);color:var(--wtds-danger-pressed);border:1px solid var(--wtds-danger-outline)}.wapu-single__toast.is-success{background:var(--wtds-success-soft);color:var(--wtds-success-pressed);border:1px solid var(--wtds-success-outline)}.wapu-single__toast.is-warning{background:var(--wtds-warning-soft);color:var(--wtds-warning);border:1px solid var(--wtds-warning-outline)}body.admin-bar .wapu-single__toast{top:3rem}@media screen and (max-width: 48.875rem){body.admin-bar .wapu-single__toast{top:3.75rem}}@media (max-width: 90rem){.wapu-single__qty-select-wrap{width:min(11.25rem,20vw)}.wapu-single__add-btn{max-width:12.5rem}}@media (max-width: 64rem){:root{--single-gutter: 1.75rem;--single-offcanvas-w: 27.5rem;--single-bar-h: 4.5rem;--single-thumb-w: 3.75rem}.wapu-single__content{grid-template-columns:1fr;gap:1.5rem}.wapu-single__gallery{grid-template-columns:1fr var(--single-thumb-w)}.wapu-single__variant-items--grid{grid-template-columns:repeat(auto-fill,minmax(5rem,5.5rem))}.wapu-single__variant-items--list{max-height:18.75rem}.wapu-single__qty-select-wrap{width:auto;flex:1;height:3rem}.wapu-single__add-btn{width:auto}.wapu-single__offcanvas{width:min(30rem,60vw)}.wapu-single__offcanvas-topbar{padding:1.5rem 2rem 1.25rem}.wapu-single__offcanvas-panel{padding:2rem 2rem 2.5rem}.wapu-single__cart-sheet{width:100%}}@media (max-width: 47.9375rem){:root{--single-gutter: clamp(1.25rem, 5vw, 1.5rem);--single-offcanvas-w: 100%;--single-bar-h: 4.5rem;--single-thumb-w: 3.75rem;--single-thumb-item-h: 3.5rem;--single-mobile-inset: 1.25rem;--single-variant-mobile-max-h: min(46vh, 20rem)}html,body,#page,#content,.wapu-single{overflow-x:hidden;max-width:100%}.wapu-single__pre{padding-top:.875rem;padding-left:0;padding-right:0;width:calc(100% - (var(--single-mobile-inset) * 2));margin-left:auto;margin-right:auto;height:auto;flex-wrap:wrap;gap:.625rem;align-items:center}.wapu-single__content{grid-template-columns:minmax(0,1fr);padding-top:1rem;padding-left:0;padding-right:0;width:calc(100% - (var(--single-mobile-inset) * 2));max-width:100%;margin-left:auto;margin-right:auto;overflow:hidden}.wapu-single__gallery{grid-template-columns:1fr;grid-template-rows:auto auto;padding-left:0;padding-right:0;min-width:0;width:100%}.wapu-single__thumbs{flex-direction:row;height:auto;padding:.625rem 1rem .5rem;gap:.5rem}.wapu-single__thumb-nav{display:none}.wapu-single__thumb-track{flex-direction:row;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.5rem}.wapu-single__thumb-track::-webkit-scrollbar{display:none}.wapu-single__thumb{width:var(--single-thumb-item-h);height:var(--single-thumb-item-h);flex-shrink:0}.wapu-single__gallery .wapu-gal__thumb,.wapu-single__gallery #wapu-gal .wapu-gal__thumb{width:var(--single-thumb-item-h);flex-shrink:0}.wapu-single__title{font-size:var(--wtds-fs-large-title)}.wapu-single__variants-header{margin-left:.5rem;margin-right:.5rem}.wapu-single__view-toggle{flex-shrink:0}.wapu-single__variant-items--grid{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;max-height:var(--single-variant-mobile-max-h);overflow-y:auto;overflow-x:hidden;align-content:start;scrollbar-width:thin;scrollbar-color:var(--wtds-separator-soft) transparent;-webkit-overflow-scrolling:touch;padding-left:.5rem;padding-right:.5rem}.wapu-single__variant-items--grid::-webkit-scrollbar{width:.25rem}.wapu-single__variant-items--grid::-webkit-scrollbar-track{background:transparent}.wapu-single__variant-items--grid::-webkit-scrollbar-thumb{background:var(--wtds-separator-soft);border-radius:.25rem}.wapu-single__variant-items--list{max-height:var(--single-variant-mobile-max-h);-webkit-overflow-scrolling:touch;margin-left:.5rem;margin-right:.5rem}.wapu-single__variant-items--list .wapu-single__variant-item{padding-left:.875rem;padding-right:.875rem}.wapu-single__cart-bar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding-left:0;padding-right:0;width:calc(100% - (var(--single-mobile-inset) * 2));margin-left:auto;margin-right:auto}.wapu-single__qty-select-wrap{width:100%;min-width:0;max-width:100%;height:2.875rem;overflow:hidden}.wapu-single__qty-select{width:100%;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 1.5rem;text-align:center;-moz-text-align-last:center;text-align-last:center}.wapu-single__add-btn{width:auto;flex-shrink:0;justify-self:end}.wapu-single__cart-sheet{width:100%;border-radius:1.25rem 1.25rem 0 0;height:70svh;max-height:70svh}.wapu-single__cart-sheet-headbar{padding-top:.625rem}.wapu-single__cart-sheet-close{top:.375rem;right:.625rem}.wapu-single__cart-sheet-body{padding-left:1rem;padding-right:1rem;gap:.75rem}.wapu-single__cart-sheet-product{grid-template-columns:4.5rem minmax(0,1fr);gap:.75rem}.wapu-single__cart-sheet-thumb{width:4.5rem;height:4.5rem}.wapu-single__cart-sheet-title{font-size:var(--wtds-fs-callout)}.wapu-single__cart-sheet-subtitle{font-size:var(--wtds-fs-footnote)}.wapu-single__cart-sheet-related-list{grid-auto-columns:minmax(6.75rem,42vw)}.wapu-single__cart-sheet-related-card{min-height:9.25rem;padding:.5625rem}.wapu-single__cart-sheet-actions{grid-template-columns:1fr}.wapu-single__cart-sheet-cta{height:2.75rem}.wapu-single__toast{inset:auto auto calc(var(--single-bar-h) + .875rem + env(safe-area-inset-bottom,0px)) 50%;transform:translate(-50%,.625rem);width:min(94vw,35rem);max-width:94vw;height:auto;min-height:0;max-height:none}.wapu-single__toast.is-visible{transform:translate(-50%)}.wapu-single__offcanvas{width:100%;max-width:100%;min-width:0}.wapu-single__offcanvas-topbar{padding:1.25rem 1.25rem 1.125rem}.wapu-single__offcanvas-panel{padding:1.5rem 1.25rem 2.5rem;gap:1.25rem}.wapu-single__related-list{margin:0 -.25rem}.wapu-single__related-card{padding:.875rem .25rem;gap:1rem}.wapu-single__related-thumb{width:4.5rem;height:4.5rem}.wapu-single__gallery img{max-width:none;height:100%}}@keyframes wapuFadeIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes wapuFadeUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes wapuSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wapuBtnShake{0%,to{transform:translate(0)}25%{transform:translate(-.1875rem)}50%{transform:translate(.1875rem)}75%{transform:translate(-.125rem)}}@media (prefers-reduced-motion: no-preference){.wapu-single__title,.wapu-single__desc-wrap,.wapu-single__price,.wapu-single__variants{visibility:hidden}}body.wapu-no-gsap .wapu-single__title,body.wapu-no-gsap .wapu-single__desc-wrap,body.wapu-no-gsap .wapu-single__price,body.wapu-no-gsap .wapu-single__variants{visibility:visible!important}@keyframes wapuPulse{0%{box-shadow:0 0 var(--wtds-focus-ring-color)}70%{box-shadow:0 0 0 .375rem var(--wtds-focus-ring-color)}to{box-shadow:0 0 var(--wtds-focus-ring-color)}}@media (prefers-reduced-motion: no-preference){.wapu-single__variant-item--selected,.wapu-single__variant-item[aria-selected=true]{animation:none}}.wapu-single .related.products,.wapu-single .upsells.products{display:none!important}.wapu-single .woocommerce-notices-wrapper{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.wapu-single .woocommerce-tabs>ul.tabs,.wapu-single .woocommerce-tabs #tab-description,.wapu-single .woocommerce-tabs #tab-additional_information{display:none!important}.wapu-single .woocommerce-tabs,.wapu-single .woocommerce-tabs #tab-reviews,.wapu-single #reviews,.wapu-single .woocommerce-Reviews{display:revert;visibility:visible}.wapu-single #reviews,.wapu-single .woocommerce-Reviews,.wapu-single #review_form_wrapper,.wapu-single #review_form,.wapu-single .comment-form,.wapu-single .commentlist{all:revert;box-sizing:border-box}.wapu-single .wapu-wc-wrapper{display:contents}.wapu-single__qty-select-wrap .wapu-single__qty-select{border:none;border-radius:0;padding:0 1.5rem;box-shadow:none;background-image:none;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;font-family:var(--wtds-font-display);font-size:var(--wtds-fs-field);font-weight:var(--wtds-fw-bold);color:var(--wtds-ink-2);cursor:pointer;line-height:1.5;height:auto;width:100%;text-align:center;-moz-text-align-last:center;text-align-last:center}.wapu-single__qty-select-wrap .wapu-single__qty-select:focus{border:none;box-shadow:none;outline:none;--tw-ring-shadow: none}.wapu-single .wapu-single__add-btn .wapu-single__add-btn-label{display:inline-flex;align-items:center;justify-content:center;width:100%;text-align:center}.wapu-single__gallery img,.wapu-single__variant-thumb img,.wapu-single__related-thumb img{max-width:none;height:100%}.wapu-single__gallery #wapu-gal{grid-column:1 / -1;display:grid;grid-template-columns:1fr var(--single-thumb-w);gap:.75rem;align-items:start;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.wapu-single__gallery,.wapu-single__gallery .wapu-gal__main,.wapu-single__gallery .wapu-gal__carousel,.wapu-single__gallery .wapu-gal__thumbs{max-width:100%;min-width:0}.wapu-single__gallery .wapu-gal__main{grid-column:1;grid-row:1;border-radius:var(--wtds-r-md);overflow:hidden;width:100%;min-width:0;background:var(--wtds-surface-2)}.wapu-single__gallery .wapu-gal__main:not(.is-transitioning):hover .wapu-gal__img--front{transform:scale(1.06)}.wapu-single__gallery .wapu-gal__carousel{grid-column:2;grid-row:1;flex-direction:column;align-items:center;gap:.5rem;margin-top:0;padding:0 .25rem}.wapu-single__gallery .wapu-gal__arrow{width:2.5625rem;height:2.5625rem;border-radius:50%;background:var(--wtds-surface-2);border:none;color:var(--wtds-ink-2);box-shadow:none;flex-shrink:0;transition:background .15s}.wapu-single__gallery .wapu-gal__arrow:hover{background:var(--wtds-separator-soft);border-color:transparent;box-shadow:none}.wapu-single__gallery .wapu-gal__arrow--prev,.wapu-single__gallery .wapu-gal__arrow--next{transform:rotate(90deg)}.wapu-single__gallery .wapu-gal__arrow--prev:active,.wapu-single__gallery .wapu-gal__arrow--next:active{transform:rotate(90deg) scale(.93)}.wapu-single__gallery .wapu-gal__arrow--prev.is-hidden,.wapu-single__gallery .wapu-gal__arrow--next.is-hidden{transform:rotate(90deg);opacity:0;pointer-events:none}.wapu-single__gallery .wapu-gal__thumbs{flex-direction:column;overflow-x:hidden;overflow-y:auto;flex:1;width:100%;padding:.25rem .125rem;align-items:center;scrollbar-width:none}.wapu-single__gallery .wapu-gal__thumbs::-webkit-scrollbar{display:none}.wapu-single__gallery .wapu-gal__thumb,.wapu-single__gallery #wapu-gal .wapu-gal__thumb{width:100%;height:var(--single-thumb-item-h);border-radius:var(--wtds-r-md);border:.125rem solid transparent;background:var(--wtds-surface-2);flex-shrink:0;filter:grayscale(100%);opacity:.55;transform:none;animation:none;transition:border-color .18s,box-shadow .18s,filter .25s,opacity .25s}.wapu-single__gallery .wapu-gal__thumb img,.wapu-single__gallery #wapu-gal .wapu-gal__thumb img{border-radius:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s ease}.wapu-single__gallery .wapu-gal__thumb:hover,.wapu-single__gallery #wapu-gal .wapu-gal__thumb:hover{filter:grayscale(40%);opacity:.8;border-color:var(--wtds-ink-4);transform:none}.wapu-single__gallery .wapu-gal__thumb:hover img,.wapu-single__gallery #wapu-gal .wapu-gal__thumb:hover img{transform:scale(1.05)}.wapu-single__gallery .wapu-gal__thumb.is-active,.wapu-single__gallery #wapu-gal .wapu-gal__thumb.is-active{border-color:var(--wtds-ink);box-shadow:0 1.25rem 1.25rem -1.25rem var(--wtds-shadow-color-soft);filter:grayscale(0%);opacity:1;transform:none}.wapu-single__gallery #wapu-gal img{max-width:none;height:100%}@media (min-width: 48rem){.wapu-single__gallery .wapu-gal__carousel{max-height:clamp(26.25rem,62vh,40rem);overflow:hidden;min-height:0}.wapu-single__gallery .wapu-gal__thumbs{max-height:calc(clamp(26.25rem,62vh,40rem) - 5.625rem);min-height:0;height:auto}}@media (max-width: 47.9375rem){.wapu-single__content{overflow-x:hidden;overflow-y:visible}.wapu-single__gallery #wapu-gal{grid-template-columns:1fr;grid-template-rows:auto auto;max-width:100%;min-width:0;overflow:hidden}.wapu-single__gallery .wapu-gal__main{grid-column:1;grid-row:1;width:100%;max-width:100%;aspect-ratio:1 / 1;min-height:0}.wapu-single__gallery #wapu-gal .wapu-gal__img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.wapu-single__gallery .wapu-gal__carousel{grid-column:1;grid-row:2;flex-direction:row;padding:.5rem 0;max-width:100%;min-width:0;overflow:hidden}.wapu-single__gallery .wapu-gal__thumbs{flex-direction:row;overflow-x:auto;overflow-y:hidden;height:auto;justify-content:flex-start;align-items:center;min-width:0;padding-inline:.125rem}.wapu-single__gallery .wapu-gal__thumb,.wapu-single__gallery #wapu-gal .wapu-gal__thumb{width:var(--single-thumb-item-h);flex-shrink:0}.wapu-single__gallery .wapu-gal__arrow--prev,.wapu-single__gallery .wapu-gal__arrow--prev.is-hidden,.wapu-single__gallery .wapu-gal__arrow--next,.wapu-single__gallery .wapu-gal__arrow--next.is-hidden{transform:none}.wapu-single__gallery .wapu-gal__arrow--prev:active,.wapu-single__gallery .wapu-gal__arrow--next:active{transform:scale(.93)}}@media (max-width: 61.9375rem){:root{--single-bar-h: 5rem}.wapu-single{padding-bottom:calc(var(--single-bar-h) + env(safe-area-inset-bottom,0px) + 1.5rem)}.wapu-single__cart-bar{bottom:0;padding-bottom:env(safe-area-inset-bottom,0px);z-index:1200;opacity:1;visibility:visible;transform:translateZ(0);pointer-events:auto;transition:opacity .18s ease}body.wapu-has-mobile-bottom-nav .wapu-single__cart-bar{bottom:var(--wapu-mobile-appbar-height, calc(3.75rem + env(safe-area-inset-bottom, 0px)) );padding-bottom:0}body.wapu-has-mobile-bottom-nav .wapu-single{padding-bottom:calc(var(--single-bar-h) + var(--wapu-mobile-appbar-height, calc(3.75rem + env(safe-area-inset-bottom, 0px)) ) + 1.5rem)}}.wapu-single__offcanvas-info{margin-top:var(--wtds-s-5);padding-top:var(--wtds-s-4);border-top:.5px solid var(--wtds-separator-soft)}.wapu-single__offcanvas-info-block{margin-bottom:var(--wtds-s-4)}.wapu-single__offcanvas-info-block:last-child{margin-bottom:0}.wapu-single__offcanvas-info-title{font-family:var(--wtds-font-display);font-size:var(--wtds-fs-footnote);font-weight:var(--wtds-fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--wtds-ink-3);margin:0 0 var(--wtds-s-2)}.wapu-single__offcanvas-info-list{list-style:none;padding:0;margin:0;font-size:var(--wtds-fs-subhead);line-height:1.65;color:var(--wtds-ink-2)}.wapu-single__offcanvas-info-list li{padding:.25rem 0 .25rem var(--wtds-s-2);position:relative}.wapu-single__offcanvas-info-list li:before{content:"—";position:absolute;left:0;color:var(--wtds-ink-4)}

/* ───────────────────────────────────────────────────────────────
 * [v4.0.27] Variant name truncation fix
 *
 * Problema: nombres largos como "Translucent-universal" se cortaban
 * en "Translucent-univers..." porque la regla base
 * .wapu-single__variant-name tenía white-space:nowrap+ellipsis.
 * En grid view con columnas de 60-64px, el corte era brutal.
 *
 * Fix: en grid view permitimos hasta 2 líneas con line-clamp +
 * word-break. La lista (--list) NO se toca — ahí los nombres son
 * cortos y horizontales, ellipsis sigue siendo lo correcto.
 * ─────────────────────────────────────────────────────────────── */
.wapu-single__variant-items--grid .wapu-single__variant-name {
    white-space: normal;
    overflow: hidden;
    text-overflow: clip;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-word;
    hyphens: auto;
}

.wapu-single__title-row {
	flex-wrap: wrap;
}

.wapu-wc-product-tag--single {
	position: relative;
	display: inline-flex;
	color: var(--wapu-tag-color, var(--wtds-accent));
}

.wapu-wc-product-tag__trigger {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 62.4375rem;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: help;
}

.wapu-wc-product-tag__trigger:focus-visible {
	outline: .125rem solid var(--wapu-tag-color, var(--wtds-accent));
	outline-offset: .1875rem;
}

.wapu-wc-product-tag--single .wapu-wc-product-tag__pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .375rem;
	min-height: 1.875rem;
	padding: 0 .75rem;
	border-radius: 62.4375rem;
	background: color-mix(in srgb, var(--wapu-tag-color, var(--wtds-accent)) 14%, white);
	color: var(--wapu-tag-color, var(--wtds-accent));
	box-shadow: 0 .5rem 1.25rem var(--wtds-shadow-color-soft);
	font-family: var(--wtds-font-text, Poppins, Arial, sans-serif);
	font-size:var(--wtds-fs-caption-2);
	font-weight: var(--wtds-fw-medium);
	line-height: 1;
	white-space: nowrap;
}

@supports not (background: color-mix(in srgb, black, white)) {
	.wapu-wc-product-tag--single .wapu-wc-product-tag__pill {
		background: var(--wtds-surface-translucent);
	}
}

.wapu-wc-product-tag__dot {
	display: inline-flex;
	width: .375rem;
	height: .375rem;
	flex: 0 0 .375rem;
	border-radius: 50%;
	background: currentColor;
}

.wapu-wc-product-tag__popover {
	position: absolute;
	top: calc(100% + .5625rem);
	left: 0;
	z-index: 60;
	width: max-content;
	min-width: 13.75rem;
	max-width: min(20rem, calc(100vw - 2rem));
	padding: .75rem .875rem;
	border-radius: 1rem;
	background: var(--wtds-surface-inverse);
	color: var(--wtds-action-ink);
	box-shadow: 0 1.125rem 2.75rem var(--wtds-shadow-color-strong);
	font-family: var(--wtds-font-text, Poppins, Arial, sans-serif);
	font-size:var(--wtds-fs-caption-1);
	font-weight:var(--wtds-fw-medium);
	line-height: 1.45;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-.25rem);
	transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
	pointer-events: auto;
	text-align: left;
}

.wapu-wc-product-tag__popover::before {
	content: "";
	position: absolute;
	left: 1.125rem;
	top: -.375rem;
	width: .75rem;
	height: .75rem;
	border-radius: .125rem;
	background: var(--wtds-surface-inverse);
	transform: rotate(45deg);
}

.wapu-wc-product-tag__popover-title,
.wapu-wc-product-tag__popover-text {
	display: block;
}

.wapu-wc-product-tag__popover-title {
	margin-bottom: .3125rem;
	font-size:var(--wtds-fs-caption-2);
	font-weight: var(--wtds-fw-medium);
	color: var(--wtds-action-ink);
}

.wapu-wc-product-tag__popover-text {
	color: var(--wtds-action-ink);
}

.wapu-wc-product-tag--has-description:hover .wapu-wc-product-tag__popover,
.wapu-wc-product-tag--has-description:focus-within .wapu-wc-product-tag__popover,
.wapu-wc-product-tag--has-description.is-open .wapu-wc-product-tag__popover {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.wapu-vg__main,
.wapu-vg__grid {
	position: relative;
}

.wapu-wc-product-tag-icons {
	--wapu-tag-icon-size: clamp(4.75rem, 5.5vw, 5.5rem);
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 25;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: .5rem;
	width: max-content;
	max-width: calc(var(--wapu-tag-icon-size) + var(--wapu-tag-icon-size) + .5rem);
	pointer-events: none;
	line-height: 1;
}

.wapu-wc-product-tag-icons__item {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--wapu-tag-icon-size);
	width: var(--wapu-tag-icon-size);
	height: var(--wapu-tag-icon-size);
	overflow: hidden;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
}

.wapu-wc-product-tag-icons__item img {
	display: block !important;
	flex: 0 0 100%;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	object-position: center !important;
}

@media (max-width: 47.9375rem) {
.wapu-wc-product-tag--single .wapu-wc-product-tag__pill {
		min-height: 1.75rem;
		padding: 0 .625rem;
		font-size:var(--wtds-fs-caption-2);
	}

	.wapu-wc-product-tag__popover {
		position: fixed;
		left: 1rem;
		right: 1rem;
		bottom: 5.5rem;
		top: auto;
		width: auto;
		min-width: 0;
		max-width: none;
		padding: .875rem 1rem;
		border-radius: 1.125rem;
	}

	.wapu-wc-product-tag__popover::before {
		display: none;
	}

	.wapu-wc-product-tag-icons {
		--wapu-tag-icon-size: 4rem;
		top: .625rem;
		right: .625rem;
		gap: .375rem;
		max-width: calc(var(--wapu-tag-icon-size) + var(--wapu-tag-icon-size) + .375rem);
	}

	.wapu-wc-product-tag-icons__item {
		flex-basis: var(--wapu-tag-icon-size);
		width: var(--wapu-tag-icon-size);
		height: var(--wapu-tag-icon-size);
	}
}

/* ───────────────────────────────────────────────────────────────
 * [v4.0.28] Fix gallery PDP — main image no rendea con shortcode
 *
 * Problema reportado: en PDPs que usan [wapu_variation_gallery]
 * (ej. R.E.M Beauty Lip Oil), los thumbs sí se ven a la izquierda
 * pero la imagen principal queda en blanco a la derecha.
 *
 * Causa: el outer .wapu-single__gallery tiene
 *   grid-template-columns: 1fr var(--single-thumb-w);
 * Y el shortcode mete su propio .wapu-vg que también es grid
 * (con sus thumbs internos). El slot de la columna 5.5rem del outer
 * queda vacío pero ocupa espacio, comprimiendo el main.
 *
 * El override existente solo aplicaba a #wapu-gal (previous-generation del plugin
 * smart-variations). Ahora también aplica al .wapu-vg del
 * shortcode nuevo: que ocupe ambas columnas del outer.
 * ─────────────────────────────────────────────────────────────── */
.wapu-single__gallery > .wapu-vg,
.wapu-single__gallery .wapu-vg {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
/* Defensiva extra: asegurar que el main no colapse a 0 */
.wapu-vg__main {
    min-width: 0;
    width: 100%;
}
.wapu-vg__main img,
.wapu-vg__img {
    max-width: 100%;
    height: auto;
}

/* 7.7.79 · PDP CTA paint is owned by WTDS canonical button variants. */
/* ───────────────────────────────────────────────────────────────
 * [v4.0.32] Bug A — Galería main image en blanco para SIMPLE products
 *
 * Reportado por usuario en Ohana store: Color Wow Youth Juice + AMIKA
 * Hydro Rush (productos simples) muestran thumbs columna izquierda y
 * área central VACÍA. R.E.M Beauty Lip Oil (variable) ya estaba bien
 * tras 4.0.28.
 *
 * Causa raíz: `.wapu-vg__main` no tiene min-height defensivo. Si la
 * imagen falla en cargar (broken src, lazy load fail, attachment
 * con size woocommerce_single faltante), el container colapsa a
 * altura cero porque depende del height intrínseco de su <img>.
 *
 * Para productos simples sin galería extra (frames === 1), el render
 * solo emite `.wapu-vg__main` sin `.wapu-vg__thumbs`. Sin altura
 * intrínseca, parece "vacío".
 * ─────────────────────────────────────────────────────────────── */
.wapu-vg__main {
    /* aspect-ratio defensivo igual que .wapu-single__main-image */
    aspect-ratio: 1 / 1;
    background: var(--wtds-surface-2);
    border-radius: var(--wtds-r-md, .75rem);
    overflow: hidden;
    position: relative;
}
.wapu-vg__main > img,
.wapu-vg__main .wapu-vg__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

/* Para productos sin imagen (rare edge), placeholder visible.
   El PHP ya emite wc_placeholder_img_src() pero defensivo CSS por si
   el src queda vacío (ej. wp_get_attachment_image_url falló). */
.wapu-vg__main > img[src=""] { display: none; }
.wapu-vg__main:not(:has(img[src*="://"])) {
    background: var(--wtds-surface-2);
}

/* ───────────────────────────────────────────────────────────────
 * [v4.0.32] Bug B — Info column text overflow (PDP)
 *
 * Title con `font-size: var(--wtds-fs-title-2)` (huge en desktop) más
 * `flex:1, min-width:0` debería wrap. Pero un nombre como "Cactus
 * Fruit 3-in-1 Styling Cream with Taming Wand" tiene palabras muy
 * largas (Styling, Conditioner, Hydration) que sin `word-break` se
 * salen del container.
 *
 * Aplicamos word-break + overflow-wrap defensivo al title y desc.
 * ─────────────────────────────────────────────────────────────── */
.wapu-single__title {
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
    /* clamp font-size para que no sea descomunal en viewports estrechos */
    font-size:var(--wtds-fs-large-title);
}
.wapu-single__desc,
.wapu-single__desc-wrap {
    word-break: break-word;
    overflow-wrap: anywhere;
    min-width: 0;
}
.wapu-single__info {
    /* defensivo: que info nunca se salga de su columna del grid */
    max-width: 100%;
    overflow-x: hidden;
}
.wapu-single__title-row {
    /* el row es flex con title + share button. min-width:0 en title
       solo no es suficiente — el flex container también lo necesita. */
    min-width: 0;
    max-width: 100%;
}
.wapu-single__brand-eyebrow {
    /* el eyebrow tiene letter-spacing wide — si la marca es "DOLCE & GABBANA"
       debe poder wrap o truncarse, no salirse. */
    flex-wrap: wrap;
    word-break: break-word;
}

/* ═══════════════════════════════════════════════════════════════════════
 * Wave PDP Mobile Add-To-Cart Reliability (4.2.2)
 * ─────────────────────────────────────────────────────────────────────
 * Inline CTA persistente debajo de variants/price. En mobile (max 61.9375rem)
 * REEMPLAZA al cart-bar fixed; en desktop (≥62rem) queda oculto y el
 * cart-bar fixed sigue siendo el CTA principal.
 * ═══════════════════════════════════════════════════════════════════ */

/* Default desktop: inline CTA hidden, cart-bar fixed visible */
.wapu-single__inline-cta{display:none}

@media (max-width:61.9375rem){
  /* Show inline CTA below variants */
  .wapu-single__inline-cta{display:flex!important;flex-direction:column;gap:.5rem;margin-top:1.25rem;width:100%;visibility:visible!important;opacity:1!important}
  .wapu-single__inline-cta-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:100%;position:relative;
    -webkit-tap-highlight-color:transparent;
  }
  .wapu-single__inline-cta-btn.is-error{animation:wapuBtnShake .36s ease}
  .wapu-single__inline-cta-arrow{display:inline-block;margin-left:.625rem;flex-shrink:0;transition:transform var(--wtds-dur-fast) var(--wtds-ease)}
  .wapu-single__inline-cta-btn:hover:not(:disabled) .wapu-single__inline-cta-arrow{transform:translateX(.1875rem)}
  .wapu-single__inline-cta-btn:disabled .wapu-single__inline-cta-arrow{opacity:.4}
  .wapu-single__inline-cta-btn.is-loading .wapu-single__inline-cta-arrow{opacity:0}
  .wapu-single__inline-cta-loader{
    width:1.125rem;height:1.125rem;position:absolute;right:1.125rem;top:50%;
    border-radius:50%;border:.125rem solid var(--wtds-outline-strong);
    border-top-color:var(--wtds-outline-strong);opacity:0;
    transform:translateY(-50%) scale(.7);
    transition:opacity .22s ease,transform .22s ease;pointer-events:none;
  }
  .wapu-single__inline-cta-btn.is-loading .wapu-single__inline-cta-loader{
    opacity:1;transform:translateY(-50%) scale(1);
    animation:wapuSpin .75s linear infinite;
  }
  .wapu-single__inline-cta-feedback{
    margin:0;font-family:var(--wtds-font-display);
    font-size:var(--wtds-fs-caption-1);line-height:1.35;
    text-align:center;color:var(--wtds-danger-pressed);
  }
  .wapu-single__inline-cta-feedback[hidden]{display:none}
  .wapu-single__inline-cta-feedback.is-success{color:var(--wtds-success)}

  /* Mobile: hide cart-bar fixed (inline CTA replaces it) */
  .wapu-single__cart-bar{display:none!important;visibility:hidden!important;pointer-events:none!important;position:absolute!important;left:-624.9375rem!important;z-index:-1!important}

  /* Restore body padding-bottom (cart-bar no longer reserves space mobile) */
  .wapu-single{padding-bottom:1.5rem}
  body.wapu-has-mobile-bottom-nav .wapu-single{
    padding-bottom:calc(var(--wapu-mobile-appbar-height, 3.75rem) + 1.5rem)
  }

  /* Disabled paint is owned by .wapu-btn--standard. */
}

.wapu-sv-sizes{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.75rem;
}

/* GSAP fallback: if GSAP isn't loaded, body gets `wapu-no-gsap` class — already
 * handled above via PR-C. Inline CTA needs no extra rule because its display
 * already does NOT depend on visibility:hidden global rule. */


/* ═══════════════════════════════════════════════════════════════════════
 * [v4.2.42] WAPUOS-VAS · Day 4 PR-4 · PDP Emotional Alignment
 * ───────────────────────────────────────────────────────────────────────
 * Refinement de cadencia emocional sobre el PDP. Suaviza spacing,
 * tokeniza valores off-grid, y alinea el rhythm con el canon que ya
 * estableció el archive (PR-3.1 → PR-3.3). Sin tocar gallery JS,
 * variation engine, swatches engine, AJAX cart, ni lógica de
 * pricing/stock. Sin nuevas reglas en bloques heredados de
 * single-product.css.
 *
 * Charter:
 *   - 0 `!important` nuevos (los 37 reales del archive base intactos)
 *   - 0 hex hardcoded · todo tokens DS o derived
 *   - 0 cambios PHP / JS / markup / templates
 *   - 0 cambios en :root local PDP tokens existentes
 *   - 0 cambios en `single-product-immersive.css`, `single-swatches.css`,
 *     `variation-gallery.css`
 *   - Append-only · rollback trivial (eliminar este bloque)
 *   - Cascade: same specificity, source order resuelve · sin pelea
 *
 * Capas (11):
 *   R1  Rhythm tokens scoped a .wapu-single
 *   R2  Info column vertical rhythm · 1.25rem → clamp(1.25rem, ..., --wtds-s-3)
 *   R3  Gallery thumb↔main gap · .75rem → --wtds-s-2 (1rem · ≥769)
 *   R4  Content padding/gap tokenization (32/40 → --wtds-s-4/--wtds-s-5)
 *   R5  Title-row gap · .75rem → --wtds-s-2
 *   R6  Price wrap gap canon · .375rem → --wtds-s-1 (.5rem)
 *   R7  Desc wrap gap canon · .625rem → --wtds-s-1
 *   R8  Variant grid gap canon · 14/12 → --wtds-s-2 (≥769)
 *   R9  Inline-CTA breath · margin-top 20 → --wtds-s-3 (1.5rem)
 *  R10  Cart-bar inner gap · 12 → --wtds-s-2 (≥769)
 *  R11  Brand-eyebrow rhythm · 12 → --wtds-s-2 (margin + internal gap)
 *
 * @since 4.2.42
 * ═══════════════════════════════════════════════════════════════════════ */

/* ─── R1 · Rhythm tokens scoped a .wapu-single ──────────────────────
   Custom properties locales al PDP. Una vez declaradas aquí, los R2–R11
   pueden consumirlas. Cero contaminación cross-surface. */
.wapu-single {
	--wapu-single-info-rhythm: clamp(1.25rem, 1.5vw + .5rem, var(--wtds-s-3));
	--wapu-single-section-gap: var(--wtds-s-3);
	--wapu-single-block-gap: var(--wtds-s-2);
	--wapu-single-eyebrow-gap: var(--wtds-s-2);
}

/* ─── R2 · Info column vertical rhythm ──────────────────────────────
   Era 1.25rem hardcoded · gap entre brand-eyebrow / title / price /
   variants / CTA. Movemos a clamp que:
   - mobile/tablet: mantiene 1.25rem (lower bound)
   - intermediate: interpola suavemente
   - desktop wide ≥~1200: crece a 1.5rem (--wtds-s-3) · +.25rem breath
   Resultado emocional: en pantallas grandes el resumen respira
   más, en mobile no se aprieta. */
.wapu-single__info {
	gap: var(--wapu-single-info-rhythm);
}

/* ─── R3 · Gallery thumb↔main gap ───────────────────────────────────
   .75rem off-grid · ahora 1rem (--wtds-s-2). Solo desktop/tablet ≥769
   porque a mobile el gallery cambia a flex-row (vista horizontal
   de thumbs) y ese gap ya está bien en .5rem. */
@media (min-width: 48.0625rem) {
	.wapu-single__gallery {
		gap: var(--wtds-s-2);
	}
}

/* ─── R4 · Content padding/gap tokenization ─────────────────────────
   Hardcoded 2rem / 2.5rem → tokens canon. Cero delta visual (mismos
   valores) pero alineamos al sistema y futuros refinements son
   centralizados. */
.wapu-single__content {
	padding-top: var(--wtds-s-4);
	gap: var(--wtds-s-5);
}

/* ─── R5 · Title-row gap ────────────────────────────────────────────
   Gap entre title y botón share era .75rem (off-grid). +4 a --wtds-s-2. */
.wapu-single__title-row {
	gap: var(--wtds-s-2);
}

/* ─── R6 · Price wrap gap canon ─────────────────────────────────────
   .375rem off-grid (vertical gap entre current price y regular price
   tachado dentro de .wapu-price--single). +2 a --wtds-s-1 (.5rem). */
.wapu-single__price .wapu-price--single {
	gap: var(--wtds-s-1);
}

/* ─── R7 · Desc wrap gap canon ──────────────────────────────────────
   .625rem off-grid (gap entre párrafos del short description). -2 a
   --wtds-s-1 (.5rem) · tighter · alinea con cadencia editorial silenciosa. */
.wapu-single__desc-wrap {
	gap: var(--wtds-s-1);
}

/* ─── R8 · Variant grid gap canon ───────────────────────────────────
   variant-items--grid era `gap: .875rem .75rem` (off-grid en ambos ejes).
   Movemos a --wtds-s-2 simétrico (16/16). +2/+4 breath entre variant
   tiles. Solo ≥769 para no afectar el mobile que tenga su propia
   regla (si la hay). */
@media (min-width: 48.0625rem) {
	.wapu-single__variant-items--grid {
		gap: var(--wtds-s-2);
	}
}

/* ─── R9 · Inline-CTA breath ────────────────────────────────────────
   margin-top entre variants/cart-form y el botón inline CTA era 1.25rem
   (off-grid). +4 a --wtds-s-3 (1.5rem) · más respiración antes del CTA
   principal. NO toca display/visibility/opacity (esas tienen
   !important defensivo en la base · respeto). */
.wapu-single__inline-cta {
	margin-top: var(--wtds-s-3);
}

/* ─── R10 · Cart-bar inner gap (≥769) ───────────────────────────────
   Cart-bar inferior fija · gap entre qty-select y add-to-cart era .75rem
   off-grid. +4 a --wtds-s-2 (1rem) · espacio más limpio entre los dos
   controles principales. Scoped a ≥769 porque el mobile usa grid de
   2 columnas con gap .5rem (ya canon · no tocar). */
@media (min-width: 48.0625rem) {
	.wapu-single__cart-bar-inner {
		gap: var(--wtds-s-2);
	}
}

/* ─── R11 · Brand-eyebrow rhythm ────────────────────────────────────
   El brand-eyebrow encima del título tenía gap .75rem y margin-bottom
   .75rem. Movemos ambos a --wtds-s-2 (1rem) · cohesión visual + .25rem de
   breath antes del título. Es el primer elemento que el usuario lee
   en el resumen · merece la pausa editorial. */
.wapu-single__brand-eyebrow {
	gap: var(--wapu-single-eyebrow-gap);
	margin-bottom: var(--wapu-single-eyebrow-gap);
}

/* ─── Scroll stability · PDP ────────────────────────────────────────
   El single tiene bloques que terminan de ajustar altura una vez que
   el browser aplica assets/JS del picker y de la galería. En algunos
   navegadores eso dispara scroll anchoring y se siente como un jalón
   durante el scroll normal. Desactivamos anchoring solo en el PDP y
   solo en los contenedores que cambian de layout. */
.wapu-single,
.wapu-single__content,
.wapu-single__gallery,
.wapu-single__info,
.wapu-single__variants,
.wapu-single__variation-picker,
#wapu-variant-items {
	overflow-anchor: none;
}

/* ─── FAQs de empresa · PDP hook block ───────────────────────────── */
.wapu-product-faqs {
	width: min(70rem, calc(100% - 3rem));
	margin: clamp(2rem, 4vw, 4rem) auto calc(6rem + env(safe-area-inset-bottom, 0px));
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--wtds-outline-soft);
	border-radius: 1.75rem;
	background: var(--wtds-glass);
}

.wapu-product-faqs__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(15rem, 22.5rem);
	gap: 1.5rem;
	align-items: end;
	margin-bottom: 1.5rem;
}

.wapu-product-faqs__eyebrow {
	display: block;
	margin-bottom: .5rem;
	font-size:var(--wtds-fs-caption-2);
	font-weight: var(--wtds-fw-medium);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wtds-on-surface-subtle);
}

.wapu-product-faqs__title {
	margin: 0;
	color: var(--wtds-ink);
	font-size:var(--wtds-fs-brand-display);
	font-weight: var(--wtds-fw-medium);
	line-height: 1.05;
	letter-spacing: 0;
}

.wapu-product-faqs__intro {
	margin: 0;
	color: var(--wtds-on-surface-muted);
	font-size:var(--wtds-fs-subhead);
	font-weight: var(--wtds-fw-medium);
	line-height: 1.55;
}

.wapu-product-faqs__list {
	display: grid;
	gap: 20px;
}

/* Item/trigger/content anatomy is owned by WTDS common/accordion. */

@media (max-width: 48rem) {
	.wapu-product-faqs {
		width: calc(100% - 2rem);
		margin-top: 1.75rem;
		padding: 1.25rem;
		border-radius: 1.375rem;
	}

	.wapu-product-faqs__header {
		grid-template-columns: 1fr;
		gap: .75rem;
		margin-bottom: 1.125rem;
	}

	.wapu-product-faqs__intro {
		font-size:var(--wtds-fs-subhead);
	}
}

/* end · WAPUOS-VAS Day 4 PR-4 PDP Emotional Alignment
 * ═══════════════════════════════════════════════════════════════════════ */

/* ─── PDP social interest · wapu-listas ────────────────────────────── */
.wapu-single__actions-row {
	flex-wrap: wrap;
}

.wapu-single__interest-note {
	flex: 0 0 100%;
	width: 100%;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .375rem .5rem;
	margin: .125rem 0 0;
	color: var(--wtds-ink-3);
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-caption-1);
	font-weight: var(--wtds-fw-medium);
	line-height: var(--wtds-lh-snug);
}

.wapu-single__interest-dot {
	width: .25rem;
	height: .25rem;
	border-radius: var(--wtds-r-pill);
	background: currentColor;
	opacity: .38;
}

.wapu-single__interest-copy {
	color: var(--wtds-ink-3);
}

@media (max-width: 47.9375rem) {
	.wapu-single__interest-note {
		max-width: none;
		margin-inline: 0;
		gap: .25rem .4375rem;
		font-size:var(--wtds-fs-caption-1);
	}
}
.wapu-single__quantity-helper{margin:.25rem 0 0;font:var(--wtds-fw-medium) var(--wtds-fs-caption-1)/var(--wtds-lh-snug) var(--wtds-font-text);color:var(--wtds-ink-3)}
.wapu-single__quantity-helper[hidden]{display:none}

/* PDP: la columna derecha no debe crear un scroll interno.
   El scroll debe pertenecer a la pagina completa, no al panel de info. */
.wapu-single__info,
#wapu-info {
	height: auto !important;
	max-height: none !important;
	overflow-y: visible !important;
}

.wapu-single__info::-webkit-scrollbar,
#wapu-info::-webkit-scrollbar {
	display: none;
}
/* ── Aviso de reposición ─────────────────────────────────────────────── */
.wapu-restock {
	display: grid;
	grid-template-columns: 2.625rem minmax(0, 1fr);
	gap: .875rem;
	width: 100%;
	margin-top: 1.125rem;
	padding: 1.125rem;
	border: 1px solid var(--wtds-outline-soft);
	border-radius: 1.125rem;
	background: var(--wtds-surface);
	box-shadow: none;
	opacity: 1;
	transform: none;
	transition: border-color .22s ease;
}
.wapu-restock.is-enhanced {
	opacity: 0;
	transform: translateY(.5rem);
	transition: opacity .22s ease, transform .22s ease, border-color .22s ease;
}
.wapu-restock.is-visible { opacity: 1; transform: translateY(0); }
.wapu-restock[hidden] { display: none !important; }
.wapu-single__availability-slot {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--wtds-s-2, 1rem);
	width: 100%;
	min-width: 0;
	max-width: 100%;
}
.wapu-single__availability-slot > * {
	min-width: 0;
	max-width: 100%;
}
.wapu-single__availability-slot:has(.wapu-restock:not([hidden])) .wapu-single__availability-card { display: none; }
.wapu-single--restock-replacing .wapu-restock {
	margin-top: 0;
	margin-bottom: 0;
}
.wapu-single--restock-replacing .wapu-single__availability-card {
	display: none;
}
.wapu-restock__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.625rem;
	height: 2.625rem;
	border-radius: 50%;
	background: var(--wtds-scrim-faint);
	color: var(--wtds-ink);
}
.wapu-restock__content { min-width: 0; }
.wapu-restock__eyebrow {
	margin: 0 0 .1875rem;
	color: var(--wtds-warning-pressed);
	font-size:var(--wtds-fs-caption-2);
	font-weight: var(--wtds-fw-medium);
	letter-spacing: .11em;
	line-height: 1.2;
	text-transform: uppercase;
}
.wapu-restock__title {
	margin: 0;
	font-family: var(--wtds-font-display, Poppins, sans-serif);
	font-size:var(--wtds-fs-headline);
	font-weight: var(--wtds-fw-medium);
	line-height: 1.25;
}
.wapu-restock__copy {
	margin: .3125rem 0 .875rem;
	color: var(--wtds-ink-3);
	font-size:var(--wtds-fs-footnote);
	line-height: 1.5;
}
.wapu-restock__controls { display: flex; gap: .5rem; }
.wapu-restock__controls--account .wapu-restock__submit { width: 100%; }
.wapu-restock__email {
	min-width: 0;
	min-height: 2.75rem;
	flex: 1 1 auto;
	padding: 0 .875rem;
	border: 1px solid var(--wtds-outline);
	border-radius: .75rem;
	background: var(--wtds-surface);
	color: var(--wtds-ink);
	font: inherit;
	font-size:var(--wtds-fs-footnote);
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.wapu-restock__email:focus {
	border-color: var(--wtds-ink);
	box-shadow: 0 0 0 .1875rem var(--wtds-shadow-color-soft);
}
.wapu-restock__submit {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.wapu-restock__spinner {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 1rem;
	margin: -.5rem 0 0 -.5rem;
	border: .125rem solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: wapu-restock-spin .7s linear infinite;
}
.wapu-restock.is-loading [data-wapu-restock-button-text] { visibility: hidden; }
.wapu-restock.is-loading .wapu-restock__spinner { display: block; }
.wapu-restock__privacy,
.wapu-restock__feedback {
	margin: .4375rem 0 0;
	color: var(--wtds-ink-3);
	font-size:var(--wtds-fs-caption-2);
	line-height: 1.4;
}
.wapu-restock__form[hidden] { display: none !important; }
.wapu-restock__feedback.is-error { color: var(--wtds-danger); font-weight: var(--wtds-fw-medium); }
.wapu-restock__trap {
	position: absolute !important;
	left: -624.9375rem !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
}
.wapu-restock__success {
	display: flex;
	align-items: center;
	gap: .625rem;
	padding: .6875rem .75rem;
	border-radius: .75rem;
	background: var(--wtds-success-soft);
	color: var(--wtds-success-pressed);
	animation: wapu-restock-success .28s ease both;
}
.wapu-restock__success[hidden] { display: none !important; }
.wapu-restock__success-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.625rem;
	height: 1.625rem;
	flex: 0 0 1.625rem;
	border-radius: 50%;
	background: var(--wtds-success);
	color: var(--wtds-on-image);
	line-height: 0;
	overflow: hidden;
}
.wapu-restock__success-check svg {
	display: block;
	width: .875rem;
	height: .875rem;
	flex: 0 0 .875rem;
}
.wapu-restock__success-copy { min-width: 0; }
.wapu-restock__success-copy strong,
.wapu-restock__success-copy > span { display: block; }
.wapu-restock__success-copy strong { font-size:var(--wtds-fs-footnote); }
.wapu-restock__success-copy > span { margin-top: 1px; font-size:var(--wtds-fs-caption-2); color: var(--wtds-success-pressed); }
.wapu-single__variant-item--sold-out.is-restock-selectable {
	opacity: .58;
	cursor: pointer;
}
.wapu-single__variant-item--sold-out.is-restock-selectable:hover,
.wapu-single__variant-item--sold-out.is-restock-selectable:focus-visible {
	opacity: .82;
	outline: none;
	box-shadow: 0 0 0 .125rem var(--wtds-surface), 0 0 0 .25rem var(--wtds-ink-3);
}
@keyframes wapu-restock-spin { to { transform: rotate(360deg); } }
@keyframes wapu-restock-success { from { opacity: 0; transform: translateY(.3125rem); } }
@media (max-width: 37.5rem) {
	.wapu-restock { grid-template-columns: 2.25rem minmax(0, 1fr); gap: .6875rem; padding: .9375rem; border-radius: 1rem; }
	.wapu-restock__icon { width: 2.25rem; height: 2.25rem; }
	.wapu-restock__controls { flex-direction: column; }
	.wapu-restock__submit { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.wapu-restock, .wapu-restock__success { transition: none; animation: none; } .wapu-restock__submit{ animation: none; }
}

/* FAQ accordion motion is owned by WTDS common/accordion. */

/* R15 · Product-type purchase surface
 * The Theme keeps layout ownership while custom Woo/Wapu product types own
 * their purchase form (e.g. wapu_kit, grouped, external). */
.wapu-single--type-purchase{padding-bottom:2rem}
.wapu-single__type-purchase{margin-top:var(--wtds-s-4);padding:var(--wtds-s-4);border:.5px solid var(--wtds-separator-soft);border-radius:var(--wtds-r-md);background:var(--wtds-surface-2)}
.wapu-single__type-purchase[data-product-type="wapu_kit"]{margin-top:var(--wtds-s-2);padding:0;border:0;border-radius:0;background:transparent}
.wapu-single__type-purchase .cart{margin:0}
.wapu-single__type-purchase select,.wapu-single__type-purchase input[type="number"]{font:inherit;color:var(--wtds-ink);background:var(--wtds-surface);border:.5px solid var(--wtds-separator);border-radius:var(--wtds-r-sm)}
.wapu-single__type-purchase .single_add_to_cart_button,.wapu-single__type-purchase .button.alt{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:47.9375rem){.wapu-single--type-purchase{padding-bottom:2rem}.wapu-single__type-purchase{padding:var(--wtds-s-3)}}

/* WapuCommerce CX bridge: promotion + Gift Card context (WTDS presentation only). */
.wapu-product-promo,.wapu-product-gift-hint{display:flex;align-items:flex-start;gap:.75rem;margin:.875rem 0;padding:.875rem 1rem;border:0;border-radius:16px;background:var(--wtds-surface-2)}
.wapu-product-promo__icon,.wapu-product-gift-hint__icon{display:none}
.wapu-product-promo__content,.wapu-product-gift-hint>div{min-width:0;display:flex;flex-direction:column;gap:.25rem}
.wapu-product-promo__title,.wapu-product-gift-hint strong{color:var(--wtds-ink);font-size:var(--wtds-fs-ui);font-weight:var(--wtds-fw-bold)}
.wapu-product-promo__list{display:flex;flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;color:var(--wtds-ink-2);font-size:var(--wtds-fs-footnote);line-height:1.45}
.wapu-product-promo__note,.wapu-product-gift-hint p{margin:0;color:var(--wtds-ink-4);font-size:var(--wtds-fs-caption-1);line-height:1.45}
.wapu-product-promo__list li{display:grid;gap:.2rem}
.wapu-product-promo__note{display:block}
.wapu-product-promo[hidden]{display:none!important}

/* WTDS Responsive Contract 2.0 — PDP responds to the product region, not only viewport. */
.wapu-single { container-type: inline-size; container-name: wapu-product; }

@container wapu-product (max-width: 62rem) {
  .wapu-single__content { grid-template-columns: minmax(0,1fr); }
  .wapu-single__info { max-inline-size: none; }
}

@container wapu-product (max-width: 44rem) {
  .wapu-single__gallery { grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; }
  .wapu-single__thumbs { order: 2; }
  .wapu-single__cart-sheet-actions { grid-template-columns: 1fr; }
}

@container wapu-product (max-width: 30rem) {
  .wapu-single__variant-items--grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .wapu-single__cart-bar-inner { grid-template-columns: minmax(0,1fr) auto; gap: var(--wtds-s-1); }
}

/* ==========================================================================\n   Wapuos8 · Single Product control consistency\n   ========================================================================== */
.wapu-single__share{
  width: var(--wtds-control-compact);
  height: var(--wtds-control-compact);
  min-width: var(--wtds-control-compact);
  min-height: var(--wtds-control-compact);
  padding: 0;
  border-radius: var(--wtds-control-radius);
}
.wapu-single__offcanvas-close,
.wapu-single__cart-sheet-close {
  width: var(--wtds-control-compact);
  min-width: var(--wtds-control-compact);
}
.wapu-single__cart-sheet-cta,
.wapu-single__related-cta {
  min-height: var(--wtds-control-min);
  border-radius: var(--wtds-button-radius, var(--wtds-control-radius)) !important;
  letter-spacing: -.005em;
  text-transform: none;
}
.wapu-single__tab {
  min-height: var(--wtds-control-min);
  border-radius: var(--wtds-control-radius);
}
.wapu-single__share:focus-visible{
  outline: none;
  box-shadow: var(--wtds-shadow-focus);
}

/* Wapuos8 · PDP remaining interactive geometry */
.wapu-single__thumb-nav,
.wapu-single__gallery .wapu-gal__arrow {
  width: var(--wtds-control-compact);
  height: var(--wtds-control-compact);
  min-width: var(--wtds-control-compact);
  min-height: var(--wtds-control-compact);
  border-radius: var(--wtds-control-radius);
}
.wapu-share-menu__item,
.wapu-single__ver-mas {
  min-height: var(--wtds-control-min);
  border-radius: var(--wtds-control-radius);
}
.wapu-single__thumb-nav:focus-visible,
.wapu-single__gallery .wapu-gal__arrow:focus-visible,
.wapu-share-menu__item:focus-visible,
.wapu-single__ver-mas:focus-visible {
  outline: none;
  box-shadow: var(--wtds-shadow-focus);
}

/* Wapuos8 · PDP action casing convergence */
.wapu-single__related-cta,
.wapu-single__cart-sheet-cta {
  letter-spacing: -.005em !important;
  text-transform: none !important;
}

/* ==========================================================================
   Wapuos8 · Single-product micro-control consistency
   ========================================================================== */
.wapu-single__view-btn {
  width: var(--wtds-control-compact);
  height: var(--wtds-control-compact);
  min-width: var(--wtds-control-compact);
  min-height: var(--wtds-control-compact);
  border-radius: var(--wtds-control-radius);
}
.wapu-single__view-btn:focus-visible {
  outline: none;
  box-shadow: var(--wtds-shadow-focus);
}

/* ==========================================================================
   Wapuos8 · Single-product tab shape consistency
   ========================================================================== */
.wapu-single__tab { border-radius: var(--wtds-control-radius); }



/* ═══════════════════════════════════════════════════════════════
   Single Product · WTDS canonical presentation layer
   Keeps the Figma information architecture while using the theme DS.
   ═══════════════════════════════════════════════════════════════ */

.wapu-single__price {
	line-height: normal;
}

.wapu-single-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wtds-space-2xs, .125rem);
	max-width: 100%;
	word-break: break-word;
}

.wapu-single-price p {
	margin: 0;
}

.wapu-single-price__current {
	font-family: var(--wtds-font-display);
	font-size:var(--wtds-fs-price-display);
	font-weight: var(--wtds-fw-heading);
	line-height: var(--wtds-lh-tight);
	letter-spacing: var(--wtds-ls-tight);
	color: var(--wtds-on-surface);
	white-space: nowrap;
}

.wapu-single-price--offer .wapu-single-price__current {
	color: var(--wtds-success);
}

.wapu-single-price__before {
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-subhead);
	font-weight: var(--wtds-fw-regular);
	line-height: var(--wtds-lh-base);
	color: var(--wtds-on-surface-muted);
	white-space: nowrap;
}

.wapu-single-price__context {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	column-gap: var(--wtds-space-xs, .25rem);
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-headline);
	font-weight: var(--wtds-fw-ui);
	line-height: var(--wtds-lh-base);
	color: var(--wtds-on-surface-muted);
}

.wapu-single-price__context-link {
	color: var(--wtds-link);
	text-decoration: none;
	font: inherit;
}

.wapu-single-price__context-link:hover {
	text-decoration: underline;
	text-underline-offset: .14em;
}

.wapu-single-price__context-link:focus-visible {
	outline: none;
	border-radius: var(--wtds-r-xs);
	box-shadow: var(--wtds-shadow-focus);
}

.wapu-single-price__context-suffix {
	white-space: nowrap;
}

.wapu-single__info {
	gap: var(--wtds-s-2);
}

.wapu-single__availability {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--wtds-s-1);
	min-height: var(--wtds-control-compact);
	margin: 0 0 var(--wtds-s-4);
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-headline);
	font-weight: var(--wtds-fw-ui);
	line-height: var(--wtds-lh-base);
	color: var(--wtds-on-surface-muted);
}

.wapu-single__availability-dot {
	width: .75rem;
	height: .75rem;
	flex: 0 0 .75rem;
	border-radius: 50%;
	background: var(--wtds-success);
	box-shadow: inset 0 0 0 .1875rem var(--wtds-success-soft);
}

.wapu-single__availability--low .wapu-single__availability-dot {
	background: var(--wtds-warning);
	box-shadow: inset 0 0 0 .1875rem var(--wtds-warning-soft);
}

.wapu-single__availability--unavailable .wapu-single__availability-dot {
	background: var(--wtds-on-surface-muted);
	box-shadow: inset 0 0 0 .1875rem var(--wtds-surface-container-high);
}

.wapu-single__title {
	font-family: var(--wtds-font-display);
	font-size:var(--wtds-fs-large-title);
	font-weight: var(--wtds-fw-heading);
	line-height: var(--wtds-lh-tight);
	letter-spacing: var(--wtds-ls-tighter);
	color: var(--wtds-on-surface);
}

.wapu-single__desc-wrap {
	gap: var(--wtds-s-2);
}

.wapu-single__desc {
	max-width: 40rem;
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-body);
	font-weight: var(--wtds-fw-regular);
	line-height: var(--wtds-lh-base);
	color: var(--wtds-on-surface);
}

.wapu-single__ver-mas {
	padding: 0;
	font-family: var(--wtds-font-display);
	font-size:var(--wtds-fs-headline);
	font-weight: var(--wtds-fw-heading);
	line-height: var(--wtds-lh-snug);
	letter-spacing: var(--wtds-ls-normal);
	color: var(--wtds-on-surface);
}

.wapu-single__variants-contract {
	margin-top: var(--wtds-s-4);
}

.wapu-single__fulfillment {
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--wtds-s-1);
	margin-top: var(--wtds-s-4);
	padding: var(--wtds-s-2);
	border: var(--wtds-border-thin) solid var(--wtds-outline-soft);
	border-radius: var(--wtds-r-md);
	background: var(--wtds-surface-container-lowest);
}

.wapu-single__fulfillment-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wtds-s-2);
}

.wapu-single__fulfillment-title,
.wapu-single__fulfillment-description {
	margin: 0;
}

.wapu-single__fulfillment-title {
	font-family:var(--wtds-font-display);
	font-size:var(--wtds-fs-headline);
	font-weight: var(--wtds-fw-emphasis);
	line-height: var(--wtds-lh-base);
	color: var(--wtds-on-surface);
}

.wapu-single__fulfillment-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--wtds-control-compact);
	padding: 0 var(--wtds-s-1);
	border-radius: var(--wtds-control-radius);
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-footnote);
	font-weight: var(--wtds-fw-ui);
	line-height: var(--wtds-lh-snug);
	white-space: nowrap;
}

.wapu-single__fulfillment--immediate .wapu-single__fulfillment-badge {
	background: var(--wtds-success-soft);
	color: var(--wtds-success);
}

.wapu-single__fulfillment--preorder .wapu-single__fulfillment-badge {
	background: var(--wtds-warning-soft);
	color: var(--wtds-warning);
}

.wapu-single__fulfillment-description {
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-subhead);
	font-weight: var(--wtds-fw-regular);
	line-height: var(--wtds-lh-base);
	color: var(--wtds-on-surface-muted);
}

.wapu-single__purchase-label {
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-footnote);
	font-weight: var(--wtds-fw-ui);
	line-height: var(--wtds-lh-snug);
	color: var(--wtds-on-surface);
	white-space: nowrap;
}

.wapu-single__cart-bar-inner {
	justify-content: flex-end;
}

.wapu-single__inline-purchase-row {
	display: none;
}

/* Simple B2B follows the tier-first composition. Variable+B2B remains
 * intentionally unspecified and therefore is not altered here. */
body.wapu-b2b-product-active .wapu-single--simple .wapu-single__price {
	display: none;
}

.wapu-single .wapu-b2b-tiers.wapu-card {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.wapu-single .wapu-b2b-tiers .wapu-card__body {
	padding: 0;
}

.wapu-single .wapu-b2b-tiers .wapu-card__title {
	display: none;
}

.wapu-single .wapu-b2b-tiers__rows {
	display: flex;
	flex-direction: column;
	gap: var(--wtds-s-2);
	margin: 0;
}

.wapu-single .wapu-b2b-tiers__row {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wtds-s-3);
	padding: var(--wtds-s-2);
	border: var(--wtds-border-thin) solid var(--wtds-outline-soft);
	border-radius: var(--wtds-r-md);
	background: var(--wtds-surface-container);
	color: var(--wtds-on-surface-muted);
}

.wapu-single .wapu-b2b-tiers__row.is-active {
	border-color: var(--wtds-state-selected-border);
	box-shadow: inset 0 0 0 var(--wtds-border-thin) var(--wtds-state-selected-border);
	background: var(--wtds-surface-container-lowest);
}

.wapu-single .wapu-b2b-tiers__main {
	display: flex;
	flex-direction: column;
	gap: var(--wtds-space-2xs, .125rem);
}

.wapu-single .wapu-b2b-tiers__qty {
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-subhead);
	font-weight: var(--wtds-fw-regular);
	line-height: var(--wtds-lh-base);
}

.wapu-single .wapu-b2b-tiers__price {
	font-family: var(--wtds-font-display);
	font-size:var(--wtds-fs-price-display);
	font-weight: var(--wtds-fw-heading);
	line-height: var(--wtds-lh-tight);
	color: inherit;
}

.wapu-single .wapu-b2b-tiers__row.is-active .wapu-b2b-tiers__price {
	color: var(--wtds-success);
}

.wapu-single .wapu-b2b-tiers__aside {
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-headline);
	font-weight: var(--wtds-fw-ui);
	line-height: var(--wtds-lh-base);
}

.wapu-single .wapu-b2b-tiers__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--wtds-control-compact);
	padding: 0 var(--wtds-s-1);
	border-radius: var(--wtds-control-radius);
	background: var(--wtds-success-soft);
	color: var(--wtds-success);
	font-size:var(--wtds-fs-footnote);
	line-height: var(--wtds-lh-snug);
}

@media (max-width: 61.9375rem) {
	.wapu-single__inline-cta {
		gap: var(--wtds-s-1);
	}

	.wapu-single__inline-purchase-row {
		display: block;
	}

	.wapu-single__inline-qty-wrap {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--wtds-s-2);
		width: 100%;
	}

	.wapu-single__inline-qty {
		width: 5.5rem;
		min-height: var(--wtds-control-min);
		padding: 0 var(--wtds-s-1);
		border: var(--wtds-border-thin) solid var(--wtds-outline-soft);
		border-radius: var(--wtds-control-radius);
		background: var(--wtds-surface-container-lowest);
		font-family: var(--wtds-font-text);
		font-size:var(--wtds-fs-field);
		font-weight: var(--wtds-fw-ui);
		color: var(--wtds-on-surface);
	}

	.wapu-single__availability {
		margin-bottom: var(--wtds-s-2);
		font-size:var(--wtds-fs-ui);
	}

	.wapu-single__variants-contract,
	.wapu-single__fulfillment {
		margin-top: var(--wtds-s-2);
	}

	.wapu-single__fulfillment-head {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--wtds-s-1);
	}
}

/* 7.7.36 · PDP tactile purchase control */
.wapu-single__qty-select-wrap,
.wapu-single__inline-qty-wrap {
	gap: var(--wtds-s-1);
}

.wapu-single__qty-select-wrap {
	justify-content: center;
	padding-inline: .875rem;
	cursor: text;
}

.wapu-single__qty-input {
	box-sizing: border-box;
	display: block;
	inline-size: 100%;
	min-inline-size: 4.5rem;
	min-block-size: var(--wtds-touch-target);
	padding: 0 .75rem;
	border: 0;
	border-radius: inherit;
	background: transparent;
	box-shadow: none;
	outline: none;
	font-family: var(--wtds-font-display);
	font-size:var(--wtds-fs-field);
	font-weight: var(--wtds-fw-semibold);
	line-height: 1;
	text-align: center;
	color: var(--wtds-ink);
	-moz-appearance: textfield;
	appearance: textfield;
	-webkit-appearance: none;
	touch-action: manipulation;
}

.wapu-single__qty-input::-webkit-outer-spin-button,
.wapu-single__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wapu-single__qty-input:focus-visible,
.wapu-single__qty-select-wrap:focus-within,
.wapu-single__inline-qty-wrap:focus-within {
	outline: none;
	box-shadow: var(--wtds-shadow-focus);
}

.wapu-single__inline-qty-wrap {
	align-items: center;
}

.wapu-single__inline-qty {
	inline-size: clamp(5.5rem, 18vw, 7rem);
	min-inline-size: 5.5rem;
	min-block-size: var(--wtds-touch-target);
	padding-inline: .75rem;
	border: var(--wtds-border-thin) solid var(--wtds-outline-soft);
	border-radius: var(--wtds-control-radius);
	background: var(--wtds-surface-container-lowest);
	font-family: var(--wtds-font-display);
	font-size:var(--wtds-fs-field);
	font-weight: var(--wtds-fw-semibold);
	color: var(--wtds-ink);
}

.wapu-single__thumb:not(.wapu-single__thumb--active),
.wapu-single__gallery .wapu-gal__thumb:not(.is-active),
.wapu-single__gallery #wapu-gal .wapu-gal__thumb:not(.is-active) {
	filter: grayscale(100%) contrast(1.05);
	opacity: .58;
}

.wapu-single__thumb:not(.wapu-single__thumb--active):hover,
.wapu-single__gallery .wapu-gal__thumb:not(.is-active):hover,
.wapu-single__gallery #wapu-gal .wapu-gal__thumb:not(.is-active):hover {
	filter: grayscale(35%) contrast(1.02);
	opacity: .82;
}

.wapu-single__thumb--active,
.wapu-single__gallery .wapu-gal__thumb.is-active,
.wapu-single__gallery #wapu-gal .wapu-gal__thumb.is-active {
	filter: grayscale(0%);
	opacity: 1;
}

/* Unselected gallery media stay monochrome, including video posters. */
.wapu-single__gallery .wapu-vg__thumb:not(.is-active) img,
.wapu-single__gallery .wapu-vg__thumb:not(.is-active) video,
.wapu-single__gallery .wapu-gal__thumb:not(.is-active) img,
.wapu-single__gallery .wapu-gal__thumb:not(.is-active) video,
.wapu-single__thumb:not(.wapu-single__thumb--active) img,
.wapu-single__thumb:not(.wapu-single__thumb--active) video {
	filter: grayscale(100%) contrast(1.05);
	transition: filter var(--wtds-dur-fast) var(--wtds-ease), opacity var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-single__gallery .wapu-vg__thumb.is-active img,
.wapu-single__gallery .wapu-vg__thumb.is-active video,
.wapu-single__gallery .wapu-gal__thumb.is-active img,
.wapu-single__gallery .wapu-gal__thumb.is-active video,
.wapu-single__thumb--active img,
.wapu-single__thumb--active video {
	filter: grayscale(0%);
}

/* Desktop product-image magnifier. Video/embed stays untouched. */
@media (hover: hover) and (pointer: fine) {
	.wapu-single__gallery .wapu-vg__main:has(.wapu-vg__img) {
		cursor: zoom-in;
	}

	.wapu-single__gallery .wapu-vg__main .wapu-vg__img {
		transform-origin: var(--wapu-vg-zoom-x, 50%) var(--wapu-vg-zoom-y, 50%);
		transition: opacity .18s ease, transform .22s var(--wtds-ease);
		will-change: transform;
	}

	.wapu-single__gallery .wapu-vg__main.is-magnifying .wapu-vg__img {
		transform: scale(1.85);
	}
}

@media (max-width: 61.9375rem) {
	.wapu-single__inline-qty-wrap {
		justify-content: space-between;
		width: 100%;
	}

	.wapu-single__qty-select-wrap {
		width: min(10rem, 28vw);
		min-width: 5.25rem;
	}
}

/* 7.7.38 · PDP gallery left + sticky info + FAQs below gallery */
@media (min-width: 61.9375rem) {
	.wapu-single__info,
	#wapu-info {
		grid-column: 2;
		grid-row: 1 / span 2;
		padding-top: 0;
		position: sticky;
		top: calc(var(--wtds-header-full-h, 4.5rem) + var(--wtds-s-2));
		align-self: start;
	}

	.wapu-single__gallery {
		grid-column: 1;
		grid-row: 1;
	}

	.wapu-product-faqs {
		grid-column: 1;
		grid-row: 2;
	}
}

.wapu-product-faqs {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.wapu-product-faqs__header {
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wtds-s-1);
	align-items: start;
	margin-bottom: var(--wtds-s-2);
}

.wapu-product-faqs__list {
	gap: var(--wtds-s-1);
}

@media (max-width: 61.9375rem) {
	.wapu-single__info,
	#wapu-info {
		position: static;
		top: auto;
		grid-column: auto;
		grid-row: auto;
	}

	.wapu-product-faqs {
		grid-column: auto;
		grid-row: auto;
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}
}

/* 7.7.39 · Availability status glint */
.wapu-single__availability {
  --wapu-availability-color: var(--wtds-success);
}

.wapu-single__availability--low {
  --wapu-availability-color: var(--wtds-warning);
}

.wapu-single__availability--unavailable {
  --wapu-availability-color: var(--wtds-danger);
}

.wapu-single__availability-dot,
.wapu-single__availability--low .wapu-single__availability-dot,
.wapu-single__availability--unavailable .wapu-single__availability-dot {
  position: relative;
  overflow: hidden;
  background: var(--wapu-availability-color);
  box-shadow:
    inset 0 0 0 .125rem color-mix(in srgb, var(--wtds-surface) 24%, transparent),
    0 0 .5rem color-mix(in srgb, var(--wapu-availability-color) 24%, transparent);
}

.wapu-single__availability-dot::after {
  content: "";
  position: absolute;
  top: .125rem;
  left: .15625rem;
  width: .25rem;
  height: .1875rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--wtds-surface) 88%, transparent);
  filter: blur(.01rem);
  transform: rotate(-24deg);
  pointer-events: none;
}

/* 7.7.39 · WTDS owns every PDP purchase button shape/action role. */

/* 7.7.40 · Single Product quantity stepper composition */
.wapu-single__qty-select-wrap.wapu-quantity--product{
  display:grid;
  width:auto;
  min-width:0;
  height:auto;
  min-height:var(--wtds-touch-target);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  cursor:default;
}
.wapu-single__qty-stepper .wapu-single__qty-input,
.wapu-single__qty-stepper .wapu-single__inline-qty{
  width:100%;
  min-width:0;
  padding:0 var(--wtds-s-1);
  border:var(--wtds-border-thin) solid var(--wtds-outline-soft);
  background:var(--wtds-surface);
}
@media (max-width:61.9375rem){
  .wapu-single__inline-qty-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--wtds-s-2);
  }
  .wapu-single__inline-qty-wrap .wapu-single__qty-stepper{
    flex:0 0 auto;
  }
}


/* 7.7.41 · Single pre-header extension hooks can use the full width. */
.wapu-single__pre {
  max-width: none;
}

/* 7.7.48 · Product surface compact scale + real tablet adaptation. */
.wapu-single__title {
	font-size:var(--wtds-fs-large-title);
	line-height: 1.16;
	letter-spacing: -.018em;
}

.wapu-single__price .wapu-price__current,
.wapu-single .wapu-single-price__amount {
	font-size:var(--wtds-fs-title-2);
}

.wapu-single__availability {
	font-size:var(--wtds-fs-ui);
	min-height: 2rem;
	margin-bottom: clamp(.5rem, 1vw, .75rem);
}

.wapu-single__availability-dot {
	width: .625rem;
	height: .625rem;
	flex-basis: .625rem;
}

.wapu-single__desc {
	font-size:var(--wtds-fs-subhead);
	line-height: 1.5;
}

.wapu-single__ver-mas,
.wapu-single__fulfillment-title {
	font-size:var(--wtds-fs-footnote);
}

.wapu-single__fulfillment-description,
.wapu-single__purchase-label {
	font-size:var(--wtds-fs-footnote);
}

.wapu-single__info {
	gap: clamp(.625rem, 1.15vw, 1rem);
}

/* Tablet landscape / compact laptop: preserve two columns but reduce pressure. */
@media (min-width: 62rem) and (max-width: 74.9375rem) {
	.wapu-single {
		--single-gutter: clamp(1rem, 2.5vw, 2rem);
		--single-thumb-w: clamp(3.25rem, 5vw, 4rem);
		--single-thumb-item-h: clamp(3.25rem, 5vw, 4rem);
	}

	.wapu-single__content {
		grid-template-columns: minmax(0, 1.08fr) minmax(19rem, .92fr);
		gap: clamp(1rem, 2.2vw, 1.5rem);
		padding-top: clamp(1rem, 2vw, 1.5rem);
	}

	.wapu-single__info,
	#wapu-info {
		position: static;
		top: auto;
		grid-column: 2;
		grid-row: 1 / span 2;
		max-height: none;
		overflow: visible;
	}

	.wapu-single__gallery {
		grid-column: 1;
		grid-row: 1;
		gap: .75rem;
	}

	.wapu-product-faqs {
		grid-column: 1;
		grid-row: 2;
	}

	.wapu-single__title {
		font-size:var(--wtds-fs-large-title);
	}

	.wapu-single__desc {
		font-size:var(--wtds-fs-subhead);
	}

	.wapu-single__availability,
	.wapu-single__fulfillment-description,
	.wapu-single__purchase-label {
		font-size:var(--wtds-fs-caption-1);
	}

	.wapu-single__fulfillment {
		margin-top: .75rem;
		padding: .75rem;
	}

	.wapu-sv-figma {
		--wapu-sv-tile-size: 3.125rem;
		--wapu-sv-grid-size: 2.75rem;
		gap: .75rem;
	}

	.wapu-sv-figma__section,
	.wapu-sv-figma[data-mode="grid"] .wapu-sv-figma__section--primary,
	.wapu-sv-figma[data-mode="list"] .wapu-sv-figma__section--primary,
	.wapu-sv-figma[data-mode="offer-list"] .wapu-sv-figma__section--primary {
		gap: .75rem;
	}

	.wapu-sv-figma__primary-options {
		gap: .5rem;
	}

	.wapu-single__cart-bar-inner {
		gap: .5rem;
		padding-inline: clamp(1rem, 2.5vw, 2rem);
	}

	.wapu-single__qty-select-wrap {
		width: min(9rem, 15vw);
	}
}

/* At truly narrow product regions, collapse naturally regardless of device label. */
@container wapu-product (max-width: 56rem) {
	.wapu-single__content {
		grid-template-columns: minmax(0, 1fr);
	}

	.wapu-single__info,
	#wapu-info,
	.wapu-single__gallery,
	.wapu-product-faqs {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* 7.7.48 · Tablet product region: two-column composition between 48–62rem. */
@container wapu-product (min-width: 48rem) and (max-width: 62rem) {
	.wapu-single__content {
		grid-template-columns: minmax(0, 1.05fr) minmax(17.5rem, .95fr);
		gap: clamp(1rem, 2.5cqi, 1.5rem);
		padding-inline: clamp(1rem, 3cqi, 2rem);
		padding-top: clamp(1rem, 2.5cqi, 1.5rem);
	}

	.wapu-single__gallery {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
		gap: clamp(.5rem, 1.5cqi, .875rem);
	}

	.wapu-single__info,
	#wapu-info {
		grid-column: 2;
		grid-row: 1 / span 2;
		position: static;
		top: auto;
		min-width: 0;
		max-width: none;
		gap: clamp(.5rem, 1.4cqi, .875rem);
	}

	.wapu-product-faqs {
		grid-column: 1;
		grid-row: 2;
	}

	.wapu-single__title {
		font-size:var(--wtds-fs-large-title);
	}

	.wapu-single__price .wapu-price__current,
	.wapu-single .wapu-single-price__amount {
		font-size:var(--wtds-fs-title-2);
	}

	.wapu-single__desc {
		font-size:var(--wtds-fs-subhead);
	}

	.wapu-single__gallery #wapu-gal {
		grid-template-columns: minmax(0, 1fr) clamp(3rem, 7cqi, 4rem);
		gap: clamp(.5rem, 1.25cqi, .75rem);
	}

	.wapu-single__gallery .wapu-gal__thumb,
	.wapu-single__gallery #wapu-gal .wapu-gal__thumb {
		height: clamp(3rem, 7cqi, 4rem);
	}

	.wapu-sv-figma {
		--wapu-sv-tile-size: clamp(2.875rem, 7cqi, 3.25rem);
		--wapu-sv-grid-size: clamp(2.625rem, 6.5cqi, 3rem);
		gap: clamp(.5rem, 1.3cqi, .75rem);
	}

	.wapu-single__fulfillment {
		padding: clamp(.625rem, 1.5cqi, .875rem);
	}
}

@container wapu-product (max-width: 47.9375rem) {
	.wapu-single__content {
		grid-template-columns: minmax(0, 1fr);
	}

	.wapu-single__info,
	#wapu-info,
	.wapu-single__gallery,
	.wapu-product-faqs {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* 7.7.49 · Single mobile flow: intro → swipe gallery → commerce. */
.wapu-single__intro,
.wapu-single__commerce {
	display: contents;
}

/* Guest PDPs do not expose personal-list actions. Behavior remains plugin-owned. */
body:not(.logged-in) .wapu-single .wcpl-product-actions,
body:not(.logged-in) .wapu-single .wcpl-wl-btn,
body:not(.logged-in) .wapu-single .wcpl-add-to-list-btn,
body:not(.logged-in) .wapu-single .wapu-list-save,
body:not(.logged-in) .wapu-single [data-wishlist-mode] {
	display: none !important;
}

@media (max-width: 47.9375rem) {
	.wapu-single__pre {
		height: auto;
		min-height: 0;
		padding: clamp(.625rem, 2.8vw, .875rem) var(--single-gutter) 0;
	}


	.wapu-single__tabs {
		width: 100%;
		justify-content: flex-end;
	}

	.wapu-single__content {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(1rem, 4vw, 1.25rem);
		padding-top: clamp(.875rem, 3.6vw, 1.125rem);
	}

	.wapu-single__info,
	#wapu-info {
		display: contents !important;
	}

	.wapu-single__intro {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		grid-column: 1;
		grid-row: 1;
		order: 1;
		min-width: 0;
	}

	.wapu-single__gallery {
		grid-column: 1;
		grid-row: 2;
		order: 2;
		min-width: 0;
	}

	.wapu-single__commerce {
		display: flex;
		flex-direction: column;
		gap: clamp(.75rem, 3.4vw, 1rem);
		grid-column: 1;
		grid-row: 3;
		order: 3;
		min-width: 0;
	}

	.wapu-product-faqs {
		grid-column: 1;
		grid-row: 4;
		order: 4;
	}

	.wapu-single__brand-eyebrow,
	.wapu-single__availability,
	.wapu-single__title-row,
	.wapu-single__desc-wrap {
		margin-top: 0;
		margin-bottom: 0;
	}

	.wapu-single__brand-eyebrow {
		gap: var(--wtds-s-1);
		letter-spacing: .18em;
	}

	.wapu-single__title {
		font-size:var(--wtds-fs-large-title);
	}

	.wapu-single__desc {
		font-size:var(--wtds-fs-subhead);
	}

	/* Mobile gesture area: horizontal swipe changes the active gallery frame,
	 * vertical movement remains owned by page scrolling. */
	.wapu-single__gallery [data-wapu-vg-main],
	.wapu-single__gallery .wapu-gal__main,
	.wapu-single__gallery .wapu-single__main-image {
		touch-action: pan-y pinch-zoom;
		overscroll-behavior-x: contain;
		-webkit-user-select: none;
		user-select: none;
	}

	/* Fulfillment becomes plain information below price: no badge/card paint. */
	.wapu-single__fulfillment {
		margin-top: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		gap: .375rem;
	}

	.wapu-single__fulfillment-head {
		display: block;
	}

	.wapu-single__fulfillment-badge {
		display: none !important;
	}

	.wapu-single__fulfillment-title {
		font-size:var(--wtds-fs-title-3);
		font-weight: var(--wtds-fw-semibold);
	}

	.wapu-single__fulfillment-description {
		font-size:var(--wtds-fs-callout);
	}

	/* Purchase control aligns as two full-width rows: quantity then primary CTA. */
	.wapu-single__inline-cta {
		gap: .625rem;
		margin-top: .5rem;
	}

	.wapu-single__inline-purchase-row,
	.wapu-single__inline-qty-wrap,
	.wapu-single__inline-qty-wrap .wapu-single__qty-stepper {
		width: 100%;
		min-width: 0;
	}

	.wapu-single__inline-qty-wrap {
		display: block;
	}

	.wapu-single__purchase-label {
		display: none !important;
	}

	.wapu-single__inline-qty-wrap .wapu-single__qty-stepper {
		display: grid;
		grid-template-columns: var(--wtds-touch-target) minmax(0, 1fr) var(--wtds-touch-target);
		min-height: var(--wtds-control-large);
	}

	.wapu-single__inline-qty,
	.wapu-single__qty-stepper .wapu-single__inline-qty {
		inline-size: 100%;
		min-inline-size: 0;
		min-block-size: var(--wtds-control-large);
	}

	.wapu-single .wcpl-product-actions { margin-bottom: 1.25rem; }
}

/* 7.7.50 · Contextual mobile product header after gallery leaves viewport. */
.wapu-single__mobile-sticky-product {
	display: none;
}

@media (max-width: 47.9375rem) {
	.wapu-single__mobile-sticky-product {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: calc(var(--wtds-layer-fixed-bar, 700) + 15);
		display: grid;
		grid-template-columns: 4.5rem minmax(0, 1fr);
		align-items: center;
		gap: 1rem;
		min-height: 6.25rem;
		padding: .75rem 1rem;
		background: var(--wtds-surface);
		border-bottom: var(--wtds-border-hairline) solid var(--wtds-separator-soft);
		box-shadow: 0 .25rem 1rem var(--wtds-shadow-color-faint);
		opacity: 0;
		visibility: hidden;
		transform: translate3d(0, -100%, 0);
		pointer-events: none;
		transition: opacity .18s var(--wtds-ease), transform .24s var(--wtds-ease), visibility .18s;
	}

	.admin-bar .wapu-single__mobile-sticky-product {
		top: 2.875rem;
	}

	.wapu-single__mobile-sticky-product.is-visible {
		opacity: 1;
		visibility: visible;
		transform: translate3d(0, 0, 0);
		pointer-events: auto;
	}

	.wapu-single__mobile-sticky-media {
		width: 4.5rem;
		height: 4.5rem;
		border-radius: var(--wtds-control-radius);
		overflow: hidden;
		background: var(--wtds-surface-2);
	}

	.wapu-single__mobile-sticky-img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.wapu-single__mobile-sticky-copy {
		display: flex;
		flex-direction: column;
		gap: .1875rem;
		min-width: 0;
	}

	.wapu-single__mobile-sticky-brand {
		font-family: var(--wtds-font-text);
		font-size:var(--wtds-fs-caption-2);
		font-weight: var(--wtds-fw-semibold);
		line-height: 1.2;
		letter-spacing: .04em;
		text-transform: uppercase;
		color: var(--wtds-ink-3);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.wapu-single__mobile-sticky-title {
		font-family:var(--wtds-font-display);
		font-size:var(--wtds-fs-callout);
		font-weight: var(--wtds-fw-semibold);
		line-height: 1.25;
		color: var(--wtds-ink);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.wapu-single__mobile-sticky-price {
		display: inline-flex;
		align-items: center;
		gap: .25rem;
		min-width: 0;
		max-width: 100%;
		font-family: var(--wtds-font-text);
		font-size:var(--wtds-fs-ui);
		font-weight: var(--wtds-fw-medium);
		line-height: 1.25;
		color: var(--wtds-ink-2);
		white-space: nowrap;
		overflow: hidden;
	}

	.wapu-single__mobile-sticky-price-old {
		color: var(--wtds-ink-3);
		font-size:var(--wtds-fs-caption-2);
		font-weight: var(--wtds-fw-regular);
		text-decoration: line-through;
		text-decoration-thickness: 1px;
		text-decoration-color: currentColor;
	}

	.wapu-single__mobile-sticky-price-current {
		color: var(--wtds-ink-2);
		font-weight: var(--wtds-fw-semibold);
	}

	.wapu-single__mobile-sticky-price-current.is-offer {
		color: var(--wtds-success);
	}

	.wapu-single__mobile-sticky-price-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: .875rem;
		padding: .0625rem .25rem;
		border-radius: var(--wtds-r-pill);
		background: var(--wtds-success-soft);
		color: var(--wtds-success);
		font-size:var(--wtds-fs-caption-2);
		font-weight: var(--wtds-fw-bold);
		line-height: 1;
		letter-spacing: 0;
	}
}

/* 7.7.51 · Mobile brand + stock compact cluster. */
.wapu-single__brand-stock { display: contents; }
@media (max-width: 47.9375rem) {
	.wapu-single__brand-stock {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: .5rem;
		min-width: 0;
	}
	.wapu-single__brand-stock .wapu-single__brand-eyebrow,
	.wapu-single__brand-stock .wapu-single__availability {
		margin: 0;
	}
}

/* 7.7.52 · Closed PDP drawer must never affect the page scroll surface. */
.wapu-single__offcanvas {
  height: 100dvh;
  max-height: 100dvh;
  transform: translate3d(100%, 0, 0);
  visibility: hidden;
  pointer-events: none;
  contain: layout;
  overscroll-behavior: contain;
  transition: transform var(--wtds-dur) var(--wtds-ease), visibility 0s linear var(--wtds-dur);
}

.wapu-single__offcanvas[aria-hidden="false"] {
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  transition: transform var(--wtds-dur) var(--wtds-ease), visibility 0s linear 0s;
}

/* One scrolling surface only. Nested panel + description scrolling was able
   to trap wheel/touch input and feel like an endless page. */
.wapu-single__offcanvas-panel {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.wapu-single__offcanvas-desc-wrap {
  flex: 0 0 auto;
  overflow: visible;
  min-height: auto;
}

.wapu-single__offcanvas-desc-wrap::after {
  display: none;
}

.wapu-single__offcanvas-desc {
  height: auto;
  overflow: visible;
  padding-bottom: 0;
}


/* 7.7.83 · Similares lives directly below availability/fulfillment on every viewport. */
.wapu-single__similar-mobile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: var(--wtds-touch-target);
	margin-top: var(--wtds-s-2);
	cursor: pointer;
}

/* Figma 8175:23465 · modalidad aviso. */
.wapu-single__fulfillment {
	min-height: 6.375rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: .5rem;
	padding: 0;
	margin-top: var(--wtds-s-3);
	background: var(--wtds-surface);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: left;
}
.wapu-single__fulfillment-head { width: 100%; display: flex; align-items: center; justify-content: flex-start; text-align: left; }
.wapu-single__fulfillment-title { margin: 0; font-size:var(--wtds-fs-title-3); line-height:var(--wtds-lh-base); font-weight:var(--wtds-fw-semibold); color: var(--wtds-ink); text-align: left; }
.wapu-single__fulfillment-description { width: 100%; margin: 0; font-size:var(--wtds-fs-callout); line-height:var(--wtds-lh-base); font-weight:var(--wtds-fw-regular); color: var(--wtds-ink-3); text-align: left; }
.wapu-single__fulfillment-badge { display: none !important; }

/* Figma 8272:40398 · same component for default/subscribed states.
 * V16 · Restock notice is a compact three-column row:
 * [ icon ] [ title + copy + privacy/feedback ] [ small action ].
 * Commerce keeps ownership of the form/nonce/subscription flow; Theme owns layout only. */
.wapu-restock {
	min-height: 6.25rem;
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr) auto;
	align-items: center;
	column-gap: .875rem;
	row-gap: .1875rem;
	padding: .75rem;
	background: var(--wtds-surface);
	border: var(--wtds-border-thin) solid var(--wtds-outline-soft);
	border-radius: .75rem;
	box-shadow: none;
}
.wapu-restock__icon,
.wapu-restock__success-check {
	inline-size: 3.5rem;
	block-size: 3.5rem;
	min-inline-size: 3.5rem;
	border-radius: 50%;
	background: var(--wtds-surface-3);
	color: var(--wtds-ink);
}
.wapu-restock__icon {
	grid-column: 1;
	grid-row: 1 / span 4;
	align-self: center;
	justify-self: center;
}
.wapu-restock.is-subscribed .wapu-restock__icon,
.wapu-restock__success-check { background: var(--wtds-success-soft); color: var(--wtds-success); }

/* `display: contents` keeps Commerce's existing form and JS contract intact while
 * allowing the Theme to project its descendants into the three-column grid. */
.wapu-restock__content,
.wapu-restock__form { display: contents; }

.wapu-restock__eyebrow { display: none; }
.wapu-restock__title {
	grid-column: 2;
	margin: 0;
	font-size:var(--wtds-fs-callout);
	line-height: 1.35;
	font-weight:var(--wtds-fw-semibold);
	color: var(--wtds-ink);
}
.wapu-restock__copy {
	grid-column: 2;
	margin: .1875rem 0 0;
	font-size:var(--wtds-fs-ui);
	line-height: 1.4;
	font-weight:var(--wtds-fw-regular);
	color: var(--wtds-ink-3);
}
.wapu-restock__privacy,
.wapu-restock__feedback {
	grid-column: 2;
	min-width: 0;
}
.wapu-restock__controls {
	grid-column: 3;
	grid-row: 1 / span 4;
	align-self: center;
	justify-self: end;
	display: flex;
	align-items: center;
	min-width: 0;
}
.wapu-restock__controls--account .wapu-restock__submit,
.wapu-restock__submit {
	inline-size: auto;
	width: auto;
	min-inline-size: 0;
}
.wapu-restock__success { display: none !important; }
.wapu-restock.is-subscribed .wapu-restock__email,
.wapu-restock.is-subscribed .wapu-restock__privacy { display: none !important; }
.wapu-restock__cancel { /* legacy hook: canonical danger paint is applied by WTDS/JS */ }

/* Search appears only for large variant sets; desktop shows six rows/items before internal scroll. */
@media (min-width: 48rem) {
	.wapu-sv-figma.has-search .wapu-sv-figma__primary-options {
		max-height: calc((var(--wapu-sv-grid-size, 3.5rem) * 6) + (var(--wtds-s-1) * 5));
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}
}

@media (max-width: 47.9375rem) {
	.wapu-sv-figma { --wapu-sv-tile-size: 3.5rem; --wapu-sv-grid-size: 4rem; }
	.wapu-single__tabs { display: none !important; }
	.wapu-single__gallery--mobile-carousel { touch-action: pan-y; }
	.wapu-single__gallery--mobile-carousel .wapu-gal__thumbs,
	.wapu-single__gallery--mobile-carousel .wapu-single__thumb-track { scroll-snap-type: x proximity; }
	.wapu-single__gallery--mobile-carousel .wapu-gal__thumb,
	.wapu-single__gallery--mobile-carousel .wapu-single__thumb { scroll-snap-align: center; }
	.wapu-single__fulfillment-head, .wapu-single__fulfillment-title, .wapu-single__fulfillment-description { text-align: left !important; justify-content: flex-start; }
	.wapu-restock {
		min-height: 0;
		grid-template-columns: 3rem minmax(0, 1fr) auto;
		align-items: center;
		column-gap: .625rem;
		padding: .6875rem;
	}
	.wapu-restock__icon, .wapu-restock__success-check { inline-size: 3rem; block-size: 3rem; min-inline-size: 3rem; }
	.wapu-restock__title { font-size:var(--wtds-fs-callout); }
	.wapu-restock__copy { font-size:var(--wtds-fs-ui); line-height: 1.35; }
	.wapu-restock__privacy, .wapu-restock__feedback { font-size:var(--wtds-fs-caption-2); }
	.wapu-restock__controls { width: auto; }
	.wapu-restock__controls--account .wapu-restock__submit,
	.wapu-restock__submit { width: auto; max-width: 7.5rem; }
}


/* 7.7.84 · Availability micro polish. */
.wapu-restock {
	grid-template-columns: minmax(0, 1fr) auto;
}
.wapu-restock__privacy {
	display: none !important;
}
.wapu-restock__title,
.wapu-restock__copy,
.wapu-restock__feedback {
	grid-column: 1;
}
.wapu-restock__controls {
	grid-column: 2;
}

.wapu-single__availability-dot {
	width: .4375rem;
	height: .4375rem;
	flex: 0 0 .4375rem;
}

.wapu-single__availability-text {
	font-weight: var(--wtds-fw-heading);
}


/* 7.7.88 · Mobile PDP alignment + round quantity controls. */
@media (max-width: 47.9375rem) {
	.wapu-single__brand-stock,
	.wapu-single__availability {
		align-items: flex-start;
		justify-content: flex-start;
		text-align: left;
	}

	.wapu-single__availability {
		align-self: stretch;
		width: 100%;
	}

	.wapu-single__availability-text {
		text-align: left;
	}

	.wapu-single .wapu-quantity--product .wapu-quantity__button,
	.wapu-single__qty-stepper .wapu-quantity__button,
	.wapu-single__qty-stepper [data-wapu-qty-step] {
		border-radius: 50%;
	}
}


/* 7.7.95 · Mobile “Ver descripción” opens the existing description panel as a WTDS bottom sheet.
 * The short description remains inline; only the full description panel changes presentation on mobile. */
@media (max-width: 47.9375rem) {
	.wapu-single__desc-wrap {
		width: 100%;
	}

	.wapu-single__description-trigger {
		display: inline-flex;
		align-items: center;
		gap: var(--wtds-s-1);
		min-height: var(--wtds-touch-target);
		padding: 0;
		font-family: var(--wtds-font-text);
		font-size:var(--wtds-fs-body);
		font-weight: var(--wtds-fw-medium);
		color: var(--wtds-action-primary);
		background: transparent;
		border: 0;
		text-align: left;
	}

	/* Same description content and overlay contract; mobile only changes the panel geometry. */
	.wapu-single__offcanvas[data-active-panel="description"] {
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: min(78dvh, 44rem);
		max-height: calc(100dvh - env(safe-area-inset-top, 0px) - var(--wtds-s-4));
		border-radius: var(--wtds-panel-radius) var(--wtds-panel-radius) 0 0;
		box-shadow: var(--wtds-shadow-xl);
		transform: translate3d(0, 105%, 0);
		contain: layout paint;
		overflow: hidden;
		background: var(--wtds-surface);
	}

	.wapu-single__offcanvas[data-active-panel="description"][aria-hidden="false"] {
		transform: translate3d(0, 0, 0);
	}

	.wapu-single__offcanvas[data-active-panel="description"] .wapu-single__offcanvas-topbar {
		display: flex;
		justify-content: flex-end;
		padding: var(--wtds-s-2) var(--wtds-s-3) var(--wtds-s-1);
		background: var(--wtds-surface);
		border-bottom: var(--wtds-border-hairline) solid var(--wtds-separator-soft);
	}

	.wapu-single__offcanvas[data-active-panel="description"] .wapu-single__offcanvas-panel {
		height: calc(100% - 3.25rem);
		padding: var(--wtds-s-3) var(--wtds-s-3) calc(var(--wtds-s-5) + env(safe-area-inset-bottom, 0px));
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.wapu-single__offcanvas[data-active-panel="description"] .wapu-single__offcanvas-title {
		margin: 0 0 var(--wtds-s-3);
		font-family: var(--wtds-font-display);
		font-size:var(--wtds-fs-title-3);
		font-weight: var(--wtds-fw-bold);
		color: var(--wtds-ink);
	}

	.wapu-single__offcanvas[data-active-panel="description"] .wapu-single__offcanvas-desc {
		font-family: var(--wtds-font-text);
		font-size:var(--wtds-fs-body);
		line-height: var(--wtds-lh-relaxed);
		color: var(--wtds-ink-2);
	}
}

/* 7.7.105 · Availability alignment and flat status dot. */
.wapu-single__availability-dot,
.wapu-single__availability--low .wapu-single__availability-dot,
.wapu-single__availability--unavailable .wapu-single__availability-dot {
	background: var(--wapu-availability-color);
	box-shadow: none;
	overflow: visible;
}

.wapu-single__availability-dot::after {
	content: none;
	display: none;
}

@media (max-width: 47.9375rem) {
	.wapu-single__brand-stock {
		justify-content: flex-start;
		text-align: left;
	}

	.wapu-single__brand-stock .wapu-single__availability,
	.wapu-single__availability {
		align-self: stretch !important;
		justify-content: flex-start !important;
		text-align: left !important;
		flex-basis: 100%;
		width: 100%;
	}

	.wapu-single__availability-text {
		text-align: left !important;
	}
}


/* 7.7.106 · Mobile PDP information rhythm + discovery actions. */
.wapu-single__title-description {
	display: contents;
}

.wapu-single__mobile-discovery {
	display: contents;
}

.wapu-single__mobile-discovery-title,
.wapu-single__mobile-discovery-grid {
	display: none;
}

.wapu-single__mobile-list-actions {
	display: contents;
}

@media (max-width: 47.9375rem) {
	/* First compact group: brand + stock status. */
	.wapu-single__brand-stock {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: var(--wtds-s-4, 1rem);
		width: 100%;
		min-width: 0;
		text-align: left;
	}

	.wapu-single__brand-stock .wapu-single__brand-eyebrow,
	.wapu-single__brand-stock .wapu-single__availability {
		margin: 0;
	}

	.wapu-single__brand-stock .wapu-single__availability {
		align-self: auto !important;
		flex: 0 1 auto;
		flex-basis: auto;
		width: auto;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	/* Second group: title + short description + full-description action. */
	.wapu-single__title-description {
		display: flex;
		flex-direction: column;
		gap: var(--wtds-s-4, 1rem);
		width: 100%;
		min-width: 0;
	}

	.wapu-single__title-description .wapu-single__title-row,
	.wapu-single__title-description .wapu-single__desc-wrap {
		margin: 0;
	}

	.wapu-single__title-description .wapu-single__desc-wrap {
		gap: var(--wtds-s-4, 1rem);
	}

	/* Share leaves the title row on mobile and lives in the discovery section. */
	.wapu-single__title-row > .wapu-single__share-wrap {
		display: none !important;
	}

	/* Mobile primary action is intentionally text-only. */
	.wapu-single__inline-cta-btn {
		justify-content: center;
	}

	.wapu-single__inline-cta-arrow {
		display: none !important;
	}

	/* Discovery/list actions directly follow the purchase controls. */
	.wapu-single__mobile-discovery {
		display: flex;
		flex-direction: column;
		gap: var(--wtds-s-4, 1rem);
		width: 100%;
		margin-top: var(--wtds-s-4, 1rem);
		padding-top: var(--wtds-s-4, 1rem);
		border-top: var(--wtds-border-hairline) solid var(--wtds-separator-soft);
	}

	.wapu-single__mobile-discovery-title {
		display: block;
		margin: 0;
		font-family: var(--wtds-font-display);
		font-size:var(--wtds-fs-title-3);
		font-weight: var(--wtds-fw-semibold);
		line-height: var(--wtds-lh-snug);
		color: var(--wtds-ink);
		text-align: left;
	}

	.wapu-single__mobile-discovery-grid,
	.wapu-single__mobile-list-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wtds-s-2, .5rem);
		width: 100%;
	}
	.wapu-single__mobile-list-actions .wcpl-wl-btn,
	.wapu-single__mobile-list-actions .wcpl-add-to-list-btn,
	.wapu-single__mobile-list-actions .wapu-list-save {
		width: 100%;
		min-width: 0;
		min-height: var(--wtds-touch-target);
		justify-content: center;
		text-align: center;
	}

	.wapu-single__mobile-discovery-grid > .wapu-btn,
	.wapu-single__mobile-list-actions > .wapu-btn{
		width: 100%;
		min-width: 0;
		justify-content: center;
	}

	.wapu-single__mobile-list-actions .wcpl-product-actions {
		display: contents;
	}

	.wapu-single__mobile-list-actions .wcpl-product-actions > * {
		min-width: 0;
	}

	.wapu-single__similar-mobile {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		width: 100%;
	}

	.wapu-single__mobile-share {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 0;
	}
}
@media (max-width: 47.9375rem) {
	.wapu-single__mobile-discovery-grid {
		position: relative;
	}
}

.wapu-single__offcanvas-grabber { display: none; }

/* 7.7.107 · Mobile PDP compact rhythm, original share action and native-feeling description sheet. */
@media (max-width: 47.9375rem) {
	/* Keep the whole mobile PDP on the same compact 8px rhythm. */
	.wapu-single {
		--single-gutter: var(--wtds-s-2, .5rem);
	}

	.wapu-single__content {
		gap: var(--wtds-s-2, .5rem);
		padding-top: var(--wtds-s-2, .5rem);
	}

	.wapu-single__intro,
	.wapu-single__commerce,
	.wapu-single__title-description,
	.wapu-single__title-description .wapu-single__desc-wrap,
	.wapu-single__mobile-discovery {
		gap: var(--wtds-s-2, .5rem);
	}

	/* Brand + stock stay in one row and every visual is vertically centered. */
	.wapu-single__brand-stock {
		align-items: center !important;
		justify-content: flex-start;
		gap: var(--wtds-s-2, .5rem);
		flex-wrap: wrap;
		text-align: left;
	}

	.wapu-single__brand-stock .wapu-single__brand-eyebrow,
	.wapu-single__brand-stock .wapu-single__availability {
		display: inline-flex;
		align-items: center !important;
		align-self: center !important;
		min-height: 0;
		margin: 0;
		line-height: 1.2;
	}

	.wapu-single__brand-stock .wapu-single__availability {
		flex: 0 1 auto;
		flex-basis: auto !important;
		width: auto !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.wapu-single__availability-dot {
		align-self: center;
		margin: 0;
	}

	.wapu-single__availability-text {
		line-height: 1.2;
		text-align: left !important;
	}

	/* Product title + short description now inherit an effective 8px page inset. */
	.wapu-single__title-description {
		padding: 0;
		margin: 0;
	}

	.wapu-single__title-description .wapu-single__title-row,
	.wapu-single__title-description .wapu-single__desc-wrap {
		padding: 0;
	}

	/* Fulfillment copy (including “Entrega inmediata”) is forcibly left-aligned. */
	.wapu-single__fulfillment,
	.wapu-single__fulfillment-head,
	.wapu-single__fulfillment-title,
	.wapu-single__fulfillment-description {
		width: 100%;
		margin-inline: 0 !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.wapu-single__fulfillment-title,
	.wapu-single__fulfillment-description {
		display: block;
		align-self: stretch;
	}

	/* Discovery: similar takes all remaining width; share is the original icon-only control. */
	.wapu-single__mobile-discovery {
		margin-top: var(--wtds-s-2, .5rem);
		padding-top: var(--wtds-s-2, .5rem);
	}

	.wapu-single__mobile-discovery-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 2.75rem;
		align-items: center;
		gap: var(--wtds-s-2, .5rem);
		width: 100%;
	}

	.wapu-single__similar-mobile {
		width: 100%;
		min-width: 0;
		margin: 0;
	}

	.wapu-single__mobile-share-slot {
		display: flex;
		align-items: center;
		justify-content: center;
		inline-size: 2.75rem;
		block-size: var(--wtds-touch-target);
	}

	.wapu-single__mobile-share-slot .wapu-single__share-wrap {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		position: relative;
	}

	.wapu-single__mobile-share-slot .wapu-single__share {
		margin: 0;
	}

	.wapu-single__mobile-list-actions {
		gap: var(--wtds-s-2, .5rem);
	}

	.wapu-single__mobile-list-actions .wcpl-wl-btn,
	.wapu-single__mobile-list-actions .wcpl-add-to-list-btn,
	.wapu-single__mobile-list-actions .wapu-list-save {
		gap: var(--wtds-s-2, .5rem);
	}

	.wapu-single__mobile-list-actions .wcpl-wl-btn svg,
	.wapu-single__mobile-list-actions .wapu-list-save svg,
	.wapu-single__mobile-list-actions .wapu-single__list-heart svg {
		inline-size: 1.125rem;
		block-size: 1.125rem;
		flex: 0 0 1.125rem;
	}

	.wapu-single__mobile-list-actions .wcpl-wl-btn.is-active svg path,
	.wapu-single__mobile-list-actions .wcpl-wl-btn[aria-pressed="true"] svg path,
	.wapu-single__mobile-list-actions .wapu-list-save.is-active svg path {
		fill: currentColor;
	}

	/* Description is a real two-state bottom sheet: collapsed by default, expandable by dragging its bar upward. */
	.wapu-single__offcanvas[data-active-panel="description"] {
		height: min(78dvh, 44rem);
		transition:
			height .28s var(--wtds-ease),
			transform .24s var(--wtds-ease),
			visibility 0s linear var(--wtds-dur);
	}

	.wapu-single__offcanvas[data-active-panel="description"].is-expanded {
		height: calc(100dvh - env(safe-area-inset-top, 0px) - .5rem);
		max-height: calc(100dvh - env(safe-area-inset-top, 0px) - .5rem);
	}

	.wapu-single__offcanvas[data-active-panel="description"] .wapu-single__offcanvas-topbar {
		position: relative;
		min-height: 3rem;
		align-items: center;
		justify-content: flex-end;
		padding: var(--wtds-s-1) var(--wtds-s-2);
		touch-action: none;
		cursor: grab;
	}

	.wapu-single__offcanvas[data-active-panel="description"] .wapu-single__offcanvas-topbar.is-dragging {
		cursor: grabbing;
	}

	.wapu-single__offcanvas-grabber {
		display: block;
		position: absolute;
		left: 50%;
		top: var(--wtds-s-1);
		transform: translateX(-50%);
		inline-size: 2.5rem;
		block-size: .25rem;
		border-radius: var(--wtds-r-pill);
		background: var(--wtds-outline-soft);
		pointer-events: none;
	}

	.wapu-single__offcanvas[data-active-panel="description"] .wapu-single__offcanvas-panel {
		height: calc(100% - 3rem);
		padding: var(--wtds-s-2) var(--wtds-s-2) calc(var(--wtds-s-4) + env(safe-area-inset-bottom, 0px));
	}
}

/* 7.7.121 · Product FAQs consume WTDS common/accordion. */
.wapu-product-faqs__list.wapu-accordion{display:block;gap:0}
.wapu-product-faqs .wapu-accordion__trigger{padding-inline:0}
.wapu-product-faqs .wapu-accordion__content{padding-inline:0}

/* 7.7.136 · Product only owns breadcrumb placement; common/breadcrumb owns paint. */
.wapu-single__breadcrumb-slot{grid-column:1 / -1;min-width:0;margin:0 0 var(--wtds-s-2)}
@media (max-width:47.9375rem){.wapu-single__breadcrumb-slot{display:none;margin:0}}


/* 7.7.137 · Team incidence pass: canonical gallery fill + desktop discovery CTA. */
.wapu-single__desktop-similar-action{display:flex;margin-top:var(--wtds-s-2)}
.wapu-single__desktop-similar-action .wapu-btn{width:auto}
.wapu-vg__main > img,
.wapu-vg__main .wapu-vg__img,
.wapu-single__main-img{
	object-fit:cover!important;
	object-position:center!important;
}
.wapu-single__gallery .wapu-single__thumb,
.wapu-single__gallery .wapu-gal__thumb,
.wapu-single__gallery .wapu-vg__thumb{
	outline:none!important;
}
.wapu-single__gallery .wapu-single__thumb:focus,
.wapu-single__gallery .wapu-gal__thumb:focus,
.wapu-single__gallery .wapu-vg__thumb:focus{
	outline:none!important;
}
.wapu-single__gallery .wapu-single__thumb:focus-visible,
.wapu-single__gallery .wapu-gal__thumb:focus-visible,
.wapu-single__gallery .wapu-vg__thumb:focus-visible{
	outline:2px solid var(--wtds-ink)!important;
	outline-offset:2px;
}
.wapu-single__thumbs,
.wapu-single__thumb-track{
	padding-block:.1875rem;
}
@media (max-width:47.9375rem){
	.wapu-single__desktop-similar-action{display:none!important}
}

/* 7.7.144 · V6 Single Product — accordion wrapper without a card border. */
.wapu-single .wapu-accordion {
	border: 0 !important;
	box-shadow: none !important;
}


/* V15 — Single Product composition contract. */
.wapu-single__content {
  gap: 2rem;
}
.wapu-single__info,
.wapu-single__intro,
.wapu-single__commerce,
.wapu-product-pre-content,
.wapu-product-content,
.wapu-product-prices {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  min-width: 0;
}
.wapu-product-pre-content .wapu-single__breadcrumb-slot {
  margin: 0;
}
.wapu-product-pre-content .wapu-single__brand-eyebrow,
.wapu-product-pre-content .wapu-single__availability {
  margin: 0;
}
.wapu-single__availability-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: .875rem;
  width: 100%;
  box-sizing: border-box;
  padding: .875rem;
  border: var(--wtds-border-thin) solid var(--wtds-outline-soft);
  border-radius: .75rem;
  background: var(--wtds-surface);
  color: var(--wtds-ink);
}
.wapu-single__availability-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  border-radius: 50%;
  background: var(--wtds-surface-2);
  color: var(--wtds-ink);
}
.wapu-single__availability-card-icon svg {
  inline-size: 1.375rem;
  block-size: 1.375rem;
}
.wapu-single__availability-card-body {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--wtds-s-2);
  min-width: 0;
  width: 100%;
}
.wapu-single__availability-card-body > :is(.wapu-single__fulfillment-title,.wapu-single__fulfillment-description) {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.wapu-single__availability-card-body > .wapu-single__fulfillment-description { text-align: right; }
.wapu-single__availability-card .wapu-single__availability {
  margin: 0;
  min-height: 0;
}
.wapu-single__availability-card .wapu-single__fulfillment {
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: .25rem;
}
.wapu-single__availability-card .wapu-single__fulfillment-title {
  color: var(--wtds-ink);
  font-size:var(--wtds-fs-subhead);
  line-height: var(--wtds-lh-snug);
}
.wapu-single__availability-card .wapu-single__fulfillment-description {
  color: var(--wtds-ink-3);
  font-size:var(--wtds-fs-footnote);
  line-height: var(--wtds-lh-normal);
}
.wapu-single__secondary-actions.wapu-single__mobile-discovery {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}
.wapu-single__secondary-actions .wapu-single__mobile-discovery-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  align-items: center;
  gap: .5rem;
  width: 100%;
}
.wapu-single__secondary-actions .wapu-single__similar-mobile {
  min-width: 0;
  min-height: var(--wtds-touch-target);
  margin: 0;
}
.wapu-single__secondary-actions .wapu-single__share-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
}
.wapu-single__secondary-actions .wapu-single__share {
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  width: 100%;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions {
  display: contents;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-wl-btn,
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-add-to-list-btn,
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-list-save {
  width: 100%;
  min-width: 0;
  min-height: var(--wtds-touch-target);
  justify-content: center;
}
@media (max-width: 47.9375rem) {
  .wapu-single__content { gap: 1.25rem; }
  .wapu-single__info,
  .wapu-single__intro,
  .wapu-single__commerce,
  .wapu-product-pre-content,
  .wapu-product-content,
  .wapu-product-prices { gap: 1.8rem; }
  .wapu-single__availability-card { grid-template-columns: 2.5rem minmax(0, 1fr); padding: .75rem; gap: .75rem; }
  .wapu-single__availability-card-icon { inline-size: 2.5rem; block-size: 2.5rem; }
  .wapu-single__secondary-actions .wapu-single__mobile-list-actions { gap: .5rem; }
}

/* V22: a fulfillment heading follows the storefront display font. */
.wapu-single__fulfillment-title { font-family: var(--wtds-font-display); }

/* V38: Lists and the canonical share action form one row at every breakpoint. */
.wapu-single__secondary-actions .wapu-single__mobile-discovery-grid:empty { display: none; }
.wapu-single__secondary-actions .wapu-single__mobile-list-actions {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--wtds-s-2, .5rem);
  width: 100%;
  min-width: 0;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share-wrap {
  flex: 0 0 3rem;
  margin-top: .0625rem;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .5rem;
  margin: 0;
  padding: 0;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions > :is(.wcpl-wl-btn, .wcpl-add-to-list-btn, .wapu-list-save) {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  height: 3rem;
  min-height: 3rem;
  margin: 0;
  padding-inline: .5rem;
  white-space: nowrap;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions > :is(.wcpl-var-hint, .wapu-single__interest-note) {
  flex: 0 0 100%;
}
.wapu-single__secondary-actions .wapu-single__share-wrap,
.wapu-single__secondary-actions .wapu-single__share {
  width: 3rem;
  height: 3rem;
  border-radius: 0;
}
@media (max-width: 47.9375rem) {
  .wapu-single__secondary-actions .wapu-single__mobile-discovery-grid {
    display: block;
  }
}

/* V23: FAQs are a standalone section between product content and reviews. */
.single-product .wapu-product-faqs { width: min(90rem, calc(100% - 2 * var(--single-gutter))); max-width: 90rem; margin: clamp(2rem, 4vw, 4rem) auto; }
/* Service gallery primitives. Layout placement is owned by the canonical service block below. */
.wapu-service-gallery {
	display: grid;
	overflow: hidden;
	border-radius: var(--wtds-r-lg);
}
.wapu-service-gallery__item {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: var(--wtds-r-md);
	overflow: hidden;
	background: var(--wtds-surface-2);
	cursor: zoom-in;
}
.wapu-service-gallery__item img,
.wapu-service-gallery__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .25s ease;
}
.wapu-service-gallery__item:hover img { transform: scale(1.035); }
.wapu-service-gallery__item:focus-visible { outline: 3px solid var(--wtds-ink); outline-offset: -3px; }

/* V29 P4 · Product FAQs are editorial/quiet: no visible boxes or dividers. */
.wapu-product-faqs__list,
.wapu-product-faqs__list .wapu-accordion__item,
.wapu-product-faqs__list .wapu-accordion__trigger,
.wapu-product-faqs__list .wapu-accordion__content{border:0!important;border-block:0!important;border-inline:0!important;box-shadow:none;}

/* V29 P3 · Canonical gallery lightbox survives gallery rerenders. */
.wapu-gallery-lightbox{width:min(94vw,80rem);height:min(92dvh,56rem);max-width:none;max-height:none;padding:0;border:0;border-radius:var(--wtds-r-lg);background:var(--wtds-surface);color:var(--wtds-ink);overflow:hidden;box-shadow:var(--wtds-shadow-xl,0 1.5rem 4rem rgba(0,0,0,.25))}
.wapu-gallery-lightbox::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}
.wapu-gallery-lightbox figure{width:100%;height:100%;margin:0;display:flex;align-items:center;justify-content:center;padding:var(--wtds-s-4)}
.wapu-gallery-lightbox__image{display:block;max-width:100%;max-height:100%;object-fit:contain}.wapu-gallery-lightbox__nav{position:absolute;z-index:2;border:0;background:color-mix(in srgb,var(--wtds-surface) 88%,transparent);color:var(--wtds-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--wtds-shadow-sm)}
.wapu-gallery-lightbox__close{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center}
.wapu-gallery-lightbox__close{top:1rem;right:1rem}
.wapu-gallery-lightbox__nav{top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:50%;font-size:var(--wtds-fs-large-title)}
.wapu-gallery-lightbox__nav--prev{left:1rem}.wapu-gallery-lightbox__nav--next{right:1rem}
@media(max-width:47.9375rem){.wapu-gallery-lightbox{width:100vw;height:100dvh;border-radius:0}.wapu-gallery-lightbox figure{padding:3.5rem .75rem}.wapu-gallery-lightbox__nav{width:2.75rem;height:2.75rem}}

/* Mobile physical PDP: gallery directly below the header, then brand and title. */
@media (max-width: 47.9375rem) {
  .wapu-single:not(.wapu-single--sellable-service):not(.wapu-single--sellable-course) .wapu-single__intro {
    display: contents;
  }

  .wapu-single:not(.wapu-single--sellable-service):not(.wapu-single--sellable-course) .wapu-single__content {
    padding-top: 0;
  }

  .wapu-single:not(.wapu-single--sellable-service):not(.wapu-single--sellable-course) .wapu-single__gallery {
    grid-column: 1;
    grid-row: 1;
  }

  .wapu-single:not(.wapu-single--sellable-service):not(.wapu-single--sellable-course) .wapu-product-pre-content {
    grid-column: 1;
    grid-row: 2;
  }

  .wapu-single:not(.wapu-single--sellable-service):not(.wapu-single--sellable-course) .wapu-single__title-description {
    grid-column: 1;
    grid-row: 3;
  }

  .wapu-single:not(.wapu-single--sellable-service):not(.wapu-single--sellable-course) .wapu-single__commerce {
    grid-column: 1;
    grid-row: 4;
  }
}

/* Keep the purchase action square and the shared product stepper compact. */

/* Single product type scale shared by the parent theme and its children. */
.single-product .wapu-single__title {
	font-size:var(--wtds-fs-large-title);
}
.single-product .wapu-single__desc {
	font-size:var(--wtds-fs-title-3);
}
.single-product .wapu-single__description-trigger,
.single-product .wapu-single__ver-mas {
	font-size:var(--wtds-fs-callout);
}

/* Parent PDP typography from the supplied pre-Merlot theme. Child themes
 * retain their own scale; this only changes presentation, not product state. */
body.wp-theme-wapu-ecommerce-theme.single-product .wapu-single__title {
	font-size:var(--wtds-fs-large-title);
	font-weight:var(--wtds-fw-light);
	line-height: 1.15;
	letter-spacing: -.02em;
}
body.wp-theme-wapu-ecommerce-theme.single-product .wapu-single__desc {
	font-size:var(--wtds-fs-subhead);
	font-weight: var(--wtds-fw-regular);
	line-height: 1.5;
}
body.wp-theme-wapu-ecommerce-theme.single-product .wapu-single__price .wapu-price__current,
body.wp-theme-wapu-ecommerce-theme.single-product .wapu-single .wapu-single-price__amount {
	font-size:var(--wtds-fs-title-2);
	font-weight: var(--wtds-fw-medium);
	line-height: 1;
}

/* Restore the parent theme's original purchase controls from the supplied
 * archive; leave child-theme buttons and the current purchase logic alone. */
body.wp-theme-wapu-ecommerce-theme .wapu-single .wapu-single__qty-stepper .wapu-quantity__button,
body.wp-theme-wapu-ecommerce-theme .wapu-single .wapu-single__qty-stepper [data-wapu-qty-step] {
	border-radius: 50% !important;
}

.wapu-single .wapu-quantity--product.wapu-single__qty-stepper {
	width: max-content;
	max-width: 100%;
	grid-template-columns: 36px minmax(48px, 56px) 36px;
	gap: 4px;
	min-height: 36px;
	min-block-size: 36px;
	padding: 0;
}

.wapu-single .wapu-single__qty-stepper .wapu-quantity__button,
.wapu-single .wapu-single__qty-stepper [data-wapu-qty-step] {
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	min-inline-size: 36px;
	min-block-size: 36px;
	border-radius: 0;
}

.wapu-single .wapu-single__qty-stepper .wapu-quantity__input,
.wapu-single .wapu-single__qty-stepper .wapu-single__qty-input {
	height: 36px;
	min-height: 36px;
	min-block-size: 36px;
	border-radius: 0;
}

/* Single Availability: WapuCommerce supplies exactly Title + Description. */
.wapu-single__availability-card {
	grid-template-columns: minmax(0, 1fr);
	border: 0;
	border-bottom: 0;
	border-radius: 0;
}
.wapu-single__availability-card-icon {
	display: none;
}

.wapu-single .wapu-single__description-trigger { font-size:var(--wtds-fs-footnote) !important; }

/* The list actions in the single do not need a divider above them. */
.wapu-single .wapu-single__actions-row.wcpl-product-actions {
	border-top: 0;
}

.wapu-single__commerce {
	gap: 20px;
}

/* Keep the purchase CTA visually separate from quantity and list/share actions. */
.wapu-single__inline-cta {
	gap: 20px;
}
.wapu-single__secondary-actions + .wapu-single__inline-cta {
	margin-top: 20px;
}

/* The inline quantity control stays outlined without filled surfaces. */
.wapu-single__inline-cta .wapu-single__qty-stepper,
.wapu-single__inline-cta .wapu-single__qty-stepper :is(.wapu-quantity__button, .wapu-quantity__input, .wapu-single__qty-input) {
	background: transparent;
	box-shadow: none;
}
.wapu-single__inline-cta .wapu-single__qty-stepper .wapu-quantity__button:hover:not(:disabled) {;
}

/* Smaller secondary actions; mobile keeps a full 44px touch target. */
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions > :is(.wcpl-wl-btn, .wcpl-add-to-list-btn, .wapu-list-save),
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share {
	height: 40px;
	min-height: 40px;
	font-size:var(--wtds-fs-caption-1);
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share {
	width: 40px;
	min-width: 40px;
}
.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share-wrap {
	width: 40px;
	height: 40px;
	flex-basis: 40px;
}
@media (max-width: 47.9375rem) {
	.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions > :is(.wcpl-wl-btn, .wcpl-add-to-list-btn, .wapu-list-save),
	.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share {
		height: 44px;
		min-height: 44px;
	}
	.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share {
		width: 44px;
		min-width: 44px;
	}
	.wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share-wrap {
		width: 44px;
		height: 44px;
		flex-basis: 44px;
	}
}
/* Gift Card uses the existing product single shell without purchase controls. */
.wapu-single--gift-card { padding-bottom: 3rem; }
.wapu-single--gift-card .wapu-single__gallery { display: block; min-width: 0; }
.wapu-single--gift-card .wapu-single__info { padding-top: .5rem; }
.wapu-single--gift-card .wapu-single__gift-description { color: var(--wtds-ink-2, #444); font-family: var(--wtds-font-text); font-size:var(--wtds-fs-callout); font-weight:var(--wtds-fw-regular); line-height: 1.65; overflow-wrap: anywhere; }
.wapu-single--gift-card .wapu-single__gift-description > :first-child { margin-top: 0; }
.wapu-single--gift-card .wapu-single__gift-description > :last-child { margin-bottom: 0; }
@media (max-width: 61.9375rem) {
  .wapu-single--gift-card { padding-bottom: 2rem; }
  .wapu-single--gift-card .wapu-single__content { grid-template-columns: minmax(0, 1fr); }
  .wapu-single--gift-card .wapu-single__info { padding-top: 0; }
}

/* Compact desktop purchase bar; the add button fills the remaining space. */
@media (min-width: 48rem) {
	body.single-product { --single-bar-h: clamp(56px, 4.5vw, 64px); }
	.wapu-single__cart-bar-inner {
		box-sizing: border-box;
		width: min(460px, calc(100% - (var(--single-gutter) * 2)));
		max-width: none;
		margin-left: auto;
		margin-right: var(--single-gutter);
		padding: 0;
		gap: 8px;
	}
	.wapu-single__cart-bar-inner .wapu-single__qty-stepper {
		flex: 0 0 108px;
		width: 108px;
		min-width: 0;
	}
	.wapu-single__cart-bar-inner .wapu-single__add-btn {
		box-sizing: border-box;
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		max-width: none;
	}
}

/* Shared product layout: gallery and information columns sit 60px apart. */
@media (min-width: 48rem) {
	.wapu-single__content {
		column-gap: 60px;
	}
}

/* Canonical service PDP: one vertical shell, then a two-column details row. */
.wapu-single--sellable-service .wapu-single__content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(1.5rem, 3vw, 3rem);
	box-sizing: border-box;
	width: 100%;
	max-width: 120rem;
}

/* Desktop order: title -> gallery -> details. */
.wapu-single--sellable-service .wapu-service-heading {
	order: -3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	width: 100%;
	min-width: 0;
}
.wapu-service-heading__title { min-width: 0; }
.wapu-single--sellable-service .wapu-service-heading .wapu-single__title {
	font-size:var(--wtds-fs-large-title);
	font-weight: var(--wtds-fw-semibold, 600);
	line-height: 1.2;
}

.wapu-single--sellable-service .wapu-single__gallery {
	order: -2;
	display: block;
	position: static !important;
	grid-area: auto !important;
	width: 100%;
	max-width: none;
	min-width: 0;
}
.wapu-single--sellable-service .wapu-service-gallery {
	position: relative;
	grid-template-columns: minmax(0, 2.05fr) repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, clamp(10rem, 18vw, 16rem));
	grid-auto-rows: 0;
	gap: .5rem;
	border-radius: .8rem;
}
.wapu-single--sellable-service .wapu-service-gallery__item { border-radius: 0; }
.wapu-single--sellable-service .wapu-service-gallery__item:nth-child(n+6) { display: none; }
.wapu-single--sellable-service .wapu-service-gallery__item--hero { grid-column: 1; grid-row: 1 / span 2; }
.wapu-service-gallery__open {
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	min-height: 2.5rem;
	padding: .5rem .8rem;
	border: 1px solid var(--wtds-outline-soft);
	border-radius: .5rem;
	background: var(--wtds-surface);
	color: var(--wtds-ink);
	font:var(--wtds-fw-medium, 500) var(--wtds-fs-footnote)/1.2 var(--wtds-font-text);
	box-shadow: var(--wtds-shadow-sm);
	cursor: pointer;
}
.wapu-service-gallery__open svg { width: 1rem; height: 1rem; }
.wapu-service-gallery__open:hover { background: var(--wtds-surface-2); }
.wapu-service-gallery--count-1 { display: block; max-height: 32rem; }
.wapu-service-gallery--count-1 .wapu-service-gallery__item { aspect-ratio: 16 / 9; }
.wapu-service-gallery--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.wapu-service-gallery--count-2 .wapu-service-gallery__item { grid-row: 1 / span 2; }

/* The service summary owns the full available width.
 * `.wapu-service-details` is semantic only; it must not create another boxed layout. */
.wapu-single--sellable-service .wapu-single__info {
	order: -1;
	position: static !important;
	top: auto !important;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-area: auto !important;
	width: 100%;
	max-width: none;
	margin: 0;
	min-width: 0;
}
.wapu-single--sellable-service .wapu-single__intro,
.wapu-single--sellable-service .wapu-product-content.wapu-single__title-description {
	width: 100%;
	max-width: none;
	min-width: 0;
}
.wapu-single--sellable-service .wapu-product-content.wapu-single__title-description {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(2rem, 4vw, 4rem);
}
.wapu-single--sellable-service .wapu-service-details {
	display: contents;
}
.wapu-single--sellable-service .wapu-service-details__info,
.wapu-single--sellable-service .wapu-service-details__booking {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.wapu-single--sellable-service .wapu-single__service-calendar {
	position: static !important;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	grid-area: auto !important;
	width: 100%;
	max-width: none;
	min-width: 0;
}
.wapu-single--sellable-service .wapu-single__service-calendar > * {
	width: 100%;
	max-width: none;
	min-width: 0;
}
.wapu-single--sellable-service .wapu-single__service-reserve {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3rem;
}
.wapu-service-heading__actions {
	display: flex;
	align-items: center;
	gap: clamp(.5rem, 2vw, 1.25rem);
	flex-wrap: nowrap;
	min-width: 0;
}
.wapu-service-heading__save,
.wapu-service-heading__save .wcpl-product-actions { display: contents; }
.wapu-service-heading__save .wcpl-product-actions { margin: 0; padding: 0; }
.wapu-service-heading__actions :is(.wapu-single__share, .wcpl-wl-btn, .wcpl-add-to-list-btn, .wapu-list-save) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	width: auto;
	height: auto;
	min-height: 2.25rem;
	padding: .25rem 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--wtds-ink);
	font:var(--wtds-fw-medium, 500) var(--wtds-fs-ui)/1.3 var(--wtds-font-text);
	text-transform: lowercase;
	text-decoration: underline;
	text-underline-offset: .16em;
	cursor: pointer;
}
.wapu-service-heading__actions .wapu-single__share::after { content: 'compartir'; }
.wapu-service-heading__actions :is(.wapu-single__share, .wcpl-wl-btn, .wcpl-add-to-list-btn, .wapu-list-save):hover { background: transparent; color: var(--wtds-ink-2); }
.wapu-service-heading__actions .wcpl-product-actions > :is(.wapu-single__interest-note, .wcpl-var-hint) { display: none; }

.wapu-single--sellable-service .wapu-single__cart-bar { display: none !important; }
.wapu-single--sellable-service .wapu-single__desc--service-desktop {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}
.wapu-single--sellable-service .wapu-single__desc--service-mobile,
.wapu-single--sellable-service .wapu-single__description-trigger { display: none; }
.wapu-single--sellable-service .wapu-product-pre-content { display: none; }
.wapu-single--sellable-service .wapu-single__mobile-sticky-product { display: none !important; }

@media (max-width: 47.9375rem) {
	/* Mobile service rhythm: 8px gallery, 16px content, 24px between sections. */
	.wapu-single--sellable-service .wapu-single__content {
		display: flex;
		flex-direction: column;
		gap: 24px;
		padding-inline: 0;
	}
	.wapu-single--sellable-service .wapu-single__gallery {
		order: -3;
		width: 100%;
		padding-inline: 8px;
		box-sizing: border-box;
	}
	.wapu-single--sellable-service .wapu-service-heading {
		order: -2;
		display: flex;
		width: 100%;
		padding-inline: 16px;
		box-sizing: border-box;
	}
	.wapu-single--sellable-service .wapu-single__info,
	.wapu-single--sellable-service #wapu-info {
		order: -1;
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		width: 100%;
		padding-inline: 16px;
		box-sizing: border-box;
	}
	.wapu-single--sellable-service .wapu-product-content.wapu-single__title-description {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
		padding: 0;
	}
	.wapu-single--sellable-service .wapu-service-details {
		display: contents;
	}
	.wapu-single--sellable-service .wapu-service-details__info,
	.wapu-single--sellable-service .wapu-service-details__booking {
		flex: 0 0 auto;
		width: 100%;
		max-width: none;
		min-width: 0;
		gap: 24px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
	}
	.wapu-single--sellable-service .wapu-service-heading__actions {
		width: 100%;
		justify-content: space-between;
		gap: .5rem;
	}
	.wapu-single--sellable-service .wapu-service-heading__actions :is(.wapu-single__share, .wcpl-wl-btn, .wcpl-add-to-list-btn, .wapu-list-save) {
		font-size:var(--wtds-fs-caption-1);
		letter-spacing: 2px;
		text-transform: lowercase;
	}
	.wapu-single--sellable-service .wapu-single__desc--service-desktop { display: none; }
	.wapu-single--sellable-service .wapu-single__desc--service-mobile { display: block; }
	.wapu-single--sellable-service .wapu-single__description-trigger { display: inline-flex; }
	.wapu-single--sellable-service .wapu-service-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(8rem, 28vw));
	}
	.wapu-single--sellable-service .wapu-service-gallery__item--hero { grid-column: 1 / -1; grid-row: 1; }
	.wapu-single--sellable-service .wapu-service-gallery__item:nth-child(n+4) { display: none; }
	.wapu-service-gallery__open { right: .75rem; bottom: .75rem; font-size:var(--wtds-fs-caption-2); }

	/* Service mobile must keep real wrappers so padding/gap can work. */
	.wapu-single--sellable-service .wapu-single__intro,
	.wapu-single--sellable-service .wapu-single__commerce,
	.wapu-single--sellable-service .wapu-product-content {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		width: 100%;
		min-width: 0;
	}
	.wapu-single--sellable-service .wapu-single__availability-slot {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
		width: 100%;
		min-width: 0;
	}
}

/* Regular product column: content, purchase actions, and recommendations. */
.wapu-single--regular-product .wapu-product-column,
.wapu-single--regular-product .wapu-product-total-content,
.wapu-single--regular-product .wapu-product-identity,
.wapu-single--regular-product .wapu-product-description,
.wapu-single--regular-product .wapu-product-purchase {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.wapu-single--regular-product .wapu-product-column { gap: 40px; }
.wapu-single--regular-product .wapu-product-total-content { gap: 24px; }
.wapu-single--regular-product .wapu-single__info { position: static; top: auto; align-self: start; }
.wapu-single--regular-product .wapu-single__intro,
.wapu-single--regular-product .wapu-single__commerce--purchase { display: contents; }
.wapu-single--regular-product .wapu-product-identity,
.wapu-single--regular-product .wapu-product-description,
.wapu-single--regular-product .wapu-product-purchase { gap: 24px; }
.wapu-single--regular-product .wapu-product-availability-actions > .wapu-single__commerce--actions { gap: 16px; }
.wapu-single--regular-product .wapu-product-identity > .wapu-product-content,
.wapu-single--regular-product .wapu-product-identity > .wapu-product-pre-content,
.wapu-single--regular-product .wapu-product-description > .wapu-product-content,
.wapu-single--regular-product .wapu-product-purchase > .wapu-product-prices { gap: 24px; }
.wapu-single--regular-product .wapu-product-availability-actions .wapu-single__inline-cta { margin-top: 0; }
.wapu-single--regular-product .wapu-product-recommendations { min-width: 0; margin-top: 32px; }
.single-product .wapu-single--regular-product .wapu-product-recommendations .wapu-single__related-carousel {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
.wapu-single--regular-product .wapu-product-recommendations .wapu-single__related-carousel-header { margin-bottom: 0; }
.single-product .wapu-single--regular-product .wapu-product-recommendations .wapu-single__related-carousel-track {
	gap: 20px;
}
.single-product .wapu-single--regular-product .wapu-product-recommendations .wapu-single__related-carousel-item {
	flex: 0 0 calc((100% - 40px) / 3);
}
.single-product .wapu-single--regular-product .wapu-product-recommendations .wapu-single__related-compact-card {
	gap: .45rem;
}
.single-product .wapu-single--regular-product .wapu-product-recommendations :is(.wapu-single__related-compact-name, .wapu-single__related-compact-price) {
	font-size:var(--wtds-fs-caption-1);
	line-height: 1.3;
}
@media (max-width: 47.9375rem) {
	.wapu-single--regular-product .wapu-product-column {
		grid-column: 1;
		grid-row: 2;
	}
	.wapu-single--regular-product .wapu-product-identity .wapu-product-pre-content,
	.wapu-single--regular-product .wapu-product-identity .wapu-single__title-description,
	.wapu-single--regular-product .wapu-product-description .wapu-single__title-description,
	.wapu-single--regular-product .wapu-product-availability-actions .wapu-single__commerce--actions {
		grid-row: auto;
	}
	.single-product .wapu-single--regular-product .wapu-product-recommendations .wapu-single__related-carousel-item {
		flex-basis: min(72vw, 16rem);
	}
}


/* 7.7.163 · PDP quantity value must remain visibly readable in Add to Cart. */
.wapu-single .wapu-single__qty-stepper :is(.wapu-quantity__input, .wapu-single__qty-input) {
	color: var(--wtds-ink) !important;
	-webkit-text-fill-color: var(--wtds-ink) !important;
	opacity: 1 !important;
	font-variant-numeric: tabular-nums;
	text-indent: 0;
	line-height: normal;
}


/* 7.7.166 · Single numeric quantity matches the Cart Editor. */
/* Same numeric quantity control used by the Cart Editor, scoped to the PDP. */
.wapu-single .wapu-single__qty-stepper.wapu-cart-edit-modal__qty {
	display: grid;
	grid-template-columns: 1.75rem minmax(4.5rem, 7rem) 1.75rem;
	align-items: center;
	gap: .375rem;
	width: max-content;
	height: 2.5625rem;
	min-height: 2.5625rem;
	padding: .34375rem .375rem;
	border: var(--wtds-border-thin) solid var(--wtds-outline-soft);
	border-radius: var(--wtds-button-radius);
	background: var(--wtds-surface);
	box-shadow: none;
	overflow: visible;
}
.wapu-single .wapu-single__qty-stepper.wapu-cart-edit-modal__qty .wapu-quantity__button,
body.wp-theme-wapu-ecommerce-theme .wapu-single .wapu-single__qty-stepper.wapu-cart-edit-modal__qty .wapu-quantity__button {;
	height: 1.75rem !important;
	min-height: 1.75rem !important;
	min-inline-size: 1.75rem !important;
	min-block-size: 1.75rem !important;
	border-radius: .875rem !important;
	box-shadow: var(--wtds-quantity-step-shadow) !important;
}
.wapu-single .wapu-single__qty-stepper.wapu-cart-edit-modal__qty .wapu-quantity__button svg {
}
.wapu-single .wapu-single__qty-stepper .wapu-cart-edit-modal__qty-value {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 4.5rem !important;
	height: 2rem !important;
	min-height: 2rem !important;
	padding: 0 .5rem;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	outline: none;
	font-family: var(--wtds-font-system-owned);
	font-size:var(--wtds-fs-field);
	font-weight: var(--wtds-fw-semibold);
	text-align: center;
	color: var(--wtds-ink);
	-moz-appearance: textfield;
}
.wapu-single .wapu-single__qty-stepper .wapu-cart-edit-modal__qty-value::-webkit-outer-spin-button,
.wapu-single .wapu-single__qty-stepper .wapu-cart-edit-modal__qty-value::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.wapu-single .wapu-single__qty-stepper .wapu-cart-edit-modal__qty-value:focus-visible {
	border-radius: var(--wtds-control-radius);
	box-shadow: var(--wtds-shadow-focus) !important;
}


/* 7.7.170 · PDP spacing requested for the canonical mobile purchase flow. */
.wapu-single--regular-product .wapu-product-availability-actions > .wapu-single__commerce--actions {
	gap: 16px;
}
.wapu-single--regular-product .wapu-product-availability-actions .wapu-single__availability-slot {
	margin-bottom: 8px; /* 16px parent gap + 8px = 24px before purchase controls. */
}
@media (max-width: 61.9375rem) {
	body.single-product .wapu-single__secondary-actions.wapu-single__mobile-discovery {
		margin-top: 24px !important;
		padding-top: 0 !important;
		border-top: 0 !important;
	}
}
@media (max-width: 47.9375rem) {
	body.single-product .wapu-single .wapu-quantity.wapu-quantity--product.wapu-single__qty-stepper.wapu-cart-edit-modal__qty .wapu-cart-edit-modal__qty-value {
		box-sizing: border-box;
		padding-inline: 0 !important;
		text-align: center !important;
		text-align-last: center;
		line-height:var(--wtds-lh-base);
	}
}

/* 7.7.171 · Canonical regular-product PDP composition.
 * Gallery + content are a flex pair. The content column is five logical
 * sections with 40px rhythm; each section owns its own internal rhythm. */
.wapu-single--regular-product .wapu-single__content {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 80px !important;
}
.wapu-single--regular-product .wapu-single__gallery {
	flex: 5 1 0;
	min-width: 0;
}
.wapu-single--regular-product .wapu-single__info,
.wapu-single--regular-product #wapu-info {
	flex: 4 1 0;
	min-width: 0;
	max-width: none;
	position: static;
	top: auto;
	align-self: flex-start;
}
.wapu-single--regular-product .wapu-product-faqs {
	flex: 0 0 100%;
	width: 100%;
}

/* Collapse legacy structural shells so the five logical sections become the
 * flex children of the product content column without duplicating markup. */
.wapu-single--regular-product .wapu-product-total-content,
.wapu-single--regular-product .wapu-single__commerce--purchase,
.wapu-single--regular-product .wapu-product-purchase,
.wapu-single--regular-product .wapu-product-prices,
.wapu-single--regular-product .wapu-product-availability-actions {
	display: contents !important;
}
.wapu-single--regular-product .wapu-product-column {
	display: flex;
	flex-direction: column;
	gap: 40px !important;
	width: 100%;
	min-width: 0;
}

/* Div 1 · brand, title, short description, “Ver más”. */
.wapu-single--regular-product .wapu-single__intro {
	display: flex;
	flex-direction: column;
	gap: 16px !important;
	min-width: 0;
}
.wapu-single--regular-product .wapu-product-identity,
.wapu-single--regular-product .wapu-product-description {
	display: contents !important;
}
.wapu-single--regular-product :is(.wapu-product-pre-content, .wapu-product-content, .wapu-single__title-description, .wapu-single__desc-wrap) {
	gap: 16px !important;
}

/* Div 2 · price + Loyalty/price-adjacent providers.
 * Div 3 · variations + resolved Availability. */
.wapu-single--regular-product .wapu-single__section--pricing,
.wapu-single--regular-product .wapu-single__section--variants-availability {
	display: flex;
	flex-direction: column;
	gap: 16px !important;
	min-width: 0;
	width: 100%;
}
.wapu-single--regular-product .wapu-single__section--pricing > *,
.wapu-single--regular-product .wapu-single__section--variants-availability > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.wapu-single--regular-product .wapu-single__section--variants-availability .wapu-single__availability-slot {
	margin: 0 !important;
}

/* Div 4 · purchase + secondary product actions. */
.wapu-single--regular-product .wapu-single__commerce--actions {
	display: flex;
	flex-direction: column;
	gap: 16px !important;
	min-width: 0;
	width: 100%;
}
.wapu-single--regular-product .wapu-single__commerce--actions .wapu-single__inline-cta {
	margin-top: 0;
}

/* Div 5 · related products. Parent 32px gap owns its separation. */
.wapu-single--regular-product .wapu-product-recommendations {
	display: flex;
	flex-direction: column;
	gap: 16px !important;
	min-width: 0;
	width: 100%;
	margin-top: 0 !important;
}
.single-product .wapu-single--regular-product .wapu-product-recommendations .wapu-single__related-carousel {
	gap: 16px !important;
}

/* Keep the explicitly approved mobile action rhythm. */
@media (max-width: 61.9375rem) {
	.wapu-single--regular-product .wapu-single__content {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 48px !important;
	}
	.wapu-single--regular-product .wapu-single__gallery,
	.wapu-single--regular-product .wapu-single__info,
	.wapu-single--regular-product #wapu-info {
		flex: 0 0 auto;
		width: 100%;
	}
	body.single-product .wapu-single--regular-product .wapu-single__secondary-actions.wapu-single__mobile-discovery {
		margin-top: 0 !important;
	}
}

/* Mobile quantity: center the numeric glyph, not only the input box. */
@media (max-width: 47.9375rem) {
	body.single-product .wapu-single .wapu-quantity.wapu-quantity--motion-ready.wapu-quantity--product.wapu-single__qty-stepper.wapu-cart-edit-modal__qty .wapu-cart-edit-modal__qty-value,
	body.single-product .wapu-single .wapu-quantity.wapu-quantity--product.wapu-single__qty-stepper.wapu-cart-edit-modal__qty .wapu-cart-edit-modal__qty-value {
		display: block;
		justify-self: stretch;
		width: 100% !important;
		padding-inline: 0 !important;
		text-align: center !important;
		text-align-last: center !important;
		line-height:var(--wtds-lh-base) !important;
	}
}

/* Keep the shared price/variation partial coherent on non-regular sellables too. */
.wapu-product-prices > .wapu-single__section {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	min-width: 0;
}
.wapu-single--regular-product .wapu-product-prices > .wapu-single__section {
	gap: 16px;
}


/* 7.7.174 · Regular-product mobile stack + compact variation label. */
body.single-product .wapu-single--regular-product .wapu-single__variant-name.wapu-cart-edit-modal__variant-name {
	font-size:var(--wtds-fs-caption-1) !important;
}

@media (max-width: 47.9375rem) {
	body.single-product .wapu-single--regular-product .wapu-single__content {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		width: 100%;
	}
	body.single-product .wapu-single--regular-product .wapu-single__gallery {
		order: 1;
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
	}
	body.single-product .wapu-single--regular-product .wapu-single__info,
	body.single-product .wapu-single--regular-product #wapu-info {
		order: 2;
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		align-self: stretch !important;
	}
}


/* 7.7.177 · Mobile PDP: gallery first, then the full content column with 24px internal padding. */
@media (max-width: 47.9375rem) {
	body.single-product .wapu-single--regular-product .wapu-single__content {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}
	body.single-product .wapu-single--regular-product .wapu-single__gallery {
		order: 1;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
	}
	body.single-product .wapu-single--regular-product .wapu-single__info,
	body.single-product .wapu-single--regular-product #wapu-info {
		order: 2;
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		padding: 24px !important;
		box-sizing: border-box;
	}
}


/* 7.7.179 · Mobile PDP rhythm: 32px between logical sections, 16px inside each section, 24px title. */
@media (max-width: 47.9375rem) {
	body.single-product .wapu-single--regular-product .wapu-product-column {
		display: flex !important;
		flex-direction: column !important;
		gap: 32px !important;
	}

	body.single-product .wapu-single--regular-product :is(
		.wapu-single__intro,
		.wapu-single__section--pricing,
		.wapu-single__section--variants-availability,
		.wapu-single__commerce--actions,
		.wapu-product-recommendations
	) {
		display: flex;
		flex-direction: column;
		gap: 16px !important;
	}

	body.single-product .wapu-single--regular-product .wapu-single__title {
		font-size:var(--wtds-fs-large-title) !important;
		line-height: 1.2 !important;
	}
}

/* 7.7.180 · Mobile PDP: preserve the five-section order and rhythm. */
@media (max-width: 47.9375rem) {
	body.single-product .wapu-single--regular-product .wapu-product-column {
		display: flex !important;
		flex-direction: column !important;
		gap: 32px !important;
	}

	body.single-product .wapu-single--regular-product .wapu-single__intro {
		order: 1;
	}
	body.single-product .wapu-single--regular-product .wapu-single__section--pricing {
		order: 2;
	}
	body.single-product .wapu-single--regular-product .wapu-single__section--variants-availability {
		order: 3;
	}
	body.single-product .wapu-single--regular-product .wapu-single__commerce--actions {
		order: 4;
	}
	body.single-product .wapu-single--regular-product .wapu-product-recommendations {
		order: 5;
		margin: 0 !important;
	}

	body.single-product .wapu-single--regular-product :is(
		.wapu-single__intro,
		.wapu-single__section--pricing,
		.wapu-single__section--variants-availability,
		.wapu-single__commerce--actions,
		.wapu-product-recommendations
	) {
		display: flex;
		flex-direction: column;
		gap: 16px !important;
		min-width: 0;
		width: 100%;
	}

	body.single-product .wapu-single--regular-product :is(
		.wapu-product-pre-content,
		.wapu-product-content,
		.wapu-single__title-description,
		.wapu-single__desc-wrap,
		.wapu-product-prices
	) {
		row-gap: 16px !important;
		column-gap: 16px !important;
	}
}


/* 7.7.184 · Product tags live at the end of the full-description drawer. */
.wapu-single__offcanvas-desc-wrap {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.wapu-single__product-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

.wapu-single__product-tag {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-caption-1);
	font-weight: var(--wtds-fw-medium);
	line-height: 1.35;
	color: var(--wtds-ink-3);
	outline: none;
}

.wapu-single__product-tag-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 12px;
	flex: 0 0 12px;
	color: currentColor;
}

.wapu-single__product-tag-icon svg {
	display: block;
	width: 12px;
	height: 12px;
}

.wapu-single__product-tag-tooltip {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	z-index: 20;
	width: max-content;
	max-width: min(280px, 72vw);
	padding: 8px 10px;
	border-radius: 8px;
	background: var(--wtds-ink);
	color: var(--wtds-surface);
	box-shadow: var(--wtds-shadow-md);
	font-family: var(--wtds-font-text);
	font-size:var(--wtds-fs-caption-1);
	font-weight: var(--wtds-fw-regular);
	line-height: 1.4;
	white-space: normal;
	text-align: left;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 4px);
	transition: opacity var(--wtds-dur-fast) var(--wtds-ease), transform var(--wtds-dur-fast) var(--wtds-ease), visibility var(--wtds-dur-fast) var(--wtds-ease);
}

.wapu-single__product-tag-tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 8px;
	height: 8px;
	background: var(--wtds-ink);
	transform: translate(-50%, -50%) rotate(45deg);
}

.wapu-single__product-tag.has-tooltip:hover .wapu-single__product-tag-tooltip,
.wapu-single__product-tag.has-tooltip:focus-visible .wapu-single__product-tag-tooltip {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}


/* V48: one notice, icon + content (title, description, action). */
.wapu-restock,.wapu-restock.is-enhanced{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--wtds-s-4);padding:var(--wtds-s-3);border-radius:var(--wtds-r-lg)}
.wapu-restock__content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--wtds-s-2);min-width:0}
.wapu-restock__icon{display:grid;place-items:center;grid-row:1;inline-size:var(--wtds-size-12,3rem);block-size:var(--wtds-size-12,3rem);min-inline-size:var(--wtds-size-12,3rem)}
.wapu-restock__submit{max-width:100%}
.wapu-restock.is-subscribed .wapu-restock__icon{color:var(--wtds-success);background:var(--wtds-success-soft)}
.wapu-restock__action{min-width:0;max-width:100%}
.wapu-restock.is-enhanced .wapu-restock__title,
.wapu-restock.is-enhanced .wapu-restock__copy,
.wapu-restock.is-enhanced .wapu-restock__feedback {
	grid-column: auto;
	margin: 0;
}
.wapu-restock.is-enhanced .wapu-restock__submit {
	flex: 0 0 auto;
	inline-size: auto;
	width: auto;
	min-inline-size: 0;
	max-width: none;
}
.wapu-restock.is-enhanced .wapu-restock__feedback:not([hidden]) {
	display: block;
	margin-top: .125rem;
}
@media (max-width: 30rem) {
	.wapu-restock.is-enhanced { gap: .5rem; padding: .625rem .6875rem; }
	.wapu-restock.is-enhanced .wapu-restock__title { font-size:var(--wtds-fs-ui); }
	.wapu-restock.is-enhanced .wapu-restock__copy { font-size:var(--wtds-fs-caption-1); line-height: 1.3; }
}
.wapu-single .wapu-single__qty-stepper[hidden] { display: none !important; }

/* V56 follow-up: full-width quantity, its limit and the purchase action below. */
.wapu-single .wapu-single__description-trigger { align-self:flex-start; justify-content:flex-start; text-align:left; width:auto; margin-inline:0; }
.wapu-single--regular-product .wapu-single__inline-purchase-row { display:flex; flex-direction:column; align-items:stretch; gap:var(--wtds-s-3); width:100%; }
.wapu-single--regular-product .wapu-single__inline-qty-wrap { display:flex; flex-direction:column; align-items:stretch; flex:0 0 auto; width:100%; }
.wapu-single--regular-product .wapu-single__inline-qty-wrap .wapu-single__qty-stepper { width:100%; max-width:none; grid-template-columns:2.25rem minmax(0,1fr) 2.25rem; }
.wapu-single--regular-product .wapu-single__inline-qty-wrap .wapu-single__inline-qty { width:100%; max-width:none; text-align:center; }
.wapu-single--regular-product .wapu-single__quantity-helper { width:100%; text-align:center; }
.wapu-single--regular-product .wapu-single__inline-cta-btn { flex:0 0 auto; width:100%; min-width:0; }
@media(min-width:62rem){
 .wapu-single--regular-product .wapu-single__inline-cta { display:flex!important; flex-direction:column; width:100%; margin:0; }
 .wapu-single--regular-product .wapu-single__cart-bar { display:none!important; }
}

/* Keep all three secondary actions on the same baseline and control height. */
body.single-product .wapu-single__secondary-actions .wapu-single__mobile-list-actions { --wapu-secondary-action-size:var(--wtds-control-min,2.5rem); align-items:flex-start; }
body.single-product .wapu-single__secondary-actions .wapu-single__mobile-list-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn) { height:var(--wapu-secondary-action-size)!important; min-height:var(--wapu-secondary-action-size)!important; box-sizing:border-box; }
body.single-product .wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share-wrap { margin:0!important; padding:0; width:var(--wapu-secondary-action-size)!important; height:var(--wapu-secondary-action-size)!important; flex:0 0 var(--wapu-secondary-action-size); align-self:flex-start; }
body.single-product .wapu-single__secondary-actions .wapu-single__mobile-list-actions .wapu-single__share { width:var(--wapu-secondary-action-size)!important; height:var(--wapu-secondary-action-size)!important; min-width:0!important; min-height:0!important; aspect-ratio:1; border-radius:50%!important; padding:0!important; }

@media (hover:hover) and (pointer:fine) {
 .wapu-single__related-carousel:not(.is-static) [data-wapu-related-viewport],
 .wapu-single__related-carousel:not(.is-static) [data-wapu-related-viewport] a { cursor:grab; }
 .wapu-single__related-carousel [data-wapu-related-viewport].is-dragging,
 .wapu-single__related-carousel [data-wapu-related-viewport].is-dragging a { cursor:grabbing; user-select:none; }
 .wapu-single__related-carousel [data-wapu-related-viewport].is-dragging { scroll-snap-type:none!important; scroll-behavior:auto!important; }
}

/* Single secondary actions: text links and an icon-only share action. */
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn),
body.single-product .wapu-single .wapu-single__secondary-actions .wapu-single__share {
 background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; color:var(--wtds-ink-3)!important; text-decoration:none!important;
}
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn) {
 border-radius:0!important; font-family:var(--wapu-base-font,var(--wtds-font-text)); font-size:var(--wtds-fs-footnote); font-weight:var(--wtds-fw-medium); letter-spacing:2px; text-transform:uppercase;
}
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn):hover {
 text-decoration:underline!important; text-underline-offset:.25em;
}
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn)::before,
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn)::after,
body.single-product .wapu-single .wapu-single__secondary-actions .wapu-single__share::before,
body.single-product .wapu-single .wapu-single__secondary-actions .wapu-single__share::after { display:none!important; }
body.single-product .wapu-single .wapu-single__secondary-actions .wapu-single__share svg { display:block; width:16px; height:16px; }
body.single-product .wapu-single .wapu-single__secondary-actions .wapu-single__share:hover { color:var(--wtds-action)!important; }

/* Preserve the single's section containers on mobile. */
@media (max-width: 47.9375rem) {
 body.single-product .wapu-single--regular-product :is(.wapu-product-total-content,.wapu-product-purchase,.wapu-product-prices,.wapu-product-availability-actions) {
  display:flex!important; flex-direction:column; gap:32px!important; width:100%; min-width:0;
 }
 body.single-product .wapu-single--regular-product :is(.wapu-product-identity,.wapu-product-description) {
  display:flex!important; flex-direction:column; gap:16px!important; width:100%; min-width:0;
 }
}
.wapu-single__availability-card-body { border-bottom:0; }

/* Secondary actions retain their icons and align together at the right. */
body.single-product .wapu-single .wapu-single__secondary-actions .wapu-single__mobile-list-actions {
 justify-content:flex-end;
}
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions {
 flex:0 1 auto; width:auto; justify-content:flex-end; gap:var(--wtds-s-3);
}
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn) {
 display:inline-flex; flex:0 0 auto; width:auto; align-items:center; gap:var(--wtds-s-2);
}
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > :is(.wcpl-wl-btn,.wcpl-add-to-list-btn) svg {
 display:block!important; width:16px; height:16px; flex:0 0 16px;
}

/* Saved wishlist state: dark label and a filled red heart. */
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > .wcpl-wl-btn:is(.is-active,[aria-pressed="true"]) { color:var(--wtds-ink)!important; }
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > .wcpl-wl-btn:is(.is-active,[aria-pressed="true"]) svg,
body.single-product .wapu-single .wapu-single__secondary-actions .wcpl-product-actions > .wcpl-wl-btn:is(.is-active,[aria-pressed="true"]) svg path { color:var(--wtds-danger)!important; fill:var(--wtds-danger)!important; stroke:var(--wtds-danger)!important; }

/* Single spacing: 32px between sections, 16px inside each section. */
body.single-product .wapu-single--regular-product :is(.wapu-product-column,.wapu-product-total-content,.wapu-product-purchase,.wapu-product-prices,.wapu-product-availability-actions) {
 gap:32px!important;
}
body.single-product .wapu-single :is(.wapu-single__intro,.wapu-product-identity,.wapu-product-description,.wapu-product-pre-content,.wapu-product-content,.wapu-single__title-description,.wapu-single__desc-wrap,.wapu-single__section--pricing,.wapu-single__section--variants-availability,.wapu-single__commerce--actions,.wapu-single__inline-cta,.wapu-single__inline-purchase-row,.wapu-single__secondary-actions,.wapu-single__mobile-list-actions,.wcpl-product-actions,.wapu-product-recommendations,.wapu-single__availability-card-body) {
 gap:16px!important;
}
body.single-product .wapu-single--regular-product :is(.wapu-single__intro,.wapu-single__section--pricing,.wapu-single__section--variants-availability,.wapu-single__commerce--actions,.wapu-single__availability-slot,.wapu-single__secondary-actions,.wapu-single__inline-cta) {
 margin-block:0!important;
}
body.single-product .wapu-single [data-wapu-empty-section] { display:none!important; }
