/* Streatham Top Core v0.1.3 — larger type + arrow spacing */

.sttop-content{width:100%;max-width:none;margin:0;color:#171717}.sttop-content *{box-sizing:border-box}.sttop-content a{text-decoration:none;color:inherit}
.sttop-forced-portal-shell{margin:0}.sttop-forced-portal-shell .stp-top-page{display:block!important}.sttop-hero-full{width:100%;margin-top:12px}.sttop-portal-hero{width:100%;margin:0!important}.stp-top-shell{grid-template-columns:minmax(0,1fr) 280px!important}.stp-top-main{min-width:0;padding:22px 22px 28px!important}

.sttop-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px;padding:0}.sttop-tabs a{display:inline-flex;align-items:center;border:1px solid #ddd;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:700;background:#fff;color:#222}.sttop-tabs a.active{border-color:#171717;background:#171717;color:#fff}.sttop-tabs span{opacity:.62;margin-left:4px;font-size:11px}

.sttop-index-head{margin-top:0}.sttop-ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sttop-ranking-card{min-width:0;border:1px solid #e3e3e3;border-radius:5px;padding:20px 18px;background:#fff;position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:12px;transition:transform .15s ease,border-color .15s ease}.sttop-ranking-card:hover{transform:translateY(-2px);border-color:#aaa}.sttop-ranking-card-no{font-family:Georgia,serif;font-size:29px;color:#aaa;line-height:1}.sttop-ranking-card-copy{min-width:0}.sttop-ranking-card-copy>span{font-size:10px;font-weight:800;text-transform:uppercase;color:#777;letter-spacing:.04em}.sttop-ranking-card h3{font-family:Georgia,"Times New Roman",serif!important;font-size:21px!important;line-height:1.1!important;margin:6px 0 15px!important;color:#111!important}.sttop-ranking-card ol{margin:0;padding:0;list-style:none;counter-reset:rank}.sttop-ranking-card li{counter-increment:rank;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:7px;padding:8px 0;border-top:1px solid #eee;font-size:12px;line-height:1.3}.sttop-ranking-card li:before{content:counter(rank);font-weight:800;color:#999}.sttop-ranking-card li strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sttop-ranking-card li em{font-style:normal;color:#666;white-space:nowrap}.sttop-ranking-card p{font-size:13px;line-height:1.5;color:#777}.sttop-arrow{position:static;grid-column:3;align-self:end;justify-self:end;font-size:19px;line-height:1;padding:0 0 3px 2px;margin-top:12px}

.sttop-back{font-size:12px;font-weight:700;margin:0 0 16px}.sttop-awards{margin-bottom:28px}.sttop-award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sttop-award-card{min-width:0;border:1px solid #ddd;border-radius:5px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:5px}.sttop-award-card b{font-size:10px;text-transform:uppercase}.sttop-award-card strong{font-family:Georgia,serif;font-size:19px}.sttop-award-card span{font-size:11px;color:#666}.sttop-award-card.pos-1{border-width:2px}

.sttop-business-list{border:1px solid #e2e2e2;border-radius:5px;overflow:hidden;background:#fff}.sttop-business-row{display:grid;grid-template-columns:46px minmax(170px,1fr) 122px 92px 82px 48px;align-items:center;gap:9px;padding:12px;border-bottom:1px solid #eee;min-width:0}.sttop-business-row:last-child{border-bottom:0}.sttop-business-row.top-three{background:#fafafa}.sttop-position{font-family:Georgia,serif;font-size:23px;font-weight:700}.sttop-business-copy{min-width:0}.sttop-business-copy h3{font-size:15px!important;line-height:1.2!important;margin:0 0 3px!important;color:#111!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sttop-business-copy p{font-size:10px!important;color:#777!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sttop-metric,.sttop-score{display:flex;flex-direction:column;min-width:0}.sttop-metric strong,.sttop-score strong{font-size:14px}.sttop-metric span,.sttop-score span{font-size:9px;color:#777;margin-top:2px;line-height:1.2}.sttop-score{text-align:right}.sttop-view{font-size:11px;font-weight:800;text-align:right;white-space:nowrap}.sttop-empty{padding:24px;border:1px solid #e2e2e2;border-radius:5px;color:#777;font-size:13px}.sttop-method{margin-top:16px;background:#f6f6f6;border-radius:5px;padding:16px 18px;font-size:12px;line-height:1.55}.sttop-method p{margin:4px 0 0}

@media(max-width:980px){.stp-top-shell{grid-template-columns:minmax(0,1fr)!important}.stp-top-shell .stp-side-column{order:2}.sttop-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.stp-top-main{padding:16px 14px 24px!important}.sttop-ranking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sttop-award-grid{grid-template-columns:1fr}.sttop-business-row{grid-template-columns:42px minmax(0,1fr) 100px 46px}.sttop-local-metric,.sttop-score{display:none}.sttop-view{grid-column:4}}
@media(max-width:640px){.sttop-ranking-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.sttop-ranking-grid{grid-template-columns:minmax(0,1fr)}.sttop-business-row{grid-template-columns:40px minmax(0,1fr) 88px;padding:11px 9px}.sttop-view{display:none}.sttop-local-metric,.sttop-score{display:none}}


/* v0.1.3 global Top Streatham readability */
.sttop-content .sttop-index-head>div>span,
.sttop-content .sttop-section-title>span{font-size:11px!important}
.sttop-content .sttop-index-head h2,
.sttop-content .sttop-section-title h2{font-size:28px!important;line-height:1.08!important}
.sttop-content .sttop-index-head p{font-size:12px!important}
.sttop-ranking-card-copy{padding-bottom:2px}

/* v0.1.4 — ranking card spacing refinement */
.sttop-ranking-card{
    display:block!important;
    padding:18px 16px 14px!important;
}
.sttop-ranking-card-no{
    float:left;
    margin-right:12px;
}
.sttop-ranking-card-copy{
    min-width:0!important;
}
.sttop-ranking-card li{
    grid-template-columns:22px minmax(0,1fr) auto!important;
    column-gap:5px!important;
    padding-right:0!important;
}
.sttop-ranking-card li em{
    margin-left:4px!important;
    padding-right:0!important;
    white-space:nowrap!important;
}
.sttop-arrow{
    position:static!important;
    display:block!important;
    clear:both!important;
    width:100%!important;
    margin-top:12px!important;
    padding-top:8px!important;
    border-top:1px solid #f0f0f0!important;
    text-align:right!important;
    line-height:1!important;
}

/* v0.1.7 — Directory-style category navigation inside the dark hero. */
.sttop-portal-hero .sttop-tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin:20px 0 0!important;
    padding:0!important;
}
.sttop-portal-hero .sttop-tabs a{
    display:inline-flex!important;
    align-items:center!important;
    border:1px solid rgba(255,255,255,.32)!important;
    border-radius:999px!important;
    padding:7px 10px!important;
    background:transparent!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:700!important;
    text-decoration:none!important;
}
.sttop-portal-hero .sttop-tabs a span{
    margin-left:4px!important;
    color:rgba(255,255,255,.62)!important;
    font-size:9px!important;
    opacity:1!important;
}
.sttop-portal-hero .sttop-tabs a.active,
.sttop-portal-hero .sttop-tabs a:hover,
.sttop-portal-hero .sttop-tabs a:focus{
    border-color:#fff!important;
    background:#fff!important;
    color:#171717!important;
}
.sttop-portal-hero .sttop-tabs a.active span,
.sttop-portal-hero .sttop-tabs a:hover span,
.sttop-portal-hero .sttop-tabs a:focus span{
    color:#666!important;
}

/* v0.1.8 — larger business-name typography. */
.sttop-ranking-card li strong{
    font-size:13px!important;
    line-height:1.35!important;
}
.sttop-award-card strong{
    font-size:20px!important;
    line-height:1.15!important;
}
.sttop-business-copy h3{
    font-size:17px!important;
    line-height:1.22!important;
}

/* v0.1.10 — stable ranking-card image/text geometry + dynamic Home Top Streatham. */
.sttop-ranking-card{
    overflow:hidden!important;
    position:relative!important;
}
.sttop-ranking-thumb{
    position:absolute!important;
    top:16px!important;
    right:16px!important;
    float:none!important;
    width:86px!important;
    height:62px!important;
    margin:0!important;
    border-radius:4px!important;
    object-fit:cover!important;
    background:#eee!important;
}
.sttop-ranking-card-copy{
    min-width:0!important;
}
.sttop-ranking-card-copy>span,
.sttop-ranking-card-copy>h3{
    display:block!important;
    padding-right:102px!important;
}
.sttop-ranking-card-copy ol{
    clear:both!important;
    width:100%!important;
    padding-top:2px!important;
}
.sttop-ranking-card li{
    width:100%!important;
}
.sttop-home-item{
    color:#fff!important;
    text-decoration:none!important;
}
.sttop-home-item:hover{
    color:#fff!important;
}
.sttop-home-item h4{
    color:#fff!important;
}
@media(max-width:520px){
    .sttop-ranking-thumb{
        width:78px!important;
        height:56px!important;
        top:14px!important;
        right:14px!important;
    }
    .sttop-ranking-card-copy>span,
    .sttop-ranking-card-copy>h3{
        padding-right:92px!important;
    }
}

/* v0.1.11 — hard reset of ranking-card geometry.
   No floats, no absolute positioning: header and list are separate rows. */
.sttop-ranking-grid .sttop-ranking-card{
    display:block!important;
    position:relative!important;
    min-width:0!important;
    padding:16px 16px 13px!important;
    overflow:hidden!important;
}
.sttop-ranking-card .sttop-ranking-card-head{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 86px!important;
    gap:11px!important;
    align-items:start!important;
    min-width:0!important;
    margin:0 0 10px!important;
}
.sttop-ranking-card .sttop-ranking-card-no{
    float:none!important;
    margin:0!important;
    width:auto!important;
    font-size:29px!important;
    line-height:1!important;
}
.sttop-ranking-card .sttop-ranking-card-title{
    min-width:0!important;
    padding:0!important;
}
.sttop-ranking-card .sttop-ranking-card-title>span{
    display:block!important;
    padding:0!important;
    margin:0 0 5px!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    color:#777!important;
}
.sttop-ranking-card .sttop-ranking-card-title h3{
    display:block!important;
    padding:0!important;
    margin:0!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:21px!important;
    line-height:1.1!important;
    color:#111!important;
}
.sttop-ranking-card .sttop-ranking-thumb{
    position:static!important;
    float:none!important;
    display:block!important;
    width:86px!important;
    height:62px!important;
    margin:0!important;
    padding:0!important;
    border-radius:4px!important;
    object-fit:cover!important;
    background:#eee!important;
}
.sttop-ranking-card .sttop-ranking-card-copy{
    display:block!important;
    clear:both!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
}
.sttop-ranking-card .sttop-ranking-card-copy ol{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}
.sttop-ranking-card .sttop-ranking-card-copy li{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr) auto!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 0!important;
    margin:0!important;
}
.sttop-ranking-card .sttop-ranking-card-copy li strong{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
.sttop-ranking-card .sttop-ranking-card-copy li em{
    display:block!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
}
.sttop-ranking-card .sttop-arrow{
    display:block!important;
    clear:both!important;
    width:100%!important;
    margin:12px 0 0!important;
    padding:8px 0 0!important;
    border-top:1px solid #f0f0f0!important;
    text-align:right!important;
}
@media(max-width:520px){
    .sttop-ranking-card .sttop-ranking-card-head{
        grid-template-columns:38px minmax(0,1fr) 78px!important;
        gap:9px!important;
    }
    .sttop-ranking-card .sttop-ranking-thumb{
        width:78px!important;
        height:56px!important;
    }
    .sttop-ranking-card .sttop-ranking-card-title h3{
        font-size:20px!important;
    }
}

/* v0.1.12 — HOME Top Streatham only.
   Keep the five rows rigid and prevent long ranking titles from shifting the text. */
.stp-top .stp-top-list{
    grid-template-rows:repeat(5,minmax(0,1fr))!important;
}
.stp-top .sttop-home-item{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 72px!important;
    gap:8px!important;
    align-items:stretch!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    color:#fff!important;
    text-decoration:none!important;
}
.stp-top .sttop-home-item .stp-rank{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    font-size:22px!important;
    line-height:1!important;
}
.stp-top .sttop-home-item > div:nth-child(2){
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
    padding:3px 0!important;
}
.stp-top .sttop-home-item h4{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    margin:0 0 3px!important;
    padding:0!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.12!important;
    color:#fff!important;
    letter-spacing:0!important;
}
.stp-top .sttop-home-item p{
    margin:0!important;
    padding:0!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:9px!important;
    line-height:1.1!important;
    color:#c4c4c4!important;
}
.stp-top .sttop-home-item img{
    display:block!important;
    width:72px!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
}
@media(max-width:850px){
    .stp-top .sttop-home-item{
        grid-template-columns:40px minmax(0,1fr) 88px!important;
    }
    .stp-top .sttop-home-item img{
        width:88px!important;
    }
    .stp-top .sttop-home-item h4{
        font-size:13px!important;
    }
}

