/* Keshō — page Mon compte */

.kesho-account-page {
  min-height: 70vh;
  background: #fbf8f3;
  color: #292522;
}

.kesho-account-shell {
  width: min(1320px, calc(100% - 64px));
  margin: 0 auto;
  padding: 64px 0 110px;
}

.kesho-account-header {
  max-width: 760px;
  margin-bottom: 42px;
}

.kesho-account-eyebrow {
  margin: 0 0 12px !important;
  color: #7a5b45;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.kesho-account-header h1 {
  margin: 0 0 14px;
  font-family: var(--serif, Georgia, serif);
  font-size: clamp(2.7rem, 4vw, 4.4rem);
  font-weight: 400;
  line-height: 1;
}

.kesho-account-header > p:last-child {
  margin: 0;
  max-width: 650px;
  color: rgba(41, 37, 34, .7);
  font-family: var(--sans, Arial, sans-serif);
  font-size: .95rem;
  line-height: 1.65;
}

.kesho-account-content .woocommerce {
  width: 100%;
}

/* Notices */
.kesho-account-page .woocommerce-error,
.kesho-account-page .woocommerce-info,
.kesho-account-page .woocommerce-message {
  position: relative !important;
  margin: 0 0 24px !important;
  padding: 16px 18px 16px 52px !important;
  border: 1px solid rgba(41, 37, 34, .12) !important;
  border-top: 0 !important;
  background: rgba(255, 255, 255, .45) !important;
  color: #292522 !important;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .84rem;
}

.kesho-account-page .woocommerce-error::before,
.kesho-account-page .woocommerce-info::before,
.kesho-account-page .woocommerce-message::before {
  position: absolute !important;
  top: 16px !important;
  left: 18px !important;
  margin: 0 !important;
  transform: none !important;
}

/* Connexion / création de compte */
.kesho-account-page #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

.kesho-account-page #customer_login .u-column1,
.kesho-account-page #customer_login .u-column2 {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 32px;
  border: 1px solid rgba(41, 37, 34, .08);
  background: rgba(255, 255, 255, .3);
}

.kesho-account-page #customer_login h2 {
  margin: 0 0 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(41, 37, 34, .12);
  font-family: var(--serif, Georgia, serif);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1;
}

.kesho-account-page form.login,
.kesho-account-page form.register,
.kesho-account-page form.woocommerce-ResetPassword {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Champs */
.kesho-account-page .form-row {
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.kesho-account-page .form-row label {
  display: block;
  margin-bottom: 8px;
  color: #292522;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kesho-account-page .input-text,
.kesho-account-page input[type="text"],
.kesho-account-page input[type="email"],
.kesho-account-page input[type="password"],
.kesho-account-page input[type="tel"],
.kesho-account-page select,
.kesho-account-page textarea {
  width: 100%;
  min-height: 54px;
  padding: 0 15px;
  border: 1px solid rgba(41, 37, 34, .18);
  border-radius: 0;
  background: rgba(255, 255, 255, .58);
  color: #292522;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .9rem;
  box-shadow: none;
}

.kesho-account-page textarea {
  min-height: 120px;
  padding-top: 14px;
  resize: vertical;
}

.kesho-account-page .input-text:focus,
.kesho-account-page input:focus,
.kesho-account-page select:focus,
.kesho-account-page textarea:focus {
  outline: none;
  border-color: rgba(41, 37, 34, .5);
  box-shadow: 0 0 0 3px rgba(41, 37, 34, .05);
}

.kesho-account-page .show-password-input {
  top: .95em !important;
}

.kesho-account-page .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .8rem;
}

.kesho-account-page .woocommerce-LostPassword {
  margin-top: 16px;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .8rem;
}

.kesho-account-page .woocommerce-privacy-policy-text {
  color: rgba(41, 37, 34, .65);
  font-family: var(--sans, Arial, sans-serif);
  font-size: .76rem;
  line-height: 1.55;
}

/* Boutons */
.kesho-account-page button.button,
.kesho-account-page a.button,
.kesho-account-page input.button {
  min-height: 52px;
  padding: 0 24px !important;
  border: 1px solid #292522 !important;
  border-radius: 0 !important;
  background: #292522 !important;
  color: #fff !important;
  font-family: var(--sans, Arial, sans-serif) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: .085em;
  text-transform: uppercase;
  box-shadow: none !important;
}

.kesho-account-page button.button:hover,
.kesho-account-page a.button:hover,
.kesho-account-page input.button:hover {
  background: #000 !important;
  border-color: #000 !important;
}

/* Compte connecté */
.kesho-account-page .woocommerce-MyAccount-navigation {
  width: 260px !important;
  float: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

.kesho-account-page .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid rgba(41, 37, 34, .08);
  background: rgba(255, 255, 255, .25);
}

.kesho-account-page .woocommerce-MyAccount-navigation li {
  margin: 0;
  border-bottom: 1px solid rgba(41, 37, 34, .1);
}

.kesho-account-page .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: 0;
}

.kesho-account-page .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 18px;
  color: #292522;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .82rem;
  font-weight: 500;
  text-decoration: none;
  transition: background .2s ease, padding-left .2s ease;
}

