/*
Theme Name: ROADFIX by IMPEXALL
Theme URI: https://impexall.com/roadfix
Author: IMPEXALL
Author URI: https://impexall.com
Description: Thème WordPress professionnel B2B haute performance pour ROADFIX by IMPEXALL, spécialisé dans la stabilisation des sols, des pistes non revêtues, le contrôle de la poussière et la réduction de l'ensablement. 100 % éditable avec Elementor et Elementor Pro.
Version: 1.0.0
Tested up to: 6.8
Requires at least: 6.0
Requires PHP: 8.0
License: Proprietary / Commercial
License URI: https://impexall.com/licenses
Text Domain: roadfix
Tags: b2b, industrial, engineering, infrastructure, elementor, custom-colors, custom-menu, featured-images, full-width-template, theme-options, translation-ready

ROADFIX by IMPEXALL — Casablanca, Maroc
*/

:root {
  --rf-color-primary: #f59e0b;
  --rf-color-secondary: #111418;
  --rf-color-ink: #111418;
  --rf-color-accent: #f59e0b;
  --rf-color-accent-hover: #d97706;
  --rf-color-light-blue: #3b82f6;
  --rf-color-dark: #111418;
  --rf-color-text: #111418;
  --rf-color-text-muted: #64748b;
  --rf-color-bg-light: #f8fafc;
  --rf-color-surface: #ffffff;
  --rf-color-white: #ffffff;
  --rf-color-border: #e2e8f0;
  --rf-color-border-dark: #111418;
  --rf-font-main: 'Barlow', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --rf-font-heading: 'Oswald', -apple-system, BlinkMacSystemFont, sans-serif;
  --rf-transition: all 0.2s cubic-bezier(0.16, 1, 0.32, 1);
  --rf-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --rf-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.10);
  --rf-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.14);
  --rf-shadow-xl: 0 20px 40px rgba(0, 0, 0, 0.20);
  --rf-shadow-industrial: 4px 4px 0 0 #111418;
  --rf-shadow-industrial-hover: 2px 2px 0 0 #111418;
  --rf-radius-sm: 2px;
  --rf-radius-md: 4px;
  --rf-radius-lg: 8px;
  --rf-radius-xl: 12px;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--rf-font-main);
  color: var(--rf-color-text);
  background-color: var(--rf-color-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* Base Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--rf-font-heading);
  color: var(--rf-color-primary);
  font-weight: 800;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 0.85rem;
  letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.2rem, 4.5vw, 3.75rem); }
h2 { font-size: clamp(1.8rem, 3.2vw, 2.75rem); }
h3 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
h4 { font-size: clamp(1.15rem, 1.6vw, 1.4rem); }
h5 { font-size: 1.15rem; }
h6 { font-size: 1rem; }

p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

a {
  color: var(--rf-color-secondary);
  text-decoration: none;
  transition: var(--rf-transition);
}

a:hover {
  color: var(--rf-color-accent);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Accessibility */
:focus-visible {
  outline: 3px solid var(--rf-color-accent);
  outline-offset: 3px;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: var(--rf-color-white);
  clip: auto !important;
  clip-path: none;
  color: var(--rf-color-primary);
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
