/* Serra Account — espace client (auth + mon compte)
   Chargé via theme.yml (all), scoped aux pages compte
   ================================================== */

body.page-customer-account,
body.page-my-account,
body.page-order-detail,
body#my-account,
body#history,
body#order-detail,
body#addresses,
body#address,
body#identity,
body#discount,
body#order-slip,
body#order-follow,
body#order-return,
body#guest-tracking,
body#password,
body#authentication,
body#registration {
  font-family: var(--serra-font, "Poppins", sans-serif);
  -webkit-font-smoothing: antialiased;
}

/* Fond section clair — même langage que shop-v2 / FAQ */
body.page-customer-account #wrapper,
body.page-my-account #wrapper,
body.page-order-detail #wrapper,
body#my-account #wrapper,
body#history #wrapper,
body#order-detail #wrapper,
body#addresses #wrapper,
body#address #wrapper,
body#identity #wrapper,
body#discount #wrapper,
body#order-slip #wrapper,
body#order-follow #wrapper,
body#order-return #wrapper,
body#guest-tracking #wrapper,
body#password #wrapper,
body#authentication #wrapper,
body#registration #wrapper {
  background: #f5f5f3;
}

body.page-customer-account #content-wrapper,
body.page-my-account #content-wrapper,
body.page-order-detail #content-wrapper,
body#my-account #content-wrapper,
body#history #content-wrapper,
body#order-detail #content-wrapper,
body#addresses #content-wrapper,
body#address #content-wrapper,
body#identity #content-wrapper,
body#discount #content-wrapper,
body#order-slip #content-wrapper,
body#order-follow #content-wrapper,
body#order-return #content-wrapper,
body#guest-tracking #content-wrapper,
body#password #content-wrapper,
body#authentication #content-wrapper,
body#registration #content-wrapper {
  padding-top: clamp(28px, 4vw, 48px);
  padding-bottom: clamp(48px, 7vw, 80px);
}

/* Breadcrumb */
body.page-customer-account .breadcrumb,
body.page-my-account .breadcrumb,
body.page-order-detail .breadcrumb,
body#authentication .breadcrumb,
body#registration .breadcrumb,
body#password .breadcrumb,
body#my-account .breadcrumb,
body#history .breadcrumb,
body#order-detail .breadcrumb,
body#addresses .breadcrumb,
body#identity .breadcrumb {
  background: transparent;
  margin-bottom: 18px;
}

body.page-customer-account .breadcrumb ol,
body.page-my-account .breadcrumb ol,
body#authentication .breadcrumb ol {
  padding: 0;
}

body.page-customer-account .breadcrumb li,
body.page-my-account .breadcrumb li,
body#authentication .breadcrumb li {
  font-size: 12px;
  font-weight: 550;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--serra-muted, rgba(11, 11, 11, 0.55));
}

body.page-customer-account .breadcrumb li a,
body.page-my-account .breadcrumb li a,
body#authentication .breadcrumb li a {
  color: var(--serra-muted, rgba(11, 11, 11, 0.55));
}

body.page-customer-account .breadcrumb li a:hover,
body.page-my-account .breadcrumb li a:hover,
body#authentication .breadcrumb li a:hover {
  color: var(--serra-cta, #b20f1f);
}

/* Titres */
body.page-customer-account #main .page-header,
body.page-my-account #main .page-header,
body.page-order-detail #main .page-header,
body#authentication #main .page-header,
body#registration #main .page-header,
body#password #main .page-header,
body#my-account #main .page-header,
body#history #main .page-header,
body#order-detail #main .page-header,
body#addresses #main .page-header,
body#identity #main .page-header {
  margin: 0 0 20px;
  text-align: left;
}

body.page-customer-account #main .page-header h1,
body.page-my-account #main .page-header h1,
body.page-order-detail #main .page-header h1,
body#authentication #main .page-header h1,
body#registration #main .page-header h1,
body#password #main .page-header h1,
body#my-account #main .page-header h1,
body#history #main .page-header h1,
body#order-detail #main .page-header h1,
body#addresses #main .page-header h1,
body#identity #main .page-header h1 {
  margin: 0;
  color: var(--serra-ink, #0b0b0b);
  font-family: var(--serra-font, "Poppins", sans-serif);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  text-transform: none;
}

