/* header-nav.css — Bandeau de navigation Tykar (injecté par header-nav.js)
   Deux niveaux : liens utilitaires en haut, navigation principale + actions en bas.
   Tout est préfixé .tyk-header pour neutraliser les anciennes règles globales
   `header {…}` / `nav a {…}` encore présentes dans accueil.css et contact.css. */

.tyk-header{
  --tyk-h-ink:#1b2430;
  --tyk-h-soft:#5b6870;
  --tyk-h-brand:#0d8b73;
  --tyk-h-brand-2:#14a892;
  --tyk-h-deep:#0b6c58;
  --tyk-h-gold:#c7ae33;
  --tyk-h-line:#e4ece9;
  position:sticky; top:0; z-index:1200;
  display:block;
  background:#fff;
  color:var(--tyk-h-ink);
  padding:0;
  margin:0;
  border-top:3px solid var(--tyk-h-brand-2);
  border-bottom:1px solid var(--tyk-h-line);
  box-shadow:none;
  font-family:var(--font-body,'Public Sans','Segoe UI',Arial,sans-serif);
  transition:box-shadow .2s ease;
}
.tyk-header.is-scrolled{ box-shadow:0 6px 20px rgba(27,36,48,.08); }
.tyk-header *,.tyk-header *::before,.tyk-header *::after{ box-sizing:border-box; }
/* Neutralise les soulignements animés de l'ancienne nav */
.tyk-header a::after,.tyk-header button::after{ content:none !important; display:none !important; }
.tyk-header ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:row; flex-wrap:nowrap; gap:0; justify-content:flex-start; }
.tyk-header li{ margin:0; padding:0; display:block; }
.tyk-header a{ text-decoration:none; color:inherit; background:none; padding:0; border-radius:0; font-size:inherit; text-shadow:none; }
.tyk-header a:hover,.tyk-header a:focus{ background:none; color:inherit; transform:none; }
.tyk-header :focus-visible{ outline:3px solid var(--tyk-h-gold); outline-offset:2px; border-radius:6px; }

.tyk-h-inner{
  max-width:1280px; margin:0 auto; padding:10px 24px 12px;
  display:flex; align-items:center; gap:24px;
}

/* Logo */
.tyk-brand{ display:flex; align-items:center; gap:12px; flex:none; color:var(--tyk-h-ink) !important; }
.tyk-brand img{ width:64px; height:64px; border-radius:50%; object-fit:cover; display:block; margin:0; }
.tyk-brand-text{ display:flex; flex-direction:column; line-height:1.1; border-left:1px solid var(--tyk-h-line); padding-left:12px; }
.tyk-brand-text strong{ font-family:var(--font-display,'Fraunces',Georgia,serif); font-size:1.35rem; font-weight:700; color:var(--tyk-h-deep); letter-spacing:.01em; }
.tyk-brand-text span{ font-size:.78rem; font-weight:600; color:var(--tyk-h-soft); letter-spacing:.04em; }

/* Colonne droite (2 niveaux) */
.tyk-h-right{ flex:1; display:flex; flex-direction:column; align-items:flex-end; gap:8px; min-width:0; }

