@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;700&family=Caveat:wght@400;700&display=swap');

	/* ================== Variables ================== */
	:root {
		--cc-gray-50: #f9fafb;
		--cc-gray-100: #f3f4f6;
		--cc-gray-200: #e5e7eb;
		--cc-gray-300: #d1d5db;
		--cc-gray-400: #9ca3af;
		--cc-gray-500: #6b7280;
		--cc-gray-600: #4b5563;
		--cc-gray-700: #374151;
		--cc-gray-800: #1f2937;
		--cc-gray-900: #111827;
		--cc-blue: #1c4876;
		--cc-blue-dark: #153a5f;
	}

	/* ================== Fond global ================== */
	body,
	.site.wp-site-blocks,
	.kb-row-layout-wrap {
		background: var(--cc-gray-50) !important;
		font-size: 15px;
	}
	.site-header {
		display: none !important;
	}

	/* ================== Mise en page globale ================== */
	.cc-dashboard {
		display: flex;
		flex-direction: row;
		gap: 0;
		margin: 0;
		font-family: 'Montserrat', sans-serif;
		font-weight: 400;
		color: var(--cc-gray-900);
		background: var(--cc-gray-50);
		padding: 0;
		box-sizing: border-box;
		min-height: 100vh;
	}

	/* ================== Sidebar gauche ================== */
	.cc-dashboard-left {
		flex: 0 0 325px;
		max-width: 325px;
		min-width: 325px;
		display: flex;
		flex-direction: column;
		position: sticky;
		top: 0;
		align-self: flex-start;
		height: 100dvh;
		min-height: 100dvh;
		max-height: 100dvh;
		background: white;
		box-shadow: 2px 0 15px 0 rgba(0,0,0,0.06);
		z-index: 1;
		overflow: hidden;
		box-sizing: border-box;
	}

	/* ================== Logo ================== */
	.cc-nav-logo {
		padding: 30px 20px;
		flex-shrink: 0;
	}

	.cc-nav-logo img {
		max-width: 200px;
		width: 100%;
		height: auto;
	}

	/* ================== Navigation ================== */
	.cc-tabs-nav {
	    flex: 1;
	    flex-direction: column;
	    padding: 0px 10px !important;
	    list-style: none;
	    margin: 0 !important;
	    border: none;
	    display: flex;
	    justify-content: flex-start;
	    overflow-y: auto;
	    gap: 4px;
	}
	.cc-tabs-nav li {
	    cursor: pointer;
	    padding: 12px 15px;
	    background: transparent;
	    border-radius: 6px;
	    color: var(--cc-gray-700);
	    font-size: 15px;
	    font-weight: 500;
	    transition: all 0.2s ease;
	    display: flex;
	    align-items: center;
	    gap: 10px;
	    border: none;
	    line-height: 1;
	    margin: 0;
	}
	.cc-tabs-nav li.active {
		background: var(--cc-gray-100);
		color: var(--cc-gray-900);
		font-weight: 600;
		border-right: none;
	}
	.cc-tabs-nav li:not(.cc-nav-header):hover {
		background: var(--cc-gray-100);
		color: var(--cc-gray-900);
	}
	.cc-nav-icon {
	    width: 18px;
	    height: 18px;
	    opacity: 0.65;
	    flex-shrink: 0;
	    stroke: currentColor;
	    stroke-width: 2;
	    stroke-linecap: round;
	    stroke-linejoin: round;
	    fill: none;
	}

	/* ================== Bas de sidebar (avatar + déco) ================== */
	.cc-nav-footer {
		margin-top: auto;
		padding: 15px 20px;
		border-top: 1px solid var(--cc-gray-200);
		flex-shrink: 0;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.cc-nav-user {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 8px 10px;
		border-radius: 6px;
		cursor: default;
	}
	.cc-nav-avatar {
	    width: 34px;
	    height: 34px;
	    border-radius: 50%;
	    object-fit: cover;
	    border: none;
	    overflow: hidden;
	    flex-shrink: 0;
	}
	.cc-nav-name {
	    font-weight: 500;
	    font-size: 15px;
	    color: var(--cc-gray-900);
	    white-space: nowrap;
	    overflow: hidden;
	    text-overflow: ellipsis;
	    margin: 0;
	    padding: 0;
	}

	/* ================== Contenu principal (droite) ================== */
	.cc-tab {
		display: none;
		flex: 1;
		padding: 0;
	}
	.cc-tab.active {
		display: block;
	}
	.cc-inner {
		max-width: 900px;
		margin: 0 auto;
		padding: 60px 40px;
	}

	/* ================== Typographie ================== */
	.cc-tab .cc-inner h3 {
	    color: var(--cc-gray-900);
	    font-size: 24px !important;
	    font-weight: 700;
	    margin-bottom: 8px;
	    line-height: 1.2;
	}
	#tab-accueil .cc-inner h3 {
	    font-size: 3.5rem !important;
	    margin-bottom: 2rem !important;
	}
	.cc-tab .cc-inner h4 {
		color: var(--cc-gray-800);
		font-weight: 600;
		margin-bottom: 0.75rem;
	}
	.cc-tab .cc-inner p {
		color: var(--cc-gray-700);
		font-size: 16px;
		line-height: 1.6;
		margin-bottom: 1.5rem;
	}
	.cc-tab .cc-inner label {
		display: block;
		color: var(--cc-gray-700);
		font-weight: 400;
		margin-bottom: 0.5rem;
		font-size: 16px;
	}
	
	.cc-tab .cc-inner hr {
		border: none;
		border-top: 1px solid var(--cc-gray-200);
		margin: 1.5rem 0;
	}
	
	/* =================== Effet à la craie ==================== */
	
	#tab-accueil .cc-inner h3{
	  font-family: 'Caveat', cursive;
	  font-size: 3.5rem;
	  letter-spacing: 1px;
	  text-shadow: none;
	  color: var(--cc-gray-900);
	}

	/* ================== Formulaire : Account / Profile ================== */
	#cc-account-form input[type="text"],
	#cc-account-form input[type="email"],
	#cc-account-form input[type="password"],
	#cc-profile-form input[type="text"],
	#cc-profile-form textarea,
	#cc-account-form select,
	#cc-profile-form select{
	  width:100%;
	  max-width:100%;
	  background: #ffffff !important;
	  color: #111827 !important;
	  border: 1px solid #d1d5db !important;
	  border-radius: 6px !important;
	  padding: 10px 12px;
	  font-size: 15px;
	}

	#cc-profile-form p{ margin-bottom:1.2rem; }
	#cc-profile-form strong{ display:block; margin:1.6rem 0 .5rem; }

	.cc-two-cols,
	.cc-profile-two-cols{
	  display:flex;
	  flex-wrap:wrap;
	  gap:1rem;
	}
	.cc-two-cols .cc-field,
	.cc-profile-two-cols .cc-field{
	  flex:1 1 0;
	  min-width:200px;
	}

	.cc-group{ margin-bottom:1.5rem; }
	
	#cc-account-form button[type="submit"],
	#cc-profile-form button[type="submit"]{
	  background: rgb(43, 108, 176) !important;
	  color: #ffffff !important;
	  border: none !important;
	  border-radius: 6px !important;
	  font-weight: 600 !important;
	  font-size: 15px !important;
	  padding: 10px 20px !important;
	  transition: background .2s ease;
	  display: inline-block !important;
	  margin: 0 !important;
	}
	#cc-account-form button[type="submit"]:hover,
	#cc-profile-form button[type="submit"]:hover{
	  background: #153a5f !important;
	}
	
	#tab-profil input[type="file"]{
	  color: var(--cc-gray-600);
	}
	#tab-profil input[type="file"]::file-selector-button{
	  background: white;
	  border: 1px solid var(--cc-gray-300);
	  color: var(--cc-gray-700);
	  padding: 6px 12px;
	  border-radius: 6px;
	  cursor: pointer;
	  font-weight: 500;
	  margin-right: 0.75rem;
	  transition: all 0.2s ease;
	}

	/* ================== État désactivé ================== */
	.cc-disabled input,
	.cc-disabled textarea,
	.cc-disabled select{
	  opacity:.4;
	  cursor:not-allowed;
	}
	.cc-disabled .cc-zone-remove{
	  pointer-events: none;
	  opacity: .4;
	  cursor: not-allowed !important;
	}
	.cc-disabled .zone-cb{
	  pointer-events: none;
	  cursor: not-allowed !important;
	}
	.cc-disabled label,
	.cc-disabled .unit{ opacity:.45; }
	/* label lisible même désactivé */
	.cc-disabled label{ opacity:1; color:#999; }
	/* exceptions lisibles */
	.cc-disabled #cc-pres-note,
	.cc-disabled #cc-pres-note *{
	  opacity:1 !important;
	  color:#1d2327 !important;
	}

	/* ================== Vignettes images + liens danger ================== */
	.cc-thumb{
	  margin:.5rem 0 .8rem;
	  display:flex;
	  flex-direction:column;
	  align-items:flex-start;
	  gap:.35rem;
	}
	.cc-thumb img{ border:1px solid #ddd; border-radius:6px; }

	.cc-remove-image-link{
	  display:inline-block;
	  margin:0;
	  color:#d63638;            /* rouge WP */
	  text-decoration:none;
	  font-size:.9rem;
	  cursor:pointer;
	}
	.cc-remove-image-link:hover{
	  color:#b32d2e;            /* rouge un peu plus foncé */
	  text-decoration:underline;
	}
	.cc-danger-link{
	  text-decoration:none; cursor:pointer;
	}
	.cc-danger-link{ color:#d63638; }
	.cc-danger-link:hover{ color:#b32d2e; text-decoration:underline; }

	#cc-visibility-account .cc-visibility-note{
	  display:block; color:var(--cc-gray-500); font-size:.85rem; line-height:1.35; margin:.25rem 0 1rem;
	}
	#cc-visibility-account .cc-delete-row{ margin:.75rem 0 0; }

	/* ================== Lien type "texte" ================== */
	.as-link,
	#tab-offres #cc-btn-add-pack.as-link,
	#tab-offres #cc-btn-add-offer.as-link{
	  background:none !important;
	  border:none !important;
	  box-shadow:none !important;
	  color:#1c4876 !important;
	  font-weight:400;
	  text-decoration:underline;
	  line-height:1;
	  padding:0 !important;
	  margin:0 !important;
	  cursor:pointer;
	}
	.as-link:hover,
	#tab-offres #cc-btn-add-pack.as-link:hover,
	#tab-offres #cc-btn-add-offer.as-link:hover{ color:#153a5f !important; }
	
	/* État désactivé UNIQUEMENT pour “+ Créer une nouvelle offre” */
	#tab-offres #cc-btn-add-offer.as-link[disabled],
	#tab-offres #cc-btn-add-offer.as-link.disabled {
	  pointer-events: none;
	  cursor: not-allowed !important;   /* plus de petite main */
	  color: #94a3b8 !important;        /* grisé */
	  text-decoration: none !important; /* pas de soulignement */
	}
	/* Et même au survol, on ne souligne pas */
	#tab-offres #cc-btn-add-offer.as-link[disabled]:hover,
	#tab-offres #cc-btn-add-offer.as-link.disabled:hover {
	  text-decoration: none !important;
	}

	.as-link-gray,
	#cc-status-custom-list .remove-custom,
	#cc-diplomas-list .cc-diploma-remove{
	  background:none !important;
	  border:none !important;
	  box-shadow:none !important;
	  color:#94a3b8 !important;
	  font-weight:700;
	  text-decoration:none;
	  padding:0 !important;
	  margin:0 !important;
	  cursor:pointer;
	}
	.as-link-gray:hover,
	#cc-status-custom-list .remove-custom:hover,
	#cc-diplomas-list .cc-diploma-remove:hover{ color:#64748b !important; }

	/* ================== Onglet Mes offres : listes ================== */
	#tab-offres .offers-actions{ margin:1.5rem 0; text-align:center; }
	#tab-offres .offers-list{
	  margin:.75rem auto 0;
	  max-width:760px;
	  display:grid; gap:10px;
	}
	#tab-offres .offers-list.empty{ text-align:center; color:#64748b; }

	/* Cartes d’offre */
	#tab-offres .offer-card{
	  position:relative;
	  display:flex; flex-wrap:wrap;
	  justify-content:space-between; align-items:flex-start; gap:.75rem;
	  border:1px solid #e5e7eb;
	  border-radius:8px;
	  padding:20px;
	  background: #ffffff;
	  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
	  color: #374151;
	  transition: box-shadow 0.2s ease;
	}
	#tab-offres .offer-card:hover{
	  box-shadow: 0 4px 6px rgba(0,0,0,0.07);
	}
	#tab-offres .offer-meta{
	  flex:1 1 auto; min-width:0; min-width:200px;
	  font-size:.95rem; text-align:left;
	  color: #4b5563;
	}
	#tab-offres .offer-meta strong{ color: #111827; }
	#tab-offres .offer-meta small{ color: #6b7280; }
	#tab-offres .offer-meta ul{ margin:.25rem 0 0; padding-left:0; }
	#tab-offres .offer-meta li{ list-style:none; word-break:break-word; }

	#tab-offres .offer-bullets{ margin:.35rem 0 0; padding:0; }
	#tab-offres .offer-bullets li,
	#tab-offres .custom-bullets li{
	  list-style:none; display:flex; align-items:flex-start; gap:.5rem;
	  line-height:1.35; word-break:break-word; margin:.2rem 0; padding:0;
	}
	/* coche verte fine */
	#tab-offres .offer-bullets li::before,
	#tab-offres .custom-bullets li::before{
	  content:""; display:inline-block; width:14px; height:14px; flex:0 0 auto;
	  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2322c55e'><path d='M6.173 13.414L1.757 9l1.414-1.414L6.173 10.586l6.657-6.657 1.414 1.414z'/></svg>") no-repeat center / contain;
	  margin-top:3px;
	}

	#tab-offres .offer-actions{
	  display:flex; gap:.5rem; flex-wrap:wrap; justify-content:flex-end;
	  min-width:max-content;
	}
	#tab-offres .offer-actions button{ white-space:nowrap; min-height:36px; padding:6px 10px; }
	
	#tab-offres .offer-actions button{
	  background: #ffffff !important;
	  color: #374151 !important;
	  border: 1px solid #d1d5db !important;
	  border-radius: 6px;
	  font-weight: 500;
	  transition: all .2s ease;
	}
	#tab-offres .offer-actions button:hover{
	  background: #f9fafb !important;
	  border-color: #9ca3af !important;
	}

	/* Badge pack */
	#tab-offres .offer-badge-pack{
	  position:absolute; right:10px; bottom:8px;
	  top:auto;
	  font-size:.75rem; font-weight:700;
	  background: #e0f2fe;
	  color: #0369a1;
	  border: 1px solid #bae6fd;
	  padding:2px 8px; border-radius:999px; white-space:nowrap;
	  pointer-events:none;
	}

	/* Mobile cartes/offres */
	@media (max-width:600px){
	  #tab-offres .offer-card{ flex-direction:column; align-items:stretch; padding-bottom:12px; }
	  #tab-offres .offer-actions{ justify-content:center; width:100%; margin-top:.5rem; }
	  #tab-offres .offer-actions button{ width:100%; min-height:44px; }
	  #tab-offres .offer-badge-pack{ position:static; align-self:flex-start; margin-top:.5rem; z-index:1; }
	  #tab-offres .offer-card{ padding:10px; }
	}
	@media (max-width:360px){
	  #tab-offres .offer-actions{ flex-direction:column; }
	}

	#tab-offres .offer-actions .cc-offer-btn-edit {
	    background: rgb(43,108,176) !important;
	    color: #fff !important;
	    border: 1px solid transparent !important;
	    font-weight: 600 !important;
	}
	#tab-offres .offer-actions .cc-offer-btn-delete {
	    background: #ffffff !important;
	    color: #475569 !important;
	    border: 1px solid #cbd5e1 !important;
	    font-weight: 300 !important;
	}
	#tab-offres .offer-actions .cc-offer-btn-edit:hover {
	    background: rgb(35,90,150) !important;
	    color: #fff !important;
	    border: 1px solid transparent !important;
	}
	#tab-offres .offer-actions .cc-offer-btn-delete:hover {
	    background: #f1f5f9 !important;
	    color: #475569 !important;
	    border: 1px solid #94a3b8 !important;
	}
	
	#cc-btn-save-all-offers{
	  background: rgb(43, 108, 176) !important;
	  color: #fff !important;
	  border: none !important;
	  border-radius: 6px;
	  font-weight: 600;
	  transition: background .2s ease;
	}
	#cc-btn-save-all-offers:hover{
	  background: #135e96 !important;
	}

	/* ================== Éditeur d’offre ================== */
	#tab-offres .offer-editor{ margin:.75rem auto 0; max-width:700px; }
	#tab-offres .offer-editor-inner{
	  border:1px solid #e5e7eb;
	  border-radius:8px;
	  background: #ffffff;
	  box-shadow: 0 4px 20px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.05);
	  display:grid; grid-template-columns:minmax(0,520px);
	  justify-content:center; row-gap:14px; padding:1.5rem; text-align:left;
	}
	#tab-offres .offer-editor-inner > *{
	  width:100%; max-width:520px; margin-left:auto; margin-right:auto; min-width:0;
	}
	#tab-offres .offer-editor-inner h4{ justify-self:center; text-align:center; margin:0 0 .5rem; color: #111827; font-weight: 700; }
	#tab-offres .offer-editor .offer-editor-actions{
	  display:flex; gap:.5rem; justify-content:center; margin-top:1rem;
	}

	/* Bouton principal (Enregistrer) */
	#tab-offres .offer-editor-actions #cc-btn-save-offer{
	  background: rgb(43, 108, 176);
	  color: #fff;
	  border: none;
	  font-weight: 600;
	  font-family: 'Montserrat', sans-serif;
	  border-radius: 6px;
	  transition: background .2s ease;
	}
	#tab-offres .offer-editor-actions #cc-btn-save-offer:hover{
	  background: #135e96;
	}
	#tab-offres .offer-editor-actions #cc-btn-cancel-offer{
	  background: #ffffff;
	  color: #374151;
	  border: 1px solid #d1d5db !important;
	  font-weight: 400;
	  font-family: 'Montserrat', sans-serif;
	  border-radius: 6px;
	  transition: all .2s ease;
	}
	#tab-offres .offer-editor-actions #cc-btn-cancel-offer:hover{
	  background: #f9fafb;
	  border-color: #9ca3af !important;
	}

	/* Boutons pack override */
	#tab-offres .pack-override-actions #pack-save{
	  background: rgb(43, 108, 176) !important;
	  color: #fff !important;
	  border: none !important;
	  font-weight: 600 !important;
	  font-size: 15px !important;
	  line-height: 24px !important;
	  font-family: 'Montserrat', sans-serif;
	  border-radius: 6px !important;
	  padding: 10px 20px !important;
	  transition: background .2s ease;
	}
	#tab-offres .pack-override-actions #pack-save:hover{
	  background: #135e96;
	}
	#tab-offres .pack-override-actions #pack-cancel{
	  background: #ffffff;
	  color: #374151;
	  border: 1px solid #d1d5db !important;
	  font-weight: 600;
	  font-size: 15px;
	  font-family: 'Montserrat', sans-serif;
	  border-radius: 6px;
	  padding: 10px 20px;
	  transition: all .2s ease;
	}
	#tab-offres .pack-override-actions #pack-cancel:hover{
	  background: #f9fafb;
	  border-color: #9ca3af !important;
	}
	#tab-offres .offer-editor-inner > label{
	  font-weight:500; margin:10px 0 0px;
	  color: #374151;
	}
	#tab-offres #cc-offer-editor:not([hidden]) ~ .offers-actions{ display:none !important; }
	#tab-offres .offer-sep{ height:1px; background:#e5e7eb; border:0; margin:12px 0 10px; }
	#tab-offres #cc-offer-editor:not([hidden]) ~ h3{ display:none !important; }
	#tab-offres #cc-offer-editor:not([hidden]) ~ hr{ display:none !important; }
	#tab-offres #cc-offer-editor:not([hidden]) ~ #cc-upload-wrap{ display:none !important; }
	
	#tab-offres .offer-monthly-sessions{
	  max-width:520px;
	}
	#tab-offres #cc-fld-monthly-sessions{
	  width:100%;
	  height:44px;
	}
	
	#cc-fld-offer-price {
	  width: 100%;
	  height: 44px;   /* comme les autres */
	  box-sizing: border-box;
	}
	
	#cc-fld-offer-price {
	  margin-bottom: 8px; /* ou 0 si tu veux coller au champ suivant */
	}

	/* ================== Options / Custom options ================== */
	#tab-offres .offer-options,
	#tab-offres .offer-custom-options{ margin-top:14px; }
	#tab-offres .offer-options > label:first-child,
	#tab-offres .offer-custom-options > label:first-child{
	  font-weight:400; display:block; margin-bottom:10px;
	}
	#tab-offres .pack-override-wrap .offer-custom-options > label:first-child{ margin-bottom:8px; }

	#tab-offres .options-grid{
	  display:grid; gap:8px;
	  grid-template-columns:minmax(260px,520px);
	  justify-content:center;
	}
	#tab-offres .options-grid > label{ display:flex; align-items:center; gap:.5rem; padding:.35rem 0; }

	#tab-offres .offer-custom-options .custom-add{
	  display:flex; gap:.5rem; justify-content:center;
	  margin:.25rem 0 20px;
	}
	#tab-offres .offer-custom-options .custom-add input{ flex:1; max-width:420px; }
	#tab-offres .offer-custom-options .custom-tags{ margin-top:20px; }
	#tab-offres .custom-bullets{ margin-top:6px; padding-left:0; }

	@media (max-width:860px){
	  #tab-offres .offer-custom-options .custom-add{ flex-direction:column; align-items:stretch; }
	  #cc-btn-add-custom-option{ align-self:flex-start; }
	}

	/* ================== Packs ================== */
	#tab-offres #cc-packs-section{ margin:14px 0 .35rem; }
	#cc-packs-section > label{ font-weight:700; display:block; margin-bottom:.25rem; }
	#cc-packs-section > small{ display:block; margin-top:.15rem; color:#64748b; line-height:1.35; }

	#tab-offres .offer-packs{ margin-top:.35rem; }
	#tab-offres .packs-list{ display:grid; gap:8px; margin:.65rem 0 .35rem; }
	#tab-offres .packs-list.empty{ color:#64748b; }

	#tab-offres .pack-item{
	  display:grid; grid-template-columns:1fr max-content; gap:.75rem; align-items:center;
	  border:1px solid #cbd5e1; border-radius:8px; padding:8px 10px;
	}
	#tab-offres .pack-meta{ font-size:.95rem; }
	#tab-offres .pack-actions{ display:flex; gap:.5rem; }
	#tab-offres .pack-actions button{ min-height:32px; padding:4px 10px; white-space:nowrap; }
	#tab-offres .pack-actions button{
	  background: transparent !important;
	  color: #fff !important;
	  border: 1px solid rgba(255,255,255,0.25) !important;
	  border-radius: 8px;
	  font-weight: 400;
	  transition: all .2s ease;
	}
	#tab-offres .pack-actions button:hover{
	  background: rgba(255,255,255,0.08) !important;
	  border-color: rgba(255,255,255,0.5) !important;
	}
	
	@media (max-width:600px){
	  #tab-offres .pack-item{ grid-template-columns:1fr; }
	  #tab-offres .pack-actions{ justify-self:start; }
	}

	/* Ligne d’ajout de pack */
	#tab-offres .pack-add-row{
	  display:grid;
	  grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content;
	  grid-template-rows:auto 44px;
	  column-gap:.75rem; row-gap:.25rem; align-items:end;
	  margin-top: 1rem;
	  grid-template-areas:
		"qtyLabel   priceLabel   ."
		"qtyInput   priceInput   add";
	}
	#tab-offres .pack-add-row .pack-field{ display:contents; }
	#tab-offres .pack-add-row .pack-field:nth-of-type(1) label{ grid-area:qtyLabel; font-weight:400; margin:0 0 4px 0; color:#dde6ff; }
	#tab-offres .pack-add-row .pack-field:nth-of-type(1) input,
	#tab-offres .pack-add-row .pack-field:nth-of-type(1) select{ grid-area:qtyInput; height:44px; margin:0; width:100%; min-width:0; }
	#tab-offres .pack-add-row .pack-field:nth-of-type(2) label{ grid-area:priceLabel; font-weight:400; margin:0 0 4px 0; color:#dde6ff; }
	#tab-offres .pack-add-row .pack-field:nth-of-type(2) input,
	#tab-offres .pack-add-row .pack-field:nth-of-type(2) select{ grid-area:priceInput; height:44px; margin:0; width:100%; min-width:0; }

	#tab-offres #cc-btn-add-pack.as-link{
	  grid-area:add;
	  align-self:center;
	  justify-self:start;
	  margin:0;
	}
	#tab-offres #cc-btn-add-pack.as-link.disabled,
	#tab-offres #cc-btn-add-pack.as-link[disabled]{
	  pointer-events:none; color:#94a3b8 !important;
	}

	@media (max-width:860px){
	  #tab-offres .pack-add-row{
		grid-template-columns:1fr;
		grid-template-rows:auto auto auto auto auto;
		grid-template-areas:"qtyLabel" "qtyInput" "priceLabel" "priceInput" "add";
	  }
	  #tab-offres #cc-btn-add-pack.as-link{
		justify-self: start;
		margin-top: 4px;
		text-align: left;
	  }
	}
	
	/* ▼▼ Mise en forme propre du sous-formulaire de personnalisation de pack
   — N'affecte PAS les labels des cases à cocher */
	
	/* ====== Pack override — champs "Nom du pack" + "Nombre de séances incluses" ====== */
	#tab-offres .cc-packname-row,
	#tab-offres .cc-pack-sessions-row{
	  max-width:520px;         /* même largeur que le reste de l’éditeur */
	  width:100%;
	}

	/* Labels en gras, sur leur propre ligne, avec très peu d'espace au champ */
	#tab-offres .cc-packname-row > label,
	#tab-offres .cc-pack-sessions-row > label{
	  display:block;
	  font-weight:700;
	  margin:0 0 4px;          /* petit espace seulement */
	}

	/* Les inputs prennent toute la largeur disponible */
	#tab-offres #cc-pack-name,
	#tab-offres #cc-pack-included-sessions{
	  display:block;
	  width:100%;
	  max-width:100%;
	  height:44px;             /* hauteur homogène avec le reste du UI */
	  box-sizing:border-box;
	  margin:0;                /* pas d’espace vertical superflu */
	}

	/* On masque la petite légende “Proposé …” sous le champ des séances incluses (pack) */
	#tab-offres #cc-pack-sessions-hint{
	  display:none !important;
	}
	
	/* Petit espace sous le champ "Nom du pack" avant le label suivant */
	#tab-offres #cc-pack-name{
	  margin-bottom: 8px; /* ajuste à 6px si tu veux encore plus serré */
	}
	
	#tab-offres .pack-override-wrap > label{
	  display:block;        /* force la ligne seule pour les deux titres de selects */
	  font-weight:700;      /* titres en gras */
	  margin:14px 0 6px;    /* rythme vertical */
	}
	#tab-offres .pack-override-wrap > select{
	  display:block;
	  width:100%;
	  max-width:520px;
	  height:44px;
	}

	/* Le toggle au-dessus (ligne avec la checkbox “Personnaliser…”) */
	#tab-offres .pack-override-toggle label{
	  display:flex; align-items:center; gap:.5rem;
	  font-weight:600;
	  margin:8px 0 0;
	}

	/* IMPORTANT : ne pas toucher aux labels internes de l’options-grid */
	#tab-offres .pack-override-wrap .options-grid > label{
	  font-weight:400 !important;
	  margin:0;
	  padding:.35rem 0;
	  color: #374151 !important;
	}
	
	/* Encadré pointillé autour de la personnalisation pack */
	#tab-offres .pack-override-wrap{
	  border: 1px solid #e5e7eb;
	  border-radius: 8px;
	  padding: 12px 14px 16px;
	  margin-top: 10px;
	  background: #ffffff;
	  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
	  color: #374151;
	}
	
	/* Boutons internes à l'encadré */
	#tab-offres .pack-override-actions{
	  display:flex; gap:.5rem; justify-content:center; margin-top:10px; align-items:center;
	}

	/* Quand l’encadré de personnalisation est ouvert → on masque les boutons de l’offre */
	#tab-offres .offer-editor.editing-pack .offer-editor-actions{ display:none; }
	
	#tab-offres .pack-diff{ margin:.25rem 0 0; padding-left:0; }
	#tab-offres .pack-diff li{
	  list-style:none; margin:.15rem 0; font-weight:700;
	}
	#tab-offres .pack-diff{ margin:.35rem 0 0 .2rem; padding:0; list-style:none; }
	#tab-offres .pack-diff li.add{ color:#1f9d3a; font-weight:600; }
	#tab-offres .pack-diff li.remove{ color:#d7263d; font-weight:600; }
	#tab-offres .pack-meta em.same-as-offer{ color:#6b7a90; font-style:italic; }
	
	/* 2) Griser aussi la ligne "Personnaliser le contenu de ce pack" quand la checkbox est désactivée */
	#tab-offres .pack-override-toggle label:has(input[disabled]){
	  color:#94a3b8;               /* gris clair */
	  cursor:not-allowed;
	}

	#tab-offres .offer-editor-inner input[type="text"]:focus,
	#tab-offres .offer-editor-inner input[type="number"]:focus,
	#tab-offres .offer-editor-inner select:focus,
	#tab-offres .offer-editor-inner textarea:focus,
	#tab-offres .pack-override-wrap input[type="text"]:focus,
	#tab-offres .pack-override-wrap input[type="number"]:focus,
	#tab-offres .pack-override-wrap select:focus{
	  outline: none;
	  border-color: #7aa2ff;
	  box-shadow: 0 0 0 3px rgba(122,162,255,0.2);
	}
	
	#tab-offres .offer-editor-inner input[type="text"],
	#tab-offres .offer-editor-inner input[type="number"],
	#tab-offres .pack-override-wrap input[type="text"],
	#tab-offres .pack-override-wrap input[type="number"],
	#tab-offres .offer-editor-inner select,
	#tab-offres .pack-override-wrap select{
	  background: #ffffff !important;
	  color: #111827 !important;
	  border: 1px solid #d1d5db !important;
	  border-radius: 6px !important;
	}
	
	/* =========== Labels Editeur Offres/Packs =========== */
	
	/* Labels éditeur offre — noir, poids 400 */
	#tab-offres #cc-group-collective label,
	#tab-offres #cc-price-individual-row label,
	#tab-offres #cc-currency-collective-row label,
	#tab-offres .offer-options > label:first-child,
	#tab-offres .offer-custom-options > label:first-child,
	#tab-offres #cc-packs-section > label,
	#tab-offres .pack-add-row .pack-field label,
	#tab-offres .pack-override-toggle label,
	#tab-offres .cc-packname-row > label,
	#tab-offres .cc-pack-sessions-row > label,
	#tab-offres .pack-override-wrap > label,
	#tab-offres .offer-editor-inner > label{
	  color: #374151 !important;
	  font-weight: 500 !important;
	}
	#tab-offres .offer-custom-options .custom-add{ margin-top:8px; }
	
	#tab-offres #cc-price-individual-row label,
	#tab-offres #cc-currency-collective-row label,
	#tab-offres #cc-group-collective label{
	  margin-bottom: 6px;
	}
	
	/* ================== Planner hebdo ================== */
	#cc-availability .cc-planner{
	  --cell:34px; --border:#e5e7eb; --active:#eff6ff; --active-b:#93c5fd; --hover:#eff6ff;
	  border:1px solid var(--border); border-radius:8px; background:#ffffff; width:100%; overflow:hidden;
	  box-shadow:0 1px 3px rgba(0,0,0,0.05);
	}
	#cc-availability .cc-planner table{ border-collapse:separate; border-spacing:0; width:100%; table-layout:fixed; }
	#cc-availability .cc-planner th,
	#cc-availability .cc-planner td{ border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
	#cc-availability .cc-planner th{
	  background:#f9fafb; font-weight:600; font-size:13px; color:#374151; padding:8px 6px; position:sticky; top:0; z-index:1;
	}
	#cc-availability .cc-planner .col-time{
	  width:72px; position:sticky; left:0; z-index:1; background:#f9fafb; color:#374151;
	}
	#cc-availability .cc-planner .col-day{ text-align:center; }
	#cc-availability .cc-planner .col-time .time-label{ display:block; position:relative; top:calc(-0.5 * var(--cell)); line-height:1; }

	#cc-availability .cc-planner td.cell{
	  height:var(--cell); cursor:pointer; user-select:none; background:transparent; position:relative;
	}
	#cc-availability .cc-planner td.cell:hover{ background:var(--hover); }
	#cc-availability .cc-planner td.cell.is-on{ background:var(--active); box-shadow:inset 0 0 0 1px var(--active-b); }

	@media (max-width:640px){
	  #cc-availability .cc-planner{ --cell:30px; }
	  #cc-availability .cc-planner .col-time{
	    width:44px;
	    font-size:11px;
	    padding:4px 2px;
	  }
	}

	/* Colonne des heures sans bordure basse */
	#cc-availability .cc-planner th.col-time,
	#cc-availability .cc-planner td.col-time{ border-bottom-color:transparent; }

	/* Résumé dispos + légende */
	#cc-availability-preview{
	  margin:8px 0; font-size:14px; color:#374151; line-height:1.4;
	  white-space:pre-wrap; font-family:inherit; background:transparent; border:0; padding:0;
	}
	#cc-availability-preview strong{ display:inline; font-weight:700; margin:0; }
	.cc-availability-label{ display:block; font-weight:400; margin:0 0 .25rem; color:#374151; }
	.cc-availability-legend{ display:block; color:#6b7280; margin:0 0 .5rem; line-height:1.35; }

	.cc-disabled .cc-availability-legend,
	.cc-disabled #cc-availability-preview{ opacity:.45; pointer-events:none; }

	/* Actions rapides */
	.cc-availability-actions{
	  margin:12px 0 8px;
	  display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center;
	}
	.cc-availability-actions .button{
	  background: #ffffff;
	  color: #374151;
	  border: 1px solid #d1d5db;
	  font-size:13px; padding:4px 10px; border-radius:6px;
	  transition: all .2s ease;
	}
	.cc-availability-actions .button:hover{
	  background: #f9fafb;
	  border-color: #9ca3af;
	}
	.cc-disabled .cc-availability-actions .button{ opacity:.45; pointer-events:none; cursor:not-allowed; }

	/* Note présentiel */
	#cc-pres-note{
	  display:block; margin:.4rem 0 1rem; font-size:.85rem; line-height:1.35; color:#1d2327;
	}

	/* ================== Diplômes & Statuts ================== */
	#cc-status-choices label,
	#cc-status-custom-list label{
	  display:flex;
	  align-items:center;
	  gap:.5rem;
	  margin:0.25rem 0;   /* ✅ plutôt que padding pour gérer l’espace vertical */
	  padding:0;         /* supprime l’excédent qui créait trop d’air */
	}
	/* Texte prend toute la largeur → croix poussée à l’extrême droite */
	#cc-status-choices label span,
	#cc-status-custom-list label span{
	  flex:1 1 auto;
	}
	#cc-status-choices input[type="checkbox"],
	#cc-status-custom-list input[type="checkbox"]{ margin:0; }
	#cc-status-custom-list .remove-custom{ margin-left:auto; }

	#cc-status-wrap .custom-add{
	  display:flex; gap:.5rem; max-width:520px; align-items:center; margin-top:.35rem;
	}
	#cc-status-wrap .custom-add input{ flex:1 1 auto; min-width:0; }
	#cc-status-wrap #cc-status-add.as-link{ padding:.15rem 0 !important; line-height:1.2; white-space:nowrap; }
	
	/* ================== Zones géographiques ================== */
	#cc-zones-list{ display:grid; gap:8px; width:100%; max-width:none; }
	#cc-zones-list .cc-zone-row{
	  display:flex; align-items:center; gap:.5rem;
	  flex-wrap:nowrap;
	  width:100%;
	}
	#cc-zones-list .cc-zone-row input.zone-cb{ flex:0 0 auto; }
	#cc-zones-list .cc-zone-row > span{ flex:0 0 auto; }
	#cc-zones-list .cc-zone-row .spacer{ flex:1 1 auto; min-width:0; }
	#cc-zones-list .cc-zone-remove{ margin-left:0; }
	#cc-zones-wrap { margin-bottom: 1.8rem; }
	#cc-zone-add[disabled],
	#cc-zone-add[disabled]:hover {
		pointer-events: none;
		cursor: not-allowed !important;
		color: #94a3b8 !important;
		text-decoration: none !important;
	}
	
	/* Suggestions autocomplete zone géo dashboard */
	#cc-zone-suggestions li {
		padding: 8px 12px;
		cursor: pointer;
		font-size: .95rem;
		color: #374151;
		border-bottom: 1px solid #f1f5f9;
	}
	#cc-zone-suggestions li:last-child {
		border-bottom: none;
	}
	#cc-zone-suggestions li:hover,
	#cc-zone-suggestions li.active {
		background: #f0f9ff;
		color: #0073aa;
	}
	#cc-zone-suggestions li.no-result {
		color: #94a3b8;
		cursor: default;
		font-style: italic;
	}
	
	/* ================== Diplômes & Statuts ================== */
	#cc-diplomas-list{ display:grid; gap:8px; width:100%; max-width:none; }
	#cc-diplomas-list .cc-diploma-row{
	  display:flex; align-items:center; gap:.5rem;
	  flex-wrap:nowrap;
	  width:100%; /* ← pousse la croix à l’extrême droite via le spacer */
	}
	#cc-diplomas-list .cc-diploma-row input.diploma-cb{ flex:0 0 auto; }
	#cc-diplomas-list .cc-diploma-row > span.label{ flex:0 0 auto; } /* libellé du diplôme */
	#cc-diplomas-list .cc-diploma-file.as-link{ white-space:nowrap; flex:0 0 auto; } /* pas de retour à la ligne */
	#cc-diplomas-list .photo-state{
	  flex:0 0 auto;
	  display:none; /* montré en JS si photo présente */
	  color:#16a34a;
	  font-weight:600;              /* même emphase que le lien */
	  cursor:pointer;               /* cliquable pour remplacer la photo */
	  line-height:1;                /* même vertical rhythm que le lien */
	}
	#cc-diplomas-list .photo-state::after{
	  content:""; display:inline-block;
	  width:14px; height:14px; margin-left:.35rem; vertical-align:-2px; /* ✅ coche à DROITE */
	  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%2316a34a' viewBox='0 0 16 16'><path d='M6.173 13.414L1.757 9l1.414-1.414L6.173 10.586l6.657-6.657 1.414 1.414z'/></svg>") no-repeat center / contain;
	}

	#cc-diplomas-list .cc-diploma-row .spacer{ flex:1 1 auto; min-width:0; } /* ← pousse la croix totalement à droite */
	#cc-diplomas-list .cc-diploma-remove{ margin-left:0; } /* le spacer s’occupe de l’alignement */

	/* Ligne d’ajout : input + bouton sur une seule ligne */
	.cc-diploma-add{
	  display:flex; gap:.5rem; align-items:center;
	  max-width:520px; margin-top:.5rem;
	}
	.cc-diploma-add input{ flex:1 1 auto; min-width:0; }
	#cc-diploma-add.as-link{ white-space:nowrap; } /* " + Ajouter " reste sur la même ligne */
	
	/* Diplômes – pleine largeur + pas de wrap + croix à l'extrême droite */
	#cc-diplomas-list{ width:100% !important; max-width:none !important; }
	#cc-diplomas-list .cc-diploma-row{ flex-wrap:nowrap !important; width:100% !important; }
	#cc-diplomas-list .cc-diploma-file.as-link{ white-space:nowrap; } /* garde le lien sur 1 ligne */
	
	#cc-profile-form label[for="qualificatif"],
	#cc-profile-form label[for="zone_geographique"],
	#cc-profile-form label[for="cc-availability"],
	#cc-profile-form label[for="niveau"],
	#cc-profile-form label[for="specialite"],
	#cc-profile-form label[for="resume"],
	#cc-profile-form label[for="message_long"],
	#cc-profile-form label[for="places"],
	#cc-profile-form label[for="photo_profil"],
	#cc-profile-form label[for="qr_code"],
	#cc-profile-form label[for="phone_number"] {
	  font-weight: bold;
	}
	
	#cc-profile-form .cc-label {
	  font-weight: bold;
	  margin-bottom: 4px; /* optionnel, pour éviter que ça colle aux cases */
	  display: block;     /* pour que le texte prenne toute la ligne */
	}
	
	#cc-profile-form .cc-label-niveau {
	  margin-top: 20px; /* espace au-dessus juste pour ce titre */
	}

	/* Langues (profil) */
	#cc-langues-wrap { max-width: 720px; }
	#cc-langues-wrap .cc-lang-row{
	  display:grid;
	  width:100%; /* ← la ligne occupe toute la largeur du conteneur */
	  grid-template-columns: auto 1fr 140px 30px; /* label | langue | drapeau | croix */
	  gap:.5rem;
	  align-items:center;
	  margin:.35rem 0;
	}
	/* Respecte l’attribut HTML `hidden` sur les lignes 2/3 */
	#cc-langues-wrap .cc-lang-row[hidden]{ display:none !important; }
	
	#cc-langues-wrap label{ font-weight:400; margin:0; }
	#cc-langues-wrap select{ width:100%; max-width:520px; }
	#cc-langues-wrap .cc-flag-wrap{ width:100%; }
	#cc-langues-wrap .cc-lang-flag:disabled{ opacity:.55; cursor:not-allowed; }
	/* La croix colle au bord droit de la grille */
	#cc-langues-wrap .cc-lang-remove{
	  margin-left:0;
	  justify-self:end; /* ← pousse la croix à l’extrême droite */
	}

	/* Ligne d’actions (le “+ Ajouter une langue”) */
	#cc-langues-wrap .cc-lang-actions{
	  margin-top:.25rem;
	  text-align:center;       /* ← bouton centré */
	}
	#cc-lang-add.as-link.disabled,
	#cc-lang-add.as-link[disabled]{
	  pointer-events:none;
	  cursor:not-allowed !important;
	  color:#94a3b8 !important;
	  text-decoration:none !important;
	}

	/* Responsive : empiler SEULEMENT en < 600px */
	@media (max-width:600px){
	  #cc-langues-wrap .cc-lang-row{ grid-template-columns: 1fr; }
	  #cc-langues-wrap .cc-flag-wrap,
	  #cc-langues-wrap select{ max-width:520px; margin:0 auto; }
	}
	
	/* Collectif: évite tout débordement et passe bien à 1 colonne sur petit écran */
	#cc-group-collective { max-width:520px; }
	#cc-group-collective .inline-2 { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
	#cc-group-collective .inline-2 > div { min-width:0; }   /* <-- empêche l’overflow */
	#cc-group-collective input[type="number"]{ width:100%; box-sizing:border-box; }

	@media (max-width:600px){
	  #cc-group-collective .inline-2 { grid-template-columns:1fr; }
	}
	
	/* Bloc collectif (2 colonnes) — espace sous les titres en <strong> */
	#cc-group-collective label strong{
	  display: inline-block;
	  margin-bottom: 4px;
	}

	/* Bonus: assure un petit espace homogène au-dessus des inputs */
	#cc-group-collective input[type="number"]{
	  margin-top: 2px;
	}
	
	/* Croix de suppression = grise, fond transparent, sans bord/ombre */
	.custom-remove{
	  background: transparent !important;
	  border: none !important;
	  box-shadow: none !important;
	  color: #94a3b8 !important;      /* gris foncé (Slate 600) */
	  padding: 0 6px !important;
	  line-height: 1;
	  border-radius: 0 !important;
	  cursor: pointer;
	}
	.custom-remove:hover{
	  color: #334155 !important;       /* un poil plus foncé au survol */
	}
	
	/* ================== Support coach ================== */
	
	#tab-contact input[type="text"],
	#tab-contact textarea{
	  width: 100%;
	  background: #ffffff !important;
	  color: #111827 !important;
	  border: 1px solid #d1d5db !important;
	  border-radius: 6px !important;
	  padding: 10px 12px;
	  font-size: 15px;
	}
	#tab-contact button[type="submit"]{
	  background: rgb(43, 108, 176) !important;
	  color: #ffffff !important;
	  border: none !important;
	  border-radius: 6px;
	  font-weight: 600;
	  padding: 10px 20px !important;
	  transition: background .2s ease;
	}

	#tab-contact input[type="text"]{
	  max-width: 320px !important;
	}
	#tab-contact button[type="submit"]:hover{
	  background: #135e96 !important;
	}
	
	/* ================== Patchs ================== */
	
	.cc-counter {
	  display: block;
	  margin-top: .25rem;
	  font-size: .85em;
	  opacity: .85;
	}
	.cc-counter.ok { color: #008a00; }       /* vert WP */
	.cc-counter.too-short,
	.cc-counter.too-long { color: #d63638; } /* rouge WP */
	
	.cc-inline-legend {
	  position: relative;
	  margin: .25rem 0 .5rem;
	  font-size: .875rem;
	  line-height: 1.4;
	  color: var(--cc-gray-700);
	  background: #eff6ff;
	  border: 1px solid #bfdbfe;
	  border-radius: 4px;
	  padding: .5rem .75rem;
	  padding-right: 2rem;
	  margin-bottom: .5rem !important;
	}

	.cc-legend-close {
	  position: absolute;
	  top: .35rem;
	  right: .5rem;
	  border: none;
	  appearance: none;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  background: none;
	  font-size: 1rem;
	  line-height: 1;
	  cursor: pointer;
	  color: var(--cc-gray-400);
	  font-weight: bold;
	  padding: 0;
	  box-shadow: none;
	}

	.cc-legend-close:hover,
	.cc-legend-close:focus {
	  background: none !important;
	  color: #fff;
	  outline: none;
	  box-shadow: none !important;
	}

	.cc-legend-close:hover { color: var(--cc-gray-900); }
	
	#tab-accueil .cc-inner .button,
	#tab-accueil .cc-inner .button-primary {
	    background: rgb(43, 108, 176) !important;
	    color: rgb(255, 255, 255) !important;
	    border: none !important;
	    border-radius: 6px !important;
	    font-size: 15px !important;
	    font-weight: 600 !important;
	    padding: 10px 20px !important;
	    transition: background .2s ease;
	    text-decoration: none !important;
	    display: inline-block !important;
	}
	#tab-accueil .cc-inner .button:hover,
	#tab-accueil .cc-inner .button-primary:hover {
	    background: #135e96 !important;
	}
	
	/* Animation tableau de bord — état initial */
	.cc-anim-ready .cc-dashboard-left{
	  opacity: 0;
	  transform: translateX(-30px);
	}
	.cc-anim-ready #tab-accueil .cc-inner h3{ visibility: hidden; }
	.cc-anim-ready #tab-accueil .cc-inner > p,
	.cc-anim-ready #tab-accueil .cc-inner > .button,
	.cc-anim-ready #tab-accueil .cc-inner a.button,
	.cc-anim-ready #tab-accueil .cc-inner button{
	  opacity: 0;
	  transform: translateX(-20px);
	}
	
}

