/* =========================================================
   CONVERTNOVA — OFFICE TOOLS
   Dedicated category-page stylesheet
   Same visual system as PDF Tools.
   Only page-specific PDF names are converted to Office names.
   Shared layout classes remain unchanged intentionally.
========================================================= */

/* =========================================================
   CONVERTNOVA OFFICE TOOLS
   Category Page
========================================================= */

:root{
    --office-primary:#2563eb;
    --office-primary-dark:#1d4ed8;
    --office-accent:#7c3aed;

    --office-ink:#0f172a;
    --office-text:#334155;
    --office-muted:#64748b;

    --office-bg:#ffffff;
    --office-soft:#f8fafc;
    --office-soft-blue:#f5f8ff;

    --office-border:#e2e8f0;

    --office-radius-sm:12px;
    --office-radius-md:18px;
    --office-radius-lg:26px;

    --office-shadow-sm:
        0 4px 14px rgba(15,23,42,.05);

    --office-shadow-md:
        0 12px 30px rgba(15,23,42,.08);

    --office-shadow-lg:
        0 20px 50px rgba(15,23,42,.10);

    --office-gradient:
        linear-gradient(
            135deg,
            var(--office-primary),
            var(--office-accent)
        );

    --office-ease:
        cubic-bezier(.22,1,.36,1);
}


/* =========================================================
   RESET
========================================================= */

.office-hero *,
.search-section *,
.filter-section *,
.office-tools-section *,
.office-info-section *,
.office-use-section *,
.office-workflow-section *,
.office-tips-section *,
.related-section *,
.feature-section *{
    box-sizing:border-box;
}

.office-tools-section a,
.office-info-section a,
.office-use-section a,
.related-section a{
    text-decoration:none;
}


/* =========================================================
   HERO
========================================================= */

.office-hero{
    padding:72px 0 54px;
    text-align:center;

    background:
        radial-gradient(
            700px 380px at 85% -10%,
            rgba(124,58,237,.10),
            transparent 60%
        ),
        radial-gradient(
            750px 420px at 5% 0%,
            rgba(37,99,235,.10),
            transparent 60%
        ),
        var(--office-soft-blue);
}

.hero-content{
    max-width:760px;
    margin:0 auto;
}

.page-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:7px 13px;
    margin-bottom:16px;

    border:1px solid #dbe5ff;
    border-radius:999px;

    background:#ffffff;

    color:var(--office-primary);

    font-size:13px;
    font-weight:700;

    box-shadow:var(--office-shadow-sm);
}

.office-hero h1{
    margin:0 0 16px;

    color:var(--office-ink);

    font-size:48px;
    line-height:1.1;

    font-weight:800;
    letter-spacing:-.035em;
}

.office-hero p{
    max-width:680px;
    margin:0 auto;

    color:var(--office-muted);

    font-size:18px;
    line-height:1.75;
}


/* =========================================================
   SEARCH
========================================================= */

.search-section{
    padding:28px 0 20px;
    background:var(--office-bg);
}

.search-wrapper{
    max-width:700px;
    margin:0 auto;

    display:flex;
    gap:10px;
}

.search-box{
    position:relative;
    flex:1;

    background:#ffffff;

    border:1px solid var(--office-border);
    border-radius:14px;

    box-shadow:var(--office-shadow-sm);

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.search-box:focus-within{
    border-color:var(--office-primary);

    box-shadow:
        0 0 0 4px rgba(37,99,235,.10);
}

.search-box i{
    position:absolute;

    left:18px;
    top:50%;

    transform:translateY(-50%);

    color:var(--office-muted);

    pointer-events:none;
}

.search-box input{
    width:100%;
    height:54px;

    border:0;
    outline:0;

    background:transparent;

    padding:0 18px 0 48px;

    border-radius:14px;

    color:var(--office-ink);

    font-size:15px;
}

.search-box input::placeholder{
    color:#94a3b8;
}

.search-btn{
    height:54px;

    padding:0 26px;

    border:0;
    border-radius:14px;

    background:var(--office-gradient);

    color:#ffffff;

    font-size:15px;
    font-weight:700;

    cursor:pointer;

    box-shadow:
        0 7px 18px rgba(37,99,235,.20);

    transition:
        transform .2s var(--office-ease),
        box-shadow .2s var(--office-ease);
}

.search-btn:hover{
    transform:translateY(-2px);

    box-shadow:
        0 12px 24px rgba(37,99,235,.28);
}

.search-btn:active{
    transform:translateY(0);
}


/* =========================================================
   CATEGORY FILTER
========================================================= */

.filter-section{
    padding:8px 0 44px;
    background:var(--office-bg);
}

.category-filter{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
}

.filter-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:10px 18px;

    border:1px solid var(--office-border);
    border-radius:999px;

    background:#ffffff;

    color:var(--office-text);

    font-size:14px;
    font-weight:650;

    box-shadow:var(--office-shadow-sm);

    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s var(--office-ease);
}

