body{
    margin:0;
    font-family:'Rubik',sans-serif;
    background:#0f172a;
    color:#f1f5f9;
    height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    padding-bottom:0;
}

/* HEADER */

.hero{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    height:180px;

    overflow:hidden;

    z-index:1000;

    flex-shrink:0;
}

.hero-spacer{

    height:180px;

    flex-shrink:0;
}

.hero-background{

    position:absolute;

    inset:0;

    background-image:url("/bandeau_fond.webp");

    background-size:cover;

    background-position:center;
}

.hero-overlay{

    position:absolute;

    z-index:1;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    height:100%;

    width:auto;

    object-fit:contain;
}

/* TITRE */

.main-title{

    text-align:center;

    font-size:25px;

    font-weight:800;

    margin:18px 0 14px;

    background:linear-gradient(
    90deg,
    #ff4fd8 0%,
    #ff7a5c 55%,
    #ffb347 100%
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    
    flex-shrink:0;
}

.main-title-wrapper{

    flex:1;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    min-width:0;
}

.main-title-wrapper.has-active-filters{

    transform:translateY(-6px);
}

.main-title-wrapper .filters-wrapper{

    display:none;

    align-items:center;

    justify-content:center;

    gap:10px;

    margin-top:8px;

    min-height:28px;

    flex-wrap:wrap;
}

.main-title-wrapper.has-active-filters .filters-wrapper{

    display:flex;
}

.main-title-wrapper .active-filters{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:8px;
}

/* TOPBAR */

.topbar{

    width:calc(100% - 40px);

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:12px;

    background:#111827;

    border:1px solid rgba(255,255,255,0.08);

    border-radius:16px;

    padding:10px 14px;

    box-sizing:border-box;
    
    position:sticky;

    top:0;

    z-index:1000;
    
    flex-shrink:0;
}

.topbar-left{
    display:flex;
    align-items:center;
    gap:12px;
}

.topbar-center{
    flex:1;

    display:flex;
    align-items:center;

    gap:12px;

    min-width:0;
}

.topbar-right{

    display:flex;

    align-items:center;

    gap:12px;

    flex-shrink:0;

    margin-left:20px;
}

.sort-select{
    min-width:170px;
}

.search-container{

    width:420px;

    min-width:420px;

    flex-shrink:0;
}

.search-input{
    width:100%;
}

.active-filters{

    flex:1;

    display:flex;

    flex-wrap:wrap;

    gap:8px;

    min-width:0;

    align-items:flex-start;
}

.filters-wrapper{

    flex:1;

    display:flex;

    align-items:center;

    gap:12px;

    min-width:0;
}

.filter-tag{

    display:flex;

    align-items:center;

    gap:6px;

    background:#1e293b;

    border-radius:999px;

    padding:5px 10px;

    font-size:12px;

    line-height:1;
}

.filter-remove{

    color:#ff4d6d;

    font-weight:700;

    cursor:pointer;

    transition:0.2s;

    margin-left:4px;
}

.filter-remove:hover{

    color:#ff002f;
}

.clear-all-filters{

    display:flex;

    align-items:center;

    justify-content:center;

    height:44px;

    padding:0 6px;

    color:#ff3b5c;

    font-size:34px;

    font-weight:700;

    cursor:pointer;

    transition:0.2s;

    flex-shrink:0;

    user-select:none;
    
    align-self:center;
}

.clear-all-filters:hover{

    color:#ff1744;

    transform:scale(1.08);
}

.topbar-center{
    flex:1;
    justify-content:center;
}

.search-input{

    background:#1e293b;

    border:none;

    border-radius:12px;

    padding:12px 14px;

    color:white;

    font-size:14px;

    outline:none;

    width:100%;

    margin-right:14px;
}

.sort-select{

    background:#1e293b;

    border:none;

    border-radius:12px;

    padding:12px 14px;

    color:white;

    font-size:14px;

    outline:none;

    margin-left:12px;

    width:auto;
}

.top-icon-button{

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:#1e293b;

    color:white;

    text-decoration:none;

    transition:
        background 0.2s,
        transform 0.2s;
}

.top-icon-button:hover{

    background:#334155;

    transform:translateY(-1px);
}

.topbar-svg-icon{

    width:22px;
    height:22px;

    display:block;

    filter:
        brightness(0)
        invert(1);
}

.mobile-only-icon{

    display:none;
}

.waifu-button{

    background:#1e293b;

    border:none;

    border-radius:12px;

    padding:12px 16px;

    color:white;

    font-family:'Rubik',sans-serif;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:0.25s;

    white-space:nowrap;
    
    font-size:15px;
}

.waifu-button.active{

    background:linear-gradient(
        90deg,
        #ff2d75,
        #ff7eb3
    );

    color:white;

    box-shadow:
        0 0 16px rgba(255,45,117,0.35);
}

.favorites-toggle{

    background:#1e293b;

    border:none;

    border-radius:12px;

    padding:12px 16px;

    color:white;

    font-family:'Rubik',sans-serif;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:0.25s;

    white-space:nowrap;
}

.favorites-toggle:hover{

    background:#334155;
}

.favorites-toggle.active{

    background:linear-gradient(
        90deg,
        #ff4d6d,
        #ff758f
    );

    color:white;

    box-shadow:
        0 0 16px rgba(255,77,109,0.35);
}

.sort-select{
    min-width:180px;
}

/* MENUS */

.menu-item{

    position:relative;

    background:#1e293b;

    padding:12px 16px;

    border-radius:12px;

    cursor:pointer;

    user-select:none;
    
    font-size:15px;

    font-weight:600;
}

.dropdown{

    position:absolute;

    top:100%;
    left:0;

    min-width:240px;

    overflow:visible;

    background:#111827;

    border-radius:14px;

    padding:10px;

    display:none;

    z-index:3000;

    box-shadow:0 10px 30px rgba(0,0,0,0.45);

    scrollbar-width:thin;

    overscroll-behavior:contain;
}

.dropdown-scroll{

    max-height:70vh;

    overflow-y:auto;

    overflow-x:visible;

    scrollbar-width:thin;

    overscroll-behavior:contain;

    padding-right:4px;
}

.menu-item::after{

    content:"";

    position:absolute;

    left:0;
    top:100%;

    width:100%;
    height:12px;
}

.menu-item:hover .dropdown{
    display:block;
}

.dropdown-item{

    position:relative;

    padding:10px 12px;

    border-radius:10px;

    cursor:pointer;

    white-space:nowrap;
    
    font-weight:400;
}

.dropdown-item:hover{
    background:rgba(255,255,255,0.08);
}

.favorite-dropdown-section{

    margin:2px 0 8px;

    padding:6px;

    border-radius:12px;

    background:rgba(255,79,216,0.08);

    border:1px solid rgba(255,79,216,0.18);
}

.favorite-dropdown-item{

    color:#f9a8d4;

    font-weight:700;
}

.favorite-dropdown-item > .has-submenu::before{

    content:"★";

    margin-right:6px;

    color:#f472b6;
}

/* FLECHES */

.has-submenu{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.submenu-arrow{

    width:0;

    height:0;

    border-top:6px solid transparent;

    border-bottom:6px solid transparent;

    border-left:8px solid white;

    margin-left:auto;

    flex-shrink:0;
}

/* SOUS MENU */

.submenu{

    position:fixed;

    left:auto;
    top:auto;

    min-width:220px;

    max-height:70vh;

    overflow-y:auto;

    overflow-x:hidden;

    background:#1b1230;

    border-radius:14px;

    border:1px solid rgba(244,114,182,0.28);

    padding:8px;

    padding-bottom:18px;

    margin-left:0;

    display:none;

    z-index:4000;

    box-shadow:
        0 14px 34px rgba(0,0,0,0.56),
        0 0 0 1px rgba(255,255,255,0.04);

    scrollbar-width:thin;
    
    overscroll-behavior:contain;
    }

.dropdown-item::after{

    content:"";

    position:absolute;

    top:0;
    right:-12px;

    width:12px;
    height:100%;
}

.dropdown-item:hover .submenu,
.dropdown-item.submenu-open .submenu{
    display:block;
}

/* LAYOUT */

.container{

    display:flex;

    gap:24px;

    flex:1;
    
    height:0;

    overflow:hidden;

    min-height:0;

    margin-top:10px;
    
    position:relative;
}

/* SIDEBAR */

.sidebar{

    width:320px;

    flex-shrink:0;

    padding:18px;

    box-sizing:border-box;

    overflow-y:auto;

    height:100%;

    min-height:0;
}

.sidebar-promo-card{

    display:none;

    margin-bottom:18px;

    border-radius:18px;

    overflow:hidden;

    background:rgba(255,255,255,0.05);
}

.sidebar-promo-card a{

    display:block;

    text-decoration:none;
}

.sidebar-promo-card img{

    width:100%;

    display:block;

    border-radius:18px;
}

.sidebar-promo-expand{

    position:absolute;

    top:10px;

    right:10px;

    width:34px;

    height:34px;

    border-radius:999px;

    background:rgba(15,23,42,0.88);

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    font-size:18px;

    cursor:pointer;

    z-index:20;

    transition:0.18s;

    backdrop-filter:blur(6px);
}

.sidebar-promo-expand:hover{

    transform:scale(1.08);

    background:rgba(30,41,59,0.95);
}

.sidebar-box{

    background:rgba(255,255,255,0.05);

    border-radius:18px;

    padding:13px 18px;

    margin-bottom:18px;
}

.sidebar-title{

    font-size:18px;

    font-weight:700;

    margin-bottom:0;

    line-height:1;
}

.sidebar label{

    display:grid;

    grid-template-columns:auto 1fr;

    align-items:start;

    column-gap:7px;

    padding:6px 7px 4px;

    border-radius:10px;

    cursor:pointer;
}

.sidebar label:hover{
    background:rgba(255,255,255,0.08);
}

.perso-list{

    display:none;

    margin-left:22px;

    margin-top:4px;
}

.perso-list label{

    font-size:14px;

    color:#cbd5e1;
}

.favorite-licence-section{

    margin-top:8px;
    margin-bottom:10px;

    padding:8px 8px 6px;

    border-radius:12px;

    background:rgba(255,79,216,0.08);

    border:1px solid rgba(255,79,216,0.18);
}

.favorite-licence-block{

    transform:translateX(4px);
}

.favorite-licence-block > label{

    color:#f9a8d4;

    font-weight:700;

    position:relative;

    padding-left:24px;
}

.favorite-licence-block > label::before{

    content:"★";

    margin-right:6px;

    color:#f472b6;

    position:absolute;

    left:7px;

    top:7px;
}

.licence-list-separator{

    height:1px;

    margin:10px 4px 12px;

    background:linear-gradient(
        90deg,
        rgba(148,163,184,0),
        rgba(148,163,184,0.42),
        rgba(148,163,184,0)
    );
}

/* BUDGET */

.quick-budget{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:16px;

    margin-bottom:18px;
}

.quick-budget-title{

    font-weight:600;

    text-align:center;
}

.quick-budget-options{

    display:grid;

    grid-template-columns:auto auto;

    gap:8px 12px;
}

.quick-budget-options label:nth-child(1){
    grid-column:1;
    grid-row:1;
}

.quick-budget-options label:nth-child(2){
    grid-column:1;
    grid-row:2;
}

.quick-budget-options label:nth-child(3){
    grid-column:2;
    grid-row:1;
}

.quick-budget-options label:nth-child(4){
    grid-column:2;
    grid-row:2;
}

.quick-budget-options label{

    display:flex;

    align-items:center;

    gap:6px;

    background:rgba(255,255,255,0.06);

    border-radius:999px;

    padding:4px 10px;

    white-space:nowrap;

    width:fit-content;
}

.range-container{
    position:relative;
    height:70px;
    cursor:pointer;
}

.sidebar label input{

    margin-top:3px;
}

.filter-label-text{

    min-width:0;
}

.range-container::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:20px;
    height:36px;
    pointer-events:none;
}

.range-values{
    display:flex;
    justify-content:space-between;
    margin-bottom:16px;
    color:#cbd5e1;
    font-size:14px;
}

.slider-track{

    position:absolute;

    top:42px;
    left:0;

    width:100%;
    height:6px;

    background:#475569;

    border-radius:999px;

    cursor:pointer;
}

    #minPrice{
        z-index:3;
    }

    #maxPrice{
        z-index:2;
    }
    
