/* ==========================================================
   LUDORUM — MON COMPTE & CARTE v1.0.0
   ========================================================== */

body.ludorum-account-premium {
  --ludacc-blue:#0B4DBB;
  --ludacc-red:#D72626;
  --ludacc-yellow:#F5C518;
  --ludacc-navy:#071A33;
  --ludacc-text:#3E536C;
  --ludacc-muted:#6A7A8F;
  --ludacc-line:#DFE7F1;
  --ludacc-soft:#F7FAFE;
  --ludacc-green:#16884B;
  --ludacc-amber:#B97800;
}

body.ludorum-account-premium .woocommerce {
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:18px;
  align-items:start;
  width:min(1180px,calc(100% - 32px));
  margin:24px auto 44px;
}

body.ludorum-account-premium .woocommerce > .woocommerce-notices-wrapper,
body.ludorum-account-premium .woocommerce > .woocommerce-error,
body.ludorum-account-premium .woocommerce > .woocommerce-message,
body.ludorum-account-premium .woocommerce > .woocommerce-info {
  grid-column:1 / -1;
}

body.ludorum-account-premium .woocommerce-MyAccount-navigation {
  position:sticky;
  top:108px;
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:10px;
  border:1px solid var(--ludacc-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(7,26,51,.055);
}

body.ludorum-account-premium .woocommerce-MyAccount-navigation ul {
  display:grid;
  gap:3px;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

body.ludorum-account-premium .woocommerce-MyAccount-navigation li {
  margin:0!important;
  padding:0!important;
  border:0!important;
}

body.ludorum-account-premium .woocommerce-MyAccount-navigation a {
  display:flex;
  align-items:center;
  min-height:40px;
  padding:9px 12px;
  border-radius:9px;
  color:#53677F!important;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  text-decoration:none!important;
  transition:.15s ease;
}

body.ludorum-account-premium .woocommerce-MyAccount-navigation a:hover {
  color:var(--ludacc-blue)!important;
  background:#F3F7FD;
}

body.ludorum-account-premium .woocommerce-MyAccount-navigation li.is-active a {
  color:#fff!important;
  background:linear-gradient(120deg,#07336F,var(--ludacc-blue));
  box-shadow:0 5px 12px rgba(11,77,187,.16);
}

body.ludorum-account-premium .woocommerce-MyAccount-content {
  float:none!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}

body.ludorum-account-dashboard .woocommerce-MyAccount-content {
  padding-bottom:0!important;
}

body.ludorum-account-dashboard .woocommerce-MyAccount-content > :last-child {
  margin-bottom:0!important;
}

/* Dashboard */
.ludacc-dashboard,
.ludacc-card-page {
  width:100%;
  color:var(--ludacc-navy);
}

.ludacc-dashboard-hero,
.ludacc-card-head {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 10px;
  padding:18px 20px;
  border:1px solid rgba(11,77,187,.15);
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(7,26,51,.055);
}

.ludacc-dashboard-hero::before,
.ludacc-card-head::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--ludacc-blue) 0 33.33%,var(--ludacc-yellow) 33.33% 66.66%,var(--ludacc-red) 66.66% 100%);
}

.ludacc-kicker {
  display:block;
  margin-bottom:4px;
  color:var(--ludacc-blue);
  font-size:8.5px;
  font-weight:950;
  letter-spacing:.09em;
}

.ludacc-dashboard-hero h2,
.ludacc-card-head h2 {
  margin:0 0 4px!important;
  color:var(--ludacc-navy)!important;
  font-size:clamp(24px,2.7vw,31px)!important;
  font-weight:950!important;
  line-height:1.08!important;
}

.ludacc-dashboard-hero p,
.ludacc-card-head p {
  margin:0!important;
  color:var(--ludacc-muted)!important;
  font-size:11px!important;
  line-height:1.45!important;
}

.ludacc-primary,
.ludacc-secondary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:40px;
  padding:8px 14px;
  border:0;
  border-radius:9px;
  text-decoration:none!important;
  font-size:10.5px;
  font-weight:900;
  line-height:1.2;
}

.ludacc-primary {
  color:#fff!important;
  background:linear-gradient(120deg,#07336F,var(--ludacc-blue));
  box-shadow:0 6px 14px rgba(11,77,187,.16);
}

.ludacc-primary:hover {
  color:#fff!important;
  transform:translateY(-1px);
}

.ludacc-primary.is-small {
  min-height:37px;
  margin-top:10px;
  padding:7px 12px;
}

.ludacc-secondary {
  border:1px solid #CCD9E9;
  color:var(--ludacc-blue)!important;
  background:#fff;
}

.ludacc-secondary:hover {
  border-color:rgba(11,77,187,.45);
  background:#F7FAFF;
}

.ludacc-secondary.is-disabled {
  color:#8B98A9!important;
  background:#F2F4F7;
  cursor:not-allowed;
}

.ludacc-dashboard-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-bottom:8px;
}

.ludacc-dashboard-card {
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  min-height:80px;
  padding:12px;
  border:1px solid var(--ludacc-line);
  border-radius:13px;
  background:#fff;
  color:var(--ludacc-navy)!important;
  text-decoration:none!important;
  box-shadow:0 6px 18px rgba(7,26,51,.04);
  transition:.15s ease;
}

.ludacc-dashboard-card:hover {
  transform:translateY(-1px);
  border-color:rgba(11,77,187,.30);
  box-shadow:0 8px 20px rgba(7,26,51,.07);
}

.ludacc-dashboard-icon,
.ludacc-info-icon {
  display:grid;
  flex:0 0 auto;
  place-items:center;
  border-radius:10px;
  font-weight:950;
}

.ludacc-dashboard-icon {
  width:38px;
  height:38px;
  font-size:17px;
}