/* Auth titles centered in the card column */
body#authentication #main .page-header,
body#registration #main .page-header,
body#password #main .page-header,
body#guest-tracking #main .page-header {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Carte contenu */
body.page-customer-account #content,
body.page-my-account #content,
body.page-order-detail #content,
body#my-account #content,
body#history #content,
body#order-detail #content,
body#addresses #content,
body#address #content,
body#identity #content,
body#discount #content,
body#order-slip #content,
body#order-follow #content,
body#order-return #content,
body#guest-tracking #content,
body#password #content,
body#authentication #content,
body#registration #content,
body.page-customer-account #content.page-content,
body.page-my-account #content.page-content {
  max-width: var(--serra-container, 1180px);
  margin: 0 auto;
  padding: clamp(20px, 3vw, 32px);
  background: #fff;
  border: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  border-radius: var(--serra-radius, 16px);
  box-shadow: none;
  color: var(--serra-ink, #0b0b0b);
  font-size: 14px;
  line-height: 1.5;
}

/* Auth / password : carte plus étroite */
body.page-authentication #content,
body.page-registration #content,
body#authentication #content,
body#registration #content,
body#password #content,
body#guest-tracking #content {
  max-width: 480px;
  padding: clamp(24px, 4vw, 36px);
}

/* ---------- Formulaires (casse le layout Bootstrap row/col) ---------- */
body.page-customer-account .form-group.row,
body#authentication .form-group.row,
body#registration .form-group.row,
body#password .form-group.row,
body#identity .form-group.row,
body#address .form-group.row,
body#guest-tracking .form-group.row,
body.page-customer-account .form-group,
body#authentication .form-group,
body#registration .form-group,
body#password .form-group,
body#identity .form-group,
body#address .form-group,
body#guest-tracking .form-group {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 14px;
}

body.page-customer-account .form-group.row > [class*="col-"],
body#authentication .form-group.row > [class*="col-"],
body#registration .form-group.row > [class*="col-"],
body#password .form-group.row > [class*="col-"],
body#identity .form-group.row > [class*="col-"],
body#address .form-group.row > [class*="col-"],
body#guest-tracking .form-group.row > [class*="col-"],
body.page-customer-account .form-group > div,
body#authentication .form-group > div,
body#registration .form-group > div,
body#password .form-group > div,
body#identity .form-group > div,
body#address .form-group > div {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  padding-left: 0;
  padding-right: 0;
}

body.page-customer-account .form-control-label,
body#authentication .form-control-label,
body#registration .form-control-label,
body#password .form-control-label,
body#identity .form-control-label,
body#address .form-control-label,
body#guest-tracking .form-control-label {
  float: none;
  width: 100%;
  max-width: 100%;
  margin: 0 0 6px;
  padding: 0;
  text-align: left;
  color: var(--serra-ink, #0b0b0b);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Checkbox / radio : label vide à gauche, contenu à droite — garder une ligne propre */
body.page-customer-account .form-group.row .col-md-3.form-control-label:empty,
body#authentication .form-group.row .col-md-3.form-control-label:empty,
body#registration .form-group.row .col-md-3.form-control-label:empty,
body#identity .form-group.row .col-md-3.form-control-label:empty {
  display: none !important;
}

body.page-customer-account .form-control,
body#authentication .form-control,
body#registration .form-control,
body#password .form-control,
body#identity .form-control,
body#address .form-control,
body#guest-tracking .form-control,
body.page-customer-account select.form-control,
body#authentication select.form-control {
  height: 48px;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid rgba(11, 11, 11, 0.12);
  border-radius: 10px;
  background: #fff;
  color: var(--serra-ink, #0b0b0b);
  font-family: var(--serra-font, "Poppins", sans-serif);
  font-size: 14px;
  box-shadow: none;
}

body.page-customer-account textarea.form-control,
body#identity textarea.form-control,
body#address textarea.form-control {
  height: auto;
  min-height: 96px;
}

body.page-customer-account .form-control:focus,
body#authentication .form-control:focus,
body#registration .form-control:focus,
body#password .form-control:focus,
body#identity .form-control:focus,
body#address .form-control:focus {
  border-color: rgba(178, 15, 31, 0.45);
  outline: none;
  box-shadow: 0 0 0 3px rgba(178, 15, 31, 0.08);
}

