
/* =========================================================
   TEMPLUM DIANAE - PRODUCT CATEGORY ARCHIVE
   ========================================================= */

.td-archive-page,
.td-archive-page * { box-sizing: border-box; }

.td-archive-page {
    margin: 0 !important;
    padding: 30px 0 52px !important;
    background: #faf9f7;
}

/* Breadcrumbs */
.td-archive-page > .wp-block-woocommerce-breadcrumbs {
    width: calc(100% - 72px) !important;
    max-width: 1440px !important;
    margin: 0 auto 17px !important;
}

/* =========================================================
   TWO-COLUMN FRAME
   ========================================================= */

.td-archive-layout {
    display: grid !important;
    grid-template-columns: 242px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 25px !important;
    width: calc(100% - 72px) !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
.td-archive-sidebar-col,
.td-archive-content { min-width: 0 !important; margin: 0 !important; }

/* =========================================================
   SIDEBAR - GENERAL AND SPACING RESET
   ========================================================= */

.td-archive-sidebar-col {
    position: sticky;
    top: 25px;
    max-height: calc(100vh - 50px);
    overflow-y: auto;
    scrollbar-width: thin;
}
.td-archive-sidebar {
    background: #fff;
    border: 1px solid #e7e1dc;
    border-radius: 7px;
    padding: 13px 12px 15px;
}
.td-archive-sidebar,
.td-archive-sidebar .td-archive-format-list,
.td-archive-sidebar .td-archive-format,
.td-archive-sidebar .td-archive-format-content,
.td-archive-sidebar .td-archive-topic,
.td-archive-sidebar .td-archive-topic-children,
.td-archive-sidebar .td-archive-leaf,
.td-archive-sidebar .td-archive-all-link,
.td-archive-sidebar .td-archive-topic > summary,
.td-archive-sidebar .td-archive-format > summary {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}
.td-archive-sidebar .td-archive-format-content > *,
.td-archive-sidebar .td-archive-topic-children > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.td-archive-sidebar-title {
    margin: 0 0 9px !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #302b33 !important;
}

/* =========================================================
   FORMAT SELECTORS - PREMIUM IS SOLID TEAL
   ========================================================= */

.td-archive-format-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 0 !important;
}
.td-archive-format {
    padding: 0 0 3px !important;
    border-bottom: 1px solid #f0edeb;
}
.td-archive-format > summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 7px 9px !important;
    color: #302a33 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    cursor: pointer;
    list-style: none;
    border-radius: 4px;
}
.td-archive-format > summary::-webkit-details-marker,
.td-archive-topic > summary::-webkit-details-marker { display: none; }
.td-archive-format > summary::after,
.td-archive-topic > summary::after {
    content: "+";
    flex: none;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
}
.td-archive-format[open] > summary::after,
.td-archive-topic[open] > summary::after { content: "-"; }
.td-archive-format.is-active:not(.is-premium) > summary {
    background: #f3eff7 !important;
    color: #452b62 !important;
}
.td-archive-format.is-active > summary { cursor: default; }

/* Solid ottanio fill, including the icon and active state */
.td-archive-sidebar .td-archive-format.is-premium > summary,
.td-archive-sidebar .td-archive-format.is-premium.is-active > summary {
    background: #126963 !important;
    color: #fff !important;
    border: 1px solid #126963 !important;
    font-weight: 700 !important;
}
.td-archive-sidebar .td-archive-format.is-premium > summary::after {
    color: #fff !important;
}
.td-archive-sidebar .td-archive-format.is-premium:not(.is-active) > summary:hover {
    background: #177d74 !important;
    border-color: #177d74 !important;
}

/* =========================================================
   CHILD CATEGORIES - VERY COMPACT
   ========================================================= */