.range-container input[type="range"]{

    position:absolute;

    width:100%;
    left:0;
    top:26px;

    appearance:none;
    -webkit-appearance:none;

    background:none;
    
    pointer-events:none;

}

.range-container input[type="range"]::-webkit-slider-thumb{

    -webkit-appearance:none;

    width:20px;
    height:20px;

    background:#38bdf8;

    border-radius:50% 50% 50% 0;

    transform:
        rotate(-45deg)
        translateY(-2px);

    border:2px solid white;

    box-shadow:
        0 2px 8px rgba(0,0,0,0.35);

    cursor:pointer;

    pointer-events:auto;

}

.range-container input[type="range"]::-moz-range-thumb{

    width:20px;
    height:20px;

    background:#38bdf8;

    border-radius:50% 50% 50% 0;

    transform:
        rotate(-45deg)
        translateY(-2px);

    border:2px solid white;

    box-shadow:
        0 2px 8px rgba(0,0,0,0.35);

    cursor:pointer;
    
    pointer-events:auto;
}

/* PRODUCTS */

.back-to-top{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin-top:18px;

    padding:10px 14px;

    border-radius:999px;

    background:#1e293b;

    color:#cbd5e1;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    transition:0.2s;

    width:fit-content;

    margin-left:auto;

    margin-right:auto;

    user-select:none;
    
    font-size:15px;
    
    letter-spacing:0.2px;
    
    align-self:center;
}

