/* ==========================================================================
   TITANDRILL PRODUCT CATEGORY TEMPLATE STYLES V2.1
   Scope: body.tax-product_cat
   ========================================================================== */

/* 1. Variables & Blocksy Reset */
body.tax-product_cat {
    --td-cat-orange: var(--theme-palette-color-1, #F14000);
    --td-cat-orange-hover: var(--theme-palette-color-2, #FF5C26);
    --td-cat-heading: var(--theme-palette-color-3, #1F2327);
    --td-cat-dark: var(--theme-palette-color-4, #2B2F33);
    --td-cat-text: var(--theme-palette-color-5, #4A4F55);
    --td-cat-border: var(--theme-palette-color-6, #E5E7EB);
    --td-cat-bg: var(--theme-palette-color-7, #F7F8F9);
    --td-cat-white: var(--theme-palette-color-8, #FFFFFF);
}

body.tax-product_cat .ct-container-full[data-vertical-spacing] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.tax-product_cat .site-main {
    margin-top: 0;
}

/* ==========================================================================
   Blocksy Container Alignment
   Match Global Content Edge
========================================================================== */

body.tax-product_cat .td-cat-container {

    width: var(--theme-container-width);

    max-width:100%;

    margin-left:auto;
    margin-right:auto;

    padding-left:0;
    padding-right:0;

    box-sizing:border-box;

}

/* 3. Hero */
body.tax-product_cat .td-cat-hero {
    background-color: var(--td-cat-dark);
    background-size: cover;
    background-position: center;
    color: var(--td-cat-white);
}

body.tax-product_cat .td-cat-hero-content {
    max-width: 820px;
}

body.tax-product_cat .td-cat-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: rgba(255,255,255,0.78);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

body.tax-product_cat .td-cat-hero h1 {
    margin: 0 0 22px 0;
    color: var(--td-cat-white);
}

body.tax-product_cat .td-cat-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,0.78);
}

body.tax-product_cat .td-cat-hero-actions {
    display: flex;
    flex-wrap: wrap;
}

@media(max-width:999px){

    body.tax-product_cat .td-cat-hero-content {
        max-width:100%;
    }

}

/* 4. Buttons */
body.tax-product_cat .td-cat-btn {
    text-decoration: none !important;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

body.tax-product_cat .td-cat-btn-primary {
    background-color: var(--td-cat-orange);
    color: var(--td-cat-white) !important;
    border: 1px solid var(--td-cat-orange);
}

body.tax-product_cat .td-cat-btn-primary:hover,
body.tax-product_cat .td-cat-btn-primary:focus {
    background-color: var(--td-cat-orange-hover);
    color: var(--td-cat-white) !important;
    border-color: var(--td-cat-orange-hover);
}

body.tax-product_cat .td-cat-hero .td-cat-btn-secondary {
    background-color: transparent;
    color: var(--td-cat-white) !important;
    border: 1px solid rgba(255,255,255,0.42);
}

body.tax-product_cat .td-cat-hero .td-cat-btn-secondary:hover,
body.tax-product_cat .td-cat-hero .td-cat-btn-secondary:focus {
    background-color: var(--td-cat-white);
    color: var(--td-cat-heading) !important;
    border-color: var(--td-cat-white);
}

@media(max-width:767px) {

    body.tax-product_cat .td-cat-hero-actions {
        width:100%;
    }

    body.tax-product_cat .td-cat-btn {
        width:100%;
    }

}

/* 5. Section Structure */

/*
 * Vertical section spacing is owned by the global
 * td-section system in td-components.css.
 *
 * td-cat-section remains only as a Product Category
 * page-system hook and does not control top/bottom padding.
 */

body.tax-product_cat .td-cat-section {
    border-top: none;
}

body.tax-product_cat .td-cat-section-head {
    max-width: 780px;
    margin-bottom: 32px;
}

body.tax-product_cat .td-cat-section-head h2 {
    margin: 0 0 14px 0;
    color: var(--td-cat-heading);
}

body.tax-product_cat .td-cat-section-head p {
    margin: 0;
    color: var(--td-cat-text);
}

/* 6. WYSIWYG / Free Content */
body.tax-product_cat .td-cat-overview-text,
body.tax-product_cat .td-cat-free-content {
    max-width: 900px;
    color: var(--td-cat-text);
}

body.tax-product_cat .td-cat-overview-text > *:first-child,
body.tax-product_cat .td-cat-free-content > *:first-child {
    margin-top: 0;
}

body.tax-product_cat .td-cat-overview-text > *:last-child,
body.tax-product_cat .td-cat-free-content > *:last-child {
    margin-bottom: 0;
}

body.tax-product_cat .td-cat-overview-text p,
body.tax-product_cat .td-cat-free-content p {
    margin: 0 0 18px 0;
    color: var(--td-cat-text);
}

body.tax-product_cat .td-cat-overview-text h2,
body.tax-product_cat .td-cat-free-content h2 {
    margin: 34px 0 16px 0;
    color: var(--td-cat-heading);
}

body.tax-product_cat .td-cat-overview-text h3,
body.tax-product_cat .td-cat-free-content h3 {
    margin: 28px 0 12px 0;
    color: var(--td-cat-heading);
}

body.tax-product_cat .td-cat-overview-text ul,
body.tax-product_cat .td-cat-free-content ul,
body.tax-product_cat .td-cat-overview-text ol,
body.tax-product_cat .td-cat-free-content ol {
    margin: 0 0 20px 24px;
    padding: 0;
}

body.tax-product_cat .td-cat-overview-text li,
body.tax-product_cat .td-cat-free-content li {
    margin-bottom: 8px;
    color: var(--td-cat-text);
}

body.tax-product_cat .td-cat-overview-text blockquote,
body.tax-product_cat .td-cat-free-content blockquote {
    margin: 28px 0;
    padding: 22px 28px;
    border-left: 3px solid var(--td-cat-orange);
    background-color: var(--td-cat-bg);
    color: var(--td-cat-heading);
}

body.tax-product_cat .td-cat-overview-text table,
body.tax-product_cat .td-cat-free-content table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    margin: 24px 0;
    border: 1px solid var(--td-cat-border);
    background-color: var(--td-cat-white);
}

body.tax-product_cat .td-cat-overview-text th,
body.tax-product_cat .td-cat-free-content th,
body.tax-product_cat .td-cat-overview-text td,
body.tax-product_cat .td-cat-free-content td {
    padding: 12px 18px;
    border-bottom: 1px solid var(--td-cat-border);
    text-align: left;
    vertical-align: top;
}

body.tax-product_cat .td-cat-overview-text th,
body.tax-product_cat .td-cat-free-content th {
    background-color: var(--td-cat-bg);
    color: var(--td-cat-heading);
}


/* 8. Empty Products */
body.tax-product_cat .td-cat-empty {
    padding: 40px;
    background-color: var(--td-cat-bg);
    border: 1px solid var(--td-cat-border);
}

body.tax-product_cat .td-cat-empty h3 {
    margin: 0 0 10px 0;
    color: var(--td-cat-heading);
}

body.tax-product_cat .td-cat-empty p {
    margin: 0 0 24px 0;
    color: var(--td-cat-text);
}

/* 9. Pagination */
body.tax-product_cat .td-cat-pagination {
    margin-top: 42px;
}

body.tax-product_cat .td-cat-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

body.tax-product_cat .td-cat-pagination a,
body.tax-product_cat .td-cat-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--td-cat-border);
    color: var(--td-cat-heading);
    text-decoration: none !important;
}

body.tax-product_cat .td-cat-pagination .current,
body.tax-product_cat .td-cat-pagination a:hover {
    background-color: var(--td-cat-orange);
    border-color: var(--td-cat-orange);
    color: var(--td-cat-white);
}

/* 10. Related Categories */
body.tax-product_cat .td-cat-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 0;
}

body.tax-product_cat .td-cat-related-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 28px;
    background-color: var(--td-cat-white);
    border: 1px solid var(--td-cat-border);
    text-decoration: none !important;
    transition: border-color .25s ease, box-shadow .25s ease;
}

body.tax-product_cat .td-cat-related-card:hover {
    border-color: var(--td-cat-orange);
    box-shadow: 0 12px 20px -8px rgba(31,35,39,.12);
}

body.tax-product_cat .td-cat-related-card h3 {
    margin: 0 0 12px 0;
    color: var(--td-cat-heading);
}

body.tax-product_cat .td-cat-related-card p {
    margin: 0 0 22px 0;
    color: var(--td-cat-text);
}

body.tax-product_cat .td-cat-related-card span {
    margin-top: auto;
    color: var(--td-cat-orange);
}

body.tax-product_cat .td-cat-related-card:hover h3 {
    color: var(--td-cat-orange);
}

/* 11. Related Methods & Applications */
body.tax-product_cat .td-cat-discovery-note {

    max-width:900px;

    margin:32px 0 0;

    color:var(--td-cat-text);

}


/* 13. Final CTA */
body.tax-product_cat .td-cat-final-cta {
    min-height: 420px;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    display: flex;
    align-items: center;
    position: relative;
    background-color: var(--td-cat-dark);
    background-size: cover;
    background-position: center;
    color: var(--td-cat-white);
}


body.tax-product_cat .td-cat-cta-box {
    max-width:820px;
    margin-left:0;
    padding-top:96px;
    padding-bottom:96px;
    background:transparent;
    border:none;
}


body.tax-product_cat .td-cat-cta-box h2 {
    max-width: 760px;
    margin: 0 0 16px 0;
    color: var(--td-cat-white);
}

body.tax-product_cat .td-cat-cta-box p {
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,0.78);
}



/* 14. Tablet */
@media (max-width: 999px) {

    body.tax-product_cat .td-cat-related-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:22px;
    }

    body.tax-product_cat .td-cat-overview-text,
    body.tax-product_cat .td-cat-free-content {
        max-width: 100%;
    }

    body.tax-product_cat .td-cat-cta-box {
        max-width:100%;
        padding-top:80px;
        padding-bottom:80px;
    }

    body.tax-product_cat .td-cat-final-cta {
        min-height:400px;
    }
}