.ludacc-dashboard-icon.is-card {color:#fff;background:var(--ludacc-blue)}
.ludacc-dashboard-icon.is-points {color:var(--ludacc-navy);background:#FFF2B6}
.ludacc-dashboard-icon.is-orders {color:#fff;background:var(--ludacc-red)}

.ludacc-dashboard-card div {
  min-width:0;
}

.ludacc-dashboard-card small {
  display:block;
  color:#76869A;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.06em;
}

.ludacc-dashboard-card strong {
  display:block;
  margin:2px 0 1px;
  color:var(--ludacc-navy);
  font-size:15px;
  font-weight:950;
}

.ludacc-dashboard-card div>span {
  display:block;
  overflow:hidden;
  color:#66788E;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ludacc-quick-actions {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-bottom:2px;
}

.ludacc-quick-actions a {
  min-height:33px;
  padding:7px 9px;
  border:1px solid var(--ludacc-line);
  border-radius:9px;
  background:#F9FBFE;
  color:#51657C!important;
  font-size:9px;
  font-weight:850;
  text-align:center;
  text-decoration:none!important;
}

.ludacc-quick-actions a:hover {
  color:var(--ludacc-blue)!important;
  border-color:rgba(11,77,187,.28);
  background:#F4F8FF;
}

/* Carte */
.ludacc-card-head {
  align-items:flex-start;
}

.ludacc-status {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  font-size:9px;
  font-weight:950;
  white-space:nowrap;
}

.ludacc-status.is-active {
  color:var(--ludacc-green);
  background:#EBF8F0;
}

.ludacc-status.is-soon {
  color:var(--ludacc-amber);
  background:#FFF7DE;
}

.ludacc-status.is-inactive {
  color:#7B8796;
  background:#EEF1F5;
}

.ludacc-member-card {
  position:relative;
  overflow:hidden;
  max-width:760px;
  min-height:310px;
  margin:0 auto 13px;
  padding:25px 27px 20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:19px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(145deg,#071A33 0%,#0B4DBB 100%);
  box-shadow:0 16px 34px rgba(7,26,51,.20);
}

.ludacc-member-card.is-inactive {
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.06),transparent 28%),
    linear-gradient(145deg,#273649 0%,#5F6C7C 100%);
}

.ludacc-tricolor {
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,#0B4DBB 0 33.33%,#F5C518 33.33% 66.66%,#D72626 66.66% 100%);
}

.ludacc-member-card__top,
.ludacc-member-card__identity,
.ludacc-member-card__dates {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.ludacc-card-logo-wrap {
  display:flex;
  align-items:center;
  min-height:58px;
}

.ludacc-card-logo-wrap img {
  display:block;
  width:auto;
  max-width:155px;
  max-height:64px;
  object-fit:contain;
}

.ludacc-card-logo-wrap strong {
  font-size:25px;
  font-weight:950;
}

.ludacc-card-balance {
  text-align:right;
}

.ludacc-card-balance span,
.ludacc-member-card small,
.ludacc-member-card__barcode span {
  display:block;
  color:#C9D7EC;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
}

.ludacc-card-balance strong {
  display:block;
  margin-top:1px;
  color:#fff;
  font-size:35px;
  font-weight:950;
  line-height:1;
}

.ludacc-member-card__identity {
  margin-top:27px;
}

.ludacc-member-card__identity>div,
.ludacc-member-card__dates>div {
  min-width:0;
}

.ludacc-member-card__identity strong {
  display:block;
  margin-top:3px;
  overflow-wrap:anywhere;
  font-size:15px;
  font-weight:900;
}

.ludacc-member-card__dates {
  margin-top:17px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.16);
}

.ludacc-member-card__dates strong {
  display:block;
  margin-top:3px;
  font-size:12px;
}

.ludacc-member-card__barcode {
  display:flex;
  justify-content:flex-end;
  margin-top:15px;
}

.ludacc-member-card__barcode>div {
  width:min(310px,100%);
  padding:8px 10px 6px;
  border-radius:9px;
  background:#fff;
  text-align:center;
}

.ludacc-member-card__barcode span {
  margin-bottom:4px;
  color:#65758A;
  font-size:7px;
}

.ludacc-barcode-svg {
  display:block;
  width:100%;
  height:42px;
}

.ludacc-member-card__barcode small {
  margin-top:3px;
  color:#52647B;
  font-size:7px;
  letter-spacing:.08em;
}

.ludacc-membership-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  max-width:760px;
  margin:0 auto 13px;
}

.ludacc-membership-strip>div {
  padding:10px 12px;
  border:1px solid var(--ludacc-line);
  border-radius:11px;
  background:#fff;
  box-shadow:0 5px 14px rgba(7,26,51,.035);
}

.ludacc-membership-strip span,
.ludacc-voucher span {
  display:block;
  color:#77869A;
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
}

.ludacc-membership-strip strong {
  display:block;
  margin:2px 0 1px;
  color:var(--ludacc-navy);
  font-size:14px;
  font-weight:950;
}

.ludacc-membership-strip small {
  display:block;
  color:#75859A;
  font-size:8px;
}

.ludacc-membership-strip .is-effective {
  border-color:#F1DB88;
  background:#FFF9E6;
}

.ludacc-membership-strip .is-effective strong {
  color:var(--ludacc-blue);
}

.ludacc-voucher {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:0 0 13px;
  padding:12px 14px;
  border:1px solid #CFE0FB;
  border-radius:12px;
  background:#F6F9FF;
}

.ludacc-voucher strong {
  display:block;
  margin:2px 0;
  color:var(--ludacc-blue);
  font-size:14px;
  font-weight:950;
  letter-spacing:.04em;
}

.ludacc-voucher small {
  display:block;
  color:#6B7D92;
  font-size:8.5px;
}

.ludacc-voucher button {
  flex:0 0 auto;
  min-height:34px;
  padding:7px 10px;
  border:0;
  border-radius:8px;
  color:#fff;
  background:var(--ludacc-blue);
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}

.ludacc-account-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}

.ludacc-info-card {
  min-width:0;
  padding:15px;
  border:1px solid var(--ludacc-line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 6px 18px rgba(7,26,51,.04);
}

.ludacc-info-card__head {
  display:flex;
  align-items:center;
  gap:9px;
}

.ludacc-info-icon {
  width:34px;
  height:34px;
  font-size:14px;
}

.ludacc-info-icon.is-points {color:#6B5100;background:#FFF2B6}
.ludacc-info-icon.is-date {color:#0B4DBB;background:#EAF2FF}
.ludacc-info-icon.is-mail {color:#D72626;background:#FFF0F0}
.ludacc-info-icon.is-circle {color:#fff;background:#0B4DBB}

.ludacc-info-card small {
  display:block;
  color:#7A899B;
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
}

.ludacc-info-card h3,
.ludacc-history h3 {
  margin:1px 0 0!important;
  color:var(--ludacc-navy)!important;
  font-size:14px!important;
  font-weight:950!important;
}

.ludacc-big-number {
  display:block;
  margin:11px 0 5px;
  color:var(--ludacc-blue);
  font-size:26px;
  font-weight:950;
  line-height:1;
}

.ludacc-big-number.is-inactive {
  color:#77869A;
  font-size:20px;
}

.ludacc-info-card p {
  min-height:43px;
  margin:0!important;
  color:#65768B!important;
  font-size:9.5px!important;
  line-height:1.5!important;
}

.ludacc-info-card p strong {
  color:var(--ludacc-navy);
}

.ludacc-info-card .ludacc-secondary {
  margin-top:10px;
}

/* Newsletter */
.ludacc-newsletter {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-top:10px;
}

.ludacc-newsletter label {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  cursor:pointer;
}

.ludacc-newsletter input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.ludacc-switch {
  position:relative;
  display:block;
  flex:0 0 auto;
  width:38px;
  height:22px;
  border-radius:999px;
  background:#CBD3DE;
  transition:.15s;
}

.ludacc-switch::after {
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.15);
  transition:.15s;
}

.ludacc-newsletter input:checked + .ludacc-switch {
  background:var(--ludacc-blue);
}

.ludacc-newsletter input:checked + .ludacc-switch::after {
  transform:translateX(16px);
}

.ludacc-newsletter label strong {
  color:#42576F;
  font-size:9px;
  font-weight:850;
}

.ludacc-newsletter button {
  min-height:33px;
  padding:7px 9px;
  border:0;
  border-radius:8px;
  color:#fff;
  background:var(--ludacc-blue);
  font-size:8.5px;
  font-weight:900;
  cursor:pointer;
}

.ludacc-newsletter.is-locked {
  opacity:.55;
}

.ludacc-newsletter.is-locked label,
.ludacc-newsletter.is-locked button {
  cursor:not-allowed;
}

.ludacc-lock-note {
  margin-top:7px;
  color:#78889B!important;
}

.ludacc-expiry-alert {
  display:flex;
  gap:5px;
  align-items:flex-start;
  margin:12px 0 0;
  padding:10px 12px;
  border-left:4px solid var(--ludacc-red);
  border-radius:8px;
  background:#FFF6F6;
  color:#704242;
  font-size:9.5px;
  line-height:1.45;
}

.ludacc-expiry-alert strong {
  flex:0 0 auto;
  color:#5D3030;
}

.ludacc-expiry-alert.is-soon {
  border-left-color:var(--ludacc-yellow);
  background:#FFF9E9;
  color:#695B31;
}

.ludacc-expiry-alert.is-soon strong {
  color:#5E4D1A;
}

/* Historique */
.ludacc-history {
  margin-top:17px;
}

.ludacc-history__head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}

.ludacc-history__head>strong {
  color:var(--ludacc-blue);
  font-size:9.5px;
  font-weight:900;
}

.ludacc-history-list {
  overflow:hidden;
  border:1px solid var(--ludacc-line);
  border-radius:12px;
  background:#fff;
}

.ludacc-history-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:13px;
  padding:11px 13px;
  border-bottom:1px solid #EDF1F5;
}

.ludacc-history-row:last-child {
  border-bottom:0;
}

.ludacc-history-row div {
  min-width:0;
}

.ludacc-history-row div strong {
  display:block;
  overflow-wrap:anywhere;
  color:#344A63;
  font-size:9.5px;
  font-weight:850;
}

.ludacc-history-row div small {
  display:block;
  margin-top:2px;
  color:#7B899B;
  font-size:7.5px;
}

.ludacc-history-row>span {
  flex:0 0 auto;
  font-size:10px;
  font-weight:950;
}

.ludacc-history-row>span.is-plus {color:var(--ludacc-green)}
.ludacc-history-row>span.is-minus {color:var(--ludacc-red)}

.ludacc-history-empty {
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:18px;
  border:1px dashed #CAD7E6;
  border-radius:12px;
  background:#FAFCFF;
  text-align:center;
}

.ludacc-history-empty strong {
  color:#435871;
  font-size:10px;
}

.ludacc-history-empty span {
  color:#7B899A;
  font-size:8.5px;
}

/* Native Dashboard WooCommerce is replaced visually by our own overview. */
body.ludorum-account-dashboard .woocommerce-MyAccount-content > p.ludacc-native-dashboard-copy {
  display:none!important;
}

/* Existing Circle content remains compatible and fluid. */
body.ludorum-account-premium .ludmem-cercle,
body.ludorum-account-premium .ludmem-account {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Tablet */
@media(max-width:900px) {
  body.ludorum-account-premium .woocommerce {
    grid-template-columns:1fr;
    width:min(100% - 20px,900px);
    gap:12px;
    margin-top:16px;
  }

  body.ludorum-account-premium .woocommerce-MyAccount-navigation {
    position:static;
    overflow-x:auto;
    padding:6px;
    border-radius:12px;
  }

  body.ludorum-account-premium .woocommerce-MyAccount-navigation ul {
    display:flex;
    gap:4px;
    min-width:max-content;
  }

  body.ludorum-account-premium .woocommerce-MyAccount-navigation a {
    min-height:34px;
    padding:7px 9px;
    white-space:nowrap;
  }

  .ludacc-dashboard-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .ludacc-member-card {
    max-width:100%;
  }

  .ludacc-membership-strip {
    max-width:100%;
  }
}

/* Phone */
@media(max-width:767px) {
  body.ludorum-account-premium .woocommerce {
    width:calc(100% - 16px);
    margin-top:12px;
    margin-bottom:30px;
  }

  .ludacc-dashboard-hero,
  .ludacc-card-head {
    padding:17px 14px 14px;
    border-radius:12px;
  }

  .ludacc-dashboard-hero {
    align-items:flex-start;
    flex-direction:column;
  }

  .ludacc-dashboard-hero .ludacc-primary {
    width:100%;
  }

  .ludacc-dashboard-grid {
    grid-template-columns:1fr;
    gap:8px;
  }

  .ludacc-dashboard-card {
    min-height:72px;
  }

  .ludacc-quick-actions {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ludacc-card-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }

  .ludacc-card-head p {
    grid-column:1 / -1;
  }

  .ludacc-member-card {
    min-height:0;
    padding:20px 15px 15px;
    border-radius:15px;
  }

  .ludacc-member-card__top {
    align-items:center;
  }

  .ludacc-card-logo-wrap img {
    max-width:125px;
    max-height:50px;
  }

  .ludacc-card-balance strong {
    font-size:29px;
  }

  .ludacc-member-card__identity,
  .ludacc-member-card__dates {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .ludacc-member-card__identity {
    margin-top:20px;
  }

  .ludacc-member-card__identity strong {
    font-size:12px;
  }

  .ludacc-member-card__dates strong {
    font-size:10px;
  }

  .ludacc-member-card__barcode {
    justify-content:stretch;
  }

  .ludacc-member-card__barcode>div {
    width:100%;
  }

  .ludacc-membership-strip {
    grid-template-columns:1fr 1fr;
  }

  .ludacc-membership-strip .is-effective {
    grid-column:1 / -1;
  }

  .ludacc-account-grid {
    grid-template-columns:1fr;
    gap:8px;
  }

  .ludacc-info-card {
    padding:13px;
  }

  .ludacc-info-card p {
    min-height:0;
  }

  .ludacc-voucher {
    align-items:stretch;
    flex-direction:column;
  }

  .ludacc-voucher button {
    width:100%;
  }

  .ludacc-expiry-alert {
    display:block;
  }

  .ludacc-expiry-alert strong {
    display:block;
    margin-bottom:2px;
  }

  .ludacc-history__head {
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:430px) {
  .ludacc-member-card__identity,
  .ludacc-member-card__dates {
    grid-template-columns:1fr;
  }

  .ludacc-member-card__dates>div {
    padding-bottom:7px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .ludacc-member-card__dates>div:last-child {
    padding-bottom:0;
    border-bottom:0;
  }

  .ludacc-newsletter {
    grid-template-columns:1fr;
  }

  .ludacc-newsletter button {
    width:100%;
  }

  .ludacc-history-row {
    align-items:flex-start;
  }
}


/* ==========================================================
   LUDORUM — INSCRIPTION CLIENT ENRICHIE v1.1.0
   ========================================================== */

body.ludorum-account-register .woocommerce {
  align-items:start;
}

body.ludorum-account-register #customer_login {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:18px;
  align-items:start;
}

body.ludorum-account-register #customer_login > .u-column1,
body.ludorum-account-register #customer_login > .u-column2 {
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:20px!important;
  border:1px solid #DCE5F0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 25px rgba(7,26,51,.055);
}

body.ludorum-account-register #customer_login > .u-column2 {
  position:relative;
  overflow:hidden;
}

body.ludorum-account-register #customer_login > .u-column2::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,#0B4DBB 0 33.333%,#F5C518 33.333% 66.666%,#D72626 66.666% 100%);
}

body.ludorum-account-register #customer_login h2 {
  margin:0 0 15px!important;
  color:#071A33!important;
  font-size:21px!important;
  font-weight:950!important;
}

body.ludorum-account-register .ludacc-register-intro {
  margin:0 0 15px;
  padding:13px 14px;
  border:1px solid #DDE7F2;
  border-radius:11px;
  background:linear-gradient(135deg,#F7FAFE,#FFFDF6);
}

body.ludorum-account-register .ludacc-register-intro>span,
body.ludorum-account-register .ludacc-register-address-head>span {
  display:block;
  margin-bottom:3px;
  color:#0B4DBB;
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
}

body.ludorum-account-register .ludacc-register-intro>strong,
body.ludorum-account-register .ludacc-register-address-head>strong {
  display:block;
  color:#071A33;
  font-size:13px;
  font-weight:950;
}

body.ludorum-account-register .ludacc-register-intro p {
  margin:3px 0 0!important;
  color:#748397!important;
  font-size:9.5px!important;
  line-height:1.4!important;
}

body.ludorum-account-register .ludacc-register-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
}

body.ludorum-account-register .ludacc-register-field {
  float:none!important;
  width:auto!important;
  margin:0!important;
}

body.ludorum-account-register .ludacc-register-field--wide {
  grid-column:1 / -1;
}

body.ludorum-account-register .woocommerce-form-register > p.form-row,
body.ludorum-account-register .woocommerce-form-login > p.form-row {
  margin-bottom:11px!important;
}

body.ludorum-account-register .woocommerce-form-register label,
body.ludorum-account-register .woocommerce-form-login label,
body.ludorum-account-register .ludacc-register-field label {
  display:block;
  margin-bottom:5px;
  color:#071A33;
  font-size:10px;
  font-weight:850;
}

body.ludorum-account-register .woocommerce-form-register input.input-text,
body.ludorum-account-register .woocommerce-form-login input.input-text,
body.ludorum-account-register .ludacc-register-field input,
body.ludorum-account-register .ludacc-register-field select {
  width:100%!important;
  min-height:40px!important;
  padding:8px 10px!important;
  border:1px solid #CFDBE9!important;
  border-radius:8px!important;
  outline:0!important;
  background:#FBFDFF!important;
  color:#071A33!important;
  font-size:11px!important;
  box-shadow:none!important;
}

body.ludorum-account-register .woocommerce-form-register input.input-text:focus,
body.ludorum-account-register .woocommerce-form-login input.input-text:focus,
body.ludorum-account-register .ludacc-register-field input:focus,
body.ludorum-account-register .ludacc-register-field select:focus {
  border-color:rgba(11,77,187,.52)!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(11,77,187,.07)!important;
}

body.ludorum-account-register .ludacc-register-address-head {
  margin:15px 0 10px;
  padding-top:13px;
  border-top:1px solid #E4EBF3;
}

body.ludorum-account-register .ludacc-register-benefit {
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:9px;
  align-items:center;
  margin:13px 0 5px;
  padding:10px 11px;
  border:1px solid #CDE6D7;
  border-radius:9px;
  background:#F2FAF5;
}

body.ludorum-account-register .ludacc-register-benefit>span {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:8px;
  background:#16884B;
  color:#fff;
  font-size:12px;
  font-weight:950;
}

body.ludorum-account-register .ludacc-register-benefit p {
  margin:0!important;
  color:#527062!important;
  font-size:8.8px!important;
  line-height:1.35!important;
}

body.ludorum-account-register .ludacc-register-benefit strong {
  display:block;
  color:#165F38;
  font-size:9.5px;
}

body.ludorum-account-register .woocommerce-form-register .woocommerce-privacy-policy-text {
  margin-top:10px;
  padding:9px 10px;
  border-radius:8px;
  background:#F8FAFC;
  color:#748397;
  font-size:8.5px;
  line-height:1.4;
}

body.ludorum-account-register .woocommerce-form-register button[type="submit"],
body.ludorum-account-register .woocommerce-form-login button[type="submit"] {
  min-height:41px!important;
  padding:9px 15px!important;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(120deg,#07336F,#0B4DBB)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  box-shadow:0 7px 16px rgba(11,77,187,.16)!important;
}

body.ludorum-account-register .woocommerce-error,
body.ludorum-account-register .woocommerce-message,
body.ludorum-account-register .woocommerce-info {
  border-radius:10px!important;
}

@media(max-width:900px) {
  body.ludorum-account-register #customer_login {
    grid-template-columns:1fr;
  }
}

@media(max-width:600px) {
  body.ludorum-account-register #customer_login > .u-column1,
  body.ludorum-account-register #customer_login > .u-column2 {
    padding:15px!important;
    border-radius:13px;
  }

  body.ludorum-account-register .ludacc-register-grid {
    grid-template-columns:1fr;
    gap:9px;
  }

  body.ludorum-account-register .ludacc-register-field--wide {
    grid-column:auto;
  }
}


/* ==========================================================
   LUDORUM — CORRECTIF CONNEXION / INSCRIPTION v1.1.1
   Le layout 190px + contenu est réservé au compte CONNECTÉ.
   Sur l'écran visiteur, WooCommerce reprend toute la largeur.
   ========================================================== */

body.ludorum-account-register .woocommerce {
  display:block !important;
  grid-template-columns:none !important;
  width:min(1180px, calc(100% - 32px)) !important;
  max-width:1180px !important;
  min-width:0 !important;
  margin:28px auto 52px !important;
}

body.ludorum-account-register .woocommerce > #customer_login,
body.ludorum-account-register #customer_login {
  display:grid !important;
  grid-template-columns:minmax(300px,.82fr) minmax(520px,1.18fr) !important;
  gap:18px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}

