/* ============================================================
   TORSTEN BANK — Stylesheet v3.0
   Typographie augmentée, Customizer-ready
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#0b0b0b;
  --off:#f7f4ef;
  --off2:#ede9e1;
  --gold:#8a6f2e;
  --gold2:#a8873a;
  --gold3:#c9a95c;
  --gl:rgba(138,111,46,0.28);
  --dim:#8a8278;
  --dimmer:#b5b0a8;
  --f:'Roboto',system-ui,sans-serif;

  /* ── Échelle typographique ── */
  --text-xs:   0.78rem;   /* labels, badges, eyebrow         */
  --text-sm:   0.92rem;   /* nav links, boutons, captions     */
  --text-base: 1.05rem;   /* corps de texte principal         */
  --text-md:   1.18rem;   /* features, listes                 */
  --text-lg:   1.35rem;   /* noms de service, sous-titres     */
  --text-xl:   1.6rem;    /* stat units, card values          */
  --text-2xl:  2.2rem;    /* balance widget                   */
  --text-3xl:  3.2rem;    /* stats chiffres                   */
  --text-4xl:  4.2rem;    /* prix des comptes                 */
  --text-hero: clamp(3.2rem, 5.5vw, 6.2rem);   /* titre hero */
  --text-hero-it: clamp(3rem, 5vw, 5.8rem);    /* italic hero */
  --text-section: clamp(2.4rem, 4vw, 4.6rem);  /* titres section */
  --text-svc: clamp(2.2rem, 3.5vw, 4rem);      /* titre services */
}

html{font-family:var(--f);background:var(--ink);color:var(--off);overflow-x:hidden;scroll-behavior:smooth}
body{min-height:100vh;font-size:16px}
::selection{background:var(--gold);color:var(--ink)}
img{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}

/* ── CURSOR ── */
@media(pointer:fine){*{cursor:none}}
#tb-cur{position:fixed;width:7px;height:7px;background:var(--gold2);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .18s,height .18s;display:none}
#tb-cur-o{position:fixed;width:36px;height:36px;border:1px solid rgba(138,111,46,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .2s,height .2s;opacity:.7;display:none}
@media(pointer:fine){#tb-cur,#tb-cur-o{display:block}}

/* ══════════════════════
   NAV
══════════════════════ */
.tb-nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 4rem;height:84px;
  background:rgba(11,11,11,.92);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--gl);
}
.tb-nav-logo{
  font-size:var(--text-sm);font-weight:200;letter-spacing:.36em;text-transform:uppercase;
  color:var(--off);text-decoration:none;display:flex;align-items:center;gap:14px;flex-shrink:0;
}
.tb-nav-mark{
  width:38px;height:38px;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-size:var(--text-xs);font-weight:300;letter-spacing:.1em;color:var(--gold);flex-shrink:0;
}
.tb-nav-links{display:flex;align-items:center;gap:3rem}
.tb-nav-links a{
  font-size:var(--text-xs);font-weight:200;letter-spacing:.22em;text-transform:uppercase;
  color:var(--dim);text-decoration:none;transition:color .25s;position:relative;white-space:nowrap;
}
.tb-nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold2);transition:width .3s}
.tb-nav-links a:hover,.tb-nav-links a.current-menu-item{color:var(--off)}
.tb-nav-links a:hover::after,.tb-nav-links a.current-menu-item::after{width:100%}
.tb-nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}

/* Hamburger */
.tb-hamburger{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:4px}
.tb-hamburger span{display:block;width:26px;height:1px;background:var(--off);transition:all .3s}
.tb-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tb-hamburger.open span:nth-child(2){opacity:0}
.tb-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile menu */
.tb-mobile-menu{
  display:none;position:fixed;top:84px;left:0;right:0;bottom:0;z-index:490;
  background:rgba(11,11,11,.98);backdrop-filter:blur(20px);
  flex-direction:column;align-items:center;justify-content:center;gap:2.8rem;
  border-top:1px solid var(--gl);
}
.tb-mobile-menu.open{display:flex}
.tb-mobile-menu a{
  font-size:1.3rem;font-weight:100;letter-spacing:.26em;text-transform:uppercase;
  color:var(--dim);text-decoration:none;transition:color .25s;
}
.tb-mobile-menu a:hover{color:var(--off)}
.tb-mobile-divider{width:40px;height:1px;background:var(--gl)}
.tb-mobile-ctas{display:flex;flex-direction:column;gap:14px;width:280px;margin-top:1rem}

/* ══════════════════════
   BOUTONS
══════════════════════ */
.btn-g{
  padding:13px 32px;font-family:var(--f);font-size:var(--text-xs);font-weight:300;
  letter-spacing:.22em;text-transform:uppercase;background:transparent;
  border:1px solid var(--gl);color:var(--gold2);cursor:pointer;
  transition:all .3s;position:relative;overflow:hidden;white-space:nowrap;display:inline-block;
}
.btn-g::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .38s cubic-bezier(.77,0,.18,1)}
.btn-g span{position:relative;z-index:1;transition:color .35s}
.btn-g:hover::before{transform:translateX(0)}
.btn-g:hover span{color:var(--ink)}

.btn-s{
  padding:13px 32px;font-family:var(--f);font-size:var(--text-xs);font-weight:300;
  letter-spacing:.22em;text-transform:uppercase;
  background:var(--gold);border:1px solid var(--gold);color:var(--ink);
  cursor:pointer;transition:all .3s;position:relative;overflow:hidden;white-space:nowrap;display:inline-block;
}
.btn-s::before{content:'';position:absolute;inset:0;background:var(--gold3);transform:translateX(-101%);transition:transform .38s cubic-bezier(.77,0,.18,1)}
.btn-s span{position:relative;z-index:1}
.btn-s:hover::before{transform:translateX(0)}

/* ── Animations ── */
@keyframes pgIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ══════════════════════
   HERO
══════════════════════ */
.tb-hero{background:var(--ink);padding-top:75px;position:relative;overflow:hidden;animation:pgIn .5s ease both}

.tb-hero-bg{position:absolute;inset:0;pointer-events:none}
.tb-hb-vlines{
  position:absolute;right:0;top:0;bottom:0;width:52%;
  background:repeating-linear-gradient(90deg,var(--gl) 0,var(--gl) 1px,transparent 1px,transparent 80px);
  mask-image:linear-gradient(to left,rgba(0,0,0,.55),transparent);
  -webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.55),transparent);
}
.tb-hb-hlines{
  position:absolute;right:0;top:0;bottom:0;width:52%;
  background:repeating-linear-gradient(180deg,var(--gl) 0,var(--gl) 1px,transparent 1px,transparent 80px);
  mask-image:linear-gradient(to left,rgba(0,0,0,.3),transparent);
  -webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.3),transparent);
}
.tb-hb-grad{position:absolute;right:0;top:0;bottom:0;width:55%;background:radial-gradient(ellipse 70% 70% at 80% 50%,rgba(138,111,46,.07),transparent)}

.tb-hero-inner{
  max-width:1320px;margin:0 auto;padding:0 4rem;
  display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:5rem;
}
.tb-hl{padding:0;position:relative;z-index:2}

.tb-hl-tag{display:flex;align-items:center;gap:18px;margin-bottom:0.4rem;animation:up .9s .15s both}
.tb-hl-tag-line{width:38px;height:1px;background:var(--gold2);flex-shrink:0}
.tb-hl-tag-text{font-size:var(--text-xs);font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2)}

.tb-hl-title{font-size:var(--text-hero);font-weight:100;line-height:1.03;color:var(--off);margin-bottom:.5rem;animation:up .9s .28s both}
.tb-hl-title-it{font-size:var(--text-hero-it);font-weight:200;font-style:italic;line-height:1.06;color:var(--gold2);margin-bottom:3rem;animation:up .9s .38s both}
.tb-hl-body{font-size:var(--text-base);font-weight:200;line-height:2;letter-spacing:.03em;color:var(--dim);max-width:440px;margin-bottom:3.2rem;animation:up .9s .48s both}
.tb-hl-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:0.8rem;animation:up .9s .58s both}

.tb-hl-stats{display:flex;border-top:1px solid var(--gl);padding-top:3rem;animation:up .9s .68s both;flex-wrap:wrap;gap:2.5rem}
.tb-stat{padding-right:3rem;border-right:1px solid var(--gl)}
.tb-stat:last-child{border-right:none;padding-right:0}
.tb-stat-n{font-size:var(--text-3xl);font-weight:100;letter-spacing:-.02em;color:var(--off);line-height:1}
.tb-stat-u{font-size:var(--text-xl);font-weight:200;color:var(--gold2)}
.tb-stat-l{font-size:var(--text-xs);font-weight:200;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-top:8px}

/* Carte animée */
.tb-hr{
  position:relative;z-index:2;
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:0;padding-bottom:0;
}
.tb-card-scene{position:relative;width:400px;height:520px}
.tb-card{position:absolute;width:355px;aspect-ratio:1.586;border-radius:10px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}
.tb-card-a{background:linear-gradient(150deg,#181208,#0b0b0b 55%,#111008);border:1px solid rgba(138,111,46,.3);box-shadow:0 48px 90px rgba(0,0,0,.7),0 0 0 1px rgba(138,111,46,.08);top:0;left:0;animation:cf1 7s ease-in-out infinite}
.tb-card-b{background:linear-gradient(150deg,#0a101e,#0b0b0b 55%,#0e1018);border:1px solid rgba(80,100,160,.2);box-shadow:0 24px 60px rgba(0,0,0,.5);top:68px;left:52px;animation:cf2 7s ease-in-out infinite;filter:brightness(.55)}
@keyframes cf1{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(-1.5deg) translateY(-13px)}}
@keyframes cf2{0%,100%{transform:rotate(3.5deg) translateY(0)}50%{transform:rotate(3.5deg) translateY(-8px)}}
.tb-card-noise{position:absolute;inset:0;border-radius:10px;overflow:hidden;pointer-events:none;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");background-size:200px}
.tb-card-stripe{position:absolute;inset:0;border-radius:10px;overflow:hidden;pointer-events:none;background:repeating-linear-gradient(125deg,transparent,transparent 40px,rgba(138,111,46,.025) 40px,rgba(138,111,46,.025) 41px)}
.tb-card-brand{position:absolute;bottom:1.5rem;right:1.8rem;font-size:.6rem;font-weight:200;letter-spacing:.32em;text-transform:uppercase;color:rgba(138,111,46,.36)}
.tb-c-chip{width:44px;height:33px;background:linear-gradient(135deg,#b8952a,#e2cc8e,#a07828);border-radius:5px;position:relative;overflow:hidden}
.tb-c-chip::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 6px,rgba(0,0,0,.13) 6px,rgba(0,0,0,.13) 7px)}
.tb-c-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.tb-c-tier{font-size:.65rem;font-weight:200;letter-spacing:.24em;text-transform:uppercase;color:rgba(138,111,46,.55)}
.tb-c-num{font-size:1rem;font-weight:100;letter-spacing:.28em;color:rgba(247,244,239,.6);position:relative;z-index:1}
.tb-c-bot{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:1}
.tb-c-lbl{font-size:.58rem;font-weight:200;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,244,239,.3);margin-bottom:5px}
.tb-c-val{font-size:.82rem;font-weight:200;letter-spacing:.08em;color:rgba(247,244,239,.78)}

.tb-bal-widget{position:absolute;bottom:-14px;right:-20px;background:rgba(11,11,11,.97);border:1px solid var(--gl);padding:1.6rem 2.2rem;backdrop-filter:blur(20px);animation:cf1 9s 1.5s ease-in-out infinite;min-width:220px}
.tb-bw-l{font-size:var(--text-xs);font-weight:200;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.tb-bw-v{font-size:var(--text-2xl);font-weight:100;color:var(--off);letter-spacing:-.02em;line-height:1}
.tb-bw-v sup{font-size:1rem;color:var(--gold2);vertical-align:.65em}
.tb-bw-d{font-size:var(--text-xs);font-weight:200;color:#6ee7b7;margin-top:7px;letter-spacing:.06em}
.tb-bw-sep{width:100%;height:1px;background:var(--gl);margin:14px 0}
.tb-bw-row{display:flex;justify-content:space-between;font-size:var(--text-xs);font-weight:200;color:var(--dim);margin-bottom:7px;letter-spacing:.04em}
.tb-bw-row span:last-child{color:var(--off2)}

/* ══════════════════════
   SERVICES PAGE
══════════════════════ */
.tb-svc-wrap{padding-top:84px;animation:pgIn .5s ease both}
.tb-svc-banner{background:var(--off);padding:8rem 4rem 7rem;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}
.tb-svc-banner::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}

.tb-svc-h{font-size:var(--text-svc);font-weight:100;line-height:1.07;color:var(--ink);margin-bottom:1.4rem;letter-spacing:-.01em}
.tb-svc-h em{font-style:italic;font-weight:300;color:var(--gold)}
.tb-svc-p{font-size:var(--text-base);font-weight:200;line-height:2;letter-spacing:.03em;color:#7a6e5f;max-width:560px;margin-bottom:3.2rem}
.tb-svc-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.tb-svc-ctas .btn-g{border-color:rgba(138,111,46,.4);color:var(--gold)}
.tb-svc-ctas .btn-g::before{background:var(--gold)}
.tb-svc-ctas .btn-g:hover span{color:var(--ink)}
.tb-svc-ctas .btn-s{background:var(--ink);border-color:var(--ink);color:var(--off)}
.tb-svc-ctas .btn-s::before{background:#2a2a2a}
.tb-svc-ctas .btn-s:hover span{color:var(--off)}

.tb-svc-list{max-width:1200px;margin:0 auto;padding:6rem 4rem}
.tb-svc-item{display:grid;grid-template-columns:80px 1fr 1fr;gap:4rem;padding:3.2rem 0;border-bottom:1px solid rgba(138,111,46,.1);transition:all .2s}
.tb-svc-item:first-child{border-top:1px solid rgba(138,111,46,.1)}
.tb-svc-item:hover{padding-left:1rem;padding-right:1rem;margin:0 -1rem;background:rgba(138,111,46,.025)}
.tb-svc-n{font-size:3.6rem;font-weight:100;color:rgba(138,111,46,.18);font-style:italic;line-height:1}
.tb-svc-name{font-size:var(--text-lg);font-weight:200;color:var(--off);letter-spacing:.04em;line-height:1.3;display:flex;align-items:flex-start;padding-top:.2rem}
.tb-svc-desc{font-size:var(--text-base);font-weight:200;line-height:2;color:var(--dim);letter-spacing:.02em}

/* ══════════════════════
   FOOTER
══════════════════════ */
.tb-footer{background:#080808;border-top:1px solid var(--gl);padding:3.5rem 4rem 2rem}
.tb-ft-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid var(--gl);margin-bottom:1.5rem}
.tb-ft-brand{font-size:var(--text-sm);font-weight:200;letter-spacing:.32em;text-transform:uppercase;color:var(--off);margin-bottom:1.4rem}
.tb-ft-desc{font-size:var(--text-base);font-weight:200;line-height:1.9;color:var(--dim);letter-spacing:.02em}
.tb-ft-ht{font-size:var(--text-xs);font-weight:200;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);margin-bottom:1.4rem}
.tb-ft-links{display:flex;flex-direction:column;gap:12px}
.tb-ft-links a{font-size:var(--text-sm);font-weight:200;color:var(--dim);text-decoration:none;letter-spacing:.05em;transition:color .2s}
.tb-ft-links a:hover{color:var(--off)}
.tb-ft-bot{max-width:1320px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);font-weight:200;color:var(--dimmer);letter-spacing:.07em;flex-wrap:wrap;gap:1rem}
.tb-ft-badge{font-size:var(--text-xs);font-weight:200;letter-spacing:.12em;color:var(--gold2)}

/* ══════════════════════
   MODALS
══════════════════════ */
.tb-overlay{display:none;position:fixed;inset:0;z-index:800;background:rgba(7,7,7,.96);align-items:center;justify-content:center;backdrop-filter:blur(10px);padding:1.5rem}
.tb-overlay.open{display:flex}
.tb-modal{background:#0b0b0b;border:1px solid var(--gl);width:100%;max-width:480px;padding:3.8rem;position:relative;animation:modalIn .4s cubic-bezier(.16,1,.3,1) both;max-height:90vh;overflow-y:auto}
@keyframes modalIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.tb-modal::before{content:'';position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}
.tb-modal-x{position:absolute;top:1.6rem;right:1.6rem;background:none;border:none;color:var(--dim);cursor:pointer;font-size:var(--text-sm);letter-spacing:.16em;font-family:var(--f);font-weight:200;transition:color .2s;text-transform:uppercase}
.tb-modal-x:hover{color:var(--off)}
.tb-m-brand{font-size:var(--text-sm);font-weight:200;letter-spacing:.36em;text-transform:uppercase;color:var(--off);text-align:center;margin-bottom:.6rem}
.tb-m-sub{font-size:var(--text-xs);font-weight:200;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-align:center;margin-bottom:3rem}
.tb-fl{display:block;font-size:var(--text-xs);font-weight:200;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.tb-fi{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid rgba(138,111,46,.2);color:var(--off);font-family:var(--f);font-size:var(--text-base);font-weight:200;letter-spacing:.06em;outline:none;transition:border-color .25s;margin-bottom:2.2rem}
.tb-fi:focus{border-bottom-color:var(--gold2)}
.tb-fi::placeholder{color:rgba(181,176,168,.24)}
.tb-f-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.tb-btn-m{width:100%;padding:15px;background:var(--gold);font-family:var(--f);font-size:var(--text-xs);font-weight:300;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);border:none;cursor:pointer;position:relative;overflow:hidden;transition:all .3s}
.tb-btn-m::before{content:'';position:absolute;inset:0;background:var(--gold3);transform:translateX(-101%);transition:transform .38s cubic-bezier(.77,0,.18,1)}
.tb-btn-m span{position:relative;z-index:1}
.tb-btn-m:hover::before{transform:translateX(0)}
.tb-m-foot{text-align:center;margin-top:1.6rem;font-size:var(--text-xs);font-weight:200;color:var(--dim);letter-spacing:.05em}
.tb-m-link{color:var(--gold2);cursor:pointer;transition:color .2s}
.tb-m-link:hover{color:var(--gold3)}
.tb-steps{display:flex;gap:6px;margin-bottom:3rem}
.tb-step{flex:1;height:1px;background:rgba(138,111,46,.18)}
.tb-step.on{background:var(--gold2)}
.tb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2.2rem}
.tb-chip{padding:8px 18px;border:1px solid rgba(138,111,46,.2);background:transparent;font-family:var(--f);font-size:var(--text-xs);font-weight:200;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);cursor:pointer;transition:all .25s}
.tb-chip:hover{border-color:rgba(138,111,46,.5);color:rgba(247,244,239,.7)}
.tb-chip.on{border-color:var(--gold2);color:var(--gold2);background:rgba(138,111,46,.06)}

/* ══════════════════════
   SECTIONS — titres communs
══════════════════════ */
.tb-sec-head{text-align:center;margin-bottom:3rem}
.tb-sec-eyebrow{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:2.2rem}
.tb-ey-line{width:30px;height:1px;background:var(--gold2);flex-shrink:0}
.tb-ey-text{font-size:var(--text-xs);font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2)}
.tb-sec-title{font-size:var(--text-section);font-weight:100;line-height:1.08;color:var(--off);letter-spacing:-.01em;margin-bottom:1.4rem}
.tb-sec-title em{font-style:italic;font-weight:200;color:var(--gold2)}
.tb-sec-sub{font-size:var(--text-base);font-weight:200;line-height:2;letter-spacing:.02em;color:var(--dim);max-width:560px;margin:0 auto}

/* ══════════════════════
   SECTION COMPTES
══════════════════════ */
.tb-accounts{background:var(--ink);padding:0 4rem 3rem;position:relative;overflow:hidden}
.tb-accounts::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}
.tb-accounts-inner{max-width:1200px;margin:0 auto}

.tb-acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--gl);margin-bottom:3rem}

