.sl-search{
    width:100%;
    margin:0 auto;
    color:#111827;
    position: relative;
    overflow: hidden;
}

.studylast-search-form{
    position:relative;
    z-index:20;
	margin-bottom: 15px;
}

.sl-search-loader{

    display:block;
	visibility: hidden;
    width:100%;
    height:3px;
    margin:8px 0;
    overflow:hidden;
    pointer-events:none;
	position:relative;

}

.sl-search-loader.is-loading{

    visibility: visible;

}

.sl-search-loader::before{

    content:"";

    position:absolute;

    inset:0;

    background:#e5e7eb;

    border-radius:999px;

}

.sl-search-loader span{

    display:block;

    width:34%;

    height:100%;

    border-radius:999px;

    background:#1769c2;

    animation:sl-search-loader .9s ease-in-out infinite;

}

@keyframes sl-search-loader{

    from{

        transform:translateX(-100%);

    }

    to{

        transform:translateX(300%);

    }

}


@keyframes sl-search-loader{
    0%{
        transform:translateX(-110%);
    }
    100%{
        transform:translateX(330%);
    }
}

.sl-search-bar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:10px;
    padding:8px;
    background:#fff;
    border:1px solid #dbe3ea;
    border-radius:8px;
    box-shadow:0 14px 38px rgba(15,23,42,.08);
	position:relative;
}

.is-hidden{
    display:none;
}

.sl-search-keyword{
    width:100%;
    min-width:0;
    height:52px;
    padding:0 16px;
    border:0;
    outline:0;
    background:transparent;
    color:#0f172a;
    font-size:17px;
}

.sl-search-keyword::placeholder{
    color:#94a3b8;
}

.sl-search-submit{
    min-width:124px;
    height:52px;
    padding:0 22px;
    border:0;
    border-radius:6px;
    background:#1769c2;
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease, transform .2s ease;
}

.sl-search-submit:hover{
    background:#11579f;
}

.sl-search-submit:active{
    transform:translateY(1px);
}

.sl-search-results{
    display:grid;
    gap:14px;
    position:relative;
    z-index:1;
}

.sl-search-empty{
    padding:34px;
    text-align:center;
    color:#64748b;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:8px;
}

.sl-search-pagination{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:10px;
}

.sl-pagination-button{
    min-width:38px;
    height:38px;
    padding:0 12px;
    border:1px solid #d1d5db;
    border-radius:6px;
    background:#fff;
    color:#1f2937;
    cursor:pointer;
}

.sl-pagination-button:hover,
.sl-pagination-button.is-active{
    border-color:#1769c2;
    background:#1769c2;
    color:#fff;
}

.sl-pagination-gap{
    display:inline-flex;
    align-items:center;
    color:#64748b;
}

.sl-search-card{
    display:grid;
    grid-template-columns:96px 1fr;
    gap:18px;
    padding:18px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:8px;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.sl-search-card:hover{
    border-color:#cbd5e1;
    box-shadow:0 8px 24px rgba(15,23,42,.08);
}

.sl-search-card-thumb{
    display:block;
}

.sl-search-card-thumb img{
    display:block;
    width:96px;
    height:128px;
    object-fit:cover;
    border-radius:8px;
}

.sl-search-card-body{
    min-width:0;
}

.sl-search-card-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
}

.sl-search-card-flex {
    display: flex;
    align-items: flex-start;
	margin-bottom: 8px;
}

.sl-search-card-title{
    margin:0;
    font-size:18px;
    line-height:1.35;
    font-weight:600;
}

.sl-search-card-title a{
    color:#1769c2;
    text-decoration:none;
}

.sl-search-card-title a:hover{
    text-decoration:underline;
}

.sl-search-card-price{
    color:#d32f2f;
    font-size:22px;
    font-weight:700;
    white-space:nowrap;
}

.sl-search-card-rating{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
}

.sl-rating-score{
    color:#d97706;
    font-weight:700;
    display: flex;
    align-items: center;
}

.sl-directory-item {
    color: #111827;
    font-size: 15px;
}

.sl-badge{
    display:inline-flex;
    align-items:center;
    padding:3px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}

.sl-badge-verified{
    background:#ecfdf5;
    color:#15803d;
}

.sl-badge-recommended{
    background:#eff6ff;
    color:#1d4ed8;
}

.sl-search-card-course{
    font-weight:700;
    font-size: 15px;
}

.sl-search-card-institution{
    color:#475569;
    font-style:italic;
    font-size: 15px;
}

.sl-search-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    font-size:13px;
    color:#64748b;
    margin-bottom:10px;
	align-items: center;
}

.sl-search-card-item {
    border-radius: 999px;
    border: 1px solid #64748b;
    padding: 3px 10px;
}

.sl-search-card-item svg, .sl-rating-score svg {
    height: 1em;
    width: 1em;
    margin-right: .25em;
}

.sl-search-card-summary{
    margin:0;
    color:#475569;
    line-height:1.6;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
	font-size: 0.9em;
}

.sl-search-card mark{
    background:#fff3a3;
    padding:0 2px;
}