.filter-btn:hover{
    color:var(--office-primary);

    border-color:#b9c9ff;

    background:#f8faff;

    transform:translateY(-1px);
}

.filter-btn.active{
    color:#ffffff;

    border-color:transparent;

    background:var(--office-gradient);

    box-shadow:
        0 7px 18px rgba(37,99,235,.22);
}


/* =========================================================
   SECTION HEADING
========================================================= */

.section-heading{
    max-width:720px;
    margin:0 auto 38px;

    text-align:center;
}

.section-label{
    display:inline-block;

    margin-bottom:9px;

    color:var(--office-primary);

    font-size:12px;
    font-weight:800;

    letter-spacing:.12em;
    text-transform:uppercase;
}

.section-heading h2,
.content-heading h2,
.related-card h2,
.workflow-content h2{
    margin:0 0 12px;

    color:var(--office-ink);

    font-size:32px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:-.025em;
}

.section-heading p{
    margin:0;

    color:var(--office-muted);

    font-size:16px;
    line-height:1.7;
}


/* =========================================================
   OFFICE TOOLS
========================================================= */

.office-tools-section{
    padding:18px 0 78px;

    background:#ffffff;
}

.office-tool-card{
    display:flex;
    flex-direction:column;

    height:100%;
    min-height:245px;

    padding:24px 22px;

    border:1px solid var(--office-border);
    border-radius:var(--office-radius-md);

    background:#ffffff;

    color:inherit;

    box-shadow:var(--office-shadow-sm);

    transition:
        transform .28s var(--office-ease),
        box-shadow .28s var(--office-ease),
        border-color .28s ease;
}

.office-tool-card:hover{
    transform:translateY(-6px);

    border-color:#d3dcf8;

    box-shadow:var(--office-shadow-md);
}

.office-tool-card:focus-visible{
    outline:3px solid rgba(37,99,235,.25);
    outline-offset:3px;
}

.tool-icon{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:17px;

    border-radius:14px;

    transition:
        transform .28s var(--office-ease);
}

.office-tool-card:hover .tool-icon{
    transform:scale(1.06);
}

.tool-icon img{
    width:26px;
    height:26px;

    object-fit:contain;
}

.tool-icon.green{
    background:#e8f8ef;
}

.tool-icon.orange{
    background:#fff0e5;
}

.tool-icon.blue{
    background:#eaf0ff;
}

.tool-icon.purple{
    background:#f2ebff;
}

.tool-icon.red{
    background:#fdebec;
}

.tool-icon.cyan{
    background:#e5f8fb;
}

.tool-icon.yellow{
    background:#fff7dc;
}

.office-tool-card h3{
    margin:0 0 9px;

    color:var(--office-ink);

    font-size:17px;
    line-height:1.35;

    font-weight:750;
}

.office-tool-card p{
    margin:0 0 18px;

    color:var(--office-muted);

    font-size:14px;
    line-height:1.65;

    flex-grow:1;
}

.office-tool-card > span{
    display:inline-flex;
    align-items:center;
    gap:6px;

    color:var(--office-primary);

    font-size:14px;
    font-weight:750;

    transition:
        gap .2s ease;
}

.office-tool-card:hover > span{
    gap:9px;
}


/* =========================================================
   CATEGORY INFORMATION
========================================================= */

.office-info-section{
    padding:76px 0;

    background:var(--office-soft);
}

.content-card{
    max-width:900px;
    margin:0 auto;

    padding:42px 46px;

    background:#ffffff;

    border:1px solid var(--office-border);
    border-radius:var(--office-radius-lg);

    box-shadow:var(--office-shadow-sm);
}

.content-heading{
    margin-bottom:22px;
}

.content-card p{
    margin:0 0 16px;

    color:var(--office-text);

    font-size:15.5px;
    line-height:1.8;
}

.content-card p:last-child{
    margin-bottom:0;
}


/* =========================================================
   USE CASE SECTION
========================================================= */

.office-use-section{
    padding:78px 0;

    background:#ffffff;
}

