
/* =========================
   TOPBAR
========================= */


.tc-topbar {
  background:linear-gradient(135deg,#0f172a,#1b6cfb);
  color:#e5e7eb;
  font-size: 0.85rem;
  height: 40px;
  z-index: 1031; /* AU-DESSUS du navbar */
}

.tc-navbar {
  top: 40px; /* hauteur exacte du topbar */
  z-index: 1030;
}

/* INFOS */
.topbar-info span{
  display:flex;
  align-items:center;
  gap:6px;
  margin-right:18px;
  white-space:nowrap;
}

.topbar-info i{
  color:#fff;
  font-size:.9rem;
}

/* SOCIAL */
.topbar-social a{
  color:#fff;
  margin-left:14px;
  font-size:1rem;
  transition:.3s ease;
}

.topbar-social a:hover{
  color:#38bdf8;
  transform:translateY(-2px);
}

/* MOBILE */
@media (max-width:768px){
  .tc-topbar{
    text-align:center;
  }
  .topbar-info{
    justify-content:center;
    width:100%;
    margin-bottom:6px;
  }
    .tc-footer{
    text-align:center;
  }
  .footer-bottom{
    justify-content:center;
  }
  #decouvrirservice{
       margin-bottom:6px;
  }
}


/* =========================
   FOOTER
========================= */

.tc-footer{
  background: linear-gradient(135deg,#0f172a,#1b6cfb);
}

/* LIENS */
.tc-footer a{
  color:#fff;
  text-decoration:none;
  opacity:.85;
  transition:.3s ease;
}
.tc-footer a:hover{
  opacity:1;
  text-decoration:underline;
}

/* LISTES */
.footer-list li{
  margin-bottom:6px;
}

/* SOCIAL */
.footer-social a{
  opacity:.9;
}
.footer-social a:hover{
  opacity:1;
}

/* SÉPARATEUR */
.footer-separator{
  border-color:rgba(255,255,255,.2);
}

/* BAS FOOTER */
.footer-bottom{
  row-gap:10px;
}

/* LIENS DROITE */
.footer-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.footer-links span{
  opacity:.6;
}

/* SERVICES – VERSION COMPACTE */
.service-card{
  background:#fff;
  border-radius:14px;
  padding:20px !important;   /* réduit fortement */
  transition:all .3s ease;
}

.service-card i{
  font-size:2.2rem !important; /* icône plus discrète */
}

.service-card h5{
  font-size:1.05rem;
  margin-top:12px;
  margin-bottom:8px;
}

.service-card p{
  font-size:.9rem;
  line-height:1.4;
  margin-bottom:0;
}

.service-card:hover{
  transform:translateY(-4px);
}

/* PARTENAIRES */
.partner-logo{
  font-size:3rem;
  color:#9ca3af;
  transition:.3s;
}

.partner-logo:hover{
  color:#2563eb;
  transform:scale(1.1);
}


/* ===================== SIDEBAR INFO ===================== */
.tc-sidebar{
  position:sticky;
  top:130px;
}

/* Box */
.sidebar-box{
  background:#fff;
  border-radius:14px;
  padding:18px;
  margin-bottom:20px;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}

/* Titres */
.sidebar-title{
  font-size:.95rem;
  font-weight:600;
  margin-bottom:12px;
  color:#0f172a;
  display:flex;
  align-items:center;
}

/* NEWS */
.sidebar-news{
  list-style:none;
  padding:0;
  margin:0;
}
.sidebar-news li{
  margin-bottom:12px;
}
.sidebar-news a{
  display:block;
  font-size:.9rem;
  color:#334155;
  text-decoration:none;
}
.sidebar-news a:hover{
  color:#2563eb;
}
.news-date{
  display:block;
  font-size:.75rem;
  color:#94a3b8;
  margin-bottom:2px;
}

/* LIENS */
.sidebar-links{
  list-style:none;
  padding:0;
  margin:0;
}
.sidebar-links li{
  margin-bottom:8px;
}
.sidebar-links a{
  font-size:.9rem;
  color:#334155;
  text-decoration:none;
}
.sidebar-links a:hover{
  color:#2563eb;
}

/* SOCIAL */
.sidebar-social{
  display:flex;
  gap:12px;
}
.sidebar-social a{
  width:36px;
  height:36px;
  border-radius:50%;
  background:#f1f5f9;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#2563eb;
  transition:.3s;
}
.sidebar-social a:hover{
  background:#2563eb;
  color:#fff;
}

/* MOBILE */
@media(max-width:992px){
  .tc-sidebar{
    position:static;
  }
}

/* ===================== TITRES AVEC BARRES ===================== */
.sidebar-title{
  position:relative;
  padding-left:14px;
  font-size:.95rem;
  font-weight:600;
  margin-bottom:14px;
  color:#0f172a;
}

.sidebar-title::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  width:4px;
  height:18px;
  border-radius:4px;
}

