/*==================================================
Coaching Center
Premium Design System
==================================================*/

:root{

--coach-primary:#2563eb;
--coach-primary-dark:#1d4ed8;

--coach-accent:#7c3aed;
--coach-accent-dark:#6d28d9;

--coach-success:#16a34a;
--coach-warning:#f59e0b;
--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);

font-family:
Inter,
system-ui,
sans-serif;

color:
var(--coach-text);

}

/*==================================================
Layout
==================================================*/

.coach-page{

padding:1.2rem 0 2rem;

}

.coach-page .container{

max-width:1280px;

}

/*==================================================
Hero
==================================================*/

.coach-hero{

background:#fff;

border-radius:22px;

padding:1.6rem;

box-shadow:var(--coach-shadow);

margin-bottom:1rem;

}

.coach-hero-content{

display:flex;

justify-content:space-between;

align-items:center;

gap:1rem;

flex-wrap:wrap;

margin-bottom:1.25rem;

}

.coach-badge{

display:inline-flex;

align-items:center;

gap:.45rem;

padding:7px 15px;

background:#eef2ff;

color:var(--coach-primary);

font-size:.76rem;

font-weight:700;

border-radius:999px;

margin-bottom:.8rem;

}

.coach-hero h1{

font-size:2rem;

font-weight:800;

margin-bottom:.4rem;

}

.coach-hero p{

margin:0;

color:var(--coach-muted);

font-size:.95rem;

}

.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;

border-radius:12px;

padding:.8rem 1.25rem;

font-weight:700;

transition:var(--coach-transition);

}

.coach-create-btn:hover{

transform:translateY(-2px);

color:#fff;

}

/*==================================================
Statistics
==================================================*/

.coach-stats{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(170px,1fr));

gap:1rem;

}

.coach-stat-card{

background:#f8fafc;

border:1px solid var(--coach-border);

border-radius:18px;

padding:1rem;

text-align:center;

transition:var(--coach-transition);

}

.coach-stat-card h2{

font-size:1.7rem;

font-weight:800;

color:var(--coach-primary);

margin-bottom:.3rem;

}

.coach-stat-card p{

margin:0;

font-size:.82rem;

color:var(--coach-muted);

font-weight:600;

}

/*==================================================
Search
==================================================*/

.coach-filter-card{

background:#fff;

border-radius:18px;

padding:1.2rem;

margin:1rem 0;

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;

transition:var(--coach-transition);

}

.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,.12);

}

.coach-search-btn{

background:
linear-gradient(
135deg,
var(--coach-primary),
var(--coach-primary-dark));

color:#fff !important;

border:none;

border-radius:12px;

padding:.75rem;

font-weight:700;

transition:var(--coach-transition);

}

.coach-search-btn:hover{

color:#fff;

background:red !important;

}

/*==================================================
Quick Navigation
==================================================*/

.coach-shortcuts{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(170px,1fr));

gap:.9rem;

margin-bottom:1.25rem;

}

.coach-shortcut{

display:flex;

align-items:center;

justify-content:center;

gap:.55rem;

padding:1rem;

background:#fff;

border:1px solid var(--coach-border);

border-radius:16px;

text-decoration:none;

font-weight:700;

font-size:.88rem;

color:#7a818c !important;

box-shadow:var(--coach-shadow);

transition:var(--coach-transition);

}

.coach-shortcut:hover{

transform:translateY(-3px);

background:var(--coach-primary);

color:#fff;

border-color:var(--coach-primary);

}

/*==================================================
General Structure
==================================================*/

.coach-widget{

background:#fff;

border-radius:18px;

padding:1.2rem;

margin-bottom:1rem;

box-shadow:var(--coach-shadow);

}

.coach-widget-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:1rem;

gap:1rem;

flex-wrap:wrap;

}

.coach-widget-header h2{

font-size:1.1rem;

font-weight:800;

margin:0;

}

.coach-widget-header a{

text-decoration:none;

font-weight:700;

color:var(--coach-primary);

}