.kesho-account-page .woocommerce-MyAccount-navigation a:hover {
  padding-left: 22px;
  background: rgba(231, 220, 206, .35);
}

.kesho-account-page .woocommerce-MyAccount-navigation .is-active a {
  background: #292522;
  color: #fff;
}

.kesho-account-page .woocommerce-MyAccount-content {
  width: calc(100% - 308px) !important;
  float: right !important;
  min-height: 360px;
  padding: 32px;
  border: 1px solid rgba(41, 37, 34, .08);
  background: rgba(255, 255, 255, .28);
}

.kesho-account-page .woocommerce-MyAccount-content::after,
.kesho-account-content .woocommerce::after {
  content: "";
  display: block;
  clear: both;
}

.kesho-account-page .woocommerce-MyAccount-content p {
  color: rgba(41, 37, 34, .76);
  font-family: var(--sans, Arial, sans-serif);
  font-size: .9rem;
  line-height: 1.65;
}

.kesho-account-page .woocommerce-MyAccount-content > p:first-child {
  margin-top: 0;
  color: #292522;
  font-size: 1rem;
}

/* Titres internes */
.kesho-account-page .woocommerce-MyAccount-content h2,
.kesho-account-page .woocommerce-MyAccount-content h3,
.kesho-account-page .woocommerce-Address-title h3 {
  margin: 0 0 22px;
  font-family: var(--serif, Georgia, serif);
  font-weight: 400;
  line-height: 1.1;
}

.kesho-account-page .woocommerce-MyAccount-content h2 {
  font-size: 2rem;
}

.kesho-account-page .woocommerce-MyAccount-content h3,
.kesho-account-page .woocommerce-Address-title h3 {
  font-size: 1.55rem;
}

/* Tableau commandes */
.kesho-account-page table.shop_table {
  width: 100%;
  margin: 0;
  border-collapse: collapse !important;
  border: 0 !important;
  background: transparent !important;
}

.kesho-account-page table.shop_table thead {
  background: rgba(231, 220, 206, .35);
}

.kesho-account-page table.shop_table th,
.kesho-account-page table.shop_table td {
  padding: 15px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(41, 37, 34, .12) !important;
  background: transparent !important;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .82rem;
  text-align: left;
}

.kesho-account-page table.shop_table th {
  color: rgba(41, 37, 34, .65);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Adresses */
.kesho-account-page .u-columns.woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.kesho-account-page .woocommerce-Address {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 24px;
  border: 1px solid rgba(41, 37, 34, .08);
  background: rgba(255, 255, 255, .26);
}

.kesho-account-page .woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.kesho-account-page .woocommerce-Address-title a {
  color: #725f50;
  font-family: var(--sans, Arial, sans-serif);
  font-size: .75rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kesho-account-page address {
  color: rgba(41, 37, 34, .72);
  font-family: var(--sans, Arial, sans-serif);
  font-size: .84rem;
  font-style: normal;
  line-height: 1.65;
}

/* Responsive */
@media (max-width: 900px) {
  .kesho-account-page .woocommerce-MyAccount-navigation,
  .kesho-account-page .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
  }

  .kesho-account-page .woocommerce-MyAccount-navigation {
    margin-bottom: 24px !important;
  }

  .kesho-account-page .woocommerce-MyAccount-navigation ul {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
  }

  .kesho-account-page .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
    border-right: 1px solid rgba(41, 37, 34, .1);
    border-bottom: 0;
  }

  .kesho-account-page .woocommerce-MyAccount-navigation a {
    padding: 0 16px;
  }
}

