/* ===== STYLE GLOBAL ===== */
body,
#sb-timeline #steps,
.sb-widget,
.sb-main-container,
.sb-body {
  background: #f3f5f7 !important;
  font-family: Arial, sans-serif !important;
}

/* ===== HERO / IMAGE DU HAUT ===== */
.top-banner,
.hero-section,
.sb-widget .cover,
.sb-widget .hero,
.sb-widget .top {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 0 0 18px 18px !important;
}

.top-banner img,
.hero-section img,
.sb-widget .cover img,
.sb-widget .hero img,
.sb-widget .top img {
  filter: brightness(0.72) contrast(1.08) !important;
}

/* ===== GRAND TITRE ===== */
h1,
.sb-widget h1,
.top-banner h1,
.hero-section h1 {
  color: #ffffff !important;
  font-size: 66px !important;
  font-weight: 700 !important;
  text-shadow: 0 4px 20px rgba(0,0,0,0.45) !important;
  letter-spacing: 0.5px !important;
}

/* ===== BOUTONS CENTRAUX ===== */
.sb-btn,
button,
input[type="submit"],
a.sb-btn {
  background: linear-gradient(135deg, #1f2933, #4f6477) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: 14px 26px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.18) !important;
  transition: all 0.25s ease !important;
}

.sb-btn:hover,
button:hover,
input[type="submit"]:hover,
a.sb-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,0.24) !important;
}

/* ===== MENU HAUT ===== */
nav a,
.sb-top-menu a,
.top-nav a {
  color: #2d3136 !important;
  font-weight: 600 !important;
}

/* ===== GROS BLOC BLANC DU BAS ===== */
.sb-provider-info,
.sb-contact-info,
.company-info,
.provider-info,
.contact-info {
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(140,158,174,0.22) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 45px rgba(0,0,0,0.12) !important;
  padding: 42px !important;
  margin-top: 26px !important;
  margin-bottom: 0 !important;
}

/* ===== TITRES DU BLOC BAS ===== */
.sb-provider-info h2,
.sb-contact-info h2,
.company-info h2,
.provider-info h2,
.contact-info h2 {
  color: #70879b !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  margin-bottom: 18px !important;
}

/* ===== TEXTE DU BLOC BAS ===== */
.sb-provider-info p,
.sb-contact-info p,
.company-info p,
.provider-info p,
.contact-info p,
.sb-provider-info li,
.sb-contact-info li,
.company-info li {
  color: #2e3338 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
}

/* ===== HORAIRES ===== */
.sb-opening-hours,
.opening-hours,
.schedule,
.company-hours {
  background: linear-gradient(180deg, #f8fafb, #eef3f6) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  border: 1px solid rgba(112,135,155,0.14) !important;
}

/* ===== LIGNES HORAIRES ===== */
.sb-opening-hours li,
.opening-hours li,
.schedule li,
.company-hours li {
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(112,135,155,0.12) !important;
}

.sb-opening-hours li:last-child,
.opening-hours li:last-child,
.schedule li:last-child,
.company-hours li:last-child {
  border-bottom: none !important;
}

/* ===== LIENS CONTACT ===== */
.sb-provider-info a,
.sb-contact-info a,
.company-info a,
.provider-info a,
.contact-info a {
  color: #6d859b !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

/* ===== CARTE MAP ===== */
.sb-map,
.sb-map iframe,
.company-map iframe {
  border-radius: 0 0 22px 22px !important;
  overflow: hidden !important;
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  h1,
  .sb-widget h1,
  .top-banner h1,
  .hero-section h1 {
    font-size: 38px !important;
  }

  .sb-provider-info,
  .sb-contact-info,
  .company-info,
  .provider-info,
  .contact-info {
    padding: 24px !important;
    border-radius: 16px !important;
  }

  .sb-provider-info h2,
  .sb-contact-info h2,
  .company-info h2,
  .provider-info h2,
  .contact-info h2 {
    font-size: 34px !important;
  }

  .sb-provider-info p,
  .sb-contact-info p,
  .company-info p,
  .provider-info p,
  .contact-info p {
    font-size: 16px !important;
  }
}