body.ludorum-account-register #customer_login::before,
body.ludorum-account-register #customer_login::after {
  display:none !important;
  content:none !important;
}

body.ludorum-account-register #customer_login > .u-column1,
body.ludorum-account-register #customer_login > .u-column2 {
  box-sizing:border-box !important;
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  clear:none !important;
  margin:0 !important;
}

body.ludorum-account-register #customer_login > .u-column1 .woocommerce-form-login,
body.ludorum-account-register #customer_login > .u-column2 .woocommerce-form-register {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
}

body.ludorum-account-register #customer_login input,
body.ludorum-account-register #customer_login select,
body.ludorum-account-register #customer_login textarea {
  box-sizing:border-box !important;
  max-width:100% !important;
}

/* L'inscription garde davantage de place car elle contient l'adresse complète. */
body.ludorum-account-register #customer_login > .u-column2 {
  min-width:0 !important;
}

/* Tablette : une colonne confortable, connexion puis inscription. */
@media(max-width:900px) {
  body.ludorum-account-register .woocommerce {
    width:min(100% - 24px, 760px) !important;
    margin:22px auto 40px !important;
  }

  body.ludorum-account-register .woocommerce > #customer_login,
  body.ludorum-account-register #customer_login {
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
  }
}

/* Téléphone : aucun débordement horizontal. */
@media(max-width:600px) {
  body.ludorum-account-register .woocommerce {
    width:calc(100% - 18px) !important;
    margin:16px auto 30px !important;
  }

  body.ludorum-account-register #customer_login {
    width:100% !important;
    min-width:0 !important;
  }
}