.back-to-top:hover{

    background:#334155;

    color:white;
}

.results-scroll-top{

    display:flex;

    align-items:center;

    justify-content:center;

    width:30px;

    height:36px;

    border-radius:999px;

    background:#1e293b;

    color:#cbd5e1;

    font-size:24px;

    font-weight:700;

    cursor:pointer;

    user-select:none;

    transition:0.2s;

    align-self:flex-end;

    margin-bottom:18px;
    
    position:absolute;

    left:323px;

    bottom:1px;
    
    z-index:20;
    
    padding-bottom:2px;
}

.results-scroll-top:hover{

    background:#334155;

    color:white;
}

.products{

    flex:1;

    padding:6px 20px 20px;

    overflow-y:auto;

    height:100%;
}

.grid{

    display:grid;

    grid-template-columns:
        repeat(
            auto-fill,
            minmax(175px,1fr)
        );

    gap:20px;
}

.amazon-disclosure{
    display:none;
    width:100%;
    margin:28px 0 4px;
    padding:12px 8px 0;
    border-top:1px solid rgba(148,163,184,0.16);
    color:#94a3b8;
    font-size:11px;
    line-height:1.45;
    text-align:center;
}

.amazon-disclosure.is-ready{
    display:block;
}

.loading-message{

    grid-column:1/-1;

    text-align:center;

    padding:60px;

    font-size:22px;

    font-weight:700;

    color:#cbd5e1;
}

