/*
Theme Name:   Sinistres Solutions
Theme URI:    https://sinistres-solutions.fr
Description:  Thème enfant de Hello Elementor pour Sinistres Solutions — une entreprise du Groupe Bernollin. Couleurs, typographie, en-tête et pied de page de la charte graphique.
Author:       Groupe Bernollin
Template:     hello-elementor
Version:      1.0.0
Text Domain:  sinistres-solutions
*/

/* ---------- Polices hébergées localement (RGPD) ---------- */
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 300; font-display: swap; src: url('assets/fonts/barlow-semi-condensed-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/barlow-semi-condensed-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/barlow-semi-condensed-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fonts/barlow-semi-condensed-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/barlow-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/barlow-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/barlow-latin-600-normal.woff2') format('woff2'); }

/* ---------- Couleurs de la charte ---------- */
:root {
  --ss-nuit: #1F2933;
  --ss-nuit-2: #36424D;
  --ss-eau: #2F7DB3;
  --ss-lien: #1F6699;
  --ss-feu: #E0662B;
  --ss-orange: #C4511C;
  --ss-texte: #3A4552;
  --ss-gris: #5A6472;
  --ss-bordure: #E3E6EA;
  --ss-bleu-doux: #EAF2F8;
  --ss-sable: #FBF3EC;
  --ss-titres: 'Barlow Semi Condensed', 'Arial Narrow', sans-serif;
  --ss-texte-police: 'Barlow', Arial, sans-serif;
}

body {
  margin: 0;
  font-family: var(--ss-texte-police);
  color: var(--ss-nuit);
  background: #FFFFFF;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--ss-titres); color: inherit; }
a { color: var(--ss-lien); }
a:hover, a:focus { color: #174E75; }
img { max-width: 100%; height: auto; }

.ss-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ss-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px; border-radius: 4px; font-family: var(--ss-texte-police); font-weight: 600; font-size: 16px; text-decoration: none; line-height: 1.2; box-sizing: border-box; }
.ss-btn--orange { background: var(--ss-orange); color: #FFFFFF; }
.ss-btn--orange:hover, .ss-btn--orange:focus { background: #A94315; color: #FFFFFF; }
.ss-btn--nuit { background: var(--ss-nuit); color: #FFFFFF; }
.ss-btn--nuit:hover, .ss-btn--nuit:focus { background: #111820; color: #FFFFFF; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Bandeau d'urgence ---------- */
.ss-topbar { background: var(--ss-nuit); color: #FFFFFF; font-size: 15px; }
.ss-topbar .ss-wrap { max-width: 1320px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding-top: 10px; padding-bottom: 10px; }
.ss-topbar a { color: #FFFFFF; font-weight: 600; text-decoration: none; }

/* ---------- En-tête ---------- */
.ss-header { background: #FFFFFF; border-bottom: 1px solid var(--ss-bordure); position: relative; z-index: 50; }
.ss-header .ss-wrap { max-width: 1320px; display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; padding-top: 14px; padding-bottom: 14px; }
.ss-header__logo img { display: block; width: 210px; height: auto; }
.ss-nav { display: flex; align-items: center; gap: 22px; }
.ss-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; align-items: center; gap: 6px 20px; }
.ss-nav li { margin: 0; }
.ss-nav a { color: var(--ss-nuit); font-weight: 500; font-size: 15px; text-decoration: none; padding: 6px 0; display: inline-block; white-space: nowrap; }
.ss-nav a.ss-btn, .ss-nav a.ss-btn:hover, .ss-nav a.ss-btn:focus { color: #FFFFFF; padding: 11px 18px; box-shadow: none; border: 0; font-family: var(--ss-texte-police); font-size: 15px; white-space: nowrap; }
.ss-nav a:hover, .ss-nav a:focus { color: var(--ss-orange); }
.ss-nav .current-menu-item > a, .ss-nav .current_page_item > a { color: var(--ss-orange); box-shadow: inset 0 -2px 0 var(--ss-orange); }
.ss-burger { display: none; width: 44px; height: 44px; border: 0; border-radius: 6px; background: var(--ss-nuit); color: #FFFFFF; cursor: pointer; align-items: center; justify-content: center; padding: 0; }
.ss-burger svg { width: 22px; height: 22px; }

/* ---------- Pied de page ---------- */
.ss-footer { background: var(--ss-nuit); color: #D5D9DF; border-top: 4px solid var(--ss-orange); font-size: 15px; }
.ss-footer__cols { display: flex; flex-wrap: wrap; gap: 40px 56px; padding-top: 64px; padding-bottom: 40px; }
.ss-footer__col { flex: 1 1 180px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ss-footer__col--brand { flex: 1 1 300px; gap: 16px; }
.ss-footer__col--contact { flex: 1 1 240px; }
.ss-footer__col img { width: 240px; height: auto; }
.ss-footer__title { font-family: var(--ss-titres); font-size: 18px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #FFFFFF; margin: 0; }
.ss-footer a { color: #D5D9DF; text-decoration: none; }
.ss-footer a:hover, .ss-footer a:focus { color: #FFFFFF; text-decoration: underline; }
.ss-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ss-footer__tel { font-family: var(--ss-titres); font-size: 28px; font-weight: 700; color: #FFFFFF !important; }
.ss-footer p { margin: 0; line-height: 1.7; }
.ss-footer__bottom { border-top: 1px solid var(--ss-nuit-2); }
.ss-footer__bottom .ss-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 20px; padding-bottom: 20px; font-size: 14px; color: #B8BEC6; }
.ss-footer__bottom ul { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; }
.ss-footer__bottom a { color: #B8BEC6; }

/* ---------- Barre d'appel fixe sur téléphone ---------- */
.ss-callbar { display: none; }

@media (max-width: 1279px) {
  .ss-burger { display: inline-flex; }
  .ss-nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--ss-nuit); flex-direction: column; align-items: stretch; padding: 8px 20px 24px; display: none; box-shadow: 0 12px 24px rgba(0,0,0,.2); }
  .ss-nav.is-open { display: flex; }
  .ss-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .ss-nav a { color: #FFFFFF; font-family: var(--ss-titres); font-size: 24px; font-weight: 600; padding: 12px 0; border-bottom: 1px solid var(--ss-nuit-2); display: block; }
  .ss-nav .current-menu-item > a { color: #F59A68; box-shadow: none; }
  .ss-nav a.ss-btn { margin-top: 16px; font-size: 18px; padding: 14px 20px; text-align: center; justify-content: center; display: flex; }
  .ss-header__logo img { width: 190px; }
}

@media (max-width: 767px) {
  .ss-topbar { font-size: 13px; text-align: center; }
  .ss-topbar .ss-wrap { justify-content: center; }
  .ss-topbar__texte { display: none; }
  .ss-callbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #FFFFFF; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 20px rgba(0,0,0,.18); }
  .ss-callbar .ss-btn { min-height: 50px; font-size: 15px; padding: 10px 12px; text-align: center; }
  body { padding-bottom: 78px; }
}
