/* pages-services.css — regles extraites des blocs <style> inline.
   Chaque classe ici n' existe que sur une page ; aucune collision avec un
   autre CSS. Extraction sans effet sur le rendu. Voir AGENTS.md §3 P2. */

/* --- issu de desinsectisation.html --- */


    .faq-question {
      padding: 18px 20px;
      font-size: 0.98rem;
      font-weight: 700;
      color: var(--primary);
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      user-select: none;
    }


    .faq-question::-webkit-details-marker {
      display: none;
    }

/* --- issu de guepes-et-frelons.html --- */


    /* TOP BAR APPEL URGENT */
    .top-contact-bar {
      background-color: var(--accent-blue);
      color: #FFF;
      text-align: center;
      padding: 12px 16px;
      font-weight: 800;
      font-size: 1rem;
      letter-spacing: 0.02em;
    }


    .top-contact-bar a {
      color: #FFF;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 44px;
      padding: 4px 0;
    }


    .top-contact-bar a:hover {
      text-decoration: underline;
    }


    .main-section { padding: 28px 16px 48px 16px; }


    .pulse-dot {
      width: 8px;
      height: 8px;
      background-color: var(--accent-blue);
      border-radius: 50%;
      box-shadow: 0 0 0 0 rgba(26, 77, 251, 0.7);
      animation: pulse 1.6s infinite;
      flex-shrink: 0;
    }


    .hero-header { text-align: center; margin-bottom: 28px; }


    .hero-title {
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--primary);
      line-height: 1.3;
      margin-bottom: 12px;
      letter-spacing: -0.01em;
    }


    .hero-title span { color: var(--accent-blue); }


    .hero-subtitle {
      font-size: 0.95rem;
      color: var(--text-muted);
      line-height: 1.6;
      max-width: 820px;
      margin: 0 auto;
    }


    /* BARRE REASSURANCE */
    .reassurance-bar {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin-bottom: 32px;
    }


    .reassurance-item {
      background: #FFFFFF;
      border: 1px solid var(--card-border);
      padding: 14px 16px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 0.85rem;
      font-weight: 700;
      color: var(--primary);
      box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    }


    .reassurance-item svg {
      width: 22px;
      height: 22px;
      color: var(--accent-blue);
      flex-shrink: 0;
    }


    /* GRILLE ESPECES IDENTIFIEES */
    .species-grid {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }


    .species-header {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
    }


    .species-tag {
      font-size: 0.7rem;
      font-weight: 800;
      text-transform: uppercase;
      padding: 4px 10px;
      border-radius: 6px;
    }


    .species-title {
      font-size: 1.1rem;
      font-weight: 800;
      color: var(--primary);
      margin-bottom: 8px;
    }


    .species-desc {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.55;
      margin-bottom: 14px;
    }


    .species-list {
      list-style: none;
      padding: 0;
    }


    .species-list li {
      font-size: 0.86rem;
      font-weight: 600;
      color: var(--text-main);
      margin-bottom: 8px;
      display: flex;
      align-items: flex-start;
      gap: 8px;
    }


    .species-list li::before {
      content: "•";
      color: var(--accent-blue);
      font-weight: 800;
      font-size: 1.2rem;
      line-height: 1;
    }


    /* SECTEUR GEOGRAPHIQUE */
    .mesh-section {
      background: #FFFFFF;
      border: 1px solid var(--card-border);
      border-radius: 18px;
      padding: 24px 18px;
      margin-top: 36px;
    }


    .mesh-header {
      border-bottom: 1px solid var(--card-border);
      padding-bottom: 16px;
      margin-bottom: 20px;
    }


    .mesh-header h3 {
      font-size: 1.1rem;
      font-weight: 800;
      color: var(--primary);
      margin-bottom: 6px;
    }


    .mesh-header p a {
      color: var(--accent-blue);
      font-weight: 600;
      text-decoration: none;
    }


    .mesh-header p a:hover {
      text-decoration: underline;
    }


    .mesh-block-title {
      font-size: 0.82rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--accent-blue-hover);
      margin: 16px 0 10px 0;
    }


    .communes-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }


    .commune-chip {
      background: #F1F5F9;
      color: var(--primary);
      font-size: 0.8rem;
      font-weight: 700;
      padding: 6px 12px;
      border-radius: 8px;
      border: 1px solid #E2E8F0;
    }


    /* CTA FINAL */
    .action-cta-box {
      background: var(--primary);
      color: #FFFFFF;
      border-radius: 20px;
      padding: 28px 18px;
      text-align: center;
      margin-top: 36px;
      box-shadow: 0 12px 30px -5px rgba(15, 23, 42, 0.3);
    }


    .action-cta-box h2 {
      font-size: 1.3rem;
      font-weight: 800;
      margin-bottom: 10px;
    }


    .action-cta-box p {
      font-size: 0.9rem;
      color: #94A3B8;
      margin: 0;
    }