.tb-acc-card{padding:3.2rem 2.8rem;border-right:1px solid var(--gl);position:relative;transition:background .3s;display:flex;flex-direction:column}
.tb-acc-card:last-child{border-right:none}
.tb-acc-card:hover{background:rgba(138,111,46,.03)}

.tb-acc-featured{background:rgba(138,111,46,.05);border-right:1px solid var(--gl)}
.tb-acc-featured::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold3))}
.tb-acc-private{background:rgba(255,255,255,.015)}

.tb-acc-popular{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-size:var(--text-xs);font-weight:300;letter-spacing:.2em;text-transform:uppercase;padding:6px 18px;white-space:nowrap}

.tb-acc-badge{font-size:var(--text-xs);font-weight:200;letter-spacing:.26em;text-transform:uppercase;color:var(--gold2);margin-bottom:2rem}

.tb-acc-price{display:flex;align-items:baseline;gap:4px;margin-bottom:1.4rem}
.tb-acc-currency{font-size:1.6rem;font-weight:200;color:var(--gold2);align-self:flex-start;margin-top:.6rem}
.tb-acc-amount{font-size:var(--text-4xl);font-weight:100;color:var(--off);line-height:1;letter-spacing:-.03em}
.tb-acc-period{font-size:var(--text-sm);font-weight:200;color:var(--dim);letter-spacing:.08em;align-self:flex-end;padding-bottom:.5rem}

.tb-acc-tagline{font-size:var(--text-sm);font-weight:100;line-height:1.8;color:var(--dim);margin-bottom:2.2rem;letter-spacing:.02em}

.tb-acc-divider{width:100%;height:1px;background:var(--gl);margin-bottom:2.2rem}

.tb-acc-features{list-style:none;display:flex;flex-direction:column;gap:1.1rem;margin-bottom:2.8rem;flex:1}
.tb-acc-features li{display:flex;align-items:baseline;gap:14px;font-size:var(--text-sm);font-weight:200;color:var(--off2);letter-spacing:.02em;line-height:1.6}
.tb-acc-check{font-size:var(--text-xs);color:var(--gold2);flex-shrink:0;width:14px;text-align:center;font-weight:300}
.tb-acc-na{opacity:.3}
.tb-acc-na .tb-acc-check{color:var(--dim)}

.tb-acc-btn{width:100%;padding:14px;font-family:var(--f);font-size:var(--text-xs);font-weight:300;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:all .3s;margin-top:auto}
.tb-acc-btn::before{content:'';position:absolute;inset:0;transform:translateX(-101%);transition:transform .38s cubic-bezier(.77,0,.18,1)}
.tb-acc-btn span{position:relative;z-index:1}
.tb-acc-btn-ghost{background:transparent;border:1px solid var(--gl);color:var(--gold2)}
.tb-acc-btn-ghost::before{background:var(--gold)}
.tb-acc-btn-ghost:hover span{color:var(--ink)}
.tb-acc-btn-ghost:hover::before{transform:translateX(0)}
.tb-acc-btn-solid{background:var(--gold);border:1px solid var(--gold);color:var(--ink)}
.tb-acc-btn-solid::before{background:var(--gold3)}
.tb-acc-btn-solid:hover::before{transform:translateX(0)}

.tb-accounts-note{text-align:center;font-size:var(--text-xs);font-weight:200;letter-spacing:.14em;color:var(--dimmer);border-top:1px solid var(--gl);padding-top:2.2rem}

/* ══════════════════════
   SECTION TÉMOIGNAGES
══════════════════════ */
.tb-testimonials{
  background:var(--ink);  /* même fond sombre que les autres sections */
  padding:8rem 4rem;position:relative;overflow:hidden;
}
.tb-testimonials::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(138,111,46,.05),transparent);
}
.tb-testimonials-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.tb-testimonials .tb-sec-title{color:var(--off)}
.tb-testimonials .tb-sec-sub{color:var(--dim)}

/* Grille 4 cartes fixes — 2×2 */
.tb-testi-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1px;background:var(--gl);
  border:1px solid var(--gl);margin-bottom:1px;
}

/* Carte témoignage */
.tb-testi-card{
  background:rgba(255,255,255,.03);
  padding:3rem 2.6rem;
  transition:background .3s;
  display:flex;flex-direction:column;gap:1.6rem;
}
.tb-testi-card:hover{background:rgba(138,111,46,.05)}

.tb-testi-quote-mark{
  font-size:4.5rem;font-weight:100;line-height:.8;
  color:rgba(138,111,46,.3);font-style:italic;font-family:Georgia,serif;
}
.tb-testi-quote{font-size:var(--text-base);font-weight:200;line-height:2;color:var(--off2);letter-spacing:.02em;flex:1}
.tb-testi-stars{display:flex;gap:3px}
.tb-star{font-size:var(--text-sm);color:var(--gold)}

.tb-testi-author{display:flex;align-items:center;gap:14px;padding-top:1.4rem;border-top:1px solid var(--gl);flex-wrap:wrap}
.tb-testi-avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:rgba(138,111,46,.12);
  display:flex;align-items:center;justify-content:center;
  font-size:var(--text-xs);font-weight:300;letter-spacing:.08em;
  color:var(--gold2);border:1px solid var(--gl);
}
.tb-testi-info{flex:1;min-width:0}
.tb-testi-name{font-size:var(--text-sm);font-weight:300;color:var(--off);letter-spacing:.04em}
.tb-testi-role{font-size:var(--text-xs);font-weight:200;color:var(--dim);margin-top:3px;letter-spacing:.04em}
.tb-testi-badge{
  font-size:.68rem;font-weight:200;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold2);border:1px solid var(--gl);padding:5px 12px;white-space:nowrap;
}

/* ── SLIDER ── */
.tb-testi-slider-wrap{
  border:1px solid var(--gl);border-top:none;
  margin-bottom:4rem;overflow:hidden;
}
.tb-testi-slider{
  display:flex;transition:transform .5s cubic-bezier(.77,0,.18,1);
  will-change:transform;
}
.tb-testi-slide{
  flex:0 0 100%;width:100%;
}
.tb-testi-slide-card{
  background:rgba(138,111,46,.04)!important;
  border-top:1px solid var(--gl);
}
.tb-testi-slide-card:hover{background:rgba(138,111,46,.07)!important}

/* Contrôles slider */
.tb-slider-controls{
  display:flex;align-items:center;justify-content:center;gap:1.5rem;
  padding:1.6rem;
  border-top:1px solid var(--gl);background:rgba(255,255,255,.02);
}
.tb-slider-prev,.tb-slider-next{
  width:38px;height:38px;
  background:transparent;border:1px solid var(--gl);
  color:var(--gold2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .25s;font-family:var(--f);
}
.tb-slider-prev:hover,.tb-slider-next:hover{background:rgba(138,111,46,.1);border-color:var(--gold2)}

.tb-slider-dots{display:flex;gap:8px;align-items:center}
.tb-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(138,111,46,.25);border:none;cursor:pointer;
  transition:all .25s;padding:0;
}
.tb-dot.active{background:var(--gold2);width:22px;border-radius:3px}

/* Trust bar */
.tb-trust-bar{
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gl);background:rgba(138,111,46,.04);
  flex-wrap:wrap;
}
.tb-trust-item{flex:1;min-width:150px;padding:2.4rem 2rem;text-align:center}
.tb-trust-sep{width:1px;background:var(--gl);align-self:stretch}
.tb-trust-num{font-size:var(--text-3xl);font-weight:100;color:var(--off);line-height:1;letter-spacing:-.02em;margin-bottom:.5rem}
.tb-trust-num span{font-size:var(--text-xl);color:var(--gold2);font-weight:200}
.tb-trust-label{font-size:var(--text-xs);font-weight:200;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

/* ══════════════════════
   RESPONSIVE ≤1024px
══════════════════════ */
@media(max-width:1024px){
  .tb-nav{padding:0 2.5rem}
  .tb-nav-links{gap:2rem}
  .tb-hero-inner{padding:0 2.5rem;gap:3rem}
  .tb-card-scene{width:320px;height:440px}
  .tb-card{width:290px}
  .tb-svc-list{padding:5rem 2.5rem}
  .tb-svc-item{gap:2.5rem}
  .tb-ft-inner{gap:2.5rem}
  .tb-footer{padding:4rem 2.5rem 2.5rem}
  .tb-accounts{padding:3.5rem 2.5rem}
  .tb-testimonials{padding:6rem 2.5rem}
  .tb-acc-grid{grid-template-columns:1fr 1fr}
  .tb-acc-card:nth-child(2){border-right:none}
  .tb-acc-card:nth-child(3){grid-column:1 / -1;border-right:none;border-top:1px solid var(--gl)}
  .tb-testi-grid{grid-template-columns:1fr 1fr}
}

/* ══════════════════════
   RESPONSIVE ≤768px
══════════════════════ */
@media(max-width:768px){
  :root{
    --text-xs:0.82rem;
    --text-sm:0.96rem;
    --text-base:1.05rem;
    --text-hero:clamp(2.8rem,10vw,4.2rem);
    --text-hero-it:clamp(2.6rem,9.5vw,4rem);
    --text-section:clamp(2rem,8vw,3.2rem);
    --text-svc:clamp(1.9rem,7vw,3rem);
  }
  .tb-nav{padding:0 1.5rem;height:72px}
  .tb-nav-links,.tb-nav-actions{display:none}
  .tb-hamburger{display:flex}
  .tb-mobile-menu{top:72px}
  .tb-hero{padding-top:72px}
  .tb-svc-wrap{padding-top:72px}
  .tb-hero-inner{grid-template-columns:1fr;gap:0;padding:0 1.5rem;min-height:auto}
  .tb-hl{padding:2rem 0 0}
  .tb-hl-tag{margin-bottom:0.3rem}
  .tb-hl-title-it{margin-bottom:1rem}
  .tb-hl-body{margin-bottom:1.2rem}
  .tb-hl-ctas{margin-bottom:0}
  .tb-hl-stats{gap:2rem}
  .tb-stat{padding-right:2rem}
  .tb-hr{padding:0.8rem 0 0}
  .tb-card-scene{width:100%;height:auto;display:flex;flex-direction:column;align-items:center;gap:1rem}
  .tb-card-b{display:none}
  .tb-card-a{position:relative;top:auto;left:auto;width:100%;max-width:355px;animation:none;transform:none}
  .tb-bal-widget{position:relative;bottom:auto;right:auto;width:100%;max-width:355px;animation:none}
  .tb-svc-banner{padding:5rem 1.5rem 4rem}
  .tb-svc-list{padding:4rem 1.5rem}
  .tb-svc-item{grid-template-columns:52px 1fr;grid-template-rows:auto auto;gap:1rem 1.5rem;padding:2.2rem 0}
  .tb-svc-n{font-size:2.6rem}
  .tb-svc-desc{grid-column:1 / -1}
  .tb-ft-inner{grid-template-columns:1fr 1fr;gap:2rem}
  .tb-ft-inner > div:first-child{grid-column:1 / -1}
  .tb-footer{padding:3.5rem 1.5rem 2rem}
  .tb-accounts{padding:3rem 1.5rem}
  .tb-testimonials{padding:5rem 1.5rem}
  .tb-acc-grid{grid-template-columns:1fr;border:none;gap:1px;background:var(--gl)}
  .tb-acc-card{border-right:none;border:1px solid var(--gl)}
  .tb-acc-card:nth-child(3){grid-column:1;display:flex}
  .tb-testi-grid{grid-template-columns:1fr;gap:1px}
  .tb-trust-bar{flex-direction:row;flex-wrap:wrap}
  .tb-trust-item{min-width:40%;padding:1.6rem 1rem}
  .tb-slider-controls{padding:1.2rem}
  .tb-modal{padding:2.8rem 2rem}
  .tb-f-row{grid-template-columns:1fr;gap:0}
}

/* ══════════════════════
   RESPONSIVE ≤480px
══════════════════════ */
@media(max-width:480px){
  :root{
    --text-xs:0.78rem;
    --text-sm:0.92rem;
    --text-base:1rem;
    --text-3xl:2.8rem;
    --text-4xl:3.6rem;
  }
  .tb-nav{padding:0 1.2rem}
  .btn-g,.btn-s{padding:12px 22px}
  .tb-hl-stats{flex-wrap:wrap}
  .tb-stat{padding-right:1.5rem}
  .tb-svc-banner{padding:4rem 1.2rem 3rem}
  .tb-svc-list{padding:3rem 1.2rem}
  .tb-svc-item{grid-template-columns:44px 1fr}
  .tb-ft-inner{grid-template-columns:1fr}
  .tb-footer{padding:3rem 1.2rem 2rem}
  .tb-accounts{padding:2.5rem 1.2rem}
  .tb-testimonials{padding:4rem 1.2rem}
  .tb-acc-card{padding:2.4rem 1.8rem}
  .tb-testi-card{padding:2.2rem 1.6rem}
  .tb-testi-badge{display:none}
  .tb-modal{padding:2.2rem 1.4rem}
  .tb-chips{gap:6px}
}

/* ══════════════════════════════════════════
   SECTION CRÉDITS
══════════════════════════════════════════ */
.tb-credits{
  background:var(--ink);
  padding:8rem 4rem;
  position:relative;overflow:hidden;
}
.tb-credits::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
}
.tb-credits::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 45% at 50% 0%,rgba(138,111,46,.05),transparent);
}
.tb-credits-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}

