/* Senesport : « Mon compte » (connexion, inscription, espace client, adresses, commandes) et « Suivi de commande ». Même langage que la page de commande : noir / blanc / vert, champs 52 px, boutons pilule. */
body.woocommerce-account .site-main, body.bss-suivi .site-main { max-width: 1240px; margin: 0 auto; padding: 28px 20px 88px; }
body.woocommerce-account .page-header, body.bss-suivi .page-header { padding: 0; margin: 0; }
body.woocommerce-account .page-header .entry-title, body.bss-suivi .page-header .entry-title { margin: 0 0 24px; padding: 0; font-size: 40px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
body.woocommerce-account .page-content, body.bss-suivi .page-content { padding: 0; max-width: none; }
body.woocommerce-account .woocommerce h2, body.woocommerce-account .woocommerce h3 { margin: 0 0 18px; font-size: 24px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
body.bss-suivi .page-content > p { max-width: 70ch; color: #333; font-size: 16px; line-height: 1.6; }

/* Messages sobres */
body.woocommerce-account .woocommerce-message, body.woocommerce-account .woocommerce-info, body.woocommerce-account .woocommerce-error, body.bss-suivi .woocommerce-message, body.bss-suivi .woocommerce-info, body.bss-suivi .woocommerce-error { margin: 0 0 18px; padding: 14px 18px; background: #f6f6f6; border: 0; border-left: 3px solid #EF8700; border-radius: 2px; color: #111; font-size: 14.5px; list-style: none; }
body.woocommerce-account .woocommerce-error, body.bss-suivi .woocommerce-error { border-left-color: #c0392b; background: #fdf3f1; }
body.woocommerce-account .woocommerce-message::before, body.woocommerce-account .woocommerce-info::before, body.woocommerce-account .woocommerce-error::before, body.bss-suivi .woocommerce-message::before, body.bss-suivi .woocommerce-info::before, body.bss-suivi .woocommerce-error::before { display: none; }
body.woocommerce-account .woocommerce-message a.button { float: none; margin-left: 12px; }

/* Champs (identiques à la page de commande) */
body.woocommerce-account form .form-row, body.bss-suivi form .form-row { margin: 0 0 16px; padding: 0; }
body.woocommerce-account form .form-row label, body.bss-suivi form .form-row label, body.woocommerce-account .woocommerce-form-login__rememberme { margin: 0 0 6px; color: #111; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
body.woocommerce-account form .form-row .required, body.bss-suivi form .form-row .required { color: #c0392b; text-decoration: none; }
body.woocommerce-account form .form-row .optional, body.bss-suivi form .form-row .optional { color: #6b6b6b; font-weight: 400; }
body.woocommerce-account form .form-row input.input-text, body.woocommerce-account form .form-row textarea, body.woocommerce-account form .form-row select,
body.bss-suivi form .form-row input.input-text {
  width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px 14px; background: #fff; border: 1px solid #cfcfcf; border-radius: 4px; color: #111; font-size: 15.5px; line-height: 1.3; box-shadow: none; }
body.woocommerce-account form .form-row input.input-text:focus, body.woocommerce-account form .form-row textarea:focus, body.woocommerce-account form .form-row select:focus, body.bss-suivi form .form-row input.input-text:focus { outline: 0; border-color: #111; box-shadow: 0 0 0 3px rgba(239, 135, 0, .30); }
body.woocommerce-account .password-input { display: block; position: relative; }
body.woocommerce-account .password-input input { padding-right: 52px !important; }
body.woocommerce-account .show-password-input { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; background: none; border: 0; cursor: pointer; }
body.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 6px 0 0 18px; font-weight: 500; }
body.woocommerce-account .woocommerce-LostPassword { margin: 18px 0 0; font-size: 14.5px; }
body.woocommerce-account .woocommerce-LostPassword a, body.woocommerce-account .woocommerce-privacy-policy-text a { color: #111; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce-privacy-policy-text, body.woocommerce-account .woocommerce-privacy-policy-text p { margin: 0 0 14px; color: #555; font-size: 12.5px; line-height: 1.5; }

/* Listes Région / Ville (selectWoo) dans « Mes adresses » */
body.woocommerce-account .select2-container { width: 100% !important; }
body.woocommerce-account .select2-container--default .select2-selection--single { height: 52px; display: flex; align-items: center; background: #fff; border: 1px solid #cfcfcf; border-radius: 4px; }
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 44px 0 14px; color: #111; font-size: 15.5px; line-height: 50px; }
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #6b6b6b; }
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: 8px; height: 50px; }
body.woocommerce-account .select2-container--default.select2-container--focus .select2-selection--single, body.woocommerce-account .select2-container--default.select2-container--open .select2-selection--single { border-color: #111; box-shadow: 0 0 0 3px rgba(239, 135, 0, .30); }
body.woocommerce-account #billing_country_field, body.woocommerce-account #shipping_country_field { display: none !important; } /* un seul pays (Sénégal) */

/* Boutons : pilule noire (vert au survol) */
body.woocommerce-account .woocommerce button.button, body.woocommerce-account .woocommerce a.button, body.woocommerce-account .woocommerce input.button, body.bss-suivi .woocommerce button.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 28px; background: #111; border: 0; border-radius: 999px; color: #fff; font-size: 15.5px; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background .15s; }
body.woocommerce-account .woocommerce button.button:hover, body.woocommerce-account .woocommerce a.button:hover, body.woocommerce-account .woocommerce input.button:hover, body.bss-suivi .woocommerce button.button:hover { background: #EF8700; color: #111; }
body.woocommerce-account .woocommerce button.button[name="login"], body.woocommerce-account .woocommerce button.button[name="register"] { width: auto; min-width: 180px; }

/* Connexion / inscription : cartes */
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login, body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-register,
body.woocommerce-account .woocommerce form.lost_reset_password { margin: 0; padding: 28px; background: #fff; border: 1px solid #e6e6e6; border-radius: 4px; }
body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login, body.woocommerce-account .woocommerce form.lost_reset_password { max-width: 520px; }
body.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; max-width: 1040px; }
body.woocommerce-account #customer_login .u-column1, body.woocommerce-account #customer_login .u-column2 { float: none; width: 100%; max-width: none; }
body.woocommerce-account:not(.logged-in) .woocommerce > h2 { margin-bottom: 18px; }

/* Espace client (connecté) : menu à gauche, contenu à droite */
@media (min-width: 901px) {
  body.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); column-gap: 48px; align-items: start; }
  body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}
body.woocommerce-account .woocommerce-MyAccount-navigation, body.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; max-width: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 13px 16px; border-radius: 4px; color: #111; font-size: 15.5px; font-weight: 500; text-decoration: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #f2f3f5; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #111; color: #fff; font-weight: 600; }
body.woocommerce-account .woocommerce-MyAccount-content { color: #222; font-size: 15.5px; line-height: 1.65; }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #111; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce-MyAccount-content fieldset { margin: 24px 0 0; padding: 0; border: 0; }
body.woocommerce-account .woocommerce-MyAccount-content legend { margin-bottom: 14px; padding: 0; font-size: 20px; font-weight: 600; }

/* Commandes */
body.woocommerce-account table.shop_table { width: 100%; margin: 0 0 24px; border: 0; border-collapse: collapse; }
body.woocommerce-account table.shop_table th, body.woocommerce-account table.shop_table td { padding: 14px 10px; background: none; border: 0; border-bottom: 1px solid #eee; color: #111; font-size: 14.5px; text-align: left; vertical-align: middle; }
body.woocommerce-account table.shop_table thead th { color: #6b6b6b; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
body.woocommerce-account table.shop_table .button { min-height: 40px; padding: 8px 18px; font-size: 14px; }

/* Adresses */
body.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body.woocommerce-account .woocommerce-Addresses .u-column1, body.woocommerce-account .woocommerce-Addresses .u-column2, body.woocommerce-account .woocommerce-Address { float: none; width: 100%; max-width: none; }
body.woocommerce-account .woocommerce-Address { padding: 22px; background: #fff; border: 1px solid #e6e6e6; border-radius: 4px; }
body.woocommerce-account .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
body.woocommerce-account .woocommerce-Address-title h3 { margin: 0; font-size: 20px; }
body.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.7; }
body.woocommerce-account .woocommerce-Address-title a.edit { color: #111; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce-address-fields .form-row-first, body.woocommerce-account .woocommerce-address-fields .form-row-last { width: 48%; }

/* Suivi de commande */
body.bss-suivi form.woocommerce-form-track-order, body.bss-suivi form.track_order { max-width: 760px; margin: 22px 0 0; padding: 28px; background: #fff; border: 1px solid #e6e6e6; border-radius: 4px; }
body.bss-suivi form.track_order p:first-of-type { margin: 0 0 18px; color: #333; font-size: 15px; line-height: 1.6; }
body.bss-suivi form.track_order .form-row-first, body.bss-suivi form.track_order .form-row-last { width: 48%; float: left; }
body.bss-suivi form.track_order .form-row-last { float: right; }
body.bss-suivi form.track_order .clear { clear: both; }

@media (max-width: 900px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 24px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; gap: 8px; padding-bottom: 6px; scrollbar-width: none; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; border: 1px solid #cfcfcf; border-radius: 999px; padding: 10px 18px; font-size: 15px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-color: #111; }
  body.woocommerce-account #customer_login { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body.woocommerce-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  body.woocommerce-account .site-main, body.bss-suivi .site-main { padding: 20px 16px 64px; }
  body.woocommerce-account .page-header .entry-title, body.bss-suivi .page-header .entry-title { font-size: 32px; margin-bottom: 18px; }
  body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login, body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-register, body.bss-suivi form.track_order { padding: 20px; }
  body.woocommerce-account .woocommerce-form-login__rememberme { display: flex; margin: 14px 0 6px; }
  body.woocommerce-account .woocommerce button.button[name="login"], body.woocommerce-account .woocommerce button.button[name="register"], body.bss-suivi .woocommerce button.button { width: 100%; }
  body.bss-suivi form.track_order .form-row-first, body.bss-suivi form.track_order .form-row-last { width: 100%; float: none; }
  body.woocommerce-account .woocommerce-address-fields .form-row-first, body.woocommerce-account .woocommerce-address-fields .form-row-last { width: 100%; }
  /* tableau des commandes : une carte par commande */
  body.woocommerce-account table.woocommerce-orders-table thead { display: none; }
  body.woocommerce-account table.woocommerce-orders-table tr { display: block; margin-bottom: 14px; padding: 8px 14px; border: 1px solid #e6e6e6; border-radius: 4px; }
  body.woocommerce-account table.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border: 0; }
  body.woocommerce-account table.woocommerce-orders-table td::before { content: attr(data-title); color: #6b6b6b; font-weight: 600; }
}

/* WooCommerce met des pseudo-éléments « clearfix » dans ces conteneurs : en grille, ils prennent une case chacun et décalent le contenu */
body.woocommerce-account #customer_login::before, body.woocommerce-account #customer_login::after,
body.woocommerce-account .woocommerce-Addresses::before, body.woocommerce-account .woocommerce-Addresses::after,
body.woocommerce-account.logged-in .woocommerce::before, body.woocommerce-account.logged-in .woocommerce::after { content: none !important; display: none !important; }