.td-archive-format-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 3px 0 5px 10px !important;
}
.td-archive-sidebar a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent;
    color: #615862 !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
}
.td-archive-sidebar a:hover {
    background: #f6f3f8 !important;
    color: #6b3695 !important;
}
.td-archive-sidebar a[aria-current="page"],
.td-archive-sidebar a.is-active {
    color: #452b62 !important;
    font-weight: 700 !important;
}
.td-archive-sidebar a.td-archive-all-link {
    padding: 5px 6px !important;
    margin: 0 0 2px !important;
    color: #776c79 !important;
    font-size: 10.5px !important;
}
.td-archive-topic {
    display: block !important;
    border: 0 !important;
    padding: 0 !important;
}
.td-archive-topic > summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px 6px !important;
    border-radius: 3px;
    color: #413944;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    cursor: pointer;
    list-style: none;
}
.td-archive-topic.is-active > summary {
    background: #f8f4fb !important;
    color: #59387c !important;
    cursor: default;
}
.td-archive-topic-children {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 0 3px 7px !important;
    padding: 1px 0 2px 8px !important;
    border-left: 1px solid #ebe5ec;
}
.td-archive-topic-children .td-archive-topic-children {
    margin-left: 5px !important;
    padding-left: 7px !important;
}
.td-archive-sidebar-more {
    margin: 10px 0 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #eae5e1;
}
.td-archive-sidebar-more h3 {
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: #8a8189 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .4px;
}

/* =========================================================
   RIGHT CATALOG PANEL - TIGHTER GAPS
   ========================================================= */

