/* AB Socalbird — WooCommerce Shop / Product Category archives */
body.absc-shop-archive-page .woocommerce-products-header { display:none !important; }
body.absc-shop-archive-page .woocommerce-breadcrumb { display:none !important; }
body.absc-shop-archive-page .site-main,
body.absc-shop-archive-page main.site-main,
body.absc-shop-archive-page .content-area,
body.absc-shop-archive-page .site-content,
body.absc-shop-archive-page .woocommerce { max-width:none !important; width:100% !important; }

.absc-shop-archive,
.absc-shop-archive * { box-sizing:border-box; }
.absc-shop-archive {
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:clip;
    background:#fff;
    color:#0a0a0a;
}
.absc-page-pad { width:100%; padding-left:68px; padding-right:68px; }

.absc-archive-heading { padding-top:30px; padding-bottom:24px; }
.absc-archive-heading__title,
.absc-archive-hero__title {
    margin:0 !important;
    color:#050505 !important;
    font-size:30px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
    letter-spacing:2px !important;
    text-transform:uppercase;
}

.absc-archive-hero { padding-top:28px; padding-bottom:20px; }
.absc-archive-hero__copy { max-width:1420px; margin:0 auto 20px; }
.absc-archive-hero__description {
    max-width:1380px;
    margin-top:18px;
    font-size:18px;
    line-height:1.42;
    font-weight:500;
}
.absc-archive-hero__description p { margin:0 !important; }
.absc-archive-hero__cards {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    width:100%;
}
.absc-archive-hero-card {
    position:relative;
    display:block;
    height:182px;
    overflow:hidden;
    background:#e9e8eb;
    color:#fff !important;
    text-decoration:none !important;
}
.absc-archive-hero-card__image {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .55s cubic-bezier(.22,1,.36,1);
}
.absc-archive-hero-card__shade {
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.12);
    pointer-events:none;
}
.absc-archive-hero-card__name {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    color:#fff !important;
    font-size:15px;
    line-height:1;
    font-weight:700;
    text-transform:uppercase;
    text-shadow:0 1px 3px rgba(0,0,0,.18);
}
.absc-archive-hero-card:hover .absc-archive-hero-card__image { transform:scale(1.025); }

