/* ===== Coach Professionnel - custom styles ===== */
:root{
  --cp-main:#1f6f6b;
  --cp-dark:#143b3a;
  --cp-accent:#b5651d;
}

/* Brand text logo */
.brand-text{
  font-family:'Poppins',sans-serif;
  font-size:26px;
  font-weight:700;
  color:var(--cp-dark);
  letter-spacing:-.5px;
  line-height:1;
}
.brand-text span{color:var(--cp-main);}
.footer-brand{color:#fff;display:inline-block;margin-bottom:18px;font-size:24px;}
.footer-brand span{color:var(--cp-main);}

.dl-menu li.active > a{color:var(--cp-main);}
.top-social li a{color:#fff;font-size:13px;}

/* ===== Hero ===== */
.hero-section{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,#143b3a 0%,#1f6f6b 55%,#2a8a83 100%);}
.hero-section .bg-img{display:none;}
.hero-section .overlay{position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(181,101,29,.28),transparent 55%);}

/* Page header banners : brand gradient instead of placeholder image */
.page-header{background-image:linear-gradient(120deg,#143b3a 0%,#1f6f6b 100%) !important;background-size:cover;background-position:center;}
.page-header .overlay{background:radial-gradient(circle at 80% 20%,rgba(181,101,29,.25),transparent 55%) !important;}
.hero-inner{position:relative;width:100%;padding:120px 0;}
.hero-content{max-width:680px;}
.hero-content .sub-heading.light{color:#ffd9a0;}
.hero-content h1{color:#fff;font-size:52px;line-height:1.1;margin:14px 0 18px;}
.hero-content p{color:#f1f1f1;font-size:18px;margin-bottom:30px;}
.hero-btns .default-btn{margin-right:14px;margin-bottom:10px;}
.default-btn.outline{background:transparent;border:2px solid #fff;}
.default-btn.outline:hover{background:#fff;color:var(--cp-dark);}

/* ===== bullet list ===== */
.bullet-list{margin:0;padding:0;list-style:none;}
.bullet-list li{position:relative;padding:14px 0 14px 40px;border-bottom:1px solid #eee;font-size:17px;color:#333;}
.bullet-list li i{position:absolute;left:0;top:16px;color:var(--cp-main);font-size:18px;}

/* ===== Featured coach ===== */
.featured-box{display:flex;align-items:center;gap:36px;background:#fff;border-radius:14px;padding:40px;box-shadow:0 18px 50px rgba(0,0,0,.07);flex-wrap:wrap;}
.featured-body{flex:1;min-width:260px;}
.featured-body h3{font-size:24px;margin-bottom:10px;}
.featured-actions{margin-top:18px;}
.featured-actions .default-btn{margin-right:12px;margin-bottom:10px;}
.paris-section .featured-actions{margin-top:6px;}

/* ===== Avatar ===== */
.coach-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:22px;font-family:'Poppins',sans-serif;flex-shrink:0;}
.coach-avatar.big{width:130px;height:130px;font-size:44px;margin:0 auto 18px;}

/* ===== Coach card ===== */
.coach-grid{margin-top:10px;}
.coach-card{position:relative;background:#fff;border:1px solid #eee;border-radius:12px;padding:26px;height:100%;transition:.3s;}
.coach-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.09);transform:translateY(-4px);}
.coach-badge{position:absolute;top:14px;right:14px;background:var(--cp-main);color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;}
.coach-badge.paris{background:var(--cp-accent);}
.coach-card-top{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.coach-card-id h3{font-size:18px;margin:0 0 4px;line-height:1.3;}
.coach-cat{color:var(--cp-main);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;}
.coach-meta{list-style:none;margin:0 0 12px;padding:0;}
.coach-meta li{font-size:14px;color:#666;padding:3px 0;}
.coach-meta li i{color:var(--cp-main);width:18px;}
.coach-rating{margin-bottom:14px;font-size:14px;}
.coach-rating .stars{color:#f5a623;margin-right:8px;}
.coach-rating .rnum{color:#444;font-weight:600;}
.coach-rating.big{font-size:16px;margin:6px 0 16px;}
.coach-card .read-more{font-weight:600;}

/* ===== Filter bar ===== */
.directory-intro{max-width:880px;margin:0 auto 30px;text-align:center;color:#555;font-size:16px;}
.filter-bar{text-align:center;margin-bottom:36px;}
.filter-btn{background:#f3f3f3;border:none;border-radius:24px;padding:8px 18px;margin:5px;font-size:14px;font-weight:600;color:#444;cursor:pointer;transition:.25s;}
.filter-btn:hover,.filter-btn.active{background:var(--cp-main);color:#fff;}

/* ===== Coach single ===== */
.coach-side{background:#fff;border:1px solid #eee;border-radius:14px;padding:34px 26px;text-align:center;}
.coach-side h2{font-size:22px;margin:0 0 6px;}
.coach-side .coach-cat{display:block;margin-bottom:12px;}
.coach-info{list-style:none;margin:18px 0;padding:0;text-align:left;}
.coach-info li{padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:15px;color:#444;}
.coach-info li i{color:var(--cp-main);width:22px;}
.coach-side .default-btn{display:block;margin:12px 0 0;}
.coach-main h2{font-size:26px;margin-bottom:14px;}
.coach-main h3{font-size:20px;margin:26px 0 12px;}
.cat-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px;}
.cat-tags li{background:#eef5f4;color:var(--cp-dark);padding:7px 14px;border-radius:20px;font-size:14px;}
.coach-news{background:#fbf6ef;border-left:4px solid var(--cp-accent);padding:22px 24px;border-radius:8px;margin-top:26px;}
.coach-news h3{margin-top:0;}
.coach-reviews{margin-top:30px;}
.rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rev-item{background:#fff;border:1px solid #eee;border-radius:10px;padding:20px;}
.rev-item .stars{color:#f5a623;}
.rev-item p{margin:10px 0;font-style:italic;color:#444;}
.rev-author{font-weight:600;color:var(--cp-dark);}
.coach-back{margin-top:30px;}

/* ===== Guide ===== */
.guide-body h2{font-size:24px;margin:30px 0 12px;color:var(--cp-dark);}
.guide-body p{font-size:16px;color:#444;line-height:1.8;}
.guide-cta{margin-top:34px;}

/* ===== FAQ ===== */
.faq-wrap{max-width:900px;margin:0 auto;}
.faq-item{background:#fff;border:1px solid #eee;border-radius:10px;padding:24px 26px;margin-bottom:16px;}
.faq-item h3{font-size:19px;margin:0 0 10px;color:var(--cp-dark);}
.faq-item p{margin:0;color:#555;line-height:1.7;}

.mt-30{margin-top:30px;}
.mt-50{margin-top:50px;}

/* page-header h1 inherits theme h2 sizing */
.page-header .page-content h1{color:#fff;font-size:42px;margin-bottom:14px;}

@media (max-width:991px){
  .hero-content h1{font-size:38px;}
  .rev-grid{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .hero-content h1{font-size:30px;}
  .featured-box{padding:26px;}
}