/* Grid 3 cartes */
.tb-crd-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;border:1px solid var(--gl);
  margin-bottom:0;
}

.tb-crd-card{
  padding:3.2rem 2.8rem;
  border-right:1px solid var(--gl);
  position:relative;
  transition:background .3s;
  display:flex;flex-direction:column;gap:1.6rem;
}
.tb-crd-card:last-child{border-right:none}
.tb-crd-card:hover{background:rgba(138,111,46,.03)}

/* Featured */
.tb-crd-featured{
  background:rgba(138,111,46,.05);
}
.tb-crd-featured::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold3));
}
.tb-crd-popular{
  position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--ink);
  font-size:.6rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;
  padding:6px 18px;white-space:nowrap;
}

/* Icône */
.tb-crd-icon{
  width:28px;height:28px;
  color:var(--gold2);flex-shrink:0;
}
.tb-crd-icon svg{width:100%;height:100%}

/* Label type de crédit */
.tb-crd-label{
  font-size:var(--text-xs);font-weight:200;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold2);
}

/* Taux */
.tb-crd-rate{
  display:flex;align-items:baseline;gap:6px;
  padding:1.2rem 0;border-top:1px solid var(--gl);border-bottom:1px solid var(--gl);
}
.tb-crd-rate-num{
  font-size:var(--text-4xl);font-weight:100;
  color:var(--off);letter-spacing:-.03em;line-height:1;
}
.tb-crd-rate-unit{
  font-size:var(--text-sm);font-weight:200;
  color:var(--gold2);letter-spacing:.06em;
}

/* Description */
.tb-crd-desc{
  font-size:var(--text-sm);font-weight:200;
  line-height:1.85;color:var(--dim);letter-spacing:.02em;flex:1;
}

/* Détails (montant, durée, délai) */
.tb-crd-details{
  display:flex;flex-direction:column;gap:.8rem;
  padding:1.4rem 0;border-top:1px solid var(--gl);
}
.tb-crd-detail{
  display:flex;justify-content:space-between;align-items:center;
}
.tb-crd-detail-label{
  font-size:var(--text-xs);font-weight:200;
  color:var(--dim);letter-spacing:.1em;text-transform:uppercase;
}
.tb-crd-detail-val{
  font-size:var(--text-sm);font-weight:300;
  color:var(--off);letter-spacing:.04em;
}

/* Boutons */
.tb-crd-btn{
  width:100%;padding:14px;font-family:var(--f);
  font-size:var(--text-xs);font-weight:300;letter-spacing:.2em;text-transform:uppercase;
  cursor:pointer;position:relative;overflow:hidden;transition:all .3s;margin-top:auto;
}
.tb-crd-btn::before{
  content:'';position:absolute;inset:0;
  transform:translateX(-101%);
  transition:transform .38s cubic-bezier(.77,0,.18,1);
}
.tb-crd-btn span{position:relative;z-index:1}

.tb-crd-btn-ghost{
  background:transparent;border:1px solid var(--gl);color:var(--gold2);
}
.tb-crd-btn-ghost::before{background:var(--gold)}
.tb-crd-btn-ghost:hover::before{transform:translateX(0)}
.tb-crd-btn-ghost:hover span{color:var(--ink)}

.tb-crd-btn-solid{
  background:var(--gold);border:1px solid var(--gold);color:var(--ink);
}
.tb-crd-btn-solid::before{background:var(--gold3)}
.tb-crd-btn-solid:hover::before{transform:translateX(0)}

/* Bande garanties */
.tb-crd-guarantees{
  display:flex;align-items:center;
  border:1px solid var(--gl);border-top:none;
  background:rgba(138,111,46,.03);
  flex-wrap:wrap;
}
.tb-crd-guarantee{
  flex:1;min-width:180px;
  display:flex;align-items:center;gap:14px;
  padding:1.6rem 2rem;
}
.tb-crd-g-icon{
  font-size:1rem;color:var(--gold2);flex-shrink:0;font-weight:200;
}
.tb-crd-g-text{
  font-size:var(--text-xs);font-weight:200;
  color:var(--dim);letter-spacing:.06em;line-height:1.5;
}
.tb-crd-g-sep{
  width:1px;background:var(--gl);align-self:stretch;
}

/* ── Responsive crédits ── */
@media(max-width:1024px){
  .tb-credits{padding:6rem 2.5rem}
  .tb-crd-grid{grid-template-columns:1fr 1fr}
  .tb-crd-card:nth-child(2){border-right:none}
  .tb-crd-card:nth-child(3){
    grid-column:1 / -1;border-right:none;
    border-top:1px solid var(--gl);
  }
  .tb-crd-guarantee{min-width:140px}
}
@media(max-width:768px){
  .tb-credits{padding:5rem 1.5rem}
  .tb-crd-grid{grid-template-columns:1fr;border:none;gap:1px;background:var(--gl)}
  .tb-crd-card{border-right:none;border:1px solid var(--gl)}
  .tb-crd-card:nth-child(3){grid-column:1}
  .tb-crd-featured::before{display:none}
  .tb-crd-rate-num{font-size:3rem}
  .tb-crd-guarantees{flex-direction:column;border-top:1px solid var(--gl)}
  .tb-crd-g-sep{width:100%;height:1px;align-self:auto}
  .tb-crd-guarantee{width:100%}
}
@media(max-width:480px){
  .tb-credits{padding:4rem 1.2rem}
  .tb-crd-card{padding:2.4rem 1.8rem}
  .tb-crd-rate-num{font-size:2.6rem}
}

/* ══════════════════════════════════════════
   SECTION PRODUITS FINANCIERS
══════════════════════════════════════════ */
.tb-products{
  background:var(--ink);
  padding:8rem 4rem;
  position:relative;overflow:hidden;
}
.tb-products::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
}
.tb-products-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}

/* ── Onglets ── */
.tb-prod-tabs{
  display:flex;align-items:center;gap:0;
  border:1px solid var(--gl);
  margin-bottom:0;
  width:fit-content;margin:0 auto 0;
}
.tb-prod-tab{
  padding:14px 36px;
  font-family:var(--f);font-size:var(--text-xs);font-weight:200;
  letter-spacing:.2em;text-transform:uppercase;
  background:transparent;border:none;border-right:1px solid var(--gl);
  color:var(--dim);cursor:pointer;transition:all .25s;
  position:relative;
}
.tb-prod-tab:last-child{border-right:none}
.tb-prod-tab::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--gold);transform:scaleX(0);transition:transform .3s;
}
.tb-prod-tab:hover{color:var(--off2);background:rgba(138,111,46,.04)}
.tb-prod-tab.active{color:var(--gold2);background:rgba(138,111,46,.07)}
.tb-prod-tab.active::after{transform:scaleX(1)}

/* ── Panneaux ── */
.tb-prod-panel{
  display:none;
  border:1px solid var(--gl);border-top:none;
  animation:pgIn .4s ease both;
  margin-bottom:0;
}
.tb-prod-panel.active{display:block}

/* ── Grille 3 cartes ── */
.tb-prod-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;
}

/* ── Carte produit ── */
.tb-prod-card{
  padding:2.8rem 2.6rem;
  border-right:1px solid var(--gl);
  display:flex;flex-direction:column;gap:1.4rem;
  position:relative;transition:background .3s;
}
.tb-prod-card:last-child{border-right:none}
.tb-prod-card:hover{background:rgba(138,111,46,.03)}

.tb-prod-featured{
  background:rgba(138,111,46,.05);
}
.tb-prod-featured::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold3));
}

.tb-prod-badge{
  position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--ink);
  font-size:.58rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;
  padding:5px 16px;white-space:nowrap;
}

/* En-tête carte */
.tb-prod-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:1rem;padding-top:.8rem;
}
.tb-prod-name{
  font-size:var(--text-md);font-weight:200;
  color:var(--off);letter-spacing:.03em;line-height:1.3;
}
.tb-prod-tag{
  font-size:.56rem;font-weight:200;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--gl);
  padding:4px 10px;white-space:nowrap;flex-shrink:0;
}
.tb-prod-tag-gold{color:var(--gold2);border-color:rgba(138,111,46,.4)}

/* Taux / rendement */
.tb-prod-rate-wrap{
  border-top:1px solid var(--gl);border-bottom:1px solid var(--gl);
  padding:.8rem 0;
}
.tb-prod-rate{
  font-size:var(--text-3xl);font-weight:100;
  color:var(--off);letter-spacing:-.03em;line-height:1;
  margin-bottom:.3rem;
}
.tb-prod-rate span{font-size:var(--text-xl);color:var(--gold2);font-weight:200}
.tb-prod-rate-small{font-size:var(--text-sm)!important;margin-left:4px}
.tb-prod-rate-label{font-size:var(--text-xs);font-weight:200;color:var(--dim);letter-spacing:.1em;text-transform:uppercase}

/* Description */
.tb-prod-desc{
  font-size:var(--text-sm);font-weight:200;line-height:1.9;
  color:var(--dim);letter-spacing:.02em;flex:1;
}

/* Features */
.tb-prod-features{
  list-style:none;display:flex;flex-direction:column;gap:.7rem;
  border-top:1px solid var(--gl);padding-top:1.2rem;
}
.tb-prod-features li{
  display:flex;align-items:baseline;gap:10px;
  font-size:var(--text-sm);font-weight:200;color:var(--off2);letter-spacing:.02em;
}
.tb-prod-features li::before{
  content:'—';color:var(--gold2);font-weight:200;flex-shrink:0;font-size:.7rem;
}

/* Bouton */
.tb-prod-btn{
  margin-top:auto;width:100%;padding:13px;
  font-family:var(--f);font-size:var(--text-xs);font-weight:300;
  letter-spacing:.2em;text-transform:uppercase;
  background:transparent;border:1px solid var(--gl);color:var(--gold2);
  cursor:pointer;position:relative;overflow:hidden;transition:all .3s;
}
.tb-prod-btn::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateX(-101%);transition:transform .38s cubic-bezier(.77,0,.18,1);
}
.tb-prod-btn span{position:relative;z-index:1;transition:color .35s}
.tb-prod-btn:hover::before{transform:translateX(0)}
.tb-prod-btn:hover span{color:var(--ink)}

.tb-prod-btn-solid{
  background:var(--gold);border-color:var(--gold);color:var(--ink);
}
.tb-prod-btn-solid::before{background:var(--gold3)}
.tb-prod-btn-solid span{color:var(--ink)}
.tb-prod-btn-solid:hover span{color:var(--ink)}

/* ── Responsive produits ── */
@media(max-width:1024px){
  .tb-products{padding:6rem 2.5rem}
  .tb-prod-grid{grid-template-columns:1fr 1fr}
  .tb-prod-card:nth-child(2){border-right:none}
  .tb-prod-card:nth-child(3){
    grid-column:1 / -1;border-right:none;border-top:1px solid var(--gl);
  }
  .tb-prod-tabs{width:100%}
  .tb-prod-tab{flex:1;padding:12px 16px;text-align:center}
}
@media(max-width:768px){
  .tb-products{padding:5rem 1.5rem}
  .tb-prod-grid{grid-template-columns:1fr;gap:0}
  .tb-prod-card{border-right:none;border-bottom:1px solid var(--gl)}
  .tb-prod-card:last-child{border-bottom:none}
  .tb-prod-card:nth-child(3){grid-column:1}
  .tb-prod-tab{font-size:.6rem;letter-spacing:.14em;padding:11px 10px}
  .tb-prod-rate{font-size:2.6rem}
}
@media(max-width:480px){
  .tb-products{padding:4rem 1.2rem}
  .tb-prod-card{padding:2.2rem 1.6rem}
  .tb-prod-tab{letter-spacing:.08em}
  .tb-prod-rate{font-size:2.2rem}
}

/* ══════════════════════════════════════════
   SÉLECTEUR DE LANGUE
══════════════════════════════════════════ */
.tb-lang-switcher{
  position:relative;
}

/* Bouton principal */
.tb-lang-btn{
  display:flex;align-items:center;gap:7px;
  padding:8px 14px;
  background:transparent;
  border:1px solid var(--gl);
  color:var(--off2);font-family:var(--f);
  font-size:var(--text-xs);font-weight:200;letter-spacing:.14em;
  cursor:pointer;transition:all .25s;
  white-space:nowrap;
}
.tb-lang-btn:hover{border-color:rgba(138,111,46,.5);color:var(--off)}
.tb-lang-btn.open{border-color:var(--gold2);color:var(--gold2)}

.tb-lang-flag{font-size:.9rem;line-height:1}
.tb-lang-code{font-size:.65rem;font-weight:300;letter-spacing:.16em;text-transform:uppercase}
.tb-lang-arrow{
  color:var(--dim);transition:transform .25s;flex-shrink:0;
}
.tb-lang-btn.open .tb-lang-arrow{transform:rotate(180deg);color:var(--gold2)}

/* Dropdown */
.tb-lang-dropdown{
  position:absolute;top:calc(100% + 6px);right:0;
  background:#0e0e0e;
  border:1px solid var(--gl);
  min-width:180px;
  display:none;flex-direction:column;
  z-index:600;
  animation:langDrop .2s ease both;
}
.tb-lang-dropdown.open{display:flex}
@keyframes langDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Option de langue */
.tb-lang-option{
  display:flex;align-items:center;gap:12px;
  padding:11px 16px;
  background:transparent;border:none;border-bottom:1px solid var(--gl);
  color:var(--dim);font-family:var(--f);
  font-size:var(--text-xs);font-weight:200;letter-spacing:.08em;
  cursor:pointer;transition:all .2s;text-align:left;
  width:100%;
}
.tb-lang-option:last-child{border-bottom:none}
.tb-lang-option:hover{background:rgba(138,111,46,.06);color:var(--off2)}
.tb-lang-option.active{color:var(--gold2);background:rgba(138,111,46,.07)}
.tb-lang-option.active::after{
  content:'✓';margin-left:auto;font-size:.7rem;color:var(--gold2);
}

.tb-lang-full{flex:1;text-align:left}
.tb-lang-short{
  font-size:.6rem;letter-spacing:.18em;color:var(--dimmer);
}

/* Langue mobile */
.tb-lang-mobile{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
}
.tb-lang-m-opt{
  padding:8px 14px;
  background:transparent;border:1px solid var(--gl);
  color:var(--dim);font-family:var(--f);
  font-size:.65rem;font-weight:200;letter-spacing:.14em;
  cursor:pointer;transition:all .25s;
}
.tb-lang-m-opt:hover{border-color:rgba(138,111,46,.5);color:var(--off)}
.tb-lang-m-opt.active{border-color:var(--gold2);color:var(--gold2);background:rgba(138,111,46,.07)}

/* Responsive */
@media(max-width:1024px){
  .tb-lang-code{display:none}
  .tb-lang-btn{padding:8px 10px;gap:5px}
}
@media(max-width:768px){
  .tb-lang-switcher{display:none}
}

/* Paragraphe corps — section crédits */
.tb-crd-body{
  font-size:var(--text-sm);font-weight:100;line-height:2;
  color:var(--dim);letter-spacing:.03em;flex:1;
}

/* ── Logo SVG inline — transparent ── */
.tb-nav-logo{ padding:0; gap:0 }
.tb-logo-svg{
  height:120px;
  width:auto;
  max-width:400px;
  display:block;
  overflow:visible;
  background:transparent !important;
  fill:none;
}
@media(max-width:1024px){ .tb-logo-svg{ height:96px;  max-width:320px } }
@media(max-width:768px){  .tb-logo-svg{ height:72px;  max-width:260px } }
@media(max-width:480px){  .tb-logo-svg{ height:56px;  max-width:200px } }

/* ── Logo sur la carte bancaire ── */
.tb-card-logo{
  position:absolute;
  bottom:1.4rem;
  right:1.6rem;
  height:22px;
  width:auto;
  max-width:110px;
  display:block;
  opacity:.55;
  pointer-events:none;
  background:transparent !important;
  overflow:visible;
}

/* ── Stats bar sous le hero ── */
.tb-hero-stats-bar{
  position:relative;z-index:2;
  border-top:1px solid var(--gl);
  background:rgba(138,111,46,.03);
}
.tb-hero-stats-inner{
  max-width:1320px;margin:0 auto;padding:2.5rem 4rem;
  display:flex;align-items:center;gap:0;
}
.tb-stat-sep{
  width:1px;height:48px;background:var(--gl);
  margin:0 3rem;flex-shrink:0;
}
@media(max-width:768px){
  .tb-hero-stats-inner{padding:2rem 1.5rem;flex-wrap:wrap;gap:1.5rem}
  .tb-stat-sep{display:none}
}
@media(max-width:480px){
  .tb-hero-stats-inner{padding:1.8rem 1.2rem}
}

