

/* =========================================================
   TESIMPÔTS HEADER v4 — AUTONOME
   ========================================================= */
.ti4-header,
.ti4-header *{
  box-sizing:border-box!important;
}
.ti4-header{
  position:sticky!important;
  top:0!important;
  z-index:99999!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  font-family:Inter,Arial,sans-serif!important;
  color:#17233b!important;
  background:#fff!important;
}
body.admin-bar .ti4-header{top:32px!important}
.ti4-header-fallback{
  position:fixed!important;
  left:0!important;
  right:0!important;
}
.ti4-shell{
  width:min(1500px,calc(100% - 48px))!important;
  margin:0 auto!important;
}

/* Barre d'annonce */
.ti4-announcement{
  display:block!important;
  width:100%!important;
  min-height:40px!important;
  color:#fff!important;
  background:#001c45!important;
}
.ti4-announcement[hidden]{display:none!important}
.ti4-announcement-inner{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:5px 46px 5px 0!important;
}
.ti4-announcement-copy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px 12px!important;
  text-align:center!important;
}
.ti4-announcement-copy strong{
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:850!important;
  line-height:1.25!important;
}
.ti4-announcement-copy a{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#fff!important;
  background:transparent!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
  font-size:.79rem!important;
  font-weight:900!important;
}
.ti4-announcement-copy a svg{width:17px!important;height:17px!important}
.ti4-status-dot{
  position:relative!important;
  width:9px!important;
  height:9px!important;
  flex:0 0 9px!important;
  border-radius:50%!important;
  background:#35d07f!important;
  box-shadow:0 0 0 4px rgba(53,208,127,.14)!important;
}
.ti4-announcement-close{
  position:absolute!important;
  top:50%!important;
  right:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:9px!important;
  color:#fff!important;
  background:rgba(255,255,255,.04)!important;
  transform:translateY(-50%)!important;
  opacity:.62!important;
  cursor:pointer!important;
}
.ti4-announcement-close svg{width:16px!important;height:16px!important}

/* Barre principale */
.ti4-navbar{
  display:block!important;
  width:100%!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid #e5ebf2!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 4px 18px rgba(0,28,69,.045)!important;
  backdrop-filter:blur(14px)!important;
}
.ti4-navbar-inner{
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr) auto!important;
  align-items:center!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
  gap:32px!important;
  padding:0!important;
}

