.ptp-catalog-buy,.ptp-catalog-buy *,.ptp-accessory-dialog,.ptp-accessory-dialog *{box-sizing:border-box}
.ptp-catalog-buy{display:grid;gap:7px;width:100%;margin-top:14px;padding-top:12px;border-top:1px solid rgba(115,188,209,.2)}
.ptp-catalog-buy__row,.ptp-accessory-dialog__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}
.ptp-ux-item-info{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;color:#e8f3f8;font-size:12px}
.ptp-ux-item-info strong{min-width:0;font-size:12px;line-height:1.3;overflow-wrap:normal;word-break:normal}
.ptp-ux-item-info span{flex:0 0 auto;color:#68dfd1;font-weight:800;white-space:nowrap}
.ptp-ux-stepper{display:grid;grid-template-columns:44px 34px 44px;align-items:center;overflow:hidden;border:1px solid rgba(93,211,195,.32);border-radius:8px;background:#071722}
.ptp-ux-stepper button{display:grid;width:44px;height:44px;min-width:44px;place-items:center;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#dff8f5;font-size:19px;cursor:pointer}
.ptp-ux-stepper button:hover:not(:disabled),.ptp-ux-stepper button:focus-visible{background:rgba(109,226,200,.13);color:#fff;outline:2px solid #6de2c8;outline-offset:-3px}
.ptp-ux-stepper button:disabled{opacity:.35;cursor:not-allowed}
.ptp-ux-stepper span{display:grid;height:44px;place-items:center;border-inline:1px solid rgba(109,226,200,.16);color:#fff;font-size:13px;font-weight:900}
.ptp-catalog-buy__add{width:100%;min-height:46px;margin-top:3px;padding:0 12px;border:1px solid rgba(109,226,200,.42);border-radius:8px;background:#68d8cd;color:#05211f;font-family:inherit;font-weight:800;font-size:13px;line-height:1.2;cursor:pointer}
.ptp-catalog-buy__add:disabled{border-color:rgba(155,184,194,.2);background:rgba(125,151,160,.12);color:#8fa6ae;cursor:not-allowed}
.ptp-accessory-dialog{position:fixed;z-index:999999;inset:0;visibility:hidden;pointer-events:none;font-family:inherit;color:#f4f8fa}
.ptp-accessory-dialog.is-open{visibility:visible;pointer-events:auto}
.ptp-accessory-dialog__backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;border:0!important;background:rgba(2,9,16,.82)!important;backdrop-filter:blur(5px)}
.ptp-accessory-dialog__panel{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;width:min(760px,calc(100% - 28px));max-height:min(760px,calc(100dvh - 28px));transform:translate(-50%,-50%);overflow:hidden;border:1px solid rgba(109,226,200,.38);border-radius:8px;background:#081a28;box-shadow:0 28px 90px rgba(0,0,0,.52);outline:0}
.ptp-accessory-dialog__panel>header,.ptp-accessory-dialog__panel>footer,.ptp-accessory-dialog__error{flex-shrink:0}
.ptp-accessory-dialog__panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid rgba(170,210,220,.14)}
.ptp-accessory-dialog__panel>header span{color:#64e0d2;font-size:10px;font-weight:900;letter-spacing:.12em}
.ptp-accessory-dialog__panel h2{margin:4px 0 3px;color:#fff;font-size:26px;line-height:1.15}
.ptp-accessory-dialog__panel p{margin:0;color:#a9bec8;font-size:13px;line-height:1.45}
.ptp-accessory-dialog__panel>header>button{display:grid;width:44px;height:44px;min-width:44px;place-items:center;margin:0;padding:0;border:1px solid rgba(109,226,200,.3);border-radius:8px;background:#102b38;color:#fff;font-size:24px;cursor:pointer}
.ptp-accessory-dialog__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-height:0;flex:1 1 auto;padding:10px 18px;overflow:auto;overscroll-behavior:contain}
.ptp-accessory-dialog__item{grid-template-columns:48px minmax(0,1fr) auto;padding:10px;border-bottom:1px solid rgba(170,210,220,.12)}
.ptp-accessory-dialog__item img{width:48px;height:54px;padding:3px;border-radius:5px;background:#f4f7f6;object-fit:contain}
.ptp-accessory-dialog__item .ptp-ux-item-info{display:grid;justify-content:stretch}
.ptp-accessory-dialog__error{margin:0 18px!important;padding:10px;border:1px solid rgba(244,132,144,.4);border-radius:6px;color:#ffd9dd!important;background:rgba(134,35,48,.2)}
.ptp-accessory-dialog__panel>footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 22px max(16px,env(safe-area-inset-bottom));border-top:1px solid rgba(170,210,220,.14)}
.ptp-accessory-dialog__panel>footer button{min-height:48px;border-radius:8px;font:800 13px/1.2 inherit;cursor:pointer}
.ptp-accessory-dialog__skip{border:1px solid rgba(109,226,200,.34);background:#102934;color:#eef8fa}
.ptp-accessory-dialog__add{border:1px solid rgba(255,255,255,.13);background:#68d8cd;color:#05211f}
.ptp-accessory-dialog__add:disabled{opacity:.45;cursor:not-allowed}
body.ptp-accessory-open{overflow:hidden!important}
body.single-product .ptp-vial-extras{display:none!important}

/* Catalog enhancement: native product links remain intact; the duplicate native CTA is hidden only after quick-buy mounts. */
.woocommerce ul.products li.product.ptp-has-quick-buy{display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid rgba(128,192,207,.2);border-radius:8px;background:#0a1b29}
.woocommerce ul.products li.product.ptp-has-quick-buy>a:first-child{display:block;min-width:0}
.woocommerce ul.products li.product.ptp-has-quick-buy img{width:100%;height:230px;margin:0 0 12px;padding:14px;border-radius:6px;background:#f4f7f6;object-fit:contain;object-position:center}
.woocommerce ul.products li.product.ptp-has-quick-buy .woocommerce-loop-product__title{min-height:2.7em;margin:0;padding:0;color:#f5f9fb;font-size:17px;line-height:1.35}
.woocommerce ul.products li.product.ptp-has-quick-buy>.price{margin:7px 0 0;color:#6fe0d2;font-weight:800}
.woocommerce ul.products li.product.ptp-has-quick-buy>.button,.woocommerce ul.products li.product.ptp-has-quick-buy>.added_to_cart,.woocommerce ul.products li.product.ptp-has-quick-buy>.woocommerce-loop-product__buttons,.woocommerce ul.products li.product.ptp-has-quick-buy>span[id^="woocommerce_loop_add_to_cart_link_describedby_"]{display:none!important}
.woocommerce-products-header{margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid rgba(113,192,209,.2)}
.woocommerce-products-header__title{margin:0;color:#f5f9fb;font-size:32px;line-height:1.15}

/* WooCommerce block collections use a nested, full-height theme card rather than the classic loop. */
.wc-block-product.ptp-has-quick-buy{display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid rgba(128,192,207,.2);border-radius:8px;background:#0a1b29;box-sizing:border-box}
.wc-block-product.ptp-has-quick-buy>.wp-block-group{min-height:0!important;width:100%;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;gap:12px}
.wc-block-product.ptp-has-quick-buy>.wp-block-group>.wp-block-group{flex:0 0 auto;padding:0!important;width:100%;min-width:0;gap:8px}
.wc-block-product.ptp-has-quick-buy .wp-block-woocommerce-product-button{display:none!important}
.wc-block-product.ptp-has-quick-buy .wp-block-woocommerce-product-image{width:100%;margin:0!important}
.wc-block-product.ptp-has-quick-buy .wp-block-woocommerce-product-image img{width:100%!important;height:230px!important;padding:14px;box-sizing:border-box;object-fit:contain!important;object-position:center;background:#f4f7f6;border-radius:6px}
.wc-block-product.ptp-has-quick-buy .wp-block-post-title{margin:0!important;font-size:17px!important;line-height:1.35;overflow-wrap:normal}
.wc-block-product.ptp-has-quick-buy .wc-block-components-product-price{font-size:14px!important;line-height:1.4;white-space:normal}
.wc-block-product.ptp-has-quick-buy>.ptp-catalog-buy{margin-top:14px}

/* Product page: keep the native WooCommerce gallery and purchase form, but make the first section compact. */
body.single-product .ptp-category-nav--canonical.ptp-category-nav--product-placement{display:none!important}
body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery{margin-bottom:0!important}
body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper{margin:0!important}
body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image img{width:100%!important;height:min(38vw,500px)!important;object-fit:contain!important;object-position:center!important}
body.single-product .flex-control-thumbs{display:flex!important;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
body.single-product .flex-control-thumbs li{flex:0 0 68px!important;width:68px!important;scroll-snap-align:start}
/* Match the existing initialized gallery before FlexSlider enhances it. */
html body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery{opacity:1!important;--ptp-gallery-pane:320px}
html body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery:has(.woocommerce-product-gallery__wrapper>.woocommerce-product-gallery__image:nth-child(2)){min-height:calc(var(--ptp-gallery-pane) + 114px)!important}
html body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery:not(:has(>.flex-viewport))>.woocommerce-product-gallery__wrapper:has(>.woocommerce-product-gallery__image:nth-child(2)){display:flex!important;width:100%!important;overflow-x:auto;scroll-snap-type:x mandatory}
html body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery:not(:has(>.flex-viewport))>.woocommerce-product-gallery__wrapper:has(>.woocommerce-product-gallery__image:nth-child(2))>.woocommerce-product-gallery__image{flex:0 0 100%;width:100%!important;scroll-snap-align:start}
html body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery:not(:has(>.flex-viewport))>.woocommerce-product-gallery__wrapper:has(>.woocommerce-product-gallery__image:nth-child(2)) img{height:var(--ptp-gallery-pane)!important;max-height:var(--ptp-gallery-pane)!important}
@media(max-width:760px){html body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery{--ptp-gallery-pane:300px}}
body.single-product form.cart{margin-bottom:14px!important}
body.single-product form.cart .variations{margin-bottom:10px!important}
body.single-product form.cart .variations tr{display:grid;gap:5px;margin-bottom:8px}
body.single-product form.cart .variations th,body.single-product form.cart .variations td{display:block;width:100%;padding:0!important;text-align:left}
body.single-product form.cart .variations select{width:100%;min-height:44px;margin:0!important}
body.single-product form.cart .single_variation_wrap .woocommerce-variation{margin:8px 0}
body.single-product form.cart .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:10px;align-items:center}
body.single-product form.cart .quantity input.qty{min-height:46px}
body.single-product form.cart .single_add_to_cart_button{min-height:48px;margin:0!important;border-radius:8px!important}
@media(max-width:760px){
 .ptp-accessory-dialog__panel{width:calc(100% - 18px);max-height:calc(100dvh - 18px)}
 .ptp-accessory-dialog__panel>header{padding:16px 14px 12px}.ptp-accessory-dialog__panel h2{font-size:22px}
 .ptp-accessory-dialog__items{grid-template-columns:1fr;padding:6px 10px}.ptp-accessory-dialog__item{padding:8px 4px}
 .ptp-accessory-dialog__panel>footer{padding:12px;grid-template-columns:1fr}.ptp-catalog-buy__row{gap:6px}.ptp-ux-item-info{display:grid;gap:2px}
 .woocommerce ul.products li.product.ptp-has-quick-buy{padding:10px}.woocommerce ul.products li.product.ptp-has-quick-buy img{height:180px;padding:10px}.woocommerce ul.products li.product.ptp-has-quick-buy .woocommerce-loop-product__title{font-size:15px}
 body.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__image img{height:min(58vw,230px)!important}
 body.single-product .flex-control-thumbs li{flex-basis:56px!important;width:56px!important}
 body.single-product .wp-block-post-title{margin-block:4px 8px!important;font-size:28px!important;line-height:1.12!important}
 body.single-product form.cart .woocommerce-variation-add-to-cart{grid-template-columns:92px minmax(0,1fr)}
}
@media(max-width:380px){.ptp-ux-stepper{grid-template-columns:42px 30px 42px}.ptp-ux-stepper button{width:42px;min-width:42px}.woocommerce ul.products li.product.ptp-has-quick-buy img{height:164px}}
@media(prefers-reduced-motion:reduce){.ptp-accessory-dialog *,.ptp-catalog-buy *{transition:none!important}}

.ptp-suite-card--best.ptp-has-quick-buy{display:flex;flex-direction:column;min-width:0}
.ptp-suite-card--best.ptp-has-quick-buy>.ptp-catalog-buy{width:auto;margin:0 16px 16px}
.ptp-suite-card--best.ptp-has-quick-buy .ptp-suite-card__footer{display:none}
.ptp-inline-accessories{grid-column:1 / -1;clear:both;width:100%;min-width:0;margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(115,188,209,.2)}
.ptp-inline-accessories h2{margin:0 0 8px!important;font-size:18px!important;line-height:1.3;color:#f4f8fa}
.ptp-inline-accessories__items{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.ptp-inline-accessories .ptp-accessory-dialog__item{padding:8px 0;grid-template-columns:40px minmax(0,1fr) auto}
.ptp-inline-accessories img{width:40px;height:46px}
.ptp-inline-accessories .ptp-ux-stepper button{background:transparent!important;color:#dff8f5!important;border:0!important;padding:0!important;border-radius:0!important}
.ptp-product-add-error{color:#ffd9dd;grid-column:1 / -1}
@media(max-width:600px){
 html body .woocommerce ul.products:has(>.ptp-has-quick-buy),html body .ptp-suite-bestseller-grid:has(>.ptp-has-quick-buy),html body .wc-block-product-template:has(>.ptp-has-quick-buy){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 html body .woocommerce ul.products li.product.ptp-has-quick-buy{width:100%!important;max-width:none!important;margin:0!important;padding:14px!important}
 html body .ptp-suite-card--best.ptp-has-quick-buy{width:100%!important;max-width:none!important;flex-basis:auto!important;margin:0!important}
 .ptp-catalog-buy .ptp-ux-item-info{display:flex}
 .ptp-suite-card--best.ptp-has-quick-buy>.ptp-catalog-buy{margin-inline:14px}
}

/* Catalogue-only geometry: stock and quick-buy eligibility must not resize photography. */
html.ptp-dark-theme.ptp-dark-shop-archive body.ptp-catalog-ux .elementor-widget-woocommerce-products ul.products li.product,
html body.ptp-catalog-ux .woocommerce ul.products li.product {
 display:flex!important;flex-direction:column;min-width:0;box-sizing:border-box;padding:14px!important;
}
html.ptp-dark-theme.ptp-dark-shop-archive body.ptp-catalog-ux .elementor-widget-woocommerce-products ul.products li.product .ptp-suite-product-media,
html body.ptp-catalog-ux .woocommerce ul.products li.product .ptp-suite-product-media,
html body.ptp-catalog-ux .ptp-suite-card--best .ptp-suite-card__media,
html body.ptp-catalog-ux .wc-block-product.ptp-has-quick-buy .wp-block-woocommerce-product-image {
 display:grid!important;place-items:center!important;box-sizing:border-box;width:100%!important;
 height:240px!important;min-height:240px!important;max-height:240px!important;aspect-ratio:auto!important;
 flex:0 0 240px!important;padding:18px!important;overflow:hidden!important;
}
html.ptp-dark-theme.ptp-dark-shop-archive body.ptp-catalog-ux .elementor-widget-woocommerce-products ul.products li.product .ptp-suite-product-media img,
html body.ptp-catalog-ux .woocommerce ul.products li.product .ptp-suite-product-media img,
html.ptp-dark-theme body.ptp-catalog-ux .ptp-suite-card--best .ptp-suite-card__media img,
html body.ptp-catalog-ux .wc-block-product.ptp-has-quick-buy .wp-block-woocommerce-product-image img {
 display:block!important;box-sizing:border-box;width:204px!important;height:204px!important;
 max-width:100%!important;max-height:204px!important;margin:0!important;padding:0!important;
 object-fit:contain!important;object-position:center!important;transform:none!important;
}
html body.ptp-catalog-ux .ptp-suite-card--best .ptp-suite-card__body {
 flex:0 0 auto!important;min-height:0!important;
}
html body.ptp-catalog-ux .woocommerce ul.products li.product .woocommerce-loop-product__title,
html body.ptp-catalog-ux .ptp-suite-card--best .ptp-suite-card__body h3 {
 min-height:2.7em;line-height:1.35;overflow-wrap:normal;word-break:normal;
}
html body.ptp-catalog-ux .ptp-catalog-buy {
 display:flex;flex-direction:column;flex:0 0 auto;align-items:stretch;
}
html body.ptp-catalog-ux .ptp-catalog-buy__row {flex:0 0 auto}
html body.ptp-catalog-ux .ptp-catalog-buy__add {margin-top:3px}
html body.ptp-catalog-ux .woocommerce ul.products li.product:not(.ptp-has-quick-buy) > .button {margin-top:14px}
/* A long variation list must not stretch adjacent cards or push their CTA down. */
html body.ptp-catalog-ux .woocommerce ul.products,
html body.ptp-catalog-ux .ptp-suite-bestseller-grid,
html body.ptp-catalog-ux .wc-block-product-template {align-items:start!important}
html body.ptp-catalog-ux .woocommerce ul.products li.product,
html body.ptp-catalog-ux .ptp-suite-card--best,
html body.ptp-catalog-ux .wc-block-product.ptp-has-quick-buy {
 align-self:start!important;height:auto!important;min-height:0!important;
}
