/* category_template_10 - Choose your style carousel */
.cat-style-section .cat-style-head {
    margin-bottom: 0;
}

.cat-style-section .cat-style-head .inner {
    width: 100%;
}

.cat-style-carousel .slick-list {
    padding: 10px 0;
}

.cat-style-slide {
    margin: 0 9px;
}

.cat-style-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #000;
}

.cat-style-item:hover {
    text-decoration: none;
}

.cat-style-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 32px;
    overflow: hidden;
    position: relative;
    background: white;
    transition: border-radius .65s cubic-bezier(.2, .7, .2, 1), transform .65s cubic-bezier(.2, .7, .2, 1), scale .25s ease;
}

.cat-style-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}

.cat-style-item:hover .cat-style-image {
    border-radius: 50%;
    transform: scale(0.96);
    /* scale: 1.04; */
}

.cat-style-item:hover .cat-style-image img {
    transform: scale(1.04);
}

.cat-style-name {
    margin-top: 18px;
    text-align: center;
    font-weight: bold;
    line-height: 19px;
    color: #000;
    transition: color .25s ease;
}

.cat-style-item:hover .cat-style-name {
    color: var(--themeColor, #488a9d);
}

.cat-style-cta {
    text-align: center;
    margin-top: 50px;
}

@media (max-width: 575px) {
    .cat-style-image {
        border-radius: 20px;
    }

    .cat-style-cta {
        margin-top: 30px;
    }
}

/* category_template_11 - split 50/50 (aristera pills, deksia lista) */
.cat-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
}

.cat-split-grid.single {
    grid-template-columns: 1fr;
}

.cat-split-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #303030;
    color: #fff;
}

.cat-split-grid.single .cat-split-card {
    aspect-ratio: 2 / 1;
}

.cat-split-card > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}

.cat-split-card:hover > img {
    transform: scale(1.02);
}

.cat-split-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0.65) 100%);
    pointer-events: none;
}

.cat-split-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 6% 7%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.cat-split-content > * {
    flex-shrink: 0;
}

.cat-split-content h3 {
    font-weight: bold;
    font-size: 25px;
    line-height: 36px;
    color: #fff;
    margin: 0;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
}

.cat-split-content p {
    font-size: 14px;
    line-height: 24px;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.cat-split-pills {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 28px;
}

.cat-split-links {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

/* h lista pairnei oso ypsos perisseyei sto tetragwno kai kanei scroll an den xwraei */
.cat-split-content > .cat-split-pills,
.cat-split-content > .cat-split-links {
    flex-shrink: 1;
    min-height: 0;
    overflow-y: auto;
    align-self: stretch;
    padding: 2px 10px 13px 2px;
}

/* minimal mpara: sxedon aorath, fainetai ligo perissotero mono otan to pontiki einai panw sth lista */
/* Firefox: scrollbar-width/color mono ekei, giati o Chrome otan ta vlepei agnoei to ::-webkit-scrollbar kai deixnei velakia */
@supports not selector(::-webkit-scrollbar) {
    .cat-split-content > .cat-split-pills,
    .cat-split-content > .cat-split-links {
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
    }

    .cat-split-content > .cat-split-pills:hover,
    .cat-split-content > .cat-split-links:hover {
        scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
    }
}

/* Chrome / Safari / Edge */
.cat-split-pills::-webkit-scrollbar,
.cat-split-links::-webkit-scrollbar {
    width: 2px;
}

.cat-split-pills::-webkit-scrollbar-button,
.cat-split-links::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

.cat-split-pills::-webkit-scrollbar-track,
.cat-split-links::-webkit-scrollbar-track {
    background: transparent;
}

.cat-split-pills::-webkit-scrollbar-thumb,
.cat-split-links::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 2px;
}

.cat-split-pills:hover::-webkit-scrollbar-thumb,
.cat-split-links:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
}

.cat-split-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    font-size: 15px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.96);
    text-decoration: none;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
    transition: padding-left .35s cubic-bezier(.2, .7, .2, 1), color .25s ease;
}

.cat-split-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 80%;
    height: 1px;
    background: rgba(255, 255, 255, 0.22);
    transition: background .25s ease, width .35s cubic-bezier(.2, .7, .2, 1);
}

.cat-split-link:hover {
    padding-left: 10px;
    color: #fff;
    text-decoration: none;
}