/* Niveau 1 : liens utilitaires */
.tyk-util{ align-items:center; gap:26px !important; font-size:.9rem; color:var(--tyk-h-soft); }
.tyk-util > li > a,.tyk-util .tyk-dd-btn{
  display:inline-flex; align-items:center; gap:6px; color:var(--tyk-h-soft); font-weight:500; padding:4px 0; min-height:32px;
}
.tyk-util > li > a:hover,.tyk-util .tyk-dd-btn:hover{ color:var(--tyk-h-ink); }
.tyk-fav-link svg{ color:#e11d48; }
.tyk-badge{
  min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:#e11d48; color:#fff;
  font-size:.72rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; line-height:1;
}
.tyk-badge[hidden]{ display:none; }
.tyk-socials{ display:flex !important; gap:6px; padding-left:18px !important; border-left:1px solid var(--tyk-h-line); }
.tyk-socials a{ width:30px; height:30px; border-radius:50%; display:inline-flex !important; align-items:center; justify-content:center; color:var(--tyk-h-soft) !important; }
.tyk-socials a:hover{ background:#f1f5f4 !important; color:var(--tyk-h-deep) !important; }

/* Menu déroulant (Espace personnel) */
.tyk-dd{ position:relative; }
.tyk-dd-btn{ font:inherit; background:none; border:0; cursor:pointer; }
.tyk-caret{ width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s ease; }
.tyk-dd-btn[aria-expanded="true"] .tyk-caret{ transform:translateY(1px) rotate(-135deg); }
.tyk-dd-menu{
  position:absolute; top:calc(100% + 8px); right:0; z-index:1300;
  min-width:220px; padding:8px !important; background:#fff; border:1px solid var(--tyk-h-line); border-radius:12px;
  box-shadow:0 14px 34px rgba(27,36,48,.14); display:none !important; flex-direction:column !important;
}
.tyk-dd.open .tyk-dd-menu{ display:flex !important; }
.tyk-dd-menu a,.tyk-dd-menu button{
  display:block; width:100%; text-align:left; padding:10px 12px !important; border-radius:8px !important; font:inherit; font-size:.92rem;
  color:var(--tyk-h-ink) !important; background:none; border:0; cursor:pointer;
}
.tyk-dd-menu a:hover,.tyk-dd-menu button:hover{ background:#eef8f5 !important; color:var(--tyk-h-deep) !important; }
.tyk-dd-menu .tyk-dd-who{ padding:6px 12px 8px; font-size:.78rem; color:var(--tyk-h-soft); border-bottom:1px solid var(--tyk-h-line); margin-bottom:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Niveau 2 : navigation principale + actions */
.tyk-main-row{ display:flex; align-items:center; gap:28px; }
.tyk-main{ align-items:center; gap:34px !important; }
.tyk-main a{
  position:relative; display:inline-flex; align-items:center; min-height:44px;
  font-size:.98rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--tyk-h-ink) !important;
}
.tyk-main a::before{
  content:""; position:absolute; left:0; right:0; bottom:6px; height:3px; border-radius:3px;
  background:var(--tyk-h-brand-2); transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
}
.tyk-main a:hover::before,.tyk-main a[aria-current="page"]::before{ transform:scaleX(1); }
.tyk-main a[aria-current="page"]{ color:var(--tyk-h-deep) !important; }

.tyk-ctas{ display:flex; gap:12px; }
.tyk-btn{
  display:inline-flex !important; align-items:center; justify-content:center; gap:8px; min-height:48px;
  padding:0 22px !important; border-radius:6px !important; font-weight:800; font-size:.98rem; white-space:nowrap;
  transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.tyk-btn-outline{ border:1.5px solid var(--tyk-h-brand); color:var(--tyk-h-brand) !important; background:#fff !important; }
.tyk-btn-outline:hover{ background:#eef8f5 !important; }
.tyk-btn-solid{
  border:0; color:#fff !important;
  background:linear-gradient(110deg,var(--tyk-h-deep) 0%,var(--tyk-h-brand-2) 100%) !important;
  box-shadow:0 4px 14px rgba(13,139,115,.28);
}
.tyk-btn-solid:hover{ box-shadow:0 6px 18px rgba(13,139,115,.38); transform:translateY(-1px); }

/* Burger (mobile) */
.tyk-burger,.tyk-fav-mobile{ display:none; }

@media (max-width:1180px){
  .tyk-main{ gap:22px !important; }
  .tyk-main-row{ gap:20px; }
  .tyk-util{ gap:18px !important; }
  .tyk-btn{ padding:0 16px !important; }
}

@media (max-width:1023px){
  .tyk-h-inner{ padding:8px 16px; gap:12px; }
  .tyk-brand img{ width:48px; height:48px; }
  .tyk-brand-text strong{ font-size:1.15rem; }
  .tyk-fav-mobile,.tyk-burger{
    display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:10px;
    border:1px solid var(--tyk-h-line); background:#fff; color:var(--tyk-h-ink); cursor:pointer; position:relative; flex:none;
  }
  .tyk-fav-mobile{ margin-left:auto; color:#e11d48 !important; }
  .tyk-fav-mobile .tyk-badge{ position:absolute; top:-6px; right:-6px; }
  .tyk-burger span,.tyk-burger span::before,.tyk-burger span::after{
    display:block; width:20px; height:2px; background:currentColor; border-radius:2px; position:relative; transition:transform .2s ease, background .2s ease;
  }
  .tyk-burger span::before,.tyk-burger span::after{ content:""; position:absolute; left:0; }
  .tyk-burger span::before{ top:-6px; }
  .tyk-burger span::after{ top:6px; }
  .tyk-burger[aria-expanded="true"] span{ background:transparent; }
  .tyk-burger[aria-expanded="true"] span::before{ transform:translateY(6px) rotate(45deg); }
  .tyk-burger[aria-expanded="true"] span::after{ transform:translateY(-6px) rotate(-45deg); }

  /* Le bloc de droite devient un tiroir sous le bandeau */
  .tyk-h-right{
    position:fixed; left:0; right:0; top:var(--tyk-h-height,70px); bottom:0;
    background:#fff; padding:16px 16px 32px; overflow-y:auto;
    flex-direction:column-reverse; align-items:stretch; justify-content:flex-end; gap:18px;
    transform:translateX(100%); visibility:hidden; transition:transform .25s ease, visibility .25s;
  }
  .tyk-header.menu-open .tyk-h-right{ transform:none; visibility:visible; }
  .tyk-main-row{ flex-direction:column; align-items:stretch; gap:16px; }
  .tyk-main{ flex-direction:column !important; gap:0 !important; }
  .tyk-main li{ border-bottom:1px solid var(--tyk-h-line); }
  .tyk-main a{ width:100%; min-height:54px; font-size:1.02rem; }
  .tyk-main a::before{ bottom:10px; right:auto; width:28px; }
  .tyk-ctas{ flex-direction:column; }
  .tyk-btn{ width:100%; }
  .tyk-util{ flex-direction:column !important; align-items:stretch; gap:0 !important; font-size:.98rem; }
  .tyk-util > li{ border-bottom:1px solid var(--tyk-h-line); }
  .tyk-util > li > a,.tyk-util .tyk-dd-btn{ width:100%; min-height:50px; justify-content:space-between; color:var(--tyk-h-ink); }
  .tyk-util .tyk-fav-item{ display:none; }
  .tyk-dd-menu{ position:static; box-shadow:none; border:0; padding:0 0 8px 8px !important; min-width:0; }
  .tyk-socials{ border-left:0; padding:12px 0 0 !important; justify-content:flex-start; border-bottom:0 !important; }
  /* Seul html bloque le défilement : si body devient aussi « overflow:hidden », il sert de conteneur au bandeau « sticky », qui remonte hors de l'écran */
  html.tyk-menu-lock{ overflow:hidden; }
  html.tyk-menu-lock body{ overflow:visible; }
}

@media (prefers-reduced-motion:reduce){
  .tyk-header *,.tyk-header{ transition:none !important; }
}

/* ===== Barre d'actions mobile : à portée de pouce (sous 1024px) ===== */
.tyk-thumbbar{ display:none; }
@media (max-width:1023px){
  .tyk-thumbbar{
    position:fixed; left:0; right:0; bottom:0; z-index:1150;
    display:grid; grid-template-columns:64px 64px 1fr; gap:8px; align-items:center;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97); border-top:1px solid #e4ece9;
    box-shadow:0 -8px 24px -12px rgba(27,36,48,.25);
    font-family:var(--font-body,'Public Sans','Segoe UI',Arial,sans-serif);
  }
  .tyk-tb-item{
    position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
    min-height:52px; border-radius:10px; color:#1b2430 !important; text-decoration:none; font-size:.7rem; font-weight:700;
  }
  .tyk-tb-item:active{ background:#eef8f5; }
  .tyk-tb-item svg{ color:#0b6c58; }
  .tyk-tb-item[href*="favoris"] svg{ color:#e11d48; }
  .tyk-tb-item .tyk-badge{ position:absolute; top:2px; right:6px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#e11d48; color:#fff; font-size:.68rem; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
  .tyk-tb-item .tyk-badge[hidden]{ display:none; }
  .tyk-tb-main{
    display:flex; align-items:center; justify-content:center; min-height:52px; padding:0 14px; border:0; border-radius:10px;
    font:inherit; font-size:1rem; font-weight:800; color:#fff !important; text-decoration:none; cursor:pointer;
    background:linear-gradient(110deg,#0b6c58 0%,#14a892 100%); box-shadow:0 4px 14px rgba(13,139,115,.3);
  }
  .tyk-tb-main:active{ transform:scale(.98); }
  .tyk-tb-item:focus-visible,.tyk-tb-main:focus-visible{ outline:3px solid #c7ae33; outline-offset:2px; }
  body.has-thumbbar{ padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important; }
  body.has-thumbbar #back-to-top{ bottom:calc(84px + env(safe-area-inset-bottom)) !important; }
  body.has-thumbbar #tyk-edit-toggle{ bottom:calc(84px + env(safe-area-inset-bottom)) !important; }
  html.tyk-menu-lock .tyk-thumbbar{ display:none; }
}

/* Le bandeau est collant : le bouton "Retour" ne doit plus se fixer par-dessus */
body:has(.tyk-header) .btn-retour.fixed{ position:static !important; }

/* ===== Espace personnel intégré au bandeau (remplace l'ancien badge flottant) ===== */
.admin-logout-fixed,#user-session-box,#tykar-admin-badge,#admin-settings-link{ display:none !important; }
.tyk-account-btn{ gap:8px !important; }
.tyk-account-btn.is-logged{
  padding:3px 10px 3px 3px !important; border:1px solid var(--tyk-h-line) !important; border-radius:999px !important;
  color:var(--tyk-h-ink) !important; font-weight:600 !important; background:#fff !important;
}
.tyk-account-btn.is-logged:hover{ border-color:#bfe3da !important; background:#f4faf8 !important; }
.tyk-avatar{
  width:28px; height:28px; border-radius:50%; flex:none; display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--tyk-h-deep),var(--tyk-h-brand-2)); color:#fff;
  font-size:.72rem; font-weight:800; letter-spacing:.02em; font-family:var(--font-body,'Public Sans',sans-serif);
}
.tyk-avatar.lg{ width:44px; height:44px; font-size:.95rem; }
.tyk-dd-menu{ min-width:290px !important; padding:8px !important; }
.tyk-dd-menu a,.tyk-dd-menu button{ display:flex !important; align-items:center; gap:12px; min-height:44px; }
.tyk-dd-menu a svg,.tyk-dd-menu button svg{ flex:none; color:var(--tyk-h-deep); }
.tyk-acc-card{
  display:grid !important; grid-template-columns:auto 1fr auto; align-items:center; gap:12px;
  padding:10px 10px 14px !important; margin-bottom:6px; border-bottom:1px solid var(--tyk-h-line);
}
.tyk-acc-id{ display:flex; flex-direction:column; min-width:0; line-height:1.3; }
.tyk-acc-id strong{ font-family:var(--font-display,'Fraunces',Georgia,serif); font-size:1.05rem; color:var(--tyk-h-ink); }
.tyk-acc-id span{ font-size:.8rem; color:var(--tyk-h-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tyk-acc-role{ font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#6b5300; background:#fdf3c9; padding:3px 8px; border-radius:999px; }
.tyk-acc-sep{ height:1px; background:var(--tyk-h-line); margin:6px 4px !important; padding:0 !important; }
.tyk-dd-menu .tyk-acc-out{ color:#b42318 !important; }
.tyk-dd-menu .tyk-acc-out svg{ color:#b42318; }
.tyk-dd-menu .tyk-acc-out:hover{ background:#fdecec !important; color:#912018 !important; }
.tyk-acc-intro{ padding:8px 12px 10px !important; font-size:.84rem; line-height:1.5; color:var(--tyk-h-soft); }
.tyk-dd-menu a.tyk-acc-primary{ background:linear-gradient(110deg,var(--tyk-h-deep),var(--tyk-h-brand-2)) !important; color:#fff !important; font-weight:800; justify-content:center; margin-bottom:4px; }
.tyk-dd-menu a.tyk-acc-primary svg{ color:#fff; }
@media (max-width:1023px){
  .tyk-dd-menu{ min-width:0 !important; }
  .tyk-account-btn.is-logged{ border:0 !important; padding:0 !important; border-radius:0 !important; background:none !important; }
  .tyk-acc-card{ border:1px solid var(--tyk-h-line); border-radius:12px; margin:4px 0 8px; padding:12px !important; }
}

/* ===== Recherche ===== */
.tyk-search-mobile{ display:none; }
@media (max-width:1023px){
  .tyk-search-mobile{
    display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:10px;
    border:1px solid var(--tyk-h-line); background:#fff; color:var(--tyk-h-ink); cursor:pointer; flex:none; margin-left:auto;
  }
  .tyk-fav-mobile{ margin-left:0 !important; }
}
.tyk-btn[data-search-open]{ font:inherit; font-weight:800; cursor:pointer; }
.tyk-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.tyk-search{
  position:fixed; inset:0; z-index:1500; background:rgba(16,24,32,.5);
  display:flex; justify-content:center; align-items:flex-start; padding:0;
  font-family:var(--font-body,'Public Sans','Segoe UI',Arial,sans-serif);
}
.tyk-search[hidden]{ display:none; }
html.tyk-search-open,html.tyk-search-open body{ overflow:hidden; }
.tyk-search-panel{
  width:100%; max-height:100%; overflow-y:auto; background:#fffefb; box-sizing:border-box;
  padding:14px 16px 24px; box-shadow:0 24px 60px -20px rgba(16,24,32,.45);
}
.tyk-search-form{
  display:flex; align-items:center; gap:10px; padding:4px 6px 4px 14px; border:2px solid #0d8b73; border-radius:12px; background:#fff;
  color:#0b6c58;
}
.tyk-search-form input{
  flex:1; min-width:0; min-height:52px; border:0; outline:0; background:none; font:inherit; font-size:1.1rem; color:#1b2430;
}
.tyk-search-form input::-webkit-search-cancel-button{ cursor:pointer; }
/* Le cadre du formulaire porte le focus (pas de second contour dans le champ) */
.tyk-search .tyk-search-form input:focus-visible{ outline:none; }
.tyk-search-form:focus-within{ box-shadow:0 0 0 4px rgba(199,174,51,.35); }
.tyk-search-close{ min-height:44px; padding:0 12px; border:0; border-radius:8px; background:#eef8f5; color:#0b6c58; font:inherit; font-weight:700; cursor:pointer; }
.tyk-search-chips{ display:flex; gap:8px; overflow-x:auto; padding:12px 0 4px; scrollbar-width:none; }
.tyk-search-chips::-webkit-scrollbar{ display:none; }
.tyk-search-chips button{
  flex:none; min-height:40px; padding:0 14px; border-radius:999px; border:1px solid #cfe0db; background:#fff; color:#1b2430;
  font:inherit; font-size:.9rem; font-weight:600; cursor:pointer;
}
.tyk-search-chips button:hover{ border-color:#0d8b73; color:#0b6c58; }
.tyk-search-results{ margin-top:10px; }
.tyk-sr-hint{ margin:14px 4px; color:#5b6870; font-size:.95rem; text-align:left; }
.tyk-sr-count{ margin:14px 4px 8px; font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#0d8b73; text-align:left; }
.tyk-sr-cats{ display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.tyk-sr-cats a{
  display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:0 16px; border-radius:10px;
  background:linear-gradient(110deg,#0b6c58,#14a892); color:#fff; font-weight:800; text-decoration:none;
}
.tyk-sr-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.tyk-sr-item{
  display:grid; grid-template-columns:64px 1fr; gap:12px; align-items:center; padding:8px; border-radius:12px;
  background:#fff; border:1px solid #e4ece9; text-decoration:none; color:#1b2430;
}
.tyk-sr-item:hover,.tyk-sr-item:focus-visible{ border-color:#0d8b73; background:#f4faf8; outline:none; }
.tyk-sr-thumb{ width:64px; height:64px; border-radius:10px; overflow:hidden; background:#e8f7f3; display:block; position:relative; }
.tyk-sr-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.tyk-sr-thumb.is-empty::after{
  content:""; position:absolute; inset:16px; background:#0b6c58; opacity:.55;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6v10H3z'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6v10H3z'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.tyk-sr-body{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.tyk-sr-type{ font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#0d8b73; }
.tyk-sr-type em{ color:#b42318; font-style:normal; }
.tyk-sr-body strong{ font-family:var(--font-display,'Fraunces',Georgia,serif); font-size:1.05rem; font-weight:600; }
.tyk-sr-meta{ font-size:.8rem; color:#5b6870; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tyk-sr-rent{ grid-column:2; font-weight:800; color:#0d8b73; font-size:.9rem; }
.tyk-search :focus-visible{ outline:3px solid #c7ae33; outline-offset:2px; }
@media (min-width:768px){
  .tyk-search{ padding:90px 24px 24px; }
  .tyk-search-panel{ max-width:760px; max-height:calc(100vh - 120px); border-radius:18px; padding:20px 22px 24px; }
  .tyk-sr-item{ grid-template-columns:72px 1fr auto; padding:10px 14px 10px 10px; }
  .tyk-sr-thumb{ width:72px; height:72px; }
  .tyk-sr-rent{ grid-column:auto; font-size:1rem; }
  .tyk-sr-cats{ flex-direction:row; flex-wrap:wrap; }
}


/* ===== Aperçu des favoris au survol du cœur (ordinateur) ===== */
.tyk-fav-item{ position:relative; }
.tyk-fav-pop{
  position:absolute; top:calc(100% + 12px); right:-12px; z-index:1300; width:340px; box-sizing:border-box;
  background:#fff; border:1px solid var(--tyk-h-line); box-shadow:0 18px 40px -16px rgba(27,36,48,.35);
  padding:22px 22px 20px; color:var(--tyk-h-ink); font-size:.95rem; text-align:center;
}
.tyk-fav-pop::before{ content:""; position:absolute; top:-12px; left:0; right:0; height:12px; } /* pont pour la souris */
.tyk-fav-pop[hidden]{ display:none; }
.tyk-fp-empty{ display:flex; flex-direction:column; align-items:center; gap:10px; }
.tyk-fp-art{ color:#6b767d; }
.tyk-fp-kicker{ margin:0; font-size:.85rem; color:#7a8a93; text-align:center; }
.tyk-fav-pop p{ margin:0; line-height:1.55; text-align:center; }
.tyk-fp-cta{
  display:flex !important; align-items:center; justify-content:center; width:100%; min-height:52px; margin-top:8px;
  background:#1b2430 !important; color:#fff !important; border:0; border-radius:0 !important; cursor:pointer;
  font:inherit; font-size:.88rem !important; font-weight:600; letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
}
.tyk-fp-cta:hover{ background:#000 !important; }
.tyk-fp-head{ display:flex; justify-content:space-between; align-items:center; margin:0 0 12px !important; font-size:.82rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; text-align:left !important; }
.tyk-fp-head span{ font-size:.8rem; color:var(--tyk-h-soft); letter-spacing:0; }
.tyk-fp-list{ list-style:none; margin:0 !important; padding:0 !important; display:flex !important; flex-direction:column !important; gap:8px !important; text-align:left; }
.tyk-fp-item{ display:grid !important; grid-template-columns:56px 1fr; gap:12px; align-items:center; padding:6px !important; color:var(--tyk-h-ink) !important; }
.tyk-fp-item:hover{ background:#f4f7f6 !important; }
.tyk-fp-thumb{ width:56px; height:56px; overflow:hidden; background:#e8f7f3; display:block; }
.tyk-fp-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.tyk-fp-thumb.is-empty{ background:#e8f7f3 url("tykar.png") center/28px no-repeat; }
.tyk-fp-body{ display:flex; flex-direction:column; min-width:0; }
.tyk-fp-type{ font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--tyk-h-brand); }
.tyk-fp-body strong{ font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tyk-fp-rent{ font-size:.85rem; color:var(--tyk-h-soft); }
.tyk-fp-rent.is-off{ color:#b42318; }
.tyk-fp-loading{ color:var(--tyk-h-soft); }
@media (max-width:1023px){ .tyk-fav-pop{ display:none !important; } }


/* ===== Fenêtre des favoris : liste complète + panneau mobile ===== */
.tyk-fav-pop .tyk-fp-list{ max-height:min(56vh,420px); overflow-y:auto; }
.tyk-fp-row{ position:relative; list-style:none; }
.tyk-fp-row .tyk-fp-item{ padding-right:40px !important; }
.tyk-fp-type em{ font-style:normal; color:#b42318; }
.tyk-fp-remove{
  position:absolute; top:50%; right:4px; transform:translateY(-50%); width:36px; height:36px; border:0; border-radius:50%;
  background:transparent; color:#7a8a93; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
}
.tyk-fp-remove:hover{ background:#fdecec; color:#b42318; }
.tyk-fp-remove:focus-visible,.tyk-fp-cta:focus-visible,.tyk-fs-close:focus-visible{ outline:3px solid #c7ae33; outline-offset:2px; }
.tyk-fav-sheet{
  position:fixed; inset:0; z-index:1600; background:rgba(16,24,32,.5); display:flex; align-items:flex-end; justify-content:center;
  font-family:var(--font-body,'Public Sans','Segoe UI',Arial,sans-serif); color:#1b2430;
}
.tyk-fav-sheet[hidden]{ display:none; }
html.tyk-fs-lock,html.tyk-fs-lock body{ overflow:hidden; }
.tyk-fs-panel{
  position:relative; width:100%; max-height:86vh; overflow-y:auto; box-sizing:border-box; background:#fff;
  padding:22px 18px calc(18px + env(safe-area-inset-bottom)); text-align:center; animation:tykFsUp .25s ease;
}
@keyframes tykFsUp{ from{ transform:translateY(40px); opacity:0 } to{ transform:none; opacity:1 } }
.tyk-fs-close{ position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; border-radius:50%; background:#f1f4f4; color:#1b2430; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.tyk-fs-body{ text-align:left; }
.tyk-fs-body p{ margin:0; line-height:1.55; }
.tyk-fs-body .tyk-fp-empty p{ text-align:center; }
.tyk-fs-body .tyk-fp-head{ padding-right:48px; }
.tyk-fs-body .tyk-fp-list{ list-style:none; margin:0 0 6px; padding:0; display:flex; flex-direction:column; gap:6px; }
.tyk-fs-body .tyk-fp-item{ display:grid; grid-template-columns:64px 1fr; gap:12px; align-items:center; padding:6px; color:#1b2430; text-decoration:none; }
.tyk-fs-body .tyk-fp-thumb{ width:64px; height:64px; }
@media (min-width:640px){
  .tyk-fav-sheet{ align-items:center; padding:24px; }
  .tyk-fs-panel{ max-width:440px; }
}
@media (prefers-reduced-motion:reduce){ .tyk-fs-panel{ animation:none; } }


/* ===== Bouton de langue FR / EN ===== */
.tyk-lang{
  display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:32px; padding:0 10px; border:0; border-radius:4px;
  background:#1b2430; color:#fff; font:inherit; font-size:.8rem; font-weight:700; letter-spacing:.08em; cursor:pointer;
}
.tyk-lang:hover{ background:#000; }
.tyk-lang:focus-visible{ outline:3px solid #c7ae33; outline-offset:2px; }
@media (max-width:1023px){
  .tyk-util .tyk-lang-item{ order:-1; border-bottom:0 !important; padding:4px 0 10px !important; }
  .tyk-lang{ height:44px; min-width:64px; font-size:.9rem; }
}

/* Tiroir mobile : tout aligné à gauche (les règles globales d'accueil.css centrent les listes) */
@media (max-width:1023px){
  .tyk-h-right,.tyk-h-right li{ text-align:left; }
  .tyk-main a{ justify-content:flex-start !important; }
  .tyk-main li{ width:100%; }
  .tyk-account-btn .tyk-account-label{ flex:1; text-align:left; }
}

/* Fenêtre favoris : lien secondaire (visiteur) */
.tyk-fp-alt{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:2px; color:#0b6c58 !important; font-weight:600; text-decoration:underline !important; }

/* ===== Mon compte › Mes favoris : cartes en grille (même contenu que la fenêtre du bandeau) ===== */
.acc-favs .tyk-fp-head{ display:none; }
.acc-favs .tyk-fp-list{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:18px !important; margin:8px 0 22px !important; }
.acc-favs .tyk-fp-row{ border:1px solid #e3e7ea; border-radius:12px; overflow:hidden; background:#fff; transition:box-shadow .2s, transform .2s; }
.acc-favs .tyk-fp-row:hover{ box-shadow:0 14px 26px -18px rgba(15,30,45,.45); transform:translateY(-2px); }
.acc-favs .tyk-fp-item{ display:flex !important; flex-direction:column; align-items:stretch; gap:0; padding:0 !important; text-decoration:none !important; }
.acc-favs .tyk-fp-item:hover{ background:none !important; }
.acc-favs .tyk-fp-thumb{ width:100% !important; height:auto !important; aspect-ratio:4/3; border-radius:0 !important; }
.acc-favs .tyk-fp-thumb img{ width:100%; height:100%; object-fit:cover; }
.acc-favs .tyk-fp-body{ padding:12px 14px 14px; gap:3px; }
.acc-favs .tyk-fp-body strong{ font-size:1.02rem; }
.acc-favs .tyk-fp-remove{ top:10px !important; right:10px !important; bottom:auto !important; transform:none !important; margin:0 !important; background:rgba(255,255,255,.92) !important; box-shadow:0 2px 8px rgba(0,0,0,.15); }
.acc-favs .tyk-fp-cta{ width:auto !important; display:inline-flex !important; padding:0 26px; }
.acc-favs .tyk-fp-empty{ padding:36px 16px; border:1px dashed #cfd6db; border-radius:12px; text-align:center; }
@media (max-width:520px){ .acc-favs .tyk-fp-list{ grid-template-columns:1fr 1fr; gap:12px !important; } .acc-favs .tyk-fp-body{ padding:10px; } .acc-favs .tyk-fp-body strong{ font-size:.92rem; } }