@media (max-width: 700px) {
  .kesho-account-shell {
    width: min(100% - 32px, 1320px);
    padding-top: 42px;
  }

  .kesho-account-header h1 {
    font-size: 2.65rem;
  }

  .kesho-account-page #customer_login {
    grid-template-columns: 1fr;
  }

  .kesho-account-page #customer_login .u-column1,
  .kesho-account-page #customer_login .u-column2,
  .kesho-account-page .woocommerce-MyAccount-content {
    padding: 24px 20px;
  }

  .kesho-account-page .u-columns.woocommerce-Addresses {
    grid-template-columns: 1fr;
  }

  .kesho-account-page table.shop_table thead {
    display: none;
  }

  .kesho-account-page table.shop_table tr {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid rgba(41, 37, 34, .12);
  }

  .kesho-account-page table.shop_table td {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 0 !important;
  }

  .kesho-account-page table.shop_table td::before {
    content: attr(data-title);
    color: rgba(41, 37, 34, .55);
    font-weight: 600;
  }
}


/* ==========================================================
   Keshō correction 29 — Mon compte
   Boutons centrés + adresses parfaitement alignées
   ========================================================== */

/* Tous les boutons de l'espace Mon compte sont centrés. */
.kesho-account-page .woocommerce-MyAccount-content .button,
.kesho-account-page .woocommerce-MyAccount-content a.button,
.kesho-account-page .woocommerce-MyAccount-content .woocommerce-button,
.kesho-account-page .woocommerce-MyAccount-content button.button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px;
  padding:0 24px !important;
  text-align:center !important;
  line-height:1.2 !important;
  white-space:nowrap;
}

/* Supprime les petits carrés/icônes maladroits dans les messages de compte. */
.kesho-account-page .woocommerce-MyAccount-content .woocommerce-info::before,
.kesho-account-page .woocommerce-MyAccount-content .woocommerce-message::before,
.kesho-account-page .woocommerce-MyAccount-content .woocommerce-error::before{
  display:none !important;
  content:none !important;
}

.kesho-account-page .woocommerce-MyAccount-content .woocommerce-info,
.kesho-account-page .woocommerce-MyAccount-content .woocommerce-message,
.kesho-account-page .woocommerce-MyAccount-content .woocommerce-error{
  padding-left:24px !important;
}

/* Zone des adresses : vraie grille régulière. */
.kesho-account-page .u-columns.woocommerce-Addresses,
.kesho-account-page .woocommerce-Addresses{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;
  width:100% !important;
  margin:28px 0 0 !important;
}