/* ── Stats bar dans le footer ── */
.tb-ft-stats{
  border-bottom:1px solid var(--gl);
  background:rgba(138,111,46,.04);
}
.tb-ft-stats-inner{
  max-width:1320px;margin:0 auto;
  padding:2.2rem 4rem;
  display:flex;align-items:center;
}
.tb-ft-stat{
  display:flex;align-items:baseline;gap:2rem;
  flex:1;
}
.tb-ft-stat-n{
  font-size:var(--text-3xl);font-weight:100;
  letter-spacing:-.02em;color:var(--off);line-height:1;
}
.tb-ft-stat-n span{
  font-size:var(--text-xl);font-weight:200;color:var(--gold2);margin-left:3px;
}
.tb-ft-stat-l{
  font-size:var(--text-xs);font-weight:200;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);
}
.tb-ft-stat-sep{
  width:1px;height:44px;background:var(--gl);
  margin:0 3rem;flex-shrink:0;
}

@media(max-width:1024px){
  .tb-ft-stats-inner{padding:2rem 2.5rem}
  .tb-ft-stat-sep{margin:0 2rem}
}
@media(max-width:768px){
  .tb-ft-stats-inner{padding:1.8rem 1.5rem;flex-wrap:wrap;gap:1.4rem}
  .tb-ft-stat-sep{display:none}
  .tb-ft-stat{flex:0 0 calc(50% - 0.7rem);gap:1rem}
}
@media(max-width:480px){
  .tb-ft-stats-inner{padding:1.5rem 1.2rem}
  .tb-ft-stat{flex:0 0 100%}
}

/* ══ MOBILE HERO SPACING OVERRIDE ══ */
@media(max-width:768px){
  .tb-hl{padding-top:1.5rem !important;padding-bottom:0 !important}
  .tb-hl-title-it{margin-bottom:0.5rem !important}
  .tb-hl-body{margin-bottom:0.8rem !important}
  .tb-hl-ctas{margin-bottom:0 !important}
  .tb-hr{padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important}
  .tb-card-scene{gap:0.5rem !important}
}
@media(max-width:480px){
  .tb-hl{padding-top:1rem !important;padding-bottom:0 !important}
  .tb-hl-title-it{margin-bottom:0.3rem !important}
  .tb-hl-body{margin-bottom:0.6rem !important}
  .tb-hl-ctas{margin-bottom:0 !important}
  .tb-hr{padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important}
}

/* ══ MOBILE HERO SPACING — BALANCED ══ */
@media(max-width:768px){
  .tb-hl{padding-top:1.5rem !important;padding-bottom:0 !important}
  .tb-hl-title-it{margin-bottom:1.2rem !important}
  .tb-hl-body{margin-bottom:1.5rem !important}
  .tb-hl-ctas{margin-bottom:0.8rem !important}
  .tb-hr{padding-top:0.8rem !important;padding-bottom:0 !important;margin-top:0 !important}
  .tb-card-scene{gap:0.8rem !important}
}
@media(max-width:480px){
  .tb-hl{padding-top:1.2rem !important;padding-bottom:0 !important}
  .tb-hl-title-it{margin-bottom:1rem !important}
  .tb-hl-body{margin-bottom:1.2rem !important}
  .tb-hl-ctas{margin-bottom:0.6rem !important}
  .tb-hr{padding-top:0.6rem !important;padding-bottom:0 !important;margin-top:0 !important}
}

/* ══ MOBILE HERO SPACING — MORE SPACE ══ */
@media(max-width:768px){
  .tb-hl{padding-top:2rem !important;padding-bottom:0 !important}
  .tb-hl-title-it{margin-bottom:1.8rem !important}
  .tb-hl-body{margin-bottom:2rem !important}
  .tb-hl-ctas{margin-bottom:1.5rem !important}
  .tb-hr{padding-top:1.5rem !important;padding-bottom:0 !important;margin-top:0 !important}
  .tb-card-scene{gap:1rem !important}
}
@media(max-width:480px){
  .tb-hl{padding-top:1.8rem !important;padding-bottom:0 !important}
  .tb-hl-title-it{margin-bottom:1.5rem !important}
  .tb-hl-body{margin-bottom:1.8rem !important}
  .tb-hl-ctas{margin-bottom:1.2rem !important}
  .tb-hr{padding-top:1.2rem !important;padding-bottom:0 !important;margin-top:0 !important}
}

/* ══ NAV LINKS — BLANC VIF ══ */
.tb-nav-links a{color:#ffffff !important}
.tb-nav-links a:hover{color:var(--gold2) !important}
.tb-nav-links a.on,.tb-nav-links a.current-menu-item{color:var(--gold2) !important}

.tb-hl-title-it{font-size:clamp(1.8rem,3.2vw,3.7rem) !important}

  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  height:28px;
  width:auto;
  max-width:130px;
  opacity:.45;
  pointer-events:none;
  background:transparent !important;
  overflow:visible;
  display:block;
}

/* ══ LOGO MOBILE — TAILLE AUGMENTÉE ══ */
@media(max-width:768px){
  .tb-logo-svg{height:86px !important;max-width:300px !important}
}
@media(max-width:480px){
  .tb-logo-svg{height:70px !important;max-width:250px !important}
}

/* ══ LOGO ENTRE PUCE ET PLATINUM ══ */
.tb-card-logo-mid{
  height:20px;
  width:auto;
  max-width:100px;
  opacity:.55;
  pointer-events:none;
  background:transparent !important;
  overflow:visible;
  display:block;
  flex-shrink:0;
}

/* ══ LOGO MOBILE — ENCORE PLUS GRAND ══ */
@media(max-width:768px){
  .tb-logo-svg{height:100px !important;max-width:340px !important}
}
@media(max-width:480px){
  .tb-logo-svg{height:82px !important;max-width:280px !important}
}

/* ══ LOGO CARTE MID — PLUS GRAND ══ */
.tb-card-logo-mid{
  height:32px !important;
  max-width:160px !important;
  opacity:.65 !important;
}

/* ══ LIGNE SÉPARATRICE NAV → HERO — OR FONCÉ ══ */
.tb-nav{border-bottom:1px solid var(--gold) !important}

/* ══ LIGNES SÉPARATRICES — OR FONCÉ ══ */

/* Hero → Nos Comptes */
.tb-hero{border-bottom:1px solid var(--gold) !important}

/* Entre chaque section .tb-accounts (Comptes, Crédits) */
.tb-accounts{border-bottom:1px solid var(--gold) !important}
.tb-accounts::before{background:var(--gold) !important;opacity:1 !important}

/* Nos Crédits → Footer */
.tb-footer{border-top:1px solid var(--gold) !important}

/* ══ BOUTON LOGIN — BORDURE OR FONCÉ ══ */
.tb-nav-actions .btn-g{border-color:var(--gold) !important;color:var(--gold) !important}
.tb-nav-actions .btn-g:hover span{color:var(--ink) !important}

/* ══ COULEUR OR FONCÉ — UNIFICATION GLOBALE ══ */
:root{
  --gold:#8a6f2e !important;
  --gold2:#a8873a !important;
  --gold3:#c9a95c !important;
  --gl:rgba(138,111,46,0.28) !important;
}

