/*
 * RU Bottin : Bottin Pro (galerie, statistiques, palier supérieur, badge
 * Fondateur, emplacements de la liste). Charte bleue sur fond clair : jetons
 * de RU Design (--ru-*), valeurs de repli seulement. Aucune animation
 * rebondissante, aucun emoji.
 */
.rubpro,.rubpro-proprio,.rubpro-badges,.rubpro-galerie,.rubpro-monter,.rubpro-actions{--rp-tx:var(--ru-texte,#0e2438);--rp-tx2:var(--ru-texte-secondaire,#14314b);--rp-mu:var(--ru-discret,#6b7280);--rp-ac:var(--ru-accent,#1d5c8f);--rp-ac-f:var(--ru-accent-fonce,#174a73);--rp-sur:var(--ru-sur-accent,#ffffff);--rp-doux:var(--ru-accent-doux,rgba(44,111,181,.12));--rp-bd:var(--ru-bordure,rgba(0,0,0,.10));--rp-fond:var(--ru-fond,#ffffff);--rp-surf:var(--ru-surface,#f6f6f4);--rp-ok:var(--ru-succes,#1a7f37);--rp-err:var(--ru-erreur,#b42318)}
.rubpro{color:var(--rp-tx);font-size:14px;line-height:1.5}
.rubpro *,.rubpro-proprio *{box-sizing:border-box}
.rubpro-carte{background:var(--rp-fond);border:1px solid var(--rp-bd);border-radius:16px;padding:20px;margin:0 0 16px;box-shadow:0 1px 3px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.05)}
.rubpro-carte h3{margin:0 0 12px;font-size:16px;color:var(--rp-tx)}
.rubpro-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rubpro-tete h2{margin:4px 0;font-size:20px;color:var(--rp-tx)}
.rubpro-tete p{margin:0 0 8px;color:var(--rp-tx2)}
.rubpro-sur{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rp-mu);font-weight:700}
.rubpro-aide,.rubpro-note{color:var(--rp-mu);margin:0 0 10px}
.rubpro-note{font-size:12px;margin-top:12px}
.rubpro-btn{display:inline-flex;align-items:center;gap:8px;background:var(--rp-ac);color:var(--rp-sur);border:0;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;line-height:1.2}
.rubpro-btn:hover,.rubpro-btn:focus{background:var(--rp-ac-f);color:var(--rp-sur)}
.rubpro-btn:focus-visible,.rubpro-mini:focus-visible,.rubpro-vue:focus-visible{outline:2px solid var(--rp-ac);outline-offset:2px}
.rubpro-monter{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.rubpro-monter-sous{font-size:12px;color:var(--rp-mu)}
.rubpro-badges{margin:0 0 12px}
.rubpro-badge{display:inline-flex;align-items:center;gap:6px;background:var(--rp-doux);color:var(--rp-ac);border:1px solid var(--ru-accent-filet,rgba(44,111,181,.45));border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}
.rubpro-proprio{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--rp-surf);border:1px solid var(--rp-bd);border-radius:10px;padding:12px 14px;margin:0 0 14px;color:var(--rp-tx)}
.rubpro-proprio-tx{display:flex;flex-direction:column;gap:2px}
.rubpro-proprio-lien{font-size:12px;color:var(--rp-mu)}
.rubpro-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.rubpro-photo{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--rp-bd);aspect-ratio:1/1;background:var(--rp-surf)}
.rubpro-photo img{width:100%;height:100%;object-fit:cover;display:block}
.rubpro-choix{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rubpro-choix select,.rubpro-champ input,.rubpro-champ select{border:1px solid rgba(0,0,0,.16);border-radius:10px;padding:8px 10px;font-size:14px;background:var(--rp-fond);color:var(--rp-tx);max-width:100%}
.rubpro-vues{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.rubpro-vue{border:1px solid var(--rp-bd);background:var(--rp-fond);color:var(--rp-tx2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}
.rubpro-vue.is-on{background:var(--rp-ac);border-color:var(--rp-ac);color:var(--rp-sur)}
.rubpro-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 14px}
.rubpro-kpi{border:1px solid var(--rp-bd);border-radius:10px;padding:12px 14px;background:var(--rp-fond);display:flex;flex-direction:column;gap:2px}
.rubpro-kpi span{font-size:12px;color:var(--rp-mu)}
.rubpro-kpi b{font-size:22px;color:var(--rp-tx);font-variant-numeric:tabular-nums}
.rubpro-ecart{font-size:12px;color:var(--rp-mu)}
.rubpro-ecart small{font-size:11px}
.rubpro-ecart.is-hausse{color:var(--rp-ok)}
.rubpro-ecart.is-baisse{color:var(--rp-err)}
.rubpro-graph{width:100%;height:auto;display:block;margin:4px 0 14px}
.rubpro-graph rect{fill:var(--rp-ac)}
.rubpro-graph .rubpro-axe{stroke:var(--rp-bd);stroke-width:1}
.rubpro-graph text{font-size:11px;fill:var(--rp-mu)}
.rubpro-deux{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rubpro-deux h4{margin:0 0 8px;font-size:13px;color:var(--rp-tx2)}
.rubpro-barres,.rubpro-liste,.rubpro-gestion{list-style:none;margin:0;padding:0}
.rubpro-barres li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:8px;align-items:center;margin:0 0 6px;font-size:13px}
.rubpro-barre{height:6px;border-radius:999px;background:var(--rp-surf);overflow:hidden}
.rubpro-barre i{display:block;height:100%;background:var(--rp-ac)}
.rubpro-liste li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--rp-bd);padding:6px 0;font-size:13px}
.rubpro-gestion{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0 0 14px}
.rubpro-gestion li{border:1px solid var(--rp-bd);border-radius:10px;overflow:hidden;background:var(--rp-fond)}
.rubpro-gestion img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.rubpro-gestion-act{display:flex;gap:4px;padding:6px;flex-wrap:wrap}
.rubpro-mini{border:1px solid var(--rp-bd);background:var(--rp-fond);color:var(--rp-tx2);border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center}
.rubpro-mini-retirer{color:var(--rp-err);margin-left:auto}
.rubpro-ajout{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.rubpro-champ{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--rp-tx2)}
.rubpro-msg{width:100%;margin:0;font-size:13px;color:var(--rp-mu)}
.rubpro-msg.is-erreur{color:var(--rp-err)}
.rubpro-vide{text-align:left}
/* Emplacements de la liste (F42) */
.rubx-pub-liste-top{margin:0 0 18px}
.rubpro-mobile-banniere{display:none}
@media (max-width:768px){
  .rubpro-deux{grid-template-columns:1fr}
  .rubpro-carte{padding:16px}
  .rubpro-mobile-banniere{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ru-fond,#ffffff);border-top:1px solid var(--ru-bordure,rgba(0,0,0,.10));padding:6px 16px;padding-bottom:6px;max-height:96px;overflow:hidden}
  .rubpro-mobile-banniere .ru-pub-slot{display:block !important;margin:0 auto !important;max-width:390px}
  .rubpro-mobile-banniere img{max-height:80px;width:auto;max-width:100%;margin:0 auto}
}
.rubpro-dans-onglet{margin:0 0 14px}
/* B07 (2026-10-03) : boutons d'action de la fiche Pro, vedette, agence */
.rubpro-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.rubpro-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid var(--rp-bd);background:var(--rp-fond);color:var(--rp-ac);font-weight:700;font-size:14px;text-decoration:none;line-height:1.2}
.rubpro-action:hover,.rubpro-action:focus{border-color:var(--rp-ac);color:var(--rp-ac-f)}
.rubpro-action:focus-visible{outline:2px solid var(--rp-ac);outline-offset:2px}
.rubpro-action-1{background:var(--rp-ac);border-color:var(--rp-ac);color:var(--rp-sur)}
.rubpro-action-1:hover,.rubpro-action-1:focus{background:var(--rp-ac-f);color:var(--rp-sur)}
.rubpro-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0}
.rubpro-form .rubpro-champ{flex:1 1 220px;min-width:0}
.rubpro-form input[type=text],.rubpro-form input[type=tel],.rubpro-form input[type=email],.rubpro-form input[type=url]{width:100%;min-height:44px;border:1px solid var(--rp-bd);border-radius:10px;padding:8px 12px;font-size:16px;background:var(--rp-fond);color:var(--rp-tx)}
.rubpro-form-ligne{flex-wrap:nowrap;align-items:center}
.rubpro-btn-doux{background:var(--rp-fond);color:var(--rp-ac);border:1px solid var(--rp-bd)}
.rubpro-btn-doux:hover,.rubpro-btn-doux:focus{background:var(--rp-doux);color:var(--rp-ac-f)}
.rubpro-etat{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--rp-surf);color:var(--rp-tx2);font-size:14px}
.rubpro-etat-on{background:var(--rp-doux);color:var(--rp-ac)}
.rubpro-agence-liste{list-style:none;margin:0;padding:0}
.rubpro-agence-liste li{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 0;border-top:1px solid var(--rp-bd)}
.rubpro-agence-liste li:first-child{border-top:0}
.rubpro-agence-nom{min-width:0;overflow-wrap:anywhere;font-weight:600;color:var(--rp-tx)}
.rubpro-pastille{font-style:normal;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--rp-doux);color:var(--rp-ac);margin-left:6px;white-space:nowrap}
.rubpro-pastille-doux{background:var(--rp-surf);color:var(--rp-mu)}
.rubpro-agence-liste .rubpro-mini{min-height:36px}
@media (max-width:600px){
  .rubpro-action{flex:1 1 calc(50% - 8px)}
  .rubpro-agence-liste li{flex-wrap:wrap}
  .rubpro-form-ligne{flex-wrap:wrap}
}


/* Standard mobile RU (livraison 4) : champs a 16 px sur ecran tactile,
   sinon certains telephones zooment toute la page au toucher d'un champ. */
@media (pointer:coarse){
  .rubpro-choix :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea),.rubpro-champ :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea),.rubpro-carte :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea){font-size:16px !important}
}
