/* Public trainer profile — scoped to .tb-public-profile */

.tb-public-profile{
  --bg:#f2f7fc;
  --card:#ffffff;
  --text:#152238;
  --muted:#6c7b8f;
  --line:#dfe7ef;
  --blue:#0b6ff0;
  --blue-dark:#113e8c;
  --blue-soft:#eaf3ff;
  --green:#35c88a;
  --yellow:#f5b61d;
  --reserved:#ffd990;
  --off:#edf2f7;
  --shadow:0 3px 12px rgba(34,58,91,.08);
  --radius:18px;
  --manage-blue:#2f65b5;
  --manage-blue-soft:#eef5ff;
  --tb-profile-calendar-body-height:300px;
  --tb-profile-page-max:min(1320px,calc(100% - 32px));
}
.tb-public-profile, .tb-public-profile *{box-sizing:border-box}
.tb-public-profile{scroll-behavior:smooth}
.tb-public-profile{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:14px;
  line-height:1.5;
}
.tb-public-profile a{text-decoration:none;color:inherit}
.tb-public-profile button{font:inherit}
.tb-public-profile .container{
  width:var(--tb-profile-page-max);
  max-width:100%;
  margin-inline:auto;
}

.tb-public-profile header:not(.tb-page-header):not(.tb-mobility-card__head){
  height:66px;background:#fff;border-bottom:1px solid #e9eff5;
  position:sticky;top:var(--tb-layout-top,70px);z-index:50;
}
.tb-public-profile .header-row{height:66px;display:flex;align-items:center;gap:36px}
.tb-public-profile .logo{
  background:var(--blue-dark);color:#fff;
  font-family:Georgia,serif;font-size:17px;font-weight:700;
  padding:2px 8px;line-height:1.15;
}
.tb-public-profile .main-nav{display:flex;align-items:center;gap:28px;height:100%;flex:1}
.tb-public-profile .main-nav a{
  height:100%;display:flex;align-items:center;
  color:#435268;font-size:13px;position:relative
}
.tb-public-profile .main-nav a.active{color:#111c2c;font-weight:700}
.tb-public-profile .main-nav a.active:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#617691
}
.tb-public-profile .header-actions{display:flex;align-items:center;gap:17px}
.tb-public-profile .icon-btn{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#18304d;position:relative}
.tb-public-profile .icon-btn.notice:after{
  content:"";position:absolute;width:6px;height:6px;background:var(--blue);border-radius:50%;top:4px;right:4px;border:2px solid #fff
}
.tb-public-profile .user-avatar{
  width:30px;height:30px;border-radius:50%;
  background:linear-gradient(135deg,#d8b69a,#8da3b5);
}
.tb-public-profile .user-name{font-size:12px;color:#3f4d5f}


.tb-public-profile .page{
  display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;
  padding:24px 0 46px;
}
.tb-public-profile .sidebar{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:17px 14px;align-self:start;position:sticky;top:var(--tb-layout-top,70px);
  min-height:805px;display:flex;flex-direction:column;
}
.tb-public-profile .identity{text-align:center;padding:4px 4px 18px}
.tb-public-profile .avatar{
  width:96px;height:96px;border-radius:50%;margin:0 auto 12px;
  border:4px solid #dce8f2;
  background:
    radial-gradient(circle at 50% 34%,#e3b28f 0 13%,transparent 14%),
    radial-gradient(circle at 50% 49%,#cf9776 0 19%,transparent 20%),
    linear-gradient(135deg,#8aa5bc,#e0e7ec);
}
.tb-public-profile .identity h1{font-size:17px;margin:0 0 3px}
.tb-public-profile .identity .subtitle{font-size:11px;color:#647589}
.tb-public-profile .location{margin-top:10px;color:#6a7889;font-size:11px}
.tb-public-profile .available{margin-top:4px;color:#617084;font-size:11px}
.tb-public-profile .available .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px}

.tb-public-profile .actions{display:grid;gap:9px;margin:3px 5px 18px}
.tb-public-profile .cta{
  min-height:32px;border-radius:8px;border:1px solid var(--tb-primary, #456fb8);display:flex;align-items:center;
  justify-content:center;gap:9px;font-weight:700;color:var(--tb-primary, #456fb8);background:#fff;cursor:pointer
}
.tb-public-profile .cta.primary{background:var(--tb-primary, #456fb8);border-color:var(--tb-primary, #456fb8);color:#fff}
.tb-public-profile .side-nav{display:grid;gap:3px}
.tb-public-profile .side-nav a{
  display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:9px;color:#536276;font-size:12px
}
.tb-public-profile .side-nav a.active{background:#e7f1ff;color:#0d5dc5;font-weight:700}
.tb-public-profile .nav-ico{width:18px;text-align:center;color:#425970}
.tb-public-profile .share-box{
  margin-top:auto;border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center
}
.tb-public-profile .share-box p{margin:0 0 11px;color:#536276;font-size:11px}
.tb-public-profile .share-buttons{display:flex;justify-content:center;gap:14px}
.tb-public-profile .share-buttons a{
  width:34px;height:34px;border-radius:8px;background:var(--blue-soft);color:#1767cb;
  display:grid;place-items:center;font-weight:700
}


.tb-public-profile .content{min-width:0}
.tb-public-profile .public-bar{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:10px 15px;min-height:59px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px
}
.tb-public-profile .public-left,.tb-public-profile .public-right{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.tb-public-profile .public-bar{position:relative;flex-wrap:wrap}
.tb-public-profile .public-bar__tools{
  display:flex;align-items:center;gap:14px;margin-left:auto;flex-wrap:wrap;
}
.tb-public-profile .tb-profile-completion{position:relative;min-width:160px}
.tb-public-profile .tb-profile-completion__trigger{
  display:flex;align-items:center;gap:8px;padding:4px 6px 4px 8px;margin:0;
  border:0;background:transparent;cursor:pointer;border-radius:8px;color:#34465d;
  font:inherit;text-align:left;
}
.tb-public-profile .tb-profile-completion__trigger:hover,
.tb-public-profile .tb-profile-completion__trigger:focus-visible{
  background:#f4f8fc;outline:none;box-shadow:0 0 0 2px rgba(69,111,184,.25);
}
.tb-public-profile .tb-profile-completion.is-open .tb-profile-completion__trigger{
  background:#f4f8fc;
}
.tb-public-profile .tb-profile-completion__summary{
  display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:140px;
}
.tb-public-profile .tb-profile-completion__percent{
  font-size:12px;font-weight:700;color:#2f65b5;white-space:nowrap;
}
.tb-public-profile .tb-profile-completion__track{
  width:140px;height:6px;background:#edf2f7;border-radius:99px;overflow:hidden;
}
.tb-public-profile .tb-profile-completion__fill{
  display:block;height:100%;background:#4f79b7;border-radius:99px;
}
.tb-public-profile .tb-profile-completion__chevron{
  flex-shrink:0;color:#647589;transition:transform .18s ease;
}
.tb-public-profile .tb-profile-completion.is-open .tb-profile-completion__chevron{
  transform:rotate(180deg);
}
.tb-public-profile .tb-profile-completion__panel{
  position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(360px,calc(100vw - 32px));
  padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 12px 32px rgba(34,58,91,.14);
}
.tb-public-profile .tb-profile-completion__panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;
}
.tb-public-profile .tb-profile-completion__panel-title{
  margin:0;font-size:13px;font-weight:800;color:#34465d;
}
.tb-public-profile .tb-profile-completion__panel-percent{
  font-size:13px;font-weight:800;color:#2f65b5;
}
.tb-public-profile .tb-profile-completion__panel-track{
  height:8px;background:#edf2f7;border-radius:99px;overflow:hidden;margin-bottom:6px;
}
.tb-public-profile .tb-profile-completion__panel-track span{
  display:block;height:100%;background:#4f79b7;
}
.tb-public-profile .tb-profile-completion__panel-sub{
  margin:0 0 12px;font-size:11px;color:#647589;
}
.tb-public-profile .tb-profile-completion__section-title{
  margin:0 0 8px;font-size:10px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:#647589;
}
.tb-public-profile .tb-profile-completion__breakdown{
  list-style:none;margin:0 0 12px;padding:0;
}
.tb-public-profile .tb-profile-completion__item{
  display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;
  padding:5px 0;font-size:12px;border-bottom:1px solid #f0f4f8;
}
.tb-public-profile .tb-profile-completion__item:last-child{border-bottom:0}
.tb-public-profile .tb-profile-completion__status{
  font-size:11px;font-weight:800;line-height:1;
}
.tb-public-profile .tb-profile-completion__item.is-done .tb-profile-completion__status{color:#15803d}
.tb-public-profile .tb-profile-completion__item.is-missing .tb-profile-completion__status{color:#b45309}
.tb-public-profile .tb-profile-completion__item-label{color:#334155}
.tb-public-profile .tb-profile-completion__item-weight{font-weight:700;color:#475569;font-size:11px}
.tb-public-profile .tb-profile-completion__excluded-title{
  margin:0 0 8px;font-size:10px;font-weight:700;color:#647589;
}
.tb-public-profile .tb-profile-completion__excluded{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;
}
.tb-public-profile .tb-profile-completion__excluded li{
  padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:600;
}
@media (max-width:700px){
  .tb-public-profile .public-bar__tools{
    width:100%;margin-left:0;justify-content:space-between;
  }
  .tb-public-profile .tb-profile-completion{flex:1;min-width:0}
  .tb-public-profile .tb-profile-completion__summary{align-items:stretch;width:100%}
  .tb-public-profile .tb-profile-completion__track{width:100%}
  .tb-public-profile .tb-profile-completion__panel{right:auto;left:0;width:100%}
}
.tb-public-profile .public-label{color:#718094}
.tb-public-profile .url{
  background:#e9f2ff;color:#1769cf;padding:8px 12px;border-radius:8px;font-size:12px
}
.tb-public-profile .copy{
  border:1px solid #d8e2ec;background:#fff;color:#536276;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px
}
.tb-public-profile .public-right a:not(.tb-profile-actions__btn):not(.pc-btn){color:#69798d;font-size:12px;padding:5px 4px}


.tb-public-profile .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tb-public-profile .card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:18px;min-width:0;
}
.tb-public-profile .card-title{
  margin:0 0 15px;font-size:14px;font-weight:800;
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
.tb-public-profile .card-title a{font-size:11px;color:#1768ce;font-weight:500}

.tb-public-profile .card-title-actions,
.tb-private-profile .card-title-actions{
  display:inline-flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end
}

.tb-public-profile .edit-btn,
.tb-public-profile .manage-btn,
.tb-public-profile .add-btn,
.tb-private-profile .edit-btn,
.tb-private-profile .manage-btn,
.tb-private-profile .add-btn{
  border:1px solid #cfe0f3;background:#fff;color:var(--manage-blue,#2f65b5);
  border-radius:8px;padding:6px 9px;font-size:10px;font-weight:700;cursor:pointer;
  text-decoration:none;line-height:1.3;display:inline-flex;align-items:center;justify-content:center
}

.tb-public-profile .edit-btn:hover,
.tb-public-profile .manage-btn:hover,
.tb-public-profile .add-btn:hover,
.tb-private-profile .edit-btn:hover,
.tb-private-profile .manage-btn:hover,
.tb-private-profile .add-btn:hover{background:#f6f9ff}

.tb-public-profile .add-btn--create,
.tb-private-profile .add-btn--create{
  background:#fff;color:var(--manage-blue,#2f65b5);border-color:#c5d9f0;
  padding:4px 10px 4px 4px;gap:5px;font-size:10px;font-weight:700;
  box-shadow:0 1px 2px rgba(47,101,181,.06);min-height:28px
}

.tb-public-profile .add-btn--create:hover,
.tb-private-profile .add-btn--create:hover{
  background:var(--manage-blue-soft,#eef5ff);border-color:var(--manage-blue,#2f65b5);color:#254f94
}

.tb-public-profile .add-btn__plus,
.tb-private-profile .add-btn__plus{
  display:inline-grid;place-items:center;width:18px;height:18px;flex-shrink:0;
  border-radius:6px;background:var(--manage-blue,#2f65b5);color:#fff;
  font-size:13px;font-weight:800;line-height:1
}

.tb-public-profile .add-btn--create:hover .add-btn__plus,
.tb-private-profile .add-btn--create:hover .add-btn__plus{background:#254f94}

.tb-public-profile .program h3 a,
.tb-private-profile .program h3 a{
  color:#152238;font-weight:700;text-decoration:none
}

.tb-public-profile .program h3 a:hover,
.tb-private-profile .program h3 a:hover{color:#1470df;text-decoration:underline;text-underline-offset:2px}


.tb-public-profile .presentation{display:grid;grid-template-columns:230px 1fr;gap:16px}
.tb-public-profile .video{
  height:194px;border-radius:12px;overflow:hidden;position:relative;
  background:
    linear-gradient(rgba(4,20,40,.03),rgba(4,20,40,.03)),
    radial-gradient(circle at 52% 34%,#e0ac87 0 10%,transparent 11%),
    radial-gradient(circle at 51% 48%,#334b61 0 18%,transparent 19%),
    linear-gradient(135deg,#c8a47b,#e2d0b8 48%,#6f7f6c);
}
.tb-public-profile .play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;
  color:#154da9;font-size:18px;box-shadow:0 4px 16px rgba(0,0,0,.18)
}
.tb-public-profile .duration{position:absolute;left:8px;bottom:7px;background:rgba(0,0,0,.55);color:#fff;border-radius:4px;padding:2px 6px;font-size:10px}
.tb-public-profile .presentation-copy h3{margin:1px 0 9px;font-size:13px}
.tb-public-profile .presentation-copy p{margin:0 0 8px;color:#657589;font-size:12px}
.tb-public-profile .more{color:#1470df;font-size:12px}


.tb-public-profile .skill{
  display:grid;grid-template-columns:110px 1fr 82px;gap:10px;align-items:center;margin:14px 0;
  font-size:12px
}
.tb-public-profile .progress{height:7px;background:#edf2f7;border-radius:99px;overflow:hidden}
.tb-public-profile .progress span{display:block;height:100%;background:var(--blue);border-radius:99px}
.tb-public-profile .level{text-align:right;font-size:10px;color:#68788b}
.tb-public-profile .skills-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px}
.tb-public-profile .skills-footer>a{color:#1769cf}
.tb-public-profile .outline{border:1px solid #d8e2ec;border-radius:8px;background:#fff;padding:7px 11px;color:#475668}


.tb-public-profile .program{
  display:flex;gap:11px;border:1px solid #e2e9f0;border-radius:13px;padding:11px;margin-top:10px
}
.tb-public-profile .program-icon{
  width:38px;height:38px;border-radius:10px;background:#e8f3ff;color:#1471df;
  display:grid;place-items:center;flex:0 0 auto;font-size:18px
}
.tb-public-profile .program h3{font-size:12px;margin:0 0 1px}.tb-public-profile .program p{font-size:10px;margin:0;color:#718094}

.tb-public-profile .grid > .card#formations,
.tb-public-profile .grid > .card#disponibilites,
.tb-private-profile .grid > .card#formations,
.tb-private-profile .grid > .card#disponibilites{
  display:flex;flex-direction:column;min-height:0
}

.tb-public-profile #formations .card-title,
.tb-private-profile #formations .card-title{
  flex:0 0 auto
}

.tb-public-profile #formations .formations-programs-scroll,
.tb-private-profile #formations .formations-programs-scroll{
  flex:1 1 auto;min-width:0;min-height:0;
  max-height:var(--tb-profile-calendar-body-height,300px);
  overflow-y:auto;padding-right:4px;
  scrollbar-width:thin;scrollbar-color:#d8e2ec transparent
}

.tb-public-profile #formations .formations-programs-scroll::-webkit-scrollbar,
.tb-private-profile #formations .formations-programs-scroll::-webkit-scrollbar{
  width:6px
}

.tb-public-profile #formations .formations-programs-scroll::-webkit-scrollbar-thumb,
.tb-private-profile #formations .formations-programs-scroll::-webkit-scrollbar-thumb{
  background:#d8e2ec;border-radius:999px
}

.tb-public-profile .program .program-content,
.tb-private-profile .program .program-content{
  min-width:0;overflow:hidden
}

.tb-public-profile .program .program-summary,
.tb-private-profile .program .program-summary{
  display:block;width:100%;max-width:100%;margin:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.tb-public-profile .tags{display:flex;gap:7px;margin-top:7px;flex-wrap:wrap}
.tb-public-profile .tag{background:#f2f5f8;padding:3px 7px;border-radius:7px;font-size:9px;color:#617185}


.tb-public-profile .calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tb-public-profile .calendar-head .card-title{margin:0}
.tb-public-profile .cal-controls{display:flex;gap:7px}
.tb-public-profile .cal-controls button{background:#fff;border:1px solid #dce5ed;border-radius:8px;padding:5px 9px;font-size:10px;color:#445468}
.tb-public-profile .calendar{display:grid;grid-template-columns:44px repeat(7,1fr);gap:4px;align-items:center}
.tb-public-profile .day{text-align:center;color:#536174;font-size:9px}.tb-public-profile .day b{font-size:10px;color:#25354b}
.tb-public-profile .time{text-align:right;padding-right:4px;color:#718093;font-size:9px}
.tb-public-profile .slot{height:23px;background:var(--off);border-radius:4px}
.tb-public-profile .slot.free{background:#b9edcf}.tb-public-profile .slot.reserved{background:var(--reserved)}
.tb-public-profile .legend{display:flex;gap:13px;margin-top:11px;color:#728195;font-size:9px}
.tb-public-profile .legend span:before{
  content:"";display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px
}
.tb-public-profile .legend .free:before{background:#b9edcf}.tb-public-profile .legend .reserved:before{background:var(--reserved)}.tb-public-profile .legend .off:before{background:var(--off)}


.tb-public-profile .content-item{display:flex;gap:10px;padding:8px 0;border-top:1px solid #edf2f6}
.tb-public-profile .content-item:first-of-type{border-top:0}
.tb-public-profile .content-icon{
  width:36px;height:36px;border-radius:9px;background:#e8f3ff;color:#1471df;display:grid;place-items:center
}
.tb-public-profile .content-item h3{font-size:11px;margin:0}.tb-public-profile .content-item p{font-size:9px;margin:1px 0 0;color:#7b8998}


.tb-public-profile .rating-wrap{display:grid;grid-template-columns:100px 1fr;gap:15px}
.tb-public-profile .score{font-size:34px;line-height:1;color:#0a397f}.tb-public-profile .score small{font-size:14px;color:#68788b}
.tb-public-profile .stars{color:var(--yellow);letter-spacing:2px;margin:6px 0;font-size:16px}
.tb-public-profile .reviews{font-size:9px;color:#718094}
.tb-public-profile .rating-row{
  display:grid;grid-template-columns:14px 12px 1fr 20px;gap:6px;align-items:center;
  margin:5px 0;font-size:9px;color:#68788a
}
.tb-public-profile .rating-row .star{color:var(--yellow)}
.tb-public-profile .rbar{height:6px;background:#edf1f5;border-radius:99px;overflow:hidden}
.tb-public-profile .rbar span{display:block;height:100%;background:var(--yellow);border-radius:99px}


.tb-public-profile .wide{grid-column:1/-1}
.tb-public-profile .experience-item{
  display:grid;grid-template-columns:145px 1fr;gap:16px;padding:12px 0;border-top:1px solid #edf1f5
}
.tb-public-profile .experience-item:first-of-type{border-top:0;padding-top:0}
.tb-public-profile .date{font-size:10px;color:#798797}
.tb-public-profile .experience-item h3{font-size:12px;margin:0 0 4px}
.tb-public-profile .experience-item p{font-size:10px;color:#6d7b8b;margin:0}
.tb-public-profile .stack{margin-top:6px;font-size:9px;color:#46617c}
.tb-public-profile .badges{display:flex;gap:8px;flex-wrap:wrap}
.tb-public-profile .badge{padding:6px 9px;border-radius:999px;background:#eef5ff;color:#245fa8;font-size:9px}

@media(max-width:1050px){
  .tb-public-profile .page{grid-template-columns:1fr}
  .tb-public-profile .sidebar{position:static;min-height:0}
  .tb-public-profile .share-box{margin-top:18px}
}
@media(max-width:820px){
  .tb-public-profile .main-nav{display:none}
  .tb-public-profile .grid{grid-template-columns:1fr}
  .tb-public-profile .wide{grid-column:auto}
  .tb-public-profile .presentation{grid-template-columns:1fr}
  .tb-public-profile .public-bar{align-items:flex-start;flex-direction:column}
}
.tb-public-profile .avatar{
    width: 130px;
    height: 130px;
    border-radius: 50%;
    margin: 0 auto 12px;
    border: 4px solid #dce8f2;
    overflow: hidden;
    background: #fff;
}

.tb-public-profile .avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tb-public-profile .video{
    width: 100%;
    height: 194px;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}

.tb-public-profile .video video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tb-public-profile .user-avatar{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid #d8e2ec;
    background: #fff;
    flex-shrink: 0;
}

.tb-public-profile .user-avatar img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tb-public-profile .google-calendar{
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.tb-public-profile .google-calendar iframe{
    width: 100%;
    border: 0;
    display: block;
}
.tb-public-profile .logo{
    display: flex;
    align-items: center;
    flex-shrink: 0;
    background: transparent;
    padding: 0;
}

.tb-public-profile .logo img{
    width: auto;
    height: 34px;
    display: block;
    object-fit: contain;
}


.tb-public-profile .tb-inter-sessions-card .inter-session,
.tb-private-profile .tb-inter-sessions-card .inter-session{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border:1px solid #e2e9f0;
  border-radius:13px;
  padding:12px;
  margin-top:10px;
}
.tb-public-profile .tb-inter-sessions-card .inter-session-main,
.tb-private-profile .tb-inter-sessions-card .inter-session-main{min-width:0}
.tb-public-profile .tb-inter-sessions-card .inter-session h3,
.tb-private-profile .tb-inter-sessions-card .inter-session h3{font-size:12px;margin:0 0 3px}
.tb-public-profile .tb-inter-sessions-card .inter-session p,
.tb-private-profile .tb-inter-sessions-card .inter-session p{font-size:10px;margin:0;color:#718094}
.tb-public-profile .tb-inter-sessions-card .inter-session-meta,
.tb-private-profile .tb-inter-sessions-card .inter-session-meta{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:8px;
}
.tb-public-profile .tb-inter-sessions-card .inter-session-tag,
.tb-private-profile .tb-inter-sessions-card .inter-session-tag{
  background:#f2f5f8;
  color:#617185;
  padding:4px 7px;
  border-radius:7px;
  font-size:9px;
}
.tb-public-profile .tb-inter-sessions-card .inter-session-tag.open,
.tb-private-profile .tb-inter-sessions-card .inter-session-tag.open{
  background:#e8f8f0;
  color:#23865e;
}
.tb-public-profile .tb-inter-sessions-card .inter-session-link,
.tb-private-profile .tb-inter-sessions-card .inter-session-link{
  flex:0 0 auto;
  align-self:center;
  border:1px solid #d8e2ec;
  border-radius:8px;
  padding:7px 10px;
  color:#1769cf;
  font-size:10px;
  font-weight:600;
  background:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.tb-public-profile .tb-inter-sessions-card .inter-session-link:hover,
.tb-private-profile .tb-inter-sessions-card .inter-session-link:hover{
  background:#f6f9ff;border-color:#b9cde8;
}



.tb-public-profile .review-tabs{
  display:flex;
  gap:8px;
  margin:-2px 0 16px;
  border-bottom:1px solid #e7edf3;
}
.tb-public-profile .review-tab{
  border:0;
  background:transparent;
  color:#6b7a8c;
  padding:8px 4px 10px;
  cursor:pointer;
  font-size:11px;
  font-weight:700;
  position:relative;
}
.tb-public-profile .review-tab.active{color:#1769cf}
.tb-public-profile .review-tab.active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:#1769cf;
  border-radius:2px;
}
.tb-public-profile .review-panel{display:none}
.tb-public-profile .review-panel.active{display:block}
.tb-public-profile .recommendation-note{
  border:1px dashed #d8e2ec;
  border-radius:12px;
  padding:14px;
  color:#718094;
  font-size:11px;
  background:#fafcfe;
}


.tb-public-profile .training-exp{
  display:grid;
  grid-template-columns:145px 1fr;
  gap:16px;
  padding:12px 0;
  border-top:1px solid #edf1f5;
}
.tb-public-profile .training-exp:first-of-type{
  border-top:0;
  padding-top:0;
}
.tb-public-profile .training-exp .date{
  font-size:10px;
  color:#798797;
}
.tb-public-profile .training-exp h3{
  font-size:12px;
  margin:0 0 4px;
}
.tb-public-profile .training-exp p{
  font-size:10px;
  color:#6d7b8b;
  margin:0;
}


.tb-public-profile .experience-counters{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:7px;
  font-size:10px;
  color:#68788a;
}
.tb-public-profile .experience-counters span{
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.tb-public-profile .experience-counters strong{
  color:#26374a;
  font-weight:800;
}



.tb-public-profile .skills-strip{grid-column:1/-1}
.tb-public-profile .skills-horizontal{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tb-public-profile .skill-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 11px;
  border:1px solid #cfe0f3;
  border-radius:999px;
  background:#f8fbff;
  color:#245fa8;
  font-size:10px;
  white-space:nowrap;
}
.tb-public-profile .skill-pill strong{color:#173f70;font-weight:800}

.tb-public-profile .review-card{
  border:1px solid #e3e9ef;
  border-radius:13px;
  padding:13px;
  margin-top:11px;
  background:#fff;
}
.tb-public-profile .review-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.tb-public-profile .review-user{display:flex;align-items:center;gap:10px}
.tb-public-profile .review-avatar{
  width:38px;height:38px;border-radius:50%;
  background:#f4f7fa;color:#3269b7;
  display:grid;place-items:center;
  font-weight:800;letter-spacing:1px;flex:0 0 auto;
}
.tb-public-profile .review-name{font-weight:800;font-size:12px;color:#172338}
.tb-public-profile .review-date{font-size:9px;color:#758396;margin-top:2px}
.tb-public-profile .review-score{
  display:flex;align-items:center;gap:7px;
  font-size:11px;font-weight:800;white-space:nowrap;
}
.tb-public-profile .review-stars{color:var(--yellow);font-size:14px;letter-spacing:1px}
.tb-public-profile .review-comment{
  margin-top:11px;
  background:#f6f8fa;
  border-radius:10px;
  padding:11px 12px;
  color:#4f5e70;
  font-size:10px;
  line-height:1.55;
  font-style:italic;
}



.tb-public-profile .subcontracting-status{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;font-size:10px;color:#68788a}
.tb-public-profile .subcontracting-value{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:3px 8px;border-radius:999px;font-weight:800}
.tb-public-profile .subcontracting-value.yes{background:#e8f8f0;color:#23865e}
.tb-public-profile .subcontracting-value.no{background:#f3f5f7;color:#697789}

.tb-public-profile .program-types{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.tb-public-profile .program-type{padding:3px 7px;border-radius:7px;font-size:9px;background:#edf4ff;color:#245fa8;border:1px solid #d7e6f8}

.tb-public-profile .mobility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tb-public-profile .mobility-item{border:1px solid #e2e9f0;border-radius:12px;padding:11px 12px;background:#fbfdff}
.tb-public-profile .mobility-item strong{display:block;font-size:11px;margin-bottom:3px;color:#1f3045}
.tb-public-profile .mobility-item span{color:#6d7b8c;font-size:10px}
.tb-public-profile .mobility-summary{margin-top:11px;padding:10px 12px;border-radius:10px;background:#eef7ff;color:#2f5f96;font-size:10px}

.tb-public-profile .service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tb-public-profile .service-item{border:1px solid #e2e9f0;border-radius:12px;padding:11px 12px;background:#fff}
.tb-public-profile .service-item strong{display:block;font-size:11px;margin-bottom:3px}
.tb-public-profile .service-item span{color:#6f7d8e;font-size:10px}
.tb-public-profile .service-badge{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:9px;background:#eef5ff;color:#245fa8}

.tb-public-profile .reviews-scroll{max-height:290px;overflow-y:auto;padding-right:5px;margin-top:14px}
.tb-public-profile .reviews-scroll::-webkit-scrollbar{width:6px}
.tb-public-profile .reviews-scroll::-webkit-scrollbar-thumb{background:#d8e2ec;border-radius:999px}
.tb-public-profile .verified-label{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:9px;color:#23865e;font-weight:700}
.tb-public-profile .verified-label:before{content:"✓";width:14px;height:14px;border-radius:50%;display:inline-grid;place-items:center;background:#e8f8f0;color:#23865e;font-size:8px}

@media(max-width:820px){
  .tb-public-profile .mobility-grid,.tb-public-profile .service-list{grid-template-columns:1fr}
}



.tb-public-profile .profile-location{
  margin-top:10px;
  padding:10px 11px;
  border:1px solid #e2e9f0;
  border-radius:12px;
  background:#fbfdff;
  text-align:left;
}
.tb-public-profile .profile-location div{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:7px;
  margin:5px 0;
  font-size:9px;
}
.tb-public-profile .profile-location strong{
  color:#26374a;
  font-weight:800;
}
.tb-public-profile .profile-location span{
  color:#6d7b8c;
}
.tb-public-profile .profile-location p{
  margin:8px 0 0;
  padding-top:8px;
  border-top:1px solid #e9eef4;
  color:#6d7b8c;
  font-size:9px;
  line-height:1.45;
}

.tb-public-profile .review-visible .review-card{
  margin-top:14px;
}
.tb-public-profile .reviews-scroll{
  max-height:185px;
  overflow-y:auto;
  padding-right:5px;
  margin-top:6px;
}
.tb-public-profile .reviews-scroll .review-card{
  margin-top:8px;
}

.tb-public-profile .service-titles{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tb-public-profile .service-titles span{
  display:inline-flex;
  align-items:center;
  padding:8px 11px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #d7e6f8;
  color:#245fa8;
  font-size:10px;
  font-weight:700;
}



.tb-public-profile .review-visible{display:none}
.tb-public-profile .reviews-scroll{
  height:155px;
  max-height:155px;
  overflow-y:auto;
  padding-right:6px;
  margin-top:14px;
  scroll-behavior:smooth;
}
.tb-public-profile .reviews-scroll .review-card{
  margin-top:0;
  margin-bottom:10px;
}
.tb-public-profile .reviews-scroll .review-card + .review-card{
  margin-top:0;
}



.tb-public-profile .program-content{flex:1;min-width:0}
.tb-public-profile .program-meta-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:7px;
}
.tb-public-profile .program-meta-line .tags,.tb-public-profile .program-meta-line .program-types{
  margin-top:0;
}
.tb-public-profile .program-meta-line .program-types{
  margin-left:auto;
  justify-content:flex-end;
  flex-wrap:nowrap;
}

.tb-public-profile .tb-inter-sessions-card .inter-sessions-scroll,
.tb-private-profile .tb-inter-sessions-card .inter-sessions-scroll{
  max-height:330px;
  overflow-y:auto;
  padding-right:5px;
}
.tb-public-profile .tb-inter-sessions-card .inter-sessions-scroll .inter-session:first-child,
.tb-private-profile .tb-inter-sessions-card .inter-sessions-scroll .inter-session:first-child{
  margin-top:0;
}
.tb-public-profile .tb-inter-sessions-card .inter-sessions-scroll::-webkit-scrollbar,
.tb-private-profile .tb-inter-sessions-card .inter-sessions-scroll::-webkit-scrollbar{width:6px}
.tb-public-profile .tb-inter-sessions-card .inter-sessions-scroll::-webkit-scrollbar-thumb,
.tb-private-profile .tb-inter-sessions-card .inter-sessions-scroll::-webkit-scrollbar-thumb{background:#d8e2ec;border-radius:999px}

.tb-public-profile .location-inline{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.tb-public-profile .location-inline-title{
  font-size:12px;
  font-weight:800;
  color:#1f3045;
  white-space:nowrap;
}
.tb-public-profile .location-inline-items{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tb-public-profile .location-inline-items span{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border:1px solid #dce7f3;
  background:#f8fbff;
  color:#5a6b7e;
  border-radius:999px;
  font-size:10px;
}
.tb-public-profile .location-inline-items span:first-child{
  color:#245fa8;
  background:#eef5ff;
}

@media(max-width:820px){
  .tb-public-profile .program-meta-line{align-items:flex-start;flex-direction:column}
  .tb-public-profile .program-meta-line .program-types{margin-left:0;flex-wrap:wrap;justify-content:flex-start}
}



.tb-public-profile .intervention-card{
  padding:16px 18px 18px;
}
.tb-public-profile .intervention-card .card-title{
  margin-bottom:13px;
}
.tb-public-profile .intervention-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border:1px solid #e1e8f0;
  border-radius:14px;
  overflow:hidden;
  background:#fbfdff;
}
.tb-public-profile .intervention-block{
  padding:12px 16px;
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.tb-public-profile .intervention-block + .intervention-block{
  border-left:0;
  border-top:1px solid #e1e8f0;
}
.tb-public-profile .intervention-label{
  flex:0 0 180px;
  margin-bottom:0;
  padding-top:5px;
}
.tb-public-profile .intervention-values{
  flex:1;
}
.tb-public-profile .intervention-label{
  font-size:11px;
  font-weight:800;
  color:#20344d;
  margin-bottom:9px;
}
.tb-public-profile .intervention-values{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.tb-public-profile .info-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:#f3f7fb;
  border:1px solid #dce6ef;
  color:#5d6d7f;
  font-size:9px;
  line-height:1.2;
  white-space:nowrap;
}
.tb-public-profile .info-pill strong{
  color:#234f86;
}
.tb-public-profile .location-pill{
  background:#eef5ff;
  border-color:#d7e6f8;
  color:#245fa8;
  font-weight:700;
}
.tb-public-profile .service-pill{
  background:#f7f9fc;
  color:#42546a;
}

@media(max-width:1050px){
  .tb-public-profile .intervention-block{
    flex-direction:column;
    gap:8px;
  }
  .tb-public-profile .intervention-label{
    flex:0 0 auto;
    padding-top:0;
  }
}



.tb-public-profile .recommendation-warning{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:13px;
  padding:10px 12px;
  border:1px solid #e2e8ef;
  border-radius:10px;
  background:#f7f9fc;
}
.tb-public-profile .recommendation-warning strong{
  font-size:10px;
  color:#48586b;
}
.tb-public-profile .recommendation-warning span{
  font-size:9px;
  line-height:1.45;
  color:#718094;
}
.tb-public-profile .recommendations-scroll{
  max-height:215px;
  overflow-y:auto;
  padding-right:6px;
  margin-top:10px;
}
.tb-public-profile .recommendations-scroll::-webkit-scrollbar{width:6px}
.tb-public-profile .recommendations-scroll::-webkit-scrollbar-thumb{
  background:#d8e2ec;
  border-radius:999px;
}
.tb-public-profile .recommendation-card{
  padding:11px 12px;
  border:1px solid #e2e9f0;
  border-radius:11px;
  background:#fff;
  margin-bottom:9px;
}
.tb-public-profile .recommendation-head{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
}
.tb-public-profile .recommendation-role{
  font-size:9px;
  color:#718094;
  margin-top:1px;
}
.tb-public-profile .recommendation-card .review-comment{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.tb-public-profile .not-verified-label{
  display:inline-flex;
  margin-top:3px;
  padding:2px 6px;
  border-radius:999px;
  background:#f1f3f5;
  color:#707b88;
  font-size:8px;
  font-weight:700;
}



.tb-public-profile #expertise-intervention .intervention-block{
  flex-direction:column;
  gap:8px;
  padding:11px 13px;
}
.tb-public-profile #expertise-intervention .intervention-label{
  flex:0 0 auto;
  padding-top:0;
}
.tb-public-profile #expertise-intervention .intervention-values{
  width:100%;
}
.tb-public-profile #expertise-intervention .info-pill{
  white-space:normal;
}



.tb-public-profile .sidebar-review-response{
  margin:0 5px 0px;
  padding:13px 5px 11px;
  border-top:1px solid var(--line);
  text-align:center;
}
.tb-public-profile .sidebar-review-title{
  font-size:10px;
  font-weight:800;
  color:#405064;
  margin-bottom:0px;
}
.tb-public-profile .sidebar-review-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  white-space:nowrap;
}
.tb-public-profile .sidebar-review-line strong{
  font-size:17px;
  color:#0a397f;
}
.tb-public-profile .sidebar-stars{
  color:var(--yellow);
  font-size:11px;
  letter-spacing:1px;
}
.tb-public-profile .sidebar-review-count{
  font-size:9px;
  color:#718094;
}
.tb-public-profile .sidebar-response{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #edf1f5;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.tb-public-profile .sidebar-response span{
  font-size:9px;
  color:#8290a0;
}
.tb-public-profile .sidebar-response strong{
  font-size:9px;
  color:#23865e;
}



.tb-public-profile .sidebar-extra{
  margin:0 5px 14px;
  border-top:1px solid #edf1f5;
}
.tb-public-profile .sidebar-extra-section{
  padding:12px 5px;
  border-bottom:1px solid #edf1f5;
}
.tb-public-profile .sidebar-extra-title{
  font-size:10px;
  font-weight:800;
  color:#24364c;
  margin-bottom:7px;
}
.tb-public-profile .sidebar-extra-list{
  display:grid;
  gap:4px;
  font-size:9px;
  color:#6b7a8c;
}
.tb-public-profile .sidebar-extra-list strong{
  color:#26374a;
}
.tb-public-profile .sidebar-language-pills{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.tb-public-profile .sidebar-language-pills span{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border:1px solid #dce6ef;
  background:#f8fbff;
  border-radius:999px;
  font-size:9px;
  color:#5d6d7f;
}



.tb-public-profile .presentation-expertise-card{
  grid-column:1/-1;
  padding:18px;
}
.tb-public-profile .presentation-expertise-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:22px;
  align-items:start;
}
.tb-public-profile .presentation-expertise-card .video{
  height:202px;
}
.tb-public-profile .presentation-expertise-card .presentation-copy .card-title{
  margin:0 0 8px;
}
.tb-public-profile .presentation-expertise-card .presentation-copy h3{
  margin:0 0 9px;
}
.tb-public-profile .presentation-skills{
  margin-left:calc(33.333% + 15px);
  margin-top:-48px;
  padding-top:10px;
  border-top:1px solid #edf1f5;
}
.tb-public-profile .presentation-skills-title{
  margin-bottom:8px;
  font-size:11px;
  font-weight:800;
  color:#20344d;
}
.tb-public-profile .presentation-skills-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
@media(max-width:820px){
  .tb-public-profile .presentation-expertise-top{
    grid-template-columns:1fr;
  }
  .tb-public-profile .presentation-skills{
    margin-left:0;
    margin-top:14px;
  }
}

/* Profil privé : compétences éditables (picker), pleine largeur sous la présentation */
.tb-public-profile.tb-private-profile .presentation-skills--manage{
  margin-left:0;
  margin-top:20px;
  padding-top:16px;
  clear:both;
}
.tb-public-profile.tb-private-profile .presentation-skills--manage .presentation-skills-title{
  font-size:13px;
  margin-bottom:6px;
}
.tb-public-profile.tb-private-profile .presentation-skills-hint{
  margin:0 0 12px;
}
.tb-public-profile.tb-private-profile .presentation-expertise-card > .tb-private-form{
  margin-top:18px;
}
.tb-public-profile.tb-private-profile .presentation-skills--manage .tb-tag-picker--skills{
  width:100%;
  max-width:none;
}
.tb-public-profile.tb-private-profile #form-skills.tb-private-form{
  margin-top:0;
  padding-top:0;
}
.tb-public-profile.tb-private-profile #form-skills .tb-field-hint{
  margin-top:0;
  margin-bottom:12px;
}
.tb-public-profile.tb-private-profile .presentation-skills-list .info-pill{
  font-size:12px;
}
.tb-public-profile.tb-private-profile .tb-sidebar-mobility-fields .tb-tag-picker{
  margin-top:4px;
}
.tb-public-profile.tb-private-profile .tb-sidebar-mobility-fields .tb-tag-picker__controls{
  margin-top:6px;
}
.tb-public-profile.tb-private-profile .tb-sidebar-response-field{
  margin-top:6px;
  width:100%;
}
.tb-public-profile.tb-private-profile .tb-sidebar-response-field .tb-input{
  width:100%;
  font-size:12px;
}
.tb-public-profile.tb-private-profile .presentation-expertise-card .video.tb-presentation-media-slot{
  height:auto;
  min-height:0;
  overflow:visible;
  display:block;
  background:#f8fafc;
  border:1px solid #e2e9f0;
  padding:12px;
}
.tb-public-profile.tb-private-profile .tb-presentation-media-fields{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.tb-public-profile.tb-private-profile .tb-presentation-media-preview{
  width:100%;
  min-height:160px;
  border-radius:12px;
  overflow:hidden;
  background:
    linear-gradient(rgba(4,20,40,.03),rgba(4,20,40,.03)),
    radial-gradient(circle at 52% 34%,#e0ac87 0 10%,transparent 11%),
    radial-gradient(circle at 51% 48%,#334b61 0 18%,transparent 19%),
    linear-gradient(135deg,#c8a47b,#e2d0b8 48%,#6f7f6c);
}
.tb-public-profile.tb-private-profile .tb-presentation-media-preview img{
  width:100%;
  height:160px;
  object-fit:cover;
  display:block;
}
.tb-public-profile.tb-private-profile .tb-presentation-media-display video,
.tb-public-profile.tb-private-profile .tb-presentation-media-display > img{
  width:100%;
  height:202px;
  object-fit:cover;
  border-radius:12px;
  display:block;
}
.tb-public-profile.tb-private-profile .tb-presentation-media-fields .tb-field{
  margin:0;
}
.tb-public-profile.tb-private-profile .tb-presentation-media-fields .tb-field-hint{
  margin:0;
  font-size:11px;
}
.tb-public-profile .tb-presentation-media-placeholder{
  margin:0;
  padding:24px 12px;
  text-align:center;
  color:#64748b;
  font-size:12px;
}
.tb-public-profile .tb-media-upload-fields{
  margin-bottom:8px;
}
.tb-public-profile .tb-media-upload-fields .tb-field{
  margin-bottom:12px;
}
.tb-public-profile .tb-link-btn{
  background:none;
  border:0;
  padding:0;
  color:var(--tb-primary, #456fb8);
  font:inherit;
  font-weight:600;
  cursor:pointer;
  text-decoration:underline;
}
.tb-public-profile .tb-link-btn:hover{
  color:var(--tb-primary-hover, #3a5f9e);
}



.tb-public-profile .presentation-expertise-card .presentation-copy .more{
  display:block;
  width:max-content;
  margin-left:auto;
  text-align:right;
}



.tb-public-profile .tb-footer{
  margin-top:38px;
  background:#123f78;
  color:#fff;
  font-size:11px;
}
.tb-public-profile .tb-footer-inner{
  width:min(1320px,calc(100% - 40px));
  margin:0 auto;
  padding:34px 0 28px;
  display:grid;
  grid-template-columns:1.55fr 1fr 1fr 1.1fr;
  gap:48px;
}
.tb-public-profile .tb-footer-brand{
  display:inline-block;
  margin-bottom:13px;
  padding:4px 9px;
  background:#fff;
  color:#123f78;
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:700;
}
.tb-public-profile .tb-footer h4{
  margin:0 0 13px;
  font-size:12px;
  color:#fff;
}
.tb-public-profile .tb-footer p{
  margin:0 0 10px;
  color:#d9e5f2;
  line-height:1.6;
}
.tb-public-profile .tb-footer-certification p{max-width:340px}
.tb-public-profile .tb-footer a{
  display:block;
  width:max-content;
  max-width:100%;
  margin-bottom:8px;
  color:#d9e5f2;
  text-decoration:none;
}
.tb-public-profile .tb-footer a:hover{
  color:#fff;
  text-decoration:underline;
}
.tb-public-profile .tb-footer-bottom{
  padding:15px 20px;
  border-top:1px solid rgba(255,255,255,.15);
  text-align:center;
  color:#cbd9e8;
}
@media(max-width:900px){
  .tb-public-profile .tb-footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .tb-public-profile .tb-footer-inner{grid-template-columns:1fr}
}



.tb-public-profile .public-nav{
  margin-left:auto;
  gap:24px;
  white-space:nowrap;
}
.tb-public-profile .public-nav a{
  font-size:11px;
}
.tb-public-profile .public-nav .login-link{
  padding:7px 14px;
  border-radius:999px;
  background:#456FB8;
  color:#fff;
  font-weight:700;
}
.tb-public-profile .public-nav .login-link:hover{
  color:#fff;
  background:#3A5F9E;
}
@media(max-width:1050px){
  .tb-public-profile .public-nav{gap:12px}
  .tb-public-profile .public-nav a{font-size:9px}
}



.tb-public-profile .public-nav .login-link{
  padding:6px 11px !important;
  min-width:0 !important;
  width:auto !important;
  line-height:1.2;
}



.tb-public-profile .header-inner{
  display:flex !important;
  align-items:center !important;
  width:var(--tb-profile-page-max) !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.tb-public-profile .public-nav{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:24px !important;
  flex:0 0 auto !important;
}

.tb-public-profile .public-nav .login-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  padding:7px 14px !important;
  margin:0 !important;
  border-radius:18px !important;
  line-height:1.15 !important;
  background:#456FB8 !important;
  color:#fff !important;
  font-weight:700 !important;
  box-sizing:border-box !important;
}



.tb-public-profile .card-link-btn,
.tb-private-profile .card-link-btn{
  border:0;
  background:transparent;
  color:#1768ce;
  font-size:11px;
  font-weight:500;
  cursor:pointer;
  padding:0;
}
.tb-public-profile .card-link-btn:hover,
.tb-private-profile .card-link-btn:hover{text-decoration:underline}

/* Dates Inter — en-tête identique public / privé */
.tb-private-profile .tb-inter-sessions-card > .card-title{
  flex-direction:row !important;
  align-items:center !important;
  flex-wrap:wrap !important;
}

.tb-private-profile .tb-inter-sessions-card .tb-inter-access-block{
  margin:0 0 16px;
  padding:0 0 16px;
  border-bottom:1px solid #eef1f5;
}
.tb-private-profile .tb-inter-sessions-card .tb-inter-access-lead,
.tb-private-profile .tb-inter-access-card .tb-inter-access-lead{
  font-size:12px;
  line-height:1.55;
  color:#667085;
  margin:0 0 14px;
  font-weight:400;
}
.tb-private-profile .tb-inter-sessions-card .tb-inter-access-progress__track,
.tb-private-profile .tb-inter-access-progress__track{
  height:8px;
  border-radius:999px;
  background:#e8eef5;
  overflow:hidden;
}
.tb-private-profile .tb-inter-sessions-card .tb-inter-access-progress__fill,
.tb-private-profile .tb-inter-access-progress__fill{
  height:100%;
  max-width:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#456fb8,#5f86c7);
  transition:width .25s ease;
}
.tb-private-profile .tb-inter-sessions-card .tb-inter-access-progress__label,
.tb-private-profile .tb-inter-access-progress__label{
  margin:8px 0 0;
  font-size:12px;
  font-weight:700;
  color:#40536a;
}
.tb-private-profile .tb-inter-sessions-card .tb-inter-access-success,
.tb-private-profile .tb-inter-access-success{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:10px;
  background:#eef4fc;
  color:#365b7f;
  font-size:12px;
  line-height:1.5;
}

.tb-public-profile .extra-formations[hidden],
.tb-public-profile .extra-dates[hidden],
.tb-private-profile .extra-formations[hidden],
.tb-private-profile .extra-dates[hidden]{display:none}


.tb-public-profile .profile-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
}
.tb-public-profile .profile-modal.open{display:block}
.tb-public-profile .profile-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(16,31,50,.45);
  backdrop-filter:blur(2px);
}
.tb-public-profile .profile-modal-dialog{
  position:relative;
  width:min(760px,calc(100% - 32px));
  max-height:82vh;
  margin:8vh auto 0;
  background:#fff;
  border-radius:18px;
  box-shadow:0 18px 60px rgba(15,35,60,.22);
  padding:20px;
  display:flex;
  flex-direction:column;
}
.tb-public-profile .profile-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.tb-public-profile .profile-modal-head h2{margin:0;font-size:18px}
.tb-public-profile .profile-modal-head p{margin:4px 0 0;color:#718094;font-size:11px}
.tb-public-profile .modal-close{
  border:0;
  background:#f2f5f8;
  width:34px;
  height:34px;
  border-radius:50%;
  cursor:pointer;
  font-size:22px;
  color:#4b5c70;
}
.tb-public-profile .modal-review-tabs{
  display:flex;
  gap:8px;
  margin:18px 0 12px;
  border-bottom:1px solid #e7edf3;
}
.tb-public-profile .modal-review-tab{
  border:0;
  background:transparent;
  padding:8px 4px 10px;
  font-size:11px;
  font-weight:700;
  color:#6b7a8c;
  cursor:pointer;
  position:relative;
}
.tb-public-profile .modal-review-tab.active{color:#1769cf}
.tb-public-profile .modal-review-tab.active:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:2px;background:#1769cf;border-radius:2px;
}
.tb-public-profile .modal-review-panel{display:none;min-height:0}
.tb-public-profile .modal-review-panel.active{display:block}
.tb-public-profile .modal-scroll-list{
  max-height:54vh;
  overflow-y:auto;
  padding-right:6px;
}
.tb-public-profile .modal-scroll-list::-webkit-scrollbar{width:6px}
.tb-public-profile .modal-scroll-list::-webkit-scrollbar-thumb{background:#d8e2ec;border-radius:999px}

@media(max-width:820px){
  .tb-public-profile .profile-modal-dialog{
    margin:4vh auto 0;
    max-height:90vh;
  }
}



.tb-public-profile .expanded-card-view{
  grid-column:1 / -1;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
  min-height:520px;
}
.tb-public-profile .expanded-card-view[hidden]{display:none !important}

.tb-public-profile .expanded-card-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin-bottom:12px;
}

.tb-public-profile .reduce-view-btn{
  border:1px solid #cfe0f3;
  background:#fff;
  color:#1768ce;
  border-radius:9px;
  padding:8px 12px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.tb-public-profile .reduce-view-btn:hover{
  background:#f5f9ff;
}

.tb-public-profile .expanded-card-content > .card{
  border:0;
  box-shadow:none;
  padding:0;
  border-radius:0;
  background:transparent;
}

.tb-public-profile .expanded-card-content .card-title{
  font-size:17px;
  margin-bottom:18px;
}

.tb-public-profile .expanded-card-content .program,.tb-public-profile .expanded-card-content .inter-session,.tb-public-profile .expanded-card-content .review-card,.tb-public-profile .expanded-card-content .recommendation-card{
  padding:14px;
}

.tb-public-profile .expanded-card-content .extra-formations,.tb-public-profile .expanded-card-content .extra-dates{
  display:block !important;
}

.tb-public-profile .expanded-card-content .extra-formations[hidden],.tb-public-profile .expanded-card-content .extra-dates[hidden]{
  display:block !important;
}

.tb-public-profile .expanded-card-content .inter-sessions-scroll{
  max-height:none;
  overflow:visible;
}

.tb-public-profile .expanded-card-content .reviews-scroll,.tb-public-profile .expanded-card-content .recommendations-scroll{
  height:auto;
  max-height:430px;
  overflow-y:auto;
}

.tb-public-profile .expanded-card-content .expand-card-btn{
  display:none;
}


.tb-public-profile .grid.focus-card-mode > .card,.tb-public-profile .grid.focus-card-mode > .presentation-expertise-card{
  display:none !important;
}
.tb-public-profile .grid.focus-card-mode > .expanded-card-view{
  display:block !important;
}

@media(max-width:820px){
  .tb-public-profile .expanded-card-view{
    min-height:0;
    padding:14px;
  }
}



body.detail-view-open .tb-public-profile .public-bar{
  display:none !important;
}


.tb-public-profile .expanded-card-toolbar{
  justify-content:space-between !important;
  gap:16px;
}

.tb-public-profile .expanded-card-title{
  margin:0;
  font-size:17px;
  font-weight:800;
  color:#152238;
}



.tb-public-profile .expanded-card-view{
  scroll-margin-top: var(--tb-scroll-anchor-offset, calc(var(--tb-layout-top, 70px) + 8px));
}

.tb-public-profile .expanded-card-toolbar{
  position:sticky;
  top:var(--tb-layout-top,70px);
  z-index:8;
  background:#fff;
  padding:4px 0 12px;
  margin-bottom:12px;
  border-bottom:1px solid #edf1f5;
}

body.detail-view-open{
  scroll-behavior:auto;
}



.tb-public-profile .public-bar{
  scroll-margin-top: var(--tb-scroll-anchor-offset, calc(var(--tb-layout-top, 70px) + 8px));
}



.tb-public-profile .services-box{
  margin-top:auto;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  background:#fff;
}
.tb-public-profile .services-box-title{
  margin:0 0 10px;
  color:#34465d;
  font-size:10px;
  font-weight:800;
  text-align:left;
}
.tb-public-profile .services-box-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.tb-public-profile .services-box-list span{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border:1px solid #d7e6f8;
  border-radius:999px;
  background:#f8fbff;
  color:#245fa8;
  font-size:9px;
  line-height:1.2;
  white-space:nowrap;
}
@media(max-width:1050px){
  .tb-public-profile .services-box{margin-top:18px}
}



.tb-public-profile .services-box{
  margin-top:8px !important;
  padding:9px 5px 0 !important;
  border:0 !important;
  border-top:1px solid #edf1f5 !important;
  border-radius:0 !important;
  background:transparent !important;
}

.tb-public-profile .services-box-title{
  margin:0 0 7px !important;
}

.tb-public-profile .services-box-list{
  gap:5px !important;
}

.tb-public-profile .services-box-list span{
  padding:4px 7px !important;
  font-size:8.5px !important;
}


.tb-public-profile .profile-card{
  padding:15px 16px !important;
}

.tb-public-profile .profile-card .avatar{
  margin-bottom:8px !important;
}

.tb-public-profile .profile-card h1{
  margin-top:4px !important;
  margin-bottom:3px !important;
}

.tb-public-profile .profile-card .role{
  margin-bottom:6px !important;
}

.tb-public-profile .profile-card .profile-meta{
  margin-top:7px !important;
}

.tb-public-profile .profile-card .sidebar-review-response{
  margin-bottom:8px !important;
  padding-top:9px !important;
  padding-bottom:8px !important;
}

.tb-public-profile .profile-card .sidebar-response{
  margin-top:7px !important;
  padding-top:7px !important;
}

.tb-public-profile .profile-card .actions{
  margin-top:8px !important;
  gap:6px !important;
}

.tb-public-profile .profile-card .sidebar-extra{
  margin-bottom:7px !important;
}

.tb-public-profile .profile-card .sidebar-extra-section{
  padding:8px 5px !important;
}

.tb-public-profile .profile-card .sidebar-extra-title{
  margin-bottom:5px !important;
}

.tb-public-profile .profile-card .sidebar-extra-list{
  gap:3px !important;
}

.tb-public-profile .profile-card .sidebar-language-pills{
  gap:5px !important;
}

.tb-public-profile .profile-card .sidebar-language-pills span{
  padding:4px 7px !important;
}





.tb-public-profile .profile-card .sidebar-review-response{
  margin-top:4px !important;
  padding-top:7px !important;
}


.tb-public-profile .profile-card .sidebar-response{
  margin-top:4px !important;
  padding-top:5px !important;
}


.tb-public-profile .profile-card .services-box{
  border-top:0 !important;
  padding-top:5px !important;
  margin-top:3px !important;
}


.tb-public-profile .profile-card .actions .btn{
  padding-top:8px !important;
  padding-bottom:8px !important;
  min-height:0 !important;
}



.tb-public-profile .profile-card .languages-section,.tb-public-profile .sidebar .languages-section{
  border-bottom:0 !important;
}



.tb-public-profile .public-nav a:not(.login-link){
  font-size:12px !important;
  font-weight:600 !important;
}



.tb-public-profile .profile-card .actions .btn{
  padding-top:6px !important;
  padding-bottom:6px !important;
  min-height:0 !important;
  line-height:1.2 !important;
}



.tb-public-profile .sidebar{
  position:static !important;
  top:auto !important;
  align-self:start !important;
}



.tb-public-profile{
  --detail-duration:360ms;
  --detail-ease:cubic-bezier(.22,.61,.36,1);
}

.tb-public-profile .grid{
  position:relative;
}

.tb-public-profile .grid > .card,.tb-public-profile .grid > .presentation-expertise-card,.tb-public-profile .public-bar,.tb-public-profile .pc{
  transition:
    opacity 220ms ease,
    transform 280ms ease;
}

.tb-public-profile .grid.is-transitioning > .card,.tb-public-profile .grid.is-transitioning > .presentation-expertise-card,body.detail-transitioning .tb-public-profile .public-bar,body.detail-transitioning .tb-public-profile .pc{
  opacity:0;
  transform:scale(.985);
  pointer-events:none;
}

.tb-public-profile .expanded-card-view{
  opacity:0;
  transform:translateY(8px) scale(.985);
  transform-origin:top center;
  transition:
    opacity var(--detail-duration) var(--detail-ease),
    transform var(--detail-duration) var(--detail-ease),
    box-shadow var(--detail-duration) var(--detail-ease);
  will-change:transform,opacity;
}

.tb-public-profile .expanded-card-view.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.tb-public-profile .expanded-card-view.is-closing{
  opacity:0;
  transform:translateY(8px) scale(.985);
}

@media (prefers-reduced-motion: reduce){
  .tb-public-profile .grid > .card,.tb-public-profile .grid > .presentation-expertise-card,.tb-public-profile .public-bar,.tb-public-profile .pc,.tb-public-profile .expanded-card-view{
    transition:none !important;
    animation:none !important;
  }
}



.flip-ghost{
  position:fixed;
  z-index:999;
  margin:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #dfe7ef;
  border-radius:18px;
  box-shadow:0 10px 35px rgba(34,58,91,.16);
  transform-origin:top left;
  pointer-events:none;
  will-change:transform,width,height,left,top,opacity;
}

.flip-ghost.is-expanding{
  transition:
    left 420ms cubic-bezier(.22,.61,.36,1),
    top 420ms cubic-bezier(.22,.61,.36,1),
    width 420ms cubic-bezier(.22,.61,.36,1),
    height 420ms cubic-bezier(.22,.61,.36,1),
    border-radius 420ms cubic-bezier(.22,.61,.36,1),
    box-shadow 420ms cubic-bezier(.22,.61,.36,1);
}

.flip-ghost.is-collapsing{
  transition:
    left 380ms cubic-bezier(.4,0,.2,1),
    top 380ms cubic-bezier(.4,0,.2,1),
    width 380ms cubic-bezier(.4,0,.2,1),
    height 380ms cubic-bezier(.4,0,.2,1),
    border-radius 380ms cubic-bezier(.4,0,.2,1),
    box-shadow 380ms cubic-bezier(.4,0,.2,1);
}

.tb-public-profile .flip-source-hidden{
  visibility:hidden !important;
}

body.flip-running{
  overflow-x:hidden;
}

@media (prefers-reduced-motion: reduce){
  .flip-ghost{
    transition:none !important;
  }
}



.tb-public-profile #disponibilites .google-calendar iframe,
.tb-private-profile #disponibilites .google-calendar iframe{
  height:var(--tb-profile-calendar-body-height,300px);
}

.tb-public-profile .expanded-card-content .availability-expanded .google-calendar{
  margin-top:14px;
}

.tb-public-profile .expanded-card-content .availability-expanded .google-calendar iframe{
  height:620px !important;
  min-height:620px;
}

@media(max-width:820px){
  .tb-public-profile .expanded-card-content .availability-expanded .google-calendar iframe{
    height:560px !important;
    min-height:560px;
  }
}



.tb-public-profile .expanded-card-content .availability-expanded .google-calendar iframe{
  height:900px !important;
  min-height:900px !important;
}

@media(max-width:1100px){
  .tb-public-profile .expanded-card-content .availability-expanded .google-calendar iframe{
    height:820px !important;
    min-height:820px !important;
  }
}



.tb-public-profile #disponibilites .calendar-head{
  display:block !important;
}

.tb-public-profile #disponibilites .card-title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  gap:12px;
}

.tb-public-profile #disponibilites .card-title .expand-card-btn{
  margin-left:auto !important;
  flex:0 0 auto;
}



.tb-public-profile .profile-card .actions .btn{
  height:32px !important;
  min-height:32px !important;
  padding:0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  line-height:1 !important;
}


.tb-public-profile { padding-bottom: 24px; }
.tb-public-profile .page { padding-top: 8px; }
.tb-public-profile .empty-hint { color:#718094; font-size:12px; padding:8px 0; }
.tb-public-profile .sidebar .empty-hint,
.tb-public-profile .services-box .empty-hint { margin:0; padding:2px 0; font-size:9px; }
.tb-public-profile .calendar-empty,
.tb-private-profile .calendar-empty{
  height:var(--tb-profile-calendar-body-height,300px);
  border-radius:var(--radius, 18px);
  background:#f7f9fc;
  border:1px dashed #d8e2ec;
  display:grid;
  place-items:center;
  color:#718094;
  font-size:12px;
  text-align:center;
  padding:16px;
}
.tb-public-profile .video img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tb-public-profile .public-right .copy{
  border:0;
  background:transparent;
  color:#69798d;
  padding:5px 4px;
  font-size:12px;
}
/* Profil privé — actions profil public (boutons visibles) */
.tb-private-profile .tb-profile-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.tb-private-profile .tb-profile-actions__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:0 16px;
  border-radius:8px;
  border:1px solid transparent;
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
  box-sizing:border-box;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
/* Bouton « Voir mon profil public » — coloration dédiée (profil privé uniquement) */
.tb-private-profile a.tb-profile-actions__btn.tb-profile-actions__btn--primary{
  background-color:#456fb8;
  border:1px solid #3d63a8;
  color:#fff;
  font-size:13px;
  padding:0 16px;
  box-shadow:0 1px 2px rgba(36,56,94,.1);
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tb-private-profile a.tb-profile-actions__btn.tb-profile-actions__btn--primary:hover{
  background-color:#3a5f9e;
  border-color:#345589;
  color:#fff;
  box-shadow:0 2px 5px rgba(36,56,94,.14);
}
.tb-private-profile a.tb-profile-actions__btn.tb-profile-actions__btn--primary:active{
  background-color:#2f5088;
  border-color:#294878;
  color:#fff;
  box-shadow:inset 0 1px 2px rgba(20,40,70,.2);
}
.tb-private-profile a.tb-profile-actions__btn.tb-profile-actions__btn--primary:focus-visible{
  outline:2px solid #8aa8d8;
  outline-offset:2px;
  color:#fff;
}
.tb-private-profile a.tb-profile-actions__btn.tb-profile-actions__btn--primary .tb-profile-actions__icon{
  color:#fff;
  stroke:#fff;
}
.tb-private-profile .tb-profile-actions__btn--linkedin{
  background:#fff;
  border-color:#d8e2ec;
  color:var(--tb-primary,#456fb8);
}
.tb-private-profile .tb-profile-actions__btn--linkedin:hover{
  background:#eef5ff;
  border-color:#c5d8f0;
  color:var(--tb-primary-hover,#3a5f9e);
}
.tb-private-profile .tb-profile-actions__btn--linkedin:focus-visible{
  outline:2px solid rgba(69,111,184,.35);
  outline-offset:2px;
}
.tb-private-profile .tb-profile-actions__icon{
  width:16px;
  height:16px;
  max-width:16px;
  max-height:16px;
  flex:0 0 16px;
  display:block;
}
.tb-private-profile .tb-profile-actions__label--short{
  display:none;
}
@media (max-width:480px){
  .tb-private-profile .tb-profile-actions__label--full{
    display:none;
  }
  .tb-private-profile .tb-profile-actions__label--short{
    display:inline;
  }
}
.tb-public-profile .presentation-copy .more-content[hidden] { display:none; }
.tb-public-profile .cta { text-decoration:none; }
.tb-public-profile .cta:hover { background: var(--tb-primary-light, #eef4fc); color: var(--tb-primary, #456fb8); }
.tb-public-profile .cta.primary:hover { background: var(--tb-primary-hover, #3a5f9e); border-color: var(--tb-primary-hover, #3a5f9e); color:#fff; }
.tb-public-profile .public-url-text { word-break:break-all; }

/* Expériences pro (privé) : styles dans tb-design-system.css (.tb-experiences) */

/* Profil privé formateur : carte sidebar repliable + en-têtes « Modifier » */
.tb-private-profile .container.page,
.tb-private-profile .tb-profile-layout.page {
  min-width: 0;
  width: 100%;
}

.tb-private-profile .sidebar.profile-card,
.tb-private-profile .sidebar {
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  align-self: start;
}

.tb-private-profile .sidebar.profile-card,
.tb-private-profile .tb-profile-sidebar {
  min-height: 0;
}

@media (min-width: 1051px) {
  .tb-private-profile .sidebar {
    top: 12px;
  }
}

.tb-private-profile .card-title__text,
.tb-private-profile .sidebar-extra-title__text,
.tb-private-profile .presentation-skills-title__text {
  flex: 1 1 auto;
  min-width: 0;
  word-break: break-word;
}

.tb-profile-sidebar__toggle {
  display: none;
}

.tb-profile-sidebar__toggle-label {
  flex: 1;
  min-width: 0;
  text-align: left;
  font-size: 13px;
  font-weight: 700;
  color: #24364c;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tb-profile-sidebar__chevron {
  flex-shrink: 0;
  color: #647589;
  transition: transform 0.18s ease;
}

.tb-private-profile .sidebar-extra-title,
.tb-private-profile .presentation-skills-title,
.tb-private-profile h2.card-title,
.tb-private-profile h3.card-title:not(.tb-mobility-card__title) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
}

.tb-private-profile .sidebar-extra-title .tb-private-edit,
.tb-private-profile .presentation-skills-title .tb-private-edit,
.tb-private-profile .card-title .tb-private-edit,
.tb-private-profile .tb-page-header:not(.tb-section-card-head) > .tb-private-edit,
.tb-private-profile .tb-page-header:not(.tb-section-card-head) > .tb-btn.tb-private-edit {
  margin-left: auto !important;
  flex: 0 0 auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

.tb-private-profile .tb-page-header:not(.tb-section-card-head) {
  align-items: center !important;
}

.tb-private-profile .tb-page-header__main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.tb-private-profile .sidebar-extra,
.tb-private-profile .sidebar-extra-section,
.tb-private-profile #form-identity.tb-private-form {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 1050px) {
  .tb-private-profile .sidebar.profile-card {
    position: static;
    width: 100%;
    padding: 0 !important;
    overflow: hidden;
  }

  .tb-profile-sidebar__toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 14px 16px;
    border: 0;
    border-bottom: 1px solid #edf1f5;
    background: #f8fbff;
    cursor: pointer;
  }

  .tb-profile-sidebar__toggle:focus-visible {
    outline: 2px solid var(--tb-primary, #456fb8);
    outline-offset: -2px;
  }

  .tb-profile-sidebar.is-open .tb-profile-sidebar__chevron {
    transform: rotate(180deg);
  }

  .tb-profile-sidebar:not(.is-open) .tb-profile-sidebar__body {
    display: none;
  }

  .tb-profile-sidebar.is-open .tb-profile-sidebar__body {
    padding: 12px 14px 14px;
  }

  .tb-ts-main .tb-private-profile .page {
    gap: 16px;
    padding: 12px 0 32px;
  }

  .tb-private-profile .content {
    min-width: 0;
  }

  .tb-private-profile .grid {
    grid-template-columns: 1fr;
  }

  .tb-private-profile .wide {
    grid-column: auto;
  }

  .tb-private-profile .presentation-expertise-top {
    grid-template-columns: 1fr;
  }

  .tb-private-profile .presentation-skills {
    margin-left: 0;
    margin-top: 14px;
  }

  .tb-private-profile .public-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .tb-private-profile .public-left {
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .tb-private-profile .public-bar__tools {
    width: 100%;
    margin-left: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .tb-private-profile .tb-profile-completion {
    min-width: 0;
    width: 100%;
  }

  .tb-private-profile .tb-profile-completion__summary {
    align-items: stretch;
    width: 100%;
    min-width: 0;
  }

  .tb-private-profile .tb-profile-completion__track {
    width: 100%;
    max-width: 100%;
  }

  .tb-private-profile .tb-profile-completion__panel {
    right: auto;
    left: 0;
    width: 100%;
  }

  .tb-private-profile .public-right {
    width: 100%;
  }

  .tb-private-profile .tb-profile-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .tb-private-profile .tb-profile-actions__btn,
  .tb-private-profile .public-right .cta,
  .tb-private-profile .public-right .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
  }

  .tb-private-profile .url.public-url-text {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .tb-private-profile .tb-experiences .tb-exp-card {
    flex-wrap: wrap;
  }

  .tb-private-profile .tb-experiences .tb-exp-card__content {
    flex: 1 1 calc(100% - 52px);
    min-width: 0;
  }

  .tb-private-profile .tb-experiences .tb-exp-card__actions {
    flex: 1 1 100%;
    justify-content: flex-end;
    padding: 0 var(--tb-space-3) var(--tb-space-3);
    margin-top: var(--tb-space-1);
    border-top: 1px solid var(--tb-border);
  }

  .tb-private-profile .tb-presentation-media-display .tb-btn.tb-private-edit {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    text-align: center;
  }
}

@media (min-width: 1051px) {
  .tb-profile-sidebar .tb-profile-sidebar__body {
    display: block;
  }
}

@media (max-width: 640px) {
  .tb-private-profile .identity h1 {
    font-size: 16px;
    word-break: break-word;
  }

  .tb-private-profile #disponibilites .card-title,
  .tb-private-profile .card .card-title {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .tb-private-profile .tb-inter-sessions-card > .card-title {
    flex-direction: row !important;
    align-items: center !important;
  }

  .tb-private-profile .tb-inter-sessions-card .card-title-actions {
    margin-left: auto !important;
    width: auto !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
  }

  .tb-private-profile .tb-inter-sessions-card .card-title-actions .manage-btn,
  .tb-private-profile .tb-inter-sessions-card .card-title-actions .expand-card-btn {
    width: auto !important;
    margin-left: 0 !important;
  }

  .tb-private-profile .sidebar-extra-title,
  .tb-private-profile .presentation-skills-title {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .tb-private-profile .sidebar-extra-title .tb-private-edit,
  .tb-private-profile .presentation-skills-title .tb-private-edit,
  .tb-private-profile .card-title .tb-private-edit,
  .tb-private-profile .card-title .card-link-btn,
  .tb-private-profile .card-title .expand-card-btn,
  .tb-private-profile .tb-page-header:not(.tb-section-card-head) > .tb-private-edit,
  .tb-private-profile .tb-page-header:not(.tb-section-card-head) > .tb-btn.tb-private-edit {
    margin-left: 0 !important;
    width: 100% !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }

  .tb-private-profile .tb-inter-sessions-card .card-title-actions .manage-btn,
  .tb-private-profile .tb-inter-sessions-card .card-title-actions .expand-card-btn,
  .tb-private-profile .tb-inter-sessions-card .card-title-actions .card-link-btn {
    width: auto !important;
    white-space: nowrap !important;
  }

  .tb-private-profile .tb-page-header:not(.tb-section-card-head) {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .tb-private-profile .card:not(.tb-mobility-card) {
    padding: 14px;
  }
}

/* Profil privé formateur — boutons Modifier (orange) et zones en édition (contour rouge) */
.tb-private-profile .tb-private-edit {
  background: #fff4e8 !important;
  border: 1px solid #e5a045 !important;
  color: #8f4f08 !important;
  font-weight: 600;
}

.tb-private-profile .tb-private-edit:hover {
  background: #ffe8cc !important;
  border-color: #d4882d !important;
  color: #7a4206 !important;
}

.tb-private-profile .tb-private-edit:focus-visible {
  outline: 2px solid #e5a045;
  outline-offset: 2px;
}

.tb-private-profile .tb-icon-btn.tb-private-edit {
  background: #fff4e8 !important;
  border: 1px solid #e5a045 !important;
  color: #8f4f08 !important;
}

.tb-private-profile .tb-private-form.tb-private-form--editing {
  border: 2px solid #d92d20;
  border-radius: var(--radius, 18px);
  padding: 16px 18px;
  box-shadow: 0 0 0 1px rgba(217, 45, 32, 0.08);
}

/* Expériences pro / formation : forcer le contour rouge (priorité sur .tb-exp-form.tb-card) */
.tb-private-profile .tb-exp-form.tb-private-form.tb-private-form--editing,
body.tb-trainer-space .tb-ts-main .tb-private-profile .tb-exp-form.tb-card.tb-private-form.tb-private-form--editing {
  border: 2px solid #d92d20 !important;
  border-radius: var(--radius, 18px);
  padding: 16px 18px;
  box-shadow: 0 0 0 1px rgba(217, 45, 32, 0.08);
  background: #fff;
}

.tb-private-profile .tb-mobility-section-group {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.tb-private-profile .tb-mobility-form,
.tb-private-profile .card.tb-mobility-card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.tb-private-profile .tb-mobility-section-group__intro.tb-page-header {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #dfe7ef;
}

.tb-private-profile .tb-mobility-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.tb-private-profile .tb-mobility-form__alert {
  margin: 0;
}

.tb-private-profile .card.tb-mobility-card {
  background: #fff;
  border: 1px solid var(--line, #dfe7ef);
  border-radius: var(--radius, 18px);
  box-shadow: var(--shadow, 0 3px 12px rgba(34, 58, 91, 0.08));
}

.tb-private-profile .tb-mobility-subsection__edit:not([hidden]) {
  border: 2px solid #d92d20;
  border-radius: var(--tb-radius-lg, var(--radius, 18px));
  padding: 14px 16px;
  margin: 0;
  box-shadow: 0 0 0 1px rgba(217, 45, 32, 0.08);
}

.tb-private-profile .tb-mobility-card__actions {
  margin-top: 1rem;
  padding-top: 0.875rem;
  border-top: 1px solid #eef1f5;
}

@media (max-width: 640px) {
  .tb-private-profile .tb-mobility-card__actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .tb-private-profile .tb-mobility-card__actions .tb-btn {
    width: 100%;
    justify-content: center;
  }
}
