/* Espace client Sebweb — styles partagés (membre_*.php) */

.membre-ui-page,
.membre-msg-page,
.membre-fact-page,
.membre-stats-page {
	max-width: 980px;
	margin: 0 auto;
	padding: 8px 15px 32px;
}

body.membre-stats-view .membre-stats-page {
	max-width: 1320px;
	padding-left: 12px;
	padding-right: 12px;
}

.membre-ui-header,
.membre-msg-header,
.membre-fact-header,
.membre-stats-header {
	text-align: center;
	margin-bottom: 28px;
}

.membre-ui-header h1,
.membre-msg-header h1,
.membre-fact-header h1,
.membre-stats-header h1 {
	margin: 0 0 8px;
	font-size: 28px;
	font-weight: 600;
	color: #e2017b;
}

.membre-ui-sub,
.membre-msg-sub,
.membre-fact-sub,
.membre-stats-sub {
	margin: 0 0 16px;
	color: #6c757d;
	font-size: 15px;
}

.membre-ui-back,
.membre-msg-back,
.membre-fact-back,
.membre-stats-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #31b0d5;
	font-size: 14px;
	text-decoration: none;
}

.membre-ui-back:hover,
.membre-ui-back:focus,
.membre-msg-back:hover,
.membre-msg-back:focus,
.membre-fact-back:hover,
.membre-fact-back:focus,
.membre-stats-back:hover,
.membre-stats-back:focus {
	color: #269abc;
	text-decoration: none;
}

.membre-ui-section-head {
	margin: 28px 0 16px;
	padding-bottom: 10px;
	font-size: 20px;
	font-weight: 600;
	color: #e2017b;
	text-align: center;
	border-bottom: 1px solid #e8eef2;
}

.membre-ui-empty,
.membre-ui-info,
.membre-msg-empty,
.membre-msg-info,
.membre-fact-empty {
	text-align: center;
	padding: 36px 24px;
	border-radius: 10px;
	background: #f8fafd;
	border: 1px dashed #d8e0e6;
	color: #6c757d;
}

.membre-ui-empty i,
.membre-ui-info i,
.membre-msg-empty i,
.membre-msg-info i,
.membre-fact-empty i {
	display: block;
	margin-bottom: 12px;
	font-size: 42px;
	color: #31b0d5;
}

.membre-ui-btn,
.membre-fact-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 18px;
	border: none;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.membre-ui-btn:hover,
.membre-ui-btn:focus,
.membre-fact-btn:hover,
.membre-fact-btn:focus {
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	color: inherit;
}

.membre-ui-btn--primary,
.membre-fact-btn--primary {
	background: #007aff;
	color: #fff !important;
}

.membre-ui-btn--primary:hover,
.membre-ui-btn--primary:focus,
.membre-fact-btn--primary:hover,
.membre-fact-btn--primary:focus {
	background: #0066d6;
	color: #fff !important;
}

.membre-ui-btn--secondary,
.membre-fact-btn--secondary {
	background: rgba(120, 120, 128, 0.16);
	color: #1c1c1e !important;
}

.membre-ui-btn--secondary:hover,
.membre-ui-btn--secondary:focus,
.membre-fact-btn--secondary:hover,
.membre-fact-btn--secondary:focus {
	background: rgba(120, 120, 128, 0.24);
	color: #1c1c1e !important;
}

.membre-ui-btn--sm,
.membre-fact-btn--sm {
	padding: 7px 14px;
	font-size: 13px;
}

.membre-ui-btn--warning {
	background: #fff8e6;
	color: #856404 !important;
	border: 1px solid #f0e0a8;
}

.membre-ui-btn--warning:hover,
.membre-ui-btn--warning:focus {
	background: #ffefb8;
	color: #6d4c00 !important;
}

.membre-ui-page .membre-compte-submit.membre-ui-btn--primary {
	background: #e2017b;
	font-size: 15px;
	padding: 11px 24px;
}

.membre-ui-page .membre-compte-submit.membre-ui-btn--primary:hover,
.membre-ui-page .membre-compte-submit.membre-ui-btn--primary:focus {
	background: #c9016a;
	color: #fff !important;
}

.membre-ui-form-actions {
	text-align: center;
	padding: 8px 16px 24px;
}

.membre-ui-form-actions .membre-compte-submit {
	margin-top: 4px;
}

.membre-compte-save-status {
	margin: 4px 0 0;
	font-size: 14px;
	color: #6c757d;
}

.membre-compte-save-status .fa {
	margin-right: 6px;
	color: #31b0d5;
}

.membre-ui-form-actions .membre-compte-rgpd {
	margin: 0 0 18px;
	font-size: 14px;
	color: #495057;
}

.membre-ui-form-actions .membre-compte-rgpd .membre-ui-btn {
	vertical-align: middle;
	margin-left: 6px;
}

.membre-ui-page .membre-compte-rib-actions {
	margin-top: 10px;
}

/* Messages */
.membre-msg-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.membre-msg-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 10px;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.membre-msg-item:hover,
.membre-msg-item:focus {
	border-color: #b8d9ea;
	box-shadow: 0 4px 14px rgba(49, 176, 213, 0.12);
	transform: translateY(-1px);
	color: inherit;
	text-decoration: none;
}

.membre-msg-item.is-unread {
	border-left: 4px solid #e2027b;
	background: #fffafb;
}

.membre-msg-icon {
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #f0f7fb;
	color: #31b0d5;
	font-size: 20px;
}

.membre-msg-item.is-unread .membre-msg-icon {
	background: #fde8f3;
	color: #e2027b;
}

.membre-msg-body {
	flex: 1 1 auto;
	min-width: 0;
}

.membre-msg-title {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #2c3e50;
	line-height: 1.35;
	word-break: break-word;
}

.membre-msg-item.is-unread .membre-msg-title {
	color: #111;
}

.membre-msg-date {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: #8a949e;
}