/* ================== Bouton retour accueil ================== */
.cc-nav-back {
	padding: 15px 20px 0;
	flex-shrink: 0;
}
.cc-link-home {
	width: 100% !important;
	justify-content: flex-start !important;
}
.cc-link-home::part(base) {
	justify-content: flex-start !important;
	color: var(--cc-gray-600) !important;
	font-size: 14px !important;
}
.cc-link-home:hover::part(base) {
	color: var(--cc-gray-900) !important;
}

/* ================== Dropdown natif bas sidebar ================== */
.cc-nav-user-menu {
    padding: 15px 20px;
    flex-shrink: 0;
    box-sizing: border-box;
    width: 100%;
    position: relative;
}
.cc-nav-menu-trigger {
    padding: 10px 15px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s ease;
    width: 100%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    box-sizing: border-box;
}
.cc-nav-menu-trigger:hover {
    background: var(--cc-gray-100);
}
.cc-nav-menu-user {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 0%;
    min-width: 0;
}
.cc-nav-chevron {
    font-size: 15px;
    color: rgb(45, 55, 72);
    width: 15px;
    height: 15px;
    line-height: 1;
    flex-shrink: 0;
    transition: none;
}
.cc-nav-menu-trigger[aria-expanded="true"] .cc-nav-chevron {
    transform: none;
}
.cc-nav-dropdown-panel {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 240px;
    margin: 0 0 8px 0;
    background: white;
    border: 1px solid var(--cc-gray-200);
    border-radius: 8px;
    box-shadow: rgba(0,0,0,0.1) 0px 10px 25px 0px;
    padding: 4px;
    z-index: 9999;
    box-sizing: border-box;
}
.cc-nav-dropdown-panel[hidden] {
    display: none;
}
.cc-nav-dropdown-item,
.cc-nav-dropdown-item:is(a),
a.cc-nav-dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--cc-gray-700) !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    text-decoration: none !important;
    height: auto !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}