/* Textes dorés explicites */
.tb-hl-tag-text,
.tb-hl-title-it,
.tb-stat-u,
.tb-ey-text,
.tb-acc-badge,
.tb-acc-popular,
.tb-acc-check,
.tb-bw-v sup,
.tb-bw-d,
.tb-c-tier,
.tb-ft-ht,
.tb-ft-badge,
.tb-trust-num span,
.tb-star,
.tb-testi-badge,
.tb-panel-action,
.tb-prod-rate span,
.tb-prod-tag-gold,
.tb-m-link,
.tb-lang-code,
.tb-gold,
.profile-type,
.kpi-card.featured .kpi-val,
.sidebar-item.active,
.tb-acc-btn-ghost,
.side-icon { color:#a8873a !important }

/* Fond des boutons CTA solides */
.btn-s,
.tb-acc-btn-solid,
.tb-btn-m,
.tb-crd-btn-solid,
.tb-prod-btn-solid { background:#a8873a !important; border-color:#a8873a !important }

/* Bordures and accents */
.tb-nav-mark,
.brand-emblem { border-color:#a8873a !important; color:#a8873a !important }

/* Lignes décoratives */
.tb-hl-tag-line,
.tb-ey-line,
.tb-acc-divider,
.tb-bw-sep,
.tb-ft-stat-sep,
.alloc-fill,
.bar-inner.hi { background:#a8873a !important }

/* Cercle puce de la tag */
.tb-hl-tag::before { background:#a8873a !important }

/* Élément actif nav */
.tb-nav-links a.on::after,
.tb-nav-links a:hover::after { background:#a8873a !important }

/* Dot slider */
.tb-dot.active { background:#a8873a !important }

/* Soulignements et focus inputs */
.tb-fi:focus { border-bottom-color:#a8873a !important }

/* ══ RETOUR COULEUR OR DORÉ — RESET GLOBAL ══ */
:root{
  --gold:#b8952a !important;
  --gold2:#d4af5a !important;
  --gold3:#e8cf8a !important;
  --gl:rgba(184,149,42,0.25) !important;
}

/* Tous les textes en or foncé → or doré */
.tb-hl-tag-text,.tb-hl-title-it,.tb-stat-u,.tb-ey-text,
.tb-acc-badge,.tb-acc-check,.tb-bw-v sup,.tb-bw-d,
.tb-c-tier,.tb-ft-ht,.tb-ft-badge,.tb-star,
.tb-testi-badge,.tb-m-link,.tb-acc-popular,
.tb-prod-rate-label,.tb-prod-tag-gold,
.tb-nav-links a.on,.tb-nav-links a.on::after,
.tb-nav-links a:hover { color:#d4af5a !important }

/* Boutons solides */
.btn-s,.tb-acc-btn-solid,.tb-btn-m,.tb-crd-btn-solid {
  background:#b8952a !important;border-color:#b8952a !important;
}
.btn-s::before,.tb-acc-btn-solid::before,.tb-btn-m::before {
  background:#e8cf8a !important;
}

/* Bouton ghost LOGIN */
.tb-nav-actions .btn-g { border-color:#b8952a !important;color:#d4af5a !important }

/* Lignes séparatrices */
.tb-nav,.tb-hero,.tb-accounts,.tb-footer {
  border-color:#b8952a !important;
}
.tb-hl-tag-line,.tb-ey-line,.tb-acc-divider,.tb-bw-sep {
  background:#b8952a !important;
}
.tb-hl-tag::before { background:#b8952a !important }

/* Soulignement nav */
.tb-nav-links a::after { background:#d4af5a !important }

/* Logo SVG */
.tb-logo-svg circle,.tb-logo-svg line,.tb-logo-svg polygon,
.tb-logo-svg text { stroke: none }

/* Input focus */
.tb-fi:focus { border-bottom-color:#b8952a !important }

/* Card top separators */
.tb-ey-line { background:#b8952a !important }


/* ══ LOGO SVG — COULEURS PROTÉGÉES ══ */
.tb-logo-svg { background: transparent !important; overflow: visible }
.tb-logo-svg circle { fill: none !important }
.tb-logo-svg circle[stroke],.tb-logo-svg line[stroke],.tb-logo-svg polygon[stroke] { stroke: #d4af5a !important }
.tb-logo-svg polygon[fill="none"] { fill: none !important }
.tb-logo-svg text:first-of-type { fill: #d4af5a !important }
.tb-logo-svg text:last-of-type  { fill: #ffffff !important }

/* ══ BANK — BLANC PUR FORCÉ ══ */
.tb-logo-svg text:last-of-type,
.tb-logo-svg text + text { fill: #ffffff !important; color: #ffffff !important; opacity: 1 !important }

/* ══ LOGO BANK — BLANC PUR ABSOLU ══ */
#tb-logo-bank,
text#tb-logo-bank { fill: #ffffff !important; color: #ffffff !important; opacity: 1 !important }
#tb-logo-torsten,
text#tb-logo-torsten { fill: #d4af5a !important; opacity: 1 !important }

/* ══ TYPOGRAPHIE PREMIUM — Cormorant Garamond + Jost ══ */

/* Corps de texte → Jost ultra-léger */
html, body,
.tb-hl-body, .tb-acc-tagline, .tb-crd-body,
.tb-svc-desc, .tb-ft-desc, .tb-ft-links a,
.tb-nav-links a, .tb-bw-row, .tb-acc-features li,
.tb-acc-badge, .tb-ey-text, .tb-hl-tag-text,
.btn-g span, .btn-s span, .tb-btn-m span,
.tb-acc-btn span, .tb-ft-ht, .tb-ft-brand,
.tb-m-brand, .tb-m-sub, .tb-fl, .tb-fi {
  font-family: 'Jost', system-ui, sans-serif !important;
  font-weight: 200;
}

/* Titres → Cormorant Garamond serif élégant */
.tb-hl-title, .tb-hl-title-it,
.tb-sec-title, .tb-svc-h,
.tb-acc-amount, .tb-stat-n,
.tb-bw-v, .tb-trust-num,
h1, h2, h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300;
  letter-spacing: 0.02em;
}

/* Italique sur le sous-titre hero */
.tb-hl-title-it {
  font-style: italic !important;
  font-weight: 400 !important;
}

/* ══ CURSEUR PREMIUM — CROIX ÉLÉGANTE ══ */
* { cursor: none !important }

#tb-cur {
  position: fixed;
  width: 4px;
  height: 4px;
  background: #d4af5a;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: width .15s, height .15s, opacity .2s;
  mix-blend-mode: normal;
}

#tb-cur-ring {
  position: fixed;
  width: 36px;
  height: 36px;
  pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
}

/* Branches de la croix */
#tb-cur-ring::before,
#tb-cur-ring::after {
  content: '';
  position: absolute;
  background: #d4af5a;
  opacity: 0.7;
  transition: all .3s cubic-bezier(.77,0,.18,1);
}
/* Barre horizontale */
#tb-cur-ring::before {
  width: 20px; height: 1px;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
/* Barre verticale */
#tb-cur-ring::after {
  width: 1px; height: 20px;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}

/* Agrandissement au survol des éléments cliquables */
#tb-cur.hover { width: 8px; height: 8px }
#tb-cur-ring.hover::before { width: 32px; opacity: 1 }
#tb-cur-ring.hover::after  { height: 32px; opacity: 1 }

/* ══ ANIMATIONS — SCROLL REVEAL ══ */
.tb-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
}
.tb-reveal.visible {
  opacity: 1;
  transform: none;
}
.tb-reveal-delay-1 { transition-delay: .1s }
.tb-reveal-delay-2 { transition-delay: .2s }
.tb-reveal-delay-3 { transition-delay: .3s }
.tb-reveal-delay-4 { transition-delay: .4s }

/* ══ ANIMATION — LIGNE DORÉE SOUS LES SECTIONS ══ */
.tb-accounts::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d4af5a, transparent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 1.2s cubic-bezier(.77,0,.18,1);
}
.tb-accounts.visible::before { transform: scaleX(1) }

/* ══ ANIMATION — HOVER CARTES COMPTES ══ */
.tb-acc-card {
  transition: background .3s, transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s;
}
.tb-acc-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(0,0,0,.4), 0 0 0 1px rgba(212,175,90,.15);
}

/* ══ ANIMATION — HOVER BOUTONS AVEC SHIMMER ══ */
.btn-s::after, .btn-g::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transition: left .5s ease;
}
.btn-s:hover::after, .btn-g:hover::after { left: 150% }

/* ══ ANIMATION — SÉPARATEUR NAV PULSE ══ */
@keyframes pulse-gold {
  0%, 100% { opacity: 1 }
  50%       { opacity: .5 }
}
.tb-nav { animation: none }

/* ══ ANIMATION — CHIFFRES STATS ══ */
.tb-stat-n {
  display: inline-block;
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.tb-stat:hover .tb-stat-n { transform: scale(1.08) }

/* ══ ANIMATION — CARTE BANCAIRE TILT ══ */
.tb-card-a { transition: transform .6s cubic-bezier(.16,1,.3,1), box-shadow .6s }
.tb-card-scene:hover .tb-card-a {
  box-shadow: 0 64px 120px rgba(0,0,0,.8), 0 0 0 1px rgba(212,175,90,.25);
}

/* ══ ANIMATION — LIGNES HERO ENTRÉE ══ */
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-20px) }
  to   { opacity: 1; transform: none }
}
.tb-hl-tag  { animation: slideInLeft .8s .1s both }
.tb-hl-title{ animation: up .9s .25s both }
.tb-hl-title-it { animation: up .9s .4s both }
.tb-hl-body { animation: up .9s .55s both }
.tb-hl-ctas { animation: up .9s .7s both }

/* ══ CURSEUR NORMAL ══ */
* { cursor: auto !important }
a, button, [onclick], .tb-acc-card, .tb-svc-item { cursor: pointer !important }
#tb-cur, #tb-cur-ring { display: none !important }

/* ══ TITRES CRÉDITS — AGRANDIS ══ */
.tb-crd-title {
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
  color: var(--gold2) !important;
  margin-bottom: 1.4rem !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* ══ TITRES NOS COMPTES — AGRANDIS ══ */
.tb-acc-card:not(#tb-credits .tb-acc-card) .tb-acc-badge,
.tb-accounts#tb-accounts .tb-acc-badge {
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  letter-spacing: .08em !important;
  text-transform: none !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  margin-bottom: 1.4rem !important;
}

/* ══ "LE PLUS POPULAIRE" — BLANC PUR ══ */
.tb-acc-popular {
  color: #ffffff !important;
  background: var(--gold) !important;
}

/* ══ PARAGRAPHES NOS CRÉDITS — BLANC PUR ══ */
.tb-crd-body { color: #ffffff !important }

/* ══ SOUS-TITRE NOS CRÉDITS — BLANC PUR ══ */
#tb-credits .tb-sec-sub { color: #ffffff !important }

/* ══ SOUS-TITRE NOS COMPTES — BLANC PUR ══ */
#tb-accounts .tb-sec-sub { color: #ffffff !important }

/* ══ TEXTES WIDGETS FOOTER — BLANC PUR ══ */
.tb-ft-links a,
.tb-ft-desc,
.tb-ft-bot { color: #ffffff !important }

/* ══ TITRE WIDGET MY BLOG — OR DORÉ ══ */
.tb-ft-brand { color: #d4af5a !important }

/* ══ IMAGE SECTION CRÉDITS ══ */
.tb-crd-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  margin-bottom: 1.4rem;
  border: 1px solid var(--gl);
}
.tb-crd-img-placeholder {
  width: 100%;
  height: 180px;
  background: rgba(212,175,90,.06);
  border: 1px solid var(--gl);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.4rem;
  font-size: 3rem;
}

/* ══ ANIMATION HERO — HALO AMBIANT DORÉ ══ */

/* Halo principal pulsant */
@keyframes halo-pulse {
  0%,100% { opacity: .06; transform: scale(1) }
  50%      { opacity: .12; transform: scale(1.08) }
}
@keyframes halo-pulse-2 {
  0%,100% { opacity: .04; transform: scale(1.05) }
  50%      { opacity: .09; transform: scale(0.95) }
}
@keyframes halo-drift {
  0%,100% { transform: translate(0,0) scale(1) }
  33%     { transform: translate(20px,-15px) scale(1.04) }
  66%     { transform: translate(-15px,10px) scale(0.97) }
}

.tb-hero-bg::before {
  content: '';
  position: absolute;
  top: 20%; right: 10%;
  width: 520px; height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,90,1) 0%, transparent 70%);
  animation: halo-pulse 6s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
.tb-hero-bg::after {
  content: '';
  position: absolute;
  bottom: 10%; left: 5%;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,90,1) 0%, transparent 65%);
  animation: halo-pulse-2 8s 2s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* Halo central — très subtil */
.tb-hb-grad {
  animation: halo-drift 12s ease-in-out infinite;
  background: radial-gradient(ellipse 65% 65% at 75% 45%, rgba(212,175,90,.09), transparent) !important;
}

/* Scintillement très doux sur la ligne de séparation nav */
@keyframes line-shimmer {
  0%,100% { opacity: 1 }
  50%      { opacity: .55 }
}
.tb-nav {
  border-bottom-color: #d4af5a !important;
  animation: line-shimmer 4s ease-in-out infinite;
}

/* ══ ANIMATION FOND HERO — CANVAS PARTICULES ══ */
#tb-hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: .85;
}

/* ══ ANIMATIONS TEXTES HERO ══ */

/* Tag — glisse depuis la gauche */
@keyframes tb-slide-left {
  from { opacity:0; transform: translateX(-30px) }
  to   { opacity:1; transform: none }
}

/* Titre — fondu depuis le bas */
@keyframes tb-fade-up {
  from { opacity:0; transform: translateY(28px) }
  to   { opacity:1; transform: none }
}

/* Texte — apparition douce */
@keyframes tb-fade-in {
  from { opacity:0 }
  to   { opacity:1 }
}

/* Boutons — glisse depuis le bas + fondu */
@keyframes tb-rise {
  from { opacity:0; transform: translateY(20px) }
  to   { opacity:1; transform: none }
}

/* Application des animations */
.tb-hl-tag     { animation: tb-slide-left .9s cubic-bezier(.16,1,.3,1) .2s both !important }
.tb-hl-title   { animation: tb-fade-up   1s  cubic-bezier(.16,1,.3,1) .45s both !important }
.tb-hl-title-it{ animation: tb-fade-up   1s  cubic-bezier(.16,1,.3,1) .65s both !important }
.tb-hl-body    { animation: tb-fade-in   1.1s ease                    .85s both !important }
.tb-hl-ctas    { animation: tb-rise      .9s  cubic-bezier(.16,1,.3,1) 1.05s both !important }

/* Carte — entrée depuis la droite */
@keyframes tb-slide-right {
  from { opacity:0; transform: translateX(40px) }
  to   { opacity:1; transform: none }
}
.tb-hr { animation: tb-slide-right 1.1s cubic-bezier(.16,1,.3,1) .5s both }

/* ══ CARTE — ANIMATION PLUS RAPIDE ══ */
.tb-hr { animation: tb-slide-right .55s cubic-bezier(.16,1,.3,1) .3s both !important }
@keyframes cf1 {
  0%,100% { transform: rotate(-1.5deg) translateY(0) }
  50%      { transform: rotate(-1.5deg) translateY(-13px) }
}
.tb-card-a { animation: cf1 3.5s ease-in-out infinite !important }
.tb-card-b { animation: cf2 3.5s ease-in-out infinite !important }
@keyframes cf2 {
  0%,100% { transform: rotate(3.5deg) translateY(0) }
  50%      { transform: rotate(3.5deg) translateY(-8px) }
}

/* ══ CARTE — FLOTTAISON ENCORE PLUS RAPIDE ══ */
.tb-card-a { animation: cf1 2.2s ease-in-out infinite !important }
.tb-card-b { animation: cf2 2.2s ease-in-out infinite !important }

/* ══ MENU MOBILE — BLANC PUR + TAILLE RÉDUITE ══ */
.tb-mobile-menu a { color: #ffffff !important }
.tb-mobile-menu a:hover { color: var(--gold2) !important }

@media(max-width:768px){
  .tb-mobile-menu a { font-size: 0.88rem !important; letter-spacing: .18em !important }
}
@media(max-width:480px){
  .tb-mobile-menu a { font-size: 0.78rem !important; letter-spacing: .14em !important }
}

/* ══ NAV — SUPPRIME LE CLIGNOTEMENT + LUMINOSITÉ NORMALE ══ */
.tb-nav { animation: none !important }

/* ══ ANIMATIONS NAV — LOGO, LIENS, BOUTONS ══ */

/* Logo — glisse depuis la gauche */
@keyframes tb-nav-logo-in {
  from { opacity:0; transform: translateX(-24px) }
  to   { opacity:1; transform: none }
}
.tb-nav-logo { animation: tb-nav-logo-in .7s cubic-bezier(.16,1,.3,1) .1s both }

/* Liens nav — apparaissent en cascade depuis le haut */
@keyframes tb-nav-link-in {
  from { opacity:0; transform: translateY(-10px) }
  to   { opacity:1; transform: none }
}
.tb-nav-links a:nth-child(1) { animation: tb-nav-link-in .55s cubic-bezier(.16,1,.3,1) .25s both }
.tb-nav-links a:nth-child(2) { animation: tb-nav-link-in .55s cubic-bezier(.16,1,.3,1) .35s both }
.tb-nav-links a:nth-child(3) { animation: tb-nav-link-in .55s cubic-bezier(.16,1,.3,1) .45s both }

/* Boutons nav — glissent depuis la droite */
@keyframes tb-nav-btn-in {
  from { opacity:0; transform: translateX(20px) }
  to   { opacity:1; transform: none }
}
.tb-nav-actions .btn-g { animation: tb-nav-btn-in .6s cubic-bezier(.16,1,.3,1) .55s both }
.tb-nav-actions .btn-s { animation: tb-nav-btn-in .6s cubic-bezier(.16,1,.3,1) .7s both }

/* Hover liens — soulignement animé déjà présent + légère élévation */
.tb-nav-links a {
  transition: color .25s, transform .2s !important;
}
.tb-nav-links a:hover { transform: translateY(-2px) !important }

/* Hover boutons — légère montée */
.tb-nav-actions .btn-g,
.tb-nav-actions .btn-s {
  transition: transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s !important;
}
.tb-nav-actions .btn-s:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(212,175,90,.3) !important;
}
.tb-nav-actions .btn-g:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(212,175,90,.18) !important;
}

/* Logo hover — légère pulsation */
.tb-nav-logo:hover .tb-logo-svg {
  filter: brightness(1.15) !important;
  transition: filter .3s !important;
}

/* ══ IMAGES CRÉDITS — FOND TRANSPARENT SVG ══ */
.tb-crd-img {
  width: 100%;
  height: 200px !important;
  object-fit: cover;
  display: block;
  margin-bottom: 1.4rem;
  border: 1px solid var(--gl);
  background: transparent;
}

/* ══ BOUTON LOGIN — TAILLE RÉDUITE ══ */
.tb-nav-actions .btn-g { padding: 8px 16px !important; font-size: .6rem !important }

/* ══ LOGO — RESTAURÉ HAUTEUR 120px, LARGEUR RÉDUITE ══ */
.tb-logo-svg {
  height: 120px !important;
  width: auto !important;
  max-width: 320px !important;
}
@media(max-width:1024px){ .tb-logo-svg{ height:100px !important; max-width:280px !important } }
@media(max-width:768px){  .tb-logo-svg{ height:80px !important;  max-width:240px !important } }
@media(max-width:480px){  .tb-logo-svg{ height:64px !important;  max-width:200px !important } }

/* ══ BOUTON LOGIN — MÊME HAUTEUR QUE KONTO ERÖFFNEN ══ */
.tb-nav-actions .btn-g { padding: 13px 28px !important; font-size: var(--text-xs) !important }

/* ══ MOBILE CTA LOGIN — MÊME TAILLE ══ */
.tb-mobile-ctas .btn-g { padding: 13px 28px !important; font-size: var(--text-xs) !important }

/* ══ TITRES WIDGETS FOOTER — PLUS GRANDS ══ */
.tb-ft-ht {
  font-size: 1rem !important;
  font-weight: 300 !important;
  letter-spacing: .18em !important;
  margin-bottom: 1.6rem !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* ══ LOGO MOBILE — ENCORE PLUS GRAND ══ */
@media(max-width:768px){  .tb-logo-svg{ height:110px !important; max-width:320px !important } }
@media(max-width:480px){  .tb-logo-svg{ height:90px  !important; max-width:280px !important } }

/* ══ TITRES SECTIONS — TAILLE RÉDUITE ══ */
#tb-accounts .tb-sec-title,
#tb-credits .tb-sec-title {
  font-size: clamp(1.4rem, 2.5vw, 2.2rem) !important;
}

/* ══ LOGO MOBILE — MAXIMUM ══ */
@media(max-width:768px){  .tb-logo-svg{ height:130px !important; max-width:360px !important } }
@media(max-width:480px){  .tb-logo-svg{ height:105px !important; max-width:300px !important } }

/* ══ TITRES NAV + BRAND — AGRANDIS ══ */

/* Die Bank der finanziellen Freiheit (hero tag) */
.tb-hl-tag-text { font-size: .82rem !important; letter-spacing: .22em !important }

/* Unsere Bankkonten / Unsere Bankkredite (eyebrow labels) */
.tb-ey-text { font-size: .78rem !important; letter-spacing: .26em !important }

/* My Blog (footer brand) */
.tb-ft-brand { font-size: 1.1rem !important; letter-spacing: .28em !important }

/* ══ LIENS MENU — PLUS GRANDS + ESPACEMENT RÉDUIT ══ */
.tb-nav-links { gap: 1.8rem !important }
.tb-nav-links a { font-size: .78rem !important; letter-spacing: .16em !important }

/* ══ LIENS MENU — ENCORE PLUS GRANDS ══ */
.tb-nav-links { gap: 2.2rem !important }
.tb-nav-links a { font-size: .92rem !important; letter-spacing: .12em !important }

/* ══ LIENS MENU — INTERVALLE RÉDUIT ══ */
.tb-nav-links { gap: 1.4rem !important }

/* ══ LIENS MENU — TAILLE RÉDUITE + TYPOGRAPHIE WIDGET ══ */
.tb-nav-links a {
  font-size: .82rem !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300 !important;
  letter-spacing: .14em !important;
  text-transform: none !important;
}

/* ══ LIENS MENU — TYPOGRAPHIE RESTAURÉE ══ */
.tb-nav-links a {
  font-family: 'Jost', system-ui, sans-serif !important;
  font-weight: 200 !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
  font-size: .82rem !important;
}

/* ══ LIENS MENU — TAILLE AUGMENTÉE ══ */
.tb-nav-links a { font-size: 1rem !important }

/* ══ LIENS MENU — TAILLE LÉGÈREMENT RÉDUITE ══ */
.tb-nav-links a { font-size: .9rem !important }

/* ══ PAGE KONTAKT ══ */
.tb-kontakt-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 4rem;
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 5rem;
  align-items: start;
}

/* Blocs infos */
.tb-kontakt-block {
  margin-bottom: 2.8rem;
}
.tb-kontakt-block:last-child { margin-bottom: 0 }

.tb-kontakt-text {
  font-size: var(--text-sm);
  font-weight: 200;
  color: #ffffff;
  line-height: 2;
  letter-spacing: .03em;
}
.tb-kontakt-link {
  display: block;
  font-size: var(--text-md);
  font-weight: 200;
  color: var(--gold2);
  text-decoration: none;
  letter-spacing: .04em;
  margin-bottom: .4rem;
  transition: color .2s;
}
.tb-kontakt-link:hover { color: var(--off) }
.tb-kontakt-subtext {
  font-size: var(--text-xs);
  font-weight: 200;
  color: var(--dim);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Formulaire */
.tb-kontakt-form {
  background: rgba(212,175,90,.03);
  border: 1px solid var(--gl);
  padding: 2.8rem;
}

/* Responsive */
@media(max-width:900px){
  .tb-kontakt-wrap { grid-template-columns:1fr; gap:3rem; padding:4rem 2.5rem }
}
@media(max-width:480px){
  .tb-kontakt-wrap { padding:3rem 1.2rem }
  .tb-kontakt-form { padding:2rem 1.4rem }
}

/* ══ PAGE KONTAKT — BANNER RÉDUIT + FOND NOIR ══ */
.tb-svc-wrap .tb-svc-banner {
  background: #0b0b0b !important;
  padding: 3.5rem 4rem 3rem !important;
}
.tb-svc-wrap .tb-svc-h { color: var(--off) !important }
.tb-svc-wrap .tb-svc-p { color: var(--dim) !important }
@media(max-width:768px){ .tb-svc-wrap .tb-svc-banner{ padding:2.5rem 1.5rem 2rem !important } }
@media(max-width:480px){ .tb-svc-wrap .tb-svc-banner{ padding:2rem 1.2rem 1.8rem !important } }

/* ══ TITRE HERO — EM INLINE COULEUR DORÉE ══ */
.tb-hl-title em.tb-hl-title-it {
  display: inline !important;
  font-style: italic !important;
  color: var(--gold2) !important;
  font-weight: 300 !important;
}

/* ══ ESPACE ENTRE TITRE ET PARAGRAPHE HERO ══ */
.tb-hl-title { margin-bottom: 2rem !important }

/* ══ PRIX COMPTES — TAILLE RÉDUITE ══ */
.tb-acc-amount { font-size: 2.4rem !important }

/* ══ DM SERIF DISPLAY — MONTANTS & CHIFFRES ══ */

/* Montants cartes comptes */
.tb-acc-amount,
.tb-acc-currency,
.tb-acc-period {
  font-family: 'DM Serif Display', Georgia, serif !important;
}

/* Solde widget hero */
.tb-bw-v {
  font-family: 'DM Serif Display', Georgia, serif !important;
}

/* Stats hero */
.tb-stat-n {
  font-family: 'DM Serif Display', Georgia, serif !important;
}

/* Taux crédits */
.tb-prod-rate,
.tb-prod-rate span {
  font-family: 'DM Serif Display', Georgia, serif !important;
}

/* ══ TAILLE DES TEXTES AUGMENTÉE ══ */
html { font-size: 17px !important }

.tb-hl-body    { font-size: 1.05rem !important; line-height: 2.1 !important }
.tb-acc-tagline{ font-size: .95rem  !important; line-height: 2   !important }
.tb-crd-body   { font-size: .95rem  !important; line-height: 2   !important }
.tb-ft-desc    { font-size: .9rem   !important; line-height: 2   !important }
.tb-ft-links a { font-size: .88rem  !important }
.tb-kontakt-text { font-size: .95rem !important; line-height: 2  !important }

/* ══ TEXTES — TAILLE ENCORE AUGMENTÉE ══ */
html { font-size: 18px !important }
.tb-hl-body     { font-size: 1.12rem !important; line-height: 2.1 !important }
.tb-acc-tagline { font-size: 1rem    !important; line-height: 2   !important }
.tb-crd-body    { font-size: 1rem    !important; line-height: 2.1 !important }
.tb-ft-desc     { font-size: .95rem  !important; line-height: 2   !important }
.tb-ft-links a  { font-size: .92rem  !important }
.tb-kontakt-text{ font-size: 1rem    !important; line-height: 2   !important }
.tb-acc-features li { font-size: .94rem !important }

/* ══ TEXTE HERO — TAILLE RÉDUITE ══ */
.tb-hl-body { font-size: .88rem !important; line-height: 2 !important }

/* ══ TEXTE HERO — TAILLE AJUSTÉE ══ */
.tb-hl-body { font-size: .96rem !important; line-height: 2.1 !important }

/* ══ TEXTE HERO — TAILLE DESKTOP UNIQUEMENT ══ */
@media(min-width:769px){
  .tb-hl-body { font-size: 1.05rem !important; line-height: 2.1 !important }
}

/* ══ SECTION CREDITS MOBILE — COLONNES CENTRÉES ══ */
@media(max-width:768px){
  #tb-credits .tb-acc-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 1.5rem !important;
  }
  #tb-credits .tb-acc-card {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  #tb-credits .tb-acc-divider { margin: 1rem auto !important }
  #tb-credits .tb-crd-body { text-align: left !important }
  #tb-credits .tb-acc-btn { margin: 0 auto !important }
}

/* ══ SECTION BEWERTUNGEN (AVIS & TÉMOIGNAGES) ══ */
.tb-reviews {
  background: #f8f7f4;
  padding: 5rem 4rem;
  border-top: 1px solid var(--gold);
}
.tb-reviews-inner { max-width: 1200px; margin: 0 auto }

.tb-reviews-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 3rem;
  letter-spacing: .01em;
}

/* Grille 4 colonnes */
.tb-reviews-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.4rem;
  margin-bottom: 2rem;
}

/* Carte avis */
.tb-review-card {
  background: #ffffff;
  border: 1px solid #e8e4dc;
  padding: 1.6rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: .8rem;
  border-radius: 2px;
  transition: box-shadow .25s;
}
.tb-review-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.08) }

.tb-review-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
}