.cat-split-link:hover::after {
    background: var(--themeColor, #488a9d);
    width: 85%;
}

.cat-split-link .cat-split-arrow {
    font-size: 20px;
    color: #fff;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}

.cat-split-link:hover .cat-split-arrow {
    transform: translateX(8px);
}

.cat-split-all {
    margin-top: 28px;
}

/* idio me .special-categories .category-caption .inner .title (main.css + xmas.css) */
.cat-split-btn {
    display: inline-block;
    background: #fffffff2;
    padding: 15px 20px;
    border-radius: 7px;
    box-shadow: 0px 0px 13px #0000002b;
    font-size: 15px;
    font-weight: bold;
    line-height: 21px;
    letter-spacing: -0.3px;
    color: var(--themeColor, #488a9d);
    text-decoration: none;
    transition: 0.3s ease all;
}

.cat-split-btn:hover {
    background-color: var(--themeColor, #488a9d);
    color: white;
    text-decoration: none;
}

/* mobile pills mesa sto box (deksia pleura), orizontio slider, sto desktop krymmena */
.cat-split-mobile-pills {
    display: none;
}

@media (max-width: 991px) {
    .cat-split-grid {
        grid-template-columns: 1fr;
    }

    .cat-split-content > .cat-split-links {
        display: none;
    }

    .cat-split-content > .cat-split-mobile-pills,
    .cat-twin-content > .cat-split-mobile-pills {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        align-self: stretch;
        order: 10;
        margin-top: auto;
        padding: 18px 2px 8px;
        margin-bottom: -8px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .cat-split-mobile-pills::-webkit-scrollbar {
        display: none;
    }

    .cat-split-mobile-pills .cat-split-btn {
        flex: 0 0 auto;
        padding: 10px 16px;
        white-space: nowrap;
        scroll-snap-align: start;
    }


    .cat-split-grid.single .cat-split-card {
        aspect-ratio: 1 / 1;
    }

    .cat-split-content {
        padding: 24px 20px;
    }

    .cat-split-links {
        margin-top: 18px;
    }

    .cat-split-link {
        padding: 10px 0;
        font-size: 13px;
    }
}

/* category_template_12 - kathetes kartes isou ypsous (3 ana seira) */
.cat-three-head .inner {
    width: 100%;
}

.cat-three-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.cat-three-card {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 8 / 9;
    background: #303030;
    text-decoration: none;
}

.cat-three-card:hover {
    text-decoration: none;
}

.cat-three-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 800ms cubic-bezier(.2, .7, .2, 1), filter 800ms ease;
}

.cat-three-card:hover img {
    transform: scale(1.02);
    filter: brightness(1.04);
}

.cat-three-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.55) 100%);
    pointer-events: none;
    transition: background .5s ease;
}

.cat-three-card:hover::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 30%, rgba(0, 0, 0, 0.65) 100%);
}

.cat-three-content {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 36px;
    z-index: 2;
    display: flex;
    justify-content: center;
    text-align: center;
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.cat-three-card:hover .cat-three-content {
    transform: translateY(-4px);
}

/* to koumpi einai to .cat-split-btn (idio me to site), energopoieitai me hover se olh thn karta */
.cat-three-card:hover .cat-split-btn {
    background-color: var(--themeColor, #488a9d);
    color: white;
}

/* dots tou mobile swipe, idia me ta slick-dots tou site (.col .slick-dots) */
.cat-three-dots {
    display: none;
}

.cat-three-dots button {
    width: 15px;
    height: 15px;
    padding: 0;
    margin: 0 5px;
    border: none;
    border-radius: 50%;
    background: var(--themeColor, #454852);
    opacity: .25;
    cursor: pointer;
    transition: opacity .2s ease;
}

.cat-three-dots button.active {
    opacity: 1;
}

.cat-three-dots button:focus {
    outline: none;
}

@media (max-width: 991px) {
    .cat-three-dots {
        display: flex;
        justify-content: center;
        margin-top: 15px;
    }

    .cat-three-grid {
        display: flex;
        overflow-x: auto;
        gap: 8px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .cat-three-grid::-webkit-scrollbar {
        display: none;
    }

    .cat-three-card {
        flex: 0 0 84%;
        aspect-ratio: auto;
        height: 480px;
        scroll-snap-align: start;
        border-radius: 14px;
    }

    .cat-three-content {
        bottom: 24px;
    }

    .cat-three-section .super-cat-carousel .description {
        margin-bottom: 0;
    }
}

/* category_template_13 - full width banner */
.cat-banner-section {
    position: relative;
    overflow: hidden;
    min-height: 43vw;
    background: #303030;
    color: #fff;
}

.cat-banner-section > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.4s cubic-bezier(.2, .7, .2, 1);
}

.cat-banner-section:hover > img {
    transform: scale(1.02);
}

.cat-banner-section::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.30) 35%, transparent 65%);
    pointer-events: none;
}

