/* CCB Sledge Boutique : menu principal et méga-menu. Réglages via les variables --nav-* (widget Elementor). */
.elementor-widget-ccb-main-menu,.elementor-widget-ccb-main-menu>.elementor-widget-container{position:static}
.ccb-nav{--nav-accent:var(--e-global-color-secondary,#cdbd92);--nav-ink:var(--e-global-color-primary,#242424);--nav-gap:clamp(12px,1.5vw,26px);--nav-pad:15px;--nav-panel-w:1240px;--nav-col-gap:64px;--nav-card-w:340px;--nav-bp:1024px;position:static;font-family:var(--e-global-typography-text-font-family,Lato),sans-serif}
.ccb-nav ul{margin:0;padding:0;list-style:none}
.ccb-nav__burger,.ccb-nav__close,.ccb-nav__chev{display:none;padding:0;border:0;background:none;color:var(--nav-ink);cursor:pointer;line-height:0}
.ccb-nav button.ccb-nav__burger,.ccb-nav button.ccb-nav__close,.ccb-nav button.ccb-nav__chev{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--nav-ink);min-height:0;font-size:0;letter-spacing:0;text-transform:none}
.ccb-nav button.ccb-nav__burger:hover,.ccb-nav button.ccb-nav__burger:focus,.ccb-nav button.ccb-nav__close:hover,.ccb-nav button.ccb-nav__close:focus,.ccb-nav button.ccb-nav__chev:hover,.ccb-nav button.ccb-nav__chev:focus{background:transparent;color:var(--nav-ink)}
.ccb-nav button:focus-visible{outline:2px solid var(--nav-ink);outline-offset:2px}
.ccb-nav__list{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--nav-gap)}
.ccb-nav__item{margin:0}
.ccb-nav .ccb-nav__link{position:relative;display:block;padding:var(--nav-pad) 0;font:600 12px/1 var(--e-global-typography-accent-font-family,Montserrat),sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--nav-ink);text-decoration:none}
.ccb-nav .ccb-nav__link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--nav-accent);transition:right .35s cubic-bezier(.2,.7,.2,1)}
.ccb-nav__item:hover>.ccb-nav__link::after,.ccb-nav__item:focus-within>.ccb-nav__link::after,.ccb-nav__item.is-open>.ccb-nav__link::after{right:0}

