/* Scoped styles for article 3 'Location machinerie lourde au Quebec' */

:root {
  --benco-red: #ed1c24;
  --benco-red-dark: #bd121a;
  --benco-yellow: #ffde00;
  --benco-black: #111111;
  --benco-dark: #242424;
  --benco-text: #2f2f2f;
  --benco-muted: #6b6b6b;
  --benco-bg: #f5f5f5;
  --benco-white: #ffffff;
  --benco-border: #e4e4e4;
  --benco-soft-red: #fff4f4;
  --benco-shadow: 0 3px 16px rgba(0, 0, 0, 0.08);
}
.benco-blog-article * { box-sizing: border-box; }
.benco-blog-article { scroll-behavior: smooth; }
.benco-blog-article {
  margin: 0;
  padding: 0;
  color: var(--benco-text);
  background: var(--benco-bg);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.68;
}
.benco-blog-article a { color: var(--benco-red); font-weight: 700; text-decoration: none; }
.benco-blog-article a:hover, .benco-blog-article a:focus { text-decoration: underline; }
.benco-blog-article .article-wrapper { max-width: 1120px; margin: 0 auto; padding: 42px 18px 70px; }
.benco-blog-article article {
  background: var(--benco-white);
  border: 1px solid var(--benco-border);
  border-top: 6px solid var(--benco-red);
  box-shadow: var(--benco-shadow);
  padding: 38px;
}
.benco-blog-article .article-header { margin-bottom: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--benco-border); }
.benco-blog-article h1 { margin: 0; color: var(--benco-black); font-size: clamp(34px, 4.4vw, 48px); line-height: 1.12; letter-spacing: -0.03em; font-weight: 800; }
.benco-blog-article h2 { margin: 48px 0 16px; padding-bottom: 10px; color: var(--benco-black); border-bottom: 2px solid var(--benco-border); font-size: clamp(24px, 3vw, 32px); line-height: 1.24; font-weight: 800; letter-spacing: -0.01em; }
.benco-blog-article h2::after { content: ""; display: block; width: 72px; height: 4px; margin-top: 10px; background: var(--benco-red); }
.benco-blog-article h3 { margin: 32px 0 12px; color: var(--benco-black); font-size: 21px; line-height: 1.35; font-weight: 800; }
.benco-blog-article p { margin: 0 0 16px; }
.benco-blog-article .quick-answer {
  margin: 28px 0 26px;
  padding: 22px 24px;
  border-left: 6px solid var(--benco-red);
  border: 1px solid var(--benco-border);
  border-left-width: 6px;
  background: #ffffff;
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.04);
}
.benco-blog-article .quick-label { margin: 0 0 8px; color: var(--benco-red); text-transform: uppercase; letter-spacing: 0.04em; font-size: 13px; font-weight: 800; }
.benco-blog-article .quick-answer p:last-child { margin-bottom: 0; font-size: 17px; font-weight: 700; }
.benco-blog-article .article-section { margin-top: 0; }
.benco-blog-article .content-list { margin: 0 0 22px; padding-left: 22px; }
.benco-blog-article .content-list li { margin-bottom: 8px; }
.benco-blog-article .table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 24px 0; border: 1px solid var(--benco-border); background: var(--benco-white); }
.benco-blog-article table { width: 100%; min-width: 760px; border-collapse: collapse; background: var(--benco-white); }
.benco-blog-article th, .benco-blog-article td { padding: 14px 15px; border-bottom: 1px solid var(--benco-border); border-right: 1px solid var(--benco-border); text-align: left; vertical-align: top; }
.benco-blog-article th:last-child, .benco-blog-article td:last-child { border-right: 0; }
.benco-blog-article th { background: var(--benco-black); color: var(--benco-white); font-weight: 800; text-transform: uppercase; font-size: 13px; letter-spacing: 0.03em; }
.benco-blog-article tbody tr:nth-child(even) { background: #fafafa; }
.benco-blog-article tbody tr:hover { background: var(--benco-soft-red); }
.benco-blog-article .faq-section { margin-top: 52px; }
.benco-blog-article .faq-item { margin-bottom: 10px; border: 1px solid var(--benco-border); background: var(--benco-white); overflow: hidden; }
.benco-blog-article .faq-item summary { cursor: pointer; padding: 17px 54px 17px 18px; color: var(--benco-black); line-height: 1.35; list-style: none; position: relative; background: #fafafa; }
.benco-blog-article .faq-item summary::-webkit-details-marker { display: none; }
.benco-blog-article .faq-item summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; color: var(--benco-white); background: var(--benco-red); border-radius: 50%; text-align: center; line-height: 28px; font-size: 21px; font-weight: 800; }
.benco-blog-article .faq-item[open] summary::after { content: "-"; }
.benco-blog-article .faq-item summary h3 { display: inline; margin: 0; font-size: 18px; line-height: 1.35; }
.benco-blog-article .faq-item p { margin: 0; padding: 18px; border-top: 1px solid var(--benco-border); }
.benco-blog-article .cta-final { margin-top: 52px; padding: 0 0 28px; }
.benco-blog-article .cta-final .cta-text { margin-top: 22px; padding: 22px 24px; border-top: 5px solid var(--benco-red); background: var(--benco-soft-red); text-align: center; font-size: 18px; font-weight: 700; }
.benco-blog-article .cta-final .cta-text a { color: var(--benco-red); font-weight: 800; text-decoration: underline; background: none; box-shadow: none; padding: 0; margin: 0; display: inline; }
.benco-blog-article .cta-final .cta-text a:hover, .benco-blog-article .cta-final .cta-text a:focus { color: var(--benco-red-dark); text-decoration: underline; }
.benco-blog-article /* Corrections client A3: notes visuelles et CTA intermédiaires */
.rate-note {
  margin: 18px 0 22px;
  padding: 16px 18px;
  border-left: 5px solid var(--benco-yellow);
  background: #fffbea;
  color: var(--benco-dark);
  font-weight: 700;
}
.benco-blog-article .inline-cta {
  margin: 26px 0;
  padding: 22px 24px;
  border-top: 5px solid var(--benco-red);
  background: var(--benco-soft-red);
  text-align: center;
}
.benco-blog-article .inline-cta p {
  margin: 0 0 14px;
  font-weight: 700;
}
@media (max-width: 900px) {
.benco-blog-article article { padding: 28px; }
}
@media (max-width: 640px) {
.benco-blog-article { font-size: 15.5px; }
.benco-blog-article .article-wrapper { padding: 22px 12px 44px; }
.benco-blog-article article { padding: 22px 16px; }
.benco-blog-article h1 { font-size: 31px; }
.benco-blog-article h2 { margin-top: 38px; }
.benco-blog-article .quick-answer { padding: 20px 16px; }
.benco-blog-article .faq-item summary h3 { font-size: 16px; }
}
.benco-blog-article /* Hybrid QA additions: accessible captions, .benco-blog-article stronger CTA buttons */
.visually-hidden {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.benco-blog-article td.price {font-weight:800;color:var(--benco-red-dark);white-space:nowrap;}
.benco-blog-article td.confirm {color:var(--benco-muted);font-size:0.95em;}
.benco-blog-article .cta-actions {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;}
.benco-blog-article .cta-button-secondary {display:inline-block;padding:12px 18px;border-radius:8px;background:var(--benco-black);color:var(--benco-white);font-weight:800;text-decoration:none;box-shadow:0 3px 0 #000;}
.benco-blog-article .cta-button-secondary:hover, .benco-blog-article .cta-button-secondary:focus {background:var(--benco-dark);color:var(--benco-white);text-decoration:none;transform:translateY(1px);}
.benco-blog-article .cta-button {display:inline-block;padding:12px 18px;border-radius:8px;background:var(--benco-red);color:var(--benco-white);font-weight:800;text-decoration:none;box-shadow:0 3px 0 var(--benco-red-dark);}
.benco-blog-article .cta-button:hover, .benco-blog-article .cta-button:focus {background:var(--benco-red-dark);color:var(--benco-white);text-decoration:none;transform:translateY(1px);}
@media (max-width:640px) {
.benco-blog-article .cta-actions {flex-direction:column}
.benco-blog-article .cta-actions a {width:100%;}
}

/* .article-figure (images intégrées 2026-06-13) — repris de blog-article-2.css */
.benco-blog-article .article-figure {
    margin: 32px auto;
    max-width: 760px;
    background: var(--benco-white);
    border: 1px solid var(--benco-border);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.benco-blog-article .article-figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 460px;
    object-fit: cover;
    background: #f0f0f0;
}
.benco-blog-article .article-figure figcaption {
    padding: 14px 18px;
    color: var(--benco-muted);
    border-top: 1px solid var(--benco-border);
    font-size: 13.5px;
    line-height: 1.5;
}
@media (max-width: 640px) {
.benco-blog-article .article-figure { margin: 22px auto; }
.benco-blog-article .article-figure img { max-height: 300px; }
.benco-blog-article .article-figure figcaption { padding: 12px 14px; font-size: 13px; }
}