/* ==========================================================
   LUDORUM — FINITIONS CONNEXION / INSCRIPTION v1.1.2
   Aucun changement fonctionnel.
   ========================================================== */

/* Le conteneur général devient un peu plus dense et premium. */
body.ludorum-account-register #customer_login {
  gap:16px !important;
}

/* Les deux cartes gagnent un peu en cohérence visuelle. */
body.ludorum-account-register #customer_login > .u-column1,
body.ludorum-account-register #customer_login > .u-column2 {
  padding:18px !important;
  border-radius:15px !important;
}

/* La colonne Connexion n'a plus l'air "perdue" dans une grande carte vide. */
body.ludorum-account-register #customer_login > .u-column1 {
  align-self:start !important;
}

body.ludorum-account-register #customer_login > .u-column1 form {
  display:grid !important;
  gap:10px !important;
}

body.ludorum-account-register #customer_login > .u-column1 h2 {
  margin-bottom:12px !important;
}

/* Intro inscription légèrement plus compacte. */
body.ludorum-account-register .ludacc-register-intro {
  margin-bottom:12px !important;
  padding:11px 12px !important;
  border-radius:10px !important;
}

body.ludorum-account-register .ludacc-register-intro > span {
  margin-bottom:2px !important;
  font-size:7.7px !important;
}

