
/* ROOM PUBLISH */
.room-publish-btn{
  margin-top:10px;
  width:100%;
}

.room-publish-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:rgba(0,220,255,.12);
  border:1px solid rgba(0,220,255,.24);
  color:#8cecff;
}

.room-publish-tag.closed{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:#c5c8d4;
}

.room-modal-box{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.room-modal-box label{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.room-modal-box input,
.room-modal-box textarea,
.room-modal-box select{
  width:100%;
}

.room-open-toggle{
  display:flex;
  align-items:center;
  gap:10px;
}

.room-preview-card{
  margin-top:18px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}

.room-preview-cover{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}

.room-preview-content{
  padding:16px;
}

.room-preview-title{
  font-size:20px;
  font-weight:800;
  margin-bottom:8px;
}

.room-preview-type{
  font-size:12px;
  color:#7ee7ff;
  margin-bottom:12px;
}

.room-preview-desc{
  opacity:.84;
  line-height:1.5;
}


.room-modal-box{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.room-modal-box label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  font-weight:700;
  color:#dfe7ff;
}

.room-modal-box input,
.room-modal-box textarea,
.room-modal-box select{
  width:100%;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,16,32,.82);
  color:#fff;
  padding:12px;
}

.room-modal-box textarea{
  min-height:120px;
  resize:vertical;
}

.room-image-preview{
  width:100%;
  max-height:220px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  display:none;
}

.room-youtube-help{
  font-size:12px;
  opacity:.7;
}

.room-open-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
}

.room-save-btn{
  margin-top:6px;
}


.room-image-preview{
  width:100%;
  max-height:220px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:#081020;
  display:none;
}

.room-actions-line{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.room-actions-line button{
  width:100%;
}


/* ROOM IMAGE PREVIEW PRO */
.room-image-preview{
  width:100% !important;
  height:180px !important;
  max-height:180px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  border:1px solid rgba(126,231,255,.24) !important;
  background:
    linear-gradient(135deg, rgba(12,18,40,.96), rgba(28,14,54,.86)) !important;
  box-shadow:0 0 24px rgba(0,220,255,.12) !important;
}

#roomPublishModal{
  max-height:92vh;
  overflow:auto;
}

.room-modal-box{
  gap:12px !important;
}


/* ROOM PREVIEW EN COIN - propre */
#roomPublishModal .modal-head{
  position:relative;
  padding-right:92px;
}

#roomImagePreview{
  position:absolute !important;
  top:18px !important;
  right:48px !important;
  width:64px !important;
  height:64px !important;
  max-height:64px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:16px !important;
  border:1px solid rgba(126,231,255,.34) !important;
  box-shadow:0 0 18px rgba(0,220,255,.20) !important;
  background:#081020 !important;
  z-index:3;
}


/* ROOM PREVIEW intégrée au formulaire */
#roomPublishModal .modal-head{
  padding-right:48px !important;
}

#roomImagePreview{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  width:100% !important;
  height:130px !important;
  max-height:130px !important;
  margin:8px 0 4px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  border:1px solid rgba(126,231,255,.28) !important;
  box-shadow:0 0 22px rgba(0,220,255,.14) !important;
  background:#081020 !important;
  display:none;
}


/* ROOM PREVIEW compacte */
.room-image-row{
  display:grid;
  grid-template-columns:1fr 120px;
  gap:12px;
  align-items:end;
}

#roomImagePreview{
  width:120px !important;
  height:74px !important;
  max-height:74px !important;
  margin:0 !important;
  border-radius:14px !important;
  object-fit:cover !important;
  object-position:center !important;
  border:1px solid rgba(126,231,255,.28) !important;
  box-shadow:0 0 14px rgba(0,220,255,.12) !important;
  background:#081020 !important;
  display:none;
}


/* ROOM PREVIEW ratio propre */
.room-image-row{
  grid-template-columns:1fr 150px !important;
  align-items:center !important;
}

#roomImagePreview{
  width:150px !important;
  height:84px !important;
  max-height:84px !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:16px !important;
  padding:3px !important;
  background:
    linear-gradient(#081020,#081020) padding-box,
    linear-gradient(135deg,#55e7ff,#8a5cff,#ff5bd8) border-box !important;
  border:1px solid transparent !important;
}


/* ROOM PREVIEW format naturel */
.room-image-row{
  grid-template-columns:1fr 120px !important;
  align-items:center !important;
}

#roomImagePreview{
  width:120px !important;
  height:120px !important;
  max-height:120px !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:18px !important;
  padding:6px !important;
  background:
    linear-gradient(135deg, rgba(8,16,32,.96), rgba(20,10,42,.92)) padding-box,
    linear-gradient(135deg,#55e7ff,#8a5cff,#ff5bd8) border-box !important;
  border:1px solid transparent !important;
}


/* ROOM TAG PROFIL PUBLIC */
.public-room-box{
  margin-top:10px;
  padding:12px;
  border-radius:16px;
  background:
    radial-gradient(circle at 15% 20%, rgba(0,224,255,.16), transparent 30%),
    linear-gradient(135deg, rgba(16,24,48,.88), rgba(40,18,70,.62));
  border:1px solid rgba(126,231,255,.22);
}

.public-room-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.public-room-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#b9ffd3;
  background:rgba(80,220,140,.14);
  border:1px solid rgba(80,220,140,.24);
}

.public-room-title{
  margin-top:8px;
  font-weight:900;
  color:#fff;
}

.public-room-enter{
  margin-top:10px;
  width:100%;
}

.room-view-cover{
  width:100%;
  max-height:220px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(126,231,255,.22);
  margin-bottom:14px;
}

.room-view-video{
  width:100%;
  aspect-ratio:16/9;
  border:0;
  border-radius:18px;
  margin-top:14px;
}

.room-view-desc{
  line-height:1.55;
  opacity:.9;
}


/* ROOM PROFIL PUBLIC - VERSION PRO */
.public-room-box{
  margin-top:14px !important;
  padding:14px !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(0,224,255,.20), transparent 30%),
    radial-gradient(circle at 90% 10%, rgba(255,58,216,.18), transparent 32%),
    linear-gradient(135deg, rgba(9,15,34,.96), rgba(34,16,62,.88)) !important;
  border:1px solid rgba(126,231,255,.34) !important;
  box-shadow:
    0 0 22px rgba(0,224,255,.10),
    0 14px 36px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.public-room-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}

.public-room-badge{
  padding:8px 12px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  color:#b9ffd3 !important;
  background:rgba(80,220,140,.16) !important;
  border:1px solid rgba(80,220,140,.34) !important;
  box-shadow:0 0 14px rgba(80,220,140,.16) !important;
}

.public-room-title{
  margin-top:10px !important;
  font-size:18px !important;
  font-weight:900 !important;
  color:#fff !important;
  text-shadow:0 0 14px rgba(126,231,255,.22) !important;
}

.public-room-enter{
  margin-top:12px !important;
  width:100% !important;
  border-radius:14px !important;
  font-weight:900 !important;
  background:linear-gradient(90deg, rgba(53,215,255,.95), rgba(138,92,255,.95), rgba(255,91,216,.9)) !important;
  color:white !important;
  border:none !important;
  box-shadow:0 0 20px rgba(138,92,255,.28) !important;
}

.room-view-cover{
  width:100% !important;
  max-height:260px !important;
  object-fit:cover !important;
  border-radius:22px !important;
  border:1px solid rgba(126,231,255,.30) !important;
  box-shadow:0 0 24px rgba(0,224,255,.14) !important;
  margin-bottom:16px !important;
}

#roomViewContent h3{
  margin:8px 0 10px !important;
  font-size:26px !important;
  color:#fff !important;
}

.room-view-desc{
  padding:14px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  line-height:1.6 !important;
}

.room-view-video{
  width:100% !important;
  aspect-ratio:16/9 !important;
  border:0 !important;
  border-radius:20px !important;
  margin-top:16px !important;
  box-shadow:0 0 24px rgba(0,0,0,.28) !important;
}


/* ROOM TAG status public/privé ouvert/fermé */
.public-room-badge.is-public.is-open{
  background:rgba(80,220,140,.16) !important;
  border-color:rgba(80,220,140,.36) !important;
  color:#b9ffd3 !important;
}

