/**
 * TutorLinkeur — tutorlinkeur.css v3.0 (clean)
 * Ravazo Service and Trading FZ-LLC © 2026
 */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --tl-gold:         #C9A84C;
  --tl-gold-light:   #F0D080;
  --tl-gold-dark:    #9A7A2E;
  --tl-navy:         #0A1628;
  --tl-navy-mid:     #162040;
  --tl-navy-light:   #1E3060;
  --tl-white:        #FFFFFF;
  --tl-cream:        #F2EFE7;
  --tl-muted:        #8A9BB5;
  --tl-accent:       #4ECDC4;
  --tl-accent2:      #FF6B6B;
  --tl-font-display: 'Playfair Display', Georgia, serif;
  --tl-font-body:    'DM Sans', system-ui, sans-serif;
  --tl-radius:       8px;
  --tl-radius-sm:    4px;
  --tl-border-gold:  1px solid rgba(201,168,76,0.25);
  --tl-border-white: 1px solid rgba(255,255,255,0.07);
  --tl-ease:         all 0.3s ease;
  --tl-section-pad:  6rem 4rem;
  --tl-header-h:     72px;
}

/* ============================================================
   RESET
   ============================================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; font-size:16px; }
body  { font-family:var(--tl-font-body); background:var(--tl-navy); color:var(--tl-white); overflow-x:hidden; line-height:1.7; }
img   { max-width:100%; height:auto; display:block; }
a     { text-decoration:none; color:inherit; transition:var(--tl-ease); }
ul    { list-style:none; }
button { font-family:var(--tl-font-body); cursor:pointer; border:none; }
input, textarea, select { font-family:var(--tl-font-body); }
h1,h2,h3,h4,h5 { font-family:var(--tl-font-display); font-weight:700; line-height:1.15; }

/* ============================================================
   UTILITY
   ============================================================ */
.tl-container  { max-width:1280px; margin:0 auto; padding:0 2rem; }
.tl-section    { padding:var(--tl-section-pad); }
.tl-section--dark       { background:var(--tl-navy); }
.tl-section--mid        { background:var(--tl-navy-mid); }
.tl-section--light-navy { background:var(--tl-navy-light); }
.tl-section--cream      { background:var(--tl-cream); }
.tl-section--gold       { background:var(--tl-gold); }
.tl-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.tl-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.tl-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }

.tl-section-tag {
  font-size:.7rem; font-weight:600; color:var(--tl-gold);
  letter-spacing:.2em; text-transform:uppercase;
  margin-bottom:.6rem; display:block;
}
.tl-divider {
  width:50px; height:2px; background:var(--tl-gold); margin-bottom:1.2rem;
}
.tl-divider--center { margin-left:auto; margin-right:auto; }
.tl-section-title { font-size:clamp(1.8rem,3vw,2.8rem); margin-bottom:.6rem; }
.tl-section-sub   { font-size:.95rem; color:var(--tl-muted); line-height:1.7; max-width:520px; }
.tl-stars         { color:var(--tl-gold); letter-spacing:2px; font-size:.82rem; }

/* ============================================================
   BUTTONS
   ============================================================ */
.tl-btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.8rem; border-radius:var(--tl-radius-sm);
  font-size:.85rem; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; transition:var(--tl-ease);
  border:1px solid transparent;
}
.tl-btn--primary  { background:var(--tl-gold);  color:var(--tl-navy); border-color:var(--tl-gold); }
.tl-btn--primary:hover { background:var(--tl-gold-light); transform:translateY(-2px); }
.tl-btn--outline  { background:transparent; color:var(--tl-gold); border-color:var(--tl-gold); }
.tl-btn--outline:hover { background:var(--tl-gold); color:var(--tl-navy); }
.tl-btn--ghost    { background:transparent; color:var(--tl-white); border-color:rgba(255,255,255,.2); }
.tl-btn--ghost:hover   { border-color:var(--tl-gold); color:var(--tl-gold); }
.tl-btn--dark     { background:var(--tl-navy); color:var(--tl-gold); border-color:var(--tl-navy); }
.tl-btn--dark:hover    { background:var(--tl-navy-light); }
.tl-btn--lg { padding:1rem 2.5rem; font-size:1rem; }
.tl-btn--sm { padding:.45rem 1rem; font-size:.78rem; }

/* ============================================================
   CARDS
   ============================================================ */
.tl-card {
  background:rgba(22,32,64,.5); border:var(--tl-border-white);
  border-radius:var(--tl-radius); padding:2rem; transition:var(--tl-ease);
}
.tl-card:hover { border-color:rgba(201,168,76,.4); transform:translateY(-4px); }
.tl-card--cream { background:var(--tl-white); border:none; box-shadow:0 4px 24px rgba(10,22,40,.08); }
.tl-card--cream:hover { box-shadow:0 12px 40px rgba(10,22,40,.14); transform:translateY(-6px); }

/* ============================================================
   BADGES
   ============================================================ */
