/* L'Opportunist Core — catalogue SEO + filtres, DA ivoire/noir éditoriale */
.lop-seo-products-page .elementor-widget-woocommerce-products,
.lop-seo-products-page .elementor-widget-woocommerce-products-deprecated,
.lop-seo-products-page [data-widget_type^="woocommerce-products."]{
    display:none!important;
}

.lop-seo-products{
    --lop-ink:#11110f;
    --lop-muted:#6f6a62;
    --lop-line:#ded8ce;
    --lop-paper:#fbf8f2;
    --lop-white:#fffdfa;
    clear:both;
    width:100%;
    margin:42px 0 68px;
    color:var(--lop-ink);
}

.lop-seo-products-heading{
    margin:0 0 24px;
    max-width:760px;
}
.lop-seo-products-heading span{
    display:block;
    margin-bottom:8px;
    color:#9b5a37;
    font-size:11px;
    font-weight:800;
    letter-spacing:.13em;
}
.lop-seo-products-heading h2{
    margin:0 0 8px!important;
    color:var(--lop-ink)!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(30px,4vw,48px)!important;
    font-weight:700!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
}
.lop-seo-products-heading p{
    margin:0!important;
    color:var(--lop-muted);
    font-size:14px;
}

.lop-seo-toolbar{
    display:grid;
    grid-template-columns:190px 1fr auto;
    align-items:center;
    gap:16px;
    min-height:62px;
    margin-bottom:18px;
    border:1px solid var(--lop-line);
    background:var(--lop-white);
}

.lop-filter-open{
    appearance:none;
    min-height:60px;
    border:0;
    border-right:1px solid var(--lop-line);
    background:transparent;
    color:var(--lop-ink);
    text-transform:uppercase;
    letter-spacing:.02em;
    font:600 13px/1.1 inherit;
    cursor:pointer;
}
.lop-filter-open span{font-size:20px;margin-right:9px;vertical-align:-2px}
.lop-results-count{font-size:14px;font-weight:600;padding-left:4px}

.lop-seo-ordering{
    display:flex;
    align-items:center;
    gap:12px;
    padding-right:12px;
    margin:0;
}
.lop-seo-ordering label{font-size:13px;color:var(--lop-muted);white-space:nowrap}
.lop-seo-ordering select{
    min-width:185px;
    min-height:42px;
    padding:0 42px 0 15px!important;
    border:1px solid var(--lop-line)!important;
    border-radius:0!important;
    background-color:var(--lop-white)!important;
    color:var(--lop-ink)!important;
    font:600 13px/1 inherit;
    cursor:pointer;
}

.lop-seo-layout{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:26px;
    align-items:start;
}

.lop-product-filters{
    position:relative;
    border-right:1px solid var(--lop-line);
    padding:0 20px 0 0;
    background:var(--lop-paper);
}
.lop-filter-head{display:none}
.lop-filter-form{margin:0}

.lop-filter-group{
    border-bottom:1px solid var(--lop-line);
    padding:0 0 18px;
    margin:0 0 18px;
}
.lop-filter-group summary{
    list-style:none;
    position:relative;
    padding:0 22px 11px 0;
    cursor:pointer;
    text-transform:uppercase;
    font:700 12px/1.2 inherit;
    letter-spacing:.025em;
}
.lop-filter-group summary::-webkit-details-marker{display:none}
.lop-filter-group summary::after{
    content:'⌃';
    position:absolute;
    right:2px;
    top:-2px;
    font-size:13px;
}
.lop-filter-group:not([open]) summary::after{content:'⌄'}
.lop-filter-options{display:grid;gap:11px;padding-top:3px}
.lop-filter-option{
    display:grid;
    grid-template-columns:16px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    margin:0;
    color:#2a2926;
    font-size:13px;
    cursor:pointer;
}
.lop-filter-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.lop-control{
    width:14px;
    height:14px;
    border:1px solid #aaa39a;
    background:var(--lop-white);
    box-sizing:border-box;
}
.lop-filter-option input[type="radio"] + .lop-control{border-radius:50%}
.lop-filter-option input[type="radio"]:checked + .lop-control{
    border:4px solid var(--lop-ink);
}
.lop-filter-option input[type="checkbox"]:checked + .lop-control{
    background:var(--lop-ink);
    border-color:var(--lop-ink);
    box-shadow:inset 0 0 0 3px var(--lop-white);
}
.lop-filter-option small{font-size:11px;color:#8b857d}

.lop-filter-actions{display:grid;gap:10px;padding-bottom:8px}
.lop-filter-submit{
    width:100%;
    min-height:46px;
    border:1px solid var(--lop-ink);
    background:var(--lop-ink);
    color:#fff;
    text-transform:uppercase;
    font:700 11px/1 inherit;
    letter-spacing:.025em;
    cursor:pointer;
}
.lop-filter-reset{
    display:flex;
    justify-content:center;
    gap:7px;
    padding:8px 4px;
    color:var(--lop-ink)!important;
    text-decoration:none!important;
    text-transform:uppercase;
    font:600 10px/1.2 inherit;
}

.lop-seo-products-main{min-width:0}
.lop-seo-products ul.products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:32px 18px!important;
    margin:0!important;
    padding:0!important;
}
.lop-seo-products ul.products::before,
.lop-seo-products ul.products::after{display:none!important;content:none!important}
.lop-seo-products ul.products li.product{
    float:none!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    clear:none!important;
    text-align:left!important;
}
.lop-seo-products ul.products li.product a{text-decoration:none!important}
.lop-seo-products ul.products li.product img{
    width:100%!important;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    margin:0 0 13px!important;
    background:#eee9e1;
}
.lop-seo-products ul.products li.product .woocommerce-loop-product__title{
    margin:0 0 7px!important;
    padding:0!important;
    color:var(--lop-ink)!important;
    font:600 14px/1.35 inherit!important;
}
.lop-seo-products ul.products li.product .price{
    display:block!important;
    margin:0 0 5px!important;
    color:var(--lop-ink)!important;
    font:700 14px/1.2 inherit!important;
}
.lop-seo-products ul.products li.product .star-rating{font-size:11px!important;margin:5px 0 0!important}