.use-card{
    height:100%;

    padding:27px 24px;

    border:1px solid var(--office-border);
    border-radius:var(--office-radius-md);

    background:#ffffff;

    box-shadow:var(--office-shadow-sm);

    transition:
        transform .25s var(--office-ease),
        box-shadow .25s ease;
}

.use-card:hover{
    transform:translateY(-4px);

    box-shadow:var(--office-shadow-md);
}

.use-number{
    display:flex;
    align-items:center;
    justify-content:center;

    width:36px;
    height:36px;

    margin-bottom:18px;

    border-radius:10px;

    background:#eef3ff;

    color:var(--office-primary);

    font-size:12px;
    font-weight:800;
}

.use-card h3{
    margin:0 0 9px;

    color:var(--office-ink);

    font-size:18px;
    font-weight:750;
}

.use-card p{
    margin:0;

    color:var(--office-muted);

    font-size:14.5px;
    line-height:1.7;
}

.use-card a{
    color:var(--office-primary);
    font-weight:700;
}

.use-card a:hover{
    text-decoration:underline;
}


/* =========================================================
   WORKFLOW
========================================================= */

.office-workflow-section{
    padding:78px 0;

    background:var(--office-soft);
}

.workflow-card{
    display:grid;

    grid-template-columns:
        minmax(250px,.8fr)
        minmax(400px,1.2fr);

    gap:50px;

    padding:46px;

    background:#ffffff;

    border:1px solid var(--office-border);
    border-radius:var(--office-radius-lg);

    box-shadow:var(--office-shadow-md);
}

.workflow-content h2{
    margin-bottom:14px;
}

.workflow-content > p{
    color:var(--office-muted);

    line-height:1.7;
}

.workflow-steps{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.workflow-step{
    display:flex;
    align-items:flex-start;
    gap:15px;
}

.workflow-step > span{
    display:flex;
    align-items:center;
    justify-content:center;

    width:36px;
    height:36px;

    flex:0 0 36px;

    border-radius:50%;

    background:var(--office-gradient);

    color:#ffffff;

    font-size:13px;
    font-weight:800;
}

.workflow-step h3{
    margin:0 0 4px;

    color:var(--office-ink);

    font-size:16px;
    font-weight:750;
}

.workflow-step p{
    margin:0;

    color:var(--office-muted);

    font-size:14px;
    line-height:1.6;
}


/* =========================================================
   TIPS
========================================================= */

.office-tips-section{
    padding:78px 0;

    background:#ffffff;
}

.tips-grid{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:20px;
}

.tip-card{
    padding:25px 22px;

    border:1px solid var(--office-border);
    border-radius:var(--office-radius-md);

    background:#ffffff;

    box-shadow:var(--office-shadow-sm);

    transition:
        transform .25s var(--office-ease),
        box-shadow .25s ease;
}

.tip-card:hover{
    transform:translateY(-4px);

    box-shadow:var(--office-shadow-md);
}

.tip-card > i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    margin-bottom:16px;

    border-radius:12px;

    background:#eef3ff;

    color:var(--office-primary);

    font-size:20px;
}

.tip-card h3{
    margin:0 0 9px;

    color:var(--office-ink);

    font-size:17px;
    font-weight:750;
}

.tip-card p{
    margin:0;

    color:var(--office-muted);

    font-size:14px;
    line-height:1.7;
}


/* =========================================================
   RELATED TOOLS
========================================================= */

.related-section{
    padding:0 0 78px;

    background:#ffffff;
}

.related-card{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;

    padding:38px 42px;

    border-radius:var(--office-radius-lg);

    background:
        linear-gradient(
            135deg,
            #f7f9ff,
            #faf8ff
        );

    border:1px solid #e3e8f7;
}

.related-card h2{
    font-size:27px;
}

.related-card p{
    max-width:620px;

    margin:0;

    color:var(--office-muted);

    line-height:1.7;
}

.related-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;

    gap:9px;

    max-width:480px;
}