.card{

    background:#1e293b;

    border-radius:18px;

    padding:12px;

    text-align:center;
}

.card-image-wrapper{

    position:relative;
}

.card img{

    width:100%;
    height:185px;

    object-fit:contain;

    background:white;

    border-radius:12px;

    padding:8px;
    
     content-visibility:auto;

    contain-intrinsic-size:240px;
}

.favorite-btn{

    position:absolute;

    top:4px;
    right:-14px;

    width:30px;
    height:30px;

    border:none;

    background:transparent;

    color:#94a3b8;

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:22px;

    cursor:pointer;

    z-index:10;

    transition:0.18s;

    text-shadow:
    0 1px 2px rgba(0,0,0,0.55);
}

.favorite-btn:hover{

    transform:scale(1.08);
}

.favorite-btn.active{

    color:#ff4d6d;

    text-shadow:none;
    
    font-size:26px;
}

.admin-hide-product-btn{

    position:absolute;

    top:4px;
    left:4px;

    width:30px;
    height:30px;

    border:1px solid rgba(255,255,255,0.78);

    border-radius:999px;

    background:#dc2626;

    color:white;

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:24px;

    font-weight:800;

    line-height:1;

    cursor:pointer;

    z-index:12;

    box-shadow:
        0 8px 18px rgba(0,0,0,0.35);
}