.membre-msg-badge {
	flex: 0 0 auto;
	padding: 4px 10px;
	border-radius: 999px;
	background: #e2027b;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.membre-msg-detail {
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.membre-msg-detail-head {
	padding: 20px 22px;
	background: linear-gradient(135deg, #fdf2f8 0%, #f0f7fb 100%);
	border-bottom: 1px solid #e8eef2;
}

.membre-msg-detail-head h2 {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	color: #2c3e50;
	line-height: 1.35;
	word-break: break-word;
}

.membre-msg-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin-top: 12px;
	font-size: 13px;
	color: #6c757d;
}

.membre-msg-detail-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.membre-msg-detail-body {
	padding: 24px 22px;
	font-size: 15px;
	line-height: 1.65;
	color: #333;
	word-break: break-word;
}

.membre-msg-detail-body img {
	max-width: 100%;
	height: auto;
}

.membre-msg-detail-body table {
	max-width: 100%;
}

.membre-msg-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 8px;
}

/* Factures */
.membre-fact-section {
	margin-bottom: 20px;
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.membre-fact-section-head {
	padding: 14px 18px;
	font-size: 16px;
	font-weight: 600;
	border-bottom: 1px solid #eef1f4;
}

.membre-fact-section--due .membre-fact-section-head {
	background: #fdf2f8;
	color: #e2017b;
	border-bottom-color: #f5d0e8;
}

.membre-fact-section--devis .membre-fact-section-head {
	background: #f3fbf5;
	color: #1e7e34;
}

.membre-fact-section--archive .membre-fact-section-head {
	background: #f8fafd;
	color: #6c757d;
}

.membre-fact-table {
	margin-bottom: 0;
	font-size: 14px;
}

.membre-fact-table thead th {
	background: #f8fafd;
	border-bottom: 2px solid #e8eef2 !important;
	font-weight: 600;
	color: #495057;
	white-space: nowrap;
}

.membre-fact-table button.btn {
	white-space: nowrap;
}

.membre-fact-ref {
	font-weight: 600;
	color: #2c3e50;
}

.membre-fact-du {
	color: #e2027b;
	font-weight: 700;
}

.membre-fact-amt {
	font-variant-numeric: tabular-nums;
}

.membre-fact-badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.membre-fact-badge--paid {
	background: #e8f5e9;
	color: #2e7d32;
}

.membre-fact-badge--expired {
	background: #eef1f4;
	color: #6c757d;
}

.membre-fact-archive-scroll {
	max-height: 420px;
	overflow-y: auto;
}

.membre-fact-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 24px 0 18px;
}

.membre-fact-info {
	padding: 16px 18px;
	border-radius: 10px;
	background: #fffbf0;
	border: 1px solid #f0e6c8;
	color: #6c757d;
	font-size: 13px;
	line-height: 1.55;
}

.membre-fact-info h4 {
	margin: 0 0 8px;
	font-size: 15px;
	color: #856404;
}

.membre-fact-login-box {
	max-width: 520px;
	margin: 0 auto;
	padding: 28px 24px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #e8eef2;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.membre-fact-detail-card {
	padding: 18px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #e8eef2;
	margin-bottom: 12px;
}

.membre-fact-detail-card h3 {
	margin: 0 0 14px;
	font-size: 18px;
	color: #2c3e50;
}

.membre-fact-payments {
	max-height: 120px;
	overflow: auto;
	margin: 12px 0;
	padding-left: 18px;
	font-size: 13px;
	color: #6c757d;
}

.membre-fact-status-ok {
	display: inline-block;
	padding: 8px 12px;
	border-radius: 8px;
	background: #e8f5e9;
	color: #2e7d32;
	font-weight: 600;
}

.membre-fact-status-due {
	display: inline-block;
	padding: 8px 12px;
	border-radius: 8px;
	background: #fff3cd;
	color: #856404;
	font-weight: 600;
}

.membre-fact-pay-modes-alt img {
	max-width: 60px;
	max-height: 30px;
}

.membre-fact-modal-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
	z-index: 9999;
	backdrop-filter: blur(4px);
}

.membre-fact-modal-backdrop.is-open {
	display: block;
}

body.membre-fact-modal-open {
	overflow: hidden;
}

#monlien.membre-fact-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10000;
	margin: 0;
	padding: 24px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transform: none;
}

#monlien.membre-fact-modal.is-open {
	display: flex !important;
}

#monlien .membre-fact-modal-panel {
	width: min(640px, calc(100vw - 48px));
	max-height: min(88vh, 820px);
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}

#monlien .membre-fact-modal-header {
	position: relative;
	display: block;
	padding: 20px 56px 16px;
	background: #fff;
	border-bottom: 1px solid rgba(60, 60, 67, 0.12);
	text-align: center;
}

#monlien .membre-fact-modal-header h5 {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	color: #1c1c1e;
	line-height: 1.35;
}

#monlien .membre-fact-modal-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 50%;
	background: rgba(120, 120, 128, 0.16);
	color: #3a3a3c;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}

#monlien .membre-fact-modal-close:hover {
	background: rgba(120, 120, 128, 0.24);
	color: #1c1c1e;
	transform: none;
	box-shadow: none;
}

#monlien .membre-fact-modal-body {
	padding: 24px 24px 28px;
	overflow-y: auto;
	text-align: center;
}

#detail_com {
	width: 100%;
}

#detail_com .membre-fact-detail-card {
	border: none;
	padding: 0;
	margin: 0 auto 16px;
	background: transparent;
	box-shadow: none;
	max-width: 520px;
	text-align: center;
}

#detail_com .membre-fact-detail-card h3 {
	display: none;
}

#detail_com .membre-fact-payments {
	background: rgba(120, 120, 128, 0.08);
	border: none;
	border-radius: 14px;
	padding: 12px 16px 12px 28px;
	text-align: left;
	max-width: 420px;
	margin: 12px auto 0;
}

#detail_com .membre-fact-status-ok,
#detail_com .membre-fact-status-due {
	display: inline-block;
	margin: 14px auto 0;
}

#detail_com .membre-fact-pay {
	border: none;
	border-radius: 16px;
	overflow: hidden;
	margin: 20px auto 0;
	background: rgba(120, 120, 128, 0.08);
	max-width: 520px;
	text-align: center;
}

#detail_com .membre-fact-pay-head {
	padding: 14px 16px 0;
	background: transparent;
	border: none;
	font-weight: 600;
	color: #1c1c1e;
	font-size: 15px;
}