.cat-banner-container {
    position: relative;
    z-index: 2;
    padding-top: 5vw;
    padding-bottom: 48px;
}

.cat-banner-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.cat-banner-content h3 {
    font-weight: bold;
    font-size: 25px;
    line-height: 36px;
    color: #fff;
    margin: 0;
    text-shadow: 0 1px 14px rgba(0, 0, 0, 0.35);
}

.cat-banner-desc,
.cat-banner-desc p {
    font-size: 14px;
    line-height: 24px;
    color: rgba(255, 255, 255, 0.92);
    max-width: 560px;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.30);
}

.cat-banner-desc {
    margin-top: 15px;
}

.cat-banner-desc p:last-child {
    margin-bottom: 0;
}

.cat-banner-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
    max-width: 60%;
}

@media (max-width: 991px) {
    .cat-banner-section {
        min-height: 420px;
    }

    .cat-banner-section::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.30) 50%, rgba(0, 0, 0, 0.55) 100%);
    }

    .cat-banner-container {
        padding-top: 32px;
        padding-bottom: 24px;
    }

    /* ta koumpia ginontai orizontio slider, opws sto template 11 */
    .cat-banner-btns {
        flex-wrap: nowrap;
        max-width: none;
        align-self: stretch;
        margin-top: 24px;
        padding: 2px 2px 13px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .cat-banner-btns::-webkit-scrollbar {
        display: none;
    }

    .cat-banner-btns .cat-split-btn {
        flex: 0 0 auto;
        padding: 10px 16px;
        white-space: nowrap;
        scroll-snap-align: start;
    }
}

/* category_template_14 - aristera video (tetragwno), deksia 1 fardia + 2 tetragwnes */
.cat-mosaic-head .inner {
    width: 100%;
}

.cat-mosaic-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 4px;
    aspect-ratio: 2 / 1;
}

.cat-mosaic-card {
    position: relative;
    display: block;
    overflow: hidden;
    background: #303030;
    text-decoration: none;
}

.cat-mosaic-card:hover {
    text-decoration: none;
}

.cat-mosaic-card.featured {
    grid-column: 1 / span 2;
    grid-row: 1 / span 2;
}

.cat-mosaic-card.wide {
    grid-column: 3 / span 2;
    grid-row: 1;
}

.cat-mosaic-card.sq1 {
    grid-column: 3;
    grid-row: 2;
}

.cat-mosaic-card.sq2 {
    grid-column: 4;
    grid-row: 2;
}

.cat-mosaic-card img,
.cat-mosaic-card video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 800ms cubic-bezier(.2, .7, .2, 1), filter 800ms ease;
}

.cat-mosaic-card:hover img,
.cat-mosaic-card:hover video {
    transform: scale(1.02);
    filter: brightness(1.04);
}

.cat-mosaic-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.58) 100%);
    pointer-events: none;
    transition: background .5s ease;
}

.cat-mosaic-card:hover::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 30%, rgba(0, 0, 0, 0.65) 100%);
}

