/* ==================== Kategori.css ================================
   SANDALYE GURUSU - KATEGORİ SAYFALARI
   Dosya yolu: ~/Urunler/Kategori.css

   Bu dosya ana Style.css dosyasından SONRA yüklenmelidir.
================================================================== */

select {
    font: inherit;
}


/* =====================================================
   BUTON
===================================================== */

.btn-outline {
    border-color: var(--line);
    background: #fff;
    color: var(--text);
}

    .btn-outline:hover {
        background: var(--soft);
    }


/* =====================================================
   KATEGORİ HERO
   Resim artık CSS background olarak değil <picture> ile gelir.
   Böylece Page.Part / URL / CSS variable çakışması olmaz.
===================================================== */

.category-hero {
    position: relative;
    isolation: isolate;
    min-height: 360px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
    background: #111;
}

/* Gerçek hero resmi */
.category-hero-picture {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}

    .category-hero-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 58% center;
        display: block;
        transform: scale(1.03);
        animation: categoryHeroZoom 2.8s ease-out forwards;
    }

/* Soldaki metni okunaklı yapan koyu katman */
.category-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient( 90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.58) 40%, rgba(0,0,0,.18) 100% );
}

/* Hafif alt ton */
.category-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient( 180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.04) 60%, rgba(0,0,0,.15) 100% );
}

@keyframes categoryHeroZoom {
    from {
        transform: scale(1.05);
    }

    to {
        transform: scale(1);
    }
}

.category-hero .container {
    position: relative;
    z-index: 2;
}

.category-hero-content {
    width: 680px;
    max-width: 100%;
    color: #fff;
    padding: 56px 0;
}

.breadcrumb-light {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 22px;
    color: rgba(255,255,255,.72);
    font-size: 14px;
}

    .breadcrumb-light a,
    .breadcrumb-light strong {
        color: rgba(255,255,255,.82);
    }

        .breadcrumb-light a:hover {
            color: #fff;
        }

.category-hero-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: #d6a64e;
    font-size: 16px;
    font-weight: 900;
}

.category-hero h1 {
    margin: 0;
    color: #fff;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(42px, 4vw, 70px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.045em;
    text-shadow: 0 8px 28px rgba(0,0,0,.16);
}

.category-hero p {
    margin: 20px 0 0;
    max-width: 620px;
    color: rgba(255,255,255,.88);
    font-size: 18px;
    line-height: 1.65;
}

.category-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

    .category-hero-stats span {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
        padding: 0 14px;
        border: 1px solid rgba(255,255,255,.20);
        border-radius: 999px;
        background: rgba(255,255,255,.08);
        color: rgba(255,255,255,.94);
        font-size: 13px;
        font-weight: 800;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }


/* =====================================================
   KATEGORİ SAYFA GÖVDESİ
===================================================== */

.category-page {
    background: linear-gradient( 180deg, #fff 0%, #f7f3ed 100% );
    padding: 46px 0 72px;
}

.category-layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 28px;
    align-items: start;
}


/* =====================================================
   FİLTRE SIDEBAR
===================================================== */

.filter-sidebar {
    position: sticky;
    top: 126px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 30px rgba(0,0,0,.035);
}

.filter-head {
    padding: 20px;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

    .filter-head strong {
        font-size: 18px;
        font-weight: 950;
    }

.filter-clear {
    border: 0;
    background: transparent;
    color: var(--brand-dark);
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}

.filter-group {
    padding: 20px;
    border-bottom: 1px solid var(--line);
}

    .filter-group:last-child {
        border-bottom: 0;
    }

    .filter-group h3 {
        margin: 0 0 14px;
        font-size: 15px;
        font-weight: 950;
    }

.filter-list {
    display: grid;
    gap: 10px;
}

.filter-check {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #333;
    font-size: 14px;
    cursor: pointer;
}

    .filter-check input {
        accent-color: var(--brand);
    }

.filter-category-list {
    display: grid;
    gap: 8px;
}

    .filter-category-list a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 12px;
        color: #222;
        font-size: 14px;
        font-weight: 750;
    }

        .filter-category-list a:hover,
        .filter-category-list a.is-active {
            background: #f4eee4;
            color: var(--brand-dark);
        }

    .filter-category-list small {
        color: var(--muted);
        font-weight: 700;
    }

