.home-categories {
    max-width: 1600px;
    margin: auto;
    padding: 20px;
}

.cat-grid {
    columns: 4;
    column-gap: 15px;
}

.item {
    display: block;
    margin-bottom: 15px;
    break-inside: avoid;
}

.item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
}

@media (max-width:768px) {

    .cat-grid {
        columns: 2;
    }

}

.item {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

.item img {
    width: 100%;
    height: auto;
    display: block;
}

/* گرادیان پایین تصویر */
.item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 40%;
    background: linear-gradient(to top,
            rgba(0, 0, 0, .75),
            rgba(0, 0, 0, 0));
    pointer-events: none;
}

/* عنوان */
.cat-title {
    position: absolute;
    right: 15px;
    bottom: 15px;
    z-index: 2;

    color: #fff;
    font-weight: 700;

    padding: 8px 14px;

    background: rgba(0, 0, 0, .35);
    backdrop-filter: blur(6px);

    border-radius: 12px;
    font-size: 0.8rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .5);
}

/* موبایل */
@media(max-width:768px) {

    .cat-title {
        font-size: 0.8rem;
        padding: 6px 10px;
        right: 10px;
        bottom: 10px;
    }

}

.schedule-section {

    max-width: 1200px;

    margin: 30px auto 80px auto;

    padding: 0 20px;
}

.schedule-title {

    text-align: center;

    color: #fff;

    font-size: 2rem;

    margin-bottom: 30px;
}

/* وسط چین شدن جدول */

.schedule-table-wrapper {

    width: 100%;

    max-width: 1100px;

    margin: 0 auto;

    overflow: hidden;

    border-radius: 24px;

    background:
        rgba(255, 255, 255, .05);

    backdrop-filter: blur(16px);

    border: 1px solid rgba(255, 255, 255, .08);

    transition: .35s ease;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, .25);
}

/* افکت پویایی */

.schedule-table-wrapper:hover {

    transform: scale(1.015);

    box-shadow:
        0 25px 55px rgba(41, 152, 111, .35),
        0 0 30px rgba(245, 233, 54, .12);
}

.schedule-table {

    width: 100%;

    border-collapse: collapse;
}

.schedule-table thead {

    background:
        linear-gradient(90deg,
            #29986f,
            #1f6d50);
}

.schedule-table th {

    padding: 18px;

    color: white;

    font-size: 1rem;

    font-weight: 700;
}

.schedule-table td {

    padding: 18px;

    color: #e8e8e8;

    border-top:
        1px solid rgba(255, 255, 255, .07);

    line-height: 1.9;
}

.schedule-table tbody tr {

    transition: .25s;
}

.schedule-table tbody tr:hover {

    background:
        rgba(255, 255, 255, .04);
}

.program-info {

    display: flex;

    align-items: center;

    gap: 12px;
}

.program-info img {

    width: 50px;

    height: 50px;

    border-radius: 12px;

    object-fit: cover;

    border:
        2px solid rgba(245, 233, 54, .25);
}

.schedule-table td:last-child {

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;
}

.schedule-table th,
.schedule-table td {
    text-align: center;
}

.home-image {
    text-align: center;
    margin: 20px 0;
}

.home-image img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}

.banner {
    border-radius: 20px;
}

.showcats {
    margin-top: 25px;
}

@media (max-width: 992px) {

    .schedule-table th,
    .schedule-table td {

        padding: 12px;

        font-size: .9rem;
    }

    .schedule-table td:last-child {

        font-size: .8rem;
    }

    .cat-title {
        font-size: 0.8rem;
    }

}

@media (max-width: 768px) {

    .schedule-section {

        padding: 0 10px;
    }

    .schedule-title {

        font-size: 1.4rem;
    }

    .schedule-table th,
    .schedule-table td {

        padding: 10px 8px;

        font-size: .78rem;
    }

    .schedule-table td:last-child {

        font-size: .7rem;

        line-height: 1.7;

        max-width: 180px;
    }

    .program-info {

        gap: 8px;
    }

    .program-info img {

        width: 36px;
        height: 36px;

        border-radius: 8px;
    }

    .cat-title {
        font-size: .85rem;
        line-height: 1;
    }

    .grid .video-card:nth-child(5) {
        display: none;
    }
}


@media (max-width: 600px) {
    .pagination {
        font-size: 13px;
        gap: 6px;
    }

    .pagination a,
    .pagination span {
        padding: 6px 10px;
        min-width: 30px;
    }

    .grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 12px;

        padding: 12px;
    }

    .card {

        max-width: 100%;
    }

    .title {
        font-size: 9pt;
    }

}

@media (max-width: 480px) {

    .schedule-table th,
    .schedule-table td {

        padding: 8px 6px;

        font-size: .72rem;
    }

    .schedule-table td:last-child {

        font-size: .65rem;

        line-height: 1.6;
    }

    .program-info img {

        width: 30px;
        height: 30px;
    }

    .cat-title {
        font-size: .7rem;
        line-height: 0.8;
    }
}

.featured-categories{
    margin:40px 0;
}

.featured-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.featured-card{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    text-decoration:none;
    display:block;
    aspect-ratio:1364/912;
}

.featured-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
}

.featured-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-end;
    padding:15px;
    background:none !important;
}

.featured-title{
    color:#fff;
    font-size:1rem;
    font-weight:600;
    line-height:1.6;
    text-shadow:0 2px 10px rgba(0,0,0,.5);
}

.featured-card:hover img{
    transform:scale(1.08);
}

.featured-card:hover{
    transform:translateY(-3px);
}

.featured-card{
    transition:.3s ease;
}
@media (max-width:992px){

    .featured-grid{
        grid-template-columns:repeat(3,1fr);
    }

}
@media (max-width:768px){

    .featured-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .featured-title{
        font-size:.8rem;
    }

}

.featured-overlay{
    position:absolute;
    left:4px;
    bottom:4px;

    display:flex;
    justify-content:flex-start;
    align-items:flex-end;
}

.featured-title{
    display:inline-block;

    padding:4px 8px;

    background:rgba(0,0,0,.35);

    color:#fff;

    font-size:.65rem;
    font-weight:400;

    border-radius:6px;

    line-height:1.4;

    text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.featured-overlay{
    position:absolute;
    left:0;
    bottom:0;
}

.featured-title{
    border-bottom-left-radius:0;
}
@media (max-width:768px){

    .featured-overlay{
        left:2px;
        bottom:2px;
        padding:6px;
    }

    .featured-title{
        font-size:.6rem;
        padding:3px 6px;
    }

}

.hero{
    position: relative;

    background: transparent !important;

    border: 1px solid #f2c94c;

    border-radius: 18px;

    overflow: hidden;

    box-shadow:
        0 0 10px rgba(242,201,76,.15),
        0 0 25px rgba(242,201,76,.08);

    transition: all .3s ease;
}

.hero:hover{
    box-shadow:
        0 0 15px rgba(242,201,76,.25),
        0 0 35px rgba(242,201,76,.12);
}

.hero,
.slides,
.slide{
    background: transparent !important;
}