@charset "UTF-8";
/* CSS Document */ :root {
  --primary: #e76127;
  --dark: #000000;
  --grey: #555555;
}
body {
  font-family: 'Montserrat', sans-serif;
  color: var(--grey);
  margin: 0;
  padding: 0;
}
h1, h2, h3, .nav-link {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
}
/* Header & Nav */
.main-header {
  background: #fff;
  border-bottom: 4px solid var(--primary);
}
.logo h1 {
  color: var(--dark);
  font-weight: bold;
  font-size: 24px;
}
.logo h1 span {
  color: var(--primary);
}
.nav-link {
  color: var(--dark) !important;
  font-weight: 600;
  padding: 15px 20px !important;
  transition: 0.3s;
}
.nav-link:hover, .nav-link.active {
  color: var(--primary) !important;
}
/* Bouton Mobile Spécifique (Contrainte 5) */
.btn-call-mobile {
  display: inline-block;
  background: var(--primary);
  color: #fff;
  padding: 12px 25px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  margin: 10px 0;
  box-shadow: 0 4px 15px rgba(231, 97, 39, 0.4);
}
/* Hero Section */
.hero-section {
  padding: 150px 0;
  color: #fff;
}
.cta-main {
  background: var(--primary);
  color: #fff;
  padding: 15px 35px;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%); /* Style premium */
  transition: 0.3s;
}
.cta-main:hover {
  background: #fff;
  color: var(--primary);
  transform: translateY(-3px);
}
/* Sections */
.section-title {
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 25px;
  color: var(--dark);
}
.section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: var(--primary);
}
.list-check {
  list-style: none;
  padding: 0;
}
.list-check li {
  margin-bottom: 10px;
  font-weight: 500;
}
.list-check i {
  color: var(--primary);
  margin-right: 10px;
}
.phone-link-header {
    background: var(--primary);
  color: white;
  text-decoration: none;
  padding: 10px;
  font-weight: bold;
}
/* Footer */
.footer {
  background: var(--dark);
  color: #ccc;
  padding: 40px 0;
}
.footer a {
       color: var(--primary);
  text-decoration: none; 
}
/* Styles pour les messages de retour */
.alert {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    text-align: center;
}
.alert-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
.alert-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}
/* Responsive */
@media (max-width: 768px) {
  .hero-section {
    padding: 80px 0;
  }
  .display-4 {
    font-size: 2rem;
  }
}