.tb-review-stars { display: flex; gap: 1px }
.tb-star {
  color: #00b67a;
  font-size: 1.1rem;
  line-height: 1;
}

.tb-review-verified {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .68rem;
  font-weight: 300;
  color: #00b67a;
  font-family: 'Jost', sans-serif;
  letter-spacing: .04em;
}

.tb-review-title {
  font-family: 'Jost', sans-serif;
  font-size: .88rem;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tb-review-body {
  font-family: 'Jost', sans-serif;
  font-size: .82rem;
  font-weight: 300;
  color: #5a5a5a;
  line-height: 1.7;
  flex: 1;
}

.tb-review-author {
  font-family: 'Jost', sans-serif;
  font-size: .72rem;
  font-weight: 200;
  color: #9a9a9a;
  letter-spacing: .04em;
  border-top: 1px solid #f0ece4;
  padding-top: .7rem;
  margin-top: .4rem;
}

/* Footer Trustpilot */
.tb-reviews-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  flex-wrap: wrap;
}
.tb-reviews-note {
  font-family: 'Jost', sans-serif;
  font-size: .78rem;
  font-weight: 200;
  color: #5a5a5a;
  letter-spacing: .02em;
}
.tb-reviews-note strong { font-weight: 600; color: #1a1a1a }
.tb-reviews-note u { cursor: pointer; color: #00b67a }

.tb-trustpilot-logo {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: 'Jost', sans-serif;
  font-size: .82rem;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: .02em;
}

/* Responsive */
@media(max-width:1024px){ .tb-reviews-grid{ grid-template-columns: repeat(2,1fr) } }
@media(max-width:600px){
  .tb-reviews{ padding:4rem 1.5rem }
  .tb-reviews-grid{ grid-template-columns: 1fr; gap:1rem }
}

/* ══ SECTION BEWERTUNGEN — FOND NOIR ══ */
.tb-reviews { background: var(--ink) !important; border-top: 1px solid var(--gold) !important }
.tb-reviews-title { color: var(--off) !important }
.tb-review-card { background: #111111 !important; border-color: var(--gl) !important }
.tb-review-title { color: var(--off) !important }
.tb-review-body  { color: var(--dim) !important }
.tb-review-author { color: #5a5a5a !important; border-top-color: var(--gl) !important }
.tb-reviews-note { color: var(--dim) !important }
.tb-reviews-note strong { color: var(--off) !important }
.tb-trustpilot-logo { color: var(--off) !important }

/* ══ PAGES KONTEN/KREDITE — COLONNE UNIQUE ══ */
.tb-info-only {
  grid-template-columns: 1fr !important;
  max-width: 800px !important;
}
.tb-info-only .tb-kontakt-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media(max-width:768px){
  .tb-info-only .tb-kontakt-info { grid-template-columns: 1fr }
}

/* ══ COLONNES INFO — CADRE ÉLÉGANT ══ */
.tb-info-only .tb-kontakt-block {
  background: rgba(212,175,90,.03);
  border: 1px solid var(--gl);
  padding: 2.4rem 2rem;
  margin-bottom: 0 !important;
  position: relative;
  transition: background .3s, box-shadow .3s;
}
.tb-info-only .tb-kontakt-block:hover {
  background: rgba(212,175,90,.06);
  box-shadow: 0 8px 32px rgba(0,0,0,.3), 0 0 0 1px rgba(212,175,90,.2);
}

/* Ligne dorée en haut de chaque carte */
.tb-info-only .tb-kontakt-block::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold2), transparent);
}

/* Coins décoratifs */
.tb-info-only .tb-kontakt-block::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 18px; height: 18px;
  border-bottom: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
  opacity: .5;
}

/* ══ COLONNES INFO — PLUS LARGES ══ */
.tb-info-only {
  max-width: 1200px !important;
  padding: 4rem !important;
}
.tb-info-only .tb-kontakt-info {
  gap: 2rem;
}

/* ══ TOPBAR — BANDEAU OR DORÉ ══ */
.tb-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 600;
  background: #d4af5a;
  height: 38px;
}
.tb-topbar-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 4rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.tb-topbar-slogan {
  font-family: 'Jost', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: #0b0b0b;
  text-transform: uppercase;
}
.tb-topbar-right {
  display: flex;
  align-items: center;
  gap: 1.4rem;
}
.tb-topbar-clients {
  font-family: 'Jost', sans-serif;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: #0b0b0b;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.tb-topbar-flag { font-size: 1.1rem; line-height: 1 }
.tb-topbar-search {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: none;
  height: 24px;
  overflow: hidden;
}
.tb-topbar-input {
  border: none;
  outline: none;
  background: transparent;
  padding: 0 8px;
  font-family: 'Jost', sans-serif;
  font-size: .68rem;
  font-weight: 300;
  color: #1a1a1a;
  width: 120px;
  height: 100%;
}
.tb-topbar-input::placeholder { color: #9a9a9a }
.tb-topbar-btn {
  background: #0b0b0b;
  border: none;
  height: 24px;
  width: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #ffffff;
  flex-shrink: 0;
}

/* Décale la nav et le contenu vers le bas */
.tb-nav { top: 38px !important }
.tb-svc-wrap, body { padding-top: calc(84px + 38px) !important }
.tb-hero { padding-top: calc(84px + 38px) !important }

@media(max-width:768px){
  .tb-topbar-inner { padding: 0 1.5rem }
  .tb-topbar-slogan { font-size: .62rem }
  .tb-topbar-clients, .tb-topbar-flag { display: none }
  .tb-topbar-input { width: 90px }
}
@media(max-width:480px){
  .tb-topbar-inner { padding: 0 1rem }
  .tb-topbar-search { display: none }
}

.tb-hl { padding-top: 0.5rem !important }
.tb-hl-tag { margin-bottom: 0.4rem !important }


/* Réduire l'espace entre le menu et le contenu */
.tb-hero-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: auto !important;
}
.tb-hl { padding-top: 0 !important; padding-bottom: 2rem !important }

/* La carte s'aligne avec le tag */
.tb-hr { padding-top: 0 !important }
.tb-card-scene { margin-top: 0 !important }

/* Espace entre tag et titre principal */
.tb-hl-tag { margin-bottom: 2.5rem !important }

/* Espace entre titre h1 et reste */
.tb-hl-title { margin-bottom: 1.8rem !important }

.tb-hero {
  padding-top: calc(84px + 38px + 8px) !important;
}
.tb-hero-inner {
  padding-top: 0 !important;
  padding-bottom: 1.5rem !important;
}

main.tb-hero .tb-hero-inner {
  padding-top: 0 !important;
  padding-bottom: 2rem !important;
  min-height: auto !important;
}
main.tb-hero .tb-hl {
  padding-top: 0 !important;
  padding-bottom: 2rem !important;
}
main.tb-hero .tb-hl-tag {
  margin-bottom: 2rem !important;
}





.tb-hero .tb-hl {
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.tb-hero .tb-hl-tag  { margin-bottom: 1.5rem !important }
.tb-hero .tb-hl-title{ margin-bottom: 1.2rem !important; line-height: 1.2 !important }
.tb-hero .tb-hl-body { margin-bottom: 2rem   !important }
.tb-hero .tb-hr      { padding: 0 !important }

@media(max-width:768px){
  .tb-hero .tb-hero-inner { padding: 1rem 1.5rem !important }
}

/* Textes hero — ajustement */
.tb-hl-tag   { margin-bottom: 1.5rem !important }
.tb-hl-title { margin-bottom: 1rem   !important; line-height: 1.15 !important }
.tb-hl-body  { margin-bottom: 2rem   !important; line-height: 1.9  !important }

@media(max-width:768px){
    main.tb-hero .tb-hero-inner { padding: 0 1.5rem !important }
}
@media(max-width:480px){
  }




main.tb-hero                { padding-top: 122px !important }
@media(max-width:768px){
  main.tb-hero              { padding-top: 50px  !important }
}
@media(max-width:480px){
  main.tb-hero              { padding-top: 40px  !important }
}


/* HERO PADDING FINAL */
.tb-hero { padding-top: 122px !important }
@media(max-width:768px){ .tb-hero { padding-top: 50px !important } }
@media(max-width:480px){ .tb-hero { padding-top: 40px !important } }
.tb-hero .tb-hl,.tb-hero .tb-hr,.tb-hero .tb-hero-inner { padding-top: 0 !important }

/* ══ HERO TEXTES — AJUSTEMENT FINAL ══ */
.tb-hl-tag-text {
  font-size: .75rem !important;
  letter-spacing: .28em !important;
}
.tb-hl-title {
  font-size: clamp(2.2rem, 3.8vw, 3.6rem) !important;
  line-height: 1.15 !important;
  margin-bottom: 1.2rem !important;
}
.tb-hl-title em.tb-hl-title-it {
  font-size: clamp(2rem, 3.5vw, 3.4rem) !important;
}
.tb-hl-body {
  font-size: 1rem !important;
  line-height: 1.9 !important;
  margin-bottom: 2.2rem !important;
  max-width: 480px !important;
}
.tb-hl-tag {
  margin-bottom: 1.8rem !important;
}
.tb-hl-ctas {
  gap: 1rem !important;
}

/* Mobile */
@media(max-width:768px){
  .tb-hl-title { font-size: clamp(1.8rem, 6vw, 2.6rem) !important }
  .tb-hl-body  { font-size: .9rem !important; max-width: 100% !important }
}

/* ══ HERO — CONTENU CENTRÉ ══ */
.tb-hero-inner {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  text-align: center !important;
  max-width: 860px !important;
}
.tb-hl {
  text-align: center !important;
  align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
}
.tb-hl-tag  { justify-content: center !important }
.tb-hl-ctas { justify-content: center !important }
.tb-hl-body { text-align: center !important; max-width: 580px !important }
.tb-hr      { display: none !important }

/* ══ HERO — RESET CENTRAGE + RESTAURE GRILLE ══ */
.tb-hero-inner {
  grid-template-columns: 1fr 1fr !important;
  justify-items: start !important;
  text-align: left !important;
  max-width: 1320px !important;
}
.tb-hl {
  text-align: left !important;
  align-items: flex-start !important;
}
.tb-hl-tag  { justify-content: flex-start !important }
.tb-hl-ctas { justify-content: flex-start !important }
.tb-hl-body { text-align: left !important }
.tb-hr      { display: flex !important }

/* ══ HERO — TOUT CENTRÉ VERTICALEMENT ══ */
.tb-hero-inner {
  align-items: center !important;
}
.tb-hl {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}
.tb-hr {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ══ HERO — CENTRAGE HORIZONTAL GLOBAL ══ */
.tb-hero-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 5rem !important;
  align-items: center !important;
  gap: 4rem !important;
}
@media(max-width:1024px){
  .tb-hero-inner { padding: 0 3rem !important; gap: 3rem !important }
}
@media(max-width:768px){
  .tb-hero-inner { padding: 0 2rem !important }
}
@media(max-width:480px){
  .tb-hero-inner { padding: 0 1.5rem !important }
}

/* ══ HERO — PLUS LARGE ══ */
.tb-hero-inner {
  max-width: 1400px !important;
  padding: 0 6rem !important;
  gap: 6rem !important;
}
@media(max-width:1024px){
  .tb-hero-inner { padding: 0 3rem !important; gap: 3rem !important }
}
@media(max-width:768px){
  .tb-hero-inner { padding: 0 2rem !important }
}

/* ══ HERO MOBILE — CARTES SOUS LES BOUTONS ══ */
@media(max-width:768px){
  .tb-hero-inner {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
  }
  .tb-hl { order: 1 !important }
  .tb-hr { order: 2 !important; width: 100% !important; justify-content: center !important }
}

/* ══ CONTENU PAGES GUTENBERG ══ */
.tb-page-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4rem;
  color: var(--off);
}
.tb-page-content h2,.tb-page-content h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  color: var(--gold2);
  margin-bottom: 1rem;
}
.tb-page-content p {
  font-family: 'Jost', sans-serif;
  font-weight: 200;
  line-height: 2;
  color: var(--off);
  margin-bottom: 1.2rem;
}
.tb-page-content ul, .tb-page-content ol {
  font-family: 'Jost', sans-serif;
  font-weight: 200;
  color: var(--off);
  padding-left: 1.5rem;
  margin-bottom: 1.2rem;
  line-height: 2;
}
.tb-page-content a { color: var(--gold2) }
.tb-page-content strong { font-weight: 400; color: var(--gold2) }

/* WPForms stylisé */
.tb-wpforms-wrap {
  max-width: 700px;
  margin: 0 auto 5rem;
  padding: 2.8rem;
  background: rgba(212,175,90,.03);
  border: 1px solid var(--gl);
}
.tb-wpforms-wrap .wpforms-field input,
.tb-wpforms-wrap .wpforms-field textarea,
.tb-wpforms-wrap .wpforms-field select {
  background: #0e0e0e !important;
  border: none !important;
  border-bottom: 1px solid var(--gl) !important;
  color: var(--off) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 200 !important;
  padding: 12px 0 !important;
  width: 100% !important;
}
.tb-wpforms-wrap .wpforms-field label {
  font-family: 'Jost', sans-serif !important;
  font-size: .7rem !important;
  font-weight: 200 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--dim) !important;
}
.tb-wpforms-wrap .wpforms-submit {
  background: var(--gold) !important;
  border: none !important;
  color: var(--ink) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  width: 100% !important;
}