.td-archive-content {
    background: #fff;
    border: 1px solid #e7e1dc;
    border-radius: 7px;
    padding: 24px 25px 28px !important;
}
.td-archive-content .wp-block-query-title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #261d2c !important;
    font-size: clamp(28px, 2.8vw, 38px) !important;
    font-weight: 600 !important;
    line-height: 1.16 !important;
}
.td-archive-content .wp-block-term-description,
.td-archive-content .td-archive-intro-fallback {
    max-width: 850px;
    margin: 0 0 13px !important;
    color: #625c66 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}
.td-archive-content .wp-block-term-description p {
    margin: 0 0 6px !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* =========================================================
   FILTER PANEL - AVAILABILITY ONLY, NO PRICE FILTER
   ========================================================= */

.td-archive-controls {
    background: #faf9f7;
    border: 1px solid #eae6e2;
    border-radius: 5px;
    padding: 10px 13px !important;
    margin: 13px 0 13px !important;
}
.td-archive-controls-label {
    margin: 0 0 6px !important;
    color: #3b3141 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
.td-archive-controls .wp-block-woocommerce-product-filters,
.td-archive-controls .wp-block-woocommerce-product-filter-status,
.td-archive-controls .wp-block-woocommerce-product-filter-active {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
}
.td-archive-controls .wp-block-woocommerce-product-filter-active {
    margin-top: 5px !important;
}
.td-archive-sort-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 13px !important;
}
.td-archive-sort-row .wp-block-woocommerce-product-results-count,
.td-archive-sort-row .wp-block-woocommerce-catalog-sorting {
    margin: 0 !important;
    font-size: 11.5px !important;
}

/* =========================================================
   PRODUCT COLLECTION - 3 COLUMNS, SMALLER COVERS
   ========================================================= */

.td-archive-content .wp-block-woocommerce-product-collection {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}
.td-archive-content .wp-block-woocommerce-product-template {
    column-gap: 18px !important;
    row-gap: 22px !important;
    align-items: start !important;
}
.td-archive-content .wp-block-woocommerce-product-template > li,
.td-archive-content .wp-block-woocommerce-product-template > .wp-block-post {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    gap: 0 !important;
}
.td-archive-content .wp-block-woocommerce-product-template > li > * {
    margin-block-start: 0 !important;
}
.td-archive-content .wc-block-components-product-image,
.td-archive-content .wp-block-woocommerce-product-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    text-align: center !important;
}
.td-archive-content .wc-block-components-product-image a,
.td-archive-content .wp-block-woocommerce-product-image a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
}
.td-archive-content .wp-block-woocommerce-product-template .wc-block-components-product-image img,
.td-archive-content .wp-block-woocommerce-product-template .wp-block-woocommerce-product-image img {
    display: block !important;
    width: 78% !important;
    max-width: 260px !important;
    height: auto !important;
    max-height: 355px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Product title */
.td-archive-content .wp-block-woocommerce-product-template .wp-block-post-title {
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: #30283a !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-align: left !important;
}
.td-archive-content .wp-block-woocommerce-product-template .wp-block-post-title a {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
}
.td-archive-content .wp-block-woocommerce-product-template .wp-block-post-title a:hover {
    color: #6b3695 !important;
}
.td-archive-content .wp-block-woocommerce-product-template > li > .td-category-rank {
    display: inline-block !important;
    align-self: flex-start;
    margin: 0 0 9px !important;
    padding: 4px 9px;
    border-radius: 0 0 4px 0;
    background: #302044;
    color: #fff !important;
    font: 700 13px/1.3 Arial, sans-serif;
    letter-spacing: normal;
    white-space: nowrap;
}

/* New subtitle and author block, generated by functions.php */
.td-archive-content .td-archive-product-details {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
}
.td-archive-content .td-archive-product-subtitle {
    display: block !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: #655f6b !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}
.td-archive-content .td-archive-product-authors {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #77717d !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}
.td-archive-content .td-archive-product-author-link {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}
.td-archive-content .td-archive-product-author-link:hover {
    color: #70469b !important;
}
.td-archive-content .wp-block-woocommerce-product-template .wp-block-woocommerce-product-price,
.td-archive-content .wp-block-woocommerce-product-template .wc-block-components-product-price {
    margin: 0 0 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}
.td-archive-content .wp-block-woocommerce-product-template .wp-block-woocommerce-product-button {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}
.td-archive-content .wp-block-woocommerce-product-template .wp-block-woocommerce-product-button a {
    font-size: 12px !important;
}

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

@media (max-width: 1040px) {
    .td-archive-layout {
        width: calc(100% - 42px) !important;
        grid-template-columns: 205px minmax(0, 1fr) !important;
        gap: 16px !important;
    }
    .td-archive-content { padding: 19px !important; }
    .td-archive-page > .wp-block-woocommerce-breadcrumbs {
        width: calc(100% - 42px) !important;
    }
    .td-archive-content .wp-block-woocommerce-product-template .wc-block-components-product-image img,
    .td-archive-content .wp-block-woocommerce-product-template .wp-block-woocommerce-product-image img {
        max-width: 220px !important;
        max-height: 305px !important;
    }
}
@media (max-width: 740px) {
    .td-archive-page { padding: 22px 0 40px !important; }
    .td-archive-layout {
        width: calc(100% - 30px) !important;
        grid-template-columns: 1fr !important;
        row-gap: 14px !important;
    }
    .td-archive-page > .wp-block-woocommerce-breadcrumbs {
        width: calc(100% - 30px) !important;
    }
    .td-archive-sidebar-col {
        position: static;
        max-height: none;
        overflow: visible;
    }
    .td-archive-content { padding: 18px 15px !important; }
}
@media (max-width: 450px) {
    .td-archive-content .wp-block-woocommerce-product-template {
        column-gap: 11px !important;
        row-gap: 18px !important;
    }
    .td-archive-content .wp-block-woocommerce-product-template .wp-block-post-title {
        font-size: 15px !important;
    }
    .td-archive-content .td-archive-product-subtitle { font-size: 11px !important; }
    .td-archive-content .td-archive-product-authors { font-size: 10.5px !important; }
}



/* Catalog headings are not chapters of editorial page content. */
.page .wp-block-post-content .td-archive-page h2{counter-increment:none!important;padding-bottom:0!important}
.page .wp-block-post-content .td-archive-page h2::before,
.page .wp-block-post-content .td-archive-page h2::after,
.td-archive-page h2::before,
.td-archive-page h2::after{content:none!important;display:none!important}



