/*==================================================
POPULAR
Premium Design System
==================================================*/

:root{

--coach-primary:#2563eb;
--coach-primary-dark:#1d4ed8;

--coach-success:#16a34a;
--coach-danger:#dc2626;
--coach-warning:#f59e0b;

--coach-bg:#f5f7fb;
--coach-card:#ffffff;

--coach-text:#1f2937;
--coach-muted:#6b7280;

--coach-border:#e5e7eb;

--coach-radius:18px;

--coach-shadow:
0 10px 28px rgba(15,23,42,.06);

--coach-transition:.25s ease;

}

*{

margin:0;
padding:0;

box-sizing:border-box;

}

body{

background:
var(--coach-bg) !important;

font-family:
Inter,
system-ui,
sans-serif;

color:
var(--coach-text);

}

/*==================================================
Layout
==================================================*/

.coach-page{

padding:1.2rem 0 2rem;

}

.coach-page .container{

max-width:1180px;

}

/*==================================================
Hero
==================================================*/

.coach-hero{

background:#fff;

border-radius:20px;

padding:1.5rem;

box-shadow:var(--coach-shadow);

margin-bottom:1rem;

display:flex;

justify-content:space-between;

align-items:center;

gap:1rem;

flex-wrap:wrap;

}

.coach-hero-content{

display:flex;

justify-content:space-between;

align-items:center;

width:100%;

gap:1rem;

flex-wrap:wrap;

}

.coach-badge{

display:inline-flex;

align-items:center;

gap:.45rem;

padding:6px 14px;

background:#fff7ed;

color:var(--coach-warning);

font-size:.75rem;

font-weight:700;

border-radius:999px;

margin-bottom:.8rem;

}

.coach-hero h1{

font-size:2rem;

font-weight:800;

margin-bottom:.45rem;

}

.coach-hero p{

margin:0;

color:var(--coach-muted);

}

.coach-hero-actions{

display:flex;

gap:.75rem;

flex-wrap:wrap;

}

.coach-create-btn{

background:linear-gradient(
135deg,
var(--coach-primary),
var(--coach-primary-dark)) !important;

color:#fff !important;

border:none;

padding:.75rem 1.15rem;

border-radius:12px;

font-weight:700;

transition:var(--coach-transition);

}

.coach-create-btn:hover{

transform:translateY(-2px);

color:#fff;

}

/*==================================================
Statistics
==================================================*/

.coach-stats{

display:flex;

gap:1rem;

margin-top:1rem;

flex-wrap:wrap;

}

.coach-stat-card{

background:#f8fafc;

border:1px solid var(--coach-border);

border-radius:16px;

padding:1rem 1.3rem;

min-width:150px;

text-align:center;

}

.coach-stat-card h2{

font-size:1.55rem;

font-weight:800;

margin-bottom:.2rem;

color:var(--coach-warning);

}

.coach-stat-card p{

margin:0;

font-size:.82rem;

color:var(--coach-muted);

}

/*==================================================
Search / Filters
==================================================*/

.coach-filter-card{

background:#fff;

border-radius:18px;

padding:1.2rem;

margin-bottom:1rem;

box-shadow:var(--coach-shadow);

}

.coach-filter-card .form-label{

font-size:.82rem;

font-weight:700;

margin-bottom:.45rem;

}

.coach-filter-card .form-control,
.coach-filter-card .form-select{

border:1px solid var(--coach-border);

border-radius:12px;

padding:.72rem .95rem;

font-size:.88rem;

}

.coach-filter-card .form-control:focus,
.coach-filter-card .form-select:focus{

border-color:var(--coach-primary);

box-shadow:
0 0 0 .18rem rgba(37,99,235,.10);

}

.coach-search-btn{

background:var(--coach-primary);

color:#fff;

border:none;

border-radius:12px;

padding:.75rem;

font-weight:700;

transition:var(--coach-transition);

}

.coach-search-btn:hover{

background:var(--coach-primary-dark);

color:#fff;

}

/*==================================================
Timeline
==================================================*/

.coach-feed{

display:flex;

flex-direction:column;

gap:1rem;

max-width: 620px;

margin: 0 auto;

}

/*==================================================
Popular Cards
==================================================*/

.coach-card{

background:#fff;

border:1px solid var(--coach-border);

border-radius:18px;

overflow:hidden;

box-shadow:var(--coach-shadow);

transition:var(--coach-transition);

position:relative;

}

.coach-card:hover{

transform:translateY(-4px);

box-shadow:
0 18px 40px rgba(15,23,42,.10);

}

/*==================================================
Header
==================================================*/

