/*
Theme Name: XPLUS Promo
Theme URI: https://xpluspromo.com
Author: XPLUS Promo
Description: Thème WordPress et WooCommerce pour les événements de danse XPLUS Promo.
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: xplus-promo
*/

:root{--xp-ink:#17121f;--xp-muted:#716a7c;--xp-purple:#7728d1;--xp-purple2:#b94de8;--xp-lav:#f4eafe;--xp-line:#e9e2ef;--xp-white:#fff;--xp-dark:#1b0926}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--xp-ink);font-family:Inter,Aptos,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.xp-container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:#fffffff2;border-bottom:1px solid var(--xp-line);backdrop-filter:blur(14px)}.header-inner{min-height:82px;display:flex;align-items:center;gap:32px}.custom-logo-link img,.xp-logo{width:112px;max-height:66px;object-fit:contain}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0;font-weight:700;font-size:.92rem}.site-nav a:hover{color:var(--xp-purple)}.xp-cart{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(120deg,var(--xp-purple),var(--xp-purple2));color:#fff;padding:11px 15px;border-radius:12px;font-weight:800}.xp-menu-toggle{display:none;border:0;background:var(--xp-lav);padding:10px 12px;border-radius:10px;font-weight:800}.xp-hero{min-height:610px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:44px;padding:75px max(24px,calc((100vw - 1180px)/2));background:radial-gradient(circle at 88% 28%,#e7c9ff 0,transparent 28%),linear-gradient(145deg,#fff 15%,#fbf7ff 74%,#f1ddff)}.xp-eyebrow{color:var(--xp-purple);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.xp-hero h1{font-size:clamp(3.3rem,7vw,7rem);line-height:.89;letter-spacing:-.07em;margin:18px 0 26px}.xp-hero h1 span{color:transparent;background:linear-gradient(90deg,#6b19c3,#c051e6);background-clip:text}.xp-lead{font-size:1.18rem;line-height:1.65;color:var(--xp-muted);max-width:690px}.xp-search{display:flex;gap:9px;background:#fff;border:1px solid #e8dff0;padding:9px;margin-top:34px;border-radius:18px;box-shadow:0 20px 60px #4c18601a;max-width:700px}.xp-search input{flex:1;border:0;outline:0;padding:14px;font-size:1rem}.xp-button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;border:0!important;border-radius:13px!important;padding:14px 20px!important;background:linear-gradient(120deg,#6e1bc7,#ad42e3)!important;color:#fff!important;font-weight:800!important;cursor:pointer}.xp-mark{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;color:#fff;background:linear-gradient(145deg,#2a073f,#8c27d0 58%,#d77bee);box-shadow:0 40px 90px #6d1da84d;transform:rotate(-5deg)}.xp-mark strong{font-size:clamp(8rem,18vw,14rem);letter-spacing:-.12em}.xp-mark b{position:absolute;right:18%;top:24%;font-size:5rem}.xp-section{padding:85px 0}.xp-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.xp-section h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em;margin:8px 0}.xp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.xp-card{border:1px solid var(--xp-line);border-radius:22px;overflow:hidden;background:#fff;transition:.25s}.xp-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px #38114618}.xp-card-image{height:235px;background:linear-gradient(145deg,#1f0639,#6f19c6 60%,#d469ee);display:block;overflow:hidden}.xp-card-image img{width:100%;height:100%;object-fit:cover}.xp-card-body{padding:22px}.xp-card h3{margin:9px 0;font-size:1.25rem}.xp-meta{color:var(--xp-muted);font-size:.86rem;line-height:1.7}.xp-price{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--xp-line);margin-top:17px;padding-top:16px;font-weight:900;color:var(--xp-purple)}.xp-how{background:var(--xp-dark);color:#fff}.xp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;list-style:none;padding:0}.xp-steps li{padding:30px;border:1px solid #ffffff20;border-radius:20px;background:#ffffff0a}.xp-steps span{color:#d891ff;font-size:2rem;font-weight:900}.xp-steps p{color:#c8bbcf;line-height:1.65}.site-footer{background:#100616;color:#d7cadf;padding:60px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid h3{color:#fff}.footer-grid ul{list-style:none;padding:0;line-height:2}.footer-bottom{border-top:1px solid #ffffff1f;margin-top:35px;padding-top:20px;font-size:.85rem}.site-main{min-height:60vh}.page-content,.woocommerce-page .site-main{padding:60px 0}.entry-title,.woocommerce-products-header__title{font-size:clamp(2.2rem,5vw,4.5rem);letter-spacing:-.05em}.woocommerce ul.products li.product{border:1px solid var(--xp-line);border-radius:20px;overflow:hidden;padding:0 0 20px!important;background:#fff}.woocommerce ul.products li.product img{margin:0 0 18px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button{margin-left:18px!important;margin-right:18px!important}.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important}.woocommerce-message,.woocommerce-info{border-top-color:var(--xp-purple)!important}.woocommerce-message::before,.woocommerce-info::before{color:var(--xp-purple)!important}.xp-empty{padding:35px;border:1px dashed var(--xp-line);border-radius:18px;color:var(--xp-muted);text-align:center}
@media(max-width:900px){.xp-hero{grid-template-columns:1fr}.xp-mark{display:none}.xp-grid,.xp-steps,.footer-grid{grid-template-columns:1fr 1fr}.site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--xp-line);padding:20px}.site-nav.is-open{display:block}.site-nav ul{flex-direction:column;align-items:flex-start}.xp-menu-toggle{display:block}.woocommerce div.product{grid-template-columns:1fr}}
@media(max-width:620px){.xp-grid,.xp-steps,.footer-grid{grid-template-columns:1fr}.xp-hero{padding:55px 20px}.xp-search{flex-direction:column}.xp-section{padding:58px 0}.xp-cart span{display:none}}

