/* ============================================================
   Bray Bocage Formations — Styles TutorLMS
   DA : vert sauge #6b7c5a · orange #d4723a · crème #faf8f4
   v1.1.0
   ============================================================ */

:root {
  --bb-sage:       #6b7c5a;
  --bb-sage-dk:    #4e5e42;
  --bb-sage-deep:  #2d3d22;
  --bb-sage-lt:    #d4dece;
  --bb-orange:     #d4723a;
  --bb-orange-dk:  #b85e2a;
  --bb-orange-lt:  #f5e8df;
  --bb-cream:      #faf8f4;
  --bb-white:      #ffffff;
  --bb-gray:       #e8e5df;
  --bb-text:       #2c2a26;
  --bb-muted:      #8a8678;
  --bb-border:     #dbd8d0;
  --bb-radius:     10px;
  --bb-shadow:     0 4px 20px rgba(44,42,38,.09);
  --bb-font-deco:  'Cormorant Garamond', Georgia, serif;
  --bb-font-body:  'Lato', sans-serif;
}

/* ════════════════════════════════════════
   BASE
════════════════════════════════════════ */

body {
  background: var(--bb-cream) !important;
  font-family: var(--bb-font-body) !important;
  color: var(--bb-text) !important;
}

/* ════════════════════════════════════════
   HERO — dégradé vert forêt, zéro dépendance photo
════════════════════════════════════════ */

.bbf-hero {
  background:
    radial-gradient(ellipse 70% 55% at 12% 85%, rgba(107,124,90,.28) 0%, transparent 65%),
    radial-gradient(ellipse 55% 45% at 88% 12%, rgba(212,114,58,.12) 0%, transparent 65%),
    linear-gradient(158deg, #3a4d28 0%, #2d3d22 50%, #1e2815 100%);
  padding: 100px 24px 92px;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-bottom: 64px;
}

/* Grain organique subtil */
.bbf-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity: .5;
  pointer-events: none;
}

.bbf-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 auto;
}

.bbf-hero .bbf-hero-eyebrow {
  display: block;
  font-family: var(--bb-font-body);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .45em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45) !important;
  margin-bottom: 22px;
}

.bbf-hero-title {
  font-family: var(--bb-font-deco) !important;
  font-size: clamp(2.6rem, 6vw, 4.2rem) !important;
  font-weight: 300 !important;
  color: #fff !important;
  letter-spacing: .025em !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

.bbf-hero-title em {
  font-style: italic;
  color: #e0ccaa;
}

.bbf-hero-title::after {
  content: '';
  display: block;
  width: 38px;
  height: 1.5px;
  background: var(--bb-orange);
  margin: 22px auto 24px;
  border-radius: 2px;
  opacity: .9;
}

.bbf-hero .bbf-hero-sub {
  font-family: var(--bb-font-deco);
  font-size: 1.08rem;
  font-style: italic;
  font-weight: 300;
  color: rgba(255,255,255,.62) !important;
  line-height: 1.8;
  margin: 0 0 32px;
}

.bbf-hero-badges {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

.bbf-hero .bbf-hero-badge {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.78) !important;
  font-family: var(--bb-font-body);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 7px 18px;
  border-radius: 50px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

@media (max-width: 640px) {
  .bbf-hero { padding: 72px 20px 64px; }
  .bbf-hero-title { font-size: 2.3rem !important; }
  .bbf-hero-sub { font-size: .95rem; }
}

/* ════════════════════════════════════════
   ARCHIVE — masquer le titre généré par WP/GP
════════════════════════════════════════ */

.post-type-archive-courses .entry-header,
.post-type-archive-courses .page-header {
  display: none !important;
}

/* ════════════════════════════════════════
   GRILLE COURS
════════════════════════════════════════ */

.tutor-course-list.tutor-grid,
.tutor-grid-view .tutor-course-list {
  gap: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ════════════════════════════════════════
   CARTE COURS
════════════════════════════════════════ */

.tutor-card.tutor-course-card {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--bb-shadow) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.tutor-card.tutor-course-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 42px rgba(44,42,38,.13) !important;
  border-color: var(--bb-sage-lt) !important;
}

/* Liseré couleur en tête de carte */
.tutor-card.tutor-course-card::before {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--bb-sage) 0%, var(--bb-sage-lt) 100%);
  flex-shrink: 0;
  transition: background .28s ease;
}