body.page-customer-account .form-control-comment,
body#authentication .form-control-comment,
body#registration .form-control-comment,
body#identity .form-control-comment {
  display: none;
}

/* Password show/hide */
body.page-customer-account .input-group .input-group-btn .btn,
body#authentication .input-group .input-group-btn .btn,
body#registration .input-group .input-group-btn .btn,
body#password .input-group .input-group-btn .btn,
body#identity .input-group .input-group-btn .btn {
  height: 48px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid rgba(11, 11, 11, 0.12);
  border-left: 0;
  border-radius: 0 10px 10px 0;
  background: #f5f5f3;
  color: var(--serra-ink, #0b0b0b);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: none;
}

body.page-customer-account .input-group .form-control,
body#authentication .input-group .form-control,
body#registration .input-group .form-control,
body#password .input-group .form-control,
body#identity .input-group .form-control {
  border-radius: 10px 0 0 10px;
}

body#password .serra-password-toggle,
body#authentication .serra-password-toggle,
body#registration .serra-password-toggle,
body#identity .serra-password-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 0;
}

body#password .serra-password-toggle .material-icons,
body#authentication .serra-password-toggle .material-icons,
body#registration .serra-password-toggle .material-icons,
body#identity .serra-password-toggle .material-icons {
  font-size: 22px;
  line-height: 1;
  color: inherit;
}

body.page-customer-account .custom-checkbox label,
body#authentication .custom-checkbox label,
body#registration .custom-checkbox label,
body#identity .custom-checkbox label,
body.page-customer-account .custom-checkbox span,
body#authentication .custom-checkbox span {
  font-size: 13px;
  line-height: 1.45;
  color: var(--serra-ink-soft, #333);
}

body.page-customer-account .custom-radio + label,
body#authentication .radio-inline label,
body#registration .radio-inline label,
body#identity .radio-inline label {
  font-size: 13px;
  font-weight: 550;
  color: var(--serra-ink, #0b0b0b);
}

/* Boutons — taille compacte ; full-width seulement sur auth */
body.page-customer-account .btn.btn-primary,
body#authentication .btn.btn-primary,
body#registration .btn.btn-primary,
body#password .btn.btn-primary,
body#identity .btn.btn-primary,
body#address .btn.btn-primary,
body#guest-tracking .btn.btn-primary,
body.page-customer-account .form-control-submit,
body#password .form-control-submit,
body.page-customer-account a.btn.btn-primary,
body.page-customer-account .psgdprgetdatabtn17 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  min-height: 44px;
  height: 44px;
  padding: 0 22px;
  margin: 0;
  border: 1px solid var(--serra-cta, #b20f1f);
  border-radius: var(--serra-btn-radius, 999px);
  background: var(--serra-cta, #b20f1f);
  color: #fff;
  font-family: var(--serra-font, "Poppins", sans-serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: none;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: none;
  float: none;
}

/* Login / inscription / password : CTA pleine largeur de la carte */
body#authentication .btn.btn-primary,
body#registration .btn.btn-primary,
body#password .btn.btn-primary,
body#authentication .form-control-submit,
body#registration .form-control-submit,
body#password .form-control-submit,
body#guest-tracking .btn.btn-primary {
  width: 100%;
}

body.page-customer-account .btn.btn-primary:hover,
body#authentication .btn.btn-primary:hover,
body#registration .btn.btn-primary:hover,
body#password .btn.btn-primary:hover,
body#identity .btn.btn-primary:hover,
body#address .btn.btn-primary:hover,
body.page-customer-account a.btn.btn-primary:hover,
body.page-customer-account .psgdprgetdatabtn17:hover {
  background: var(--serra-cta-hover, #8e0c19);
  border-color: var(--serra-cta-hover, #8e0c19);
  color: #fff;
}

/* GDPR — boutons export propres, côte à côte */
body.page-customer-account .psgdprinfo17,
body#module-psgdpr-gdpr .psgdprinfo17 {
  margin: 0 0 14px;
  padding: 18px 18px;
  background: #f5f5f3;
  border: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  border-radius: 12px;
  overflow: hidden;
}

body.page-customer-account .psgdprinfo17 h2,
body#module-psgdpr-gdpr .psgdprinfo17 h2 {
  margin: 0 0 10px;
  color: var(--serra-ink, #0b0b0b);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
}

body.page-customer-account .psgdprinfo17 p,
body#module-psgdpr-gdpr .psgdprinfo17 p {
  margin: 0 0 14px;
  color: var(--serra-muted, rgba(11, 11, 11, 0.65));
  font-size: 13px;
  line-height: 1.5;
}

body.page-customer-account .psgdprinfo17 #exportDataToCsv,
body.page-customer-account .psgdprinfo17 #exportDataToPdf,
body#module-psgdpr-gdpr #exportDataToCsv,
body#module-psgdpr-gdpr #exportDataToPdf {
  float: none;
  display: inline-flex;
  width: auto;
  margin: 0 10px 8px 0;
}