#detail_com .membre-fact-pay-body {
	padding: 12px 16px 18px;
	text-align: center;
}

#detail_com .membre-fact-pay-intro {
	margin: 0 auto 14px;
	color: #6c757d;
	font-size: 13px;
	max-width: 420px;
}

#detail_com .membre-fact-pay-fields {
	display: grid;
	gap: 10px;
	margin: 0 auto 16px;
	max-width: 420px;
	text-align: left;
}

#detail_com .membre-fact-pay-fields .input-group {
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
}

#detail_com .membre-fact-pay-fields .form-control,
#detail_com .membre-fact-pay-fields .input-group-addon {
	border-color: rgba(60, 60, 67, 0.16);
}

#detail_com .membre-fact-pay-fields input.form-control {
	color: #e2027b;
	font-weight: 600;
}

#detail_com .membre-fact-pay-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

#detail_com .membre-fact-pay-option {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 118px;
	min-height: 64px;
	padding: 10px 14px;
	border: none;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}

#detail_com .membre-fact-pay-option:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

#detail_com .membre-fact-pay-option img {
	max-width: 104px;
	max-height: 48px;
}

#detail_com .membre-fact-pay-alt {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(60, 60, 67, 0.12);
	font-size: 13px;
	color: #6c757d;
}

#detail_com .membre-fact-pay-alt-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 10px;
}

#detail_com .membre-fact-pay-option--small {
	min-width: 88px;
	min-height: 52px;
	padding: 8px 10px;
}

#detail_com .membre-fact-pay-option--small img {
	max-width: 52px;
	max-height: 26px;
}

#detail_com .membre-fact-bank-title {
	margin: 0 auto 12px;
	font-size: 17px;
	font-weight: 600;
	color: #1c1c1e;
	max-width: 420px;
}

#detail_com p {
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}

#detail_com .table {
	margin: 12px auto 0;
	max-width: 420px;
	border-radius: 12px;
	overflow: hidden;
}

/* Statistiques */
.membre-stats-notice {
	margin: 0 0 22px;
	padding: 10px 16px;
	border-radius: 10px;
	background: #f8fafd;
	border: 1px solid #e8eef2;
	color: #6c757d;
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
}

.membre-stats-notice i {
	color: #31b0d5;
	margin-right: 6px;
}

.membre-stats-sites {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	padding: 8px 4px 16px;
}

.membre-stats-site {
	flex: 0 0 auto;
	width: 150px;
	text-align: center;
	text-decoration: none;
	color: inherit;
	border: 2px solid #e8eef2;
	border-radius: 12px;
	padding: 8px;
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.membre-stats-site:hover,
.membre-stats-site:focus {
	text-decoration: none;
	color: inherit;
	border-color: #b8d9ea;
	box-shadow: 0 4px 14px rgba(49, 176, 213, 0.12);
	transform: translateY(-1px);
}

.membre-stats-site.is-active {
	border-color: #e2017b;
	box-shadow: 0 4px 16px rgba(226, 1, 123, 0.15);
}

.membre-stats-site.is-disabled {
	width: 190px;
	opacity: 0.72;
	cursor: help;
	border-color: #e9ecef;
	background: #f8f9fa;
}

.membre-stats-site.is-disabled:hover,
.membre-stats-site.is-disabled:focus {
	transform: none;
	box-shadow: none;
	border-color: #e9ecef;
}

.membre-stats-site-reason {
	display: block;
	margin-top: 6px;
	padding: 6px 4px 0;
	border-top: 1px dashed #dee2e6;
	font-size: 11px;
	line-height: 1.35;
	color: #856404;
	text-align: left;
}

.membre-stats-site-reason .fa {
	margin-right: 3px;
	color: #c69500;
}

.membre-stats-site img {
	width: 130px;
	height: 100px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
	margin: 0 auto;
}

.membre-stats-site-label {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	color: #6c757d;
	word-break: break-all;
	line-height: 1.3;
}

.membre-stats-activation {
	margin: 20px auto;
	max-width: 640px;
	padding: 18px 20px;
	border-radius: 12px;
	background: #f0f7fb;
	border: 1px solid #d0e8f5;
	text-align: center;
}

.membre-stats-activation label {
	display: block;
	margin-bottom: 10px;
	font-weight: 600;
	color: #2c3e50;
}

.membre-stats-activation .form-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.membre-stats-activation .form-control {
	min-width: 220px;
}

.membre-stats-frame-wrap {
	margin-top: 8px;
	border: 1px solid #e8eef2;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	position: relative;
}

.membre-stats-frame-fluid {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 12px 24px;
	box-sizing: border-box;
}

body.membre-stats-view .membre-stats-frame-fluid {
	padding-left: 16px;
	padding-right: 16px;
}

.membre-stats-frame-loader {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 2;
	background: rgba(248, 250, 253, 0.94);
	color: #495057;
	font-size: 14px;
	font-weight: 500;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
	padding: 20px;
}

.membre-stats-frame-wrap.is-loading .membre-stats-frame-loader {
	display: flex;
}

.membre-stats-spinner {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid rgba(49, 176, 213, 0.25);
	border-top-color: #31b0d5;
	animation: membreStatsSpin 0.8s linear infinite;
}

@keyframes membreStatsSpin {
	to {
		transform: rotate(360deg);
	}
}

.membre-stats-frame {
	display: block;
	width: 100%;
	min-height: min(1500px, 85vh);
	border: 0;
}

.membre-stats-wait {
	margin: 16px 0;
	padding: 14px 18px;
	border-radius: 10px;
	background: #fffbf0;
	border: 1px solid #f0e6c8;
	color: #856404;
	font-size: 14px;
}

/* CloudBox */
.membre-cloud-page {
	text-align: center;
}

.membre-cloud-intro {
	max-width: 720px;
	margin: 0 auto 24px;
	text-align: center;
	color: #495057;
	font-size: 15px;
	line-height: 1.55;
}

.membre-cloud-hint {
	margin: 14px 0 0;
	font-size: 13px;
	color: #6c757d;
}

.membre-cloud-hint .membre-ui-btn {
	vertical-align: middle;
	margin: 0 2px;
}

.membre-cloud-upload-wrap {
	max-width: 640px;
	margin: 0 auto;
}

.membre-cloud-drop {
	position: relative;
	background: #f8fafd;
	border: 2px dashed #c5d9e8;
	border-radius: 14px;
	min-height: 240px;
	padding: 28px 20px;
	transition: border-color 0.2s, background 0.2s;
}

.membre-cloud-drop:hover {
	border-color: #31b0d5;
	background: #f3f9fc;
}

.membre-cloud-drop-inner {
	max-width: 420px;
	margin: 0 auto;
}

.membre-cloud-drop-inner .fa-cloud-upload {
	display: block;
	margin-bottom: 12px;
	color: #31b0d5;
}

.membre-cloud-quota {
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
	color: #6c757d;
}

.membre-cloud-drop-inner p {
	margin: 0 0 10px;
	font-size: 15px;
	color: #495057;
}

.membre-cloud-or {
	font-size: 13px !important;
	color: #adb5bd !important;
}

.membre-cloud-drop-inner #selectfile {
	display: none;
}

