/*==================================================
FEATURED
Premium Design System
==================================================*/

:root{

--coach-primary:#2563eb;
--coach-primary-dark:#1d4ed8;

--coach-gold:#f59e0b;
--coach-gold-dark:#d97706;

--coach-success:#16a34a;
--coach-danger:#dc2626;

--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:#fffbeb;

color:var(--coach-gold);

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));

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-gold);

}

.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;

}

/*==================================================
Featured 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;

}

/*==================================================
Featured Badge
==================================================*/

.coach-featured-badge{

display:inline-flex;

align-items:center;

gap:.35rem;

padding:7px 14px;

background:
linear-gradient(
135deg,
var(--coach-gold),
var(--coach-gold-dark));

color:#fff;

font-size:.76rem;

font-weight:700;

border-radius:999px;

white-space:nowrap;

box-shadow:
0 8px 22px rgba(245,158,11,.28);

}

/*==================================================
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-gold);

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(245,158,11,.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-featured-badge{

transition:
all .25s ease;

}

.coach-card:hover .coach-featured-badge{

transform:scale(1.06);

box-shadow:
0 12px 30px rgba(245,158,11,.40);

}

.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-featured-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-card,
.coach-cover-image,
.coach-read-btn,
.coach-search-btn,
.coach-create-btn{

will-change:
transform;

}

/* ==========================================================
   Featured Author
========================================================== */

.coach-author-link{

    display:flex;

    align-items:center;

    gap:.75rem;

    width:100%;

    color:inherit;

    text-decoration:none;

}

.coach-author-link:hover{

    color:inherit;

}

.coach-author-link > div{

    min-width:0;

}

/* Avatar */

.coach-author-link .coach-avatar{

    width:44px;

    height:44px;

    min-width:44px;

    border-radius:50%;

    object-fit:cover;

}

/* Username + flag */

.coach-author-name{

    display:flex;

    align-items:center;

    gap:.35rem;

    font-size:.92rem;

    font-weight:700;

    line-height:1.3;

    color:var(--coach-text);

}

.coach-author-link:hover .coach-author-name{

    color:var(--coach-primary);

}

/* Country flag */

.coach-author-name .country-flag{

    width:18px;

    height:13px;

    object-fit:cover;

    border-radius:2px;

    flex-shrink:0;

}

/* Category + date */

.coach-meta{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:.4rem;

    margin-top:.2rem;

    font-size:.75rem;

    line-height:1.3;

    color:var(--coach-muted);

}

.coach-category{

    display:inline-flex;

    align-items:center;

    gap:.2rem;

    font-weight:600;

    color:var(--coach-text);

}


.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 !important;

    transform:translateY(-2px);

}