/* Styles propres aux pages de service des villes. */
main.city-service{display:block;max-width:1000px;margin:28px auto 48px;padding:0 24px;color:#334155;font-weight:400;line-height:1.7;box-sizing:border-box;}
.city-service *{box-sizing:border-box;}
.city-service article{width:100%;}
.city-service h1,.city-service h2,.city-service h3{text-align:center;line-height:1.3;color:#173d63;overflow-wrap:anywhere;}
.city-service h1{font-size:clamp(1.8rem,3.5vw,2.4rem);margin:8px 0 20px;}
.city-service h2{font-size:1.5rem;margin:0 0 18px;}
.city-service h3{font-size:1.1rem;margin:22px 0 10px;}
.city-service p{margin:0 0 16px;}
.city-service a{color:#0d4e91;text-underline-offset:3px;}
.city-service a:focus-visible{outline:3px solid #d29827;outline-offset:4px;}
.city-service a:hover{text-decoration-thickness:2px;}
.city-service ul{padding-left:22px;margin:12px 0 18px;}
.city-service li{margin:8px 0;}
.city-service article>section{padding:34px 0;border-top:1px solid #dbe7f3;scroll-margin-top:20px;}
.city-service-breadcrumb{font-size:.85rem;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px;}
.city-service-intro{padding:24px 28px;background:#f0f6fb;border:1px solid #dbe7f3;border-radius:12px;text-align:center;}
.city-service-intro>p{max-width:800px;margin-left:auto;margin-right:auto;}
.city-service .city-service-kicker{font-size:.84rem;font-weight:700;color:#136c38;letter-spacing:.04em;margin:0;}
.city-service .city-service-reassurance{font-size:.85rem;color:#475569;text-align:center;margin:0;}
.city-service .diagnostic-quote-button{color:#fff;}
.city-service-quicklinks{margin:32px auto;max-width:860px;}
.city-service-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.city-service a.city-service-diagnostic-button,.city-service a.city-service-detail-link{display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;padding:14px 16px;border:2px solid transparent;border-radius:10px;background:linear-gradient(#f8fafc,#f8fafc) padding-box,linear-gradient(90deg,#2361a7,#136c38) border-box;text-decoration:none;color:#1e3a5f;font-weight:600;font-size:.95rem;text-align:center;line-height:1.45;transition:box-shadow .15s;}
.city-service a.city-service-diagnostic-button:hover,.city-service a.city-service-detail-link:hover{box-shadow:0 4px 16px rgba(35,97,167,.18);background:linear-gradient(#edf5fa,#edf5fa) padding-box,linear-gradient(90deg,#2361a7,#136c38) border-box;}
.city-service-diagnostic-icon{font-size:1.6rem;flex:0 0 auto;}
.city-service-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0 28px;font-size:.9rem;}
.city-service-toc a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #dbe7f3;border-radius:8px;background:#f8fafc;text-align:center;text-decoration:none;}
.city-service-toc a:hover{background:#edf5fa;}
.city-service-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.88rem;line-height:1.55;margin:20px 0;}
.city-service-table caption{text-align:center;font-weight:600;padding:0 0 12px;color:#475569;}
.city-service-table th,.city-service-table td{border:1px solid #dbe7f3;padding:14px 12px;text-align:left;vertical-align:top;overflow-wrap:anywhere;}
.city-service-table thead th{background:#0d4e91;color:#fff;text-align:center;}
.city-service-table thead th:first-child{width:20%;}
.city-service-table tbody th{background:#f0f6fb;font-weight:700;}
.city-service-table tbody tr:nth-child(even) td{background:#f8fafc;}
.city-service-note{font-size:.88rem;color:#526477;}
.city-service-extra{background:#f8fafc;border-left:3px solid #2361a7;padding:2px 22px 8px;margin:24px 0;}
.city-service-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.city-service-diagnostic{padding:20px;border:1px solid #dbe7f3;border-radius:10px;display:flex;flex-direction:column;}
.city-service-diagnostic h3{margin-top:0;}
.city-service-diagnostic p{font-size:.94rem;}
.city-service-detail-link{margin-top:auto;}
.city-service-gallery{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;}
.city-service-gallery figure{flex:1 1 180px;max-width:300px;min-width:0;margin:0;}
.city-service-gallery img{display:block;width:100%;height:auto;border-radius:8px;}
.city-service-faq{padding:20px 0;border-bottom:1px solid #dbe7f3;}
.city-service-faq h3{margin-top:0;}
.city-service-faq p:last-child{margin-bottom:0;}
.city-service article>.city-service-guide{background:#f0f6fb;border:1px solid #dbe7f3;border-radius:12px;padding:26px;margin-bottom:30px;}
.city-service-area ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0;}
.city-service-area>p{text-align:center;}
.city-service-area li{margin:0;}
.city-service-area a{display:inline-block;padding:8px 14px;border:1px solid #dbe7f3;border-radius:8px;text-decoration:none;}
.city-service-area a:hover{background:#f0f6fb;}
.city-service-contact{padding:28px;background:#eef6ef;border:1px solid #cfe3d2;border-radius:12px;text-align:center;}
.city-service-contact h2{text-align:center;}
.city-service-contact p:last-child{margin-bottom:0;}
@media(max-width:680px){
  main.city-service{padding:0 16px;margin-top:20px;}
  .city-service-intro{padding:20px 18px;}
  .city-service h2{font-size:1.3rem;}
  .city-service h3{font-size:1.05rem;}
  .city-service-diagnostics{grid-template-columns:1fr;}
  .city-service-button-grid{grid-template-columns:1fr;gap:12px;}
  .city-service-quicklinks{margin:26px auto;}
  .city-service-table,.city-service-table tbody,.city-service-table tr,.city-service-table th,.city-service-table td{display:block;width:100%;}
  .city-service-table caption{display:block;width:100%;}
  .city-service-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  .city-service-table tbody tr{border:1px solid #dbe7f3;border-radius:8px;margin:0 0 16px;overflow:hidden;}
  .city-service-table tbody th,.city-service-table td{border:0;padding:12px 14px;}
  .city-service-table tbody th{font-size:1rem;}
  .city-service-table td{border-top:1px solid #e4ecf3;}
  .city-service-table td::before{content:attr(data-label);display:block;font-weight:700;color:#173d63;margin-bottom:4px;}
  .city-service-table tbody tr:nth-child(even) td{background:#fff;}
  .city-service article>.city-service-guide,.city-service-contact{padding:22px 18px;}
  .city-service-extra{padding-left:16px;padding-right:14px;}
  .city-service-toc{gap:10px 16px;}
}