/* --- issu de services-anti-nuisibles.html --- */


    .service-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--accent-blue);
      font-weight: 700;
      text-decoration: none;
      font-size: 0.95rem;
    }

    .service-link:hover { text-decoration: underline; }

/* --- issu de traitement-injection-bati-termites.html --- */

    .page-hero { text-align:center; padding: 32px 0 8px; }

    .page-badge { display:inline-flex; align-items:center; gap:6px; background:#EDF2FF; color:var(--primary-blue-hover); font-weight:700; font-size:0.78rem; text-transform:uppercase; padding:6px 14px; border-radius:999px; margin-bottom:16px; }

    .page-hero h1 { font-family: var(--font-heading); font-weight:800; font-size:clamp(1.6rem,3.2vw,2.3rem); color:var(--text-main); margin:0 0 14px; }

    .page-hero p { max-width:75ch; margin:0 auto; color:var(--text-muted); font-size:1.02rem; line-height:1.6; }

    .lead-text { color:var(--text-muted); font-size:0.98rem; line-height:1.65; max-width:75ch; margin: 0 0 24px; }


    /* Diagramme quinconce */
    .quinconce-diagram { background:var(--bg-soft); border:1px solid var(--border-color); border-radius:20px; padding: 28px; margin: 24px 0 40px; }

    .quinconce-diagram figcaption { text-align:center; font-size:0.85rem; color:var(--text-muted); margin-top:14px; }


    .method-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:16px; margin: 24px 0 8px; }

    .method-box { background:#fff; border:1px solid var(--border-color); border-radius:14px; padding:22px; }

    .method-box h3 { font-family: var(--font-heading); font-size:1.02rem; margin:0 0 8px; color:var(--text-main); }

    .method-box p { font-size:0.9rem; color:var(--text-muted); margin:0; line-height:1.55; }


    .product-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:20px; margin: 24px 0 40px; }

    .product-card { background:#fff; border:1px solid var(--border-color); border-radius:16px; padding:22px; display:flex; flex-direction:column; }

    .product-card .product-photo { width:100%; height:170px; object-fit:contain; background:#F8FAFC; border-radius:10px; margin-bottom:14px; }

    .product-card h3 { font-family: var(--font-heading); font-size:1.02rem; margin:0 0 8px; color:var(--text-main); }

    .product-card p { font-size:0.88rem; color:var(--text-muted); line-height:1.55; margin:0 0 14px; flex-grow:1; }


    .note-box { background:#FFFBEB; border:1px solid #FDE68A; border-radius:14px; padding:18px 20px; font-size:0.88rem; color:#92610A; margin: 24px 0; line-height:1.6; }


    .cta-block { background: linear-gradient(135deg, #1A4DFB 0%, #0F37BE 100%); border-radius:20px; padding: 36px; text-align:center; color:#fff; margin: 48px 0; }

    .cta-block h2 { font-family: var(--font-heading); font-weight:800; font-size:1.4rem; margin:0 0 10px; }

    .cta-block p { margin:0 0 20px; opacity:0.9; }

    .cta-block a { display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--primary-blue-hover); font-weight:700; padding:14px 28px; border-radius:999px; text-decoration:none; }


    @media (max-width: 640px) { .page-hero h1 { font-size:1.5rem; } }

/* --- issu de traitement-odeurs.html --- */

  .odour-hero { max-width: 860px; margin: 0 auto; padding: clamp(30px,5vw,54px) 20px 8px; }

  .soon-badge { display:inline-flex; align-items:center; gap:9px; background:#FFF7ED;
    border:1px solid #FDBA74; color:#9A3412; border-radius:999px; padding:8px 16px;
    font-size:.83rem; font-weight:700; margin-bottom:18px; }

  .soon-badge .dot { width:8px; height:8px; border-radius:50%; background:#EA580C; flex:0 0 auto; }

  .soon-note { background:var(--surface); border:1px solid var(--border); border-radius:14px;
    padding:16px 18px; margin-top:18px; font-size:.9rem; line-height:1.62; color:var(--body-text); }

  .soon-note strong { color:var(--ink); }

  .odour-hero h1 { font-family: var(--font-heading); font-weight: 800; color: var(--ink);
    font-size: clamp(1.75rem,5vw,2.8rem); line-height: 1.1; letter-spacing: -.02em; margin: 0 0 16px; }


  .odour-sec { max-width: 1180px; margin: 0 auto; padding: clamp(34px,5vw,56px) 20px; }

  .odour-sec h2 { font-family: var(--font-heading); font-weight: 800; color: var(--ink);
    font-size: clamp(1.35rem,3.6vw,1.95rem); line-height: 1.15; margin: 0 0 10px; }

  .odour-sec > p.intro { color: var(--muted); font-size: 1rem; line-height: 1.7; margin: 0 0 26px; max-width: 62ch; }


  .odour-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }

  @media (min-width: 720px) { .odour-grid { grid-template-columns: repeat(2,1fr); } }

  .odour-card { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 22px 24px 24px; }

  .odour-card h3 { font-family: var(--font-heading); font-weight: 700; font-size: 1.08rem; color: var(--ink); margin: 0 0 10px; }

  .odour-card p { font-size: .94rem; line-height: 1.68; color: var(--body-text); margin: 0 0 12px; }

  .odour-card__where { font-size: .87rem !important; color: var(--muted) !important; margin: 0 !important;
    padding-top: 12px; border-top: 1px solid var(--border); }


  .method-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }

  .method-step { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: start;
    background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 20px 22px; }

  .method-step__num { font-family: var(--font-heading); font-weight: 800; font-size: 1.05rem;
    color: var(--primary-blue); background: #fff; border: 1px solid var(--border);
    border-radius: 10px; width: 46px; height: 46px; display: grid; place-items: center; }

  .method-step h3 { font-family: var(--font-heading); font-weight: 700; font-size: 1.04rem; color: var(--ink); margin: 0 0 7px; }

  .method-step p { font-size: .94rem; line-height: 1.68; color: var(--body-text); margin: 0; }


  .client-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 14px; }

  .client-card { background: var(--surface-blue); border-radius: 14px; padding: 20px 22px; }

  .client-card h3 { font-family: var(--font-heading); font-weight: 700; font-size: 1rem; color: var(--ink); margin: 0 0 7px; }

  .client-card p { font-size: .9rem; line-height: 1.62; color: var(--body-text); margin: 0; }


  .odour-warn { background: #FFFBEB; border: 1px solid #FDE68A; border-radius: 16px;
    padding: 22px 24px; margin-top: 26px; }

  .odour-warn h3 { font-family: var(--font-heading); font-weight: 700; font-size: 1.04rem; color: #7C2D12; margin: 0 0 9px; }

  .odour-warn p { font-size: .93rem; line-height: 1.68; color: #78350F; margin: 0; }

  .faq-item__body { padding: 0 20px 18px; }

  .faq-item__body p { font-size: .93rem; line-height: 1.72; color: var(--body-text); margin: 0; }

/* --- mutualise depuis deratisation desinsectisation --- */


    .derat-section {
      padding: 36px 16px;
      background: radial-gradient(100% 50% at 50% 0%, #F1F5F9 0%, #F8FAFC 100%);
    }


    .derat-container {
      max-width: 1240px;
      margin: 0 auto;
    }


    .derat-header {
      text-align: center;
      max-width: 800px;
      margin: 0 auto 28px auto;
    }


    .derat-tag {
      display: inline-block;
      font-size: 0.72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--accent-blue-hover);
      background: var(--blue-bg);
      padding: 6px 12px;
      border-radius: 100px;
      margin-bottom: 12px;
      border: 1px solid var(--blue-border);
    }


    .derat-title {
      font-size: 1.55rem;
      font-weight: 800;
      color: var(--primary);
      line-height: 1.3;
      margin-bottom: 12px;
      letter-spacing: -0.01em;
    }


    .derat-subtitle {
      font-size: 0.92rem;
      color: var(--text-muted);
      line-height: 1.6;
    }
