/* Phase 3 product page (UI/UX overhaul, Direction A1, owner-approved 2026-10-08). Linked only by the ipatio_pdp layout
   handle (Ipatio_ProductPage, flag ipatio_pdp/general/enabled); everything is scoped to body.ipx-pdp. Design: the approved
   prototype docs/ui-ux-overhaul-2026-10/mockups/pdp/pdp.css, applied to the live JetTheme markup (real blocks restyled,
   not copied). Tokens: the Phase 2 chrome's (chrome.css), restated here so the page also stands without the chrome. */

body.ipx-pdp{--ipx-ink:#1d1b19;--ipx-ink-2:#34312d;--ipx-grey:#6b6963;--ipx-line:#e8e3da;--ipx-line-2:#d6cfc3;--ipx-stone:#f6f4f0;
  --ipx-cream:#fffaf1;--ipx-cream-line:#f3e9d8;--ipx-green-deep:#2e5902;--ipx-green-tint:#eef4e0;--ipx-orange:#ff9a02;--ipx-orange-hover:#ffab2e;
  --ipx-link:#9a5600;--ipx-r-sm:8px;--ipx-r-md:12px;--ipx-r-lg:18px;--ipx-sh-1:0 1px 2px rgba(29,27,25,.06);--ipx-sh-2:0 6px 18px rgba(29,27,25,.08)}

/* ---- top: gallery 55 % + buy box ---- */
/* JetTheme sets the columns with .columns .column.main .amtheme-product-wrap (0,4,0): one class more here */
body.ipx-pdp .columns .column.main .amtheme-product-wrap{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);grid-column-gap:48px;column-gap:48px;align-items:start;margin:22px 0 40px}
body.ipx-pdp .columns .column.main .amtheme-product-wrap > .product.media{width:auto;max-width:none;margin:0;min-width:0}
body.ipx-pdp .columns .column.main .amtheme-product-wrap > .amtheme-product-info{display:flex;flex-direction:column;width:auto;max-width:none;min-width:0;color:var(--ipx-ink)}
/* order: brand line, title, stock + SKU, the form */
body.ipx-pdp .amtheme-product-info > .ipxp-brandline{order:1}
body.ipx-pdp .amtheme-product-info > .page-title-wrapper{order:2}
body.ipx-pdp .amtheme-product-info > .amtheme-short-info{order:3}
body.ipx-pdp .amtheme-product-info > .product-info-main{order:4}
body.ipx-pdp .amtheme-product-info,body.ipx-pdp .amtheme-product-info *{letter-spacing:normal}
body.ipx-pdp .amtheme-product-info .ipx-i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* breadcrumb (server-drawn, buy/crumbs.phtml): desktop trail, phone back link */
body.ipx-pdp .ipxp-crumbwrap{margin:18px 0 0;letter-spacing:normal}
body.ipx-pdp .ipxp-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;padding:0;list-style:none;font-size:13px;font-weight:500;line-height:1.4;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-crumbs li{display:inline-flex;align-items:center;gap:6px;margin:0}
body.ipx-pdp .ipxp-crumbs a{color:var(--ipx-grey);font-weight:600;text-decoration:none}
body.ipx-pdp .ipxp-crumbs a:hover{color:var(--ipx-ink);text-decoration:underline;text-underline-offset:3px}
body.ipx-pdp .ipxp-crumbs [aria-current]{color:var(--ipx-ink);font-weight:600}
body.ipx-pdp .ipxp-crumbs .ipx-i,body.ipx-pdp .ipxp-back .ipx-i{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ipx-pdp .ipxp-back{display:none}
@media (max-width:767px){
  body.ipx-pdp .ipxp-crumbwrap{margin:10px 0 0}
  body.ipx-pdp .ipxp-crumbs{display:none}
  body.ipx-pdp .ipxp-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--ipx-ink-2);font-size:14px;font-weight:700;text-decoration:none}
  body.ipx-pdp .ipxp-back .ipx-i{width:16px;height:16px}
}

/* brand + series */
body.ipx-pdp .ipxp-brandline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-brandline a{color:var(--ipx-link);font-weight:600;text-decoration:none}
body.ipx-pdp .ipxp-brandline a:hover{text-decoration:underline;text-underline-offset:3px}
body.ipx-pdp .ipxp-dot{width:4px;height:4px;border-radius:50%;background:var(--ipx-line-2)}

/* title (the brand logo under it gives way to the brand line) */
body.ipx-pdp .amtheme-product-info .page-title-wrapper.product{margin:0;padding:0}
body.ipx-pdp .amtheme-product-info .page-title-wrapper .page-title{margin:0;font:700 28px/1.22 var(--ipx-font-bold,'Ipatio Rounded','Ipatio Rounded Text',sans-serif);color:var(--ipx-ink);letter-spacing:0;text-transform:none}
body.ipx-pdp .amtheme-product-info .page-title-wrapper .amshopby-option-link{display:none}