/* Logo autonome */
.ti4-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:250px!important;
  height:64px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  text-decoration:none!important;
}
.ti4-logo img{
  display:block!important;
  width:250px!important;
  height:64px!important;
  min-width:0!important;
  max-width:250px!important;
  min-height:0!important;
  max-height:64px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ti4-logo>span{
  color:#001c45!important;
  font-size:1.9rem!important;
  font-weight:900!important;
  letter-spacing:-.05em!important;
}
.ti4-logo>span>span{color:#d41118!important}
.ti4-logo small{font-size:.9rem!important}

/* Navigation */
.ti4-nav{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  align-self:stretch!important;
  min-width:0!important;
  height:82px!important;
  gap:5px!important;
}
.ti4-nav-group{
  position:relative!important;
  display:flex!important;
  align-items:stretch!important;
  height:82px!important;
}
.ti4-nav-trigger{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  height:82px!important;
  margin:0!important;
  padding:0 13px!important;
  border:0!important;
  color:#273852!important;
  background:transparent!important;
  font:inherit!important;
  font-size:.88rem!important;
  font-weight:780!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.ti4-nav-trigger svg{width:14px!important;height:14px!important;transition:transform .18s ease!important}
.ti4-nav-group.is-open .ti4-nav-trigger,
.ti4-nav-trigger:hover{color:#d41118!important}
.ti4-nav-group.is-open .ti4-nav-trigger svg{transform:rotate(180deg)!important}

.ti4-dropdown{
  position:absolute!important;
  top:calc(100% - 1px)!important;
  left:50%!important;
  width:min(720px,80vw)!important;
  padding:12px!important;
  border:1px solid #e1e8f0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 24px 60px rgba(0,28,69,.16)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate(-50%,10px)!important;
  transition:opacity .17s ease,transform .17s ease,visibility .17s ease!important;
}
.ti4-nav-group.is-open .ti4-dropdown{
  opacity:1!important;
  visibility:visible!important;
  transform:translate(-50%,0)!important;
}
.ti4-dropdown-head{
  padding:12px 14px 14px!important;
  color:#001c45!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.ti4-dropdown-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
  gap:4px!important;
}
.ti4-dropdown-grid a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:46px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  color:#3d4c64!important;
  background:transparent!important;
  text-decoration:none!important;
  font-size:.88rem!important;
  font-weight:680!important;
  line-height:1.25!important;
}
.ti4-dropdown-grid a:hover{
  color:#d41118!important;
  background:#fff5f5!important;
}
.ti4-dropdown-grid a svg{width:18px!important;height:18px!important;opacity:.45!important}

/* Actions */
.ti4-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:9px!important;
  height:82px!important;
  margin:0!important;
  padding:0!important;
}
.ti4-search-toggle,
.ti4-mobile-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:1px solid #dbe3ed!important;
  border-radius:11px!important;
  color:#001c45!important;
  background:#fff!important;
  cursor:pointer!important;
}
.ti4-search-toggle svg,
.ti4-mobile-toggle svg{width:20px!important;height:20px!important}
.ti4-portal,
.ti4-appointment{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 15px!important;
  border-radius:10px!important;
  text-decoration:none!important;
  font-size:.82rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.ti4-portal{
  gap:8px!important;
  border:1px solid #bcc9d9!important;
  color:#001c45!important;
  background:#fff!important;
}
.ti4-portal svg{width:18px!important;height:18px!important}
.ti4-appointment{
  border:1px solid #d41118!important;
  color:#fff!important;
  background:#d41118!important;
  box-shadow:0 9px 22px rgba(212,17,24,.2)!important;
}
.ti4-mobile-toggle{display:none!important}

/* Mobile panel */
.ti4-mobile-panel{
  position:fixed!important;
  top:0!important;
  right:0!important;
  z-index:100002!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(420px,92vw)!important;
  height:100dvh!important;
  padding:22px!important;
  background:#fff!important;
  box-shadow:-24px 0 60px rgba(0,28,69,.18)!important;
  transform:translateX(105%)!important;
  visibility:hidden!important;
  transition:transform .25s ease,visibility .25s ease!important;
}
.ti4-mobile-panel.is-open{
  transform:translateX(0)!important;
  visibility:visible!important;
}
.ti4-mobile-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #e1e8f0!important;
}
.ti4-mobile-close,
.ti4-search-close{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:1px solid #e1e8f0!important;
  border-radius:11px!important;
  color:#001c45!important;
  background:#fff!important;
  cursor:pointer!important;
}
.ti4-mobile-close svg,
.ti4-search-close svg{width:20px!important;height:20px!important}
.ti4-mobile-nav{flex:1!important;overflow:auto!important;padding:14px 0!important}
.ti4-mobile-nav details{border-bottom:1px solid #e1e8f0!important}
.ti4-mobile-nav summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:17px 2px!important;
  color:#001c45!important;
  font-weight:850!important;
  list-style:none!important;
  cursor:pointer!important;
}
.ti4-mobile-nav summary::-webkit-details-marker{display:none!important}
.ti4-mobile-nav details>div{display:grid!important;gap:3px!important;padding:0 0 14px 12px!important}
.ti4-mobile-nav details a{
  padding:9px 8px!important;
  color:#46546b!important;
  text-decoration:none!important;
}
.ti4-mobile-actions{
  display:grid!important;
  gap:10px!important;
  padding-top:16px!important;
  border-top:1px solid #e1e8f0!important;
}
.ti4-mobile-actions .ti4-portal,
.ti4-mobile-actions .ti4-appointment{width:100%!important}

/* Search */
.ti4-search-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:100003!important;
  display:grid!important;
  place-items:start center!important;
  padding:12vh 20px 40px!important;
  background:rgba(0,20,50,.72)!important;
  backdrop-filter:blur(10px)!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .2s ease,visibility .2s ease!important;
}
.ti4-search-overlay.is-open{opacity:1!important;visibility:visible!important}
.ti4-search-dialog{
  position:relative!important;
  width:min(760px,100%)!important;
  padding:44px!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 35px 90px rgba(0,0,0,.25)!important;
}
.ti4-search-dialog>span{
  display:block!important;
  color:#d41118!important;
  font-size:.73rem!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.ti4-search-dialog>strong{
  display:block!important;
  margin-top:10px!important;
  color:#001c45!important;
  font-size:clamp(2rem,5vw,3.3rem)!important;
  letter-spacing:-.045em!important;
}
.ti4-search-close{position:absolute!important;top:20px!important;right:20px!important}
.ti4-search-dialog form{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px!important;
  margin-top:28px!important;
}
.ti4-search-dialog input{
  min-height:56px!important;
  padding:0 18px!important;
  border:1px solid #cbd6e4!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  font:inherit!important;
}
.ti4-search-dialog form button{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:56px!important;
  padding:0 21px!important;
  border:0!important;
  border-radius:13px!important;
  color:#fff!important;
  background:#d41118!important;
  font:inherit!important;
  font-weight:850!important;
}

/* Bascule mobile avant tout chevauchement */
@media(max-width:1380px){
  .ti4-nav{display:none!important}
  .ti4-mobile-toggle{display:flex!important}
}
@media(max-width:860px){
  .ti4-shell{width:min(100% - 26px,1500px)!important}
  .ti4-navbar,
  .ti4-navbar-inner{height:72px!important;min-height:72px!important;max-height:72px!important}
  .ti4-navbar-inner{grid-template-columns:210px 1fr!important;gap:12px!important}
  .ti4-logo{width:210px!important;height:54px!important}
  .ti4-logo img{width:210px!important;height:54px!important;max-width:210px!important;max-height:54px!important}
  .ti4-actions>.ti4-search-toggle,
  .ti4-actions>.ti4-portal,
  .ti4-actions>.ti4-appointment{display:none!important}
}
@media(max-width:560px){
  body.admin-bar .ti4-header{top:46px!important}
  .ti4-announcement-inner{justify-content:flex-start!important;padding-right:42px!important}
  .ti4-announcement-copy{justify-content:flex-start!important;text-align:left!important}
  .ti4-announcement-copy a{margin-left:21px!important}
  .ti4-navbar-inner{grid-template-columns:180px 1fr!important}
  .ti4-logo{width:180px!important;height:48px!important}
  .ti4-logo img{width:180px!important;height:48px!important;max-width:180px!important;max-height:48px!important}
  .ti4-search-dialog{padding:38px 22px 25px!important}
  .ti4-search-dialog form{grid-template-columns:1fr!important}
}



/* Barre d’annonce TesImpôts */
.ti-announcement{
  position:relative;
  color:#fff;
  font-family:Inter,Arial,sans-serif;
}
.ti-announcement-success{background:linear-gradient(90deg,#001c45,#082a57)}
.ti-announcement-info{background:linear-gradient(90deg,#0a4d92,#1469b8)}
.ti-announcement-warning{background:linear-gradient(90deg,#b96b00,#d17b00)}
.ti-announcement-important{background:linear-gradient(90deg,#b90f16,#d41118)}
.ti-announcement-inner{
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  min-height:40px;
  gap:18px;
}
.ti-announcement-message{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.ti-announcement-message strong{
  color:#fff;
  font-size:.82rem;
  line-height:1.35;
}
.ti-announcement-status{
  position:relative;
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#35d07f;
  box-shadow:0 0 0 4px rgba(53,208,127,.14);
}
.ti-announcement-success .ti-announcement-status::after{
  content:"";
  position:absolute;
  inset:-4px;
  border:1px solid rgba(53,208,127,.42);
  border-radius:50%;
  animation:ti-status-pulse 2.8s ease-out infinite;
}
@keyframes ti-status-pulse{
  0%,55%{opacity:0;transform:scale(.75)}
  65%{opacity:.65}
  100%{opacity:0;transform:scale(1.7)}
}
@media (prefers-reduced-motion: reduce){
  .ti-announcement-success .ti-announcement-status::after{animation:none}
}
.ti-announcement-info .ti-announcement-status{background:#9dd0ff}
.ti-announcement-warning .ti-announcement-status{background:#ffe0a3}
.ti-announcement-important .ti-announcement-status{background:#ffafb2}
.ti-announcement-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:30px;
  padding:0 11px;
  border:1px solid #d41118;
  border-radius:8px;
  color:#fff!important;
  background:#d41118;
  box-shadow:0 6px 14px rgba(212,17,24,.2);
  text-decoration:none!important;
  font-size:.76rem;
  font-weight:850;
  white-space:nowrap;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.ti-announcement-link svg{
  width:17px;
  height:17px;
  transition:transform .15s ease;
}
.ti-announcement-link:hover{
  transform:translateY(-1px);
  background:#bf0f16;
  box-shadow:0 8px 18px rgba(212,17,24,.26);
}
.ti-announcement-link:hover svg{transform:translateX(3px)}
.ti-announcement-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:9px;
  color:#fff;
  background:rgba(255,255,255,.08);
  cursor:pointer;
}
.ti-announcement-close:hover{background:rgba(255,255,255,.16)}
.ti-announcement-close svg{width:17px;height:17px}
.ti-announcement[hidden]{display:none!important}

@media(max-width:760px){
  .ti-announcement-inner{
    grid-template-columns:1fr auto;
    min-height:48px;
    gap:10px;
    padding-top:7px;
    padding-bottom:7px;
  }
  .ti-announcement-message strong{font-size:.78rem}
  .ti-announcement-link{
    grid-column:1;
    padding-left:19px;
    font-size:.75rem;
  }
  .ti-announcement-close{
    grid-column:2;
    grid-row:1 / span 2;
  }
}



/* =========================================================
   HEADER OFFICIEL TESIMPÔTS
   ========================================================= */
body.tesimpots-hide-theme-header header.site-header:not(.ti-header),
body.tesimpots-hide-theme-header #masthead,
body.tesimpots-hide-theme-header .site-header:not(.ti-header),
body.tesimpots-hide-theme-header .main-header-bar-wrap,
body.tesimpots-hide-theme-header .ast-above-header-wrap,
body.tesimpots-hide-theme-header .ast-primary-header-bar,
body.tesimpots-hide-theme-header .elementor-location-header,
body.tesimpots-hide-theme-header [data-elementor-type="header"],
body.tesimpots-hide-theme-header .wp-site-blocks > header:not(.ti-header),
body.tesimpots-hide-theme-header .wp-block-template-part header:not(.ti-header),
body.tesimpots-hide-theme-header #header:not(.ti-header),
body.tesimpots-hide-theme-header #site-header:not(.ti-header),
body.tesimpots-hide-theme-header .theme-header,
body.tesimpots-hide-theme-header .global-header{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.ti-header{
  position:sticky;
  top:0;
  z-index:99990;
  width:100%;
  font-family:Inter,Arial,sans-serif;
  color:var(--ti-text);
  background:#fff;
}
body.admin-bar .ti-header{top:32px}
.ti-header-fallback{
  position:fixed;
  top:0;
  left:0;
  right:0;
}
body.admin-bar .ti-header-fallback{top:32px}
.ti-header-container{
  width:min(1320px,calc(100% - 40px));
  margin:0 auto;
}
.ti-header-topbar{
  min-height:35px;
  background:var(--ti-navy);
  color:#fff;
  font-size:.76rem;
}
.ti-header-topbar .ti-header-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:35px;
  gap:24px;
}
.ti-header-topbar-left{
  display:flex;
  align-items:center;
  gap:22px;
}
.ti-header-topbar a,
.ti-header-topbar span{
  color:#fff!important;
  text-decoration:none!important;
  opacity:.88;
}
.ti-header-topbar a:hover{opacity:1}
.ti-header-main{
  position:relative;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(0,28,69,.09);
  box-shadow:0 3px 14px rgba(0,28,69,.035);
  backdrop-filter:saturate(180%) blur(14px);
}
.ti-header-main-inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  min-height:82px;
  gap:34px;
}
.ti-header-logo{
  display:inline-flex;
  align-items:center;
  min-width:190px;
  text-decoration:none!important;
}
.ti-header-logo .custom-logo-link{display:inline-flex}
.ti-header-logo img{
  display:block;
  width:auto;
  max-width:230px;
  max-height:62px;
}
.ti-header-logo strong{
  color:var(--ti-navy);
  font-size:1.7rem;
  letter-spacing:-.04em;
}
.ti-desktop-nav{
  display:flex;
  align-items:stretch;
  justify-content:center;
  align-self:stretch;
  gap:7px;
}
.ti-nav-group{
  position:relative;
  display:flex;
  align-items:stretch;
}
.ti-nav-trigger{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 14px;
  border:0;
  color:#263750;
  background:transparent;
  font:inherit;
  font-size:.91rem;
  font-weight:760;
  cursor:pointer;
}
.ti-nav-trigger svg{width:14px;height:14px;transition:transform .18s ease}
.ti-nav-trigger:hover,
.ti-nav-group.is-open .ti-nav-trigger{color:var(--ti-red)}
.ti-nav-group.is-open .ti-nav-trigger svg{transform:rotate(180deg)}
.ti-mega-menu{
  position:absolute;
  top:calc(100% - 1px);
  left:50%;
  display:grid;
  grid-template-columns:260px minmax(450px,620px);
  width:max-content;
  max-width:900px;
  padding:12px;
  border:1px solid var(--ti-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 60px rgba(0,28,69,.15);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,10px);
  transition:opacity .17s ease,transform .17s ease,visibility .17s ease;
}
.ti-nav-group.is-open .ti-mega-menu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.ti-mega-intro{
  padding:25px;
  border-radius:13px;
  background:linear-gradient(145deg,var(--ti-navy),#0b356b);
  color:#fff;
}
.ti-mega-intro span{
  display:block;
  color:#ffb4b7;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ti-mega-intro strong{
  display:block;
  margin-top:13px;
  font-size:1.25rem;
  line-height:1.35;
  letter-spacing:-.025em;
}
.ti-mega-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(190px,1fr));
  align-content:start;
  gap:3px;
  padding:8px 10px 8px 14px;
}
.ti-mega-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:9px 12px;
  border-radius:10px;
  color:#34435b!important;
  text-decoration:none!important;
  font-size:.88rem;
  font-weight:670;
  line-height:1.25;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.ti-mega-links a svg{width:18px;height:18px;flex:0 0 auto;opacity:.45}
.ti-mega-links a:hover{
  color:var(--ti-red)!important;
  background:#fff5f5;
  transform:translateX(2px);
}
.ti-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
}
.ti-header-search-button,
.ti-mobile-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--ti-line);
  border-radius:12px;
  color:var(--ti-navy);
  background:#fff;
  cursor:pointer;
}
.ti-header-search-button svg,
.ti-mobile-toggle svg{width:21px;height:21px}
.ti-header-portal,
.ti-header-appointment{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 17px;
  border-radius:11px;
  text-decoration:none!important;
  font-size:.86rem;
  font-weight:850;
  white-space:nowrap;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.ti-header-portal{
  gap:8px;
  border:1px solid #b9c7d9;
  color:var(--ti-navy)!important;
  background:#fff;
}
.ti-header-portal svg{width:19px;height:19px}
.ti-header-portal:hover{
  background:#f4f7fb;
  box-shadow:0 7px 18px rgba(0,28,69,.08);
}
.ti-header-appointment{
  border:1px solid var(--ti-red);
  color:#fff!important;
  background:var(--ti-red);
  box-shadow:0 9px 22px rgba(212,17,24,.2);
}
.ti-header-appointment:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 27px rgba(212,17,24,.27);
}
.ti-mobile-toggle{display:none}
.ti-mobile-panel{
  position:fixed;
  top:0;
  right:0;
  z-index:100002;
  display:flex;
  flex-direction:column;
  width:min(420px,92vw);
  height:100dvh;
  padding:22px;
  background:#fff;
  box-shadow:-24px 0 60px rgba(0,28,69,.18);
  transform:translateX(105%);
  visibility:hidden;
  transition:transform .25s ease,visibility .25s ease;
}
.ti-mobile-panel.is-open{
  transform:translateX(0);
  visibility:visible;
}
.ti-mobile-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:18px;
  border-bottom:1px solid var(--ti-line);
}
.ti-mobile-panel-head strong{
  color:var(--ti-navy);
  font-size:1.25rem;
}
.ti-mobile-close,
.ti-search-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--ti-line);
  border-radius:11px;
  color:var(--ti-navy);
  background:#fff;
  cursor:pointer;
}
.ti-mobile-close svg,
.ti-search-close svg{width:21px;height:21px}
.ti-mobile-nav{
  flex:1;
  overflow:auto;
  padding:14px 0;
}
.ti-mobile-nav details{border-bottom:1px solid var(--ti-line)}
.ti-mobile-nav summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:17px 2px;
  color:var(--ti-navy);
  font-weight:850;
  cursor:pointer;
  list-style:none;
}
.ti-mobile-nav summary::-webkit-details-marker{display:none}
.ti-mobile-nav summary svg{width:16px;height:16px;transition:transform .16s ease}
.ti-mobile-nav details[open] summary svg{transform:rotate(180deg)}
.ti-mobile-nav details>div{
  display:grid;
  gap:3px;
  padding:0 0 14px 12px;
}
.ti-mobile-nav details a{
  padding:9px 8px;
  color:#46546b!important;
  text-decoration:none!important;
  font-size:.93rem;
}
.ti-mobile-actions{
  display:grid;
  gap:10px;
  padding-top:16px;
  border-top:1px solid var(--ti-line);
}
.ti-mobile-actions .ti-header-portal,
.ti-mobile-actions .ti-header-appointment{width:100%}
.ti-mobile-contact{
  padding:10px;
  color:var(--ti-navy)!important;
  text-align:center;
  text-decoration:none!important;
  font-weight:800;
}
.ti-search-overlay{
  position:fixed;
  inset:0;
  z-index:100003;
  display:grid;
  place-items:start center;
  padding:12vh 20px 40px;
  background:rgba(0,20,50,.72);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,visibility .2s ease;
}
.ti-search-overlay.is-open{
  opacity:1;
  visibility:visible;
}
.ti-search-dialog{
  position:relative;
  width:min(760px,100%);
  padding:44px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 35px 90px rgba(0,0,0,.25);
}
.ti-search-dialog>span{
  display:block;
  color:var(--ti-red);
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ti-search-dialog>strong{
  display:block;
  margin-top:10px;
  color:var(--ti-navy);
  font-size:clamp(2rem,5vw,3.3rem);
  letter-spacing:-.045em;
}
.ti-search-close{
  position:absolute;
  top:20px;
  right:20px;
}
.ti-search-dialog form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin-top:28px;
}
.ti-search-dialog input{
  min-width:0;
  min-height:56px;
  padding:0 18px;
  border:1px solid #cbd6e4;
  border-radius:13px;
  color:var(--ti-navy);
  background:#f8fafc;
  font:inherit;
  font-size:1rem;
  outline:none;
}
.ti-search-dialog input:focus{
  border-color:var(--ti-blue);
  box-shadow:0 0 0 4px rgba(27,102,209,.12);
}
.ti-search-dialog form button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:56px;
  padding:0 21px;
  border:0;
  border-radius:13px;
  color:#fff;
  background:var(--ti-red);
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.ti-search-dialog form button svg{width:19px;height:19px}
body.ti-menu-open{overflow:hidden}

@media(max-width:1180px){
  .ti-desktop-nav{display:none}
  .ti-header-main-inner{grid-template-columns:auto 1fr}
  .ti-header-actions{justify-self:end}
  .ti-mobile-toggle{display:inline-flex}
}
@media(max-width:760px){
  body.admin-bar .ti-header{top:46px}
  body.admin-bar .ti-header-fallback{top:46px}
  .ti-header-container{width:min(100% - 26px,1320px)}
  .ti-header-topbar{display:none}
  .ti-header-main-inner{min-height:72px;gap:12px}
  .ti-header-logo{min-width:0}
  .ti-header-logo img{max-width:175px;max-height:52px}
  .ti-header-search-button{display:none}
  .ti-header-actions>.ti-header-portal,
  .ti-header-actions>.ti-header-appointment{display:none}
  .ti-search-dialog{padding:38px 22px 25px}
  .ti-search-dialog form{grid-template-columns:1fr}
  .ti-search-dialog form button{justify-content:center}
}

:root{--ti-navy:#001c45;--ti-navy2:#062b60;--ti-red:#e10d1a;--ti-blue:#1b66d1;--ti-text:#071b3d;--ti-muted:#5d6b82;--ti-line:#dfe5ee;--ti-soft:#f7f9fc;--ti-white:#fff}.ti-footer *,.ti-directory *{box-sizing:border-box}
body.tesimpots-hide-theme-footer footer.site-footer:not(.ti-footer),body.tesimpots-hide-theme-footer #colophon,body.tesimpots-hide-theme-footer .site-footer:not(.ti-footer),body.tesimpots-hide-theme-footer .ast-footer-wrap,body.tesimpots-hide-theme-footer .ast-small-footer,body.tesimpots-hide-theme-footer .ast-above-footer-wrap,body.tesimpots-hide-theme-footer .ast-primary-footer-bar,body.tesimpots-hide-theme-footer .footer-widgets,body.tesimpots-hide-theme-footer .footer-area,body.tesimpots-hide-theme-footer .footer-wrapper,body.tesimpots-hide-theme-footer .footer-container,body.tesimpots-hide-theme-footer .theme-footer,body.tesimpots-hide-theme-footer .main-footer,body.tesimpots-hide-theme-footer .global-footer,body.tesimpots-hide-theme-footer .elementor-location-footer,body.tesimpots-hide-theme-footer [data-elementor-type="footer"],body.tesimpots-hide-theme-footer .site-info,body.tesimpots-hide-theme-footer #footer,body.tesimpots-hide-theme-footer #site-footer,body.tesimpots-hide-theme-footer .wp-site-blocks>.wp-block-template-part:last-child{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}.ti-footer{display:block!important;visibility:visible!important;height:auto!important;overflow:visible!important}
.ti-footer{width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ti-text);background:#fff;border-top:1px solid var(--ti-line)}.ti-trust-band{padding:38px 0 34px;background:#fff;border-bottom:1px solid var(--ti-line)}.ti-trust-grid{width:min(1320px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.ti-trust-grid article{min-height:190px;padding:4px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--ti-line)}.ti-trust-grid article:last-child{border-right:0}.ti-trust-symbol{display:flex;align-items:center;justify-content:center;height:76px;margin-bottom:15px}.ti-trust-symbol svg{display:block}.ti-maple{color:var(--ti-red)}.ti-maple svg{width:70px;height:70px}.ti-flags svg{width:124px;height:54px}.ti-shield{color:var(--ti-red)}.ti-shield svg{width:68px;height:68px}.ti-people{color:var(--ti-navy)}.ti-people svg{width:82px;height:67px}.ti-trust-grid h2{margin:0;color:var(--ti-text);font-size:1.13rem;line-height:1.25;font-weight:850;letter-spacing:-.02em}.ti-trust-grid p{margin:9px 0 0;color:var(--ti-muted);font-size:.9rem;line-height:1.45}
.ti-footer-main{padding:50px 0 46px;background:linear-gradient(180deg,#fff,#fbfcfe)}.ti-footer-main-grid{width:min(1410px,calc(100% - 60px));margin:auto;display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:40px}.ti-footer-brand{padding-right:14px}.ti-footer-logo{display:inline-flex;text-decoration:none!important}.ti-footer-logo .custom-logo-link{display:block}.ti-footer-logo img{display:block;width:auto;max-width:285px;max-height:100px;object-fit:contain}.ti-footer-logo strong{font-size:2rem;color:var(--ti-navy)}.ti-footer-tagline{margin:18px 0 22px;color:#3d4b63;font-size:.92rem;font-weight:600}.ti-footer-tagline span{margin:0 6px;color:var(--ti-red)}.ti-footer-brand address{display:grid;gap:13px;font-style:normal}.ti-footer-brand address span,.ti-footer-brand address a{display:flex;align-items:center;gap:12px;color:var(--ti-text)!important;text-decoration:none!important;font-size:.88rem}.ti-footer-brand address svg{width:20px;height:20px;color:var(--ti-red);flex:0 0 20px}.ti-footer-brand address b{font-weight:600}.ti-footer-column h2{position:relative;margin:7px 0 24px;padding-bottom:12px;color:var(--ti-text);font-size:.88rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.ti-footer-column h2:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--ti-red)}.ti-footer-links{display:grid;gap:0}.ti-footer-column a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;color:var(--ti-text)!important;text-decoration:none!important;font-size:.86rem;line-height:1.3;transition:color .15s ease,transform .15s ease}.ti-footer-column a span{display:inline-flex;align-items:center;gap:7px}.ti-footer-column a b{color:var(--ti-red);font-size:1.3rem;font-weight:400;line-height:1}.ti-footer-column a:hover{color:var(--ti-red)!important;transform:translateX(3px)}.ti-footer-column em{padding:3px 6px;border-radius:4px;background:var(--ti-red);color:#fff;font-size:.55rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.ti-help-band{width:min(1430px,calc(100% - 60px));margin:0 auto 24px;padding:26px 36px;border-radius:17px;background:linear-gradient(135deg,var(--ti-navy),var(--ti-navy2));color:#fff;box-shadow:0 18px 42px rgba(0,28,69,.14)}.ti-help-wrap{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;align-items:center;gap:24px}.ti-help-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.ti-help-icon svg{width:37px;height:37px}.ti-help-copy strong,.ti-help-copy small{display:block}.ti-help-copy strong{font-size:1.2rem;letter-spacing:-.02em}.ti-help-copy small{margin-top:6px;font-size:.88rem;opacity:.85}.ti-help-actions{display:flex;align-items:center;gap:17px}.ti-help-actions a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 22px;border:1px solid rgba(255,255,255,.8);border-radius:12px;color:#fff!important;text-decoration:none!important;font-size:.86rem;font-weight:800}.ti-help-actions svg{width:20px;height:20px}.ti-help-actions .ti-help-primary{border-color:var(--ti-red);background:var(--ti-red);padding-inline:25px}.ti-help-actions a:hover{transform:translateY(-1px)}
.ti-guarantee-card{width:min(1430px,calc(100% - 60px));margin:0 auto 25px;padding:22px 35px;border:1px solid #e9edf3;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(0,28,69,.07);display:grid;grid-template-columns:1.6fr repeat(3,.8fr);align-items:center}.ti-guarantee-main{display:flex;align-items:center;gap:24px;padding-right:28px}.ti-guarantee-main>span{display:flex;align-items:center;justify-content:center;width:78px;height:78px;flex:0 0 78px;border-radius:50%;background:#fff0f1;color:var(--ti-red)}.ti-guarantee-main svg{width:58px;height:58px}.ti-guarantee-main strong{display:block;font-size:1.08rem}.ti-guarantee-main p{margin:8px 0 0;color:var(--ti-text);font-size:.84rem;line-height:1.55}.ti-guarantee-point{min-height:75px;padding:0 25px;border-left:1px solid var(--ti-line);display:flex;align-items:center;justify-content:center;gap:17px;color:var(--ti-text)}.ti-guarantee-point span{color:var(--ti-red);display:flex}.ti-guarantee-point svg{width:38px;height:38px}.ti-guarantee-point b{font-size:.86rem;line-height:1.4}
.ti-footer-bottom{padding:23px 0;background:var(--ti-navy);color:#fff}.ti-footer-bottom-wrap{width:min(1410px,calc(100% - 60px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:.78rem}.ti-footer-bottom nav{display:flex;align-items:center;gap:0}.ti-footer-bottom nav a{padding:0 28px;border-left:1px solid rgba(255,255,255,.65);color:#fff!important;text-decoration:none!important}.ti-footer-bottom nav a:hover{color:#ffb8bd!important}
.ti-breadcrumbs{width:min(1180px,calc(100% - 40px));margin:18px auto;display:flex;gap:8px;color:var(--ti-muted);font-family:Inter,Arial,sans-serif;font-size:.84rem}.ti-breadcrumbs a{color:var(--ti-navy)!important;text-decoration:none!important}.ti-directory{font-family:Inter,Arial,sans-serif}.ti-directory-hero{padding:96px 0 74px;border-bottom:1px solid var(--ti-line);background:linear-gradient(#fff,#fbfcfe)}.ti-directory-wrap{width:min(1280px,calc(100% - 40px));margin:auto}.ti-directory-kicker{color:var(--ti-red);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.ti-directory h1{margin:12px 0 0;color:var(--ti-navy);font-size:clamp(3rem,5vw,5rem);letter-spacing:-.045em}.ti-directory-hero p{color:var(--ti-muted);font-size:1.05rem}.ti-directory-section{padding:78px 0;background:var(--ti-soft)}.ti-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ti-directory-card{display:flex;flex-direction:column;min-height:230px;padding:28px;border:1px solid var(--ti-line);border-radius:21px;background:#fff;text-decoration:none!important;color:inherit!important;box-shadow:0 12px 30px rgba(0,28,69,.045)}
@media(max-width:1180px){.ti-footer-main-grid{grid-template-columns:1.2fr repeat(2,1fr)}.ti-help-wrap{grid-template-columns:auto 1fr}.ti-help-actions{grid-column:1/-1;justify-content:flex-end}.ti-guarantee-card{grid-template-columns:1.4fr repeat(3,1fr)}}
@media(max-width:820px){.ti-trust-grid{grid-template-columns:repeat(2,1fr)}.ti-trust-grid article:nth-child(2){border-right:0}.ti-trust-grid article:nth-child(-n+2){border-bottom:1px solid var(--ti-line)}.ti-footer-main-grid{grid-template-columns:1fr 1fr}.ti-footer-brand{grid-column:1/-1}.ti-help-wrap{grid-template-columns:1fr;text-align:center}.ti-help-icon{margin:auto}.ti-help-actions{justify-content:center;flex-wrap:wrap}.ti-guarantee-card{grid-template-columns:1fr 1fr}.ti-guarantee-main{grid-column:1/-1;padding-bottom:20px}.ti-guarantee-point{border-top:1px solid var(--ti-line);border-left:0;padding-top:18px}.ti-footer-bottom-wrap{flex-direction:column;text-align:center}.ti-footer-bottom nav{flex-wrap:wrap;justify-content:center}}
@media(max-width:560px){.ti-trust-grid,.ti-footer-main-grid{grid-template-columns:1fr}.ti-trust-grid article{border-right:0!important;border-bottom:1px solid var(--ti-line)}.ti-trust-grid article:last-child{border-bottom:0}.ti-footer-main-grid,.ti-trust-grid,.ti-footer-bottom-wrap{width:min(100% - 28px,1410px)}.ti-help-band,.ti-guarantee-card{width:min(100% - 24px,1430px)}.ti-help-actions{display:grid;width:100%}.ti-help-actions a{width:100%}.ti-guarantee-card{grid-template-columns:1fr}.ti-guarantee-main{align-items:flex-start}.ti-guarantee-point{justify-content:flex-start}.ti-footer-bottom nav a{padding:7px 12px;border:0}.ti-directory-grid{grid-template-columns:1fr}}


/* =========================================================
   HEADER PREMIUM v3.5 — OVERRIDES FINAUX
   ========================================================= */

/* Barre d'annonce : toujours bleu marine pour le style Succès */
.ti-header .ti-announcement-success{
  background:linear-gradient(90deg,#001c45 0%,#082a57 100%)!important;
}
.ti-header .ti-announcement{
  min-height:38px;
}
.ti-header .ti-announcement-inner{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:38px!important;
  padding-top:5px;
  padding-bottom:5px;
  padding-right:48px;
}
.ti-header .ti-announcement-message{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 12px;
  width:100%;
  text-align:center;
}
.ti-header .ti-announcement-message strong{
  font-size:.8rem!important;
  font-weight:800;
}
.ti-header .ti-announcement-link{
  min-height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  color:#fff!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:.78rem!important;
  font-weight:900;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:4px!important;
}
.ti-header .ti-announcement-link:hover{
  transform:none!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.82;
}
.ti-header .ti-announcement-close{
  position:absolute!important;
  top:50%;
  right:0;
  width:28px!important;
  height:28px!important;
  transform:translateY(-50%);
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.04)!important;
  opacity:.58;
}
.ti-header .ti-announcement-close:hover{
  background:rgba(255,255,255,.10)!important;
  opacity:1;
}

/* Le bandeau téléphone/courriel est retiré */
.ti-header .ti-header-topbar{
  display:none!important;
}

/* Header principal plus bas, plus compact et mieux aligné */
.ti-header .ti-header-main-inner{
  grid-template-columns:minmax(170px,210px) minmax(0,1fr) auto!important;
  min-height:68px!important;
  gap:20px!important;
}
.ti-header .ti-header-logo{
  min-width:0!important;
}
.ti-header .ti-header-logo img{
  max-width:190px!important;
  max-height:50px!important;
}
.ti-header .ti-desktop-nav{
  gap:2px!important;
  min-width:0;
}
.ti-header .ti-nav-trigger{
  padding:0 10px!important;
  font-size:.87rem!important;
}
.ti-header .ti-header-actions{
  flex-wrap:nowrap!important;
  gap:7px!important;
}
.ti-header .ti-header-search-button{
  width:40px!important;
  height:40px!important;
  border-radius:10px!important;
}
.ti-header .ti-header-portal,
.ti-header .ti-header-appointment{
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  font-size:.82rem!important;
}
.ti-header .ti-header-portal svg{
  width:17px!important;
  height:17px!important;
}

/* À largeur moyenne, on garde les actions sur une seule ligne */
@media(max-width:1320px){
  .ti-header .ti-header-main-inner{
    grid-template-columns:minmax(155px,185px) minmax(0,1fr) auto!important;
    gap:14px!important;
  }
  .ti-header .ti-header-logo img{
    max-width:168px!important;
  }
  .ti-header .ti-nav-trigger{
    padding:0 8px!important;
    font-size:.83rem!important;
  }
  .ti-header .ti-header-portal,
  .ti-header .ti-header-appointment{
    padding:0 11px!important;
    font-size:.78rem!important;
  }
}

/* Mobile */
@media(max-width:760px){
  .ti-header .ti-announcement-inner{
    justify-content:flex-start;
    min-height:48px!important;
    padding-right:44px;
  }
  .ti-header .ti-announcement-message{
    justify-content:flex-start;
    text-align:left;
  }
  .ti-header .ti-announcement-link{
    margin-left:21px;
  }
  .ti-header .ti-header-main-inner{
    min-height:64px!important;
  }
  .ti-header .ti-header-logo img{
    max-width:160px!important;
    max-height:46px!important;
  }
}


/* =========================================================
   CORRECTIF HEADER v3.5.1 — BOSA PRO
   ========================================================= */

/* Réaffichage fiable de la barre d'annonce */
.ti-header .ti-announcement{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
}
.ti-header .ti-announcement[hidden]{
  display:none!important;
}
.ti-header .ti-announcement-success{
  background:#001c45!important;
}

/* Verrouille le header sur UNE seule ligne compacte */
.ti-header .ti-header-main{
  height:76px!important;
  min-height:76px!important;
  max-height:76px!important;
  overflow:visible!important;
}
.ti-header .ti-header-main-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:min(1320px,calc(100% - 40px))!important;
  height:76px!important;
  min-height:76px!important;
  max-height:76px!important;
  margin:0 auto!important;
  padding:0!important;
  gap:24px!important;
}

/* Neutralise les marges et dimensions injectées par le thème */
.ti-header .ti-header-main-inner > *{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

.ti-header .ti-header-logo{
  display:flex!important;
  align-items:center!important;
  flex:0 0 225px!important;
  width:225px!important;
  height:58px!important;
  min-width:225px!important;
  max-width:225px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.ti-header .ti-header-logo .custom-logo-link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:225px!important;
  height:58px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.ti-header .ti-header-logo img,
.ti-header .ti-header-logo .custom-logo{
  display:block!important;
  width:225px!important;
  height:58px!important;
  min-width:0!important;
  max-width:225px!important;
  min-height:0!important;
  max-height:58px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.ti-header .ti-desktop-nav{
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  height:76px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.ti-header .ti-nav-group{
  height:76px!important;
  align-items:center!important;
}
.ti-header .ti-nav-trigger{
  height:76px!important;
  margin:0!important;
  padding:0 11px!important;
}

.ti-header .ti-header-actions{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  height:76px!important;
  margin:0!important;
  padding:0!important;
  gap:8px!important;
}
.ti-header .ti-header-search-button,
.ti-header .ti-header-portal,
.ti-header .ti-header-appointment{
  align-self:center!important;
  margin:0!important;
  position:static!important;
  transform:none;
}

/* Tablette : passe proprement au menu mobile avant que tout se compresse */
@media(max-width:1240px){
  .ti-header .ti-desktop-nav{display:none!important}
  .ti-header .ti-mobile-toggle{display:inline-flex!important}
  .ti-header .ti-header-main-inner{
    justify-content:space-between!important;
  }
}

/* Mobile */
@media(max-width:760px){
  .ti-header .ti-header-main,
  .ti-header .ti-header-main-inner{
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
  }
  .ti-header .ti-header-logo,
  .ti-header .ti-header-logo .custom-logo-link{
    flex-basis:180px!important;
    width:180px!important;
    min-width:180px!important;
    max-width:180px!important;
    height:48px!important;
  }
  .ti-header .ti-header-logo img,
  .ti-header .ti-header-logo .custom-logo{
    width:180px!important;
    height:48px!important;
    max-width:180px!important;
    max-height:48px!important;
  }
  .ti-header .ti-header-actions{
    height:66px!important;
  }
}


/* =========================================================
   AJUSTEMENT HEADER v3.5.2 — ÉQUILIBRE ET ESPACEMENT
   ========================================================= */

/* Un peu plus de hauteur, sans revenir au header surdimensionné */
.ti-header .ti-header-main{
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
}
.ti-header .ti-header-main-inner{
  width:min(1580px,calc(100% - 48px))!important;
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  gap:30px!important;
}

/* Logo légèrement plus présent */
.ti-header .ti-header-logo{
  flex:0 0 250px!important;
  width:250px!important;
  min-width:250px!important;
  max-width:250px!important;
  height:66px!important;
}
.ti-header .ti-header-logo .custom-logo-link{
  width:250px!important;
  height:66px!important;
}
.ti-header .ti-header-logo img,
.ti-header .ti-header-logo .custom-logo{
  width:250px!important;
  height:66px!important;
  max-width:250px!important;
  max-height:66px!important;
}

/* Navigation : jamais de retour à la ligne */
.ti-header .ti-desktop-nav{
  height:86px!important;
  gap:6px!important;
  white-space:nowrap!important;
}
.ti-header .ti-nav-group{
  height:86px!important;
  flex:0 0 auto!important;
}
.ti-header .ti-nav-trigger{
  height:86px!important;
  padding:0 12px!important;
  font-size:.89rem!important;
  white-space:nowrap!important;
}
.ti-header .ti-nav-trigger span{
  white-space:nowrap!important;
}

/* Actions mieux séparées */
.ti-header .ti-header-actions{
  height:86px!important;
  gap:10px!important;
}
.ti-header .ti-header-search-button{
  width:42px!important;
  height:42px!important;
}
.ti-header .ti-header-portal,
.ti-header .ti-header-appointment{
  min-height:44px!important;
  padding:0 15px!important;
  font-size:.84rem!important;
}

/* On bascule plus tôt au menu mobile plutôt que de comprimer */
@media(max-width:1480px){
  .ti-header .ti-desktop-nav{display:none!important}
  .ti-header .ti-mobile-toggle{display:inline-flex!important}
  .ti-header .ti-header-main-inner{
    justify-content:space-between!important;
  }
}

/* Largeur intermédiaire : on garde les deux boutons */
@media(max-width:980px){
  .ti-header .ti-header-logo{
    flex-basis:220px!important;
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    height:60px!important;
  }
  .ti-header .ti-header-logo .custom-logo-link,
  .ti-header .ti-header-logo img,
  .ti-header .ti-header-logo .custom-logo{
    width:220px!important;
    height:60px!important;
    max-width:220px!important;
    max-height:60px!important;
  }
}

/* Mobile */
@media(max-width:760px){
  .ti-header .ti-header-main,
  .ti-header .ti-header-main-inner{
    height:70px!important;
    min-height:70px!important;
    max-height:70px!important;
  }
  .ti-header .ti-header-main-inner{
    width:min(100% - 24px,1580px)!important;
  }
  .ti-header .ti-header-logo{
    flex-basis:185px!important;
    width:185px!important;
    min-width:185px!important;
    max-width:185px!important;
    height:50px!important;
  }
  .ti-header .ti-header-logo .custom-logo-link,
  .ti-header .ti-header-logo img,
  .ti-header .ti-header-logo .custom-logo{
    width:185px!important;
    height:50px!important;
    max-width:185px!important;
    max-height:50px!important;
  }
  .ti-header .ti-header-actions{
    height:70px!important;
  }
}


/* =========================================================
   ENTREPRISE v4.3 — HEURES ET RÉPUTATION
   ========================================================= */
.ti-footer-open-status{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  margin-top:4px!important;
  padding:10px 12px!important;
  border:1px solid #e1e8f0!important;
  border-radius:11px!important;
  background:#f8fafc!important;
  color:#596579!important;
}
.ti-footer-open-status i{
  display:block!important;
  width:9px!important;
  height:9px!important;
  flex:0 0 9px!important;
  margin-top:4px!important;
  border-radius:50%!important;
  background:#d41118!important;
}
.ti-footer-open-status.is-open i{background:#22a866!important}
.ti-footer-open-status b{
  display:block!important;
  color:#001c45!important;
  font-size:.78rem!important;
  line-height:1.25!important;
}
.ti-footer-open-status small{
  display:block!important;
  margin-top:3px!important;
  color:#667085!important;
  font-size:.7rem!important;
  font-weight:500!important;
}

.tesimpots-office-hours{
  width:min(1180px,calc(100% - 40px));
  margin:42px auto;
  padding:30px;
  border:1px solid #e1e8f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 36px rgba(0,28,69,.06);
  font-family:Inter,Arial,sans-serif;
}
.tesimpots-office-hours-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-bottom:23px;
  border-bottom:1px solid #e6ebf1;
}
.tesimpots-office-hours-head small{
  display:block;
  color:#d41118;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.tesimpots-office-hours-head h2{
  margin:6px 0 0;
  color:#001c45;
  font-size:clamp(1.7rem,3vw,2.4rem);
  letter-spacing:-.035em;
}
.tesimpots-hours-status{
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-width:210px;
  padding:13px 15px;
  border-radius:13px;
  background:#fff5f5;
}
.tesimpots-hours-status>span{
  width:10px;
  height:10px;
  flex:0 0 10px;
  margin-top:4px;
  border-radius:50%;
  background:#d41118;
}
.tesimpots-hours-status.is-open{background:#ecf9f2}
.tesimpots-hours-status.is-open>span{background:#22a866}
.tesimpots-hours-status strong,
.tesimpots-hours-status small{display:block}
.tesimpots-hours-status strong{color:#001c45;font-size:.86rem}
.tesimpots-hours-status small{margin-top:3px;color:#667085;font-size:.75rem}
.tesimpots-hours-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 34px;
  margin-top:20px;
}
.tesimpots-hours-list>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 2px;
  border-bottom:1px solid #edf0f4;
}
.tesimpots-hours-list strong{color:#001c45;font-size:.9rem}
.tesimpots-hours-list span{color:#596579;font-size:.88rem}
.tesimpots-hours-note{margin:22px 0 0;color:#596579;line-height:1.65}
@media(max-width:720px){
  .tesimpots-office-hours{width:min(100% - 28px,1180px);padding:22px}
  .tesimpots-office-hours-head{align-items:flex-start;flex-direction:column}
  .tesimpots-hours-status{width:100%}
  .tesimpots-hours-list{grid-template-columns:1fr}
}


/* =========================================================
   FOOTER v4.3.1 — RÉPUTATION ET SERVICE HYBRIDE
   ========================================================= */
.ti-footer-google-proof{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:22px 0 18px!important;
  padding:14px 15px!important;
  border:1px solid #e1e8f0!important;
  border-radius:13px!important;
  color:#001c45!important;
  background:#fff!important;
  box-shadow:0 9px 24px rgba(0,28,69,.05)!important;
  text-decoration:none!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}
.ti-footer-google-proof:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 13px 30px rgba(0,28,69,.08)!important;
}
.ti-footer-google-stars{
  flex:0 0 auto!important;
  color:#f4b400!important;
  font-size:1rem!important;
  letter-spacing:.05em!important;
  white-space:nowrap!important;
}
.ti-footer-google-proof>span:last-child,
.ti-footer-google-proof strong,
.ti-footer-google-proof small{display:block!important}
.ti-footer-google-proof strong{color:#001c45!important;font-size:.83rem!important}
.ti-footer-google-proof small{margin-top:3px!important;color:#667085!important;font-size:.7rem!important}

/* L'ancien statut ouvert/fermé n'est plus utilisé */
.ti-footer-open-status{display:none!important}

.ti-footer-service-info{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  margin-top:8px!important;
  padding:11px 12px!important;
  border:1px solid #e1e8f0!important;
  border-radius:11px!important;
  color:#001c45!important;
  background:#f8fafc!important;
  text-decoration:none!important;
}
.ti-footer-service-info>svg{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  margin-top:1px!important;
  color:#d41118!important;
}
.ti-footer-service-info b,
.ti-footer-service-info small{display:block!important}
.ti-footer-service-info b{color:#001c45!important;font-size:.78rem!important;line-height:1.25!important}
.ti-footer-service-info small{margin-top:3px!important;color:#667085!important;font-size:.69rem!important;font-weight:500!important}
.ti-footer-online-service>svg{color:#1b66d1!important}
.ti-footer-secure-service>svg{color:#001c45!important}
.ti-footer-secure-service:hover{background:#f1f5fa!important}


/* =========================================================
   DISCUSSION EN DIRECT TESIMPÔTS v4.4
   ========================================================= */
.ti-chat,
.ti-chat *{box-sizing:border-box}
.ti-chat{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:99980;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  font-family:Inter,Arial,sans-serif;
}
.ti-chat-left{right:auto;left:24px;align-items:flex-start}
.ti-chat-panel{
  position:relative;
  width:min(350px,calc(100vw - 32px));
  padding:24px;
  border:1px solid #dfe6ef;
  border-radius:20px;
  color:#17233b;
  background:#fff;
  box-shadow:0 24px 60px rgba(0,28,69,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.98);
  transform-origin:bottom right;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.ti-chat-left .ti-chat-panel{transform-origin:bottom left}
.ti-chat.is-open .ti-chat-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.ti-chat-panel-close{
  position:absolute;
  top:14px;
  right:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #e1e8f0;
  border-radius:10px;
  color:#5f6c80;
  background:#fff;
  cursor:pointer;
}
.ti-chat-panel-close svg{width:17px;height:17px}
.ti-chat-eyebrow{
  display:block;
  padding-right:42px;
  color:#d41118;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ti-chat-panel>strong{
  display:block;
  margin-top:8px;
  padding-right:38px;
  color:#001c45;
  font-size:1.42rem;
  line-height:1.18;
  letter-spacing:-.035em;
}
.ti-chat-panel>p{
  margin:12px 0 18px;
  color:#657185;
  font-size:.9rem;
  line-height:1.55;
}
.ti-chat-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:0 15px;
  border-radius:12px;
  color:#fff!important;
  background:#d41118;
  box-shadow:0 10px 23px rgba(212,17,24,.2);
  text-decoration:none!important;
  font-size:.88rem;
  font-weight:850;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.ti-chat-action svg:first-child{width:21px;height:21px}
.ti-chat-action svg:last-child{width:18px;height:18px;margin-left:auto}
.ti-chat-action:hover{
  color:#fff!important;
  background:#bf0f16;
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(212,17,24,.27);
}
.ti-chat-panel>small{
  display:block;
  margin-top:11px;
  color:#8791a2;
  text-align:center;
  font-size:.7rem;
}
.ti-chat-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 18px 0 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  color:#fff;
  background:#001c45;
  box-shadow:0 14px 34px rgba(0,28,69,.23);
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.ti-chat-toggle:hover{
  background:#082a57;
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,28,69,.28);
}
.ti-chat-toggle-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:11px;
  color:#fff;
  background:#d41118;
}
.ti-chat-toggle-icon svg{width:21px;height:21px}
.ti-chat-toggle-label{
  font-size:.9rem;
  font-weight:850;
  white-space:nowrap;
}
.ti-chat.is-open .ti-chat-toggle{background:#082a57}
body.admin-bar .ti-chat{bottom:24px}

@media(max-width:760px){
  .ti-chat{right:14px;bottom:14px}
  .ti-chat-left{right:auto;left:14px}
  .ti-chat-panel{width:min(340px,calc(100vw - 28px));padding:21px}
  .ti-chat-toggle{min-height:52px;padding-right:15px}
  .ti-chat-mobile-icon-only .ti-chat-toggle{width:54px;padding:0;justify-content:center}
  .ti-chat-mobile-icon-only .ti-chat-toggle-label{display:none}
  .ti-chat-mobile-icon-only .ti-chat-toggle-icon{background:transparent}
}
@media(prefers-reduced-motion:reduce){
  .ti-chat-panel,.ti-chat-toggle,.ti-chat-action{transition:none}
}