.tl-badge { display:inline-block; padding:.25rem .75rem; border-radius:var(--tl-radius-sm); font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.tl-badge--gold  { background:rgba(201,168,76,.12); color:var(--tl-gold); border:1px solid rgba(201,168,76,.2); }
.tl-badge--hot   { background:rgba(255,107,107,.12); color:var(--tl-accent2); }
.tl-badge--teal  { background:rgba(78,205,196,.12);  color:var(--tl-accent); }

/* ============================================================
   FORMS
   ============================================================ */
.tl-form-group { margin-bottom:1.25rem; }
.tl-form-group label { display:block; font-size:.8rem; font-weight:500; color:var(--tl-muted); letter-spacing:.05em; text-transform:uppercase; margin-bottom:.45rem; }
.tl-form-group input,
.tl-form-group select,
.tl-form-group textarea { width:100%; padding:.8rem 1rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--tl-radius-sm); color:var(--tl-white); font-size:.9rem; transition:var(--tl-ease); }
.tl-form-group input:focus,
.tl-form-group select:focus,
.tl-form-group textarea:focus { outline:none; border-color:var(--tl-gold); background:rgba(201,168,76,.04); }
.tl-form-group input::placeholder,
.tl-form-group textarea::placeholder { color:var(--tl-muted); }
.tl-form-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.tl-form-alert  { padding:1rem; border-radius:var(--tl-radius-sm); font-size:.9rem; margin-top:1rem; }
.tl-form-alert--success { background:rgba(78,205,196,.1); border:1px solid rgba(78,205,196,.3); color:var(--tl-accent); }
.tl-form-alert--error   { background:rgba(255,107,107,.1); border:1px solid rgba(255,107,107,.3); color:var(--tl-accent2); }

/* ============================================================
   AVATARS
   ============================================================ */
.tl-tuteur-avatar {
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(135deg,var(--tl-gold),var(--tl-gold-dark));
  display:flex; align-items:center; justify-content:center;
  font-family:var(--tl-font-display); font-weight:700; font-size:.9rem;
  color:var(--tl-navy); flex-shrink:0;
}
.tl-tuteur-avatar--sm  { width:36px; height:36px; font-size:.78rem; }
.tl-tuteur-avatar--lg  { width:88px; height:88px; font-size:1.6rem; }
.tl-tuteur-avatar--photo { object-fit:cover; }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes tl-pulse   { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.3)} }
@keyframes tl-float   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes tl-marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ============================================================
   HEADER
   ============================================================ */
.tl-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(10,22,40,.92);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(201,168,76,.15);
  transition:all .3s;
}
.tl-header--scrolled { background:rgba(10,22,40,.99); box-shadow:0 4px 30px rgba(0,0,0,.3); }

.tl-header__inner {
  display:flex; align-items:center; justify-content:space-between;
  padding:0 3rem; height:var(--tl-header-h);
  max-width:1440px; margin:0 auto;
}

/* Logo */
.tl-logo { display:inline-flex; align-items:center; flex-shrink:0; }
.tl-logo__text {
  font-family:var(--tl-font-display); font-size:1.5rem; font-weight:700;
  color:var(--tl-gold); letter-spacing:.02em;
}
.tl-logo__dot { color:var(--tl-white); font-weight:900; }

/* Custom logo image — transparent PNG */
.tl-logo .custom-logo-link { display:flex; align-items:center; }
.tl-logo .custom-logo-link img,
.tl-logo .custom-logo {
  height:48px;
  width:auto;
  max-width:180px;
  object-fit:contain;
  display:block;
}

/* Nav */
.tl-nav__list  { display:flex; gap:2rem; align-items:center; }
.tl-nav__link  {
  color:var(--tl-muted); font-size:.82rem; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase;
  padding:.25rem 0; position:relative;
}
.tl-nav__link::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:2px; background:var(--tl-gold); transition:width .3s;
}
.tl-nav__link:hover,
.tl-nav__link.current-menu-item { color:var(--tl-gold); }
.tl-nav__link:hover::after,
.tl-nav__link.current-menu-item::after { width:100%; }

/* Actions */
.tl-header__actions { display:flex; align-items:center; gap:.85rem; flex-shrink:0; }

/* Cart */
.tl-cart-btn { position:relative; display:flex; align-items:center; color:var(--tl-muted); }
.tl-cart-btn:hover { color:var(--tl-gold); }
.tl-cart-btn__count {
  position:absolute; top:-6px; right:-8px;
  width:17px; height:17px; background:var(--tl-gold); color:var(--tl-navy);
  border-radius:50%; font-size:.6rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .3s;
}
.tl-cart-btn__count--visible { opacity:1; }

/* Language switcher */
.tl-lang-switcher { position:relative; }
.tl-lang-switcher__current {
  display:flex; align-items:center; gap:.4rem;
  padding:.38rem .7rem; background:transparent;
  border:1px solid rgba(255,255,255,.12); border-radius:var(--tl-radius-sm);
  color:var(--tl-muted); font-size:.78rem; font-weight:500; cursor:pointer;
  text-transform:uppercase; transition:var(--tl-ease);
}
.tl-lang-switcher__current:hover { border-color:var(--tl-gold); color:var(--tl-gold); }
.tl-lang-switcher__dropdown {
  position:absolute; top:calc(100% + 8px); right:0;
  background:var(--tl-navy-mid); border:var(--tl-border-gold);
  border-radius:var(--tl-radius); padding:.4rem;
  min-width:140px; opacity:0; visibility:hidden;
  transform:translateY(-6px); transition:all .25s; z-index:100;
}
.tl-lang-switcher--open .tl-lang-switcher__dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.tl-lang-switcher__item a {
  display:flex; align-items:center; gap:.5rem;
  padding:.45rem .7rem; border-radius:var(--tl-radius-sm);
  font-size:.83rem; color:var(--tl-muted); transition:var(--tl-ease);
}
.tl-lang-switcher__item a:hover,
.tl-lang-switcher__item--active a { background:rgba(201,168,76,.1); color:var(--tl-gold); }

