/* Accessibility overrides (WCAG 2.1 AA). Loaded after the theme stylesheet on every page. */
/* links inside running text must not rely on colour alone (content areas only: never navigation, breadcrumbs or cards) */
main p a:not([class]):not(nav a):not(.te-breadcrumb-wrapper a), main li a:not([class]):not(nav a):not(.te-breadcrumb-wrapper a):not(.te-post-navigation a), main td a:not([class]), main .te-blog-single a:not([class]), main .te-post-content a:not([class]), main .accordion-body a:not([class]) { text-decoration: underline; text-underline-offset: 2px; }
main p a:not([class]):hover, main li a:not([class]):hover { text-decoration-thickness: 2px; }
/* stat numbers on the dark counter card inherited a dark blue (2.2:1); use the theme's yellow like .number */
.counter-up-area.style-2 .stat-number, .counter-up-area.style-2 .stat-number strong, .counter-up-area.style-2 .stat-number .counter { color: #e7f914; }
/* Bootstrap blue / muted greys / labels that fell just under 4.5:1 */
.bg-primary { background-color: #0a58ca !important; }
.text-white-50 { color: rgba(255, 255, 255, .9) !important; }
.text-muted, .text-body-secondary { color: #565e66 !important; }
.form-label, .awt-contact label { color: #33475f; }
/* copyright bar on the dark footer */
.footer-bottom-area p { color: #d3d9e6; }
.footer-bottom-area a { color: #8ab4ff; }
/* the theme paints CTA banners with var(--bs-primary) (#0d6efd, 4.5:1 fails with translucent text): darken it */
:root { --bs-primary: #0a58ca; --bs-primary-rgb: 10, 88, 202; }
.form-control { color: #1f2a3d; }
.form-control::placeholder { color: #5f6b7d; opacity: 1; }
.awt-contact .form-control { color: #1f2a3d; }
.awt-contact .form-control::placeholder { color: #5f6b7d; opacity: 1; }
/* theme paints inline <code> yellow (#e7f914) which is invisible on white */
:not(pre) > code { color: #9d174d; background: #f3f4f6; padding: 1px 5px; border-radius: 4px; }
.bg-dark :not(pre) > code, footer :not(pre) > code, .counter-up-area :not(pre) > code { color: #e7f914; background: transparent; }

/* hero call-to-action text sat on the photo ("Voir notre portfolio" over the model): give it a light backing panel */
.te-slider-btn-wrapper .te-call-btn .te-content { background: rgba(255,255,255,.9); padding: 4px 12px; border-radius: 10px; }

/* the theme capitalises every word of headings; French headings are sentence case ("Parlons de votre projet"), so keep the source casing */
html[lang="fr"] :is(.te-page-title, .title, .te-title-wrapper h2, .te-section-title) { text-transform: none !important; }

/* breadcrumb labels are sentence case in the source: keep them that way */
.te-breadcrumb-list a { text-transform: none !important; }

/* footer article titles were capitalised word by word by the theme: keep the source casing */
footer h2, footer h3, footer h4, footer p, footer a { text-transform: none !important; }

/* menus and mega-menu labels: source casing, not word-by-word capitals */
.te-main-menu a, .te-mega-menu a, .te-mega-link strong, .te-menu-sidebar-content a { text-transform: none !important; }
.te-theme-btn, .te-btn-white, .te-btn-outline-white, .te-post-title, .te-post-title a, .te-post-content { text-transform: none !important; }
.te-latest-post-title, .te-latest-post-title a, .te-latest-post-desc a, .te-post-navigation h3, .te-post-navigation h3 a { text-transform: none !important; }

/* blog list cards on phones: tighter thumbnails and spacing so the list is easier to scan */
@media (max-width: 575px) {
  .te-blog-post .te-post-item { margin-bottom: 22px; }
  .te-blog-post .te-post-thumbnail img { aspect-ratio: 16 / 9; height: auto; object-fit: cover; }
  .te-blog-post .te-post-content-wrapper { padding: 16px 16px 18px; }
  .te-blog-post .te-post-title { font-size: 19px; line-height: 1.3; margin: 8px 0; }
  .te-blog-post .te-post-meta { font-size: 13px; line-height: 1.4; margin-bottom: 6px; }
  .te-blog-post .te-post-content p { font-size: 15px; line-height: 1.5; margin-bottom: 10px; }
  .te-blog-post .te-read-more { margin-top: 8px; }
}
