/* EriFaye TV V8.32 - Mon compte enrichi */
.ef-account-section { padding-top: 18px; }
.ef-account-shell { display:grid; grid-template-columns: 230px 1fr; gap:18px; align-items:start; }
.ef-account-tabs { position:sticky; top:92px; display:flex; flex-direction:column; gap:8px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.09); border-radius:22px; padding:10px; }
.ef-account-tabs button { border:0; border-radius:16px; padding:12px 14px; background:transparent; color:rgba(255,255,255,.78); text-align:left; font-weight:600; cursor:pointer; transition:.18s ease; }
.ef-account-tabs button:hover, .ef-account-tabs button.is-active { background:rgba(239,13,25,.18); color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.22); }
.ef-account-content { min-width:0; }
.ef-account-panel { display:none; }
.ef-account-panel.is-active { display:block; }
.ef-panel-head { margin-bottom:14px; }
.ef-panel-head h2 { margin:0 0 4px; font-size:1.35rem; font-weight:700; }
.ef-panel-head p { margin:0; color:rgba(255,255,255,.68); }
.ef-account-card, .ef-validation-card { background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)); border:1px solid rgba(255,255,255,.10); border-radius:24px; padding:18px; box-shadow:0 16px 45px rgba(0,0,0,.22); margin-bottom:12px; }
.ef-account-card h3 { margin:0 0 12px; font-size:1.05rem; font-weight:700; }
.ef-form-grid { display:grid; gap:12px; }
.ef-form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ef-form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ef-form-grid .span-2 { grid-column:1 / -1; }
.ef-form-grid label { display:flex; flex-direction:column; gap:7px; color:rgba(255,255,255,.82); font-weight:600; }
.ef-form-grid input, .ef-inline-form input { width:100%; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(6,8,15,.88); color:#fff; padding:12px 13px; outline:none; }
.ef-form-grid input:focus, .ef-inline-form input:focus { border-color:rgba(239,13,25,.75); box-shadow:0 0 0 3px rgba(239,13,25,.18); }
.ef-form-actions { display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
.ef-form-actions.split { justify-content:space-between; align-items:center; }
.ef-account-flash { border-radius:18px; padding:12px 14px; margin-bottom:14px; color:#fff; font-weight:600; }
.ef-account-flash.success { background:rgba(25,135,84,.22); border:1px solid rgba(25,135,84,.35); }
.ef-account-flash.error { background:rgba(239,13,25,.22); border:1px solid rgba(239,13,25,.35); }
.ef-validation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ef-validation-top { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:8px; }
.ef-validation-top h3 { margin:0; font-size:1.02rem; font-weight:700; }
.ef-validation-top span { display:inline-flex; align-items:center; border-radius:999px; padding:5px 9px; font-size:.78rem; font-weight:700; white-space:nowrap; }
.ef-validation-card.is-valid .ef-validation-top span { background:rgba(25,135,84,.22); color:#75f0ac; }
.ef-validation-card.is-pending .ef-validation-top span { background:rgba(255,193,7,.16); color:#ffd76a; }
.ef-validation-card p { color:rgba(255,255,255,.72); margin:0 0 12px; word-break:break-word; }
.ef-validation-ok { color:#75f0ac; font-weight:700; }
.ef-inline-form { display:flex; flex-direction:column; gap:8px; }
.ef-inline-form.mb-2 { margin-bottom:8px; }
.ef-sub-line { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(255,255,255,.08); padding:10px 0; }
.ef-sub-line span, .ef-payment-row span { color:rgba(255,255,255,.62); }
.ef-payment-list { display:flex; flex-direction:column; gap:8px; }
.ef-payment-row { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:12px; background:rgba(0,0,0,.14); }
.ef-payment-row > div { display:flex; flex-direction:column; gap:3px; }
.ef-reset-card { max-width:760px; width:100%; }
.ef-reset-card h2 { margin:0 0 8px; }
.ef-reset-card p { color:rgba(255,255,255,.70); }
@media (max-width: 900px) {
  .ef-account-shell { grid-template-columns:1fr; }
  .ef-account-tabs { position:relative; top:auto; flex-direction:row; overflow-x:auto; scrollbar-width:none; }
  .ef-account-tabs button { white-space:nowrap; }
  .ef-validation-grid, .ef-form-grid.two, .ef-form-grid.three { grid-template-columns:1fr; }
  .ef-form-actions.split { justify-content:stretch; }
  .ef-form-actions.split > * { flex:1 1 auto; }
  .ef-sub-line, .ef-payment-row { flex-direction:column; }
}

/* V8.33 - Profil mobile readonly + switch WhatsApp + modal validation */
.ef-readonly-input {
  color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.045) !important;
  cursor: not-allowed;
}
.ef-switch-row {
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:12px 14px;
  background:rgba(255,255,255,.035);
  cursor:pointer;
}
.ef-switch-row span { color:#fff; font-weight:600; }
.ef-switch-row input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ef-switch-row i {
  width:48px;
  height:26px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  position:relative;
  flex:0 0 auto;
  transition:background .18s ease, box-shadow .18s ease;
}
.ef-switch-row i::after {
  content:"";
  width:20px;
  height:20px;
  border-radius:50%;
  position:absolute;
  top:3px;
  left:3px;
  background:#fff;
  transition:transform .18s ease;
}
.ef-switch-row input:checked + i {
  background:#28a745;
  box-shadow:0 0 16px rgba(40,167,69,.34);
}
.ef-switch-row input:checked + i::after { transform:translateX(22px); }
.ef-validation-card p { color:#fff; font-weight:500; }
.ef-account-modal {
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.ef-account-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);
}
.ef-account-modal-card {
  position:relative;
  width:min(520px, 100%);
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:#111620;
  box-shadow:0 26px 90px rgba(0,0,0,.5);
  padding:24px;
  color:#fff;
}
.ef-account-modal-close {
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.ef-account-modal-icon {
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(40,167,69,.18);
  color:#75f0ac;
  margin-bottom:12px;
  font-weight:700;
}
.ef-account-modal-card h2 { margin:0 0 10px; font-size:1.35rem; }
.ef-account-modal-card p { margin:0 0 10px; color:rgba(255,255,255,.72); }
.ef-modal-destination {
  display:block;
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.07);
  margin:8px 0 12px;
  word-break:break-word;
}
.ef-modal-note { font-size:.92rem; color:rgba(255,255,255,.62) !important; }
.ef-modal-form { display:flex; flex-direction:column; gap:12px; margin-top:12px; }
.ef-modal-form input {
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(0,0,0,.24);
  color:#fff;
  padding:13px 14px;
  outline:none;
}
@media (max-width: 560px) {
  .ef-account-modal-card { padding:20px; border-radius:20px; }
  .ef-modal-form .ef-form-actions.split { flex-direction:column; }
  .ef-modal-form .ef-form-actions.split .ef-btn { width:100%; }
}

/* V8.34 - Validation OTP UX: confirmation, loading state, timers */
.ef-validation-pending {
  border-radius: 14px;
  padding: 9px 10px;
  margin: -2px 0 10px;
  background: rgba(255, 193, 7, .12);
  border: 1px solid rgba(255, 193, 7, .24);
  color: #ffe08a;
  font-size: .88rem;
  font-weight: 600;
}
.ef-btn .ef-btn-spinner {
  display: none;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  margin-right: 8px;
  animation: efSpin .8s linear infinite;
  flex: 0 0 auto;
}
.ef-btn.is-loading {
  opacity: .78;
  cursor: not-allowed !important;
  pointer-events: none;
}
.ef-btn.is-loading .ef-btn-spinner {
  display: inline-block;
}
.ef-btn[disabled] {
  cursor: not-allowed !important;
}
.ef-validation-progress {
  color: rgba(255,255,255,.72);
  font-size: .88rem;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.055);
}
.ef-modal-help {
  color: rgba(255,255,255,.78) !important;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: .92rem;
}
.ef-modal-timers {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 10px 0 2px;
  color: rgba(255,255,255,.66);
  font-size: .86rem;
}
.ef-modal-timers strong {
  color: #fff;
}
@keyframes efSpin {
  to { transform: rotate(360deg); }
}

/* V8.36 - Confirmation explicite avant envoi OTP */
.ef-confirm-send-otp-modal .ef-account-modal-card {
  max-width: 540px;
}
.ef-account-modal-icon-warning {
  background: rgba(255,193,7,.16) !important;
  color: #ffd76a !important;
}
.ef-confirm-actions {
  margin-top: 16px;
}
.ef-confirm-progress {
  margin-top: 12px;
}
.ef-validation-progress[hidden],
.ef-confirm-progress[hidden] {
  display: none !important;
}
.ef-btn.is-loading .ef-btn-text {
  opacity: .92;
}
@media (max-width: 560px) {
  .ef-confirm-actions {
    flex-direction: column;
  }
  .ef-confirm-actions .ef-btn {
    width: 100%;
  }
}

/* V8.37 - Validation channel-specific UX */
.ef-validation-status-check {
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  background:rgba(25,135,84,.24) !important;
  border:1px solid rgba(117,240,172,.42);
  color:#75f0ac !important;
}
.ef-validation-status-check svg {
  width:15px;
  height:15px;
  fill:currentColor;
  flex:0 0 auto;
}
.ef-validation-ok {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
}
.ef-validation-check-big {
  width:48px;
  height:48px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg, #198754, #28a745);
  box-shadow:0 0 0 6px rgba(40,167,69,.14), 0 12px 30px rgba(25,135,84,.24);
}
.ef-validation-check-big svg {
  width:28px;
  height:28px;
  fill:currentColor;
}
.ef-validation-pending.is-expired {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:rgba(255,255,255,.78);
}
.ef-modal-note.is-expired {
  color:#ffd76a !important;
  background:rgba(255,193,7,.10);
  border:1px solid rgba(255,193,7,.22);
  border-radius:14px;
  padding:10px 12px;
}
.ef-modal-help {
  line-height:1.55;
}

/* EF_V8_50_9_ACCOUNT_PAYMENTS_UX_START */
.ef-payments-card-v8509 { overflow:hidden; }
.ef-payment-list-v8509 { gap:10px; }
.ef-payment-row-v8509 {
  display:grid;
  grid-template-columns: minmax(150px,.95fr) minmax(165px,.9fr) minmax(120px,.65fr) minmax(235px,1.15fr);
  gap:14px;
  align-items:center;
  font-size:.82rem;
}
.ef-payment-row-v8509 > div { min-width:0; }
.ef-pay-formula,
.ef-pay-method,
.ef-pay-main { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; }
.ef-pay-formula span,
.ef-pay-method span,
.ef-pay-main span,
.ef-pay-refs span { color:rgba(255,255,255,.64); }
.ef-pay-formula strong,
.ef-pay-method strong,
.ef-pay-main strong,
.ef-pay-refs strong { color:#fff; font-weight:850; }
.ef-pay-method > span:not(.ef-pay-provider-badge),
.ef-pay-formula > span,
.ef-pay-main > span:not(.ef-pay-status) { line-height:1.25; }
.ef-pay-provider-badge {
  width:auto;
  min-height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff !important;
  font-weight:900;
  font-size:.74rem;
  line-height:1;
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.10);
  white-space:nowrap;
}
.ef-pay-provider-badge.wave {
  background:linear-gradient(135deg,#23c7ff 0%,#1598e8 100%);
  border-color:rgba(35,199,255,.72);
  box-shadow:0 10px 24px rgba(35,199,255,.22);
  color:#fff !important;
}
.ef-pay-provider-badge.om {
  background:linear-gradient(135deg,#ff7900 0%,#f05a00 100%);
  border-color:rgba(255,121,0,.78);
  box-shadow:0 10px 24px rgba(255,121,0,.22);
  color:#fff !important;
}
.ef-pay-provider-badge.stripe { background:rgba(99,91,255,.24); border-color:rgba(99,91,255,.42); }
.ef-pay-status {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 9px;
  color:#fff !important;
  font-size:.70rem;
  font-weight:900;
  line-height:1;
  border:1px solid rgba(255,255,255,.12);
  width:max-content;
}
.ef-pay-status.success { background:rgba(34,197,94,.22); border-color:rgba(34,197,94,.36); }
.ef-pay-status.pending { background:rgba(245,158,11,.22); border-color:rgba(245,158,11,.38); }
.ef-pay-status.failed,
.ef-pay-status.canceled { background:rgba(239,68,68,.22); border-color:rgba(239,68,68,.38); }
.ef-pay-status.refunded { background:rgba(59,130,246,.22); border-color:rgba(59,130,246,.38); }
.ef-pay-status.other { background:rgba(255,255,255,.12); }
.ef-pay-refs { display:grid !important; grid-template-columns:1fr; gap:7px !important; }
.ef-pay-refs div { min-width:0; }
.ef-pay-refs strong {
  display:block;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.72rem;
  word-break:break-all;
  line-height:1.28;
}
@media(max-width:1020px){
  .ef-payment-row-v8509 { grid-template-columns:1fr 1fr; align-items:stretch; }
}
@media(max-width:640px){
  .ef-payment-row-v8509 { grid-template-columns:1fr; padding:11px; font-size:.82rem; }
  .ef-pay-provider-badge { min-height:32px; padding:7px 11px; font-size:.72rem; }
}
/* EF_V8_50_9_ACCOUNT_PAYMENTS_UX_END */

/* EF_V8_50_11_ACCOUNT_PAYMENTS_DATATABLES_START */
.ef-payments-card-v8511 { overflow: visible; }
.ef-payments-toolbar-v8511 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}
.ef-payments-toolbar-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ef-payments-toolbar-copy strong { color:#fff; font-weight:900; }
.ef-payments-toolbar-copy span { color:rgba(255,255,255,.68); font-size:.82rem; line-height:1.35; }
.ef-payments-switch-v8511 {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}
.ef-payments-switch-v8511 input { position:absolute; opacity:0; pointer-events:none; }
.ef-payments-switch-ui {
  width:44px;
  height:24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.13);
  position:relative;
  flex:0 0 auto;
  transition:background .18s ease, border-color .18s ease;
}
.ef-payments-switch-ui::after {
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.24);
  transition:transform .18s ease;
}
.ef-payments-switch-v8511 input:checked + .ef-payments-switch-ui {
  background:rgba(227, 6, 19, .86);
  border-color:rgba(255,255,255,.22);
}
.ef-payments-switch-v8511 input:checked + .ef-payments-switch-ui::after { transform:translateX(20px); }
.ef-payments-table-wrap-v8511 { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
table.ef-payments-table-v8511 {
  width:100% !important;
  border-collapse:separate;
  border-spacing:0 10px;
  color:#fff;
  font-size:.80rem;
}
.ef-payments-table-v8511 thead th {
  color:rgba(255,255,255,.76);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:900;
  border:0 !important;
  padding:0 12px 4px !important;
  background:transparent !important;
}
.ef-payments-table-v8511 tbody td {
  border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(0,0,0,.14);
  padding:12px !important;
  vertical-align:middle;
}
.ef-payments-table-v8511 tbody td:first-child {
  border-left:1px solid rgba(255,255,255,.09);
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
}
.ef-payments-table-v8511 tbody td:last-child {
  border-right:1px solid rgba(255,255,255,.09);
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
}
.ef-pay-cell { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-width:0; }
.ef-payments-table-v8511 .ef-pay-refs strong { max-width:290px; }
.ef-payments-table-v8511 .ef-pay-provider-badge { min-height:30px; padding:7px 11px; font-size:.70rem; }
.ef-payments-table-v8511 .ef-pay-status { font-size:.68rem; }
.dt-container.dt-empty-footer tbody > tr:last-child > * { border-bottom:1px solid rgba(255,255,255,.09); }
.ef-payments-card-v8511 .dt-container,
.ef-payments-card-v8511 .dt-layout-row,
.ef-payments-card-v8511 .dt-info,
.ef-payments-card-v8511 .dt-length,
.ef-payments-card-v8511 .dt-search,
.ef-payments-card-v8511 .dt-paging { color:rgba(255,255,255,.78) !important; }
.ef-payments-card-v8511 .dt-layout-row { margin:8px 0; gap:10px; }
.ef-payments-card-v8511 .dt-length select,
.ef-payments-card-v8511 .dt-search input {
  background:rgba(0,0,0,.28) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-radius:12px !important;
  min-height:36px;
  outline:none !important;
}
.ef-payments-card-v8511 .dt-search input { padding:7px 11px !important; }
.ef-payments-card-v8511 .dt-length select { padding:6px 28px 6px 10px !important; }
.ef-payments-card-v8511 .dt-search input::placeholder { color:rgba(255,255,255,.42); }
.ef-payments-card-v8511 .dt-paging button.dt-paging-button {
  color:#fff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.07) !important;
  margin:0 2px;
  padding:6px 9px !important;
}
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.current,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button:hover {
  background:rgba(227,6,19,.86) !important;
  border-color:rgba(227,6,19,.9) !important;
  color:#fff !important;
}
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.disabled {
  color:rgba(255,255,255,.35) !important;
  background:rgba(255,255,255,.04) !important;
}
@media(max-width:760px){
  .ef-payments-toolbar-v8511 { flex-direction:column; align-items:stretch; }
  .ef-payments-switch-v8511 { justify-content:space-between; white-space:normal; }
  table.ef-payments-table-v8511 { min-width:760px; font-size:.78rem; }
  .ef-payments-card-v8511 .dt-layout-row { flex-direction:column !important; align-items:stretch !important; }
  .ef-payments-card-v8511 .dt-search,
  .ef-payments-card-v8511 .dt-search input,
  .ef-payments-card-v8511 .dt-length,
  .ef-payments-card-v8511 .dt-length select { width:100% !important; }
}
/* EF_V8_50_11_ACCOUNT_PAYMENTS_DATATABLES_END */


/* EF V8.50.11.1 - DataTables paiement : recherche FR + pagination 5 lignes */
.ef-payments-card-v8511 .dt-length { display: none !important; }
.ef-payments-card-v8511 .dt-search label {
  color: rgba(255,255,255,.82) !important;
  font-weight: 800;
  font-size: .82rem;
}
.ef-payments-card-v8511 .dt-search input {
  min-width: 260px;
}


/* ============================================================
   V8.50.11.4 - Mon compte > Paiements DataTables
   Headers uniformes + hover pagination lisible
   ============================================================ */

#ef-account-payments-table thead th,
#ef-account-payments-table thead td,
#ef-account-payments-table thead th.dt-type-numeric,
#ef-account-payments-table thead td.dt-type-numeric {
  text-align: left !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  padding-left: 12px !important;
  padding-right: 28px !important;
}

#ef-account-payments-table thead th .dt-column-title,
#ef-account-payments-table thead td .dt-column-title {
  display: inline-block !important;
  text-align: left !important;
  width: auto !important;
}

#ef-account-payments-table thead th .dt-column-order,
#ef-account-payments-table thead td .dt-column-order {
  right: 8px !important;
}

.ef-payments-card-v8511 .dt-paging button.dt-paging-button,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button:visited {
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}

.ef-payments-card-v8511 .dt-paging button.dt-paging-button:not(.disabled):not(.current):hover,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button:not(.disabled):not(.current):focus,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button:not(.disabled):not(.current):active {
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.06) !important;
}

.ef-payments-card-v8511 .dt-paging button.dt-paging-button.current,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.current:hover,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.current:focus,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.current:active {
  color: #fff !important;
  background: rgba(227,6,19,.9) !important;
  border-color: rgba(227,6,19,.95) !important;
  box-shadow: none !important;
}

.ef-payments-card-v8511 .dt-paging button.dt-paging-button.disabled,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.disabled:hover,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.disabled:focus,
.ef-payments-card-v8511 .dt-paging button.dt-paging-button.disabled:active {
  color: rgba(255,255,255,.38) !important;
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

@media (max-width: 768px) {
  #ef-account-payments-table thead th,
  #ef-account-payments-table thead td {
    padding-left: 10px !important;
    padding-right: 24px !important;
    font-size: 11px !important;
  }
}

/* EF_MOBILE_DESIGN_FIX_V1_1_START
   Mon compte mobile : on remplace le scroller collé par une grille 2x2 confortable.
   Objectif : plus de respiration, pas de bouton actif collé au wrapper, lisible sur petits écrans.
*/
@media (max-width: 900px) {
  .ef-account-shell {
    gap: 16px !important;
  }

  .ef-account-tabs {
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 24px !important;
    padding: 12px !important;
    gap: 10px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .ef-account-tabs::-webkit-scrollbar {
    display: none;
  }

  .ef-account-tabs button {
    min-height: 50px !important;
    padding: 12px 14px !important;
    border-radius: 17px !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 640px) {
  .ef-account-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    padding: 12px !important;
    gap: 10px !important;
  }

  .ef-account-tabs button {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.12 !important;
    padding: 12px 10px !important;
    box-shadow: none !important;
  }

  .ef-account-tabs button.is-active {
    box-shadow: 0 10px 26px rgba(239,13,25,.22) !important;
  }
}

@media (max-width: 380px) {
  .ef-account-tabs {
    gap: 8px !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }

  .ef-account-tabs button {
    min-height: 48px !important;
    padding: 11px 8px !important;
    font-size: .92rem !important;
    gap: .28rem !important;
  }

  .ef-account-tabs .ef-tab-icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
  }
}
/* EF_MOBILE_DESIGN_FIX_V1_1_END */

/* EF_ACCOUNT_PROFILE_AJAX_UX_CSS_START */
.ef-account-profile-feedback {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
}

.ef-account-profile-feedback[hidden] {
  display: none !important;
}

.ef-account-profile-feedback.is-info {
  background: rgba(42, 124, 255, .22);
  border-color: rgba(120, 170, 255, .40);
  color: #fff !important;
}

.ef-account-profile-feedback.is-success {
  background: rgba(18, 142, 87, .24);
  border-color: rgba(60, 210, 140, .48);
  color: #fff !important;
}

.ef-account-profile-feedback.is-error {
  background: rgba(190, 50, 50, .28);
  border-color: rgba(255, 120, 120, .52);
  color: #fff !important;
}

.ef-profile-card-v842 button.is-loading,
.ef-profile-card-v842 input[type="submit"].is-loading {
  cursor: not-allowed;
  opacity: .9;
}

.ef-profile-card-v842 .ef-btn-spinner {
  width: 1em;
  height: 1em;
  display: inline-block;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: -2px;
  animation: efProfileSpin .8s linear infinite;
}

.ef-profile-card-v842 .ef-profile-submit-label {
  display: inline-block;
  vertical-align: middle;
}

@keyframes efProfileSpin {
  to { transform: rotate(360deg); }
}
/* EF_ACCOUNT_PROFILE_AJAX_UX_CSS_END */

/* EF_PATCH_ANCHOR: mon-compte-abonnements-history-v1-css */
.ef-sub-current-card-v1 {
  border-color: rgba(40,167,69,.34) !important;
  background: linear-gradient(135deg, rgba(25,135,84,.18), rgba(255,255,255,.045)) !important;
}
.ef-sub-current-head-v1,
.ef-sub-history-head-v1 { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.ef-sub-current-kicker-v1 { display:block; color:#75f0ac !important; font-weight:800; font-size:.82rem; letter-spacing:.02em; text-transform:uppercase; margin-bottom:4px; }
.ef-sub-current-head-v1 h3,
.ef-sub-history-head-v1 h3,
.ef-sub-empty-current-v1 h3 { margin:0; color:#fff !important; font-size:1.18rem; font-weight:850; }
.ef-sub-history-head-v1 p,
.ef-sub-empty-current-v1 p,
.ef-sub-current-note-v1 { margin:4px 0 0; color:rgba(255,255,255,.74) !important; line-height:1.45; }
.ef-sub-current-grid-v1 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.ef-sub-status-badge-v1 { display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius:999px; padding:7px 11px; color:#fff !important; font-size:.78rem; font-weight:850; line-height:1.15; white-space:normal; text-align:center; border:1px solid rgba(255,255,255,.18); }
.ef-sub-status-badge-v1.active { background:rgba(25,135,84,.92); border-color:rgba(117,240,172,.46); }
.ef-sub-status-badge-v1.suspended { background:rgba(255,153,0,.85); border-color:rgba(255,214,120,.50); }
.ef-sub-status-badge-v1.canceled { background:rgba(210,55,65,.92); border-color:rgba(255,125,130,.52); }
.ef-sub-status-badge-v1.upgraded { background:rgba(91,92,255,.88); border-color:rgba(170,170,255,.52); }
.ef-sub-status-badge-v1.scheduled { background:rgba(42,124,255,.88); border-color:rgba(130,180,255,.54); }
.ef-sub-status-badge-v1.expired,
.ef-sub-status-badge-v1.pending,
.ef-sub-status-badge-v1.other { background:rgba(108,117,125,.88); border-color:rgba(210,215,220,.32); }
.ef-sub-history-card-v1 { overflow:hidden; }
.ef-sub-history-table-wrap-v1 { width:100%; overflow:visible; }
.ef-sub-history-table-v1 { width:100%; border-collapse:separate; border-spacing:0 8px; color:#fff; font-size:.88rem; }
.ef-sub-history-table-v1 th { color:rgba(255,255,255,.68) !important; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.02em; padding:0 10px 4px; text-align:left; }
.ef-sub-history-table-v1 td { padding:12px 10px; background:rgba(255,255,255,.055); border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); vertical-align:top; color:rgba(255,255,255,.86) !important; line-height:1.38; }
.ef-sub-history-table-v1 td:first-child { border-left:1px solid rgba(255,255,255,.08); border-radius:15px 0 0 15px; }
.ef-sub-history-table-v1 td:last-child { border-right:1px solid rgba(255,255,255,.08); border-radius:0 15px 15px 0; }
.ef-sub-history-table-v1 td strong { color:#fff !important; font-weight:850; }
.ef-sub-history-table-v1 td span:not(.ef-sub-status-badge-v1) { display:block; margin-top:4px; color:rgba(255,255,255,.62) !important; font-size:.82rem; }
.ef-sub-history-empty-v1 { color:rgba(255,255,255,.74) !important; margin:0; }
@media (max-width:760px) {
  .ef-sub-current-head-v1,
  .ef-sub-history-head-v1 { flex-direction:column; align-items:stretch; }
  .ef-sub-current-grid-v1 { grid-template-columns:1fr; }
  .ef-sub-history-head-v1 .ef-btn { width:100%; justify-content:center; }
  .ef-sub-history-table-v1,
  .ef-sub-history-table-v1 thead,
  .ef-sub-history-table-v1 tbody,
  .ef-sub-history-table-v1 tr,
  .ef-sub-history-table-v1 th,
  .ef-sub-history-table-v1 td { display:block; width:100%; }
  .ef-sub-history-table-v1 thead { display:none; }
  .ef-sub-history-table-v1 { border-spacing:0; }
  .ef-sub-history-table-v1 tr { margin-bottom:12px; border:1px solid rgba(255,255,255,.10); border-radius:18px; background:rgba(255,255,255,.045); overflow:hidden; }
  .ef-sub-history-table-v1 td { display:flex; justify-content:space-between; gap:14px; border:0; border-bottom:1px solid rgba(255,255,255,.075); border-radius:0 !important; background:transparent; padding:11px 12px; text-align:right; }
  .ef-sub-history-table-v1 td::before { content:attr(data-label); color:rgba(255,255,255,.62); font-weight:800; text-align:left; flex:0 0 92px; }
  .ef-sub-history-table-v1 td:last-child { border-bottom:0; }
  .ef-sub-status-badge-v1 { max-width:100%; }
}