body.page-customer-account .form-footer,
body#authentication .form-footer,
body#registration .form-footer,
body#identity .form-footer,
body#address .form-footer {
  margin-top: 8px;
  text-align: left;
}

body#identity .form-footer .btn.btn-primary,
body#address .form-footer .btn.btn-primary,
body.page-customer-account #customer-form .form-footer .btn.btn-primary,
body.page-customer-account .js-address-form .form-footer .btn.btn-primary {
  width: auto;
}

/* Liens secondaires auth */
body.page-customer-account .forgot-password,
body#authentication .forgot-password {
  margin: 4px 0 18px;
  padding: 0;
  text-align: left;
}

body.page-customer-account .forgot-password a,
body#authentication .forgot-password a,
body.page-customer-account .no-account a,
body#authentication .no-account a,
body#registration .register-form > p a,
body.page-customer-account .account-link {
  color: var(--serra-ink, #0b0b0b);
  font-size: 13px;
  font-weight: 550;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.page-customer-account .forgot-password a:hover,
body#authentication .forgot-password a:hover,
body.page-customer-account .no-account a:hover,
body#authentication .no-account a:hover,
body#registration .register-form > p a:hover,
body.page-customer-account .account-link:hover {
  color: var(--serra-cta, #b20f1f);
}

body.page-customer-account .no-account,
body#authentication .no-account {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  text-align: center;
  font-size: 14px;
}

body#authentication hr {
  display: none;
}

body#registration .register-form > p {
  margin: 0 0 18px;
  color: var(--serra-muted, rgba(11, 11, 11, 0.6));
  font-size: 14px;
  text-align: center;
}

/* Password forgotten / reset layout */
body#password .forgotten-password .form-fields .center-email-fields,
body#password .serra-password-renew .renew-password {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}

body#password .forgotten-password .form-fields .email,
body#password .forgotten-password .form-control-label,
body#password .serra-password-renew .form-control-label {
  width: 100%;
  max-width: none;
  flex: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

body#password .forgotten-password .form-fields .center-email-fields button,
body#password .forgotten-password .form-fields .email input,
body#password .serra-password-renew .form-control,
body#password .serra-password-renew .btn.btn-primary {
  height: 48px;
  width: 100%;
  max-width: none;
}

body#password .forgotten-password header p,
body#password .send-renew-password-link,
body#password .serra-password-spam-hint,
body#password .serra-password-email {
  margin: 0;
  color: var(--serra-muted, rgba(11, 11, 11, 0.6));
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

body#password .serra-password-intro {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 20px;
}

body#password .serra-password-spam-hint {
  padding: 12px 14px;
  background: #f5f5f3;
  border: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  border-radius: 12px;
  color: var(--serra-ink, #0b0b0b);
  font-size: 13px;
  font-weight: 500;
  text-align: left;
}

body#password .serra-password-email {
  margin-bottom: 4px;
  text-align: left;
}

body#password .serra-password-email strong {
  display: inline-block;
  margin-left: 4px;
  color: var(--serra-ink, #0b0b0b);
  word-break: break-all;
}

body#password .serra-password-renew .form-group,
body#password .serra-password-renew .field-password-policy {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  width: 100%;
}

body#password .serra-password-renew .form-control-label {
  position: static;
  float: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--serra-ink, #0b0b0b);
}

body#password .serra-password-actions {
  margin-top: 6px;
}

body#password .serra-password-sent {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

body#password .ps-alert-success {
  list-style: none;
  margin: 0;
  padding: 0;
}

