/* ==========================================================================
   SPECIAL LIBRARY PAGES
   Articles / News / FAQ / Downloads / Careers
   ========================================================================== */

/* Shared card arrow: always transparent, compact and stable. */
.card-arrow{
    display:inline-flex;
    width:max-content;
    align-items:center;
    gap:7px;
    margin-top:auto;
    padding:0;
    border:0;
    background:transparent;
    color:var(--cyan);
    font-size:12px;
    line-height:1;
    text-transform:uppercase;
}

.card-arrow>span{
    white-space:nowrap;
}

.card-arrow .ui-target-icon{
    flex:0 0 18px;
    width:18px;
    height:18px;
}

.content-card-link.is-static,
.editorial-list-card-inner:not(a),
.career-job-row.is-static{
    cursor:default;
}

.content-card-static:hover,
.editorial-list-card.is-static:hover{
    transform:none;
}

/* --------------------------------------------------------------------------
   ARTICLES / NEWS
   -------------------------------------------------------------------------- */


.editorial-list-section{
    margin-bottom:86px;
}

.editorial-list-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}

.editorial-list-grid.layout-grid_4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

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

.editorial-list-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e6ebef;
    border-radius:8px;
    background:#fff;
    box-shadow:0 8px 24px rgba(25,58,78,.06);
    transition:transform .3s ease,box-shadow .3s ease;
}

.editorial-list-card:not(.is-static):hover{
    transform:translateY(-5px);
    box-shadow:0 18px 38px rgba(25,58,78,.11);
}

.editorial-list-card-inner{
    display:flex;
    height:100%;
    flex-direction:column;
    color:inherit;
}

.editorial-list-media{
    aspect-ratio:1.75;
    overflow:hidden;
    background:#edf3f7;
}

.editorial-list-media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}

.editorial-list-card:not(.is-static):hover .editorial-list-media img{
    transform:scale(1.035);
}

.editorial-list-copy{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:24px 24px 22px;
}

.editorial-list-date{
    margin-bottom:9px;
    color:#7c7f85;
    font-size:13px;
}

.editorial-list-copy h2{
    margin:0 0 10px;
    color:#142240;
    font-size:23px;
    font-weight:600;
    line-height:1.12;
}

.editorial-list-copy p{
    margin:0 0 22px;
    color:#5d6871;
    font-size:15px;
    line-height:1.5;
}

.editorial-list-grid.layout-list .editorial-list-card-inner{
    display:grid;
    grid-template-columns:minmax(320px,36%) minmax(0,1fr);
}

.editorial-list-grid.layout-list .editorial-list-media{
    height:100%;
    min-height:260px;
    aspect-ratio:auto;
}

.editorial-list-grid.layout-list .editorial-list-copy{
    justify-content:center;
    padding:34px 40px;
}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */


.faq-accordion{
    display:grid;
    gap:14px;
    max-width:1500px;
    margin:0 auto 92px;
}

.faq-accordion-item{
    overflow:hidden;
    border:1px solid #dce4ea;
    border-radius:5px;
    background:#fff;
    transition:border-color .25s ease,box-shadow .25s ease;
}

.faq-accordion-item:has(.faq-accordion-trigger[aria-expanded="true"]){
    border-color:rgba(5,100,161,.28);
    box-shadow:0 10px 26px rgba(25,58,78,.06);
}

.faq-accordion-trigger{
    display:flex;
    width:100%;
    min-height:76px;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 28px;
    border:0;
    background:transparent;
    color:#18263c;
    text-align:left;
    font-size:20px;
    font-weight:600;
    cursor:pointer;
}

.faq-accordion-trigger:disabled{
    cursor:default;
}

.faq-accordion-symbol{
    position:relative;
    flex:0 0 24px;
    width:24px;
    height:24px;
}

.faq-accordion-symbol::before,
.faq-accordion-symbol::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:18px;
    height:2px;
    border-radius:2px;
    background:var(--blue);
    transform:translate(-50%,-50%);
    transition:transform .25s ease,opacity .25s ease;
}

.faq-accordion-symbol::after{
    transform:translate(-50%,-50%) rotate(90deg);
}

.faq-accordion-trigger[aria-expanded="true"] .faq-accordion-symbol::after{
    opacity:0;
    transform:translate(-50%,-50%) rotate(0);
}