body.ludorum-account-register .ludacc-register-intro > strong {
  font-size:12.5px !important;
}

body.ludorum-account-register .ludacc-register-intro p {
  margin-top:2px !important;
  font-size:9px !important;
}

/* Grilles un peu plus serrées, sans réduire la lisibilité. */
body.ludorum-account-register .ludacc-register-grid {
  gap:9px 10px !important;
}

body.ludorum-account-register .ludacc-register-address-head {
  margin:12px 0 8px !important;
  padding-top:11px !important;
}

/* Champs homogènes et légèrement moins hauts. */
body.ludorum-account-register .woocommerce-form-register input.input-text,
body.ludorum-account-register .woocommerce-form-login input.input-text,
body.ludorum-account-register .ludacc-register-field input,
body.ludorum-account-register .ludacc-register-field select {
  min-height:38px !important;
  padding:7px 10px !important;
}

body.ludorum-account-register .woocommerce-form-register > p.form-row,
body.ludorum-account-register .woocommerce-form-login > p.form-row {
  margin-bottom:9px !important;
}

/* Les labels sont légèrement plus proches des champs. */
body.ludorum-account-register .woocommerce-form-register label,
body.ludorum-account-register .woocommerce-form-login label,
body.ludorum-account-register .ludacc-register-field label {
  margin-bottom:4px !important;
}

/* Encadré de bénéfice plus discret pour ne pas rallonger visuellement. */
body.ludorum-account-register .ludacc-register-benefit {
  grid-template-columns:24px minmax(0,1fr) !important;
  gap:8px !important;
  margin:10px 0 4px !important;
  padding:8px 10px !important;
}

body.ludorum-account-register .ludacc-register-benefit > span {
  width:24px !important;
  height:24px !important;
  border-radius:7px !important;
  font-size:11px !important;
}

body.ludorum-account-register .ludacc-register-benefit p {
  font-size:8.4px !important;
}

/* Boutons harmonisés. */
body.ludorum-account-register .woocommerce-form-register button[type="submit"],
body.ludorum-account-register .woocommerce-form-login button[type="submit"] {
  min-height:39px !important;
  padding:8px 14px !important;
  border-radius:8px !important;
}

/* Meilleur équilibre de largeur : inscription un peu moins dominante. */
@media(min-width:901px) {
  body.ludorum-account-register .woocommerce > #customer_login,
  body.ludorum-account-register #customer_login {
    grid-template-columns:minmax(310px,.88fr) minmax(500px,1.12fr) !important;
  }
}

/* Tablette / téléphone : on garde la version validée, seulement un peu plus compacte. */
@media(max-width:900px) {
  body.ludorum-account-register #customer_login > .u-column1,
  body.ludorum-account-register #customer_login > .u-column2 {
    padding:16px !important;
  }
}

@media(max-width:600px) {
  body.ludorum-account-register #customer_login > .u-column1,
  body.ludorum-account-register #customer_login > .u-column2 {
    padding:14px !important;
    border-radius:12px !important;
  }

  body.ludorum-account-register .ludacc-register-intro {
    padding:10px 11px !important;
  }
}


/* ==========================================================
   LUDORUM — ONGLET COMMANDES PREMIUM v1.1.5
   ========================================================== */

body.ludorum-account-orders .woocommerce-MyAccount-content {
  min-width:0;
}

.ludacc-orders {
  --lo-blue:#0B4DBB;
  --lo-navy:#071A33;
  --lo-red:#D72626;
  --lo-yellow:#F5C518;
  --lo-green:#16884B;
  --lo-text:#40556D;
  --lo-muted:#748397;
  --lo-line:#DFE7F1;
  display:grid;
  gap:18px;
  min-width:0;
}

.ludacc-orders * {
  box-sizing:border-box;
}

.ludacc-orders-hero {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  border:1px solid var(--lo-line);
  border-radius:14px;
  background:
    radial-gradient(circle at 96% 10%,rgba(245,197,24,.13),transparent 25%),
    linear-gradient(135deg,#fff,#F7FAFE);
}

.ludacc-orders-hero::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--lo-blue) 0 33.33%,var(--lo-yellow) 33.33% 66.66%,var(--lo-red) 66.66% 100%);
}

.ludacc-orders-hero h2 {
  margin:2px 0 4px!important;
  color:var(--lo-navy)!important;
  font-size:22px!important;
  font-weight:950!important;
  line-height:1.1!important;
}

.ludacc-orders-hero p {
  margin:0!important;
  color:var(--lo-muted)!important;
  font-size:10px!important;
}

.ludacc-orders-counts {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.ludacc-orders-counts span {
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:31px;
  padding:6px 9px;
  border:1px solid #DCE5F0;
  border-radius:999px;
  background:#fff;
  color:#5E6F82;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}

.ludacc-orders-counts b {
  color:var(--lo-blue);
  font-size:11px;
}

.ludacc-orders-section {
  display:grid;
  gap:10px;
}

.ludacc-orders-section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding:0 2px;
}

.ludacc-orders-section-head span {
  display:block;
  margin-bottom:2px;
  color:var(--lo-blue);
  font-size:7.5px;
  font-weight:950;
  letter-spacing:.08em;
}

.ludacc-orders-section--active .ludacc-orders-section-head span {
  color:#C78D00;
}

.ludacc-orders-section-head h3 {
  margin:0!important;
  color:var(--lo-navy)!important;
  font-size:17px!important;
  font-weight:950!important;
}

.ludacc-orders-section-head p {
  margin:0!important;
  color:var(--lo-muted)!important;
  font-size:8.8px!important;
}

.ludacc-orders-list {
  display:grid;
  gap:11px;
}

.ludacc-order-card {
  overflow:hidden;
  border:1px solid var(--lo-line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 17px rgba(7,26,51,.04);
}

.ludacc-order-card.is-active {
  border-color:#E7DCA8;
  box-shadow:0 8px 20px rgba(175,131,0,.055);
}

.ludacc-order-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #E8EEF5;
  background:#FAFCFE;
}

.ludacc-order-card.is-active .ludacc-order-card-head {
  background:linear-gradient(90deg,#FFFDF5,#FAFCFF);
}

.ludacc-order-id {
  display:flex;
  align-items:baseline;
  gap:6px;
}

.ludacc-order-id span {
  color:var(--lo-muted);
  font-size:7px;
  font-weight:950;
  letter-spacing:.08em;
}

.ludacc-order-id strong {
  color:var(--lo-navy);
  font-size:14px;
  font-weight:950;
}

.ludacc-order-head-meta {
  display:flex;
  align-items:center;
  gap:8px;
}

.ludacc-order-head-meta time {
  color:var(--lo-muted);
  font-size:8.5px;
  font-weight:750;
}

.ludacc-order-status {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  font-size:7.8px;
  font-weight:950;
}

.ludacc-order-status.is-processing {
  color:#785600;
  background:#FFF5CC;
}

.ludacc-order-status.is-pending {
  color:#8C4A00;
  background:#FFF0DC;
}

.ludacc-order-status.is-hold {
  color:#274F82;
  background:#EAF3FF;
}

.ludacc-order-status.is-completed {
  color:#126A3A;
  background:#EAF8F0;
}

.ludacc-order-status.is-refunded {
  color:#5D568D;
  background:#F1EEFF;
}

.ludacc-order-status.is-cancelled,
.ludacc-order-status.is-failed {
  color:#A52B2B;
  background:#FFF0F0;
}

.ludacc-order-status.is-other {
  color:#4F6074;
  background:#EEF2F6;
}

.ludacc-order-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:9px 14px;
  border-bottom:1px solid #EDF1F6;
}

.ludacc-order-summary>div {
  display:grid;
  gap:1px;
}

.ludacc-order-summary small {
  color:var(--lo-muted);
  font-size:6.8px;
  font-weight:900;
  letter-spacing:.05em;
}

.ludacc-order-summary strong {
  overflow:hidden;
  color:var(--lo-navy);
  font-size:10px;
  font-weight:900;
  text-overflow:ellipsis;
}

.ludacc-order-products {
  display:grid;
}

.ludacc-order-product {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 14px;
  border-bottom:1px solid #EFF3F7;
}

.ludacc-order-product:last-child {
  border-bottom:0;
}

.ludacc-order-product-image {
  overflow:hidden;
  width:48px;
  height:48px;
  border:1px solid #E4EAF1;
  border-radius:8px;
  background:#FAFCFE;
}

.ludacc-order-product-image img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  margin:0!important;
}

