/* STHAN Music - Global Search */
:root{
    --sm-search-bg:#09090d;
    --sm-search-surface:#111118;
    --sm-search-surface-2:#171720;
    --sm-search-text:#f7f7fa;
    --sm-search-muted:#a5a5b4;
    --sm-search-border:rgba(255,255,255,.10);
    --sm-search-accent:#8d2cff;
    --sm-search-accent-2:#c13cff;
}

*{box-sizing:border-box}
body{margin:0;background:var(--sm-search-bg);color:var(--sm-search-text);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.sm-search-page{min-height:100vh}
.sm-search-container{width:min(1180px,calc(100% - 40px));margin:0 auto}

.sm-search-hero{
    padding:90px 0 55px;
    background:
        radial-gradient(circle at 50% 0,rgba(141,44,255,.22),transparent 45%),
        linear-gradient(180deg,#11101a 0,#09090d 100%);
    border-bottom:1px solid var(--sm-search-border)
}
.sm-search-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:#b88cff}
.sm-search-hero h1{font-size:clamp(38px,6vw,68px);margin:12px 0 30px;line-height:1}
.sm-search-form{display:flex;gap:12px;max-width:900px}
.sm-search-input-wrap{position:relative;flex:1}
.sm-search-input-wrap input{
    width:100%;height:62px;border:1px solid var(--sm-search-border);
    border-radius:12px;background:#fff;color:#17131e;
    padding:0 52px;font-size:17px;outline:none
}
.sm-search-input-wrap input:focus{border-color:var(--sm-search-accent);box-shadow:0 0 0 3px rgba(141,44,255,.16)}
.sm-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-53%);font-size:27px;color:#666;z-index:2}
.sm-clear-search{
    position:absolute;right:12px;top:50%;transform:translateY(-50%);
    border:0;background:transparent;color:#777;font-size:27px;cursor:pointer;display:none
}
.sm-search-submit{
    height:62px;padding:0 30px;border:0;border-radius:12px;
    background:linear-gradient(135deg,var(--sm-search-accent),var(--sm-search-accent-2));
    color:#fff;font-size:16px;font-weight:700;cursor:pointer
}
.sm-search-submit:hover{filter:brightness(1.08)}

.sm-search-suggestions{
    max-width:900px;margin-top:8px;background:#fff;color:#17131e;
    border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.3)
}
.sm-suggestion{display:flex;justify-content:space-between;gap:15px;padding:14px 18px;border-bottom:1px solid #eee}
.sm-suggestion:last-child{border-bottom:0}
.sm-suggestion:hover{background:#f6f3fa}
.sm-suggestion small{color:#777}

.sm-search-results{padding:55px 0 90px}
.sm-results-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}
.sm-results-heading h2{font-size:clamp(26px,4vw,40px);margin:8px 0 0}
.sm-total-results{color:var(--sm-search-muted);white-space:nowrap}

.sm-search-tabs{
    display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:30px;
    scrollbar-width:thin
}
.sm-search-tabs a{
    display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
    padding:11px 16px;border:1px solid var(--sm-search-border);
    border-radius:999px;color:var(--sm-search-muted);font-size:14px
}
.sm-search-tabs a:hover{color:#fff;border-color:rgba(193,60,255,.55)}
.sm-search-tabs a.active{
    background:linear-gradient(135deg,var(--sm-search-accent),var(--sm-search-accent-2));
    color:#fff;border-color:transparent
}
.sm-search-tabs span{opacity:.72;font-size:12px}

.sm-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sm-result-card{
    min-width:0;overflow:hidden;border:1px solid var(--sm-search-border);
    border-radius:16px;background:var(--sm-search-surface);transition:.22s ease
}
.sm-result-card:hover{transform:translateY(-3px);border-color:rgba(193,60,255,.38);box-shadow:0 15px 35px rgba(0,0,0,.18)}
.sm-result-image{display:block;aspect-ratio:16/9;background:#1b1b25;overflow:hidden}
.sm-result-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.sm-result-card:hover .sm-result-image img{transform:scale(1.03)}
.sm-result-placeholder{display:grid;place-items:center}
.sm-result-placeholder span{font-size:48px;font-weight:800;color:#9b55ff}
.sm-result-body{padding:20px}
.sm-result-category{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#b88cff;font-weight:700}
.sm-result-body h3{font-size:20px;line-height:1.3;margin:9px 0 8px}
.sm-result-body h3 a:hover{color:#c98cff}
.sm-result-meta{font-size:13px;color:#d1d1da;margin-bottom:9px}
.sm-result-body p{font-size:14px;line-height:1.65;color:var(--sm-search-muted);margin:0 0 16px}
.sm-result-link{font-size:13px;font-weight:700;color:#d09cff}
.sm-result-link span{display:inline-block;transition:transform .2s}
.sm-result-link:hover span{transform:translateX(4px)}

.sm-search-empty{text-align:center;padding:90px 20px;color:var(--sm-search-muted)}
.sm-search-empty h2{color:#fff;font-size:30px;margin:10px 0}
.sm-search-empty p{line-height:1.7;margin:6px 0}
.sm-empty-icon{width:74px;height:74px;margin:0 auto 18px;border:1px solid var(--sm-search-border);border-radius:50%;display:grid;place-items:center;font-size:34px;color:#b36cff}
.sm-search-empty a{color:#c98cff}

.sm-pagination{display:flex;justify-content:center;gap:8px;margin-top:42px}
.sm-pagination a{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--sm-search-border);border-radius:10px;color:var(--sm-search-muted)}
.sm-pagination a:hover,.sm-pagination a.active{background:var(--sm-search-accent);color:#fff;border-color:var(--sm-search-accent)}

@media(max-width:900px){
    .sm-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .sm-search-container{width:min(100% - 28px,1180px)}
    .sm-search-hero{padding:60px 0 40px}
    .sm-search-form{display:block}
    .sm-search-submit{width:100%;margin-top:10px}
    .sm-results-grid{grid-template-columns:1fr}
    .sm-results-heading{align-items:start;flex-direction:column}
    .sm-search-tabs{margin-right:-14px}
}

/* Search view switcher */
.sm-results-toolbar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin:-8px 0 18px;
}
.sm-view-label{font-size:12px;color:var(--sm-search-muted)}
.sm-view-toggle{
    display:inline-flex;
    gap:3px;
    padding:3px;
    border:1px solid var(--sm-search-border);
    background:var(--sm-search-surface);
    border-radius:10px;
}
.sm-view-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
    height:34px;
    padding:0 11px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:var(--sm-search-muted);
    cursor:pointer;
    font-size:12px;
    font-weight:700;
}
.sm-view-btn:hover{color:#fff}
.sm-view-btn.active{
    color:#fff;
    background:linear-gradient(135deg,var(--sm-search-accent),var(--sm-search-accent-2));
}
.sm-view-icon{width:14px;height:14px;display:grid;gap:2px}
.sm-list-icon{grid-template-rows:repeat(3,1fr)}
.sm-list-icon i{display:block;border-radius:2px;background:currentColor}
.sm-grid-icon{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}
.sm-grid-icon i{display:block;border-radius:1px;background:currentColor}

/* LIST VIEW - default */
.sm-results-grid.sm-view-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.sm-view-list .sm-result-card{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:150px;
    border-radius:13px;
}
.sm-view-list .sm-result-image{
    aspect-ratio:auto;
    min-height:150px;
    height:100%;
}
.sm-view-list .sm-result-body{
    padding:18px 22px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.sm-view-list .sm-result-body h3{
    margin:6px 0 5px;
}
.sm-view-list .sm-result-body p{
    margin:0 0 9px;
    max-width:850px;
}
.sm-view-list .sm-result-link{margin-top:auto}

/* CARD VIEW */
.sm-results-grid.sm-view-card{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.sm-view-card .sm-result-card{display:block}
.sm-view-card .sm-result-image{aspect-ratio:16/9}
.sm-view-card .sm-result-body{padding:20px}
.sm-view-card .sm-result-link{margin-top:0}

@media(max-width:700px){
    .sm-results-toolbar{justify-content:space-between;margin-top:0}
    .sm-view-list .sm-result-card{
        grid-template-columns:110px minmax(0,1fr);
        min-height:120px;
    }
    .sm-view-list .sm-result-image{min-height:120px}
    .sm-view-list .sm-result-body{padding:13px 14px}
    .sm-view-list .sm-result-body h3{font-size:16px}
    .sm-view-list .sm-result-body p{font-size:12px}
    .sm-results-grid.sm-view-card{grid-template-columns:1fr}
}