/* Panneau (ordinateur) : pleine largeur sous la barre */
.ccb-nav__panel{position:absolute;left:0;right:0;top:100%;z-index:50;padding:40px 40px 44px;background:#fff;border-top:1px solid #dedede;border-bottom:1px solid #dedede;box-shadow:0 30px 50px -30px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .25s,visibility 0s .25s}
.ccb-nav__item.has-panel:hover>.ccb-nav__panel,.ccb-nav__item.has-panel:focus-within>.ccb-nav__panel,.ccb-nav__item.has-panel.is-open>.ccb-nav__panel{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.ccb-nav__cols{display:flex;align-items:flex-start;gap:var(--nav-col-gap);max-width:var(--nav-panel-w);margin-inline:auto}
.ccb-nav__col{flex:0 0 auto;min-width:170px}
.ccb-nav .ccb-nav__h{margin:0 0 12px;padding-bottom:14px;border-bottom:1px solid #dedede;font:600 11px/1 var(--e-global-typography-accent-font-family,Montserrat),sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--e-global-color-accent,#6f6f6f)}
.ccb-nav__col li{margin:0}
.ccb-nav .ccb-nav__col a{position:relative;display:inline-block;padding:7px 0;font-size:.95rem;line-height:1.3;color:var(--nav-ink);text-decoration:none;transition:transform .3s,color .3s}
.ccb-nav .ccb-nav__col a::before{content:"";position:absolute;left:-18px;top:50%;width:10px;height:1px;background:currentColor;opacity:0;transition:opacity .3s}
.ccb-nav .ccb-nav__col a:hover,.ccb-nav .ccb-nav__col a:focus-visible{transform:translateX(18px);color:var(--e-global-color-accent,#6f6f6f)}
.ccb-nav .ccb-nav__col a:hover::before,.ccb-nav .ccb-nav__col a:focus-visible::before{opacity:1}

/* Carte à droite */
.ccb-nav__card{position:relative;display:block;flex:0 0 var(--nav-card-w);width:var(--nav-card-w);margin-left:auto;aspect-ratio:4/3;overflow:hidden;background:#f6f3ec;color:#fff;text-decoration:none}
.ccb-nav__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.ccb-nav__card:hover img{transform:scale(1.05)}
.ccb-nav__card::after{content:"";position:absolute;inset:auto 0 0;height:62%;background:linear-gradient(0deg,rgba(24,24,24,.82),rgba(24,24,24,0));pointer-events:none}
.ccb-nav__cap{position:absolute;z-index:1;left:0;right:0;bottom:0;display:grid;gap:2px;padding:18px 20px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.ccb-nav__cap em{font:600 10px/1.4 var(--e-global-typography-accent-font-family,Montserrat),sans-serif;font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--nav-accent)}
.ccb-nav__cap strong{max-width:85%;font:400 1.1rem/1.25 var(--e-global-typography-primary-font-family,Poppins),sans-serif;color:#fff}
.ccb-nav .ccb-nav__card:hover{color:#fff}

.ccb-nav__ov{display:none}

/* Mobile et tablette : tiroir latéral avec accordéons */
@media (max-width:1024px){
	.ccb-nav__burger{display:inline-grid;place-items:center;width:44px;height:44px}
	.ccb-nav__drawer{position:fixed;z-index:1002;top:0;bottom:0;left:0;width:min(88vw,400px);padding:64px 20px 28px;overflow-y:auto;overscroll-behavior:contain;background:#fff;box-shadow:0 0 40px rgba(0,0,0,.25);transform:translateX(-102%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}
	.ccb-nav.is-open .ccb-nav__drawer{transform:none;visibility:visible;transition-delay:0s}
	.ccb-nav__close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px}
	.ccb-nav__ov{position:fixed;z-index:1001;inset:0;background:rgba(0,0,0,.45)}
	.ccb-nav.is-open .ccb-nav__ov{display:block}
	.ccb-nav__ov[hidden]{display:none!important}
	.ccb-nav__list{display:block}
	.ccb-nav__item{display:grid;grid-template-columns:1fr 44px;align-items:center;border-bottom:1px solid #ececec}
	.ccb-nav .ccb-nav__link{padding:18px 0}
	.ccb-nav .ccb-nav__link::after{display:none}
	.ccb-nav__chev{display:grid;place-items:center;width:44px;height:44px}
	.ccb-nav__chev svg{transition:transform .25s}
	.ccb-nav__item.is-open .ccb-nav__chev svg{transform:rotate(180deg)}
	.ccb-nav__panel{position:static;grid-column:1/-1;display:none;padding:4px 0 16px;border:0;box-shadow:none;background:#f6f3ec!important;opacity:1;visibility:visible;transform:none;transition:none}
	.ccb-nav__item.has-panel:hover>.ccb-nav__panel{opacity:1}
	.ccb-nav__item.is-open>.ccb-nav__panel{display:block}
	.ccb-nav__cols{display:grid;gap:16px;padding:12px 16px}
	.ccb-nav__col{min-width:0}
	.ccb-nav__card{display:none}
	.ccb-nav .ccb-nav__col a:hover,.ccb-nav .ccb-nav__col a:focus-visible{transform:none}
	.ccb-nav .ccb-nav__col a::before{display:none}
	body.ccb-nav-lock{overflow:hidden}
	body.ccb-nav-lock .elementor-element-nav{z-index:100000!important}
}
@media (prefers-reduced-motion:reduce){.ccb-nav *{transition:none!important}}
.ccb-nav__price{font:400 .85rem/1.3 var(--e-global-typography-text-font-family,Lato),sans-serif;color:#fff}
.ccb-nav__price del{opacity:.6}.ccb-nav__price ins{text-decoration:none}
.ccb-nav__h a{color:inherit;text-decoration:none}
/* Ordinateur : petite flèche sur les entrées qui ouvrent un panneau (le soulignement utilise ::after) */
@media (min-width:1025px){
.ccb-nav__item.has-panel>.ccb-nav__link{padding-right:16px}
.ccb-nav__item.has-panel>.ccb-nav__link::before{content:"";position:absolute;right:2px;top:50%;width:5px;height:5px;margin-top:-4px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .25s,margin-top .25s}
.ccb-nav__item.has-panel:hover>.ccb-nav__link::before,.ccb-nav__item.has-panel:focus-within>.ccb-nav__link::before,.ccb-nav__item.has-panel.is-open>.ccb-nav__link::before{transform:rotate(225deg);margin-top:-1px}
}
/* Connecté : la barre d'administration ne doit pas recouvrir les volets (mini-panier, tiroir mobile) */
body.admin-bar .elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__main,body.admin-bar .ccb-nav__drawer{top:32px}
@media (max-width:782px){body.admin-bar .elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__main,body.admin-bar .ccb-nav__drawer{top:46px}}

/* Mobile : burger aligné verticalement sur le logo et les icônes */
@media (max-width:767px){
	.ccb-nav .ccb-nav__burger{transform:translateY(11px)}
}