.public-room-badge.is-public.is-closed{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.14) !important;
  color:#d7def4 !important;
}

.public-room-badge.is-private.is-open{
  background:rgba(255,190,80,.16) !important;
  border-color:rgba(255,190,80,.38) !important;
  color:#ffe2a8 !important;
}

.public-room-badge.is-private.is-closed{
  background:rgba(255,95,130,.13) !important;
  border-color:rgba(255,95,130,.30) !important;
  color:#ffc2d0 !important;
}


/* TAG ROOM DANS LE TCHAT */
.chat-room-tag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-left:7px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  line-height:1;
  vertical-align:middle;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#dbe6ff;
  white-space:nowrap;
}

.chat-room-tag.is-public.is-open{
  background:rgba(80,220,140,.15);
  border-color:rgba(80,220,140,.32);
  color:#b9ffd3;
}

.chat-room-tag.is-public.is-closed{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.14);
  color:#cfd8ee;
}

.chat-room-tag.is-private.is-open{
  background:rgba(255,190,80,.16);
  border-color:rgba(255,190,80,.34);
  color:#ffe1a5;
}

.chat-room-tag.is-private.is-closed{
  background:rgba(255,95,130,.13);
  border-color:rgba(255,95,130,.30);
  color:#ffc2d0;
}


.chat-room-tag{
  transition:transform .15s ease, box-shadow .15s ease;
  animation:none !important;
}

.chat-room-tag:hover{
  transform:translateY(-1px);
  box-shadow:0 0 14px rgba(126,231,255,.18);
}


/* ROOM VIEW PRO */
.room-view-pro{
  display:grid;
  gap:18px;
}

.room-view-hero{
  position:relative;
  min-height:220px;
  border-radius:26px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 10%, rgba(0,224,255,.22), transparent 34%),
    radial-gradient(circle at 85% 20%, rgba(255,58,216,.18), transparent 32%),
    linear-gradient(135deg, rgba(12,18,40,.96), rgba(32,16,60,.92));
  border:1px solid rgba(126,231,255,.28);
  box-shadow:0 22px 60px rgba(0,0,0,.38);
}

.room-view-cover{
  width:100% !important;
  height:280px !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
}

.room-view-hero-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  padding:16px;
  background:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.58));
}

.room-view-state{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.18);
}

.room-view-state.is-private{
  background:rgba(255,190,80,.18);
  color:#ffe1a5;
}

.room-view-state.is-public{
  background:rgba(80,220,140,.18);
  color:#b9ffd3;
}

.room-view-main{
  padding:16px;
  border-radius:22px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}

.room-view-main h3{
  margin:8px 0 12px;
  font-size:28px;
  line-height:1.1;
}

.room-view-desc{
  margin:0 0 16px !important;
  line-height:1.65;
  color:#dce6ff;
}

.room-view-media-title{
  margin:16px 0 8px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#7ee7ff;
}

.room-view-video{
  width:100% !important;
  aspect-ratio:16/9 !important;
  border:0 !important;
  border-radius:18px !important;
  box-shadow:0 14px 36px rgba(0,0,0,.35) !important;
}

.room-view-audio{
  width:100%;
  margin-top:8px;
}

.room-request-entry{
  width:100%;
  margin-top:18px;
  border-radius:16px;
}


/* ROOM VIEW - ajustement propre */
#roomViewModal{
  max-width:760px !important;
}

#roomViewContent{
  max-height:72vh;
  overflow:auto;
  padding-right:4px;
}

.room-view-pro{
  gap:12px !important;
}

.room-view-hero{
  min-height:150px !important;
  max-height:190px !important;
  border-radius:20px !important;
}

.room-view-cover{
  height:190px !important;
  object-fit:cover !important;
  object-position:center !important;
}

.room-view-main{
  padding:14px !important;
}

.room-view-main h3{
  font-size:24px !important;
  margin:6px 0 10px !important;
}

.room-view-desc{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
  margin:10px 0 14px !important;
}

.room-view-video{
  max-height:330px;
}

.room-request-entry{
  min-height:46px;
  font-weight:900;
}


/* CARTE ROOM PRO DANS PROFIL PUBLIC */
.public-room-card-pro{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:14px;
  align-items:stretch;
}

.public-room-flyer{
  position:relative;
  min-height:118px;
  border-radius:18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 10%, rgba(0,224,255,.22), transparent 34%),
    linear-gradient(135deg, rgba(10,18,40,.95), rgba(40,18,70,.85));
  border:1px solid rgba(126,231,255,.20);
}

.public-room-flyer img{
  width:100%;
  height:100%;
  min-height:118px;
  object-fit:cover;
  object-position:center;
  display:block;
}

.public-room-flyer .public-room-badge{
  position:absolute;
  left:8px;
  top:8px;
  padding:6px 9px !important;
  font-size:11px !important;
  backdrop-filter:blur(8px);
}

.public-room-details{
  display:grid;
  align-content:center;
  gap:7px;
  min-width:0;
}

.public-room-mini{
  font-size:12px;
  color:#b9c7e8;
  overflow-wrap:anywhere;
}

.public-room-desc{
  margin:0;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#dce6ff;
  font-size:12px;
  line-height:1.45;
  max-height:54px;
  overflow:auto;
}

.public-room-card-pro .public-room-enter{
  margin-top:4px !important;
  min-height:38px;
  border-radius:14px;
}

@media (max-width:640px){
  .public-room-card-pro{
    grid-template-columns:1fr;
  }

  .public-room-flyer{
    min-height:150px;
  }

  .public-room-flyer img{
    min-height:150px;
  }
}


/* GRANDE FICHE ROOM - CLEAN FINAL */
#roomViewModal{
  width:min(92vw, 680px) !important;
  max-width:680px !important;
}

#roomViewContent{
  max-height:70vh !important;
  overflow:auto !important;
  padding-right:4px !important;
}

.room-view-pro{
  display:grid !important;
  gap:12px !important;
}

.room-view-hero{
  min-height:0 !important;
  height:auto !important;
  max-height:auto !important;
  border-radius:20px !important;
  overflow:hidden !important;
}

.room-view-cover{
  width:100% !important;
  height:auto !important;
  max-height:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  margin:0 !important;
  border:0 !important;
}

.room-view-hero-overlay{
  padding:12px !important;
  align-items:flex-start !important;
}

.room-view-main{
  padding:14px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.09) !important;
}

.room-view-main h3{
  margin:6px 0 10px !important;
  font-size:24px !important;
  line-height:1.12 !important;
}

.room-view-desc{
  display:block !important;
  padding:13px 14px !important;
  margin:10px 0 14px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#e5ecff !important;
  line-height:1.6 !important;
  max-height:120px !important;
  overflow:auto !important;
}

.room-view-media-title{
  margin:14px 0 8px !important;
  padding-top:8px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.room-view-video{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:16/9 !important;
  border-radius:16px !important;
}

.room-request-entry{
  width:100% !important;
  margin-top:14px !important;
  min-height:46px !important;
  border-radius:16px !important;
  font-weight:900 !important;
}


/* PROFIL PUBLIC - CARTE ROOM CLAIRE */
.public-room-card-pro{
  display:grid !important;
  grid-template-columns:128px 1fr !important;
  gap:14px !important;
  align-items:stretch !important;
}

.public-room-flyer{
  position:relative !important;
  height:132px !important;
  min-height:132px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 20% 15%, rgba(0,224,255,.22), transparent 34%),
    linear-gradient(135deg, rgba(8,14,32,.96), rgba(36,18,70,.88)) !important;
  border:1px solid rgba(126,231,255,.24) !important;
}

.public-room-flyer img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

.public-room-flyer .public-room-badge{
  position:absolute !important;
  top:8px !important;
  left:8px !important;
  max-width:calc(100% - 16px) !important;
  padding:6px 9px !important;
  font-size:11px !important;
  backdrop-filter:blur(10px);
}

.public-room-details{
  display:grid !important;
  gap:7px !important;
  align-content:center !important;
  min-width:0 !important;
}

.public-room-title{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  color:#fff !important;
  overflow-wrap:anywhere !important;
}

.public-room-mini{
  font-size:12px !important;
  color:#b9c7e8 !important;
  overflow-wrap:anywhere !important;
}

