/* Keep the existing portfolio classes and card rules. Only change the track and footer. */
.tal-portfolio-carousel{--tal-pc-ink:#0a2d45;min-width:0}
.tal-portfolio-carousel > .portfolio_column{container-type:inline-size}
.wapper_portfolio.tal-portfolio-carousel .tal-pc-track{
    --tal-pc-columns:var(--tal-pc-desktop,3);
    --tal-pc-gap:0px;
    display:flex;align-items:flex-start;gap:var(--tal-pc-gap);
    width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;
    scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
}
.wapper_portfolio.tal-portfolio-carousel.gutter .tal-pc-track{--tal-pc-gap:20px}
.tal-portfolio-carousel .tal-pc-track::-webkit-scrollbar,
.tal-portfolio-carousel .tal-pc-track::after{display:none}
.tal-portfolio-carousel .tal-pc-track > .item_portfolio{
    --tal-pc-unit:calc((100% - (var(--tal-pc-columns) - 1) * var(--tal-pc-gap)) / var(--tal-pc-columns));
    flex:0 0 var(--tal-pc-unit);width:var(--tal-pc-unit);min-width:0;box-sizing:border-box;
    float:none;scroll-snap-align:start;
}
.tal-portfolio-carousel.multigrid .tal-pc-track > .item_large{
    flex-basis:min(100%,calc(2 * var(--tal-pc-unit) + var(--tal-pc-gap)));
    width:min(100%,calc(2 * var(--tal-pc-unit) + var(--tal-pc-gap)));
}
@container (max-width:767px){
    .wapper_portfolio.tal-portfolio-carousel .tal-pc-track{--tal-pc-columns:var(--tal-pc-tablet,2)}
}
@container (max-width:479px){
    .wapper_portfolio.tal-portfolio-carousel .tal-pc-track{--tal-pc-columns:1}
    .wapper_portfolio.tal-portfolio-carousel.gutter .tal-pc-track{--tal-pc-gap:0px}
}
.tal-portfolio-carousel [hidden]{display:none!important}
.tal-portfolio-carousel .tal-pc-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.tal-portfolio-carousel .tal-pc-footer:has(.tal-pc-arrows[hidden]):not(:has(.tal-pc-more)){display:none}
.tal-portfolio-carousel .tal-pc-arrows{display:flex;gap:8px}
.tal-portfolio-carousel .tal-pc-arrow,
.tal-portfolio-carousel a.tal-pc-more{
    display:inline-flex;align-items:center;justify-content:center;color:var(--tal-pc-ink);
    border:1px solid var(--tal-pc-ink);box-shadow:none;line-height:1.3;cursor:pointer;
}
.tal-portfolio-carousel .tal-pc-arrow{appearance:none;width:38px;height:38px;padding:0;background:transparent;border-radius:50%}
.tal-portfolio-carousel .tal-pc-arrow:disabled{opacity:.35;cursor:default}
.tal-portfolio-carousel a.tal-pc-more{
    margin-inline-start:auto;gap:12px;padding:15px 20px;
    background:#fff;font-weight:700;text-decoration:none;text-transform:uppercase;
}
.tal-portfolio-carousel .tal-pc-arrow:hover:not(:disabled),
.tal-portfolio-carousel a.tal-pc-more:hover{color:#fff;background:var(--tal-pc-ink)}
.tal-portfolio-carousel .tal-pc-arrow svg,.tal-portfolio-carousel .tal-pc-more svg{flex:none;display:block}
[dir="rtl"] .tal-portfolio-carousel .tal-pc-arrow svg,[dir="rtl"] .tal-portfolio-carousel .tal-pc-more svg{transform:scaleX(-1)}
.tal-portfolio-carousel :is(.tal-pc-track,.tal-pc-arrow,.tal-pc-more):focus-visible{outline:2px solid var(--tal-pc-ink);outline-offset:3px}
.tal-portfolio-carousel.is-loading .tal-pc-track{opacity:.6}
.tal-portfolio-carousel .tal-pc-empty{margin:15px 0 0}
.tal-portfolio-carousel .tal-pc-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.tal-portfolio-carousel.has-error .tal-pc-status{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;margin:12px 0 0}