.tutor-card.tutor-course-card:hover::before {
  background: linear-gradient(90deg, var(--bb-sage-dk) 0%, var(--bb-sage) 100%);
}

/* Image */
.tutor-course-thumbnail .tutor-ratio-16x9,
.tutor-course-thumbnail {
  border-radius: 0 !important;
  overflow: hidden !important;
}

.tutor-card-image-top {
  transition: transform .45s ease !important;
  filter: brightness(.95) !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.tutor-course-card:hover .tutor-card-image-top {
  transform: scale(1.05) !important;
  filter: brightness(1) !important;
}

/* Bookmark */
.tutor-course-bookmark {
  top: 10px !important;
  right: 10px !important;
}

.tutor-iconic-btn-secondary {
  background: rgba(255,255,255,.9) !important;
  border: none !important;
  backdrop-filter: blur(4px) !important;
  color: var(--bb-sage) !important;
}

.tutor-iconic-btn-secondary:hover {
  background: var(--bb-white) !important;
  color: var(--bb-orange) !important;
}

/* Corps */
.tutor-card-body {
  padding: 18px 20px 10px !important;
  flex: 1 !important;
}

/* Titre */
.tutor-course-name,
.tutor-course-card-title,
.tutor-card-body h2 {
  font-family: var(--bb-font-deco) !important;
  font-size: 1.22rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  margin: 0 0 10px !important;
}

.tutor-course-name a,
.tutor-course-card-title a,
.tutor-card-body h2 a {
  color: var(--bb-text) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}

.tutor-course-name a:hover,
.tutor-course-card-title a:hover {
  color: var(--bb-sage-dk) !important;
}

/* Meta */
.tutor-card-body .tutor-meta,
.tutor-card-body .tutor-course-author,
.tutor-meta-list {
  font-size: .8rem !important;
  color: var(--bb-muted) !important;
}

/* Badge catégorie */
.tutor-badge {
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  background: var(--bb-orange-lt) !important;
  color: var(--bb-orange-dk) !important;
  border-radius: 4px !important;
  padding: 3px 9px !important;
  border: none !important;
}

/* Étoiles */
.tutor-ratings-stars .tutor-icon-star-full::before,
.tutor-star-rating-group [class*="star-full"]::before {
  color: var(--bb-orange) !important;
}

/* Footer carte */
.tutor-card-footer {
  padding: 14px 20px 18px !important;
  border-top: 1px solid var(--bb-border) !important;
  background: var(--bb-white) !important;
}

.tutor-card-footer .list-item-price {
  display: block !important;
  margin-bottom: 10px !important;
}

/* Prix */
.list-item-price .price,
.list-item-price .tutor-fs-6,
.tutor-price,
.tutor-course-price {
  font-family: var(--bb-font-deco) !important;
  font-size: 1.32rem !important;
  font-weight: 500 !important;
  color: var(--bb-sage-dk) !important;
}

/* ════════════════════════════════════════
   BOUTONS
════════════════════════════════════════ */

.tutor-btn-outline-primary,
.tutor-btn-outline-primary:visited {
  background: transparent !important;
  border: 1.5px solid var(--bb-sage) !important;
  color: var(--bb-sage-dk) !important;
  border-radius: 50px !important;
  font-family: var(--bb-font-body) !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
  letter-spacing: .05em !important;
  padding: 8px 22px !important;
  transition: all .22s !important;
}

.tutor-btn-outline-primary:hover {
  background: var(--bb-sage) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.tutor-btn-primary,
.tutor-btn-primary:visited {
  background: var(--bb-sage) !important;
  border: 1.5px solid var(--bb-sage) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-family: var(--bb-font-body) !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
  letter-spacing: .05em !important;
  padding: 8px 22px !important;
  transition: all .22s !important;
  box-shadow: 0 4px 14px rgba(107,124,90,.22) !important;
}

.tutor-btn-primary:hover {
  background: var(--bb-sage-dk) !important;
  border-color: var(--bb-sage-dk) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(107,124,90,.32) !important;
}

.tutor-btn-secondary {
  background: var(--bb-gray) !important;
  border: 1.5px solid var(--bb-border) !important;
  color: var(--bb-text) !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
  transition: all .2s !important;
}

.tutor-btn-secondary:hover {
  background: var(--bb-border) !important;
}

/* CTA principal (achat / inscription) */
#tutor-checkout-pay-now-button,
.tutor-btn-purchase-course,
.tutor-enroll-course-btn,
.tutor-course-enroll-btn {
  background: var(--bb-orange) !important;
  border-color: var(--bb-orange) !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  box-shadow: 0 4px 18px rgba(212,114,58,.28) !important;
  transition: all .25s !important;
}

#tutor-checkout-pay-now-button {
  font-size: 1rem !important;
  padding: 14px 36px !important;
}

#tutor-checkout-pay-now-button:hover,
.tutor-btn-purchase-course:hover,
.tutor-enroll-course-btn:hover {
  background: var(--bb-orange-dk) !important;
  border-color: var(--bb-orange-dk) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 26px rgba(212,114,58,.38) !important;
}

/* ════════════════════════════════════════
   CROSS-LINKS — cartes avec photo ou dégradé fallback
════════════════════════════════════════ */

.bbf-crosslinks {
  margin-top: 72px;
  padding: 0 0 88px;
}

.bbf-crosslinks-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Label "Découvrez aussi" avec traits latéraux */
.bbf-crosslinks-label {
  text-align: center;
  font-family: var(--bb-font-body);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--bb-muted);
  margin-bottom: 32px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
}