.public-room-desc{
  margin:0 !important;
  padding:8px 10px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#dce6ff !important;
  font-size:12px !important;
  line-height:1.45 !important;
  max-height:58px !important;
  overflow:auto !important;
}

.public-room-card-pro .public-room-enter{
  margin-top:2px !important;
  width:100% !important;
  min-height:38px !important;
  border-radius:14px !important;
}

@media (max-width:640px){
  .public-room-card-pro{
    grid-template-columns:1fr !important;
  }
  .public-room-flyer{
    height:160px !important;
  }
}


/* PROFIL PUBLIC - CARTE ROOM CLAIRE */
.public-room-card-pro{
  display:grid !important;
  grid-template-columns:128px 1fr !important;
  gap:14px !important;
  align-items:stretch !important;
}

.public-room-flyer{
  position:relative !important;
  height:132px !important;
  min-height:132px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 20% 15%, rgba(0,224,255,.22), transparent 34%),
    linear-gradient(135deg, rgba(8,14,32,.96), rgba(36,18,70,.88)) !important;
  border:1px solid rgba(126,231,255,.24) !important;
}

.public-room-flyer img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}

.public-room-flyer .public-room-badge{
  position:absolute !important;
  top:8px !important;
  left:8px !important;
  max-width:calc(100% - 16px) !important;
  padding:6px 9px !important;
  font-size:11px !important;
  backdrop-filter:blur(10px);
}

.public-room-details{
  display:grid !important;
  gap:7px !important;
  align-content:center !important;
  min-width:0 !important;
}

.public-room-title{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  color:#fff !important;
  overflow-wrap:anywhere !important;
}

.public-room-mini{
  font-size:12px !important;
  color:#b9c7e8 !important;
  overflow-wrap:anywhere !important;
}

.public-room-desc{
  margin:0 !important;
  padding:8px 10px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#dce6ff !important;
  font-size:12px !important;
  line-height:1.45 !important;
  max-height:58px !important;
  overflow:auto !important;
}

.public-room-card-pro .public-room-enter{
  margin-top:2px !important;
  width:100% !important;
  min-height:38px !important;
  border-radius:14px !important;
}

@media (max-width:640px){
  .public-room-card-pro{
    grid-template-columns:1fr !important;
  }
  .public-room-flyer{
    height:160px !important;
  }
}


/* ROOM DANS PROFIL - COMPACT DISCRET */
.public-room-box{
  padding:12px !important;
  border-radius:18px !important;
}

.public-room-card-pro{
  grid-template-columns:74px 1fr !important;
  gap:12px !important;
}

.public-room-flyer{
  width:74px !important;
  height:74px !important;
  min-height:74px !important;
  border-radius:50% !important;
  align-self:center !important;
}

.public-room-flyer img{
  width:74px !important;
  height:74px !important;
  min-height:74px !important;
  border-radius:50% !important;
}

.public-room-flyer .public-room-badge{
  position:static !important;
  display:none !important;
}

.public-room-title{
  font-size:16px !important;
}

.public-room-mini{
  font-size:11px !important;
}

.public-room-desc{
  max-height:38px !important;
  font-size:11px !important;
  padding:6px 8px !important;
}

.public-room-card-pro .public-room-enter{
  min-height:34px !important;
  font-size:12px !important;
}

@media (max-width:640px){
  .public-room-card-pro{
    grid-template-columns:64px 1fr !important;
  }
  .public-room-flyer,
  .public-room-flyer img{
    width:64px !important;
    height:64px !important;
    min-height:64px !important;
  }
}


/* ROOM DANS PROFIL — FINAL COMPACT */
.public-room-box{
  padding:11px !important;
  border-radius:18px !important;
  background:
    linear-gradient(135deg, rgba(9,15,34,.92), rgba(32,16,58,.72)) !important;
  border:1px solid rgba(126,231,255,.22) !important;
  box-shadow:none !important;
}

.public-room-card-pro{
  display:grid !important;
  grid-template-columns:64px 1fr !important;
  gap:12px !important;
  align-items:center !important;
}

.public-room-flyer{
  width:64px !important;
  height:64px !important;
  min-height:64px !important;
  border-radius:50% !important;
}

.public-room-flyer img{
  width:64px !important;
  height:64px !important;
  min-height:64px !important;
  border-radius:50% !important;
  object-fit:cover !important;
}

.public-room-flyer .public-room-badge{
  display:none !important;
}

.public-room-title{
  font-size:16px !important;
  margin:0 !important;
}

.public-room-mini{
  font-size:11px !important;
  color:#b7c8ea !important;
}

.public-room-desc{
  margin:4px 0 !important;
  padding:6px 8px !important;
  max-height:34px !important;
  font-size:11px !important;
}

.public-room-card-pro .public-room-enter{
  min-height:32px !important;
  font-size:12px !important;
  border-radius:12px !important;
}


/* ROOM PROFIL — IMAGE NETTE ET DISCRETE */
.public-room-card-pro{
  grid-template-columns:58px 1fr !important;
  gap:10px !important;
}

.public-room-flyer,
.public-room-flyer img{
  width:58px !important;
  height:58px !important;
  min-height:58px !important;
  border-radius:16px !important;
  object-fit:cover !important;
  object-position:center !important;
}

.public-room-box{
  padding:10px !important;
}

.public-room-desc{
  max-height:30px !important;
}


/* === ROOM DANS PROFIL — CLEAN REAL FINAL === */
.public-room-box{
  padding:9px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(126,231,255,.18) !important;
  box-shadow:none !important;
}

.public-room-card-pro{
  display:grid !important;
  grid-template-columns:52px 1fr !important;
  gap:10px !important;
  align-items:center !important;
}

.public-room-flyer,
.public-room-flyer img{
  width:52px !important;
  height:52px !important;
  min-height:52px !important;
  border-radius:14px !important;
}

.public-room-title{
  font-size:15px !important;
  line-height:1.1 !important;
}

.public-room-mini{
  font-size:11px !important;
}

.public-room-desc{
  display:none !important;
}

.public-room-card-pro .public-room-enter{
  min-height:30px !important;
  font-size:11px !important;
  margin-top:3px !important;
  border-radius:10px !important;
}


/* ROOM PROFIL — PROPORTIONS 2 COLONNES */
.public-room-card-pro{
  grid-template-columns:52px 1fr 150px !important;
  gap:10px !important;
  align-items:center !important;
}

.public-room-details{
  display:grid !important;
  grid-template-columns:1fr 150px !important;
  gap:8px 12px !important;
  align-items:center !important;
}

.public-room-details .eyebrow,
.public-room-title,
.public-room-mini{
  grid-column:1 !important;
}

.public-room-card-pro .public-room-enter{
  grid-column:2 !important;
  grid-row:1 / span 3 !important;
  width:100% !important;
  min-height:42px !important;
  align-self:center !important;
  margin:0 !important;
}

.public-room-desc{
  display:none !important;
}

@media (max-width:640px){
  .public-room-card-pro{
    grid-template-columns:52px 1fr !important;
  }

  .public-room-details{
    grid-template-columns:1fr !important;
  }

  .public-room-card-pro .public-room-enter{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* ZOOM IMAGE ROOM - CENTRÉ PETIT + BOUTON FERMER */
#roomImageZoomModal{
  width:min(90vw, 680px) !important;
  max-width:680px !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
}

#roomImageZoomModal .modal-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

#roomImageZoomModal .close-modal{
  min-width:86px !important;
  height:34px !important;
  border-radius:999px !important;
  font-size:0 !important;
}

#roomImageZoomModal .close-modal::after{
  content:"Fermer";
  font-size:13px;
  font-weight:900;
}

.room-image-zoom-wrap{
  max-height:62vh !important;
  padding:10px !important;
}

#roomImageZoomImg{
  max-width:100% !important;
  max-height:60vh !important;
  object-fit:contain !important;
}


/* FORMULAIRE ROOM - SUNO */
.room-suno-box{
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(126,231,255,.18);
  display:grid;
  gap:10px;
}

.room-suno-box input[type="file"]{
  width:100%;
}


/* SUNO COVER ART VIEWER */
.room-suno-cover,
.room-suno-open{
  cursor:pointer !important;
}