/* Version complète alignée sur le site XPLUS Promo */
.header-inner{width:100%;padding:0 clamp(18px,4vw,70px);gap:28px}.brand{width:112px;height:66px;display:flex;align-items:center}.brand img{width:100%;height:100%;object-fit:contain}.site-nav{margin-right:auto}.site-nav ul{gap:26px;white-space:nowrap}.header-actions{display:flex;gap:9px;align-items:center}.header-actions .button-link{padding:12px 15px;border-radius:12px;font-weight:750}.header-actions .primary{color:#fff;background:linear-gradient(120deg,#6e1bc7,#ad42e3);box-shadow:0 10px 24px #7a23cf33}.language-switcher{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--xp-line);border-radius:11px;background:#fff}.language-switcher button{border:0;background:none;padding:6px 7px;border-radius:7px;font-size:.72rem;color:var(--xp-muted);display:flex;gap:3px;align-items:center;cursor:pointer}.language-switcher button.active{background:#f1e3fb;color:#64209d}.cart-link{display:flex;align-items:center;gap:4px;font-weight:800}.menu-btn{display:none;border:0;background:var(--xp-lav);padding:10px 12px;border-radius:10px;font-weight:900}.hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:30px;padding:80px clamp(24px,7vw,110px);overflow:hidden;background:radial-gradient(circle at 88% 28%,#e7c9ff 0,transparent 28%),linear-gradient(145deg,#fff 15%,#fbf7ff 74%,#f1ddff)}.hero-copy{max-width:830px}.eyebrow{color:var(--xp-purple);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.hero h1{font-size:clamp(3.3rem,7vw,7.4rem);line-height:.88;letter-spacing:-.075em;margin:20px 0 28px;font-weight:850}.hero h1 span:first-child{color:var(--xp-ink)}.hero h1 span:last-child{color:transparent;background:linear-gradient(90deg,#6b19c3,#c051e6);background-clip:text}.hero-lead{font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.7;color:var(--xp-muted);max-width:690px}.search-box{display:grid;grid-template-columns:1.35fr 1fr auto;gap:8px;align-items:center;background:white;border:1px solid #e8dff0;padding:8px;margin-top:38px;border-radius:20px;box-shadow:0 20px 60px #4c18601a;max-width:790px}.search-box label{display:flex;align-items:center;gap:12px;padding:6px 15px;border-right:1px solid var(--xp-line);color:var(--xp-purple)}.search-box label span:last-child{display:grid}.search-box small{color:var(--xp-ink);font-size:.72rem;font-weight:800}.search-box input{border:0;outline:0;padding:3px 0;color:var(--xp-ink);min-width:0}.search-box>button{border:0;border-radius:14px;height:54px;padding:0 22px;display:flex;align-items:center;gap:8px;font-weight:800;cursor:pointer;color:#fff;background:linear-gradient(120deg,#6e1bc7,#ad42e3)}.quick{display:flex;gap:14px;align-items:center;margin-top:18px;font-size:.87rem;color:var(--xp-muted);flex-wrap:wrap}.quick button{padding:8px 12px;border:1px solid #e7d8f3;border-radius:999px;color:#62209f;font-weight:700;background:#fff;cursor:pointer}.hero-mark{aspect-ratio:1;max-width:510px;border-radius:50%;display:grid;place-items:center;position:relative;color:#fff;background:linear-gradient(145deg,#2a073f,#8c27d0 58%,#d77bee);box-shadow:0 40px 90px #6d1da84d;transform:rotate(-5deg)}.hero-mark span{font-size:clamp(8rem,18vw,15rem);font-weight:900;letter-spacing:-.12em}.hero-mark b{position:absolute;right:18%;top:26%;font-size:5rem}.hero-mark em{position:absolute;bottom:15%;font-size:.78rem;text-transform:uppercase;letter-spacing:.28em;font-style:normal}.events-section{padding:95px clamp(24px,7vw,110px) 120px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-heading h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.045em;margin:8px 0}.section-heading>a{color:var(--xp-purple);font-weight:800}.filter-panel{display:grid;gap:18px;margin-bottom:28px;padding:22px;border:1px solid var(--xp-line);border-radius:22px;background:#fff;box-shadow:0 14px 40px #3811460d}.filter-title{display:flex;align-items:center;gap:9px;color:var(--xp-purple)}.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.select-filter{display:grid;gap:5px}.select-filter>span{font-size:.72rem;font-weight:800;color:var(--xp-muted)}.select-filter select{width:100%;border:1px solid var(--xp-line);padding:12px;border-radius:12px;background:#fff}.reset-filters{justify-self:start;display:flex;align-items:center;gap:7px;border:0;background:var(--xp-lav);color:var(--xp-purple);padding:10px 13px;border-radius:10px;font-weight:800;cursor:pointer}.home-results{align-items:center;margin-bottom:24px}.layout-switcher{display:flex;gap:8px}.layout-switcher button{display:grid;place-items:center;width:46px;height:46px;border:1px solid transparent;border-radius:12px;background:#f5f3f7;cursor:pointer;font-size:1.3rem}.layout-switcher button.active{border-color:var(--xp-purple);background:#fff;color:var(--xp-purple)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.event-card{border:1px solid var(--xp-line);border-radius:24px;overflow:hidden;background:#fff;transition:.25s}.event-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px #38114618}.poster{height:250px;padding:22px;position:relative;display:flex;flex-direction:column;justify-content:space-between;color:#fff;overflow:hidden;background:linear-gradient(145deg,#1f0639,#6f19c6 60%,#d469ee)}.poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.poster:after{content:"";position:absolute;width:220px;height:220px;border:1px solid #ffffff66;border-radius:50%;right:-60px;top:34px}.poster span,.poster strong,.poster i,.poster .discount{z-index:2}.poster span{align-self:flex-start;padding:7px 11px;background:#ffffff33;border:1px solid #ffffff55;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.poster strong{font-size:2.1rem;max-width:75%;line-height:.95;text-transform:uppercase;text-shadow:0 2px 16px #0008}.poster i{position:absolute;right:22px;bottom:15px;font-style:normal;font-size:1.8rem;font-weight:900}.poster .discount{position:absolute;right:18px;top:18px;background:#fff;color:#7224b7;padding:8px 10px;border-radius:10px}.event-body{padding:22px}.event-body h3{font-size:1.25rem;margin:10px 0}.date,.location{margin:0;color:var(--xp-muted);font-size:.8rem}.date{color:var(--xp-purple);font-weight:800}.event-tags{display:flex!important;gap:8px;margin-top:14px}.dance,.offer-tag{padding:6px 9px;border-radius:8px;font-size:.72rem;font-weight:700}.dance{color:#6a247f;background:#f7edff}.offer-tag{color:#245372;background:#eaf6fb}.event-body>div:last-child{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--xp-line);margin-top:18px;padding-top:16px}.event-body>div:last-child p{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:0}.event-body em{display:block;width:100%;font-style:normal;color:var(--xp-muted);font-size:.72rem}.round-link{background:var(--xp-lav);color:var(--xp-purple);width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.event-grid.list-view{display:block}.list-view .event-card{display:grid;grid-template-columns:minmax(230px,300px) 1fr;margin-bottom:18px}.list-view .poster{height:100%;min-height:230px}.load-more{display:flex;justify-content:center;margin-top:42px}.load-more button{border:0;border-radius:14px;padding:14px 24px;background:linear-gradient(120deg,#6e1bc7,#ad42e3);color:#fff;font-weight:800;cursor:pointer}.empty-state{text-align:center;padding:45px;border:1px dashed var(--xp-line);border-radius:18px}.how-section{background:#1b0926;color:#fff;padding:95px clamp(24px,7vw,110px);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.how-section h2{font-size:clamp(2.3rem,5vw,5rem);margin:15px 0}.how-section>div>p:last-child,.how-section li p{color:#c8bbcf;line-height:1.7}.how-section ol{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none;padding:0}.how-section li{border:1px solid #ffffff1a;border-radius:18px;padding:24px;position:relative}.how-section li>span{color:#c76afd;font-weight:900}.how-section li>b{display:block;font-size:2rem;margin-top:30px}.event-card[hidden]{display:none!important}
@media(max-width:1180px){.language-switcher span{display:none}.site-nav ul{gap:15px}.header-actions .button-link{display:none}}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--xp-line);padding:20px}.site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:flex-start}.menu-btn{display:block}.hero{grid-template-columns:1fr}.hero-mark{display:none}.filter-grid{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:repeat(2,1fr)}.how-section{grid-template-columns:1fr}.how-section ol{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.language-switcher{max-width:170px;overflow:auto}.search-box{grid-template-columns:1fr}.search-box label{border-right:0;border-bottom:1px solid var(--xp-line)}.filter-grid,.event-grid,.how-section ol{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.list-view .event-card{grid-template-columns:1fr}.hero{padding:55px 20px}.events-section{padding:60px 20px}.header-inner{padding:0 14px}.brand{width:82px}.cart-link{display:none}}

.footer-grid{grid-template-columns:2fr 1fr 1fr 1.2fr}.xplus-submit-form{max-width:980px;margin:55px auto;padding:32px;border:1px solid var(--xp-line);border-radius:24px;box-shadow:0 18px 60px #38114612}.xplus-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.xplus-submit-form label{display:grid;gap:7px;margin-bottom:18px;font-weight:800}.xplus-submit-form input,.xplus-submit-form select,.xplus-submit-form textarea{width:100%;padding:13px;border:1px solid var(--xp-line);border-radius:11px;font:inherit;font-weight:400}.xplus-event-details{padding:18px;border-radius:15px;background:var(--xp-lav);margin:18px 0}.xplus-event-details ul{padding-left:18px;line-height:1.8}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.footer-grid,.xplus-form-grid{grid-template-columns:1fr}}