/* Neutralise les flottants et largeurs natives WooCommerce. */
.kesho-account-page .woocommerce-Addresses .u-column1,
.kesho-account-page .woocommerce-Addresses .u-column2,
.kesho-account-page .woocommerce-Address{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* Chaque adresse devient une carte de même hauteur. */
.kesho-account-page .woocommerce-Address{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  min-height:260px;
  padding:30px !important;
  border:1px solid rgba(41,37,34,.10) !important;
  background:rgba(255,255,255,.28) !important;
  box-sizing:border-box !important;
}

/* Titre + lien sur une même ligne. */
.kesho-account-page .woocommerce-Address-title{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:22px !important;
  align-items:start !important;
  margin:0 0 26px !important;
  padding:0 0 18px !important;
  border-bottom:1px solid rgba(41,37,34,.10);
}

.kesho-account-page .woocommerce-Address-title h3{
  margin:0 !important;
  font-family:var(--serif, Georgia, serif) !important;
  font-size:2rem !important;
  font-weight:400 !important;
  line-height:1.08 !important;
}

.kesho-account-page .woocommerce-Address-title a{
  align-self:start;
  margin-top:4px;
  color:#725f50 !important;
  font-family:var(--sans, Arial, sans-serif) !important;
  font-size:.76rem !important;
  line-height:1.4;
  text-align:right;
  text-decoration:underline !important;
  text-underline-offset:3px;
}

/* Texte d'adresse aligné au même endroit dans chaque carte. */
.kesho-account-page .woocommerce-Address address{
  margin:0 !important;
  color:rgba(41,37,34,.72);
  font-family:var(--sans, Arial, sans-serif);
  font-size:.86rem;
  font-style:normal;
  line-height:1.65;
}

/* Le texte introductif reste au-dessus de la grille. */
.kesho-account-page .woocommerce-MyAccount-content > p:first-child{
  margin:0 0 24px !important;
}

/* Responsive */
@media (max-width:760px){
  .kesho-account-page .u-columns.woocommerce-Addresses,
  .kesho-account-page .woocommerce-Addresses{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .kesho-account-page .woocommerce-Address{
    min-height:0;
    padding:24px 20px !important;
  }

  .kesho-account-page .woocommerce-Address-title{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .kesho-account-page .woocommerce-Address-title a{
    text-align:left;
  }

  .kesho-account-page .woocommerce-MyAccount-content .button,
  .kesho-account-page .woocommerce-MyAccount-content a.button,
  .kesho-account-page .woocommerce-MyAccount-content .woocommerce-button,
  .kesho-account-page .woocommerce-MyAccount-content button.button{
    width:100%;
  }
}


/* ==========================================================
   Keshō correction 30 — alignement réel des adresses
   ========================================================== */

/* Les clearfix WooCommerce devenaient des éléments de la grille
   et repoussaient les cartes dans des cellules différentes. */
.kesho-account-page .woocommerce-Addresses::before,
.kesho-account-page .woocommerce-Addresses::after,
.kesho-account-page .u-columns.woocommerce-Addresses::before,
.kesho-account-page .u-columns.woocommerce-Addresses::after,
.kesho-account-page .col2-set.woocommerce-Addresses::before,
.kesho-account-page .col2-set.woocommerce-Addresses::after{
  content:none !important;
  display:none !important;
}

/* Grille explicite à deux colonnes. */
.kesho-account-page .woocommerce-MyAccount-content .woocommerce-Addresses,
.kesho-account-page .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses,
.kesho-account-page .woocommerce-MyAccount-content .col2-set.woocommerce-Addresses{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:1fr !important;
  grid-auto-flow:column !important;
  gap:28px !important;
  align-items:stretch !important;
  width:100% !important;
}

/* Force chaque carte dans la même rangée. */
.kesho-account-page .woocommerce-Addresses > .woocommerce-Address,
.kesho-account-page .woocommerce-Addresses > .u-column1,
.kesho-account-page .woocommerce-Addresses > .u-column2{
  position:static !important;
  inset:auto !important;
  float:none !important;
  clear:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  transform:none !important;
  grid-row:1 !important;
  align-self:stretch !important;
}

.kesho-account-page .woocommerce-Addresses > .u-column1,
.kesho-account-page .woocommerce-Addresses > .col-1{
  grid-column:1 !important;
}

.kesho-account-page .woocommerce-Addresses > .u-column2,
.kesho-account-page .woocommerce-Addresses > .col-2{
  grid-column:2 !important;
}

/* Les cartes conservent exactement la même hauteur et structure. */
.kesho-account-page .woocommerce-Addresses > .woocommerce-Address{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  min-height:280px !important;
  box-sizing:border-box !important;
}

/* Mobile : retour à une colonne. */
@media (max-width:760px){
  .kesho-account-page .woocommerce-MyAccount-content .woocommerce-Addresses,
  .kesho-account-page .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses,
  .kesho-account-page .woocommerce-MyAccount-content .col2-set.woocommerce-Addresses{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
    grid-auto-flow:row !important;
  }

  .kesho-account-page .woocommerce-Addresses > .u-column1,
  .kesho-account-page .woocommerce-Addresses > .u-column2,
  .kesho-account-page .woocommerce-Addresses > .col-1,
  .kesho-account-page .woocommerce-Addresses > .col-2{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* ==========================================================
   Keshō correction 31 — liens d'ajout d'adresse sur une ligne
   ========================================================== */

.kesho-account-page .woocommerce-Address-title{
  grid-template-columns:minmax(0,1fr) max-content !important;
}

.kesho-account-page .woocommerce-Address-title a{
  display:inline-block !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-align:right !important;
}

/* Un peu plus d'espace utile dans chaque carte */
.kesho-account-page .woocommerce-Address{
  padding-left:36px !important;
  padding-right:36px !important;
}

@media (max-width:760px){
  .kesho-account-page .woocommerce-Address-title{
    grid-template-columns:1fr !important;
  }

  .kesho-account-page .woocommerce-Address-title a{
    white-space:normal !important;
    text-align:left !important;
  }
}


/* ==========================================================
   Keshō correction 32 — Tableau de bord Mon compte
   ========================================================== */

.kesho-account-page .woocommerce-MyAccount-content:has(.kesho-account-dashboard){
  min-height:0;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

.kesho-account-dashboard{
  width:100%;
}

.kesho-dashboard-welcome{
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:flex-start;
  margin-bottom:24px;
  padding:30px 32px;
  border:1px solid rgba(41,37,34,.08);
  background:rgba(255,255,255,.3);
}

.kesho-dashboard-kicker{
  margin:0 0 8px !important;
  color:#7a5b45 !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:.68rem !important;
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.3 !important;
  text-transform:uppercase;
}

.kesho-dashboard-welcome h2{
  margin:0 0 9px !important;
  color:#292522;
  font-family:var(--serif,Georgia,serif) !important;
  font-size:2rem !important;
  font-weight:400 !important;
  line-height:1.1 !important;
}

.kesho-dashboard-welcome h2 span{
  display:inline-block;
  margin-left:5px;
  font-family:initial;
  font-size:1.45rem;
  transform:translateY(-1px);
}

.kesho-dashboard-welcome > div > p:last-child{
  margin:0 !important;
  color:rgba(41,37,34,.68) !important;
  font-size:.87rem !important;
}

.kesho-dashboard-logout{
  flex:0 0 auto;
  margin-top:4px;
  color:#725f50;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.74rem;
  line-height:1.3;
  text-decoration:underline;
  text-underline-offset:3px;
}

.kesho-dashboard-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.kesho-dashboard-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:230px;
  padding:28px;
  overflow:hidden;
  border:1px solid rgba(41,37,34,.08);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 28px rgba(41,37,34,.035);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.kesho-dashboard-card:hover{
  transform:translateY(-3px);
  border-color:rgba(41,37,34,.14);
  box-shadow:0 17px 38px rgba(41,37,34,.075);
}

.kesho-dashboard-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:24px;
  border-radius:50%;
  background:rgba(231,220,206,.42);
  color:#806451;
}

.kesho-dashboard-card-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.kesho-dashboard-card-copy{
  flex:1 1 auto;
}

.kesho-dashboard-card h3{
  margin:0 0 10px !important;
  color:#292522;
  font-family:var(--serif,Georgia,serif) !important;
  font-size:1.45rem !important;
  font-weight:400 !important;
  line-height:1.15 !important;
}

.kesho-dashboard-card p{
  max-width:310px;
  margin:0 !important;
  color:rgba(41,37,34,.66) !important;
  font-family:var(--sans,Arial,sans-serif) !important;
  font-size:.82rem !important;
  line-height:1.55 !important;
}

.kesho-dashboard-card > a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(41,37,34,.1);
  color:#292522;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.07em;
  text-decoration:none;
  text-transform:uppercase;
}

.kesho-dashboard-card > a svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}

.kesho-dashboard-card:hover > a svg{
  transform:translateX(3px);
}

/* Menu gauche légèrement plus confortable sur grand écran */
@media (min-width:901px){
  .kesho-account-page .woocommerce-MyAccount-navigation{
    width:285px !important;
  }

  .kesho-account-page .woocommerce-MyAccount-content{
    width:calc(100% - 325px) !important;
  }

  .kesho-account-page .woocommerce-MyAccount-navigation a{
    min-height:58px;
    font-size:.84rem;
  }
}

@media (max-width:760px){
  .kesho-dashboard-welcome{
    display:block;
    padding:24px 20px;
  }

  .kesho-dashboard-logout{
    display:inline-block;
    margin-top:18px;
  }

  .kesho-dashboard-cards{
    grid-template-columns:1fr;
    gap:16px;
  }

  .kesho-dashboard-card{
    min-height:210px;
    padding:24px 20px;
  }
}


/* ==========================================================
   Keshō correction 33 — Finitions premium du tableau de bord
   ========================================================== */

.kesho-dashboard-welcome{
  position:relative;
  overflow:hidden;
  align-items:center;
  background:
    linear-gradient(135deg,rgba(255,255,255,.72),rgba(246,239,231,.52));
}

.kesho-dashboard-welcome::after{
  content:"";
  position:absolute;
  top:-90px;
  right:-70px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(214,184,147,.12);
  pointer-events:none;
}

.kesho-dashboard-welcome-copy{
  position:relative;
  z-index:1;
}

.kesho-dashboard-shop-link{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex:0 0 auto;
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(41,37,34,.22);
  color:#292522;
  font-family:var(--sans,Arial,sans-serif);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.07em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.kesho-dashboard-shop-link:hover{
  border-color:#292522;
  background:#292522;
  color:#fff;
}

.kesho-dashboard-shop-link svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.kesho-dashboard-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0 0 20px;
  border:1px solid rgba(41,37,34,.08);
  background:rgba(255,255,255,.22);
}

.kesho-dashboard-stat{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:94px;
  padding:18px 24px;
  border-right:1px solid rgba(41,37,34,.09);
}

.kesho-dashboard-stat:last-child{
  border-right:0;
}

.kesho-dashboard-stat-value{
  color:#292522;
  font-family:var(--serif,Georgia,serif);
  font-size:1.75rem;
  font-weight:400;
  line-height:1.05;
}

.kesho-dashboard-stat-value--date{
  font-size:1.35rem;
}

.kesho-dashboard-stat-label{
  margin-top:6px;
  color:rgba(41,37,34,.58);
  font-family:var(--sans,Arial,sans-serif);
  font-size:.68rem;
  line-height:1.35;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.kesho-dashboard-card{
  background:
    linear-gradient(145deg,#fff 0%,rgba(252,248,243,.94) 100%);
  opacity:0;
  transform:translateY(14px);
  animation:keshoDashboardCardIn .55s ease forwards;
  animation-delay:var(--kesho-card-delay,0ms);
}

@keyframes keshoDashboardCardIn{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (prefers-reduced-motion:reduce){
  .kesho-dashboard-card{
    opacity:1;
    transform:none;
    animation:none;
  }
}

@media (max-width:760px){
  .kesho-dashboard-shop-link{
    width:100%;
    margin-top:20px;
  }

  .kesho-dashboard-stats{
    grid-template-columns:1fr;
  }

  .kesho-dashboard-stat{
    min-height:78px;
    border-right:0;
    border-bottom:1px solid rgba(41,37,34,.09);
  }

  .kesho-dashboard-stat:last-child{
    border-bottom:0;
  }
}


/* ==========================================================
   Keshō correction 34 — Connexion / inscription
   Deux cartes alignées et raffinées
   ========================================================== */

/* Neutralise complètement les flottants et largeurs WooCommerce. */
.kesho-account-page #customer_login,
.kesho-account-page #customer_login::before,
.kesho-account-page #customer_login::after{
  content:none !important;
  clear:none !important;
}

.kesho-account-page #customer_login{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:30px !important;
  align-items:stretch !important;
  width:100% !important;
  margin:0 !important;
}

.kesho-account-page #customer_login .u-column1,
.kesho-account-page #customer_login .u-column2,
.kesho-account-page #customer_login .col-1,
.kesho-account-page #customer_login .col-2{
  float:none !important;
  clear:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Cartes */
.kesho-account-page #customer_login > div{
  display:flex !important;
  flex-direction:column !important;
  min-height:430px;
  padding:32px !important;
  border:1px solid rgba(41,37,34,.09) !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.62),rgba(250,246,241,.68)) !important;
  box-shadow:0 12px 32px rgba(41,37,34,.035);
  box-sizing:border-box !important;
}

/* Titres */
.kesho-account-page #customer_login h2{
  margin:0 0 24px !important;
  padding:0 0 18px !important;
  border-bottom:1px solid rgba(41,37,34,.12) !important;
  color:#292522;
  font-family:var(--serif,Georgia,serif) !important;
  font-size:2rem !important;
  font-weight:400 !important;
  line-height:1.1 !important;
}