/* Hamburger */
.tl-hamburger { display:none; flex-direction:column; gap:5px; padding:4px; background:none; }
.tl-hamburger span { display:block; width:22px; height:2px; background:var(--tl-muted); border-radius:2px; transition:all .3s; }
.tl-hamburger--open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.tl-hamburger--open span:nth-child(2) { opacity:0; }
.tl-hamburger--open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* Mobile menu */
.tl-mobile-menu {
  display:none; position:fixed; top:var(--tl-header-h); left:0; right:0;
  background:var(--tl-navy-mid); border-top:var(--tl-border-gold);
  z-index:999; padding:2rem; opacity:0; transform:translateY(-8px); transition:all .3s;
}
.tl-mobile-menu--open { opacity:1; transform:translateY(0); }
.tl-mobile-menu__list li { border-bottom:var(--tl-border-white); }
.tl-mobile-menu__list a { display:block; padding:1rem 0; font-size:1rem; font-weight:500; }
.tl-mobile-menu__actions { display:flex; gap:.75rem; margin-top:1.5rem; flex-wrap:wrap; }

@media (max-width:900px) {
  .tl-header__inner { padding:0 1.5rem; }
  .tl-nav { display:none; }
  .tl-hamburger { display:flex; }
  .tl-mobile-menu { display:block; }
  .tl-btn--desktop-only { display:none; }
}

/* ============================================================
   HERO
   ============================================================ */
.tl-hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden;
  padding:calc(var(--tl-header-h) + 4rem) 4rem 5rem;
}
.tl-hero__bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 50%, rgba(201,168,76,.08) 0%, transparent 70%),
    radial-gradient(ellipse 50% 40% at 20% 80%, rgba(78,205,196,.05) 0%, transparent 60%),
    var(--tl-navy);
}
.tl-hero__grid-overlay {
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(201,168,76,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 20%,transparent 80%);
}
.tl-hero__content { position:relative; z-index:2; max-width:680px; }

.tl-hero__badge {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.4rem 1rem; border:1px solid rgba(201,168,76,.35);
  border-radius:var(--tl-radius-sm);
  font-size:.72rem; font-weight:500; color:var(--tl-gold);
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:2rem;
}
.tl-hero__badge-dot { width:6px; height:6px; background:var(--tl-gold); border-radius:50%; animation:tl-pulse 2s infinite; }

.tl-hero__title {
  font-size:clamp(2.8rem,6vw,5rem); font-weight:900; line-height:1.05;
  letter-spacing:-.02em; margin-bottom:1.5rem; color:var(--tl-white);
}
.tl-hero__title em { font-style:normal; color:var(--tl-gold); }
.tl-hero__sub   { font-size:1.05rem; color:var(--tl-muted); line-height:1.8; margin-bottom:2.5rem; font-weight:300; }

.tl-hero__actions { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }

.tl-hero__stats {
  display:flex; gap:3rem; margin-top:3.5rem; padding-top:3.5rem;
  border-top:1px solid rgba(201,168,76,.15);
}
.tl-hero__stat-num   { font-family:var(--tl-font-display); font-size:2.4rem; font-weight:700; color:var(--tl-gold); display:block; }
.tl-hero__stat-label { font-size:.75rem; color:var(--tl-muted); letter-spacing:.1em; text-transform:uppercase; margin-top:.15rem; }