/* 15. Mobile */
@media (max-width: 767px) {

    body.tax-product_cat .td-cat-hero-actions {
        flex-direction: column;
    }

    body.tax-product_cat .td-cat-section-head {
        margin-bottom: 26px;
    }

    body.tax-product_cat .td-cat-related-grid {
        grid-template-columns:1fr;
        gap:18px;
    }

    body.tax-product_cat .td-cat-related-card {
        padding:22px;
    }

    body.tax-product_cat .td-cat-empty {
        padding: 24px;
    }

    body.tax-product_cat .td-cat-overview-text table,
    body.tax-product_cat .td-cat-free-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.tax-product_cat .td-cat-final-cta {

        min-height:360px;

    }


    body.tax-product_cat .td-cat-cta-box {

        padding-top:64px;
        padding-bottom:64px;

    }


    body.tax-product_cat .td-cat-cta-box h2 {

        margin-bottom:16px;

    }

}


/* ==========================================================================
   TITANDRILL CATEGORY BUTTON & CTA REFINEMENT V2.1.1
   ========================================================================== */

/* Match Gutenberg / Blocksy button typography more closely */
body.tax-product_cat .td-cat-btn.wp-element-button {
    font-family: var(--theme-button-font-family, inherit);
    font-size: var(--theme-button-font-size, inherit);
    font-weight: var(--theme-button-font-weight, inherit);
    line-height: var(--theme-button-line-height, inherit);
    letter-spacing: var(--theme-button-letter-spacing, inherit);
    text-transform: var(--theme-button-text-transform, none);
}

/* Match Gutenberg button group spacing */
body.tax-product_cat .td-cat-hero-actions {
    gap: var(--theme-content-spacing, 1.5em);
}
