/* Bloc « Votre revendeur <marque> en Occitanie » (build.py : bloc_local). Autonome : utilisé sur les pages du gabarit,
   la page Castellini 3D et la page Heka, qui ont chacune leurs propres styles. */
.local { --accent: #2b6fed; position: relative; z-index: 1; background: #070707; color: #f2f2f2; border-top: 1px solid rgba(255,255,255,.1);
  padding: 80px; font-family: inherit; line-height: 1.6; text-align: left; }
.local * { box-sizing: border-box; }
.local-surtitre { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); margin: 0 0 12px; }
.local h2 { font-size: clamp(30px, 3.6vw, 52px); font-weight: 800; line-height: 1.02; letter-spacing: -.02em; margin: 0 0 22px; max-width: 900px; color: #fff; }
.local-intro { font-size: 16px; font-weight: 300; color: #9a9a9a; max-width: 760px; margin: 0 0 48px; }
.local-intro strong { color: #e8e8e8; font-weight: 500; }
.local-services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); margin-bottom: 56px; }
.local-service { background: #0b0b0b; padding: 28px; }
.local-service h3 { font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 8px; color: #fff; }
.local-service p { font-size: 14px; font-weight: 300; color: #8a8a8a; margin: 0; }
.local-bas { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; }
.local h3.local-titre { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); margin: 0 0 18px; }
.local-zones { list-style: none; padding: 0; margin: 0; }
.local-zones li { display: flex; gap: 14px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.07); font-size: 14px; color: #bdbdbd; }
.local-zones b { flex: 0 0 150px; color: #fff; font-weight: 600; }
.local-faq details { border-bottom: 1px solid rgba(255,255,255,.08); padding: 14px 0; }
.local-faq summary { cursor: pointer; list-style: none; font-size: 15px; font-weight: 600; color: #fff; display: flex; justify-content: space-between; gap: 16px; }
.local-faq summary::-webkit-details-marker { display: none; }
.local-faq summary::after { content: "+"; color: var(--accent); font-weight: 400; font-size: 20px; line-height: 1; }
.local-faq details[open] summary::after { content: "−"; }
.local-faq details p { margin: 10px 0 2px; font-size: 14px; font-weight: 300; color: #8f8f8f; }
.local-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 40px; }
.local-actions a { display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px; font-size: 13px; font-weight: 600; text-decoration: none; }
.local-actions .local-devis { background: var(--accent); color: #fff; }
.local-actions .local-tel { border: 1px solid rgba(255,255,255,.14); color: #ddd; }
@media (max-width: 900px) {
  .local { padding: 56px 20px; }
  .local-services { grid-template-columns: 1fr; }
  .local-bas { grid-template-columns: 1fr; gap: 40px; }
  .local-zones b { flex-basis: 120px; }
  .local-actions a { flex: 1 1 100%; justify-content: center; }
}
.local[style*="#d6ca97"] .local-devis { color: #111; }