.cc-nav-dropdown-item:hover,
a.cc-nav-dropdown-item:hover {
    background: var(--cc-gray-100) !important;
    color: var(--cc-gray-900) !important;
}
.cc-nav-dropdown-divider {
    display: none !important;
}
.cc-nav-dropdown-danger {
    color: var(--cc-gray-700) !important;
    text-decoration: none !important;
}
.cc-nav-dropdown-danger:hover {
    background: var(--cc-gray-100) !important;
    color: var(--cc-gray-900) !important;
}

/* ================== Lien retour accueil ================== */
.cc-nav-back {
    padding: 15px 20px;
    flex-shrink: 0;
}
.cc-link-home {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    border-radius: 6px;
    color: rgb(75, 85, 99);
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    height: 48px;
    box-sizing: border-box;
    background: none;
    border: none;
    transition: all 0.2s ease;
}
.cc-link-home:hover {
    background: var(--cc-gray-100) !important;
    color: var(--cc-gray-900) !important;
}

/* ==================== BREADCRUMB ==================== */
.cc-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--cc-gray-500);
    margin-bottom: 16px;
}
.cc-breadcrumb a {
    color: var(--cc-gray-600) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.cc-breadcrumb a:hover {
    color: var(--cc-gray-900) !important;
}
.cc-breadcrumb-separator {
    color: var(--cc-gray-400);
}

/* ==================== SÉPARATEUR SOUS TITRE ==================== */
.cc-page-title-separator {
    border: none !important;
    border-top: 1px solid var(--cc-gray-200) !important;
    margin: 0 0 24px 0 !important;
}

/* ==================== TITRES ==================== */
.cc-tab .cc-inner h3 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}
.cc-tab .cc-inner h4 {
    margin-top: 24px !important;
    margin-bottom: 8px !important;
}