/* Variantes de couleur */
.accent-primary::before{ background:#2563eb; }
.accent-secondary::before{ background:#22c55e; }
.accent-info::before{ background:#38bdf8; }

.sidebar-news a{
  color:#1e40af;              /* bleu professionnel */
  font-weight:500;
}
.sidebar-news a:hover{
  color:#2563eb;
  text-decoration:underline;
}

.sidebar-links a{
  color:#0f172a;
  font-weight:500;
  transition:.3s;
}
.sidebar-links a:hover{
  color:#2563eb;
  padding-left:4px;
}

.sidebar-links a{
  color:#0f172a;
  font-weight:500;
  transition:.3s;
}
.sidebar-links a:hover{
  color:#2563eb;
  padding-left:4px;
}

/* WHY */
.why-card{
  background:#fff;
  padding:25px;
  border-radius:16px;
  text-align:center;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}
.why-card i{
  font-size:2rem;
  color:#2563eb;
  margin-bottom:10px;
}

/* SERVICES */
.service-card{
  background:#fff;
  padding:30px;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.05);
  height:100%;
}
.service-icon{
  width:55px;
  height:55px;
  border-radius:50%;
  background:#eff6ff;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:15px;
}
.service-icon i{
  color:#2563eb;
}

/* PROCESS */
.process-step i{
  font-size:2rem;
  color:#2563eb;
  margin-bottom:10px;
}

/* ABOUT CARDS */
.tc-about-card{
  background:#fff;
  padding:30px;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.05);
  height:100%;
}
.tc-about-card h5{
  font-weight:600;
}
.tc-about-card p{
  color:#475569;
  font-size:.95rem;
}

/* ICONS */
.tc-icon{
  font-size:2rem;
  color:#2563eb;
  margin-bottom:12px;
}

/* GALLERY */
.tc-gallery-img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}

/* SOCIAL */
.tc-about-social a{
  color:#2563eb;
  transition:.3s;
}
.tc-about-social a:hover{
  color:#1e40af;
}

/* ================= TESTIMONIALS ================= */

.testimonial-card{
  background:#fff;
  border-radius:22px;
  padding:40px;
  max-width:750px;
  box-shadow:0 15px 40px rgba(0,0,0,.08);
  position:relative;
}

.testimonial-quote{
  font-size:3rem;
  color:#2563eb;
  position:absolute;
  top:25px;
  right:30px;
  opacity:.15;
}

.testimonial-text{
  font-size:1.05rem;
  color:#334155;
  line-height:1.7;
  margin-bottom:30px;
}

.testimonial-author{
  display:flex;
  align-items:center;
  gap:15px;
}

.testimonial-author img{
  width:60px;
  height:60px;
  border-radius:50%;
  object-fit:cover;
}

.testimonial-author h6{
  font-weight:600;
}

.testimonial-author small{
  color:#64748b;
}

/* ================= SOCIAL ================= */

.social-link{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  transition:.3s;
}