.membre-cloud-loader {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 2;
	align-items: center;
	justify-content: center;
	background: rgba(248, 250, 253, 0.92);
	border-radius: 12px;
	color: #31b0d5;
	font-size: 42px;
}

.membre-cloud-loader.is-visible {
	display: flex;
}

.membre-cloud-files {
	margin: 28px auto 0;
	max-width: 100%;
	text-align: center;
}

.membre-cloud-files p {
	margin: 0 0 12px;
}

.membre-cloud-files img {
	max-width: min(346px, 100%);
	height: auto;
	margin: 0 auto;
	border-radius: 12px;
}

.membre-cloud-files table {
	margin: 0 auto;
	text-align: left;
}

.membre-cloud-files-help {
	font-size: 13px;
	color: #6c757d;
}

.membre-cloud-files-help a {
	color: #31b0d5;
}

@media (max-width: 767px) {
	.membre-cloud-drop {
		min-height: 200px;
		padding: 20px 14px;
	}
}

/* Tickets assistance */
body.membre-ticket-page #principale.container {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

body.membre-ticket-page .membre-ui-page {
	text-align: center;
	padding-bottom: 20px;
}

.membre-ticket-wide {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 16px 32px;
	box-sizing: border-box;
}

.membre-ticket-wide-inner {
	max-width: 980px;
	margin: 0 auto;
	padding: 8px 15px 4px;
	text-align: center;
}

body.membre-ticket-page .membre-ticket-wide .membre-ticket-promo,
body.membre-ticket-page .membre-ticket-wide .membre-ticket-recharge,
body.membre-ticket-page .membre-ticket-wide .membre-ticket-premium,
body.membre-ticket-page .membre-ticket-wide .membre-ticket-history,
body.membre-ticket-page .membre-ticket-wide #madiv_int,
body.membre-ticket-page .membre-ticket-wide .cacher,
body.membre-ticket-page .membre-ticket-wide .panel {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
}

.membre-ticket-intro {
	max-width: 760px;
	margin: 0 auto 22px;
	padding: 0 4px;
	text-align: center;
	color: #495057;
	font-size: 15px;
	line-height: 1.55;
}

.membre-ticket-visual {
	margin: 0 auto 22px;
	text-align: center;
}

.membre-ticket-visual img {
	max-width: min(420px, 100%);
	height: auto;
	margin: 0 auto;
}

.membre-ticket-domains {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 24px;
	text-align: left;
	border: 1px solid #e8eef2;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.membre-ticket-domains .box-me-box {
	border: none;
	padding: 0;
	margin: 0;
}

.membre-ticket-domains .box-me-box + .box-me-box {
	border-top: 1px solid #eef1f4;
}

.membre-ticket-domains .box-me-box.hidden-xs {
	background: linear-gradient(135deg, #fdf2f8 0%, #f0f7fb 100%);
	color: #e2017b;
	font-weight: 600;
}

.membre-ticket-domains .box-me-box [class*="col-md"] {
	padding-left: 15px;
	padding-right: 15px;
}

.membre-ticket-promo,
.membre-ticket-recharge,
.membre-ticket-premium {
	margin: 24px auto;
	padding: 0;
}

.membre-ticket-history {
	margin: 0 auto;
	padding: 0 0 24px;
	text-align: center;
}

.membre-ticket-promo-inner,
.membre-ticket-recharge-inner {
	padding: 22px 20px;
	border-radius: 12px;
	background: linear-gradient(135deg, #f3f9fc 0%, #fdf2f8 100%);
	border: 1px solid #e8eef2;
	color: #0879af;
}

.membre-ticket-promo-icon {
	font-size: 3em;
	margin-bottom: 10px;
}

.membre-ticket-promo h3 {
	margin: 0 0 14px;
	color: #1eabe3;
	font-size: 22px;
}

.membre-ticket-history .list-group {
	text-align: left;
}

.membre-ticket-recharge-inner {
	background: #fff;
	border: 1px solid #e8eef2;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.membre-ticket-recharge-title {
	color: #1eabe3;
	text-align: center;
	margin: 0 0 18px;
	font-size: 26px;
}

.membre-ticket-premium {
	padding-top: 8px;
	padding-bottom: 8px;
}

.membre-ticket-premium-lead {
	margin: 0 0 18px;
	color: #fff;
	font-size: clamp(1.25rem, 2.5vw, 2rem);
	font-stretch: condensed;
	text-align: center;
}

.membre-ticket-premium-row {
	margin: 0;
}

.membre-ticket-premium {
	background: linear-gradient(135deg, #1eabe3 0%, #31b0d5 100%);
	border-radius: 12px;
	padding: 28px 20px 32px;
}

@media (max-width: 767px) {
	.membre-ticket-domains .box-me-box [class*="col-md"] {
		text-align: center !important;
		padding-left: 12px;
		padding-right: 12px;
	}

	body.membre-ticket-page .list-group-item.collapse,
	body.membre-ticket-page .list-group-item.reponse {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

@media (max-width: 767px) {
	.membre-ui-page,
	.membre-msg-page,
	.membre-fact-page,
	.membre-stats-page {
		padding: 0 10px 24px;
	}

	.membre-ui-header h1,
	.membre-msg-header h1,
	.membre-fact-header h1,
	.membre-stats-header h1 {
		font-size: 22px;
	}

	.membre-msg-item {
		padding: 12px;
		gap: 10px;
	}

	.membre-msg-icon {
		flex-basis: 36px;
		width: 36px;
		height: 36px;
		font-size: 17px;
	}

	.membre-msg-title {
		font-size: 15px;
	}

	.membre-msg-badge {
		display: none;
	}

	.membre-msg-item.is-unread .membre-msg-title::after {
		content: " • nouveau";
		color: #e2027b;
		font-size: 12px;
		font-weight: 700;
	}

	.membre-msg-detail-head,
	.membre-msg-detail-body {
		padding-left: 16px;
		padding-right: 16px;
	}

	.membre-msg-detail-head h2 {
		font-size: 19px;
	}

	.membre-fact-table thead {
		display: none;
	}

	.membre-fact-table,
	.membre-fact-table tbody,
	.membre-fact-table tr,
	.membre-fact-table td {
		display: block;
		width: 100%;
	}

	.membre-fact-table tr {
		margin-bottom: 12px;
		padding: 12px;
		border: 1px solid #e8eef2;
		border-radius: 10px;
		background: #fff;
	}

	.membre-fact-table td {
		border: none !important;
		padding: 4px 0 !important;
		text-align: left !important;
	}

	.membre-fact-table td:before {
		content: attr(data-label);
		display: block;
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
		color: #8a949e;
		margin-bottom: 2px;
	}

	#monlien.membre-fact-modal {
		padding: 12px;
	}

	#monlien .membre-fact-modal-panel {
		width: calc(100vw - 24px);
		max-height: 92vh;
		border-radius: 16px;
	}

	#monlien .membre-fact-modal-header {
		padding: 18px 48px 14px;
	}

	#monlien .membre-fact-modal-body {
		padding: 18px 16px 22px;
	}

	.membre-stats-site {
		width: 135px;
	}

	.membre-stats-site.is-disabled {
		width: 170px;
	}

	.membre-stats-site img {
		width: 115px;
		height: 88px;
	}

	.membre-stats-activation .form-control {
		min-width: 100%;
		width: 100%;
	}
}

/* ——— Tableau de bord espace client ——— */
body.membre-espace-page #pageetpied {
	overflow-x: clip;
}