.coach-card-header{

display:flex;

justify-content:space-between;

align-items:flex-start;

gap:1rem;

padding:1rem 1.2rem;

}

.coach-author{

display:flex;

align-items:center;

gap:.8rem;

}

.coach-avatar{

width:48px;

height:48px;

border-radius:50%;

object-fit:cover;

border:2px solid #fff;

box-shadow:0 3px 12px rgba(0,0,0,.08);

}

.country-flag{

width:18px;

height:18px;

margin-left:.35rem;

vertical-align:middle;

border-radius:50%;

}

.coach-author-name{

display:flex;

align-items:center;

font-size:.95rem;

font-weight:700;

}

.coach-meta{

display:flex;

align-items:center;

gap:.45rem;

flex-wrap:wrap;

margin-top:.2rem;

font-size:.78rem;

color:var(--coach-muted);

}

.coach-category{

display:inline-flex;

align-items:center;

gap:.35rem;

padding:3px 10px;

background:#eff6ff;

color:var(--coach-primary);

border-radius:999px;

font-size:.72rem;

font-weight:700;

}

/*==================================================
Popular Badge
==================================================*/

.coach-popular-badge{

display:inline-flex;

align-items:center;

gap:.35rem;

padding:7px 14px;

background:linear-gradient(
135deg,
#f59e0b,
#f97316);

color:#fff;

font-size:.76rem;

font-weight:700;

border-radius:999px;

box-shadow:
0 8px 20px rgba(245,158,11,.25);

white-space:nowrap;

}

/*==================================================
Cover
==================================================*/

.coach-cover{

overflow:hidden;

background:#f3f4f6;

max-height:260px;

}

.coach-cover-image{

width:100%;

height:260px;

object-fit:cover;

display:block;

transition:.35s ease;

}

.coach-card:hover .coach-cover-image{

transform:scale(1.03);

}

/*==================================================
Body
==================================================*/

.coach-card-body{

padding:1.2rem;

}

.coach-card-body h2{

font-size:1.18rem;

font-weight:800;

line-height:1.45;

margin-bottom:.7rem;

}

.coach-card-body h2 a{

color:var(--coach-text);

text-decoration:none;

transition:var(--coach-transition);

}

.coach-card-body h2 a:hover{

color:var(--coach-primary);

}

.coach-card-body p{

margin:0;

font-size:.92rem;

line-height:1.75;

color:var(--coach-muted);

}

/*==================================================
Footer
==================================================*/

.coach-card-footer{

display:flex;

justify-content:space-between;

align-items:center;

gap:1rem;

padding:1rem 1.2rem;

border-top:1px solid var(--coach-border);

flex-wrap:wrap;

}

.coach-stats{

display:flex;

align-items:center;

gap:1rem;

flex-wrap:wrap;

font-size:.82rem;

font-weight:600;

color:var(--coach-muted);

}

.coach-stats span{

display:flex;

align-items:center;

gap:.3rem;

}

.coach-read-btn{

display:inline-flex;

align-items:center;

gap:.45rem;

padding:.68rem 1rem;

background:linear-gradient(
135deg,
var(--coach-primary),
var(--coach-primary-dark));

color:#fff;

text-decoration:none;

font-size:.82rem;

font-weight:700;

border-radius:12px;

transition:var(--coach-transition);

}

.coach-read-btn:hover{

transform:translateY(-2px);

color:#fff;

}

/*==================================================
Empty State
==================================================*/

.coach-empty{

background:#fff;

border-radius:18px;

padding:3rem 2rem;

text-align:center;

box-shadow:var(--coach-shadow);

}

.coach-empty i{

font-size:3rem;

color:var(--coach-warning);

margin-bottom:1rem;

}

.coach-empty h3{

font-size:1.35rem;

font-weight:800;

margin-bottom:.5rem;

}

.coach-empty p{

font-size:.95rem;

color:var(--coach-muted);

margin-bottom:1.5rem;

}

/*==================================================
Pagination
==================================================*/

.coach-pagination{

margin-top:1.5rem;

}

.coach-pagination .pagination{

gap:.45rem;

}

.coach-pagination .page-link{

background:#fff;

color:var(--coach-primary);

border:none;

border-radius:10px;

padding:.65rem .95rem;

font-weight:700;

box-shadow:
0 4px 10px rgba(15,23,42,.05);

transition:var(--coach-transition);

}

.coach-pagination .page-link:hover{

background:var(--coach-primary-dark);

color:#fff;

}

.coach-pagination .page-item.active .page-link{

background:var(--coach-primary);

color:#fff;

}

/*==================================================
Animations
==================================================*/

@keyframes coachFadeUp{

from{

opacity:0;

transform:
translateY(18px);

}

to{

opacity:1;

transform:
translateY(0);

}

}

.coach-card{

animation:
coachFadeUp .45s ease both;

}

.coach-card:nth-child(2){

animation-delay:.05s;

}

.coach-card:nth-child(3){

animation-delay:.10s;

}

.coach-card:nth-child(4){

animation-delay:.15s;

}

.coach-card:nth-child(5){

animation-delay:.20s;

}

/*==================================================
Hover Effects
==================================================*/

.coach-avatar{

transition:
transform .25s ease,
box-shadow .25s ease;

}

.coach-card:hover .coach-avatar{

transform:scale(1.06);

box-shadow:
0 8px 20px rgba(37,99,235,.18);

}

.country-flag{

transition:
transform .25s ease;

}

.coach-card:hover .country-flag{

transform:scale(1.12);

}

.coach-category{

transition:
all .25s ease;

}

.coach-category:hover{

background:var(--coach-primary);

color:#fff;

}

.coach-popular-badge{

transition:
all .25s ease;

}

.coach-card:hover .coach-popular-badge{

transform:scale(1.06);

box-shadow:
0 12px 28px rgba(245,158,11,.35);

}

.coach-stat-card{

transition:
all .25s ease;

}

.coach-stat-card:hover{

transform:translateY(-3px);

box-shadow:
0 10px 24px rgba(15,23,42,.08);

}

.coach-filter-card{

transition:
all .25s ease;

}

.coach-filter-card:hover{

box-shadow:
0 14px 30px rgba(15,23,42,.08);

}

.coach-create-btn,
.coach-search-btn,
.coach-read-btn{

transition:
all .25s ease;

}

.coach-create-btn:hover,
.coach-search-btn:hover,
.coach-read-btn:hover{

transform:
translateY(-2px);

}

/*==================================================
Scrollbar
==================================================*/

::-webkit-scrollbar{

width:10px;

height:10px;

}

::-webkit-scrollbar-track{

background:#eef2f7;

border-radius:999px;

}

::-webkit-scrollbar-thumb{

background:
linear-gradient(
180deg,
var(--coach-primary),
var(--coach-primary-dark));

border-radius:999px;

}

::-webkit-scrollbar-thumb:hover{

background:
var(--coach-primary-dark);

}

/*==================================================
Accessibility
==================================================*/

button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus{

outline:none;

}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{

box-shadow:
0 0 0 .2rem rgba(37,99,235,.18);

}

/*==================================================
Responsive
==================================================*/

@media (max-width:992px){

.coach-hero{

padding:1.2rem;

}

.coach-hero-content{

flex-direction:column;

align-items:flex-start;

}

.coach-stats{

width:100%;

}

.coach-stat-card{

flex:1;

min-width:140px;

}

.coach-card-header{

flex-direction:column;

align-items:flex-start;

}

.coach-card-footer{

flex-direction:column;

align-items:flex-start;

}

}

@media (max-width:768px){

.coach-page{

padding:1rem 0 1.5rem;

}

.coach-hero h1{

font-size:1.55rem;

}

.coach-card-body{

padding:1rem;

}

.coach-card-body h2{

font-size:1.05rem;

}

.coach-cover-image{

height:210px;

}

.coach-card-footer{

padding:.9rem 1rem;

}

.coach-stats{

gap:.8rem;

font-size:.78rem;

}

.coach-read-btn{

width:100%;

justify-content:center;

}

}

@media (max-width:576px){

.coach-avatar{

width:42px;

height:42px;

}

.country-flag{

width:16px;

height:16px;

}

.coach-author-name{

font-size:.88rem;

}

.coach-meta{

font-size:.74rem;

}

.coach-cover-image{

height:180px;

}

.coach-stat-card{

width:100%;

}

.coach-filter-card{

padding:1rem;

}

.coach-empty{

padding:2rem 1.2rem;

}

.coach-empty i{

font-size:2.5rem;

}

.coach-popular-badge{

font-size:.7rem;

padding:6px 12px;

}

}

/*==================================================
Premium Finish
==================================================*/

.coach-card,
.coach-filter-card,
.coach-stat-card,
.coach-hero{

backdrop-filter:blur(10px);

}

.coach-card:last-child{

margin-bottom:.5rem;

}


.coach-author-link{

    display:flex;

    align-items:center;

    gap:.8rem;

    min-width:0;

    color:inherit !important;

    text-decoration:none;

}

.coach-author-link:hover{

    color:inherit;

}

.coach-author-link .coach-author-name{

    color:var(--coach-text);

    transition:var(--coach-transition);

}

.coach-author-link:hover .coach-author-name{

    color:var(--coach-primary) !important;

}

.coach-author-link .country-flag{

    margin-left:.35rem;

}


.coach-reset-btn{

    background-color:#f1f5f9 !important;

    color:var(--coach-text) !important;

    border:1px solid var(--coach-border);

    border-radius:12px;

    padding:.75rem;

    font-weight:700;

    text-decoration:none;

    transition:var(--coach-transition);

}

.coach-reset-btn:hover{

    background-color:#e2e8f0 !important;

    color:var(--coach-text) !important;

    border-color:#cbd5e1;

    transform:translateY(-2px);

}


/*==================================================
Load More
==================================================*/

.coach-load-more-wrap{

    display:flex;

    justify-content:center;

    align-items:center;

    margin:1.25rem 0 .5rem;

}


.coach-load-more-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:.5rem;

    min-width:180px;

    height:44px;

    padding:0 1.15rem;

    border:1px solid var(--coach-border);

    border-radius:12px;

    background:#fff;

    color:var(--coach-primary);

    font-size:.84rem;

    font-weight:700;

    box-shadow:
        0 5px 16px rgba(15,23,42,.06);

    cursor:pointer;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        background .22s ease,
        color .22s ease;

}