@media(max-width:768px){
  .tb-page-content { padding: 3rem 1.5rem }
  .tb-wpforms-wrap { padding: 2rem 1.4rem; margin: 0 1.5rem 3rem }
}

/* ══════════════════════════════════════
   PAGES ÉLÉGANTES — LAYOUT COMMUN
══════════════════════════════════════ */

/* Banner */
.tb-page-banner {
  position: relative;
  background: var(--ink);
  padding: 8rem 4rem 6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid var(--gold);
}
.tb-page-banner-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(212,175,90,.07), transparent);
  pointer-events: none;
}
.tb-page-banner-inner {
  position: relative;
  z-index: 1;
  max-width: 800px;
}
.tb-page-h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--off);
  margin: 1.5rem 0 1.2rem;
  letter-spacing: -.01em;
}
.tb-page-h1 em {
  font-style: italic;
  font-weight: 400;
  color: var(--gold2);
}
.tb-page-lead {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 200;
  line-height: 1.9;
  color: var(--dim);
  max-width: 560px;
  margin: 0 auto 2.4rem;
  letter-spacing: .02em;
}
.tb-page-ctas {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* Section cards */
.tb-page-section {
  background: var(--ink);
  border-bottom: 1px solid var(--gold);
}
.tb-page-section-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 4rem;
}

/* Section formulaire */
.tb-page-form-section {
  background: var(--ink);
  padding: 5rem 4rem;
}
.tb-page-form-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.tb-page-form-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 300;
  color: var(--off);
  text-align: center;
  margin-bottom: 3.5rem;
  line-height: 1.2;
}
.tb-page-form-title em {
  font-style: italic;
  color: var(--gold2);
  font-weight: 400;
}
.tb-page-form-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 5rem;
  align-items: start;
}
.tb-page-form-box {
  background: rgba(212,175,90,.03);
  border: 1px solid var(--gl);
  padding: 2.8rem;
  position: relative;
}
.tb-page-form-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold2), transparent);
}

/* Avantages */
.tb-page-form-benefits {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
}
.tb-page-benefit {
  display: flex;
  gap: 1.4rem;
  align-items: flex-start;
}
.tb-page-benefit-icon {
  font-size: 1.4rem;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: rgba(212,175,90,.08);
  border: 1px solid var(--gl);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tb-page-benefit-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
  color: var(--gold2);
  margin-bottom: .4rem;
  letter-spacing: .02em;
}
.tb-page-benefit-text {
  font-family: 'Jost', sans-serif;
  font-size: .85rem;
  font-weight: 200;
  color: var(--dim);
  line-height: 1.8;
  letter-spacing: .02em;
}

/* Responsive */
@media(max-width:1024px){
  .tb-page-banner { padding: 6rem 2.5rem 4rem }
  .tb-page-form-section { padding: 4rem 2.5rem }
  .tb-page-section-inner { padding: 4rem 2.5rem }
  .tb-page-form-grid { gap: 3rem }
}
@media(max-width:768px){
  .tb-page-banner { padding: 5rem 1.5rem 3.5rem }
  .tb-page-form-section { padding: 3rem 1.5rem }
  .tb-page-section-inner { padding: 3rem 1.5rem }
  .tb-page-form-grid { grid-template-columns: 1fr; gap: 2.5rem }
  .tb-page-form-box { padding: 2rem 1.4rem }
}
@media(max-width:480px){
  .tb-page-banner { padding: 4rem 1.2rem 3rem }
  .tb-page-h1 { font-size: clamp(1.6rem, 6vw, 2.2rem) }
}

/* ══ MODAL LARGE — FORMULAIRE UNIFIÉ ══ */
.tb-modal-wide {
  max-width: 620px !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
}
.tb-modal-wide::-webkit-scrollbar { width: 4px }
.tb-modal-wide::-webkit-scrollbar-track { background: #111 }
.tb-modal-wide::-webkit-scrollbar-thumb { background: var(--gold) }

.tb-modal-logo { text-align: center; margin-bottom: .6rem }

/* Indicateur d'étapes */
.tb-form-steps-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 2rem;
}
.tb-fsn-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  opacity: .4;
  transition: opacity .3s;
}
.tb-fsn-item.active { opacity: 1 }
.tb-fsn-dot {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1px solid var(--gold);
  display: flex; align-items: center; justify-content: center;
  font-size: .68rem; font-weight: 300;
  color: var(--gold);
  font-family: 'Jost', sans-serif;
}
.tb-fsn-item.active .tb-fsn-dot {
  background: var(--gold);
  color: var(--ink);
  font-weight: 600;
}
.tb-fsn-label {
  font-size: .6rem;
  font-weight: 200;
  color: var(--dim);
  letter-spacing: .08em;
  text-align: center;
  max-width: 60px;
  line-height: 1.3;
}
.tb-fsn-line {
  flex: 1;
  height: 1px;
  background: var(--gl);
  min-width: 20px;
  max-width: 40px;
}

/* Erreur form */
.tb-form-err {
  color: #f87171;
  font-size: .72rem;
  margin-bottom: .8rem;
  letter-spacing: .04em;
  min-height: 1rem;
}

/* Bouton ghost */
.tb-btn-m.tb-btn-ghost {
  background: transparent !important;
  border: 1px solid var(--gl) !important;
  color: var(--off) !important;
}

/* Range slider crédit */
.tb-range-wrap { margin-bottom: .4rem }
.tb-range-wrap input[type=range] {
  width: 100%;
  appearance: none;
  height: 2px;
  background: var(--gl);
  outline: none;
  cursor: pointer;
}
.tb-range-wrap input[type=range]::-webkit-slider-thumb {
  appearance: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--gold);
  cursor: pointer;
  border: 2px solid var(--ink);
}
.tb-range-labels {
  display: flex;
  justify-content: space-between;
  font-size: .68rem;
  font-weight: 200;
  color: var(--dim);
  margin-top: .6rem;
  letter-spacing: .04em;
}
.tb-range-labels strong {
  color: var(--gold2);
  font-family: 'DM Serif Display', serif;
  font-size: .88rem;
}

/* Résumé étape 4 */
.tb-confirm-box {
  background: rgba(212,175,90,.04);
  border: 1px solid var(--gl);
  padding: 1.4rem;
  margin-bottom: 1.4rem;
}
.tb-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Jost', sans-serif;
  font-size: .78rem;
  font-weight: 200;
}
.tb-summary-table td {
  padding: .4rem .6rem;
  border-bottom: 1px solid rgba(212,175,90,.08);
  color: var(--off);
}
.tb-summary-table td:first-child {
  color: var(--dim);
  letter-spacing: .08em;
  font-size: .68rem;
  text-transform: uppercase;
  white-space: nowrap;
  width: 40%;
}

/* Mobile */
@media(max-width:480px){
  .tb-modal-wide { max-width: 100% !important; border-radius: 0 }
  .tb-fsn-label { display: none }
}

/* ══ MODALS — LOGO ET TYPOGRAPHIE AGRANDIS ══ */

/* Logo dans les modals */
.tb-modal .tb-modal-logo img {
  height: 80px !important;
  margin-bottom: 1.2rem !important;
}

/* Titre "Konto & Kredit — Antrag" */
.tb-modal .tb-m-sub {
  font-size: 1.1rem !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: .06em !important;
  color: var(--off) !important;
  text-align: center !important;
  margin-bottom: .6rem !important;
}

/* Sous-titre modal */
.tb-modal p[style*="letter-spacing"] {
  font-size: .78rem !important;
}

/* Labels formulaire */
.tb-modal .tb-fl {
  font-size: .75rem !important;
  letter-spacing: .18em !important;
}

/* Inputs formulaire */
.tb-modal .tb-fi {
  font-size: .9rem !important;
}

/* ══ MODALS — FOND ANIMÉ PARTICLES ══ */
.tb-modal {
  position: relative;
  overflow: hidden;
}
.tb-modal-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: .45;
}
.tb-modal > *:not(.tb-modal-canvas) {
  position: relative;
  z-index: 1;
}

/* ══ OVERLAY MODAL — FOND OR DORÉ ══ */
.tb-overlay {
  background: rgba(184,149,42,0.18) !important;
  backdrop-filter: blur(8px) !important;
}

/* ══ MODAL — FOND OR DORÉ ══ */
.tb-overlay { background: rgba(180,145,40,0.22) !important; backdrop-filter: blur(10px) !important }
.tb-modal { background: linear-gradient(135deg, #1a1505 0%, #0b0b0b 60%, #12100a 100%) !important; border: 1px solid rgba(212,175,90,.35) !important }

/* ══ TEXTES FORMULAIRE KONTO — AGRANDIS ══ */
.tb-modal .tb-m-sub { font-size: 1.3rem !important }

/* Sous-titre "Füllen Sie..." */
.tb-modal p[style*="letter-spacing:.06em"] {
  font-size: .88rem !important;
  color: var(--off) !important;
}

/* Labels des étapes */
.tb-fsn-label {
  font-size: .68rem !important;
  letter-spacing: .06em !important;
}

/* Numéros des étapes */
.tb-fsn-dot {
  width: 32px !important;
  height: 32px !important;
  font-size: .78rem !important;
}

/* ══════════════════════════════════════
   DASHBOARD CLIENT BANCAIRE
══════════════════════════════════════ */
.tb-dashboard { background: var(--ink); min-height: 100vh; padding-top: 130px }

/* Header */
.tb-dash-header {
  background: linear-gradient(135deg, #121005, #0b0b0b);
  border-bottom: 1px solid var(--gold);
  padding: 2rem 4rem;
  position: fixed;
  top: 122px; left: 0; right: 0;
  z-index: 100;
}
.tb-dash-header-inner {
  max-width: 1320px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
}
.tb-dash-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 300;
  color: var(--off);
  margin: .2rem 0 .4rem;
}
.tb-dash-title em { color: var(--gold2); font-style: italic }
.tb-dash-subtitle {
  font-size: .72rem; font-weight: 200; color: var(--dim);
  letter-spacing: .08em;
}
.tb-dash-subtitle strong { color: var(--gold2); font-weight: 400 }
.tb-dash-status { font-size: .68rem; letter-spacing: .1em }
.tb-dash-status--active  { color: #4ade80 }
.tb-dash-status--pending { color: var(--gold2) }
.tb-dash-status--suspended { color: #f87171 }
.tb-dash-logout {
  font-family: 'Jost', sans-serif; font-size: .72rem; font-weight: 200;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--dim); text-decoration: none; border: 1px solid var(--gl);
  padding: .5rem 1.2rem; transition: color .2s, border-color .2s;
}
.tb-dash-logout:hover { color: var(--gold2); border-color: var(--gold2) }

/* Body */
.tb-dash-body {
  max-width: 1320px; margin: 0 auto;
  padding: 8rem 4rem 4rem;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 2rem;
  align-items: start;
}

/* Cards */
.tb-dash-card {
  background: rgba(212,175,90,.04);
  border: 1px solid var(--gl);
  padding: 2rem;
  margin-bottom: 1.4rem;
  position: relative;
}
.tb-dash-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold2), transparent);
}
.tb-dash-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.1rem; font-weight: 400;
  color: var(--gold2); margin-bottom: 1.4rem;
  letter-spacing: .04em;
}

/* Solde */
.tb-dash-balance-card {
  background: linear-gradient(135deg, #1a1208, #0b0b0b);
  border-color: rgba(212,175,90,.4);
}
.tb-dash-card-label {
  font-size: .68rem; font-weight: 200; letter-spacing: .2em;
  text-transform: uppercase; color: var(--dim); margin-bottom: .8rem;
}
.tb-dash-balance {
  display: flex; align-items: baseline; gap: .4rem;
  margin-bottom: 1.4rem;
}
.tb-dash-currency {
  font-family: 'DM Serif Display', serif;
  font-size: 1.8rem; color: var(--gold2);
}
.tb-dash-amount {
  font-family: 'DM Serif Display', serif;
  font-size: 3rem; font-weight: 400; color: var(--off);
  line-height: 1;
}
.tb-dash-card-footer {
  display: flex; justify-content: space-between; align-items: center;
  font-size: .68rem; font-weight: 200; color: var(--dim);
  letter-spacing: .06em; border-top: 1px solid var(--gl);
  padding-top: 1rem; margin-top: .4rem;
}

/* Stats */
.tb-dash-stats {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1rem; margin-bottom: 1.4rem;
}
.tb-dash-stat {
  background: rgba(212,175,90,.04); border: 1px solid var(--gl);
  padding: 1rem; text-align: center;
}
.tb-dash-stat-label {
  font-size: .62rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--dim); margin-bottom: .4rem;
}
.tb-dash-stat-val {
  font-family: 'DM Serif Display', serif;
  font-size: 1rem; color: var(--gold2);
}

/* Info grid */
.tb-dash-info-grid { display: flex; flex-direction: column; gap: .8rem }
.tb-dash-info-row {
  display: flex; justify-content: space-between;
  font-size: .78rem; font-weight: 200; color: var(--off);
  border-bottom: 1px solid var(--gl); padding-bottom: .6rem;
}
.tb-dash-info-row span:first-child {
  color: var(--dim); letter-spacing: .1em; font-size: .68rem; text-transform: uppercase;
}

/* Actions rapides */
.tb-dash-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.4rem }
.tb-dash-action-btn {
  background: rgba(212,175,90,.04); border: 1px solid var(--gl);
  padding: 1.2rem; cursor: pointer; transition: background .2s, border-color .2s;
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  color: var(--off); font-family: 'Jost', sans-serif;
  font-size: .72rem; font-weight: 200; letter-spacing: .1em;
}
.tb-dash-action-btn:hover { background: rgba(212,175,90,.08); border-color: var(--gold) }
.tb-dash-action-icon { font-size: 1.4rem }

/* Transactions */
.tb-dash-empty {
  text-align: center; padding: 2rem;
  color: var(--dim); font-size: .82rem; font-weight: 200; line-height: 1.8;
}
.tb-dash-empty-icon { font-size: 2rem; margin-bottom: 1rem; color: var(--gl) }
.tb-dash-tx-list { display: flex; flex-direction: column; gap: .8rem }
.tb-dash-tx {
  display: flex; justify-content: space-between; align-items: center;
  padding: .8rem 1rem; border: 1px solid var(--gl);
}
.tb-dash-tx--credit { border-left: 3px solid #4ade80 }
.tb-dash-tx--debit  { border-left: 3px solid #f87171 }
.tb-dash-tx-desc { font-size: .82rem; font-weight: 200; color: var(--off) }
.tb-dash-tx-date { font-size: .68rem; color: var(--dim); margin-top: .2rem }
.tb-dash-tx-amount {
  font-family: 'DM Serif Display', serif; font-size: 1rem;
}
.tb-dash-tx--credit .tb-dash-tx-amount { color: #4ade80 }
.tb-dash-tx--debit  .tb-dash-tx-amount { color: #f87171 }

/* Progress */
.tb-dash-progress {
  display: flex; align-items: center; gap: 0;
  margin-bottom: 1.4rem;
}
.tb-dash-progress-step { display: flex; flex-direction: column; align-items: center; gap: .4rem }
.tb-dash-progress-dot {
  width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid var(--gl); display: flex; align-items: center; justify-content: center;
  font-size: .72rem; color: var(--dim);
}
.tb-dash-progress-done .tb-dash-progress-dot {
  background: var(--gold); border-color: var(--gold); color: var(--ink); font-weight: 700;
}
.tb-dash-progress-current .tb-dash-progress-dot {
  border-color: var(--gold2); color: var(--gold2);
}
.tb-dash-progress-label {
  font-size: .6rem; color: var(--dim); letter-spacing: .06em;
  text-align: center; max-width: 70px; line-height: 1.3;
}
.tb-dash-progress-line {
  flex: 1; height: 1px; background: var(--gl); min-width: 20px;
}
.tb-dash-progress-line.tb-dash-progress-done { background: var(--gold) }
.tb-dash-status-msg {
  font-size: .78rem; font-weight: 200; color: var(--dim); line-height: 1.8;
}

/* Responsive */
@media(max-width:1024px){
  .tb-dash-body { grid-template-columns: 1fr; padding: 7rem 2rem 3rem }
  .tb-dash-header { padding: 1.5rem 2rem }
}
@media(max-width:480px){
  .tb-dash-header { padding: 1.2rem 1.5rem }
  .tb-dash-body { padding: 7rem 1.2rem 2rem }
  .tb-dash-stats { grid-template-columns: 1fr 1fr }
  .tb-dash-actions { grid-template-columns: 1fr }
}

/* ══ DASHBOARD — PAGE SANS NAV ══ */
.tb-dash-body-wrap .tb-topbar,
.tb-dash-body-wrap .tb-nav,
.tb-dash-body-wrap .tb-footer,
.tb-dash-body-wrap footer {
  display: none !important;
}
.tb-dash-body-wrap .tb-dashboard {
  padding-top: 0 !important;
}
.tb-dash-body-wrap .tb-dash-header {
  top: 0 !important;
}
.tb-dash-body-wrap .tb-dash-body {
  padding-top: 7rem !important;
}

/* ══ DASHBOARD — TOPBAR VISIBLE + HEADER AJUSTÉ ══ */
.tb-dash-body-wrap .tb-topbar { display: flex !important }
.tb-dash-body-wrap .tb-dash-header { top: 38px !important }
.tb-dash-body-wrap .tb-dash-body { padding-top: 8rem !important }

/* ══ PAGES AUTH — E-BANKING & KONTO ERÖFFNEN ══ */
.tb-auth-page body,
body.tb-auth-page {
  background: var(--ink) !important;
  min-height: 100vh;
}
.tb-auth-wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6rem 1.5rem 3rem;
  position: relative;
}
.tb-auth-wrap--wide { padding: 6rem 1.5rem 4rem }
.tb-auth-canvas {
  position: fixed;
  inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 0; opacity: .4;
}
.tb-auth-box {
  position: relative; z-index: 1;
  background: linear-gradient(135deg, #1a1208, #0b0b0b);
  border: 1px solid rgba(212,175,90,.3);
  padding: 3rem 2.8rem;
  width: 100%; max-width: 480px;
  box-shadow: 0 24px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(212,175,90,.08);
}
.tb-auth-box::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold2), transparent);
}
.tb-auth-box--wide { max-width: 580px }
.tb-auth-logo {
  display: block; text-align: center; margin-bottom: 1.2rem; text-decoration: none;
}
.tb-auth-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 300; color: var(--off);
  text-align: center; margin-bottom: .4rem;
}
.tb-auth-sub {
  font-size: .78rem; font-weight: 200; color: var(--dim);
  text-align: center; letter-spacing: .08em;
  margin-bottom: 1.8rem;
}
.tb-auth-footer {
  display: flex; align-items: center; justify-content: center;
  gap: .8rem; margin-top: 1.2rem;
  font-size: .72rem; font-weight: 200; color: var(--dim); letter-spacing: .06em;
}
.tb-auth-footer a { color: var(--gold2); text-decoration: none }
.tb-auth-footer a:hover { color: var(--off) }
.tb-auth-back {
  position: relative; z-index: 1;
  display: block; text-align: center; margin-top: 1.8rem;
  font-size: .72rem; font-weight: 200; color: var(--dim);
  letter-spacing: .1em; text-decoration: none;
  transition: color .2s;
}
.tb-auth-back:hover { color: var(--gold2) }