.faq-accordion-panel{
    border-top:1px solid #edf1f4;
}

.faq-accordion-answer{
    padding:24px 28px 30px;
    color:#4e5b65;
    font-size:17px;
    line-height:1.65;
}

.faq-accordion-answer>:first-child{
    margin-top:0;
}

.faq-accordion-answer>:last-child{
    margin-bottom:0;
}

/* --------------------------------------------------------------------------
   DOWNLOADS
   -------------------------------------------------------------------------- */




.downloads-filters{
    display:grid;
    grid-template-columns:minmax(260px,1.4fr) minmax(190px,.8fr) minmax(220px,1fr) auto auto;
    align-items:center;
    gap:12px;
    margin:0 0 24px;
}

.downloads-filters label{margin:0;}

.downloads-filters input,
.downloads-filters select{
    width:100%;
    min-height:48px;
    padding:0 16px;
    border:1px solid #dce4ea;
    border-radius:6px;
    background:#fff;
    color:#26333e;
    font:inherit;
}

.downloads-filters input:focus,
.downloads-filters select:focus{
    border-color:var(--cyan);
    outline:0;
    box-shadow:0 0 0 3px rgba(3,186,240,.1);
}

.downloads-filter-reset{
    color:#7c7f85;
    font-size:15px;
    white-space:nowrap;
}

.downloads-filter-reset:hover{color:var(--blue);}

