:root{
  --etg-red:#c1272d;
  --etg-red-dark:#8f1c21;
  --etg-dark:#171a1f;
  --etg-dark-2:#20242b;
  --etg-cream:#f7f5f2;
  --etg-gray:#6c727a;
  --etg-radius:14px;
}

body{
  font-family:'Inter',sans-serif;
  color:#2c2f33;
  background:#fff;
}
h1,h2,h3,h4,h5,h6,.brand-font{
  font-family:'Poppins',sans-serif;
  font-weight:700;
}

a{text-decoration:none;}
.text-etg{color:var(--etg-red)!important;}
.bg-etg{background:var(--etg-red)!important;}
.bg-etg-dark{background:var(--etg-dark)!important;}
.btn-etg{
  background:var(--etg-red);
  border:none;
  color:#fff;
  padding:.75rem 1.75rem;
  border-radius:50px;
  font-weight:600;
  letter-spacing:.03em;
  transition:.25s;
}
.btn-etg:hover{background:var(--etg-red-dark);color:#fff;transform:translateY(-2px);}
.btn-outline-etg{
  border:2px solid #fff;
  color:#fff;
  padding:.7rem 1.7rem;
  border-radius:50px;
  font-weight:600;
}
.btn-outline-etg:hover{background:#fff;color:var(--etg-dark);}

/* Topbar */
.topbar{background:var(--etg-dark);color:#cfd3d8;font-size:.9rem;}
.topbar a{color:#cfd3d8;}
.topbar .icon-link{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);border-radius:8px;margin-right:.4rem;color:#fff;
}
.topbar .icon-link:hover{background:var(--etg-red);}

/* Navbar */
.navbar-etg{background:var(--etg-dark-2);}
.navbar-etg .navbar-brand{color:#fff;font-size:1.4rem;letter-spacing:.05em;}
.navbar-etg .navbar-brand span{color:var(--etg-red);}
.navbar-etg .nav-link{color:#e7e7e9!important;font-weight:600;font-size:.92rem;text-transform:uppercase;letter-spacing:.03em;padding:1.3rem 1rem!important;}
.navbar-etg .nav-link:hover,.navbar-etg .nav-link.active{color:var(--etg-red)!important;}
.navbar-etg .dropdown-menu{border:none;border-radius:10px;}

/* Hero */
/* (ancien bandeau .hero remplacé par .hero-fallback / .hero-slider ci-dessus) */

/* Hero slider (images défilantes) */
.hero-slider .carousel-item{position:relative;background:var(--etg-dark);}
.hero-slide-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,17,20,.35),rgba(15,17,20,.6));
}
.hero-slide-caption{
  position:absolute;left:0;right:0;bottom:0;top:0;
  display:flex;align-items:center;color:#fff;pointer-events:none;
}
.hero-slide-caption .container{pointer-events:auto;}
.hero-slide-title{font-size:2.6rem;text-shadow:0 2px 18px rgba(0,0,0,.45);}
.hero-slider .carousel-control-prev,.hero-slider .carousel-control-next{width:5%;}
.hero-slider .carousel-indicators{margin-bottom:1.5rem;}
.hero-static-caption{position:absolute;inset:0;display:flex;align-items:center;}

/* Bandeau d'accueil clair (par défaut, tant qu'aucune photo "Slider" n'est ajoutée) */
.hero-fallback{
  background:linear-gradient(135deg,#fff6f6 0%,#fdeaea 55%,#fbe0e1 100%);
  padding:6rem 0 5rem;position:relative;overflow:hidden;
}
.hero-fallback::after{
  content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;
  border-radius:50%;background:radial-gradient(circle, rgba(193,39,45,.12), transparent 70%);
}
.hero-fallback h1{color:var(--etg-dark);}
.hero-fallback .lead{color:#555;}
.hero-fallback small{color:var(--etg-red);}

/* Logo dans la navbar */
.navbar-etg .navbar-brand img{max-height:46px;width:auto;}

/* Page header */
.page-header{
  background:linear-gradient(120deg,var(--etg-dark),var(--etg-red-dark));
  color:#fff;padding:4.5rem 0 3rem;
}

/* Sections */
.section{padding:5rem 0;}
.section-title small{color:var(--etg-red);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;}

/* Cards */
.card-etg{
  border:none;border-radius:var(--etg-radius);overflow:hidden;
  box-shadow:0 10px 30px rgba(23,26,31,.08);transition:.25s;height:100%;
}
.card-etg:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(23,26,31,.14);}
.card-etg img{height:220px;width:100%;object-fit:cover;}
.card-etg .card-body{padding:1.6rem;}

.icon-box{
  width:60px;height:60px;border-radius:50%;background:var(--etg-red);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;
}

.stat-box{background:#fff;color:var(--etg-dark);border-radius:var(--etg-radius);padding:2rem;text-align:center;box-shadow:0 10px 30px rgba(23,26,31,.08);border:1px solid #f1e5e5;}
.stat-box .num{font-size:2.4rem;font-weight:800;color:var(--etg-red);}

/* Gallery */
.gallery-item{border-radius:var(--etg-radius);overflow:hidden;position:relative;}
.gallery-item img{width:100%;height:230px;object-fit:cover;transition:.3s;}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-item .overlay{
  position:absolute;inset:0;background:rgba(193,39,45,.75);opacity:0;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;transition:.3s;
}
.gallery-item:hover .overlay{opacity:1;}

/* Footer */
.footer-etg{background:var(--etg-dark);color:#c7c9cc;}
.footer-etg h5{color:#fff;}
.footer-etg a{color:#c7c9cc;}
.footer-etg a:hover{color:var(--etg-red);}
.footer-bottom{background:var(--etg-red-dark);color:#fff;font-size:.9rem;}

/* Back to top */
.back-to-top{
  position:fixed;bottom:25px;right:25px;width:48px;height:48px;border-radius:50%;
  background:var(--etg-red);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:99;
}

/* Admin panel */
.admin-sidebar{background:var(--etg-dark);min-height:100vh;color:#e7e7e9;}
.admin-sidebar a{color:#c7c9cc;display:block;padding:.7rem 1.2rem;border-radius:8px;font-weight:600;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--etg-red);color:#fff;}
.admin-topbar{background:#fff;border-bottom:1px solid #eee;}
.stat-card{border-radius:var(--etg-radius);border:none;box-shadow:0 6px 18px rgba(0,0,0,.06);padding:1.5rem;}
