/* Match 15s Pro - clean English design */
:root{
  --m15s-primary:#2563eb;
  --m15s-primary-dark:#1d4ed8;
  --m15s-match:#dc2626;
  --m15s-hover:#FFC910;
  --m15s-text:#171733;
  --m15s-muted:#66667a;
  --m15s-bg:#f8fafc;
  --m15s-card:#ffffff;
  --m15s-border:#e5e7eb;
  --m15s-soft:#eef4ff;
  --m15s-danger:#ef4444;
  --m15s-success:#16a34a;
  --m15s-pink:#ec4899;
  --m15s-radius:16px;
}


.m15s-max-note,
.m15s-limit-note,
.m15s-pill-limit,
small.m15s-note,
.m15s-field small,
.m15s-field-note {
    display: none !important;
}



.m15s-wrap{
  max-width:1120px;
  margin:28px auto;
  padding:0 18px;
  color:var(--m15s-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.m15s-card,
.m15s-profile-card,
.m15s-member-card,
.m15s-profile-hero-pro,
.m15s-profile-sections-grid .m15s-pill-section{
  background:var(--m15s-card);
  border:1px solid var(--m15s-border);
  border-radius:var(--m15s-radius);
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}

.m15s-card,.m15s-profile-card,.m15s-member-card{padding:22px;}

.m15s-hero{
  display:flex;
  align-items:center;
  gap:20px;
  background:#fff;
  border:1px solid var(--m15s-border);
  border-radius:22px;
  padding:24px;
  margin-bottom:22px;
  box-shadow:0 12px 30px rgba(37,99,235,.08);
}

.m15s-kicker{
  color:var(--m15s-primary);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:500;
  margin:0 0 6px;
}

.m15s-hero h1,
.m15s-section-head h1,
.m15s-profile-card h1{
  margin:0 0 8px;
  font-size:clamp(18px,4vw,30px);
  line-height:1.06;
  font-weight:500;
  color:#190060;
}

.m15s-hero p,.m15s-location,.m15s-popup-box p{color:var(--m15s-muted);margin:0;}

.m15s-avatar,
.m15s-avatar.fifteens-account-avatar{
  display:block;
  position:relative;
  border-radius:999px;
  overflow:hidden;
  background:var(--m15s-soft);
  border:3px solid #fff;
  outline:2px solid var(--m15s-primary);
  padding:0!important;
  flex:0 0 auto;
  box-shadow:none!important;
}

.m15s-avatar img,
.m15s-avatar .avatar,
.m15s-avatar .fifteens-account-avatar,
.m15s-avatar .fifteens-account-avatar-img,
.m15s-avatar picture,
.m15s-avatar picture img{
  width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:100%!important;max-height:100%!important;
  display:block!important;object-fit:cover!important;border-radius:999px!important;border:0!important;margin:0!important;padding:0!important;
}

/* Formulaire */
.m15s-form label{display:block;font-weight:700;color:#190060;}
.m15s-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.m15s-field{margin-top:22px;}
.m15s-form input[type=text],
.m15s-form input[type=date],
.m15s-form select,
.m15s-gender-open,
.m15s-selected{
  width:100%;box-sizing:border-box;margin-top:8px;border:1px solid var(--m15s-border);border-radius:14px;padding:13px 14px;
  font-size:15px;outline:none;background:#fff;color:var(--m15s-text);box-shadow:none!important;
}
.m15s-form input:focus,.m15s-form select:focus,.m15s-selected:focus{border-color:var(--m15s-primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;}

.m15s-field-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:17px;font-weight:500;margin-bottom:10px;color:#190060!important;}
.m15s-field-title span{background:var(--m15s-primary);color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:500;}
.m15s-tags{display:flex;flex-wrap:wrap;gap:9px;}
.m15s-tag{position:relative;}
.m15s-tag input{position:absolute;opacity:0;pointer-events:none;}
.m15s-tag span{
  display:inline-flex;border:1px solid var(--m15s-border);border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:500;
  transition:.15s ease;background:#fff;color:var(--m15s-text);
}
.m15s-tag span:hover{border-color:var(--m15s-primary);color:var(--m15s-primary);}
.m15s-tag input:checked + span{background:var(--m15s-primary);border-color:var(--m15s-primary);color:#fff;}
.m15s-tag.m15s-disabled span{opacity:.42;cursor:not-allowed;}
.m15s-limit-msg{color:var(--m15s-primary);min-height:18px;margin:8px 0 0;font-size:13px;font-weight:700;}

.m15s-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.m15s-btn{
  display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--m15s-primary);padding:12px 17px;
  font-weight:500;text-decoration:none!important;cursor:pointer;transition:.15s ease;box-shadow:none!important;
}
.m15s-btn-primary{background:var(--m15s-primary);color:#fff!important;border-color:var(--m15s-primary);}
.m15s-btn-secondary{background:#6366f1;color:#fff!important;border-color:#6366f1;}
.m15s-btn-danger{background:var(--m15s-danger);color:#fff!important;border-color:var(--m15s-danger);}
.m15s-btn:hover{background:var(--m15s-hover)!important;border-color:var(--m15s-hover)!important;color:#171733!important;}
.m15s-notice{margin-top:14px;font-weight:700;}

/* Menu */
.m15s-menu{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px;}
.m15s-menu a{
  display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:8px;background:var(--m15s-primary);
  color:#fff!important;text-decoration:none!important;font-weight:500;border:1px solid var(--m15s-primary);
}
.m15s-menu a.m15s-menu-search{background:var(--m15s-success)!important;border-color:var(--m15s-success)!important;}
.m15s-menu a.m15s-menu-profile{background:var(--m15s-pink)!important;border-color:var(--m15s-pink)!important;}
.m15s-menu a:hover{background:var(--m15s-hover)!important;border-color:var(--m15s-hover)!important;color:#171733!important;}
.m15s-menu-members{border-radius:8px!important;}

/* Profile */
.m15s-profile-top{display:flex;align-items:center;gap:20px;margin-bottom:18px;}
.m15s-user-summary{margin:8px 0 10px;}
.m15s-summary-name,.m15s-summary-age,.m15s-profile-name,.m15s-member-name{font-weight:500!important;}
.m15s-summary-name{font-size:20px;color:#171733;line-height:1.15;}
.m15s-summary-age,.m15s-meta{font-weight:500!important;color:var(--m15s-primary)!important;margin-top:4px!important;}
.m15s-age-line{display:none!important;}

.m15s-pill-section{margin:16px 0;}
.m15s-pill-section h3{color:#190060!important;text-transform:uppercase;letter-spacing:.06em;font-size:13px;margin:0 0 8px;font-weight:800;}
.m15s-pills{display:flex;flex-wrap:wrap;gap:8px;}
.m15s-pills span{background:var(--m15s-soft);color:var(--m15s-primary);border-radius:999px;padding:7px 10px;font-size:13px;font-weight:300;border:1px solid #dbeafe;}

.m15s-profile-page{max-width:1180px;}
.m15s-profile-hero-pro{position:relative;border-radius:24px;overflow:hidden;background:#f3f4f6!important;border:1px solid #d1d5db!important;margin-bottom:28px;}
.m15s-profile-cover{height:110px!important;background:#e5e7eb!important;}
.m15s-profile-main-card{position:relative;margin-top:-70px;padding:0 28px 28px;display:flex;align-items:flex-end;gap:24px;}
.m15s-profile-avatar-wrap .m15s-avatar{border:5px solid #fff!important;width:145px!important;height:145px!important;}
.m15s-profile-main-info{flex:1;}
.m15s-profile-name-pro{font-size:clamp(32px,5vw,54px);font-weight:900;line-height:1;margin:0 0 12px;color:#190060;}
.m15s-profile-meta-pro{display:flex;flex-wrap:wrap;gap:10px;}
.m15s-profile-meta-pro span{background:#fff;border:1px solid #d9d7ff;color:var(--m15s-primary);padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;}
.m15s-profile-sections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.m15s-profile-sections-grid .m15s-pill-section{padding:20px;margin:0;}
.m15s-profile-actions-pro{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.m15s-profile-actions-pro .m15s-btn{min-width:220px;font-size:15px;font-weight:500;}

/* Members */
.m15s-section-head{margin-bottom:18px;}
.m15s-section-head h1{font-size:clamp(20px,3vw,30px)!important;font-weight:900!important;}
.m15s-grid-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.m15s-member-card{text-align:center;position:relative;transition:.18s ease;}
.m15s-member-card:hover{transform:translateY(0px);box-shadow:0 16px 36px rgba(15,23,42,.09)!important;}
.m15s-member-card .m15s-avatar{margin:0 auto 14px;}
.m15s-member-card h2{margin:6px 0 4px;font-size:26px;font-weight:900;}
.m15s-score{display:inline-flex;margin:12px 0;padding:8px 11px;border-radius:999px;background:var(--m15s-soft);color:var(--m15s-primary);font-weight:500;}
.m15s-member-card-new{padding-top:54px!important;outline:3px solid rgba(37,99,235,.18)!important;}
.m15s-new-match-badge{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:center;justify-content:center;min-height:32px;border-radius:999px;color:#fff;font-weight:900;font-size:13px;background:var(--m15s-primary);z-index:2;animation:m15sBadgePulse .9s infinite alternate!important;}
.m15s-new-match-badge.m15s-new-match-female{background:var(--m15s-pink);}
@keyframes m15sBadgePulse{from{transform:scale(1)}to{transform:scale(1.04)}}

/* Select custom + popup genre */
.m15s-custom-select{position:relative;width:100%;margin-top:8px;}
.m15s-selected{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.m15s-selected:after{content:'';border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--m15s-muted);margin-left:12px;}
.m15s-dropdown{position:absolute;left:0;right:0;top:calc(100% + 5px);margin:0;padding:4px 0;list-style:none;display:none;background:#fff;border:1px solid var(--m15s-border);border-radius:14px;z-index:9999;box-shadow:0 12px 26px rgba(15,23,42,.12)!important;overflow:hidden;}
.m15s-dropdown.open{display:block;}
.m15s-dropdown li{padding:10px 14px;cursor:pointer;font-size:14px;font-weight:700;}
.m15s-dropdown li:hover{background:var(--m15s-hover);color:#171733;}
.m15s-popup-overlay{display:none;position:fixed;inset:0;z-index:999999;background:rgba(23,23,51,.38);align-items:center;justify-content:center;padding:20px;}
.m15s-popup-overlay.is-open{display:flex;}
.m15s-popup-box{width:100%;max-width:380px;background:#fff;border:0;border-radius:18px;padding:22px;position:relative;box-shadow:0 20px 50px rgba(15,23,42,.18)!important;}
.m15s-popup-box h3{color:var(--m15s-primary)!important;font-weight:900!important;margin:0 0 8px;}
.m15s-popup-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:1px solid var(--m15s-border);border-radius:8px;background:#fff;cursor:pointer;font-size:22px;line-height:1;}
.m15s-popup-close:hover{background:var(--m15s-hover);border-color:var(--m15s-hover);}
.m15s-gender-options{display:grid;gap:10px;}
.m15s-gender-choice{border:1px solid var(--m15s-primary);border-radius:10px;background:var(--m15s-primary);color:#fff;padding:12px 16px;cursor:pointer;font-weight:500;text-align:center;}
.m15s-gender-choice:hover{background:var(--m15s-hover)!important;border-color:var(--m15s-hover)!important;color:#171733!important;}
.m15s-custom-select.m15s-gender-select,select.m15s-gender-select{display:none!important;}
.m15s-gender-popup-box{max-width:260px!important;padding:14px!important;}
.m15s-gender-popup-box h3,.m15s-gender-popup-box p,#m15s-gender-close{display:none!important;}

/* Button profil rond créer profil */
.m15s-profile-heart-btn{width:44px;height:44px;border-radius:999px;background:var(--m15s-primary);color:#fff!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;box-shadow:none !important;}
.m15s-profile-heart-btn:hover{background:var(--m15s-hover);color:#171733!important;}

/* New unique round Match button */
#m15s-floating-btn,
#m15s-desktop-btn,
.m15s-desktop-btn,
.m15s-match-button-oval,
.match15s_bouton,
.match15s_bouton_desktop,
.match-button,
.m15s-match-watch{
  position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:999px!important;background:var(--m15s-primary)!important;color:#fff!important;
  overflow:visible!important;box-sizing:border-box!important;text-decoration:none!important;cursor:pointer!important;box-shadow:none!important;
  font-size:0!important;line-height:1!important;gap:0!important;animation:none!important;transition:.16s ease!important;
}
#m15s-floating-btn.m15s-has-new-match,
#m15s-desktop-btn.m15s-has-new-match,
.m15s-desktop-btn.m15s-has-new-match,
.m15s-match-button-oval.m15s-has-new-match,
.match15s_bouton.m15s-has-new-match,
.match15s_bouton_desktop.m15s-has-new-match,
.match-button.m15s-has-new-match,
.m15s-match-watch.m15s-has-new-match{background:var(--m15s-match)!important;box-shadow:none!important;}
#m15s-floating-btn:hover,
#m15s-desktop-btn:hover,
.m15s-desktop-btn:hover,
.m15s-match-button-oval:hover,
.match15s_bouton:hover,
.match15s_bouton_desktop:hover,
.match-button:hover,
.m15s-match-watch:hover{background:#FFC910 !important; color:#fff!important;transform:translateY(0px)!important;}

.m15s-match-icon{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:25px!important;height:25px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;color:currentColor!important;z-index:2!important;}
.m15s-match-icon svg{width:25px!important;height:25px!important;display:block!important;color:currentColor!important;stroke:currentColor!important;}
/* Correction conflit : ne jamais cacher les hearts du site globalement.
   On masque seulement les anciennes icônes heart à l’intérieur des boutons Match15s. */
#m15s-floating-btn .m15s-heart,
#m15s-floating-btn .f15s-heart-icon,
#m15s-desktop-btn .m15s-heart,
#m15s-desktop-btn .f15s-heart-icon,
.m15s-desktop-btn .m15s-heart,
.m15s-desktop-btn .f15s-heart-icon,
.m15s-match-button-oval .m15s-heart,
.m15s-match-button-oval .f15s-heart-icon,
.match15s_bouton .m15s-heart,
.match15s_bouton .f15s-heart-icon,
.match15s_bouton_desktop .m15s-heart,
.match15s_bouton_desktop .f15s-heart-icon,
.match-button .m15s-heart,
.match-button .f15s-heart-icon,
.m15s-match-watch .m15s-heart,
.m15s-match-watch .f15s-heart-icon{display:none!important;}
.m15s-match-text{display:none!important;}

.m15s-notification-dot{position:absolute!important;top:2px!important;right:2px!important;min-width:16px!important;height:16px!important;padding:0 5px!important;border-radius:999px!important;background:#ef4444!important;color:#fff!important;border:0!important;outline:0!important;box-shadow:none!important;display:none;align-items:center!important;justify-content:center!important;font-size:10px!important;font-weight:900!important;line-height:1!important;z-index:5!important;}
.m15s-has-new-match .m15s-notification-dot{display:inline-flex!important;}
.m15s-notification-dot + .m15s-notification-dot{display:none!important;}

/* Popup new match */
.m15s-newmatch-popup,#m15s-newmatch-popup{display:none;position:fixed;right:22px;bottom:90px;z-index:999999;max-width:360px;background:#fff;color:#190060;border:0;border-radius:22px;padding:22px;box-shadow:0 22px 55px rgba(15,23,42,.22)!important;cursor:pointer;}
.m15s-newmatch-popup.is-visible{display:block;}
.m15s-popup-close-btn{position:absolute;top:10px;right:12px;width:30px;height:30px;border:0;border-radius:999px;background:#f1f5f9;color:#190060;cursor:pointer;font-size:20px;line-height:1;}
.m15s-popup-close-btn:hover{background:var(--m15s-hover);}
.m15s-popup-kicker{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;}
.m15s-popup-title{font-size:20px;font-weight:950;line-height:1.15;margin:0 0 8px;color:#190060;}
.m15s-popup-message{font-size:14px;line-height:1.5;color:#475569;margin-bottom:16px;}
.m15s-popup-link{display:inline-flex;align-items:center;justify-content:center;background:var(--m15s-primary);color:#fff!important;text-decoration:none!important;border-radius:12px;padding:11px 14px;font-weight:900;}
.m15s-popup-link:hover{background:var(--m15s-hover);color:#171733!important;}

/* Admin */
.m15s-admin-actions{display:flex;gap:8px;align-items:center;}
.m15s-admin-delete{color:#b91c1c!important;border-color:#fecaca!important;}

@media(max-width:900px){.m15s-profile-sections-grid{grid-template-columns:1fr;}}
@media(max-width:700px){
  .m15s-grid-2{grid-template-columns:1fr;}
  .m15s-hero,.m15s-profile-top{align-items:flex-start;flex-direction:column;}
  .m15s-actions .m15s-btn{width:100%;}
  .m15s-menu{display:grid;grid-template-columns:1fr;}
  .m15s-profile-main-card{flex-direction:column;align-items:center;text-align:center;margin-top:-60px;padding:0 18px 22px;}
  .m15s-profile-meta-pro{justify-content:center;}
  .m15s-profile-actions-pro{flex-direction:column;}
  .m15s-profile-actions-pro .m15s-btn{width:100%;}

  .match15s-mobile-btn-wrapper{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 52px!important;width:44px!important;min-width:44px!important;max-width:44px!important;margin:0 0 0 0px!important;padding:0!important;position:relative!important;overflow:visible!important;}
  .match15s-mobile-btn-wrapper #m15s-floating-btn,.FifteenS-mobile-avatar-line .match15s-mobile-btn-wrapper button#m15s-floating-btn{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;}
  .FifteenS-mobile-avatar-line{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;overflow:visible!important;}
  .m15s-newmatch-popup,#m15s-newmatch-popup{left:16px;right:16px;bottom:78px;max-width:none;padding:20px;}
}


/* FIX : ne pas cacher les hearts des publications 15Secondes */
.FifteenS-item .f15s-heart-icon,
.FifteenS-item .reaction .f15s-heart-icon,
.FifteenS-item .reaction svg,
.FifteenS-item .reaction i,
.reaction-bar-bottom .f15s-heart-icon,
.reaction-bar-bottom .reaction svg,
.reaction-bar-bottom .reaction i {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: initial !important;
    max-width: none !important;
    min-height: initial !important;
    max-height: none !important;
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    color: inherit !important;
    fill: currentColor !important;
    font-size: inherit !important;
}

/* Le style du bouton Match ne doit toucher QUE Match15s */
.match15s_bouton .f15s-heart-icon,
#m15s-floating-btn .f15s-heart-icon {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* ==========================================================
   v48 corrections ciblées : menu, grille members, badge new match
   ========================================================== */

/* Buttons menu : distinct colors without changing HTML */
.m15s-menu a.m15s-menu-members{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  border-radius:8px!important;
}
.m15s-menu a.m15s-menu-search{
  background:#16a34a!important;
  border-color:#16a34a!important;
  color:#fff!important;
  border-radius:8px!important;
}
.m15s-menu a.m15s-menu-profile,
.m15s-menu a.m15s-menu-edit-profile{
  background:#ec4899!important;
  border-color:#ec4899!important;
  color:#fff!important;
  border-radius:8px!important;
}
.m15s-menu a.m15s-menu-create-profile{
  background:#f97316!important;
  border-color:#f97316!important;
  color:#fff!important;
  border-radius:8px!important;
}
.m15s-menu a:hover{
  background:#FFC910!important;
  border-color:#FFC910!important;
  color:#171733!important;
}

/* Members grid : titles and choices plus lisibles dans les cards */
.m15s-grid-members .m15s-pill-section{
  margin:14px 0 0!important;
  text-align:left!important;
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
  border-radius:14px!important;
  padding:14px!important;
}
.m15s-grid-members .m15s-pill-section h3{
  display:block!important;
  margin:0 0 10px!important;
  color:#190060!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.m15s-grid-members .m15s-pills{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.m15s-grid-members .m15s-pills span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4ff!important;
  color:#2563eb!important;
  border:1px solid #dbeafe!important;
  border-radius:999px!important;
  padding:7px 10px!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.1!important;
}
.m15s-grid-members .m15s-pill-section em{
  color:#4643c7!important;
  font-size:13px!important;
  font-style:normal!important;
}

/* New Match : badge aligné en haut de la card */
.m15s-grid-members .m15s-member-card{
  overflow:visible!important;
}
.m15s-grid-members .m15s-member-card-new{
  padding-top:62px!important;
  outline:3px solid rgba(37,99,235,.16)!important;
}
.m15s-grid-members .m15s-new-match-badge{
  position:absolute!important;
  top:14px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  min-width:150px!important;
  max-width:calc(100% - 28px)!important;
  min-height:34px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
  z-index:3!important;
  animation:none!important;
  box-shadow:0 8px 18px rgba(37,99,235,.22)!important;
}
.m15s-grid-members .m15s-new-match-badge.m15s-new-match-male{
  background:#2563eb!important;
}
.m15s-grid-members .m15s-new-match-badge.m15s-new-match-female{
  background:#ec4899!important;
}

/* ==========================================================
   V32.9 — Design compact cards members + icône Match blanche
   ========================================================== */
#m15s-floating-btn .m15s-match-icon,
#m15s-desktop-btn .m15s-match-icon,
.match15s_bouton .m15s-match-icon,
.match15s_bouton_desktop .m15s-match-icon,
.m15s-match-watch .m15s-match-icon{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:23px!important;
  height:23px!important;
  margin:0!important;
  color:#fff!important;
  z-index:2!important;
}
#m15s-floating-btn .m15s-match-icon svg,
#m15s-desktop-btn .m15s-match-icon svg,
.match15s_bouton .m15s-match-icon svg,
.match15s_bouton_desktop .m15s-match-icon svg,
.m15s-match-watch .m15s-match-icon svg{
  display:block!important;
  width:23px!important;
  height:23px!important;
  stroke:currentColor!important;
}
#m15s-floating-btn:hover .m15s-match-icon,
#m15s-desktop-btn:hover .m15s-match-icon,
.match15s_bouton:hover .m15s-match-icon,
.match15s_bouton_desktop:hover .m15s-match-icon,
.m15s-match-watch:hover .m15s-match-icon{
  color:#fff!important;
  background:#FFC910 !important;
}

.m15s-grid-members{
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;
  gap:14px!important;
}
.m15s-grid-members .m15s-member-card{
  padding:16px!important;
  border-radius:16px!important;
  min-height:0!important;
  overflow:visible!important;
}
.m15s-grid-members .m15s-member-card-new{
  padding-top:52px!important;
}
.m15s-grid-members .m15s-member-card .m15s-avatar{
  width:84px!important;
  height:84px!important;
  margin:0 auto 10px!important;
}
.m15s-grid-members .m15s-member-card h2,
.m15s-grid-members .m15s-member-name{
  font-size:21px!important;
  line-height:1.1!important;
  margin:4px 0 3px!important;
}
.m15s-grid-members .m15s-location,
.m15s-grid-members .m15s-meta{
  font-size:12px!important;
  line-height:1.25!important;
  margin:2px 0!important;
}
.m15s-grid-members .m15s-score{
  margin:8px 0 10px!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
}
.m15s-common-sections{
  display:grid!important;
  gap:8px!important;
  margin-top:8px!important;
  text-align:left!important;
}
.m15s-grid-members .m15s-pill-section{
  margin:0!important;
  padding:0!important;
}
.m15s-grid-members .m15s-pill-section h3{
  display:block!important;
  margin:0 0 6px!important;
  color:#190060!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.m15s-grid-members .m15s-pills{
  gap:5px!important;
}
.m15s-grid-members .m15s-pills span{
  padding:5px 8px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:700!important;
}
.m15s-grid-members .m15s-contact{
  margin-top:10px!important;
  width:100%!important;
  min-height:38px!important;
  padding:9px 12px!important;
  font-size:13px!important;
  border-radius:8px!important;
}
.m15s-grid-members .m15s-new-match-badge{
  top:10px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  min-width:132px!important;
  max-width:calc(100% - 24px)!important;
  min-height:30px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  box-shadow:0 6px 14px rgba(37,99,235,.2)!important;
  animation:none!important;
}
@media(max-width:768px){
  .m15s-grid-members{grid-template-columns:1fr!important;gap:12px!important;}
  .m15s-grid-members .m15s-member-card{padding:14px!important;}
  .m15s-grid-members .m15s-member-card-new{padding-top:50px!important;}
}

/* ==========================================================
   MATCH15S — DESIGN CARDS MEMBRES + ICÔNE MATCH TYPE IMAGE
   - Common points en texte, sans effet pills dans les cards
   - Titres visibles + termes dessous + séparateur
   - Cards plus aérées
   - Icon duo users + check au-dessus, blanche dans le rond
   ========================================================== */

/* Icon Match : duo users + check au-dessus */
#m15s-floating-btn .m15s-match-icon,
#m15s-desktop-btn .m15s-match-icon,
.match15s_bouton .m15s-match-icon,
.match15s_bouton_desktop .m15s-match-icon,
.m15s-match-watch .m15s-match-icon{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:26px!important;
  height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#ffffff!important;
  z-index:2!important;
  margin:0!important;
  padding:0!important;
}

#m15s-floating-btn .m15s-match-icon svg,
#m15s-desktop-btn .m15s-match-icon svg,
.match15s_bouton .m15s-match-icon svg,
.match15s_bouton_desktop .m15s-match-icon svg,
.m15s-match-watch .m15s-match-icon svg{
  width:26px!important;
  height:26px!important;
  display:block!important;
  color:currentColor!important;
  fill:currentColor!important;
}

#m15s-floating-btn:hover .m15s-match-icon,
#m15s-desktop-btn:hover .m15s-match-icon,
.match15s_bouton:hover .m15s-match-icon,
.match15s_bouton_desktop:hover .m15s-match-icon,
.m15s-match-watch:hover .m15s-match-icon{
  color:#fff!important;
  background:#FFC910 !important;
}

/* Grille plus espacée */
.m15s-grid-members{
  gap:24px!important;
  align-items:start!important;
}

/* Card membre plus propre et aérée */
.m15s-grid-members .m15s-member-card{
  padding:22px!important;
  border-radius:18px!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  height:auto!important;
  min-height:0!important;
}

.m15s-grid-members .m15s-member-card-new{
  padding-top:64px!important;
}

/* Badge New Match aligné en haut */
.m15s-grid-members .m15s-new-match-badge{
  top:14px!important;
  left:18px!important;
  right:18px!important;
  height:34px!important;
  min-height:34px!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 12px!important;
}

/* Avatar et infos compactes */
.m15s-grid-members .m15s-member-card .m15s-avatar{
  margin:0 auto 6px!important;
}

.m15s-grid-members .m15s-member-card h2,
.m15s-grid-members .m15s-member-name{
  margin:2px 0 0!important;
  font-size:24px!important;
  line-height:1.1!important;
}

.m15s-grid-members .m15s-location,
.m15s-grid-members .m15s-meta{
  margin:0!important;
  line-height:1.35!important;
}

.m15s-grid-members .m15s-score{
  margin:6px auto 4px!important;
}

/* Common points : plus de pills dans les cards */
.m15s-grid-members .m15s-common-sections{
  width:100%!important;
  margin-top:8px!important;
  text-align:left!important;
}

.m15s-grid-members .m15s-pill-section{
  margin:0!important;
  padding:12px 0!important;
  border-top:1px solid #e5e7eb!important;
  background:transparent!important;
}

.m15s-grid-members .m15s-pill-section:first-child{
  border-top:1px solid #e5e7eb!important;
}

.m15s-grid-members .m15s-pill-section h3{
  margin:0 0 7px!important;
  padding:0!important;
  color:#190060!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

.m15s-grid-members .m15s-pills{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#334155!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.m15s-grid-members .m15s-pills span{
  display:inline!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.45!important;
}

.m15s-grid-members .m15s-pills span:not(:last-child)::after{
  content:', ';
}

.m15s-grid-members .m15s-pill-section em{
  color:#4643c7!important;
  font-size:13px!important;
  font-style:normal!important;
}

/* Button message plus bas mais aligné */
.m15s-grid-members .m15s-contact{
  margin-top:6px!important;
  width:100%!important;
}

@media(max-width:768px){
  .m15s-grid-members{
    gap:18px!important;
  }
  .m15s-grid-members .m15s-member-card{
    padding:18px!important;
  }
  .m15s-grid-members .m15s-member-card-new{
    padding-top:60px!important;
  }
}

/* ==========================================================
   MATCH15S V32 — FINAL DESIGN CARDS MEMBRES 3 COLONNES
   - 3 cards par ligne desktop
   - intérieur plus aéré/pro
   - points communs titre + termes + séparateur
   - icône match : check remontée au-dessus des users
   ========================================================== */

/* Grille : 3 cards desktop, 2 tablette, 1 mobile */
.m15s-grid-members{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:stretch!important;
}

@media (max-width:1024px){
  .m15s-grid-members{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
  }
}

@media (max-width:700px){
  .m15s-grid-members{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
}

/* Card plus respirante mais moins haute inutilement */
.m15s-grid-members .m15s-member-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  height:auto!important;
  min-height:0!important;
  padding:24px 22px!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
  gap:0!important;
}

.m15s-grid-members .m15s-member-card-new{
  padding-top:70px!important;
}

/* Badge New Match mieux aligné en haut */
.m15s-grid-members .m15s-new-match-badge{
  position:absolute!important;
  top:18px!important;
  left:22px!important;
  right:22px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1!important;
  box-shadow:none!important;
  animation:none!important;
  z-index:3!important;
}

/* Avatar compact/pro */
.m15s-grid-members .m15s-member-card .m15s-avatar{
  width:98px!important;
  height:98px!important;
  margin:0 auto 14px!important;
  border-width:3px!important;
}

.m15s-grid-members .m15s-member-card h2,
.m15s-grid-members .m15s-member-name{
  margin:0 0 6px!important;
  font-size:23px!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:#190060!important;
}

.m15s-grid-members .m15s-location,
.m15s-grid-members .m15s-meta{
  margin:0 0 5px!important;
  font-size:13px!important;
  line-height:1.35!important;
  color:#4643c7!important;
}

.m15s-grid-members .m15s-score{
  margin:10px auto 12px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:500!important;
  background:#eff6ff!important;
  color:#2563eb!important;
}

/* Common points : pas de pills, titre + termes + séparateur */
.m15s-grid-members .m15s-common-sections{
  width:100%!important;
  margin:4px 0 0!important;
  text-align:left!important;
}

.m15s-grid-members .m15s-pill-section{
  width:100%!important;
  margin:0!important;
  padding:12px 0!important;
  border-top:1px solid #e5e7eb!important;
  background:transparent!important;
}

.m15s-grid-members .m15s-pill-section:first-child{
  border-top:1px solid #e5e7eb!important;
}

.m15s-grid-members .m15s-pill-section h3{
  margin:0 0 6px!important;
  padding:0!important;
  color:#190060!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

.m15s-grid-members .m15s-pills{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#334155!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.m15s-grid-members .m15s-pills span{
  display:inline!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.45!important;
}

.m15s-grid-members .m15s-pills span:not(:last-child)::after{
  content:', ';
}

.m15s-grid-members .m15s-pill-section em{
  color:#4643c7!important;
  font-size:13px!important;
  font-style:normal!important;
}

.m15s-grid-members .m15s-contact{
  margin-top:auto!important;
  width:100%!important;
  min-height:42px!important;
  border-radius:10px!important;
}

/* Button Match : check remontée au-dessus du duo */
#m15s-floating-btn .m15s-match-icon,
#m15s-desktop-btn .m15s-match-icon,
.match15s_bouton .m15s-match-icon,
.match15s_bouton_desktop .m15s-match-icon,
.m15s-match-watch .m15s-match-icon{
  width:28px!important;
  height:28px!important;
  top:49%!important;
}

#m15s-floating-btn .m15s-match-icon svg,
#m15s-desktop-btn .m15s-match-icon svg,
.match15s_bouton .m15s-match-icon svg,
.match15s_bouton_desktop .m15s-match-icon svg,
.m15s-match-watch .m15s-match-icon svg{
  width:28px!important;
  height:28px!important;
  overflow:visible!important;
}

@media(max-width:700px){
  .m15s-grid-members .m15s-member-card{
    padding:22px 18px!important;
    border-radius:18px!important;
  }
  .m15s-grid-members .m15s-member-card-new{
    padding-top:66px!important;
  }
  .m15s-grid-members .m15s-new-match-badge{
    top:16px!important;
    left:18px!important;
    right:18px!important;
  }
}

/* ==========================================================
   MATCH15S FINAL PATCH — cards members + icône user-check
   ========================================================== */

/* Grille : 3 cartes desktop, plus d’espace */
.m15s-grid-members{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:stretch!important;
  margin-top:28px!important;
}
@media(max-width:1024px){.m15s-grid-members{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:700px){.m15s-grid-members{grid-template-columns:1fr!important;gap:22px!important;}}

/* Card membre plus pro et moins haute */
.m15s-grid-members .m15s-member-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  min-height:0!important;
  height:auto!important;
  padding:24px 22px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
  overflow:hidden!important;
}
.m15s-grid-members .m15s-member-card-new{padding-top:66px!important;}
.m15s-grid-members .m15s-member-card .m15s-avatar{margin:0 auto 12px!important;}
.m15s-grid-members .m15s-member-name,
.m15s-grid-members h2{margin:6px 0 4px!important;font-size:22px!important;line-height:1.15!important;font-weight:500!important;color:#190060!important;}
.m15s-grid-members .m15s-meta{margin:0 0 8px!important;font-size:13px!important;line-height:1.35!important;color:#4643c7!important;font-weight:300!important;}
.m15s-grid-members .m15s-score{margin:8px auto 10px!important;padding:7px 12px!important;border-radius:999px!important;background:#eff6ff!important;color:#2563eb!important;font-size:13px!important;font-weight:500!important;}

/* Badge new match mieux aligné en haut */
.m15s-grid-members .m15s-new-match-badge{
  position:absolute!important;
  top:14px!important;
  left:18px!important;
  right:18px!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 14px!important;
  border-radius:8px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  z-index:3!important;
}
.m15s-grid-members .m15s-new-match-badge.m15s-new-match-female{background:#ec4899!important;}
.m15s-grid-members .m15s-new-match-badge.m15s-new-match-male{background:#2563eb!important;}

/* Common points : pas de bloc/pill/border autour, seulement traits séparateurs entre les catégories */
.m15s-grid-members .m15s-common-sections,
.m15s-grid-members .m15s-pill-section,
.m15s-grid-members .m15s-pills{
  display:block!important;
  width:100%!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  text-align:left!important;
}
.m15s-grid-members .m15s-common-sections{margin-top:8px!important;}
.m15s-grid-members .m15s-pill-section{
  padding:12px 0!important;
  border-top:1px solid #e5e7eb!important;
}
.m15s-grid-members .m15s-pill-section:last-child{padding-bottom:0!important;}
.m15s-grid-members .m15s-pill-section h3{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:#190060!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.m15s-grid-members .m15s-pills span,
.m15s-grid-members .m15s-pill-section li,
.m15s-grid-members .m15s-common-value{
  display:inline!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  color:#4643c7!important;
  font-size:13px!important;
  font-weight:300!important;
  line-height:1.55!important;
}
.m15s-grid-members .m15s-pills span:not(:last-child)::after,
.m15s-grid-members .m15s-pill-section li:not(:last-child)::after{content:' • ';color:#9ca3af!important;}
.m15s-grid-members .m15s-pill-section em{color:#4643c7 !important;font-size:13px!important;font-style:normal!important;}
.m15s-grid-members .m15s-contact{margin-top:16px!important;width:100%!important;min-height:42px!important;border-radius:10px!important;}

/* Button Match : FontAwesome user-check, blanc, centré */
#m15s-floating-btn,
#m15s-desktop-btn,
.m15s-desktop-btn,
.match15s_bouton,
.match15s_bouton_desktop,
.m15s-match-watch{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#2563eb!important;
  color:#fff!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  font-size:0!important;
  line-height:1!important;
  gap:0!important;
}
#m15s-floating-btn.m15s-has-new-match,
#m15s-desktop-btn.m15s-has-new-match,
.m15s-desktop-btn.m15s-has-new-match,
.match15s_bouton.m15s-has-new-match,
.match15s_bouton_desktop.m15s-has-new-match,
.m15s-match-watch.m15s-has-new-match{background:#dc2626!important;}
#m15s-floating-btn:hover,
#m15s-desktop-btn:hover,
.m15s-desktop-btn:hover,
.match15s_bouton:hover,
.match15s_bouton_desktop:hover,
.m15s-match-watch:hover{background:#FFC910!important;color:#fff!important;}

/* Old icons hidden only inside Match15s */
#m15s-floating-btn .m15s-heart,
#m15s-floating-btn .f15s-heart-icon,
#m15s-desktop-btn .m15s-heart,
#m15s-desktop-btn .f15s-heart-icon,
.match15s_bouton .m15s-heart,
.match15s_bouton .f15s-heart-icon,
.match15s_bouton_desktop .m15s-heart,
.match15s_bouton_desktop .f15s-heart-icon{display:none!important;}

#m15s-floating-btn .m15s-match-icon,
#m15s-desktop-btn .m15s-match-icon,
.m15s-desktop-btn .m15s-match-icon,
.match15s_bouton .m15s-match-icon,
.match15s_bouton_desktop .m15s-match-icon,
.m15s-match-watch .m15s-match-icon{
  position:absolute!important;
  left:50%!important;
  top:48%!important;
  transform:translate(-50%,-50%)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  z-index:2!important;
  line-height:1!important;
}
#m15s-floating-btn .m15s-match-icon i,
#m15s-desktop-btn .m15s-match-icon i,
.m15s-desktop-btn .m15s-match-icon i,
.match15s_bouton .m15s-match-icon i,
.match15s_bouton_desktop .m15s-match-icon i,
.m15s-match-watch .m15s-match-icon i{
  font-family:'Font Awesome 6 Free'!important;
  font-weight:900!important;
  font-size:19px!important;
  color:inherit!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
}
#m15s-floating-btn:hover .m15s-match-icon,
#m15s-desktop-btn:hover .m15s-match-icon,
.m15s-desktop-btn:hover .m15s-match-icon,
.match15s_bouton:hover .m15s-match-icon,
.match15s_bouton_desktop:hover .m15s-match-icon,
.m15s-match-watch:hover .m15s-match-icon{color:#fff!important; background:#FFC910 !important;}

.m15s-notification-dot{border:0!important;box-shadow:none!important;outline:0!important;}

/* ==========================================================
   v32.9 PATCH CIBLÉ — genre couleurs + champs dynamiques + badge centré
   Ne modifie que : boutons Homme/Femme, couleurs formulaire, badge New Match
   ========================================================== */

/* Buttons genre : Homme bleu / Femme rose */
.m15s-gender-options .m15s-gender-choice.m15s-gender-male,
button.m15s-gender-choice.m15s-gender-male{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#ffffff!important;
}

.m15s-gender-options .m15s-gender-choice.m15s-gender-female,
button.m15s-gender-choice.m15s-gender-female{
  background:#ec4899!important;
  border-color:#ec4899!important;
  color:#ffffff!important;
}

.m15s-gender-options .m15s-gender-choice:hover{
  background:#FFC910!important;
  border-color:#FFC910!important;
  color:#171733!important;
}

/* When Male is selected: fields and choices blue */
.m15s-wrap.m15s-theme-male{
  --m15s-primary:#2563eb!important;
  --m15s-hero:#dbeafe!important;
  --m15s-border:#93c5fd!important;
}

.m15s-wrap.m15s-theme-male .m15s-form input[type=text],
.m15s-wrap.m15s-theme-male .m15s-form input[type=date],
.m15s-wrap.m15s-theme-male .m15s-form select,
.m15s-wrap.m15s-theme-male .m15s-gender-open,
.m15s-wrap.m15s-theme-male .m15s-selected{
  border-color:#93c5fd!important;
  background:#FFF!important;
}

.m15s-wrap.m15s-theme-male .m15s-form input:focus,
.m15s-wrap.m15s-theme-male .m15s-form select:focus,
.m15s-wrap.m15s-theme-male .m15s-gender-open:hover{
  border-color:#2563eb!important;
  color:#2563eb!important;
}

.m15s-wrap.m15s-theme-male .m15s-tag input:checked + span,
.m15s-wrap.m15s-theme-male .m15s-field-title span,
.m15s-wrap.m15s-theme-male .m15s-btn-primary{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#ffffff!important;
}

.m15s-wrap.m15s-theme-male .m15s-tag span:hover{
  border-color:#2563eb!important;
  color:#2563eb!important;
}

/* When Female is selected: fields and choices pink */
.m15s-wrap.m15s-theme-female{
  --m15s-primary:#ec4899!important;
  --m15s-hero:#fce7f3!important;
  --m15s-border:#f9a8d4!important;
}

.m15s-wrap.m15s-theme-female .m15s-form input[type=text],
.m15s-wrap.m15s-theme-female .m15s-form input[type=date],
.m15s-wrap.m15s-theme-female .m15s-form select,
.m15s-wrap.m15s-theme-female .m15s-gender-open,
.m15s-wrap.m15s-theme-female .m15s-selected{
  border-color:#f9a8d4!important;
  background:#FFF!important;
}

.m15s-wrap.m15s-theme-female .m15s-form input:focus,
.m15s-wrap.m15s-theme-female .m15s-form select:focus,
.m15s-wrap.m15s-theme-female .m15s-gender-open:hover{
  border-color:#ec4899!important;
  color:#ec4899!important;
}

.m15s-wrap.m15s-theme-female .m15s-tag input:checked + span,
.m15s-wrap.m15s-theme-female .m15s-field-title span,
.m15s-wrap.m15s-theme-female .m15s-btn-primary{
  background:#ec4899!important;
  border-color:#ec4899!important;
  color:#ffffff!important;
}

.m15s-wrap.m15s-theme-female .m15s-tag span:hover{
  border-color:#ec4899!important;
  color:#ec4899!important;
}

/* New Match in card: properly centered */
.m15s-grid-members .m15s-member-card{
  position:relative!important;
}

.m15s-grid-members .m15s-new-match-badge{
  position:absolute!important;
  top:14px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  min-width:150px!important;
  max-width:calc(100% - 28px)!important;
  min-height:34px!important;
  padding:8px 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1!important;
  z-index:5!important;
}

.m15s-grid-members .m15s-new-match-badge.m15s-new-match-male{
  background:#2563eb!important;
  color:#ffffff!important;
}

.m15s-grid-members .m15s-new-match-badge.m15s-new-match-female{
  background:#ec4899!important;
  color:#ffffff!important;
}

/* ==========================================================
   EN v32.1 — Hero age + locked first name + stable mobile form
   ========================================================== */

/* Age visible directly under first name in the hero */
.m15s-hero .m15s-user-summary{
  display:block!important;
  margin-top:10px!important;
}
.m15s-hero .m15s-summary-name{
  display:block!important;
  font-size:22px!important;
  font-weight:500!important;
  line-height:1.15!important;
  color:#171733!important;
  margin:0!important;
}
.m15s-hero .m15s-summary-age,
.m15s-hero .m15s-hero-age{
  display:block!important;
  margin-top:4px!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#2563eb!important;
  line-height:1.25!important;
}

/* Locked first name field */
.m15s-first-name-locked,
.m15s-form input.m15s-first-name-locked{
  background:#f3f4f6!important;
  color:#6b7280!important;
  cursor:not-allowed!important;
  user-select:none!important;
  border-color:#d1d5db!important;
}
.m15s-first-name-locked:focus{
  border-color:#d1d5db!important;
  box-shadow:none!important;
  outline:none!important;
}

/* Mobile form stability: no horizontal jump/zoom/side scroll */
html,
body{
  max-width:100%!important;
  overflow-x:hidden!important;
}

.m15s-wrap,
.m15s-card,
.m15s-form,
.m15s-hero,
.m15s-profile-card,
.m15s-member-card{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.m15s-form *,
.m15s-wrap *{
  box-sizing:border-box!important;
}

@media (max-width:768px){
  html,
  body{
    width:100%!important;
    overflow-x:hidden!important;
  }

  .m15s-wrap{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:14px!important;
    padding-right:14px!important;
    overflow-x:hidden!important;
    touch-action:pan-y!important;
  }

  .m15s-hero,
  .m15s-card,
  .m15s-form{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  .m15s-grid-2{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
  }

  .m15s-form label,
  .m15s-field,
  .m15s-tags,
  .m15s-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .m15s-form input[type=text],
  .m15s-form input[type=date],
  .m15s-form select,
  .m15s-gender-open,
  .m15s-selected{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:16px!important; /* prevents iOS zoom/jump */
    transform:none!important;
  }

  .m15s-tags{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow-x:hidden!important;
  }

  .m15s-tag span{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .m15s-actions .m15s-btn{
    width:100%!important;
    max-width:100%!important;
  }

  .m15s-popup-overlay{
    overflow:hidden!important;
  }

  .m15s-popup-box{
    max-width:calc(100vw - 28px)!important;
    max-height:calc(100dvh - 40px)!important;
    overflow:auto!important;
  }
}


/* v34 age under first name in profile hero */
.m15s-profile-age-under-name{
  margin:6px 0 12px!important;
  font-size:17px!important;
  font-weight:500!important;
  color:#2563eb!important;
  line-height:1.2!important;
}
.m15s-profile-page.m15s-profile-female .m15s-profile-age-under-name{
  color:#ec4899!important;
}
.m15s-profile-page.m15s-profile-male .m15s-profile-age-under-name{
  color:#2563eb!important;
}

/* PATCH: fond uniquement pour le bloc profil hero */
.m15s-profile-hero-pro{
  background:#f3f3f3!important;
  background-color:#f3f3f3!important;
  background-image:none!important;
}


/* PATCH SVG icon users + heart (remplace FontAwesome user-check) */
#m15s-floating-btn .m15s-match-icon i,
#m15s-desktop-btn .m15s-match-icon i,
.m15s-desktop-btn .m15s-match-icon i,
.match15s_bouton .m15s-match-icon i,
.match15s_bouton_desktop .m15s-match-icon i,
.m15s-match-watch .m15s-match-icon i{display:none!important;}

#m15s-floating-btn .m15s-users-heart-svg,
#m15s-desktop-btn .m15s-users-heart-svg,
.m15s-desktop-btn .m15s-users-heart-svg,
.match15s_bouton .m15s-users-heart-svg,
.match15s_bouton_desktop .m15s-users-heart-svg,
.m15s-match-watch .m15s-users-heart-svg{
  width:30px!important;
  height:30px!important;
  display:block!important;
  color:#fff!important;
  fill:currentColor!important;
}

#m15s-floating-btn .m15s-match-icon,
#m15s-desktop-btn .m15s-match-icon,
.m15s-desktop-btn .m15s-match-icon,
.match15s_bouton .m15s-match-icon,
.match15s_bouton_desktop .m15s-match-icon,
.m15s-match-watch .m15s-match-icon{
  width:30px!important;
  height:30px!important;
  background:transparent!important;
  color:#fff!important;
}

#m15s-floating-btn:hover .m15s-users-heart-svg,
#m15s-desktop-btn:hover .m15s-users-heart-svg,
.m15s-desktop-btn:hover .m15s-users-heart-svg,
.match15s_bouton:hover .m15s-users-heart-svg,
.match15s_bouton_desktop:hover .m15s-users-heart-svg,
.m15s-match-watch:hover .m15s-users-heart-svg{color:#fff!important;}


/* PATCH FINAL: vrai SVG blanc + hover jaune sur le rond, pas sur l'icône */
#m15s-floating-btn .m15s-match-icon,
#m15s-desktop-btn .m15s-match-icon,
.m15s-desktop-btn .m15s-match-icon,
.match15s_bouton .m15s-match-icon,
.match15s_bouton_desktop .m15s-match-icon,
.m15s-match-watch .m15s-match-icon{
  background:transparent!important;
  color:#fff!important;
}
#m15s-floating-btn .m15s-users-heart-svg,
#m15s-desktop-btn .m15s-users-heart-svg,
.m15s-desktop-btn .m15s-users-heart-svg,
.match15s_bouton .m15s-users-heart-svg,
.match15s_bouton_desktop .m15s-users-heart-svg,
.m15s-match-watch .m15s-users-heart-svg{
  display:block!important;
  width:30px!important;
  height:30px!important;
  color:#fff!important;
  fill:currentColor!important;
}
#m15s-floating-btn:hover,
#m15s-desktop-btn:hover,
.m15s-desktop-btn:hover,
.match15s_bouton:hover,
.match15s_bouton_desktop:hover,
.m15s-match-watch:hover{
  background:#FFC910!important;
  background-color:#FFC910!important;
  color:#fff!important;
}
#m15s-floating-btn:hover .m15s-match-icon,
#m15s-desktop-btn:hover .m15s-match-icon,
.m15s-desktop-btn:hover .m15s-match-icon,
.match15s_bouton:hover .m15s-match-icon,
.match15s_bouton_desktop:hover .m15s-match-icon,
.m15s-match-watch:hover .m15s-match-icon{
  background:transparent!important;
  background-color:transparent!important;
  color:#fff!important;
}
#m15s-floating-btn:hover .m15s-users-heart-svg,
#m15s-desktop-btn:hover .m15s-users-heart-svg,
.m15s-desktop-btn:hover .m15s-users-heart-svg,
.match15s_bouton:hover .m15s-users-heart-svg,
.match15s_bouton_desktop:hover .m15s-users-heart-svg,
.m15s-match-watch:hover .m15s-users-heart-svg{
  color:#fff!important;
  fill:#fff!important;
}


/* Match15s - correction hover bouton jaune pur */
.match15s_bouton:hover,
.match15s_bouton_desktop:hover,
.m15s-match-round-btn:hover,
.m15s-match-watch:hover,
.match15s-mobile-btn-wrapper:hover,
.match15s-mobile-btn-wrapper .m15s-floating-btn:hover,
.m15s-floating-btn:hover {
    background: #FFC910 !important;
    background-color: #FFC910 !important;
    opacity: 1 !important;
    filter: none !important;
    color: #ffffff !important;
}

.match15s_bouton:hover *,
.match15s_bouton_desktop:hover *,
.m15s-match-round-btn:hover *,
.m15s-match-watch:hover *,
.match15s-mobile-btn-wrapper:hover *,
.match15s-mobile-btn-wrapper .m15s-floating-btn:hover *,
.m15s-floating-btn:hover * {
    opacity: 1 !important;
    filter: none !important;
}


/* Match15s - hover rond + coeur plus visible */
.match15s_bouton,
.match15s_bouton_desktop,
.m15s-match-round-btn,
.m15s-match-watch,
.match15s-mobile-btn-wrapper,
.m15s-floating-btn {
    border-radius: 50% !important;
    overflow: hidden !important;
}

.match15s_bouton:hover,
.match15s_bouton_desktop:hover,
.m15s-match-round-btn:hover,
.m15s-match-watch:hover,
.match15s-mobile-btn-wrapper:hover,
.match15s-mobile-btn-wrapper .m15s-floating-btn:hover,
.m15s-floating-btn:hover {
    background: #FFC910 !important;
    background-color: #FFC910 !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow: none !important;
}

.m15s-floating-btn svg,
.m15s-match-round-btn svg,
.match15s-mobile-btn-wrapper svg,
.match15s_bouton svg,
.match15s_bouton_desktop svg {
    width: 26px !important;
    height: 26px !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    stroke-width: 2.2 !important;
    display: block !important;
    margin: auto !important;
}


/* Match15s - icone coeur propre */
.m15s-custom-heart-icon {
    width: 28px !important;
    height: 28px !important;
    display: block !important;
    margin: auto !important;
    overflow: visible !important;
}


/* Match15s — correction finale : hover/clic jaune clair + icône image blanche */
#m15s-floating-btn:hover,
#m15s-floating-btn:active,
#m15s-floating-btn:focus,
.match15s-mobile-btn-wrapper:hover #m15s-floating-btn,
.match15s-mobile-btn-wrapper:active #m15s-floating-btn,
.match15s-mobile-btn-wrapper:focus-within #m15s-floating-btn,
.match15s-mobile-btn-wrapper #m15s-floating-btn:hover,
.match15s-mobile-btn-wrapper #m15s-floating-btn:active,
.match15s-mobile-btn-wrapper #m15s-floating-btn:focus {
  background:#FFC910!important;
  background-color:#FFC910!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  box-shadow:none!important;
  color:#ffffff!important;
}

#m15s-floating-btn .m15s-match-icon,
#m15s-desktop-btn .m15s-match-icon,
.match15s_bouton .m15s-match-icon,
.match15s_bouton_desktop .m15s-match-icon,
.m15s-match-watch .m15s-match-icon,
#m15s-floating-btn:hover .m15s-match-icon,
#m15s-floating-btn:active .m15s-match-icon,
.match15s-mobile-btn-wrapper:hover #m15s-floating-btn .m15s-match-icon {
  width:28px!important;
  height:28px!important;
  background:transparent!important;
  opacity:1!important;
  filter:none!important;
}

#m15s-floating-btn .m15s-match-icon-img,
#m15s-desktop-btn .m15s-match-icon-img,
.match15s_bouton .m15s-match-icon-img,
.match15s_bouton_desktop .m15s-match-icon-img,
.m15s-match-watch .m15s-match-icon-img {
  width:28px!important;
  height:28px!important;
  display:block!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:none!important;
  pointer-events:none!important;
}

/* PATCH utilisateur : choix profil horizontal mobile + hover mobile jaune clair */
@media (max-width: 768px){
  #m15s-profile-form .m15s-tags{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  #m15s-profile-form .m15s-tags::-webkit-scrollbar{display:none!important;}
  #m15s-profile-form .m15s-tag{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
  }
  #m15s-profile-form .m15s-tag span{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    max-width:none!important;
  }

  .match15s-mobile-btn-wrapper,
  .match15s-mobile-btn-wrapper * ,
  #m15s-floating-btn,
  #m15s-floating-btn *{
    opacity:1!important;
    filter:none!important;
    mix-blend-mode:normal!important;
  }

  .match15s-mobile-btn-wrapper:hover,
  .match15s-mobile-btn-wrapper:active,
  .match15s-mobile-btn-wrapper:focus,
  .match15s-mobile-btn-wrapper:focus-within,
  .match15s-mobile-btn-wrapper:hover #m15s-floating-btn,
  .match15s-mobile-btn-wrapper:active #m15s-floating-btn,
  .match15s-mobile-btn-wrapper:focus-within #m15s-floating-btn,
  .match15s-mobile-btn-wrapper #m15s-floating-btn:hover,
  .match15s-mobile-btn-wrapper #m15s-floating-btn:active,
  .match15s-mobile-btn-wrapper #m15s-floating-btn:focus,
  #m15s-floating-btn:hover,
  #m15s-floating-btn:active,
  #m15s-floating-btn:focus,
  #m15s-floating-btn.m15s-has-new-match:hover,
  #m15s-floating-btn.m15s-has-new-match:active,
  #m15s-floating-btn.m15s-has-new-match:focus{
    background:#FFC910!important;
    background-color:#FFC910!important;
    border-color:#FFC910!important;
    color:#ffffff!important;
    opacity:1!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    box-shadow:none!important;
  }

  .match15s-mobile-btn-wrapper:hover::before,
  .match15s-mobile-btn-wrapper:hover::after,
  .match15s-mobile-btn-wrapper:active::before,
  .match15s-mobile-btn-wrapper:active::after,
  #m15s-floating-btn:hover::before,
  #m15s-floating-btn:hover::after,
  #m15s-floating-btn:active::before,
  #m15s-floating-btn:active::after{
    background:#FFC910!important;
    background-color:#FFC910!important;
    opacity:1!important;
    filter:none!important;
  }
}


/* CORRECTION DOT UNIQUEMENT */
.match15s-mobile-btn-wrapper,
#m15s-floating-btn,
.match15s_bouton,
.match15s_bouton_desktop,
.m15s-match-watch{
  position:relative !important;
  overflow:visible !important;
}

.m15s-notification-dot{
  position:absolute !important;
  top:0px !important;
  right:-5px !important;
  transform:none !important;
  min-width:16px !important;
  height:16px !important;
  padding:0 5px !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#ef4444 !important;
  color:#ffffff !important;
  font-size:10px !important;
  font-weight:300 !important;
  line-height:1 !important;
  z-index:999999 !important;
  opacity:1 !important;
  visibility:visible !important;
  border:0px !important;
  outline:0px !important;
  box-shadow:0 0 0 0px #ffffff !important;
  pointer-events:none !important;
}

.m15s-has-new-match > .m15s-notification-dot,
#m15s-floating-btn.m15s-has-new-match .m15s-notification-dot,
.match15s_bouton.m15s-has-new-match .m15s-notification-dot,
.match15s_bouton_desktop.m15s-has-new-match .m15s-notification-dot,
.m15s-match-watch.m15s-has-new-match .m15s-notification-dot{
  display:flex !important;
}