.sl-search-filters{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
    max-height:0;
    opacity:0;
    overflow:hidden;
    pointer-events:none;
    margin-top:0;
    padding-top:0;
    padding-bottom:0;
    transition:max-height .25s ease, opacity .2s ease, padding .25s ease, margin .25s ease;
}

.sl-search-filters[data-open="1"]{
    max-height:760px;
    opacity:1;
    overflow:visible;
    margin-top:16px;
    padding-top:18px;
    pointer-events:auto;
    position:relative;
    z-index:30;
}

.sl-filter{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0;
}

.sl-filter-label{
    margin:0;
    font-size:13px;
    font-weight:700;
    color:#334155;
}

.sl-filter-control{
    position:relative;
    min-height:42px;
}

.sl-filter-select,
.sl-filter-local-search,
.sl-filter-search{
    width:100%;
    height:42px;
    padding:0 12px;
    background:#fff;
    border:1px solid #cbd5e1;
    border-radius:8px;
    color:#0f172a;
    font-size:14px;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.sl-filter-select,
.sl-filter-local-search{
    cursor:pointer;
}

.sl-filter-select:focus,
.sl-filter-local-search:focus,
.sl-filter-search:focus{
    outline:none;
    border-color:#1769c2;
    box-shadow:0 0 0 3px rgba(23,105,194,.12);
}

.sl-filter[data-selected="1"] .sl-filter-select,
.sl-filter[data-selected="1"] .sl-filter-local-search,
.sl-filter[data-selected="1"] .sl-filter-search{
    border-color:#1769c2;
}

.sl-filter-ajax,
.sl-filter-local{
    position:relative;
}

.sl-filter-results{
    display:none;
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:9999;
    max-height:320px;
    overflow:auto;
    background:#fff;
    border:1px solid #dbe3ea;
    border-radius:8px;
    box-shadow:0 10px 24px rgba(15,23,42,.10);
}

.sl-pagination-sentinel{
    width:100%;
    padding:16px;
    color:#64748b;
    text-align:center;
    font-size:14px;
}

.sl-load-more{
    min-width:150px;
    height:42px;
    font-weight:700;
}

.sl-filter-option,
.sl-filter-empty{
    display:block;
    width:100%;
    padding:10px 12px;
    border:0;
    background:#fff;
    color:#1f2937;
    text-align:left;
    font-size:14px;
}

.sl-filter-local-option[hidden]{
    display:none !important;
}

.sl-filter-option{
    cursor:pointer;
}

.sl-filter-option:hover,
.sl-filter-option.is-selected{
    background:#eef6ff;
    color:#11579f;
}

.sl-filter-local-option[data-level]{
    padding-left:var(--sl-filter-indent, 12px);
}

.sl-filter-option-heading{
    padding:11px 12px 7px;
    color:#475569;
    background:#f8fafc;
    border-bottom:1px solid #edf2f7;
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    cursor:default;
}

.sl-filter-option-heading + .sl-filter-option{
    border-top:0;
}

.sl-filter-empty{
    color:#64748b;
}

.sl-filter-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    max-width:100%;
    min-height:30px;
    margin:0 6px 6px 0;
    padding:5px 9px;
    border:1px solid #bfdbfe;
    border-radius:6px;
    background:#eff6ff;
    color:#11579f;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    vertical-align:top;
}

.sl-filter-chip span:first-child{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sl-filter-actions{
    display:flex;
    justify-content:flex-end;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.sl-filter-reset{
    padding:9px 18px;
    border:1px solid #d1d5db;
    border-radius:6px;
    background: #009b39;
    color: #fff;
    cursor:pointer;
    transition:border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.sl-filter-reset:hover{
    border-color:#1769c2;
    color:#1769c2;
    box-shadow:0 4px 14px rgba(23,105,194,.12);
    background:#fff;
}

.sl-filter-toggle{

    padding:0 18px;

    border:1px solid #d6dde6;

    border-radius:6px;

    background:#fff;

    cursor:pointer;

    white-space:nowrap;

}

.sl-filter-toggle:hover{

    background:#f7f9fb;

}

@media (max-width:1200px){
    .sl-search-filters{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media (max-width:768px){
    .sl-search-filters{
        grid-template-columns: minmax(0, 2fr) max-content;
    }
    .sl-search-bar {
        grid-template-columns: minmax(0, 2fr) max-content;
    }
    .sl-search-submit{
        width:100%;
    }
    .sl-search-submit {
        grid-column: 1 / -1;
    }	
.studylast-search-wrapper {
    margin-top: 10px;
}
}

@media (max-width:520px){
    .sl-search-filters{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .sl-search-card{
        grid-template-columns:72px 1fr;
        gap:14px;
        padding:14px;
    }

    .sl-search-card-thumb img{
        width:72px;
        height:96px;
    }

    .sl-search-card-header{
        flex-direction:column;
        gap:8px;
    }

    .sl-search-card-price{
        font-size:22px;
    }

    .sl-search-card-title{
        font-size:17px;
    }
}
