/* Scoped to boutique content: no selectors target header, footer or off-canvas menu. */
body.ysbd-active #main{background:#303030;color:#ededed}
.ysbd-page,.ysbd-navigation{--ysbd-bg:#303030;--ysbd-card:#373737;--ysbd-border:#515151;--ysbd-text:#f5f5f5;--ysbd-muted:#ccc;--ysbd-yellow:#ffcf55;color:var(--ysbd-text);font-size:16px;line-height:1.6}
.ysbd-page{max-width:1280px;margin:0 auto;padding:30px 24px 42px}
.ysbd-page *,.ysbd-navigation *{box-sizing:border-box}
.ysbd-page a,.ysbd-navigation a{color:inherit;text-decoration:none}
.ysbd-page a:hover,.ysbd-navigation a:hover{color:var(--ysbd-yellow)}
.ysbd-page :focus-visible,.ysbd-navigation :focus-visible{outline:3px solid #ffcf55;outline-offset:3px}
.ysbd-page h1,.ysbd-page h2,.ysbd-page h3,.ysbd-page h4,.ysbd-page label,.ysbd-page legend{color:var(--ysbd-text)}
.ysbd-navigation{margin-bottom:24px}
.ysbd-shop-heading{display:flex;gap:28px;align-items:center;justify-content:space-between;margin-bottom:20px}
.ysbd-shop-title{font-size:clamp(24px,3vw,36px);font-weight:750;line-height:1.2;display:block;letter-spacing:-.6px}
.ysbd-shop-heading p{color:var(--ysbd-muted);margin:5px 0 0;font-size:14px}
.ysbd-search{display:flex;align-items:stretch;max-width:480px;flex:1;min-width:0;margin:0;border:1px solid var(--ysbd-border);border-radius:7px;background:#282828;overflow:hidden}
.ysbd-search input[type=search]{margin:0;height:46px;width:100%;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;padding:0 14px;font-size:16px}
.ysbd-search input::placeholder{color:#c3c3c3;opacity:1}
.ysbd-search button{margin:0!important;border:0!important;border-radius:0;background:#ffcf55!important;color:#242424!important;min-width:48px;min-height:46px;font-size:26px;line-height:1;padding:0 12px}
.ysbd-custom-search{flex:1;max-width:520px;min-width:0}
.ysbd-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.ysbd-sidebar{background:#373737;border:1px solid #515151;border-radius:9px;padding:18px 12px}
.ysbd-sidebar h2{font-size:17px;margin:0 6px 14px;padding-bottom:14px;border-bottom:1px solid #515151;text-transform:none}
.ysbd-tree{list-style:none!important;padding:0!important;margin:0!important}
.ysbd-tree li{list-style:none!important;margin:0!important;padding:0!important}
.ysbd-tree summary,.ysbd-category{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.ysbd-tree summary{cursor:pointer;min-height:44px;padding:12px 10px;color:#f0f0f0;font-weight:600;border-radius:5px}
.ysbd-tree summary:hover{background:#444}
.ysbd-category{display:block;padding:12px 10px;min-height:44px;border-radius:5px}
.ysbd-category.is-active{background:#ffcf55;color:#242424!important;font-weight:700}
.ysbd-branch{padding-left:12px;margin-left:10px;border-left:1px solid #666}
.ysbd-branch .ysbd-category{font-size:13px}
.ysbd-shortcuts{display:none}
.ysbd-mobile-categories{display:none}
.ysbd-content{min-width:0}
.ysbd-page .woocommerce-breadcrumb{font-size:12px;color:#ccc;margin:0 0 16px;line-height:1.7;text-transform:none;overflow-wrap:anywhere}
.ysbd-product-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;border:1px solid #515151;border-radius:9px;padding:22px;background:#373737;align-items:start}
.ysbd-gallery{min-width:0;position:relative}
.ysbd-gallery .woocommerce-product-gallery,.ysbd-gallery .images{width:100%!important;float:none!important;margin:0!important;max-width:100%!important}
.ysbd-gallery .product-gallery{padding:0!important;width:100%!important;max-width:100%!important;flex-basis:100%!important}
.ysbd-gallery .woocommerce-product-gallery__image img,.ysbd-gallery .woocommerce-product-gallery__image--placeholder img{background:#fff;border-radius:6px;width:100%;height:auto;object-fit:contain}
.ysbd-gallery .woocommerce-product-gallery__wrapper{margin:0}
.ysbd-page .ysbd-summary{float:none!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;min-width:0}
.ysbd-summary .product_title{font-size:clamp(22px,2.2vw,30px);line-height:1.25;letter-spacing:-.4px;margin:0 0 18px;overflow-wrap:anywhere;text-transform:none}
.ysbd-summary .is-divider{display:none}
.ysbd-summary .price{color:#fff!important;font-size:25px;font-weight:700;line-height:1.5;margin:15px 0}
.ysbd-summary .amount{color:inherit}
.ysbd-summary .price del{color:#ccc;font-size:16px}
.ysbd-summary .price ins{background:transparent;color:#fff}
.ysbd-summary .woocommerce-product-details__short-description{color:#ddd;font-size:15px;overflow-wrap:anywhere}
.ysbd-summary .single_add_to_cart_button{background:#ffcf55!important;color:#242424!important;border:0!important;border-radius:6px;font-weight:700;letter-spacing:0;text-transform:none;font-size:16px;min-height:48px;white-space:normal;line-height:1.4;padding:13px 18px;box-shadow:none;margin:0;width:100%}
.ysbd-summary .single_add_to_cart_button:hover{background:#ffe08a!important}
.ysbd-summary form.cart{margin-bottom:14px}
.ysbd-summary .product_meta{border-top:1px solid #515151;margin-top:18px;padding-top:12px;color:#ccc;font-size:12px}
.ysbd-summary .product_meta>span{border-color:#515151}
.ysbd-affiliate{font-size:12px;line-height:1.6;color:#ccc;margin:10px 0 18px}
.ysbd-affiliate p{margin:0 0 7px}
.ysbd-page .ysbd-product-details{margin-top:20px;clear:both}
.ysbd-product-details .woocommerce-tabs{background:#373737;border:1px solid #515151;border-radius:9px;padding:20px;margin:0 0 20px}
.ysbd-product-details .woocommerce-tabs .panel{background:transparent;color:#e3e3e3;box-shadow:none;padding:12px 0 0;margin-bottom:0}
.ysbd-product-details .woocommerce-tabs ul.tabs{border-color:#515151;margin-top:0;display:flex;flex-wrap:wrap;gap:12px}
.ysbd-product-details .woocommerce-tabs ul.tabs li,.ysbd-product-details .woocommerce-tabs ul.tabs li.active{background:transparent;border-color:#515151}
.ysbd-product-details .woocommerce-tabs ul.tabs li a{color:#ddd;font-size:14px}
.ysbd-product-details .woocommerce-tabs ul.tabs li.active a{color:#ffcf55}
.ysbd-product-details .woocommerce-tabs ul.tabs li:before,.ysbd-product-details .woocommerce-tabs ul.tabs li:after{box-shadow:none}
.ysbd-product-details h2{font-size:20px;text-transform:none;letter-spacing:0}
.ysbd-product-details .related,.ysbd-product-details .up-sells{padding:20px;background:#373737;border:1px solid #515151;border-radius:9px;margin-top:20px}
.ysbd-product-details .product-small .col-inner,.ysbd-product-details li.product{background:#303030;border:1px solid #515151;border-radius:6px;overflow:hidden}
.ysbd-product-details .box-text{padding:12px!important}
.ysbd-product-details .product-small img{object-fit:contain;background:#fff;aspect-ratio:1/1}
.ysbd-product-details .name,.ysbd-product-details .woocommerce-loop-product__title{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.ysbd-product-details .price,.ysbd-product-details .amount,.ysbd-product-details .category{color:#ddd}
.ysbd-product-details table,.ysbd-product-details th,.ysbd-product-details td{color:#eee;border-color:#666}
.ysbd-page input:not([type=submit]):not([type=checkbox]):not([type=radio]),.ysbd-page select,.ysbd-page textarea{background:#282828;color:#fff;border-color:#666}
.ysbd-page select option{background:#282828;color:#fff}
.ysbd-page .quantity input{min-height:44px}
.ysbd-page .woocommerce-message,.ysbd-page .woocommerce-info,.ysbd-page .woocommerce-error{color:#eee;background:#252525}
/* Catalogue : keep Flatsome's grid and sidebar; add only scoped shop controls/colors. */
.ysbd-archive-nav .ysbd-mobile-categories{display:block;margin-bottom:12px}
.ysbd-archive-nav .ysbd-shortcuts{display:flex;flex-wrap:wrap;gap:8px}
.ysbd-archive-nav .ysbd-shortcuts a{border:1px solid #666}
.ysbd-mobile-categories{border:1px solid #ffcf55;border-radius:6px;background:#292929}
.ysbd-mobile-categories>summary{padding:10px 14px;cursor:pointer;min-height:44px;font-weight:700;font-size:14px}
.ysbd-mobile-categories>nav{padding:8px 12px;border-top:1px solid #515151;max-height:60vh;overflow:auto}
body.ysbd-active:not(.ysbd-single) #main .shop-container,body.ysbd-active:not(.ysbd-single) #main .shop-sidebar{color:#eee}
body.ysbd-active:not(.ysbd-single) #main .shop-container :is(h1,h2,h3,.name a,.price,.amount),body.ysbd-active:not(.ysbd-single) #main .shop-sidebar :is(a,.widget-title){color:#eee}
@media(max-width:1050px){.ysbd-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}.ysbd-product-card{gap:18px;padding:16px}.ysbd-page{padding:24px 18px}.ysbd-shop-heading{gap:18px}}
@media(max-width:849px){
.ysbd-page{padding:18px 16px 28px}.ysbd-layout{display:block}.ysbd-sidebar{display:none}
.ysbd-shop-heading{display:block;margin-bottom:12px}.ysbd-shop-title{font-size:26px}.ysbd-shop-heading p{font-size:13px;margin-bottom:14px}.ysbd-search,.ysbd-custom-search{max-width:none;width:100%}
.ysbd-mobile-categories{display:block;margin-bottom:12px}.ysbd-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ysbd-shortcuts .ysbd-category{border:1px solid #606060;background:#383838;text-align:center;display:flex;align-items:center;justify-content:center;font-size:12px;padding:9px 6px;min-width:0}.ysbd-shortcuts .ysbd-category.is-active{background:#ffcf55;color:#222}
.ysbd-navigation{margin-bottom:20px}.ysbd-product-card{padding:18px;gap:22px}.ysbd-summary .product_title{font-size:25px}.ysbd-product-details .related,.ysbd-product-details .up-sells{padding:15px}.ysbd-archive-nav .ysbd-shortcuts{display:grid}
}
@media(max-width:549px){
.ysbd-page{padding:16px 12px 24px}.ysbd-shop-title{font-size:24px}.ysbd-product-card{grid-template-columns:minmax(0,1fr);padding:12px;gap:18px}.ysbd-gallery{width:100%;max-width:360px;margin:auto}.ysbd-summary .product_title{font-size:23px}.ysbd-summary .single_add_to_cart_button{font-size:15px}.ysbd-product-details .woocommerce-tabs{padding:14px}.ysbd-product-details .related,.ysbd-product-details .up-sells{padding:12px}
.ysbd-product-details ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ysbd-product-details ul.products:before,.ysbd-product-details ul.products:after{display:none}.ysbd-product-details ul.products li.product{width:auto!important;margin:0!important;float:none!important}.ysbd-product-details .row>.product-small{max-width:50%;flex-basis:50%;padding:0 6px 12px}.ysbd-product-details .row{margin-left:-6px;margin-right:-6px}
}

/* 1.1.0 — native integration of [ys_recherche_boutique]. Scoped: existing
   search widgets elsewhere keep their original styling and behavior. */
.ysbd-navigation .ysbd-custom-search{flex:1 1 650px;max-width:740px;min-width:0}
.ysbd-navigation .ysbd-shop-heading>div:first-child{flex:0 1 380px;min-width:0}
.ysbd-navigation .ysrb{background:#373737;color:#f5f5f5;border:1px solid #515151;border-radius:8px;margin:0;padding:14px;text-align:left}
.ysbd-navigation .ysrb h2,.ysbd-navigation .ysrb label{color:#f5f5f5}
.ysbd-navigation .ysrb-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,170px) auto;gap:10px;align-items:end}
.ysbd-navigation .ysrb-category{width:auto;min-width:0;max-width:100%}
.ysbd-navigation .ysrb input[type=search],.ysbd-navigation .ysrb select{background:#282828;color:#fff;border:1px solid #666;min-width:0;width:100%;font-size:16px;height:48px;box-shadow:none}
.ysbd-navigation .ysrb select option{background:#282828;color:#fff}
.ysbd-navigation .ysrb input::placeholder{color:#c3c3c3;opacity:1}
.ysbd-navigation .ysrb button[type=submit]{background:#ffcf55;color:#242424;font-weight:700;min-height:48px;padding:0 14px;margin:0;border:0;border-radius:6px;white-space:normal}
.ysbd-navigation .ysrb button[type=submit]:hover{background:#ffe08a}
.ysbd-navigation .ysrb-suggestions{background:#282828;border-color:#666;max-height:360px;overflow:auto;overscroll-behavior:contain}
.ysbd-navigation .ysrb-suggestions a{color:#f5f5f5;border-color:#515151;min-height:64px}
.ysbd-navigation .ysrb-suggestions a>span{min-width:0;overflow-wrap:anywhere}
.ysbd-navigation .ysrb-suggestions a:hover,.ysbd-navigation .ysrb-suggestions a:focus{background:#414141;color:#ffcf55}
.ysbd-navigation .ysrb-suggestions small,.ysbd-navigation .ysrb-status{color:#d4d4d4}
.ysbd-navigation .ysrb-suggestions img{background:#fff;border-radius:4px}
.ysbd-navigation .ysrb :focus-visible{outline:3px solid #ffcf55;outline-offset:2px}
@media(max-width:1100px){.ysbd-navigation .ysbd-shop-heading{display:block}.ysbd-navigation .ysbd-custom-search{max-width:none;width:100%;margin-top:14px}}
@media(max-width:700px){.ysbd-navigation .ysrb-form{grid-template-columns:minmax(0,1fr)}.ysbd-navigation .ysrb{padding:12px}.ysbd-navigation .ysrb-category,.ysbd-navigation .ysrb button[type=submit]{width:100%}.ysbd-navigation .ysrb-suggestions{max-height:320px}}

/* 1.2.0 — Archive-only rules. The validated single-product layout is unchanged. */
.ysbd-catalog-page .ysbd-category-header{background:#373737;border:1px solid #515151;border-radius:9px;padding:22px;margin-bottom:18px}
.ysbd-catalog-page .ysbd-category-header h1{font-size:clamp(25px,3vw,34px);line-height:1.25;letter-spacing:-.4px;margin:0;text-transform:none;overflow-wrap:anywhere}
.ysbd-catalog-page .term-description,.ysbd-catalog-page .page-description{color:#dedede;font-size:15px;line-height:1.7;margin-top:14px;overflow-wrap:anywhere}
.ysbd-catalog-page .term-description>:last-child,.ysbd-catalog-page .page-description>:last-child{margin-bottom:0}
.ysbd-catalog-page .ysbd-child-categories{margin:0 0 18px}
.ysbd-catalog-page .ysbd-child-categories>span{font-size:13px;color:#ccc;display:block;margin-bottom:8px}
.ysbd-catalog-page .ysbd-child-categories>div{display:flex;flex-wrap:wrap;gap:8px}
.ysbd-catalog-page .ysbd-child-categories a{border:1px solid #666;background:#373737;padding:10px 15px;font-size:14px}
.ysbd-catalog-page .ysbd-child-categories a:hover{border-color:#ffcf55}
.ysbd-catalog-page .ysbd-catalog-filters{margin:0 0 18px;border:1px solid #666;border-radius:7px;background:#343434}
.ysbd-catalog-page .ysbd-catalog-filters>summary{cursor:pointer;padding:12px 16px;min-height:46px;font-size:14px;font-weight:700}
.ysbd-catalog-page .ysbd-filter-widgets{padding:16px;border-top:1px solid #515151;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ysbd-catalog-page .ysbd-filter-widgets .widget{min-width:0;margin:0;color:#eee}
.ysbd-catalog-page .ysbd-filter-widgets :is(a,.widget-title,label){color:#eee}
.ysbd-catalog-page .ysbd-filter-widgets li{border-color:#515151}
.ysbd-catalog-page .ysbd-catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}
.ysbd-catalog-page .ysbd-catalog-toolbar .woocommerce-result-count{margin:0;color:#ccc;font-size:13px;float:none}
.ysbd-catalog-page .ysbd-catalog-toolbar form.woocommerce-ordering{margin:0;float:none;max-width:100%}
.ysbd-catalog-page .ysbd-catalog-toolbar select{margin:0;min-height:44px;max-width:100%;font-size:14px;border-radius:6px}
.ysbd-catalog-page .ysbd-catalog-toolbar .woocommerce-notices-wrapper{flex-basis:100%}
.ysbd-catalog-page .ysbd-catalog-toolbar .woocommerce-notices-wrapper:empty{display:none}
.ysbd-catalog-page .ysbd-catalog-grid>.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;max-width:none;margin:0!important;padding:0;list-style:none}
.ysbd-catalog-page .ysbd-catalog-grid>.products:before,.ysbd-catalog-page .ysbd-catalog-grid>.products:after{display:none!important}
.ysbd-catalog-page .ysbd-catalog-grid>.products>.product,.ysbd-catalog-page .ysbd-catalog-grid>.products>.product-category{min-width:0;width:100%!important;max-width:100%!important;float:none!important;margin:0!important;padding:0!important;list-style:none;display:flex;flex-direction:column}
.ysbd-catalog-page .ysbd-catalog-grid>.products>li{background:#373737;border:1px solid #515151;border-radius:8px;overflow:hidden;padding-bottom:14px!important}
.ysbd-catalog-page .ysbd-catalog-grid>.products>.col>.col-inner{height:100%;width:100%;background:#373737;border:1px solid #515151;border-radius:8px;overflow:hidden}
.ysbd-catalog-page .ysbd-catalog-grid .box{background:transparent}
.ysbd-catalog-page .ysbd-catalog-grid .box-text{padding:14px!important;text-align:left}
.ysbd-catalog-page .ysbd-catalog-grid .box-image{background:#fff}
.ysbd-catalog-page .ysbd-catalog-grid .box-image img,.ysbd-catalog-page .ysbd-catalog-grid li.product>a>img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;margin:0}
.ysbd-catalog-page .ysbd-catalog-grid .box-image .image-cover{padding-top:100%!important}
.ysbd-catalog-page .ysbd-catalog-grid :is(.name a,.woocommerce-loop-product__title,.woocommerce-loop-category__title){font-size:15px;line-height:1.5;color:#f5f5f5;font-weight:600;overflow-wrap:anywhere;text-transform:none}
.ysbd-catalog-page .ysbd-catalog-grid :is(.name a:hover,.woocommerce-loop-product__title:hover){color:#ffcf55}
.ysbd-catalog-page .ysbd-catalog-grid :is(.category,.price){color:#ccc;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.ysbd-catalog-page .ysbd-catalog-grid .amount{color:#ffcf55;font-weight:700;font-size:16px}
.ysbd-catalog-page .ysbd-catalog-grid .price del .amount{color:#bbb;font-size:13px}
.ysbd-catalog-page .ysbd-catalog-grid .price ins{background:transparent}
.ysbd-catalog-page .ysbd-catalog-grid mark.count{background:transparent;color:#ccc}
.ysbd-catalog-page .ysbd-catalog-grid li.product :is(h2,.price,.button){margin-left:12px;margin-right:12px}
.ysbd-catalog-page .ysbd-catalog-grid .button{background:#ffcf55;color:#242424;border-color:#ffcf55;border-radius:5px;font-size:13px;letter-spacing:0;text-transform:none;white-space:normal;line-height:1.5;padding:9px 12px}
.ysbd-catalog-page .ysbd-catalog-grid .button:hover{background:#ffe08a;color:#242424}
.ysbd-catalog-page .ysbd-catalog-pagination{margin-top:26px;text-align:center}
.ysbd-catalog-page .ysbd-catalog-pagination :is(a,span.current){border:1px solid #666;border-radius:5px;background:#373737;color:#eee;min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.ysbd-catalog-page .ysbd-catalog-pagination :is(a:hover,span.current){background:#ffcf55;border-color:#ffcf55;color:#242424}
.ysbd-catalog-page .ysbd-catalog-empty{background:#373737;border:1px solid #515151;border-radius:8px;padding:20px}
.ysbd-catalog-page .ysbd-back-shop{display:inline-block;background:#ffcf55;color:#242424;font-weight:700;border-radius:5px;padding:12px 18px}
@media(max-width:1050px){.ysbd-catalog-page .ysbd-catalog-grid>.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:549px){.ysbd-catalog-page .ysbd-category-header{padding:16px}.ysbd-catalog-page .ysbd-catalog-grid>.products{gap:10px}.ysbd-catalog-page .ysbd-catalog-grid .box-text{padding:10px!important}.ysbd-catalog-page .ysbd-catalog-grid :is(.name a,.woocommerce-loop-product__title,.woocommerce-loop-category__title){font-size:13px}.ysbd-catalog-page .ysbd-filter-widgets{grid-template-columns:minmax(0,1fr)}.ysbd-catalog-page .ysbd-catalog-toolbar{display:block}.ysbd-catalog-page .woocommerce-ordering{width:100%;margin-top:10px!important}.ysbd-catalog-page .woocommerce-ordering select{width:100%}.ysbd-catalog-page .ysbd-catalog-grid .button{font-size:12px;padding:9px 7px}}

/* 1.2.1 — Flatsome may emit its catalog title/toolbar from the site header,
   before our archive template. Hide that duplicate wrapper, including its
   spacing, only on archives using our layout. The in-page toolbar stays visible. */
body.ysbd-catalog .shop-page-title{display:none!important}

/* 1.2.2 — Distinguish the current category from its ancestors. */
.ysbd-tree .ysbd-category{margin-bottom:4px}
.ysbd-tree .ysbd-overview:not(.is-active){background:transparent;color:#c9c9c9;font-size:12px;font-weight:400;padding-top:8px;padding-bottom:8px}
.ysbd-tree .ysbd-overview:not(.is-active):hover{color:#ffcf55;background:#414141}
.ysbd-tree .ysbd-category-branch[open]>summary{color:#ffcf55;background:transparent}
.ysbd-category.is-ancestor:not(.is-active){background:transparent;font-weight:400}
.ysbd-shortcuts .ysbd-category.is-ancestor{border-color:#bba15f}

/* 1.2.3 — Wider desktop navigation and larger menu typography only. */
@media(min-width:850px){
.ysbd-page .ysbd-layout{grid-template-columns:270px minmax(0,1fr)}
.ysbd-page .ysbd-sidebar{padding:20px 16px}
.ysbd-page .ysbd-sidebar h2{font-size:20px;line-height:1.35}
.ysbd-page .ysbd-sidebar .ysbd-tree summary{font-size:17px;line-height:1.5}
.ysbd-page .ysbd-sidebar .ysbd-category{font-size:16px;line-height:1.5}
.ysbd-page .ysbd-sidebar .ysbd-overview{font-size:14px}
}
@media(min-width:1100px){
.ysbd-page .ysbd-layout{grid-template-columns:300px minmax(0,1fr)}
}