.lop-seo-pagination{margin:44px 0 0}
.lop-seo-pagination ul.page-numbers{
    display:flex!important;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    border:0!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}
.lop-seo-pagination ul.page-numbers li{border:0!important;margin:0!important;padding:0!important}
.lop-seo-pagination .page-numbers a,
.lop-seo-pagination .page-numbers span{
    display:grid!important;
    place-items:center;
    min-width:38px;
    height:38px;
    padding:0 10px!important;
    border:1px solid var(--lop-line)!important;
    border-radius:0;
    background:var(--lop-white);
    color:var(--lop-ink)!important;
    text-decoration:none!important;
}
.lop-seo-pagination .page-numbers .current{
    background:var(--lop-ink)!important;
    border-color:var(--lop-ink)!important;
    color:#fff!important;
    font-weight:700;
}
.lop-seo-products-empty{
    border:1px solid var(--lop-line);
    background:var(--lop-white);
    text-align:center;
    padding:54px 20px;
}
.lop-seo-products-empty span{color:var(--lop-muted);font-size:13px}
.lop-filter-backdrop{display:none}

@media(max-width:1180px){
    .lop-seo-products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
    html.lop-no-scroll{overflow:hidden}
    .lop-seo-products{margin:30px 0 52px}
    .lop-seo-products-heading{
    margin:0 0 24px;
    max-width:760px;
}
.lop-seo-products-heading span{
    display:block;
    margin-bottom:8px;
    color:#9b5a37;
    font-size:11px;
    font-weight:800;
    letter-spacing:.13em;
}
.lop-seo-products-heading h2{
    margin:0 0 8px!important;
    color:var(--lop-ink)!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(30px,4vw,48px)!important;
    font-weight:700!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
}
.lop-seo-products-heading p{
    margin:0!important;
    color:var(--lop-muted);
    font-size:14px;
}

.lop-seo-toolbar{
        grid-template-columns:1fr 1fr;
        gap:10px;
        border:0;
        background:transparent;
        margin-bottom:14px;
    }
    .lop-results-count{display:none}
    .lop-filter-open{
        min-height:48px;
        border:1px solid var(--lop-line);
        background:var(--lop-white);
    }
    .lop-seo-ordering{padding:0;display:block}
    .lop-seo-ordering label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important}
    .lop-seo-ordering select{width:100%;min-width:0;min-height:48px;text-align:center;background:var(--lop-white)!important}
    .lop-seo-layout{display:block}

    .lop-product-filters{
        position:fixed;
        z-index:100000;
        top:0;
        right:0;
        bottom:0;
        width:min(88vw,390px);
        overflow:auto;
        border:0;
        padding:0 22px 28px;
        background:var(--lop-paper);
        transform:translateX(105%);
        transition:transform .24s ease;
        box-shadow:-12px 0 32px rgba(0,0,0,.12);
    }
    .lop-filters-open .lop-product-filters{transform:translateX(0)}
    .lop-filter-head{
        position:sticky;
        z-index:2;
        top:0;
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:68px;
        margin:0 -22px 20px;
        padding:0 22px;
        border-bottom:1px solid var(--lop-line);
        background:var(--lop-paper);
    }
    .lop-filter-head strong{
        text-transform:uppercase;
        font-family:Georgia,'Times New Roman',serif;
        font-size:20px;
        letter-spacing:.01em;
    }
    .lop-filter-close{border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;padding:5px}
    .lop-filter-actions{
        position:sticky;
        bottom:-28px;
        margin:6px -22px -28px;
        padding:16px 22px 18px;
        border-top:1px solid var(--lop-line);
        background:var(--lop-paper);
    }
    .lop-filter-submit{min-height:50px}
    .lop-filter-backdrop{
        position:fixed;
        z-index:99999;
        inset:0;
        width:100%;
        height:100%;
        border:0;
        background:rgba(0,0,0,.28);
        opacity:0;
        pointer-events:none;
        display:block;
        transition:opacity .2s ease;
    }
    .lop-filters-open .lop-filter-backdrop{opacity:1;pointer-events:auto}
    .lop-seo-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px!important}
    .lop-seo-products ul.products li.product .woocommerce-loop-product__title{font-size:13px!important}
    .lop-seo-products ul.products li.product .price{font-size:14px!important}
}