/* Formulaires dans les cartes */
.kesho-account-page #customer_login form.login,
.kesho-account-page #customer_login form.register{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto;
  width:100% !important;
}

.kesho-account-page #customer_login .form-row{
  width:100% !important;
}

/* Champs moins massifs */
.kesho-account-page #customer_login .input-text,
.kesho-account-page #customer_login input[type="text"],
.kesho-account-page #customer_login input[type="email"],
.kesho-account-page #customer_login input[type="password"]{
  min-height:52px !important;
  padding:0 14px !important;
  background:rgba(255,255,255,.72) !important;
}

/* Ligne bouton + se souvenir */
.kesho-account-page #customer_login .woocommerce-form-login__submit{
  margin-right:14px !important;
}

.kesho-account-page #customer_login .woocommerce-form-login__rememberme{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  margin:0 !important;
  min-height:52px;
  vertical-align:middle;
}

/* Les actions restent en bas des cartes */
.kesho-account-page #customer_login form.login > p:last-of-type,
.kesho-account-page #customer_login form.register > p:last-of-type{
  margin-top:auto !important;
}

.kesho-account-page #customer_login .woocommerce-LostPassword{
  margin:16px 0 0 !important;
}

.kesho-account-page #customer_login .woocommerce-privacy-policy-text{
  margin-top:8px;
}