.coach-load-more-btn:hover{

    transform:translateY(-2px);

    background:var(--coach-primary);

    color:#fff;

    border-color:var(--coach-primary);

    box-shadow:
        0 9px 22px rgba(37,99,235,.18);

}


.coach-load-more-btn i{

    font-size:1rem;

}


.coach-load-more-btn.loading{

    pointer-events:none;

    opacity:.65;

}


.coach-load-more-btn.loading i{

    animation:
        coachPopularLoadSpin .8s linear infinite;

}


@keyframes coachPopularLoadSpin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}


.coach-caught-up{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:.5rem;

    margin:1.25rem 0 .5rem;

    font-size:.82rem;

    font-weight:700;

    color:var(--coach-muted);

}


.coach-caught-up i{

    font-size:1rem;

    color:#22c55e;

}


/*==================================================
Available Versions
==================================================*/

.coach-language-switcher{

    display:flex;

    flex-direction:column;

    gap:.25rem;

}


.coach-language-label{

    font-size:.72rem;

    font-weight:700;

    color:var(--coach-muted);

    white-space:nowrap;

}


.coach-language-select{

    min-width:150px;

    max-width:190px;

    padding:.35rem .65rem;

    border:1px solid var(--coach-border);

    border-radius:9px;

    background:#fff;

    color:var(--coach-text);

    font-size:.72rem;

    font-weight:600;

    cursor:pointer;

}