.downloads-table-products{color:#667985;}
.downloads-empty{padding:28px 30px;margin:0;}

@media(max-width:1100px){
    .downloads-filters{grid-template-columns:1fr 1fr;}
    .downloads-filter-search{grid-column:1/-1;}
}

@media(max-width:640px){
    .downloads-filters{grid-template-columns:1fr;}
    .downloads-filter-search{grid-column:auto;}
}
.downloads-table{
    margin:0 0 104px;
    overflow:hidden;
    border:1px solid #dce4ea;
    border-radius:7px;
    background:rgba(255,255,255,.48);
}

.downloads-table-row{
    display:grid;
    grid-template-columns:58px minmax(0,2.3fr) .45fr .45fr .45fr auto;
    min-height:88px;
    align-items:center;
    gap:24px;
    padding:14px 30px;
    border-bottom:1px solid #dce4ea;
    color:#26333e;
    transition:background .22s ease,color .22s ease;
}

.downloads-table-row:last-child{
    border-bottom:0;
}

.downloads-table-row:hover{
    color:var(--blue);
    background:#fff;
}

.downloads-file-icon{display:flex;width:58px;align-items:center;justify-content:flex-start;}.downloads-file-icon .download-format-icon{display:block;width:48px;height:58px;object-fit:contain;}
.downloads-table-title{
    display:grid;
    gap:3px;
}

.downloads-table-title strong{
    color:#18263c;
    font-size:19px;
    font-weight:600;
}

.downloads-table-title small,
.downloads-table-type,
.downloads-table-size,
.downloads-table-version{
    color:#7c7f85;
    font-size:15px;
}

.downloads-table-action{
    display:flex;
    min-width:126px;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    color:var(--blue);
    font-size:16px;
}

.downloads-table-icon{
    font-size:28px;
    font-weight:300;
    line-height:1;
}

/* --------------------------------------------------------------------------
   CAREERS
   -------------------------------------------------------------------------- */


.careers-layout{
    display:grid;
    grid-template-columns:minmax(0,1.8fr) minmax(330px,.7fr);
    gap:90px;
    align-items:start;
    margin-bottom:96px;
}

.career-openings h2,
.career-spontaneous h2{
    margin:0;
    color:#202d37;
    font-size:24px;
    font-weight:600;
}

.career-openings h2{
    margin-bottom:22px;
}

.career-jobs{
    border-top:1px solid #dce4ea;
}

.career-job-row{
    display:grid;
    grid-template-columns:minmax(200px,1.35fr) minmax(130px,.8fr) minmax(140px,.9fr) 28px;
    min-height:58px;
    align-items:center;
    gap:18px;
    border-bottom:1px solid #dce4ea;
    color:#34414b;
    transition:color .22s ease,background .22s ease;
}

a.career-job-row:hover{
    color:var(--blue);
    background:rgba(255,255,255,.6);
}

.career-job-row strong{
    font-weight:600;
}

.career-job-arrow{
    color:var(--blue);
    font-size:28px;
    font-weight:300;
    line-height:1;
}

.career-spontaneous{
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:22px;
    padding:38px 34px;
    border-radius:14px;
    background:linear-gradient(145deg,#f4f8fc,#edf4fa);
    box-shadow:0 10px 28px rgba(25,58,78,.05);
}

.career-spontaneous-icon{
    display:grid;
    width:60px;
    height:60px;
    place-items:center;
    border:1px solid #d7e3eb;
    border-radius:50%;
    background:#fff;
    color:var(--blue);
}

.career-spontaneous-icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.4;
}

.career-spontaneous p{
    margin:18px 0 26px;
    color:#53616b;
    font-size:16px;
    line-height:1.55;
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */

@media(max-width:1180px){
    .editorial-list-grid,
    .editorial-list-grid.layout-grid_4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .careers-layout{
        grid-template-columns:1fr;
        gap:46px;
    }

    .career-spontaneous{
        max-width:600px;
    }
}

@media(max-width:820px){
    .downloads-table-row{
        grid-template-columns:50px minmax(0,1fr) auto auto;
        gap:8px 16px;
    }

    .downloads-table-title{
        grid-column:2 / -1;
    }

    .downloads-table-version{
        display:none;
    }

    .career-job-row{
        grid-template-columns:minmax(0,1fr) 28px;
        gap:4px 14px;
        padding:14px 0;
    }

    .career-job-row>span:not(.career-job-arrow){
        grid-column:1;
        color:#7c7f85;
        font-size:14px;
    }

    .career-job-arrow{
        grid-column:2;
        grid-row:1 / span 3;
    }
}

@media(max-width:640px){
    .editorial-list-grid,
    .editorial-list-grid.layout-grid_4{
        grid-template-columns:1fr;
    }

    .editorial-list-grid.layout-list .editorial-list-card-inner{
        grid-template-columns:1fr;
    }

    .editorial-list-grid.layout-list .editorial-list-media{
        min-height:0;
        aspect-ratio:1.75;
    }

    .faq-accordion-trigger{
        min-height:66px;
        padding:15px 18px;
        font-size:17px;
    }

    .faq-accordion-answer{
        padding:20px 18px 24px;
        font-size:16px;
    }

    .downloads-table-row{
        padding:15px 18px;
    }

    .downloads-table-type{
        display:none;
    }

    .career-spontaneous{
        grid-template-columns:1fr;
        padding:28px 24px;
    }
}


/* --------------------------------------------------------------------------
   RELATED INFO BOXES
   -------------------------------------------------------------------------- */

.inner-related-infobox-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}

.inner-related-infobox{
    position:relative;
    display:flex;
    min-width:0;
    min-height:190px;
    padding:22px 16px 18px;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    border:1px solid #e4eaee;
    border-radius:9px;
    background:#fff;
    color:#26333e;
    text-align:center;
    box-shadow:0 8px 22px rgba(25,58,78,.045);
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,color .28s ease;
}

a.inner-related-infobox:hover{
    border-color:rgba(5,100,161,.20);
    color:var(--blue);
    box-shadow:0 14px 30px rgba(25,58,78,.08);
    transform:translateY(-4px);
}

.inner-related-infobox-media{
    display:grid;
    width:78px;
    height:78px;
    margin-bottom:14px;
    place-items:center;
}

.inner-related-infobox-media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.inner-related-infobox-copy{
    display:grid;
    gap:8px;
    width:100%;
}

.inner-related-infobox-copy strong{
    color:#24313c;
    font-size:16px;
    font-weight:500;
    line-height:1.25;
}

.inner-related-infobox-copy small{
    color:#7c7f85;
    font-size:13px;
    line-height:1.4;
}

.inner-related-infobox-target{
    display:grid;
    width:18px;
    height:18px;
    margin-top:auto;
    padding-top:12px;
    place-items:center;
    color:var(--cyan);
}

.inner-related-infobox-target .ui-target-icon{
    width:14px;
    height:14px;
}

a.inner-related-infobox:hover .ui-target-icon{
    transform:rotate(90deg) scale(1.16);
}

@media(max-width:1450px){
    .inner-related-infobox-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:980px){
    .inner-related-infobox-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .inner-related-infobox-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .inner-related-infobox{
        min-height:170px;
        padding:18px 12px;
    }
}