.coach-feed {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.coach-feed .coach-card {
    width: calc(50% - 0.5rem);
}

@media (max-width: 767px) {

    .coach-feed {
        gap: 1rem;
    }

    .coach-feed .coach-card {
        width: 100%;
    }

}

/*==================================================
Widgets
==================================================*/

.coach-widget{

background:#fff;

border:1px solid var(--coach-border);

border-radius:18px;

padding:1.25rem;

box-shadow:var(--coach-shadow);

margin-bottom:1rem;

}

.coach-widget-header{

display:flex;

justify-content:space-between;

align-items:center;

gap:1rem;

margin-bottom:1rem;

}

.coach-widget-header h2{

font-size:1.05rem;

font-weight:800;

margin:0;

}

.coach-widget-header a{

text-decoration:none;

font-size:.82rem;

font-weight:700;

color:var(--coach-primary);

}

.coach-widget-header a:hover{

color:var(--coach-primary-dark);

}

/*==================================================
Featured Mini Cards
==================================================*/

.coach-mini-card{

background:#fff;

border:1px solid var(--coach-border);

border-radius:16px;

overflow:hidden;

height:100%;

transition:var(--coach-transition);

box-shadow:
0 4px 12px rgba(15,23,42,.05);

}

.coach-mini-card:hover{

transform:translateY(-4px);

box-shadow:
0 16px 30px rgba(15,23,42,.10);

}

.coach-mini-cover{

width:100%;

height:170px;

object-fit:cover;

display:block;

}

.coach-mini-body{

padding:1rem;

}

.coach-mini-body h5{

margin:.6rem 0 0;

font-size:1rem;

font-weight:800;

line-height:1.45;

}

.coach-mini-body h5 a{

text-decoration:none;

color:var(--coach-text);

transition:var(--coach-transition);

}

.coach-mini-body h5 a:hover{

color:var(--coach-primary);

}

/*==================================================
Lists
==================================================*/

.coach-list{

list-style:none;

margin:0;

padding:0;

display:flex;

flex-direction:column;

gap:.75rem;

}

.coach-list li{

padding-bottom:.75rem;

border-bottom:1px solid var(--coach-border);

}

.coach-list li:last-child{

border-bottom:none;

padding-bottom:0;

}

.coach-list a{

text-decoration:none;

font-size:.9rem;

font-weight:600;

color:var(--coach-text);

transition:var(--coach-transition);

display:block;

}

.coach-list a:hover{

color:var(--coach-primary);

padding-left:4px;

}

/*==================================================
Timeline 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);

}

.coach-card:hover{

transform:translateY(-4px);

box-shadow:
0 18px 38px rgba(15,23,42,.10);

}

.coach-card-header{

display:flex;

justify-content:space-between;

align-items:flex-start;

padding:1rem 1.2rem;

gap:1rem;

}

.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 4px 12px rgba(0,0,0,.08);

}

.country-flag{

width:18px;

height:18px;

margin-left:.35rem;

border-radius:50%;

vertical-align:middle;

}

.coach-author-name{

display:flex;

align-items:center;

font-size:.95rem;

font-weight:700;

}

.coach-meta{

margin-top:.2rem;

display:flex;

align-items:center;

gap:.4rem;

flex-wrap:wrap;

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);

font-size:.72rem;

font-weight:700;

border-radius:999px;

}

.coach-featured-badge{

display:inline-flex;

align-items:center;

gap:.35rem;

padding:7px 14px;

background:
linear-gradient(
135deg,
#f59e0b,
#d97706);

color:#fff;

font-size:.75rem;

font-weight:700;

border-radius:999px;

box-shadow:
0 8px 22px rgba(245,158,11,.30);

}

/*==================================================
Cover
==================================================*/

.coach-cover{

overflow:hidden;

background:#f8fafc;

}

.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;

margin-bottom:.7rem;

line-height:1.45;

}

.coach-card-body h2 a{

text-decoration:none;

color:var(--coach-text);

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;

justify-content:center;

gap:.45rem;

padding:.7rem 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-primary);

margin-bottom:1rem;

}

.coach-empty h3{

font-size:1.35rem;

font-weight:800;

margin-bottom:.5rem;

}

.coach-empty p{

color:var(--coach-muted);

margin-bottom:1.5rem;

}

/*==================================================
Pagination
==================================================*/

.coach-pagination{

margin-top:1.5rem;

}

.coach-pagination .pagination{

gap:.45rem;

}

.coach-pagination .page-link{

border:none;

background:#fff;

color:var(--coach-primary);

padding:.65rem .95rem;

border-radius:10px;

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,
.coach-widget,
.coach-mini-card,
.coach-stat-card,
.coach-shortcut{

animation:
coachFadeUp .45s ease both;

}

.coach-card:nth-child(2),
.coach-widget:nth-child(2){

animation-delay:.05s;

}

.coach-card:nth-child(3),
.coach-widget: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-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,.35);

}

.coach-stat-card:hover{

transform:translateY(-3px);

box-shadow:
0 12px 26px rgba(15,23,42,.08);

}

.coach-widget:hover{

box-shadow:
0 14px 30px rgba(15,23,42,.08);

}

.coach-mini-card:hover{

transform:translateY(-4px);

}

.coach-shortcut:hover{

transform:translateY(-3px);

}

.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.25rem;

}

.coach-hero-content{

flex-direction:column;

align-items:flex-start;

}

.coach-stats{

grid-template-columns:
repeat(2,1fr);

}

.coach-shortcuts{

grid-template-columns:
repeat(2,1fr);

}

.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.6rem;

}

.coach-card-body{

padding:1rem;

}

.coach-card-body h2{

font-size:1.05rem;

}

.coach-cover-image{

height:210px;

}