.mobile-filter-btn {
    display: none;
    width: 100%;
    margin-bottom: 18px;
}


/* =====================================================
   ÜRÜN LİSTE ÜST BAR
===================================================== */

.listing-top {
    min-height: 72px;
    margin-bottom: 18px;
    padding: 14px 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 30px rgba(0,0,0,.025);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.listing-title strong {
    display: block;
    font-size: 18px;
    font-weight: 950;
}

.listing-title span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
}

.listing-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .listing-actions form {
        margin: 0;
    }

    .listing-actions select {
        min-height: 42px;
        padding: 0 38px 0 14px;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: #fff;
        color: #222;
        font-size: 14px;
        font-weight: 700;
    }

.view-btn {
    width: 42px;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
    font-weight: 950;
}

    .view-btn.is-active {
        background: #111;
        color: #fff;
    }


/* =====================================================
   KATEGORİ ÜRÜN GRID
===================================================== */

.category-page .product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.category-page .product-form {
    height: 100%;
}

.category-page .product-card {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.035);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .category-page .product-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow);
        border-color: #ddcdaf;
    }

.category-page .product-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--brand);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.category-page .product-img-link {
    display: block;
}

.category-page .product-img {
    aspect-ratio: 1.22 / 1;
    overflow: hidden;
    background: var(--soft);
}

    .category-page .product-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .22s ease;
    }

.category-page .product-card:hover .product-img img {
    transform: scale(1.04);
}

.category-page .product-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.category-page .product-text-link {
    display: block;
}

.category-page .product-category {
    display: block;
    margin-bottom: 8px;
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 900;
}

.category-page .product-body h2 {
    margin: 0;
    color: #222;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: -.02em;
}

.category-page .product-body p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.product-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

    .product-meta-row span {
        padding: 6px 9px;
        border-radius: 999px;
        background: #f4f0e8;
        color: #222;
        font-size: 12px;
        font-weight: 750;
    }

.category-product-price {
    color: var(--brand-dark) !important;
    font-weight: 950 !important;
}

.product-meta-row > .category-product-price,
.product-meta-row > .material-product-price {
    display: block;
    flex: 0 0 100%;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 15px;
    line-height: 1.5;
}