.bbf-crosslinks-label::before,
.bbf-crosslinks-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--bb-border);
}

.bbf-crosslinks-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

/* Carte — dégradés de fallback si pas de photo */
.bbf-crosslink-card {
  position: relative;
  display: block;
  text-decoration: none !important;
  border-radius: var(--bb-radius);
  overflow: hidden;
  height: 280px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 6px 28px rgba(44,42,38,.14);
  transition: transform .32s ease, box-shadow .32s ease;
}

/* Fallbacks couleur par position si image absente */
.bbf-crosslinks-cards .bbf-crosslink-card:first-child {
  background-color: #2d3d22; /* vert forêt profond */
}

.bbf-crosslinks-cards .bbf-crosslink-card:last-child {
  background-color: #3a2a1a; /* brun chaud */
}

.bbf-crosslink-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 48px rgba(44,42,38,.2);
}

/* Dégradé de lecture */
.bbf-crosslink-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(22,30,16,.92) 0%,
    rgba(22,30,16,.5)  40%,
    rgba(22,30,16,.12) 75%,
    transparent        100%
  );
  transition: background .3s ease;
}

.bbf-crosslink-card:hover .bbf-crosslink-overlay {
  background: linear-gradient(
    to top,
    rgba(46,62,32,.95) 0%,
    rgba(46,62,32,.55) 40%,
    rgba(46,62,32,.15) 75%,
    transparent        100%
  );
}

.bbf-crosslink-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 26px 28px;
}

.bbf-crosslink-card .bbf-crosslink-tag {
  display: inline-block;
  font-family: var(--bb-font-body);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(224,204,170,.8) !important;
  margin-bottom: 8px;
}

.bbf-crosslink-title {
  font-family: var(--bb-font-deco) !important;
  font-size: 1.65rem !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: #fff !important;
  margin: 0 0 7px !important;
  line-height: 1.2 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.3) !important;
}

.bbf-crosslink-card .bbf-crosslink-sub {
  font-size: .82rem;
  color: rgba(255,255,255,.62) !important;
  margin: 0 0 16px;
  line-height: 1.55;
}

.bbf-crosslink-card .bbf-crosslink-btn {
  display: inline-block;
  font-family: var(--bb-font-body);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(224,204,170,.85) !important;
  border-bottom: 1px solid rgba(224,204,170,.3);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}

.bbf-crosslink-card:hover .bbf-crosslink-btn {
  color: #fff;
  border-color: rgba(255,255,255,.55);
}

@media (max-width: 600px) {
  .bbf-crosslinks-cards { grid-template-columns: 1fr; }
  .bbf-crosslink-card { height: 240px; }
}