.cat-mosaic-content {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.cat-mosaic-card.featured .cat-mosaic-content {
    left: 36px;
    bottom: 36px;
}

.cat-mosaic-card:hover .cat-mosaic-content {
    transform: translateY(-4px);
}

/* to koumpi einai to .cat-split-btn (idio me to site), energopoieitai me hover se olh thn karta */
.cat-mosaic-card:hover .cat-split-btn {
    background-color: var(--themeColor, #488a9d);
    color: white;
}

/* mobile: grid 2x2 (tetrada) me tetragwnes kartes */
@media (max-width: 991px) {
    .cat-mosaic-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .cat-mosaic-card,
    .cat-mosaic-card.featured,
    .cat-mosaic-card.wide,
    .cat-mosaic-card.sq1,
    .cat-mosaic-card.sq2 {
        grid-column: auto;
        grid-row: auto;
        aspect-ratio: 1 / 1;
        border-radius: 14px;
    }

    .cat-mosaic-content,
    .cat-mosaic-card.featured .cat-mosaic-content {
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

    .cat-mosaic-content .cat-split-btn {
        max-width: 100%;
        padding: 8px 12px;
        font-size: 15px;
        white-space: normal;
        /* overflow-wrap: break-word; */
    }

    .cat-mosaic-section .super-cat-carousel .description {
        margin-bottom: 0;
    }
}

@media (max-width: 576px) {
    .cat-mosaic-grid {
        gap: 6px;
    }

    .cat-mosaic-content .cat-split-btn {
        padding: 7px 10px;
        font-size: 13px;
        line-height: 17px;
        letter-spacing: -0.2px;
    }
}

@media (max-width: 375px) {
    .cat-mosaic-content .cat-split-btn {
        font-size: 12px;
        line-height: 15px;
    }
}

/* koino gia ta templates 10, 11, 12, 14: sto mobile mikrotero keno apo to py-5 / pt-5 tou bootstrap (3rem) */
@media (max-width: 991px) {
    .cat-style-section .row.py-5,
    .cat-split-section .row.py-5,
    .cat-three-section .row.py-5,
    .cat-mosaic-section .row.py-5,
    .cat-twin-section .row.py-5,
    .cat-mini-section .row.py-5 {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }

    .cat-style-section .row.pt-5,
    .cat-three-section .row.pt-5,
    .cat-mosaic-section .row.pt-5,
    .cat-mini-section .row.pt-5 {
        padding-top: 24px !important;
    }

    /* otan yparxei titlos, to grid den xreiazetai ksana keno apo panw */
    .cat-style-section .row.pt-5 + .row.py-5,
    .cat-three-section .row.pt-5 + .row.py-5,
    .cat-mosaic-section .row.pt-5 + .row.py-5,
    .cat-mini-section .row.pt-5 + .row.py-5 {
        padding-top: 16px !important;
    }

    /* mikrotero keno katw apo thn perigrafh se ola ta templates */
    .cat-style-head .inner p,
    .cat-three-head .inner p,
    .cat-mosaic-head .inner p,
    .cat-mini-head .inner p {
        margin-bottom: 6px;
    }

    .cat-split-content > .cat-split-pills,
    .cat-split-content > .cat-split-links {
        margin-top: 14px;
    }

    .cat-banner-desc,
    .cat-banner-desc p {
        margin-bottom: 0;
    }

    .cat-banner-btns {
        margin-top: 14px;
    }
}

/* category_template_15 - 2 tetragwna me titlo, lista kathgoriwn me eikonidio kai koumpi syllogis */
.cat-twin-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
}

.cat-twin-grid.single {
    grid-template-columns: 1fr;
}

.cat-twin-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #303030;
    color: #fff;
}

.cat-twin-grid.single .cat-twin-card {
    aspect-ratio: 2 / 1;
}

.cat-twin-card > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}

.cat-twin-card:hover > img {
    transform: scale(1.02);
}

.cat-twin-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0.65) 100%);
    pointer-events: none;
}

/* to periexomeno gemizei to tetragwno, h lista kanei scroll an den xwraei (opws sto template 11) */
.cat-twin-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 6% 7%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.cat-twin-content > * {
    flex-shrink: 0;
}

.cat-twin-content h3 {
    font-weight: bold;
    font-size: 25px;
    line-height: 36px;
    color: #fff;
    margin: 0;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.30);
}

.cat-twin-content p {
    font-size: 14px;
    line-height: 24px;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.cat-twin-content > .cat-twin-nav {
    flex-shrink: 1;
    min-height: 0;
    overflow-y: auto;
    align-self: stretch;
    margin-top: 24px;
    padding: 0 10px 0 2px;
    display: flex;
    flex-direction: column;
}

/* minimal mpara (idia me to template 11) */
@supports not selector(::-webkit-scrollbar) {
    .cat-twin-content > .cat-twin-nav {
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
    }

    .cat-twin-content > .cat-twin-nav:hover {
        scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
    }
}

.cat-twin-nav::-webkit-scrollbar {
    width: 2px;
}

.cat-twin-nav::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

.cat-twin-nav::-webkit-scrollbar-track {
    background: transparent;
}

.cat-twin-nav::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 2px;
}

.cat-twin-nav:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
}

.cat-twin-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 0;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.96);
    text-decoration: none;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
    transition: padding-left .3s cubic-bezier(.2, .7, .2, 1), color .25s ease;
}

