
/* Likes */
.sl-wrapper{display:inline-flex;align-items:center;gap:.35rem}
.sl-button{display:inline-flex;align-items:center;gap:.25rem;text-decoration:none!important}
.sl-button .sl-icon{display:inline-flex;line-height:0}
.sl-button.liked{color:var(--tp-accent,#f95b26)}
.sl-count{margin-left:.15rem}
#sl-loader .loader{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:tpChildSpin .65s linear infinite}
@keyframes tpChildSpin{to{transform:rotate(360deg)}}

/* Legacy [astuces] shortcode, scoped so it cannot alter the parent shell. */
.astuces{position:relative;clear:both;margin-bottom:15px;min-height:140px}
.astuces-name h3{margin:0;font-size:1rem;line-height:1.3}
.tooltip-div{margin-top:.5rem}
.tooltip{position:relative;display:inline-block;cursor:pointer}
.tooltip .tooltiptext{position:absolute;left:0;top:100%;z-index:30;width:min(320px,80vw);padding:.75rem 1rem;background:#111;color:#fff;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s}
.tooltip:hover .tooltiptext,.tooltip:focus-within .tooltiptext{opacity:1}

/* [astuces_grid] */
.tp-astuces-grid-special,.tp-astuces-grid-special *,.tp-astuces-grid-special *::before,.tp-astuces-grid-special *::after{box-sizing:border-box}
.tp-astuces-grid-special .tp-astuces-grid-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:24px!important;width:100%!important;margin:20px 0!important;padding:0!important}
.tp-astuces-grid-special .tp-grid-astuce-item{display:flex!important;flex-direction:column!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:16px!important;overflow:hidden!important;transition:transform .3s ease,box-shadow .3s ease!important}
.tp-astuces-grid-special .tp-grid-astuce-item:hover{transform:translateY(-5px)!important;box-shadow:0 20px 40px rgba(0,0,0,.09)!important}
.tp-astuces-grid-special .tp-grid-astuce-item__image-wrap{position:relative!important;aspect-ratio:16/10!important;background:#f5f5f5!important;overflow:hidden!important}
.tp-astuces-grid-special .tp-grid-astuce-item__thumbnail{width:100%!important;height:100%!important;object-fit:cover!important}
.tp-astuces-grid-special .tp-grid-astuce-item__placeholder{display:grid!important;place-items:center!important;height:100%!important}
.tp-astuces-grid-special .tp-grid-astuce-item__overlay{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;background:rgba(0,0,0,.42)!important;opacity:0!important;transition:opacity .2s!important}
.tp-astuces-grid-special .tp-grid-astuce-item:hover .tp-grid-astuce-item__overlay{opacity:1!important}
.tp-astuces-grid-special .tp-grid-astuce-item__button{padding:10px 18px!important;border:0!important;border-radius:999px!important;background:#fff!important;color:#111!important;font-weight:700!important;cursor:pointer!important}
.tp-astuces-grid-special .tp-grid-astuce-item__info{padding:18px!important}
.tp-astuces-grid-special .tp-grid-astuce-item__title{margin:0!important;font-size:1rem!important;line-height:1.4!important;color:#111!important}
.tp-grid-astuce-modal{position:fixed!important;inset:0!important;z-index:999999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important}
.tp-grid-astuce-modal[hidden]{display:none!important}
.tp-grid-astuce-modal__overlay{position:absolute!important;inset:0!important;background:rgba(0,0,0,.68)!important;backdrop-filter:blur(7px)!important}
.tp-grid-astuce-modal__box{position:relative!important;z-index:2!important;width:min(760px,100%)!important;max-height:85vh!important;display:flex!important;flex-direction:column!important;background:#0f172a!important;color:#f8fafc!important;border-radius:18px!important;overflow:hidden!important}
.tp-grid-astuce-modal__header,.tp-grid-astuce-modal__footer{padding:20px 24px!important;background:#1e293b!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.tp-grid-astuce-modal__content{padding:24px!important;overflow:auto!important}
.tp-grid-astuce-modal__content pre{margin:0!important;white-space:pre-wrap!important;word-break:break-word!important;background:transparent!important}
.tp-grid-astuce-modal__content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;color:#38bdf8!important}
.tp-grid-astuce-modal__close,.tp-grid-astuce-modal__copy{cursor:pointer!important}
.tp-grid-astuce-modal__close{width:36px!important;height:36px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.15)!important;background:transparent!important;color:#fff!important}
.tp-grid-astuce-modal__copy{padding:10px 16px!important;border:0!important;border-radius:8px!important;background:#38bdf8!important;color:#0f172a!important;font-weight:700!important}
body.tp-astuce-modal-open{overflow:hidden}

/* Business notice, intentionally neutral so the parent keeps visual control. */
.tp-child-license-notice{display:flex;gap:.75rem;align-items:flex-start;margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid rgba(249,91,38,.35);border-left:3px solid var(--tp-accent,#f95b26);border-radius:10px;background:rgba(249,91,38,.05)}
.tp-child-license-notice>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--tp-accent,#f95b26);color:#fff;font-weight:800;font-size:.8rem}
.tp-child-license-notice p{margin:0}

.tp-sitemap-list{display:grid;gap:2rem}
.tp-sitemap-list ul{margin:0;padding-left:1.2rem}

/* Formidable legacy field */
#frm_field_185_container select{appearance:auto}

/* Header WPML language switcher: FR page -> EN, EN page -> FR. */
.tp-language-switcher{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 13px;
  border:1px solid rgba(11,11,12,.16);
  border-radius:999px;
  background:transparent;
  color:inherit;
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease;
}
.tp-language-switcher:hover,
.tp-language-switcher:focus-visible{
  background:var(--tp-ink,#0b0b0c);
  border-color:var(--tp-ink,#0b0b0c);
  color:var(--tp-light,#f1f0eb);
  transform:translateY(-1px);
}
body.tp-menu-open .tp-language-switcher{
  color:var(--tp-light,#f1f0eb);
  border-color:rgba(255,255,255,.24);
}
body.tp-menu-open .tp-language-switcher:hover,
body.tp-menu-open .tp-language-switcher:focus-visible{
  background:var(--tp-light,#f1f0eb);
  border-color:var(--tp-light,#f1f0eb);
  color:var(--tp-dark,#0a0a0b);
}
@media(max-width:900px){
  .tp-language-switcher{min-height:42px;min-width:42px;padding:0 10px}
}
@media(max-width:620px){
  .tp-language-switcher{width:42px;height:42px;min-width:42px;padding:0}
}

/* Responsive WPML language control.
 * The child theme owns this control. Keep it as a real header action on mobile
 * instead of letting missing translations or generic span rules make it vanish.
 */
.tp-language-switcher__icon{
  display:inline-grid;
  place-items:center;
  width:17px;
  height:17px;
  flex:0 0 17px;
}
.tp-language-switcher__icon svg{
  display:block;
  width:17px;
  height:17px;
  overflow:visible;
}
.tp-language-switcher__label{
  display:inline-block;
}

@media(max-width:900px){
  .tp-header__actions .tp-language-switcher{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 44px!important;
    position:relative!important;
    z-index:6!important;
    border:1px solid rgba(11,11,12,.16)!important;
    border-radius:999px!important;
    overflow:visible!important;
  }
  .tp-header__actions .tp-language-switcher__label{
    display:none!important;
  }
  .tp-header__actions .tp-language-switcher__icon{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    width:19px!important;
    height:19px!important;
    flex-basis:19px!important;
  }
  .tp-header__actions .tp-language-switcher__icon svg{
    display:block!important;
    width:19px!important;
    height:19px!important;
  }
}

@media(max-width:620px){
  .tp-header__actions .tp-language-switcher{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    flex-basis:42px!important;
  }
}
