/*
 * themeCig — theme-custom.css
 * Styles additionnels non couverts par le style.css principal
 */

/* ── Filtres pilules (blog / réalisations) ── */
.rfl {
    font-size:    12.5px !important;
    font-family:  system-ui, sans-serif !important;
    font-weight:  500 !important;
    padding:      7px 18px !important;
    border-radius:40px !important;
    cursor:       pointer !important;
    border:       1px solid var(--tc-border) !important;
    background:   transparent !important;
    color:        var(--tc-muted) !important;
    transition:   all .18s !important;
    text-decoration: none !important;
    display:      inline-block !important;
}
.rfl:hover {
    border-color: var(--tc-brown-light) !important;
    color:        var(--tc-brown) !important;
}
.rfl.active, .rfl.current-cat {
    background:  var(--tc-brown) !important;
    color:       var(--tc-ivory) !important;
    border-color:var(--tc-brown) !important;
}

/* ── Pagination liste Bootstrap → pilules ── */
.pagination {
    display:    flex !important;
    gap:        4px !important;
    flex-wrap:  wrap !important;
    list-style: none !important;
    padding:    0 !important;
    margin:     0 !important;
}

/* ── Loader / transition de page ── */
body.is-loading { opacity: 0; transition: opacity .3s; }
body.loaded     { opacity: 1; }

/* ── btn-gradient dans la navbar — taille adaptée ── */
.navbar .btn-gradient {
  font-size:   13px !important;
  padding:     9px 22px !important;
  box-shadow:  0 3px 14px rgba(66,89,105,0.22) !important;
}

.site-footer .custom-logo { filter: brightness(0) invert(1); opacity: .85; max-height: 48px; width: auto; }

/* ── Lien de catégorie actif dans archive ── */
.tc-cat-filters .rfl { display: inline-block !important; }

/* ── Rev Slider wrapper ── */
.tc-rev-slider-wrap {
    width:    100% !important;
    overflow: hidden !important;
}

/* ── Contenu de page : max-width centré ── */
.tc-page-content .wp-block-group,
.tc-page-content > * {
    max-width: 1140px;
    margin-left:  auto;
    margin-right: auto;
}

/* ── Image featured article ── */
.tc-article-card .tc-article-thumb {
    position: relative !important;
    display:  block !important;
    overflow: hidden !important;
}

/* ── Flip logo au hover ── */
.custom-logo,
.navbar-brand img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.navbar-brand:hover .custom-logo,
.navbar-brand:hover img {
  transform: rotateY(180deg) !important;
}

/* ============================================================
   CARROUSEL CLIENTS FLÈCHES [tc_clients_slider]
   ============================================================ */
.tc-slider-wrap {
  display:         flex !important;
  align-items:     center !important;
  gap:             12px !important;
  width:           100% !important;
  padding:         40px 20px !important;
  background:      var(--tc-beige) !important;
  box-sizing:      border-box !important;
}
.tc-sl-viewport {
  flex:     1 !important;
  overflow: hidden !important;
  position: relative !important;
}
.tc-sl-track {
  display:    flex !important;
  transition: transform 0.45s cubic-bezier(0.22,0.68,0,1.2) !important;
}
.tc-sl-item,
a.tc-sl-item {
  flex:            0 0 25% !important;
  width:           25% !important;
  display:         flex !important;
  flex-direction:  column !important;
  align-items:     center !important;
  justify-content: center !important;
  gap:             10px !important;
  padding:         16px 12px !important;
  text-decoration: none !important;
  cursor:          pointer !important;
  transition:      transform 0.2s !important;
}
a.tc-sl-item:hover { transform: translateY(-3px) !important; }

.tc-sl-thumb {
  width:           320px !important;
  height:          240px !important;
  background:      var(--tc-white) !important;
  border:          1px solid var(--tc-border) !important;
  border-radius:   10px !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  overflow:        hidden !important;
  transition:      border-color 0.2s, box-shadow 0.2s !important;
}
a.tc-sl-item:hover .tc-sl-thumb {
  border-color: var(--tc-brown-light) !important;
  box-shadow:   0 8px 24px rgba(66,89,105,0.12) !important;
}
.tc-sl-thumb img {
  width:      100% !important;
  height:     100% !important;
  object-fit: contain !important;
  padding:    12px !important;
}
.tc-sl-initials {
  font-size:   22px !important;
  font-weight: 700 !important;
  font-family: 'Georgia', serif !important;
  color:       var(--tc-brown-mid) !important;
}
.tc-sl-name {
  font-size:   12px !important;
  font-weight: 600 !important;
  font-family: system-ui, sans-serif !important;
  color:       var(--tc-muted) !important;
  text-align:  center !important;
  max-width:   140px !important;
  line-height: 1.4 !important;
}

/* Flèches */
.tc-sl-btn {
  flex-shrink:     0 !important;
  width:           44px !important;
  height:          44px !important;
  border-radius:   50% !important;
  background:      var(--tc-white) !important;
  border:          1px solid var(--tc-border) !important;
  color:           var(--tc-brown) !important;
  font-size:       18px !important;
  cursor:          pointer !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  transition:      background 0.18s, border-color 0.18s, transform 0.18s !important;
  z-index:         2 !important;
}
.tc-sl-btn:hover {
  background:   var(--tc-btn) !important;
  border-color: var(--tc-btn) !important;
  color:        #ffffff !important;
  transform:    scale(1.08) !important;
}

/* Responsive */
@media (max-width: 991px) {
  .tc-sl-item, a.tc-sl-item { flex: 0 0 50% !important; width: 50% !important; }
}
@media (max-width: 575px) {
  .tc-sl-item, a.tc-sl-item { flex: 0 0 100% !important; width: 100% !important; }
  .tc-sl-thumb { width: 140px !important; height: 90px !important; }
}