body#password .ps-alert-success .item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  margin: 0;
  border-radius: 12px;
  border: 1px solid rgba(34, 120, 70, 0.22);
  background: rgba(34, 120, 70, 0.07);
  color: var(--serra-ink, #0b0b0b);
  font-size: 14px;
  line-height: 1.45;
}

body#password .ps-alert-success .item i {
  display: none;
}

body#password .ps-alert-success .item p,
body#password .ps-alert-error .item p {
  margin: 0;
}

body#password .page-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ---------- Hub mon compte ---------- */
body.page-my-account #content .links,
body#my-account #content .links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

body.page-my-account #content .links a,
body#my-account #content .links a {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--serra-ink, #0b0b0b);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  text-decoration: none;
}

body.page-my-account #content .links a span.link-item,
body#my-account #content .links a span.link-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 14px;
  min-height: 132px;
  height: auto;
  padding: 20px 18px;
  background: #fff;
  border: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  border-radius: var(--serra-radius, 16px);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

body.page-my-account #content .links a:hover span.link-item,
body#my-account #content .links a:hover span.link-item {
  border-color: rgba(178, 15, 31, 0.35);
  transform: translateY(-1px);
}

body.page-my-account #content .links a i,
body#my-account #content .links a i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border-radius: 999px;
  background: #f5f5f3;
  color: var(--serra-ink, #0b0b0b);
  font-size: 20px;
  line-height: 1;
}

body.page-my-account #content .links a:hover,
body#my-account #content .links a:hover {
  color: var(--serra-cta, #b20f1f);
}

body.page-my-account #content .links a:hover i,
body#my-account #content .links a:hover i {
  background: rgba(178, 15, 31, 0.08);
  color: var(--serra-cta, #b20f1f);
}

/* Logout / footer links */
body.page-my-account .page-footer,
body.page-customer-account .page-footer,
body#my-account .page-footer,
body#identity .page-footer,
body#addresses .page-footer,
body#history .page-footer,
body#order-detail .page-footer,
body#password .page-footer {
  max-width: var(--serra-container, 1180px);
  margin: 18px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  justify-content: flex-start;
  text-align: left;
}

body.page-my-account .page-footer .text-sm-center,
body#my-account .page-footer .text-sm-center {
  text-align: left;
  width: 100%;
}

body.page-my-account .page-footer a,
body#my-account .page-footer a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--serra-ink, #0b0b0b);
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.page-my-account .page-footer a:hover,
body#my-account .page-footer a:hover {
  color: var(--serra-cta, #b20f1f);
}

body.page-customer-account .page-footer .account-link,
body#password .page-footer .account-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--serra-ink, #0b0b0b);
  font-size: 13px;
  font-weight: 550;
  text-decoration: none;
}

body.page-customer-account .page-footer .account-link i {
  font-size: 18px;
  color: var(--serra-muted, rgba(11, 11, 11, 0.55));
}

body.page-customer-account .page-footer .account-link:hover,
body#password .page-footer .account-link:hover {
  color: var(--serra-cta, #b20f1f);
}

/* ---------- Adresses ---------- */
body.page-addresses .address,
body#addresses .address {
  margin-bottom: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  border-radius: var(--serra-radius, 16px);
  color: var(--serra-ink, #0b0b0b);
}

body.page-addresses .address .address-body,
body#addresses .address .address-body {
  padding: 18px 18px 14px;
}

body.page-addresses .address .address-body h4,
body#addresses .address .address-body h4 {
  margin: 0 0 8px;
  color: var(--serra-ink, #0b0b0b);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

body.page-addresses .address .address-body address,
body#addresses .address .address-body address {
  min-height: auto;
  margin: 0;
  color: var(--serra-muted, rgba(11, 11, 11, 0.65));
  font-size: 13px;
  font-style: normal;
  line-height: 1.55;
}

body.page-addresses .address .address-footer,
body#addresses .address .address-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 12px 18px;
  border-top: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  background: #fafafa;
}

body.page-addresses .address .address-footer a,
body#addresses .address .address-footer a,
body.page-addresses .addresses-footer a,
body#addresses .addresses-footer a {
  color: var(--serra-ink, #0b0b0b);
  font-size: 13px;
  font-weight: 550;
  text-decoration: none;
}

body.page-addresses .address .address-footer a:hover,
body#addresses .address .address-footer a:hover,
body.page-addresses .addresses-footer a:hover,
body#addresses .addresses-footer a:hover {
  color: var(--serra-cta, #b20f1f);
}