.room-view-suno-hero::after{
  content:"Cliquer pour ouvrir le Suno Cover Art";
  position:absolute;
  right:12px;
  bottom:12px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
}

#roomSunoViewerModal{
  width:min(92vw, 720px) !important;
  max-width:720px !important;
}

.room-suno-viewer{
  display:grid;
  gap:10px;
}

#roomSunoViewerVideo{
  width:100%;
  max-height:58vh;
  object-fit:contain;
  border-radius:18px;
  background:#050814;
  border:1px solid rgba(126,231,255,.24);
}

#roomSunoViewerAudio{
  width:100%;
}


.public-room-flyer.suno-click-zone{
  cursor:pointer !important;
}

.public-room-flyer.suno-click-zone::after{
  content:"🎵";
  position:absolute;
  right:6px;
  bottom:6px;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.25);
  font-size:12px;
}


/* FIX ALIGNEMENT FINAL ROOM */
.public-room-card-pro{
  grid-template-columns:86px minmax(0,1fr) !important;
  align-items:center !important;
}

.public-room-details{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
}

.public-room-actions{
  display:flex !important;
  gap:10px !important;
  margin-top:12px !important;
  width:100% !important;
}

.public-room-actions .public-room-vibe,
.public-room-actions .public-room-enter{
  flex:1 !important;
  min-width:0 !important;

  height:42px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  white-space:nowrap !important;
}

.public-room-flyer{
  width:86px !important;
  height:86px !important;
}

.public-room-flyer img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}


/* ROOM PROFIL - BADGES + NOM PRO */
.public-room-box .public-room-card-pro{
  position:relative !important;
  padding-top:26px !important;
}

.public-room-box .public-room-badge{
  display:inline-flex !important;
  position:absolute !important;
  top:8px !important;
  right:10px !important;
  left:auto !important;
  bottom:auto !important;
  z-index:5 !important;

  align-items:center !important;
  justify-content:center !important;

  max-width:170px !important;
  padding:5px 9px !important;
  border-radius:999px !important;

  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;

  background:rgba(8,14,32,.78) !important;
  border:1px solid rgba(126,231,255,.24) !important;
  color:#dff7ff !important;
  backdrop-filter:blur(10px) !important;
}

.public-room-box .public-room-badge.is-public.is-open{
  color:#b9ffd3 !important;
  border-color:rgba(75,255,160,.28) !important;
  background:rgba(20,120,70,.30) !important;
}

.public-room-box .public-room-badge.is-public.is-closed{
  color:#c9d5ff !important;
  border-color:rgba(150,170,255,.24) !important;
}

.public-room-box .public-room-badge.is-private{
  color:#ffd9ff !important;
  border-color:rgba(255,90,220,.28) !important;
  background:rgba(120,35,110,.30) !important;
}

.public-room-box .public-room-title{
  text-align:left !important;
  font-size:18px !important;
  font-weight:950 !important;
  line-height:1.05 !important;
  color:#fff !important;
  margin:0 0 5px 0 !important;
  letter-spacing:.01em !important;
}

.public-room-box .public-room-mini{
  text-align:left !important;
  font-size:11px !important;
  line-height:1.35 !important;
  color:rgba(255,255,255,.72) !important;
  margin:0 0 10px 0 !important;
}

.public-room-box .public-room-details .eyebrow{
  text-align:left !important;
  margin-bottom:5px !important;
}


/* ROOM PROFIL - TAGS HORS IMAGE */
.public-room-box .public-room-flyer .public-room-badge{
  display:none !important;
}

.public-room-box .public-room-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin:6px 0 10px 0 !important;
}

.public-room-box .public-room-tag{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  border:1px solid rgba(126,231,255,.22) !important;
  background:rgba(255,255,255,.055) !important;
  color:#dff7ff !important;
}

.public-room-box .public-room-tag.is-public{
  color:#b9ffd3 !important;
  border-color:rgba(75,255,160,.28) !important;
  background:rgba(20,120,70,.22) !important;
}

.public-room-box .public-room-tag.is-private{
  color:#ffd9ff !important;
  border-color:rgba(255,90,220,.28) !important;
  background:rgba(120,35,110,.24) !important;
}

.public-room-box .public-room-tag.is-open{
  color:#b9ffd3 !important;
}

.public-room-box .public-room-tag.is-closed{
  color:#c9d5ff !important;
}

.public-room-box .public-room-title{
  font-size:19px !important;
  margin-top:2px !important;
}


/* ROOM PROFIL — POLISH PRO FINAL */
.public-room-box{
  padding:12px !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(0,224,255,.12), transparent 32%),
    linear-gradient(135deg, rgba(12,20,42,.96), rgba(20,16,44,.90)) !important;
  border:1px solid rgba(126,231,255,.22) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.public-room-card-pro{
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:center !important;
}

.public-room-flyer{
  width:92px !important;
  height:92px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  border:1px solid rgba(126,231,255,.28) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.40) !important;
}

.public-room-flyer img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:none !important;
}

.public-room-flyer .public-room-badge{
  display:none !important;
}

.public-room-details .eyebrow{
  color:#4fe9ff !important;
  font-size:11px !important;
  letter-spacing:.22em !important;
  font-weight:900 !important;
  margin:0 0 6px 0 !important;
}

.public-room-title{
  font-size:20px !important;
  font-weight:950 !important;
  color:#fff !important;
  line-height:1.05 !important;
  margin:0 0 5px 0 !important;
  text-shadow:0 0 14px rgba(126,231,255,.14) !important;
}

.public-room-mini{
  font-size:11px !important;
  color:rgba(255,255,255,.72) !important;
  margin:0 0 8px 0 !important;
}

.public-room-tags{
  display:flex !important;
  gap:6px !important;
  margin:6px 0 12px 0 !important;
}

.public-room-tag{
  padding:5px 8px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:900 !important;
}

.public-room-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:8px !important;
}

.public-room-actions button{
  height:40px !important;
  border-radius:14px !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.public-room-vibe{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(126,231,255,.20) !important;
  color:#eaf7ff !important;
}

.public-room-enter{
  background:linear-gradient(135deg,#23d7ff,#ff3bd5) !important;
  border:0 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(255,58,216,.25) !important;
}


/* ROOM PROFIL — RESET PRO STRUCTURÉ */
.public-room-box{
  padding:10px !important;
  border-radius:18px !important;
}

.public-room-card-pro{
  display:grid !important;
  grid-template-columns:82px 1fr !important;
  gap:14px !important;
  align-items:center !important;
  padding:10px !important;
}

.public-room-flyer{
  width:82px !important;
  height:82px !important;
  border-radius:16px !important;
  align-self:center !important;
}

.public-room-flyer img{
  width:82px !important;
  height:82px !important;
  object-fit:cover !important;
  object-position:center !important;
}

.public-room-details{
  display:grid !important;
  gap:5px !important;
  text-align:left !important;
  align-content:center !important;
}

.public-room-details .eyebrow,
.public-room-title,
.public-room-mini,
.public-room-tags{
  text-align:left !important;
  justify-content:flex-start !important;
}

.public-room-title{
  font-size:18px !important;
  margin:0 !important;
}

.public-room-mini{
  font-size:11px !important;
  margin:0 !important;
}

.public-room-tags{
  display:flex !important;
  gap:6px !important;
  margin:3px 0 8px 0 !important;
}

.public-room-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:9px !important;
  width:100% !important;
  margin:4px 0 0 0 !important;
}

.public-room-actions button{
  height:38px !important;
  min-height:38px !important;
  border-radius:13px !important;
  font-size:12px !important;
}

.public-room-box .public-room-badge{
  display:none !important;
}


/* MR ROOM CARD V3 - CLEAN PRO */
.mr-room-card-v3{
  display:grid !important;
  grid-template-columns:96px 1fr !important;
  gap:14px !important;
  align-items:center !important;
  padding:14px !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 15% 10%, rgba(0,224,255,.14), transparent 34%),
    linear-gradient(135deg, rgba(9,17,39,.96), rgba(26,18,55,.94)) !important;
  border:1px solid rgba(126,231,255,.24) !important;
}

