/* =========================================================
   COURSE GRID
========================================================= */

.sbx-grid{
    display:grid !important;
    gap:28px;
}

/* =========================================================
   CARD
========================================================= */

.sbx-card{

    --sbx-primary:#CA8A04;
    --sbx-soft:#FEFCE8;
    --sbx-border:#FDE68A;
	
    background:#fff;

border:1px solid var(--sbx-border);
    border-bottom:3px solid var(--sbx-primary);

    border-radius:20px;

    overflow:hidden;

    transition:.25s ease;

    box-shadow:
    0 8px 24px rgba(15,23,42,.04),
    0 2px 8px rgba(15,23,42,.03);
}

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

    box-shadow:
    0 16px 36px rgba(15,23,42,.08),
    0 4px 12px rgba(15,23,42,.05);
}

/* =========================================================
   THUMB
========================================================= */

.sbx-thumb{
    height:220px;
    display:block;
    overflow:hidden;
    text-decoration:none;
}

.sbx-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
	transition:
        transform .35s ease,
        filter .35s ease;
}


.sbx-thumb::after{

    content:"";

    position:absolute;
    inset:0;

background:
        linear-gradient(
            to bottom,
            color-mix(in srgb, var(--sbx-primary) 40%, transparent) 0%,
            color-mix(in srgb, var(--sbx-primary) 20%, transparent) 12%,
            rgba(255,255,255,0) 28%,
            transparent 100%
        );

    opacity:0;

    transition:opacity .35s ease;

    pointer-events:none;
}

.sbx-thumb:hover::after{

    opacity:1;
}

/* =========================================================
   CONTENT
========================================================= */

.sbx-content{
    padding:18px 18px 20px;
}

/* =========================================================
   TAGS
========================================================= */

.sbx-tags{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:18px;
}

.sbx-tag-primary{

    background:var(--sbx-primary);

    color:#fff;

    height:30px;

    padding:0 14px;

    border-radius:12px;

    display:inline-flex;
    align-items:center;

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

.sbx-tag-outline{

    height:30px;

    padding:0 14px;

    border-radius:12px;

    border:1.5px solid var(--sbx-primary);

    color:var(--sbx-primary);

    display:inline-flex;
    align-items:center;

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

/* =========================================================
   TITLE
========================================================= */

.sbx-title{

    font-size:25px;
    font-weight:800;
    line-height:1.35;

    margin:0 0 14px;

    color:#0f172a;

    min-height:auto;
}

.sbx-title a{

    display:inline;

    background-image:
        linear-gradient(
            var(--sbx-primary),
            var(--sbx-primary)
        );

    background-size:0% 2px;

    background-repeat:no-repeat;

    background-position:left 100%;

    transition:
        color .25s ease,
        background-size .25s ease;
}

.sbx-title a:hover{

    color:var(--sbx-primary);

    background-size:100% 2px;
}

/* =========================================================
   META
========================================================= */

.sbx-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:16px;
}

.sbx-meta-item{
    display:flex;
    align-items:center;
    gap:6px;

    font-size:13px;
    font-weight:500;
    white-space:nowrap;
	
}

.sbx-meta-icon{
    width:18px;
    height:18px;

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

    color:var(--sbx-primary);

    flex-shrink:0;

    position:relative;

}

.sbx-meta-icon svg{
    width:18px;
    height:18px;
    display:block;
}



/* =========================================================
   DIVIDER
========================================================= */

.sbx-divider{

    height:1px;

    background:#ececf4;

    margin-bottom:18px;
}

/* =========================================================
   FOOTER
========================================================= */

.sbx-footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
}

/* =========================================================
   AUTHOR
========================================================= */

.sbx-author{
    display:flex;
    align-items:center;
    gap:12px;
}