body.page-addresses .addresses-footer,
body#addresses .addresses-footer {
  margin: 18px 0 0;
}

/* ---------- Historique / tables ---------- */
body.page-customer-account h6,
body#history h6,
body#order-detail h6,
body#discount h6,
body#order-slip h6 {
  margin: 0 0 18px;
  color: var(--serra-muted, rgba(11, 11, 11, 0.6));
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

body.page-customer-account .table,
body#history .table,
body#order-detail .table,
body#discount .table,
body#order-slip .table,
body#order-follow .table {
  margin-bottom: 0;
  background: #fff;
  border: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  border-radius: 12px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  color: var(--serra-ink, #0b0b0b);
}

body.page-customer-account .table thead th,
body#history .table thead th,
body#order-detail .table thead th {
  border: 0;
  background: #f5f5f3;
  color: var(--serra-ink, #0b0b0b);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.02em;
  text-transform: none;
  white-space: nowrap;
}

body.page-customer-account .table td,
body.page-customer-account .table th,
body#history .table td,
body#history .table th,
body#order-detail .table td,
body#order-detail .table th {
  border-color: var(--serra-border, rgba(11, 11, 11, 0.08));
  padding: 12px 14px;
  font-size: 13px;
  vertical-align: middle;
}

body.page-customer-account .table-striped tbody tr:nth-of-type(odd),
body#history .table-striped tbody tr:nth-of-type(odd) {
  background: #fafafa;
}

body.page-customer-account .table-labeled .label,
body#history .label.label-pill,
body#order-detail .label {
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.02em;
}

body#history .orders {
  margin: 0;
}

body#history .orders .order {
  padding: 14px 0;
  border-bottom: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
}

body#history .order-actions a,
body.page-customer-account .order-actions a,
body#history .view-order-details-link,
body#history .reorder-link {
  color: var(--serra-ink, #0b0b0b);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body#history .order-actions a:hover,
body.page-customer-account .order-actions a:hover {
  color: var(--serra-cta, #b20f1f);
}

/* ---------- Détail commande ---------- */
body.page-order-detail .box,
body#order-detail .box {
  padding: 18px;
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid var(--serra-border, rgba(11, 11, 11, 0.08));
  border-radius: var(--serra-radius, 16px);
}

body.page-order-detail h3,
body#order-detail h3,
body.page-order-detail .addresses h4,
body#order-detail .addresses h4 {
  margin: 0 0 12px;
  color: var(--serra-ink, #0b0b0b);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
}

body.page-order-detail #order-history .history-lines .history-line,
body#order-detail #order-history .history-lines .history-line,
body.page-order-detail .order-items .order-item,
body#order-detail .order-items .order-item,
body.page-order-detail .messages .message,
body#order-detail .messages .message {
  border-bottom-color: var(--serra-border, rgba(11, 11, 11, 0.08));
}

/* Alerts */
body.page-customer-account .alert,
body#authentication .alert,
body#registration .alert,
body#password .ps-alert-error .item {
  border-radius: 12px;
  border: 1px solid rgba(178, 15, 31, 0.2);
  background: rgba(178, 15, 31, 0.06);
  color: var(--serra-ink, #0b0b0b);
  font-size: 13px;
}

body#password .forgotten-password .form-group.center-email-fields {
  margin: 0;
}

body#password .ps-alert-error {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

body#password .ps-alert-error .item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  margin-bottom: 8px;
}

body#password .ps-alert-error .item i {
  display: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  body.page-my-account #content .links,
  body#my-account #content .links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.page-customer-account #content-wrapper,
  body.page-my-account #content-wrapper,
  body#authentication #content-wrapper,
  body#registration #content-wrapper {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  body.page-my-account #content .links,
  body#my-account #content .links {
    grid-template-columns: 1fr;
  }

  body.page-my-account #content .links a span.link-item,
  body#my-account #content .links a span.link-item {
    min-height: 0;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 16px;
  }

  body.page-authentication #content,
  body.page-registration #content,
  body#authentication #content,
  body#registration #content,
  body#password #content {
    padding: 20px 16px;
  }

  body#authentication #main .page-header,
  body#registration #main .page-header,
  body#password #main .page-header {
    text-align: left;
  }
}