/* Boutons cohérents et centrés */
.kesho-account-page #customer_login button.button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:150px;
  min-height:52px;
  text-align:center !important;
}

/* Sur desktop, les deux cartes occupent bien la même rangée. */
@media (min-width:701px){
  .kesho-account-page #customer_login .u-column1,
  .kesho-account-page #customer_login .col-1{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  .kesho-account-page #customer_login .u-column2,
  .kesho-account-page #customer_login .col-2{
    grid-column:2 !important;
    grid-row:1 !important;
  }
}

/* Mobile */
@media (max-width:700px){
  .kesho-account-page #customer_login{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .kesho-account-page #customer_login > div{
    min-height:0;
    padding:24px 20px !important;
  }

  .kesho-account-page #customer_login .u-column1,
  .kesho-account-page #customer_login .u-column2,
  .kesho-account-page #customer_login .col-1,
  .kesho-account-page #customer_login .col-2{
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .kesho-account-page #customer_login button.button{
    width:100%;
  }

  .kesho-account-page #customer_login .woocommerce-form-login__rememberme{
    display:flex !important;
    margin-top:12px !important;
  }
}


/* ==========================================================
   Keshō correction 35 — Connexion / inscription premium
   Style harmonisé avec le tableau de bord
   ========================================================== */

.kesho-account-page #customer_login{
  max-width:1180px !important;
  margin:0 auto !important;
  gap:24px !important;
}