/* ════════════════════════════════════════
   CHECKOUT
════════════════════════════════════════ */

.tutor-checkout-page {
  background: var(--bb-cream) !important;
  min-height: 80vh !important;
}

.tutor-checkout-container {
  max-width: 1060px !important;
  margin: 0 auto !important;
  padding: 48px 24px 80px !important;
}

.tutor-checkout-page h5,
.tutor-checkout-page h4,
.tutor-checkout-page h3 {
  font-family: var(--bb-font-deco) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--bb-text) !important;
}

.tutor-checkout-order-details,
[tutor-checkout-details] {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  padding: 28px !important;
  box-shadow: var(--bb-shadow) !important;
}

.tutor-checkout-billing {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: var(--bb-shadow) !important;
  overflow: hidden !important;
}

.tutor-checkout-billing-inner {
  padding: 28px !important;
}

.tutor-form-control,
.tutor-form-select,
.tutor-checkout-billing input[type="text"],
.tutor-checkout-billing input[type="email"],
.tutor-checkout-billing select {
  border: 1.5px solid var(--bb-border) !important;
  border-radius: 8px !important;
  background: var(--bb-cream) !important;
  color: var(--bb-text) !important;
  font-family: var(--bb-font-body) !important;
  transition: border-color .2s, box-shadow .2s !important;
}

.tutor-form-control:focus,
.tutor-form-select:focus,
.tutor-checkout-billing input:focus {
  border-color: var(--bb-sage) !important;
  box-shadow: 0 0 0 3px rgba(107,124,90,.12) !important;
  outline: none !important;
}

.tutor-coupon-area,
[data-tutor-coupon] {
  background: var(--bb-cream) !important;
  border: 1px dashed var(--bb-sage-lt) !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
}

.tutor-checkout-summary-total,
.tutor-order-total {
  font-family: var(--bb-font-deco) !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: var(--bb-sage-dk) !important;
}

.tutor-checkout-payment-item {
  border: 1.5px solid var(--bb-border) !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
  transition: border-color .2s, background .2s !important;
}

.tutor-checkout-payment-item:hover {
  border-color: var(--bb-sage) !important;
  background: rgba(107,124,90,.04) !important;
}

.tutor-checkout-payment-item:has(input:checked) {
  border-color: var(--bb-sage) !important;
  background: rgba(107,124,90,.06) !important;
}

/* ════════════════════════════════════════
   PANIER
════════════════════════════════════════ */

.tutor-cart-page {
  background: var(--bb-cream) !important;
}

.tutor-cart-table {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--bb-shadow) !important;
}

.tutor-cart-table thead {
  background: var(--bb-sage) !important;
}

.tutor-cart-table thead th {
  color: #fff !important;
  font-family: var(--bb-font-body) !important;
  font-weight: 700 !important;
  font-size: .78rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
  border: none !important;
}

.tutor-cart-table tbody td {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--bb-border) !important;
  font-size: .9rem !important;
}

/* ════════════════════════════════════════
   DASHBOARD ÉTUDIANT
════════════════════════════════════════ */

.tutor-dashboard {
  background: var(--bb-cream) !important;
}

.tutor-dashboard-sidebar .tutor-dashboard-nav li a {
  color: var(--bb-text) !important;
  border-radius: 8px !important;
  font-family: var(--bb-font-body) !important;
  font-weight: 400 !important;
  font-size: .9rem !important;
  transition: all .2s !important;
}

.tutor-dashboard-sidebar .tutor-dashboard-nav li a:hover,
.tutor-dashboard-sidebar .tutor-dashboard-nav li.active a,
.tutor-dashboard-sidebar .tutor-dashboard-nav li.tutor-is-active a {
  background: rgba(107,124,90,.1) !important;
  color: var(--bb-sage-dk) !important;
}

.tutor-dashboard-sidebar .tutor-dashboard-nav li.active a,
.tutor-dashboard-sidebar .tutor-dashboard-nav li.tutor-is-active a {
  border-left: 3px solid var(--bb-sage) !important;
  font-weight: 700 !important;
}

.tutor-dashboard-stats-card {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: var(--bb-shadow) !important;
}