.sbx-author-avatar{

    width:60px;
    height:60px;

    border-radius:50%;
    overflow:hidden;

    background:linear-gradient(
        180deg,
        var(--sbx-primary) 0%,
        #ffffff 100%
    );

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

.sbx-author-avatar img{

    width:100%;
    height:100%;

    object-fit:contain;

    object-position:center;

    border-radius:50%;

    display:block;
}



.sbx-author-info{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.sbx-author-name{
    display:flex;
    align-items:center;
    gap:6px;

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

    white-space:nowrap;
	
}

.sbx-author-subtitle{
    font-size:11px;
}

.sbx-profile-link{
    display:inline-flex;
    align-items:center;
    gap:5px;

    font-size:9px;
	font-weight:500;
    color:#64748b;

    text-decoration:none;
}

.sbx-profile-link:hover{
    color:var(--sbx-primary);
}

.sbx-profile-link svg{
    width:9px;
    height:9px;
}


.sbx-verified{
    width:17px;
    height:17px;

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

    color:var(--sbx-primary);

    flex-shrink:0;

}

.sbx-verified svg{
    width:17px;
    height:17px;
}




/* =========================================================
   PRICE
========================================================= */

.sbx-price-block{
	min-width:120px;
    text-align:right;
}

.sbx-price-row{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.sbx-price-row del{
    font-size:15px;
    font-weight:500;
    color:#9ca3af;
}

.sbx-price{

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

    line-height:1;

    color:var(--sbx-primary);
}

.sbx-price-badges{

    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:8px;
}

.sbx-sale,
.sbx-discount{
    background:var(--sbx-soft);
    color:var(--sbx-primary);
	
    height:30px;

    padding:0 10px;

	border:1px solid var(--sbx-border);
	
    border-radius:8px;

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

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



/* =========================================================
   THEMES
========================================================= */

.sbx-theme-purple{
    --sbx-primary:#7C3AED;
    --sbx-soft:#F3E8FF;
    --sbx-border:#DDD6FE;
}

.sbx-theme-pink{
    --sbx-primary:#DB2777;
    --sbx-soft:#FDF2F8;
    --sbx-border:#FBCFE8;
}

.sbx-theme-teal{
    --sbx-primary:#0D9488;
    --sbx-soft:#F0FDFA;
    --sbx-border:#99F6E4;
}

.sbx-theme-red{
    --sbx-primary:#F43F5E;
    --sbx-soft:#FFF1F2;
    --sbx-border:#FECDD3;
}

.sbx-theme-general{
    --sbx-primary:#CA8A04;
    --sbx-soft:#FEFCE8;
    --sbx-border:#FDE68A;
}

.sbx-theme-green{
    --sbx-primary:#16A34A;
    --sbx-soft:#F0FDF4;
    --sbx-border:#BBF7D0;
}

.sbx-theme-slate{
    --sbx-primary:#475569;
    --sbx-soft:#F8FAFC;
    --sbx-border:#CBD5E1;
}

/* =========================================================
   RESPONSIVE
========================================================= */


/* =========================================================
   1366px - 1439px
========================================================= */

@media (min-width:1366px) and (max-width:1439px){

    .sbx-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}


/* =========================================================
   1200px - 1365px
========================================================= */

@media (min-width:1200px) and (max-width:1365px){

    .sbx-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }

    .sbx-title{font-size:23px;}
    .sbx-price{font-size:25px;}
	
	.sbx-meta-item{font-size:12px;}
    
	.sbx-author {
		gap: 8px;
	}
    .sbx-author-avatar{
    width:55px;
    height:55px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}
	
	.sbx-author-name {
    font-size: 13px;
    }
	
	.sbx-verified {
    width: 16px;
    height: 16px;
	}
	
	.sbx-sale, .sbx-discount {
		font-size: 10px;
	}
	
	
	
}


/* =========================================================
   1024px - 1199px
========================================================= */

@media (min-width:1024px) and (max-width:1199px){

    .sbx-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .sbx-content{
        padding:16px;
    }

    .sbx-title{
        font-size:21px;
    }

    .sbx-price{
        font-size:24px;
    }

    .sbx-meta-item{
        font-size:12px;
    }

    .sbx-author{
        gap:8px;
    }

.sbx-author-avatar{
    width:52px;
    height:52px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}

    .sbx-author-name{
        font-size:13px;
    }

    .sbx-verified{
        width:15px;
        height:15px;
    }

    .sbx-verified svg{
        width:15px;
        height:15px;
    }

    .sbx-sale,
    .sbx-discount{
        font-size:10px;
    }
}


/* =========================================================
   768px - 1023px
========================================================= */

@media (min-width:768px) and (max-width:1023px){

    .sbx-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .sbx-content{
        padding:14px;
    }

    .sbx-title{
        font-size:18px;
        line-height:1.35;
    }

    .sbx-price{
        font-size:20px;
    }

    .sbx-meta-item{
        font-size:11px;
    }

    .sbx-author{
        gap:8px;
    }

.sbx-author-avatar{
    width:50px;
    height:50px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}

    .sbx-author-name{
        font-size:12px;
    }

    .sbx-verified{
        width:13px;
        height:13px;
    }

    .sbx-verified svg{
        width:13px;
        height:13px;
    }

	.sbx-author-subtitle{
		font-size:10px;
	}
	
    .sbx-profile-link{
        font-size:8px;
    }

    .sbx-profile-link svg{
        width:7px;
        height:7px;
    }

    .sbx-price-row del{
        font-size:12px;
    }

    .sbx-sale,
    .sbx-discount{
        font-size:10px;
        padding:0 8px;
    }

    .sbx-tag-primary,
    .sbx-tag-outline{
        font-size:11px;
        padding:0 10px;
    }
}

/* =========================================================
   431px - 767px
========================================================= */

@media (min-width:431px) and (max-width:767px){

    .sbx-grid{
        grid-template-columns:1fr !important;
    }

    .sbx-content{
        padding:14px;
    }

    .sbx-title{
        font-size:20px;
        line-height:1.35;
    }

    .sbx-price{
        font-size:22px;
    }

    .sbx-meta-item{
        font-size:12px;
    }

    .sbx-author{
        gap:8px;
    }

.sbx-author-avatar{
    width:45px;
    height:45px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}

    .sbx-author-name{
        font-size:13px;
    }

    .sbx-verified{
        width:14px;
        height:14px;
    }

    .sbx-verified svg{
        width:14px;
        height:14px;
    }

    .sbx-author-subtitle{
        font-size:10px;
    }

    .sbx-profile-link{
        font-size:9px;
    }

    .sbx-profile-link svg{
        width:8px;
        height:8px;
    }

    .sbx-price-row del{
        font-size:13px;
    }

    .sbx-sale,
    .sbx-discount{
        font-size:10px;
        padding:0 8px;
    }

    .sbx-tag-primary,
    .sbx-tag-outline{
        font-size:11px;
        padding:0 10px;
    }
}


/* =========================================================
   391px - 430px
========================================================= */

@media (min-width:391px) and (max-width:430px){

    .sbx-grid{
        grid-template-columns:1fr !important;
    }

    .sbx-content{
        padding:13px;
    }

    .sbx-title{
        font-size:19px;
        line-height:1.35;
    }

    .sbx-price{
        font-size:21px;
    }

    .sbx-meta-item{
        font-size:11px;
    }

    .sbx-author{
        gap:8px;
    }

.sbx-author-avatar{
    width:42px;
    height:42px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}

    .sbx-author-name{
        font-size:12px;
    }

    .sbx-verified{
        width:13px;
        height:13px;
    }

    .sbx-verified svg{
        width:13px;
        height:13px;
    }

    .sbx-author-subtitle{
        font-size:9px;
    }

    .sbx-profile-link{
        font-size:8px;
    }

    .sbx-profile-link svg{
        width:7px;
        height:7px;
    }

    .sbx-price-row del{
        font-size:12px;
    }

    .sbx-sale,
    .sbx-discount{
        font-size:9px;
        padding:0 7px;
    }

    .sbx-tag-primary,
    .sbx-tag-outline{
        font-size:10px;
        padding:0 9px;
    }
}


/* =========================================================
   375px - 390px
========================================================= */

@media (min-width:375px) and (max-width:390px){

    .sbx-grid{
        grid-template-columns:1fr !important;
    }

    .sbx-content{
        padding:12px;
    }

    .sbx-title{
        font-size:18px;
        line-height:1.35;
    }

    .sbx-price{
        font-size:20px;
    }

    .sbx-meta-item{
        font-size:10px;
    }

.sbx-author-avatar{
    width:40px;
    height:40px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}

    .sbx-author-name{
        font-size:12px;
    }

    .sbx-author-subtitle{
        font-size:9px;
    }

    .sbx-profile-link{
        font-size:8px;
    }

    .sbx-price-row del{
        font-size:11px;
    }

    .sbx-sale,
    .sbx-discount{
        font-size:9px;
        padding:0 6px;
    }

    .sbx-tag-primary,
    .sbx-tag-outline{
        font-size:10px;
        padding:0 8px;
    }
}


/* =========================================================
   360px - 374px
========================================================= */

@media (min-width:360px) and (max-width:374px){

    .sbx-grid{
        grid-template-columns:1fr !important;
    }

    .sbx-content{
        padding:11px;
    }

    .sbx-title{
        font-size:17px;
        line-height:1.35;
    }

    .sbx-price{
        font-size:19px;
    }

    .sbx-meta-item{
        font-size:10px;
    }

    .sbx-footer{
        gap:10px;
    }

    .sbx-author{
        gap:6px;
        min-width:0;
    }

.sbx-author-avatar{
    width:38px;
    height:38px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}

    .sbx-author-name{
        font-size:11px;
    }

    .sbx-author-subtitle{
        font-size:8px;
    }

    .sbx-profile-link{
        font-size:7px;
    }

    .sbx-price-block{
        min-width:95px;
    }

    .sbx-price-row{
        gap:6px;
    }

    .sbx-price-row del{
        font-size:10px;
    }
	
	.sbx-sale,
    .sbx-discount{
        font-size:9px;
        padding:0 6px;
    }

    .sbx-tag-primary,
    .sbx-tag-outline{
        font-size:10px;
        padding:0 8px;
    }
}


/* =========================================================
   320px - 359px
========================================================= */

@media (max-width:359px){

    .sbx-grid{
        grid-template-columns:1fr !important;
    }

    .sbx-content{
        padding:10px;
    }

    .sbx-title{
        font-size:16px;
        line-height:1.35;
    }

    .sbx-price{
        font-size:18px;
    }

    .sbx-meta-item{
        font-size:8px;
    }

    .sbx-footer{
        gap:8px;
    }

    .sbx-author{
        gap:6px;
        min-width:0;
    }

.sbx-author-avatar{
    width:36px;
    height:36px;
}

.sbx-author-avatar img{
    width:100%;
    height:100%;
}

    .sbx-author-name{
        font-size:10px;
    }
	
	.sbx-verified{
        width:10px;
        height:10px;
    }

    .sbx-verified svg{
        width:10px;
        height:10px;
    }

    .sbx-author-subtitle{
        font-size:8px;
    }

    .sbx-profile-link{
        font-size:7px;
    }
	
	.sbx-profile-link svg{
        width:6px;
        height:6px;
    }

    .sbx-price-block{
        min-width:90px;
    }

    .sbx-price-row{
        gap:5px;
    }

    .sbx-price-row del{
        font-size:10px;
    }

    .sbx-sale,
    .sbx-discount{
        font-size:8px;
        padding:0 4px;
    }

    .sbx-tag-primary,
    .sbx-tag-outline{
        font-size:9px;
        padding:0 6px;
    }
}