/* stock pill + SKU */
body.ipx-pdp .amtheme-short-info{margin:12px 0 0;padding:0;border:0}
body.ipx-pdp .amtheme-short-info .product-info-stock-sku{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;padding:0;font-size:13px;color:var(--ipx-grey)}
body.ipx-pdp .product-info-stock-sku .stock{display:inline-flex;align-items:center;gap:7px;height:26px;margin:0;padding:0 11px;border-radius:999px;font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}
body.ipx-pdp .product-info-stock-sku .stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
body.ipx-pdp .product-info-stock-sku .stock.available{background:var(--ipx-green-tint);color:var(--ipx-green-deep)}
body.ipx-pdp .product-info-stock-sku .stock.unavailable{background:#ece8e1;color:var(--ipx-ink)}
body.ipx-pdp .product-info-stock-sku .stock.unavailable::before{background:var(--ipx-grey)}
body.ipx-pdp .product-info-stock-sku .sku{display:inline-flex;gap:4px;margin:0;font-size:13px;color:var(--ipx-grey)}
body.ipx-pdp .product-info-stock-sku .sku .type{font-weight:500;text-transform:none}
body.ipx-pdp .product-info-stock-sku .sku .type::after{content:""}

/* the form: price row, tiles, quantity + Add to Cart + wish list, then everything under the button */
body.ipx-pdp .amtheme-product-info .product-info-main{margin:0}
body.ipx-pdp .amtheme-add-form-bottom{display:flex;flex-flow:row wrap;align-items:flex-start;column-gap:10px}
/* quantity, Add to Cart and the heart share one 56 px row (JetTheme keeps 20 px under the button's wrapper and draws
   boxes content-box: both undone here, so the three line up exactly) */
body.ipx-pdp .amtheme-product-info .amtheme-add-form-bottom > .product-options-bottom{margin-bottom:0!important}
body.ipx-pdp .amtheme-add-form-bottom > :is(.box-tocart.qty,.product-options-bottom,.amtheme-actions-wrap),
body.ipx-pdp .amtheme-add-form-bottom :is(.amtheme-qty-box,#product-addtocart-button,.action.towishlist){box-sizing:border-box}
body.ipx-pdp .amtheme-add-form-bottom > *{margin:0}
body.ipx-pdp .amtheme-add-form-bottom > .product-info-price{order:1;flex:0 0 auto;width:auto;margin:14px 0 0;align-self:center}
body.ipx-pdp .amtheme-add-form-bottom > .ipxp-save{order:2;flex:0 0 auto;margin:14px 0 0;align-self:center}
body.ipx-pdp .amtheme-add-form-bottom > .ipxp-rule{order:3;flex:0 0 100%}
body.ipx-pdp .amtheme-add-form-bottom > .ipxp-sizes{order:4;flex:0 0 100%}
body.ipx-pdp .amtheme-add-form-bottom > .box-tocart.qty{order:5;flex:0 0 132px;width:132px;margin:14px 0 0}
body.ipx-pdp .amtheme-add-form-bottom > .product-options-bottom{order:6;flex:1 1 0;min-width:0;width:auto;margin:14px 0 0}
body.ipx-pdp .amtheme-add-form-bottom > .amtheme-actions-wrap{order:7;flex:0 0 56px;width:56px;margin:14px 0 0}
body.ipx-pdp .amtheme-add-form-bottom > .amtheme-amazon-product{order:8;flex:0 0 100%;display:block}
body.ipx-pdp .amtheme-add-form-bottom > .amtheme-payment-methods{order:9;flex:0 0 100%;width:auto;margin:12px 0 0}

/* price */
body.ipx-pdp .product-info-price .price-box{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0;padding:0}
body.ipx-pdp .product-info-price .price-box .price{font:700 32px/1.1 var(--ipx-font,'Ipatio Rounded Text',sans-serif);color:var(--ipx-ink);font-variant-numeric:tabular-nums;letter-spacing:0}
body.ipx-pdp .product-info-price .price-box .old-price{order:2;margin:0}
body.ipx-pdp .product-info-price .price-box .old-price .price{font-size:16px;font-weight:500;color:var(--ipx-grey);text-decoration:line-through;text-decoration-thickness:1px}
body.ipx-pdp .product-info-price .price-box .special-price{order:1;margin:0}
body.ipx-pdp .ipxp-save{display:inline-flex;align-items:center;min-height:26px;padding:3px 11px;border-radius:999px;background:var(--ipx-green-tint);color:var(--ipx-green-deep);font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap}
body.ipx-pdp .ipxp-rule{height:1px;margin:18px 0 16px;border:0;background:var(--ipx-line)}

/* size tiles */
body.ipx-pdp .ipxp-label{display:block;margin:0 0 8px;font-size:14px;font-weight:700;line-height:1.4;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-label__v{font-weight:600;color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-sizes__head{margin:0}
body.ipx-pdp .ipxp-sizes__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.ipx-pdp .ipxp-size{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;min-height:74px;padding:6px 6px 7px;border:1.5px solid var(--ipx-line-2);border-radius:var(--ipx-r-md);background:#fff;
  color:var(--ipx-ink);text-align:center;text-decoration:none;transition:border-color .15s,box-shadow .15s}
body.ipx-pdp .ipxp-size:hover{border-color:var(--ipx-ink);box-shadow:var(--ipx-sh-1);text-decoration:none}
body.ipx-pdp .ipxp-size:focus-visible{outline:2px solid var(--ipx-ink);outline-offset:2px}
body.ipx-pdp .ipxp-size svg{width:44px;height:30px;margin-bottom:2px;flex:none}
body.ipx-pdp .ipxp-size__l{font-size:13.5px;font-weight:700;line-height:1.2;white-space:nowrap}
body.ipx-pdp .ipxp-size__p{font-size:12px;font-weight:600;color:var(--ipx-ink-2);font-variant-numeric:tabular-nums}
body.ipx-pdp .ipxp-size.-on{border:2px solid var(--ipx-ink);padding:5px 5px 6px;background:var(--ipx-cream)}
body.ipx-pdp .ipxp-size.-on::after{content:"";position:absolute;right:5px;top:5px;width:16px;height:16px;border-radius:50%;
  background:var(--ipx-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat}
body.ipx-pdp .ipxp-size.-out{background:var(--ipx-stone);border-style:dashed}
body.ipx-pdp .ipxp-size.-out svg{opacity:.45;filter:grayscale(1)}
body.ipx-pdp .ipxp-size.-out .ipxp-size__l{color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-size__so{font-size:12px;font-weight:700;color:var(--ipx-grey)}

/* quantity: − 1 + in one box */
body.ipx-pdp .box-tocart.qty .fieldset,body.ipx-pdp .box-tocart.qty .field.qty{margin:0;padding:0;width:100%}
body.ipx-pdp .box-tocart.qty .amtheme-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.ipx-pdp .box-tocart.qty .amtheme-qty-box{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;width:100%;height:56px;margin:0;border:1.5px solid var(--ipx-line-2);border-radius:var(--ipx-r-sm);background:#fff}
body.ipx-pdp .box-tocart.qty .amtheme-minus{grid-column:1;grid-row:1;position:static;display:grid;place-items:center;width:44px;height:52px;margin:0;border:0;background:none;cursor:pointer}
body.ipx-pdp .box-tocart.qty .amtheme-plus{grid-column:3;grid-row:1;position:static;display:grid;place-items:center;width:44px;height:52px;margin:0;border:0;background:none;cursor:pointer}
body.ipx-pdp .box-tocart.qty .amtheme-qty{grid-column:2;grid-row:1;width:100%;height:52px;margin:0;padding:0;border:0;background:none;font-size:17px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;box-shadow:none;-moz-appearance:textfield}
body.ipx-pdp .box-tocart.qty .amtheme-qty::-webkit-inner-spin-button,body.ipx-pdp .box-tocart.qty .amtheme-qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.ipx-pdp .box-tocart.qty .mage-error[generated]{position:absolute;left:0;top:100%;width:max-content;max-width:260px}

/* Add to Cart */
body.ipx-pdp .product-options-bottom .box-tocart,body.ipx-pdp .product-options-bottom .fieldset,body.ipx-pdp .product-options-bottom .actions{margin:0;padding:0;width:100%}
body.ipx-pdp #product-addtocart-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;height:56px;margin:0;padding:0 16px;border-radius:var(--ipx-r-sm);
  background:var(--ipx-orange);border:0;color:var(--ipx-ink);font:700 17px/1 var(--ipx-font,'Ipatio Rounded Text',sans-serif);text-transform:none;letter-spacing:0;box-shadow:none}
body.ipx-pdp #product-addtocart-button:hover{background:var(--ipx-orange-hover)}
body.ipx-pdp #product-addtocart-button .amtheme-title{font:inherit;color:inherit}

/* wish list: one square icon button (Add to Compare stays on listing cards and the compare page) */
body.ipx-pdp .amtheme-actions-wrap .product-social-links,body.ipx-pdp .amtheme-actions-wrap .product-addto-links{display:block;margin:0;padding:0}
body.ipx-pdp .amtheme-actions-wrap .action.tocompare,body.ipx-pdp .amtheme-actions-wrap .action.mailto{display:none}
body.ipx-pdp .amtheme-actions-wrap .action.towishlist{display:grid;place-items:center;width:56px;height:56px;margin:0;padding:0;border:1.5px solid var(--ipx-line-2);border-radius:var(--ipx-r-sm);background:#fff;color:var(--ipx-ink)}
body.ipx-pdp .amtheme-actions-wrap .action.towishlist:hover{border-color:var(--ipx-ink)}
body.ipx-pdp .amtheme-actions-wrap .action.towishlist .amtheme-circle-icon{width:auto;height:auto;margin:0;border:0;background:none;box-shadow:none}
body.ipx-pdp .amtheme-actions-wrap .action.towishlist .amtheme-title{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* sold out (approved prototype): one calm box across the row — bold title, hint, "in stock in other sizes", the alert
   as a full-width secondary button with a mail icon (orange stays for buying), small grey note, normal case. It takes
   the Add to Cart slot (Ipatio_JetThemeFix template); the wish-list heart is not drawn beside it. The selectors carry
   the older OOS-001 rules' classes (uiux-fix.css) so they win without !important */
body.ipx-pdp .amtheme-add-form-bottom > .product-options-bottom:has(.ipatio-oos){flex:0 0 100%;width:100%}
body.ipx-pdp .amtheme-add-form-bottom:has(.ipatio-oos) > .amtheme-actions-wrap{display:none}
body.ipx-pdp .product-options-bottom .box-tocart.ipatio-oos,body.ipx-pdp .ipatio-oos{margin:0;padding:16px 18px;box-sizing:border-box;border-radius:var(--ipx-r-md);background:var(--ipx-stone);border:1px solid var(--ipx-line)}
body.ipx-pdp .box-tocart.ipatio-oos .fieldset{margin:0;padding:0;background:none;border:0}
body.ipx-pdp .box-tocart.ipatio-oos .ipatio-oos__message{margin:0}
body.ipx-pdp .box-tocart.ipatio-oos .ipatio-oos__label{display:block;font-size:17px;font-weight:700;line-height:1.3;color:var(--ipx-ink);text-transform:none;letter-spacing:0}
body.ipx-pdp .box-tocart.ipatio-oos .ipatio-oos__hint{display:block;margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--ipx-ink-2);text-transform:none;letter-spacing:0}
body.ipx-pdp .box-tocart.ipatio-oos .product.alert.stock.ipatio-stock-alert{display:block;margin:12px 0 0;padding:0;background:none;border:0}
body.ipx-pdp .box-tocart.ipatio-oos .product.alert.stock.ipatio-stock-alert .ipatio-stock-alert__button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;margin:0;padding:0 18px;box-sizing:border-box;border:1.5px solid var(--ipx-ink);border-radius:var(--ipx-r-sm);background:#fff;color:var(--ipx-ink);font:700 16px/1.25 var(--ipx-font,'Ipatio Rounded Text',sans-serif);text-align:center;text-transform:none;letter-spacing:0;text-decoration:none;box-shadow:none}
body.ipx-pdp .box-tocart.ipatio-oos .product.alert.stock.ipatio-stock-alert .ipatio-stock-alert__button:hover{background:var(--ipx-stone);color:var(--ipx-ink);border-color:var(--ipx-ink)}
body.ipx-pdp .box-tocart.ipatio-oos .product.alert.stock.ipatio-stock-alert .ipatio-stock-alert__button:focus-visible{outline:3px solid var(--ipx-ink);outline-offset:2px}
body.ipx-pdp .box-tocart.ipatio-oos .product.alert.stock.ipatio-stock-alert .ipatio-stock-alert__button::before{content:'';flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") center/contain no-repeat}
body.ipx-pdp .box-tocart.ipatio-oos .product.alert.stock.ipatio-stock-alert .ipatio-stock-alert__note{display:block;margin:8px 0 0;font-size:13px;line-height:1.4;color:var(--ipx-grey);text-transform:none;letter-spacing:0}
body.ipx-pdp .ipxp-oos-in{margin:12px 0 0;font-size:14px;font-weight:600;line-height:1.45}
body.ipx-pdp .ipxp-oos-in a{color:var(--ipx-link)}

/* under the button: delivery line, At a glance, freight card, trust row, payment marks */
body.ipx-pdp .amtheme-amazon-product .ipatio-delivery-line{display:flex;align-items:flex-start;gap:9px;margin:10px 0 0;padding:0;border:0;background:none;font-size:13.5px;font-style:normal;font-weight:600;line-height:1.4;color:var(--ipx-ink-2)}
body.ipx-pdp .amtheme-amazon-product .ipatio-delivery-line__text{font-style:normal}
body.ipx-pdp .ipatio-delivery-line__icon{width:20px;height:20px;flex:none;color:var(--ipx-green-deep)}
body.ipx-pdp .ipxp-glance{margin:18px 0 0}
body.ipx-pdp .ipxp-facts{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
body.ipx-pdp .ipxp-fact{display:inline-flex;align-items:center;gap:6px;min-height:32px;margin:0;padding:4px 11px 4px 9px;border-radius:999px;background:var(--ipx-stone);border:1px solid var(--ipx-line);font-size:13px;font-weight:600;line-height:1.25;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-fact .ipx-i{width:15px;height:15px;color:var(--ipx-green-deep)}
body.ipx-pdp .ipxp-fact small{font-size:12px;font-weight:500;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-deliv{margin:14px 0 0;padding:13px 16px 14px;border-radius:var(--ipx-r-md);background:var(--ipx-cream);border:1px solid var(--ipx-cream-line)}
body.ipx-pdp .ipxp-deliv p{margin:0}
body.ipx-pdp .ipxp-deliv > p + p{margin-top:6px}
body.ipx-pdp .ipxp-deliv__t{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;line-height:1.35}
body.ipx-pdp .ipxp-deliv__t .ipx-i{width:20px;height:20px;color:var(--ipx-green-deep)}
body.ipx-pdp .ipxp-deliv__d{font-size:13.5px;line-height:1.45;color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-deliv__d.-pricing{font-weight:600;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-deliv__m{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-deliv__m .ipx-i{width:15px;height:15px}
body.ipx-pdp .ipxp-deliv__a{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--ipx-link)}
/* below the form (the add-to-cart form may not hold other forms): accessories, trust row, payment marks */
body.ipx-pdp .amtheme-product-info > .ipxp-pairs{order:5}
body.ipx-pdp .amtheme-product-info > .ipxp-trust{order:6}
body.ipx-pdp .amtheme-product-info > .amtheme-payment-methods{order:7;width:auto;margin:12px 0 0}
/* "Pairs with this model": the curated accessories in stock, one row each with its own Add */
body.ipx-pdp .ipxp-pairs{margin:22px 0 0}
body.ipx-pdp .ipxp-pairs,body.ipx-pdp .ipxp-pairs *,body.ipx-pdp .ipxp-reco,body.ipx-pdp .ipxp-reco *{letter-spacing:normal}
body.ipx-pdp .ipxp-pairs .ipx-i,body.ipx-pdp .ipxp-reco .ipx-i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ipx-pdp .ipxp-pairs__h{margin:0 0 10px;font:700 17px/1.3 var(--ipx-font,'Ipatio Rounded Text',sans-serif);color:var(--ipx-ink)}
body.ipx-pdp .ipxp-pairs ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
body.ipx-pdp .ipxp-pair{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"img txt btn" "img pr btn";align-items:center;gap:2px 12px;margin:0;padding:8px 12px 8px 8px;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-md);background:#fff}
body.ipx-pdp .ipxp-pair__img{grid-area:img;display:grid;place-items:center;width:72px;height:72px;border-radius:var(--ipx-r-sm);background:var(--ipx-stone);overflow:hidden}
body.ipx-pdp .ipxp-pair__img img{width:100%;height:100%;object-fit:contain;padding:4px;mix-blend-mode:multiply}
body.ipx-pdp .ipxp-pair__txt{grid-area:txt;align-self:end;min-width:0}
body.ipx-pdp .ipxp-pair__n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:700;line-height:1.3;color:var(--ipx-ink);text-decoration:none}
body.ipx-pdp .ipxp-pair__n:hover{text-decoration:underline;text-underline-offset:3px}
body.ipx-pdp .ipxp-pair__fit{display:flex;align-items:flex-start;gap:5px;margin:3px 0 0;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--ipx-green-deep)}
body.ipx-pdp .ipxp-pair__fit .ipx-i{width:14px;height:14px;margin-top:1px}
body.ipx-pdp .ipxp-pair__pr{grid-area:pr;align-self:start;margin:2px 0 0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-pair__pr s{margin-left:6px;font-size:12.5px;font-weight:500;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-pair__form{grid-area:btn;margin:0}
body.ipx-pdp .ipxp-pair .ipxp-btn{min-height:44px;padding:0 16px}
body.ipx-pdp .ipxp-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--ipx-line);list-style:none}
body.ipx-pdp .ipxp-trust li{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:13px;font-weight:600;line-height:1.35;color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-trust .ipx-i{color:var(--ipx-green-deep)}
body.ipx-pdp .ipxp-trust a{color:var(--ipx-link)}
body.ipx-pdp .ipxp-linkbtn{display:inline;min-height:0;margin:0;padding:0;border:0;background:none;color:var(--ipx-link);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;box-shadow:none}
body.ipx-pdp .ipxp-linkbtn:hover{background:none;color:var(--ipx-ink)}

/* ---- tablet / small desktop ---- */
@media (max-width:1180px){
  body.ipx-pdp .columns .column.main .amtheme-product-wrap{grid-column-gap:32px;column-gap:32px}
}

/* ---- phone ---- */
@media (max-width:767px){
  body.ipx-pdp .columns .column.main .amtheme-product-wrap{display:block;margin:0 0 28px}
  body.ipx-pdp .amtheme-product-info{margin-top:14px}
  body.ipx-pdp .ipxp-brandline{font-size:13px}
  body.ipx-pdp .amtheme-product-info .page-title-wrapper .page-title{font-size:22px;line-height:1.25}
  body.ipx-pdp .amtheme-short-info{margin-top:10px}
  body.ipx-pdp .product-info-price .price-box .price{font-size:26px}
  body.ipx-pdp .amtheme-add-form-bottom > .product-info-price,body.ipx-pdp .amtheme-add-form-bottom > .ipxp-save{margin-top:10px}
  body.ipx-pdp .ipxp-rule{margin:14px 0}
  body.ipx-pdp .ipxp-sizes__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ipx-pdp .ipxp-size{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;justify-items:start;text-align:left;column-gap:8px;min-height:64px;padding:8px 10px}
  body.ipx-pdp .ipxp-size.-on{padding:7px 9px}
  body.ipx-pdp .ipxp-size svg{grid-row:1/3;width:52px;height:42px;margin:0}
  body.ipx-pdp .ipxp-size__l{align-self:end}
  body.ipx-pdp .ipxp-size__p,body.ipx-pdp .ipxp-size__so{align-self:start}
  body.ipx-pdp .amtheme-add-form-bottom{column-gap:8px}
  body.ipx-pdp .amtheme-add-form-bottom > .box-tocart.qty{flex-basis:112px;width:112px}
  body.ipx-pdp .amtheme-add-form-bottom > .amtheme-actions-wrap{flex-basis:52px;width:52px}
  body.ipx-pdp .amtheme-actions-wrap .action.towishlist{width:52px}
  body.ipx-pdp #product-addtocart-button{font-size:16px;padding:0 12px}
  body.ipx-pdp .ipxp-fact{min-height:34px}
  body.ipx-pdp .ipxp-trust{grid-template-columns:1fr;gap:8px}
}

/* ---- gallery: the photo on a stone 4:3 tile, thumbnails under it (amasty_conf/carousel/carousel_position = under),
   sticky while the buy box scrolls (desktop); a count and a zoom button over the photo (pdp.js) ---- */
body.ipx-pdp .product.media .gallery-placeholder{margin:0;aspect-ratio:auto}
/* amzoomer writes an inline width + min-height (the image's own size) on the container: the tile keeps 4:3 */
body.ipx-pdp #amasty-main-container{position:relative;display:grid;place-items:center;width:100%!important;min-height:0!important;max-width:none;margin:0;aspect-ratio:4/3;background:var(--ipx-stone);border-radius:var(--ipx-r-lg);overflow:hidden}
body.ipx-pdp #amasty-main-container #amasty-main-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;padding:28px;mix-blend-mode:multiply}
body.ipx-pdp .ipxp-gal__count{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ipx-ink);font-size:13px;font-weight:700;box-shadow:var(--ipx-sh-1);font-variant-numeric:tabular-nums}
body.ipx-pdp .ipxp-gal__count[hidden]{display:none}
body.ipx-pdp .ipxp-gal__zoom{position:absolute;right:14px;top:14px;z-index:2;display:grid;place-items:center;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:999px;background:#fff;color:var(--ipx-ink);box-shadow:var(--ipx-sh-2);cursor:pointer}
body.ipx-pdp .ipxp-gal__zoom:hover{background:#fff;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-gal__zoom .ipx-i{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ipx-pdp #amasty-gallery-container{margin:10px 0 0}
body.ipx-pdp #amasty-gallery-images .amasty-gallery-thumb-link{margin:0 4px;border:2px solid transparent;border-radius:var(--ipx-r-sm);background:var(--ipx-stone);overflow:hidden}
body.ipx-pdp #amasty-gallery-images .amasty-gallery-thumb-link.slick-current{border-color:var(--ipx-ink)}
body.ipx-pdp #amasty-gallery-images img.amasty-gallery-image{mix-blend-mode:multiply}
@media (min-width:768px){
  body.ipx-pdp .columns .column.main .amtheme-product-wrap > .product.media{position:sticky;top:80px}
}
@media (max-width:767px){
  body.ipx-pdp .columns .column.main .amtheme-product-wrap > .product.media{margin:0 -16px}
  body.ipx-pdp #amasty-main-container{border-radius:0}
  body.ipx-pdp #amasty-main-container #amasty-main-image{padding:16px}
  body.ipx-pdp #amasty-gallery-container,body.ipx-pdp #amasty-gallery-container.ipatio-has-thumbs{display:none;min-height:0}
  body.ipx-pdp .ipxp-gal__count{left:auto;right:12px;bottom:12px}
  body.ipx-pdp .ipxp-gal__zoom{right:12px;top:12px}
}

/* ---- sections (in place of the tabs): sticky section menu on desktop (+ price and Add to Cart once stuck),
   "On this page" + collapsed sections on phones, a buy bar once the main button has scrolled away ---- */
/* JetTheme's .page-wrapper is a scroll container (overflow-x hidden / overflow-y auto), which disables position:sticky
   (section menu, "On this page", gallery): clip instead, as the blog pages do */
body.ipx-pdp .page-wrapper{overflow-x:clip;overflow-y:visible}
/* JetTheme paints a full-width #fcfcfc band behind the tabs (.catalog-product-view:not(…):not(…), 0,4,0): white here */
body.ipx-pdp .amtheme-productinfo-wrap{margin:0;padding:0;border:0;background:none!important}
body.ipx-pdp .amtheme-productinfo-wrap::before,body.ipx-pdp .amtheme-productinfo-wrap::after{display:none!important}
body.ipx-pdp .amtheme-productaside-wrap{margin:0;padding:0;width:auto;max-width:none}
body.ipx-pdp .ipxp-secwrap{color:var(--ipx-ink)}
body.ipx-pdp .ipxp-secwrap,body.ipx-pdp .ipxp-secwrap *{letter-spacing:normal}
body.ipx-pdp .ipxp-secwrap .ipx-i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ipx-pdp .ipxp-secnav{position:sticky;top:0;z-index:50;margin:12px 0 0;background:#fff;border-bottom:1px solid var(--ipx-line)}
/* stuck: a full-width white band with a soft shadow, drawn by a pseudo-element (the name's hover card can reach below it) */
body.ipx-pdp .ipxp-secnav.-stuck::before{content:"";position:absolute;z-index:-1;top:0;bottom:-1px;left:-100vmax;right:-100vmax;background:#fff;border-bottom:1px solid var(--ipx-line);box-shadow:0 10px 18px -12px rgba(29,27,25,.18)}
body.ipx-pdp .ipxp-secnav [hidden]{display:none!important}
body.ipx-pdp .ipxp-secnav__in{display:flex;align-items:center;gap:20px;min-height:60px}
/* the links keep their width; the product zone takes what is left (pdp.js folds links into "More" to keep the name >= 190 px) */
body.ipx-pdp .ipxp-secnav__links{display:flex;flex:none;align-items:stretch;gap:2px}
body.ipx-pdp .ipxp-secnav__links a,body.ipx-pdp .ipxp-secnav__morebtn{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:60px;margin:0;padding:0 12px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ipx-ink-2);font:600 15px/1.2 var(--ipx-font,'Ipatio Rounded Text',sans-serif);text-transform:none;white-space:nowrap;text-decoration:none;cursor:pointer}
body.ipx-pdp .ipxp-secnav__links a small,body.ipx-pdp .ipxp-secnav__morelist a small{font-size:12.5px;font-weight:700;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-secnav__links a:hover,body.ipx-pdp .ipxp-secnav__morebtn:hover{background:none;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-secnav__links a[aria-current],body.ipx-pdp .ipxp-secnav__morebtn.-current{color:var(--ipx-ink);font-weight:700}
body.ipx-pdp .ipxp-secnav__links a[aria-current]::after,body.ipx-pdp .ipxp-secnav__morebtn.-current::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--ipx-ink)}
body.ipx-pdp .ipxp-secnav__more{position:relative;flex:none}
body.ipx-pdp .ipxp-secnav__morebtn .ipx-i{width:16px;height:16px;transition:transform .2s}
body.ipx-pdp .ipxp-secnav__more.-open .ipxp-secnav__morebtn .ipx-i{transform:rotate(180deg)}
body.ipx-pdp .ipxp-secnav__morelist{position:absolute;top:calc(100% + 6px);left:0;z-index:2;display:none;min-width:220px;padding:6px;background:#fff;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-md);box-shadow:var(--ipx-sh-2)}
body.ipx-pdp .ipxp-secnav__more.-open .ipxp-secnav__morelist{display:grid}
body.ipx-pdp .ipxp-secnav__morelist a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--ipx-r-sm);color:var(--ipx-ink);font-size:15px;font-weight:600;white-space:nowrap;text-decoration:none}
body.ipx-pdp .ipxp-secnav__morelist a:hover{background:var(--ipx-stone)}
body.ipx-pdp .ipxp-secnav__morelist a[aria-current]{font-weight:700;background:var(--ipx-stone)}
/* product zone + price + Add to Cart: its space is kept in both states (nothing moves when the menu sticks); it fades and
   slides in once stuck (opacity / transform only: no layout shift) and leaves the tab order while hidden */
body.ipx-pdp .ipxp-secnav__buy{display:flex;flex:1 1 0;min-width:0;align-items:center;gap:14px;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
body.ipx-pdp .ipxp-secnav.-stuck .ipxp-secnav__buy{visibility:visible;opacity:1;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s}
body.ipx-pdp .ipxp-secnav__prod{position:relative;display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0}
/* a thin divider: links | the product, its price and Add to Cart */
body.ipx-pdp .ipxp-secnav__prod::before{content:"";flex:none;align-self:stretch;width:1px;margin:6px 6px 6px 0;background:var(--ipx-line)}
body.ipx-pdp .ipxp-secnav__thumb{flex:none;width:44px;height:44px;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-sm);background:#fff;object-fit:contain}
body.ipx-pdp .ipxp-secnav__name{min-width:0;font-size:14px;font-weight:700;line-height:1.25;color:var(--ipx-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance}
/* pdp.js steps the name down to 12 px before cutting it; a name that still does not fit shows whole on hover */
body.ipx-pdp .ipxp-secnav__name.-s1{font-size:13px}
body.ipx-pdp .ipxp-secnav__name.-s2{font-size:12px}
body.ipx-pdp .ipxp-secnav__prod.-cut::after{content:attr(data-full);position:absolute;top:calc(100% + 10px);left:17px;z-index:3;width:max-content;max-width:min(440px,80vw);padding:10px 14px;background:#fff;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-md);box-shadow:var(--ipx-sh-2);color:var(--ipx-ink);font-size:14px;font-weight:700;line-height:1.35;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
body.ipx-pdp .ipxp-secnav.-stuck .ipxp-secnav__prod.-cut:hover::after{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease .12s,transform .18s ease .12s,visibility 0s linear .12s}
body.ipx-pdp .ipxp-secnav__price{flex:none;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
body.ipx-pdp .ipxp-secnav__atc,body.ipx-pdp .ipxp-sbar__atc{flex:none;min-height:44px;margin:0;padding:0 18px;border:0;border-radius:var(--ipx-r-sm);background:var(--ipx-orange);color:var(--ipx-ink);font:700 15px/1 var(--ipx-font,'Ipatio Rounded Text',sans-serif);text-transform:none;letter-spacing:0;box-shadow:none;cursor:pointer;white-space:nowrap}
body.ipx-pdp .ipxp-secnav__atc:hover,body.ipx-pdp .ipxp-sbar__atc:hover{background:var(--ipx-orange-hover);color:var(--ipx-ink)}
/* pdp.js adds -tight, then -tighter, then folds the last links into "More" while the name has less than 190 px */
body.ipx-pdp .ipxp-secnav.-tight .ipxp-secnav__links a,body.ipx-pdp .ipxp-secnav.-tight .ipxp-secnav__morebtn{padding:0 8px;font-size:14px}
body.ipx-pdp .ipxp-secnav.-tight .ipxp-secnav__links a[aria-current]::after,body.ipx-pdp .ipxp-secnav.-tight .ipxp-secnav__morebtn.-current::after{left:8px;right:8px}
body.ipx-pdp .ipxp-secnav.-tight .ipxp-secnav__in{gap:14px}
body.ipx-pdp .ipxp-secnav.-tighter .ipxp-secnav__links a small{display:none}
@media (prefers-reduced-motion:reduce){
  body.ipx-pdp .ipxp-secnav__buy,body.ipx-pdp .ipxp-secnav.-stuck .ipxp-secnav__buy,body.ipx-pdp .ipxp-secnav__prod.-cut::after,body.ipx-pdp .ipxp-secnav.-stuck .ipxp-secnav__prod.-cut:hover::after{transition:none;transform:none}
}
body.ipx-pdp .ipxp-jump{display:none}
/* the compact header steps aside while the section menu is stuck (it carries Add to Cart) */
html.ipxp-stuck .ipx-compact{transform:translateY(-110%)!important;visibility:hidden!important}

body.ipx-pdp .ipxp-sec{scroll-margin-top:72px;border-bottom:1px solid var(--ipx-line)}
body.ipx-pdp .ipxp-sec__t{margin:0;font:700 24px/1.2 var(--ipx-font-bold,'Ipatio Rounded','Ipatio Rounded Text',sans-serif);color:var(--ipx-ink);text-transform:none}
body.ipx-pdp .ipxp-sec__h{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;margin:0;padding:28px 0 16px;border:0;border-radius:0;background:none;color:var(--ipx-ink);font:inherit;text-align:left;text-transform:none;box-shadow:none;cursor:default}
body.ipx-pdp .ipxp-sec__h:hover{background:none;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-sec__h small{margin-left:6px;font-size:16px;font-weight:600;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-sec__h > .ipx-i{display:none}
body.ipx-pdp .ipxp-sec__b{padding:0 0 32px}

/* overview */
body.ipx-pdp .ipxp-over{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:start}
body.ipx-pdp .ipxp-over.-solo{grid-template-columns:minmax(0,1fr)}
body.ipx-pdp .ipxp-desc{max-width:72ch;font-size:16px;line-height:1.65;color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-desc .product.attribute.overview{margin:0 0 14px;font-size:17px;font-weight:600;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-desc p{margin:0 0 14px}
body.ipx-pdp .ipxp-desc ul{margin:6px 0 14px;padding-left:22px}
body.ipx-pdp .ipxp-desc li{margin:0 0 6px;line-height:1.5}
body.ipx-pdp .ipxp-over__fig{margin:4px 0 0;border-radius:var(--ipx-r-lg);overflow:hidden;background:var(--ipx-stone)}
body.ipx-pdp .ipxp-over__fig img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}

/* specifications */
body.ipx-pdp .ipxp-specs{columns:2;column-gap:56px}
body.ipx-pdp .ipxp-spec{display:inline-block;width:100%;margin:0 0 22px;break-inside:avoid}
body.ipx-pdp .ipxp-spec h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:700 17px/1.3 var(--ipx-font-bold,'Ipatio Rounded',sans-serif);color:var(--ipx-ink);text-transform:none}
body.ipx-pdp .ipxp-spec h3 .ipx-i{color:var(--ipx-green-deep)}
body.ipx-pdp .ipxp-spec dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);margin:0;border-top:1px solid var(--ipx-line)}
body.ipx-pdp .ipxp-spec dt,body.ipx-pdp .ipxp-spec dd{margin:0;padding:9px 0;border-bottom:1px solid var(--ipx-line);font-size:14px;line-height:1.4}
body.ipx-pdp .ipxp-spec dt{padding-right:16px;color:var(--ipx-grey);font-weight:600}
body.ipx-pdp .ipxp-spec dd{color:var(--ipx-ink);font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
body.ipx-pdp .ipxp-spec dd small{display:block;font-size:12.5px;font-weight:500;color:var(--ipx-grey)}

/* documents (Amasty Product Attachments markup as cards) */
body.ipx-pdp .ipxp-sec.-docs .am-custom-tab > p{margin:0}
body.ipx-pdp .ipxp-sec.-docs .am-attachments-tab{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
body.ipx-pdp .ipxp-sec.-docs .am-fileline{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:4px 12px;min-height:64px;margin:0;padding:12px 14px;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-md);background:#fff}
body.ipx-pdp .ipxp-sec.-docs .am-fileline:hover{border-color:var(--ipx-ink);box-shadow:var(--ipx-sh-1)}
body.ipx-pdp .ipxp-sec.-docs .am-fileicon{grid-row:1/3;width:24px;height:auto;margin:0}
body.ipx-pdp .ipxp-sec.-docs .am-filelink{font-size:14.5px;font-weight:700;line-height:1.3;color:var(--ipx-ink);text-decoration:none}
body.ipx-pdp .ipxp-sec.-docs .am-filelink::after{content:"";position:absolute;inset:0}
body.ipx-pdp .ipxp-sec.-docs .am-filesize{font-size:12.5px;font-weight:500;color:var(--ipx-grey)}

/* warranty & parts */
body.ipx-pdp .ipxp-warr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}
body.ipx-pdp .ipxp-help{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:18px 20px;border-radius:var(--ipx-r-md);background:var(--ipx-green-tint);border:1px solid #dce9c0}
body.ipx-pdp .ipxp-help > .ipx-i{grid-row:1/4;width:26px;height:26px;color:var(--ipx-green-deep)}
body.ipx-pdp .ipxp-help b{font-size:16px}
body.ipx-pdp .ipxp-help p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-help__act{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px}
body.ipx-pdp .ipxp-help__act a{display:inline-flex;align-items:center;gap:6px;color:var(--ipx-link);font-weight:700}
body.ipx-pdp .ipxp-help__act a .ipx-i{width:16px;height:16px}
body.ipx-pdp .ipxp-mfr{padding:18px 20px;border-radius:var(--ipx-r-md);border:1px solid var(--ipx-line)}
body.ipx-pdp .ipxp-mfr b{display:block;font-size:15px}
body.ipx-pdp .ipxp-mfr p{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-mfr a{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--ipx-link);font-weight:700}
body.ipx-pdp .ipxp-mfr a .ipx-i{width:16px;height:16px}
body.ipx-pdp .ipxp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:0 18px;border-radius:var(--ipx-r-sm);font:700 15px/1 var(--ipx-font,'Ipatio Rounded Text',sans-serif);text-transform:none;letter-spacing:0;box-shadow:none;cursor:pointer}
body.ipx-pdp .ipxp-btn.-trust{border:0;background:var(--ipx-green-deep);color:#fff}
body.ipx-pdp .ipxp-btn.-trust:hover{background:#244702;color:#fff}
body.ipx-pdp .ipxp-btn.-secondary{border:1.5px solid var(--ipx-ink);background:#fff;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-btn.-secondary:hover{background:var(--ipx-stone);color:var(--ipx-ink)}
body.ipx-pdp .ipxp-btn .ipx-i{width:18px;height:18px}
body.ipx-pdp .ipxp-btn.-primary{border:0;background:var(--ipx-orange);color:var(--ipx-ink)}
body.ipx-pdp .ipxp-btn.-primary:hover{background:var(--ipx-orange-hover);color:var(--ipx-ink)}
body.ipx-pdp .ipxp-btn.-sm{font-size:14px}
body.ipx-pdp .ipxp-btn.-block{display:flex;width:100%}
body.ipx-pdp .ipxp-btn:focus-visible{outline:2px solid var(--ipx-ink);outline-offset:2px;box-shadow:0 0 0 4px #fff}

/* questions (Amasty FAQ markup) + "Ask our team" in place of the sign-in-only form */
body.ipx-pdp .ipxp-qa{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}
body.ipx-pdp .ipxp-qa .amfaq-product-tab > .block-title,body.ipx-pdp .ipxp-qa .ask-question-form{display:none}
body.ipx-pdp .ipxp-qa .amfaq_questions{display:grid;gap:8px;margin:0}
body.ipx-pdp .ipxp-qa .am-item{margin:0;padding:0;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-md);background:#fff}
body.ipx-pdp .ipxp-qa .am-item .am-title{margin:0;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.35;color:var(--ipx-ink);cursor:pointer}
body.ipx-pdp .ipxp-qa .am-item .am-content{padding:0 16px 14px;font-size:14px;color:var(--ipx-ink-2)}
body.ipx-pdp .ipxp-ask{padding:18px 20px;border-radius:var(--ipx-r-md);background:var(--ipx-stone)}
body.ipx-pdp .ipxp-ask b{display:block;font-size:16px}
body.ipx-pdp .ipxp-ask p{margin:4px 0 12px;font-size:14px;color:var(--ipx-ink-2)}

/* reviews: the theme's duplicate "Be the first to review" box leaves (the section has its own empty state) */
body.ipx-pdp .ipxp-sec.-rev .amtheme-reviews-tab.-am-noreviews,body.ipx-pdp .ipxp-sec.-rev .amtheme-reviews-aside.-am-noreviews{display:none}

/* phone buy bar (pdp.js adds it; fixed, so nothing moves) */
body.ipx-pdp .ipxp-sbar{display:none}

@media (max-width:1180px){
  body.ipx-pdp .ipxp-sec.-docs .am-attachments-tab{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  body.ipx-pdp .ipxp-secnav{display:none}
  body.ipx-pdp .ipxp-jump{position:sticky;top:0;z-index:50;display:block;margin:20px -16px 0;padding:0 16px;background:#fff;border-bottom:1px solid var(--ipx-line)}
  body.ipx-pdp .ipxp-jump.-stuck{box-shadow:var(--ipx-sh-2)}
  body.ipx-pdp .ipxp-jump__btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--ipx-ink);text-align:left;text-transform:none;box-shadow:none;cursor:pointer}
  body.ipx-pdp .ipxp-jump__btn:hover{background:none;color:var(--ipx-ink)}
  body.ipx-pdp .ipxp-jump__btn > span{display:flex;flex-direction:column;line-height:1.2}
  body.ipx-pdp .ipxp-jump__btn small{font-size:12px;font-weight:600;color:var(--ipx-grey)}
  body.ipx-pdp .ipxp-jump__btn b{font-size:16px}
  body.ipx-pdp .ipxp-jump__btn .ipx-i{width:20px;height:20px;transition:transform .2s}
  body.ipx-pdp .ipxp-jump__list{display:none;padding:4px 0 10px}
  body.ipx-pdp .ipxp-jump.-open .ipxp-jump__list{display:grid}
  body.ipx-pdp .ipxp-jump.-open .ipxp-jump__btn .ipx-i{transform:rotate(180deg)}
  body.ipx-pdp .ipxp-jump__list a{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 4px;border-top:1px solid var(--ipx-line);color:var(--ipx-ink);font-size:15px;font-weight:600;text-decoration:none}
  body.ipx-pdp .ipxp-jump__list a small{font-size:13px;color:var(--ipx-grey)}
  body.ipx-pdp .ipxp-jump__list a[aria-current]{font-weight:700;background:var(--ipx-stone);border-radius:8px}
  body.ipx-pdp .ipxp-jump__list a[aria-current]::before{content:"";width:4px;height:22px;margin-right:10px;border-radius:2px;background:var(--ipx-ink)}
  body.ipx-pdp .ipxp-jump__list a[aria-current] span{margin-right:auto}
  body.ipx-pdp .ipxp-sec{scroll-margin-top:56px}
  body.ipx-pdp .ipxp-sec__t{font-size:18px}
  body.ipx-pdp .ipxp-sec__h{min-height:56px;padding:0;cursor:pointer}
  body.ipx-pdp .ipxp-sec__h small{font-size:14px}
  body.ipx-pdp .ipxp-sec__h > .ipx-i{display:block;width:20px;height:20px;transition:transform .2s}
  body.ipx-pdp .ipxp-sec:not(.-open) .ipxp-sec__b{display:none}
  body.ipx-pdp .ipxp-sec.-open .ipxp-sec__h > .ipx-i{transform:rotate(180deg)}
  body.ipx-pdp .ipxp-sec__b{padding:0 0 22px}
  body.ipx-pdp .ipxp-over{display:block}
  body.ipx-pdp .ipxp-over__fig{margin-top:16px}
  body.ipx-pdp .ipxp-desc{font-size:15.5px}
  body.ipx-pdp .ipxp-specs{columns:1}
  body.ipx-pdp .ipxp-spec dl{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
  body.ipx-pdp .ipxp-sec.-docs .am-attachments-tab{grid-template-columns:1fr;gap:8px}
  body.ipx-pdp .ipxp-warr,body.ipx-pdp .ipxp-qa{grid-template-columns:1fr}
  body.ipx-pdp .ipxp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  body.ipx-pdp .ipxp-fact{border-radius:var(--ipx-r-md);min-height:40px;padding:6px 10px 6px 9px}
  body.ipx-pdp .ipxp-fact small{display:block}
  body.ipx-pdp .ipxp-sbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ipx-line);box-shadow:0 -6px 18px rgba(29,27,25,.08);visibility:hidden;transform:translateY(calc(100% + 16px));transition:transform .24s ease-in,visibility 0s linear .24s}
  body.ipx-pdp .ipxp-sbar.-on{visibility:visible;transform:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s}
  body.ipx-pdp .ipxp-sbar,body.ipx-pdp .ipxp-sbar *{letter-spacing:normal}
  body.ipx-pdp .ipxp-sbar__prod{display:flex;flex:1 1 auto;align-items:center;gap:10px;min-width:0}
  body.ipx-pdp .ipxp-sbar__thumb{flex:none;width:44px;height:44px;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-sm);background:#fff;object-fit:contain}
  body.ipx-pdp .ipxp-sbar__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
  body.ipx-pdp .ipxp-sbar__name{font-size:12.5px;font-weight:600;line-height:1.2;color:var(--ipx-ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:keep-all}
  body.ipx-pdp .ipxp-sbar__p{font-size:17px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
  body.ipx-pdp .ipxp-sbar__atc{flex:none;min-height:48px;padding:0 20px;font-size:16px}
  html.ipx-drawer-open body.ipx-pdp .ipxp-sbar,body.ipx-pdp._has-modal .ipxp-sbar,body.ipx-pdp:has(.minicart-wrapper.active) .ipxp-sbar{display:none}
  /* the chat and back-to-top buttons rise with the bar by its measured height (iPhone safe area included): moved with
     translate, which composes with their own transform and is no layout shift */
  body.ipx-pdp .ipcs-launcher{transition:translate .3s cubic-bezier(.2,.8,.2,1),transform .15s ease,background-color .15s ease,opacity .25s ease,visibility .25s}
  /* on the first screen the chat button sat on the price (iPhone 390 × 664 window): while the buy box (price to Add to
     Cart, sold out: the info column) is on screen it waits — the trust row under it opens the same chat — and comes
     back once the box has scrolled away (in stock: with the buy bar, above it). pdp.js sets html.ipxp-buy-out; until it
     runs the button waits too (the chat loader and pdp.js start in no fixed order: no flash on the price). A reply
     waiting or a conversation to continue keeps it visible */
  html:not(.ipxp-buy-out) body.ipx-pdp .ipcs-launcher:not(.ipcs-launcher--unread):not(.ipcs-launcher--continue){opacity:0;visibility:hidden;pointer-events:none}
  body.ipx-pdp .amtheme-backtotop-wrap{transition:translate .3s cubic-bezier(.2,.8,.2,1),opacity .3s ease,visibility .3s ease,transform .3s ease,background-color .3s ease}
  html.ipxp-sbar-on body.ipx-pdp :is(.ipcs-launcher,.amtheme-backtotop-wrap){translate:0 calc(-1 * var(--ipxp-sbar-h, 73px))}
}

/* reviews: the Phase 1 empty state as the approved dashed box with a secondary button */
body.ipx-pdp .ipxp-sec.-rev .ipatio-review-empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:0;padding:20px 22px;border:1.5px dashed var(--ipx-line-2);border-radius:var(--ipx-r-md);background:none}
body.ipx-pdp .ipxp-sec.-rev .ipatio-review-empty__text{margin:0;font-size:15px;font-weight:600;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-sec.-rev .ipatio-review-empty__button{min-height:44px;margin:0;padding:0 18px;border:1.5px solid var(--ipx-ink);border-radius:var(--ipx-r-sm);background:#fff;color:var(--ipx-ink);font:700 15px/1 var(--ipx-font,'Ipatio Rounded Text',sans-serif);text-transform:none;letter-spacing:0;box-shadow:none}
body.ipx-pdp .ipxp-sec.-rev .ipatio-review-empty__button:hover{background:var(--ipx-stone);color:var(--ipx-ink)}
@media (prefers-reduced-motion:reduce){body.ipx-pdp .ipxp-sbar,body.ipx-pdp .ipxp-sbar.-on,body.ipx-pdp :is(.ipcs-launcher,.amtheme-backtotop-wrap){transition:none}}

/* the one recommendation block: "Other 10 × 12 ft gazebos" (same category and size, another series, in stock) */
body.ipx-pdp .ipxp-reco{margin:40px 0 0;color:var(--ipx-ink)}
body.ipx-pdp .ipxp-reco__h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 16px}
body.ipx-pdp .ipxp-reco__h h2{margin:0;font:700 24px/1.2 var(--ipx-font,'Ipatio Rounded Text',sans-serif)}
body.ipx-pdp .ipxp-reco__h a{display:inline-flex;align-items:center;gap:6px;color:var(--ipx-link);font-size:15px;font-weight:700;white-space:nowrap;text-decoration:none}
body.ipx-pdp .ipxp-reco__h a:hover{text-decoration:underline;text-underline-offset:3px}
body.ipx-pdp .ipxp-reco__h a .ipx-i{width:16px;height:16px}
body.ipx-pdp .ipxp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
body.ipx-pdp .ipxp-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--ipx-line);border-radius:var(--ipx-r-md);background:#fff;transition:box-shadow .2s ease}
body.ipx-pdp .ipxp-card:hover,body.ipx-pdp .ipxp-card:focus-within{box-shadow:var(--ipx-sh-2)}
body.ipx-pdp .ipxp-card__img{display:block;aspect-ratio:1/1;margin:8px 8px 0;border-radius:var(--ipx-r-sm);background:var(--ipx-stone);overflow:hidden}
body.ipx-pdp .ipxp-card__img img{display:block;width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:multiply}
body.ipx-pdp .ipxp-card__b{display:flex;flex:1;flex-direction:column;gap:4px;padding:12px 14px 14px}
body.ipx-pdp .ipxp-card__brand{font-size:12.5px;font-weight:700;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-card__n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;font-size:15px;font-weight:700;line-height:1.3;color:var(--ipx-ink);text-decoration:none}
body.ipx-pdp .ipxp-card__n:hover{text-decoration:underline;text-underline-offset:3px}
body.ipx-pdp .ipxp-card__spec{font-size:13px;font-weight:500;line-height:1.35;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-card__pr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:auto 0 0;padding-top:4px}
body.ipx-pdp .ipxp-card__pr b{font-size:19px;font-variant-numeric:tabular-nums}
body.ipx-pdp .ipxp-card__pr s{font-size:13px;color:var(--ipx-grey)}
body.ipx-pdp .ipxp-card__pr .ipxp-save{align-self:center}
body.ipx-pdp .ipxp-card__atc{margin:10px 0 0}
/* Add to Cart on the cards: shown on hover / keyboard focus with a mouse, always on touch screens */
@media (hover:hover) and (pointer:fine){
  body.ipx-pdp .ipxp-card__atc{opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}
  body.ipx-pdp .ipxp-card:hover .ipxp-card__atc,body.ipx-pdp .ipxp-card:focus-within .ipxp-card__atc{opacity:1;transform:none}
}
@media (max-width:1180px){
  body.ipx-pdp .ipxp-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.ipx-pdp .ipxp-cards > .ipxp-card:nth-child(n+4){display:none}
}
@media (max-width:767px){
  body.ipx-pdp .ipxp-pair{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"img txt txt" "img pr btn";gap:4px 10px;padding:8px 10px 8px 8px}
  body.ipx-pdp .ipxp-pair__img{width:64px;height:64px;align-self:start}
  body.ipx-pdp .ipxp-pair__pr{align-self:center}
  body.ipx-pdp .ipxp-pair .ipxp-btn{padding:0 14px}
  body.ipx-pdp .ipxp-reco{margin-top:28px}
  body.ipx-pdp .ipxp-reco__h h2{font-size:20px}
  body.ipx-pdp .ipxp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.ipx-pdp .ipxp-cards > .ipxp-card:nth-child(n+4){display:flex}
  body.ipx-pdp .ipxp-card__img{margin:6px 6px 0}
  body.ipx-pdp .ipxp-card__img img{padding:8px}
  body.ipx-pdp .ipxp-card__b{padding:10px 10px 12px}
  body.ipx-pdp .ipxp-card__n{-webkit-line-clamp:3;min-height:3.9em;font-size:14px}
  body.ipx-pdp .ipxp-card__pr b{font-size:17px}
  body.ipx-pdp .ipxp-card__atc .ipxp-btn{font-size:14px;padding:0 8px}
}
/* keyboard focus (WCAG 2.4.7): the site's ink ring on every control of the page, for keyboard focus only */
body.ipx-pdp :is(.ipxp-gal__zoom,.ipxp-linkbtn,.ipxp-jump__btn,.ipxp-jump__list a,.ipxp-crumbs a,.ipxp-back,.ipxp-brandline a,
  .ipxp-deliv__a,.ipxp-pair__n,.ipxp-card__n,.ipxp-reco__h a,.ipxp-mfr a,.ipxp-help__act a,.ipxp-secnav__morelist a,
  .ipxp-secnav__atc,.ipxp-sbar__atc):focus-visible{outline:2px solid var(--ipx-ink);outline-offset:2px;border-radius:4px;box-shadow:0 0 0 4px #fff}
/* inside the 60 px menu row and the full-width section headers the ring sits inside the control */
body.ipx-pdp :is(.ipxp-secnav__links a,.ipxp-secnav__morebtn,.ipxp-sec__h):focus-visible{outline:2px solid var(--ipx-ink);outline-offset:-3px;border-radius:6px;box-shadow:none}
