/* Ma p'tite culotte : feuille FONCTIONNELLE des modules (mise en page minimale, lisible, mobile d'abord).
   L'habillage graphique viendra de la refonte : tout est porté par des classes cmpc-* et des variables --cmpc-*. */
:root {
	--cmpc-accent: #c2185b;
	--cmpc-accent-texte: #fff;
	--cmpc-fond: #fff;
	--cmpc-fond-doux: #fbf3f6;
	--cmpc-bord: #e5d5dc;
	--cmpc-texte: #222;
	--cmpc-texte-doux: #666;
	--cmpc-ok: #1b5e20;
	--cmpc-alerte: #b00020;
	--cmpc-rayon: 10px;
	--cmpc-espace: 12px;
}
[class*="cmpc-"][hidden], .cmpc-messagerie [hidden], .cmpc-annonce [hidden] { display: none !important; }
.cmpc-visuellement-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cmpc-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--cmpc-accent); background: var(--cmpc-fond); color: var(--cmpc-accent); font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.2; }
.cmpc-bouton--principal { background: var(--cmpc-accent); color: var(--cmpc-accent-texte); }
.cmpc-bouton--discret { border-color: transparent; background: transparent; color: var(--cmpc-texte-doux); }
.cmpc-bouton[disabled] { opacity: .6; cursor: wait; }
.cmpc-aide { color: var(--cmpc-texte-doux); font-size: .92em; margin: 6px 0; }
.cmpc-vide { color: var(--cmpc-texte-doux); }
.cmpc-pastille { display: inline-block; min-width: 20px; padding: 0 6px; border-radius: 10px; background: var(--cmpc-accent); color: #fff; font-size: 12px; font-weight: 700; line-height: 20px; text-align: center; }
.cmpc-etiquette { display: inline-block; padding: 1px 8px; border-radius: 10px; background: var(--cmpc-fond-doux); font-size: 12px; }
.cmpc-etiquette--attente { background: #fff3cd; }
.cmpc-encart { margin: 0 0 var(--cmpc-espace); padding: 10px 14px; border: 1px solid var(--cmpc-bord); border-radius: var(--cmpc-rayon); background: var(--cmpc-fond-doux); }
.cmpc-encart--alerte { border-color: var(--cmpc-accent); }
.cmpc-cta-vendre { margin: 0 0 var(--cmpc-espace); }

/* En-tête du site */
.cmpc-entete-messages, .cmpc-entete-favoris { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 6px; text-decoration: none; position: relative; }
.cmpc-entete-messages .cmpc-pastille { position: relative; top: -6px; }

/* Favoris */
.cmpc-fav { display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 4px 10px; border: 1px solid var(--cmpc-bord); border-radius: 999px; background: var(--cmpc-fond); color: var(--cmpc-texte); cursor: pointer; font-size: 14px; }
.cmpc-fav.est-actif { border-color: var(--cmpc-accent); color: var(--cmpc-accent); }
.cmpc-carte-fav { margin-top: 6px; }
.cmpc-fiche-fav, .cmpc-contact-annonce, .cmpc-contact-boutique, .cmpc-boutique-suivre { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }

/* Messagerie */
.cmpc-messagerie { display: grid; grid-template-columns: 1fr; gap: var(--cmpc-espace); min-height: 60vh; }
.cmpc-messagerie__fil { display: none; flex-direction: column; min-width: 0; }
.cmpc-messagerie.fil-ouvert .cmpc-messagerie__liste { display: none; }
.cmpc-messagerie.fil-ouvert .cmpc-messagerie__fil { display: flex; }
.cmpc-messagerie__retour { align-self: flex-start; min-height: 44px; background: none; border: 0; color: var(--cmpc-accent); cursor: pointer; }
.cmpc-messagerie__titre { font-size: 1.1em; margin: 0 0 8px; }
.cmpc-fils { list-style: none; margin: 0; padding: 0; }
.cmpc-fil__bouton { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; width: 100%; padding: 10px; border: 0; border-bottom: 1px solid var(--cmpc-bord); background: none; text-align: left; cursor: pointer; color: inherit; }
.cmpc-fil.est-actif .cmpc-fil__bouton { background: var(--cmpc-fond-doux); }
.cmpc-fil.a-des-non-lus .cmpc-fil__nom { font-weight: 800; }
.cmpc-fil__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; background: var(--cmpc-fond-doux); }
.cmpc-fil__corps { display: flex; flex-direction: column; min-width: 0; }
.cmpc-fil__produit, .cmpc-fil__extrait { font-size: 13px; color: var(--cmpc-texte-doux); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cmpc-fil__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 12px; }
.cmpc-fil-entete { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--cmpc-bord); }
.cmpc-fil-entete__produit { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; }
.cmpc-fil-entete__produit img { border-radius: 6px; object-fit: cover; }
.cmpc-fil-entete__actions { display: flex; gap: 6px; flex-wrap: wrap; }
.cmpc-messages { list-style: none; margin: 0; padding: 10px 0; display: flex; flex-direction: column; gap: 8px; max-height: 55vh; overflow-y: auto; }
.cmpc-message { max-width: 85%; padding: 8px 12px; border-radius: 14px; background: var(--cmpc-fond-doux); align-self: flex-start; overflow-wrap: anywhere; }
.cmpc-message--moi { align-self: flex-end; background: #f1e3ea; }
.cmpc-message__corps { margin: 0; white-space: pre-wrap; }
.cmpc-message__piece img { display: block; max-width: 240px; max-height: 240px; border-radius: 8px; margin-top: 6px; }
.cmpc-message__pied { display: flex; gap: 8px; font-size: 11px; color: var(--cmpc-texte-doux); margin-top: 4px; }
.cmpc-message__signaler { background: none; border: 0; padding: 0; color: var(--cmpc-texte-doux); text-decoration: underline; cursor: pointer; font-size: 11px; }
.cmpc-composer { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; border-top: 1px solid var(--cmpc-bord); }
.cmpc-composer__texte { width: 100%; box-sizing: border-box; font-size: 16px; }
.cmpc-composer__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.cmpc-composer__fichier { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cmpc-composer__info { font-size: 13px; color: var(--cmpc-texte-doux); margin: 0; }
.cmpc-composer__erreur, .cmpc-annonce__erreur { color: var(--cmpc-alerte); margin: 6px 0; }
.cmpc-messagerie__solde { font-size: 14px; }
.cmpc-lien-credits { margin-right: 6px; }
@media (min-width: 768px) {
	.cmpc-messagerie { grid-template-columns: minmax(240px, 320px) 1fr; }
	.cmpc-messagerie__fil, .cmpc-messagerie.fil-ouvert .cmpc-messagerie__fil { display: flex; }
	.cmpc-messagerie.fil-ouvert .cmpc-messagerie__liste { display: block; }
	.cmpc-messagerie__retour { display: none; }
}

/* Étapes (assistant, mise en vente) */
.cmpc-etapes { display: flex; gap: 8px; list-style: none; margin: 0 0 var(--cmpc-espace); padding: 0; }
.cmpc-etape { flex: 1; display: flex; gap: 6px; align-items: center; padding: 6px 8px; border-bottom: 3px solid var(--cmpc-bord); font-size: 14px; }
.cmpc-etape a { color: inherit; text-decoration: none; display: flex; gap: 6px; align-items: center; }
.cmpc-etape.est-active { border-color: var(--cmpc-accent); font-weight: 700; }
.cmpc-etape.est-faite { border-color: var(--cmpc-ok); }
.cmpc-etape__num { display: inline-flex; width: 24px; height: 24px; border-radius: 50%; align-items: center; justify-content: center; background: var(--cmpc-fond-doux); }
.cmpc-ecran__titre { font-size: 1.2em; margin: 8px 0; }
.cmpc-champ { display: flex; flex-direction: column; gap: 4px; margin: 0 0 var(--cmpc-espace); }
.cmpc-champ input, .cmpc-champ select, .cmpc-champ textarea { font-size: 16px; min-height: 44px; box-sizing: border-box; width: 100%; }
.cmpc-champ__libelle { font-weight: 600; }
.cmpc-champ__pied { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.cmpc-champs-ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0 var(--cmpc-espace); }
.cmpc-compteur { font-size: 13px; color: var(--cmpc-alerte); }
.cmpc-compteur.est-ok { color: var(--cmpc-ok); }
.cmpc-depot { border: 2px dashed var(--cmpc-bord); border-radius: var(--cmpc-rayon); padding: 16px; text-align: center; }
.cmpc-depot.est-survolee { border-color: var(--cmpc-accent); background: var(--cmpc-fond-doux); }
.cmpc-depot__boutons { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.cmpc-photos { list-style: none; margin: var(--cmpc-espace) 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 8px; }
.cmpc-photo { position: relative; aspect-ratio: 1; border-radius: 8px; overflow: hidden; background: var(--cmpc-fond-doux); display: flex; align-items: center; justify-content: center; }
.cmpc-photo img { width: 100%; height: 100%; object-fit: cover; }
.cmpc-photo--principale { outline: 3px solid var(--cmpc-accent); }
.cmpc-photo__badge { position: absolute; top: 4px; left: 4px; background: var(--cmpc-accent); color: #fff; font-size: 11px; padding: 1px 6px; border-radius: 8px; }
.cmpc-photo__actions { position: absolute; bottom: 4px; right: 4px; display: flex; gap: 4px; }
.cmpc-photo__bouton { min-width: 32px; min-height: 32px; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); cursor: pointer; }
.cmpc-annonce__nav { display: flex; gap: 8px; justify-content: space-between; flex-wrap: wrap; margin: var(--cmpc-espace) 0; }
.cmpc-annonce__nav [hidden] { display: none; }
.cmpc-annonce__sauve { font-size: 12px; color: var(--cmpc-texte-doux); }
.cmpc-apercu__carte { display: grid; grid-template-columns: 120px 1fr; gap: var(--cmpc-espace); border: 1px solid var(--cmpc-bord); border-radius: var(--cmpc-rayon); padding: 10px; }
.cmpc-apercu__image { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; background: var(--cmpc-fond-doux); display: flex; align-items: center; justify-content: center; font-size: 12px; }
.cmpc-apercu__nom { font-weight: 700; margin: 0; }
.cmpc-apercu__prix { color: var(--cmpc-accent); font-weight: 700; margin: 2px 0; }
.cmpc-apercu__desc { white-space: pre-wrap; font-size: 14px; }
.cmpc-options-vendeuse { border: 1px solid var(--cmpc-bord); border-radius: var(--cmpc-rayon); padding: 10px; margin: 0 0 var(--cmpc-espace); }
.cmpc-options { border: 0; padding: 0; margin: 10px 0; }
.cmpc-option { display: flex; gap: 8px; align-items: center; min-height: 36px; }

/* Assistant boutique */
.cmpc-progression { margin: 0 0 var(--cmpc-espace); padding: 10px 14px; border: 1px solid var(--cmpc-bord); border-radius: var(--cmpc-rayon); }
.cmpc-progression__texte { margin: 0 0 6px; }
.cmpc-progression__barre { height: 10px; border-radius: 5px; background: var(--cmpc-fond-doux); overflow: hidden; }
.cmpc-progression__rempli { display: block; height: 100%; background: var(--cmpc-accent); }
.cmpc-progression__manques { margin: 8px 0 0 18px; padding: 0; }
.cmpc-progression__gain { color: var(--cmpc-texte-doux); font-size: 12px; }
.cmpc-tags, .cmpc-delais { border: 0; padding: 0; margin: 0 0 var(--cmpc-espace); display: flex; flex-wrap: wrap; gap: 6px; }
.cmpc-tag { display: inline-flex; gap: 4px; align-items: center; padding: 4px 10px; border: 1px solid var(--cmpc-bord); border-radius: 999px; min-height: 36px; }
.cmpc-assistant__apercu-avatar { border-radius: 50%; object-fit: cover; }
.cmpc-assistant__apercu-banniere { max-width: 100%; max-height: 140px; object-fit: cover; border-radius: 8px; }
.cmpc-boutique-tags, .cmpc-preuves { list-style: none; margin: 6px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cmpc-boutique-tag, .cmpc-preuve { padding: 2px 10px; border-radius: 999px; background: var(--cmpc-fond-doux); font-size: 13px; }

/* Ventes */
.cmpc-onglets { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 var(--cmpc-espace); }
.cmpc-onglet { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--cmpc-bord); text-decoration: none; min-height: 40px; display: inline-flex; align-items: center; gap: 6px; }
.cmpc-onglet.est-actif { background: var(--cmpc-accent); color: #fff; border-color: var(--cmpc-accent); }
.cmpc-ventes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--cmpc-espace); }
.cmpc-vente { border: 1px solid var(--cmpc-bord); border-radius: var(--cmpc-rayon); padding: 12px; }
.cmpc-vente__entete { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.cmpc-vente__part { font-weight: 700; color: var(--cmpc-ok); }
.cmpc-vente__expedier { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.cmpc-vente__expedier label { display: flex; flex-direction: column; font-size: 13px; }
.cmpc-vente__alerte { color: var(--cmpc-alerte); }
.cmpc-etoiles { border: 0; padding: 0; display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.cmpc-etoiles input { position: absolute; opacity: 0; }
.cmpc-etoiles label { cursor: pointer; padding: 4px 6px; border: 1px solid var(--cmpc-bord); border-radius: 6px; }
.cmpc-etoiles input:checked + label { background: var(--cmpc-accent); color: #fff; }

/* Réception */
.cmpc-reception { padding: 24px 0 48px; }
.cmpc-reception__form, .cmpc-reception__probleme { margin: 16px 0; }
.cmpc-reception__probleme textarea { width: 100%; display: block; margin: 6px 0; }
.cmpc-reception__ok { color: var(--cmpc-ok); font-weight: 600; }

/* Statistiques */
.cmpc-stats { margin: 0 0 var(--cmpc-espace); }
.cmpc-stats__titre { font-size: 1.1em; margin: 0 0 8px; }
.cmpc-kpis { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.cmpc-kpi { display: flex; flex-direction: column; padding: 10px; border: 1px solid var(--cmpc-bord); border-radius: var(--cmpc-rayon); }
.cmpc-kpi__titre, .cmpc-kpi__detail { font-size: 12px; color: var(--cmpc-texte-doux); }
.cmpc-kpi__valeur { font-size: 1.4em; }

/* Filtres */
.cmpc-filtres { margin: 0 0 var(--cmpc-espace); width: 100%; }
.cmpc-filtres__titre { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.cmpc-filtres__champs { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; padding: 8px 0; }
.cmpc-filtre { display: flex; flex-direction: column; font-size: 13px; }
.cmpc-filtre--case { flex-direction: row; gap: 6px; align-items: center; min-height: 44px; }
.cmpc-filtre--prix input { width: 90px; }

/* Mon compte */
.cmpc-compte-raccourcis { list-style: none; margin: 0 0 var(--cmpc-espace); padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; }
.cmpc-compte-raccourci a { display: flex; flex-direction: column; padding: 12px; border: 1px solid var(--cmpc-bord); border-radius: var(--cmpc-rayon); text-decoration: none; }
.cmpc-favoris__produits, .cmpc-favoris__vendeuses { list-style: none; margin: 0 0 var(--cmpc-espace); padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.cmpc-favori-produit img { width: 100%; height: auto; border-radius: 8px; }
.cmpc-favori-produit.est-indisponible { opacity: .6; }
.cmpc-favori-vendeuse { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.cmpc-favori-vendeuse img { border-radius: 50%; }

/* Découvrir */
.cmpc-decouvrir { max-width: 420px; margin: 0 auto; }
.cmpc-decouvrir__pile { position: relative; min-height: 520px; }
.cmpc-carte-vendeuse { position: absolute; inset: 0; background: var(--cmpc-fond); border: 1px solid var(--cmpc-bord); border-radius: 16px; overflow: hidden; touch-action: pan-y; user-select: none; transition: transform .25s ease, opacity .25s ease; }
.cmpc-carte-vendeuse.est-tenue { transition: none; }
.cmpc-carte-vendeuse.part-droite { transform: translateX(150%) rotate(20deg) !important; opacity: 0; }
.cmpc-carte-vendeuse.part-gauche { transform: translateX(-150%) rotate(-20deg) !important; opacity: 0; }
.cmpc-carte-vendeuse__visuel { position: relative; height: 160px; background: var(--cmpc-fond-doux); }
.cmpc-carte-vendeuse__banniere { width: 100%; height: 100%; object-fit: cover; }
.cmpc-carte-vendeuse__avatar { position: absolute; left: 16px; bottom: -32px; width: 72px; height: 72px; border-radius: 50%; border: 3px solid #fff; object-fit: cover; background: var(--cmpc-fond-doux); display: flex; align-items: center; justify-content: center; font-size: 28px; }
.cmpc-carte-vendeuse__corps { padding: 40px 16px 16px; }
.cmpc-carte-vendeuse__nom { margin: 0 0 6px; font-size: 1.3em; }
.cmpc-carte-vendeuse__badges, .cmpc-carte-vendeuse__stats, .cmpc-carte-vendeuse__tags { list-style: none; margin: 4px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; }
.cmpc-carte-vendeuse__annonces { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.cmpc-carte-vendeuse__annonces img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; display: block; }
.cmpc-carte-vendeuse__tampon { position: absolute; top: 20px; padding: 4px 12px; border: 3px solid; border-radius: 8px; font-weight: 800; opacity: 0; transform: rotate(-12deg); }
.cmpc-carte-vendeuse__tampon--aimer { left: 20px; color: var(--cmpc-ok); }
.cmpc-carte-vendeuse__tampon--passer { right: 20px; color: var(--cmpc-alerte); }
.cmpc-carte-vendeuse.vers-droite .cmpc-carte-vendeuse__tampon--aimer, .cmpc-carte-vendeuse.vers-gauche .cmpc-carte-vendeuse__tampon--passer { opacity: 1; }
.cmpc-decouvrir__actions { display: flex; justify-content: center; align-items: center; gap: 16px; margin: 16px 0; }
.cmpc-decouvrir__passer, .cmpc-decouvrir__aimer { width: 60px; height: 60px; border-radius: 50%; border: 1px solid var(--cmpc-bord); background: var(--cmpc-fond); font-size: 24px; cursor: pointer; }
.cmpc-decouvrir__aimer { color: var(--cmpc-accent); }
.cmpc-decouvrir.est-fini .cmpc-decouvrir__actions { display: none; }
.cmpc-decouvrir__fin { text-align: center; padding: 40px 0; }
.cmpc-decouvrir__aide { text-align: center; font-size: 13px; color: var(--cmpc-texte-doux); }
.cmpc-badge--verifiee { color: var(--cmpc-ok); }
.cmpc-badge--pro { color: var(--cmpc-accent); font-weight: 700; }