.kesho-account-page #customer_login > div{
  position:relative;
  min-height:0 !important;
  padding:34px !important;
  overflow:hidden;
  border:1px solid rgba(41,37,34,.08) !important;
  border-radius:8px !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.78),rgba(248,242,235,.72)) !important;
  box-shadow:0 14px 36px rgba(41,37,34,.05);
}

.kesho-account-page #customer_login > div::after{
  content:"";
  position:absolute;
  top:-70px;
  right:-65px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(214,184,147,.11);
  pointer-events:none;
}

.kesho-account-page #customer_login h2{
  position:relative;
  z-index:1;
  margin:0 0 28px !important;
  padding:0 !important;
  border:0 !important;
  font-size:1.75rem !important;
}

.kesho-account-page #customer_login h2::after{
  content:"";
  display:block;
  width:42px;
  height:1px;
  margin-top:16px;
  background:rgba(41,37,34,.22);
}

.kesho-account-page #customer_login form.login,
.kesho-account-page #customer_login form.register{
  position:relative;
  z-index:1;
}

.kesho-account-page #customer_login .form-row{
  margin-bottom:20px !important;
}

.kesho-account-page #customer_login .form-row label{
  margin-bottom:7px !important;
  font-size:.68rem !important;
  letter-spacing:.075em !important;
}

.kesho-account-page #customer_login .input-text,
.kesho-account-page #customer_login input[type="text"],
.kesho-account-page #customer_login input[type="email"],
.kesho-account-page #customer_login input[type="password"]{
  min-height:50px !important;
  border:1px solid rgba(41,37,34,.14) !important;
  background:rgba(255,255,255,.86) !important;
}

.kesho-account-page #customer_login .input-text:focus,
.kesho-account-page #customer_login input:focus{
  border-color:rgba(41,37,34,.4) !important;
  box-shadow:0 0 0 3px rgba(41,37,34,.045) !important;
}

.kesho-account-page #customer_login .woocommerce-form-login__submit,
.kesho-account-page #customer_login .woocommerce-form-register__submit{
  min-width:170px;
  min-height:50px;
}

.kesho-account-page #customer_login .woocommerce-form-login__rememberme{
  margin-left:4px !important;
  font-size:.72rem;
}

.kesho-account-page #customer_login .woocommerce-LostPassword{
  margin-top:18px !important;
}

.kesho-account-page #customer_login .woocommerce-LostPassword a{
  color:#725f50;
  text-decoration:underline;
  text-underline-offset:3px;
}

.kesho-account-page #customer_login .woocommerce-privacy-policy-text{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(41,37,34,.08);
  font-size:.73rem !important;
  line-height:1.6 !important;
}

.kesho-account-page #customer_login .woocommerce-privacy-policy-text p{
  margin:0 !important;
}

/* Actions mieux alignées */
.kesho-account-page #customer_login form.login > p.form-row:last-of-type{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap;
  gap:14px;
  margin-top:8px !important;
}

.kesho-account-page #customer_login form.register > p.form-row:last-of-type{
  margin-top:20px !important;
}

/* Évite le grand vide en bas */
.kesho-account-page #customer_login form.login > p:last-of-type,
.kesho-account-page #customer_login form.register > p:last-of-type{
  margin-top:0 !important;
}