.tutor-course-enrolled-card,
.tutor-dashboard-enrolled-courses .tutor-card {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: var(--bb-shadow) !important;
}

/* Barre de progression */
.tutor-progress-bar .tutor-progress-active,
.tutor-progress-bar-fill {
  background: var(--bb-sage) !important;
}

/* ════════════════════════════════════════
   PAGE COURS (single)
════════════════════════════════════════ */

/* Header cours single — fond crème, pas de bandeau vert */
.tutor-single-course-header,
.tutor-course-details-header {
  background: var(--bb-cream) !important;
  border-bottom: 1px solid var(--bb-border) !important;
  padding: 24px 0 20px !important;
}

.tutor-single-course-header h1,
.tutor-single-course-header .tutor-course-title,
.tutor-course-details-header h1 {
  font-family: var(--bb-font-deco) !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: var(--bb-text) !important;
  margin-bottom: 8px !important;
}

/* Catégorie / breadcrumb dans le header */
.tutor-single-course-header .tutor-course-category a,
.tutor-course-details-header .tutor-breadcrumb a {
  color: var(--bb-sage) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
}

/* Boutons "Liste de souhaits" et "Partager" */
.tutor-single-course-header .tutor-btn,
.tutor-course-details-header .tutor-btn {
  background: var(--bb-white) !important;
  border: 1.5px solid var(--bb-border) !important;
  color: var(--bb-text) !important;
  border-radius: 50px !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}

.tutor-single-course-header .tutor-btn:hover,
.tutor-course-details-header .tutor-btn:hover {
  border-color: var(--bb-sage) !important;
  color: var(--bb-sage-dk) !important;
}

/* Couleur texte body — écrase le rouge/brun TutorLMS par défaut */
.tutor-course-single-content,
.tutor-course-single-content p,
.tutor-course-single-content li,
.tutor-course-single-content span:not([class*="tutor-badge"]),
.tutor-single-body,
.tutor-single-body p,
.course-single-contents p,
[class*="tutor-course"] p,
[class*="tutor-course"] li {
  color: var(--bb-text) !important;
  font-family: var(--bb-font-body) !important;
  line-height: 1.75 !important;
}

/* Titres de sections "À propos du cours", "Contenu du cours"... */
.tutor-segment-title,
.tutor-course-details-segment h2,
.tutor-course-single-content h2,
.tutor-single-body h2,
.course-single-contents h2 {
  font-family: var(--bb-font-deco) !important;
  font-size: 1.35rem !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: var(--bb-text) !important;
  margin: 32px 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--bb-border) !important;
}

.tutor-segment-title:first-child,
.tutor-course-details-segment h2:first-child {
  margin-top: 0 !important;
}

/* Marges globales de la zone de contenu */
.tutor-course-details-page .tutor-container,
.tutor-single-course-wrapper,
.tutor-course-single-content {
  padding-top: 32px !important;
}

/* Tabs navigation */
.tutor-tab,
.tutor-tab-nav {
  border-bottom: 1.5px solid var(--bb-border) !important;
  margin-bottom: 28px !important;
}

.tutor-tab .tutor-tab-item a,
.tutor-tab-nav .tutor-tab-link {
  font-family: var(--bb-font-body) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  color: var(--bb-muted) !important;
  padding: 10px 18px !important;
  border-bottom: 2px solid transparent !important;
  transition: color .2s, border-color .2s !important;
}

.tutor-tab .tutor-tab-item a:hover,
.tutor-tab-nav .tutor-tab-link:hover {
  color: var(--bb-text) !important;
}

.tutor-tab .tutor-tab-item a.is-active,
.tutor-tab .tutor-tab-item a[aria-selected="true"],
.tutor-tab-nav .tutor-tab-link.tutor-is-active {
  border-bottom-color: var(--bb-sage) !important;
  color: var(--bb-sage-dk) !important;
}

/* Accordéon curriculum */
.tutor-course-topics-list,
.tutor-accordion {
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  overflow: hidden !important;
  margin-top: 12px !important;
}

.tutor-accordion-item,
.tutor-course-topics-list > li {
  border-bottom: 1px solid var(--bb-border) !important;
}

