/* 2.7: real catalogue proportions; loaded after the existing homepage revisions. */
:root { --pp-blue:#078cff; --pp-cyan:#a6f2ff; --pp-chat-offset:22px; }
.pp-button,.woocommerce a.button,.woocommerce button.button.alt { background-color:var(--pp-blue); }
.pp-button.pp-button-outline { background:transparent; }
.pp-active-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 16px; font-size:15px; }
.pp-active-filters>span { background:#14313f; padding:5px 10px; border-radius:20px; }
.pp-active-filters a { text-decoration:underline; min-height:44px; display:inline-flex; align-items:center; }
.pp-catalog-chips { flex-wrap:nowrap; overflow-x:auto; max-width:100%; padding:4px 2px 10px; scrollbar-width:thin; }
.pp-catalog-chips .pp-chip { flex-shrink:0; white-space:nowrap; }
.pp-catalog-toolbar { gap:12px; }
.pp-pdp-excerpt { font:400 18px/1.5 var(--pp-body); margin:8px 0 14px; color:#e1f4fb; }
.pp-pdp-facts { margin:14px 0 18px; }
.pp-pdp-badges { margin-bottom:14px; }
.pp-pdp-delivery { margin-bottom:10px; }
.pp-pdp-hero { background:#03131b; }
.pp-pdp-hero::before {
 inset:0; height:760px; max-height:100%;
 background-image:linear-gradient(0deg,#03131b,transparent 30%),linear-gradient(90deg,#03131b 25%,#03131be0 53%,#03131b80 72%,transparent 100%),url('images/product-hero-v24.webp');
 background-size:100% 100%,100% 100%,auto 760px;
 background-position:center,center,right top; background-repeat:no-repeat;
}
.pp-pdp-summary { position:relative; }
.woocommerce div.product.pp-pdp .product_title { font-size:clamp(22px,1.85vw,34px); line-height:1.4; text-wrap:initial; }
.woocommerce div.product.pp-pdp .summary>p.price { font-size:clamp(32px,2.65vw,47px); }
.woocommerce div.product.pp-pdp form.cart { margin-top:18px; }
.woocommerce div.product.pp-pdp form.cart .pp-buy-now { min-height:58px; font-size:24px; }
.pp-pdp-stage { aspect-ratio:auto; height:clamp(360px,30vw,470px); }
.pp-pdp-slide>.pp-pdp-enlarge { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.pp-pdp-slide>img,.pp-pdp-enlarge>img { width:100%; height:100%; max-width:320px; max-height:440px; object-fit:contain; }
.pp-pdp-slide.pp-art-detail img { max-width:100%; max-height:100%; }
.pp-pdp-thumb>img { object-fit:contain; }
.pp-pdp-slide:first-child>.pp-pdp-art { width:280px; max-width:80%; }
.pp-pdp-steps {
 background-image:linear-gradient(90deg,#a6f2ff 0%,#a6f2fff2 48%,#a6f2ffcc 72%,#a6f2ff26 100%),url('images/closing-wide-v23.webp');
 background-size:cover; background-position:center,right 70%;
}
.pp-pdp-steps .pp-wrap { padding-right:0; }
.pp-pdp-steps ol { margin-right:8%; }
.pp-pdp-steps-motto { display:none; }
.pp-mobile-price { font:600 19px/1.2 var(--pp-body); }
.pp-mobile-price .price { margin:0; }
.pp-mobile-price del { display:none; }
.pp-mobile-price ins { background:none; text-decoration:none; }
.pp-mobile-price .woocommerce-price-suffix { display:none; }
#pp-purchase-actions { scroll-margin-top:20px; }
.pp-pdp-description h1,.pp-pdp-description h2,.pp-pdp-description h3 { font:600 21px/1.45 var(--pp-body); margin-top:18px; }
/* Cap width as well as height so square imports cannot dominate portrait covers. */
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:3em; line-height:1.45; }
.woocommerce ul.products li.product { display:flex; flex-direction:column; }
.woocommerce ul.products li.product>a.button { margin-top:auto; min-height:44px; }
.pp-pdp-related-cover img,.pp-cart-cover img,.pp-library-game>img,.tinv-wishlist .product-thumbnail img { object-fit:contain; }
.pp-wishlist-notice { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:99999; width:min(92vw,480px); padding:16px 20px; background:#102b39; color:#fff; border:1px solid #a6f2ff; border-radius:6px; box-shadow:0 4px 24px #0008; }
.pp-wishlist-notice[hidden] { display:none; }
.tinv-wishlist { color:var(--pp-white); }
.tinv-wishlist table { background:#0b202a; border-color:#345568; }
.tinv-wishlist .tinv-modal-inner { background:#0b202a; color:#f4fbff; border:1px solid #6cadc4; }
.tinv-wishlist .product-thumbnail img { max-width:90px; height:120px; }
.tinv-wishlist button,.tinv-wishlist .button { min-height:44px; }
.tinv-wishlist .wishlist-title { font-family:var(--pp-body); }
.pp-legal-links { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; font-size:14px; }
@media(min-width:1600px) { .pp-pdp-hero::before { background-size:100% 100%,100% 100%,auto 800px; height:800px; } }
@media(max-width:1100px) { .pp-pdp-stage { height:370px; }.pp-pdp-enlarge>img { max-height:345px; max-width:260px; } }
@media(max-width:800px) {
 .pp-pdp-stage { height:320px; }.pp-pdp-enlarge>img,.pp-pdp-slide>img { max-height:300px; max-width:230px; }
 .pp-pdp-hero::before { height:610px; background-image:linear-gradient(0deg,#03131b 0%,#03131b33 75%),linear-gradient(90deg,#03131bcc,transparent),url('images/product-hero-v24.webp'); background-size:100% 100%,100% 100%,auto 610px; }
 .pp-pdp-steps { background-image:linear-gradient(90deg,#a6f2fff5,#a6f2ffbb),url('images/closing-wide-v23.webp'); }
 .pp-pdp-steps ol { margin-right:0; }
 .pp-pdp-mobile-purchase { min-height:72px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); gap:12px; }
 .single-product:has(.pp-pdp-mobile-purchase) { padding-bottom:calc(80px + env(safe-area-inset-bottom)); --pp-chat-offset:calc(92px + env(safe-area-inset-bottom)); }
 .single-product .pp-wishlist-notice { bottom:calc(90px + env(safe-area-inset-bottom)); }
 /* Style only the launcher iframe; never move the expanded support conversation. */
 iframe[src*="deskpro-messenger"][src*="/launcher"] { bottom:var(--pp-chat-offset)!important; max-width:64px!important; max-height:64px!important; }
 .pp-chat-launcher-offset { bottom:var(--pp-chat-offset)!important; }
}
@media(max-width:640px) {
 .pp-catalog .pp-commerce-banner { min-height:185px; padding:22px 0; background-size:auto 280px; background-position:68% 58%; align-items:center; }
 .pp-catalog .pp-commerce-banner::before { background:linear-gradient(90deg,#03131be6,#03131b77 65%,#03131b22); }
 .pp-catalog .pp-commerce-banner h1 { font-size:22px; max-width:90%; }
 .pp-catalog .pp-commerce-banner p { font-size:16px; max-width:80%; margin:8px 0 0; }
 .pp-catalog-body { padding-top:14px; }
 .pp-catalog-chips { margin-bottom:12px; }
 .pp-filter-panel { margin-bottom:14px; padding:8px 14px; }
 .pp-catalog-toolbar { margin-bottom:12px; }
 .pp-catalog .woocommerce-result-count { font-size:15px; margin-bottom:10px; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:16px; }
 .pp-pdp-gallery { padding:10px; }.pp-pdp-hero-grid { gap:18px; }
 .pp-pdp-facts>div { grid-template-columns:110px minmax(0,1fr); gap:8px; margin-block:10px; }
 .pp-pdp-facts .pp-icon { width:20px; height:20px; }.pp-pdp-facts dt { gap:7px; }
 .pp-pdp-excerpt { font-size:17px; line-height:1.45; }
 .woocommerce div.product.pp-pdp .product_title { font-size:22px; }
 .pp-pdp-badges>span { padding:6px 10px; font-size:14px; }
 .pp-pdp-description { font-size:16px; }
 .pp-pdp-thumb { min-height:55px; }
 .pp-pdp-mobile-purchase .pp-button { font-size:16px; padding-inline:14px; }
 .pp-pdp-steps { background-position:75% bottom; }
}
@media(max-width:390px) {
 .pp-pdp-stage { height:285px; }.pp-pdp-enlarge>img,.pp-pdp-slide>img { max-height:265px; max-width:200px; }
}

.pp-pdp-badges .pp-pdp-platform { background:#073552; border-color:#69c2e5; }
.pp-pdp-badges .pp-pdp-platform.pp-platform-nintendo { background:#d90013; border-color:#ff9a9a; }
