/* CCB Sledge Boutique — couleurs et polices du kit Elementor (variables globales). */
.ccb-head,.ccb-chips,.ccb-filters,.ccb-cattext,.ccb-tags,.ccb-sw,.ccb-badge{
	--ccb-ink:var(--e-global-color-primary,#242424);
	--ccb-accent:var(--e-global-color-secondary,#cdbd92);
	--ccb-muted:var(--e-global-color-text,#6f6f6f);
	--ccb-soft:#f6f3ec;
	--ccb-line:#dedede;
	--ccb-label:var(--e-global-typography-accent-font-family,Montserrat),sans-serif;
	--ccb-title:var(--e-global-typography-primary-font-family,Poppins),sans-serif;
}
.ccb-head ol,.ccb-head ul,.ccb-chips ul,.ccb-filters ul,.ccb-tags{list-style:none;margin:0;padding:0}

/* En-tête */
.ccb-head{--ccb-align:center;text-align:var(--ccb-align)}
.ccb-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;justify-content:var(--ccb-align);font-size:.8rem;color:var(--ccb-muted);margin:0 0 30px}
.ccb-crumbs li+li::before{content:"/";margin-right:8px}
.ccb-crumbs a{color:inherit;text-decoration:none}
.ccb-crumbs a:hover{color:var(--ccb-ink);text-decoration:underline}
.ccb-head__title{margin:0;font:300 clamp(2rem,1.4rem + 2vw,3rem)/1.1 var(--ccb-title);letter-spacing:-.015em;text-wrap:balance;color:var(--ccb-ink)}
.ccb-head__intro{max-width:620px;margin:16px auto 0 var(--ccb-intro-ml,auto);color:var(--ccb-muted);line-height:1.6;font-size:.95rem}

/* Univers */
.ccb-chips{--ccb-chip:112px}
.ccb-chips ul{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(18px,3vw,44px)}
.ccb-chips a{display:grid;justify-items:center;gap:12px;max-width:calc(var(--ccb-chip) + 24px);text-align:center;color:var(--ccb-ink);text-decoration:none;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.ccb-chips a:hover{transform:translateY(-6px)}
.ccb-chips__img{display:block;width:var(--ccb-chip);height:var(--ccb-chip);border-radius:50%;overflow:hidden;background:var(--ccb-soft);border:1px solid var(--ccb-line);transition:border-color .3s,box-shadow .3s}
.ccb-chips__img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.ccb-chips a:hover .ccb-chips__img{border-color:var(--ccb-accent);box-shadow:0 0 0 4px var(--ccb-accent)}
.ccb-chips__label{font:600 11px/1.3 var(--ccb-label);letter-spacing:.12em;text-transform:uppercase}

/* Filtres */
.ccb-filters__panel{display:contents}
.ccb-filters__open,.ccb-filters__head,.ccb-filters__foot,.ccb-filters__ov{display:none}
.ccb-filters__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px;border-block:1px solid var(--ccb-line)}
.ccb-filters__list{display:flex;flex-wrap:wrap;gap:10px}
.ccb-dd{position:relative}
.ccb-dd>summary{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:1px solid var(--ccb-line);border-radius:999px;font:600 11px/1 var(--ccb-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ccb-ink);cursor:pointer;list-style:none;user-select:none;transition:border-color .2s}
.ccb-dd>summary::-webkit-details-marker{display:none}
.ccb-dd>summary:hover,.ccb-dd[open]>summary{border-color:var(--ccb-ink)}
.ccb-dd>summary:focus-visible{outline:2px solid var(--ccb-accent);outline-offset:2px}
.ccb-dd>summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.ccb-dd[open]>summary svg{transform:rotate(180deg)}
.ccb-dd.is-on>summary{background:var(--ccb-ink);border-color:var(--ccb-ink);color:#fff}
.ccb-dd__n{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--ccb-accent);color:var(--ccb-ink);font-size:10px;letter-spacing:0}
.ccb-dd__panel{position:absolute;z-index:30;top:calc(100% + 8px);left:0;min-width:240px;max-height:340px;overflow-y:auto;padding:8px!important;background:#fff;border:1px solid var(--ccb-line);box-shadow:0 18px 40px rgba(0,0,0,.12)}
.ccb-dd__panel a{display:flex;align-items:center;gap:10px;padding:9px 10px;color:var(--ccb-ink);text-decoration:none;font-size:.9rem;border-radius:2px}
.ccb-dd__panel a:hover{background:var(--ccb-soft)}
.ccb-dd__panel a::before{content:"";flex:0 0 16px;height:16px;border:1px solid #bdbdbd;border-radius:2px;background:#fff center/10px no-repeat}
.ccb-dd__panel a.is-on::before{background-color:var(--ccb-ink);border-color:var(--ccb-ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E")}
.ccb-dd__dot{flex:0 0 14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.ccb-dd__label{flex:1}
.ccb-dd__count{color:var(--ccb-muted);font-size:.8rem}
.ccb-filters__end{display:flex;flex-shrink:0;align-items:center;gap:20px;font-size:.9rem;color:var(--ccb-muted);white-space:nowrap}
.ccb-sort{display:flex;align-items:center;gap:8px;margin:0}
.ccb-sort label{font:600 11px/1 var(--ccb-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ccb-muted)}
.ccb-sort select{min-width:180px;height:42px;padding:0 34px 0 16px;border:1px solid var(--ccb-line);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23242424' stroke-width='1.5'/%3E%3C/svg%3E") right 12px center/16px no-repeat;-webkit-appearance:none;appearance:none;font:600 11px/1 var(--ccb-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ccb-ink);cursor:pointer}
.ccb-filters__active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px!important}
.ccb-filters__active a{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--ccb-ink);border-radius:999px;color:var(--ccb-ink);font-size:.8rem;text-decoration:none}
.ccb-filters__active a span{font-size:1rem;line-height:1}
.ccb-filters__active a:hover{background:var(--ccb-ink);color:#fff}
.ccb-filters__clear a{border-color:transparent;text-decoration:underline;text-underline-offset:3px}

/* Texte de catégorie */
.ccb-cattext{max-width:820px;margin-inline:auto;color:var(--ccb-muted);line-height:1.7}
.ccb-cattext :is(h2,h3,h4){font-family:var(--ccb-title);font-weight:300;color:var(--ccb-ink);line-height:1.25;margin:1.4em 0 .5em}
.ccb-cattext h2{font-size:1.6rem}.ccb-cattext h3{font-size:1.2rem}
.ccb-cattext a{color:var(--ccb-ink);text-decoration:underline;text-decoration-color:var(--ccb-accent);text-underline-offset:3px}

/* Cartes produit */
.ccb-ci-badge{position:absolute!important;top:12px;left:12px;z-index:2;width:auto!important;margin:0!important}
.e-con:has(>.ccb-ci-badge){position:relative}
.ccb-badge{display:inline-block;padding:6px 11px;background:var(--ccb-ink);color:#fff;font:600 10px/1 var(--ccb-label);letter-spacing:.14em;text-transform:uppercase}
.ccb-tags{display:flex;flex-wrap:wrap;gap:6px}
.ccb-tags li{padding:3px 9px;border:1px solid var(--ccb-line);border-radius:999px;font-size:.75rem;line-height:1.4;color:var(--ccb-muted)}
.ccb-sw{display:inline-flex;align-items:center;gap:8px}
.ccb-sw i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.2);background-size:cover;background-position:center}
.ccb-sw button.ccb-sw__d{display:inline-grid;margin:-4px;padding:4px;border:0;border-radius:50%;background:none;cursor:pointer;line-height:0;transition:none}
.ccb-sw button.ccb-sw__d:hover,.ccb-sw button.ccb-sw__d:focus{background:none}
.ccb-sw button.ccb-sw__d:focus-visible{outline:2px solid #242424;outline-offset:0}
.ccb-sw button[aria-pressed="true"] i{box-shadow:0 0 0 2px #fff,0 0 0 3px #242424}
.ccb-sw em{font-style:normal;font-size:.75rem;color:var(--ccb-muted)}

@media (max-width:767px){
	.ccb-crumbs ol{justify-content:flex-start;margin-bottom:16px}
	.ccb-head{--ccb-align:left;--ccb-intro-ml:0;text-align:left}
	.ccb-chips{--ccb-chip:84px}
	.ccb-chips ul{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:18px;margin-inline:-20px;padding:6px 20px 14px;scroll-snap-type:x mandatory;scroll-padding-inline:20px;scrollbar-width:none}
	.ccb-chips ul::-webkit-scrollbar{display:none}
	.ccb-chips li{flex:0 0 auto;scroll-snap-align:start}
	.ccb-chips__label{font-size:10px}
	.ccb-filters__bar{flex-wrap:wrap;gap:12px}
	.ccb-filters .ccb-filters__open{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:1px solid var(--ccb-ink);border-radius:999px;background:#fff;color:var(--ccb-ink);font:600 11px/1 var(--ccb-label);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
	.ccb-filters__open svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
	.ccb-filters__panel{display:flex;flex-direction:column;position:fixed;z-index:1002;top:0;bottom:0;right:0;width:min(88vw,400px);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-filters__panel.is-open{transform:none;visibility:visible;transition-delay:0s}
	body.admin-bar .ccb-filters__panel{top:46px}
	.ccb-filters__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ccb-line);font:600 12px/1 var(--ccb-label);letter-spacing:.14em;text-transform:uppercase}
	.ccb-filters .ccb-filters__close{width:40px;height:40px;padding:0;border:0;background:none;color:var(--ccb-ink);font-size:1.8rem;line-height:1;cursor:pointer}
	.ccb-filters .ccb-filters__list{flex:1;flex-direction:column;flex-wrap:nowrap;gap:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px!important;margin:0!important}
	.ccb-filters__list>li{border-bottom:1px solid var(--ccb-line)}
	.ccb-dd>summary{width:100%;justify-content:space-between;height:54px;padding:0;border:0;border-radius:0}
	.ccb-dd>summary:hover,.ccb-dd[open]>summary{border-color:transparent}
	.ccb-dd.is-on>summary{background:none;color:var(--ccb-ink)}
	.ccb-dd__panel{position:static;min-width:0;max-height:none;margin:0 0 10px!important;border:0;box-shadow:none;padding:0!important}
	.ccb-dd__panel a{padding:12px 4px}
	.ccb-filters__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--ccb-line)}
	.ccb-filters__reset{color:var(--ccb-ink);font-size:.85rem;text-decoration:underline;text-underline-offset:3px}
	.ccb-filters .ccb-filters__apply{flex:1;height:46px;border:1px solid var(--ccb-ink);border-radius:2px;background:var(--ccb-ink);color:#fff;font:600 11px/1 var(--ccb-label);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
	.ccb-filters__ov:not([hidden]){display:block;position:fixed;z-index:1001;inset:0;background:rgba(0,0,0,.45)}
	.ccb-filters__end{margin-left:auto;gap:12px}
	.ccb-filters__count{display:none}
	.ccb-sort select{min-width:0;max-width:150px}
	.ccb-sort label{display:none}
	.ccb-tags{display:none}
	.ccb-ci-badge{top:8px;left:8px}
	.ccb-badge{padding:5px 8px;font-size:9px}
}
@media (prefers-reduced-motion:reduce){.ccb-chips a,.ccb-chips a:hover{transition:none;transform:none}}
.ccb-sw button.ccb-sw__d i{transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.ccb-sw button.ccb-sw__d:hover i,.ccb-sw button.ccb-sw__d:focus-visible i{transform:scale(1.25)}
@media (prefers-reduced-motion:reduce){.ccb-sw button.ccb-sw__d i{transition:none}}

/* Fiche produit : vignettes de la galerie décalées vers le bas, avec un rythme régulier */
.woocommerce-product-gallery .flex-control-thumbs{margin:20px 0 0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px}
.woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.woocommerce-product-gallery .flex-control-thumbs img{display:block;width:100%;aspect-ratio:1;object-fit:cover;opacity:.55;cursor:pointer;transition:opacity .2s}
.woocommerce-product-gallery .flex-control-thumbs img:hover,.woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1}

/* Pastilles de coloris en curseur (plus de coloris que le maximum) */
.ccb-sw--slide{max-width:100%;gap:2px}
.e-loop-item,.elementor-widget:has(.ccb-sw--slide){min-width:0}
.elementor-widget:has(.ccb-sw--slide){max-width:100%}
.ccb-sw__t{display:flex;gap:8px;flex:0 1 auto;min-width:0;max-width:calc(var(--ccb-sw-n,5)*30px - 8px);padding:4px;margin:-4px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ccb-sw__t::-webkit-scrollbar{display:none}
.ccb-sw__t>*{flex:none;scroll-snap-align:start}
.ccb-sw button.ccb-sw__nav{flex:none;position:relative;width:18px;height:26px;margin:0;padding:0;border:0;border-radius:2px;background:none;cursor:pointer;color:#242424;transition:none}
.ccb-sw button.ccb-sw__nav::before{content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translate(-65%,-50%) rotate(-45deg)}
.ccb-sw button.ccb-sw__nav--prev::before{transform:translate(-35%,-50%) rotate(135deg)}
.ccb-sw button.ccb-sw__nav:hover,.ccb-sw button.ccb-sw__nav:focus{background:none;color:#242424}
.ccb-sw button.ccb-sw__nav:focus-visible{outline:2px solid #242424}
.ccb-sw button.ccb-sw__nav:disabled{opacity:.25;cursor:default}
@media (hover:none){.ccb-sw button.ccb-sw__nav{width:24px;height:32px}}

/* En-tête de la page de résultats de recherche */
.ccb-head--search{padding:8px 0 4px}
.ccb-head__kicker{margin:0 0 14px;font:600 .7rem/1 var(--ccb-label,Montserrat,sans-serif);letter-spacing:.24em;text-transform:uppercase;color:var(--ccb-accent)}
.ccb-head--search .ccb-head__pre{display:block;margin-bottom:6px;font:600 .72rem/1 var(--ccb-label,Montserrat,sans-serif);letter-spacing:.22em;text-transform:uppercase;color:var(--ccb-muted)}
.ccb-head--search .ccb-head__title em{font-style:normal;background:linear-gradient(transparent 68%,rgba(205,189,146,.55) 68%);padding:0 .06em}
.ccb-head__form{display:flex;align-items:center;max-width:560px;margin:28px auto 0 var(--ccb-intro-ml,auto);border-bottom:1px solid var(--ccb-ink);transition:border-color .2s,box-shadow .2s}
.ccb-head__form:focus-within{border-color:var(--ccb-accent);box-shadow:0 1px 0 var(--ccb-accent)}
.ccb-head__form input[type=search]{flex:1;min-width:0;padding:14px 0;border:0;background:none;outline:0;font:300 1.15rem/1.2 var(--ccb-title);color:var(--ccb-ink);-webkit-appearance:none;appearance:none}
.ccb-head__form button{flex:none;padding:14px 0 14px 16px;border:0;background:none;cursor:pointer;font:600 .68rem/1 var(--ccb-label,Montserrat,sans-serif);letter-spacing:.2em;text-transform:uppercase;color:var(--ccb-ink)}
.ccb-head__form button:hover{color:var(--ccb-muted)}
.ccb-head__rel{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:var(--ccb-rel-j,center);margin:22px 0 0}
.ccb-head__rel span{margin-right:6px;font:600 .66rem/1 var(--ccb-label,Montserrat,sans-serif);letter-spacing:.2em;text-transform:uppercase;color:var(--ccb-muted)}
.ccb-head__rel a{padding:9px 16px;border:1px solid #e3ddcc;border-radius:999px;background:#fff;color:var(--ccb-ink);text-decoration:none;font:400 .85rem/1 Lato,sans-serif;transition:background .15s,color .15s,border-color .15s}
.ccb-head__rel a:hover{background:var(--ccb-ink);border-color:var(--ccb-ink);color:#fff}
@media (max-width:767px){.ccb-head__form{margin-left:0}.ccb-head__rel{--ccb-rel-j:flex-start}}

/* Bouton « Tout effacer » : plus visible */
.ccb-filters__clear svg,.ccb-filters__reset svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ccb-filters__active .ccb-filters__clear a{gap:8px;padding:9px 16px 9px 13px;background:var(--ccb-ink);border:1px solid var(--ccb-ink);color:#fff;font:600 11px/1 var(--ccb-label);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.14);transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s}
.ccb-filters__active .ccb-filters__clear a:hover{background:var(--ccb-accent);border-color:var(--ccb-accent);color:var(--ccb-ink);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.16)}
.ccb-filters__active .ccb-filters__clear a:focus-visible,.ccb-filters__reset:focus-visible{outline:2px solid var(--ccb-accent);outline-offset:3px}
@media (max-width:767px){
	.ccb-filters__reset{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;height:46px;border:1px solid var(--ccb-ink);border-radius:2px;font:600 11px/1 var(--ccb-label);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
}
@media (prefers-reduced-motion:reduce){.ccb-filters__active .ccb-filters__clear a:hover{transform:none}}
