/* 2.6: measured intermediate scale. No page zoom or transforms. */
:root { --pp-content-width:clamp(1200px,75vw,1600px); }
body,.pp-v2,.pp-commerce { font-size:17px; }
.pp-header-top { gap:28px; padding-block:10px; }
.pp-header .pp-logo,.pp-header .custom-logo { width:248px; }
.pp-logo>img { display:block; width:100%; height:auto; max-height:none; }
.pp-header-action { min-width:44px; min-height:44px; justify-content:center; }
.pp-header .pp-button-small { min-height:44px; }
.pp-button { min-height:44px; font-size:17px; padding:11px 22px; }
.pp-v2 h2,.pp2-about h2,.pp2-how h2 { font-size:clamp(20px,1.56vw,29px); }
.pp-v2 .pp2-hero h1 { font-size:clamp(33px,2.76vw,58px); }
.pp2-hero,.pp2-hero.pp-reference-scene { min-height:clamp(430px,28vw,560px); }
.pp2-hero>.pp2-wrap { padding-block:36px; }
.pp2-hero-copy>p { font-size:clamp(18px,1.15vw,21px); }
.pp2-hero .pp2-buttons { gap:16px; }
.pp2-trust { margin-top:22px; }
.pp2-games { padding-block:26px 22px; }
.pp-reference-cover { height:clamp(205px,14.7vw,285px); }
.pp2-benefits { gap:26px; }.pp2-benefit { gap:16px; }.pp2-benefit h3 { font-size:22px; }
.pp2-how { padding-block:28px 32px; }.pp2-steps { gap:26px; margin-top:22px; }
.pp2-support { gap:24px; min-height:304px; }.pp2-support p { font-size:19px; }
.pp2-support .pp-button,.pp2-closing .pp-button { min-height:46px; font-size:17px; }
.pp2-closing { min-height:clamp(180px,11vw,275px); padding-block:38px; }
.pp-footer-inner { padding-block:22px; gap:24px; }.pp-socials a { width:44px; height:44px; }

/* Both TI wrapper and link have independent placement rules in the plugin. */