body.membre-espace-page #principale.container {
	width: 100%;
	max-width: 1140px;
	overflow-x: visible;
}

.membre-espace-dashboard {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px 32px;
	box-sizing: border-box;
}

.membre-espace-dashboard-inner {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.membre-espace-greeting {
	margin: 0 0 8px;
	font-size: 26px;
	font-weight: 600;
	color: #e2017b;
	line-height: 1.35;
}

.membre-espace-greeting .membre-espace-greeting-muted {
	opacity: 0.65;
	font-weight: 500;
}

.membre-espace-hero-panel {
	position: relative;
	z-index: 1;
	background-color: rgba(255, 255, 255, 0.88);
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	border-radius: 0 0 16px 16px;
	padding: 24px 22px 28px;
	margin: 0 auto;
}

.membre-espace-hero-panel .membre-ui-section-head {
	margin: 20px 0 14px;
	padding-bottom: 0;
	border-bottom: none;
}

.membre-espace-hero-panel .membre-espace-greeting {
	margin-top: 4px;
}

.membre-espace-hero-panel .fry,
.membre-espace-dashboard .fry {
	font-size: 15px;
	padding: 14px 18px;
	margin: 0 0 10px;
	text-align: left;
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 10px;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.membre-espace-hero-panel .fry:hover,
.membre-espace-dashboard .fry:hover {
	border-color: #b8d9ea;
	box-shadow: 0 4px 14px rgba(49, 176, 213, 0.1);
}

.membre-espace-hero-panel .fry i,
.membre-espace-dashboard .fry i {
	background: #f0f7fb;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid #dee0e3;
	color: #31b0d5;
	margin-right: 8px;
	flex-shrink: 0;
}

.membre-espace-detail-panel:empty {
	display: none;
}

.membre-espace-detail-panel:not(:empty) {
	display: block;
	margin-top: 16px;
	padding: 16px 18px;
	background: #f8fafd;
	border: 1px solid #e8eef2;
	border-radius: 12px;
	text-align: left;
}

.membre-ui-actions.row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
}

.membre-ui-actions.row:before,
.membre-ui-actions.row:after {
	content: none;
	display: none;
}

.membre-ui-actions.row > .fry {
	margin: 0;
	min-width: 0;
	width: auto;
	max-width: none;
}

.membre-ui-actions.row > .fry[class*="col-"] {
	float: none;
	width: auto;
	padding-left: 8px;
	padding-right: 0;
}

.membre-ui-actions.row > :not(.fry) {
	grid-column: 1 / -1;
}

.membre-espace-msg-alert {
	margin: 20px 0;
	border-radius: 12px;
}

.membre-espace-msg-alert .badge.rond {
	float: right;
	margin: -12px -12px 0 0;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	padding: 4px;
	background: #e2027b;
	font-size: 14px;
}

.hintbox,
.warning_box {
	margin: 16px 0;
	padding: 18px 20px;
	border-radius: 12px;
	background: #fffbf0;
	border: 1px solid #f0e6c8;
	color: #6c757d;
}

.hintbox h1,
.warning_box h1 {
	margin: 0 0 8px;
	font-size: 20px;
	color: #856404;
}

.fry {
	font-size: 130%;
	padding: 15px 0 15px 1%;
	text-align: left;
}

.etiq_dom {
	position: absolute;
	top: 20px;
	right: -20px;
	padding: 1px 4px;
	width: 99px;
	font-size: 9px;
	text-align: center;
	color: #ffffff;
	font-weight: bold;
	display: block;
	margin: 3px 0 0 0;
	transform: rotate(45deg);
	text-shadow: 1px 1px 1px #1a001a;
}

.la_li {
	overflow: hidden;
	padding: 0;
	margin: 0;
}

.dr3 {
	border: solid 1px #e6e6e6;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
}

.opa {
	opacity: .5;
}

.opa:before {
	content: "Résiliation programmée";
	position: absolute;
	top: 50%;
	left: 0;
	text-align: center;
	width: 100%;
	color: black;
	font-weight: bold;
	transform: rotate(35deg);
	font-size: large;
}

.header-unit,
.membre-espace-hero-wrap {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
	background-color: #f8fafd;
}

.membre-espace-hero-wrap > .container {
	position: relative;
	z-index: 1;
	width: 100%;
	background: transparent;
}

/* Vidéo de fond pleine largeur + flou — calée sur la hauteur du .container */
.membre-espace-video-bg,
#video-container.membre-espace-video-bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	max-height: 100%;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.membre-espace-video-bg video,
#video-container.membre-espace-video-bg video {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	filter: blur(10px);
	-webkit-filter: blur(10px);
}