.product-meta-row .product-price-tax {
    display: block;
    margin-top: 3px;
    color: #555;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}


/* =====================================================
   ÜRÜN KART BUTONLARI
===================================================== */

.category-page .product-card-actions {
    margin-top: auto;
    padding-top: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

    .category-page .product-card-actions > a,
    .category-page .product-card-actions > button {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .category-page .product-card-actions a,
    .category-page .product-card-actions button {
        min-height: 42px;
        border-radius: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font: inherit;
        font-size: 13px;
        font-weight: 950;
        cursor: pointer;
    }

    .category-page .product-card-actions .detail-link {
        border: 0;
        background: #111;
        color: #fff;
    }

        .category-page .product-card-actions .detail-link:hover {
            background: #2c2925;
            color: #fff;
        }

    .category-page .product-card-actions .offer-link {
        border: 1px solid var(--line);
        background: #fff;
        color: #111;
    }

        .category-page .product-card-actions .offer-link:hover {
            background: var(--soft);
        }

.category-product-cart-btn {
    min-height: 42px;
    border: 1px solid transparent;
    background: var(--brand);
    color: #fff;
    box-shadow: 0 10px 22px rgba(196,147,69,.20);
    transition: transform .18s ease, background .18s ease;
}

    .category-product-cart-btn:hover {
        background: var(--brand-dark);
        color: #fff;
        transform: translateY(-1px);
    }

.category-preview-btn {
    border: 0;
}


/* =====================================================
   SAYFALAMA
===================================================== */

.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 34px;
}

    .pagination a,
    .pagination span {
        width: 42px;
        height: 42px;
        border: 1px solid var(--line);
        border-radius: 999px;
        display: grid;
        place-items: center;
        background: #fff;
        font-weight: 850;
    }

    .pagination .is-active {
        background: var(--brand);
        color: #fff;
        border-color: var(--brand);
    }


/* =====================================================
   KATEGORİ SEO
===================================================== */

.category-seo-area {
    background: #fff;
    padding: 72px 0;
}

.category-seo-box {
    padding: 38px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 30px rgba(0,0,0,.035);
}

    .category-seo-box > span {
        display: inline-flex;
        margin-bottom: 12px;
        color: var(--brand-dark);
        font-weight: 900;
    }

    .category-seo-box h2 {
        margin: 0;
        color: #222;
        font-family: "Cormorant Garamond", Georgia, serif;
        font-size: clamp(30px, 3vw, 46px);
        font-weight: 700;
        letter-spacing: -.035em;
        line-height: 1.1;
    }

    .category-seo-box p {
        margin: 18px 0 0;
        max-width: 1100px;
        color: var(--muted);
        font-size: 16px;
        line-height: 1.75;
    }

.category-seo-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

    .category-seo-links a {
        padding: 9px 13px;
        border-radius: 999px;
        background: #f4f0e8;
        color: #222;
        font-size: 13px;
        font-weight: 850;
    }

        .category-seo-links a:hover {
            background: var(--brand);
            color: #fff;
        }


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1500px) {

    .category-page .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 1300px) {

    .category-layout {
        grid-template-columns: 260px 1fr;
    }
}


@media (max-width: 1020px) {

    .category-layout {
        grid-template-columns: 1fr;
    }

    .filter-sidebar {
        position: fixed;
        left: 16px;
        right: 16px;
        top: 110px;
        z-index: 1400;
        max-height: calc(100dvh - 130px);
        overflow-y: auto;
        display: none;
    }

        .filter-sidebar.is-open {
            display: block;
        }

    .mobile-filter-btn {
        display: inline-flex;
    }

    .category-page .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 760px) {

    .category-hero {
        min-height: 470px;
    }

    .category-hero-picture img {
        object-position: center center;
        animation: none;
        transform: none;
    }

    .category-hero::before {
        background: linear-gradient( 180deg, rgba(0,0,0,.40) 0%, rgba(0,0,0,.64) 55%, rgba(0,0,0,.88) 100% );
    }

    .category-hero-content {
        min-height: 470px;
        padding: 54px 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .category-hero h1 {
        font-size: 46px;
    }

    .category-hero p {
        font-size: 16px;
    }

    .category-page {
        padding: 32px 0 54px;
    }

    .listing-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .listing-actions {
        width: 100%;
    }

        .listing-actions form {
            flex: 1;
            width: 100%;
        }

        .listing-actions select {
            width: 100%;
        }

    .category-page .product-grid {
        grid-template-columns: 1fr;
    }

    .category-page .product-card-actions {
        grid-template-columns: 1fr;
    }

    .category-seo-box {
        padding: 24px;
        border-radius: 20px;
    }
}


@media (max-width: 430px) {

    .category-hero h1 {
        font-size: 38px;
    }

    .category-hero-stats {
        gap: 8px;
    }

        .category-hero-stats span {
            min-height: 34px;
            padding: 0 11px;
            font-size: 11px;
        }
}

/* Full-width panoramic heroes shared by category and material pages. */
.category-hero,.category-hero--product{width:100%;min-height:340px;background:#29231f}
.category-hero .category-hero-picture{inset:0;width:100%;height:100%}
.category-hero .category-hero-picture img{object-fit:cover;object-position:center;transform:scale(1);transform-origin:72% center;animation:categoryHeroRetreat 7.5s cubic-bezier(.16,.6,.3,1) both}
@keyframes categoryHeroRetreat{from{transform:scale(1.075)}to{transform:scale(1)}}
.category-hero::before{background:linear-gradient(90deg,rgba(20,16,13,.84) 0%,rgba(20,16,13,.65) 38%,rgba(20,16,13,.24) 72%,rgba(20,16,13,.08) 100%)}
.category-hero .category-hero-content{width:850px;min-height:0;padding:30px 0}
.category-hero .breadcrumb-light{margin-bottom:12px;font-size:12px}
.category-hero .category-hero-label{margin-bottom:10px;font-size:13px}
.category-hero h1{max-width:850px;font-size:clamp(34px,3.4vw,50px);line-height:1.05}
.category-hero p{max-width:740px;margin-top:12px;font-size:15px;line-height:1.55}
.category-hero .category-hero-stats{margin-top:18px;gap:8px}
.category-hero .category-hero-stats span{min-height:30px;padding:0 11px;font-size:10px}
@media(max-width:760px){
    .category-hero{min-height:360px}
    .category-hero .category-hero-picture img{object-position:72% center}
    .category-hero .category-hero-content{width:100%;padding:26px 0}
    .category-hero h1{font-size:clamp(30px,8vw,40px);line-height:1.08;letter-spacing:-.035em}
    .category-hero p{font-size:13px;line-height:1.5}
    .category-hero .breadcrumb-light{font-size:10px;gap:6px}
    .category-hero::before{background:linear-gradient(90deg,rgba(20,16,13,.86),rgba(20,16,13,.52))}
}
@media(prefers-reduced-motion:reduce){.category-hero .category-hero-picture img{animation:none!important;transform:none!important}}

/* Category collection refinement, aligned with material collection pages. */
.category-page:not(.material-page) {
    --collection-ink: #28231e;
    --collection-muted: #756d64;
    --collection-line: #e8e1d8;
    --collection-accent: #825b2c;
    background: #fcfaf7;
    padding: 44px 0 72px;
}
.category-page:not(.material-page) > .container { width: min(1380px, calc(100% - 48px)); }
.category-page:not(.material-page) .category-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 30px; }
.category-page:not(.material-page) .listing-content { min-width: 0; }
.category-page:not(.material-page) .filter-sidebar { border-color: var(--collection-line); border-radius: 18px; box-shadow: none; background: #fff; }
.category-page:not(.material-page) .filter-head { padding: 22px; }
.category-page:not(.material-page) .filter-group { padding: 20px 22px; border-color: var(--collection-line); }
.category-page:not(.material-page) .filter-group h3 { font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--collection-muted); }
.category-page:not(.material-page) .filter-category-list a { border-radius: 8px; font-size: 12px; font-weight: 500; padding: 9px 10px; }
.category-page:not(.material-page) .filter-category-list a.is-active { background: #f4eee5; color: #704c25; font-weight: 700; }
.category-page:not(.material-page) .listing-top { gap: 20px; padding: 0 0 22px; margin-bottom: 24px; border: 0; border-bottom: 1px solid var(--collection-line); border-radius: 0; background: transparent; box-shadow: none; }
.category-page:not(.material-page) .listing-title .listing-eyebrow { margin: 0 0 7px; font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--collection-accent); }
.category-page:not(.material-page) .listing-title strong { font-family: "Cormorant Garamond", Georgia, serif; font-size: 32px; font-weight: 600; line-height: 1.1; color: var(--collection-ink); }
.category-page:not(.material-page) .listing-title > span:last-child { margin-top: 8px; font-size: 12px; color: var(--collection-muted); }
.category-page:not(.material-page) .listing-actions select { min-height: 42px; font-size: 12px; font-weight: 600; border-color: var(--collection-line); border-radius: 10px; }
.category-page:not(.material-page) .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.category-page:not(.material-page) .product-card { border: 1px solid var(--collection-line); border-radius: 16px; background: #fff; box-shadow: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.category-page:not(.material-page) .product-card:hover { border-color: #cdbb9f; box-shadow: 0 12px 32px rgba(52, 39, 24, .07); transform: translateY(-3px); }
.category-page:not(.material-page) .product-img { aspect-ratio: 1 / 1; background: #f8f6f2; }
.category-page:not(.material-page) .product-img img { object-fit: contain; }
.category-page:not(.material-page) .product-body { padding: 20px; }
.category-page:not(.material-page) .product-category { margin-bottom: 9px; font-size: 9px; font-weight: 600; letter-spacing: .1em; color: var(--collection-accent); }
.category-page:not(.material-page) .product-body h2 { font-family: "Cormorant Garamond", Georgia, serif; font-size: 25px; font-weight: 600; line-height: 1.12; letter-spacing: -.02em; color: var(--collection-ink); overflow-wrap: anywhere; }
.category-page:not(.material-page) .product-body p { font-size: 12px; line-height: 1.65; color: var(--collection-muted); }
.category-page:not(.material-page) .product-meta-row { gap: 6px 12px; margin-top: 16px; }
.category-page:not(.material-page) .product-meta-row > span:not(.category-product-price) { padding: 0; background: none; border-radius: 0; color: var(--collection-muted); font-size: 10px; font-weight: 500; overflow-wrap: anywhere; }
.category-page:not(.material-page) .product-meta-row > .category-product-price { margin-top: 5px; padding: 14px 0 0; border-top: 1px solid var(--collection-line); border-radius: 0; background: none; color: #704c25 !important; font-size: 16px; font-weight: 700 !important; }
.category-page:not(.material-page) .product-price-tax { font-size: 11px; font-weight: 400; color: var(--collection-muted); }
.category-page:not(.material-page) .product-card-actions { grid-template-columns: 1fr 1fr; gap: 8px; padding-top: 20px; }
.category-page:not(.material-page) .product-card-actions > :only-child { grid-column: 1 / -1; }
.category-page:not(.material-page) .product-card-actions button,
.category-page:not(.material-page) .product-card-actions a { min-height: 42px; border-radius: 9px; font-size: 11px; font-weight: 600; }
.category-page:not(.material-page) .product-card-actions .detail-link { border: 1px solid var(--collection-line); background: #f8f5ef; color: var(--collection-ink); }
.category-page:not(.material-page) .product-card-actions .detail-link:hover { background: #eee7db; border-color: #cdbb9f; }
.category-page:not(.material-page) .category-product-cart-btn { background: var(--collection-accent); box-shadow: none; }
.category-page:not(.material-page) .category-product-cart-btn:hover { background: #69451e; }
.category-page:not(.material-page) .mobile-filter-btn { min-height: 44px; border-color: var(--collection-line); border-radius: 10px; font-size: 12px; font-weight: 600; }
.category-page:not(.material-page) .pagination .is-active { background: var(--collection-accent); }
@media (min-width: 1600px) {
    .category-page:not(.material-page) .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1180px) and (min-width: 1021px) {
    .category-page:not(.material-page) .category-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 22px; }
    .category-page:not(.material-page) .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1020px) {
    .category-page:not(.material-page) .category-layout { grid-template-columns: minmax(0, 1fr); }
    .category-page:not(.material-page) .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .category-page:not(.material-page) { padding: 28px 0 48px; }
    .category-page:not(.material-page) > .container { width: calc(100% - 28px); }
    .category-page:not(.material-page) .listing-top { align-items: flex-start; gap: 16px; }
    .category-page:not(.material-page) .listing-title strong { font-size: 29px; }
    .category-page:not(.material-page) .product-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .category-page:not(.material-page) .product-body h2 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
    .category-page:not(.material-page) .product-card { transition: none; }
}