/* v0.3.2 — intégration avec la DA du Core */
.lop-seo-products ul.products li.product{position:relative!important;background:transparent!important;border-radius:0!important;overflow:visible!important;padding:0!important}
.lop-seo-products ul.products li.product .button{display:none!important}
.lop-seo-products ul.products li.product .lop-pick{left:9px!important;top:9px!important;background:rgba(255,253,249,.92)!important;color:#183c32!important;padding:6px 8px!important;border-radius:999px!important;font-size:8px!important;line-height:1!important}
.lop-seo-products ul.products li.product img{transition:transform .25s ease}
.lop-seo-products ul.products li.product:hover img{transform:scale(1.012)}
.lop-seo-products ul.products li.product .woocommerce-loop-product__title{font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:700!important;line-height:1.3!important}
.lop-seo-products ul.products li.product .price{font-size:13px!important;font-weight:800!important}
@media(max-width:900px){.lop-seo-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 11px!important}.lop-seo-products-heading h2{font-size:31px!important}.lop-seo-products-heading p{font-size:12px!important}}


/* v0.3.3 — cartes SEO 100% natives Core, aucune dépendance au thème WooCommerce */
.lop-seo-products .lop-seo-native-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:30px 16px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-card{
    display:block!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-img{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#eee8df!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-img img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-copy{
    padding:10px 1px 0!important;
    margin:0!important;
    background:transparent!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-copy h3{
    margin:0 0 5px!important;
    padding:0!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:13px!important;
    font-weight:700!important;
    line-height:1.28!important;
    letter-spacing:0!important;
    text-transform:none!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-copy h3 a{
    color:#11110f!important;
    text-decoration:none!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-copy p{
    margin:0 0 7px!important;
    padding:0!important;
    min-height:0!important;
    color:#6f6a62!important;
    font-size:11px!important;
    font-weight:400!important;
    line-height:1.35!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-row,
.lop-seo-products .lop-seo-native-grid .lop-product-row strong{
    margin:0!important;
    padding:0!important;
    color:#11110f!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.2!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-row del{
    margin-right:5px!important;
    opacity:.45!important;
    font-weight:400!important;
}
.lop-seo-products .lop-seo-native-grid .lop-product-row ins{
    text-decoration:none!important;
}
.lop-seo-products .lop-seo-native-grid .lop-card-heart{
    position:absolute!important;
    z-index:3!important;
    top:10px!important;
    right:10px!important;
    display:grid!important;
    place-items:center!important;
    width:28px!important;
    height:28px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(255,253,250,.88)!important;
    color:#17231f!important;
    filter:none!important;
}
.lop-seo-products .lop-seo-native-grid .lop-card-heart svg{
    width:14px!important;
    height:14px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.5!important;
}
/* Les éléments typiques des templates de l'ancien thème ne doivent jamais survivre
   dans une sélection Core, même si un plugin les injecte via hook. */
.lop-seo-products .lop-seo-native-grid .onsale,
.lop-seo-products .lop-seo-native-grid .save-percent,
.lop-seo-products .lop-seo-native-grid .product-button,
.lop-seo-products .lop-seo-native-grid .product-buttons,
.lop-seo-products .lop-seo-native-grid .quick-view,
.lop-seo-products .lop-seo-native-grid .quickview,
.lop-seo-products .lop-seo-native-grid .yith-wcqv-button,
.lop-seo-products .lop-seo-native-grid .add_to_cart_button,
.lop-seo-products .lop-seo-native-grid .button{
    display:none!important;
}
@media(max-width:1180px){
    .lop-seo-products .lop-seo-native-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
    .lop-seo-products .lop-seo-native-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 11px!important}
    .lop-seo-products .lop-seo-native-grid .lop-product-copy{padding-top:8px!important}
    .lop-seo-products .lop-seo-native-grid .lop-product-copy h3{font-size:12px!important;line-height:1.25!important}
    .lop-seo-products .lop-seo-native-grid .lop-product-copy p{display:none!important}
    .lop-seo-products .lop-seo-native-grid .lop-product-row,
    .lop-seo-products .lop-seo-native-grid .lop-product-row strong{font-size:12px!important}
}
