/* Tabou-Raie : espace client (connexion, inscription, tableau de bord, commandes, adresses, profil). Mobile d'abord. */

:root{--tb-sauge:#abb092;--tb-sauge-fonce:#6b6e5a;--tb-orange:#fe5b24;--tb-studio:#efede8;--tb-ombre:0 1px 2px rgba(0,0,0,.03),0 14px 34px -22px rgba(0,0,0,.28)}

/* ---------- Cadre de la page ---------- */
body.woocommerce-account main.site-content{padding-top:0!important;padding-bottom:0!important}
body.woocommerce-account .entry-content>.woocommerce{max-width:1120px!important;margin:0 auto!important;padding:clamp(1.5rem,4vw,3.25rem) 0 clamp(3rem,7vw,5rem)!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;background:none!important}
body.woocommerce-account .entry-content>.woocommerce::before,body.woocommerce-account .entry-content>.woocommerce::after{display:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.woocommerce-account .woocommerce-MyAccount-content>p:empty{display:none}
.woocommerce-account .woocommerce a{text-underline-offset:3px}
.tb-ico{flex:none;width:20px;height:20px}

/* ---------- Titres ---------- */
.tb-acc-eyebrow{margin:0;color:var(--tb-bleu);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tb-acc-h1{margin:.3rem 0 .5rem;font-size:clamp(1.75rem,5.2vw,2.75rem);line-height:1.08;font-weight:700;letter-spacing:-.01em;color:var(--tb-noir)}
.tb-acc-lead{margin:0;color:var(--tb-gris);font-size:clamp(1rem,2.4vw,1.1rem);line-height:1.5}
.tb-acc-h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--tb-noir);line-height:1.25}
.tb-acc-head{margin:0 0 clamp(1.25rem,3vw,1.75rem)}
.tb-acc-head--center{text-align:center;max-width:520px;margin-left:auto;margin-right:auto}
.tb-wave{display:inline-block;transform-origin:70% 75%;animation:tbWave 1.8s ease-in-out .7s 1}

/* ---------- Champs de formulaire ---------- */
.woocommerce-account .woocommerce form .form-row{float:none!important;width:auto!important;padding:0!important;margin:0 0 1rem!important}
.woocommerce-account .woocommerce form label{display:block;margin:0 0 .4rem;font-weight:700;font-size:.92rem;color:var(--tb-noir);line-height:1.3}
.woocommerce-account .woocommerce form .required{color:var(--tb-orange);text-decoration:none;border:0}
.woocommerce-account .woocommerce form .input-text,.woocommerce-account .woocommerce form select,.woocommerce-account .woocommerce form textarea{width:100%;min-height:52px;padding:0 16px!important;border:1.5px solid rgba(0,0,0,.14)!important;border-radius:14px!important;background:#fff!important;color:var(--tb-noir);font-family:inherit;font-size:16px!important;line-height:1.3;box-shadow:none!important;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.woocommerce-account .woocommerce form textarea{padding:12px 16px!important;min-height:110px}
.woocommerce-account .woocommerce form .input-text:hover,.woocommerce-account .woocommerce form select:hover{border-color:rgba(0,0,0,.3)!important}
.woocommerce-account .woocommerce form .input-text:focus,.woocommerce-account .woocommerce form select:focus,.woocommerce-account .woocommerce form textarea:focus{outline:none;border-color:var(--tb-bleu)!important;box-shadow:0 0 0 4px rgba(6,147,227,.15)!important}
.woocommerce-account .woocommerce form .woocommerce-invalid .input-text{border-color:#d4502a!important}
.woocommerce-account .select2-container .select2-selection--single{height:52px;border:1.5px solid rgba(0,0,0,.14);border-radius:14px;display:flex;align-items:center;padding:0 6px}
.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow{height:50px;right:8px;top:0}
.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered{padding:0 10px!important;line-height:1.3!important;color:var(--tb-noir);font-size:16px}
.woocommerce-account .select2-container--open .select2-selection--single,.woocommerce-account .select2-container--focus .select2-selection--single{border-color:var(--tb-bleu);box-shadow:0 0 0 4px rgba(6,147,227,.15)}

/* Afficher / masquer le mot de passe */
.woocommerce-account .password-input{position:relative;display:block;width:100%}
.woocommerce-account .password-input .input-text{padding-right:54px!important}
.woocommerce-account .show-password-input{position:absolute!important;top:50%!important;right:4px!important;transform:translateY(-50%);width:44px!important;height:44px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;color:var(--tb-gris);cursor:pointer;display:grid!important;place-items:center}
.woocommerce-account .show-password-input::before{display:none!important}
.woocommerce-account .show-password-input::after{content:""!important;position:static!important;display:block!important;width:20px;height:20px;margin:0!important;background:currentColor;-webkit-mask:var(--tb-oeil) center/contain no-repeat;mask:var(--tb-oeil) center/contain no-repeat;--tb-oeil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
.woocommerce-account .show-password-input.display-password::after{--tb-oeil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 4.2A10 10 0 0 1 12 4c6.5 0 10 8 10 8a17 17 0 0 1-2.2 3.2M6.6 6.6C3.9 8.4 2 12 2 12s3.5 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='m2 2 20 20'/%3E%3C/svg%3E")}
.woocommerce-account .show-password-input:hover{color:var(--tb-noir);background:rgba(0,0,0,.04)!important}

/* Case à cocher */
.woocommerce-account .woocommerce input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:none;width:22px;height:22px;margin:0;border:1.5px solid rgba(0,0,0,.28);border-radius:7px;background:#fff;display:inline-grid;place-content:center;cursor:pointer;transition:background .2s,border-color .2s}
.woocommerce-account .woocommerce input[type=checkbox]::before{content:"";width:12px;height:12px;background:#fff;transform:scale(0);transition:transform .2s cubic-bezier(.3,1.6,.5,1);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.woocommerce-account .woocommerce input[type=checkbox]:checked{background:var(--tb-bleu);border-color:var(--tb-bleu)}
.woocommerce-account .woocommerce input[type=checkbox]:checked::before{transform:scale(1)}
.woocommerce-account .woocommerce input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(6,147,227,.2)}

/* Indicateur de solidité du mot de passe */
.woocommerce-account .woocommerce-password-strength{margin-top:.5rem;padding:.45rem .8rem;border:0!important;border-radius:10px;font-size:.85rem;font-weight:700;text-align:left;background:#f1f0ec;color:var(--tb-gris)}
.woocommerce-account .woocommerce-password-strength.short,.woocommerce-account .woocommerce-password-strength.bad{background:#fde8e1;color:#a8350c}
.woocommerce-account .woocommerce-password-strength.good{background:#fff3d6;color:#7d5300}
.woocommerce-account .woocommerce-password-strength.strong{background:#e6f1e1;color:#2e6326}
.woocommerce-account .woocommerce-password-hint{display:block;margin-top:.35rem;font-size:.8rem;color:var(--tb-gris);line-height:1.45}

/* ---------- Boutons ---------- */
.woocommerce-account .woocommerce .button,.woocommerce-account .woocommerce button.button,.tb-btn{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:.55rem;min-height:54px;padding:0 1.75rem!important;border:0!important;border-radius:999px!important;background:var(--tb-bleu)!important;color:#fff!important;font-family:inherit;font-weight:700!important;font-size:1.05rem!important;line-height:1.2;text-decoration:none!important;cursor:pointer;box-shadow:0 10px 22px -12px rgba(6,147,227,.75);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.woocommerce-account .woocommerce .button:hover,.tb-btn:hover{background:var(--tb-bleu-fonce)!important;transform:translateY(-2px);box-shadow:0 16px 28px -14px rgba(6,147,227,.85)}
.woocommerce-account .woocommerce .button:active,.tb-btn:active{transform:translateY(0) scale(.98)}
.woocommerce-account .woocommerce .button .tb-ico,.tb-btn .tb-ico{transition:transform .25s ease}
.woocommerce-account .woocommerce .button:hover .tb-ico[viewBox],.tb-btn:hover .tb-ico{transform:translateX(3px)}
.woocommerce-account .woocommerce .button:focus-visible,.tb-btn:focus-visible,.tb-pill:focus-visible,.tb-tile:focus-visible,.tb-acc-tab:focus-visible{outline:3px solid var(--tb-noir);outline-offset:3px}
.woocommerce-account .woocommerce .button:disabled,.woocommerce-account .woocommerce .button.disabled{opacity:.45!important;transform:none!important;box-shadow:none!important;cursor:not-allowed}
.woocommerce-account .woocommerce .button.is-loading{color:transparent!important;pointer-events:none}
.woocommerce-account .woocommerce .button.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:22px;height:22px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:tbSpin .7s linear infinite}
.tb-pill{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#fff;color:var(--tb-noir)!important;font-weight:700;font-size:.92rem;line-height:1.2;text-decoration:none!important;white-space:nowrap;transition:border-color .2s,background .2s,color .2s,transform .2s}
.tb-pill:hover{border-color:var(--tb-noir);transform:translateY(-1px)}
.tb-pill .tb-ico{width:18px;height:18px}
.tb-pill--blue{background:var(--tb-bleu);border-color:var(--tb-bleu);color:#fff!important}
.tb-pill--blue:hover{background:var(--tb-bleu-fonce);border-color:var(--tb-bleu-fonce)}

/* ---------- Messages (erreurs, confirmations) ---------- */
.woocommerce-account .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-account .wc-block-components-notice-banner{border-radius:16px!important;padding:.9rem 1rem!important;margin:0 0 1.25rem!important;font-size:.95rem;line-height:1.5;align-items:flex-start;box-shadow:none}
.woocommerce-account .woocommerce-error,.woocommerce-account .woocommerce-message,.woocommerce-account .woocommerce-info{margin:0 0 1.25rem!important;padding:.9rem 1rem .9rem 2.75rem!important;border:1px solid var(--tb-bord)!important;border-radius:16px!important;background:#fff!important;list-style:none;font-size:.95rem;line-height:1.5}
.woocommerce-account .woocommerce-error{border-color:#f3c3b3!important;background:#fff6f3!important}
.woocommerce-account .woocommerce-message{border-color:#cfe3c7!important;background:#f5faf2!important}
.woocommerce-account .woocommerce-info{border-color:#cfe5f5!important;background:#f3f9fd!important}
.woocommerce-account .wc-block-components-notice-banner__content{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}
.woocommerce-account .wc-block-components-notice-banner__content .button{order:2;min-height:40px!important;padding:0 1.1rem!important;font-size:.9rem!important;box-shadow:none!important;transform:none!important}
.woocommerce-account .woocommerce-error::before,.woocommerce-account .woocommerce-message::before,.woocommerce-account .woocommerce-info::before{top:.95rem!important;left:1rem!important}

/* ---------- Connexion / création de compte ---------- */
.tb-acc--guest{max-width:1000px;margin:0 auto}
.tb-acc-hero{text-align:center;max-width:560px;margin:0 auto clamp(1.5rem,4vw,2.5rem)}
.tb-acc-mark{display:block;width:56px;height:56px;margin:0 auto .9rem;transform-origin:50% 92%;animation:tbUp .6s cubic-bezier(.2,.7,.2,1) backwards,tbRock 2.4s ease-in-out .8s 2}
.tb-acc-grid{display:grid;gap:1rem}
.tb-acc-card{background:#fff;border:1px solid var(--tb-bord);border-radius:24px;padding:clamp(1.25rem,4.5vw,2.1rem);box-shadow:var(--tb-ombre)}
.tb-acc-card-title{margin:0;font-size:clamp(1.3rem,3.4vw,1.55rem);font-weight:700;color:var(--tb-noir)}
.tb-acc-card-sub{margin:.3rem 0 1.25rem;color:var(--tb-gris);font-size:.97rem}
.tb-acc .woocommerce-form{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.tb-acc--guest form .required{display:none}
.tb-acc-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;margin:-.35rem 0 .9rem}
.tb-acc-row .woocommerce-form-login__rememberme{display:inline-flex!important;align-items:center;gap:.6rem;min-height:44px;margin:0!important;font-weight:600!important;font-size:.93rem!important;cursor:pointer}
.tb-acc-row .lost_password{margin:0}
.tb-acc-row .lost_password a,.woocommerce-account .woocommerce .lost_password a{display:inline-flex;align-items:center;min-height:44px;color:var(--tb-bleu);font-weight:700;font-size:.93rem;text-decoration:none}
.tb-acc-row .lost_password a:hover{text-decoration:underline}
.tb-acc-submit{margin:0!important}
.tb-acc-submit .button{width:100%!important;margin:0!important}
.tb-acc-perks{list-style:none;display:grid;gap:.55rem;margin:.9rem 0 1.25rem;padding:.9rem 1rem;border-radius:18px;background:rgba(171,176,146,.17)}
.tb-acc-perks li{display:flex;align-items:center;gap:.7rem;font-weight:600;font-size:.95rem;line-height:1.3;color:var(--tb-noir);animation:tbSlide .5s cubic-bezier(.2,.7,.2,1) backwards}
.tb-acc-perks li:nth-child(1){animation-delay:.55s}.tb-acc-perks li:nth-child(2){animation-delay:.65s}.tb-acc-perks li:nth-child(3){animation-delay:.75s}
.tb-acc-perks .tb-ico{width:34px;height:34px;padding:7px;border-radius:11px;background:#fff;color:var(--tb-sauge-fonce)}
.woocommerce-account .woocommerce-privacy-policy-text p{margin:0 0 1rem;font-size:.82rem;line-height:1.5;color:var(--tb-gris)}
.woocommerce-account .woocommerce-privacy-policy-text a{color:inherit;text-decoration:underline}
.tb-acc-guest-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem;margin:clamp(1.5rem,4vw,2.25rem) auto 0;max-width:640px;text-align:center;color:var(--tb-gris);font-size:.95rem;line-height:1.45}
.tb-acc-guest-note .tb-ico{color:var(--tb-sauge-fonce)}
.tb-acc-guest-note a{color:var(--tb-bleu);font-weight:700;text-decoration:none;white-space:nowrap}
.tb-acc-guest-note a::after{content:" →";display:inline-block;transition:transform .2s}
.tb-acc-guest-note a:hover::after{transform:translateX(3px)}

/* Onglets « Se connecter / Créer un compte » : téléphone et tablette */
.tb-acc-tabs{display:none}
@media(max-width:859px){
  .tb-acc.is-tabbed .tb-acc-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;max-width:420px;margin:0 auto 1rem;padding:4px;border-radius:999px;background:#e8e6e0}
  .tb-acc.is-tabbed .tb-acc-tabs::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:transform .4s cubic-bezier(.3,1.25,.5,1)}
  .tb-acc.is-tabbed[data-tab=register] .tb-acc-tabs::before{transform:translateX(100%)}
  .tb-acc-tab{position:relative;z-index:1;min-height:46px;padding:0 .5rem;border:0;border-radius:999px;background:none;color:var(--tb-gris);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:color .25s}
  .tb-acc-tab[aria-selected=true]{color:var(--tb-noir)}
  .tb-acc.is-tabbed[data-tab=login] .tb-acc-panel--register,.tb-acc.is-tabbed[data-tab=register] .tb-acc-panel--login{display:none}
  .tb-acc.is-tabbed.is-switched .tb-acc-panel{animation:tbPanel .45s cubic-bezier(.2,.7,.2,1) backwards}
}
@media(min-width:860px){
  .tb-acc-grid{grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch}
}

/* Mot de passe oublié / réinitialisation */
.woocommerce-account .woocommerce form.lost_reset_password{max-width:480px;margin:0 auto!important;padding:clamp(1.25rem,4.5vw,2rem)!important;border:1px solid var(--tb-bord)!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--tb-ombre);animation:tbUp .6s cubic-bezier(.2,.7,.2,1) .2s backwards}
.woocommerce-account form.lost_reset_password>p:first-child:empty{display:none}
.woocommerce-account form.lost_reset_password .button{width:100%}
.woocommerce-account .tb-acc-head--center{animation:tbUp .6s cubic-bezier(.2,.7,.2,1) backwards}
.woocommerce-account .woocommerce>.tb-acc-head--center~p{max-width:520px;margin:0 auto;text-align:center;color:var(--tb-gris)}

/* ---------- Espace client connecté ---------- */
.tb-acc-hello{display:none}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;gap:.5rem;margin:0;padding:.25rem 0 .5rem;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
.woocommerce-account .woocommerce-MyAccount-navigation li{flex:none;margin:0;padding:0;border:0;scroll-snap-align:start;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{padding-right:28px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem;border:1px solid var(--tb-bord);border-radius:999px;background:#fff;color:var(--tb-noir)!important;font-weight:700;font-size:.95rem;text-decoration:none!important;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.woocommerce-account .woocommerce-MyAccount-navigation li a .tb-ico{width:18px;height:18px;color:var(--tb-gris);transition:color .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover .tb-ico{transform:scale(1.12) rotate(-6deg)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--tb-noir);border-color:var(--tb-noir);color:#fff!important}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a .tb-ico{color:var(--tb-sauge)}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--tb-gris)!important}
.tb-acc-side{margin:0 0 1.25rem}

@media(min-width:900px){
  body.woocommerce-account.logged-in .entry-content>.woocommerce{display:grid!important;grid-template-columns:270px minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
  body.woocommerce-account.logged-in .entry-content>.woocommerce>*{grid-column:1/-1}
  body.woocommerce-account.logged-in .entry-content>.woocommerce>.tb-acc-side{grid-column:1;position:sticky;top:96px;margin:0}
  body.woocommerce-account.logged-in .entry-content>.woocommerce>.woocommerce-MyAccount-content{grid-column:2}
  .tb-acc-side{padding:1rem;border:1px solid var(--tb-bord);border-radius:24px;background:#fff;box-shadow:var(--tb-ombre)}
  .tb-acc-hello{display:flex;align-items:center;gap:.8rem;padding:.4rem .4rem 1rem;margin-bottom:.6rem;border-bottom:1px solid var(--tb-bord)}
  .tb-acc-hello>div{min-width:0}
  .tb-acc-avatar{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--tb-sauge);color:#fff;font-size:1.25rem;font-weight:700}
  .tb-acc-hello-name{margin:0;font-weight:700;font-size:1.05rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tb-acc-hello-mail{margin:.1rem 0 0;color:var(--tb-gris);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;gap:2px;padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .woocommerce-account .woocommerce-MyAccount-navigation li:last-child{padding-right:0;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--tb-bord)}
  .woocommerce-account .woocommerce-MyAccount-navigation li a{min-height:46px;padding:0 .9rem;border:0;border-radius:14px;background:none;gap:.75rem}
  .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--tb-fond)}
  .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--tb-noir)}
  .woocommerce-account .woocommerce-MyAccount-navigation li a .tb-ico{width:20px;height:20px}
  .tb-acc-logout{display:none}
}

/* Tableau de bord */
.tb-acc-block{margin:0 0 clamp(1.5rem,3.5vw,2rem)}
.tb-acc-block-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;margin:0 0 .8rem}
.tb-acc-more{color:var(--tb-bleu)!important;font-weight:700;font-size:.92rem;text-decoration:none!important}
.tb-acc-more::after{content:" →"}
.tb-acc-tiles{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem}
.tb-tile{display:flex;align-items:center;gap:.9rem;min-height:76px;padding:.9rem 1.1rem;border:1px solid var(--tb-bord);border-radius:20px;background:#fff;color:var(--tb-noir)!important;text-decoration:none!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.tb-tile:hover{transform:translateY(-3px);border-color:rgba(0,0,0,.12);box-shadow:0 18px 34px -22px rgba(0,0,0,.4)}
.tb-tile-ico{flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(6,147,227,.1);color:var(--tb-bleu);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.tb-tile:nth-child(2) .tb-tile-ico{background:rgba(171,176,146,.22);color:var(--tb-sauge-fonce)}
.tb-tile:nth-child(3) .tb-tile-ico{background:rgba(254,91,36,.1);color:#d2441a}
.tb-tile:nth-child(4) .tb-tile-ico{background:var(--tb-studio);color:var(--tb-noir)}
.tb-tile:hover .tb-tile-ico{transform:rotate(-8deg) scale(1.08)}
.tb-tile-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.tb-tile-txt strong{font-size:1.02rem;line-height:1.25}
.tb-tile-txt span{color:var(--tb-gris);font-size:.86rem;line-height:1.3}
.tb-tile>.tb-ico{color:#b9b9b9;transition:transform .25s,color .25s}
.tb-tile:hover>.tb-ico{transform:translateX(3px);color:var(--tb-noir)}
@media(min-width:600px){.tb-acc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tb-acc-help{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.25rem,4vw,1.75rem);border-radius:24px;background:var(--tb-noir);color:#fff}
.tb-acc-help .tb-acc-h2{color:#fff}
.tb-acc-help p{margin:.35rem 0 0;color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.5}
.tb-acc-help-links{display:flex;flex-wrap:wrap;gap:.5rem}
.tb-acc-help .tb-pill{background:transparent;border-color:rgba(255,255,255,.28);color:#fff!important}
.tb-acc-help .tb-pill:hover{background:#fff;color:var(--tb-noir)!important;border-color:#fff}
@media(min-width:700px){.tb-acc-help{flex-direction:row;align-items:center;justify-content:space-between}.tb-acc-help-links{flex:none}}
.tb-acc-logout{margin:1.5rem 0 0;text-align:center}
.tb-acc-logout a{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:var(--tb-gris)!important;font-weight:600;font-size:.93rem;text-decoration:none!important}
.tb-acc-logout a .tb-ico{width:18px;height:18px}

.tb-acc-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:clamp(1.75rem,5vw,2.75rem) 1.25rem;margin:0 0 clamp(1.5rem,3.5vw,2rem);border:1.5px dashed rgba(0,0,0,.14);border-radius:24px;background:rgba(255,255,255,.6);text-align:center}
.tb-acc-empty img{width:56px;height:56px;margin-bottom:.4rem;transform-origin:50% 92%;animation:tbRock 2.4s ease-in-out .9s 2}
.tb-acc-empty p{margin:0 0 .75rem;max-width:400px;color:var(--tb-gris);line-height:1.5}

/* Cartes de commande */
.tb-orders{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}
.tb-order{position:relative;padding:1.1rem 1.1rem 1rem;border:1px solid var(--tb-bord);border-radius:22px;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.tb-order:hover{transform:translateY(-2px);border-color:rgba(0,0,0,.12);box-shadow:0 20px 40px -26px rgba(0,0,0,.4)}
.tb-order-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.tb-order-link:focus-visible{outline:3px solid var(--tb-noir);outline-offset:3px}
.tb-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.tb-order-num{margin:0;font-weight:700;font-size:1.05rem;line-height:1.25;color:var(--tb-noir)}
.tb-order-date{margin:.15rem 0 0;color:var(--tb-gris);font-size:.88rem}
.tb-order-body{display:flex;align-items:center;gap:.9rem;margin-top:1rem}
.tb-order-thumbs{display:flex;flex:none}
.tb-order-thumb{width:56px;height:56px;margin-left:-14px;border:2px solid #fff;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:var(--tb-studio);box-shadow:0 3px 8px rgba(0,0,0,.08)}
.tb-order-thumb:first-child{margin-left:0}
.tb-order-thumb img{display:block;width:100%!important;height:100%!important;object-fit:cover;margin:0!important}
.tb-order-thumb--more{color:var(--tb-gris);font-weight:700;font-size:.85rem}
.tb-order-sum{flex:1;min-width:0}
.tb-order-items{margin:0;overflow:hidden;color:var(--tb-noir);font-size:.93rem;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}
.tb-order-total{margin:.2rem 0 0;color:var(--tb-gris);font-size:.88rem}
.tb-order-total strong{margin-right:.25rem;color:var(--tb-noir);font-size:1.05rem}
.tb-order-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.9rem;border-top:1px dashed rgba(0,0,0,.12)}
.tb-order-actions .view{margin-left:auto}
.tb-order-actions .view .tb-ico{transition:transform .25s}
.tb-order:hover .tb-order-actions .view .tb-ico{transform:translateX(3px)}
.tb-acc-pager{display:flex;justify-content:space-between;gap:.5rem;margin-top:1.25rem}

/* Pastilles de statut */
.tb-status{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding:.32rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.2;white-space:nowrap}
.tb-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.tb-status--done{background:#e6f0df;color:#35612a}
.tb-status--move{background:#e2f1fb;color:#035f96}
.tb-status--move::before{animation:tbPulse 1.8s ease-out infinite}
.tb-status--prep{background:#fff0dd;color:#934a06}
.tb-status--wait{background:#f3efe2;color:#6b5b1f}
.tb-status--alert{background:#fde6df;color:#a8350c}
.tb-status--off{background:#eeeeec;color:#5f5f5f}

/* Frise de suivi */
.tb-track{--tb-dot:30px;margin-top:1.1rem}
.tb-track--compact{--tb-dot:20px;margin-top:1rem}
.tb-track-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}
.tb-track-steps::before,.tb-track-steps::after{content:"";position:absolute;top:calc(var(--tb-dot)/2 - 2px);left:12.5%;height:4px;border-radius:4px;background:#e9e7e1}
.tb-track-steps::before{right:12.5%}
.tb-track-steps::after{width:calc((var(--tb-level) - 1) * 25%);background:var(--tb-bleu);transform-origin:left;animation:tbFill .9s cubic-bezier(.3,.8,.3,1) .35s backwards}
.tb-track-steps li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:0;padding:0 2px;text-align:center;list-style:none}
.tb-track-dot{width:var(--tb-dot);height:var(--tb-dot);border:3px solid #e9e7e1;border-radius:50%;display:grid;place-items:center;background:#fff;color:#fff;animation:tbPop .45s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:calc(.3s + var(--i)*.18s)}
.tb-track-dot .tb-ico{width:60%;height:60%;stroke-width:3.2}
.tb-track li.is-done .tb-track-dot{border-color:var(--tb-bleu);background:var(--tb-bleu)}
.tb-track li.is-current .tb-track-dot{border-color:var(--tb-bleu);box-shadow:0 0 0 0 rgba(6,147,227,.35);animation:tbPop .45s cubic-bezier(.3,1.6,.5,1) backwards,tbRing 2s ease-out 1.2s infinite;animation-delay:calc(.3s + var(--i)*.18s),1.2s}
.tb-track li.is-current .tb-track-dot::after{content:"";width:40%;height:40%;border-radius:50%;background:var(--tb-bleu)}
.tb-track-label{color:#8a8a8a;font-size:.8rem;font-weight:600;line-height:1.25}
.tb-track li.is-done .tb-track-label,.tb-track li.is-current .tb-track-label{color:var(--tb-noir)}
.tb-track li.is-current .tb-track-label{font-weight:700}
.tb-track--compact .tb-track-steps li{gap:.3rem}
.tb-track--compact .tb-track-dot{border-width:2.5px}
.tb-track--compact .tb-track-label{font-size:.72rem}
.tb-track-msg{margin:1rem 0 0;color:var(--tb-noir);font-weight:700;text-align:center;line-height:1.45}

/* Détail d'une commande */
.tb-acc-back{margin:0 0 .75rem}
.tb-acc-back--center{margin:1rem 0 0;text-align:center}
.woocommerce-account .wc-block-components-notice-banner:focus{outline:none}
.tb-acc-back a{display:inline-flex;align-items:center;min-height:44px;color:var(--tb-gris)!important;font-weight:700;font-size:.93rem;text-decoration:none!important}
.tb-acc-back a:hover{color:var(--tb-noir)!important}
.tb-view-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem}
.tb-view-head .tb-status{margin-top:.6rem;font-size:.85rem;padding:.4rem .85rem}
.tb-view-track{margin:0 0 1.25rem;padding-bottom:clamp(1.25rem,4vw,1.75rem)}
.tb-view-track .tb-track{margin-top:.25rem}
.tb-view-track .tb-btn{display:flex!important;width:100%;max-width:420px;margin:1.25rem auto 0}
.tb-acc-card>.tb-acc-h2{margin-bottom:.9rem}
.woocommerce-MyAccount-content .tb-acc-card+.tb-acc-card{margin-top:1.25rem}
.tb-notes{margin:0;padding:0;list-style:none;display:grid;gap:.9rem}
.tb-notes li{margin:0;padding:0 0 0 1rem;border-left:3px solid var(--tb-sauge);list-style:none}
.tb-notes .meta{margin:0 0 .2rem;color:var(--tb-gris);font-size:.82rem;font-weight:600}
.tb-notes .description p{margin:0;line-height:1.5}
.tb-view-details{margin-top:1.25rem}
.tb-view-details .woocommerce-order-details,.tb-view-details .woocommerce-customer-details{margin:0 0 1.25rem;padding:clamp(1.1rem,3.5vw,1.75rem);border:1px solid var(--tb-bord);border-radius:24px;background:#fff}
.tb-view-details h2{margin:0 0 .8rem!important;font-size:1.15rem!important;font-weight:700;color:var(--tb-noir)}
.tb-view-details table.shop_table{width:100%;margin:0!important;border:0!important;border-radius:0!important;border-collapse:collapse}
.tb-view-details table.shop_table th,.tb-view-details table.shop_table td{padding:.75rem 0!important;border:0!important;border-top:1px solid var(--tb-bord)!important;background:none!important;text-align:left;vertical-align:top;font-size:.95rem;line-height:1.45}
.tb-view-details table.shop_table thead th{padding-top:0!important;border-top:0!important;color:var(--tb-gris);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.tb-view-details table.shop_table th:last-child,.tb-view-details table.shop_table td:last-child{padding-left:1rem!important;text-align:right}
.tb-view-details table.shop_table tfoot th{font-weight:600;color:var(--tb-gris)}
.tb-view-details table.shop_table tfoot tr:last-child th,.tb-view-details table.shop_table tfoot tr:last-child td{color:var(--tb-noir);font-size:1.1rem;font-weight:700}
.tb-view-details .product-name a{color:var(--tb-noir)!important;font-weight:700;text-decoration:none!important}
.tb-view-details .product-quantity{color:var(--tb-gris);font-weight:600}
.tb-view-details .wc-item-meta{margin:.3rem 0 0;padding:0;list-style:none;color:var(--tb-gris);font-size:.85rem}
.tb-view-details .wc-item-meta li{margin:0;list-style:none}
.tb-view-details .wc-item-meta p,.tb-view-details .wc-item-meta strong{display:inline;margin:0;font-weight:600}
.tb-view-details .order-again{margin:1.25rem 0 0}
@media(max-width:599px){.tb-view-details .order-again .button{width:100%}}
.tb-view-details address{margin:0;padding:0!important;border:0!important;font-style:normal;line-height:1.65}
.tb-view-details .woocommerce-columns--addresses{display:grid;gap:1.25rem}
.tb-view-details .woocommerce-column{float:none!important;width:auto!important;margin:0!important;padding:0!important}
.tb-view-details .woocommerce-columns--addresses::before,.tb-view-details .woocommerce-columns--addresses::after{display:none!important}
@media(min-width:600px){.tb-view-details .woocommerce-columns--addresses{grid-template-columns:1fr 1fr}}

/* Adresses */
.woocommerce-account .woocommerce-MyAccount-content>p:first-of-type:not([class]){color:var(--tb-gris)}
.woocommerce-account .woocommerce-Addresses{display:grid;gap:1rem;margin:0}
.woocommerce-account .woocommerce-Addresses::before,.woocommerce-account .woocommerce-Addresses::after,.woocommerce-account .woocommerce-Address-title::before,.woocommerce-account .woocommerce-Address-title::after{display:none!important}
.woocommerce-account .woocommerce-Address{float:none!important;width:auto!important;margin:0!important;padding:clamp(1.1rem,3.5vw,1.6rem);border:1px solid var(--tb-bord);border-radius:22px;background:#fff;animation:tbUp .6s cubic-bezier(.2,.7,.2,1) .15s backwards}
.woocommerce-account .woocommerce-Address+.woocommerce-Address{animation-delay:.25s}
.woocommerce-account .woocommerce-Address-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:0 0 .8rem}
.woocommerce-account .woocommerce-Address-title h2{margin:0;font-size:1.1rem;font-weight:700;float:none!important}
.woocommerce-account .woocommerce-Address-title .edit{float:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 .95rem!important;line-height:1!important;border:1px solid rgba(0,0,0,.12);border-radius:999px;color:var(--tb-noir)!important;font-weight:700;font-size:.88rem;text-decoration:none!important;transition:border-color .2s}
.woocommerce-account .woocommerce-Address-title .edit:hover{border-color:var(--tb-noir)}
.woocommerce-account .woocommerce-Address address:not(:has(br)){color:var(--tb-gris)}
.woocommerce-account .woocommerce-Address address{margin:0;font-style:normal;line-height:1.65;color:var(--tb-noir)}
@media(min-width:640px){.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr 1fr}}

/* Formulaires du compte (adresse, profil) */
.woocommerce-account .woocommerce-MyAccount-content>form,.woocommerce-account form.woocommerce-EditAccountForm{margin:0!important;padding:clamp(1.15rem,4vw,2rem)!important;border:1px solid var(--tb-bord)!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--tb-ombre);animation:tbUp .6s cubic-bezier(.2,.7,.2,1) .1s backwards}
.woocommerce-account .woocommerce-MyAccount-content>form>h2:first-child{margin:0 0 1.25rem;font-size:clamp(1.4rem,3.6vw,1.9rem);font-weight:700;line-height:1.15}
.woocommerce-account .woocommerce-address-fields__field-wrapper,.woocommerce-account form.woocommerce-EditAccountForm{display:grid;grid-template-columns:minmax(0,1fr);column-gap:1rem}
.woocommerce-account form.woocommerce-EditAccountForm>*,.woocommerce-account .woocommerce-address-fields__field-wrapper>*{grid-column:1/-1}
.woocommerce-account form.woocommerce-EditAccountForm>.clear,.woocommerce-account .woocommerce-address-fields__field-wrapper>.clear{display:none}
@media(min-width:600px){
  .woocommerce-account .woocommerce-address-fields__field-wrapper,.woocommerce-account form.woocommerce-EditAccountForm{grid-template-columns:1fr 1fr}
  .woocommerce-account .woocommerce-address-fields__field-wrapper>.form-row-first,.woocommerce-account form.woocommerce-EditAccountForm>.form-row-first{grid-column:1}
  .woocommerce-account .woocommerce-address-fields__field-wrapper>.form-row-last,.woocommerce-account form.woocommerce-EditAccountForm>.form-row-last{grid-column:2}
}
.woocommerce-account .woocommerce form .form-row em,.woocommerce-account #account_display_name_description{display:block;margin-top:.35rem;color:var(--tb-gris);font-size:.82rem;font-style:normal}
.woocommerce-account form.woocommerce-EditAccountForm fieldset{margin:.5rem 0 1.25rem;padding:1.1rem 1.1rem .25rem;border:0;border-radius:18px;background:var(--tb-fond)}
.woocommerce-account form.woocommerce-EditAccountForm legend{float:left;width:100%;margin:0 0 .85rem;padding:0;font-weight:700;font-size:1.05rem}
.woocommerce-account form.woocommerce-EditAccountForm legend+*{clear:both}
.woocommerce-account form.woocommerce-EditAccountForm fieldset .form-row{margin-bottom:.9rem!important}
.woocommerce-account .woocommerce-MyAccount-content>form>p:last-of-type,.woocommerce-account .woocommerce-address-fields>p:last-child{margin:.5rem 0 0!important}
@media(max-width:599px){.woocommerce-account .woocommerce-MyAccount-content form .button{width:100%}}

/* Moyens de paiement */
.woocommerce-account .woocommerce-MyAccount-paymentMethods{width:100%;margin:0 0 1.25rem!important;border:1px solid var(--tb-bord)!important;border-radius:22px!important;background:#fff;border-collapse:separate;overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-paymentMethods th,.woocommerce-account .woocommerce-MyAccount-paymentMethods td{padding:.85rem 1rem!important;border:0!important;border-top:1px solid var(--tb-bord)!important;background:none!important;text-align:left}
.woocommerce-account .woocommerce-MyAccount-paymentMethods thead th{border-top:0!important;color:var(--tb-gris);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.woocommerce-account .woocommerce-MyAccount-paymentMethods .button{min-height:40px!important;padding:0 1rem!important;font-size:.88rem!important;margin:.15rem}

/* ---------- Animations ---------- */
.tb-anim{animation:tbUp .6s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i,0) * 70ms + 60ms)}
@keyframes tbUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes tbSlide{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes tbPanel{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes tbRock{0%,100%{rotate:0deg}20%{rotate:-8deg}45%{rotate:7deg}70%{rotate:-4deg}85%{rotate:2deg}}
@keyframes tbWave{0%,100%{transform:rotate(0)}15%{transform:rotate(16deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}}
@keyframes tbFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tbPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes tbRing{0%{box-shadow:0 0 0 0 rgba(6,147,227,.35)}70%,100%{box-shadow:0 0 0 9px rgba(6,147,227,0)}}
@keyframes tbPulse{0%{box-shadow:0 0 0 0 currentColor}70%,100%{box-shadow:0 0 0 5px transparent}}
@keyframes tbSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  body.woocommerce-account *,body.woocommerce-account *::before,body.woocommerce-account *::after{animation:none!important;transition:none!important}
}