.coach-language-select:focus{

    border-color:var(--coach-primary);

    box-shadow:
        0 0 0 .15rem
        rgba(37,99,235,.10);

}


@media(max-width:576px){

    .coach-language-switcher{

        width:100%;

    }


    .coach-language-select{

        width:100%;

        max-width:none;

    }

}

/* ==================================================
   Popular - Compact Mobile Header
   ================================================== */

@media (max-width: 576px){

    .coach-card-header{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:.5rem;
    }


    .coach-author{
        display:flex;
        align-items:flex-start;
        gap:.55rem;
        min-width:0;
        flex:1;
    }


    .coach-author-link{
        display:flex;
        align-items:center;
        gap:.5rem;
        min-width:0;
        flex-shrink:0;
    }


    .coach-avatar{
        width:38px;
        height:38px;
        flex-shrink:0;
    }


    .coach-author-name{
        font-size:.82rem;
        line-height:1.2;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        max-width:110px;
    }


    .coach-meta{
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:.3rem;
        min-width:0;
        font-size:.68rem;
        line-height:1.2;
    }


    .coach-category{
        white-space:nowrap;
    }


    .coach-language-switcher{
        display:flex;
        flex-direction:column;
        gap:.15rem;
        min-width:0;
    }


    .coach-language-label{
        font-size:.63rem;
        line-height:1.1;
        white-space:nowrap;
    }


    .coach-language-select{
        width:120px;
        min-width:120px;
        max-width:120px;

        height:30px;

        padding:.2rem .45rem;

        border-radius:7px;

        font-size:.64rem;

        line-height:1 !important;
    }


    .coach-popular-badge{
        flex-shrink:0;
        padding:.25rem .45rem;
        font-size:.62rem;
        border-radius:7px;
        white-space:nowrap;
    }

}