.admin-hide-product-btn:hover{

    background:#ef4444;

    transform:scale(1.07);
}

.admin-hide-product-btn.loading{

    opacity:0.68;

    cursor:wait;
}

.card.admin-removed{

    opacity:0.28;

    transform:scale(0.96);

    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
}

.admin-message{

    position:fixed;

    right:18px;
    bottom:18px;

    max-width:min(360px,calc(100vw - 36px));

    padding:12px 16px;

    border-radius:12px;

    background:#111827;

    color:white;

    border:1px solid rgba(255,255,255,0.18);

    font-size:14px;

    font-weight:700;

    z-index:7000;

    box-shadow:
        0 18px 40px rgba(0,0,0,0.36);
}

.admin-message.success{

    border-color:rgba(34,197,94,0.7);
}

.admin-message.error{

    border-color:rgba(239,68,68,0.85);
}

.card p{

    font-size:13px;

    font-weight:600;

    line-height:1.3;

    height:34px;

    overflow:hidden;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    text-overflow:ellipsis;
}

.price{

    font-size:20px;

    font-weight:700;

    margin:10px 0;
}

.amazon-btn{

    display:inline-block;

    background:linear-gradient(
        90deg,
        #ff9900,
        #ffb84d
    );

    color:#111827;

    text-decoration:none;

    padding:9px 14px;

    border-radius:999px;

    font-weight:700;
    
    font-size:14px;
}

/* MODAL */

.modal{

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,0.85);

    justify-content:center;
    align-items:center;

    z-index:5000;
}

.modal img{
    max-width:80%;
    max-height:80%;

    transition:transform 0.16s ease;
}

.modal img.loading{
    visibility:hidden;
}

.modal-nav{
    display:none;
    position:absolute;
    top:50%;
    width:52px;
    height:72px;
    padding:0;
    border:1px solid rgba(255,255,255,0.35);
    border-radius:6px;
    background:rgba(15,23,42,0.78);
    color:white;
    font-size:52px;
    font-weight:400;
    line-height:1;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    cursor:pointer;
    z-index:2;
}

.modal-nav:hover{
    background:rgba(30,41,59,0.95);
}

.modal-nav-previous{
    left:24px;
}

.modal-nav-next{
    right:24px;
}

@media (min-width:769px) and (hover:hover) and (pointer:fine){

    .modal.product-navigation-enabled .modal-nav{
        display:flex;
    }

    .modal img.zoom-ready{
        cursor:zoom-in;
    }

    .modal img.zoomed{
        transform:scale(2.1);
        cursor:zoom-out;
    }
}

@media (max-width:768px){

    .modal.product-navigation-enabled img{
        touch-action:pan-y pinch-zoom;
    }
}

.topbar{
    display:none;
}

.main-header{

    width:calc(100% - 40px);

    margin:10px auto 4px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    position:relative;

    z-index:1200;

    overflow:visible;

    padding:0;
}

.main-header-left{

    display:flex;

    align-items:center;

    gap:12px;

    flex-shrink:0;
}