.mr-room-cover{
  width:96px !important;
  height:96px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  border:1px solid rgba(126,231,255,.28) !important;
}

.mr-room-cover img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.mr-room-right{
  min-width:0 !important;
  display:grid !important;
  gap:5px !important;
}

.mr-room-eyebrow{
  color:#55e7ff !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
}

.mr-room-title{
  color:#fff !important;
  font-size:21px !important;
  font-weight:950 !important;
  line-height:1.05 !important;
}

.mr-room-author{
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.mr-room-tags{
  display:flex !important;
  gap:6px !important;
  margin:3px 0 7px !important;
}

.mr-room-tag{
  display:inline-flex !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:900 !important;
}

.mr-room-tag.is-public,
.mr-room-tag.is-open{
  background:rgba(27,180,100,.20) !important;
  border:1px solid rgba(80,255,160,.24) !important;
  color:#baffd6 !important;
}

.mr-room-tag.is-private{
  background:rgba(170,40,150,.22) !important;
  border:1px solid rgba(255,90,220,.25) !important;
  color:#ffd6fb !important;
}

.mr-room-tag.is-closed{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  color:#dce4ff !important;
}

.mr-room-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:3px !important;
}

.mr-room-actions button{
  height:40px !important;
  border-radius:14px !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.mr-room-actions .public-room-vibe{
  background:rgba(255,255,255,.065) !important;
  border:1px solid rgba(126,231,255,.22) !important;
  color:#ecf8ff !important;
}

.mr-room-actions .public-room-enter{
  background:linear-gradient(135deg,#23d7ff,#ff3bd5) !important;
  border:0 !important;
  color:#fff !important;
}


/* INDEX - GALERIE ROOMS OUVERTES */
.open-rooms-gallery{
  display:grid;
  gap:12px;
}

.open-room-card{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:18px;
  cursor:pointer;
  background:
    radial-gradient(circle at 15% 10%, rgba(0,224,255,.16), transparent 32%),
    linear-gradient(135deg, rgba(12,18,38,.94), rgba(36,18,68,.72));
  border:1px solid rgba(126,231,255,.22);
}

.open-room-cover{
  width:92px;
  height:74px;
  border-radius:15px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
}

.open-room-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.open-room-empty{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  color:#7ee7ff;
}

.open-room-body{
  min-width:0;
}

.open-room-label{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  color:#b9ffd3;
  background:rgba(20,120,70,.24);
  border:1px solid rgba(75,255,160,.24);
}

.open-room-body h4{
  margin:8px 0 4px;
  font-size:17px;
  line-height:1.1;
}

.open-room-body p{
  margin:0 0 10px;
  font-size:12px;
  color:rgba(255,255,255,.72);
}

.open-room-view{
  width:100%;
  min-height:34px;
  border-radius:12px;
}

.open-room-card:hover{
  transform:translateY(-1px);
  border-color:rgba(126,231,255,.42);
}

/* FIX PROFIL MEMBRE - ROOM NE TOUCHE PLUS LE BOUTON PM */
#userCardContent .public-room-box{
  margin-bottom:14px !important;
}

#userCardContent .mr-room-card-v3{
  padding:14px !important;
  border-radius:18px !important;
}

#userCardContent .mr-room-cover{
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
}

#userCardContent .mr-room-title{
  font-size:18px !important;
  line-height:1.05 !important;
}

#userCardContent .mr-room-actions{
  margin-top:10px !important;
  gap:8px !important;
}

#userCardContent .mr-room-actions button{
  min-height:38px !important;
  height:38px !important;
  font-size:12px !important;
}

#userCardContent .public-profile-actions{
  margin-top:10px !important;
  position:relative !important;
  z-index:2 !important;
}


/* ROOMS OUVERTES - VIE + CADRAGE IMAGE */
.open-room-card{
  background:
    radial-gradient(circle at 12% 18%, rgba(0,224,255,.24), transparent 34%),
    radial-gradient(circle at 92% 15%, rgba(255,58,216,.22), transparent 36%),
    linear-gradient(135deg, rgba(9,18,42,.96), rgba(42,18,78,.88)) !important;
  border:1px solid rgba(126,231,255,.34) !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.open-room-cover{
  width:104px !important;
  height:86px !important;
  border-radius:18px !important;
  border:1px solid rgba(126,231,255,.34) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.34) !important;
}

.open-room-cover img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  transform:scale(1.03);
}

.open-room-label{
  background:rgba(20,180,95,.25) !important;
  border-color:rgba(80,255,160,.34) !important;
  color:#caffdd !important;
  box-shadow:0 0 14px rgba(60,255,150,.16) !important;
}

.open-room-body h4{
  color:#fff !important;
  text-shadow:0 0 12px rgba(126,231,255,.18) !important;
}

.open-room-view{
  background:linear-gradient(135deg,#23d7ff,#8a5cff,#ff3bd5) !important;
  color:#fff !important;
  border:0 !important;
  font-weight:900 !important;
}

.open-room-card:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(255,58,216,.42) !important;
}


/* FX TRANSITION CHANGEMENT ROOM */
.open-room-card{
  animation:openRoomIn .45s ease both;
  will-change:transform,opacity,filter;
}

@keyframes openRoomIn{
  from{
    opacity:0;
    transform:translateY(10px) scale(.985);
    filter:blur(5px);
  }

  60%{
    opacity:1;
    transform:translateY(-2px) scale(1.01);
    filter:blur(0);
  }

  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}


/* IMAGE ROOM - CADRAGE PRO SANS CHANGER LA PAGE */
.open-room-cover,
.mr-room-cover,
.room-view-hero{
  background:#080d1d !important;
}

.open-room-cover img,
.mr-room-cover img,
.room-view-cover{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  image-rendering:auto !important;
  transform:none !important;
}

.room-view-hero{
  aspect-ratio:16/9 !important;
  height:auto !important;
  max-height:280px !important;
}

.open-room-cover{
  aspect-ratio:16/9 !important;
}

.mr-room-cover{
  overflow:hidden !important;
}

/* CHAT RDV ROOM - BARRE BAS INDEX */
.room-rdv-bar{
  position:fixed;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:9000;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  pointer-events:none;
}

.room-rdv-bar[hidden]{
  display:none !important;
}

.room-rdv-tag{
  pointer-events:auto;
  border:1px solid rgba(126,231,255,.28);
  background:linear-gradient(135deg, rgba(12,18,38,.96), rgba(42,20,76,.92));
  color:#fff;
  border-radius:999px;
  padding:9px 12px;
  font-size:12px;
  font-weight:900;
  box-shadow:0 10px 26px rgba(0,0,0,.30);
  cursor:pointer;
}

.room-rdv-tag.is-admin{
  border-color:rgba(255,58,216,.38);
}

.room-rdv-modal{
  width:min(92vw, 520px) !important;
}

.room-rdv-pending{
  display:grid;
  gap:8px;
  margin-bottom:10px;
}

.room-rdv-pending-item{
  padding:9px;
  border-radius:13px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}

.room-rdv-messages{
  min-height:220px;
  max-height:42vh;
  overflow:auto;
  display:grid;
  gap:8px;
  padding:10px;
  border-radius:16px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
}

.room-rdv-msg{
  padding:8px 10px;
  border-radius:13px;
  background:rgba(255,255,255,.06);
}

.room-rdv-msg strong{
  color:#7ee7ff;
}

.room-rdv-composer{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:10px;
}

.room-rdv-composer input{
  min-height:40px;
}

/* CHAT RDV - TAG PLUS VISIBLE */
.room-rdv-bar{
  bottom:22px !important;
  left:22px !important;
  right:auto !important;
  max-width:520px !important;
}

.room-rdv-tag{
  min-height:42px !important;
  padding:12px 18px !important;
  border-radius:18px !important;
  font-size:14px !important;
  letter-spacing:.2px !important;
  background:
    radial-gradient(circle at 15% 20%, rgba(0,224,255,.30), transparent 35%),
    linear-gradient(135deg, rgba(13,22,48,.98), rgba(96,35,135,.96), rgba(255,55,210,.70)) !important;
  border:1px solid rgba(126,231,255,.46) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 12px 34px rgba(0,0,0,.48),
    0 0 22px rgba(210,70,255,.28) !important;
  transform:translateY(0);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

.room-rdv-tag:hover{
  transform:translateY(-2px) scale(1.02) !important;
  filter:brightness(1.16) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 16px 38px rgba(0,0,0,.55),
    0 0 30px rgba(35,215,255,.35) !important;
}

.room-rdv-tag.is-admin::after{
  content:" ouvrir";
  margin-left:8px;
  opacity:.85;
  font-size:12px;
  font-weight:800;
}

/* FIX CIBLÉ POPUP PROFIL ROOM - image 16/9 sans grande zone noire */
#profileModal .room-view-hero{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#080d1d !important;
}