/* Hero Visual Card */
.tl-hero__visual {
  position:absolute; right:4rem; top:50%; transform:translateY(-50%);
  width:380px; z-index:2; animation:tl-float 4s ease-in-out infinite;
}
.tl-hero__card {
  background:rgba(22,32,64,.88); border:var(--tl-border-gold);
  border-radius:var(--tl-radius); padding:1.8rem;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.tl-hero__card-title { font-family:var(--tl-font-display); font-size:1.2rem; color:var(--tl-white); margin:.25rem 0 .4rem; }
.tl-hero__card-sub   { font-size:.82rem; color:var(--tl-muted); margin-bottom:1.2rem; }
.tl-hero__tutor-card {
  display:flex; align-items:center; gap:.8rem;
  padding:.85rem; background:rgba(255,255,255,.04);
  border-radius:var(--tl-radius-sm); margin-bottom:.65rem;
  border:1px solid rgba(255,255,255,.06);
}
.tl-hero__tutor-info          { flex:1; display:flex; flex-direction:column; gap:2px; }
.tl-hero__tutor-info strong   { font-size:.88rem; color:var(--tl-white); }
.tl-hero__tutor-info span     { font-size:.72rem; color:var(--tl-muted); }
.tl-hero__tutor-rate          { font-size:.82rem; font-weight:600; color:var(--tl-gold); white-space:nowrap; }

/* Curricula Pills */
.tl-curricula { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:2rem; }
.tl-curricula__pill {
  padding:.38rem .9rem; border:1px solid rgba(201,168,76,.22);
  border-radius:var(--tl-radius-sm); font-size:.78rem; font-weight:500;
  color:var(--tl-muted); transition:var(--tl-ease);
}
.tl-curricula__pill:hover,
.tl-curricula__pill--active { border-color:var(--tl-gold); color:var(--tl-gold); background:rgba(201,168,76,.08); }

/* ============================================================
   MARQUEE
   ============================================================ */
.tl-marquee {
  padding:1.3rem 0; overflow:hidden;
  border-top:1px solid rgba(201,168,76,.1);
  border-bottom:1px solid rgba(201,168,76,.1);
  background:rgba(201,168,76,.03);
}
.tl-marquee__track { display:flex; gap:3rem; animation:tl-marquee 22s linear infinite; width:max-content; }
.tl-marquee__item  { display:flex; align-items:center; gap:.5rem; font-size:.72rem; color:var(--tl-muted); letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.tl-marquee__dot   { width:4px; height:4px; background:var(--tl-gold); border-radius:50%; flex-shrink:0; }

/* ============================================================
   SERVICES
   ============================================================ */
.tl-services__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:4rem; background:rgba(201,168,76,.1); }
.tl-service-card { background:var(--tl-navy-mid); padding:3rem 2.5rem; transition:all .4s; position:relative; overflow:hidden; }
.tl-service-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:var(--tl-gold); transition:height .4s; }
.tl-service-card:hover::before { height:100%; }
.tl-service-card:hover { background:rgba(201,168,76,.04); }
.tl-service-card__icon {
  width:52px; height:52px; border:1px solid rgba(201,168,76,.25); border-radius:var(--tl-radius-sm);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
  margin-bottom:1.5rem; transition:var(--tl-ease);
}
.tl-service-card:hover .tl-service-card__icon { border-color:var(--tl-gold); background:rgba(201,168,76,.1); }
.tl-service-card__title { font-size:1.3rem; font-weight:700; color:var(--tl-white); margin-bottom:.8rem; }
.tl-service-card__desc  { font-size:.9rem; color:var(--tl-muted); line-height:1.7; }
.tl-service-card__link  {
  display:inline-flex; align-items:center; gap:.4rem;
  margin-top:1.5rem; color:var(--tl-gold); font-size:.8rem;
  font-weight:600; letter-spacing:.1em; text-transform:uppercase;
}
.tl-service-card__link:hover::after { transform:translateX(4px); }
.tl-service-card__link::after { content:'→'; transition:transform .3s; }

/* ============================================================
   STEPS
   ============================================================ */
.tl-steps { display:grid; grid-template-columns:repeat(4,1fr); position:relative; margin-top:4rem; }
.tl-steps::before {
  content:''; position:absolute; top:2.4rem; left:12%; right:12%;
  height:1px; background:linear-gradient(90deg,transparent,var(--tl-gold),transparent);
}
.tl-step       { text-align:center; padding:0 1.5rem; }
.tl-step__num  {
  width:52px; height:52px; border:1px solid var(--tl-gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--tl-font-display); font-size:1.15rem; font-weight:700;
  color:var(--tl-gold); margin:0 auto 1.5rem; background:var(--tl-navy-mid); position:relative; z-index:2;
}
.tl-step__title { font-size:1rem; font-weight:700; color:var(--tl-white); margin-bottom:.5rem; }
.tl-step__desc  { font-size:.85rem; color:var(--tl-muted); line-height:1.6; }

/* ============================================================
   PROGRAMMES
   ============================================================ */
.tl-programs__header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1.5rem; margin-bottom:3.5rem; }
.tl-prog-tabs {
  display:flex; gap:.35rem; padding:.3rem;
  background:rgba(255,255,255,.04); border-radius:var(--tl-radius-sm);
  border:var(--tl-border-white); flex-shrink:0;
}
.tl-prog-tab {
  padding:.48rem 1.3rem; border:none; background:transparent; color:var(--tl-muted);
  font-size:.82rem; font-weight:500; cursor:pointer; border-radius:var(--tl-radius-sm);
  transition:all .3s; letter-spacing:.05em; text-transform:uppercase;
}
.tl-prog-tab--active { background:var(--tl-gold); color:var(--tl-navy); font-weight:600; }
.tl-prog-card { cursor:pointer; }
.tl-prog-card--featured { border-color:rgba(201,168,76,.35) !important; background:rgba(201,168,76,.04) !important; }
.tl-prog-card__name   { font-family:var(--tl-font-display); font-size:1.2rem; color:var(--tl-white); margin:.7rem 0 .5rem; }
.tl-prog-card__info   { font-size:.85rem; color:var(--tl-muted); margin-bottom:1.2rem; line-height:1.6; }
.tl-prog-card__features { display:flex; flex-direction:column; gap:.45rem; }
.tl-prog-card__features li { font-size:.84rem; color:var(--tl-muted); display:flex; align-items:center; gap:.5rem; }
.tl-prog-card__features li::before { content:'✦'; color:var(--tl-gold); font-size:.6rem; flex-shrink:0; }
.tl-prog-card__price { display:flex; align-items:center; justify-content:space-between; margin-top:1.5rem; padding-top:1.5rem; border-top:var(--tl-border-white); }
.tl-prog-card__amount { font-family:var(--tl-font-display); font-size:1.4rem; font-weight:700; color:var(--tl-gold); }
.tl-prog-card__unit   { font-size:.72rem; color:var(--tl-muted); }