.coach-mini-cover{

height:160px;

}

.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-stats{

grid-template-columns:1fr;

}

.coach-shortcuts{

grid-template-columns:1fr;

}

.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-mini-cover{

height:150px;

}

.coach-filter-card{

padding:1rem;

}

.coach-widget{

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-widget,
.coach-mini-card,
.coach-stat-card,
.coach-shortcut,
.coach-filter-card,
.coach-hero{

backdrop-filter:blur(10px);

}

.coach-card:last-child{

margin-bottom:.5rem;

}

.coach-card,
.coach-widget,
.coach-mini-card,
.coach-cover-image,
.coach-mini-cover,
.coach-create-btn,
.coach-search-btn,
.coach-read-btn{

will-change:
transform;

}

.coach-cover,
.coach-mini-cover{

background:#f8fafc;

}

.coach-card:hover .coach-card-body h2 a,
.coach-mini-card:hover h5 a{

color:var(--coach-primary);

}

.coach-widget-header a{

transition:var(--coach-transition);

}

.coach-widget-header a:hover{

letter-spacing:.3px;

}

.coach-list li{

transition:var(--coach-transition);

}

.coach-list li:hover{

padding-left:6px;

}


/*==================================================
HERO LEFT
==================================================*/

.coach-hero-left{

max-width:700px;

display:flex;

flex-direction:column;

gap:14px;

}

/*==================================================
HERO SUBTITLE
==================================================*/

.coach-hero-subtitle{

margin:0;

font-size:16px;

line-height:1.7;

font-weight:400;

color:#64748b;

max-width:620px;

}

/*==================================================
CATEGORY TAGS
==================================================*/

.coach-hero-tags{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:2px;

}

/*==================================================
TAG
==================================================*/

.coach-hero-tags span{

display:inline-flex;

align-items:center;

gap:6px;

padding:7px 14px;

background:#ffffff;

border:1px solid #e2e8f0;

border-radius:999px;

font-size:13px;

font-weight:600;

color:#334155;

transition:.25s;

white-space:nowrap;

box-shadow:0 2px 8px rgba(15,23,42,.04);

}

.coach-hero-tags span:hover{

transform:translateY(-2px);

background:#2563eb;

border-color:#2563eb;

color:#fff;

box-shadow:0 8px 18px rgba(37,99,235,.18);

}


/*==================================================
HERO STATS
==================================================*/

.coach-stats{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:12px;

margin-top:20px;

}

/*==================================================
CARD
==================================================*/

.coach-stat-card{

background:#fff;

border:1px solid #edf2f7;

border-radius:14px;

padding:14px 10px;

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

text-align:center;

min-height:88px;

transition:.25s;

box-shadow:0 3px 10px rgba(15,23,42,.04);

}

.coach-stat-card:hover{

transform:translateY(-2px);

border-color:#2563eb;

box-shadow:0 8px 18px rgba(37,99,235,.10);

}

/*==================================================
ICON
==================================================*/

.coach-stat-icon{

width:34px;

height:34px;

display:flex;

align-items:center;

justify-content:center;

border-radius:10px;

background:#eff6ff;

font-size:17px;

margin-bottom:6px;

}

/*==================================================
VALUE
==================================================*/

.coach-stat-value{

font-size:22px;

font-weight:600;

line-height:1;

color:#808081;

margin-bottom:3px;

}

/*==================================================
LABEL
==================================================*/

.coach-stat-label{

font-size:11px;

font-weight:600;

color:#64748b;

letter-spacing:.2px;

line-height:1.2;

}

/*==================================================
TABLET
==================================================*/

@media (max-width:992px){

.coach-stats{

grid-template-columns:repeat(2,1fr);

gap:10px;

}

}

/*==================================================
MOBILE
==================================================*/

@media (max-width:576px){

.coach-stats{

grid-template-columns:repeat(2,1fr);

gap:8px;

margin-top:16px;

}

.coach-stat-card{

padding:10px 6px;

min-height:72px;

border-radius:12px;

}

.coach-stat-icon{

width:28px;

height:28px;

font-size:15px;

margin-bottom:5px;

border-radius:8px;

}

.coach-stat-value{

font-size:18px;

margin-bottom:2px;

}

.coach-stat-label{

font-size:10px;

line-height:1.1;

}

}


.coach-reset-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    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-primary) !important;

    border-color:#cbd5e1;

    transform:translateY(-2px);

}


.coach-back-btn{

    background-color:#f1f5f9;

    color:var(--coach-text) !important;

    border:1px solid var(--coach-border);

    border-radius:12px;

    padding:.8rem 1.25rem;

    font-weight:700;

    transition:var(--coach-transition);

}

.coach-back-btn:hover{

    background-color:#e2e8f0 !important;

    color:var(--coach-primary) !important;

    border-color:#cbd5e1 !important;

    transform:translateY(-2px);

}