/* =========================
   PRODUCT LISTING (Mock)
   Sidebar + Header + Product cards + Pagination
   ========================= */

:root{
    --pl-bg:#f3f6f9;
    --pl-card:#ffffff;
    --pl-text:#111827;
    --pl-muted:#6b7280;
    --pl-border:#e6e8ee;
    --pl-accent:#ff5a1f;

    --r12:12px;
    --r16:16px;
    --r18:18px;
}

.pl-page{
    background: var(--pl-bg);
    min-height: 100vh;
}


/* ===== Layout ===== */
.pl-page .container.sm-px-0{ max-width: 1180px; }

/* ===== Sidebar ===== */
.pl-sidebar .collapse-sidebar{
    padding-top: 6px;
}

.pl-filterby{
    font-weight: 800;
    color: var(--pl-text);
    font-size: 14px;
    margin: 0 0 10px;
}

/* panel */
.pl-panel{
    border: 1px solid var(--pl-border) !important;
    border-radius: var(--r18) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: var(--pl-card) !important;
}

.pl-panel__title{
    padding: 14px 16px;
    font-weight: 800;
    font-size: 14px;
    color: var(--pl-text);
    border-bottom: 1px solid var(--pl-border);
}

.pl-panel__body{
    padding: 14px 16px;
}

/* select */
.pl-select__control{
    width: 100%;
    height: 42px;
    border-radius: 10px;
    border: 1px solid var(--pl-border);
    background: #fff;
    font-weight: 600;
    padding: 0 12px;
    outline: none;
}

/* category list */
.pl-catlist{
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}
.pl-catlist li{ margin: 10px 0; }
.pl-catlist a{
    color: var(--pl-text);
    font-weight: 600;
    text-decoration: none;
}
.pl-catlist a:hover{ opacity: .85; }
.pl-catlist__back a{ color: var(--pl-muted); font-weight: 700; }

/* price boxes */
.pl-price-range{
    display:flex;
    gap: 10px;
}
.pl-price-box{
    flex: 1;
    border: 1px solid var(--pl-border);
    border-radius: 10px;
    height: 40px;
    display:flex;
    align-items:center;
    padding: 0 12px;
    background: #fff;
}
.pl-price-box__val{
    font-size: 13px;
    color: var(--pl-muted);
    font-weight: 700;
}

/* color dots */
.pl-colorrow{
    display:flex;
    flex-wrap:wrap;
    gap: 10px;
}
.pl-color input{ display:none; }
.pl-color__dot{
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--pl-border);
    display:block;
}
.pl-color input:checked + .pl-color__dot{
    box-shadow: 0 0 0 2px var(--pl-accent);
}

/* checklist */
.pl-checklist{
    display:flex;
    flex-direction:column;
    gap: 10px;
}
.pl-check{
    display:flex;
    align-items:center;
    gap: 10px;
    cursor:pointer;
    margin: 0;
}
.pl-check input{ display:none; }
.pl-check__box{
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid var(--pl-border);
    background: #fff;
}
.pl-check input:checked + .pl-check__box{
    background: var(--pl-accent);
    border-color: var(--pl-accent);
}
.pl-check__label{
    font-weight: 600;
    color: var(--pl-text);
    font-size: 13px;
}

/* ===== Header ===== */
.pl-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap: 18px;
    margin: 6px 0 18px;
}

.pl-title{
    margin: 0;
    font-size: 32px;
    line-height: 1.05;
    font-weight: 900;
    color: var(--pl-text);
}

.pl-subtitle{
    margin-top: 10px;
    font-size: 13px;
    color: var(--pl-muted);
    font-weight: 600;
}

.pl-header__right{
    display:flex;
    align-items:center;
    gap: 12px;
    padding-top: 6px;
}

.pl-sort{
    display:flex;
    align-items:center;
    gap: 10px;
    white-space: nowrap;
}

.pl-sort__label{
    font-size: 13px;
    color: var(--pl-muted);
    font-weight: 600;
}

.pl-sort__select{
    width: 180px;
    height: 42px;
    border-radius: 10px;
    border: 1px solid var(--pl-border);
    background: #fff;
    font-weight: 700;
    color: var(--pl-text);
    padding: 0 12px;
    outline: none;
}

/* mobile filter btn */
.pl-filter-btn{
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid var(--pl-border);
    background: #fff;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ===== Grid (igual tu home) ===== */
.pl-products-grid{
    margin-top: 6px;
}

/* ===== Pagination (mock) ===== */
.pl-pagination .pagination{
    justify-content:center !important;
    gap: 10px !important;
    margin-top: 26px !important;
}

.pl-pagination .page-link{
    border:none !important;
    background: transparent !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-weight: 800 !important;
    color: var(--pl-text) !important;
}

.pl-pagination .page-item.active .page-link{
    border: 1.5px solid var(--pl-accent) !important;
    color: var(--pl-accent) !important;
    background: transparent !important;
}

.pl-pagination .page-item:first-child .page-link,
.pl-pagination .page-item:last-child .page-link{
    width: 44px !important;
    height: 44px !important;
    background: var(--pl-accent) !important;
    color: #fff !important;
}

.pl-pagination .page-item.disabled:first-child .page-link,
.pl-pagination .page-item.disabled:last-child .page-link{
    background: #e9ecf3 !important;
    color: #aab1c2 !important;
    opacity: 1 !important;
}

/* ===== Responsive ===== */
@media (max-width: 575.98px){
    .pl-header{ flex-direction: column; }
    .pl-title{ font-size: 26px; }
    .pl-header__right{ justify-content: space-between; width:100%; }
    .pl-sort__select{ width: 170px; }
}

/* ===== Filter card (single container like mock) ===== */
.pl-filter-card{
    border: 1px solid var(--pl-border);
    border-radius: 14px;
    background: #fff;
    padding: 16px;
}

.pl-filter-card__title{
    font-weight: 800;
    font-size: 14px;
    color: var(--pl-text);
    margin-bottom: 14px;
}

.pl-filter-sec{ margin-bottom: 14px; }
.pl-filter-sec:last-child{ margin-bottom: 0; }

.pl-filter-sec__title{
    font-weight: 700;
    font-size: 13px;
    color: var(--pl-text);
    margin-bottom: 10px;
}

.pl-divider{
    height: 1px;
    background: var(--pl-border);
    margin: 14px 0;
}

/* tighter select + list like mock */
.pl-select__control{
    height: 40px;
    border-radius: 10px;
    font-size: 13px;
}

.pl-catlist{
    margin-top: 12px;
    max-height: 360px;      /* para que no se coma toda la pantalla */
    overflow: auto;
    padding-right: 6px;
}
.pl-catlist li{ margin: 8px 0; }
.pl-catlist a{ font-size: 13px; }
.pl-catlist__back a{
    color: var(--pl-muted);
    font-weight: 700;
}

/* price boxes like mock */
.pl-price-box{
    height: 38px;
    border-radius: 10px;
}
.pl-price-box__val{ font-size: 12.5px; }

/* make slider feel closer */
.range-slider #input-slider-range{
    margin-top: 6px;
}

/* keep old “panel” styling from affecting */
.pl-panel{ border: none !important; box-shadow:none !important; }