.social-link.facebook{ background:#1877f2; }
.social-link.twitter{ background:#1da1f2; }
.social-link.instagram{ background:#e1306c; }
.social-link.linkedin{ background:#0077b5; }

.social-link:hover{
  transform:translateY(-4px);
  opacity:.9;
}


/* ================= PARTNERS ================= */

.partner-value{
  background:#fff;
  padding:30px 20px;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  transition:.3s;
}

.partner-value:hover{
  transform:translateY(-6px);
}


.partner-logo img{
  filter:grayscale(100%);
  transition:.3s;
}

.partner-logo:hover img{
  filter:grayscale(0);
  transform:scale(1.05);
}

.partner-logo {
  font-size: 3rem;
  color: #adb5bd;
  transition: all .3s ease;
}

.partner-logo:hover {
  color: #0d6efd;
  transform: scale(1.15);
}


.accordion-button {
  font-weight: 600;
}

.accordion-button:not(.collapsed) {
  background-color: #f0f6ff;
  color: #0d6efd;
}

.accordion-item {
  border-bottom: 1px solid #eee;
}

.contact-box:hover {
  transform: translateY(-5px);
  transition: 0.3s ease;
}

.form-control:focus {
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.15);
}

.text-justify {
  text-align: justify !important;
}


/* ===== SERVICES ===== */

.service-card {
  padding: 2rem 1.5rem;
  border-radius: 12px;
  border-bottom: 4px solid transparent;
  transition: all 0.3s ease;
  background: #fff;
}

.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 1rem 2rem rgba(0,0,0,.12);
}

/* Border bottom colors */
.border-bottom-primary { border-bottom-color: #0d6efd; }
.border-bottom-success { border-bottom-color: #198754; }
.border-bottom-warning { border-bottom-color: #ffc107; }
.border-bottom-danger { border-bottom-color: #dc3545; }
.border-bottom-secondary { border-bottom-color: #6c757d; }

/* Icône cercle */
.service-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}


.service-detail-card {
border-left: 5px solid #0d6efd;
}

.service-img {
object-fit: cover;
object-position: top;
}

.service-title i {
font-size: 1.6rem;
}

.service-intro {
text-align: left;
color: #555;
}

.service-list {
padding-left: 1.2rem;
}

.service-list li {
margin-bottom: 0.5rem;
list-style: disc;
}

.accordion-button {
font-weight: 600;
}


/* =====================================
   CORRECTION h-100 SUR IMAGES SERVICES
   ===================================== */

/* Annule l’effet de h-100 */
.service-img {
  height: auto !important;
  max-height: 180px;
  width: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}

/* Colonne image verrouillée */
.service-card .col-md-4 {
  max-height: 180px;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
}

/* Mobile */
@media (max-width: 768px) {
  .service-img {
    max-height: 120px;
  }

  .service-card .col-md-4 {
    max-height: 120px;
  }
}

.contact-info-card {
  background: #fff;
  padding: 30px;
  border-radius: 12px;
}

.contact-info-card i {
  font-size: 2rem;
  color: #0d6efd;
  margin-bottom: 10px;
}

.service-highlight {
  border: 2px solid #0d6efd;
  box-shadow: 0 0 25px rgba(13, 110, 253, 0.35);
  transition: all 0.4s ease-in-out;
}


.contact-hero {
  background: none !important;
  background-color: #ffffff !important;
  border-bottom: 1px solid #e9ecef;
}

.partner-logo {
  font-size: 60px;
  color: #b0b0b0;
}

.partner-logo-img {
  height: 60px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.7;
}

.partner-logo,
.partner-logo-img {
  filter: grayscale(100%);
  opacity: 0.7;
  transition: all 0.3s ease;
  display: inline-block;
}

.partner-logo:hover,
.partner-logo-img:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.1);
}

.hero-faq {
  min-height: 60vh;
  background: 
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url('/assets/images/faqs.jpg');
}

.navbar-spacer {
  height: 88px; 
}