.red3 {
	display: none;
}

.dr3 img.img-responsive {
	display: inherit;
}

.label-me {
	vertical-align: super;
	font-size: 40%;
	background-color: rgba(128, 128, 128, 1);
}

.membre-espace-dashboard .alert-info {
	color: #0c5460;
	background-color: #d1ecf1;
	border-color: #bee5eb;
	background-image: none;
	border-radius: 12px;
}

.membre-espace-dashboard .alert {
	border-radius: 10px;
	box-shadow: none;
	text-shadow: none;
}

.membre-sites-outer {
	position: relative;
	width: 100%;
	margin-bottom: 6px;
}

.membre-sites-hint {
	display: none;
	margin: 0 0 8px;
	padding: 0 15px;
	font-size: 13px;
	color: #0c5460;
	text-align: center;
}

.membre-sites-outer.has-more .membre-sites-hint {
	display: block;
}

.membre-sites-wrap {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 10px;
	scroll-behavior: smooth;
	scrollbar-width: thin;
	scrollbar-color: #31b0d5 #e8eef2;
}

.membre-sites-wrap::-webkit-scrollbar {
	height: 10px;
}

.membre-sites-wrap::-webkit-scrollbar-track {
	background: #e8eef2;
	border-radius: 5px;
}

.membre-sites-wrap::-webkit-scrollbar-thumb {
	background: #31b0d5;
	border-radius: 5px;
	border: 2px solid #e8eef2;
}

.membre-sites-outer.has-more .membre-sites-wrap {
	padding-right: 72px;
	padding-left: 8px;
}

.membre-sites-outer.has-more.can-scroll-left .membre-sites-wrap {
	padding-left: 56px;
}

.membre-sites-row {
	display: inline-flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 14px;
	min-width: min-content;
	margin: 0;
	padding: 0 15px 4px;
	box-sizing: border-box;
}

.membre-sites-row > .la_li {
	display: block;
	float: none;
	flex: 0 0 auto;
	width: 240px;
	min-width: 240px;
	max-width: 240px;
}

.membre-sites-nav {
	position: absolute;
	top: 0;
	bottom: 10px;
	z-index: 15;
	display: none;
	align-items: center;
	justify-content: center;
	width: 64px;
	pointer-events: none;
}

.membre-sites-nav.membre-sites-more {
	right: 0;
	padding: 0 8px 0 22px;
	background: linear-gradient(to left, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0));
}

.membre-sites-nav.membre-sites-prev {
	left: 0;
	padding: 0 22px 0 8px;
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0));
}

.membre-sites-outer.has-more .membre-sites-nav.membre-sites-more {
	display: flex;
}

.membre-sites-outer.has-more.can-scroll-left .membre-sites-nav.membre-sites-prev {
	display: flex;
}

.btn-membre-scroll {
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3.4rem;
	width: 3.4rem;
	padding: 0;
	pointer-events: auto;
	background: #31b0d5;
	border: 2px solid #fff;
	color: #fff;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);
	animation: membreSitesPulse 2.5s ease-in-out infinite;
}

.btn-membre-scroll:hover,
.btn-membre-scroll:focus {
	color: #fff;
	background: #269abc;
	transform: scale(1.08);
}

.btn-membre-scroll i {
	font-size: 22px;
	line-height: 1;
}

@keyframes membreSitesPulse {
	0%, 100% { box-shadow: 0 3px 12px rgba(49, 176, 213, 0.35); }
	50% { box-shadow: 0 3px 18px rgba(49, 176, 213, 0.75); }
}

.membre-hero-img {
	padding-top: 18px;
	max-width: 430px;
	width: 100%;
	height: auto;
}

.membre-recouvrement-alert {
	font-size: 18px;
	font-weight: bold;
	padding: 14px 18px;
	margin: 16px 0;
	text-align: center;
	border-radius: 12px;
}

.stars {
	position: absolute;
	top: -5px;
	left: 5px;
}

.star {
	color: #FFD700;
	position: absolute;
	opacity: 0;
	animation: twinkle 1.5s infinite ease-in-out;
}

.star1 { font-size: 18px; top: 0; left: 10px; animation-delay: 0s; }
.star2 { font-size: 24px; top: 10px; left: 30px; animation-delay: 0.5s; }
.star3 { font-size: 14px; top: 20px; left: 0; animation-delay: 1s; }
.star4 { font-size: 20px; top: 30px; left: 25px; animation-delay: 1.5s; }

@keyframes twinkle {
	0%, 100% { opacity: 0; transform: translateY(-5px); }
	50% { opacity: 1; transform: translateY(0); }
}

.parrainage {
	position: relative;
	border: 1px solid #e8eef2;
	border-radius: 12px;
	margin: 16px 0;
	padding: 24px 20px;
	background: #fff;
	box-sizing: border-box;
	overflow: hidden;
}

#referralPopup {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

#referralPopup .btn {
	gap: 10px;
	text-decoration: none;
	padding: 7px 12px;
	margin: 0;
	border-radius: 999px;
	font-size: 12px;
	font-weight: bold;
	transition: 0.3s;
	color: white;
	border: none;
	cursor: pointer;
}