.ludacc-order-product-copy {
  min-width:0;
}

.ludacc-order-product-name {
  display:block;
  overflow:hidden;
  margin:0!important;
  color:var(--lo-navy)!important;
  font-size:9.5px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-decoration:none!important;
  text-overflow:ellipsis;
}

.ludacc-order-product-meta,
.ludacc-order-product-meta * {
  display:inline;
  margin:2px 0 0!important;
  color:var(--lo-muted)!important;
  font-size:7.5px!important;
  line-height:1.25!important;
}

.ludacc-order-product-qty {
  display:block;
  margin-top:3px;
  color:#607286;
  font-size:7.8px;
  font-weight:750;
}

.ludacc-order-product-total {
  color:var(--lo-blue);
  font-size:9.5px;
  font-weight:950;
  white-space:nowrap;
}

.ludacc-order-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  padding:10px 14px;
  border-top:1px solid #EAF0F5;
  background:#FCFDFE;
}

.ludacc-order-actions a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:31px;
  padding:6px 10px;
  border-radius:8px;
  font-size:8.5px;
  font-weight:900;
  text-decoration:none!important;
}

.ludacc-order-view {
  border:1px solid #D2DFEE;
  background:#fff;
  color:var(--lo-blue)!important;
}

.ludacc-order-view span {
  margin-left:4px;
}

.ludacc-order-pay {
  border:1px solid #E6B800;
  background:var(--lo-yellow);
  color:#4F3A00!important;
}

.ludacc-orders-empty {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px 13px;
  border:1px dashed #CBD8E6;
  border-radius:11px;
  background:#FAFCFE;
}

.ludacc-orders-empty>span {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  background:#EAF2FF;
  color:var(--lo-blue);
  font-size:15px;
  font-weight:950;
}

.ludacc-orders-empty strong {
  display:block;
  color:var(--lo-navy);
  font-size:9.5px;
}

.ludacc-orders-empty p {
  margin:2px 0 0!important;
  color:var(--lo-muted)!important;
  font-size:8px!important;
}

.ludacc-orders-empty a {
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:6px 9px;
  border-radius:8px;
  background:var(--lo-blue);
  color:#fff!important;
  font-size:8px;
  font-weight:900;
  text-decoration:none!important;
}

.ludacc-orders-pagination {
  display:flex;
  justify-content:center;
  gap:5px;
  margin-top:3px;
}

.ludacc-orders-pagination a {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid #D8E2ED;
  border-radius:8px;
  background:#fff;
  color:var(--lo-blue)!important;
  font-size:8px;
  font-weight:900;
  text-decoration:none!important;
}

.ludacc-orders-pagination a.is-current {
  border-color:var(--lo-blue);
  background:var(--lo-blue);
  color:#fff!important;
}

@media(max-width:760px) {
  .ludacc-orders-hero,
  .ludacc-orders-section-head {
    align-items:flex-start;
    flex-direction:column;
  }

  .ludacc-orders-counts {
    justify-content:flex-start;
  }

  .ludacc-order-card-head {
    align-items:flex-start;
    flex-direction:column;
  }

  .ludacc-order-head-meta {
    width:100%;
    justify-content:space-between;
  }

  .ludacc-order-summary {
    grid-template-columns:1fr 1fr;
  }

  .ludacc-order-summary>div:last-child {
    grid-column:1 / -1;
  }
}

@media(max-width:520px) {
  .ludacc-orders-hero {
    padding:17px 15px;
  }

  .ludacc-order-product {
    grid-template-columns:42px minmax(0,1fr);
    gap:9px;
    padding:9px 11px;
  }

  .ludacc-order-product-image {
    width:42px;
    height:42px;
  }

  .ludacc-order-product-total {
    grid-column:2;
    justify-self:start;
    margin-top:-3px;
  }

  .ludacc-order-actions {
    align-items:stretch;
    flex-direction:column;
  }

  .ludacc-order-actions a {
    width:100%;
  }

  .ludacc-orders-empty {
    grid-template-columns:30px minmax(0,1fr);
  }

  .ludacc-orders-empty>a {
    grid-column:1 / -1;
    justify-content:center;
  }
}


/* ==========================================================
   LUDORUM — ONGLET ADRESSES PREMIUM v1.1.6
   ========================================================== */

body.ludorum-account-addresses .woocommerce-Addresses,
body.ludorum-account-addresses .u-columns.woocommerce-Addresses {
  display:none!important;
}

.ludacc-addresses {
  --lo-blue:#0B4DBB;
  --lo-navy:#071A33;
  --lo-red:#D72626;
  --lo-yellow:#F5C518;
  --lo-line:#DFE7F1;
  --lo-muted:#748397;
  display:grid;
  gap:18px;
  min-width:0;
}

.ludacc-addresses * {
  box-sizing:border-box;
}

.ludacc-addresses-hero {
  position:relative;
  overflow:hidden;
  display:grid;
  gap:12px;
  padding:22px 22px 20px;
  border:1px solid var(--lo-line);
  border-radius:16px;
  background:
    radial-gradient(circle at 92% 18%, rgba(245,197,24,.14), transparent 23%),
    radial-gradient(circle at 10% 100%, rgba(11,77,187,.06), transparent 30%),
    linear-gradient(135deg,#fff,#F8FBFF);
}

.ludacc-addresses-hero::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--lo-blue) 0 33.33%,var(--lo-yellow) 33.33% 66.66%,var(--lo-red) 66.66% 100%);
}

.ludacc-addresses-hero h2 {
  margin:3px 0 4px!important;
  color:var(--lo-navy)!important;
  font-size:24px!important;
  font-weight:950!important;
  line-height:1.08!important;
}

.ludacc-addresses-hero p {
  max-width:720px;
  margin:0!important;
  color:var(--lo-muted)!important;
  font-size:11px!important;
  line-height:1.55!important;
}