.pp-commerce h1 { font-size:clamp(25px,2.4vw,44px); }
.pp-commerce h2 { font-size:clamp(18px,1.43vw,27px); margin-bottom:16px; }
.pp-commerce-banner { min-height:clamp(240px,21vw,360px); max-height:none; padding-block:24px; }
.pp-commerce-banner p { font-size:clamp(19px,1.48vw,27px); }
.pp-catalog-body { padding-top:24px; }.pp-commerce .pp-catalog-title { font-size:clamp(23px,2vw,37px); }
.pp-catalog-layout { gap:26px; grid-template-columns:clamp(200px,16.6vw,258px) minmax(0,1fr); }
.pp-catalog-chips { margin-bottom:22px; }.pp-catalog-chips .pp-chip { min-height:44px; font-size:16px; }
.pp-filter-panel { padding:18px; }.pp-filter-panel label { min-height:44px; }.pp-filter-panel summary { cursor:pointer; }
.pp-commerce-steps { padding-block:24px 28px; }.pp-commerce-steps ol { gap:24px; }.pp-commerce-steps h3 { font-size:20px; }
.pp-commerce-closing { min-height:clamp(200px,16.5vw,355px); padding-block:36px; }
.pp-commerce-help { min-height:230px; }.pp-commerce-help p { font-size:18px; }
.pp-commerce .pp-signin-banner { min-height:160px; padding-block:22px; background-position:center 45%; }
.pp-commerce .pp-signin-banner::before { background:linear-gradient(90deg,#03131bee,#03131bcc 60%,#03131b55); }
.pp-commerce .pp-signin-banner h1 { max-width:none; font-size:clamp(23px,2vw,34px); }
.pp-commerce .pp-signin-banner p { font-size:18px; max-width:none; }
.pp-account-body { padding-block:26px 40px; }.pp-login-panel { padding:26px; }
.pp-support-mobile-mascot { display:none; }

/* The hero fades independently towards the text and towards the following band. */
.pp-product-page { font-size:clamp(16px,1.03vw,19px); }
.pp-pdp-hero::before {
 opacity:1;
 background-image:linear-gradient(0deg,#03131b 0%,#03131bbf 12%,transparent 38%),linear-gradient(90deg,#03131b 0%,#03131bf5 42%,#03131bd6 62%,#03131b22 100%),url('images/product-hero-v24.webp');
 background-size:100% 100%,100% 100%,auto 100%; background-position:center,center,right top; background-repeat:no-repeat;
}
.pp-pdp-hero-grid { gap:clamp(22px,2.1vw,40px); }
.woocommerce div.product.pp-pdp .product_title { font-size:clamp(22px,2.12vw,39px); }
.woocommerce div.product.pp-pdp .summary>p.price { font-size:clamp(32px,3.22vw,56px); }
.woocommerce div.product.pp-pdp .woocommerce-product-details__short-description { font-size:clamp(18px,1.2vw,22px); }
.pp-pdp-badges { margin-bottom:20px; }.pp-pdp-facts { margin-block:18px 22px; }
.woocommerce div.product.pp-pdp form.cart .pp-buy-now { min-height:62px; padding:13px 18px; font-size:clamp(22px,1.47vw,28px); }
.woocommerce div.product.pp-pdp form.cart .single_add_to_cart_button:not(.pp-buy-now),.woocommerce div.product.pp-pdp form.cart .quantity .qty,.pp-pdp-save .tinvwl_add_to_wishlist_button { min-height:48px; }
.woocommerce div.product.pp-pdp form.cart .single_add_to_cart_button:not(.pp-buy-now)::before { content:none; }
.pp-pdp-gallery { padding:12px; }.pp-pdp-stage { aspect-ratio:1.38; }
.pp-pdp-slide>img,.pp-pdp-enlarge>img { max-height:clamp(312px,32.2vw,570px); }
/* Offset relative to the source image height, never a stretched crop viewport. */
.pp-pdp-art>img { top:0!important; transform:translateY(var(--pp-art-top)); max-height:none!important; }
.pp-pdp-thumb .pp-pdp-art { height:auto; }
.pp-pdp-steps { background:#a6f2ff; background-image:linear-gradient(#a6f2fff2,#a6f2fff2),url('images/closing-wide-v23.webp'); background-position:center 72%; background-size:cover; }
.pp-pdp-steps ol { margin-right:0; gap:20px; }.pp-pdp-steps li { grid-template-columns:54px minmax(0,1fr); gap:16px; }
.pp-pdp-step-icon { display:block; width:54px; height:60px; object-fit:contain; }
.pp-pdp-steps-motto { display:none; }
.pp-pdp-information-only { grid-template-columns:1fr; }.pp-pdp-information-only .pp-pdp-specs { border:0; padding-left:0; }
.pp-pdp-support { min-height:clamp(220px,17.5vw,365px); }
@media(min-width:1600px) {
 .pp-pdp-steps .pp-wrap { padding-right:155px; }
 .pp-pdp-steps-motto { display:block; position:absolute; right:0; top:0; max-width:130px; color:#237fa6; font:600 21px/1.2 var(--pp-body); transform:rotate(-5deg); }
}
@media(min-width:2000px) {
 .pp-commerce,.pp-product-page { font-size:18px; }.pp-catalog .pp-product-meta,.pp-filter-panel label { font-size:16px; }
 .pp-pdp-hero-grid { gap:40px; }.pp-pdp-content { padding-top:30px; }.pp-pdp-information,.pp-pdp-extras { gap:30px; }
}

/* Cart editing remains a separate native form; payment stays in Woo's form. */
.pp-checkout-body { padding-block:22px 36px; }.pp-checkout-body>h1 { font-size:clamp(25px,2vw,36px); margin:8px 0 18px; }
.pp-checkout-grid { gap:24px 28px; margin-top:18px; }
.pp-cart-column { grid-column:1; grid-row:1; }.pp-checkout-panel { grid-column:2; grid-row:1 / span 2; }
.pp-checkout-extras { grid-column:1; grid-row:2; min-width:0; }.pp-checkout-extras .pp-cart-recommendations { margin-top:0; }
.pp-cart-editor,.pp-checkout-panel { padding:21px; }.pp-cart-item { gap:16px; }
.pp-cart-item h3 { font-size:19px; }.pp-cart-line-price { font-size:20px; }
.pp-cart-disclosure>summary { display:none; }.pp-checkout-account-note { font-size:16px; line-height:1.4; margin:0 0 16px; color:#bbdce8; }
.pp-checkout-panel #order_review_heading { margin-block:20px 12px; font-size:20px; }
.pp-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info { padding:12px 16px 12px 44px; margin-bottom:14px; font-size:16px; }
.pp-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before { top:13px; left:16px; }
.pp-checkout-page .woocommerce-form-coupon-toggle a { display:inline-flex; align-items:center; min-height:44px; }
.pp-checkout-panel .woocommerce-additional-fields:empty,.pp-checkout-panel .woocommerce-shipping-fields:empty { display:none; }
.pp-cart-editor .quantity input.qty,.pp-remove-item { min-height:44px; }
@media(max-width:1100px) {
 .pp-header-top { gap:20px; }.pp-header .pp-logo,.pp-header .custom-logo { width:220px; }
 .pp-catalog-layout { grid-template-columns:200px minmax(0,1fr); gap:18px; }
 .pp2-hero-copy { width:50%; }.pp-v2 .pp2-hero h1 { font-size:33px; }
}
@media(max-width:900px) {
 .pp-checkout-grid { grid-template-columns:1fr; gap:18px; }
 .pp-cart-column,.pp-checkout-panel,.pp-checkout-extras { grid-column:1; grid-row:auto; }
 .pp-cart-disclosure { border:1px solid #376273; border-radius:6px; background:#0b202a; }
 .pp-cart-disclosure>summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding:14px 16px; min-height:60px; cursor:pointer; list-style:none; }
 .pp-cart-disclosure>summary::-webkit-details-marker { display:none; }
 .pp-cart-disclosure>summary>span:first-of-type { margin-left:auto; }
 .pp-cart-disclosure-label { color:var(--pp-cyan); text-decoration:underline; font-size:16px; }
 .pp-cart-disclosure[open] .pp-cart-editor { border:0; border-top:1px solid #376273; border-radius:0 0 6px 6px; }
 .pp-cart-disclosure .pp-cart-editor>h2 { display:none; }.pp-cart-actions { margin-top:16px; }
 .pp-cart-disclosure .pp-cart-item { grid-template-columns:56px minmax(0,1fr) auto; padding-block:14px; gap:12px; }
 .pp-cart-disclosure .pp-cart-cover img { width:56px; height:86px; }.pp-cart-disclosure .pp-cart-line-price { grid-column:auto; }
 .pp-cart-disclosure .pp-cart-item-controls { gap:12px; margin-top:8px; }
 .pp-commerce-banner h1 { font-size:28px; }
}
@media(max-width:800px) {
 .pp-header-top { gap:8px; padding-block:10px; }.pp-header-actions { gap:4px; }
 .pp-header-action,.pp-header .pp-menu-toggle { width:44px; min-width:44px; min-height:44px; padding:10px; justify-content:center; }
 .pp-header .pp-cart-toggle { position:relative; padding-right:15px; }
 .pp-cart-count { position:absolute; top:0; right:0; min-width:18px; padding:0 3px; font-size:12px; line-height:18px; }
 .pp-header .pp-icon { width:21px; height:21px; flex:none; }.pp-header .pp-menu a { display:inline-flex; align-items:center; min-height:44px; }
 .pp2-hero,.pp2-hero.pp-reference-scene { min-height:620px; background-size:cover; background-position:center bottom; }
 .pp2-hero>.pp2-wrap { padding:28px 0 245px; }.pp2-hero-copy { width:100%; max-width:560px; }
 .pp2-hero::before { background:linear-gradient(#001021b3,transparent 70%); }
 .pp-v2 .pp2-hero h1 { font-size:clamp(27px,5.1vw,38px); }.pp-reference-cover { height:258px; }
 .pp2-benefits { gap:20px; }.pp2-benefit h3 { font-size:22px; }.pp2-step p,.pp2-benefit p { font-size:17px; }
 .pp2-support { min-height:270px; }.pp2-support h2 { font-size:20px; }
 .pp-pdp-hero-grid { gap:24px; }
 .pp-pdp-hero::before { opacity:1; background-image:linear-gradient(0deg,#03131b 0%,#03131bf0 40%,#03131b99 80%,#03131b66),url('images/product-hero-v24.webp'); background-position:center,right top; background-size:100% 100%,auto 600px; }
 .pp-pdp-stage { aspect-ratio:1.7; }.pp-pdp-slide>img,.pp-pdp-enlarge>img { max-height:350px; }
 .woocommerce div.product.pp-pdp .product_title { font-size:clamp(23px,3.8vw,30px); }
 .woocommerce div.product.pp-pdp .summary>p.price { font-size:39px; }
 .pp-pdp-steps ol { gap:18px; }.pp-pdp-steps li { grid-template-columns:50px minmax(0,1fr); gap:16px; }
 .pp-pdp-step-icon { width:48px; height:56px; }.pp-product-page h2 { font-size:18px; }
 .pp-pdp-description { font-size:17px; }
 .pp-commerce-help,.pp-pdp-support { min-height:0; padding-block:26px; background:#063363 url('images/support-wide-v23.webp') center/cover no-repeat; position:relative; isolation:isolate; }
 .pp-commerce-help::before,.pp-pdp-support::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#00234322,#002343aa); }
 .pp-commerce-help>.pp-wrap,.pp-pdp-support>.pp-wrap { display:grid; grid-template-columns:minmax(90px,28%) minmax(0,1fr); align-items:center; gap:16px 22px; padding:0; text-align:left; }
 .pp-support-mobile-mascot { display:block; grid-column:1; grid-row:1 / span 2; width:100%; height:auto; max-height:250px; object-fit:contain; }
 .pp-commerce-help .pp-wrap>div { margin-left:0; }.pp-pdp-support-copy { grid-column:2; }
 .pp-pdp-support .pp-button { grid-column:2; justify-self:start; }.pp-pdp-support-motto { display:none; }
 .pp-commerce-help h2,.pp-pdp-support h2 { font-size:20px; }.pp-commerce-help p,.pp-pdp-support p { font-size:17px; }
}
@media(max-width:640px) {
 .pp-commerce,.pp-v2 { font-size:17px; }.pp-commerce h1 { font-size:25px; }
 .pp-header .pp-logo,.pp-header .custom-logo { width:clamp(120px,34vw,150px); }
 .pp-commerce-banner { min-height:400px; padding-block:24px; align-items:start; background-size:auto 290px; background-position:66% bottom; }
 .pp-commerce-banner h1 { font-size:26px; }.pp-commerce-banner p { font-size:19px; }
 .pp-commerce .pp-signin-banner { min-height:128px; padding-block:20px; background-size:cover; }
 .pp-commerce .pp-signin-banner h1 { font-size:23px; margin-bottom:8px; }.pp-commerce .pp-signin-banner p { font-size:17px; }
 .pp-catalog-layout { display:block; }.pp-commerce .pp-catalog-title { font-size:23px; }
 .pp-filter-panel summary { min-height:44px; display:flex; align-items:center; }
 .pp-catalog .pp-product-meta { font-size:14px; }.pp-commerce-steps h3 { font-size:20px; }.pp-commerce-steps p { font-size:17px; }
 .pp-cart-editor,.pp-checkout-panel,.pp-login-panel { padding:18px; }
 .pp-cart-disclosure .pp-cart-item { grid-template-columns:50px minmax(0,1fr); }.pp-cart-disclosure .pp-cart-line-price { grid-column:2; }
 .pp-cart-disclosure .pp-cart-item h3 { font-size:18px; }.pp-cart-disclosure .pp-item-meta { font-size:15px; }
 .pp-checkout-body { padding-top:16px; }.pp-checkout-body>h1 { margin-block:6px 14px; font-size:25px; }
 .pp-account-body { padding-block:20px 30px; }.pp-checkout-panel h2,.pp-login-panel h2 { font-size:18px; }
 .pp-checkout-info summary { min-height:44px; padding-top:8px; }
}
@media(max-width:520px) {
 .pp-v2 .pp2-hero h1 { font-size:clamp(24px,6.2vw,30px); line-height:1.35; }
 .pp2-hero,.pp2-hero.pp-reference-scene { min-height:610px; }.pp2-hero>.pp2-wrap { padding:26px 0 245px; }
 .pp2-hero-copy>p { font-size:18px; }.pp2-trust { margin-top:20px; gap:12px; }.pp2-trust li { font-size:10px; }.pp-reference-cover { height:194px; }
 .pp2-section-heading h2,.pp2-about h2,.pp2-how h2 { font-size:19px; }.pp2-about h2 { line-height:1.55; }
 .pp2-support h2 { font-size:16px; }.pp2-support p { font-size:17px; }
 .pp2-closing h2 { font-size:20px; }.pp2-closing { min-height:210px; }
 .pp-pdp-stage { aspect-ratio:1.35; }.pp-pdp-slide>img,.pp-pdp-enlarge>img { max-height:295px; }
 .woocommerce div.product.pp-pdp .product_title { font-size:clamp(20px,4.8vw,25px); }
 .woocommerce div.product.pp-pdp .summary>p.price { font-size:35px; }
 .woocommerce div.product.pp-pdp .woocommerce-product-details__short-description { font-size:18px; }
 .woocommerce div.product.pp-pdp form.cart .pp-buy-now { min-height:60px; font-size:23px; }
 .pp-commerce-help h2,.pp-pdp-support h2 { font-size:18px; line-height:1.5; }
 .pp-commerce-help>.pp-wrap,.pp-pdp-support>.pp-wrap { grid-template-columns:minmax(75px,28%) minmax(0,1fr); gap:14px; }
 .pp-support-mobile-mascot { max-height:200px; }.pp-pdp-support .pp-button,.pp-commerce-help .pp-button { font-size:16px; padding-inline:14px; }
}
@media(max-width:380px) {
 /* A separate actions row keeps all four controls comfortably tappable. */
 .pp-header-top { display:grid; grid-template-columns:1fr; gap:8px; }
 .pp-header .pp-logo,.pp-header .custom-logo { width:180px; justify-self:center; }
 .pp-header-actions { width:100%; margin:0; justify-content:space-between; }.pp-header .pp-search { width:100%; order:3; }.pp-reference-cover { height:248px; }
 .pp-commerce-help>.pp-wrap,.pp-pdp-support>.pp-wrap { grid-template-columns:76px minmax(0,1fr); }
 .pp-commerce-help h2,.pp-pdp-support h2 { font-size:16px; }
}
/* The compact panorama has a safe central band for shallow desktop crops. */
@media(min-width:2000px) {
 .pp2-hero.pp-reference-scene { background-image:url('images/hero-compact-v26.webp'); background-position:center 53%; }
}
@media(min-width:1200px) {
 .pp-commerce-banner:not(.pp-signin-banner) { background-image:url('images/hero-compact-v26.webp'); background-position:center 53%; }
}
@media(min-width:521px) and (max-width:800px) {
 .pp2-hero,.pp2-hero.pp-reference-scene { min-height:640px; background-size:100% auto; }
 .pp2-hero>.pp2-wrap { padding-block:28px; }
 .pp2-hero-copy { width:52%; margin-left:0; }
 .pp-v2 .pp2-hero h1 { font-size:clamp(24px,4vw,31px); }
 .pp2-hero .pp2-buttons { gap:10px; }
 .pp2-hero .pp2-buttons .pp-button { width:100%; max-width:230px; }
 .pp2-trust { flex-wrap:wrap; gap:10px; }
}
/* TI versions without a position class on the link use the wrapper selector. */