#referralPopup .btn i { font-size: 18px; }
#referralPopup .btn-success { background-color: #28a745; }
#referralPopup .btn-success:hover { background-color: #218838; }
#referralPopup .btn-whatsapp { background-color: #25d366; }
#referralPopup .btn-whatsapp:hover { background-color: #1ebea5; }
#referralPopup .btn-messenger { background-color: #0078FF; }
#referralPopup .btn-messenger:hover { background-color: #005ecb; }
#referralPopup .btn-telegram { background-color: #0088cc; }
#referralPopup .btn-telegram:hover { background-color: #0077b5; }

.title-carnaval {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 10px;
	animation: carnaval 3s infinite;
}

@keyframes carnaval {
	0%   { color: #FF0000; transform: rotate(0deg); }
	20%  { color: #FF7F00; transform: rotate(0.5deg); }
	40%  { color: #FFFF00; transform: rotate(-0.2deg); }
	60%  { color: #7FFF00; transform: rotate(0.5deg); }
	80%  { color: #00FF00; transform: rotate(-0.2deg); }
	100% { color: #FF0000; transform: rotate(0deg); }
}

.confettiParrain-container {
	position: absolute;
	left: 25%;
	width: 50%;
	height: 20vh;
	pointer-events: none;
	overflow: hidden;
}

.confettiParrain {
	position: absolute;
	top: -10px;
	width: 10px;
	height: 10px;
	background-color: var(--confetti-color);
	opacity: 0.8;
	animation: confetti-fall linear infinite;
}

.confettiParrain:nth-child(1) { left: 10%; --confetti-color: #ff4081; animation-duration: 3s; }
.confettiParrain:nth-child(2) { left: 25%; --confetti-color: #ffeb3b; animation-duration: 3.5s; animation-delay: 0.2s; }
.confettiParrain:nth-child(3) { left: 40%; --confetti-color: #4caf50; animation-duration: 4s; animation-delay: 0.4s; }
.confettiParrain:nth-child(4) { left: 55%; --confetti-color: #2196f3; animation-duration: 3.2s; animation-delay: 0.6s; }
.confettiParrain:nth-child(5) { left: 70%; --confetti-color: #ff9800; animation-duration: 3.8s; animation-delay: 0.8s; }
.confettiParrain:nth-child(6) { left: 85%; --confetti-color: #9c27b0; animation-duration: 3.6s; animation-delay: 1s; }

@keyframes confetti-fall {
	0% { transform: translateY(0) rotate(0); opacity: 1; }
	100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }
}

.membre-espace-promo {
	padding: 20px;
	margin: 16px 0;
	border-radius: 12px;
	box-sizing: border-box;
	background: #f8fafd;
	border: 1px solid #e8eef2;
	font-size: 15px;
	line-height: 1.55;
}

/* ——— Connexion espace client (membre_accueil) ——— */
body.membre-accueil-page #pageetpied {
	background: linear-gradient(165deg, #f8fafd 0%, #eef6fb 42%, #fff 100%);
}

body.membre-accueil-page .membre-auth-shell {
	padding: 40px 20px 56px;
	min-height: calc(100vh - 280px);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.membre-auth-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
	gap: 48px;
	align-items: center;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.membre-auth-layout--single {
	grid-template-columns: minmax(0, 480px);
	justify-content: center;
}

.membre-auth-visual {
	text-align: center;
	padding: 12px 8px;
}

.membre-auth-visual-img {
	display: block;
	width: min(100%, 320px);
	max-height: 100px;
	margin: 0 auto 24px;
	object-fit: contain;
}

.membre-auth-visual-lead {
	margin: 0 0 20px;
	font-size: 17px;
	line-height: 1.55;
	color: #495057;
	font-weight: 500;
}

.membre-auth-visual-points {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	display: inline-block;
}

.membre-auth-visual-points li {
	margin: 0 0 10px;
	font-size: 14px;
	color: #6c757d;
	line-height: 1.45;
}

.membre-auth-visual-points li i {
	color: #31b0d5;
	margin-right: 8px;
}

.membre-auth-panel {
	width: 100%;
}

.membre-auth-head {
	text-align: center;
	margin-bottom: 28px;
}

.membre-auth-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 14px;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(226, 1, 123, 0.08);
	border: 1px solid rgba(226, 1, 123, 0.15);
	color: #e2017b;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.membre-auth-badge--success {
	background: rgba(49, 176, 213, 0.1);
	border-color: rgba(49, 176, 213, 0.2);
	color: #269abc;
}

.membre-auth-head h1 {
	margin: 0 0 10px;
	font-size: 32px;
	font-weight: 600;
	color: #e2017b;
	line-height: 1.2;
}

.membre-auth-head p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: #6c757d;
}

.membre-ui-page--auth {
	max-width: 620px;
}

body.membre-accueil-page .membre-ui-auth-card {
	padding: 32px 28px 28px;
	background: #fff;
	border: 1px solid rgba(232, 238, 242, 0.9);
	border-radius: 20px;
	box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
	margin-bottom: 0;
}

.membre-auth-input.form-control {
	height: 46px;
	border-radius: 12px;
	border: 1px solid #d8e0e6;
	box-shadow: none;
	font-size: 15px;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.membre-auth-input.form-control:focus {
	border-color: #31b0d5;
	box-shadow: 0 0 0 3px rgba(49, 176, 213, 0.15);
}

.membre-ui-auth-card .form-group {
	margin-bottom: 18px;
}

.membre-ui-auth-card .form-group label {
	font-weight: 600;
	color: #495057;
	margin-bottom: 8px;
	font-size: 14px;
}

.membre-auth-submit {
	margin-top: 8px;
}

.membre-auth-btn {
	width: 100%;
	padding: 13px 20px;
	font-size: 15px;
	border-radius: 12px;
}

body.membre-accueil-page .membre-auth-btn.membre-ui-btn--primary {
	background: linear-gradient(135deg, #e2017b 0%, #c40068 100%);
	box-shadow: 0 4px 14px rgba(226, 1, 123, 0.25);
}

body.membre-accueil-page .membre-auth-btn.membre-ui-btn--primary:hover,
body.membre-accueil-page .membre-auth-btn.membre-ui-btn--primary:focus {
	background: linear-gradient(135deg, #f0228f 0%, #d40072 100%);
	color: #fff !important;
	box-shadow: 0 6px 20px rgba(226, 1, 123, 0.3);
}

.membre-auth-extras {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 16px;
	padding-top: 4px;
}

.membre-auth-remember {
	margin: 0;
	font-weight: normal;
	font-size: 13px;
	color: #6c757d;
	cursor: pointer;
}

.membre-auth-secure {
	margin: 0;
	text-align: right;
}

.membre-ui-auth-note {
	margin-top: 14px;
	font-size: 12px;
	color: #8a949e;
	text-align: center;
}

.membre-ui-auth-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 16px;
	margin: 24px 0 0;
	font-size: 14px;
}

.membre-ui-auth-links a {
	color: #31b0d5;
	text-decoration: none;
	font-weight: 500;
}

.membre-ui-auth-links a:hover,
.membre-ui-auth-links a:focus {
	color: #269abc;
	text-decoration: underline;
}

.membre-auth-links-sep {
	display: inline-block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #c8d4dc;
}

.membre-auth-back-link {
	margin: 20px 0 0;
	text-align: center;
}

.membre-ui-auth-success {
	text-align: center;
	padding: 8px 0 0;
	color: #2c3e50;
}

@media (max-width: 991px) {
	.membre-auth-layout {
		grid-template-columns: 1fr;
		gap: 32px;
		max-width: 520px;
	}

	.membre-auth-visual {
		order: 2;
		padding-top: 8px;
	}

	.membre-auth-panel {
		order: 1;
	}

	.membre-auth-visual-img {
		max-height: 100px;
		margin-bottom: 16px;
	}

	.membre-auth-visual-points {
		display: none;
	}

	.membre-auth-visual-lead {
		font-size: 15px;
		margin-bottom: 0;
	}
}

@media (max-width: 767px) {
	body.membre-accueil-page .membre-auth-shell {
		padding: 28px 16px 40px;
		min-height: 0;
		align-items: flex-start;
	}

	.membre-auth-head h1 {
		font-size: 26px;
	}

	body.membre-accueil-page .membre-ui-auth-card {
		padding: 24px 20px 22px;
		border-radius: 16px;
	}

	.membre-auth-extras {
		flex-direction: column;
		align-items: flex-start;
	}

	.membre-auth-secure {
		text-align: left;
	}
}

.membre-ui-footer-home {
	margin: 1.5%;
}

/* Formulaires legacy (membre_compte, etc.) — neutralise .t0 sombre de sebweb-min.css */
.membre-ui-page .table,
.membre-ui-page .membre-ui-form-table {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 24px;
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 12px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.membre-ui-page .table > tbody > tr > td,
.membre-ui-page .membre-ui-form-table > tbody > tr > td {
	padding: 12px 16px;
	border-top: 1px solid #eef1f4;
	vertical-align: middle;
	color: #333;
	background: #fff;
}

.membre-ui-page .table > tbody > tr:first-child > td,
.membre-ui-page .membre-ui-form-table > tbody > tr:first-child > td {
	border-top: none;
}

.membre-ui-page .t0,
.membre-ui-page tr.t0 > td,
.membre-ui-page td.t0 {
	background: linear-gradient(135deg, #fdf2f8 0%, #f0f7fb 100%) !important;
	color: #e2017b !important;
	font-weight: 700 !important;
	font-size: 15px;
	text-align: center;
	padding: 14px 16px !important;
	border-top: none;
	letter-spacing: 0.02em;
}

.membre-ui-page .table > tbody > tr:not(.t0) > td:first-child,
.membre-ui-page .membre-ui-form-table > tbody > tr:not(.t0) > td:first-child {
	width: 34%;
	color: #495057;
	font-weight: 500;
	background: #f8fafd;
	text-align: right;
}

.membre-ui-page .table > tbody > tr:not(.t0) > td:last-child,
.membre-ui-page .membre-ui-form-table > tbody > tr:not(.t0) > td:last-child {
	text-align: left;
}

.membre-ui-page .table .form-control,
.membre-ui-page .membre-ui-form-table .form-control {
	border-radius: 8px;
	border-color: #dde4ea;
}

.membre-ui-page .table .btn-group .btn-default,
.membre-ui-page .membre-ui-form-table .btn-group .btn-default {
	background: #fff;
	border-color: #e8eef2;
}

.membre-ui-page #divmodif {
	margin-top: 8px;
}

@media (max-width: 767px) {
	.membre-espace-greeting {
		font-size: 22px;
	}

	.membre-espace-hero-panel .fry,
	.membre-espace-dashboard .fry {
		font-size: 14px;
		padding: 12px;
	}

	.membre-espace-hero-panel .fry i,
	.membre-espace-dashboard .fry i {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}

	.membre-ui-actions.row {
		grid-template-columns: 1fr;
	}

	.membre-sites-row > .la_li {
		width: 185px;
		min-width: 185px;
		max-width: 185px;
	}

	.membre-sites-outer.has-more .membre-sites-wrap {
		padding-right: 62px;
	}

	.membre-sites-outer.has-more.can-scroll-left .membre-sites-wrap {
		padding-left: 50px;
	}

	.membre-recouvrement-alert {
		font-size: 15px;
		padding: 12px;
	}

	.membre-espace-msg-alert {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.title-carnaval {
		font-size: 19px !important;
		animation: none !important;
	}

	.confettiParrain-container {
		display: none;
	}

	#referralPopup .btn {
		width: 100%;
	}

	.btn-membre-scroll {
		animation: none;
	}

	.membre-ui-page .table > tbody > tr:not(.t0) > td,
	.membre-ui-page .membre-ui-form-table > tbody > tr:not(.t0) > td {
		display: block;
		width: 100%;
		text-align: left;
	}

	.membre-ui-page .table > tbody > tr:not(.t0) > td:first-child,
	.membre-ui-page .membre-ui-form-table > tbody > tr:not(.t0) > td:first-child {
		width: 100%;
		padding-bottom: 4px;
		background: #f8fafd;
		border-bottom: none;
		font-size: 13px;
	}

	.membre-ui-page .table > tbody > tr:not(.t0) > td:last-child,
	.membre-ui-page .membre-ui-form-table > tbody > tr:not(.t0) > td:last-child {
		padding-top: 4px;
		padding-bottom: 16px;
	}
}