/* Mobile */
@media (max-width:700px){
  .kesho-account-page #customer_login{
    max-width:none !important;
  }

  .kesho-account-page #customer_login > div{
    padding:26px 22px !important;
  }

  .kesho-account-page #customer_login h2{
    font-size:1.6rem !important;
  }

  .kesho-account-page #customer_login form.login > p.form-row:last-of-type{
    display:block !important;
  }

  .kesho-account-page #customer_login .woocommerce-form-login__rememberme{
    margin:12px 0 0 !important;
  }
}


/* ==========================================================
   Keshō correction 36 — Marges internes des cartes connexion
   ========================================================== */

/* Plus d'air intérieur dans les deux cartes */
.kesho-account-page #customer_login > div{
  padding:42px !important;
}

/* Le contenu reste bien rentré dans la carte */
.kesho-account-page #customer_login h2,
.kesho-account-page #customer_login form.login,
.kesho-account-page #customer_login form.register{
  width:100% !important;
  box-sizing:border-box !important;
}

/* Trait sous les titres raccourci et mieux proportionné */
.kesho-account-page #customer_login h2::after{
  width:120px !important;
  margin-top:18px !important;
}

/* Champs parfaitement alignés avec les marges de la carte */
.kesho-account-page #customer_login .form-row,
.kesho-account-page #customer_login .woocommerce-privacy-policy-text,
.kesho-account-page #customer_login .woocommerce-LostPassword{
  width:100% !important;
  box-sizing:border-box !important;
}

/* Espacement vertical plus généreux */
.kesho-account-page #customer_login .form-row{
  margin-bottom:24px !important;
}

.kesho-account-page #customer_login .woocommerce-privacy-policy-text{
  margin-top:20px !important;
  padding-top:20px !important;
}

.kesho-account-page #customer_login .woocommerce-LostPassword{
  margin-top:22px !important;
}

/* Garde les actions éloignées du bas de la carte */
.kesho-account-page #customer_login form.login,
.kesho-account-page #customer_login form.register{
  padding-bottom:6px !important;
}

/* Boutons mieux proportionnés */
.kesho-account-page #customer_login .woocommerce-form-login__submit,
.kesho-account-page #customer_login .woocommerce-form-register__submit{
  min-width:190px;
}

/* Mobile : marges plus compactes mais toujours élégantes */
@media (max-width:700px){
  .kesho-account-page #customer_login > div{
    padding:28px 22px !important;
  }

  .kesho-account-page #customer_login h2::after{
    width:84px !important;
  }
}


/* ==========================================================
   Keshō correction 37 — vrai conteneur intérieur
   ========================================================== */

/* La carte reste le cadre extérieur. */
.kesho-account-page #customer_login > div{
  padding:0 !important;
  overflow:hidden !important;
}

/* Titres et formulaires sont réellement rétrécis et centrés. */
.kesho-account-page #customer_login > div > h2,
.kesho-account-page #customer_login > div > form{
  width:calc(100% - 80px) !important;
  max-width:calc(100% - 80px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Marge haute du titre. */
.kesho-account-page #customer_login > div > h2{
  margin-top:40px !important;
  margin-bottom:30px !important;
}

/* Marge basse du formulaire. */
.kesho-account-page #customer_login > div > form{
  margin-bottom:40px !important;
  padding:0 !important;
}

/* Les lignes et champs restent contenus dans la largeur intérieure. */
.kesho-account-page #customer_login form .form-row,
.kesho-account-page #customer_login form .woocommerce-privacy-policy-text,
.kesho-account-page #customer_login form .woocommerce-LostPassword{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

.kesho-account-page #customer_login form input.input-text,
.kesho-account-page #customer_login form input[type="text"],
.kesho-account-page #customer_login form input[type="email"],
.kesho-account-page #customer_login form input[type="password"]{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Les séparateurs restent également à l'intérieur. */
.kesho-account-page #customer_login h2::after{
  margin-left:0 !important;
}

/* Mobile */
@media (max-width:700px){
  .kesho-account-page #customer_login > div > h2,
  .kesho-account-page #customer_login > div > form{
    width:calc(100% - 40px) !important;
    max-width:calc(100% - 40px) !important;
  }

  .kesho-account-page #customer_login > div > h2{
    margin-top:26px !important;
  }

  .kesho-account-page #customer_login > div > form{
    margin-bottom:26px !important;
  }
}