.absc-archive-toolbar-wrap { margin-top:0; }
.absc-archive-toolbar {
    min-height:48px;
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    border:1px solid #cfcfcf;
    background:#fff;
}
.absc-archive-toolbar__left { display:flex; align-items:stretch; }
.absc-filter-toggle,
.absc-sort__button,
.absc-grid-switch__button {
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:#fff !important;
    color:#060606 !important;
    cursor:pointer;
}
.absc-filter-toggle,
.absc-sort__button {
    min-width:108px;
    height:46px;
    padding:0 20px !important;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-right:1px solid #cfcfcf !important;
    font-size:12px;
    font-weight:600;
}
.absc-filter-toggle svg,
.absc-sort__button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.absc-filter-toggle:hover,
.absc-filter-toggle:focus,
.absc-filter-toggle:active,
.absc-sort__button:hover,
.absc-sort__button:focus,
.absc-sort__button:active,
.absc-grid-switch__button:hover,
.absc-grid-switch__button:focus,
.absc-grid-switch__button:active { background:#f8f8f8 !important; color:#000 !important; }

.absc-sort { position:relative; }
.absc-sort__button { min-width:154px; }
.absc-sort__menu {
    position:absolute;
    top:100%;
    left:-1px;
    z-index:60;
    width:250px;
    display:none;
    padding:6px 0;
    border:1px solid #cfcfcf;
    background:#fff;
    box-shadow:none;
}
.absc-sort.is-open .absc-sort__menu { display:block; }
.absc-sort__option {
    display:block;
    padding:9px 15px;
    color:#070707 !important;
    font-size:13px;
    line-height:1.25;
    text-decoration:none !important;
    white-space:nowrap;
}
.absc-sort__option:hover,
.absc-sort__option:focus,
.absc-sort__option.is-active { background:#f5f5f5 !important; color:#000 !important; text-decoration:none !important; }

.absc-grid-switch { display:flex; align-items:stretch; margin-left:auto; }
.absc-grid-switch__button { width:40px; min-width:40px; padding:0 !important; display:flex; align-items:center; justify-content:center; }
.absc-grid-icon { width:16px; height:16px; display:grid; gap:2px; }
.absc-grid-icon--2 { grid-template-columns:repeat(2,1fr); }
.absc-grid-icon--3 { grid-template-columns:repeat(3,1fr); }
.absc-grid-icon--4 { grid-template-columns:repeat(4,1fr); }
.absc-grid-icon i { display:block; background:#111; min-width:2px; }
.absc-grid-switch__button:not(.is-active) .absc-grid-icon i { opacity:.62; }

.absc-catalog-shell {
    display:grid;
    grid-template-columns:0 minmax(0,1fr);
    gap:0;
    align-items:start;
    padding-top:20px;
    transition:grid-template-columns .28s ease, gap .28s ease;
}
.absc-catalog-shell.is-filter-open { grid-template-columns:230px minmax(0,1fr); gap:20px; }
.absc-catalog-filters { min-width:0; overflow:hidden; opacity:0; visibility:hidden; transition:opacity .2s ease; }
.absc-catalog-shell.is-filter-open .absc-catalog-filters { opacity:1; visibility:visible; }
.absc-filter-form { width:230px; padding:0; margin:0; }
.absc-filter-group { border:0; border-bottom:0; padding:0 0 18px; margin:0 0 2px; }
.absc-filter-group summary {
    position:relative;
    list-style:none;
    cursor:pointer;
    padding:0 22px 12px 0;
    color:#080808;
    font-size:13px;
    font-weight:600;
}
.absc-filter-group summary::-webkit-details-marker { display:none; }
.absc-filter-group summary::after { content:'⌄'; position:absolute; right:2px; top:-2px; font-size:18px; font-weight:400; transform:rotate(0); }
.absc-filter-group:not([open]) summary::after { transform:rotate(-90deg); }
.absc-filter-check {
    width:100%;
    min-height:28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#111;
    font-size:12px;
    cursor:pointer;
}
.absc-filter-check input { position:absolute; opacity:0; pointer-events:none; }
.absc-filter-check i { flex:0 0 16px; width:16px; height:16px; border:1px solid #d4d4d4; background:#fff; }
.absc-filter-check input:checked + i { background:#111; border-color:#111; box-shadow:inset 0 0 0 4px #fff; }

.absc-price-range { position:relative; padding-top:8px; }
.absc-price-range__track { position:relative; height:4px; margin:0 9px 20px; background:#d0d0d0; }
.absc-price-range__track span { position:absolute; inset:0; background:#111; }
.absc-price-range__slider {
    position:absolute;
    left:0;
    top:1px;
    width:100%;
    height:18px;
    margin:0 !important;
    padding:0 !important;
    pointer-events:none;
    background:transparent !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    box-shadow:none !important;
}
.absc-price-range__slider::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:15px; height:15px; border-radius:50%; background:#111; border:0; pointer-events:auto; cursor:pointer; }
.absc-price-range__slider::-moz-range-thumb { width:15px; height:15px; border-radius:50%; background:#111; border:0; pointer-events:auto; cursor:pointer; }
.absc-price-range__values { display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:center; }
.absc-price-range__values label { display:flex; align-items:center; gap:5px; border-bottom:1px solid #d7d7d7; }
.absc-price-range__values span { font-size:13px; }
.absc-price-range__values input {
    width:100%;
    min-width:0;
    padding:4px 0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    outline:0 !important;
    color:#8b93a0 !important;
    font-size:12px;
}
.absc-price-range__values b { font-weight:400; }

.absc-color-filter { display:flex; flex-wrap:wrap; gap:10px 12px; }
.absc-color-filter__item { display:block; width:36px; height:36px; margin:0; cursor:pointer; }
.absc-color-filter__item input { position:absolute; opacity:0; pointer-events:none; }
.absc-color-filter__item span { display:block; width:100%; height:100%; background:var(--absc-swatch); border:1px solid rgba(0,0,0,.12); }
.absc-color-filter__item input:checked + span { outline:2px solid #111; outline-offset:2px; }
.absc-filter-actions { display:flex; align-items:center; gap:12px; padding-top:4px; }
.absc-filter-apply { min-height:38px; padding:0 14px !important; border:1px solid #111 !important; border-radius:0 !important; background:#111 !important; color:#fff !important; font-size:11px; cursor:pointer; }
.absc-filter-apply:hover,
.absc-filter-apply:focus,
.absc-filter-apply:active { background:#2b2b2b !important; color:#fff !important; }
.absc-filter-clear { color:#111 !important; font-size:11px; text-decoration:underline !important; text-underline-offset:3px; }

.absc-catalog-results { min-width:0; }
.absc-catalog-results ul.products {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}
.absc-catalog-results[data-grid="2"] ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.absc-catalog-results[data-grid="3"] ul.products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.absc-catalog-results[data-grid="4"] ul.products { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.absc-catalog-results ul.products::before,
.absc-catalog-results ul.products::after { display:none !important; }
.absc-catalog-results ul.products li.product {
    float:none !important;
    clear:none !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center;
}
.absc-archive-product-card { width:100%; }
.absc-archive-product-card__media {
    position:relative;
    width:100%;
    aspect-ratio:1 / 1.06;
    overflow:hidden;
    background:#e7e5eb;
}
.absc-archive-product-card__image-link { display:block; width:100%; height:100%; text-decoration:none !important; }
.absc-archive-product-card__image {
    position:absolute;
    inset:0;
    display:block;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:center !important;
    border:0 !important;
    box-shadow:none !important;
    transition:opacity .42s ease, transform .55s cubic-bezier(.22,1,.36,1);
}
.absc-archive-product-card__image--main { opacity:1; }
.absc-archive-product-card__image--hover { opacity:0; }
.absc-archive-product-card__media:hover .absc-archive-product-card__image--main:has(+ .absc-archive-product-card__image--hover) { opacity:0; }
.absc-archive-product-card__media:hover .absc-archive-product-card__image--hover { opacity:1; transform:scale(1.015); }
.absc-archive-product-card__quick {
    position:absolute;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:4;
    min-height:48px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:10px 14px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#090909 !important;
    font-size:12px !important;
    font-weight:600 !important;
    text-decoration:none !important;
    opacity:0;
    transform:translateY(10px);
    transition:opacity .25s ease, transform .25s ease, background-color .2s ease;
}
.absc-archive-product-card__media:hover .absc-archive-product-card__quick,
.absc-archive-product-card__quick:focus { opacity:1; transform:translateY(0); }
.absc-archive-product-card__quick:hover,
.absc-archive-product-card__quick:focus,
.absc-archive-product-card__quick:active { background:#f7f7f7 !important; color:#000 !important; }
.absc-archive-product-card__info { padding:17px 8px 26px; text-align:center; }
.absc-archive-product-card__title {
    display:block;
    color:#050505 !important;
    font-size:14px;
    line-height:1.35;
    font-weight:600;
    text-transform:uppercase;
    text-decoration:none !important;
}
.absc-archive-product-card__price,
.absc-archive-product-card__price * {
    margin-top:7px;
    color:#090909 !important;
    font-size:12px;
    line-height:1.3;
    font-weight:500;
    text-decoration:none !important;
}
.absc-archive-product-card__price del { opacity:.45; margin-right:4px; text-decoration:line-through !important; }
.absc-archive-product-card__price ins { background:transparent !important; text-decoration:none !important; }

.absc-catalog-results .woocommerce-pagination { margin:24px 0 56px !important; }
.absc-catalog-results .woocommerce-pagination ul.page-numbers {
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:4px;
    border:0 !important;
    margin:0 !important;
}
.absc-catalog-results .woocommerce-pagination ul.page-numbers li { border:0 !important; }
.absc-catalog-results .woocommerce-pagination .page-numbers a,
.absc-catalog-results .woocommerce-pagination .page-numbers span {
    min-width:36px;
    min-height:36px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    border:1px solid #d4d4d4 !important;
    background:#fff !important;
    color:#111 !important;
    font-size:12px;
    text-decoration:none !important;
}
.absc-catalog-results .woocommerce-pagination .page-numbers span.current { background:#111 !important; color:#fff !important; border-color:#111 !important; }

.absc-archive-community {
    width:100% !important;
    max-width:none !important;
    margin:18px 0 0 !important;
    border-top:1px solid #f1f1f1;
}
.absc-archive-community .absc-community__image { width:430px; max-width:80%; max-height:150px; object-fit:contain; }

@media (max-width:1024px) {
    .absc-page-pad { padding-left:26px; padding-right:26px; }
    .absc-archive-hero__description { font-size:16px; }
    .absc-archive-hero-card { height:155px; }
    .absc-catalog-results ul.products,
    .absc-catalog-results[data-grid="4"] ul.products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .absc-catalog-shell.is-filter-open { grid-template-columns:210px minmax(0,1fr); }
    .absc-filter-form { width:210px; }
}

@media (max-width:767px) {
    .absc-page-pad { padding-left:20px; padding-right:20px; }
    .absc-archive-heading { padding-top:22px; padding-bottom:18px; }
    .absc-archive-heading__title,
    .absc-archive-hero__title { font-size:24px !important; letter-spacing:1.5px !important; }
    .absc-archive-hero { padding-top:22px; }
    .absc-archive-hero__description { margin-top:12px; font-size:13px; line-height:1.5; }
    .absc-archive-hero__cards { grid-template-columns:1fr 1fr; gap:10px; }
    .absc-archive-hero-card { height:120px; }
    .absc-archive-hero-card__name { font-size:11px; }

    .absc-archive-toolbar { min-height:44px; }
    .absc-filter-toggle,
    .absc-sort__button { height:42px; min-width:auto; padding:0 12px !important; font-size:10px; }
    .absc-sort__button { max-width:150px; }
    .absc-grid-switch__button { width:32px; min-width:32px; }
    .absc-grid-switch__button[data-absc-grid="4"] { display:none; }
    .absc-grid-icon { width:14px; height:14px; }

    .absc-catalog-shell,
    .absc-catalog-shell.is-filter-open { display:block; padding-top:14px; }
    .absc-catalog-filters {
        display:none;
        width:100%;
        opacity:1;
        visibility:visible;
        overflow:visible;
        padding-bottom:18px;
    }
    .absc-catalog-shell.is-filter-open .absc-catalog-filters { display:block; }
    .absc-filter-form { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
    .absc-filter-actions { grid-column:1/-1; }
    .absc-catalog-results ul.products,
    .absc-catalog-results[data-grid="2"] ul.products,
    .absc-catalog-results[data-grid="3"] ul.products,
    .absc-catalog-results[data-grid="4"] ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
    .absc-archive-product-card__media { aspect-ratio:1 / 1.1; }
    .absc-archive-product-card__info { padding:11px 4px 22px; }
    .absc-archive-product-card__title { font-size:10px; }
    .absc-archive-product-card__price,
    .absc-archive-product-card__price * { font-size:10px; margin-top:5px; }
    .absc-archive-product-card__quick { left:auto; right:8px; bottom:8px; width:42px; min-width:42px; min-height:42px; padding:0 !important; font-size:0 !important; opacity:1; transform:none; }
    .absc-archive-product-card__quick::before { content:'🛒'; font-size:14px; }
    .absc-archive-community .absc-community__image { width:270px; max-height:100px; }
}