.tutor-accordion-item:last-child,
.tutor-course-topics-list > li:last-child {
  border-bottom: none !important;
}

.tutor-accordion-header,
.tutor-course-topics-header {
  background: var(--bb-cream) !important;
  padding: 14px 20px !important;
  font-family: var(--bb-font-body) !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
  color: var(--bb-text) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background .2s !important;
}

.tutor-accordion-header:hover,
.tutor-course-topics-header:hover {
  background: var(--bb-gray) !important;
}

.tutor-accordion-body,
.tutor-course-topics-content {
  background: var(--bb-white) !important;
  padding: 0 !important;
}

/* Leçons dans l'accordéon */
.tutor-course-lesson,
.tutor-course-topic-item {
  padding: 11px 20px 11px 36px !important;
  border-bottom: 1px solid var(--bb-gray) !important;
  font-size: .875rem !important;
  color: var(--bb-text) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: background .15s !important;
}

.tutor-course-lesson:last-child,
.tutor-course-topic-item:last-child {
  border-bottom: none !important;
}

.tutor-course-lesson:hover,
.tutor-course-topic-item:hover {
  background: rgba(107,124,90,.04) !important;
}

/* Cadenas / durée */
.tutor-course-lesson .tutor-lesson-meta,
.tutor-course-topic-item .tutor-item-meta {
  font-size: .78rem !important;
  color: var(--bb-muted) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Sidebar — carte enrôlement */
.tutor-sidebar-card,
.tutor-course-enroll-box,
.tutor-enroll-box {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: var(--bb-shadow) !important;
  padding: 24px !important;
  position: sticky !important;
  top: 24px !important;
}

/* Prix sidebar */
.tutor-sidebar-card .tutor-price,
.tutor-enroll-box .tutor-price,
.tutor-course-price-wrapper {
  font-family: var(--bb-font-deco) !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  color: var(--bb-sage-dk) !important;
  margin-bottom: 16px !important;
}

/* Meta infos sidebar (niveau, date mise à jour) */
.tutor-course-sidebar-meta li,
.tutor-sidebar-meta li {
  font-size: .85rem !important;
  color: var(--bb-muted) !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--bb-gray) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Auteur sidebar */
.tutor-course-instructor-wrap,
.tutor-course-instructor {
  background: var(--bb-white) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: var(--bb-radius) !important;
  padding: 20px !important;
  margin-top: 16px !important;
}

.tutor-course-instructor .tutor-instructor-name,
.tutor-instructor-name {
  font-family: var(--bb-font-deco) !important;
  font-size: 1.05rem !important;
  font-style: italic !important;
  color: var(--bb-text) !important;
}

/* Curriculum leçon active */
.tutor-course-topic-title.tutor-is-active,
.tutor-course-topic .tutor-is-active {
  color: var(--bb-sage-dk) !important;
  font-weight: 700 !important;
}

/* ════════════════════════════════════════
   ALERTS & BADGES
════════════════════════════════════════ */

.tutor-badge-success,
.tutor-badge-label-success {
  background: rgba(107,124,90,.12) !important;
  color: var(--bb-sage-dk) !important;
}

.tutor-alert.tutor-alert-success,
.tutor-alert.tutor-success {
  background: rgba(107,124,90,.07) !important;
  border-color: var(--bb-sage-lt) !important;
  color: var(--bb-sage-dk) !important;
}

/* ════════════════════════════════════════
   NAVIGATION — item actif
════════════════════════════════════════ */

.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current-menu-ancestor > a {
  color: var(--bb-sage-dk) !important;
  font-weight: 700 !important;
}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */

.site-footer {
  background: var(--bb-sage-deep) !important;
  color: rgba(255,255,255,.65) !important;
  font-size: .82rem !important;
}

.site-footer a {
  color: rgba(212,190,155,.85) !important;
  transition: color .2s !important;
}

.site-footer a:hover {
  color: #fff !important;
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 768px) {
  .tutor-course-list.tutor-grid {
    grid-template-columns: 1fr !important;
  }
  .tutor-checkout-container {
    padding: 24px 16px 60px !important;
  }
}

@media (max-width: 600px) {
  .tutor-course-list.tutor-grid {
    grid-template-columns: 1fr !important;
  }
}