.ludacc-addresses-hero-badges {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.ludacc-addresses-hero-badges span {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 10px;
  border:1px solid #D9E3EE;
  border-radius:999px;
  background:#fff;
  color:#4E6177;
  font-size:8.4px;
  font-weight:850;
}

.ludacc-addresses-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.ludacc-address-card {
  overflow:hidden;
  border:1px solid var(--lo-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 9px 20px rgba(7,26,51,.045);
}

.ludacc-address-card.is-billing {
  background:linear-gradient(180deg,#fff, #FBFCFF);
}

.ludacc-address-card.is-shipping {
  background:linear-gradient(180deg,#fff, #FFFDF6);
}

.ludacc-address-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 17px;
  border-bottom:1px solid #E8EEF6;
}

.ludacc-address-card-title span {
  display:block;
  margin-bottom:3px;
  color:var(--lo-blue);
  font-size:7.5px;
  font-weight:950;
  letter-spacing:.08em;
}

.ludacc-address-card.is-shipping .ludacc-address-card-title span {
  color:#C78D00;
}

.ludacc-address-card-title h3 {
  margin:0!important;
  color:var(--lo-navy)!important;
  font-size:20px!important;
  font-weight:950!important;
}

.ludacc-address-icon {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:linear-gradient(135deg,#0C4DBB,#163C8C);
  color:#fff;
  font-size:19px;
  box-shadow:0 10px 18px rgba(11,77,187,.18);
}

.ludacc-address-card.is-shipping .ludacc-address-icon {
  background:linear-gradient(135deg,#F5C518,#E2A500);
  box-shadow:0 10px 18px rgba(224,170,0,.18);
}

.ludacc-address-lines {
  display:grid;
  gap:0;
  padding:7px 17px 0;
}

.ludacc-address-line {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:9px 0;
  border-bottom:1px solid #EEF2F7;
}

.ludacc-address-line:last-child {
  border-bottom:0;
}

.ludacc-address-line span {
  color:var(--lo-muted);
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.ludacc-address-line strong {
  color:var(--lo-navy);
  font-size:10px;
  font-weight:850;
  line-height:1.45;
  word-break:break-word;
}

.ludacc-address-card-foot {
  padding:13px 17px 16px;
}

.ludacc-address-card-foot a,
.ludacc-address-empty a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:8px 12px;
  border-radius:9px;
  background:#0B4DBB;
  color:#fff!important;
  font-size:8.6px;
  font-weight:900;
  text-decoration:none!important;
}

.ludacc-address-empty {
  display:grid;
  gap:9px;
  padding:17px;
}

.ludacc-address-empty strong {
  color:var(--lo-navy);
  font-size:11px;
}

.ludacc-address-empty p {
  margin:0!important;
  color:var(--lo-muted)!important;
  font-size:9px!important;
  line-height:1.55!important;
}

.ludacc-addresses-note {
  padding:13px 16px;
  border:1px solid #E5EDF6;
  border-radius:12px;
  background:#FBFCFE;
}

.ludacc-addresses-note strong {
  display:block;
  margin-bottom:3px;
  color:var(--lo-navy);
  font-size:10px;
  font-weight:900;
}

.ludacc-addresses-note p {
  margin:0!important;
  color:var(--lo-muted)!important;
  font-size:9px!important;
  line-height:1.55!important;
}

@media(max-width:900px) {
  .ludacc-addresses-grid {
    grid-template-columns:1fr;
  }
}

@media(max-width:640px) {
  .ludacc-addresses-hero {
    padding:18px 15px;
  }

  .ludacc-addresses-hero h2 {
    font-size:21px!important;
  }

  .ludacc-address-card-head {
    padding:14px;
  }

  .ludacc-address-card-title h3 {
    font-size:18px!important;
  }

  .ludacc-address-lines {
    padding:5px 14px 0;
  }

  .ludacc-address-line {
    grid-template-columns:1fr;
    gap:4px;
    padding:9px 0;
  }

  .ludacc-address-card-foot,
  .ludacc-address-empty {
    padding:14px;
  }

  .ludacc-address-card-foot a,
  .ludacc-address-empty a {
    width:100%;
  }
}


/* ==========================================================
   LUDORUM — v1.1.7
   Suppression précise des badges 01 / 02 / 03 des trois
   bulles d'introduction du compte.
   ========================================================== */
.ludacc-intro-number-hidden {
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  user-select:none !important;
}


/* ==========================================================
   LUDORUM — CORRECTIF v1.1.8
   Les badges 01/02/03 restent invisibles mais conservent leur
   place dans la grille d'origine afin de ne plus comprimer le texte.
   ========================================================== */
.ludacc-intro-number-hidden {
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Empêche un éventuel héritage de largeur minuscule sur les textes. */
body.woocommerce-account .ludacc-intro-number-hidden + *,
body.woocommerce-account .ludacc-intro-number-hidden ~ * {
  min-width:0;
}

/* ==========================================================
   LUDORUM — v1.1.9
   Refonte visuelle des 3 bulles d'introduction du compte.
   ========================================================== */
body.ludorum-account-dashboard .ludacc-intro-grid {
  gap:14px !important;
}

body.ludorum-account-dashboard .ludacc-intro-card {
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:9px !important;
  min-height:132px !important;
  width:100% !important;
  min-width:0 !important;
  padding:18px 18px 16px !important;
  border:1px solid #DFE7F1 !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFDFF 100%) !important;
  box-shadow:0 10px 26px rgba(7,26,51,.055) !important;
}

body.ludorum-account-dashboard .ludacc-intro-card::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--ludacc-blue) 0 33.33%,var(--ludacc-yellow) 33.33% 66.66%,var(--ludacc-red) 66.66% 100%);
}

body.ludorum-account-dashboard .ludacc-intro-card::after {
  content:"";
  position:absolute;
  right:-26px;
  bottom:-26px;
  width:88px;
  height:88px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(11,77,187,.08) 0%,rgba(11,77,187,0) 72%);
  pointer-events:none;
}

body.ludorum-account-dashboard .ludacc-intro-number-hidden {
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  visibility:hidden !important;
  opacity:0 !important;
}

body.ludorum-account-dashboard .ludacc-intro-accent {
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  font-size:16px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(7,26,51,.08);
}

body.ludorum-account-dashboard .ludacc-intro-accent.is-orders {
  background:rgba(11,77,187,.10);
  color:var(--ludacc-blue);
}
body.ludorum-account-dashboard .ludacc-intro-accent.is-info {
  background:rgba(245,197,24,.22);
  color:#8A6500;
}
body.ludorum-account-dashboard .ludacc-intro-accent.is-security {
  background:rgba(22,136,75,.12);
  color:var(--ludacc-green);
}

body.ludorum-account-dashboard .ludacc-intro-title {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  color:var(--ludacc-navy) !important;
  font-size:19px !important;
  font-weight:950 !important;
  line-height:1.15 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

body.ludorum-account-dashboard .ludacc-intro-text {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  color:var(--ludacc-muted) !important;
  font-size:11.5px !important;
  line-height:1.55 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}

body.ludorum-account-dashboard .ludacc-intro-card > * {
  position:relative;
  z-index:1;
  max-width:none !important;
}

@media (max-width: 767px) {
  body.ludorum-account-dashboard .ludacc-intro-card {
    min-height:auto !important;
    padding:16px 15px 14px !important;
  }

  body.ludorum-account-dashboard .ludacc-intro-title {
    font-size:17px !important;
  }

  body.ludorum-account-dashboard .ludacc-intro-text {
    font-size:10.5px !important;
  }
}

/* ==========================================================
   LUDORUM — MON COMPTE v2.0.0
   La page WordPress peut désormais contenir uniquement
   [woocommerce_my_account]. Le hero est généré par l'extension.
   ========================================================== */
body.ludorum-account-premium .ludacc-page-hero {
  grid-column:1 / -1;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:100%;
  min-height:190px;
  margin:0 0 6px;
  padding:30px 34px;
  border-radius:20px;
  color:#fff;
  background:
    radial-gradient(circle at 8% 0%,rgba(245,197,24,.08),transparent 25%),
    radial-gradient(circle at 100% 100%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(120deg,#071A33 0%,#0A376D 48%,#173F87 100%);
  box-shadow:0 14px 34px rgba(7,26,51,.16);
}

body.ludorum-account-premium .ludacc-page-hero::after {
  content:"";
  position:absolute;
  left:34px;
  bottom:28px;
  width:48px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#0B4DBB 0 33.33%,#F5C518 33.33% 66.66%,#D72626 66.66% 100%);
}

body.ludorum-account-premium .ludacc-page-hero__copy {
  position:relative;
  z-index:1;
  max-width:720px;
}

body.ludorum-account-premium .ludacc-page-hero__eyebrow {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 10px;
  border-radius:999px;
  color:#3E3000;
  background:#F5C518;
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
}

body.ludorum-account-premium .ludacc-page-hero h1 {
  margin:12px 0 10px!important;
  color:#fff!important;
  font-size:clamp(31px,4vw,45px)!important;
  font-weight:950!important;
  line-height:1!important;
}

body.ludorum-account-premium .ludacc-page-hero p {
  max-width:650px;
  margin:0!important;
  padding-bottom:12px;
  color:#D9E5F5!important;
  font-size:11px!important;
  line-height:1.55!important;
}

body.ludorum-account-premium .ludacc-page-hero__icon {
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:96px;
  height:96px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:23px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 1px rgba(255,255,255,.10);
  transform:rotate(-3deg);
}

body.ludorum-account-premium .ludacc-page-hero__icon span {
  position:relative;
  width:34px;
  height:26px;
  border:4px solid #F5C518;
  border-radius:17px 17px 12px 12px;
  border-top:0;
}

body.ludorum-account-premium .ludacc-page-hero__icon span::before {
  content:"";
  position:absolute;
  left:50%;
  top:-27px;
  width:20px;
  height:20px;
  border:4px solid #F5C518;
  border-radius:50%;
  transform:translateX(-50%);
}

/* Le vieux bloc Elementor/HTML n'est plus nécessaire en v2. */
body.ludorum-account-premium .ludacc-intro-grid,
body.ludorum-account-premium .ludacc-intro-card,
body.ludorum-account-premium .ludacc-intro-number-hidden {
  display:none!important;
}

body.ludorum-account-register .ludacc-page-hero {
  margin-bottom:18px;
}

@media(max-width:760px) {
  body.ludorum-account-premium .ludacc-page-hero {
    min-height:0;
    padding:24px 20px 28px;
    border-radius:16px;
  }

  body.ludorum-account-premium .ludacc-page-hero__icon {
    width:72px;
    height:72px;
    border-radius:18px;
  }

  body.ludorum-account-premium .ludacc-page-hero::after {
    left:20px;
    bottom:20px;
  }
}

@media(max-width:520px) {
  body.ludorum-account-premium .ludacc-page-hero {
    align-items:flex-start;
    gap:14px;
  }

  body.ludorum-account-premium .ludacc-page-hero__icon {
    width:58px;
    height:58px;
  }

  body.ludorum-account-premium .ludacc-page-hero__icon span {
    transform:scale(.78);
  }
}


/* ==========================================================
   LUDORUM — MON COMPTE v2.0.2
   Dashboard +8%, cartes plus lisibles, vide inférieur réduit.
   ========================================================== */
body.ludorum-account-dashboard .woocommerce {
  margin-bottom:22px;
}
body.ludorum-account-dashboard .woocommerce-MyAccount-content {
  padding-bottom:0 !important;
}
body.ludorum-account-dashboard .woocommerce-MyAccount-content > .ludacc-dashboard {
  margin-bottom:0 !important;
}
body.ludorum-account-dashboard .ludacc-dashboard-hero {
  gap:18px;
  margin:0 0 12px;
  padding:22px 24px;
  border-radius:16px;
}
body.ludorum-account-dashboard .ludacc-kicker {
  margin-bottom:5px;
  font-size:8.8px;
}
body.ludorum-account-dashboard .ludacc-dashboard-hero h2 {
  margin:0 0 5px !important;
  font-size:clamp(26px,2.9vw,34px) !important;
}
body.ludorum-account-dashboard .ludacc-dashboard-hero p {
  font-size:12px !important;
  line-height:1.5 !important;
}
body.ludorum-account-dashboard .ludacc-primary {
  min-height:42px;
  padding:9px 15px;
  font-size:11px;
}
body.ludorum-account-dashboard .ludacc-dashboard-grid {
  gap:11px;
  margin-bottom:10px;
}
body.ludorum-account-dashboard .ludacc-dashboard-card {
  gap:12px;
  min-height:90px;
  padding:14px 15px;
  border-radius:14px;
}
body.ludorum-account-dashboard .ludacc-dashboard-icon {
  width:42px;
  height:42px;
  font-size:18px;
  border-radius:11px;
}
body.ludorum-account-dashboard .ludacc-dashboard-card small {
  font-size:7.8px;
}
body.ludorum-account-dashboard .ludacc-dashboard-card strong {
  margin:3px 0 1px;
  font-size:17px;
  line-height:1.08;
}
body.ludorum-account-dashboard .ludacc-dashboard-card div > span {
  font-size:9.8px;
}
body.ludorum-account-dashboard .ludacc-quick-actions {
  gap:7px;
  margin-bottom:0;
}
body.ludorum-account-dashboard .ludacc-quick-actions a {
  min-height:35px;
  padding:8px 10px;
  font-size:9.5px;
  border-radius:10px;
}
@media (max-width:1024px) {
  body.ludorum-account-dashboard .ludacc-dashboard-hero {padding:20px;}
  body.ludorum-account-dashboard .ludacc-dashboard-card {min-height:86px;padding:13px;}
}
@media (max-width:767px) {
  body.ludorum-account-dashboard .woocommerce {margin-bottom:18px;}
  body.ludorum-account-dashboard .ludacc-dashboard-hero {gap:14px;margin-bottom:10px;padding:18px 16px;}
  body.ludorum-account-dashboard .ludacc-dashboard-hero h2 {font-size:24px !important;}
  body.ludorum-account-dashboard .ludacc-dashboard-hero p {font-size:11px !important;}
  body.ludorum-account-dashboard .ludacc-dashboard-grid {gap:9px;}
  body.ludorum-account-dashboard .ludacc-dashboard-card {min-height:82px;padding:12px;}
  body.ludorum-account-dashboard .ludacc-dashboard-icon {width:40px;height:40px;font-size:17px;}
  body.ludorum-account-dashboard .ludacc-dashboard-card strong {font-size:16px;}
  body.ludorum-account-dashboard .ludacc-dashboard-card div > span,
  body.ludorum-account-dashboard .ludacc-quick-actions a {font-size:9.2px;}
}
