/* Purple Play — Maxesport-inspired merchandising, original Revuelto identity. */
:root{--v-accent:#7138ef;--v-accent-hover:#5822c9;--v-accent-soft:#eee6ff;--v-ink:#17151c;--v-dark:#17151c;--v-surface:#f6f6f8;--v-line:#e7e5eb;--v-sans:'Jost',sans-serif;--v-display:'Bebas Neue',sans-serif;--v-radius-card:7px;--v-maxw:1440px;--v-section-py:48px}
body.purple{font-family:var(--v-sans);background:white;color:var(--v-ink);letter-spacing:0;line-height:1.5}.purple h1,.purple h2,.purple h3{font-family:var(--v-display);font-weight:400}.purple a{color:inherit}.purple a:focus-visible,.purple button:focus-visible,.purple summary:focus-visible{outline:3px solid #955fff;outline-offset:4px}.pp-wrap{width:100%;max-width:1440px;padding-inline:40px;margin-inline:auto}.pp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.pp-announcement{min-height:34px;background:#07040d;color:#fff;display:flex;align-items:center;justify-content:center;gap:50px;padding:7px 20px;font-size:12px;font-weight:600}.pp-announcement a{text-decoration:none}.pp-announcement a:before{content:'•';margin-right:50px;color:#a97bff}.pp-header{background:white}.pp-header-main{display:flex;align-items:center;gap:30px;min-height:85px}.pp-brand{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}.pp-brand img{object-fit:contain}.pp-brand-lockup{display:block;height:34px;width:auto}.pp-brand-glyph{display:none;height:34px;width:auto}.pp-search{display:flex;align-items:center;flex:1;max-width:470px;background:#f3f3f5;border-radius:5px;min-width:0}.pp-search input{font:400 14px var(--v-sans);border:0;background:transparent;padding:13px 15px;width:100%;min-width:0}.pp-search button{border:0;background:transparent;padding:10px 15px;cursor:pointer;color:#716979}.pp-help{margin-left:auto;background:#f1f0f4;padding:12px 16px;display:flex;align-items:center;gap:16px;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;border-radius:5px}.pp-cart{display:flex;align-items:center;gap:7px;text-decoration:none}.pp-cart b{font-size:11px;display:grid;place-items:center;background:#eee6ff;color:#7138ef;min-width:21px;height:21px;border-radius:50%}.pp-nav-band{background:#17151c}.pp-nav{display:flex;justify-content:flex-start;align-items:center;gap:34px;height:52px}.pp-nav::-webkit-scrollbar{display:none}.pp-nav a{color:#fff;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap}.pp-nav a:hover{color:#cdb5ff}.pp-mobile-menu{display:none}
.pp-home{background:#fff}.pp-campaigns{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:265px 265px;gap:20px;padding-top:34px}.pp-campaign{border-radius:9px;position:relative;overflow:hidden;text-decoration:none;isolation:isolate}.pp-campaign--main{grid-row:span 2;background:#231039;color:white}.pp-campaign-bg{position:absolute;width:100%;height:100%;object-fit:cover;object-position:72% center;z-index:-2}.pp-campaign--main:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(26,9,50,.75),rgba(38,8,70,.1) 90%);z-index:-1}.pp-campaign-copy{padding:36px 40px}.pp-campaign-label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin:0 0 20px}.purple .pp-campaign h1{font-family:var(--v-display);color:white;font-size:clamp(70px,7.5vw,108px);line-height:.96;font-weight:400;font-style:oblique 10deg;text-transform:uppercase;letter-spacing:0;margin:0 0 18px;max-width:450px}.pp-campaign-copy>p:last-child{max-width:270px;font-size:14px;line-height:1.55;margin:0;color:#eee7fa}.pp-campaign-bottom{position:absolute;bottom:28px;left:40px;right:30px;display:flex;align-items:end;justify-content:space-between;gap:20px}.pp-campaign-bottom>span{font:24px/1.05 var(--v-display);font-style:oblique;color:#ddd0ef}.purple .pp-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:13px 22px;min-height:46px;background:#7138ef;color:white;font-size:13px;font-weight:700;border-radius:5px;text-decoration:none}.purple .pp-button--white{background:#fff;color:#17151c}.purple .pp-button:hover{background:#5822c9;color:white}.pp-campaign--audio{background:#e5d9ff}.pp-campaign--mouse{background:#ececf0}/* Survol des tuiles : la photo respire, la tuile se souleve, la fleche avance. */.pp-campaign{transition:transform .35s ease,box-shadow .35s ease}.pp-campaign-bg{transition:transform .6s cubic-bezier(.2,.6,.2,1)}.pp-campaign:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(18,10,31,.3)}.pp-campaign:hover .pp-campaign-bg{transform:scale(1.05)}.pp-campaign .pp-button svg,.pp-campaign .pp-mini-button svg{transition:transform .25s ease}.pp-campaign:hover .pp-button svg,.pp-campaign:hover .pp-mini-button svg{transform:translateX(3px)}@media(prefers-reduced-motion:reduce){.pp-campaign,.pp-campaign-bg,.pp-campaign .pp-button svg,.pp-campaign .pp-mini-button svg{transition:none}.pp-campaign:hover,.pp-campaign:hover .pp-campaign-bg,.pp-campaign:hover .pp-button svg,.pp-campaign:hover .pp-mini-button svg{transform:none}}.pp-tile-copy{position:relative;z-index:2;padding:26px 30px;width:60%;pointer-events:none}.pp-tile-copy>span:first-child{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.purple .pp-tile-copy h2{font-family:var(--v-display);font-style:oblique;font-weight:400;font-size:55px;line-height:.98;text-transform:uppercase;margin:12px 0 20px;color:#28173f}.pp-mini-button{display:inline-flex;align-items:center;gap:14px;background:#fff;border-radius:4px;padding:10px 13px;font-size:11px;font-weight:700}.pp-tile-product{position:absolute;right:8px;top:3%;width:46%;height:94%;object-fit:contain;mix-blend-mode:multiply;z-index:1;transition:transform .2s}.pp-campaign--mouse .pp-tile-product{transform:rotate(12deg);width:42%;right:24px}.pp-campaign:hover .pp-tile-product{transform:scale(1.04)}
.pp-selection,.pp-categories,.pp-worlds{padding-block:40px 12px}.pp-section-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.purple .pp-section-head h2{font-family:var(--v-display);font-size:40px;line-height:1.08;text-transform:uppercase;font-style:oblique;font-weight:400;letter-spacing:0;margin:0;position:relative;isolation:isolate}.pp-section-head h2:before{content:'';position:absolute;width:105px;height:23px;top:1px;left:-7px;transform:skew(-13deg);background:#eae2f9;z-index:-1}.pp-section-head h2 span:before{content:'[ ';color:#7138ef}.pp-section-head h2 span:after{content:']';color:#7138ef;position:absolute;right:0;bottom:0}.pp-section-head h2{padding-right:16px}.pp-section-head>a{font-size:12px;font-weight:700;display:flex;gap:12px;align-items:center;text-decoration:none;white-space:nowrap}.pp-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.pp-product{border:1px solid #e9e7ed;border-radius:7px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.pp-product-image{position:relative;display:block;background:#f7f7f9;aspect-ratio:1.24;overflow:hidden}.pp-product-image img{width:100%;height:100%;object-fit:contain;padding:20px;mix-blend-mode:multiply;transition:transform .2s}.pp-product-image:hover img{transform:scale(1.045)}.pp-sold{position:absolute;top:10px;left:10px;font-size:11px;background:#e9e7ed;padding:4px 8px;border-radius:3px}.pp-product-info{padding:15px 18px 18px;display:flex;flex:1;flex-direction:column}.pp-product-type{color:#706a78;font-size:11px}.purple .pp-product h3{font:600 15px/1.4 var(--v-sans);margin:0 0 15px}.pp-product h3 a{text-decoration:none}.pp-product-bottom{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:center}.pp-product-bottom p{font:30px/1 var(--v-display);margin:0;color:#17151c}.pp-product-bottom small{font:400 11px var(--v-sans)}.pp-product-cta{height:33px;width:36px;border-radius:4px;background:#7138ef;color:#fff!important;display:grid;place-items:center}.pp-category-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.pp-category{display:block;text-align:center;text-decoration:none}.pp-category>div{background:#f5f4f8;height:130px;border-radius:7px;overflow:hidden}.pp-category img{width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:multiply;transition:transform .2s}.pp-category:hover img{transform:scale(1.05)}.pp-category>span{display:block;font:22px var(--v-display);margin-top:12px;text-transform:uppercase}.pp-world-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pp-world{position:relative;min-height:310px;display:block;overflow:hidden;border-radius:8px;text-decoration:none}.pp-world--lilac{background:#e5d9ff}.pp-world--light{background:#eeedf2}.pp-world>div{position:relative;z-index:2;padding:30px;pointer-events:none}.pp-world p{font-size:11px;font-weight:700;text-transform:uppercase;margin:0 0 16px}.purple .pp-world h3{font-family:var(--v-display);font-size:58px;line-height:.98;font-style:oblique;text-transform:uppercase;margin:0 0 24px;max-width:350px}.pp-pill{display:inline-flex;align-items:center;gap:14px;background:white;border-radius:4px;padding:10px 15px;font-size:12px;font-weight:700}.pp-world>img{position:absolute;right:-2%;bottom:-10%;width:50%;height:95%;object-fit:contain;mix-blend-mode:multiply}.pp-world--lilac>img{transform:rotate(-16deg);width:64%;right:-15%;bottom:-12%}.pp-extra{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-block:55px 40px}.purple .pp-extra h2{font-size:46px;line-height:1.05;font-style:oblique;margin:0 0 15px;text-transform:uppercase}.pp-extra p{font-size:14px;color:#706a78;margin:0}.pp-extra-links{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.pp-extra-links a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd9e5;padding:18px 0;text-decoration:none;font-size:14px;font-weight:600}.pp-extra-links svg{color:#7138ef}.pp-assist{display:flex;align-items:center;gap:25px;padding-block:30px;margin-top:10px;margin-bottom:45px;background:#7138ef;color:#fff;max-width:1360px;border-radius:7px}.purple .pp-assist h2{font-size:38px;color:white;margin:0 0 3px;text-transform:uppercase;font-style:oblique}.pp-assist p{font-size:14px;margin:0;color:#ede2ff}.pp-assist>.pp-button{margin-left:auto}.pp-assist-icon{display:flex;align-items:center}
.pp-footer{background:#17151c;color:#d5d1dc}.pp-service-row{background:#f5f4f8;color:#17151c;display:grid;grid-template-columns:repeat(3,1fr);max-width:none;justify-items:center;gap:25px;padding-block:26px}.pp-service-row>div{display:flex;align-items:center;gap:16px}.pp-service-row svg{color:#7138ef}.pp-service-row p{font-size:14px;font-weight:700;margin:0}.pp-service-row small{display:block;font-size:12px;font-weight:400;color:#706a78;margin-top:3px}.pp-footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-block:48px}.purple .pp-footer h2{font:26px/1.1 var(--v-display);font-style:oblique;color:white;text-transform:uppercase;margin:0 0 20px}.pp-footer-main>div>a:not(.pp-brand){display:block;font-size:13px;text-decoration:none;margin-bottom:9px}.pp-footer-main a:hover{text-decoration:underline}.pp-footer-brand .pp-brand{color:#fff}.pp-footer-brand .pp-brand-lockup{height:38px;max-width:100%}.pp-footer-brand>p{font:28px var(--v-display);text-transform:uppercase;color:#c9aeff;margin:25px 0 12px}.pp-footer address{font-style:normal;font-size:12px;line-height:1.8;margin-bottom:18px}.pp-footer address a{text-decoration:none}.pp-footer-bottom{border-top:1px solid #ffffff20;padding-block:20px;font-size:10px;display:flex;justify-content:space-between;gap:20px;color:#aba5b7}.pp-footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.pp-footer-bottom a{text-decoration:none}
/* Apply the same type hierarchy to collection, product, cart and content templates. */
.purple .vpc{border:1px solid #e9e7ed;border-radius:7px;box-shadow:none;background:white}.purple .vpc:hover{box-shadow:none;transform:none}.purple .vpc__media{background:#f7f7f9;border-radius:0}.purple .vpc__img{mix-blend-mode:multiply}.purple .vpc__body{padding:15px}.purple .vpc__name{font:600 15px/1.4 var(--v-sans);text-transform:none;letter-spacing:0}.purple .vpc__cta{border:0;border-radius:4px;background:#7138ef;color:#fff;font:700 12px var(--v-sans)}.purple .vprice__sale{font:30px var(--v-display);color:#17151c}.purple .vpc__foot{gap:8px}.purple .vcol__title,.purple .vsearch__title,.purple .vpage__title,.purple .vcart__title{font:400 50px/1.05 var(--v-display);font-style:oblique;letter-spacing:0;text-transform:uppercase}.purple .vcol__head-b,.purple .vcol__head-c,.purple .vsearch__head,.purple .vpage__head,.purple .vcart__head{padding:0 0 28px;background:white;border-bottom:1px solid #e7e5eb;border-radius:0;margin-bottom:30px}.purple .vcol__sub{font-size:14px}.purple .vcol__panel{border:1px solid #e7e5eb;border-radius:6px;box-shadow:none}.purple .vcol__group-title{font-family:var(--v-sans);font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}.purple .vcol__plat{border-radius:4px}.purple .vpdp__grid{gap:45px}.purple .vpdp__main{background:#f7f7f9;border:0;border-radius:7px;max-height:650px}.purple .vpdp__main-img{mix-blend-mode:multiply;object-fit:contain;max-height:600px}.purple .vpdp__title{font:400 48px/1.03 var(--v-display);font-style:oblique;text-transform:uppercase;letter-spacing:0}.purple .vpdp__price{font-family:var(--v-display);font-size:38px;color:#7138ef}.purple .vpdp__price-ttc{font:400 12px var(--v-sans)}.purple .vpdp__panel{background:#f5f4f8;border:1px solid #e7e5eb;border-radius:7px;padding:22px;box-shadow:none}.purple .vpdp__atc{border-radius:4px;box-shadow:none;background:#7138ef;font-family:var(--v-sans);font-weight:700}.purple .vpdp__trust-item{background:white;border:1px solid #e7e5eb;border-radius:5px}.purple .vpdp__trust-t{font-family:var(--v-sans);font-size:12px;font-weight:700;text-transform:none}.purple .vpdp__tab{font:400 26px var(--v-display);text-transform:uppercase;letter-spacing:0}.purple .vpdp__flabel{font-family:var(--v-sans);font-weight:700;text-transform:none;letter-spacing:0}.purple .vpdp__thumb,.purple .vpdp__swatch,.purple .vpdp__speccard{border-radius:5px}.purple .vpdp__h3{font-family:var(--v-display);font-size:26px}.purple .vcd__panel{background:#fff;color:#17151c}.purple .vcd__title,.purple .vcd__item-title,.purple .vcd__item-name,.purple .vcd__subtotal,.purple .vcd__item-price,.purple .vcd__qval{color:#17151c}.purple .vcd__title{font:30px var(--v-display)}.purple .vcd__item,.purple .vcd__foot,.purple .vcd__head{border-color:#e7e5eb}.purple .vcd__item-variant,.purple .vcd__ship,.purple .vcd__close,.purple .vcd__item-remove,.purple .vcd__empty p{color:#706a78}.purple .vcd__qbtn{background:#eee6ff;color:#7138ef}.purple .vcd__checkout{border-radius:4px}.purple .vcart__summary{background:#f5f4f8;border:1px solid #e7e5eb;border-radius:7px;box-shadow:none}.purple .vcart__checkout,.purple .vcart__empty-btn{background:#7138ef;color:white;border-radius:4px;box-shadow:none}.purple .vcart__line,.purple .vcart__empty{border-radius:7px;box-shadow:none}.purple .vcart__line-img,.purple .vcart__xsell{background:#f7f7f9;border-radius:5px}.purple .vsearch__input{border:1px solid #dedbe5;border-radius:4px;background:#fff}.purple .vpage{max-width:1050px}.purple .legal-prose{font-size:15px;line-height:1.85}.purple .v-btn{border-radius:4px;font-family:var(--v-sans);font-weight:700}
@media(max-width:1150px){.pp-wrap{padding-inline:25px}.pp-header-main{gap:20px}.pp-help{margin-left:auto}.pp-nav{gap:24px;justify-content:start}.pp-nav a{font-size:14px}.pp-campaigns{grid-template-rows:245px 245px}.pp-campaign-copy{padding:28px}.purple .pp-campaign h1{font-size:85px}.pp-campaign-bottom{left:28px;right:25px}.pp-tile-copy{padding:24px}.purple .pp-tile-copy h2{font-size:48px}.pp-mini-button{font-size:10px;gap:6px;padding:10px}.pp-assist{margin-inline:25px;width:auto}.pp-category-grid{grid-template-columns:repeat(8,130px);overflow:auto;padding-bottom:8px}.purple .pp-world h3{font-size:50px;max-width:260px}.pp-footer-main{gap:25px}}
@media(max-width:760px){.pp-wrap{padding-inline:16px}.pp-announcement{font-size:10px;min-height:29px;padding:6px 12px}.pp-announcement>span{display:none}.pp-announcement a:before{display:none}.pp-header{position:relative}.pp-header-main{min-height:112px;gap:15px;flex-wrap:wrap;padding-top:14px;padding-bottom:12px}.pp-header .pp-brand-lockup{display:none}.pp-header .pp-brand-glyph{display:block;height:30px}.pp-footer-brand .pp-brand-lockup{height:30px}.pp-search{order:4;flex:auto;max-width:none;width:100%}.pp-search input{padding:10px 13px;font-size:12px}.pp-search button{padding:8px 12px}.pp-help{display:none}.pp-cart{margin-left:auto}.pp-mobile-menu{display:block}.pp-mobile-menu summary{list-style:none;display:flex;cursor:pointer}.pp-mobile-menu summary::-webkit-details-marker{display:none}.pp-mobile-menu nav{position:absolute;top:112px;left:0;right:0;z-index:30;padding:15px 20px;background:#fff;box-shadow:0 15px 25px #17151c30;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;max-height:70vh;overflow:auto}.pp-mobile-menu nav a{padding:12px 0;border-bottom:1px solid #e7e5eb;font-weight:600;font-size:14px;text-decoration:none}.pp-nav{height:42px;gap:25px}.pp-nav a{font-size:13px}.pp-campaigns{padding-top:18px;grid-template-columns:1fr 1fr;grid-template-rows:390px 255px;gap:12px}.pp-campaign--main{grid-row:auto;grid-column:span 2}.pp-campaign{border-radius:6px}.pp-campaign-copy{padding:25px}.pp-campaign-label{font-size:10px;margin-bottom:16px}.purple .pp-campaign h1{font-size:clamp(60px,19vw,74px);max-width:310px;margin-bottom:16px}.pp-campaign-copy>p:last-child{font-size:12px;max-width:230px}.pp-campaign-bottom{bottom:22px;left:25px;right:22px;gap:10px}.pp-campaign-bottom>span{font-size:20px}.purple .pp-button{padding:12px 16px;min-height:42px;font-size:12px}.pp-campaign-bg{object-position:72% center}.pp-tile-copy{padding:16px;width:100%;height:100%}.pp-tile-copy>span:first-child{font-size:9px}.purple .pp-tile-copy h2{font-size:30px;margin:8px 0;max-width:125px}.pp-tile-product{width:52%;height:44%;top:auto;bottom:35px;right:0;z-index:0}.pp-campaign--mouse .pp-tile-product{width:50%;right:5px;bottom:34px}.pp-mini-button{position:absolute;bottom:13px;left:13px;right:13px;justify-content:center;padding:8px 5px;font-size:9px;min-height:30px}.pp-mini-button svg{width:12px}.pp-selection,.pp-categories,.pp-worlds{padding-block:28px 5px}.pp-section-head{gap:12px;margin-bottom:18px}.purple .pp-section-head h2{font-size:30px;max-width:265px}.pp-section-head h2:before{height:18px;width:75px}.pp-section-head>a{font-size:10px;white-space:normal;max-width:75px;gap:5px;flex-shrink:0}.pp-section-head>a svg{width:14px;flex-shrink:0}.pp-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pp-product-image{aspect-ratio:1.1}.pp-product-image img{padding:12px}.pp-product-info{padding:10px 12px 12px}.pp-product-type{font-size:10px}.purple .pp-product h3{font-size:12px;line-height:1.4;margin-bottom:12px}.pp-product-bottom p{font-size:25px}.pp-product-cta{width:29px;height:28px}.pp-product-cta svg{width:17px}.pp-category-grid{grid-template-columns:repeat(8,100px);gap:10px}.pp-category>div{height:100px}.pp-category>span{font-size:19px;margin-top:8px}.pp-world-grid{grid-template-columns:1fr;gap:12px}.pp-world{min-height:265px}.pp-world>div{padding:24px}.purple .pp-world h3{font-size:44px;max-width:225px}.pp-world p{font-size:10px}.pp-world>img{width:45%;height:85%;right:-2%;bottom:-6%}.pp-world--lilac>img{width:65%;right:-18%;bottom:-16%}.pp-pill{font-size:10px;padding:10px 12px}.pp-extra{grid-template-columns:1fr;gap:18px;padding-block:35px 24px}.purple .pp-extra h2{font-size:38px}.pp-extra p{font-size:13px}.pp-extra-links{gap:0 20px}.pp-extra-links a{font-size:12px;padding-block:15px}.pp-assist{margin:12px 16px 30px;padding:24px;flex-wrap:wrap;gap:12px}.pp-assist-icon{display:none}.purple .pp-assist h2{font-size:32px}.pp-assist p{font-size:12px}.pp-assist>.pp-button{margin-left:0}.pp-service-row{grid-template-columns:1fr;justify-items:start;padding:25px;gap:20px}.pp-service-row p{font-size:13px}.pp-service-row small{font-size:11px}.pp-footer-main{grid-template-columns:1fr 1fr;gap:28px 18px;padding-block:32px}.pp-footer-brand{grid-column:1/-1}.pp-footer-main>div:last-child{grid-column:1/-1}.purple .pp-footer h2{font-size:23px}.pp-footer-main>div>a:not(.pp-brand){font-size:12px}.pp-footer-bottom{flex-direction:column;font-size:9px}.pp-footer-bottom>div{gap:15px}.purple .vcol__title,.purple .vsearch__title,.purple .vpage__title,.purple .vcart__title{font-size:38px}.purple .v-sec{padding-block:28px}.purple .vpdp__title{font-size:36px}.purple .vpdp__grid{gap:25px}.purple .vpdp__price{font-size:32px}.purple .vpc__body{padding:12px}.purple .vpc__name{font-size:12px}.purple .vprice__sale{font-size:25px}.purple .vpc__cta{font-size:10px}.purple .vpdp__main{max-height:430px}.purple .vpdp__main-img{max-height:400px}}
@media(prefers-reduced-motion:reduce){.purple *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Product reassurance: comfortable insets and a stable two-column layout. */
.purple .vpdp__trust{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block:24px;align-items:stretch}
.purple .vpdp__trust-item{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border:1px solid #e7e5eb;border-radius:7px}
.purple .vpdp__trust-icon{flex-shrink:0;width:38px;height:38px;margin:0}
.purple .vpdp__trust-t{margin:0;font-size:13px;line-height:1.4;letter-spacing:0}
.purple .vpdp__trust-s{margin:0;font-size:12px;line-height:1.55;overflow-wrap:break-word}
@media(max-width:480px){.purple .vpdp__trust{gap:10px}.purple .vpdp__trust-item{padding:14px}.purple .vpdp__trust-t{font-size:12px}}

/* Collection layout: one continuous white surface and a padded filter panel. */
.purple .vcol{background:#fff;box-shadow:none;clip-path:none;padding-top:24px}
.purple .vcol__crumb{margin-bottom:12px;font-size:12px}
.purple .vcol__crumb ol{justify-content:flex-start}
.purple .vcol__head-c,.purple .vcol__head-b{text-align:left;background:transparent;padding:10px 0 26px;margin-bottom:28px;border-bottom:1px solid #e7e5eb}
.purple .vcol__title{margin:0 0 10px}
.purple .vcol__sub{max-width:640px;margin:0;font-size:14px;line-height:1.6}
.purple .vcol__panel{background:#f8f7fa;padding:20px;border:1px solid #e7e5eb;border-radius:8px;gap:18px}
.purple .vcol__filters-title{font-size:26px;line-height:1.1;font-weight:400}
.purple .vcol__panel-head{padding-bottom:16px;border-bottom:1px solid #e7e5eb}
.purple .vcol__group{padding-top:16px}
.purple .vcol__group--first{padding-top:0}
.purple .vcol__group-title{font-size:13px;line-height:1.4;align-items:flex-start;color:#17151c}
.purple .vcol__group-right{gap:5px;max-width:55%;flex-shrink:0}
.purple .vcol__group-sum{font-size:11px;max-width:100%;white-space:normal;text-align:right}
.purple .vcol__toggle{padding:0;font-family:var(--v-sans);font-size:13px;line-height:1.4}
.purple .vcol__count--side{margin:0;font-size:12px}
.purple .vcol__apply{position:static;margin-top:0;padding:12px;min-height:44px;border-radius:5px;box-shadow:none;font:600 13px var(--v-sans)}
.purple .vcol__apply:hover{transform:none;box-shadow:none}
.purple .vcol__select,.purple .vcol__mobtrigger{border-radius:5px;box-shadow:none}
.purple .vpdp__trust-icon{display:none}
.purple .vpdp__trust{border-bottom:0}
@media(min-width:1024px){.purple .vcol__aside{width:280px;padding-right:0;border-right:0}.purple .vcol__layout{gap:28px}}
@media(max-width:1023px){.purple .vcol__aside.is-open{padding:18px;background:#fff}.purple .vcol__aside.is-open .vcol__panel{padding:0;border:0;background:#fff}.purple .vcol__head-c,.purple .vcol__head-b{padding-top:4px;margin-bottom:22px}.purple .vcol__group-right{max-width:60%}}

/* CTA « Ajouter au panier » — ambre. Le violet reste la signature (prix, variante) ;
   le bouton est le seul element de sa couleur sur la colonne.
   Specificites : (0,2,0) sur le fond pour laisser .vpdp__atc.is-added (vert, charge
   plus bas) gagner apres l'ajout ; (0,3,0) au survol pour battre .vpdp__atc:hover ;
   body.purple (0,3,1) sur le focus pour battre .vpdp__atc:focus-visible. */
.purple .vpdp__atc{background:#f0ad4a;color:#17151c}
.purple .vpdp__atc:hover{background:#e09a2e;color:#17151c}
body.purple .vpdp__atc:focus-visible{outline-color:#8a5a00}

/* Mobile : la bande de categories fait doublon avec le menu burger, qui liste deja
   les memes collections. On la masque sous 760px — meme point de rupture que
   .pp-mobile-menu{display:block}. Le tiroir mobile est positionne sur .pp-header-main
   (top:112px), pas sur la bande : le masquage ne le decale pas. */
@media(max-width:760px){.pp-nav-band{display:none}}

/* Banderole : mention « Paiement securise » avec cadenas. .pp-secure porte sa propre
   classe car la regle mobile .pp-announcement>span{display:none} masque le slogan. */
.pp-secure{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.pp-secure svg{flex:none}

/* Mobile : logo complet « REVUELTO GAMING » au lieu du seul monogramme.
   Lockup 1200x172 → a 26px de haut il fait 181px de large, ce qui laisse la place
   au panier et au burger sur la meme ligne des 360px de large. */
@media(max-width:760px){
  .pp-announcement{gap:14px}
  .pp-announcement .pp-secure{display:inline-flex}
  .pp-header .pp-brand-lockup{display:block;height:26px}
  .pp-header .pp-brand-glyph{display:none}
}


/* Grande banniere d'accueil : toute la tuile est cliquable, pas seulement le
   bouton. Les deux petites tuiles sont deja des <a> complets. Le lien reste
   unique (un seul libelle pour les lecteurs d'ecran, focus clavier sur le
   bouton visible) ; le clic sur la tuile est relaye en JS, car .pp-campaign-bottom
   est positionne et un pseudo-element etire ne couvrirait que la bande du bas. */
.pp-campaign--main{cursor:pointer}

/* Crochet fermant des titres de section : il etait en position absolue, cale a
   droite du bloc. Sur un titre qui passe a la ligne il se retrouvait suspendu au
   milieu de la rangee, loin du texte. En flux normal il suit le dernier mot,
   quel que soit le nombre de lignes. */
.pp-section-head h2 span:after{content:' ]';position:static;right:auto;bottom:auto}
.pp-section-head h2{padding-right:0}

/* ── Prix de vente en vert (skin purple) ─────────────────────────────────
   Le prix paye passe en vert et se lit AVANT l'ancien prix barre. Les
   surcharges du skin ecrasaient la couleur posee dans voltage.css. */
.purple .vprice__sale{color:var(--v-promo)}
.purple .vpdp__price,.purple .vpdp__price .vprc__now{color:var(--v-promo)}
.purple .pp-product-bottom p{color:var(--v-promo)}

/* Ancien prix barre sur la carte d'accueil, a la suite du prix vert. Le prix
   occupe une ligne a lui : sur une carte etroite le barre passe en dessous
   plutot que de pousser la pastille fleche hors de la carte. */
.pp-product-bottom p{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;min-width:0}
.pp-product-was{font-family:var(--v-sans);font-size:13px;font-weight:500;color:#706a78;text-decoration:line-through;text-decoration-thickness:1px}
@media(max-width:760px){.pp-product-was{font-size:11px}.vprice__was{font-size:11px;margin-left:6px}}

/* La pastille fleche des cartes catalogue est un <a> : « .purple a{color:inherit} »
   l'emportait sur « .vpc__cta-mini{color:#fff} » et laissait la fleche sombre. */
.purple .vpc__cta-mini{color:#fff}
.purple .vpc__cta-mini--oos{color:var(--v-ink-soft)}

/* ── Barre de navigation : bandeau clair et rayons regroupes ──────────────
   Les dix rayons tenaient sur une seule ligne noire qui debordait. Ils sont
   regroupes en familles ; le chevron n'apparait que la ou il y a vraiment un
   menu deroulant. Ouverture au survol ET au focus clavier (:focus-within), le
   declencheur est un <button> pour rester atteignable a la tabulation. */
.pp-nav-item{position:relative;display:flex;align-items:center;align-self:stretch}
.pp-nav-trigger{display:inline-flex;align-items:center;gap:7px;height:100%;padding:0;border:0;background:none;cursor:pointer;
  font-family:var(--v-sans);font-size:15px;font-weight:600;color:#fff;white-space:nowrap}
.pp-nav-trigger svg{transition:transform .15s ease}
.pp-nav-item:hover .pp-nav-trigger,.pp-nav-item:focus-within .pp-nav-trigger,.pp-nav-item.is-open .pp-nav-trigger,.pp-nav a:hover{color:#c4a8ff}
.pp-nav-item:hover .pp-nav-trigger svg,.pp-nav-item:focus-within .pp-nav-trigger svg,.pp-nav-item.is-open .pp-nav-trigger svg{transform:rotate(180deg)}
.pp-nav-panel{position:absolute;top:calc(100% - 4px);left:-14px;z-index:40;min-width:232px;padding:8px;display:grid;gap:2px;
  background:#fff;border:1px solid #e7e5eb;border-radius:7px;box-shadow:0 18px 34px #17151c1f;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .14s ease,transform .14s ease,visibility .14s}
.pp-nav-item:hover .pp-nav-panel,.pp-nav-item:focus-within .pp-nav-panel,.pp-nav-item.is-open .pp-nav-panel{opacity:1;visibility:visible;transform:none}
.pp-nav-panel a{display:flex;align-items:center;gap:20px;padding:9px 12px;border-radius:5px;font-size:14px;color:var(--v-ink)}
.pp-nav-panel a:hover{background:#f5f4f8;color:var(--v-accent)}

/* « Bons plans » : premiere entree du bandeau, teintee pour se distinguer des
   rayons. Elle pointe sur la boutique triee du moins cher au plus cher. */
.pp-nav-deal{color:#c4a8ff!important}
.pp-nav-deal:hover{color:#fff!important}
@media(max-width:1150px){.pp-nav{gap:26px}.pp-nav-trigger{font-size:14px}}

/* Etoiles et disponibilite dans la carte d'accueil : la carte est un <a>, donc
   « .purple a{color:inherit} » repeint tout le contenu. On repose les couleurs. */
.purple .pp-product-info .vstars,.purple .pp-product-info .vstock{align-self:flex-start;margin-bottom:10px}
.purple .pp-product-info .vstars__val{color:var(--v-ink)}
.purple .pp-product-info .vstars__count{color:#706a78}
.purple .pp-product-info .vstock{color:var(--v-promo)}
.purple .pp-product-info .vstock--oos{color:#706a78}
.purple .vpc__body .vstars,.purple .vpc__body .vstock{align-self:flex-start}

/* --- Bannieres Lovart : slider accueil + tuiles campagne sombres --- */
/* Les deux tuiles de droite passent en fond photo sombre comme la tuile
   principale : meme .pp-campaign-bg, voile degrade par dessus. */
.pp-campaign--audio,.pp-campaign--mouse{background:#1a0b2e;color:#fff}
.pp-campaign--audio .pp-campaign-bg,.pp-campaign--mouse .pp-campaign-bg{object-position:70% center}
.pp-campaign--audio:after,.pp-campaign--mouse:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,5,18,.86),rgba(26,11,46,.1) 72%);z-index:-1}
.pp-campaign--audio .pp-tile-copy>span:first-child,.pp-campaign--mouse .pp-tile-copy>span:first-child{color:#c9b6f5}
.purple .pp-campaign--audio .pp-tile-copy h2,.purple .pp-campaign--mouse .pp-tile-copy h2{color:#fff}
.pp-campaign--audio .pp-tile-copy{width:62%}
.pp-campaign--mouse .pp-tile-copy{width:80%}
/* Accroche cadeau de la tuile souris : meme typo oblique que les titres,
   posee a droite du bouton. */
.pp-tile-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
/* Le bloc bouton + cadeau est cale en bas de la tuile souris pour s'aligner
   sur le bouton « J'en profite » de la tuile principale (bottom:28px). */
.pp-campaign--mouse .pp-tile-copy{display:flex;flex-direction:column;height:100%;padding-bottom:28px}
.pp-campaign--mouse .pp-tile-actions{margin-top:auto}

/* ── Tuile souris en slider (2 diapos) ───────────────────────────────────
   Meme mecanique que la grande banniere : les diapos se superposent en
   absolu, le voile degrade de la tuile (:after) passe au-dessus des deux
   fonds. La tuile n'est plus un <a> : chaque diapo porte son propre lien,
   et le clic sur la tuile est relaye en JS vers le lien de la diapo active. */
.pp-campaign--mouse.pp-slider{cursor:pointer}
.pp-slider .pp-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
.pp-slider .pp-slide.is-active{opacity:1;visibility:visible}
.pp-campaign--mouse .pp-mini-button{pointer-events:auto;text-decoration:none;color:#17151c}
.pp-campaign-bg--guide{object-position:58% center}
.pp-slide--guide .pp-tile-copy{width:66%}
.purple .pp-slide--guide .pp-tile-copy h2{font-size:38px;margin:8px 0 10px}
.pp-tile-accent{font-style:inherit;color:#a97bff}
.pp-tile-text{margin:0 0 14px;font-size:12px;line-height:1.5;color:#e4d8fb;max-width:300px}
.pp-slider-dots--tile{top:16px;right:18px}
.pp-slider-dots--tile button{width:20px;height:3px}
.pp-tile-gift{display:inline-flex;align-items:center;gap:10px;max-width:250px;font-family:var(--v-display);font-weight:400;font-style:oblique 10deg;font-size:23px;line-height:.98;letter-spacing:.5px;text-transform:uppercase;color:#fff}
.pp-tile-gift svg{flex-shrink:0;color:#a97bff}
.pp-tile-gift>span{min-width:0}
.purple .pp-campaign--mouse .pp-tile-copy h2{font-size:48px;margin:10px 0 14px}

/* Slider de la tuile principale : les diapositives se superposent et le
   voile degrade passe sur chacune, le :after global de la tuile est neutralise. */
.pp-campaign--main:after{content:none}
.pp-campaign--main .pp-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
.pp-campaign--main .pp-slide.is-active{opacity:1;visibility:visible}
.pp-campaign--main .pp-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,6,36,.82),rgba(38,8,70,.1) 88%);z-index:1}
.pp-campaign--main .pp-slide .pp-campaign-bg{z-index:0}
.pp-campaign--main .pp-slide .pp-campaign-copy{position:relative;z-index:2}
.pp-campaign--main .pp-slide .pp-campaign-bottom{z-index:2}
.pp-campaign-bg--deal{object-position:84% center}
.pp-campaign--main .pp-slide--deal:after{background:linear-gradient(100deg,rgba(12,4,24,.94),rgba(14,5,28,.6) 46%,rgba(38,8,70,.08) 92%)}
.purple .pp-campaign .pp-campaign-title{font-family:var(--v-display);color:#fff;font-size:clamp(50px,5.6vw,84px);line-height:.96;font-weight:400;font-style:oblique 10deg;text-transform:uppercase;letter-spacing:0;margin:0 0 18px;max-width:470px}
.pp-slider-dots{position:absolute;top:22px;right:24px;z-index:4;display:flex;gap:8px}
.pp-slider-dots button{width:26px;height:4px;padding:0;border:0;border-radius:2px;background:rgba(255,255,255,.35);cursor:pointer;transition:background .2s}
.pp-slider-dots button.is-active{background:#fff}
.pp-slider-dots button:hover{background:rgba(255,255,255,.7)}

@media(max-width:1150px){.purple .pp-campaign .pp-campaign-title{font-size:66px}}
@media(max-width:760px){
  .pp-campaign--audio .pp-campaign-bg,.pp-campaign--mouse .pp-campaign-bg{object-position:72% center}
  .pp-campaign--audio:after,.pp-campaign--mouse:after{background:linear-gradient(180deg,rgba(11,5,18,.92),rgba(11,5,18,.35) 55%,rgba(11,5,18,.8))}
  .pp-campaign--audio .pp-tile-copy,.pp-campaign--mouse .pp-tile-copy{width:100%}
  .purple .pp-campaign--mouse .pp-tile-copy h2{font-size:28px;margin:8px 0 8px}
  .pp-tile-actions{display:block}
  .pp-campaign--mouse .pp-tile-copy{display:block;padding:16px}
  .pp-campaign--mouse .pp-tile-actions{margin-top:0}
  .pp-slide--guide .pp-tile-copy{width:100%}
  .purple .pp-slide--guide .pp-tile-copy h2{font-size:24px;margin:8px 0}
  .pp-tile-text{font-size:10px;max-width:none;margin-bottom:0}
  .pp-slider-dots--tile{top:12px;right:14px}
  .pp-slider-dots--tile button{width:16px}
  .pp-tile-gift{font-size:13px;gap:5px;max-width:100%;letter-spacing:.2px}
  .pp-tile-gift svg{width:12px;height:12px}
  .purple .pp-campaign .pp-campaign-title{font-size:clamp(42px,12.5vw,56px);max-width:290px;margin-bottom:14px}
  .pp-campaign-bg--deal{object-position:center 62%}
  .pp-campaign--main .pp-slide:after{background:linear-gradient(170deg,rgba(14,5,28,.9),rgba(20,7,40,.25) 62%,rgba(14,5,28,.75))}
  .pp-slider-dots{top:16px;right:18px}
  .pp-slider-dots button{width:20px;height:3px}
}

/* ── Bloc « pourquoi Revuelto » (3 arguments) ────────────────────────────
   Fond sombre pleine largeur, trame de points en repere discret a droite,
   comme les grandes tuiles de l'accueil. Le pictogramme est pose dans un
   carre a l'angle coupe, la ou une marque poserait son glyphe. */
.pp-pitch{background:#120a1f;color:#fff;margin-top:20px;position:relative;overflow:hidden}
/* Fond en trois couches : deux halos violets qui colorent les angles, une trame
   de points sur toute la largeur en fondu, et des bandes obliques tres diluees
   qui rappellent les trainees de lumiere des bannieres. */
.pp-pitch:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(760px 520px at 88% -15%,rgba(113,56,239,.42),transparent 68%),radial-gradient(620px 460px at -8% 108%,rgba(90,42,196,.32),transparent 70%),radial-gradient(1000px 420px at 22% 50%,rgba(15,8,26,.82),transparent 72%),radial-gradient(rgba(169,123,255,.34) 1.1px,transparent 1.1px);background-size:auto,auto,auto,16px 16px}
.pp-pitch:after{content:'';position:absolute;inset:-20% -10%;pointer-events:none;background:repeating-linear-gradient(115deg,rgba(169,123,255,.09) 0 2px,transparent 2px 190px);-webkit-mask-image:linear-gradient(105deg,transparent 30%,#000);mask-image:linear-gradient(105deg,transparent 30%,#000)}
.pp-pitch-grid{position:relative;z-index:1;display:grid;gap:0;padding-block:58px}
/* Chaque argument porte son numero en tres grand, en lettres creuses, derriere
   le texte : du relief sans rien ajouter au HTML (compteur CSS). */
.pp-pitch-item{position:relative;display:grid;grid-template-columns:96px 1fr;gap:32px;align-items:start;max-width:1080px;padding-block:34px}
.pp-pitch-item+.pp-pitch-item{border-top:1px solid rgba(169,123,255,.16)}
.pp-pitch-item>div{position:relative}
.pp-pitch-icon{display:grid;place-items:center;width:78px;height:78px;border:1px solid rgba(169,123,255,.45);color:#d8c6ff;background:linear-gradient(150deg,rgba(113,56,239,.4),rgba(113,56,239,.05));box-shadow:0 0 34px rgba(113,56,239,.25);clip-path:polygon(0 0,100% 0,100% 74%,74% 100%,0 100%)}
.purple .pp-pitch h2{font-family:var(--v-display);font-style:oblique 10deg;font-weight:400;font-size:34px;line-height:1;text-transform:uppercase;color:#fff;margin:14px 0 14px}
.pp-pitch p{margin:0;font-size:14px;line-height:1.65;color:#cfc4e4;max-width:78ch}

/* ── Bande d'engagements avant le pied de page ──────────────────────────── */
.pp-reassure{background:#f2f1f5;color:#17151c}
.pp-reassure-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-block:44px;text-align:center}
.pp-reassure-grid>div{display:flex;flex-direction:column;align-items:center;gap:14px}
.pp-reassure-grid span{color:#7138ef;display:flex}
.purple .pp-reassure h3{font-family:var(--v-display);font-style:oblique 10deg;font-weight:400;font-size:21px;line-height:1.05;text-transform:uppercase;margin:0}
.pp-reassure p{margin:0;font-size:13px;line-height:1.5;color:#5f5a68;max-width:26ch}

/* ── Relief du pied de page ──────────────────────────────────────────────
   Deux halos violets tres dilues et une trame de points fixent le fond, et
   le nom de la boutique est repris en tres grand, coupe par le bas de page,
   comme signature. Tout est en CSS : aucune image supplementaire a charger. */
.pp-footer{position:relative;overflow:hidden;isolation:isolate}
.pp-footer:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(760px 420px at 8% -10%,rgba(113,56,239,.28),transparent 70%),radial-gradient(620px 380px at 96% 18%,rgba(90,42,196,.2),transparent 72%),radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:auto,auto,22px 22px}
.pp-footer-wordmark{position:relative;z-index:-1;margin-top:-10px;text-align:center;font-family:var(--v-display);font-style:oblique 10deg;font-weight:400;font-size:clamp(46px,10.5vw,152px);line-height:.78;margin-bottom:-.04em;text-transform:uppercase;letter-spacing:-.01em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);user-select:none}
.pp-footer-wordmark em{font-style:inherit;color:rgba(255,255,255,.07);-webkit-text-stroke:0}
.pp-footer-main,.pp-footer-bottom{position:relative}

@media(max-width:1150px){
  .pp-reassure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .purple .pp-pitch h2{font-size:28px}
}
@media(max-width:760px){
  /* Mobile : les trois arguments defilent horizontalement, sans cadre ni fond,
     pictogramme au-dessus du titre. */
  .pp-pitch-grid{grid-auto-flow:column;grid-auto-columns:78%;gap:20px;padding-block:40px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none}
  .pp-pitch-grid::-webkit-scrollbar{display:none}
  .pp-pitch-item{display:block;max-width:none;padding:0;border:0;border-radius:0;background:none;scroll-snap-align:start}
  .pp-pitch-item+.pp-pitch-item{border-top:0}
  .pp-pitch-icon{width:78px;height:78px;margin-bottom:24px}
  .pp-pitch-icon svg{width:30px;height:30px}
  .purple .pp-pitch h2{font-size:24px;margin:0 0 16px}
  .pp-pitch p{font-size:14px;line-height:1.6}
  .pp-pitch:after{background-size:auto;opacity:.6}
  .pp-reassure-grid{grid-template-columns:1fr 1fr;gap:26px 14px;padding-block:30px}
  .purple .pp-reassure h3{font-size:16px}
  .pp-reassure p{font-size:11.5px;max-width:22ch}
  .pp-reassure-grid svg{width:26px;height:26px}
  .pp-footer-wordmark{font-size:15vw;margin-top:0}
}

/* ── Nouveautés : onglets par type de produit + rangee defilante ─────────
   Meme carte produit que le reste du site (purple-card). Les onglets
   reprennent la typo display des titres de section ; la rangee defile
   horizontalement avec accroche, quatre cartes visibles en large. */
/* Bandeau gris pleine largeur, meme montage que les offres : la section porte
   le fond, le .pp-wrap interne garde le contenu aligne sur la grille. */
.pp-news{background:#f2f1f5;padding-block:46px 86px}
.pp-news .pp-section-head{margin-bottom:16px}
.pp-news-tabs{display:flex;gap:30px;align-items:end;overflow-x:auto;margin-bottom:22px;border-bottom:1px solid #dcd8e4;scrollbar-width:none}
.pp-news-tabs::-webkit-scrollbar{display:none}
.purple .pp-news-tabs button{position:relative;flex:none;background:none;border:0;padding:0 0 10px;cursor:pointer;font-family:var(--v-display);font-style:oblique 10deg;font-weight:400;font-size:27px;line-height:1;letter-spacing:.3px;text-transform:uppercase;color:#a5a0b0;transition:color .15s}
.purple .pp-news-tabs button:hover{color:#4a4453}
.purple .pp-news-tabs button.is-active{color:#17151c}
.pp-news-tabs button.is-active:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#7138ef}
.pp-news-panel[hidden]{display:none}
.pp-news-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px) / 4);gap:20px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;scrollbar-width:thin}
.pp-news-track>*{scroll-snap-align:start}
.pp-news-track::-webkit-scrollbar{height:4px}
.pp-news-track::-webkit-scrollbar-thumb{background:#cbc6d6;border-radius:2px}

@media(max-width:1150px){
  .pp-news-track{grid-auto-columns:calc((100% - 40px) / 3)}
  .purple .pp-news-tabs button{font-size:23px}
}
@media(max-width:760px){
  .pp-news{padding-block:30px 56px}
  .pp-news-tabs{gap:18px;margin-bottom:16px}
  .purple .pp-news-tabs button{font-size:17px;padding-bottom:8px}
  .pp-news-track{grid-auto-columns:calc(72% - 6px);gap:12px}
}

/* ── Offres du moment : rangee de visuels portrait ───────────────────────
   Les cartes attendent de vraies photos ; en attendant elles sont dessinees
   en CSS (degrade + typo display) pour que le rythme de la page soit juste
   des maintenant. La barre sous la rangee suit le defilement. */
/* Bandeau noir pleine largeur : la section n'est plus elle-meme le .pp-wrap,
   elle en contient un, ce qui laisse le fond filer jusqu'aux bords de l'ecran. */
.pp-offers{background:#07040d;padding-block:46px 40px;color:#fff}
.pp-offers .pp-section-head h2,.pp-offers .pp-section-head>a{color:#fff}
.pp-offers .pp-section-head h2:before{background:rgba(113,56,239,.55)}
.pp-offers .pp-section-head h2 span:before,.pp-offers .pp-section-head h2 span:after{color:#a97bff}
.pp-offers .pp-section-head{margin-bottom:18px}
.pp-offers-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px) / 3);gap:20px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:4px}
.pp-offers-track::-webkit-scrollbar{display:none}
.pp-offer{display:block;position:relative;aspect-ratio:4/5;border-radius:9px;overflow:hidden;text-decoration:none;scroll-snap-align:start;background:#17151c}
.pp-offer-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.pp-offer:hover .pp-offer-photo{transform:scale(1.03)}
.pp-offer-art{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:34px;color:#fff;text-align:center;align-items:center}
.pp-offer-art:after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:16px 16px;opacity:.5;pointer-events:none}
.pp-offer-art--0{background:linear-gradient(155deg,#3d1b7a,#120a1f 72%)}
.pp-offer-art--1{background:linear-gradient(155deg,#1d1440,#0c0716 70%)}
.pp-offer-art--2{background:linear-gradient(155deg,#2a2233,#141119 70%)}
.pp-offer-art--3{background:linear-gradient(155deg,#4a2270,#130b21 74%)}
.pp-offer-art--photo{background:linear-gradient(180deg,rgba(10,4,20,.1),rgba(10,4,20,.35) 45%,rgba(10,4,20,.88));justify-content:flex-end;text-shadow:0 2px 18px rgba(8,3,16,.6)}
.pp-offer-art--photo:after{content:none}
.pp-offer-art strong sup{font-size:.5em;vertical-align:super;line-height:0}
.pp-offer-art small{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#c3a6ff}
.pp-offer-art strong{font-family:var(--v-display);font-style:oblique 10deg;font-weight:400;font-size:clamp(26px,2.4vw,40px);line-height:.98;text-transform:uppercase}
.pp-offer-art em{font-style:normal;font-size:12.5px;line-height:1.5;color:#cfc4e4;max-width:24ch}
.pp-offers-rail{position:relative;height:3px;margin-top:18px;border-radius:2px;background:rgba(255,255,255,.16);overflow:hidden}
.pp-offers-rail span{display:block;height:100%;width:34%;border-radius:2px;background:#a97bff}

@media(max-width:1150px){
  .pp-offers-track{grid-auto-columns:calc((100% - 20px) / 2)}
}
@media(max-width:760px){
  .pp-offers{padding-block:30px 26px}
  .pp-offers-track{grid-auto-columns:calc(72% - 6px);gap:12px}
  .pp-offer-art{padding:22px;gap:10px}
  .pp-offer-art small{font-size:9.5px;letter-spacing:1px}
  .pp-offer-art em{font-size:11px}
}