.cat-twin-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 80%;
    height: 1px;
    background: rgba(255, 255, 255, 0.22);
    transition: background .25s ease, width .35s cubic-bezier(.2, .7, .2, 1);
}

.cat-twin-link:hover {
    padding-left: 8px;
    color: #fff;
    text-decoration: none;
}

.cat-twin-link:hover::after {
    background: var(--themeColor, #488a9d);
    width: 85%;
}

.cat-twin-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cat-twin-circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.30);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: border-color .25s ease, background .25s ease;
}

.cat-twin-circle img {
    width: 18px;
    height: 18px;
    display: block;
}

.cat-twin-link:hover .cat-twin-circle {
    border-color: var(--themeColor, #488a9d);
    background: var(--themeColor, #488a9d);
}

.cat-twin-name {
    font-size: 15px;
    font-weight: bold;
}

.cat-twin-arrow {
    font-size: 20px;
    color: #fff;
    transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}

.cat-twin-link:hover .cat-twin-arrow {
    transform: translateX(8px);
}

.cat-twin-all {
    margin-top: 22px;
}

@media (max-width: 991px) {
    .cat-twin-grid {
        grid-template-columns: 1fr;
    }

    .cat-twin-grid.single .cat-twin-card {
        aspect-ratio: 1 / 1;
    }

    .cat-twin-content {
        padding: 24px 20px;
    }

    /* opws sto template 11: h lista kryvetai kai oi kathgories ginontai pills katw katw sto box */
    .cat-twin-content > .cat-twin-nav {
        display: none;
    }

    .cat-twin-link {
        padding: 9px 0;
    }

    .cat-twin-circle {
        width: 32px;
        height: 32px;
    }

    .cat-twin-name {
        font-size: 14px;
    }

    .cat-twin-all {
        margin-top: 16px;
    }
}

/* category_template_16 - mikres kartes (3 ana seira): xrwmatisto meros me titlo + velaki, deksia eikona */
.cat-mini-head .inner {
    width: 100%;
}

.cat-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.cat-mini-card {
    position: relative;
    display: flex;
    align-items: stretch;
    min-height: 220px;
    border-radius: 16px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .4s ease;
}

.cat-mini-card:hover {
    color: #fff;
    text-decoration: none;
    transform: translateY(-4px);
    box-shadow: 0 18px 36px -16px rgba(0, 0, 0, 0.30);
}

/* xrwmata apo to site, enallassontai ana 3: kokkino thematos, skouro gkri, skouro kokkino (hover xrwma tou thematos) */
.cat-mini-card:nth-child(3n+1) {
    background: linear-gradient(135deg, var(--themeColor, #488a9d), var(--themeHighlightColor, #3d7586));
}

.cat-mini-card:nth-child(3n+2) {
    background: linear-gradient(135deg, #454852, #303030);
}

.cat-mini-card:nth-child(3n+3) {
    background: linear-gradient(135deg, var(--themeHighlightColor, #3d7586), #5e1a26);
}

.cat-mini-body {
    flex: 1;
    min-width: 0;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.cat-mini-title {
    font-size: 20px;
    font-weight: bold;
    line-height: 26px;
    color: #fff;
}

.cat-mini-arrow {
    margin-top: 24px;
    font-size: 22px;
    color: #fff;
    transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}

.cat-mini-card:hover .cat-mini-arrow {
    transform: translateX(6px);
}

.cat-mini-imgwrap {
    width: 50%;
    flex-shrink: 0;
}

.cat-mini-imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 1680px) {
    .cat-mini-body {
        padding: 32px 20px;
    }

    .cat-mini-title {
        font-size: 18px;
        line-height: 24px;
        word-break: break-word;
    }
}

@media (max-width: 1199px) {
    .cat-mini-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .cat-mini-grid {
        gap: 12px;
    }

    .cat-mini-card {
        min-height: 170px;
        border-radius: 14px;
    }

    .cat-mini-body {
        padding: 20px 16px;
    }

    .cat-mini-title {
        font-size: 16px;
        line-height: 21px;
    }

    .cat-mini-arrow {
        margin-top: 14px;
        font-size: 20px;
    }
}

@media (max-width: 575px) {
    .cat-mini-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .cat-mini-card {
        min-height: 150px;
    }

    .cat-mini-imgwrap {
        width: 45%;
    }
}
