.masset-product-features,.masset-discovery,.masset-active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:.65rem 0}
.masset-product-features span,.masset-filter-chip{background:#edf5fb;border-radius:8px;padding:.3rem .6rem;font-size:.82rem;color:#123e62}
.masset-filter-chip{border:1px solid #c4d9e9;text-decoration:none}
.masset-compare-choice{display:flex;align-items:center;gap:.5rem;margin:.6rem 0;min-height:44px;cursor:pointer}
.masset-compare-choice input{width:18px;height:18px;accent-color:#0a79be}
.masset-empty{padding:1.5rem;background:#f5f8fb;border:1px solid #d8e4ed;border-radius:16px}
.masset-finder{display:grid;grid-template-columns:1fr;gap:1rem;max-width:760px}
.masset-comparison th,.masset-comparison td{min-width:160px;padding:1rem;vertical-align:top}
.masset-shopping-notice{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);z-index:1100;padding:1rem 1.5rem;background:#123e62;color:white;border-radius:12px;width:max-content;max-width:90vw;box-shadow:0 4px 20px #0003}
.masset-mobile-purchase{display:none}
.masset-service-next{background:#edf5fb;border-radius:18px;padding:1.5rem}
:where(a,button,input,select):focus-visible{outline:3px solid #0a79be;outline-offset:3px}
.product-single__addtocart .qty-control button{border:0;background:transparent;min-width:40px;min-height:44px}
@media(min-width:992px){.shop-checkout .checkout__totals-wrapper>.sticky-content{position:sticky;top:110px}}
@media(max-width:767.98px){.masset-mobile-purchase{display:flex;position:fixed;bottom:60px;left:0;right:0;z-index:990;background:white;border-top:1px solid #d8e4ed;padding:.75rem max(1rem,env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom));gap:.75rem;align-items:center;justify-content:space-between;box-shadow:0 -4px 16px #0001}.masset-mobile-purchase>span{font-size:.85rem;max-width:45%}.masset-mobile-purchase.is-hidden{visibility:hidden;pointer-events:none}.has-mobile-purchase{padding-bottom:140px}.masset-discovery .btn{flex:1;font-size:.85rem}.masset-empty{padding:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

        .shop-filter-summary {
            color: #172334;
        }
        .shop-filter-count {
            font-size: 1.75rem;
            margin-right: 0.35rem;
        }
        .shop-filter-reset {
            color: #0A79BE;
            font-weight: 600;
        }
        .shop-filter-quick-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
        }
        .shop-filter-tile,
        .shop-filter-disclosure {
            min-height: 58px;
            border: 1px solid #c8dceb;
            border-radius: 6px;
            background: #e8f3fa;
        }
        .shop-filter-tile {
            padding: 8px 14px;
        }
        .shop-filter-tile .mb-3 {
            margin-bottom: 0 !important;
        }
        .shop-filter-tile label {
            display: block;
            margin-bottom: 1px;
            color: #0b67a3;
            font-size: 0.75rem;
            font-weight: 700;
        }
        .shop-filter-tile select,
        .shop-filter-tile .form-select {
            width: 100%;
            min-height: 28px;
            padding: 0 1.75rem 0 0;
            border: 0;
            background-color: transparent;
            color: #075c92;
            font-size: 1rem;
            box-shadow: none;
        }
        .shop-filter-disclosure {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 16px;
            color: #075c92;
            font-size: 1rem;
            text-align: left;
        }
        .shop-filter-disclosure[aria-expanded="true"] .fa-chevron-down {
            transform: rotate(180deg);
        }
        .shop-filter-disclosure .fa-chevron-down {
            transition: transform 180ms ease;
        }
        .shop-filter-disclosure--more {
            grid-column: 4;
            background: #ffffff;
        }
        .shop-filter-panel {
            margin-top: 12px;
        }
        .shop-filter-panel__inner {
            padding: 20px;
            border: 1px solid #d8e5ee;
            border-radius: 8px;
            background: #f8fbfd;
        }
        .shop-filter-panel__title {
            margin-bottom: 16px;
            font-weight: 700;
        }
        .shop-filter-advanced-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
        }
        .shop-filter-advanced-grid .mb-3 {
            margin-bottom: 0 !important;
        }
        #price-range-slider {
            width: 100%;
            margin-top: 14px;
        }
        .shop-filter-actions {
            padding-bottom: 1.25rem;
            border-bottom: 1px solid #d8e5ee;
        }

        @media (min-width: 992px) {
            .masset-catalog {
                display: block !important;
            }
            .masset-catalog .shop-sidebar {
                position: static !important;
                width: 100% !important;
                max-width: none !important;
                height: auto !important;
                padding: 0 !important;
                transform: none !important;
                visibility: visible !important;
            }
            .masset-catalog .shop-list {
                width: 100%;
                padding-left: 0 !important;
            }
        }

        @media (max-width: 991.98px) {
            .shop-filter-quick-grid,
            .shop-filter-advanced-grid {
                grid-template-columns: 1fr;
            }
            .shop-filter-disclosure--more {
                grid-column: auto;
            }
            .shop-filter-summary {
                margin-top: 0.5rem;
            }
            .shop-filter-actions .btn {
                width: 100%;
            }
        }
.masset-availability{font-size:.85rem;color:#745312;margin:.6rem 0}.masset-availability--in-stock{color:#1b6638}
.masset-tools-page{padding-top:clamp(3rem,8vw,7rem)!important}.masset-tools-page form p label{display:block;margin-bottom:.4rem}.masset-tools-page select{max-width:100%;padding:.6rem;border:1px solid #c4d9e9;border-radius:6px}
.shopping-cart .qty-control button{border:0;background:transparent;min-height:40px;min-width:36px}
#cart-action-status:not(:empty){padding:1rem;background:#edf5fb;border-radius:8px}
.masset-tools-page .table th{background:#edf5fb;color:#123e62;font-size:.85rem;padding:.8rem;vertical-align:middle}
.masset-quick-table{min-width:460px}.masset-quick-table td:nth-child(2),.masset-quick-table td:nth-child(3){white-space:nowrap}
#basket-lines .qty-control{display:inline-grid;grid-template-columns:40px 48px 40px;align-items:center;border:1px solid #c4d9e9;border-radius:8px;overflow:hidden;width:128px;padding:0}
#basket-lines .qty-control__number{grid-column:2;grid-row:1;width:48px;min-height:44px;padding:0;border:0;background:white}
#basket-lines .qty-control button{position:static;transform:none;grid-row:1;min-height:44px;width:40px;padding:0;border:0;background:#edf5fb;color:#123e62;font-size:1.2rem;line-height:1}
#basket-lines .qty-control__reduce{grid-column:1}#basket-lines .qty-control__increase{grid-column:3}
@media(max-width:767.98px){#basket-lines td:nth-child(3)::before{content:'Prix unitaire · ';font-size:.8rem;font-weight:400;color:#53616e}#basket-lines td:nth-child(6)::before{content:'Sous-total HT · ';font-size:.8rem;font-weight:400;color:#53616e}}
@media(max-width:767.98px){#basket-lines .basket-free-empty{display:none!important}}

@media (max-width: 991.98px) {
  .header-mobile > .container { position:relative; }
  .header-mobile > .container > .logo {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    margin:0;
  }
  .header-mobile .mobile-nav-activator,
  .header-mobile .masset-mobile-search,
  .header-mobile .header-tools__cart { min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; }
  .header-mobile .masset-mobile-search { margin-left:auto; margin-right:.5rem; }
  .header-mobile input, .shop-sidebar input, .shop-sidebar select { font-size:16px; }
  .header-mobile__navigation { max-height:calc(100dvh - 70px); padding-bottom:env(safe-area-inset-bottom); }
  .shop-sidebar .shop-filter-actions { position:sticky; bottom:0; z-index:3; background:#fff; padding:1rem 0 calc(1rem + env(safe-area-inset-bottom)); box-shadow:0 -6px 12px #fff; }
  .shop-sidebar .shop-filter-actions .btn { min-height:44px; }
  .mobile-menu-opened .masset-mobile-purchase,
  .masset-keyboard-open .masset-mobile-purchase { display:none; }
}

/* Match the desktop navigation while keeping the mobile menu readable. */
.header-mobile.header_sticky {
  background:linear-gradient(90deg, #0a79be 0%, #0b1b2b 100%);
  color:#fff;
}
.header-mobile > .container > .logo img { filter:brightness(0) invert(1); }
.header-mobile > .container .mobile-nav-activator,
.header-mobile > .container .masset-mobile-search,
.header-mobile > .container .header-tools__cart { color:#fff; }
.header-mobile > .container .nav-icon,
.header-mobile > .container .header-tools__cart svg { fill:currentColor; }
.header-mobile > .container .btn-close-lg::before,
.header-mobile > .container .btn-close-lg::after { background-color:#fff; }
.header-mobile > .container .cart-amount { background:#fff!important; color:#075c92; }
.header-mobile > .container :focus-visible { outline:2px solid #fff; outline-offset:3px; }
.header-mobile__navigation { color:#222; }

.masset-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
.masset-category-grid__item { min-width:0; }
.masset-category-grid .category-pill-card { height:100%; }
@media(max-width:1199.98px) { .masset-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; } }
@media(max-width:991.98px) { .masset-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; } }
@media(max-width:767.98px) { .masset-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }
.masset-skip-link { position:fixed; left:1rem; top:1rem; transform:translateY(-200%); z-index:10000; background:#fff; color:#075c92; padding:12px 20px; border:2px solid #075c92; border-radius:8px; }
.masset-skip-link:focus { transform:translateY(0); }
#main-content { scroll-margin-top:100px; }
.masset-logistics { padding:16px; border:1px solid #deebf3; border-radius:12px; }
.masset-logistics summary { cursor:pointer; color:#075c92; font-weight:600; padding:4px 0; }
.masset-logistics[open] summary { margin-bottom:16px; }
/* Compact notice stays in the page flow instead of covering mobile controls. */
.cookieConsentContainer { position:relative; inset:auto; width:auto; max-width:none; margin:12px auto; padding:12px 18px; background:#edf6fc; color:#244559; border:1px solid #d5e7f2; border-radius:12px; z-index:auto; }
.cookieConsentContainer .cookieDesc p { margin:0 0 8px; }
.cookieConsentContainer .cookieDesc a { color:#00669b; text-decoration:underline; }
.cookieConsentContainer .cookieButton button { background:#075c92; color:white; border:0; border-radius:20px; padding:8px 18px; min-height:44px; }
@media (min-width:992px) and (max-width:1199.98px) {
 .header-mobile > .container { position:relative; }
 .header-mobile > .container > .logo { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; }
 .header-mobile .masset-mobile-search { margin-left:auto; margin-right:16px; }
 .header-mobile .mobile-nav-activator,.header-mobile .masset-mobile-search,.header-mobile .header-tools__cart { min-width:44px; min-height:44px; }
 .header-mobile__navigation { max-height:calc(100dvh - 60px)!important; }
}
/* Keep menu visibility explicit through transitions and tablet breakpoints. */
body:not(.mobile-menu-opened) .header-mobile__navigation { visibility:hidden; pointer-events:none; }
.mobile-menu-opened .header-mobile__navigation { visibility:visible; pointer-events:auto; height:calc(100dvh - 60px); max-height:calc(100dvh - 60px); }
.header-mobile > .container .btn-close-lg { filter:brightness(0) invert(1); }
@media(max-width:1199.98px) {
 .mobile-menu-opened .header-mobile { position:fixed; top:0; left:0; right:0; width:100%; }
 .mobile-menu-opened .header-mobile__navigation { position:fixed!important; top:60px!important; left:0; right:0; }
}
#basket-lines .qty-control__number { min-width:0; color:#102b3c; }
@media (min-width:768px) and (max-width:1599.98px) {
 .shop-checkout .shopping-cart { flex-direction:column; gap:24px; }
 .shop-checkout .shopping-cart__totals-wrapper { align-self:flex-end; width:min(100%, 480px); }
 .shop-checkout .shopping-cart__totals-wrapper .sticky-content { padding-top:0; }
 .shop-checkout .cart-table { width:100%; }
}
@media(max-width:767.98px) {
 #basket-lines td:nth-child(6) { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; }
 #basket-lines .shopping-cart__subtotal { float:none; margin-top:0; }
}
@media(max-width:575.98px) {
 .my-account__wishlist .products-grid > .product-card-wrapper { width:100%; }
}

/* One compact form, with optional technical criteria. */
.catalog-filters { margin-bottom:28px; padding:24px; border:1px solid #dce5ec; border-radius:16px; background:#f7f9fb; color:#172334; }
.catalog-filters__heading { display:flex; justify-content:space-between; align-items:start; gap:16px; margin-bottom:20px; }
.catalog-filters__heading h2 { font-size:1.15rem; margin:0 0 6px; }
.catalog-filters__heading p,.catalog-filters__hint { color:#596775; font-size:.875rem; margin:0; }
.catalog-filters__heading > span { white-space:nowrap; font-size:.875rem; padding:5px 10px; background:#fff; border-radius:20px; }
.catalog-filters__main { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; align-items:end; }
.catalog-filters .mb-3 { margin-bottom:0!important; }
.catalog-filters label,.catalog-filters legend { font-size:.875rem; font-weight:600; margin-bottom:8px; }
.catalog-filters select,.catalog-filters input[type=number],.catalog-filters input[type=text] { min-height:46px; width:100%; border:1px solid #c5d0da; border-radius:8px; background-color:#fff; font-size:1rem; padding:10px 12px; }
.catalog-filters select { padding-right:32px; }
.catalog-filters__main select,.catalog-filters__main input[type=number] { height:48px; box-sizing:border-box; margin-bottom:0; }
.catalog-filters__category-help { padding-top:8px; }
.catalog-filters__budget { display:grid; grid-template-columns:1fr 1fr; gap:12px; min-width:0; margin:0; }
.catalog-filters__budget legend { float:none; width:auto; grid-column:1/-1; margin-bottom:0; }
.catalog-filters__budget label { font-size:.75rem; font-weight:400; color:#596775; margin-bottom:4px; }
.catalog-filters__details { margin-top:20px; border-top:1px solid #dce5ec; padding-top:4px; }
.catalog-filters__details summary { cursor:pointer; padding:14px 0; font-weight:600; color:#075c92; }
.catalog-filters__advanced { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:4px 0 16px; }
.catalog-filters [hidden] { display:none!important; }
.catalog-filters__footer { display:flex; align-items:center; justify-content:space-between; gap:16px; border:0; padding:16px 0 0; margin:0; }
.catalog-filters__promotion { display:flex; align-items:center; gap:10px; cursor:pointer; margin:0!important; }
.catalog-filters__promotion input { width:18px; height:18px; accent-color:#0a79be; }
.catalog-filters__buttons { display:flex; align-items:center; gap:20px; }
.catalog-filters__buttons > a { font-size:.875rem; text-decoration:underline; }
.catalog-filters__status { font-size:.875rem; margin:12px 0 0; color:#596775; }
.catalog-filters__status:empty { display:none; }
@media(max-width:991.98px) {
 .catalog-filters { padding:16px; margin-bottom:0; }
 .catalog-filters__heading { flex-wrap:wrap; }
 .catalog-filters__main,.catalog-filters__advanced { grid-template-columns:1fr; gap:16px; }
 .catalog-filters__footer { flex-direction:column; align-items:stretch; }
 .catalog-filters__buttons { flex-direction:column-reverse; gap:14px; width:100%; }
 .shop-sidebar .catalog-filters__footer { background:#f7f9fb; box-shadow:0 -8px 12px #f7f9fb; }
}