/* ============================================================
   EBOOKS
   ============================================================ */
.tl-ebooks-section__header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1rem; margin-bottom:3rem; }
.tl-ebooks-section .tl-section-title { color:#2C1E08; }
.tl-ebooks-section .tl-section-sub   { color:#5A4A30; }
.tl-ebooks-section .tl-section-tag   { color:var(--tl-gold-dark); }
.tl-ebooks-section .tl-divider       { background:var(--tl-gold-dark); }
.tl-book-card { overflow:hidden; padding:0; }
.tl-book-card__cover {
  height:190px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.tl-book-card__cover--gold  { background:linear-gradient(135deg,#C9A84C,#9A7A2E); }
.tl-book-card__cover--navy  { background:linear-gradient(135deg,#162040,#0A1628); }
.tl-book-card__cover--teal  { background:linear-gradient(135deg,#4ECDC4,#2A9D8F); }
.tl-book-card__cover--coral { background:linear-gradient(135deg,#FF6B6B,#C0392B); }
.tl-book-card__cover-bg   { font-family:var(--tl-font-display); color:rgba(255,255,255,.12); font-size:3.5rem; font-weight:900; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.tl-book-card__cover-icon { font-size:2.2rem; position:relative; z-index:2; }
.tl-book-card__info  { padding:1.1rem; }
.tl-book-card__cat   { font-size:.68rem; font-weight:600; color:var(--tl-gold-dark); letter-spacing:.1em; text-transform:uppercase; display:block; margin-bottom:.35rem; }
.tl-book-card__title { font-family:var(--tl-font-display); font-size:.92rem; font-weight:700; color:#2C1E08; margin-bottom:.45rem; line-height:1.35; }
.tl-book-card__title a { color:inherit; }
.tl-book-card__title a:hover { color:var(--tl-gold-dark); }
.tl-book-card__price { font-size:.88rem; font-weight:600; color:var(--tl-gold-dark); }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.tl-testi-card  { background:rgba(255,255,255,.04); border:var(--tl-border-white); border-radius:var(--tl-radius); padding:2rem; }
.tl-testi-card__quote  { font-family:var(--tl-font-display); font-size:3rem; color:var(--tl-gold); opacity:.2; line-height:1; margin-bottom:.3rem; }
.tl-testi-card__text   { font-size:.9rem; color:var(--tl-muted); line-height:1.8; margin:.5rem 0 1.5rem; }
.tl-testi-card__author { display:flex; align-items:center; gap:.8rem; }
.tl-testi-card__name   { font-size:.88rem; font-weight:600; color:var(--tl-white); display:block; }
.tl-testi-card__role   { font-size:.74rem; color:var(--tl-muted); }

/* ============================================================
   CTA SECTION
   ============================================================ */
.tl-cta-section { text-align:center; }
.tl-cta-section__title { font-size:clamp(2rem,4vw,3.5rem); font-weight:900; color:var(--tl-navy); margin-bottom:1rem; letter-spacing:-.02em; }
.tl-cta-section__sub   { font-size:1rem; color:rgba(10,22,40,.6); margin-bottom:2.5rem; }
.tl-cta-section__actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ============================================================
   FOOTER
   ============================================================ */
.tl-footer { background:#060C1A; padding:5rem 4rem 2rem; }
.tl-footer__inner { max-width:1280px; margin:0 auto; }
.tl-footer__grid  { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; margin-bottom:4rem; }
.tl-footer__tagline { font-size:.85rem; color:var(--tl-muted); line-height:1.7; margin:1rem 0 1.5rem; }
.tl-footer__langs { display:flex; gap:.5rem; flex-wrap:wrap; }
.tl-footer__lang  { padding:.28rem .65rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--tl-radius-sm); font-size:.72rem; color:var(--tl-muted); transition:var(--tl-ease); }
.tl-footer__lang:hover,
.tl-footer__lang--active { border-color:var(--tl-gold); color:var(--tl-gold); }
.tl-footer__social { display:flex; gap:.7rem; margin-top:1.5rem; }
.tl-footer__social-btn {
  width:32px; height:32px; border:1px solid rgba(255,255,255,.1); border-radius:var(--tl-radius-sm);
  display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700;
  color:var(--tl-muted); transition:var(--tl-ease);
}
.tl-footer__social-btn:hover { border-color:var(--tl-gold); color:var(--tl-gold); }
.tl-footer__col-title { font-family:var(--tl-font-display); font-size:1rem; font-weight:700; color:var(--tl-white); margin-bottom:1.5rem; }
.tl-footer__menu      { display:flex; flex-direction:column; gap:.65rem; }
.tl-footer__menu a    { font-size:.84rem; color:var(--tl-muted); }
.tl-footer__menu a:hover { color:var(--tl-gold); }
.tl-footer__bottom {
  padding-top:2rem; border-top:1px solid rgba(255,255,255,.06);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
}
.tl-footer__copy   { font-size:.78rem; color:var(--tl-muted); }
.tl-footer__copy a:hover { color:var(--tl-gold); }
.tl-footer__parent { font-size:.7rem; color:rgba(138,155,181,.4); letter-spacing:.05em; text-transform:uppercase; }
.tl-footer__legal  { display:flex; gap:1rem; }
.tl-footer__legal a { font-size:.76rem; color:rgba(138,155,181,.45); }
.tl-footer__legal a:hover { color:var(--tl-gold); }

/* Logo footer */
.tl-logo__text--footer { font-size:1.8rem; }
.tl-logo__dot--white   { color:var(--tl-white); }

/* ============================================================
   WHATSAPP WIDGET
   ============================================================ */
.tl-whatsapp-widget { position:fixed; bottom:2rem; right:2rem; z-index:500; }
.tl-whatsapp-btn {
  display:flex; align-items:center; gap:.6rem; padding:.7rem 1.2rem;
  background:#25D366; color:var(--tl-white); border-radius:50px;
  font-weight:600; font-size:.88rem; box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:var(--tl-ease);
}
.tl-whatsapp-btn:hover { background:#1fba59; transform:translateY(-2px); box-shadow:0 6px 28px rgba(37,211,102,.5); }

/* ============================================================
   BREADCRUMB / PAGINATION
   ============================================================ */
.tl-breadcrumb { font-size:.8rem; color:var(--tl-muted); display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; padding:.75rem 0; }
.tl-breadcrumb a { color:var(--tl-muted); }
.tl-breadcrumb a:hover { color:var(--tl-gold); }
.tl-breadcrumb__sep { opacity:.35; }
.tl-pagination { display:flex; justify-content:center; gap:.5rem; margin-top:3rem; flex-wrap:wrap; }
.tl-pagination a,
.tl-pagination span { padding:.5rem .85rem; border:1px solid rgba(255,255,255,.1); border-radius:var(--tl-radius-sm); font-size:.84rem; color:var(--tl-muted); transition:var(--tl-ease); }
.tl-pagination a:hover,
.tl-pagination .current { border-color:var(--tl-gold); color:var(--tl-gold); background:rgba(201,168,76,.08); }

/* ============================================================
   TUTEUR CARD
   ============================================================ */
.tl-tuteur-card { display:flex; flex-direction:column; background:rgba(22,32,64,.5); border:var(--tl-border-white); border-radius:var(--tl-radius); overflow:hidden; transition:var(--tl-ease); }
.tl-tuteur-card:hover { border-color:rgba(201,168,76,.4); transform:translateY(-4px); }
.tl-tuteur-card__header { display:flex; align-items:center; gap:1rem; padding:1.4rem 1.4rem .9rem; }
.tl-tuteur-card__meta   { flex:1; }
.tl-tuteur-card__name   { font-family:var(--tl-font-display); font-size:1.05rem; color:var(--tl-white); margin-bottom:.2rem; }
.tl-tuteur-card__matieres { font-size:.78rem; color:var(--tl-muted); }
.tl-tuteur-card__body   { padding:0 1.4rem; flex:1; }
.tl-tuteur-card__bio    { font-size:.84rem; color:var(--tl-muted); line-height:1.6; margin-bottom:.7rem; }
.tl-tuteur-card__tags   { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:.9rem; }
.tl-tuteur-card__footer { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.4rem; border-top:var(--tl-border-white); margin-top:auto; }
.tl-tuteur-card__price  { font-family:var(--tl-font-display); font-size:1.3rem; font-weight:700; color:var(--tl-gold); }
.tl-tuteur-card__price-unit { font-size:.7rem; color:var(--tl-muted); display:block; font-family:var(--tl-font-body); }

/* ============================================================
   FILTER BAR
   ============================================================ */
.tl-filter-bar { background:rgba(22,32,64,.6); border:var(--tl-border-gold); border-radius:var(--tl-radius); padding:1.5rem 2rem; }
.tl-filter-bar__fields { display:flex; gap:1rem; flex-wrap:wrap; align-items:flex-end; }
.tl-filter-bar__select {
  flex:1; min-width:150px; padding:.65rem 2rem .65rem 1rem;
  background:rgba(255,255,255,.05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238A9BB5' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .9rem center;
  border:1px solid rgba(255,255,255,.1); border-radius:var(--tl-radius-sm);
  color:var(--tl-white); font-size:.84rem; font-family:var(--tl-font-body);
  cursor:pointer; transition:var(--tl-ease); -webkit-appearance:none;
}
.tl-filter-bar__select:focus { outline:none; border-color:var(--tl-gold); }
.tl-filter-bar__select option { background:var(--tl-navy-mid); }
.tl-filter-bar__range { display:flex; flex-direction:column; gap:.35rem; min-width:150px; }
.tl-filter-bar__range label { font-size:.76rem; color:var(--tl-muted); letter-spacing:.05em; text-transform:uppercase; }
.tl-filter-bar__range input[type="range"] { -webkit-appearance:none; width:100%; height:4px; background:rgba(201,168,76,.25); border-radius:4px; cursor:pointer; }
.tl-filter-bar__range input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; background:var(--tl-gold); border-radius:50%; transition:transform .2s; }
.tl-filter-bar__range input[type="range"]::-webkit-slider-thumb:hover { transform:scale(1.2); }
.tl-loading    { opacity:.5; pointer-events:none; transition:opacity .3s; }
.tl-no-results { color:var(--tl-muted); font-size:.9rem; padding:2rem; text-align:center; }

/* ============================================================
   TUTEUR PROFILE LAYOUT
   ============================================================ */
.tl-tuteur-profile { display:grid; grid-template-columns:1fr 370px; gap:2.5rem; margin-top:2rem; align-items:start; }
.tl-tuteur-profile__identity { display:flex; gap:1.2rem; align-items:flex-start; margin-bottom:1rem; }

/* ============================================================
   WOOCOMMERCE
   ============================================================ */
.tl-woocommerce .tl-wc-main { padding-top:calc(var(--tl-header-h) + 2rem); }
.tl-product-card { background:rgba(22,32,64,.5); border:var(--tl-border-white); border-radius:var(--tl-radius); overflow:hidden; transition:var(--tl-ease); }
.tl-product-card:hover { border-color:rgba(201,168,76,.4); transform:translateY(-4px); }
.tl-product-badges { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.75rem; }

/* Registration forms */
.tl-registration-form { background:rgba(22,32,64,.6); border:var(--tl-border-gold); border-radius:var(--tl-radius); padding:3rem; }
.tl-registration-form__title { font-family:var(--tl-font-display); font-size:1.8rem; color:var(--tl-white); margin-bottom:.5rem; }
.tl-registration-form__sub   { font-size:.9rem; color:var(--tl-muted); margin-bottom:2rem; }

/* ============================================================
   RESPONSIVE — 1200px
   ============================================================ */
@media (max-width:1200px) {
  :root { --tl-section-pad:5rem 2.5rem; }
  .tl-header__inner { padding:0 2rem; }
  .tl-hero { padding:calc(var(--tl-header-h) + 3rem) 2.5rem 4rem; }
  .tl-hero__visual { width:330px; right:2.5rem; }
  .tl-footer { padding:4rem 2.5rem 2rem; }
  .tl-footer__grid { grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem; }
  .tl-footer__grid > :first-child { grid-column:1 / -1; }
  .tl-grid-4 { grid-template-columns:repeat(2,1fr); }
}

/* ============================================================
   RESPONSIVE — 900px
   ============================================================ */
@media (max-width:900px) {
  :root { --tl-section-pad:4rem 1.5rem; }
  .tl-hero__visual { display:none; }
  .tl-hero { min-height:auto; padding:calc(var(--tl-header-h) + 2rem) 1.5rem 3rem; }
  .tl-services__grid { grid-template-columns:1fr; gap:2px; }
  .tl-steps { grid-template-columns:1fr 1fr; }
  .tl-steps::before { display:none; }
  .tl-programs__header { flex-direction:column; align-items:flex-start; }
  .tl-ebooks-section__header { flex-direction:column; align-items:flex-start; }
  .tl-tuteur-profile { grid-template-columns:1fr; }
  .tl-footer { padding:3rem 1.5rem 1.5rem; }
  .tl-footer__grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .tl-hero__stats { gap:1.5rem; flex-wrap:wrap; }
}

/* ============================================================
   RESPONSIVE — 600px
   ============================================================ */
@media (max-width:600px) {
  .tl-hero__title  { font-size:2.4rem; }
  .tl-hero__actions { flex-direction:column; }
  .tl-hero__actions .tl-btn { width:100%; justify-content:center; }
  .tl-steps { grid-template-columns:1fr; }
  .tl-grid-2,
  .tl-grid-3 { grid-template-columns:1fr; }
  .tl-footer__grid { grid-template-columns:1fr; }
  .tl-footer__bottom { flex-direction:column; align-items:flex-start; }
  .tl-cta-section__actions { flex-direction:column; }
  .tl-cta-section__actions .tl-btn { width:100%; justify-content:center; }
  .tl-whatsapp-btn span { display:none; }
  .tl-whatsapp-btn { border-radius:50%; padding:.85rem; }
  .tl-form-grid-2 { grid-template-columns:1fr; }
  .tl-filter-bar { padding:1rem; }
  .tl-filter-bar__fields { flex-direction:column; }
}

/* ============================================================
   HERO ROTATIF
   ============================================================ */
.tl-hero-rotator {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
}

/* Tabs de navigation */
.tl-rotator-tabs {
    position: absolute;
    top: calc(var(--tl-header-h) + 1.5rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: .35rem;
    padding: .35rem;
    background: rgba(10,22,40,.7);
    backdrop-filter: blur(12px);
    border-radius: 50px;
    border: 1px solid rgba(201,168,76,.2);
    white-space: nowrap;
}
.tl-rotator-tab {
    padding: .5rem 1.3rem;
    border-radius: 50px;
    border: none;
    background: transparent;
    color: rgba(255,255,255,.55);
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .35s;
    font-family: var(--tl-font-body);
    letter-spacing: .04em;
}
.tl-rotator-tab--active {
    background: var(--tl-gold);
    color: var(--tl-navy);
}

/* Dots */
.tl-rotator-nav {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: .6rem;
}
.tl-rotator-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    border: 1px solid rgba(201,168,76,.5);
    background: transparent;
    cursor: pointer;
    transition: all .3s;
    padding: 0;
}
.tl-rotator-dot--active {
    background: var(--tl-gold);
    border-color: var(--tl-gold);
    width: 24px;
    border-radius: 4px;
}

/* Slides */
.tl-hero-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: calc(var(--tl-header-h) + 6rem) 4rem 5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity .6s ease;
}
.tl-hero-slide--active {
    position: relative;
    opacity: 1;
    pointer-events: auto;
    min-height: 100vh;
}

/* Backgrounds par slide */
.tl-hero__bg--tutorat {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 70% 50%, rgba(201,168,76,.08) 0%, transparent 70%),
        var(--tl-navy);
}
.tl-hero__bg--ebooks {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 60% 50%, rgba(154,122,46,.12) 0%, transparent 70%),
        #F2EFE7;
}
.tl-hero__bg--formations {
    position: absolute; inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 65% 50%, rgba(78,205,196,.1) 0%, transparent 70%),
        var(--tl-navy-light);
}

/* Stats dans le slide */
.tl-hero__stats {
    display: flex;
    gap: 3rem;
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(201,168,76,.15);
    position: relative;
    z-index: 2;
}

/* Ebooks showcase */
.tl-hero__visual--ebooks { animation: tl-float 5s ease-in-out infinite; }
.tl-ebook-showcase {
    position: relative;
    width: 340px;
    height: 320px;
}
.tl-ebook-showcase__book {
    position: absolute;
    width: 180px;
    height: 240px;
    border-radius: var(--tl-radius);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: 1.5rem;
    font-size: .85rem;
    font-weight: 600;
    text-align: center;
    left: calc(var(--offset));
    top: calc(var(--offset) * .3);
    box-shadow: 4px 4px 20px rgba(0,0,0,.25);
}
.tl-ebook-showcase__book--gold  { background: linear-gradient(135deg,#C9A84C,#9A7A2E); color: #fff; }
.tl-ebook-showcase__book--teal  { background: linear-gradient(135deg,#4ECDC4,#2A9D8F); color: #fff; }
.tl-ebook-showcase__book--coral { background: linear-gradient(135deg,#FF6B6B,#C0392B); color: #fff; }
.tl-ebook-showcase__icon  { font-size: 2rem; }
.tl-ebook-showcase__title { font-size: .75rem; line-height: 1.4; }
.tl-ebook-showcase__badge {
    position: absolute;
    bottom: 0; right: 0;
    background: var(--tl-gold);
    color: var(--tl-navy);
    padding: .5rem 1rem;
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

/* Formations showcase */
.tl-formation-showcase {
    width: 360px;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.tl-formation-showcase__card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.2rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(78,205,196,.2);
    border-radius: var(--tl-radius);
    transition: all .3s;
}
.tl-formation-showcase__card:hover { border-color: rgba(78,205,196,.5); background: rgba(78,205,196,.06); }
.tl-formation-showcase__icon { font-size: 1.5rem; flex-shrink: 0; }
.tl-formation-showcase__card strong { display: block; color: var(--tl-white); font-size: .88rem; }
.tl-formation-showcase__card span  { color: var(--tl-accent); font-size: .78rem; }

/* Garantie badge dans le hero */
.tl-guarantee-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 1.1rem;
    background: rgba(201,168,76,.08);
    border: 1px solid rgba(201,168,76,.25);
    border-radius: 50px;
    font-size: .8rem;
    color: var(--tl-gold);
    margin-bottom: 1.5rem;
}
.tl-guarantee-badge__icon { font-size: 1rem; }

/* ============================================================
   4 DIFFÉRENCIATEURS
   ============================================================ */
.tl-diff-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.tl-diff-card {
    background: rgba(22,32,64,.5);
    border: var(--tl-border-white);
    border-radius: var(--tl-radius);
    padding: 2rem 1.5rem;
    transition: all .35s;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.tl-diff-card:hover {
    border-color: rgba(201,168,76,.35);
    transform: translateY(-5px);
}
.tl-diff-card--featured {
    border-color: rgba(201,168,76,.35) !important;
    background: rgba(201,168,76,.04) !important;
}
.tl-diff-card__icon {
    width: 52px; height: 52px;
    border-radius: var(--tl-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}
.tl-diff-card__icon--gold   { background: rgba(201,168,76,.12); border: 1px solid rgba(201,168,76,.25); }
.tl-diff-card__icon--teal   { background: rgba(78,205,196,.12); border: 1px solid rgba(78,205,196,.25); }
.tl-diff-card__icon--purple { background: rgba(139,92,246,.12); border: 1px solid rgba(139,92,246,.25); }
.tl-diff-card__title { font-family: var(--tl-font-display); font-size: 1.05rem; color: var(--tl-white); }
.tl-diff-card__desc  { font-size: .85rem; color: var(--tl-muted); line-height: 1.7; flex: 1; }

@media (max-width: 1100px) {
    .tl-diff-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .tl-rotator-tabs { top: calc(var(--tl-header-h) + 1rem); }
    .tl-hero-slide { padding: calc(var(--tl-header-h) + 5rem) 1.5rem 3rem; }
    .tl-ebook-showcase, .tl-formation-showcase { display: none; }
    .tl-hero__stats { gap: 1.5rem; flex-wrap: wrap; }
    .tl-rotator-tab { padding: .4rem .9rem; font-size: .72rem; }
}
@media (max-width: 600px) {
    .tl-diff-grid { grid-template-columns: 1fr; }
    .tl-rotator-tabs { width: 90%; }
}