#profileModal .room-view-cover{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:18px !important;
}


/* CHAT RDV - TEST STYLE VISIBLE */
.room-rdv-modal{
  width:min(860px, 94vw) !important;
  max-width:860px !important;
  min-height:620px !important;
  background:linear-gradient(145deg, rgba(8,14,32,.98), rgba(40,18,70,.98)) !important;
  border:2px solid rgba(126,231,255,.55) !important;
  box-shadow:0 0 60px rgba(0,224,255,.28) !important;
}

.room-rdv-messages{
  height:260px !important;
  max-height:260px !important;
}

.room-rdv-pending-item{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(126,231,255,.25) !important;
  border-radius:16px !important;
}


/* =====================================================
   CHAT RDV - STRUCTURE ET STYLE TYPE PM BASIQUE
   ===================================================== */

#roomRdvModal.hidden{
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
}

#roomRdvModal.room-rdv-modal{
  width:min(94vw, 620px) !important;
  height:620px !important;
  border-radius:24px !important;
  background:linear-gradient(145deg, rgba(13,23,48,.98), rgba(8,13,30,.96)) !important;
  border:1px solid rgba(120,150,255,.35) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.55), 0 0 40px rgba(120,100,255,.18) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

#roomRdvModal .modal-head{
  flex:0 0 auto !important;
  padding:14px 18px !important;
}

#roomRdvPending{
  flex:0 0 auto !important;
  max-height:145px !important;
  overflow:auto !important;
  padding:8px 14px !important;
}

#roomRdvMessages{
  flex:1 1 auto !important;
  min-height:160px !important;
  max-height:none !important;
  overflow:auto !important;
  padding:14px !important;
  border-radius:18px !important;
  background:rgba(3,8,20,.55) !important;
  border:1px solid rgba(120,150,255,.18) !important;

  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

#roomRdvMessages .room-rdv-msg{
  max-width:78% !important;
  margin:8px 0 !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  background:rgba(0,220,255,.10) !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  box-sizing:border-box !important;
}

#roomRdvMessages .room-rdv-msg.other{
  align-self:flex-start !important;
  margin-right:auto !important;
}

#roomRdvMessages .room-rdv-msg strong{
  display:block !important;
  font-size:12px !important;
  margin-bottom:4px !important;
  color:#7ee7ff !important;
}

#roomRdvMessages .room-rdv-msg p{
  margin:0 !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  white-space:pre-wrap !important;
}

.room-rdv-emoji-row{
  flex:0 0 auto !important;
  padding:8px 12px !important;
  gap:6px !important;
  background:rgba(5,10,25,.72) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

.room-rdv-emoji-btn{
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  padding:0 !important;
  font-size:15px !important;
  border-radius:10px !important;
}

#roomRdvModal .room-rdv-composer{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 82px !important;
  gap:10px !important;
  padding:12px !important;
  background:rgba(5,10,25,.82) !important;
}

#roomRdvInput{
  min-height:44px !important;
  max-height:90px !important;
  resize:none !important;
  overflow-y:auto !important;
  border-radius:14px !important;
  padding:11px 13px !important;
  font-size:14px !important;
  line-height:1.35 !important;
}

#roomRdvSend{
  min-width:82px !important;
  height:46px !important;
  border-radius:14px !important;
}


/* RDV - emojis forcés visibles */
.room-rdv-emoji-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  padding:8px 12px !important;
  background:rgba(5,10,25,.78) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

.room-rdv-emoji-btn{
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
  border-radius:10px !important;
  border:1px solid rgba(126,231,255,.25) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  font-size:16px !important;
  cursor:pointer !important;
}

.room-rdv-emoji-btn:hover{
  filter:brightness(1.25) !important;
  transform:translateY(-1px) !important;
}


/* RDV - header room avec image + vibe */
.rdv-room-head{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
}

.rdv-room-head-img{
  width:42px !important;
  height:42px !important;
  border-radius:12px !important;
  object-fit:cover !important;
  border:1px solid rgba(126,231,255,.32) !important;
  box-shadow:0 0 16px rgba(0,224,255,.16) !important;
  flex:0 0 auto !important;
}

.rdv-room-head-empty{
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.08) !important;
}

.rdv-room-head-text{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  line-height:1.1 !important;
}

.rdv-room-head-label{
  font-size:11px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:#7ee7ff !important;
  opacity:.85 !important;
}

.rdv-room-head-name{
  font-size:16px !important;
  font-weight:900 !important;
  color:#fff !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.rdv-room-vibe-btn{
  flex:0 0 auto !important;
  padding:8px 10px !important;
  border-radius:12px !important;
  font-size:12px !important;
}


/* RDV - header room avec image + vibe */
.rdv-room-head{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
}

.rdv-room-head-img{
  width:42px !important;
  height:42px !important;
  border-radius:12px !important;
  object-fit:cover !important;
  border:1px solid rgba(126,231,255,.32) !important;
  box-shadow:0 0 16px rgba(0,224,255,.16) !important;
  flex:0 0 auto !important;
}

.rdv-room-head-empty{
  display:grid !important;
  place-items:center !important;
  background:rgba(255,255,255,.08) !important;
}

.rdv-room-head-text{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  line-height:1.1 !important;
}

.rdv-room-head-label{
  font-size:11px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:#7ee7ff !important;
  opacity:.85 !important;
}

.rdv-room-head-name{
  font-size:16px !important;
  font-weight:900 !important;
  color:#fff !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.rdv-room-vibe-btn{
  flex:0 0 auto !important;
  padding:8px 10px !important;
  border-radius:12px !important;
  font-size:12px !important;
}


/* RDV - notification visuelle message/demande */
.room-rdv-tag.has-notice{
  position:relative !important;
  animation:rdvNoticePulse 1.15s infinite !important;
  border-color:rgba(255,215,80,.72) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 0 24px rgba(255,210,65,.42),
    0 10px 28px rgba(0,0,0,.42) !important;
}

.room-rdv-notice-badge{
  display:inline-grid !important;
  place-items:center !important;
  min-width:22px !important;
  height:22px !important;
  margin-left:8px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, #ff477e, #ffd34d) !important;
  color:#101426 !important;
  font-size:12px !important;
  font-weight:900 !important;
}

@keyframes rdvNoticePulse{
  0%,100%{ transform:translateY(0) scale(1); filter:brightness(1); }
  50%{ transform:translateY(-2px) scale(1.035); filter:brightness(1.25); }
}


/* RDV - tag d'ouverture toujours visible */
#roomRdvBar.room-rdv-bar{
  position:fixed !important;
  left:20px !important;
  bottom:20px !important;
  z-index:99999 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  max-width:520px !important;
}

#roomRdvBar[hidden]{
  display:none !important;
}

#roomRdvBar .room-rdv-tag{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  min-height:42px !important;
  padding:11px 16px !important;
  border-radius:18px !important;
  cursor:pointer !important;
}


/* RDV WINDOW LARGE */
.room-rdv-window{
  width:min(1350px,96vw) !important;
  max-width:1350px !important;
  min-height:760px !important;
}