#tab-profil fieldset legend {
    padding: 0 8px;
}


#tab-profil #cc-profile-form #cc-niveau-wrap label,
#tab-profil #cc-profile-form .cc-group:has(input[name="specialite[]"]) label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 0 5px 0 !important;
    line-height: 1.4 !important;
}

/* ============================================================
	   RESPONSIVE MOBILE/TABLETTE — max-width: 781px
	   Règle absolue : rien ici ne touche au desktop
	============================================================ */

	/* --- Masquage éléments mobile sur desktop --- */
	@media (min-width: 782px) {
		.cc-mobile-header,
		.cc-mobile-nav-modal,
		.cc-mobile-nav-overlay,
		.cc-mobile-burger { display: none !important; }
	}

	@media (max-width: 781px) {

		/* === Layout global === */
		.cc-dashboard {
			flex-direction: column;
		}

		/* === Sidebar === */
		.cc-dashboard-left {
			flex: none;
			width: 100%;
			max-width: 100%;
			min-width: 0;
			height: auto;
			min-height: 0;
			max-height: none;
			position: static;
			box-shadow: none;
			overflow: visible;
		}

		/* Masquer les éléments desktop de la sidebar */
		.cc-nav-logo,
		.cc-tabs-nav,
		.cc-nav-back,
		.cc-nav-user-menu { display: none !important; }

		/* === Header mobile === */
		.cc-mobile-header {
			display: flex;
			flex-direction: row;
			justify-content: space-between;
			align-items: center;
			padding: 12px 16px;
			background: white;
			border-bottom: 1px solid #e5e7eb;
			box-shadow: 0 1px 4px rgba(0,0,0,0.06);
		}

		/* === Burger === */
		.cc-mobile-burger {
			display: flex;
			align-items: center;
			gap: 6px;
			background: none;
			border: none;
			border-radius: 6px;
			padding: 7px 12px;
			cursor: pointer;
			font-size: 14px;
			font-weight: 500;
			color: #374151;
			font-family: 'Montserrat', sans-serif;
		}
		.cc-mobile-burger:hover,
		.cc-mobile-burger:focus {
			background: #f3f4f6 !important;
			color: #111827 !important;
			outline: none;
			box-shadow: none;
		}
		.cc-mobile-burger__label {
			margin-right: 2px;
		}

		/* === Overlay === */
		.cc-mobile-nav-overlay {
			display: none;
			position: fixed;
			inset: 0;
			background: rgba(0,0,0,0.4);
			z-index: 9998;
		}
		.cc-mobile-nav-overlay.cc-open {
			display: block;
		}

		/* === Modale nav === */
		.cc-mobile-nav-modal {
			position: fixed;
			top: 0;
			right: -100%;
			width: 80%;
			max-width: 320px;
			height: 100dvh;
			background: white;
			z-index: 9999;
			display: flex;
			flex-direction: column;
			box-shadow: -4px 0 20px rgba(0,0,0,0.15);
			transition: right 0.28s cubic-bezier(0.4, 0, 0.2, 1);
			overflow: hidden;
		}
		.cc-mobile-nav-modal.cc-open {
			right: 0;
		}

		/* Header modale */
		.cc-mobile-nav-modal__header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 16px 20px;
			border-bottom: 1px solid #e5e7eb;
			font-weight: 600;
			font-size: 15px;
			color: #111827;
			flex-shrink: 0;
		}
		.cc-mobile-nav-modal__close {
			background: none;
			border: none;
			font-size: 18px;
			cursor: pointer;
			color: #6b7280;
			padding: 4px 8px;
			border-radius: 4px;
			line-height: 1;
		}
		.cc-mobile-nav-modal__close:hover {
			background: #f3f4f6;
			color: #111827;
		}

		/* Nav items */
		.cc-mobile-nav-modal__nav {
			flex: 1;
			overflow-y: auto;
			padding: 10px;
			display: flex;
			flex-direction: column;
			gap: 2px;
		}
		.cc-mobile-nav-item {
			display: flex;
			align-items: center;
			gap: 10px;
			padding: 12px 15px;
			border-radius: 6px;
			font-size: 15px;
			font-weight: 500;
			color: #374151;
			text-decoration: none;
			cursor: pointer;
			transition: background 0.15s ease;
			font-family: 'Montserrat', sans-serif;
		}
		.cc-mobile-nav-item:hover {
			background: #f3f4f6;
			color: #111827;
		}
		.cc-mobile-nav-item.cc-active {
			background: #f3f4f6;
			color: #111827;
			font-weight: 600;
		}
		.cc-mobile-nav-item svg {
			opacity: 0.65;
			flex-shrink: 0;
		}
		.cc-mobile-nav-item--logout {
			display: flex;
			align-items: center;
			gap: 10px;
			padding: 12px 15px;
			border-radius: 6px;
			font-size: 15px;
			font-weight: 500;
			color: #ef4444;
			cursor: pointer;
			transition: background 0.15s ease;
			font-family: 'Montserrat', sans-serif;
		}
		.cc-mobile-nav-item--logout:hover {
			background: #fee2e2;
		}
		.cc-mobile-nav-divider {
			height: 1px;
			background: #e5e7eb;
			margin: 6px 0;
		}

		/* Footer modale */
		.cc-mobile-nav-modal__footer {
			padding: 16px 20px;
			border-top: 1px solid #e5e7eb;
			flex-shrink: 0;
		}
		.cc-mobile-nav-back {
			font-size: 14px;
			color: #6b7280;
			text-decoration: none;
		}
		.cc-mobile-nav-back:hover {
			color: #374151;
		}

		/* === + Ajouter options personnalisées pack === */
		#tab-offres .pack-override-wrap .custom-add {
			flex-direction: column;
			align-items: flex-start;
		}
		#tab-offres .pack-override-wrap .custom-add input {
			width: 100%;
			max-width: 100%;
		}
		#tab-offres #pack-custom-add {
			align-self: flex-start;
			text-align: left;
		}

		/* === Boutons pack enregistrer/annuler === */
		#tab-offres .pack-override-actions {
			flex-wrap: wrap;
			justify-content: flex-start;
		}
		#tab-offres .pack-override-actions #pack-save,
		#tab-offres .pack-override-actions #pack-cancel {
			flex: 1 1 auto;
			min-width: 120px;
			white-space: nowrap;
			text-align: center;
		}

		/* === Boutons Enregistrer l'offre / Annuler === */
		#tab-offres .offer-editor-actions {
			flex-wrap: wrap;
		}
		#tab-offres .offer-editor-actions #cc-btn-save-offer,
		#tab-offres .offer-editor-actions #cc-btn-cancel-offer {
			flex: 1 1 auto;
			min-width: 120px;
			white-space: nowrap;
			text-align: center;
		}

		/* === Badge pack — z-index mobile === */
		#tab-offres .offer-badge-pack {
			z-index: 0 !important;
		}

		/* === Onglet Mon Profil — formulaire deux colonnes === */
		.cc-two-cols {
			gap: 0.5rem !important;
		}
		.cc-two-cols .cc-field {
			margin-bottom: 0 !important;
		}
		.cc-two-cols + p {
			margin-top: 0.5rem !important;
		}

		/* === Input photo profil === */
		#tab-profil input[type="file"] {
			max-width: 100% !important;
			width: 100% !important;
			box-sizing: border-box !important;
			white-space: normal !important;
			word-break: break-word !important;
		}

		/* === Zone de contenu === */
		.cc-tab {
			width: 100%;
		}
		.cc-inner {
			padding: 24px 16px;
			max-width: 100%;
		}

		/* === Sous-onglets Paiement mobile === */
		.cc-mobile-subnav-wrap {
			display: flex;
			flex-direction: column;
			gap: 2px;
			padding-left: 12px;
			border-left: 2px solid #e5e7eb;
			margin: 2px 0 4px 15px;
		}
		.cc-mobile-subnav-item {
			font-size: 13px !important;
			padding: 8px 12px !important;
			color: #6b7280 !important;
		}
		.cc-mobile-subnav-item.cc-active {
			color: #111827 !important;
			font-weight: 600 !important;
		}

		/* === Typographie mobile === */
		#tab-accueil .cc-inner h3 {
			font-size: 1.8rem !important;
			margin-bottom: 1rem !important;
		}
		.cc-tab .cc-inner h3 {
			font-size: 20px !important;
		}

	} /* fin @media max-width: 781px */
