:root{
  --bg:#f7f9fc;
  --fg:#24364b;
  --muted:#6b7b8c;
  --brand:#1e88e5;
  --brand-dark:#1769ff;
  --card:#ffffff;
  --line:#e4ebf3;
  --shadow:0 12px 32px rgba(26,43,73,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--fg);
  background:
    radial-gradient(circle at top left, rgba(30,136,229,.07), transparent 20%),
    linear-gradient(180deg,#fbfdff 0%,#f7f9fc 100%);
}
main,section,form,div{min-width:0}
.container{max-width:1120px;margin:0 auto;padding:0 16px}
.row{display:flex}.between{justify-content:space-between}.center{align-items:center}.gap{gap:10px}.grow{flex:1}
.stack{display:flex;flex-direction:column;gap:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:24px}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}.search{display:none}}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.card.pad{padding:18px}
.muted{color:var(--muted)}
.small{font-size:12px}
.btn{
  background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
  color:#fff;border:none;padding:10px 14px;border-radius:12px;cursor:pointer;
  font-weight:600;box-shadow:0 10px 18px rgba(30,136,229,.18)
}
.btn.outline{
  background:#fff;color:var(--fg);border:1px solid var(--line);box-shadow:none
}
.btn:hover{transform:translateY(-1px)}
.btn.small{padding:8px 12px;font-size:14px;border-radius:10px}
.btn.soft{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;box-shadow:none}
.btn.danger{background:linear-gradient(180deg,#ef4444 0%,#dc2626 100%);color:#fff;border:none;box-shadow:0 10px 18px rgba(220,38,38,.18)}
.btn.outline.danger{background:#fff;color:#b91c1c;border:1px solid #fecaca;box-shadow:none}
.btn.full{width:100%;justify-content:center}
.toolbar-input{max-width:320px}
.toolbar-input input{background:#fff}
.action-cluster{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.inline-hint{font-size:12px;color:var(--muted)}

input,textarea,select,button{font:inherit}
input,textarea,select{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;
  transition:border-color .2s, box-shadow .2s;
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:#9dc5ff;box-shadow:0 0 0 4px rgba(30,136,229,.09)
}
label{display:block;font-weight:600}
label input,label textarea,label select{margin-top:8px;font-weight:400}
hr{border:0;border-top:1px solid var(--line)}
.site-footer{border-top:1px solid var(--line);margin-top:30px;padding:20px 0;color:#555}
.alert{padding:12px 14px;border-radius:14px;border:1px solid #dce7f5;background:#fff;box-shadow:var(--shadow)}
.alert.success{background:#ecfdf3;border-color:#b7ebc6;color:#166534}
.hero{
  margin:22px 0 18px;background:linear-gradient(135deg,#ffffff 0%,#f3f8ff 100%);
  border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)
}
.hero-inner{padding:34px 28px}
.hero h1{margin:0 0 10px;font-size:clamp(32px,5vw,52px);line-height:1.04}
.hero p{margin:0;color:var(--muted);font-size:18px;max-width:780px}
.coach-layout{align-items:start}
.coach-top{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}
.coach-cover{width:220px;height:220px;object-fit:cover;display:block;border-radius:16px;background:#ddd}
.coach-meta h1{margin:0 0 8px}
.coach-meta p{margin-top:12px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f3f7fd;border:1px solid #e3eaf5}
@media(max-width:900px){.coach-top{grid-template-columns:1fr}.coach-cover{width:100%;height:280px}}

.pill input{width:auto;margin:0}

.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:12px}
.day{min-height:74px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:flex-start;justify-content:flex-start;padding:10px;font-weight:700}
.day.head{min-height:auto;background:transparent;border:none;padding:2px 4px;color:var(--muted);font-size:12px}
.day.ok{background:#ecfdf3;border-color:#b7ebc6;color:#166534}
.day.no{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.day.selected{outline:3px solid rgba(30,136,229,.25)}
.slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.slot{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer}
.slot.ok{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.slot.busy{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}
.slot.selected{box-shadow:0 0 0 3px rgba(30,136,229,.18);background:#1e88e5;color:#fff;border-color:#1e88e5}
@media(max-width:900px){.cal{grid-template-columns:repeat(7,minmax(34px,1fr));gap:6px}.day{min-height:58px;padding:8px;font-size:13px}}


/* ===== Header / navigation ===== */
:root{
  --container-w:1120px;
  --pad-x:18px;
  --bar-border:#eef2f7;
  --link-hover-bg:#f4f7ff;
  --brand-blue:#1769ff;
}
.sitebar{
  position:sticky;
  top:0;
  z-index:200;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--bar-border);
}
.sitebar .wrap{
  max-width:var(--container-w);
  margin:0 auto;
  padding:14px var(--pad-x);
  display:flex;
  align-items:center;
  gap:14px;
}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}
.brand img{height:26px;width:auto;display:block}
.grow{flex:1 1 auto;min-width:0}
.topnav{
  display:flex;
  align-items:center;
  gap:2px;
  white-space:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
}
.topnav::-webkit-scrollbar{display:none}
.topnav a{
  color:#223047;
  text-decoration:none;
  padding:9px 6px;
  border-radius:10px;
  line-height:1;
  flex:0 0 auto;
  font-size:13px;
}
.topnav a:hover{color:var(--brand-blue);background:var(--link-hover-bg)}
.right{display:flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap}
.sitebar .btn{
  background:#1677ff;
  color:#fff;
  border:0;
  border-radius:12px;
  padding:9px 14px;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  white-space:nowrap;
  line-height:1;
  font-weight:600;
}
.sitebar .btn.outline{background:#fff;color:#1677ff;border:1px solid #1677ff}
.sitebar .btn.small{padding:8px 12px;font-size:14px;border-radius:10px}
.sitebar .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#f5f7fb;
  border:1px solid #e8ecf5;
  color:#111827;
  border-radius:999px;
  padding:7px 11px;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
}
.pill-flag{width:18px;height:18px;display:block;object-fit:cover;border-radius:50%}
.pill-code{font-weight:700;letter-spacing:.02em}
.dd{position:relative}
.ddmenu{
  position:absolute;
  right:0;
  top:110%;
  background:#fff;
  border:1px solid #e8ecf5;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(20,35,70,.12);
  padding:6px;
  min-width:230px;
  max-height:min(70vh,420px);
  overflow:auto;
  display:none;
  z-index:9999;
}
.dd.open .ddmenu{display:block}
.ddmenu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#111;text-decoration:none;white-space:nowrap}
.ddmenu a:hover{background:#f4f7ff}
#btn-tz .t,#tz-label{display:inline-block;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.role-pill{max-width:78px;overflow:hidden;text-overflow:ellipsis;padding-left:8px;padding-right:8px}
.mobile-nav-shell{position:relative}
.mobile-nav-arrow{
  display:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  pointer-events:none;
  font-size:20px;
  line-height:1;
  color:rgba(31,41,55,.78);
  opacity:0;
  transition:opacity .22s ease;
  text-shadow:0 1px 0 rgba(255,255,255,.95), 0 0 10px rgba(255,255,255,.9);
}
.mobile-nav-arrow-left{left:4px}
.mobile-nav-arrow-right{right:4px}

@media (max-width:1700px){
  .sitebar .wrap{gap:10px}
  .topnav a{padding:8px 5px;font-size:12.5px}
  .right{gap:6px}
  .sitebar .btn.small{padding:8px 11px}
}
@media (max-width:1380px){
  .sitebar .wrap{flex-wrap:wrap}
  .right{order:2;width:100%;justify-content:flex-end}
  .grow{order:3;width:100%}
}
@media (max-width:680px){
  .sitebar .wrap{padding:12px 14px;gap:8px;align-items:flex-start}
  .right{width:100%;justify-content:flex-start;flex-wrap:wrap;overflow:visible;padding-bottom:0;position:relative;z-index:5}
  .topnav{
    gap:8px;
    padding:2px 20px 0;
    scroll-behavior:smooth;
  }
  .topnav a{
    padding:9px 6px;
    font-size:12px;
  }
  .mobile-nav-shell.is-scrollable .mobile-nav-arrow{display:block}
  .mobile-nav-shell.show-left .mobile-nav-arrow-left{opacity:1}
  .mobile-nav-shell.show-right .mobile-nav-arrow-right{opacity:1}
  #btn-tz .t,#tz-label{max-width:58px}
  .dd{position:relative}
  .ddmenu{right:auto;left:0;top:calc(100% + 8px);min-width:210px;max-width:min(92vw,280px)}
}


.video-call-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border-radius:18px;
  border:1px solid #dbe7fb;
  background:linear-gradient(135deg,#f9fbff 0%,#eef5ff 100%);
}
.video-call-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#e9f1ff;
  border:1px solid #cddfff;
  color:#174ea6;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.video-call-actions{display:flex;gap:10px;flex-wrap:wrap}
.video-room-shell{padding:18px}
.video-room-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.video-room-actions{display:flex;gap:10px;flex-wrap:wrap}
.video-room-notice{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #fed7aa;
  background:#fff7ed;
  color:#9a3412;
}
.video-room-frame-wrap{
  margin-top:16px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#0f172a;
  min-height:72vh;
}
.video-room-frame{display:block;width:100%;height:72vh;border:0;background:#0f172a}
@media(max-width:900px){
  .video-call-card{flex-direction:column;align-items:flex-start}
  .video-call-actions,.video-room-actions{width:100%}
  .video-call-actions .btn,.video-room-actions .btn{width:100%;justify-content:center}
  .video-room-frame-wrap,.video-room-frame{min-height:70vh;height:70vh}
}

/* ===== Premium messaging ===== */
.premium-msg-layout{align-items:stretch}
.msg-layout{display:grid;grid-template-columns:300px 1fr;gap:14px;min-height:60vh}
.msg-sidebar{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.msg-contact{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #f0f2f5;text-decoration:none;color:inherit}
.msg-contact:hover{background:#fafbfc}.msg-contact img{width:42px;height:42px;object-fit:cover;border-radius:50%}.msg-active{background:#f6f8fb}
.msg-main{border:1px solid var(--line);border-radius:18px;background:#fff;display:flex;flex-direction:column;min-width:0;box-shadow:var(--shadow)}
.premium-msg-main{height:calc(100vh - 210px);min-height:560px;overflow:hidden}
.msg-thread{flex:1;overflow:auto;padding:16px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.premium-msg-thread{scroll-behavior:smooth}
.msg-row{margin-bottom:12px}.msg-bubble{max-width:min(72%,720px);padding:12px 14px;border-radius:16px;word-wrap:break-word;box-shadow:0 6px 14px rgba(26,43,73,.05)}
.me .msg-bubble{margin-left:auto;background:#e8f0ff}.them .msg-bubble{margin-right:auto;background:#f3f4f6}
.msg-time{font-size:12px;color:#64748b;margin-top:4px}.me .msg-time{text-align:right}
.msg-input{display:flex;gap:10px;padding:14px;border-top:1px solid #eef2f7;background:#fff}
.premium-msg-input{position:sticky;bottom:0;z-index:5;box-shadow:0 -8px 24px rgba(15,23,42,.06)}.msg-input input{flex:1}.msg-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eef2f7;background:#fff}.msg-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.msg-empty{padding:18px;color:#64748b}.contact-meta{font-size:12px;color:#64748b}
.premium-video-card{position:relative;overflow:hidden}
.premium-video-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(30,136,229,.14), transparent 30%);pointer-events:none}
.premium-video-card.is-locked{border-color:#fde68a;background:linear-gradient(135deg,#fffdf5 0%,#fff8e7 100%)}
.premium-video-card.is-unlocked{border-color:#cfe1ff;background:linear-gradient(135deg,#f9fbff 0%,#eef5ff 100%)}
.video-call-main{position:relative;z-index:1}.video-call-status-row{display:flex;align-items:flex-start;gap:10px;margin-top:8px;color:#3c4f65}
.video-status-dot{width:11px;height:11px;border-radius:999px;display:inline-block;margin-top:4px;flex:0 0 auto}
.video-status-dot.is-live{background:#16a34a;box-shadow:0 0 0 6px rgba(22,163,74,.12)}
.video-status-dot.is-ready{background:#2563eb;box-shadow:0 0 0 6px rgba(37,99,235,.12)}
.video-status-dot.is-locked{background:#d97706;box-shadow:0 0 0 6px rgba(217,119,6,.12)}
@media(max-width:900px){.msg-layout{grid-template-columns:1fr}.msg-bubble{max-width:88%}.msg-sidebar{max-height:220px;overflow:auto}.msg-input{flex-direction:column}.msg-input .btn{width:100%}.premium-msg-main{height:auto;min-height:70vh}.premium-msg-thread{max-height:50vh}.video-call-card{flex-direction:column;align-items:flex-start}.video-call-actions,.video-room-actions{width:100%}.video-call-actions .btn,.video-room-actions .btn{width:100%;justify-content:center}}


.list-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:10px 0 14px}
.result-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f3f7fd;border:1px solid #e3eaf5;font-size:13px;color:#355070}
.card-subtle{background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)}
.booking-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.booking-card:hover{transform:translateY(-1px);border-color:#cfe1ff}
.action-note{padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13px}
.msg-search{padding:12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.msg-search input{padding:10px 12px;border-radius:10px}
.reservation-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:10px}
.reservation-summary h3{margin:0;font-size:16px}
.reservation-count{font-size:12px;color:var(--muted)}
@media(max-width:700px){.toolbar-input{max-width:none;width:100%}.list-toolbar{align-items:stretch}.action-cluster{width:100%}.action-cluster .btn,.action-cluster form{width:100%}.action-cluster .btn{width:100%;justify-content:center}}
.message-panels{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;min-height:0}.message-panel-main{min-width:0;display:flex;flex-direction:column;min-height:0}.message-booking-side{position:sticky;top:16px;max-height:calc(100vh - 250px);overflow:auto;padding-left:2px}.msg-mobile-toggle{display:none;margin-bottom:10px}#linkedBookings{scroll-margin-top:90px}
@media(max-width:1100px){.message-panels{grid-template-columns:1fr}.message-booking-side{position:static;max-height:none}.msg-mobile-toggle{display:block}}

.booking-side-actions{display:flex;flex-direction:column;align-items:stretch;min-width:160px}.booking-side-actions .btn{width:100%;justify-content:center;white-space:nowrap}.video-call-card{align-items:stretch}.video-call-actions{align-items:stretch}.reservation-summary h3{margin:0}.message-booking-side .video-call-card{padding:16px}.message-booking-side .video-call-main{min-width:0}

/* ===== Correctif messagerie V3 : scroll conversation + réservations liées ===== */
.premium-msg-layout{
  height:calc(100vh - 190px);
  min-height:620px;
  overflow:hidden;
}
.premium-msg-layout .msg-sidebar{
  height:100%;
  overflow-y:auto;
}
.premium-msg-main{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.premium-msg-main .message-panels{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  overflow:hidden;
}
.premium-msg-main .message-panel-main{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.premium-msg-thread{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.message-booking-side{
  position:static;
  height:100%;
  max-height:none;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:4px;
}
.message-booking-side .stack{
  padding-bottom:8px;
}
html:has(.premium-msg-layout),
body:has(.premium-msg-layout){
  overflow:hidden;
}
@media(max-width:1100px){
  html:has(.premium-msg-layout),
  body:has(.premium-msg-layout){overflow:auto;}
  .premium-msg-layout{height:auto;min-height:0;overflow:visible;}
  .premium-msg-layout .msg-sidebar{height:auto;max-height:260px;overflow-y:auto;}
  .premium-msg-main{height:auto;min-height:70vh;overflow:visible;}
  .premium-msg-main .message-panels{height:auto;overflow:visible;}
  .premium-msg-main .message-panel-main{height:auto;min-height:70vh;}
  .premium-msg-thread{max-height:58vh;min-height:360px;}
  .message-booking-side{height:auto;max-height:50vh;overflow-y:auto;}
}

/* ===== Correctif messagerie V4 : vraie zone scrollable + retour à la ligne ===== */
.msg-layout.premium-msg-layout{
  height:calc(100vh - 205px);
  min-height:620px;
  overflow:hidden;
}
.premium-msg-main{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  height:100%;
  min-height:0;
  overflow:hidden;
}
.premium-msg-main .message-panels{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  align-items:stretch;
  height:100%;
  min-height:0;
  overflow:hidden;
}
.premium-msg-main .message-panel-main{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  height:100%;
  min-height:0;
  overflow:hidden;
}
.premium-msg-thread{
  height:100%;
  min-height:0;
  max-height:none;
  overflow-y:scroll;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:18px;
}
.msg-row{
  display:flex;
  flex-direction:column;
  width:100%;
}
.msg-row.me{align-items:flex-end;}
.msg-row.them{align-items:flex-start;}
.msg-bubble{
  display:block;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:min(72%,720px);
  line-height:1.45;
}
.premium-msg-input{
  position:relative;
  bottom:auto;
  z-index:2;
  flex-shrink:0;
}
.message-booking-side{
  height:100%;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
html:has(.premium-msg-layout),
body:has(.premium-msg-layout){
  overflow:auto;
}
@media(max-width:1100px){
  .premium-msg-main .message-panels{grid-template-columns:1fr;height:auto;overflow:visible;}
  .msg-layout.premium-msg-layout{height:auto;min-height:0;overflow:visible;}
  .premium-msg-main{height:auto;min-height:70vh;overflow:visible;display:flex;}
  .premium-msg-main .message-panel-main{height:65vh;min-height:420px;}
  .premium-msg-thread{height:auto;max-height:none;}
  .message-booking-side{height:auto;max-height:50vh;overflow-y:auto;}
  .msg-bubble{max-width:88%;}
}


/* ===== Correctif V6 messagerie : scroll conversation fiable ===== */
body:has(.premium-msg-layout){overflow-y:auto;}
.msg-layout.premium-msg-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  height:calc(100vh - 245px);
  min-height:560px;
  max-height:760px;
  overflow:hidden;
}
.premium-msg-layout .msg-sidebar{height:100%;min-height:0;overflow-y:auto;}
.premium-msg-main{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
.premium-msg-main .message-panels{
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  align-items:stretch!important;
}
.premium-msg-main .message-panel-main{
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
}
.premium-msg-thread{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
  padding:16px 18px 22px!important;
  overscroll-behavior:contain!important;
}
.premium-msg-input{position:relative!important;bottom:auto!important;z-index:3!important;flex-shrink:0!important;}
.msg-bubble{white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important;max-width:min(72%,720px)!important;}
.message-booking-side{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 6px 88px 0!important;
  overscroll-behavior:contain!important;
}
.message-booking-side .stack{padding-bottom:24px!important;}
@media(max-width:1100px){
  .msg-layout.premium-msg-layout{grid-template-columns:1fr;height:auto;max-height:none;min-height:0;overflow:visible;}
  .premium-msg-main{height:auto!important;min-height:70vh!important;display:block!important;overflow:visible!important;}
  .premium-msg-main .message-panels{grid-template-columns:1fr!important;height:auto!important;overflow:visible!important;display:grid!important;}
  .premium-msg-main .message-panel-main{height:65vh!important;min-height:430px!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;overflow:hidden!important;}
  .premium-msg-thread{height:auto!important;min-height:0!important;overflow-y:auto!important;}
  .message-booking-side{height:auto!important;max-height:52vh!important;overflow-y:auto!important;padding-bottom:64px!important;}
  .msg-bubble{max-width:88%!important;}
}

/* ===== V10 multilingual hardening: CJK/RU layout stability ===== */
html, body{
  width:100%;
  min-width:0;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body,
input, textarea, select, button{
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans CJK SC", "Noto Sans CJK JP", "Noto Sans CJK KR", "Microsoft YaHei", "PingFang SC", "Hiragino Sans", "Yu Gothic", "Malgun Gothic", sans-serif;
}
body.lang-ru,
body.lang-zh,
body.lang-ja,
body.lang-ko{
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Noto Sans CJK SC", "Noto Sans CJK JP", "Noto Sans CJK KR", "Microsoft YaHei", "PingFang SC", "Hiragino Sans", "Yu Gothic", "Malgun Gothic", Arial, sans-serif;
}
body.lang-zh *, body.lang-ja *, body.lang-ko *, body.lang-ru *{
  word-break:normal;
  overflow-wrap:anywhere;
  line-break:auto;
}
body.lang-zh .home-hero h1,
body.lang-ja .home-hero h1,
body.lang-ko .home-hero h1,
body.lang-ru .home-hero h1{
  font-size:clamp(34px,4.8vw,60px);
  line-height:1.08;
  letter-spacing:-.025em;
  max-width:760px;
}
body.lang-zh .home-hero p,
body.lang-ja .home-hero p,
body.lang-ko .home-hero p,
body.lang-ru .home-hero p{
  font-size:clamp(16px,1.45vw,19px);
  line-height:1.65;
}
body.lang-zh .kicker,
body.lang-ja .kicker,
body.lang-ko .kicker,
body.lang-ru .kicker,
body.lang-zh .btn,
body.lang-ja .btn,
body.lang-ko .btn,
body.lang-ru .btn,
body.lang-zh .pill,
body.lang-ja .pill,
body.lang-ko .pill,
body.lang-ru .pill{
  white-space:normal;
  line-height:1.25;
}
body.lang-zh .topnav a,
body.lang-ja .topnav a,
body.lang-ko .topnav a,
body.lang-ru .topnav a{
  font-size:12.5px;
  line-height:1.15;
  white-space:nowrap;
}
body.lang-zh .hero-search,
body.lang-ja .hero-search,
body.lang-ko .hero-search,
body.lang-ru .hero-search{
  grid-template-columns:minmax(180px,1.1fr) minmax(180px,1.1fr) minmax(120px,.45fr) minmax(120px,.45fr) minmax(190px,.8fr);
}
body.lang-zh .category-grid,
body.lang-ja .category-grid,
body.lang-ko .category-grid,
body.lang-ru .category-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
body.lang-zh .cat-card,
body.lang-ja .cat-card,
body.lang-ko .cat-card,
body.lang-ru .cat-card{
  min-height:122px;
}
body.lang-zh .coach-card .meta,
body.lang-ja .coach-card .meta,
body.lang-ko .coach-card .meta,
body.lang-ru .coach-card .meta,
body.lang-zh .product-card,
body.lang-ja .product-card,
body.lang-ko .product-card,
body.lang-ru .product-card{
  overflow-wrap:anywhere;
}
@media(max-width:1080px){
  body.lang-zh .hero-search,
  body.lang-ja .hero-search,
  body.lang-ko .hero-search,
  body.lang-ru .hero-search{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  body.lang-zh .home-hero h1,
  body.lang-ja .home-hero h1,
  body.lang-ko .home-hero h1,
  body.lang-ru .home-hero h1{font-size:clamp(30px,9vw,42px);}
  body.lang-zh .hero-search,
  body.lang-ja .hero-search,
  body.lang-ko .hero-search,
  body.lang-ru .hero-search{grid-template-columns:1fr;}
}
/* V13 timezone UX */
.dd[data-dd="tz"] .ddmenu{min-width:290px;max-width:min(92vw,360px)}
.dd[data-dd="tz"] .ddmenu a span:last-child{white-space:normal;line-height:1.25}
#btn-tz .t,#tz-label{max-width:120px}
@media (max-width:680px){#btn-tz .t,#tz-label{max-width:84px}.dd[data-dd="tz"] .ddmenu{min-width:260px}}

/* V31 — Founding Coach, currencies and mobile/PWA polish */
.price-currency-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:12px;align-items:end}.founding-dashboard-card{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#fff 0%,#f4f8ff 60%,#fff1f2 100%);border:1px solid #dce8fb}.founding-dashboard-card>img{width:104px;height:118px;object-fit:contain}.founding-dashboard-card h2{margin:2px 0 5px;color:#092451}.coach-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.founding-mini-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:linear-gradient(135deg,#eef6ff,#fff2f3);border:1px solid #ccdcf5;color:#092451;font-size:12px;font-weight:800}.founding-mini-badge img{width:25px;height:29px}.coach-media{position:relative}.founding-card-badge{position:absolute!important;top:9px!important;left:9px!important;bottom:auto!important;width:46px!important;height:55px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 5px 16px rgba(15,35,70,.22)!important;overflow:hidden!important;z-index:6!important}.founding-card-badge img{display:block!important;width:42px!important;height:50px!important;max-width:none!important;max-height:none!important;object-fit:contain!important;margin:0!important;padding:0!important}@media(max-width:640px){.price-currency-grid{grid-template-columns:1fr}.founding-dashboard-card{align-items:flex-start}.founding-dashboard-card>img{width:78px;height:90px}.founding-card-badge{top:7px!important;left:7px!important;width:40px!important;height:48px!important;border-radius:10px!important}.founding-card-badge img{width:36px!important;height:44px!important}}
