@charset "utf-8";

/* ========================= BASE ========================= */

html, body { height: 100%; min-height: 100%; }

body { margin: 0; font-family: Inter, Arial, sans-serif; background: #0A0B0D; color: #E4E6EB; }

h1, h2 { color: #FFFFFF; margin-top: 40px; }

p { color: #FFFFFF; }

.content { padding: 20px 10px; }

a { color: #fff; }

/* ========================= ALERTES ========================= */
.swal2-container { z-index: 20000 !important; }

.swal2-container.swal2-top { top:80px !important; }

/* ========================= LAYOUT PRINCIPAL ========================= */

#site-wrapper { max-width: 990px; min-width: 360px; margin: 0 auto; padding-top: 60px; padding-bottom: 70px; min-height: calc(100% - 130px); background: #0A0B0D; }

/* ========================= HEADER ========================= */

.header-bg { position: fixed; top: 0; left: 0; width: 100%; height: 60px; background: #121212; border-bottom: 1px solid #3d3d3d; z-index: 20000; }

.header-inner { max-width: 970px; min-width: 330px; height: 60px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; }

.header-logo { height: 25px; width: auto; display: block; }

.header-icons { display: flex; align-items: center; gap: 15px; }

.header-icon-btn img { width: 25px; height: 25px; display: block; }

/* ========================= MENU BAS ========================= */

.menu-bg { position: fixed; bottom: 0; left: 0; width: 100%; background: #121212; border-top: 1px solid #3d3d3d; z-index: 9999; }

.menu-mobile { max-width: 990px; min-width: 360px; height: 70px; margin: 0 auto; display: flex; justify-content: space-around; position: relative; overflow: visible; }

/* ========================= MENU ITEMS ========================= */

.menu-item { flex: 1; text-align: center; font-size: 11px; color: #ffffff; text-decoration: none; padding-top: 10px; background-color: #121212; position: relative; -webkit-tap-highlight-color: transparent; }

.menu-item.active { background-color: #373737; }

/* ========================= ICONES MENU ========================= */

.icon-wrap { position: relative; width: 34px; height: 34px; margin: 0 auto 3px; }

.icon-wrap img { width: 100%; height: 100%; display: block; opacity: 0.75; transition: opacity 0.2s; }

.menu-item.active .icon-wrap img { opacity: 1; }

/* ========================= BADGES ========================= */

.badge { position: absolute; top: -2px; right: -8px; min-width: 16px; height: 16px; padding: 0 4px; background: #E53935; color: #fff; font-size: 10px; font-weight: bold; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 3px rgba(0,0,0,0.5); transition: transform 0.2s; }

.badge.shake { animation: shake-badge 0.4s ease; }

@keyframes shake-badge { 0% { transform: rotate(0deg) scale(1); } 20% { transform: rotate(-10deg) scale(1.2); } 40% { transform: rotate(10deg) scale(1.2); } 60% { transform: rotate(-6deg) scale(1.15); } 80% { transform: rotate(6deg) scale(1.1); } 100% { transform: rotate(0deg) scale(1); } }

/* ========================= OBSERVER ========================= */

.top-observer { position: fixed; top: 0; width: 100%; height: 1px; z-index: 0; }

/* ========================= PAGINATION ========================= */

.navig_bas { display:flex; align-items:center; justify-content:space-between; gap:15px; }

.nav_btn { width:46px; height:46px; flex-shrink:0; border-radius:12px; background-color:#386fbe; background-repeat:no-repeat; background-position:center; background-size:18px; box-shadow:0 3px 10px rgba(0,0,0,.15); transition:all .2s ease; }

.precedent_2020 { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_arrow_gauche.svg); }

.suivant_2020 { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_arrow_droite.svg); }

.nav_btn:active { transform:translateY(0); }

.nav_btn.vide { visibility:hidden; }

.page_info { flex:1; text-align:center; color:#FFF; font-size:15px; }

.page_info strong { color: #fff; font-size:18px; }

/* ========================= TITRE PAGE ========================= */

.page-title { display: flex; align-items: center; gap: 30px; margin-bottom: 20px; }

.icone_retour { width: 20px; height: 20px; background: url('https://cdn.celibataire.ch/layout_membres/svg_retour.svg?v=1') no-repeat center center; background-size: contain; flex-shrink: 0; cursor: pointer; }

.page-title-text { font-size: 20px; line-height: 20px; }

.page-title-text a { text-decoration: none; }

.profil-logout-button { display: block; position: absolute; top: 50%; right: 0; width: 40px; height: 40px; transform: translateY(-50%); background: url('https://cdn.celibataire.ch/layout_membres/2026-deconnexion.svg') no-repeat center; background-color: #414141; background-size: 24px 24px; border-radius: 8px; cursor: pointer; }

.profil-page-title { position: relative; padding-right: 50px; }

.profil-logout-button:hover { background-color: #505050; }

/* ========================= NOTIFICATAIONS ========================= */

.notif-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; margin-bottom: 15px; }

.notif-filter { display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 0 12px; background: #414141; border: 1px solid #666; border-radius: 12px; color: #fff; text-decoration: none; font-size: 15px; transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease; }

.notif-filter:hover { background: #565656; border-color: #666; transform: translateY(-1px); }

.notif-filter.active { background: #386fbe; border-color: #6697df; }

.notif-filter .text { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

.compteur_notif { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; flex-shrink: 0; background: #ef3b3b; border-radius: 999px; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }

.conversation-filters .compteur_notif { background-color:#292929; }

.notification .avatar .message { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_message.svg); background-size: 17px; background-position-x: 5px; background-position-y: 7px; }
.notification .avatar .visite { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_visite.svg?v=1); background-size: 18px; background-position-x: 5px; background-position-y: 7px; }
.notification .avatar .match { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_match.svg); background-size: 15px; background-position-x: 6px; background-position-y: 8px; }
.notification .avatar .cadeau { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_cadeau.svg); background-size: 13px; background-position-x: 7px; background-position-y: 6px; }
.notification .avatar .double_match { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_doublematch.svg); background-size: 15px; background-position-x: 6px; background-position-y: 8px; }
.notification .avatar .proposition { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_proposition.svg); background-size: 15px; background-position-x: 6px; background-position-y: 6px; }
.notification .avatar .quizz { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_quizz.svg); background-size: 15px; background-position-x: 7px; background-position-y: 5px; }

.notification .avatar .favori_profil { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_favori.svg?v=2); background-size: 16px; background-position-x: 6px; background-position-y: 5px; }

.notification .avatar .favori_anni { background-image: url(https://cdn.celibataire.ch/layout_membres/svg_notif_anni.svg?v=1); background-size: 15px; background-position-x: 6px; background-position-y: 4px; }

/* Liste des notifications et conversations */

.notifications-summary { margin: 1em 0; padding-left: 5px; }

.notifications-seen-form { display: inline; margin-left: 5px; }

.notifications-seen-form::before { content: "–"; margin-right: 5px; }

.notifications-seen-form button { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }

/* Liens */

.notification_link { display:block; text-decoration:none; color:inherit; }

/* Notification */

.notification { display:flex; align-items:center; min-height:62px; margin-bottom:12px; padding:10px 12px; background:#1d1f1d; border:1px solid #414541; border-radius:12px; overflow:hidden; }

/* Notification non lue */

.notification.non_lue { background-color:#414141; border-color:#666; }

/* Avatar */

.notification .avatar { position:relative; flex:0 0 70px; width:70px; height:70px; margin-right:20px; border-radius:50%; background-repeat:no-repeat; background-size:70px; background-position:center -10px; border: 1px solid #7b7b7b; }

/* Membre connecté */

.notification .avatar .online { position:absolute; right:-5px; width: 18px; height:18px; background:#2eb82e; border-radius:50%; }

/* Présence membre - liste conversations */

.notification .avatar .conversation_presence { position: absolute; right: -5px; width: 18px; height: 18px; border-radius: 50%; }

/* En ligne */
.notification .avatar .conversation_presence.is-online { background: #2eb82e; }

/* Absent */
.notification .avatar .conversation_presence.is-away { background: #d89b22; }

/* Hors ligne */
.notification .avatar .conversation_presence.is-offline { background: #666; display: none; }

/* Icône de notification */

 .notification .avatar .notif_icon { position: absolute; height: 27px; width: 27px; display: block; background-repeat: no-repeat; left: 50px; top: 43px; border-radius: 50%; background-color: #386FBE; }

/* Contenu */

.notification .notif_milieu { flex:1; min-width:0; }

/* Date */

.notification .notif_gris { display:block; margin-bottom:2px; color:#A7A7A7; font-size:13px; }

/* Texte principal */

.notification .notif_texte, .notification .notif_details { display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis }
.notification .notif_texte { margin:3px 0; color:#FFF; font-size:19px }

/* Détails */

.notification .notif_details { color:#C7C7C7; font-size:16px }

.notification .avatar .prioritaire { position: absolute; height: 22px; width: 22px; background-image: url(https://cdn.celibataire.ch/layout_membres/2026-boost.svg?v=4); display: block; left: 54px; top: 48px; filter: drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000); }

/* ========================= NOTIFICATIONS : PARTIE DROITE ========================= */

.notification .notif_droite { display:flex; align-items:center; margin-left:10px; }

.notification .notif_nonlu { display:flex; justify-content:center; align-items:center; min-width:36px; height:36px; background:#000000; color:#FFF; border-radius:50%; font-size:15px; font-weight: 600; }

/* Message envoyé / lu */

.notif_en, .notif_lu { font-size: 17px; line-height: 1; white-space: nowrap; background-color: #000; padding: 10px; border-radius: 30px; font-weight: bold; }

/* Premier ✓ toujours bleu */
.notif_en .check_1, .notif_lu .check_1 { color: #1c6aaf; }

/* Deuxième ✓ gris tant que non lu */
.notif_en .check_2 { color: #777; }

/* Deuxième ✓ bleu une fois lu */
.notif_lu .check_2 { color: #1c6aaf; }

/* ========================= MON PROFIL ========================= */

/* Profil etat */

.profil_0, .profil_1 { height: 25px;width: 25px;padding: 0px;border-radius: 50% }
.profil_0 { background: #ef3b3b; background-image: url(https://cdn.celibataire.ch/layout_membres/svg-ko.svg); background-size: 13px; background-position: center; background-repeat: no-repeat }

.profil_1 { background: #c1721d; background-image: url(https://cdn.celibataire.ch/layout_membres/svg-attention.svg); background-size: 6px; background-position: center; background-repeat: no-repeat }

.profil_2 { background: #50a567; background-image: url(https://cdn.celibataire.ch/layout_membres/svg-ok.svg); background-size: 13px; height: 25px; width: 25px; padding: 0px; border-radius: 50%; background-position: center; background-repeat: no-repeat; }

/* Progress bar */

.progress { width:100%; max-width:none; box-sizing:border-box; height:36px; background:#edf2f7; border-radius:999px; overflow:hidden; margin:0 0 12px; border: #ffffff 1px solid; }

.progress-bar { position:relative; display:flex; align-items:center; justify-content:center; height:100%; min-width:55px; border-radius:999px; color:#fff; font-size:13px; font-weight:700; white-space:nowrap; transition:width .7s ease; text-shadow:0 1px 2px rgba(0,0,0,.35); }

/* Vert */
.progress-success { background: linear-gradient(135deg, #116929, #50a567); }

/* Orange */
.progress-warning { background: linear-gradient(135deg, #c37f0d, #c1721d); }

/* Rouge */
.progress-danger { background: linear-gradient(135deg, #8d1616, #ef3b3b); }

/* ========================= PARAMÈTRES ========================= */

.setting-line { display: flex; align-items: center; justify-content: space-between; position: relative; padding: 14px 0; }

.setting-label { font-size: 16px; color: #ffffff; }

.setting-title { font-size: 20px; font-weight: bold; color: #1c6aaf; padding-bottom: 12px; margin-bottom: 0px; margin-top: 35px; }

.setting-description { text-align: justify; font-size: 12px; color: #7b7b7b; }

/* ===== SAVING : spinner ===== */
.setting-line.saving::after { content: ""; position: absolute; right: 60px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border: 2px solid #aaa; border-top-color: #63ad4f; border-radius: 50%; animation: spin 0.7s linear infinite; }

/* ===== OK ===== */
.setting-line.saved::after { content: "✓"; position: absolute; right: 60px; top: 50%; margin-top: -8px; color: #63ad4f; font-weight: bold; font-size: 16px; }

/* ===== ERREUR ===== */
.setting-line.error::after { content: "⚠"; position: absolute; right: 60px; top: 50%; margin-top: -8px; color: #e53935; font-size: 16px; }

/* 🔄 rotation PURE */
@keyframes spin { to { transform: rotate(360deg); } }

.push-actions { display: flex; gap: 10px; }

.btn-push { padding: 6px 14px; border-radius: 6px; font-size: 14px; border: none; cursor: pointer; }

.btn-on { background: #63ad4f; color: #fff; }

.btn-off { background: #444; color: #fff; }

/* ========================= TOGGLE SWITCH ========================= */

.switch { position: relative; width: 46px; height: 26px; flex-shrink: 0; }

.switch input { display: none; }

.slider { position: absolute; inset: 0; cursor: pointer; background-color: #5d5d5d; border-radius: 26px; transition: 0.2s; }

.slider:before { content: ""; position: absolute; width: 20px; height: 20px; left: 3px; bottom: 3px; background-color: #fff; border-radius: 50%; transition: 0.2s; }

.switch input:checked + .slider { background-color: #63ad4f; }

.switch input:checked + .slider:before { transform: translateX(20px); }

/* ========================= Liste_bloque.php ========================= */

.bloc_form { margin: 20px 0; padding: 15px; background: #1d1f1d; border: 1px solid #414541; border-radius: 12px; }

.form-inline { display: flex; align-items: center; gap: 10px; }

.form-inline .input { flex: 1; height: 42px; padding: 0 15px; border-radius: 8px; font-size: 15px; font-family: inherit; outline: none; color: #fff; background: #252725; border: 1px solid #414541; }

.form-inline .btn { height: 46px; padding: 0 22px; border: 1px solid #72b756; border-radius: 8px; background: #477a35; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; transition: .2s; }

.form-inline .btn:hover { background: #568f41; }

.form-info { margin: 10px 2px 0; font-size: 13px; color: #a0a0a0; line-height: 1.4; }

@media (max-width: 420px) { .form-inline { flex-direction: column; align-items: stretch; } .form-inline .btn { width: 100%; } .form-inline .input { padding: 12px 12px; } }

/* ========================= Messages.php ========================= */

.header_conversation { position: relative; height: 25px; width: 25px; float: left; display: block; margin-right: 7px; background-size: 22px; background-position: 0px 2px; background-repeat: no-repeat; background-image: url(https://cdn.celibataire.ch/layout_membres/2026-conversation.svg); }

.presence { position: absolute; right: 0; bottom: 13px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #0a0b0d; }

/* Actif */
.presence.online { background: #28b463; }

/* Connecté mais inactif */
.presence.away { background: #d89b22; }

/* Hors ligne */
.presence.offline { background: #E53935; }

.conversation-title { display: grid; grid-template-columns: 50px 1fr 68px 24px 25px; width: 100%; box-sizing: border-box; margin-bottom: 20px; }

.conversation-title .gauche { display: flex; align-items: flex-start; justify-content: flex-start; }

.conversation-title .centre { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 20px; line-height: 20px; }

.conversation-title .centre a { text-decoration: none; }

.conversation-title .droite { display: flex; align-items: center; justify-content: flex-end; }

.conversation-title .icone_menu { display: block; width: 24px; height: 24px; cursor: pointer; }

#icone_boost { width: 24px; height: 24px; background: url("https://cdn.celibataire.ch/layout_membres/2026-boost.svg?v=4") center / contain no-repeat; cursor: pointer; }

#icone_boost.disponible { width: 24px; height: 24px; background: url("https://cdn.celibataire.ch/layout_membres/2026-boost-off.svg") center / contain no-repeat; cursor: pointer; }

#icone_boost.inactif { display: none; }

#icone_menu { width: 10px; height: 24px; background: url("https://cdn.celibataire.ch/layout_membres/svg_profil_fonc.svg?v=1") center / contain no-repeat; cursor: pointer; }

.droite { position: relative; }

#menu_bloquer { display: none; position: absolute; top: 35px; right: 0; width: 150px; background: #373737; border-radius: 6px; z-index: 9999; overflow: hidden; }

#menu_bloquer a, #menu_bloquer button { display: block; box-sizing: border-box; width: 100%; padding: 10px 10px; border: 0; color: #fff; background: #373737; font-family: inherit; text-decoration: none; text-align: left; font-size: 16px; cursor: pointer; }

.btn-push[hidden] { display: none; }

/* ========================= FLAMMES ========================= */

.flames-page { color: #f4f4f4; }

.flames-balance { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 18px 0 28px; padding: 18px 20px; border-radius: 12px; background: linear-gradient(135deg, #7b1109, #d5852e); }

.flames-balance-label { font-size: 16px; font-weight: 500; }

.flames-balance strong { font-size: 26px; white-space: nowrap; }

.flames-section { margin: 0 0 34px; }

.flames-section h2 { margin: 0 0 14px; color: #1c6aaf; font-size: 20px; }

.flames-section p, .flames-list, .flames-uses { line-height: 1.55; }

.flames-list { padding-left: 22px; }

.flames-list li { margin-bottom: 8px; }

.flames-uses { display: grid; gap: 18px; padding: 0; list-style: none; }

.flames-uses li { display: grid; gap: 6px; }

.flames-action-button { width: fit-content; padding: 9px 14px; border: 0; border-radius: 7px; background: #477a35; color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }

.flames-action-button:hover, .flames-action-button:focus-visible { background: #2683d1; }

.flames-packs { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }

.flames-pack { display: flex; align-items: center; justify-content: center; min-height: 82px; padding: 12px 8px; border: 1px solid #444; border-radius: 10px; background: #222; flex-direction: column; gap: 6px; text-align: center; }

.flames-pack strong { color: #ffad42; font-size: 18px; }

.flames-pack span { color: #fff; font-weight: 700; }

.flames-pack-button { display: inline-flex; align-items: center; justify-content: center; min-width: 90px; margin-top: 5px; padding: 8px 12px; border-radius: 7px; background: #1c6aaf; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }

.flames-pack-button:hover, .flames-pack-button:focus-visible { background: #2683d1; color: #fff; }

.flames-history { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }

.flames-history-item { padding: 14px; border: 1px solid #3a3a3a; border-radius: 12px; background: #222; }

.flames-history-top, .flames-history-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.flames-history-amount { font-size: 17px; }

.flames-badge, .flames-expiry { padding: 4px 9px; border-radius: 999px; font-size: 12px; white-space: nowrap; }

.flames-badge.is-bonus { color: #ffe3c6; background: #9c5514; }

.flames-badge.is-purchased { color: #d8ebff; background: #285c92; }

.flames-history-item time { display: block; margin-top: 8px; color: #aaa; font-size: 12px; }

.flames-history-reason { margin-top: 5px; overflow: hidden; font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }

.flames-history-status { margin-top: 10px; font-size: 13px; }

.flames-history-status .is-available { color: #45d681; }

.flames-history-status .is-low, .flames-expiry.is-soon { color: #ffad42; }

.flames-history-status .is-empty, .flames-expiry.is-expired { color: #ff6961; }

.flames-expiry { background: #333; }

.flames-empty { color: #aaa; }

@media (max-width: 520px) { .flames-packs { grid-template-columns: repeat(2, 1fr); } .flames-history { grid-template-columns: 1fr; } .flames-history-status { align-items: flex-start; flex-direction: column; } }

.conversation-title .appels { display: flex; align-items: flex-start; justify-content: flex-start; gap: 8px; }

.conversation-title .appels form { margin: 0; padding: 0; line-height: 0; }

.conversation-title .appels button { display: block; width: 25px; height: 25px; padding: 0; border: 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: contain; cursor: pointer; }

.conversation-title .appel-audio { background-image: url("https://cdn.celibataire.ch/layout_membres/visio-micro-on.svg?v=1"); }

.conversation-title .appel-video { background-image: url("https://cdn.celibataire.ch/layout_membres/visio-video-on.svg?v=4"); }

/* ========================= ABONNEMENTS ========================= */

.subscription-page { color: #f4f4f4; }

.subscription-message-card { position: relative; display: flex; align-items: center; gap: 18px; overflow: hidden; margin: 18px 0 22px; padding: 22px; border: 1px solid rgba(99, 153, 218, .55); border-radius: 14px; background: radial-gradient(circle at 100% 0, rgba(65, 123, 202, .18), transparent 42%), linear-gradient(135deg, #1b2b40, #171e29 70%); box-shadow: 0 10px 28px rgba(0, 0, 0, .22); }

.subscription-message-card::after { position: absolute; right: -28px; bottom: -44px; width: 130px; height: 130px; border: 24px solid rgba(65, 123, 202, .06); border-radius: 50%; content: ''; pointer-events: none; }

.subscription-message-icon { position: relative; z-index: 1; flex: 0 0 58px; width: 58px; height: 58px; border-radius: 50%; background: #417bca url("https://cdn.celibataire.ch/layout_membres/2026-conversation.svg") center / 32px auto no-repeat; box-shadow: 0 0 0 7px rgba(65, 123, 202, .12); }

.subscription-message-icon.is-visio { background-image: url("https://cdn.celibataire.ch/layout_membres/visio-video-on.svg?v=4"); }

.subscription-message-icon.is-search { background-image: url("https://cdn.celibataire.ch/layout_membres/2026-loupe.svg"); }

.subscription-message-content { position: relative; z-index: 1; min-width: 0; }

.subscription-message-kicker { display: block; margin-bottom: 5px; color: #9fc7ff; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.subscription-message-card h1 { margin: 0 0 7px; color: #fff; font-size: 23px; line-height: 1.2; }

.subscription-message-card p { margin: 0 0 10px; color: #d6d6d6; line-height: 1.45; }

.subscription-message-action { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 13px; font-weight: 700; }

.subscription-message-action::after { width: 7px; height: 7px; border-right: 2px solid #417bca; border-bottom: 2px solid #417bca; content: ''; transform: rotate(45deg) translateY(-2px); }

@media (max-width: 540px) { .subscription-message-card { align-items: flex-start; gap: 15px; padding: 18px 16px; } .subscription-message-icon { flex-basis: 48px; width: 48px; height: 48px; } .subscription-message-card h1 { font-size: 19px; } }

.subscription-status { display: flex; align-items: center; gap: 18px; margin: 18px 0 30px; padding: 18px 20px; border-radius: 12px; background: #222; }

.subscription-status h1 { margin: 0 0 5px; font-size: 20px; }

.subscription-status p { margin: 0; color: #ccc; line-height: 1.45; }

.subscription-status-badge { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; background: #555; font-size: 12px; font-weight: 700; white-space: nowrap; }

.subscription-status-badge.is-premium { background: #a36a0a; color: #fff0b8; }

.subscription-status-badge.is-validation { background: #285c92; color: #d8ebff; }

.subscription-status-badge.is-temporary { background: #467c35; }

.subscription-status-badge.is-limited { background: #7b1109; }

.subscription-section { margin-bottom: 34px; }

.subscription-section h2, .subscription-conditions h2 { margin: 0 0 14px; color: #1c6aaf; font-size: 20px; }

.subscription-comparison { overflow: hidden; border: 1px solid #3b3b3b; border-radius: 10px; }

.subscription-comparison-row { display: grid; grid-template-columns: minmax(160px, 1fr) 150px 150px; min-height: 48px; border-top: 1px solid #3b3b3b; }

.subscription-comparison-row:first-child { border-top: 0; }

.subscription-comparison-row > * { display: flex; align-items: center; justify-content: center; padding: 10px; text-align: center; }

.subscription-comparison-row > :first-child { justify-content: flex-start; text-align: left; }

.subscription-comparison-row.is-heading { background: #292929; }

.subscription-comparison-row:not(.is-heading) > :nth-child(3) { color: #72b756; font-size: 19px; font-weight: 700; }

.subscription-offers { display: grid; grid-template-columns: repeat(4, minmax(170px, 1fr)); gap: 12px; margin-top: 20px; }

.subscription-offer { position: relative; display: flex; align-items: center; min-height: 245px; padding: 20px 14px 16px; border: 1px solid #414141; border-radius: 12px; background: #222; flex-direction: column; text-align: center; }

.subscription-offer.is-featured { border-color: #d5852e; }

.subscription-offer-label { min-height: 17px; margin: -8px 0 8px; color: #ffad42; font-size: 11px; font-weight: 700; }

.subscription-offer h3 { margin: 8px 0; font-size: 24px; }

.subscription-offer-monthly { margin: 5px 0; color: #ffad42; font-size: 17px; font-weight: 700; }

.subscription-offer-price { display: grid; gap: 3px; margin: 9px 0 18px; color: #aaa; font-size: 13px; }

.subscription-offer-price strong { color: #fff; font-size: 18px; }

.subscription-offer-button { display: inline-flex; align-items: center; justify-content: center; width: calc(100% - 20px); min-height: 42px; margin-top: auto; padding: 8px 10px; border-radius: 8px; background: #72b756; color: #fff; font-weight: 700; text-align: center; text-decoration: none; }

.subscription-offer-button:hover, .subscription-offer-button:focus-visible { background: #82c66c; color: #fff; }

.subscription-empty { color: #aaa; }

.subscription-conditions { margin: 40px 0 20px; padding: 16px; border-radius: 10px; background: #222; color: #aaa; font-size: 13px; line-height: 1.5; }

.subscription-conditions p:last-child { margin-bottom: 0; }

.subscription-conditions a { color: #62a9e8; }

@media (max-width: 760px) { .subscription-offers { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 560px) { .subscription-status { align-items: flex-start; flex-direction: column; } .subscription-comparison { overflow-x: auto; } .subscription-comparison-row { grid-template-columns: minmax(150px, 1fr) 120px 120px; min-width: 390px; } }

@media (max-width: 420px) { .subscription-offers { grid-template-columns: 1fr; } }

#menu_bloquer a + a { border-top: 1px solid #000000; }

#menu_bloquer form { margin: 0; }

#menu_bloquer form + a, #menu_bloquer a + form, #menu_bloquer form + form { border-top: 1px solid #000000; }

#signalement_message { width: 100%; height: 100px; box-sizing: border-box; padding: 10px; resize: vertical; background-color: #9d9d9d; border-radius: 8px; border: none; }

/* ==========================================================
   FOND CONVERSATION
   ========================================================== */

.message_chat { width: 100%; box-sizing: border-box; padding: 0 6px; color: #ffffff; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #3d3d3d #000000; }

.message_chat::-webkit-scrollbar { width: 6px; }

.message_chat::-webkit-scrollbar-track { background: #000000; }

.message_chat::-webkit-scrollbar-thumb { background: #3d3d3d; border-radius: 10px; }

/* ==========================================================
   AUCUN MESSAGE
   ========================================================== */

.nochat { display: flex; flex-direction: column; align-items: center; gap: 5px; line-height: 1.8; text-align: center; }

.nochat h2 { margin: 0px; font-size: 24px; }

.nochat p { margin: 0px; font-size: 14px; }

.nochat_icon { width: 65px; height: 56px; margin: 50px auto 0px; background-image: url('https://cdn.celibataire.ch/layout_membres/2026-conversation.svg'); background-repeat: no-repeat; background-position: center; background-size: contain; }

/* ==========================================================
   CHARGER PLUS
   ========================================================== */

.load_more { width: fit-content; margin: 6px auto 24px auto; padding: 7px 14px; background: #4f4f4f; color: #ffffff; border-radius: 16px; font-size: 12px; cursor: pointer; user-select: none; }

/* ==========================================================
   SÉPARATEUR DE JOUR
   ========================================================== */

.message_jour { text-align: center; margin: 20px 0 16px 0; }

.message_jour span { display: inline-block; padding: 6px 10px; background: #272727; color: #ffffff; border-radius: 7px; font-size: 12px; }

/* ==========================================================
   LIGNE MESSAGE
   ========================================================== */

.message_ligne { display: flex; width: 100%; margin: 10px 0; box-sizing: border-box; }

.message_ligne_envoye { justify-content: flex-end; }

.message_ligne_recu { justify-content: flex-start; }

/* ==========================================================
   BULLES
   ========================================================== */

.message_bulle { position: relative; width: 85%; padding: 7px 8px 5px 9px; border-radius: 8px; font-size: 16px; line-height: 1.4; box-sizing: border-box; overflow-wrap: anywhere; }

/* Message reçu */

.message_bulle_recu { background: #333333; color: #ffffff; border-top-left-radius: 0px; }

/* Message envoyé */

.message_bulle_envoye { background: #2d493e; color: #ffffff; padding-top: 22px; border-top-right-radius: 0px; }

/* ==========================================================
   PETITE POINTE DES BULLES
   ========================================================== */

.message_bulle_recu::before { content: ""; position: absolute; left: -7px; top: 0; width: 0; height: 0; border-top: 8px solid #333333; border-left: 8px solid transparent; }

.message_bulle_envoye::after { content: ""; position: absolute; right: -7px; top: 0; width: 0; height: 0; border-top: 8px solid #2d493e; border-right: 8px solid transparent; }

/* ==========================================================
   TEXTE
   ========================================================== */

.message_contenu { margin: 0 0 3px 0; }

.message_contenu p { margin: 0 0 6px 0; }

.message_contenu p:last-child { margin-bottom: 0; }

.message_contenu a { color: #ffffff; text-decoration: none; }

.message_contenu a:hover { text-decoration: underline; }

/* Laisse la place au bouton menu */

.message_bulle_envoye .message_contenu { padding-right: 25px; }

/* ==========================================================
   PHOTO
   ========================================================== */

.piece_jointe_lien { display: block; margin-top: 6px; text-decoration: none; }

.pcjointe { display: block; width: 90px; height: 90px; max-width: 100%; background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 6px; cursor: pointer; }

/* ==========================================================
   BAS DU MESSAGE
   ========================================================== */

.message_bas { display: flex; justify-content: flex-end; align-items: center; gap: 4px; margin-top: 6px; min-height: 15px; white-space: nowrap; }

/* ==========================================================
   HEURE
   ========================================================== */

.message_heure { font-size: 10.5px; color: #a5a5a5; }

/* ==========================================================
   ✓✓
   ========================================================== */

.message_envoye, .message_lu { font-size: 14px; line-height: 1; padding-left: 3px; font-weight: bold; }

/* 1re coche toujours bleue */
.message_envoye .check_1, .message_lu .check_1 { color: #1c6aaf; }

/* 2e coche grise tant que non lu */
.message_envoye .check_2 { color: #777; }

/* 2e coche bleue une fois lu */
.message_lu .check_2 { color: #1c6aaf; }

/* ==========================================================
   ACTIONS MESSAGE
   ========================================================== */

.message_actions { position: absolute; top: 0px; right: 3px; z-index: 20; }

/* ==========================================================
   BOUTON MENU
   ========================================================== */

.message_menu_bouton { display: flex; align-items: center; justify-content: center; width: 26px; height: 24px; cursor: pointer; user-select: none; }

/* Chevron CSS */

.message_menu_bouton .chevron { width: 7px; height: 7px; border-right: 2px solid #b5b5b5; border-bottom: 2px solid #b5b5b5; transform: rotate(45deg); margin-top: -4px; }

.message_menu_bouton:hover .chevron { border-color: #ffffff; }

/* ==========================================================
   MENU MESSAGE - ICÔNES
   ========================================================== */

.message_menu { display: none; position: absolute; top: 22px; right: 0; width: auto; padding: 5px; gap: 5px; background: #252525; border: 1px solid #3d3d3d; border-radius: 6px; z-index: 100; }

/* Boutons icônes */

.message_menu_icone { width: 34px; height: 34px; flex: 0 0 34px; padding: 0; margin: 0; border: 0; border-radius: 5px; background-color: #252525; background-repeat: no-repeat; background-position: center; background-size: 20px 20px; cursor: pointer; }

.message_menu_icone:hover { background-color: #3a3a3a; }

/* Infos */

.message_menu_info { background-image: url("https://cdn.celibataire.ch/layout_membres/2026-message-info.svg"); }

/* Supprimer */

.message_menu_delete { background-image: url("https://cdn.celibataire.ch/layout_membres/2026-message-delete.svg"); }

/* ==========================================================
   POPUP INFOS MESSAGE
   ========================================================== */

.message_infos_popup { text-align: left; }

.message_infos_popup > div { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 12px 0; border-bottom: 1px solid #3d3d3d; }

.message_infos_popup > div:last-child { border-bottom: 0; }

.message_infos_popup strong { color: #ffffff; }

.message_infos_popup span { color: #a5a5a5; text-align: right; }

.message_envoi { display: flex; width: 100%; box-sizing: border-box; padding: 15px 6px; }

/* Formulaire message */
#form_message { display: flex; align-items: stretch; gap: 8px; width: 100%; min-width: 0; }

/* ==========================================
   OUTILS À GAUCHE
   ========================================== */

.message_outils { display: flex; flex-direction: column; justify-content: space-between; flex: 0 0 32px; gap: 4px; }

/* Base commune */
.message_outil { width: 32px; height: 32px; flex: 0 0 32px; padding: 0; margin: 0; border: 0; background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: 24px 24px; cursor: pointer; }

.message_outil:hover { opacity: .8; }

/* Photo */
.message_outil_photo { background-image: url("https://cdn.celibataire.ch/layout_membres/2026-photo.svg?v=1"); }

/* Cadeau */
.message_outil_cadeau { background-image: url("https://cdn.celibataire.ch/layout_membres/2026-cadeau.svg"); }

/* Messages préformatés */
.message_outil_preformat { background-image: url("https://cdn.celibataire.ch/layout_membres/2026-preformat.svg"); }

/* ==========================================
   CHAMP MESSAGE
   ========================================== */

#message_texte { flex: 1; min-width: 0; min-height: 104px; max-height: 120px; box-sizing: border-box; padding: 10px 12px; border: none; border-radius: 8px; background: #373737; color: #fff; font-family: inherit; font-size: 15px; resize: none; outline: none; }

#message_texte:focus { border-color: #555; }

/* ==========================================
   BOUTON ENVOYER
   ========================================== */

#message_envoyer { align-self: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; background: #22835d; cursor: pointer; font-size: 0; display: flex; align-items: center; justify-content: center; }

#message_envoyer::before { content: ""; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); margin-left: -4px; }

#message_envoyer:disabled { opacity: .5; cursor: default; }

/* ==========================================
   FORMULAIRE PHOTO TECHNIQUE
   ========================================== */

#photo { display: none; }

/* ==========================================================
   HAUTEUR PAGE MESSAGERIE
   ========================================================== */

body.page-messages { overflow: hidden; }

/* La zone messages occupe exactement l'espace
   entre le header de 60px et le menu bas de 70px */
.page-messages #site-wrapper { position: fixed; top: 60px; bottom: 70px; left: 0; right: 0; height: auto; min-height: 0; max-width: 990px; margin: 0 auto; padding: 0; overflow: hidden; }

/* Contenu de la conversation */
.page-messages #site-wrapper > .content { height: 100%; min-height: 0; display: flex; flex-direction: column; box-sizing: border-box; padding: 20px 10px 0; }

/* Titre */
.page-messages .conversation-title { flex: 0 0 auto; }

/* Messages */
.page-messages .message_chat { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; }

/* Saisie */
.page-messages .message_envoi { flex: 0 0 auto; }

.typing_status { display: none; flex: 0 0 auto; text-align: center; min-height: 20px; padding: 4px 10px 2px; font-size: 12px; color: #ffffff; background: #0A0B0D; }

.typing_points { display: flex; align-items: center; gap: 4px; height: 18px; padding: 0 3px; }

.typing_points span { width: 6px; height: 6px; border-radius: 50%; background: #aaa; opacity: .35; animation: typingPoint 1.2s infinite ease-in-out; }

.typing_points span:nth-child(2) { animation-delay: .15s; }

.typing_points span:nth-child(3) { animation-delay: .30s; }

@keyframes typingPoint { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-3px); opacity: 1; } }

.photo_source { display: flex; gap: 12px; margin-top: 10px; }

.photo_source_btn { flex: 1; min-height: 110px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 15px; border: 1px solid #444; border-radius: 12px; background: #2b2b2b; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }

.photo_source_btn:hover { background: #353535; border-color: #555; }

.photo_source_icon { width: 38px; height: 38px; object-fit: contain; }

.message_outil_photo.loading { background-image: none !important; position: relative; }

.message_outil_photo.loading::after { content: ""; display: block; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; box-sizing: border-box; border: 2px solid rgba(255, 255, 255, 0.25); border-top-color: #fff; border-radius: 50%; animation: photoLoader 0.7s linear infinite; }

@keyframes photoLoader { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Cadeaux dans la messagerie */
.cadeau_choix { flex: 0 0 110px; min-width: 110px; height: 105px; padding: 8px 5px; border: 0; border-radius: 8px; background: #383838; color: #fff; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: background .15s ease, transform .15s ease; }

.cadeau_choix:hover { background: #484848; transform: translateY(-2px); }

.cadeau_choix_image { width: 48px; height: 48px; object-fit: contain; margin-bottom: 5px; }

.cadeau_choix_nom { display: block; width: 100%; font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.cadeau_choix_prix { display: block; margin-top: 2px; font-size: 10px; color: #ccc; }

.cadeaux_swiper { display: flex; gap: 8px; width: 100%; overflow-x: auto; overflow-y: hidden; cursor: grab; user-select: none; -webkit-user-select: none; touch-action: pan-x; scrollbar-width: none; -ms-overflow-style: none; }

.cadeaux_swiper::-webkit-scrollbar { display: none; }

.cadeaux_swiper.dragging { cursor: grabbing; }

.cadeau_choix img { pointer-events: none; -webkit-user-drag: none; }

.cadeau_confirmation_image { width: 90px; height: 90px; margin-bottom: 10px; object-fit: contain; }

.cadeau_confirmation_prix { margin-top: 8px; }

#typing_status { display: none; width: 60px; }

/* Messages préformatés dans la messagerie */
.swal_preformates { max-width: 430px; }

.liste_messages_preformates { display: flex; flex-direction: column; gap: 8px; max-height: 250px; overflow-y: auto; margin: 18px 0 20px; padding-right: 6px; }

.liste_messages_preformates::-webkit-scrollbar { width: 6px; }

.liste_messages_preformates::-webkit-scrollbar-track { background: transparent; }

.liste_messages_preformates::-webkit-scrollbar-thumb { background: #555; border-radius: 10px; }

.liste_messages_preformates::-webkit-scrollbar-thumb:hover { background: #777; }

.message_preformate { width: 100%; padding: 13px 15px; border: 1px solid #333; border-radius: 8px; background: #242424; color: #eee; font-size: 15px; text-align: left; cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .15s ease; }

.message_preformate:hover { background: #2e2e2e; border-color: #555; }

.message_preformate:active { transform: scale(.98); }

.editer_messages_preformates { display: inline-block; margin-top: 4px; padding: 8px 12px; color: #aaa; font-size: 13px; text-decoration: none; transition: color .15s ease; }

.editer_messages_preformates:hover { color: #fff; text-decoration: underline; }

/* Gestion des messages préformatés */
.preformat-intro { color: #b8bbc1; line-height: 1.55; margin: 0 0 20px; }

.preformat-section { margin-bottom: 28px; }

.preformat-section h2 { font-size: 18px; margin: 0 0 14px; }

.preformat-empty { padding: 12px 0; color: #a7aab0; }

.preformat-list { display: flex; flex-direction: column; gap: 8px; }

.preformat-item { display: flex; align-items: center; gap: 10px; padding: 11px 12px; background: #181a1f; border: 1px solid #2c2f36; border-radius: 9px; }

.preformat-name { flex: 1; min-width: 0; color: #fff; overflow-wrap: anywhere; }

.preformat-action { padding: 8px 11px; border: 0; border-radius: 7px; background: #3a3d45; color: #fff; font: inherit; text-decoration: none; cursor: pointer; }

.preformat-action:hover { background: #4a4e58; text-decoration: none; }

.preformat-delete { background: #641f1f; }

.preformat-delete:hover { background: #7b2929; }

.preformat-form { display: flex; flex-direction: column; gap: 9px; }

.preformat-label { color: #fff; font-weight: 600; }

.preformat-input, .preformat-textarea { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #454953; border-radius: 8px; outline: none; background: #0f1115; color: #fff; font: inherit; }

.preformat-input:focus, .preformat-textarea:focus { border-color: #63ad4f; }

.preformat-textarea { min-height: 230px; line-height: 1.45; resize: vertical; }

.preformat-textarea--modifier { min-height: 320px; }

.preformat-tags { margin: 2px 0 8px; padding: 12px; border-radius: 8px; background: #24262c; color: #c8cad0; font-size: 14px; line-height: 1.55; }

.preformat-submit { align-self: flex-start; padding: 11px 19px; border: 0; border-radius: 8px; background: #265031; color: #fff; font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }

.preformat-submit:hover { background: #32673f; }

.preformat-delete-form { margin: 0; }

@media (max-width: 520px) { .preformat-item { align-items: stretch; flex-wrap: wrap; } .preformat-name { flex-basis: 100%; } .preformat-action { flex: 1; text-align: center; } .preformat-submit { width: 100%; } }

/* fin du fichier CSS pour la messagerie */

/* APPEL ENTRANT */
#incoming-call { display: flex; position: fixed; bottom: -200px; left: 50%; transform: translateX(-50%); opacity: 0; visibility: hidden; background: #222; border: 1px solid #3d3d3d; border-radius: 12px; padding: 15px 20px; flex-direction: column; box-shadow: 0 8px 24px rgba(0,0,0,.55); width: 280px; max-width: calc(100vw - 70px); z-index: 9999; transition: bottom .4s ease, opacity .4s ease, visibility 0s linear .4s; }

#incoming-call.visible { bottom: calc(90px + env(safe-area-inset-bottom, 0px)); opacity: 1; visibility: visible; transition: bottom .4s ease, opacity .4s ease; }

#incoming-call .info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }

#incoming-call .text { text-align: left; }
#incoming-call .title { font-size: 16px; color: #fff; margin-bottom: 8px; }
#incoming-call #call-pseudo { font-size: 18px; font-weight: bold; color: #72b756; text-decoration: none; }
#incoming-call #call-age { font-size: 14px; color: #aaa; }
#incoming-call #call-photo { width: 60px; height: 60px; border: 1px solid #555; border-radius: 50%; object-fit: cover; }
#incoming-call .buttons { display: flex; justify-content: space-around; margin-top: 10px; }

#incoming-call button { border: none; padding: 8px 14px; border-radius: 8px; cursor: pointer; color: #fff; display: flex; align-items: center; gap: 5px; font-size: 14px; }

#incoming-call button img { margin-right: 5px; }
#incoming-call .accept { background: #467c35; }
#incoming-call .accept:hover { background: #72b756; }
#incoming-call .reject { background: #7b1109; }
#incoming-call .reject:hover { background: #9b2117; }

/* ========================= Profil : statut du compte ========================= */

.profil-compte-titre { margin: 28px 0 12px; color: #1c6aaf; font-size: 20px; font-weight: 700; text-align: left; }

.abonnement-card { width: 100%; margin: 0 0 22px; padding: 22px; box-sizing: border-box; overflow: hidden; border: 1px solid #3d3d3d; border-radius: 14px; background: linear-gradient(145deg, #2d2d2d, #242424); color: #ededed; box-shadow: 0 6px 20px rgba(0, 0, 0, .18); }

.abonnement-header { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 18px; }

.abonnement-header h3 { margin: 0 0 7px; color: #fff; font-size: 16px; line-height: 1.3; }

.abonnement-header p { margin: 0; line-height: 1.5; }

.abonnement-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 65px; padding: 7px 10px; border-radius: 999px; background: linear-gradient(135deg, #d6ad35, #aa771c); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .5px; box-shadow: 0 2px 7px rgba(0, 0, 0, .18); }

.abonnement-badge-limite { background: #69727d; }
.abonnement-statut { font-size: 15px; }
.texte-vert { color: #79c95c; }
.texte-rouge { color: #f0c64d; }

.profil-compte-info { width: 100%; padding: 15px 17px; box-sizing: border-box; border: 1px solid #414141; border-left: 4px solid #72b756; border-radius: 9px; background: #202020; color: #d7d7d7; line-height: 1.55; }

.profil-compte-info p { margin: 0 0 10px; }
.profil-compte-info p:last-child { margin-bottom: 0; }

.profil-compte-erreur { margin: 0 0 22px; border-left-color: #e53935; background: #352020; color: #ffd7d5; }

.abonnement-actions { margin-top: 18px; text-align: center; }

.abonnement-bouton { display: inline-flex; align-items: center; justify-content: center; padding: 11px 20px; border: 0; border-radius: 8px; color: #fff; font-weight: 600; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }

.abonnement-bouton:hover { color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, .18); }

.bouton-prolonger, .bouton-abonnement { background: #72b756; }

.bouton-prolonger:hover, .bouton-abonnement:hover { background: #5f9e47; }

.abonnement-limite { border-color: #454545; }

@media (max-width: 600px) { .abonnement-card { padding: 17px; } .abonnement-header { flex-direction: column; gap: 10px; } .abonnement-bouton { width: 100%; box-sizing: border-box; } }

/* ========================= ÉDITION DES GOÛTS ========================= */

.gouts-description { margin: 0 0 24px; color: #c7c9cc; line-height: 1.5; }

.gouts-message { box-sizing: border-box; margin: 0 0 18px; padding: 13px 16px; border: 1px solid; border-radius: 10px; text-align: center; font-weight: 600; }

.gouts-message-success { color: #dff7d6; background: #213b27; border-color: #477a50; }

.gouts-message-error { color: #ffdede; background: #472020; border-color: #874646; }

.gouts-form { width: 100%; }

.gouts-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }

.gout-card { min-width: 0; margin: 0; padding: 14px 16px; background: #151615; border: 1px solid #303230; border-radius: 10px; display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); align-items: center; gap: 18px; }

.gout-card h2 { margin: 0; color: #fff; font-size: 16px; line-height: 1.3; font-weight: 700; }

.gout-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }

.gout-option { min-width: 0; cursor: pointer; }

.gout-option input { position: absolute; opacity: 0; pointer-events: none; }

.gout-option span { min-height: 46px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 8px 6px; color: #bfc2bf; background: #252725; border: 1px solid #393c39; border-radius: 9px; text-align: center; font-size: 12px; line-height: 1.25; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }

.gout-option:hover span { color: #fff; border-color: #5f675f; }

.gout-option input:checked + span { color: #fff; background: #477a35; border-color: #72b756; box-shadow: 0 0 0 1px rgba(114, 183, 86, .2); }

.gout-option input:focus-visible + span { outline: 2px solid #90cc77; outline-offset: 2px; }

.gouts-actions { display: flex; justify-content: center; padding: 24px 0 12px; }

@media (max-width: 760px) { .gout-card { grid-template-columns: 1fr; gap: 11px; } }

@media (max-width: 480px) { .gout-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Alertes de validation du compte dans les notifications */
.notifications-account-alerts { display: grid; gap: 12px; margin: 0 0 12px; }

.notifications-account-alert-item { display: flex; align-items: center; gap: 12px; min-height: 48px; box-sizing: border-box; padding: 11px 42px 11px 12px; color: #fff; text-decoration: none; background: #5f1712; border: 1px solid #9b2a20; border-radius: 9px; position: relative; }

.notifications-account-alert-item::after { content: '›'; position: absolute; top: 50%; right: 15px; color: #ffb2ac; font-size: 28px; line-height: 1; transform: translateY(-53%); }

.notifications-account-alert-item:hover { color: #fff; background: #702019; border-color: #bd493f; }

.notifications-account-alert-icon { width: 26px; height: 26px; flex: 0 0 26px; background-color: #ef3b3b; background-image: url(https://cdn.celibataire.ch/layout_membres/svg-ko.svg); background-repeat: no-repeat; background-position: center; background-size: 13px; border-radius: 50%; }

.notifications-account-alert-text { display: grid; gap: 2px; min-width: 0; line-height: 1.3; }

.notifications-account-alert-text strong, .notifications-account-alert-text small { display: block; }

.notifications-account-alert-text small { color: #f5c7c3; font-size: 13px; }

/* Explorer */
.explorer-form { padding-bottom: 30px; }
.explorer-form section { margin-bottom: 28px; }
.explorer-section-title { margin: 0 0 8px; }
.explorer-help { margin: 0 0 12px; color: #aeb2b5; font-size: 13px; }
.explorer-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.explorer-fields label, .explorer-sort-field { display: flex; flex-direction: column; gap: 7px; color: #d6d8d6; font-size: 14px; }
.explorer-fields select, .explorer-sort-field select { width: 100%; min-height: 44px; box-sizing: border-box; padding: 0 38px 0 12px; color: #f4f4f4; background-color: #252725; border: 1px solid #414541; border-radius: 8px; }
.explorer-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.explorer-options { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.explorer-choice-grid label, .explorer-language-group label { position: relative; }
.explorer-choice-grid input, .explorer-language-group input { position: absolute; opacity: 0; pointer-events: none; }
.explorer-choice-grid label > span, .explorer-language-group label > span { display: flex; align-items: center; justify-content: center; min-height: 42px; box-sizing: border-box; padding: 8px 10px; color: #bec2be; text-align: center; background: #252725; border: 1px solid #414541; border-radius: 8px; cursor: pointer; transition: border-color .15s, background-color .15s; }
.explorer-choice-grid input:checked + span, .explorer-language-group input:checked + span { color: #fff; background: #477a35; border-color: #72b756; }
.explorer-language-group { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }

.explorer-languages-other { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.explorer-more { margin: 4px 0 26px; border-top: 1px solid #373a37; border-bottom: 1px solid #373a37; }
.explorer-more summary { padding: 16px 2px; color: #70aee8; font-size: 17px; font-weight: 600; cursor: pointer; }
.explorer-more-content { padding: 4px 0 20px; }
.explorer-sort-field { max-width: 420px; margin-bottom: 20px; }
.explorer-submit { display: flex; justify-content: flex-end; }
.explorer-submit .profil-edit-submit { min-width: 220px; }
@media (max-width: 760px) { .explorer-language-group, .explorer-languages-other { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .explorer-fields, .explorer-choice-grid { grid-template-columns: 1fr; } .explorer-options { grid-template-columns: repeat(2, minmax(0, 1fr)); } .explorer-submit .profil-edit-submit { width: 100%; min-width: 0; } }

.explorer-modes { display: flex; gap: 8px; margin: 0 0 24px; padding: 2px 0 8px; overflow-x: auto; scrollbar-width: thin; }
.explorer-modes a { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 40px; box-sizing: border-box; padding: 8px 14px; color: #bec2be; text-decoration: none; background: #252725; border: 1px solid #414541; border-radius: 20px; }
.explorer-modes a.active { color: #fff; background: #477a35; border-color: #72b756; }
.explorer-modes a.locked span { color: #e5b94b; font-size: 11px; }
.explorer-quick-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 12px; margin-bottom: 26px; padding-bottom: 24px; border-bottom: 1px solid #373a37; }
.explorer-quick-form > label, .explorer-advanced-grid label { display: flex; flex-direction: column; gap: 7px; color: #d6d8d6; font-size: 14px; }
.explorer-quick-form select, .explorer-quick-form input[type='search'], .explorer-advanced-grid select { width: 100%; min-height: 44px; box-sizing: border-box; padding: 0 12px; color: #f4f4f4; background: #252725; border: 1px solid #414541; border-radius: 8px; font: inherit; }
.explorer-quick-form .profil-edit-submit { min-width: 0; margin: 0; }
.explorer-wide { grid-column: 1 / -1; }
.explorer-advanced-details { border-top: 1px solid #373a37; border-bottom: 1px solid #373a37; }
.explorer-advanced-details summary { padding: 15px 2px; color: #70aee8; font-weight: 600; cursor: pointer; }
.explorer-advanced-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 2px 0 18px; }
.explorer-check { justify-content: flex-end; }
.explorer-check span { display: flex; align-items: center; min-height: 44px; }
.explorer-languages { margin: 0; padding: 0; border: 0; }
.explorer-languages legend { margin-bottom: 10px; color: #70aee8; font-size: 16px; font-weight: 600; }
.explorer-languages-main, .explorer-languages-other { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.explorer-languages-main { margin-bottom: 20px; }
.explorer-languages label { position: relative; }
.explorer-languages input { position: absolute; opacity: 0; pointer-events: none; }
.explorer-languages label span { display: flex; align-items: center; justify-content: center; min-height: 40px; box-sizing: border-box; padding: 7px 9px; color: #bec2be; text-align: center; background: #252725; border: 1px solid #414541; border-radius: 8px; cursor: pointer; }
.explorer-languages input:checked + span { color: #fff; background: #477a35; border-color: #72b756; }
.explorer-results-title { margin: 0 0 14px; color: #d6d8d6; }
.explorer-results { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.explorer-member { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid #373a37; border-radius: 10px; }
.explorer-avatar { position: relative; flex: 0 0 72px; width: 72px; height: 72px; background-position: center 18%; background-size: cover; border-radius: 50%; }
.explorer-avatar .online { position: absolute; right: 2px; bottom: 4px; }
.explorer-member-info { display: flex; flex-direction: column; min-width: 0; gap: 5px; }
.explorer-member-info strong { color: #70aee8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.explorer-member-info small { color: #aeb2b5; line-height: 1.35; }
.explorer-empty, .explorer-message { grid-column: 1 / -1; padding: 18px; color: #c7cac7; text-align: center; background: #252725; border-radius: 9px; }
.explorer-premium { padding: 26px 18px; text-align: center; background: #252725; border: 1px solid #414541; border-radius: 10px; }
.explorer-premium h2 { margin: 0 0 8px; color: #70aee8; }
.explorer-premium p { margin: 0 0 18px; color: #c7cac7; }
.explorer-premium .profil-edit-submit { display: inline-block; margin: 0; text-decoration: none; }
@media (max-width: 850px) { .explorer-quick-form, .explorer-advanced-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .explorer-quick-form, .explorer-advanced-grid, .explorer-results { grid-template-columns: 1fr; } .explorer-languages-main, .explorer-languages-other { grid-template-columns: repeat(2, minmax(0, 1fr)); } .explorer-avatar { flex-basis: 64px; width: 64px; height: 64px; } }

/* Explorer : recherche unique et filtres */
.explorer-search-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 16px 0; color: #d7dad7; font-size: 17px; line-height: 1.55; border-bottom: 1px solid #373a37; }
.explorer-search-summary strong { color: #fff; }
.explorer-search-profile, .explorer-search-radius { display: block; }
.explorer-search-edit { display: inline-flex; align-items: center; width: 20px; height: 20px; margin-left: 7px; vertical-align: -4px; background: url(https://cdn.celibataire.ch/layout_membres/2026-editer.svg) center/20px 20px no-repeat; }
.explorer-search-edit:hover { opacity: .8; }
.explorer-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.explorer-filter-button { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 8px 15px; color: #fff; background: #477a35; border: 1px solid #72b756; border-radius: 22px; font: inherit; font-weight: 600; cursor: pointer; }
.explorer-filter-button span { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 3px; background: #72b756; border-radius: 12px; font-size: 12px; }
.explorer-sort { display: flex; align-items: center; gap: 8px; color: #aeb2b5; font-size: 13px; }
.explorer-sort select { min-height: 40px; padding: 0 10px; color: #fff; background: #252725; border: 1px solid #414541; border-radius: 8px; }
.explorer-active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.explorer-active-filters a { padding: 7px 10px; color: #dfe2df; text-decoration: none; background: #252725; border: 1px solid #414541; border-radius: 16px; font-size: 13px; }
.explorer-active-filters a b { margin-left: 4px; color: #ef827a; }
.explorer-active-filters a.clear { color: #ef827a; background: transparent; border-color: transparent; }
.explorer-filter-open { overflow: hidden; }
.explorer-filter-overlay[hidden] { display: none; }
.explorer-filter-overlay { position: fixed; z-index: 10020; inset: 0; display: flex; justify-content: center; padding: 20px; background: rgba(0,0,0,.74); }
.explorer-filter-panel { display: flex; flex-direction: column; width: min(900px,100%); max-height: calc(100vh - 40px); color: #e7e9e7; background: #1d1f1d; border: 1px solid #414541; border-radius: 13px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.explorer-filter-head { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 0 18px; border-bottom: 1px solid #373a37; }
.explorer-filter-head strong { color: #70aee8; font-size: 19px; }
.explorer-filter-head button { width: 38px; height: 38px; padding: 0; color: #fff; background: transparent; border: 0; font-size: 30px; cursor: pointer; }
.explorer-filter-body { flex: 1 1 auto; padding: 2px 20px 22px; overflow-y: auto; }
.explorer-filter-body section { padding: 18px 0; border-bottom: 1px solid #373a37; }
.explorer-filter-body section:last-child { border-bottom: 0; }
.explorer-filter-body h2 { margin: 0 0 14px; color: #70aee8; font-size: 17px; }
.explorer-range { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.explorer-range input { width: 100%; accent-color: #72b756; }
.explorer-filter-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.explorer-filter-checks label, .explorer-filter-languages label { position: relative; }
.explorer-filter-checks input, .explorer-filter-languages input { position: absolute; opacity: 0; pointer-events: none; }
.explorer-filter-checks label span, .explorer-filter-languages label span { display: flex; align-items: center; justify-content: center; min-height: 42px; box-sizing: border-box; padding: 8px 10px; color: #bec2be; text-align: center; background: #252725; border: 1px solid #414541; border-radius: 8px; cursor: pointer; }
.explorer-filter-checks input:checked + span, .explorer-filter-languages input:checked + span { color: #fff; background: #477a35; border-color: #72b756; }
.explorer-filter-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.explorer-filter-grid label { display: flex; flex-direction: column; gap: 7px; color: #d6d8d6; font-size: 14px; }
.explorer-filter-grid select, .explorer-filter-grid input[type='search'] { width: 100%; min-height: 44px; box-sizing: border-box; padding: 0 12px; color: #fff; background: #252725; border: 1px solid #414541; border-radius: 8px; font: inherit; }
.explorer-check-line { justify-content: flex-end; flex-direction: row !important; align-items: center; min-height: 44px; }
.explorer-check-line input { width: 19px; height: 19px; accent-color: #72b756; }
.explorer-filter-languages { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.explorer-filter-languages.main { margin-bottom: 18px; }
.explorer-locked-filters { padding: 30px 15px !important; text-align: center; }
.explorer-locked-filters .lock { margin-bottom: 6px; color: #e5b94b; }
.explorer-locked-filters h2 { margin-bottom: 7px; }
.explorer-locked-filters p { margin: 0 auto 18px; max-width: 520px; color: #bec2be; }
.explorer-locked-filters .profil-edit-submit { display: inline-block; min-width: 0; margin: 0; text-decoration: none; }
.explorer-filter-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 18px; background: #252725; border-top: 1px solid #414541; }
.explorer-filter-actions a { color: #ef827a; }
.explorer-filter-actions button { min-width: 150px; padding: 11px 20px; color: #fff; background: #72b756; border: 0; border-radius: 8px; font: inherit; font-weight: 700; cursor: pointer; }
.explorer-filter-accordion { margin: 0 0 18px; color: #e7e9e7; background: #1d1f1d; border: 1px solid #414541; border-radius: 12px; overflow: hidden; }
.explorer-filter-accordion > summary, .explorer-filter-section > summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; }
.explorer-filter-accordion > summary::-webkit-details-marker, .explorer-filter-section > summary::-webkit-details-marker { display: none; }
.explorer-filter-accordion > summary { min-height: 52px; box-sizing: border-box; padding: 10px 16px; color: #fff; font-weight: 700; gap: 9px; }
.explorer-filter-accordion > summary strong { white-space: nowrap; }
.explorer-filter-accordion > summary::after, .explorer-filter-section > summary::after { content: ''; width: 9px; height: 9px; margin-left: auto; border-right: 2px solid #70aee8; border-bottom: 2px solid #70aee8; transform: rotate(45deg); transition: transform .18s ease; }
.explorer-filter-accordion[open] > summary::after, .explorer-filter-section[open] > summary::after { transform: rotate(225deg); }
.explorer-filter-accordion > summary span { display: grid; place-items: center; min-width: 23px; height: 23px; padding: 0 3px; background: #477a35; border-radius: 12px; font-size: 12px; }
.explorer-filter-accordion .explorer-filter-panel { display: block; width: 100%; max-height: none; box-sizing: border-box; color: inherit; background: transparent; border: 0; border-top: 1px solid #373a37; border-radius: 0; overflow: visible; box-shadow: none; }
.explorer-filter-accordion .explorer-filter-body { padding: 0 16px; overflow: visible; }
.explorer-filter-section { border-bottom: 1px solid #373a37; }
.explorer-filter-section > summary { min-height: 50px; color: #70aee8; font-size: 17px; font-weight: 700; }
.explorer-filter-section-content { padding: 0 0 18px; }
.explorer-filter-section .explorer-filter-checks { grid-template-columns: repeat(3,minmax(0,1fr)); }
.explorer-filter-section .explorer-sort { margin-top: 16px; }
.explorer-filter-section .explorer-sort select { flex: 1; }
.explorer-filter-accordion .explorer-filter-actions { border-radius: 0; }
.explorer-filter-help { margin: 0 0 12px; color: #aeb2ae; font-size: 13px; }
.explorer-loisirs-selected, .explorer-loisirs-results { display: flex; flex-wrap: wrap; gap: 8px; }
.explorer-loisirs-selected { min-height: 42px; margin-bottom: 16px; padding: 10px; background: #191b19; border: 1px solid #303330; border-radius: 10px; }
.explorer-loisirs-search { display: block; }
.explorer-loisirs-search > span { display: block; margin-bottom: 7px; color: #d8dbd8; font-size: 13px; font-weight: 600; }
.explorer-loisirs-search input { width: 100%; min-height: 44px; box-sizing: border-box; padding: 10px 12px; color: #fff; background: #252725; border: 1px solid #414541; border-radius: 8px; font: inherit; }
.explorer-loisirs-search input:focus { border-color: #72b756; outline: 2px solid rgba(114,183,86,.18); }
.explorer-loisirs-results { margin-top: 12px; }
.loisir-chip .explorer-loisir-icon { display: inline-grid; place-items: center; width: 20px; height: 20px; font-size: 15px; font-weight: 400; line-height: 1; }
.explorer-filter-empty { margin: 0; padding: 14px; color: #bec2be; background: #252725; border-radius: 8px; }
.explorer-filter-empty a { color: #70aee8; }
@media (max-width: 650px) { .explorer-search-summary { align-items: flex-start; flex-direction: column; gap: 8px; } .explorer-toolbar { align-items: stretch; flex-direction: column; } .explorer-sort { justify-content: space-between; } .explorer-sort select { flex: 1; } .explorer-filter-overlay { align-items: stretch; padding: 0; } .explorer-filter-panel { max-height: 100vh; border-radius: 0; border-width: 0; } .explorer-filter-accordion .explorer-filter-panel { max-height: none; } .explorer-filter-accordion .explorer-filter-checks { grid-template-columns: repeat(2,minmax(0,1fr)); } .explorer-filter-body { padding-right: 14px; padding-left: 14px; } .explorer-filter-checks, .explorer-filter-grid { grid-template-columns: 1fr; } .explorer-filter-languages { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Cartes des résultats Explorer, inspirées de l'ancien onlines1.php */
.explorer-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); align-items: start; gap: 14px; }
.explorer-member { display: block; min-width: 0; padding: 0; color: #fff; text-decoration: none; background: #252725; border: 1px solid #414541; border-radius: 16px; overflow: hidden; box-shadow: 0 3px 12px rgba(0,0,0,.2); transition: transform .16s ease, box-shadow .16s ease; }
.explorer-member:hover { border-color: #414541; transform: translateY(-2px); box-shadow: 0 7px 19px rgba(0,0,0,.32); }
.explorer-results + .navig_bas { margin-top: 0; }
.explorer-card-photo { position: relative; display: block; width: 100%; aspect-ratio: 5 / 7; background-color: #292c29; background-position: center 18%; background-repeat: no-repeat; background-size: cover; }
.explorer-photo-count { position: absolute; z-index: 2; top: 10px; left: 10px; padding: 4px 7px; color: #252525; background: rgba(255,255,255,.92); border-radius: 5px; font-size: 11px; font-weight: 600; }
.explorer-photo-count span { display: inline-block; width: 15px; height: 15px; margin-right: 5px; vertical-align: -3px; background: url('https://cdn.celibataire.ch/layout_membres/svg_profil_photo.svg') center / contain no-repeat; }
.explorer-card-badges { position: absolute; z-index: 2; top: 11px; right: 11px; display: flex; align-items: center; gap: 6px; }
.explorer-online, .explorer-certified { position: relative; display: block; width: 18px; height: 18px; box-sizing: border-box; border: 0; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.5); }
.explorer-online { background: #43c94b; }
.explorer-certified { background: #3e7ec9 url('https://cdn.celibataire.ch/layout_membres/svg_vu.svg') center / 12px 12px no-repeat; }
.explorer-card-content { position: absolute; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; gap: 3px; padding: 48px 13px 13px; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.94)); text-shadow: 0 1px 2px rgba(0,0,0,.9); }
.explorer-card-name { display: block; min-width: 0; overflow: hidden; font-size: 18px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.explorer-card-name strong { color: #fff; font-weight: 700; }
.explorer-card-place, .explorer-card-activity { display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap }
.explorer-card-place { color: rgba(255,255,255,.92); font-size: 12px; line-height: 1.3 }
.explorer-card-activity { color: rgba(255,255,255,.78); font-size: 10px; line-height: 1.35 }
.explorer-results { margin-bottom: 10px; }
@media (max-width: 430px) { .explorer-results { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; } .explorer-member { border-radius: 12px; } .explorer-card-content { padding: 40px 10px 10px; } .explorer-card-name { font-size: 16px; } .explorer-card-place { font-size: 11px; } }

/* ========================= PHOTO PRINCIPALE ========================= */
.photo-current { display: flex; align-items: center; gap: 14px; margin: 20px 0; color: #d8dbd8; font-size: 14px; }

.photo-current img { width: 82px; height: 82px; object-fit: cover; border: 2px solid #414541; border-radius: 50%; }

.photo-upload-form { width: 100%; margin-top: 22px; }

.photo-drop { display: flex; align-items: center; justify-content: center; min-height: 260px; box-sizing: border-box; padding: 20px; color: #bfc3bf; background: #202220; border: 2px dashed #4a4e4a; border-radius: 12px; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; }

.photo-drop:hover, .photo-drop.is-dragging { background: #252925; border-color: #72b756; }

.photo-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }

.photo-drop img { display: block; max-width: 100%; max-height: 420px; object-fit: contain; border-radius: 9px; }

.photo-drop img[hidden], .photo-webcam[hidden] { display: none; }

.photo-source-actions { display: flex; justify-content: center; gap: 12px; margin-top: 14px; }

.photo-source-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; box-sizing: border-box; padding: 10px 17px; color: #fff; background: #363936; border: 0; border-radius: 8px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }

.photo-source-button:hover { background: #454945; }
.photo-source-button.secondary { background: #7b1109; }
.photo-source-button.secondary:hover { background: #65100a; }
.mobile-camera { display: none; }

.photo-webcam { margin-top: 16px; padding: 14px; background: #202220; border: 1px solid #414541; border-radius: 12px; text-align: center; }

.photo-webcam video { display: block; width: 100%; max-height: 520px; margin-bottom: 12px; object-fit: contain; background: #000; border-radius: 9px; }

.photo-webcam > div { display: flex; justify-content: center; gap: 10px; }

.photo-rules { margin: 22px 0; padding: 15px 17px; color: #bfc3bf; background: #202220; border: 1px solid #414541; border-radius: 10px; font-size: 13px; line-height: 1.5; }

.photo-rules strong { color: #fff; }
.photo-rules ul { margin: 7px 0 0; padding-left: 19px; }

.photo-drop.is-disabled, .photo-source-button.is-disabled { cursor: not-allowed; opacity: .45; }

.album-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 26px; }

.album-heading .setting-title { margin-bottom: 8px; }
.album-heading span { color: #929792; font-size: 13px; }
.album-heading strong { color: #fff; }

.album-grid { display: grid; grid-template-columns: repeat(auto-fill, 100px); gap: 12px; justify-content: start; margin-top: 14px; margin-bottom: 24px; }

.album-item { position: relative; width: 100px; height: 100px; overflow: hidden; background: #202220; border: 1px solid #414541; border-radius: 8px; }

.album-item img { width: 100%; height: 100%; object-fit: cover; }
.album-delete-form { position: absolute; top: 4px; right: 4px; margin: 0; }
.album-delete-form button { display: block; width: 26px; height: 26px; padding: 0; background-color: rgba(123,17,9,.94); background-image: url("https://cdn.celibataire.ch/layout_membres/2026-message-delete.svg"); background-repeat: no-repeat; background-position: center; background-size: 14px 14px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; cursor: pointer; }

.album-delete-form button:hover { background-color: #65100a; }

.album-empty { color: #929792; text-align: center; padding: 24px 0; }

@media (max-width: 768px) { .mobile-camera { display: inline-flex; } .desktop-webcam { display: none; } .photo-drop { min-height: 210px; } .photo-source-actions, .photo-webcam > div { flex-direction: column; } .photo-source-button { width: 100%; } .album-heading { align-items: flex-start; flex-direction: column; gap: 0; } .album-grid { grid-template-columns: repeat(auto-fill, 100px); gap: 10px; } }

/* ========================= MODIFICATION DU PSEUDO ========================= */

.pseudo-current { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid #252725; }

.pseudo-current span { color: #fff; font-size: 16px; }

.pseudo-current strong { color: #72b756; font-size: 17px; }

.pseudo-form { max-width: 620px; margin-top: 18px; }

.pseudo-field > span { display: block; margin-bottom: 7px; color: #fff; font-weight: 600; }

.pseudo-field small { display: block; margin-top: 6px; color: #7b7b7b; text-align: right; }

.pseudo-rules { margin-top: 20px; padding: 15px 17px; color: #bfc3bf; background: #191b19; border-left: 3px solid #1c6aaf; border-radius: 0 8px 8px 0; font-size: 13px; line-height: 1.5; }

.pseudo-rules p { margin: 0 0 7px; font-weight: 700; }

.pseudo-rules ul { margin: 0; padding-left: 19px; }

.pseudo-warning, .pseudo-delay { margin: 18px 0 0; padding: 12px 14px; color: #ffdba3; background: #3a2d18; border: 1px solid #705426; border-radius: 8px; line-height: 1.45; }

.pseudo-delay strong { color: #fff; }

.profil-edit-submit:disabled { cursor: wait; opacity: .65; transform: none; }

/* ========================= ÉDITION DE LA DESCRIPTION ========================= */

.description-form { padding-bottom: 18px; }

.description-languages-title { margin-top: 30px; }

.description-languages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }

.description-languages-primary { margin-bottom: 32px; }

.description-languages-primary .description-language-option span { min-height: 46px; color: #fff; border-color: #4b504b; font-weight: 700; }

.description-language-option { position: relative; cursor: pointer; }

.description-language-option input { position: absolute; opacity: 0; pointer-events: none; }

.profil-edit-form .description-language-option > span { min-height: 42px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 8px; color: #bfc2bf; background: #252725; border: 1px solid #393c39; border-radius: 9px; text-align: center; font-size: 13px; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }

.profil-edit-form .description-language-option:hover > span { color: #fff; border-color: #5f675f; }

.profil-edit-form .description-language-option input:checked + span { color: #fff; background: #477a35; border-color: #72b756; box-shadow: 0 0 0 1px rgba(114, 183, 86, .2); }

.profil-edit-form .description-language-option input:focus-visible + span { outline: 2px solid #90cc77; outline-offset: 2px; }

@media (max-width: 760px) { .description-languages { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@media (max-width: 480px) { .description-languages { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ========================= ÉDITION DU PROFIL ========================= */

/* ========================= LOISIRS ET INTÉRÊTS ========================= */

.loisirs-intro { margin-bottom: 14px; }

.loisirs-progress { width: fit-content; margin: 0 0 26px; padding: 9px 14px; color: #ffdba3; background: #3a2d18; border: 1px solid #705426; border-radius: 9px; }

.loisirs-progress strong { margin-right: 3px; color: #fff; font-size: 18px; }

.loisirs-progress.complete { color: #dff7d6; background: #213b27; border-color: #477a50; }

.loisirs-section { margin-bottom: 32px; padding-bottom: 28px; border-bottom: 1px solid #303230; }

.loisirs-selected, .loisirs-suggestions { display: flex; flex-wrap: wrap; gap: 8px; }

.loisirs-selected { min-height: 42px; margin: 14px 0 18px; padding: 12px; background: #191b19; border: 1px solid #303330; border-radius: 10px; }

.loisirs-empty { align-self: center; color: #777c77; font-size: 13px; }

.loisirs-empty[hidden] { display: none; }

.loisir-chip { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; color: #d5d8d5; background: #292c29; border: 1px solid #414541; border-radius: 18px; font: inherit; font-size: 13px; cursor: pointer; }

.loisir-chip:hover { color: #fff; border-color: #72b756; }

.loisir-chip.selected { color: #fff; background: #477a35; border-color: #72b756; }

.loisir-chip.selected.pending { color: #fff3dc; background: #6a451b; border-color: #d48a32; }

.loisir-chip .loisir-pending-icon { font-size: 14px; font-weight: 400; }

.loisir-chip span { font-size: 17px; font-weight: 700; line-height: 1; }

.loisir-chip:disabled { cursor: wait; opacity: .55; }

.loisirs-search { display: block; max-width: 520px; }

.loisirs-search > span { display: block; margin-bottom: 7px; color: #d8dbd8; font-size: 13px; font-weight: 600; }

.loisirs-search input { width: 100%; min-height: 44px; box-sizing: border-box; padding: 10px 12px; color: #fff; background: #252725; border: 1px solid #414541; border-radius: 8px; font: inherit; }

.loisirs-search input:focus { border-color: #72b756; outline: 2px solid rgba(114,183,86,.18); }

.loisirs-suggestions-title { margin: 18px 0 10px; color: #aeb2ae; font-size: 13px; font-weight: 600; }

.loisirs-propose-link { color: #72b756; text-decoration: underline; text-underline-offset: 2px; }

.loisirs-propose-link:hover { color: #91d477; }

.loisirs-proposal-form { max-width: 620px; }

.loisirs-proposal-note { margin: 10px 0 0 !important; color: #ffdba3; }

.annonce-form { width: 100%; max-width: none; box-sizing: border-box; }

.annonce-form textarea { width: 100%; min-height: 260px; box-sizing: border-box; resize: vertical; padding: 14px; color: #fff; background: #252725; border: 1px solid #414541; border-radius: 10px; font: inherit; line-height: 1.55; }

.annonce-form textarea:focus { border-color: #72b756; outline: 2px solid rgba(114,183,86,.18); }

.annonce-form textarea:disabled { opacity: .55; }

.annonce-counter { margin-top: 7px; color: #e07864; font-size: 13px; font-weight: 600; text-align: right; }

.annonce-counter.valid { color: #72b756; }

.annonce-rules { margin: 14px 0 22px; color: #bfc3bf; font-size: 14px; line-height: 1.5; }

.annonce-rules ul { margin: 7px 0 0; padding-left: 20px; }

.annonce-warning { margin: 18px 0; padding: 14px 16px; color: #ffe6bd; background: #4f3518; border: 1px solid #8a5e28; border-radius: 10px; }

.annonce-warning a { color: #fff; text-decoration: underline; }

.annonce-delete-form { width: 100%; margin-top: 30px; text-align: center; }

.annonce-delete-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 18px; color: #fff; background: #7b1109; border: 1px solid #9b2a20; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }

.annonce-delete-button:hover { background: #65100a; }

.certification-status { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0 28px; }

.certification-status-line { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 13px; background: #1d1f1d; border: 1px solid #414541; border-radius: 10px; }

.certification-status-line.is-complete { background: #213b27; border-color: #477a50; }

.certification-status-icon { display: inline-flex; flex: 0 0 30px; width: 30px; height: 30px; align-items: center; justify-content: center; color: #fff; background: #414141; border-radius: 50%; font-weight: 700; }

.certification-status-line.is-complete .certification-status-icon { background: #367242; }

.certification-status-line strong, .certification-status-line small { display: block; }

.certification-status-line small { margin-top: 3px; color: #aeb2ae; line-height: 1.25; }

.certification-action { display: inline-flex; width: auto; text-decoration: none; }

.certification-warning, .certification-pending, .certification-success { display: flex; flex-direction: column; gap: 5px; margin-top: 20px; padding: 14px 16px; border-radius: 10px; }

.certification-warning, .certification-pending { color: #ffe6bd; background: #4f3518; border: 1px solid #8a5e28; }

.certification-success { color: #fff; background: #1d1f1d; border: 1px solid #414541; }

.certification-code { margin: 16px 0; padding: 15px; color: #72b756; background: #1d1f1d; border: 1px solid #414541; border-radius: 10px; font-size: 18px; line-height: 1.45; text-align: center; }

.certification-code strong { color: #72b756; font-size: 24px; letter-spacing: 2px; }

.certification-photo-intro { font-size: 16px; line-height: 1.55; }

.certification-rules { margin: 0 0 20px; padding-left: 20px; color: #bfc3bf; line-height: 1.55; }

.certification-upload { width: 100%; }

.certification-upload > input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.certification-upload-box { display: flex; min-height: 210px; box-sizing: border-box; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 20px; color: #fff; background: #1d1f1d; border: 2px dashed #386fbe; border-radius: 10px; text-align: center; cursor: pointer; }

.certification-upload-box:hover { background: #252825; border-color: #6697df; }

.certification-upload-box small { color: #aeb2ae; }

.certification-upload-icon { font-size: 40px; line-height: 1; }

#certification-preview { display: none; width: 120px; height: 120px; margin-top: 8px; object-fit: cover; border: 2px solid #6697df; border-radius: 50%; }

#certification-preview.is-visible { display: block; }

.certification-upload .profil-edit-submit { margin-top: 14px; }

.email-current-card { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:12px 0 18px; padding:14px 16px; background:#1d1f1d; border:1px solid #414541; border-radius:10px; }
.email-current-card > div span, .email-current-card > div strong { display:block; }
.email-current-card > div span { margin-bottom:4px; color:#aeb2ae; font-size:13px; }
.email-current-card > div strong { overflow-wrap:anywhere; }
.email-current-card.is-valid { border-color:#477a50; }
.email-current-card.is-invalid { border-color:#8a5e28; }
.email-status { flex:0 0 auto; padding:5px 9px; color:#fff; background:#367242; border-radius:999px; font-size:12px; font-weight:700; }
.email-current-card.is-invalid .email-status { background:#8a5e28; }
.email-edit-form { width:100%; max-width:none; }
.email-edit-form label, .email-edit-form label span { display:block; }
.email-edit-form label span { margin-bottom:7px; }
.email-edit-form input[type="email"] { width:100%; box-sizing:border-box; padding:12px 13px; color:#fff; background:#252725; border:1px solid #414541; border-radius:8px; font:inherit; }
.email-edit-form input[type="email"]:focus { border-color:#72b756; outline:2px solid rgba(114,183,86,.18); }
.email-edit-form .profil-edit-submit, .email-reactivate-form .profil-edit-submit { margin-top:14px; }
@media (max-width:600px) { .email-current-card { align-items:flex-start; flex-direction:column; } }

@media (max-width: 700px) { .certification-status { grid-template-columns: 1fr; } .certification-action { width: 100%; } }

.quizz-summary { width: 100%; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 18px 0; padding: 13px 16px; color: #fff3dc; background: #4f3518; border: 1px solid #8a5e28; border-radius: 10px; }

.quizz-summary.active { color: #e6f7df; background: #213b27; border-color: #477a50; }

.quizz-summary strong { margin-right: 3px; font-size: 18px; }

.quizz-summary > span { font-size: 13px; font-weight: 600; }

.quizz-mode-form { width: 100%; margin-bottom: 28px; }

.quizz-section-title { margin-top: 32px; scroll-margin-top: 100px; }

.quizz-list, .quizz-suggestions { width: 100%; display: grid; gap: 12px; }

.quizz-card { display: flex; gap: 12px; padding: 15px; background: #202220; border: 1px solid #353835; border-radius: 10px; }

.quizz-card-number { flex: 0 0 28px; height: 28px; display: grid; place-items: center; color: #fff; background: #477a35; border-radius: 50%; font-size: 13px; font-weight: 700; }

.quizz-card-content { min-width: 0; flex: 1; }

.quizz-card h2 { margin: 2px 0 12px; color: #fff; font-size: 16px; line-height: 1.4; }

.quizz-answer-form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

.quizz-answer-label { flex-basis: 100%; margin: 0 0 2px; color: #aeb2ae; font-size: 13px; }

.quizz-answer-form label { position: relative; cursor: pointer; }

.quizz-answer-form input[type="radio"] { position: absolute; opacity: 0; }

.quizz-answer-form label span { min-height: 36px; box-sizing: border-box; display: inline-flex; align-items: center; padding: 7px 12px; color: #d5d8d5; background: #292c29; border: 1px solid #414541; border-radius: 18px; }

.quizz-answer-form input:checked + span { color: #fff; background: #477a35; border-color: #72b756; }

.quizz-small-button, .quizz-action-button { min-height: 36px; padding: 7px 14px; color: #fff; background: #477a35; border: 1px solid #72b756; border-radius: 18px; font: inherit; font-weight: 600; cursor: pointer; }

.quizz-small-button:hover, .quizz-action-button:hover { background:#568f41; }

.quizz-small-button[hidden], .quizz-delete-form[hidden], #quizz-add-section[hidden] { display: none; }

.quizz-delete-form { margin-top: 10px; text-align: right; }

.quizz-delete-form button { display: inline-block; width: 30px; height: 30px; padding: 0; background-color: #7b1109; background-image: url("https://cdn.celibataire.ch/layout_membres/2026-message-delete.svg"); background-repeat: no-repeat; background-position: center; background-size: 16px 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; cursor: pointer; }

.quizz-delete-form button:hover { background-color: #65100a; }

.quizz-search-form { width: 100%; display: flex; gap: 8px; margin: 15px 0 10px; }

.quizz-search-form input { min-width: 0; flex: 1; min-height: 42px; box-sizing: border-box; padding: 9px 12px; color: #fff; background: #252725; border: 1px solid #414541; border-radius: 8px; font: inherit; }

.quizz-search-form input:focus { border-color: #72b756; outline: 2px solid rgba(114,183,86,.18); }

.quizz-search-meta { width: 100%; color: #aeb2ae; font-size: 13px; }

.quizz-search-meta a { color: #72b756; }

.quizz-refresh-form { width: 100%; margin-top: 16px; text-align: center; }

.quizz-refresh-form button { min-height: 40px; padding: 8px 18px; color: #fff; background: #477a35; border: 1px solid #72b756; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }

@media (max-width: 520px) { .quizz-search-form { flex-direction: column; } .quizz-search-form button { border-radius: 8px; } .quizz-card { padding: 12px; } }

.profil-edit-message { margin: 0 0 18px; padding: 13px 16px; border: 1px solid; border-radius: 10px; text-align: center; font-weight: 600; }

.profil-edit-message-error { color: #ffdede; background: #472020; border-color: #874646; }

.profil-edit-info-line, .profil-edit-field-line { min-height: 48px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid #252725; }

.profil-edit-info-line > span, .profil-edit-info-line > div > span, .profil-edit-field-line > span { color: #fff; font-size: 16px; }

.profil-edit-info-line strong { color: #bfc3bf; text-align: right; overflow-wrap: anywhere; }

.profil-edit-info-action > div { min-width: 0; }

.profil-edit-info-action > div > span, .profil-edit-info-action > div > strong { display: block; }

.profil-edit-info-action > div > strong { margin-top: 4px; text-align: left; }

.profil-edit-field-line select { width: min(100%, 330px) !important; }

.profil-edit-card { margin-bottom: 18px; padding: 20px; background: #151615; border: 1px solid #303230; border-radius: 12px; }

.profil-edit-card-title { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid #303230; }

.profil-edit-card-title h1 { margin: 0 0 5px; color: #fff; font-size: 19px; }

.profil-edit-card-title p { margin: 0; color: #aeb2b5; line-height: 1.45; }

.profil-edit-card-title p strong { color: #fff; }

.profil-edit-readonly-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }

.profil-edit-readonly-grid > div, .profil-edit-account-line { box-sizing: border-box; padding: 13px 14px; background: #202220; border: 1px solid #343734; border-radius: 9px; }

.profil-edit-readonly-grid span, .profil-edit-account-line span { display: block; margin-bottom: 4px; color: #929792; font-size: 12px; }

.profil-edit-readonly-grid strong, .profil-edit-account-line strong { color: #fff; overflow-wrap: anywhere; }

.profil-edit-account-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }

.profil-edit-secondary { flex-shrink: 0; padding: 8px 13px; color: #fff; background: #363936; border: 1px solid #4a4e4a; border-radius: 8px; text-decoration: none; font-size: 13px; font-weight: 600; }

.profil-edit-secondary:hover { background: #454945; }

.profil-edit-secondary-alert { background: #7b1109; border-color: #9b2a20; }

.profil-edit-secondary-alert:hover { background: #65100a; }

.telephone-form { width: 100%; }

.telephone-number-fields { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; margin: 16px 0; }

.telephone-number-fields select, .telephone-number-fields input { width: 100%; min-height: 46px; box-sizing: border-box; padding: 10px 12px; color: #fff; background: #202220; border: 1px solid #414541; border-radius: 8px; font: inherit; }

.telephone-code { display: flex; justify-content: center; gap: 9px; margin: 20px 0; }

.telephone-code input { width: 48px; height: 54px; box-sizing: border-box; padding: 0; color: #fff; background: #202220; border: 1px solid #414541; border-radius: 8px; text-align: center; font-size: 24px; font-weight: 700; }

.telephone-delay { margin: 12px 0 0; color: #929792; text-align: center; font-size: 13px; }

.telephone-delay a { color: #72b756; }

@media (max-width: 480px) { .telephone-number-fields { grid-template-columns: 92px minmax(0, 1fr); } .telephone-code { gap: 6px; } .telephone-code input { width: 42px; height: 50px; } }

.profil-edit-fields, .profil-edit-location-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

.profil-edit-form label > span, .profil-edit-age-field > span { display: block; margin-bottom: 7px; color: #d8dbd8; font-size: 13px; font-weight: 600; }

.profil-edit-form select, .profil-edit-form input[type='text'], .profil-edit-form input[type='password'] { width: 100%; min-height: 44px; box-sizing: border-box; padding: 10px 12px; color: #fff; background: #252725; border: 1px solid #414541; border-radius: 8px; font: inherit; }

.profil-edit-form select:focus, .profil-edit-form input[type='text']:focus, .profil-edit-form input[type='password']:focus { border-color: #72b756; outline: 2px solid rgba(114, 183, 86, .18); }

.password-edit-form { display: grid; gap: 14px; width: 100%; }

.password-edit-form .profil-edit-submit { margin-top: 2px; }

/* Sécurité du profil et historique des connexions */
.profil-security-link { display: flex; align-items: center; gap: 12px; box-sizing: border-box; width: 100%; margin-bottom: 24px; padding: 13px 42px 13px 13px; color: #fff; text-decoration: none; background: #1d1f1d; border: 1px solid #414541; border-radius: 10px; position: relative; }

.profil-security-link::after { content: '›'; position: absolute; top: 50%; right: 15px; color: #aeb2ae; font-size: 28px; line-height: 1; transform: translateY(-53%); }

.profil-security-link:hover { color: #fff; background: #252825; border-color: #545954; }

.profil-security-icon, .profil-login-device { width: 32px; height: 32px; flex: 0 0 32px; background: #386fbe; border-radius: 50%; position: relative; }

.profil-security-icon::before, .profil-login-device::before { content: ''; position: absolute; top: 8px; left: 10px; width: 10px; height: 12px; border: 2px solid #fff; border-radius: 2px; }

.profil-security-icon::after, .profil-login-device::after { content: ''; position: absolute; top: 4px; left: 11px; width: 8px; height: 8px; border: 2px solid #fff; border-bottom: 0; border-radius: 7px 7px 0 0; }

.profil-security-text, .profil-security-text strong, .profil-security-text small { display: block; }

.profil-security-text { min-width: 0; }

.profil-security-text small { margin-top: 3px; color: #aeb2ae; line-height: 1.3; }

.profil-login-history { display: grid; gap: 12px; }

.profil-login-entry { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #1d1f1d; border: 1px solid #414541; border-radius: 10px; }

.profil-login-details, .profil-login-details strong, .profil-login-details span, .profil-login-details small { display: block; }

.profil-login-details span { margin-top: 3px; color: #d7dad7; }

.profil-login-details small { margin-top: 3px; color: #969b96; }

.profil-login-empty { padding: 16px; color: #aeb2ae; background: #1d1f1d; border: 1px solid #414541; border-radius: 10px; text-align: center; }

.profil-security-warning { display: grid; gap: 6px; margin-top: 24px; padding: 14px 16px; color: #f5c7c3; background: #5f1712; border: 1px solid #9b2a20; border-radius: 10px; }

.profil-security-warning .profil-edit-secondary { justify-self: start; margin-top: 8px; text-decoration: none; }

/* Mise en pause et suppression du profil */
.profil-management-link { margin-bottom: 8px; }

.profil-management-icon { position: relative; flex: 0 0 30px; width: 30px; height: 30px; border: 2px solid #72b756; border-radius: 50%; box-sizing: border-box; }

.profil-management-icon::before { content: ''; position: absolute; top: 5px; bottom: 5px; left: 8px; width: 3px; background: #72b756; border-radius: 2px; box-shadow: 7px 0 0 #72b756; }

.profil-management-form { text-align: center; }

.profil-management-pause, .profil-delete-submit { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 20px; color: #fff; border: 0; border-radius: 9px; font: inherit; font-weight: 700; cursor: pointer; }

.profil-management-pause { background: #72b756; }

.profil-management-pause:hover { background: #5f9e47; }

.profil-management-pause:disabled { color: #aeb2ae; background: #414141; cursor: not-allowed; opacity: .8; }

.profil-pause-unavailable { margin: 0 0 24px; padding: 12px 14px; color: #f5c7c3; background: #5f1712; border: 1px solid #9b2a20; border-radius: 10px; text-align: center; }

.profil-management-separator { height: 1px; margin: 32px 0 26px; background: #414541; }

.profil-delete-warning { display: grid; gap: 5px; margin-bottom: 18px; padding: 14px 16px; color: #f7d0cd; background: #5f1712; border: 1px solid #9b2a20; border-radius: 10px; }

.profil-delete-form { display: grid; gap: 14px; }

.profil-delete-confirmation { display: flex !important; align-items: flex-start; gap: 10px; padding: 12px 14px; color: #d7dad7; background: #1d1f1d; border: 1px solid #414541; border-radius: 9px; cursor: pointer; }

.profil-password-forgotten { display: block; justify-self: start; margin: -5px 0 2px; padding: 0; color: #72b756; background: none; border: 0; font: inherit; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; }

.profil-password-forgotten:hover { color: #8cca72; text-decoration: underline; }

.profil-password-forgotten:disabled { color: #8b8f8b; cursor: wait; text-decoration: none; }

.profil-delete-confirmation input { flex: 0 0 auto; width: 18px !important; height: 18px; margin: 1px 0 0; }

.profil-delete-confirmation span { margin: 0 !important; line-height: 1.4; }

.profil-delete-submit { margin: 16px auto 0; background: #b63b34; }

.profil-delete-submit:hover { background: #982f29; }

@media (max-width: 480px) { .profil-management-pause, .profil-delete-submit { width: 100%; box-sizing: border-box; } }

@media (max-width: 480px) { .profil-security-warning .profil-edit-secondary { width: 100%; box-sizing: border-box; text-align: center; } }

.profil-edit-age-field > div { display: grid; grid-template-columns: 1fr auto 1fr auto; align-items: center; gap: 8px; color: #bfc3bf; }

.profil-edit-submit { display: block; min-width: 260px; margin: 20px auto 0; padding: 13px 22px; color: #fff; background: #72b756; border: 0; border-radius: 9px; font: inherit; font-weight: 700; cursor: pointer; }

.profil-edit-submit:hover { background: #5f9e47; }

.profil-edit-location-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }

.profil-edit-location-choice input { position: absolute; opacity: 0; pointer-events: none; }

.profil-edit-location-choice span { display: flex !important; align-items: center; justify-content: center; min-height: 42px; box-sizing: border-box; margin: 0 !important; padding: 8px 12px; color: #bec2be; background: #252725; border: 1px solid #414541; border-radius: 8px; cursor: pointer; }

.profil-edit-location-choice input:checked + span { color: #fff; background: #477a35; border-color: #72b756; }

.profil-edit-location-panel[hidden], .profil-edit-location-panel label[hidden] { display: none; }

.profil-edit-location-status { grid-column: 1 / -1; margin: 0; color: #aeb2b5; font-size: 13px; }

@media (max-width: 650px) { .profil-edit-readonly-grid, .profil-edit-fields, .profil-edit-location-panel { grid-template-columns: 1fr; } .profil-edit-card { padding: 16px; } .profil-edit-field-line { align-items: stretch; flex-direction: column; gap: 7px; } .profil-edit-field-line select { width: 100% !important; } }

@media (max-width: 480px) { .profil-edit-account-line { align-items: flex-start; flex-direction: column; } .profil-edit-info-action { align-items: stretch; flex-direction: column; gap: 8px; } .profil-edit-info-action > div { width: 100%; } .profil-edit-secondary, .profil-edit-submit { width: 100%; min-width: 0; box-sizing: border-box; text-align: center; } }

/* ==========================================================
   CONCOURS
   ========================================================== */
.contest-page { width: 100%; margin: 24px 0; color: #d7dad7; }

.contest-balance { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 24px; padding: 15px 18px; background: #202120; border: 1px solid #383b38; border-radius: 15px; }

.contest-balance strong { color: #fff; font-size: 20px; }

.contest-card { margin: 0 0 24px; padding: 20px; background: #202120; border: 1px solid #383b38; border-radius: 15px; }

.contest-card h1, .contest-results h1 { margin: 0 0 8px; color: #1c6aaf; font-size: 22px; }

.contest-card h1 a, .contest-results h1 a, .contest-result h2 a, .contest-result-card h1 a { color: inherit; }

.contest-period { margin: 0 0 16px; color: #9ea39e; }

.contest-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 0 0 20px; }

.contest-detail { padding: 11px 0; border-bottom: 1px solid #353835; }

.contest-detail span { display: block; margin-bottom: 3px; color: #9ea39e; font-size: 13px; }

.contest-detail strong { color: #fff; }

.contest-form { display: flex; align-items: end; gap: 12px; margin-top: 4px; }

.contest-form label { display: flex; flex: 1; flex-direction: column; gap: 7px; }

.contest-form select { min-height: 44px; padding: 9px 12px; color: #fff; background: #292b29; border: 1px solid #454945; border-radius: 10px; font: inherit; }

.contest-button, .contest-results-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; padding: 9px 20px; color: #fff; background: #477a35; border: 1px solid #5f9849; border-radius: 15px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }

.contest-button:disabled { opacity: .45; cursor: not-allowed; }

.contest-empty { padding: 20px 0; }

.contest-results { margin-top: 34px; }

.contest-result { padding: 17px 0; border-bottom: 1px solid #353835; }

.contest-result h2 { margin: 0 0 8px; color: #1c6aaf; font-size: 18px; }

.contest-result p { margin: 5px 0; }

.contest-results-link { margin-top: 20px; }

.contest-results-page { width: 100%; color: #d7dad7; }

.contest-result-card { padding: 19px 0; border-bottom: 1px solid #353835; }

.contest-result-card:first-child { border-top: 1px solid #353835; }

.contest-result-card h1 { margin: 0 0 9px; color: #1c6aaf; font-size: 19px; }

.contest-result-card p { margin: 6px 0; }

.contest-results-page .navig_bas { margin: 15px 0 0; }

@media (max-width: 680px) { .contest-page { margin: 18px 0; } .contest-details { grid-template-columns: 1fr; } .contest-form { align-items: stretch; flex-direction: column; } .contest-button, .contest-results-link { width: 100%; } }

/* ==========================================================
   PREVENTION DES ARNAQUES
   ========================================================== */
.scam-prevention-page { width: 100%; margin: 24px 0; color: #d7dad7; font-size: 15px; line-height: 1.6; }

.scam-prevention-page p { margin: 0 0 15px; }

.scam-prevention-page h2 { margin: 30px 0 12px; color: #1c6aaf; font-size: 20px; line-height: 1.3; }

.scam-prevention-page ul { margin: 0 0 18px; padding-left: 24px; }

.scam-prevention-page li { margin-bottom: 7px; }

.scam-prevention-lead { color: #fff; font-size: 18px; font-weight: 700; }

.scam-prevention-warning { color: #f0cf61; font-weight: 700; }

.scam-prevention-rules { list-style: none; padding-left: 0 !important; }

.scam-prevention-actions { margin-top: 28px; }

.scam-prevention-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; padding: 9px 20px; color: #fff; background: #477a35; border: 1px solid #5f9849; border-radius: 15px; font-weight: 700; text-decoration: none; }

.scam-prevention-button:hover { box-shadow: 0 5px 14px rgba(0, 0, 0, .55); }

.support-scam-link { display: flex; align-items: center; justify-content: space-between; gap: 15px; box-sizing: border-box; width: 100%; margin: 18px 0 26px; padding: 15px 17px; color: #d7dad7; background: #202120; border: 1px solid #383b38; border-radius: 15px; text-decoration: none; }

.support-scam-link:hover { box-shadow: 0 5px 14px rgba(0, 0, 0, .55); }

.support-scam-link strong, .support-scam-link small { display: block; }

.support-scam-link strong { margin-bottom: 3px; color: #fff; font-size: 15px; }

.support-scam-link small { color: #aeb2ae; font-size: 12px; line-height: 1.4; }

.support-scam-link-arrow { color: #477a35; font-size: 30px; line-height: 1; }

@media (max-width: 680px) { .scam-prevention-page { margin: 18px 0; font-size: 14px; } .scam-prevention-page h2 { margin-top: 25px; font-size: 18px; } .scam-prevention-button { width: 100%; } }

/* ==========================================================
   PAGES AFFICHER ET SUPPORT
   ========================================================== */
/* SUPPORT */
.support-intro { margin:0 0 24px;color:#d1d4d1;line-height:1.5 }.support-form { width:100% }.support-section { margin:0 0 26px }.support-form label { display:block;margin:0 0 16px }.support-form label>span,.support-label { display:block;margin:0 0 7px;color:#f2f3f2;font-weight:600 }.support-form select,.support-form input,.support-form textarea { box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #5d625d;border-radius:8px;background:#1d1f1d;color:#fff;font:inherit }.support-form textarea { min-height:180px;resize:vertical;line-height:1.45 }.support-form select:focus,.support-form input:focus,.support-form textarea:focus { outline:0;border-color:#6697df;box-shadow:0 0 0 2px rgba(102,151,223,.18) }.support-help { display:block;margin-top:6px;color:#aeb2ae;font-size:.88rem;line-height:1.4 }.support-warning { margin:0 0 22px;padding:13px 15px;border:1px solid #665f35;border-radius:8px;background:#292719;color:#eee3a5;line-height:1.45 }.support-context { display:grid;grid-template-columns:1fr 1fr;gap:0 14px }.support-actions { display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px }.support-submit { min-width:210px;padding:12px 22px;border:1px solid #62ae78;border-radius:8px;background:#378951;color:#fff;font:inherit;font-weight:700;cursor:pointer }.support-submit:hover { background:#43a260 }.support-history { color:#9fc1f1;text-decoration:none }.support-history:hover { text-decoration:underline }.support-hidden { display:none!important }.support-before-contact { margin-bottom:30px }.support-quick-list { margin:0 0 26px;padding-left:22px;color:#d1d4d1;line-height:1.5 }.support-quick-list li { margin-bottom:12px }.support-quick-list a,.support-legal-links a { color:#9fc1f1 }.support-legal-links { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 28px;padding:0;list-style:none }.support-legal-links li { display:flex;min-width:0 }.support-legal-links a { display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border:1px solid #414541;border-radius:8px;background:#1d1f1d;text-align:center;text-decoration:none }.support-faq { margin:0 0 28px }.support-faq-item { margin-bottom:7px;border:1px solid #414541;border-radius:8px;background:#1d1f1d;overflow:hidden }.support-faq-button { display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 15px;border:0;background:transparent;color:#fff;font:inherit;font-weight:600;text-align:left;cursor:pointer }.support-faq-button:after { content:'+';margin-left:12px;color:#86afea;font-size:1.25rem }.support-faq-button[aria-expanded='true']:after { content:'−' }.support-faq-content { display:none;padding:0 15px 15px;color:#d1d4d1;line-height:1.5 }.support-faq-content.open { display:block }.support-priority { margin:0 0 24px;color:#d1d4d1;line-height:1.5 }@media(max-width:600px) { .support-context { grid-template-columns:1fr }.support-actions { align-items:stretch;flex-direction:column }.support-submit { width:100% }.support-history { text-align:center }.support-legal-links { grid-template-columns:1fr } }
.support-topic { margin:0 0 28px }.support-topic label { display:block;margin:0 0 8px;color:#f2f3f2;font-weight:700 }.support-topic select { box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #5d625d;border-radius:8px;background:#1d1f1d;color:#fff;font:inherit }.support-topic select:focus { outline:0;border-color:#6697df;box-shadow:0 0 0 2px rgba(102,151,223,.18) }.support-contact { margin:28px 0 }.support-contact p { color:#d1d4d1;line-height:1.5 }.support-contact-button { display:block;box-sizing:border-box;width:max-content;max-width:100%;margin:20px auto 0;padding:12px 22px;border:1px solid #666;border-radius:8px;background:#414141;color:#fff;font-weight:700;text-align:center;text-decoration:none }.support-contact-button:hover { background:#505050 }.support-empty { margin:0 0 25px;color:#aeb2ae }.support-legal-title { margin-top:34px }@media(max-width:600px) { .support-contact-button { width:100% } }
.support-sector-buttons { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100% }.support-sector-button { box-sizing:border-box;width:100%;min-height:46px;padding:10px;border:1px solid #666;border-radius:8px;background:#414141;color:#fff;font:inherit;font-weight:600;cursor:pointer }.support-sector-button:hover { border-color:#6697df }.support-sector-button.active { border-color:#6697df;background:#386fbe }@media(max-width:600px) { .support-sector-buttons { grid-template-columns:1fr } }

/* AFFICHER */
.profile-conversation-title { grid-template-columns:50px minmax(0,1fr) 25px }.profile-conversation-title .droite { grid-column:3 }.profile-card,.profile-section { box-sizing:border-box;color:#d7dad7;background:#252725;border:1px solid #414541;border-radius:16px;box-shadow:0 3px 12px rgba(0,0,0,.2) }
.profile-card { display:grid;grid-template-columns:300px minmax(0,1fr);overflow:hidden;margin:0 0 14px }.profile-cover { position:relative;width:300px;height:400px;min-height:0;background:#292c29 }.profile-cover>a { display:block;height:100% }.profile-cover>img,.profile-cover>a>img { display:block;width:100%;height:100%;object-fit:cover;object-position:center center }.profile-cover::after { content:"";position:absolute;z-index:1;right:0;bottom:0;left:0;height:30%;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.42) 38%,rgba(0,0,0,.96) 100%) }.profile-photo-info { position:absolute;z-index:2;right:22px;bottom:20px;left:22px;color:#fff }.profile-name { margin:0;color:#fff;font-size:20px;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,.95) }.profile-place { display:flex;align-items:center;gap:8px;margin:7px 0 0;color:#fff;font-size:15px;text-shadow:0 1px 6px #000 }.profile-online-dot { display:inline-block;width:9px;height:9px;background:#65c653;border:2px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.25) }.profile-birthday { display:block;box-sizing:border-box;flex:0 0 25px;width:25px;height:25px;background-color:#000;background-image:url(https://cdn.celibataire.ch/layout_membres/svg_profil_birthday.svg);background-position:center calc(50% - 2px);background-size:16px 16px;background-repeat:no-repeat;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35) }.profile-badges { position:absolute;z-index:3;top:12px;right:12px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:70% }.profile-badges .explorer-certified,.profile-badges .explorer-online { position:static;display:block;flex:0 0 25px;width:25px;height:25px;background-size:16px 16px }.profile-cover>.explorer-photo-count>span { display:inline-block;width:18px;height:15px;margin-right:5px;vertical-align:-1px;background:url(https://cdn.celibataire.ch/layout_membres/svg_profil_photo.svg) center/contain no-repeat }.profile-badge { padding:5px 9px;color:#fff;background:rgba(25,27,25,.88);border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:11px;font-weight:600 }.profile-sms-certified { filter:grayscale(1);background-color:#686d68!important }.profile-body { display:flex;flex-direction:column;justify-content:center;padding:28px }.profile-summary { margin:0;color:#d7dad7;line-height:1.65 }.profile-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0 0 }.profile-actions-express { grid-template-columns:1fr;margin-top:9px }.profile-actions a,.profile-actions button { display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:8px 8px;color:#fff;background:#477a35;border:1px solid #72b756;border-radius:22px;font:inherit;font-size:12px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer }.profile-actions .secondary { color:#fff;background:#363936;border-color:#555a55 }.profile-express-options { display:grid;gap:10px }.profile-express-choice { width:100%;border-radius:8px }.inline-form { display:flex }.inline-form button { width:100% }.profile-section { margin:0 0 12px;padding:18px }.profile-section h2 { margin:0 0 15px;padding-bottom:10px;color:#fff;font-size:17px;border-bottom:1px solid #373a37 }.profile-grid { display:grid;grid-template-columns:minmax(130px,35%) 1fr;gap:0 }.profile-grid dt,.profile-grid dd { box-sizing:border-box;padding:8px 4px;border-bottom:1px solid #343734 }.profile-grid dt { color:#9fa49f }.profile-grid dd { margin:0;color:#f0f1f0 }.profile-section p { line-height:1.6 }.profile-section a { color:#70aee8 }.profile-tags { display:flex;flex-wrap:wrap;gap:7px }.profile-tag { padding:7px 10px;color:#d7dad7;background:#363936;border:1px solid #4b4f4b;border-radius:16px;font-size:13px }.profile-tag.common { background:#477a35;border-color:#72b756 }.photo-strip,.gift-strip { display:flex;gap:9px;overflow-x:auto;scrollbar-width:none }.photo-strip::-webkit-scrollbar,.gift-strip::-webkit-scrollbar { display:none }.photo-strip a { flex:0 0 130px }.photo-strip img { display:block;width:130px;height:175px;object-fit:cover;border:1px solid #414541;border-radius:12px }.gift-strip form { flex:0 0 110px }.gift { display:flex;flex-direction:column;align-items:center;justify-content:center;width:110px;height:110px;padding:7px;color:#fff;background:#383a38;border:1px solid #4b4f4b;border-radius:10px;cursor:pointer }.gift:hover { background:#484b48 }.gift img { width:48px;height:48px;margin-bottom:4px;object-fit:contain }.gift span { max-width:100%;overflow:hidden;font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap }.gift strong { color:#f2b441;font-size:10px }.profile-empty { color:#9fa49f }.profile-menu { display:flex;align-items:center;justify-content:center;gap:20px;margin:18px 0 24px }.profile-menu form { margin:0 }.profile-menu button,.profile-menu a { padding:0;color:#aeb2b5;background:none;border:0;font:inherit;font-size:13px;text-decoration:none;cursor:pointer }.profile-menu button:hover,.profile-menu a:hover { color:#ef6a6a }
@media(max-width:680px) { .profile-card { display:block }.profile-cover { width:100%;height:auto;min-height:0;aspect-ratio:5/6 }.profile-cover::after { height:30%;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.48) 38%,rgba(0,0,0,.98) 100%) }.profile-photo-info { right:17px;bottom:16px;left:17px }.profile-body { display:block;padding:17px }.profile-name { font-size:25px }.profile-actions { grid-template-columns:repeat(3,minmax(0,1fr));gap:6px }.profile-actions-express { grid-template-columns:1fr }.profile-actions a,.profile-actions button { padding:7px 5px;font-size:12px }.profile-section { padding:15px }.profile-grid { grid-template-columns:42% 58% } }
.profile-section { margin:0;padding:0;color:#d7dad7;background:transparent;border:0;border-radius:0;box-shadow:none }.profile-section h2 { font-size:20px;font-weight:bold;color:#1c6aaf;padding:0 0 12px;margin:35px 0 0;border:0 }.profile-section+.profile-section { padding-top:0 }.profile-text-box { box-sizing:border-box;padding:15px 17px;color:#d7d7d7;background:#202020;border:1px solid #414141;border-radius:10px;line-height:1.55 }.profile-text-box p { margin:0 }.profile-map-link { padding:0;color:#fff;background:none;border:0;font:inherit;text-align:left;text-decoration:underline;cursor:pointer }.profile-map-name { margin:0 0 5px;color:#fff;font-size:20px;font-weight:700 }.profile-map-distance { margin:0 0 10px;color:#aeb2b5;font-size:14px }.profile-map-frame { display:block;width:100%;height:460px;border:0;border-radius:10px }.profile-text-box .profile-loisirs-help { margin:0 0 15px;color:#bfc3bf;font-size:12px;line-height:1.5 }.profile-loisirs-help strong { color:#d7dad7 }.profile-loisirs-category { margin:0 0 22px }.profile-loisirs-category:last-child { margin-bottom:0 }.profile-loisirs-category h3 { margin:0 0 12px;color:#d7dad7;font-size:14px }.profile-tag-button { cursor:pointer }.profile-gouts-button,.profile-section-button { display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:10px 16px;color:#fff!important;background:#265031;border:1px solid #397148;border-radius:8px;font:inherit;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer }.profile-gouts-button:hover,.profile-section-button:hover { background:#30633d }.profile-gouts-comparison[hidden] { display:none }.profile-gouts-comparison { display:grid;gap:8px }.profile-gout-row { display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(90px,1fr) minmax(90px,1fr);gap:10px;align-items:center;padding:9px 10px;background:#292b29;border-radius:7px;font-size:13px }.profile-gouts-score { margin:0 0 14px!important;font-size:15px }.profile-gouts-legend { display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 14px;color:#aeb2b5;font-size:12px }.profile-gouts-legend span { display:inline-flex;align-items:center;gap:6px }.profile-gout-dot { display:inline-block;flex:0 0 12px;width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.25) }.profile-gout-dot.ok { background:#72b756 }.profile-gout-dot.presque { background:#ffe200 }.profile-gout-dot.peu { background:#db8311 }.profile-gout-dot.non { background:#b82004 }.profile-gout-label { display:flex;align-items:center;gap:7px;font-weight:700 }.profile-gout-value { text-align:center }.profile-gout-icon { display:inline-block;width:20px;height:20px;vertical-align:middle;cursor:help }.profile-gouts-head { color:#aeb2b5;background:transparent;padding-top:0;font-size:11px;text-transform:uppercase }.profile-gouts-head .profile-gout-label { text-transform:none }@media(max-width:520px) { .profile-gout-row { grid-template-columns:minmax(105px,1.25fr) minmax(75px,1fr) minmax(75px,1fr);gap:6px;padding:8px 7px;font-size:12px } }.gift-strip { cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x }.gift-strip.dragging { cursor:grabbing }.gift-strip img { pointer-events:none }
.profile-express-panel { margin:0 0 22px;text-align:center }.profile-express-question { margin:0 0 10px;font-weight:700 }.profile-express-buttons { display:flex;align-items:center;justify-content:center;gap:20px }.profile-express-action { position:relative;display:flex;align-items:center;justify-content:center;width:70px;height:70px;padding:0;background:transparent;border:0;border-radius:50%;cursor:pointer;transition:transform .14s ease,background-color .14s ease,box-shadow .14s ease }.profile-express-action img { display:block;width:70px;height:70px }.profile-express-action .express-choice-svg { display:block;width:70px;height:70px;overflow:visible }.profile-express-action .express-choice-circle { fill:rgba(150,150,150,.18);stroke:none }.profile-express-action .express-choice-symbol { fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:6 }.profile-express-action--yes .express-choice-symbol { fill:#e53935;stroke:#e53935;stroke-width:2 }.profile-express-action--no .express-choice-symbol { stroke:#111 }.profile-express-action:hover { transform:scale(1.05) }.profile-express-action--yes:hover .express-choice-circle,.profile-express-action--yes.is-swipe-active .express-choice-circle { fill:#e53935 }.profile-express-action--yes:hover .express-choice-symbol,.profile-express-action--yes.is-swipe-active .express-choice-symbol { fill:#fff;stroke:#fff }.profile-express-action--no:hover .express-choice-circle,.profile-express-action--no.is-swipe-active .express-choice-circle { fill:#111 }.profile-express-action--no:hover .express-choice-symbol,.profile-express-action--no.is-swipe-active .express-choice-symbol { stroke:#fff }.profile-express-action:disabled { cursor:default;filter:grayscale(1);opacity:.36;transform:none }.profile-express-action.is-selected:disabled { filter:none;opacity:1 }.profile-express-action.is-selected::after { content:'✓';position:absolute;right:-3px;bottom:-2px;display:flex;align-items:center;justify-content:center;width:25px;height:25px;color:#fff;background:#477a35;border:2px solid #fff;border-radius:50%;font-size:16px;font-weight:900;box-shadow:0 2px 7px rgba(0,0,0,.55) }
@media(max-width:680px) { .profile-card.express-swipe-ready { position:relative;will-change:transform }.profile-swipe-tint { position:absolute;z-index:6;inset:0;opacity:0;pointer-events:none;transition:opacity .08s }.profile-swipe-tint.yes { background:linear-gradient(135deg,rgba(229,57,53,.42),rgba(229,57,53,.04) 65%) }.profile-swipe-tint.no { background:linear-gradient(225deg,rgba(0,0,0,.5),rgba(0,0,0,.04) 65%) }.profile-swipe-indicator { --swipe-scale:.72;position:absolute;z-index:8;top:34%;display:flex;align-items:center;justify-content:center;width:104px;height:104px;box-sizing:border-box;opacity:0;pointer-events:none;transition:opacity .08s,transform .08s;filter:drop-shadow(0 4px 8px rgba(255,255,255,.3)) drop-shadow(0 5px 14px rgba(0,0,0,.55)) }.profile-swipe-indicator svg { display:block;width:100%;height:100%;overflow:visible }.profile-swipe-indicator.yes { left:27%;color:#e53935;transform:translate(-50%,-50%) rotate(-12deg) scale(var(--swipe-scale)) }.profile-swipe-indicator.no { left:73%;color:#111;transform:translate(-50%,-50%) rotate(12deg) scale(var(--swipe-scale)) }.profile-swipe-indicator.is-threshold { animation:expressStamp .2s ease-out }.profile-express-action.is-swipe-active { z-index:2;filter:none!important;transform:scale(1.18)!important;box-shadow:none!important }.profile-card.express-swipe-moving { transition:none!important }.profile-card.express-swipe-reset { transition:transform .18s ease,opacity .18s ease }@keyframes expressStamp { 0% { filter:drop-shadow(0 5px 14px rgba(0,0,0,.55)) }45% { filter:drop-shadow(0 0 15px currentColor) drop-shadow(0 6px 15px rgba(0,0,0,.6)) }100% { filter:drop-shadow(0 5px 14px rgba(0,0,0,.55)) } } }
.profile-swipe-indicator { width:124px;height:124px;padding:8px;background:rgba(145,145,145,.28);border-radius:50%;box-shadow:0 9px 24px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.08);filter:drop-shadow(0 4px 9px rgba(0,0,0,.72)) }.profile-card { border-radius:10px }.profile-cover>.explorer-photo-count { font-size:16px;border:1px solid rgba(0,0,0,.35);box-shadow:0 2px 6px rgba(0,0,0,.55) }.profile-summary { color:#e1e3e1;font-family:'Patrick Hand',cursive;font-size:26px;font-style:italic;font-weight:400;line-height:1.4;text-align:center }.profile-express-buttons { padding:20px 0 }.profile-express-change-info { margin:-8px 0 4px;color:#aeb2b5;font-size:12px }
.profile-express-action.is-selected::after { content:'';border:none;background:#477a35 url(https://cdn.celibataire.ch/layout_membres/svg-ok.svg) center/15px 15px no-repeat }.express-transition-mask { position:fixed;z-index:900;inset:0;background:#000;opacity:0;pointer-events:auto;transition:opacity .12s ease }.express-transition-mask.is-visible { opacity:1 }
.profile-express-action--photo { background:#477a35;border-radius:15px }.profile-express-action--photo img { width:50px;height:50px;object-fit:contain }.profile-express-action--photo:hover { background:#477a35 }
.profile-actions-legacy { display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0 0 }.profile-actions-legacy form { display:block;margin:0 }.profile-action-button { position:relative;display:flex;align-items:center;justify-content:center;width:78px;height:78px;box-sizing:border-box;margin:0;padding:0;color:inherit;background:#171817;border:1px solid #383b38;border-radius:15px;box-shadow:0 3px 10px rgba(0,0,0,.48);text-decoration:none;cursor:pointer;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease }.profile-action-button:hover { background:#242624;transform:translateY(-2px) }.profile-action-button.is-disabled { cursor:default;opacity:.48 }.profile-action-button.is-disabled:hover { background:#171817;transform:none;box-shadow:0 3px 10px rgba(0,0,0,.48) }.profile-actions-legacy .bouton_message,.profile-actions-legacy .bouton_favori,.profile-actions-legacy .bouton_quizz,.profile-actions-legacy .bouton_quizz_no { display:block;width:60px;height:60px;background-position:center;background-size:60px 60px;background-repeat:no-repeat }.profile-actions-legacy .notif_bulle, .profile-favorite-check { position:absolute;z-index:2;border-radius:50%;box-shadow:0 2px 7px rgba(0,0,0,.55) }
.profile-actions-legacy .notif_bulle { top:-6px;right:-6px;box-sizing:border-box;min-width:22px;padding:3px 6px;color:#fff;background:#b82518;font-size:13px;line-height:16px;text-align:center }.profile-favorite-check { top:-5px;right:-5px;width:25px;height:25px;background:#477a35 url(https://cdn.celibataire.ch/layout_membres/svg-ok.svg) center/15px 15px no-repeat }.profile-favorite-check[hidden] { display:none }
.profile-actions-legacy .bouton_visio { display:block;width:60px;height:60px;background:url(https://cdn.celibataire.ch/layout_membres/visio-video-on.svg?v=4) center/60px 60px no-repeat }@media(max-width:680px) { .profile-actions-legacy { gap:8px }.profile-action-button { width:70px;height:70px }.profile-actions-legacy .bouton_message,.profile-actions-legacy .bouton_favori,.profile-actions-legacy .bouton_quizz,.profile-actions-legacy .bouton_quizz_no,.profile-actions-legacy .bouton_visio { width:54px;height:54px;background-size:54px 54px } }
.profile-actions-legacy { margin-top:40px }.profile-action-button { background:#101110;box-shadow:none }.profile-action-button:hover { background:#101110;box-shadow:0 5px 14px rgba(0,0,0,.55) }.profile-action-button:focus,.profile-action-button:focus-visible,.profile-action-button:active { background:#101110 }.profile-action-button.is-disabled:hover { background:#101110;box-shadow:none }
.profile-favorite-check { top:-6px;right:-6px;width:22px;height:22px;background-size:12px 12px }
.profile-actions-legacy .bouton_message { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_boutons_message.svg?v=2) }
.profile-actions-legacy .bouton_favori { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_profil_favori.svg) }
.profile-actions-legacy .bouton_quizz { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_profil_quizz.svg) }
.profile-actions-legacy .bouton_quizz_no { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_profil_quizz_no.svg) }
.profile-actions-legacy .bouton_visio { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_profil_visio.svg) }
.profile-actions-legacy .is-disabled .bouton_visio { background-image:url(https://cdn.celibataire.ch/layout_membres/svg_profil_visio_no.svg) }
.profile-express-change-info { min-height:17px }.profile-express-change-info[hidden] { display:block;visibility:hidden }

/* AFFICHER_QUIZZ */
.quiz-page { width:100%;margin:24px 0;color:#d7dad7 }.quiz-page h1 { margin:0 0 12px;color:#fff;font-size:24px }.quiz-intro { margin:0 0 24px }.quiz-question { margin:0;padding:19px 0;border-bottom:1px solid #353835 }.quiz-question:first-child { border-top:1px solid #353835 }.quiz-question h2 { margin:0 0 14px;color:#fff;font-size:17px }.quiz-choice { display:flex;align-items:center;gap:10px;box-sizing:border-box;width:100%;margin:8px 0;padding:12px 14px;background:#202120;border:1px solid #383b38;border-radius:10px;cursor:pointer }.quiz-choice:hover { background:#292b29 }.quiz-choice input { width:19px;height:19px;accent-color:#477a35 }.quiz-submit,.quiz-action { display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;margin-top:22px;padding:9px 20px;color:#fff;background:#477a35;border:1px solid #5f9849;border-radius:15px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer }.quiz-score { margin:22px 0 4px;color:#fff;font-size:64px;font-weight:800;line-height:1;text-align:center }.quiz-score-detail { text-align:center }.quiz-analysis { margin-top:30px }.quiz-error { color:#ef8a80 }@media(max-width:680px) { .quiz-page { margin:18px 0 }.quiz-submit,.quiz-action { width:100% } }

/* AFFICHER_QUIZZ_RESULTATS */
.quiz-results { width:100%;margin:24px 0;color:#d7dad7 }.quiz-results h1 { margin:0 0 12px;color:#fff;font-size:24px }.quiz-results-summary { margin:18px 0 28px }.quiz-results-score { color:#fff;font-size:25px }.quiz-result-row { display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid #353835 }.quiz-result-row:first-of-type { border-top:1px solid #353835 }.quiz-result-status { display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:2px;border-radius:50% }.quiz-result-status.ok { background:#477a35 }.quiz-result-status.ko { background:#a82c22 }.quiz-result-status img { display:block;width:12px;height:12px;filter:brightness(0) invert(1) }.quiz-result-question { margin:0 0 10px;color:#fff;font-size:17px }.quiz-result-detail { margin:4px 0;color:#bfc3bf }.quiz-result-detail strong { color:#fff }.quiz-contact { display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;margin-top:24px;padding:9px 20px;color:#fff;background:#477a35;border:1px solid #5f9849;border-radius:15px;font-weight:700;text-decoration:none }@media(max-width:680px) { .quiz-results { margin:18px 0 }.quiz-contact { width:100% } }

/* AFFICHER_INCONNU */
.unknown-profile-card { box-sizing:border-box;width:100%;margin:24px 0;padding:0;color:#d7dad7;background:transparent;border:0 }.unknown-profile-card h1 { margin:0 0 18px;color:#fff;font-size:23px }.unknown-profile-card p { line-height:1.55 }.unknown-profile-card ul { margin:18px 0;padding-left:22px }.unknown-profile-card li { margin:0 0 10px;line-height:1.45 }.unknown-profile-details { margin:18px 0;padding:0;background:transparent }.unknown-profile-details p { margin:5px 0 }.unknown-profile-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:24px }.unknown-profile-actions a { display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:9px 18px;color:#fff;background:#101110;border:1px solid #383b38;border-radius:15px;text-decoration:none }.unknown-profile-actions a:hover { box-shadow:0 5px 14px rgba(0,0,0,.55) }.unknown-profile-actions .primary { background:#477a35;border-color:#5f9849 }@media(max-width:680px) { .unknown-profile-card { margin:16px 0 }.unknown-profile-actions { display:grid;grid-template-columns:1fr }.unknown-profile-actions a { width:100% } }

.express-intro-choices { display: flex; justify-content: center; gap: 28px; margin: 12px 0 16px; }

.express-intro-choice { text-align: center; }

.express-intro-icon { display: block; }

.express-intro-icon.is-no { color: #c7cbc7; transform: scaleX(-1); }

.express-intro-icon.is-yes { color: #e53935; }

.express-intro-label { color: #e1e3e1; }

/* ==========================================================
   VALIDATION DE LA PHOTO DE PROFIL
   ========================================================== */
.profile-validation-standalone { min-height: 100vh; margin: 0; color: #d7dad7; background: #101110; }

.profile-validation-shell { display: flex; align-items: center; justify-content: center; min-height: 100vh; box-sizing: border-box; padding: 30px 18px; }

.profile-validation-page { width: 100%; max-width: 340px; margin: 0; color: #d7dad7; text-align: center; }

.profile-validation-intro { margin: 0 auto 24px; text-align: center; }

.profile-validation-visual { display: block; width: 100px; height: 83px; margin: 18px auto; object-fit: contain; }

.profile-validation-intro h1 { margin: 0; color: #fff; font-size: 28px; line-height: 1.25; }

.profile-validation-intro h2 { margin: 5px 0 30px; color: #477a35; font-size: 20px; line-height: 1.3; }

.profile-validation-add { margin: 0 0 14px; }

.profile-validation-conditions { width: 320px; max-width: 100%; margin-right: auto; margin-left: auto; font-size: 13px; text-align: left; }

.profile-validation-conditions span { display: block; box-sizing: border-box; min-height: 28px; padding: 5px 0 5px 28px; background: url(https://cdn.celibataire.ch/layout_membres/ok.png) 0 3px no-repeat; }

.profile-validation-page .photo-upload-form { width: 100%; margin: 20px auto 0; }

.profile-validation-skip { display: block; width: 100%; margin: 18px auto 0; padding: 0; color: #aeb2ae; background: none; border: 0; font-size: 13px; font-weight: 400; text-align: center; text-decoration: underline; }

.profile-validation-skip:hover { color: #fff; }

/* ==========================================================
   SORTIES SUR L'ACCUEIL
   ========================================================== */
.home-events-preview { margin: 24px 0; }

.home-events-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }

.home-events-heading h2 { margin: 0; color: #1c6aaf; font-size: 20px; }

.home-events-heading > span { color: #8f948f; font-size: 11px; }

.home-event-card { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 15px; align-items: center; box-sizing: border-box; width: 100%; padding: 14px; color: #d7dad7; background: #202120; border: 1px solid #383b38; border-radius: 15px; }

.home-event-date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 64px; height: 64px; color: #fff; background: #477a35; border-radius: 12px; }

.home-event-date strong { font-size: 25px; line-height: 1; }

.home-event-date span { margin-top: 4px; font-size: 11px; font-weight: 700; }

.home-event-content h3 { margin: 0 0 6px; color: #fff; font-size: 17px; }

.home-event-content p { margin: 3px 0; color: #c7cbc7; font-size: 13px; }

.home-event-content .home-event-location { color: #9ea39e; }

.home-event-action { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 16px; color: #fff; background: #477a35; border: 1px solid #5f9849; border-radius: 15px; font-size: 13px; font-weight: 700; }

@media (max-width: 600px) { .home-event-card { grid-template-columns: 58px minmax(0, 1fr); } .home-event-date { width: 58px; height: 58px; } .home-event-action { grid-column: 1 / -1; width: 100%; box-sizing: border-box; } }

@media (max-width: 680px) { .profile-validation-shell { align-items: flex-start; padding: 22px 14px 30px; } .profile-validation-page { margin: 0; } .profile-validation-intro h1 { font-size: 28px; } }

/* ==========================================================
   CELIB-KARMA
   ========================================================== */
.karma-intro { margin: 22px 0 28px; color: #d7dad7; line-height: 1.55; }

.karma-intro p { margin: 0 0 9px; }

.karma-pending { display: flex; flex-direction: column; gap: 5px; box-sizing: border-box; width: 100%; margin: 22px 0 30px; padding: 16px; color: #d7dad7; background: #202120; border: 1px solid #383b38; border-radius: 15px; }

.karma-pending strong { color: #fff; }

.karma-pending span { color: #aeb2ae; font-size: 13px; }

.karma-score { margin: 0 0 30px; }

.karma-score-main { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; margin-bottom: 9px; color: #aeb2ae; }

.karma-score-main strong { color: #fff; font-size: 30px; line-height: 1; }

.karma-score-main small { margin-left: 3px; color: #aeb2ae; font-size: 14px; }

.karma-score progress, .karma-history progress { overflow: hidden; appearance: none; height: 9px; background: #303230; border: 0; border-radius: 10px; }

.karma-score progress { display: block; width: 100%; }

.karma-score progress::-webkit-progress-bar, .karma-history progress::-webkit-progress-bar { background: #303230; border-radius: 10px; }

.karma-score progress::-webkit-progress-value, .karma-history progress::-webkit-progress-value { background: linear-gradient(90deg, #1c6aaf, #477a35); border-radius: 10px; }

.karma-score progress::-moz-progress-bar, .karma-history progress::-moz-progress-bar { background: linear-gradient(90deg, #1c6aaf, #477a35); border-radius: 10px; }

.karma-section { margin: 30px 0; }

.karma-criteria { border-top: 1px solid #383b38; }

.karma-criterion { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 13px 0; border-bottom: 1px solid #383b38; }

.karma-criterion > div > strong, .karma-criterion > div > a { display: block; color: #fff; font-weight: 700; text-decoration: none; }

.karma-criterion > div > a { color: #5f9bd1; }

.karma-criterion > div > a:hover { text-decoration: underline; }

.karma-criterion > div small { display: block; margin-top: 3px; color: #929792; font-size: 12px; line-height: 1.35; }

.karma-criterion > span { color: #fff; font-weight: 700; white-space: nowrap; }

.karma-criterion > span small { color: #929792; font-weight: 400; }

.karma-history { display: grid; width: 100%; gap: 11px; }

.karma-history-row { display: grid; grid-template-columns: 88px minmax(100px, 1fr) 72px 90px; gap: 12px; align-items: center; width: 100%; min-width: 0; box-sizing: border-box; color: #d7dad7; font-size: 13px; }

.karma-history-row progress { width: 100%; min-width: 0; }

.karma-history-row time { color: #fff; font-weight: 700; }

.karma-history-row strong { text-align: right; }

.karma-history-row > span { color: #929792; }

.karma-ranking-grid { margin-top: 14px; }

.karma-ranking-member { position: relative; }

.karma-ranking-position { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; min-width: 28px; height: 28px; box-sizing: border-box; margin-bottom: 2px; padding: 0 7px; color: #fff; background: #477a35; border-radius: 14px; font-size: 13px; font-weight: 800; }

.karma-ranking-score { display: block; margin-top: 3px; color: #9dc48f; font-size: 11px; font-weight: 700; }

@media (max-width: 680px) { .karma-intro { margin-top: 18px; } .karma-score-main strong { font-size: 26px; } .karma-criterion { gap: 10px; } .karma-history-row { grid-template-columns: 76px minmax(80px, 1fr) 63px; gap: 8px; } .karma-history-row > span { grid-column: 2 / -1; margin-top: -7px; } }

/* Styles validés : accueil, Explorer, activité et messagerie. */
.navig_bas .nav_btn { box-sizing:border-box;width:46px;height:46px;border:1px solid #5e92d9;border-radius:11px;background-color:#386fbe;background-size:18px 18px,100% 100%;background-position:center,center;background-repeat:no-repeat;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:border-color .16s,filter .16s }
.navig_bas .nav_btn.precedent_2020 { background-image:url('https://cdn.celibataire.ch/layout_membres/svg_arrow_gauche.svg'),linear-gradient(110deg,#417bca,#346ab7) }
.navig_bas .nav_btn.suivant_2020 { background-image:url('https://cdn.celibataire.ch/layout_membres/svg_arrow_droite.svg'),linear-gradient(110deg,#417bca,#346ab7) }
.navig_bas .nav_btn:hover { border-color:#90baff;filter:brightness(1.12) }
.navig_bas .nav_btn:focus-visible { outline:2px solid #90baff;outline-offset:3px }
@media(max-width:600px) { .navig_bas .nav_btn { width:43px;height:43px } }
.home-dashboard .explorer-member.home-member-boosted,.home-dashboard .explorer-member.home-member-boosted:hover { border:1px solid #e4b33d }
.home-dashboard .home-profile-boost { position:relative;display:block;width:18px;height:18px;box-sizing:border-box;flex-shrink:0;border:0;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.5);background:#4f4f4f url('https://cdn.celibataire.ch/layout_membres/2026-boost.svg?v=5') center / 12px 12px no-repeat }
.home-dashboard { margin:4px 0 0;color:#d7dad7;display:grid;width:100%;min-width:0 }
.home-dashboard * { box-sizing:border-box }
.home-section-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px }
.home-section-heading h1,.home-section-heading h2 { margin:0;font-size:20px;color:#1c6aaf;line-height:1.25 }
.home-section-heading>a { color:#fff;text-decoration:none;font-size:14px;white-space:nowrap;padding:10px 0 }
.home-intro { margin:0 0 18px;color:#a7aba7;font-size:14px;line-height:1.5 }
.home-feature { display:flex;align-items:center;gap:20px;padding:25px;border:1px solid #353b35;border-radius:18px;background:#181b18 }
.home-flirt { background:linear-gradient(115deg,#1e3020,#171c18);border-color:#3c5936 }
.home-feature-icon { flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#293a27;color:#a8d491;font-size:32px }
.home-feature-copy { flex:1;min-width:0 }
.home-feature-copy h2 { margin:0 0 7px;color:#1c6aaf;font-size:20px;line-height:1.3 }
.home-feature-copy p { margin:4px 0 0;color:#b8bfb8;line-height:1.5;font-size:14px }
.home-eyebrow { display:block;color:#9fc88e;font-size:12px;font-weight:700;margin-bottom:7px }
.home-button { display:inline-flex;justify-content:center;align-items:center;gap:10px;flex-shrink:0;min-height:46px;padding:12px 18px;border:1px solid #639d4a;border-radius:13px;background:#477a35;color:#fff;text-decoration:none;font-size:14px;font-weight:700;text-align:center }
.home-button:hover { background:#548b40 }
.home-button-secondary { background:#252a25;border-color:#454d45 }
.home-button-secondary:hover { background:#303730 }
.home-contest .home-feature-icon { color:#e8c76c;background:#3b3221 }
.home-empty { padding:18px;margin:0;background:#1b1e1b;border-radius:12px;line-height:1.5 }
.home-empty a { color:#a1cc8d }
.home-dashboard a:focus-visible { outline:3px solid #a8d491;outline-offset:4px }
.home-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }
@media(max-width:900px) { .home-feature { flex-wrap:wrap;gap:14px } }
@media(max-width:900px) { .home-feature .home-button { margin-left:62px } }
@media(max-width:900px) { .home-feature-copy { flex-basis:calc(100% - 62px) } }
@media(max-width:600px) { .home-dashboard { margin:4px 0 0 } }
@media(max-width:600px) { .home-section-heading h1,.home-section-heading h2 { font-size:20px } }
@media(max-width:600px) { .home-feature { padding:20px 16px;border-radius:15px;gap:12px } }
@media(max-width:600px) { .home-feature-icon { flex-basis:40px;width:40px;height:40px;font-size:27px } }
@media(max-width:600px) { .home-feature-copy { flex-basis:calc(100% - 52px) } }
@media(max-width:600px) { .home-feature-copy h2 { font-size:18px } }
@media(max-width:600px) { .home-feature .home-button { width:100%;margin:4px 0 0 } }
@media(max-width:600px) { .home-intro { font-size:13px } }
.home-offer-area { min-width:0 }
.home-offer { margin-bottom:20px;--offer-accent:#ffdb59;--offer-glow:rgba(255,194,24,.32);position:relative;isolation:isolate;display:flex;align-items:flex-start;gap:22px;overflow:hidden;padding:20px;border:1px solid #bf9428;border-radius:23px;background:radial-gradient(ellipse at 95% 10%,var(--offer-glow),transparent 60%),linear-gradient(115deg,#564013 0%,#30240f 62%,#211b0f 100%);box-shadow:0 12px 35px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.055) }
.home-offer:before { content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,transparent,var(--offer-accent),transparent);opacity:.8 }
.home-offer-copy { position:relative;z-index:1;flex:1;min-width:0;padding-right:0 }
.home-offer-tag { display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(237,205,131,.24);border-radius:7px;color:var(--offer-accent);background:rgba(255,255,255,.035);font-size:11px;line-height:1.2;letter-spacing:1.2px;text-transform:uppercase;font-weight:800 }
.home-offer-tag>span { width:5px;height:5px;flex-shrink:0;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor }
.home-offer h2 { margin:13px 0 11px;color:#f3f6ef;font-size:30px;font-weight:800;line-height:1.15;letter-spacing:-.8px;text-wrap:balance }
.home-offer p { margin:0;color:#c9c1ae;font-size:14px;line-height:1.65 }
:is(.home-offer,.profil-gold-offer) .home-offer-cta { display:inline-flex;justify-content:space-between;gap:24px;min-height:48px;margin-top:22px;padding:10px 10px 10px 19px;border:1px solid #ffe073;border-radius:12px;color:#292010;background:linear-gradient(110deg,#ffe982,#f3bd26);box-shadow:0 5px 18px rgba(243,189,38,.25);font-size:14px;font-weight:800;transition:filter .16s,transform .16s }
:is(.home-offer,.profil-gold-offer) .home-offer-cta:hover { background:linear-gradient(110deg,#fff0a0,#ffcf3f);transform:translateY(-1px);filter:brightness(1.04) }
.home-offer-arrow { display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:8px;background:rgb(60 40 10 / 46%);font-size:20px;font-weight:400 }
.home-offer-promo { --offer-accent:#ffe36b;--offer-glow:rgba(255,188,10,.35);border-color:#d5a831;background:radial-gradient(ellipse at 100% 0%,var(--offer-glow),transparent 65%),linear-gradient(115deg,#654811,#39280d 60%,#261d0c) }
.home-offer-promo .home-offer-free { --offer-accent:#ffdb59;--offer-glow:rgba(255,194,24,.28) }
.home-offer-upgrade { --offer-accent:#ffe373;--offer-glow:rgba(255,194,24,.30) }
@media(max-width:850px) { .home-offer { padding:20px;gap:18px } }
@media(max-width:850px) { .home-offer-copy { padding-right:0 } }
@media(max-width:850px) { .home-offer h2 { font-size:27px } }
@media(max-width:600px) { .home-offer { display:block;padding:20px;border-radius:19px } }
@media(max-width:600px) { .home-offer-copy { padding-right:0 } }
@media(max-width:600px) { .home-offer-tag { max-width:100%;font-size:10px;letter-spacing:.9px } }
@media(max-width:600px) { .home-offer h2 { margin-top:21px;padding-right:25px;font-size:27px;letter-spacing:-.65px } }
@media(max-width:600px) { .home-offer p { padding-right:0;font-size:13px;line-height:1.6 } }
@media(max-width:600px) { :is(.home-offer,.profil-gold-offer) .home-offer-cta { width:100%;margin-top:20px;gap:12px;text-align:left;min-height:48px } }
@media(prefers-reduced-motion:reduce) { :is(.home-offer,.profil-gold-offer) .home-offer-cta { transition:none } }
@media(prefers-reduced-motion:reduce) { :is(.home-offer,.profil-gold-offer) .home-offer-cta:hover { transform:none } }
.home-offer-arrow img { display:block;width:20px;height:20px;object-fit:contain }
.home-profile-notices { display:grid;gap:12px;margin:-5px 0 15px }
.home-profile-notice { display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid rgba(229,57,53,.55);border-left:4px solid #E53935;border-radius:19px;background:linear-gradient(110deg,rgba(229,57,53,.14),rgba(229,57,53,.04));color:#E53935 }
.home-notice-icon { display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:rgba(229,57,53,.6);font-size:23px;font-weight:700 }
.home-notice-icon svg { width:22px;height:22px }
.home-notice-copy { flex:1;min-width:0 }
.home-notice-copy h2 { margin:0 0 5px;color:#E53935;font-size:16px;line-height:1.35 }
.home-notice-copy p { margin:0;color:#d8c4c3;font-size:13px;line-height:1.5 }
.home-notice-action { display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;min-height:42px;padding:9px 13px;border:1px solid #E53935;border-radius:9px;color:#fff;background:#E53935;font-size:13px;font-weight:700;text-decoration:none }
.home-notice-action:hover { background:#cf302d;border-color:#cf302d }
@media(max-width:700px) { .home-profile-notice { flex-wrap:wrap;padding:16px;gap:12px } }
@media(max-width:700px) { .home-notice-copy { flex-basis:calc(100% - 48px) } }
@media(max-width:700px) { .home-notice-action { width:100%;margin-top:2px } }
.home-notice-icon img { display:block;width:20px;height:20px;object-fit:contain }
.home-notice-action img { display:block;width:16px;height:16px;object-fit:contain }
.home-dashboard .home-grid-promo { border-color:#46573c;cursor:default }
.home-grid-promo .home-grid-promo-inner { display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:13px;background:radial-gradient(circle at 110% 10%,rgba(141,211,92,.25),transparent 60%),linear-gradient(155deg,#25391d,#121b12);color:#e9f0e3 }
.home-grid-test-label { align-self:flex-start;padding:3px 6px;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#bbc5b3;font-size:9px;line-height:1.3 }
.home-grid-promo-category { margin-top:10px;color:#bce39b;font-size:11px;font-weight:700;letter-spacing:.4px }
.home-grid-promo-main { margin:auto 0;padding:9px 0 }
.home-grid-big { display:block;color:#e0f4cd;font-size:48px;line-height:1;letter-spacing:-2px }
.home-grid-big span { display:block;margin-top:4px;color:#bce39b;font-size:11px;font-weight:700;letter-spacing:2px }
.home-grid-promo-main h3 { margin:13px 0 7px;color:#fff;font-size:20px;line-height:1.1;letter-spacing:-.4px }
.home-grid-promo-main p { margin:0;color:#c4ccbd;font-size:11px;line-height:1.4 }
.home-grid-promo-cta { display:flex;justify-content:space-between;align-items:center;gap:5px;padding-top:10px;border-top:1px solid rgba(255,255,255,.15);color:#e3eedb;font-size:11px;line-height:1.3;font-weight:700 }
.home-grid-promo-cta>span { font-size:18px }
.home-dashboard .home-grid-contest { border-color:#7b6535 }
.home-grid-contest .home-grid-promo-inner { background:radial-gradient(circle at 110% 10%,rgba(238,188,60,.25),transparent 60%),linear-gradient(155deg,#44351a,#1c1810) }
.home-grid-contest .home-grid-big { color:#ffe18b }
.home-grid-contest .home-grid-big span,.home-grid-contest .home-grid-promo-category { color:#ebce87 }
.home-grid-contest .home-grid-promo-main p { color:#d3c7ae }
.home-grid-contest .home-grid-promo-cta { color:#f1dfb2 }
@media(max-width:400px) { .home-grid-promo .home-grid-promo-inner { padding:10px } }
@media(max-width:400px) { .home-grid-big { font-size:39px } }
@media(max-width:400px) { .home-grid-promo-main h3 { font-size:18px;margin-top:9px } }
@media(max-width:400px) { .home-grid-promo-category { margin-top:7px;font-size:10px } }
@media(max-width:400px) { .home-grid-promo-cta { font-size:10px;padding-top:8px } }
@media(max-width:400px) { .home-grid-promo-main { padding:6px 0 } }
.home-main-grid .home-grid-promo:hover { transform:translateY(-2px);border-color:#d7b55e }
.home-grid-contest-title { display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:13px 0 7px;color:#fff;font-size:19px;line-height:1.15;letter-spacing:-.4px }
.home-grid-contest-detail { display:block;margin-top:4px;color:#d3c7ae;font-size:11px;line-height:1.4 }
.home-grid-big { font-size:clamp(28px,3.5vw,48px);overflow-wrap:anywhere }
.home-grid-contest .home-grid-promo-category { margin-top:0 }
@media(max-width:700px) { .home-grid-big { font-size:40px } }
@media(max-width:400px) { .home-grid-big { font-size:32px } }
@media(max-width:400px) { .home-grid-contest-title { font-size:16px;margin:9px 0 6px } }
@media(max-width:400px) { .home-grid-contest-detail { font-size:10px } }
.home-grid-event .home-grid-contest-title { -webkit-line-clamp:2;font-size:17px;margin-top:10px }
.home-grid-event .home-grid-contest-detail { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#c4ccbd }
.home-grid-event .home-grid-promo-category { margin-top:0 }
@media(max-width:400px) { .home-grid-event .home-grid-contest-title { font-size:15px;margin-top:8px } }
@media(max-width:400px) { .home-grid-event .home-grid-contest-detail { font-size:10px } }
.home-grid-promo-inner>.home-grid-watermark { position:absolute;z-index:0;right:-21px;top:8px;width:150px;height:150px;transform:rotate(-14deg);stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;color:#c5ecab;opacity:.1;pointer-events:none }
.home-grid-contest .home-grid-watermark { color:#ffe08a;transform:rotate(12deg) }
.home-grid-promo-category,.home-grid-promo-main,.home-grid-promo-cta { position:relative;z-index:1 }
@media(max-width:400px) { .home-grid-promo-inner>.home-grid-watermark { width:130px;height:130px;right:-20px;top:4px } }
.home-dashboard :is(.home-grid-event,.home-grid-contest) { border-color:#386fbe }
:is(.home-grid-event,.home-grid-contest) .home-grid-promo-inner { background:radial-gradient(circle at 110% 10%,rgba(56,111,190,.4),transparent 65%),linear-gradient(155deg,#214779,#111c2c) }
:is(.home-grid-event,.home-grid-contest) .home-grid-promo-category,:is(.home-grid-event,.home-grid-contest) .home-grid-big span { color:#a9ccff }
:is(.home-grid-event,.home-grid-contest) .home-grid-big { color:#dceaff }
:is(.home-grid-event,.home-grid-contest) .home-grid-contest-detail { color:#bdcde3 }
:is(.home-grid-event,.home-grid-contest) .home-grid-promo-cta { color:#dceaff }
:is(.home-grid-event,.home-grid-contest) .home-grid-watermark { color:#b6d4ff }
.home-main-grid :is(.home-grid-event,.home-grid-contest):hover { border-color:#6da2ed }
.home-grid-contest .home-grid-watermark { transform:rotate(-14deg) }
.home-flirt .home-feature-copy h3 { margin:0 0 7px;color:#fff;font-size:20px;line-height:1.3 }
@media(max-width:600px) { .home-flirt .home-feature-copy { flex-basis:100% } }
@media(max-width:600px) { .home-flirt .home-feature-copy h3 { font-size:18px } }
.home-express-card { position:relative;isolation:isolate;display:flex;align-items:center;gap:22px;overflow:hidden;padding:24px;border:1px solid #345982;border-radius:17px;background:radial-gradient(ellipse at 0 0,rgba(56,111,190,.23),transparent 65%),linear-gradient(115deg,#192636,#131b25);box-shadow:inset 0 1px 0 rgba(255,255,255,.04) }
.home-express-card:after { content:"";position:absolute;z-index:-1;width:200px;height:200px;right:-100px;top:-130px;border:1px solid rgba(121,165,225,.15);border-radius:50%;box-shadow:0 0 0 28px rgba(121,165,225,.025),0 0 0 58px rgba(121,165,225,.018);pointer-events:none }
.home-express-mark { display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border:1px solid rgba(117,164,231,.25);border-radius:18px;color:#a5c9ff;background:linear-gradient(145deg,rgba(56,111,190,.28),rgba(56,111,190,.08));transform:rotate(-5deg) }
.home-express-mark svg { width:39px;height:39px }
.home-express-copy { flex:1;min-width:0 }
.home-express-kicker { display:block;margin-bottom:7px;color:#91b8ec;font-size:11px;letter-spacing:1.1px;font-weight:700;text-transform:uppercase }
.home-express-copy h3 { margin:0 0 9px;color:#f2f6fc;font-size:23px;line-height:1.25;letter-spacing:-.5px;text-wrap:balance }
.home-express-copy p { margin:0;color:#b8c4d4;font-size:14px;line-height:1.6 }
.home-express-start { display:inline-flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;min-height:48px;padding:8px 9px 8px 17px;border:1px solid #5e92d9;border-radius:11px;color:#fff;background:linear-gradient(110deg,#386fbe,#2c5eaa);box-shadow:0 5px 18px rgba(0,0,0,.2);font-size:14px;font-weight:700;text-decoration:none;transition:background .15s }
.home-express-start:hover { background:linear-gradient(110deg,#447fce,#386fbe) }
.home-express-start-icon { display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:7px;background:rgba(0,0,0,.18) }
.home-express-start-icon img { display:block;width:18px;height:18px;object-fit:contain }
@media(max-width:950px) { .home-express-card { gap:16px;flex-wrap:wrap } }
@media(max-width:950px) { .home-express-copy { flex-basis:calc(100% - 80px) } }
@media(max-width:950px) { .home-express-start { margin-left:80px } }
@media(max-width:600px) { .home-express-card { padding:20px;gap:12px } }
@media(max-width:600px) { .home-express-mark { flex-basis:44px;width:44px;height:44px;border-radius:12px;align-self:flex-start } }
@media(max-width:600px) { .home-express-mark svg { width:29px;height:29px } }
@media(max-width:600px) { .home-express-copy { flex-basis:calc(100% - 56px) } }
@media(max-width:600px) { .home-express-kicker { font-size:10px;letter-spacing:.8px;margin-bottom:6px } }
@media(max-width:600px) { .home-express-copy h3 { font-size:21px;margin-bottom:9px } }
@media(max-width:600px) { .home-express-copy p { font-size:13px } }
@media(max-width:600px) { .home-express-start { width:100%;margin:6px 0 0;font-size:14px;min-height:48px } }
.home-express-section { margin-bottom:12px }
.home-grid-promo .home-grid-promo-category { font-size:15px;font-weight:800 }
@media(max-width:400px) { .home-grid-promo .home-grid-promo-category { font-size:14px } }
.explorer-karma-score { display:flex;align-items:center;justify-content:space-between;gap:6px;color:#d2d9e2;font-size:11px;line-height:1.4;margin-top:4px }
.explorer-karma-score strong { color:#9dc48f;font-size:12px;white-space:nowrap }
:is(.page-explorer,.page-notifications) .explorer-filter-accordion { border-color:#3a5270;background:#1e2d40 }
:is(.page-explorer,.page-notifications) .explorer-filter-accordion>summary { color:#e1e9f4;border-color:#45678f;background:linear-gradient(120deg,#203047,#1a2637) }
:is(.page-explorer,.page-notifications) .explorer-filter-accordion>summary:hover { background:linear-gradient(120deg,#203047,#1a2637) }
.page-explorer .explorer-filter-accordion>summary>span { color:#dceaff;background:rgba(104,155,224,.16) }
.page-explorer .explorer-filter-accordion.has-active-filters>summary>span { color:#fff;background:#E53935 }
.page-explorer .explorer-filter-accordion>summary>span:empty { background:transparent }
.page-explorer .explorer-filter-panel { background:transparent;border-color:#3a5270 }
.page-explorer .explorer-filter-section { border-color:#3a5270;background:transparent }
.page-explorer .explorer-filter-section>summary,.page-explorer .explorer-filter-section[open]>summary { color:#cbd7e7;border-color:#3a5270;background:transparent }
.page-explorer .explorer-filter-body>.explorer-filter-section:last-of-type { border-bottom:0 }
.page-explorer .explorer-filter-section>summary:hover { color:#fff;background:transparent }
.page-explorer .explorer-filter-section-content { border-color:#3a5270;background:transparent }
.page-explorer .explorer-filter-panel select,.page-explorer .explorer-filter-panel input:is([type="search"],[type="text"],:not([type])),.page-explorer .explorer-filter-panel textarea { color:#e1e9f4;border-color:#45678f;background:linear-gradient(115deg,#263b56,#203047) }
.page-explorer .explorer-filter-panel select option { color:#e1e9f4;background:#203047 }
.page-explorer .explorer-filter-panel input::placeholder,.page-explorer .explorer-filter-panel textarea::placeholder { color:#a9bbd4 }
.page-explorer .explorer-filter-panel input[type="range"],.page-explorer .explorer-filter-panel input[type="checkbox"] { accent-color:#386fbe }
.page-explorer .explorer-filter-checks label,.page-explorer .explorer-filter-languages label { border-color:#3a5270;background:linear-gradient(115deg,#263b56,#203047);color:#cbd7e7 }
.page-explorer .explorer-filter-checks label:has(input:checked),.page-explorer .explorer-filter-languages label:has(input:checked) { border-color:#6598db;background:linear-gradient(110deg,#304e75,#244064);color:#fff }
.page-explorer .explorer-active-filters a,.page-explorer .loisir-chip { border-color:#45678f;color:#c5ddff;background:linear-gradient(115deg,#263b56,#203047) }
.page-explorer .explorer-active-filters a:hover,.page-explorer .loisir-chip:hover { border-color:#6d9eda;background:linear-gradient(115deg,#345477,#263b56) }
.page-explorer .loisir-chip.selected { border-color:#6598db;color:#fff;background:linear-gradient(110deg,#304e75,#244064) }
.page-explorer .explorer-filter-actions { border-color:#3a5270;background:transparent }
.page-explorer .explorer-filter-actions>a,.page-explorer .explorer-active-filters a.clear { color:#b2d2ff }
.page-explorer .explorer-filter-actions button,.page-explorer .explorer-locked-filters .profil-edit-submit { border:1px solid #6d9eda;color:#fff;background:linear-gradient(110deg,#417bca,#346ab7);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 14px rgba(12,37,78,.2) }
.page-explorer .explorer-filter-actions button:hover,.page-explorer .explorer-locked-filters .profil-edit-submit:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.page-explorer .explorer-locked-filters { border-color:#45678f;background:radial-gradient(ellipse at 0 0,rgba(56,111,190,.22),transparent 75%),linear-gradient(115deg,#203047,#1a2637);color:#cbd7e7 }
.page-explorer .explorer-karma-score strong { color:#9dc48f }
.page-explorer .navig_bas { border:0;background:none;box-shadow:none }
.page-explorer .explorer-filter-panel :is(button,a,input,select):focus-visible,.page-explorer .navig_bas a:focus-visible { outline:2px solid #90baff;outline-offset:3px }
.page-explorer .explorer-filter-checks label { background:transparent;border-color:transparent }
.page-explorer .explorer-filter-checks label>span { color:#cbd7e7;border:1px solid #3c5474;background:linear-gradient(120deg,#203047,#1a2637);box-shadow:inset 0 1px 0 rgba(255,255,255,.025) }
.page-explorer .explorer-filter-checks label:hover>span { border-color:#5178ab;background:linear-gradient(120deg,#203653,#18263b) }
.page-explorer .explorer-filter-checks label:has(input:checked) { background:transparent;border-color:transparent }
.page-explorer .explorer-filter-checks label input:checked+span { color:#fff;border-color:#6598db;background:linear-gradient(110deg,#417bca,#3263aa);box-shadow:inset 0 1px 0 rgba(255,255,255,.09) }
.page-explorer .explorer-filter-panel button { border-color:#45678f;color:#c5ddff;background:linear-gradient(115deg,#263b56,#203047);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.page-explorer .explorer-filter-panel button:hover { border-color:#6d9eda;background:linear-gradient(115deg,#345477,#263b56) }
.page-explorer .explorer-filter-panel button.selected,.page-explorer .explorer-filter-actions button { color:#fff;border-color:#6598db;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-explorer .explorer-filter-panel button.selected:hover,.page-explorer .explorer-filter-actions button:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.page-explorer .explorer-filter-languages label { background:transparent;border-color:transparent }
.page-explorer .explorer-filter-languages label>span { color:#cbd7e7;border-color:#3c5474;background:linear-gradient(120deg,#203047,#1a2637) }
.page-explorer .explorer-filter-languages label:has(input:checked) { background:transparent;border-color:transparent }
.page-explorer .explorer-filter-languages label input:checked+span { color:#fff;border-color:#6598db;background:linear-gradient(110deg,#417bca,#3263aa) }
.page-explorer .explorer-loisirs-selected { border-color:#45678f;color:#cbd7e7;background:linear-gradient(115deg,#263b56,#203047);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.page-activity .notif-filters { gap:9px;margin-bottom:24px }
.page-activity .notif-filter { box-sizing:border-box;min-height:44px;padding:8px 12px;border:1px solid #3c5474;border-radius:11px;color:#cbd7e7;background:linear-gradient(120deg,#203047,#1a2637);font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:background .16s,border-color .16s }
.page-activity .notif-filter:hover { transform:none;border-color:#5178ab;background:linear-gradient(120deg,#203653,#18263b) }
.page-activity .notif-filter.active { color:#fff;border-color:#6598db;background:linear-gradient(110deg,#417bca,#3263aa);box-shadow:0 4px 14px rgba(12,37,78,.2),inset 0 1px 0 rgba(255,255,255,.09) }
.page-activity .notif-filter .compteur_notif { color:#dceaff;background:rgba(104,155,224,.16);border:1px solid rgba(133,177,237,.22);font-size:11px;font-weight:700 }
.page-activity .notif-filter.active .compteur_notif { color:#fff;background:rgba(0,0,0,.18);border-color:rgba(255,255,255,.2) }
.page-activity .notifications-summary { color:#a9bbd4;line-height:1.5 }
.page-activity .notifications-seen-form button { padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#fff;font:inherit;text-decoration:underline;cursor:pointer }
.page-activity .notification { position:relative;isolation:isolate;box-sizing:border-box;min-height:98px;margin-bottom:10px;padding:16px 20px;border:1px solid #3a5270;border-radius:15px;background:linear-gradient(115deg,#1e2d40,#182333);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .16s,background .16s }
.page-activity .notification.non_lue { border-color:#5382bd;background:radial-gradient(ellipse at 0 0,rgba(56,111,190,.34),transparent 75%),linear-gradient(115deg,#253c59,#1c2e45);box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 3px 12px rgba(0,0,0,.1) }
.page-activity .notification.non_lue:before { content:"";position:absolute;left:0;top:17px;bottom:17px;width:3px;border-radius:0 3px 3px 0;background:#659def }
.page-notifications .notification_link:hover .notification { border-color:#5889c9;background:linear-gradient(115deg,#20344e,#18263a) }
.page-activity .notification .avatar { flex:0 0 66px;width:66px;height:66px;margin-right:20px;border:2px solid #456388;background-size:66px;box-shadow:0 0 0 4px rgba(97,143,205,.055) }
.page-activity .notification.non_lue .avatar { border-color:#7ba8e6;box-shadow:0 0 0 4px rgba(97,143,205,.1) }
.page-activity .notification .avatar .notif_icon { left:45px;top:41px;background-color:#386fbe;box-shadow:0 2px 5px rgba(0,0,0,.3) }
.page-activity .notification .notif_gris { margin-bottom:5px;color:#91a7c3;line-height:1.3 }
.page-activity .notification .notif_texte { margin:0 0 5px;color:#e1e9f4;line-height:1.3;font-weight:500;letter-spacing:-.15px }
.page-activity .notification.non_lue .notif_texte { color:#fff;font-weight:700 }
.page-activity .notification .notif_details { color:#a4b4c9;line-height:1.35 }
.page-notifications .notification_link:focus-visible,.page-notifications .notif-filter:focus-visible { outline:2px solid #90baff;outline-offset:3px;border-radius:15px }
@media(max-width:600px) { .page-activity .notif-filters { grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:20px } }
@media(max-width:600px) { .page-activity .notif-filter { min-height:43px;padding:8px 10px;font-size:12px;gap:7px;border-radius:10px } }
@media(max-width:600px) { .page-activity .notification { min-height:91px;padding:13px 12px;border-radius:13px;margin-bottom:9px } }
@media(max-width:600px) { .page-activity .notification .avatar { flex-basis:58px;width:58px;height:58px;margin-right:14px;background-size:58px } }
@media(max-width:600px) { .page-activity .notification .avatar .notif_icon { left:38px;top:33px } }
@media(max-width:600px) { .page-activity .notification .notif_texte { margin-bottom:4px } }
@media(max-width:600px) { .page-activity .notification .notif_gris { margin-bottom:4px } }
@media(prefers-reduced-motion:reduce) { .page-activity .notification,.page-activity .notif-filter { transition:none } }
.page-activity .notif-filter .compteur_notif.has-count,.page-activity .notif-filter.active .compteur_notif.has-count { background:#E53935;border-color:#E53935;color:#fff;box-shadow:0 2px 6px rgba(229,57,53,.18) }
.page-notifications .notifications-toolbar { display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 16px }
.notifications-summary-text { flex:1 1 240px;min-width:0;white-space:normal;overflow-wrap:anywhere }
.notifications-sort-form { display:flex;align-items:center;flex:0 0 auto;flex-wrap:wrap;max-width:100%;gap:8px;margin-left:auto }
.notifications-sort-form label { color:#aaa;font-size:12px }
.notifications-sort-form select { box-sizing:border-box;min-width:0;max-width:100%;min-height:38px;padding:7px 10px;border:1px solid #555;border-radius:9px;color:#eee;background:linear-gradient(120deg,#383838,#292929);font:inherit;font-size:12px;cursor:pointer }
.notifications-sort-form select option { background:#303030;color:#eee }
.notifications-sort-form select:focus-visible { outline:2px solid #999;outline-offset:2px }
@media(max-width:600px) { .notifications-sort-form label { display:none } }
@media(max-width:600px) { .notifications-sort-form select { max-width:170px;font-size:11px } }
@media(max-width:600px) { .page-notifications .notifications-toolbar .notifications-seen-form { order:3 } }
.page-conversations .conversation-link:hover .notification { border-color:#5889c9;background:linear-gradient(115deg,#20344e,#18263a) }
.page-conversations .conversation-link:focus-visible,.page-conversations .notif-filter:focus-visible { outline:2px solid #90baff;outline-offset:3px;border-radius:15px }
.page-conversations .conversation-link { display:block;color:inherit;text-decoration:none }
.page-conversations .notif_nonlu { background:#E53935;color:#fff;box-shadow:0 2px 6px rgba(229,57,53,.18) }
.page-conversations select { border:1px solid #555;border-radius:9px;color:#eee;background:linear-gradient(120deg,#383838,#292929);padding:7px 10px }
.page-conversations select option { background:#303030;color:#eee }
.page-messages .conversation-title { padding-bottom:14px;margin-bottom:14px }
.page-messages .message_chat { padding:0 12px }
.page-messages .message_bulle { width:85%;border-radius:12px;border:1px solid #3a5270;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 3px 10px rgba(0,0,0,.1) }
.page-messages .message_bulle_recu { color:#e6edf6;background:linear-gradient(90deg,#26374d 0%,#26374d 12%,#1c2b3e 100%) }
.page-messages .message_bulle_envoye { color:#fff;border-color:#5382bd;background:linear-gradient(90deg,#304e75 0%,#244064 88%,#244064 100%) }
.page-messages .message_bulle_recu { margin-left:6px;border-top-left-radius:0 }
.page-messages .message_bulle_envoye { margin-right:6px;border-top-right-radius:0 }
.page-messages .message_bulle_recu::before { content:"";display:block;position:absolute;left:-13px;top:-1px;width:17px;height:14px;border:0;z-index:1;clip-path:none;filter:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2214%22%20viewBox%3D%220%200%2017%2014%22%3E%3Cpath%20d%3D%22M17%20.5H.5L13%2013.5H17Z%22%20fill%3D%22%2326374d%22%2F%3E%3Cpath%20d%3D%22M17%20.5H.5L13%2013.5%22%20fill%3D%22none%22%20stroke%3D%22%233a5270%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center / 100% 100% }
.page-messages .message_bulle_envoye::after { content:"";display:block;position:absolute;right:-13px;top:-1px;width:17px;height:14px;border:0;z-index:1;clip-path:none;filter:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2214%22%20viewBox%3D%220%200%2017%2014%22%3E%3Cpath%20d%3D%22M0%20.5H16.5L4%2013.5H0Z%22%20fill%3D%22%23244064%22%2F%3E%3Cpath%20d%3D%22M0%20.5H16.5L4%2013.5%22%20fill%3D%22none%22%20stroke%3D%22%235382bd%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center / 100% 100% }
.page-messages .message_contenu a { color:#b2d2ff }
.page-messages .message_contenu a:hover { color:#d8e8ff }
.page-messages .message_heure { color:#a8bbd4 }
.page-messages .message_bulle_envoye .message_heure { color:#bfd2ec }
.page-messages .message_jour span { color:#c5d3e7;border:1px solid #3a5270;background:linear-gradient(115deg,#203047,#1a2637);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.page-messages .message_chat::-webkit-scrollbar-thumb { background:#3a5270 }
.page-messages .message_chat::-webkit-scrollbar-track { background:#101721 }
.page-messages .message_menu { background:linear-gradient(115deg,#21334c,#19283d);border:1px solid #45678f;box-shadow:0 5px 18px rgba(0,0,0,.3) }
.page-messages .message_menu_icone { background-color:#263b56;border:1px solid #45678f;box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.page-messages .message_menu_icone:hover { background-color:#345477;border-color:#6d9eda }
.page-messages #message_envoyer { box-sizing:border-box;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7);box-shadow:0 4px 14px rgba(0,0,0,.2) }
.page-messages #message_envoyer:hover { filter:brightness(1.12) }
.page-messages #message_envoyer:disabled { filter:none;opacity:.5 }
.page-messages .load_more { border:1px solid #45678f;border-radius:9px;color:#c5ddff;background:linear-gradient(115deg,#263b56,#203047);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.page-messages .load_more:hover { border-color:#6d9eda;background:linear-gradient(115deg,#345477,#263b56) }
.page-messages .typing_points span { background:#a9ccff }
.page-messages .nochat { color:#b8c4d4 }
.page-messages #message_envoyer:focus-visible,.page-messages .message_outil:focus-visible { outline:2px solid #90baff;outline-offset:3px }

/* Classement des notifications : volet sous le compteur. */
.page-notifications .notifications-sort-accordion .notifications-sort-form { margin:0;padding:14px 16px;border-top:1px solid #3a5270;flex-wrap:wrap }
.page-notifications .notifications-sort-accordion .notifications-sort-form label { display:block }
.page-notifications .notifications-sort-accordion .notifications-sort-form select { flex:1;max-width:260px }

.page-notifications .notifications-sort-accordion { margin-bottom:10px }
.page-notifications .notifications-sort-accordion .notifications-sort-form select { color:#e1e9f4;border-color:#45678f;background:linear-gradient(115deg,#263b56,#203047) }
.page-notifications .notifications-sort-accordion .notifications-sort-form select option { color:#e1e9f4;background:#203047 }
.page-notifications .notifications-sort-accordion .notifications-sort-form select:focus-visible { outline-color:#90baff }
.page-notifications .notifications-sort-accordion>summary .has-count { color:#fff;background:#E53935 }

.page-notifications .notifications-summary,.page-notifications .notifications-summary-text,.page-notifications .notifications-summary-text strong,.page-notifications .notifications-seen-form,.page-notifications .notifications-sort-form label { color:#fff }

.page-notifications .notifications-toolbar .notifications-seen-form { display:block;flex:0 0 100%;margin:0;order:3;text-align:left }
.page-notifications .notifications-toolbar .notifications-seen-form::before { content:none }

/* Fiche profil : module photo et Express Flirt. */
.profile-card { border-color:#345982;color:#d7e2ef;background:radial-gradient(ellipse at 100% 0,rgba(56,111,190,.23),transparent 65%),linear-gradient(115deg,#192636,#131b25);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 3px 12px rgba(0,0,0,.2) }
.profile-card .profile-cover { background-color:#203047 }
.profile-card .profile-summary { color:#f2f6fc }
.profile-card .profile-express-change-info { color:#b8c4d4 }
.profile-card .profile-action-button { border:1px solid #45678f;background:linear-gradient(115deg,#263b56,#203047);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.profile-card .profile-action-button:hover,.profile-card .profile-action-button:focus-visible { border-color:#6d9eda;background:linear-gradient(115deg,#345477,#263b56);box-shadow:0 4px 14px rgba(0,0,0,.2) }
.profile-card .profile-action-button:focus,.profile-card .profile-action-button:active { background:linear-gradient(115deg,#263b56,#203047) }
.profile-card .profile-action-button.is-disabled,.profile-card .profile-action-button.is-disabled:hover { border-color:#3a5270;background:linear-gradient(115deg,#203047,#1a2637);box-shadow:none }

/* Module supérieur sans cadre ; photo indépendante avec contour neutre. */
.profile-card { border:0;background:transparent;box-shadow:none;overflow:visible }
.profile-card .profile-cover { box-sizing:border-box;overflow:hidden;border:1px solid #414541;border-radius:10px;background-color:#292c29 }
.profile-card .profile-cover>a,.profile-card .profile-cover>img,.profile-card .profile-cover>a>img { border-radius:inherit }

/* Choix Express Flirt : question et couleurs de base plus visibles. */
.profile-express-question { margin:0;text-align:center;color:#fff;font-size:13px;font-weight:100 }
.profile-card .profile-express-action--no .express-choice-circle { fill:#cbd1d9;stroke:#e8edf3;stroke-width:1 }
.profile-card .profile-express-action--no .express-choice-symbol { stroke:#202a38 }
.profile-card .profile-express-action--yes .express-choice-circle { fill:#e53935;stroke:#f77572;stroke-width:1 }
.profile-card .profile-express-action--yes .express-choice-symbol { fill:#fff;stroke:#fff }
.profile-card .profile-express-action--no:hover .express-choice-circle,.profile-card .profile-express-action--no.is-swipe-active .express-choice-circle { fill:#e0e5ec }
.profile-card .profile-express-action--no:hover .express-choice-symbol,.profile-card .profile-express-action--no.is-swipe-active .express-choice-symbol { stroke:#202a38 }
.profile-card .profile-express-action--yes:hover .express-choice-circle,.profile-card .profile-express-action--yes.is-swipe-active .express-choice-circle { fill:#f04b47 }

.profile-express-buttons { padding-top:15px;padding-bottom:20px }
.profile-card .profile-express-action--photo { border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7);box-shadow:inset 0 1px 0 rgba(255,255,255,.06) }
.profile-card .profile-express-action--photo:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Fiche profil : cadres des cadeaux virtuels. */
.gift-strip .gift { color:#eee;border-color:#555b64;background:linear-gradient(115deg,#3b3f45,#2c3036);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.gift-strip .gift:hover { border-color:#787f89;background:linear-gradient(115deg,#484d55,#363b43) }
.gift-strip .gift:focus-visible { outline:2px solid #aeb5bf;outline-offset:3px }

/* Loisirs : intérêts communs en bleu. */
.profile-tag.common { color:#fff;border-color:#6598db;background:linear-gradient(110deg,#417bca,#346ab7) }

/* Fiche profil : boutons Goûts et Quizz. */
.quiz-submit,.profile-gouts-button,.profile-section .profile-section-button { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7);box-shadow:inset 0 1px 0 rgba(255,255,255,.06) }
.quiz-submit:hover,.profile-gouts-button:hover,.profile-section .profile-section-button:hover { border-color:#90baff;background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.quiz-submit:focus-visible,.profile-gouts-button:focus-visible,.profile-section .profile-section-button:focus-visible { outline:2px solid #90baff;outline-offset:3px }

/* Menu Bloquer / Signaler du profil : bouclier blanc intégré. */
.profile-conversation-title #icone_menu { width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203%204.5%206v5.2c0%204.5%203%207.7%207.5%209.8%204.5-2.1%207.5-5.3%207.5-9.8V6L12%203Z%22%2F%3E%3Cpath%20d%3D%22M12%208v5%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2216%22%20r%3D%221%22%20fill%3D%22%23fff%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat }

/* La demande de photo conserve son bleu lorsqu'elle est désactivée. */
.profile-card .profile-express-action--photo:disabled { filter:none;opacity:1;transform:none }
.profile-card .profile-express-action--photo:disabled:hover { background:linear-gradient(110deg,#417bca,#346ab7) }

/* Concours : participation et accès aux résultats. */
.contest-button,.contest-results-link { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7);box-shadow:inset 0 1px 0 rgba(255,255,255,.06) }
.contest-button:not(:disabled):hover,.contest-results-link:hover { border-color:#90baff;background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.contest-button:focus-visible,.contest-results-link:focus-visible { outline:2px solid #90baff;outline-offset:3px }

/* Flammes : actions Booster et Voir les concours. */
.flames-action-button { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7);text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.06) }
.flames-action-button:hover,.flames-action-button:focus-visible { color:#fff;border-color:#90baff;background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Validation photo : coches, focus et envoi en bleu. */
.profile-validation-conditions span { position:relative;background:none }
.profile-validation-conditions span::before { content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:3px;background:#386fbe url(https://cdn.celibataire.ch/layout_membres/svg-ok.svg) center/12px 12px no-repeat }
.profile-validation-page .photo-drop:hover,.profile-validation-page .photo-drop.is-dragging,.profile-validation-page .photo-drop:focus-within { border-color:#6d9eda;background:#203047 }
.profile-validation-page #photo-submit { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7);box-shadow:inset 0 1px 0 rgba(255,255,255,.06) }
.profile-validation-page #photo-submit:not(:disabled):hover { border-color:#90baff;background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.profile-validation-page #photo-submit:focus-visible { outline:2px solid #90baff;outline-offset:3px }

.profile-validation-intro h2 { color:#386fbe }

/* Mon profil : actions et graphique de complétude bleus. */
.page-profil .notif-filter { color:#cbd7e7;border:1px solid #3c5474;background:linear-gradient(120deg,#203047,#1a2637);box-shadow:inset 0 1px 0 rgba(255,255,255,.025) }
.page-profil .notif-filter:hover { border-color:#5178ab;background:linear-gradient(120deg,#203653,#18263b) }
.page-profil .notif-filter:focus-visible { outline:2px solid #90baff;outline-offset:3px }
.page-profil .progress { background:#1a2637;border-color:#3a5270 }
.page-profil .progress-bar { color:#fff;background:linear-gradient(110deg,#417bca,#346ab7) }

.profil-logout-button { top:80%;box-sizing:border-box;border:1px solid #6d9eda;background-color:#386fbe;background-image:url('https://cdn.celibataire.ch/layout_membres/2026-deconnexion.svg'),linear-gradient(110deg,#417bca,#346ab7);background-size:24px 24px,100% 100%;background-position:center,center;background-repeat:no-repeat;box-shadow:inset 0 1px 0 rgba(255,255,255,.06) }
.profil-logout-button:hover { border-color:#90baff;background-image:url('https://cdn.celibataire.ch/layout_membres/2026-deconnexion.svg'),linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Statut du compte : fonctions de base gratuites. */
.page-profil .abonnement-base-gratuite { color:#e1e9f4;border-color:#45678f;background:radial-gradient(ellipse at 0 0,rgba(56,111,190,.2),transparent 75%),linear-gradient(115deg,#1e2d40,#182333) }
.page-profil .abonnement-base-gratuite .abonnement-header { flex-direction:column;align-items:stretch }
.page-profil .abonnement-base-gratuite .abonnement-badge { align-self:center;border:1px solid #6598db;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-profil .abonnement-base-gratuite .abonnement-bouton { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-profil .abonnement-base-gratuite .abonnement-bouton:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.profil-status-test { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0 22px;color:#fff }
.profil-status-test select { padding:8px 10px;max-width:100%;color:#fff;border:1px solid #45678f;border-radius:8px;background:#203047;font:inherit }
.profil-status-test small { flex:0 0 100%;color:#b8c4d4 }
#profil-status-real[hidden],#profil-status-preview[hidden] { display:none }

/* Tous les statuts du compte : textes centrés et thème bleu. */
.page-profil :is(#profil-status-real,#profil-status-preview) .abonnement-card { text-align:center;color:#e1e9f4;border-color:#45678f;background:radial-gradient(ellipse at 0 0,rgba(56,111,190,.2),transparent 75%),linear-gradient(115deg,#1e2d40,#182333) }
.page-profil :is(#profil-status-real,#profil-status-preview) .abonnement-header { flex-direction:column;align-items:center;text-align:center }
.page-profil :is(#profil-status-real,#profil-status-preview) .abonnement-badge { align-self:center;border:1px solid #6598db;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-profil :is(#profil-status-real,#profil-status-preview) .profil-compte-info { text-align:center;color:#e1e9f4;border-color:#3a5270;background:#203047 }
.page-profil :is(#profil-status-real,#profil-status-preview) .abonnement-bouton { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-profil :is(#profil-status-real,#profil-status-preview) .abonnement-bouton:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

.profil-gold-offer .home-offer-cta { box-sizing:border-box;max-width:100%;min-width:0;margin-top:0;min-height:0;padding:10px 10px 10px 19px }

.page-profil :is(#profil-status-real,#profil-status-preview) .abonnement-limite .abonnement-badge { border-color:#b74840;background:linear-gradient(110deg,#a52b23,#7b1109) }

/* Profil : badge GOLD et état du renouvellement */
.page-profil :is(#profil-status-real,#profil-status-preview) .abonnement-gold .profil-gold-badge { display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 15px;color:#ffe6a0;border:1px solid #ba9347;background:linear-gradient(120deg,#665024,#302715);box-shadow:inset 0 1px 0 rgba(255,230,160,.15);border-radius:9px;letter-spacing:1px;font-weight:700 }
.profil-gold-badge img { display:block;flex:0 0 24px }
.page-profil .profil-prochain-renouvellement { margin:12px 0 0;color:#fff }
.page-profil .profil-renouvellement-statut { display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0 12px;line-height:1.5 }
.profil-renouvellement-statut.is-active { color:#a3cf81;font-size:14px }
.profil-renouvellement-statut.is-inactive { color:#f49a92;font-size:14px }
.profil-renouvellement-icone { display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:3px;color:#fff }
.is-active .profil-renouvellement-icone { background:#477a35 url(https://cdn.celibataire.ch/layout_membres/svg-ok.svg) center/14px 14px no-repeat }
.is-inactive .profil-renouvellement-icone { background:#7b1109 }
.profil-renouvellement-icone svg { display:block;width:14px;height:14px }
.page-profil #profil-annuler-renouvellement { box-sizing:border-box;max-width:100%;white-space:normal;font:inherit;cursor:pointer }

/* Profil : historique des transactions */
.page-profil .profil-transactions-scroll { box-sizing:border-box;min-width:0;max-width:100%;width:100%;overflow-x:auto;margin:0 0 22px;border:1px solid #34465f;border-radius:10px;background:#202b3b }
.page-profil .profil-transactions { width:100%;table-layout:fixed;border-collapse:collapse;color:#fff;font-size:14px;text-align:left }
.page-profil .profil-transactions th { padding:12px;color:#d6e6ff;background:#283b55;font-weight:600;text-align:left }
.page-profil .profil-transactions td { overflow-wrap:anywhere;padding:12px;border-top:1px solid #34465f;vertical-align:top;line-height:1.5 }
.page-profil .profil-transactions :is(th,td):first-child,.page-profil .profil-transactions :is(th,td):last-child { white-space:nowrap }
.page-profil .profil-transactions :is(th,td):last-child { text-align:right }
.page-profil .profil-transactions td small { display:block;color:#b3c4dc;font-size:12px }
@media(max-width:600px) { .page-profil .profil-transactions { font-size:12px }.page-profil .profil-transactions :is(th,td) { padding:9px 7px } }

@media(max-width:600px) { .page-profil .profil-transactions :is(th,td) { overflow-wrap:anywhere;white-space:normal } .page-profil .profil-transactions :is(th,td):first-child { width:22%;white-space:normal } .page-profil .profil-transactions :is(th,td):last-child { width:23%;white-space:normal } }

/* Profil : encarts sécurité et gestion */
.page-profil .profil-security-link { color:#fff;border-color:#3a5270;background:linear-gradient(120deg,#26374d,#1c293c) }
.page-profil .profil-security-link:hover { color:#fff;border-color:#5382bd;background:linear-gradient(120deg,#304965,#243b57) }
.page-profil .profil-security-link::after { color:#9dc4f5 }
.page-profil .profil-security-link .profil-security-text small { color:#c0d0e5 }
.page-profil .profil-management-icon { border-color:#7eafea }
.page-profil .profil-management-icon::before { background:#7eafea;box-shadow:7px 0 0 #7eafea }

/* Profil : icônes SVG sécurité et pause */
.page-profil :is(.profil-security-icon,.profil-management-icon) { display:block;position:relative;flex:0 0 42px;width:42px;height:42px;box-sizing:border-box;border:1px solid #5382bd;border-radius:12px;background-color:#29466b;background-repeat:no-repeat;background-position:center;background-size:30px 30px }
.page-profil .profil-security-icon { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225%22%20width%3D%2221%22%20height%3D%2215%22%20rx%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M10%2025h8M14%2020v5%22%2F%3E%3Cpath%20d%3D%22m24%2014%205.5%202v5c0%203.1-2.2%205.6-5.5%207-3.3-1.4-5.5-3.9-5.5-7v-5l5.5-2Z%22%20fill%3D%22%2329466b%22%2F%3E%3Cpath%20d%3D%22m21.5%2020.5%201.7%201.7%203.3-3.5%22%2F%3E%3C%2Fsvg%3E") }
.page-profil .profil-management-icon { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2211.5%22%2F%3E%3Crect%20x%3D%2211.5%22%20y%3D%2211%22%20width%3D%222.5%22%20height%3D%2210%22%20rx%3D%221%22%20fill%3D%22white%22%20stroke%3D%22none%22%2F%3E%3Crect%20x%3D%2218%22%20y%3D%2211%22%20width%3D%222.5%22%20height%3D%2210%22%20rx%3D%221%22%20fill%3D%22white%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E") }
.page-profil :is(.profil-security-icon,.profil-management-icon)::before,.page-profil :is(.profil-security-icon,.profil-management-icon)::after { content:none }

/* Historique des connexions : thème bleu et appareils SVG */
.page-profil-log :is(.profil-login-entry,.profil-login-empty) { box-sizing:border-box;min-width:0;color:#fff;border-color:#3a5270;background:linear-gradient(120deg,#26374d,#1c293c) }
.page-profil-log .profil-login-details { min-width:0;overflow-wrap:anywhere }
.page-profil-log .profil-login-details span { color:#d6e6ff }
.page-profil-log .profil-login-details small { color:#b3c4dc }
.page-profil-log .profil-login-device { display:block;position:relative;flex:0 0 42px;width:42px;height:42px;box-sizing:border-box;border:1px solid #5382bd;border-radius:12px;background-color:#29466b;background-position:center;background-repeat:no-repeat;background-size:30px 30px }
.page-profil-log .profil-login-device::before,.page-profil-log .profil-login-device::after { content:none }
.page-profil-log .profil-login-device--computer { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%2224%22%20height%3D%2217%22%20rx%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M11%2027h10M16%2022v5M5%2018h22%22%2F%3E%3C%2Fsvg%3E") }
.page-profil-log .profil-login-device--phone { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%2214%22%20height%3D%2226%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M14%206h4%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2225.5%22%20r%3D%22.8%22%20fill%3D%22white%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E") }
.page-profil-log .profil-login-device--tablet { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%223%22%20width%3D%2220%22%20height%3D%2226%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M14%206h4M14%2025.5h4%22%2F%3E%3C%2Fsvg%3E") }
.page-profil-log .profil-login-device--unknown { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%2222%22%20height%3D%2224%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M13%2012a3%203%200%200%201%206%200c0%202-3%202-3%204%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2220.5%22%20r%3D%22.8%22%20fill%3D%22white%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E") }

/* Gestion du profil : lien mot de passe oublié */
#password-forgotten.profil-password-forgotten { color:#7eafea }
#password-forgotten.profil-password-forgotten:hover { color:#a7ceff }

/* Avis des membres */
.page-support-feedback :is(.feedback-form-card,.feedback-review) { box-sizing:border-box;min-width:0;padding:20px;border:1px solid #3a5270;border-radius:12px;background:linear-gradient(120deg,#26374d,#1c293c);color:#fff }
.page-support-feedback .feedback-form-card { margin-bottom:24px }
.page-support-feedback .feedback-form-card h1 { margin:0 0 12px;font-size:18px;line-height:1.4 }
.page-support-feedback .feedback-form-card>p { margin:0 0 18px;line-height:1.6 }
.feedback-form { display:grid;gap:10px;min-width:0 }
.feedback-form label { margin-top:6px;color:#fff;font-size:14px;font-weight:600 }
.page-support-feedback .feedback-form :is(input[type=text],textarea,select) { box-sizing:border-box;min-width:0;width:100%;padding:12px;color:#fff;background:#19283b;border:1px solid #4a6b94;border-radius:7px;font:inherit;font-size:15px }
.page-support-feedback .feedback-form textarea { resize:vertical;min-height:140px;line-height:1.5 }
.page-support-feedback .feedback-form :is(input,textarea,select):focus { outline:2px solid #7eafea;outline-offset:2px;border-color:#7eafea }
.page-support-feedback .feedback-form select option { background:#19283b;color:#fff }
.page-support-feedback .feedback-form .profil-edit-submit { justify-self:start;box-sizing:border-box;max-width:100%;margin-top:8px;padding:12px 20px;color:#fff;background:linear-gradient(110deg,#417bca,#346ab7);border:1px solid #6d9eda;border-radius:8px;font:inherit;font-weight:600;cursor:pointer }
.page-support-feedback .feedback-form .profil-edit-submit:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.feedback-list { display:grid;gap:12px }
.feedback-review-top { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap }
.feedback-stars { color:#f4cc67;letter-spacing:2px;white-space:nowrap;font-size:18px }
.feedback-review-text { margin:12px 0;line-height:1.6;overflow-wrap:anywhere }
.page-support-feedback .feedback-review-meta { margin:0;color:#b3c4dc;font-size:12px;line-height:1.5;overflow-wrap:anywhere }
.page-support-feedback .feedback-error { padding:12px;color:#fff;background:#7b1109;border:1px solid #b74840;border-radius:7px }
@media(max-width:600px) { .page-support-feedback :is(.feedback-form-card,.feedback-review) { padding:15px }.page-support-feedback .feedback-form .profil-edit-submit { width:100% } }

/* Avis : cartes grises et sélection interactive de la note */
.page-support-feedback .feedback-review { border-color:#41464d;background:linear-gradient(120deg,#303338,#24272c) }
.page-support-feedback .feedback-review-meta { color:#b8bdc5 }
.page-support-feedback .feedback-stars { font-size:26px;letter-spacing:3px;line-height:1.3 }
.page-support-feedback .feedback-list+.navig_bas { margin-top:24px }
.page-support-feedback .feedback-rating { min-width:0;margin:8px 0 0;padding:0;border:0 }
.page-support-feedback .feedback-rating legend { padding:0;color:#fff;font-size:14px;font-weight:600 }
.feedback-rating-controls { display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px }
.feedback-rating-stars { display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;position:relative;gap:5px }
.feedback-rating-stars input { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap }
.page-support-feedback .feedback-rating-stars label { display:flex;align-items:center;justify-content:center;margin:0;padding:4px;color:#8090a7;cursor:pointer;transition:color .15s,transform .15s }
.feedback-rating-stars svg { display:block;width:32px;height:32px;fill:transparent;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round }
.feedback-rating-stars input:checked~label { color:#f4cc67 }
.feedback-rating-stars input:checked~label svg { fill:currentColor }
.feedback-rating-stars:has(label:hover) label { color:#8090a7 }
.feedback-rating-stars:has(label:hover) label svg { fill:transparent }
.page-support-feedback .feedback-rating-stars label:hover,.page-support-feedback .feedback-rating-stars label:hover~label { color:#ffe08a;transform:translateY(-2px) }
.feedback-rating-stars label:hover svg,.feedback-rating-stars label:hover~label svg { fill:currentColor }
.feedback-rating-stars input:focus-visible+label { outline:2px solid #9dc4f5;outline-offset:2px;border-radius:5px }
.feedback-rating-value { color:#f4cc67;font-weight:600;font-size:15px }
.page-support-feedback .feedback-form .feedback-moderation { margin:8px 0 0;color:#c0d0e5;font-size:13px;line-height:1.5 }
@media(max-width:360px) { .feedback-rating-stars { gap:2px }.feedback-rating-stars svg { width:29px;height:29px } }

/* Prévention des arnaques : accès au support */
.scam-prevention-button { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.scam-prevention-button:hover { color:#fff;border-color:#87b4eb;background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Support et édition du profil : éléments bleus */
.support-scam-link-arrow { color:#7eafea }
.page-profil-gestion .profil-management-pause,.page-editer-profil .profil-edit-submit,.page-editer-description .profil-edit-submit { box-sizing:border-box;max-width:100%;color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-profil-gestion .profil-management-pause:hover,.page-editer-profil .profil-edit-submit:hover,.page-editer-description .profil-edit-submit:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
:is(.page-profil-gestion,.page-editer-profil,.page-editer-description) :is(input,select,textarea):focus { border-color:#7eafea;outline:2px solid #7eafea;outline-offset:2px;box-shadow:0 0 0 3px rgba(56,111,190,.16) }
.page-editer-description .profil-edit-form .description-language-option input:checked+span { color:#fff;background:linear-gradient(110deg,#417bca,#346ab7);border-color:#7eafea;box-shadow:0 0 0 1px rgba(56,111,190,.2) }
.page-editer-description .profil-edit-form .description-language-option input:focus-visible+span { outline:2px solid #7eafea;outline-offset:2px }
.page-editer-description .profil-edit-form .description-language-option:hover>span { border-color:#7eafea }

/* Formulaires profil, support et avis : focus bleu pour tous les champs */
body :is(.profil-edit-form,.support-form,.support-topic,.feedback-form) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),textarea,select):focus { border-color:#7eafea;outline:2px solid #7eafea;outline-offset:2px;box-shadow:0 0 0 3px rgba(56,111,190,.16) }

/* Photos et certification : thème bleu */
.photo-drop:hover,.photo-drop.is-dragging,.photo-drop:focus-within { border-color:#7eafea;background:#203047;outline-color:#7eafea }
#photo-submit.profil-edit-submit { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
#photo-submit.profil-edit-submit:not(:disabled):hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
#photo-submit.profil-edit-submit:focus-visible { outline:2px solid #7eafea;outline-offset:2px }
.certification-status-line,.certification-status-line.is-complete { color:#fff;border-color:#3a5270;background:linear-gradient(120deg,#26374d,#1c293c) }
.certification-status-icon,.certification-status-line.is-complete .certification-status-icon { color:#fff;border-color:#6d9eda;background:#386fbe }
.certification-code,.certification-code strong { color:#9dc4f5 }

/* Certification : étapes à faire grises, étapes terminées bleues */
.certification-status-line { color:#ddd;border-color:#45484e;background:linear-gradient(120deg,#303338,#24272c) }
.certification-status-icon { color:#ddd;border-color:#616670;background:#464b54 }
.certification-status-line.is-complete { color:#fff;border-color:#5382bd;background:linear-gradient(120deg,#29466b,#203550) }
.certification-status-line.is-complete .certification-status-icon { color:#fff;border-color:#7eafea;background:#386fbe }
/* Goûts et loisirs */
.gout-option input:checked+span { color:#fff;background:linear-gradient(110deg,#417bca,#346ab7);border-color:#7eafea;box-shadow:0 0 0 1px rgba(56,111,190,.2) }
.gout-option input:focus-visible+span { outline:2px solid #7eafea;outline-offset:2px }
.gouts-actions .profil-edit-submit { box-sizing:border-box;max-width:100%;color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.gouts-actions .profil-edit-submit:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.loisirs-progress,.loisirs-progress.complete { color:#d6e6ff;border-color:#5382bd;background:linear-gradient(120deg,#29466b,#203550) }
.loisir-chip.selected,.loisir-chip.selected.pending { color:#fff;background:linear-gradient(110deg,#417bca,#346ab7);border-color:#7eafea }
.loisir-chip:hover,.loisir-chip:focus-visible { border-color:#7eafea }
.loisir-chip:focus-visible { outline:2px solid #7eafea;outline-offset:2px }
.loisirs-search input:focus { border-color:#7eafea;outline:2px solid #7eafea;outline-offset:2px }
.loisirs-propose-link { color:#7eafea }
.loisirs-propose-link:hover { color:#a7ceff }

/* Annonce : bouton Enregistrer bleu */
.annonce-form #annonce-submit { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.annonce-form #annonce-submit:not(:disabled):hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Celib-Karma : pourcentages et rang en bleu */
.karma-score progress,.karma-history progress { accent-color:#386fbe }
.karma-score progress::-webkit-progress-value,.karma-history progress::-webkit-progress-value { background:linear-gradient(90deg,#91c5ff,#386fbe) }
.karma-score progress::-moz-progress-bar,.karma-history progress::-moz-progress-bar { background:linear-gradient(90deg,#91c5ff,#386fbe) }
.karma-ranking-position { color:#fff;border-color:#7eafea;background:linear-gradient(135deg,#5799e5,#346ab7) }

/* Édition du quizz : thème bleu */
.quizz-mode-form .profil-edit-submit,.quizz-small-button,.quizz-action-button { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.quizz-mode-form .profil-edit-submit:not(:disabled):hover,.quizz-small-button:hover,.quizz-action-button:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.quizz-answer-form input:checked+span { color:#fff;border-color:#7eafea;background:linear-gradient(110deg,#417bca,#346ab7) }
.quizz-card-number { color:#fff;background:#386fbe;border-color:#7eafea }
.quizz-answer-form select:focus,.quizz-search-form input:focus,.quizz-mode-form select:focus { border-color:#7eafea;outline:2px solid #7eafea;outline-offset:2px;box-shadow:0 0 0 3px rgba(56,111,190,.16) }
.quizz-answer-form input:focus-visible+span { outline:2px solid #7eafea;outline-offset:2px }
.quizz-search-meta a { color:#7eafea }
.quizz-search-meta a:hover { color:#a7ceff }
/* Proposition de loisirs : pleine largeur */
.loisirs-proposal-form, .loisirs-proposal-form .pseudo-rules { width:100%;max-width:none;box-sizing:border-box }

.loisirs-proposal-form .profil-edit-submit { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.loisirs-proposal-form .profil-edit-submit:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Quizz : bouton autres questions bleu au repos */
.quizz-refresh-form button.quizz-action-button { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.quizz-refresh-form button.quizz-action-button:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Photo principale : attente de validation */
.annonce-warning.photo-pending-notice { color:#d6e6ff;border-color:#5382bd;background:linear-gradient(120deg,#29466b,#203550) }

/* Favoris et blocages : actions POST conservant l'apparence d'un lien */
.liste-action-form { margin:5px 0 0;padding:0 }
.liste-action-link { display:inline;margin:0;padding:0;border:0;background:none;color:#7eafea;font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer }
.liste-action-link:hover { color:#a7ceff;text-decoration:underline }
.liste-action-link:focus-visible { outline:2px solid #7eafea;outline-offset:3px }
.form-inline .btn.liste-bloquer-button { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.form-inline .btn.liste-bloquer-button:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Paramètres : interrupteurs et boutons bleus */
.page-parametres .switch input:checked+.slider { background:linear-gradient(110deg,#5799e5,#346ab7) }
.page-parametres .btn-push { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-parametres .btn-push:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.page-parametres .btn-push:focus-visible { outline:2px solid #7eafea;outline-offset:3px }
.page-parametres select { color:#fff;background:#19283b;border-color:#4a6b94 }
.page-parametres select:focus { border-color:#7eafea;outline:2px solid #7eafea;outline-offset:2px }

/* Demande de photo : mêmes couleurs que les actions Message, favoris, etc. */
.profile-card .profile-express-action--photo { border-color:#45678f;background:linear-gradient(115deg,#263b56,#203047);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }
.profile-card .profile-express-action--photo:hover,.profile-card .profile-express-action--photo:focus-visible { border-color:#6d9eda;background:linear-gradient(115deg,#345477,#263b56) }
.profile-card .profile-express-action--photo:disabled,.profile-card .profile-express-action--photo:disabled:hover { border-color:#45678f;background:linear-gradient(115deg,#263b56,#203047);box-shadow:inset 0 1px 0 rgba(255,255,255,.035) }

/* Modification du pseudo : bleu et pleine largeur */
.page-editer-pseudo :is(.pseudo-current,.pseudo-warning,.pseudo-delay) { box-sizing:border-box;width:100%;max-width:none;color:#d6e6ff;border:1px solid #5382bd;background:linear-gradient(120deg,#29466b,#203550) }
.page-editer-pseudo .pseudo-current strong { color:#9dc4f5 }
.page-editer-pseudo .pseudo-form,.page-editer-pseudo .pseudo-rules, .page-editer-pseudo .pseudo-field,.page-editer-pseudo .pseudo-field input { box-sizing:border-box;width:100%;max-width:none }

.page-editer-pseudo #pseudo-submit { box-sizing:border-box;max-width:100%;color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.page-editer-pseudo #pseudo-submit:not(:disabled):hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Pseudo actuel : affichage sans encart */
.page-editer-pseudo .pseudo-current { padding:0;border:0;background:none;box-shadow:none;border-radius:0 }

/* Adresse e-mail : actions bleues, envois bloqués rouges */
.email-edit-form .profil-edit-submit,.email-reactivate-form .profil-edit-submit { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.email-edit-form .profil-edit-submit:hover,.email-reactivate-form .profil-edit-submit:hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }
.email-current-card.is-blocked { border-color:#b74840 }
.email-current-card.is-blocked .email-status { color:#fff;border:1px solid #b74840;background:#7b1109 }

/* Téléphone : envoi et validation du code en bleu */
.telephone-form .profil-edit-submit { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.telephone-form .profil-edit-submit:not(:disabled):hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }

/* Modification du mot de passe : lien et bouton bleus */
.password-edit-form .profil-password-forgotten { color:#7eafea }
.password-edit-form .profil-password-forgotten:hover { color:#a7ceff }
.password-edit-form .profil-edit-submit { color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7) }
.password-edit-form .profil-edit-submit:not(:disabled):hover { background:linear-gradient(110deg,#4c88d6,#3c75c5) }


/* Google Play et diagnostic abonnements */
html.google-play-mode .google-play-web{display:none!important}
#google-play-offers[hidden]{display:none}
#google-play-message{margin:15px 0;line-height:1.5}
#google-play-list .subscription-offer-button{cursor:pointer}
#google-play-list .subscription-offer-button:disabled,#google-play-restore:disabled{opacity:.55;cursor:wait}
#google-play-restore{margin-top:20px;cursor:pointer;font:inherit}
#google-play-test{padding:12px;border:1px solid #79633b;border-radius:8px}

.abo-mode-test{margin:0 0 24px;padding:18px 20px;background:#211d14;border:1px solid #79633b;border-radius:13px;color:#eee6d3}.abo-mode-test h2{margin:0 0 9px;color:#ebcd86;font-size:18px}.abo-mode-test>p{margin:7px 0;color:#d9d3c7;line-height:1.5}.abo-mode-test code{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:5px;background:#393020;color:#ffe3a0;font-size:13px}.abo-mode-test details{margin-top:13px;font-size:13px}.abo-mode-test summary{cursor:pointer;color:#cfc4ac}.abo-mode-test dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px;margin:14px 0 0}.abo-mode-test dt{color:#b8af9e}.abo-mode-test dd{margin:0;color:#eee6d3;overflow-wrap:anywhere}.abo-mode-test .abo-mode-note{font-size:12px;color:#a99e88}@media(max-width:600px){.abo-mode-test{padding:16px}.abo-mode-test dl{grid-template-columns:1fr;gap:4px}.abo-mode-test dd{margin-bottom:8px}}
.google-play-trace{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}

/* Galerie privée des photos de messagerie. */
.message-galerie-popup{width:560px;max-width:calc(100% - 24px)}
.message-galerie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:10px;max-height:45vh;overflow:auto;padding:3px}
.message-galerie-photo{display:block;aspect-ratio:1;padding:0;overflow:hidden;cursor:pointer;border:1px solid #45678f;border-radius:9px;background:#1c2b3e}
.message-galerie-photo img{display:block;width:100%;height:100%;object-fit:cover}
.message-galerie-photo:hover{border-color:#90baff}
.message-galerie-photo:focus-visible{outline:2px solid #90baff;outline-offset:2px}
.message-galerie-ajouter,.message-galerie-suite{display:block;margin:18px auto 0;padding:9px 12px;font:inherit;border-radius:8px;cursor:pointer}
.message-galerie-suite:disabled{opacity:.5;cursor:wait}
.message-galerie-ajouter,.message-galerie-suite,.swal2-popup .swal2-styled.message-galerie-confirm{color:#fff;border:1px solid #6d9eda;background:linear-gradient(110deg,#417bca,#346ab7)}
.message-galerie-ajouter:hover,.message-galerie-suite:not(:disabled):hover,.swal2-popup .swal2-styled.message-galerie-confirm:hover{background:linear-gradient(110deg,#4c88d6,#3c75c5);border-color:#7eafea}
.message-galerie-ajouter:focus-visible,.message-galerie-suite:focus-visible,.swal2-popup .swal2-styled.message-galerie-confirm:focus-visible{outline:2px solid #7eafea;outline-offset:2px}
.message-galerie-intro{margin:0 0 14px;color:#b8c4d4;font-size:14px}
.message-galerie-etat{margin:10px 0 18px;color:#b8c4d4;font-size:14px}
.message-galerie-sources{margin-top:18px}
.message-galerie-popup [hidden]{display:none!important}
.message-galerie-preview .swal2-image{max-width:100%;max-height:55vh;object-fit:contain;margin:15px auto}

/* Offre adaptee au compte sur la page abonnement. */
.subscription-page .profil-gold-offer { text-align:center;padding:24px;border-color:#a8802d;background:radial-gradient(ellipse at 100% 0,rgba(255,194,24,.16),transparent 65%),linear-gradient(115deg,#392d17,#242017);box-shadow:0 8px 24px rgba(0,0,0,.18) }
.subscription-page .profil-gold-offer .abonnement-header { flex-direction:column;align-items:center;gap:14px;margin-bottom:0 }
.subscription-page .profil-gold-offer .abonnement-header>div { min-width:0;width:100% }
.subscription-page .profil-gold-offer h2 { margin:0 0 10px;color:#fff;font-size:23px;font-weight:700;line-height:1.25 }
.subscription-page .profil-gold-offer p { margin:0;color:#d9d2c4;font-size:15px;line-height:1.6 }
.subscription-page .profil-gold-offer>p { margin-top:18px }
.subscription-page .profil-gold-offer .abonnement-badge { gap:8px;max-width:100%;box-sizing:border-box;color:#ffe8a0;background:#57431d;border:1px solid #947132;font-size:11px;line-height:1.3 }
.subscription-page .profil-gold-offer .abonnement-actions { margin-top:20px;text-align:center }
.subscription-page .profil-gold-offer .abonnement-bouton { box-sizing:border-box;min-height:44px;padding:11px 20px;border:1px solid #ffe073;border-radius:12px;background:linear-gradient(110deg,#ffe982,#f3bd26);color:#292010;font-size:14px;font-weight:700;line-height:1.3;text-align:center }
.subscription-page .profil-gold-offer .abonnement-bouton:hover { background:linear-gradient(110deg,#fff0a0,#ffcf3f);color:#292010 }
@media(max-width:600px) { .subscription-page .profil-gold-offer { padding:18px 16px }.subscription-page .profil-gold-offer h2 { font-size:20px }.subscription-page .profil-gold-offer .abonnement-bouton { width:100% } }

/* Cartes GOLD communes Web et Google Play. */
:is(#abo-web-offers .subscription-section, #google-play-offers)>h2 { margin:0 0 18px;color:#fff;font-size:24px;text-align:center }
:is(#abo-web-offers, #google-play-offers) .subscription-offers { gap:16px;align-items:stretch }
:is(#abo-web-offers, #google-play-offers) .subscription-offer { box-sizing:border-box;min-width:0;min-height:248px;padding:18px 16px 16px;border:1px solid #59503b;border-radius:18px;background:linear-gradient(150deg,#2b2923,#1b1c1e);box-shadow:0 7px 20px rgba(0,0,0,.16) }
:is(#abo-web-offers, #google-play-offers) .subscription-offer.is-featured { border-color:#e1b649;background:radial-gradient(ellipse at 100% 0,rgba(255,203,62,.13),transparent 65%),linear-gradient(150deg,#332c1c,#1d1d1c) }
:is(#abo-web-offers, #google-play-offers) .subscription-offer-label { height:16px;flex:0 0 16px;line-height:16px;margin:0 0 10px;color:#ffe084;font-size:10px;letter-spacing:.07em }
:is(#abo-web-offers, #google-play-offers) .subscription-duration { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;margin:0 0 16px;padding:0;border:0;border-radius:0;background:none;color:#fff;font-size:30px;font-weight:800;line-height:1.15;box-shadow:none }
:is(#abo-web-offers, #google-play-offers) .subscription-duration img { display:block;width:40px;height:40px;padding:0;border:0;border-radius:0;background:none;box-shadow:none }
:is(#abo-web-offers, #google-play-offers) .subscription-offer-monthly { margin:0 0 22px;color:#ffe18a;font-size:20px;font-weight:700;white-space:nowrap }
:is(#abo-web-offers, #google-play-offers) .subscription-offer-button { gap:7px;box-sizing:border-box;width:100%;min-height:44px;margin-top:auto;padding:11px 8px;border:1px solid #7dbd62;border-radius:11px;background:linear-gradient(110deg,#548f3c,#477a35);color:#fff;font-size:14px;font-weight:700;line-height:1.3;box-shadow:inset 0 1px 0 rgba(255,255,255,.06) }
:is(#abo-web-offers, #google-play-offers) .subscription-offer-button:hover,:is(#abo-web-offers, #google-play-offers) .subscription-offer-button:focus-visible { background:linear-gradient(110deg,#639f49,#548b40);border-color:#99d27f;color:#fff }
:is(#abo-web-offers, #google-play-offers) .subscription-payment-note { margin:10px 0 0;color:#bcb8ad;font-size:11px;line-height:1.4 }
@media(max-width:600px) { :is(#abo-web-offers .subscription-section, #google-play-offers)>h2 { font-size:22px }:is(#abo-web-offers, #google-play-offers) .subscription-offer { min-height:230px;padding:16px 14px } }

:is(#abo-web-offers, #google-play-offers) .subscription-offer-label.is-placeholder { visibility:hidden }
:is(#abo-web-offers, #google-play-offers) .subscription-payment-lock { flex:0 0 15px;display:block }

/* Comparatif GOLD : profil sans abonnement */
.abo-compare{margin:30px 0;color:#f2f3f7}.abo-compare[hidden]{display:none}.abo-compare-intro{text-align:center;margin:0 auto 24px;max-width:620px}.abo-compare-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#d8b967}.abo-compare-intro h2{font-size:26px;line-height:1.25;margin:10px 0}.abo-compare-intro p{color:#aeb6c7;line-height:1.6;margin:0}.abo-compare-frame{border:1px solid #363e51;border-radius:16px;overflow:hidden;background:#171d2a}.abo-compare-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px}.abo-compare-table th,.abo-compare-table td{padding:15px 18px;border-bottom:1px solid #303748;vertical-align:middle}.abo-compare-table th:first-child{width:52%;text-align:left}.abo-compare-table thead th{background:#222a3b;font-weight:700;text-align:center;font-size:15px}.abo-compare-table thead th:last-child{background:#68542b;color:#fff2c8}.abo-compare-table thead img{display:block;margin:0 auto 5px}.abo-compare-table tbody th{font-weight:500;color:#e4e7ef}.abo-compare-table td{text-align:center}.abo-compare-table td:last-child{background:rgba(207,170,80,.07)}.abo-compare-table tbody tr:last-child>*{border-bottom:0}.abo-compare-table tbody tr:hover>*{background-color:rgba(255,255,255,.035)}.abo-compare-yes{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#24483c;color:#85e0ac;font-size:17px;font-weight:700}.abo-compare-table td:last-child .abo-compare-yes{background:#51452b;color:#f6d98d}.abo-compare-limited{color:#aeb6c7;font-size:12px}.abo-compare-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.abo-compare-intro h2{font-size:23px}.abo-compare-table{font-size:12px}.abo-compare-table th,.abo-compare-table td{padding:12px 8px}.abo-compare-table th:first-child{width:48%}.abo-compare-table thead th{font-size:13px}.abo-compare-limited{font-size:11px}.abo-compare-yes{width:24px;height:24px;font-size:15px}}

/* Conditions de vente : lecture discrète et contrastée */
.subscription-conditions,
.subscription-conditions h2,
.subscription-conditions p,
.subscription-conditions strong,
.subscription-conditions a,
.subscription-conditions a:visited{color:#c5cad3}
.subscription-conditions a{text-decoration:underline;text-underline-offset:3px}
.subscription-conditions a:hover,
.subscription-conditions a:focus-visible{color:#f1f3f6}

/* Restauration Google Play */
#google-play-conditions #google-play-restore{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:fit-content;max-width:100%;min-height:44px;margin:24px auto 0;padding:11px 24px;border:1px solid #7c8492;border-radius:12px;background:linear-gradient(135deg,#414956,#303743);color:#e5e8ee;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 10px rgba(0,0,0,.12)}
#google-play-conditions #google-play-restore:hover,#google-play-conditions #google-play-restore:focus-visible{background:linear-gradient(135deg,#505a69,#3b4451);border-color:#a4adbc;color:#fff}
#google-play-conditions #google-play-restore:disabled{opacity:.55;cursor:wait}

/* Connexion et inscription membres — styles partagés, limités à cette page. */
body.auth-page { margin:0; min-width:320px; min-height:100vh; overflow:auto; color:#e4e6eb; font-family:Inter,Arial,sans-serif; font-size:15px; background:#121212; }
.auth-shell, .auth-shell *, .auth-shell *::before, .auth-shell *::after { box-sizing:border-box; }
.auth-page [hidden] { display:none !important; }
.auth-shell { width:100%; min-height:100vh; padding:40px 18px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; }
.auth-logo { display:block; line-height:0; }
.auth-logo img { max-width:100%; height:auto; filter:drop-shadow(0 2px 6px rgba(0,0,0,.12)); }
.auth-page .connexion.auth-card { width:min(100%,440px); margin:0; padding:0; overflow:hidden; border:1px solid #3d3d3d; border-radius:24px; background:#1e1e1e; box-shadow:0 20px 65px rgba(0,0,0,.25); }
.auth-tabs { display:flex; padding:8px; gap:6px; background:#181818; border-bottom:1px solid #343434; }
.auth-tabs button { flex:1; border:0; border-radius:15px; padding:14px 8px; background:transparent; color:#aeb6c7; font:inherit; font-weight:600; cursor:pointer; }
.auth-tabs button[aria-selected="true"] { color:#e4e6eb; background:#386fbe; box-shadow:0 2px 8px rgba(24,53,77,.09); }
.auth-card-content { padding:29px 30px 25px; }
.auth-page .auth-card h1,.auth-page .auth-card h2 { margin:0 0 8px; font-size:23px; line-height:1.3; font-weight:700; color:#e4e6eb; }
.auth-page .auth-card h3 { margin:0 0 10px; font-size:18px; }
.auth-page .auth-card p { margin:0 0 16px; line-height:1.55; }
.auth-page .auth-card .auth-intro { color:#aeb6c7; font-size:14px; margin-bottom:26px; }
.auth-page .auth-card a { color:#7eafea; text-decoration:none; }
.auth-page .auth-card a:hover { text-decoration:underline; }
.auth-page .auth-card fieldset { border:0; padding:0; margin:0; min-width:0; }
.auth-page .auth-card label { display:block; margin:0 0 7px; font-size:13px; font-weight:600; color:#d3d8e1; }
.auth-page .auth-card input:not([type="checkbox"]):not([type="submit"]),.auth-page .auth-card select { width:100%; min-height:48px; padding:12px 13px; margin:0 0 17px; border:1px solid #424242; border-radius:11px; outline:0; background:#292929; color:#e4e6eb; font:inherit; font-size:16px; }
.auth-page .auth-card input:focus,.auth-page .auth-card select:focus { border-color:#7eafea; box-shadow:0 0 0 3px rgba(56,134,191,.12); }
.auth-page .auth-card .form-group { display:flex; flex-direction:column-reverse; margin:0; }
.auth-page .auth-card .form-group label { position:static; background:none; transform:none; }
.auth-page .auth-card .auth-primary,.auth-page .auth-card #bouton { width:100%; border:0; border-radius:12px; background:#386fbe; color:#fff; padding:15px 12px; font:inherit; font-size:15px; font-weight:700; line-height:1.4; cursor:pointer; }
.auth-page .auth-card .auth-primary:hover,.auth-page .auth-card #bouton:hover { background:#447fcf; }
.auth-page .auth-card .code_perdu { margin:17px 0 0; text-align:center; font-size:13px; }
.auth-divider { display:flex; align-items:center; gap:14px; margin:23px 0; color:#8a95a6; font-size:12px; }
.auth-divider::before,.auth-divider::after { content:""; flex:1; height:1px; background:#3d3d3d; }
.auth-google { display:flex; gap:12px; align-items:center; justify-content:center; border:1px solid #484848; border-radius:12px; min-height:48px; font-size:14px; color:#d3d8e1 !important; }
.auth-page .auth-card .auth-switch { text-align:center; margin:22px 0 0; font-size:12px; color:#778397; }
.auth-footer { margin:0; text-align:center; color:#fff; font-size:13px; text-shadow:0 1px 3px rgba(0,0,0,.25); }
.auth-page .avertissement { width:min(100%,440px); margin:0; padding:14px 18px; border-radius:14px; background:#fff2ed; color:#8a3627; font-size:14px; text-align:center; line-height:1.5; }
.auth-progress { height:4px; background:#343434; border-radius:4px; overflow:hidden; margin:0 0 12px; }
.auth-progress span { display:block; height:100%; background:#386fbe; width:25%; transition:width .2s; }
.auth-page .auth-card .auth-step { font-size:12px; color:#aeb6c7; margin:0 0 23px; }
.auth-page .auth-card .auth-help { font-size:12px; color:#aeb6c7; margin:-5px 0 19px; }
.auth-error { background:#392424; color:#f1b3ad; border:1px solid #71413d; border-radius:10px; padding:12px; font-size:13px; line-height:1.5; margin-bottom:18px; }
.auth-actions { display:flex; flex-direction:column; align-items:stretch; gap:0; margin-top:15px; }
.auth-back { padding:12px 0; border:0; background:none; color:#aeb6c7; font:inherit; font-size:13px; cursor:pointer; }
.auth-page .auth-card .auth-secondary { width:100%; padding:12px; margin:0 0 18px; border:1px solid #4b5665; border-radius:10px; color:#d3dfef; background:#292e36; font:inherit; font-size:14px; cursor:pointer; }
.auth-page .auth-card .auth-checkbox { display:flex; gap:10px; align-items:flex-start; font-weight:400; font-size:12px; line-height:1.6; margin:18px 0; }
.auth-checkbox input { width:18px; height:18px; margin:1px 0 0; flex:none; accent-color:#386fbe; }
.auth-page button:disabled,.auth-page input:disabled { opacity:.65; cursor:wait; }
.auth-page button:focus-visible,.auth-page a:focus-visible { outline:3px solid #70b7e6; outline-offset:3px; }
.auth-honeypot,.auth-sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:480px) { .auth-shell { padding:24px 14px; gap:20px; justify-content:flex-start; } .auth-logo img { width:255px; } .auth-card-content { padding:24px 21px; } .auth-page .auth-card h1,.auth-page .auth-card h2 { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { .auth-progress span { transition:none; } }
.auth-page .auth-card p { color:#d3d8e1; }
.auth-page .auth-card .auth-intro,.auth-page .auth-card .auth-help { color:#aeb6c7; }

body.auth-page { color-scheme:dark; }
.auth-page .auth-card input::placeholder { color:#9198a4; }
.auth-page .auth-card #auth-login h1 { margin-bottom:22px; text-align:center; }
.auth-page .auth-card .auth-automess { padding:14px; border:1px solid #3d3d3d; border-radius:12px; background:#252525; }
.auth-page .auth-card .auth-automess strong { color:#e4e6eb; }
.auth-page .auth-card .auth-google { background:#252525; }
.auth-page .auth-card .auth-google:hover { background:#303030; text-decoration:none; }

/* Récupération et connexion SMS : même carte, mêmes marges que la connexion. */
.auth-page .auth-recovery-form { width:100%; margin:0; }
.auth-page .auth-card .auth-recovery-form h3 { color:#e4e6eb; font-size:17px; margin:0 0 12px; }
.auth-page .auth-card .auth-recovery-form .auth-intro { margin-bottom:20px; }
.auth-page .auth-card #auth-login-content p.auth-recovery-links { display:block; width:100%; margin:24px 0 0; padding:0; text-align:center; color:#aeb6c7; font-size:13px; }
.auth-page .auth-card #auth-login-content p.auth-recovery-links + p.auth-recovery-links { margin-top:12px; }
.auth-mobile-fields { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; }
.auth-mobile-fields > div { min-width:0; }
.auth-page .auth-card .auth-mobile-fields label { font-size:12px; }
.auth-page .auth-card input.auth-code-input { text-align:center; letter-spacing:.35em; font-size:26px; font-weight:600; min-height:58px; padding:12px 8px 12px 17px; }
@media(max-width:360px) { .auth-mobile-fields { grid-template-columns:94px minmax(0,1fr); gap:8px; } }

/* Date de naissance : trois listes adaptées au mobile. */
.auth-page .auth-card .auth-birth-group legend { color:#d3d8e1; font-size:13px; font-weight:600; margin-bottom:7px; padding:0; }
.auth-birth-fields { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,1fr); gap:8px; }
.auth-birth-fields > div { min-width:0; }
.auth-page .auth-card .auth-birth-fields select { padding-left:9px; padding-right:5px; }

/* Introduction de création de profil, identique sur mobile et ordinateur. */
.auth-page .auth-card #auth-signup > h2,
.auth-page .auth-card #auth-signup > p.auth-intro { font-size:18px; text-align:center; }

.auth-page .auth-card .auth-actions #signup-next { order:0; width:100%; }
.auth-page .auth-card .auth-actions #signup-back { order:1; align-self:center; margin-top:16px; padding:0; text-align:center; line-height:1.5; }

/* Afficher / masquer le mot de passe de création de profil. */
.auth-password-field { position:relative; margin-bottom:17px; }
.auth-page .auth-card .auth-password-field input { margin-bottom:0; padding-right:96px; }
.auth-page .auth-card .auth-password-toggle { position:absolute; top:0; right:4px; min-height:48px; padding:0 10px; border:0; border-radius:8px; background:transparent; color:#7eafea; font:inherit; font-size:13px; cursor:pointer; }
.auth-page .auth-card .auth-password-toggle:hover { color:#b4d4fa; }

/* Code SMS de l’inscription : six chiffres, adapté aux petits écrans. */
.auth-page .auth-code-digits { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0 18px; }
.auth-page .auth-card .auth-code-digit { width:100%;min-width:0;height:52px;padding:0;text-align:center;font-size:24px;line-height:normal;border-radius:10px; }
.auth-page #signup-change-phone { display:block;margin:0 auto 16px;text-align:center; }

.auth-page #signup-sms-status { text-align:center;color:#ff8585;margin:8px 0 18px; }
.auth-page .auth-card #signup-verify-sms { margin-bottom:0; }

/* Deuxième étape de souscription : récapitulatif et moyens de paiement. */
.abo-payment-page .abo-payment-summary{display:flex;align-items:center;gap:20px;margin:0 0 24px;padding:24px;border:1px solid #a8802d;border-radius:14px;background:radial-gradient(ellipse at 100% 0,rgba(255,194,24,.16),transparent 65%),linear-gradient(115deg,#392d17,#242017);box-shadow:0 8px 24px rgba(0,0,0,.18);color:#e8eaf0}
.abo-payment-summary-info{flex:1;min-width:0}.abo-payment-kicker{color:#ddc88e;font-size:12px;font-weight:700;letter-spacing:.6px}.abo-payment-summary h1{margin:7px 0;font-size:27px;line-height:1.2}.abo-payment-summary p{margin:0;color:#c0c4cc;font-size:14px}
.abo-payment-price{display:flex;flex-direction:column;gap:7px;text-align:right}.abo-payment-price strong{font-size:28px;color:#f3df9b}.abo-payment-price span{color:#c0c4cc;font-size:13px}.abo-payment-price a{font-size:13px;color:#c4d9f6;text-decoration:underline;text-underline-offset:3px}
.abo-payment-card{max-width:600px;margin:0 auto 30px;padding:26px;border:1px solid #3d4757;border-radius:19px;background:#1c222c;text-align:center}.abo-payment-card h2,.abo-payment-alternatives h2{margin:0 0 12px;font-size:22px;color:#e8eaf0}.abo-payment-card>p{color:#c0c4cc}.abo-payment-card-logos{display:block;margin:20px auto}.abo-payment-card form{margin:20px 0 12px}.abo-payment-card .subscription-offer-button{box-sizing:border-box;width:100%;max-width:360px;min-height:44px;margin:auto;padding:11px 8px;appearance:none;border:1px solid #7dbd62;border-radius:11px;background:linear-gradient(110deg,#548f3c,#477a35);color:#fff;font:inherit;font-size:14px;font-weight:700;line-height:1.3;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);cursor:pointer}.abo-payment-page .abo-payment-help{font-size:13px;line-height:1.6;color:#b5becc;margin:10px auto 0;max-width:430px}.abo-payment-help a{color:#c4d9f6;text-decoration:underline}
.abo-payment-alternatives{margin:0 0 30px;text-align:center}.abo-payment-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px}.abo-payment-page .abo-payment-method{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;border:1px solid #3b4350;border-radius:19px;background:#1d222b;color:#e8eaf0;text-decoration:none;transition:border-color .15s,background-color .15s}.abo-payment-method img{display:block;width:70px;height:70px;object-fit:contain}.abo-payment-method strong{font-size:15px}.abo-payment-method span{font-size:12px;line-height:1.5;color:#b5becc}.abo-payment-page .abo-payment-method:hover,.abo-payment-page .abo-payment-method:focus-visible{border-color:#789bc6;background:#242e3d}.abo-payment-page .subscription-conditions{margin-top:30px;scroll-margin-top:90px}
@media(max-width:600px){.abo-payment-page .abo-payment-summary{flex-wrap:wrap;gap:15px;padding:20px}.abo-payment-summary h1{font-size:23px}.abo-payment-price{width:100%;padding-top:15px;border-top:1px solid #5c5036;text-align:left}.abo-payment-price strong{font-size:26px}.abo-payment-card{padding:22px 16px}.abo-payment-methods{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Carte et TWINT : deux colonnes égales, carte en premier. */
.abo-payment-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.abo-payment-primary .abo-payment-card{box-sizing:border-box;min-width:0;max-width:none;width:100%;margin:0;display:flex;flex-direction:column;align-items:center}
.abo-payment-primary .abo-payment-logo-row{display:flex;align-items:center;justify-content:center;min-height:80px;margin:6px 0 20px}
.abo-payment-primary .abo-payment-card-logos{margin:0;max-width:100%;height:auto}.abo-payment-primary .abo-payment-twint-logo{display:block;object-fit:contain}
.abo-payment-primary .abo-payment-card form{align-self:stretch;margin:auto 0 0;padding-top:5px}
.abo-payment-primary-note{text-align:center;color:#b5becc;font-size:13px;line-height:1.6;margin:16px 0 30px}.abo-payment-primary-note a{color:#c4d9f6;text-decoration:underline}
@media(max-width:700px){.abo-payment-primary{grid-template-columns:minmax(0,1fr);gap:16px}}

.abo-payment-primary .abo-payment-card h2{margin-bottom:4px}
.abo-payment-primary .abo-payment-card>p{margin:0 0 8px;font-size:13px;line-height:1.45}
.abo-payment-card .subscription-offer-button:hover,.abo-payment-card .subscription-offer-button:focus-visible{background:linear-gradient(110deg,#639f49,#548b40);border-color:#99d27f;color:#fff}

.abo-payment-primary + .abo-payment-alternatives{margin-top:50px}

/* QR-facture / e-banking et courrier : suite du choix de paiement. */
.abo-other-panel{box-sizing:border-box;margin:0 0 30px;padding:26px;border:1px solid #3d4757;border-radius:19px;background:#1c222c;color:#e8eaf0;line-height:1.65}
.abo-other-panel h2{margin:0 0 5px;font-size:22px;line-height:1.3}.abo-other-panel h3{margin:24px 0 10px;font-size:19px;line-height:1.35}.abo-other-panel p{margin:0 0 16px}.abo-other-panel a{color:#c4d9f6;text-underline-offset:3px}
.abo-other-heading{display:flex;align-items:center;gap:18px;margin-bottom:24px}.abo-other-heading img{flex:0 0 70px;object-fit:contain}.abo-other-heading a{font-size:13px}
.abo-other-address{display:block;margin:20px 0;padding:20px;border:1px solid #465268;border-radius:12px;background:#171e28;font-style:normal;font-weight:600;line-height:1.8;overflow-wrap:anywhere}
.abo-other-form{margin-top:20px}.abo-other-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-bottom:24px}.abo-other-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.abo-other-fields input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #4b586c;border-radius:9px;background:#121923;color:#fff;font:inherit;font-weight:400}.abo-other-fields input:focus{outline:2px solid #78a4d7;outline-offset:2px}
.abo-other-panel .subscription-offer-button{display:inline-block;box-sizing:border-box;max-width:100%;min-height:44px;padding:11px 22px;border:1px solid #7dbd62;border-radius:11px;background:linear-gradient(110deg,#548f3c,#477a35);color:#fff;font:inherit;font-size:14px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer}.abo-other-panel .subscription-offer-button:hover,.abo-other-panel .subscription-offer-button:focus-visible{background:linear-gradient(110deg,#639f49,#548b40);border-color:#99d27f;color:#fff}
.abo-other-ready{margin:24px 0;padding:20px;border:1px solid #54774a;border-radius:12px;background:#202c22}.abo-other-ready h3{margin-top:0}.abo-other-ready p{margin-bottom:18px}
.abo-other-bank{margin:24px 0;padding:18px;border:1px solid #465268;border-radius:12px;background:#171e28}.abo-other-bank summary{font-weight:700;cursor:pointer}.abo-other-bank dl{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:10px 18px;margin:18px 0}.abo-other-bank dt{color:#b5becc}.abo-other-bank dd{margin:0;overflow-wrap:anywhere}.abo-other-bank p:last-child{margin-bottom:0}
@media(max-width:600px){.abo-other-panel{padding:20px 16px}.abo-other-heading{gap:12px}.abo-other-heading h2{font-size:20px}.abo-other-fields{grid-template-columns:minmax(0,1fr);gap:14px}.abo-other-panel .subscription-offer-button{width:100%}.abo-other-bank dl{grid-template-columns:minmax(0,1fr);gap:3px}.abo-other-bank dd{margin-bottom:10px}}