.main-header-right{

    display:flex;

    align-items:center;

    gap:28px;

    flex-shrink:0;
}

.main-header .main-title{

    margin:-2px 0 0;

    font-size:20px;

    flex:1;

    text-align:center;

    line-height:1.1;
}

.main-header .search-container{

    width:260px;

    min-width:260px;
}

.main-header .sort-select{

    width:170px;
}

.licence-separator{

    height:1px;

    margin:10px 6px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.18),
            transparent
        );
}

.dropdown::-webkit-scrollbar,
.submenu::-webkit-scrollbar{

    width:8px;
}

.dropdown::-webkit-scrollbar-track,
.submenu::-webkit-scrollbar-track{

    background:transparent;
}

.dropdown::-webkit-scrollbar-thumb,
.submenu::-webkit-scrollbar-thumb{

    background:rgba(255,255,255,0.18);

    border-radius:999px;
}

.dropdown::-webkit-scrollbar-thumb:hover,
.submenu::-webkit-scrollbar-thumb:hover{

    background:rgba(255,255,255,0.32);
}

.licence-cards-size-toggle{

    display:none;

    position:absolute;

    top:170px;
    left:260px;

    backdrop-filter:blur(6px);

    background:rgba(15,23,42,0.88);

    width:34px;

    height:34px;

    border:none;

    border-radius:999px;

    background:#1e293b;

    color:#cbd5e1;

    font-size:18px;

    cursor:pointer;

    transition:0.2s;

    z-index:25;

    align-items:center;

    justify-content:center;
}

.licence-cards-size-toggle:hover{

    background:#334155;

    color:white;

    transform:scale(1.08);
}

.licence-cards-grid{

    display:none;

    grid-template-columns:
        repeat(4,1fr);

    gap:18px;

    padding:6px 20px 24px;
}

.featured-licence-cards-grid{

    display:none;

    grid-template-columns:
        repeat(8,1fr);

    gap:12px;

    padding:6px 20px 16px;

    margin-bottom:14px;

    border-bottom:
        1px solid rgba(148,163,184,0.24);

    box-shadow:
        0 12px 18px -18px rgba(255,79,216,0.62);
}

.featured-licence-cards-grid .licence-card{

    border-radius:12px;
}

.featured-licence-cards-grid .licence-card img{

    border-radius:12px;
}

.featured-licence-cards-grid .licence-card-title{

    left:8px;
    bottom:8px;

    padding:5px 8px;

    font-size:11px;
}

.featured-licence-cards-grid .licence-card-expand{

    width:28px;
    height:28px;

    bottom:5px;
    right:5px;

    font-size:15px;
}

.licence-cards-grid.compact{

    grid-template-columns:
        repeat(8,1fr);
}

.licence-card{

    position:relative;

    display:block;

    border-radius:18px;

    overflow:hidden;

    background:#111827;

    box-shadow:
        0 8px 22px rgba(0,0,0,0.28);

    transition:
        transform 0.18s,
        box-shadow 0.18s;
}

.licence-card:hover{

    transform:scale(1.035);

    box-shadow:
        0 12px 32px rgba(0,0,0,0.42);
}

.licence-card img{

    width:100%;

    display:block;

    border-radius:18px;
}

.licence-card-title{

    position:absolute;

    left:14px;

    bottom:12px;

    background:rgba(15,23,42,0.88);

    padding:7px 12px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

    color:white;

    opacity:0;

    transform:translateY(6px);

    transition:0.18s;

    pointer-events:none;

    backdrop-filter:blur(6px);
}

.licence-card:hover .licence-card-title{

    opacity:1;

    transform:translateY(0);
}

.licence-card-expand{

    border:none;

    position:absolute;

    bottom:6px;

    right:6px;

    width:34px;

    height:34px;

    border-radius:999px;

    background:rgba(15,23,42,0.88);

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    font-size:18px;

    font-weight:700;

    line-height:1;

    cursor:pointer;

    transition:0.18s;

    backdrop-filter:blur(6px);
}