.related-links a{
    display:inline-flex;
    align-items:center;
    gap:7px;

    padding:9px 13px;

    border:1px solid var(--office-border);
    border-radius:10px;

    background:#ffffff;

    color:var(--office-text);

    font-size:13px;
    font-weight:650;

    transition:
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.related-links a:hover{
    color:var(--office-primary);

    border-color:#bdccf8;

    transform:translateY(-2px);
}


/* =========================================================
   FEATURES
========================================================= */

.feature-section{
    padding:0 0 70px;

    background:#ffffff;
}

.feature-wrapper{
    display:flex;
    align-items:stretch;

    padding:32px;

    border:1px solid var(--office-border);
    border-radius:var(--office-radius-lg);

    background:#ffffff;

    box-shadow:var(--office-shadow-md);
}

.feature-box{
    display:flex;
    align-items:flex-start;

    gap:14px;

    flex:1;

    padding:8px 15px;
}

.feature-icon{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 48px;

    border-radius:13px;
}

.feature-icon img{
    width:24px;
    height:24px;

    object-fit:contain;
}

.feature-icon.blue{
    background:#eaf0ff;
}

.feature-icon.purple{
    background:#f2ebff;
}

.feature-icon.green{
    background:#e8f8ef;
}

.feature-box h3{
    margin:0 0 5px;

    color:var(--office-ink);

    font-size:16px;
    font-weight:750;
}

.feature-box p{
    margin:0;

    color:var(--office-muted);

    font-size:13.5px;
    line-height:1.6;
}

.feature-divider{
    width:1px;

    background:var(--office-border);
}


/* =========================================================
   NO SEARCH RESULTS
========================================================= */

.no-tools-message{
    max-width:550px;

    margin:35px auto 0;

    padding:35px 25px;

    text-align:center;

    border:1px dashed #cbd5e1;
    border-radius:18px;

    background:var(--office-soft);
}

.no-tools-message i{
    display:block;

    margin-bottom:10px;

    color:var(--office-primary);

    font-size:28px;
}

.no-tools-message h3{
    margin:0 0 7px;

    color:var(--office-ink);

    font-size:18px;
}

.no-tools-message p{
    margin:0;

    color:var(--office-muted);

    font-size:14px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991.98px){

    .office-hero{
        padding:60px 0 45px;
    }

    .office-hero h1{
        font-size:40px;
    }

    .workflow-card{
        grid-template-columns:1fr;
        gap:35px;
    }

    .tips-grid{
        grid-template-columns:
            repeat(2,1fr);
    }

    .related-card{
        flex-direction:column;
        align-items:flex-start;
    }

    .related-links{
        justify-content:flex-start;
        max-width:none;
    }

    .feature-wrapper{
        flex-direction:column;
        gap:20px;
    }

    .feature-divider{
        width:100%;
        height:1px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767.98px){

    .office-hero{
        padding:48px 0 36px;
    }

    .office-hero h1{
        font-size:31px;
        letter-spacing:-.025em;
    }

    .office-hero p{
        font-size:15px;
        line-height:1.65;
    }

    .page-eyebrow{
        font-size:12px;
    }

    .search-section{
        padding:22px 0 16px;
    }

    .search-wrapper{
        flex-direction:column;
    }

    .search-btn{
        width:100%;
    }

    .filter-section{
        padding-bottom:32px;
    }

    .category-filter{
        gap:7px;
    }

    .filter-btn{
        padding:9px 14px;
        font-size:13px;
    }

    .section-heading{
        margin-bottom:28px;
    }

    .section-heading h2,
    .content-heading h2,
    .workflow-content h2{
        font-size:27px;
    }

    .office-tools-section,
    .office-use-section,
    .office-workflow-section,
    .office-tips-section{
        padding:55px 0;
    }

    .office-tool-card{
        min-height:225px;
        padding:21px 19px;
    }

    .content-card{
        padding:28px 22px;
        border-radius:20px;
    }

    .content-card p{
        font-size:14.5px;
    }

    .workflow-card{
        padding:28px 22px;
        border-radius:20px;
    }

    .tips-grid{
        grid-template-columns:1fr;
    }

    .related-section{
        padding-bottom:55px;
    }

    .related-card{
        padding:28px 22px;
        border-radius:20px;
    }

    .related-card h2{
        font-size:25px;
    }

    .related-links{
        gap:8px;
    }

    .feature-wrapper{
        padding:22px 18px;
        border-radius:20px;
    }

    .feature-box{
        padding:5px 0;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:480px){

    .office-hero h1{
        font-size:27px;
    }

    .office-hero p{
        font-size:14px;
    }

    .section-heading h2,
    .content-heading h2,
    .workflow-content h2{
        font-size:24px;
    }

    .filter-btn{
        font-size:12.5px;
        padding:8px 12px;
    }

    .office-tool-card{
        min-height:215px;
    }

    .office-tool-card h3{
        font-size:16px;
    }

    .office-tool-card p{
        font-size:13.5px;
    }

    .related-links a{
        font-size:12.5px;
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.office-tool-card:focus-visible,
.filter-btn:focus-visible,
.search-btn:focus-visible,
.search-box input:focus-visible,
.related-links a:focus-visible{
    outline:3px solid rgba(37,99,235,.25);
    outline-offset:3px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }

}