/* Hide topbar/nav on auth pages */
.tb-auth-page .tb-nav,
.tb-auth-page .tb-footer,
.tb-auth-page footer { display: none !important }
.tb-auth-page .tb-topbar { position: fixed; top: 0 }

/* ══ PAGE KONTO ERÖFFNEN — AVEC MENU ══ */
.tb-konto-page .tb-auth-wrap {
  padding-top: 200px !important;
}
.tb-konto-page .tb-auth-canvas {
  position: fixed !important;
}
@media(max-width:768px){
  .tb-konto-page .tb-auth-wrap { padding-top: 160px !important }
}

/* ══ PAGE KONTO ERÖFFNEN — HERO TITRE ══ */
.tb-konto-hero {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 720px;
  margin-bottom: 3rem;
  padding: 0 1.5rem;
}
.tb-konto-hero-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 300;
  color: var(--off);
  line-height: 1.15;
  margin-bottom: 1.2rem;
  letter-spacing: -.01em;
}
.tb-konto-hero-text {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 200;
  color: var(--dim);
  line-height: 1.9;
  letter-spacing: .02em;
  max-width: 620px;
  margin: 0 auto;
}
@media(max-width:768px){
  .tb-konto-hero { margin-bottom: 2rem }
  .tb-konto-hero-title { font-size: clamp(1.6rem, 5vw, 2.2rem) }
  .tb-konto-hero-text  { font-size: .9rem }
}

/* ══ PAGE KONTO — ESPACE RÉDUIT ENTRE MENU ET TITRE ══ */
.tb-konto-page .tb-auth-wrap {
  padding-top: 140px !important;
}
@media(max-width:768px){
  .tb-konto-page .tb-auth-wrap { padding-top: 110px !important }
}

/* ══ BANNER PAGES — CORRECTION MOBILE FINALE ══ */

/* Desktop: topbar(38) + nav(84) = 122px de compensation */
.tb-svc-wrap {
  padding-top: 122px !important;
}

/* Le banner n'a PAS de margin-top par défaut — uniquement via customizer */
.tb-page-banner {
  padding-top: 3rem !important;
  padding-bottom: 2.5rem !important;
}

/* Mobile: topbar(38) + nav réduit (~60px) = ~98px */
@media(max-width:768px){
  .tb-svc-wrap { padding-top: 98px !important }
  .tb-page-banner { padding-top: 2rem !important; padding-bottom: 2rem !important }
  .tb-auth-wrap { padding-top: 98px !important }
  .tb-konto-page-wrap { padding-top: 98px !important }
  .tb-ebanking-wrap { padding-top: 98px !important }
}
@media(max-width:480px){
  .tb-svc-wrap { padding-top: 90px !important }
  .tb-auth-wrap { padding-top: 90px !important }
  .tb-konto-page-wrap { padding-top: 90px !important }
  .tb-ebanking-wrap { padding-top: 90px !important }
}

/* ══ BANNER PAGES MOBILE — ENCORE RÉDUIT ══ */
@media(max-width:768px){
  .tb-svc-wrap { padding-top: 75px !important }
  .tb-auth-wrap { padding-top: 75px !important }
  .tb-konto-page-wrap { padding-top: 75px !important }
  .tb-ebanking-wrap { padding-top: 75px !important }
}
@media(max-width:480px){
  .tb-svc-wrap { padding-top: 65px !important }
  .tb-auth-wrap { padding-top: 65px !important }
  .tb-konto-page-wrap { padding-top: 65px !important }
  .tb-ebanking-wrap { padding-top: 65px !important }
}

/* ══ BANNER PAGES MOBILE — MINIMUM ══ */
@media(max-width:768px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 45px !important }
}
@media(max-width:480px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 35px !important }
}

/* ══ BANNER PAGES MOBILE — ULTRA MINIMUM ══ */
@media(max-width:768px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 25px !important }
}
@media(max-width:480px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 15px !important }
}

/* ══ BANNER PAGES MOBILE — QUASI ZÉRO ══ */
@media(max-width:768px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 15px !important }
}
@media(max-width:480px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 5px !important }
}

/* ══ BANNER PAGES MOBILE — ZÉRO ══ */
@media(max-width:768px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 0 !important }
}
@media(max-width:480px){
  .tb-svc-wrap,.tb-auth-wrap,.tb-konto-page-wrap,.tb-ebanking-wrap { padding-top: 0 !important }
}

/* ══ PAGE KONTO ERÖFFNEN — TITRE PROCHE DU MENU MOBILE ══ */
@media(max-width:768px){
  .tb-konto-hero { margin-bottom: 1.5rem !important; padding-top: 0 !important }
  .tb-konto-hero-title { font-size: clamp(1.4rem, 5vw, 2rem) !important; margin-bottom: .8rem !important }
  .tb-konto-hero-text { font-size: .85rem !important }
}
@media(max-width:480px){
  .tb-konto-hero { margin-bottom: 1rem !important }
  .tb-konto-hero-title { font-size: clamp(1.2rem, 5vw, 1.6rem) !important }
}

/* ══ KONTO HERO MOBILE — ENCORE PLUS PROCHE ══ */
@media(max-width:768px){
  .tb-konto-page-wrap { margin-top: -30px !important }
  .tb-konto-hero { margin-bottom: .8rem !important; padding-top: 0 !important }
  .tb-konto-hero-title { font-size: clamp(1.8rem, 6vw, 2.4rem) !important; margin-bottom: .5rem !important }
  .tb-konto-hero-text { font-size: .88rem !important; line-height: 1.7 !important }
}
@media(max-width:480px){
  .tb-konto-page-wrap { margin-top: -40px !important }
  .tb-konto-hero { margin-bottom: .6rem !important }
  .tb-konto-hero-title { font-size: clamp(1.6rem, 6vw, 2.2rem) !important }
}

/* ══ KONTO HERO MOBILE — MAXIMUM PROXIMITÉ ══ */
@media(max-width:768px){
  .tb-konto-page-wrap { margin-top: -60px !important }
}
@media(max-width:480px){
  .tb-konto-page-wrap { margin-top: -80px !important }
}

/* ══ TITRES PAGES — TAILLE AUGMENTÉE MOBILE ══ */
.tb-page-h1 {
  font-size: clamp(2rem, 5vw, 3.4rem) !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
}
.tb-konto-hero-title {
  font-size: clamp(2rem, 5vw, 3.2rem) !important;
}
.tb-auth-title {
  font-size: clamp(1.8rem, 4vw, 2.4rem) !important;
}

@media(max-width:768px){
  .tb-page-h1 { font-size: clamp(1.8rem, 7vw, 2.6rem) !important }
  .tb-konto-hero-title { font-size: clamp(1.8rem, 7vw, 2.4rem) !important }
  .tb-auth-title { font-size: clamp(1.6rem, 6vw, 2rem) !important }
}
@media(max-width:480px){
  .tb-page-h1 { font-size: clamp(1.6rem, 7vw, 2.2rem) !important }
  .tb-konto-hero-title { font-size: clamp(1.6rem, 7vw, 2.2rem) !important }
  .tb-auth-title { font-size: clamp(1.4rem, 6vw, 1.8rem) !important }
}

/* ══ CHIPS / BADGES COMPTES — MÊME LIGNE MOBILE ══ */
@media(max-width:768px){
  .tb-acc-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
  }
  .tb-acc-card {
    width: 100% !important;
  }
  /* Titres des colonnes sur la même ligne */
  .tb-acc-badge.tb-crd-title,
  .tb-acc-badge {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
  /* Chips sur une ligne */
  #tb-acc-chips,
  #tb-konto-chips,
  .tb-chips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: .5rem !important;
    padding-bottom: .3rem !important;
    scrollbar-width: none !important;
  }
  #tb-acc-chips::-webkit-scrollbar,
  #tb-konto-chips::-webkit-scrollbar,
  .tb-chips::-webkit-scrollbar { display: none }
  .tb-chip {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: .65rem !important;
    padding: .4rem .8rem !important;
  }
}

/* ══ TITRES COMPTES — MÊME LIGNE MOBILE ══ */
@media(max-width:768px){
  .tb-acc-badge {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
    font-size: clamp(.9rem, 3.2vw, 1.4rem) !important;
    display: block !important;
  }
  .tb-crd-title {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
    font-size: clamp(1.1rem, 4vw, 1.4rem) !important;
  }
}

/* ══ TITRES COLONNES — UNE SEULE LIGNE ══ */
.tb-acc-badge,
.tb-crd-title,
.tb-acc-popular {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ══ TITRE PAGE KONTO ERÖFFNEN — UNE SEULE LIGNE ══ */
.tb-konto-hero-title {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ══ TITRES COLONNES — TAILLE RÉDUITE SANS ELLIPSIS ══ */
@media(max-width:768px){
  .tb-acc-badge,
  .tb-crd-title {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: unset !important;
    font-size: clamp(.65rem, 2.5vw, .85rem) !important;
    letter-spacing: .02em !important;
  }
}
@media(max-width:480px){
  .tb-acc-badge,
  .tb-crd-title {
    font-size: clamp(.58rem, 2.2vw, .75rem) !important;
    letter-spacing: 0 !important;
  }
}

/* ══ TITRES COLONNES — CENTRÉS ET MÊME TAILLE ══ */
.tb-acc-badge,
.tb-crd-title {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  font-size: 1.1rem !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
}

@media(max-width:768px){
  .tb-acc-badge,
  .tb-crd-title {
    font-size: clamp(.65rem, 2.5vw, .85rem) !important;
    text-align: center !important;
  }
}

/* ══ DASHBOARD — AJUSTEMENTS ══ */

/* Abmelden — encadrement or doré */
.tb-dash-logout {
  border-color: var(--gold) !important;
  color: var(--gold2) !important;
}
.tb-dash-logout:hover {
  background: rgba(212,175,90,.08) !important;
  color: var(--off) !important;
}

/* Solde — taille réduite desktop et mobile */
.tb-dash-amount {
  font-size: 2rem !important;
}
@media(max-width:768px){
  .tb-dash-amount { font-size: 1.6rem !important }
}

/* Textes dashboard — agrandis desktop */
@media(min-width:769px){
  .tb-dash-card-label    { font-size: .8rem !important }
  .tb-dash-stat-label    { font-size: .72rem !important }
  .tb-dash-stat-val      { font-size: 1.1rem !important }
  .tb-dash-info-row      { font-size: .9rem !important }
  .tb-dash-card-title    { font-size: 1.3rem !important }
  .tb-dash-tx-desc       { font-size: .9rem !important }
  .tb-dash-tx-date       { font-size: .76rem !important }
  .tb-dash-tx-amount     { font-size: 1.1rem !important }
  .tb-dash-status-msg    { font-size: .88rem !important }
  .tb-dash-subtitle      { font-size: .82rem !important }
  .tb-dash-action-btn    { font-size: .82rem !important }
}

/* ══ DASHBOARD TOPBAR LOGO ══ */
.tb-dash-topbar-logo { height: 80px !important }
@media(max-width:768px){ .tb-dash-topbar-logo { height: 50px !important } }

/* ══ DASHBOARD TOPBAR LOGO — 70px desktop ══ */
.tb-dash-topbar-logo { height: 70px !important }

/* ══ DASHBOARD TOPBAR — HAUTEUR AGRANDIE ══ */
.tb-dash-body-wrap .tb-topbar { height: 90px !important }
.tb-dash-body-wrap .tb-dash-header { top: 90px !important }
@media(max-width:768px){
  .tb-dash-body-wrap .tb-topbar { height: 70px !important }
  .tb-dash-body-wrap .tb-dash-header { top: 70px !important }
}

/* ══ DASHBOARD TOPBAR — 80px desktop ══ */
.tb-dash-body-wrap .tb-topbar { height: 80px !important }
.tb-dash-body-wrap .tb-dash-header { top: 80px !important }

/* ══ DASHBOARD TOPBAR — 70px desktop / 50px mobile ══ */
.tb-dash-body-wrap .tb-topbar { height: 70px !important }
.tb-dash-body-wrap .tb-dash-header { top: 70px !important }
@media(max-width:768px){
  .tb-dash-body-wrap .tb-topbar { height: 50px !important }
  .tb-dash-body-wrap .tb-dash-header { top: 50px !important }
}

/* ══ DASHBOARD TOPBAR — 65px desktop / 53px mobile ══ */
.tb-dash-body-wrap .tb-topbar { height: 65px !important }
.tb-dash-body-wrap .tb-dash-header { top: 65px !important }
@media(max-width:768px){
  .tb-dash-body-wrap .tb-topbar { height: 53px !important }
  .tb-dash-body-wrap .tb-dash-header { top: 53px !important }
}

/* ══ PAGE KONTO ERÖFFNEN — ESPACE TITRE/MENU ══ */
.tb-konto-page-wrap { padding-top: 40px !important }
@media(max-width:768px){ .tb-konto-page-wrap { padding-top: 20px !important } }

/* ══ EBANKING — CENTRAGE PARFAIT + CANVAS ══ */
.tb-ebanking-wrap {
  position:fixed !important;
  top:0;left:0;width:100%;height:100%;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:1rem !important;
  box-sizing:border-box;
  background:#0b0b0b;
  z-index:10;
}
.tb-ebanking-wrap .tb-auth-canvas {
  position:fixed;
  inset:0;width:100%;height:100%;
  z-index:0;opacity:1;
  pointer-events:none;
}
.tb-ebanking-wrap .tb-auth-box {
  position:relative;
  z-index:1;
  max-height:calc(100vh - 2rem);
  overflow-y:auto;
}

/* ══ EBANKING — OVERRIDE TOUTES LES ANCIENNES RÈGLES ══ */
.tb-ebanking-wrap,
.tb-ebanking-wrap.tb-auth-wrap {
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:unset !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  padding:1rem !important;
  margin:0 !important;
  box-sizing:border-box !important;
  background:#0b0b0b !important;
  z-index:10 !important;
}