.licence-card-expand:hover{

    transform:scale(1.12);

    background:rgba(30,41,59,0.95);
}


@media (max-width:768px){

    .amazon-disclosure{
        margin-top:22px;
        padding:10px 12px 4px;
        font-size:10px;
    }

    .licence-card-expand{
    display:none !important;
}

.licence-cards-size-toggle{
    display:none !important;
}

    .hero-licence-card{
    display:none !important;
}

    *{
        box-sizing:border-box;
    }

    html{
        height:auto;
        min-height:100%;
        overflow-y:auto;
    }

    body{
        height:auto;
        min-height:100vh;
        overflow-x:hidden;
        overflow-y:auto;
    }

    /* BANDEAU */

    .hero{

        height:112px;

        position:relative;

        overflow:hidden;
    }

    .hero-licence-card{

    position:absolute;

    left:0;

    top:0;

    height:100%;

    z-index:3;

    display:none;

    overflow:hidden;
}

.hero-licence-card img{

    height:180px;

    max-height:100%;

    width:auto;

    display:block;

    object-fit:contain;

    box-shadow:
        0 8px 24px rgba(0,0,0,0.35);
}

    .hero-overlay{

        width:100%;

        height:100%;

        object-fit:cover;
    }

    /* HEADER */

    .main-header{

        position:relative;

        margin-top:10px;

        padding:10px;

        display:flex;

        flex-direction:column;

        gap:10px;
    }

    /* SLOGAN */

.main-title-wrapper{

    order:1;

    width:100%;

    margin-top:-8px;

    display:grid;

    grid-template-columns:42px 1fr 42px;

    align-items:center;

    gap:8px;
}

.mobile-only-icon{

    display:flex !important;

    width:42px;

    height:42px;
}

.main-header-left .top-icon-button{

    display:none;
}

.main-header-left .top-icon-button:first-child{

    order:0;

    grid-column:1;
}

.main-header-left .top-icon-button:nth-child(2){

    order:2;

    grid-column:3;
}

    .main-title{

    font-size:13px !important;

    line-height:1.1 !important;

    text-align:center;

    padding:0 12px;

    margin:0 auto;

    max-width:320px;
}

    /* BLOCS HAUT */

    .main-header-left{

        width:100%;

        display:grid !important;

        grid-template-columns:
1.2fr 1.2fr 1fr 0.7fr;

        gap:6px;

        align-items:stretch;

        order:2;
    }

    .main-header-right{

        width:100%;

        display:grid !important;

        grid-template-columns:1fr 1fr;

        gap:10px;

        align-items:stretch;

        order:3;
    }

    /* BOUTONS */

    .menu-item,
    .waifu-button,
    .favorites-toggle{

        width:100%;
    }

    .top-icon-button{

    width:42px;
    height:42px;
}

    .main-header-left button,
    .main-header-left .menu-item{

    font-size:12px;

    white-space:nowrap;

    height:42px;

    border-radius:12px;

    line-height:4px;

    text-align:center;

    padding:0;
}

    .main-header-left .menu-item .dropdown{

    line-height:normal;
}

    .main-header-left .waifu-button,
    .main-header-left .favorites-toggle{

        height:42px;

        border-radius:12px;
    }

    /* RECHERCHE + TRI */

    .main-header-right > *{

        width:100% !important;

        min-width:0 !important;
    }

    .search-container{

        width:100% !important;

        min-width:0;
    }

    .search-input,
    .sort-select{

        width:100% !important;

        height:42px !important;

        border-radius:12px;
    }

    .sort-select{

        font-size:13px;
    }

    /* LAYOUT */

    .container{

        display:block;

        width:100%;

        height:auto;

        overflow:visible;

        flex:none;

        margin-top:2px !important;
    }

    .sidebar{
        display:none;
    }

    .products{

        position:relative;

        width:100%;

        height:auto;

        overflow:visible;

        margin:0;

        padding:0;
        
    }

    /* GRILLE */

    .grid{

        display:grid;

        grid-template-columns:
        repeat(2,1fr);

        gap:10px;

        padding:10px;

        width:100%;
    }

    /* CARDS */

    .card{

        width:100% !important;

        min-width:0 !important;

        max-width:100% !important;

        overflow:hidden;
    }

    .licence-cards-grid{

    grid-template-columns:
        repeat(2,1fr) !important;

    gap:10px;

    padding:10px;
}

    .featured-licence-cards-grid{

    grid-template-columns:
        repeat(4,1fr) !important;

    gap:10px;

    padding:10px 10px 14px;

    margin-bottom:8px;
}

    .featured-licence-cards-grid .licence-card{

    border-radius:10px;
}

    .featured-licence-cards-grid .licence-card img{

    border-radius:10px;
}

    /* IMAGES FORMAT UNIFORME */

    .card img{

        width:100% !important;

        height:140px !important;

        object-fit:contain !important;

        background:white;

        border-radius:14px;

        padding:10px;

        display:block;
    }

    .favorite-btn{

        top:8px;
        right:8px;

        width:32px;
        height:32px;

        background:rgba(15,23,42,0.72);

        border-radius:999px;

        color:#f8fafc;

        text-shadow:none;
    }

    .favorite-btn.active{

        color:#ff4d6d;
    }

    .card-title{

        font-size:13px;

        line-height:1.2;
    }

    .price{

        font-size:17px;
    }

    /* DROPDOWNS */

    .dropdown{

        position:absolute;

        width:100%;

        max-height:70vh;

        overflow-y:auto;

        z-index:9999;
    }

    .dropdown-item:hover .submenu{
        display:none;
    }

    .dropdown-item.submenu-open .submenu{
        display:block;
        position:fixed;
        min-width:0;
        margin-left:0;
        background:#1b1230;
        border:1px solid rgba(244,114,182,0.28);
        box-shadow:
            0 14px 34px rgba(0,0,0,0.56),
            0 0 0 1px rgba(255,255,255,0.04);
    }

    /* ELEMENTS SUPPRIMES MOBILE */

    .range-container,
    .sidebar-box{
        display:none;
    }

    .results-scroll-top{

        bottom:14px;

        right:14px;
    }

    .hero-spacer{
        display:none;
    }

    .search-container,
    .sort-select{

        width:100% !important;
    }

    .search-input,
    .sort-select{

        height:42px !important;

        padding:0 12px !important;

        font-size:13px;
    }

    .main-header-right{

        grid-template-columns:1fr 1fr !important;
    }

    .active-filters,
    .clear-all-filters{

        display:none !important;
    }

    .main-header-left .menu-item{

    display:flex;

    justify-content:center;

    text-align:center;

    padding-top:18px;
    }

    .hero .hero-licence-card{

    position:absolute !important;

    left:0 !important;

    top:0 !important;

    height:100% !important;

    width:270px !important;

    z-index:5 !important;

    display:none;

    overflow:hidden !important;
}

.hero .hero-licence-card img{

    width:100% !important;

    height:100% !important;

    object-fit:cover !important;

    display:block !important;
}

.main-title-wrapper{

    order:1;

    width:100%;

    margin-top:-8px;

    display:grid !important;

    grid-template-columns:42px 1fr 42px;

    align-items:center;

    gap:8px;
}

.main-title-wrapper .main-title{

    grid-column:2;

    width:100%;

    max-width:none;

    padding:0;

    text-align:center;
}

.main-title-wrapper .mobile-only-icon{

    display:flex !important;

    width:42px;

    height:42px;
}

.main-title-wrapper .mobile-only-icon:first-child{

    grid-column:1;
}

.main-title-wrapper .mobile-only-icon:last-child{

    grid-column:3;
}

.main-header-left > .top-icon-button{

    display:none !important;
}

.main-title-wrapper{

    min-height:auto !important;
}

.main-title-wrapper .filters-wrapper{

    display:none !important;

    margin:0 !important;

    min-height:0 !important;
}

}