/* RDV TOP TABS */
.room-rdv-top-tabs{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.room-rdv-top-tab{
  border:none;
  background:rgba(255,255,255,.05);
  color:#d7dcff;
  padding:10px 18px;
  border-radius:14px;
  cursor:pointer;
  font-weight:700;
  transition:.2s;
}

.room-rdv-top-tab.active{
  background:linear-gradient(135deg,#6f5bff,#8f7cff);
  color:#fff;
  box-shadow:0 0 18px rgba(111,91,255,.45);
}

/* ZONE GESTION */
.room-rdv-manage-panel{
  width:320px;
  min-width:320px;
  border-left:1px solid rgba(255,255,255,.08);
  padding-left:18px;
}

/* LAYOUT */
.room-rdv-main-layout{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.room-rdv-chat-side{
  flex:1;
  min-width:0;
}


/* =========================
   RDV PRO TABS UI
========================= */

.room-rdv-window{
  width:min(1380px,96vw) !important;
  max-width:1380px !important;
  min-height:780px !important;
}

.room-rdv-top-tabs{
  display:flex;
  align-items:center;
  gap:12px;
  margin:8px 0 18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.room-rdv-top-tab{
  border:none;
  background:rgba(255,255,255,.05);
  color:#d7dcff;
  padding:11px 18px;
  border-radius:14px;
  cursor:pointer;
  transition:.18s;
  font-weight:700;
  letter-spacing:.2px;
}

.room-rdv-top-tab:hover{
  background:rgba(255,255,255,.10);
  transform:translateY(-1px);
}

.room-rdv-top-tab.active{
  background:linear-gradient(135deg,#7e73ff,#45d0ff);
  color:white;
  box-shadow:0 6px 22px rgba(69,208,255,.22);
}

.room-rdv-discussion-panel{
  display:block;
}

.room-rdv-manage-panel{
  display:none;
}

.room-rdv-manage-panel.active{
  display:block;
}

.room-rdv-owner-badge{
  margin-left:auto;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,215,120,.12);
  color:#ffd978;
  font-size:.85rem;
  font-weight:700;
  border:1px solid rgba(255,215,120,.18);
}


/* =========================
   RDV GESTION FINAL UI
========================= */

#roomRdvModal.room-rdv-window{
  width:min(980px,95vw) !important;
  max-width:980px !important;
  min-height:760px !important;
}

#roomRdvModal .room-rdv-manage-panel{
  display:none;
  height:100%;
  min-height:520px;
  padding:18px !important;
  border:1px solid rgba(126,231,255,.18) !important;
  border-radius:18px !important;
  background:rgba(4,10,26,.62) !important;
}

#roomRdvModal .room-rdv-manage-panel.active,
#roomRdvModal .room-rdv-manage-panel[style*="block"]{
  display:block !important;
}

#roomRdvModal .room-rdv-manage-title{
  font-size:18px !important;
  font-weight:900 !important;
  color:#ffd978 !important;
  margin-bottom:14px !important;
}

#roomRdvModal .room-rdv-pending{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  max-height:520px !important;
  overflow:auto !important;
  padding-right:6px !important;
}

#roomRdvModal .room-rdv-pending-item{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  border:1px solid rgba(126,231,255,.20) !important;
  border-radius:18px !important;
  padding:16px 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  min-height:72px !important;
}

#roomRdvModal .room-rdv-pending-item:hover{
  border-color:rgba(126,231,255,.38) !important;
  transform:translateY(-1px);
}

#roomRdvModal .room-rdv-pending-item button{
  min-width:140px !important;
  min-height:42px !important;
  border-radius:14px !important;
  font-weight:800 !important;
}

#roomRdvModal .room-rdv-messages{
  min-height:360px !important;
}


/* RDV - gestion pleine largeur + scroll propre */
#roomRdvModal.room-rdv-window{
  width:min(980px,95vw) !important;
  height:720px !important;
  min-height:720px !important;
}

#roomRdvModal .room-rdv-manage-panel[style*="block"],
#roomRdvModal .room-rdv-manage-panel.active{
  display:block !important;
  width:100% !important;
  height:560px !important;
  max-height:560px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

#roomRdvModal .room-rdv-manage-panel .room-rdv-pending{
  width:100% !important;
  max-height:470px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:8px 10px 12px 0 !important;
  box-sizing:border-box !important;
}

#roomRdvModal .room-rdv-pending-item{
  width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
}

#roomRdvModal .room-rdv-pending-item span{
  display:block !important;
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  font-weight:800 !important;
}

#roomRdvModal .room-rdv-actions{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}

#roomRdvModal .room-rdv-pending::-webkit-scrollbar{
  width:8px !important;
}

#roomRdvModal .room-rdv-pending::-webkit-scrollbar-thumb{
  background:rgba(126,231,255,.38) !important;
  border-radius:999px !important;
}


/* RDV WINDOW LARGE */
.room-rdv-window{
  width:min(1350px,96vw) !important;
  max-width:1350px !important;
  min-height:760px !important;
}

/* RDV TOP TABS */
.room-rdv-top-tabs{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.room-rdv-top-tab{
  border:none;
  background:rgba(255,255,255,.05);
  color:#d7dcff;
  padding:10px 18px;
  border-radius:14px;
  cursor:pointer;
  font-weight:700;
  transition:.2s;
}

.room-rdv-top-tab.active{
  background:linear-gradient(135deg,#6f5bff,#8f7cff);
  color:#fff;
  box-shadow:0 0 18px rgba(111,91,255,.45);
}

/* ZONE GESTION */
.room-rdv-manage-panel{
  width:320px;
  min-width:320px;
  border-left:1px solid rgba(255,255,255,.08);
  padding-left:18px;
}

/* LAYOUT */
.room-rdv-main-layout{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.room-rdv-chat-side{
  flex:1;
  min-width:0;
}


/* RDV WINDOW LARGE */
.room-rdv-window{
  width:min(1350px,96vw) !important;
  max-width:1350px !important;
  min-height:760px !important;
}

/* RDV TOP TABS */
.room-rdv-top-tabs{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.room-rdv-top-tab{
  border:none;
  background:rgba(255,255,255,.05);
  color:#d7dcff;
  padding:10px 18px;
  border-radius:14px;
  cursor:pointer;
  font-weight:700;
  transition:.2s;
}

.room-rdv-top-tab.active{
  background:linear-gradient(135deg,#6f5bff,#8f7cff);
  color:#fff;
  box-shadow:0 0 18px rgba(111,91,255,.45);
}

/* ZONE GESTION */
.room-rdv-manage-panel{
  width:320px;
  min-width:320px;
  border-left:1px solid rgba(255,255,255,.08);
  padding-left:18px;
}

/* LAYOUT */
.room-rdv-main-layout{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.room-rdv-chat-side{
  flex:1;
  min-width:0;
}


/* RDV - tag quitter */
#roomRdvBar .room-rdv-tag-wrap{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}

#roomRdvBar .room-rdv-leave-tag{
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  background:rgba(255,70,120,.20) !important;
  color:#fff !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

#roomRdvBar .room-rdv-leave-tag:hover{
  background:rgba(255,70,120,.42) !important;
}


/* RDV WINDOW LARGE */
.room-rdv-window{
  width:min(1350px,96vw) !important;
  max-width:1350px !important;
  min-height:760px !important;
}

/* RDV TOP TABS */
.room-rdv-top-tabs{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.room-rdv-top-tab{
  border:none;
  background:rgba(255,255,255,.05);
  color:#d7dcff;
  padding:10px 18px;
  border-radius:14px;
  cursor:pointer;
  font-weight:700;
  transition:.2s;
}

.room-rdv-top-tab.active{
  background:linear-gradient(135deg,#6f5bff,#8f7cff);
  color:#fff;
  box-shadow:0 0 18px rgba(111,91,255,.45);
}

/* ZONE GESTION */
.room-rdv-manage-panel{
  width:320px;
  min-width:320px;
  border-left:1px solid rgba(255,255,255,.08);
  padding-left:18px;
}

/* LAYOUT */
.room-rdv-main-layout{
  display:flex;
  gap:18px;
  align-items:flex-start;
}

.room-rdv-chat-side{
  flex:1;
  min-width:0;
}


/* RDV - rendre la croix vraiment cliquable */
#roomRdvBar .room-rdv-tag-wrap{
  position:relative !important;
  pointer-events:auto !important;
}

#roomRdvBar .room-rdv-leave-tag{
  position:relative !important;
  z-index:999999 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}

#roomRdvBar .room-rdv-tag{
  pointer-events:auto !important;
}


/* Galerie rooms ouvertes — carte pro */
.open-room-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:18px;
}

.open-room-cover{
  width:92px;
  height:92px;
  flex:0 0 92px;
  border-radius:16px;
  overflow:hidden;
}

.open-room-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.open-room-body{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.open-room-body h4{
  margin:0;
  font-size:18px;
  line-height:1.1;
}

.open-room-body p{
  margin:0;
  opacity:.85;
  font-size:13px;
}

.open-room-label{
  align-self:flex-start;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
}

.open-room-actions{
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:6px;
}

.open-room-actions .open-room-view,
.open-room-actions .open-room-vibe{
  flex:1;
  min-height:36px;
  border-radius:12px;
  font-weight:700;
}

.open-room-actions .open-room-vibe{
  flex:0 0 auto;
  padding-inline:14px;
}

/* Profil public room — barre Vibe + notation */
.room-view-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 10px;
}

.room-view-toolbar .room-view-vibe{
  min-height:36px;
  padding:0 16px;
  border-radius:14px;
  font-weight:800;
}

.room-view-rating-placeholder{
  padding:8px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  letter-spacing:2px;
  font-weight:800;
  opacity:.9;
}

/* Room rating — étoiles */
.room-view-rating{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.room-rating-stars{
  display:flex;
  gap:3px;
}

.room-rating-star{
  border:0;
  background:transparent;
  color:#ffd86b;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  padding:2px;
  filter:drop-shadow(0 0 6px rgba(255,216,107,.35));
}

.room-rating-star:hover{
  transform:scale(1.12);
}

.room-rating-score{
  font-size:13px;
  opacity:.9;
  font-weight:700;
}

/* Galerie live 3DXChat — note room */
.open-room-rating{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,216,107,.10);
  border:1px solid rgba(255,216,107,.25);
  color:#ffe08a;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}

/* Galerie live 3DXChat — carte style Room en Balade */
.open-room-card{
  position:relative !important;
  display:grid !important;
  grid-template-columns:118px 1fr !important;
  gap:14px !important;
  align-items:center !important;
  min-height:172px !important;
  padding:14px 18px !important;
  border-radius:26px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(34,211,238,.22), transparent 28%),
    radial-gradient(circle at 90% 75%, rgba(236,72,153,.32), transparent 34%),
    linear-gradient(135deg, rgba(12,23,48,.98), rgba(69,27,89,.94)) !important;
  border:1px solid rgba(125,211,252,.32) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.34) !important;
}

.open-room-card::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:21px;
  border:1px solid rgba(255,255,255,.06);
  pointer-events:none;
}

.open-room-cover{
  width:108px !important;
  height:108px !important;
  border-radius:22px !important;
  padding:4px !important;
  background:linear-gradient(135deg, rgba(34,211,238,.75), rgba(236,72,153,.55), rgba(250,204,21,.38)) !important;
  overflow:hidden !important;
  box-shadow:0 16px 34px rgba(0,0,0,.45), 0 0 24px rgba(34,211,238,.15) !important;
}

.open-room-cover img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:18px !important;
  display:block !important;
}

.open-room-body{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
}

.open-room-label{
  width:max-content !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  background:rgba(34,197,94,.18) !important;
  border:1px solid rgba(34,197,94,.40) !important;
  color:#bbf7d0 !important;
  font-weight:900 !important;
  font-size:11px !important;
}

.open-room-body h4{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.08 !important;
  color:#fff !important;
  text-shadow:0 0 12px rgba(217,70,239,.32), 0 0 20px rgba(34,211,238,.16) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.open-room-body p{
  margin:0 !important;
  font-size:12px !important;
  color:rgba(255,255,255,.76) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.open-room-actions{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:10px !important;
  align-items:center !important;
  margin-top:4px !important;
}

.open-room-actions .soft{
  min-height:34px !important;
  border-radius:14px !important;
  font-weight:900 !important;
}

/* PUBLIER TA ROOM — modal premium neon */
#roomPublishModal{
  width:min(94vw,1120px) !important;
  max-width:1120px !important;
  max-height:88vh !important;
  overflow:auto !important;
  border-radius:30px !important;
  padding:26px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(34,211,238,.14), transparent 32%),
    radial-gradient(circle at 92% 10%, rgba(217,70,239,.17), transparent 35%),
    linear-gradient(135deg, rgba(5,12,28,.98), rgba(8,13,35,.98)) !important;
  border:1px solid rgba(217,70,239,.34) !important;
  box-shadow:
    0 0 34px rgba(34,211,238,.14),
    0 0 46px rgba(217,70,239,.14),
    0 28px 90px rgba(0,0,0,.62) !important;
}

#roomPublishModal .modal-head{
  padding-bottom:18px !important;
  margin-bottom:22px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

#roomPublishModal .modal-head h3{
  font-size:32px !important;
  color:#fff !important;
  text-shadow:0 0 18px rgba(125,211,252,.24) !important;
}

#roomPublishModal .close-modal{
  width:46px !important;
  height:46px !important;
  border-radius:16px !important;
  border:1px solid rgba(217,70,239,.45) !important;
  background:rgba(15,23,42,.78) !important;
  color:#fff !important;
  font-size:28px !important;
}

#roomPublishModal .room-modal-box{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px 20px !important;
}

#roomPublishModal .room-modal-box label,
#roomPublishModal .room-suno-box,
#roomPublishModal .room-image-row,
#roomPublishModal .room-open-toggle{
  padding:14px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(125,211,252,.10) !important;
  font-weight:900 !important;
  color:#dbeafe !important;
}

#roomPublishModal .room-modal-box input,
#roomPublishModal .room-modal-box textarea,
#roomPublishModal .room-modal-box select{
  width:100% !important;
  margin-top:8px !important;
  min-height:48px !important;
  border-radius:16px !important;
  border:1px solid rgba(125,211,252,.18) !important;
  background:rgba(2,8,23,.72) !important;
  color:#fff !important;
  padding:12px 14px !important;
  font-size:15px !important;
}

#roomPublishModal .room-modal-box textarea{
  min-height:130px !important;
  line-height:1.45 !important;
  resize:vertical !important;
}

#roomPublishModal label:has(#roomDescInput),
#roomPublishModal .room-image-row,
#roomPublishModal .room-suno-box,
#roomPublishModal .room-open-toggle,
#roomPublishModal .room-actions-line,
#roomPublishStatus{
  grid-column:1 / -1 !important;
}

#roomPublishModal .room-image-row{
  display:grid !important;
  grid-template-columns:1fr 260px !important;
  gap:18px !important;
  align-items:center !important;
}

#roomImagePreview{
  width:100% !important;
  max-height:220px !important;
  object-fit:cover !important;
  border-radius:24px !important;
  border:2px solid rgba(34,211,238,.28) !important;
  box-shadow:
    0 0 28px rgba(34,211,238,.16),
    0 14px 32px rgba(0,0,0,.42) !important;
}

#roomPublishModal input[type="file"]{
  padding:10px !important;
  border-style:dashed !important;
}

#roomPublishModal .room-suno-box{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

#roomPublishModal #roomSunoStatus{
  grid-column:1 / -1 !important;
  font-size:13px !important;
  opacity:.75 !important;
}

#roomPublishModal .room-open-toggle{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  justify-content:center !important;
  font-size:15px !important;
}

#roomPublishModal .room-open-toggle input{
  width:18px !important;
  height:18px !important;
  min-height:18px !important;
  accent-color:#d946ef !important;
}

#roomPublishModal .room-actions-line{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  margin-top:10px !important;
}

#roomPublishModal .room-actions-line button{
  min-height:58px !important;
  border-radius:20px !important;
  font-size:16px !important;
  font-weight:900 !important;
}

#roomPublishModal #saveRoomPublishBtn{
  background:linear-gradient(135deg,#d946ef,#2563eb) !important;
  box-shadow:
    0 0 26px rgba(217,70,239,.28),
    0 14px 32px rgba(37,99,235,.22) !important;
}

#roomPublishModal #deleteRoomPublishBtn{
  background:rgba(127,29,29,.40) !important;
  border:1px solid rgba(248,113,113,.34) !important;
  color:#fecaca !important;
}

@media(max-width:900px){
  #roomPublishModal .room-modal-box,
  #roomPublishModal .room-image-row,
  #roomPublishModal .room-suno-box,
  #roomPublishModal .room-actions-line{
    grid-template-columns:1fr !important;
  }
}
