/* ==========================================================================
   ATP USINAGE CHILD THEME — design tokens + small reusable components.
   Applied to Elementor content via the "CSS Classes" advanced control on
   Containers/widgets, so all text/images stay natively Elementor-editable;
   only the visual treatment (color, spacing, borders, icon squares...)
   lives here.
   ========================================================================== */

:root{
  --atp-navy-950:#060f1a;
  --atp-navy-900:#081b2e;
  --atp-navy-800:#0c2b47;
  --atp-blue-600:#0e4a78;
  --atp-accent-600:#006e9d;
  --atp-accent-700:#005e85;
  --atp-accent-bright:#009fe3;
  --atp-white:#ffffff;
  --atp-ice-100:#eef3f6;
  --atp-ice-200:#dfe7ec;
  --atp-steel-600:#5c6b76;
  --atp-steel-300:#a9bac4;
  --atp-ink-900:#101f2c;
  --atp-line-800:#1c3350;
  --atp-font-display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --atp-font-body:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
}

body{ font-family:var(--atp-font-body); color:var(--atp-ink-900); }

/* Headings everywhere use the display face, Astra + Elementor both inherit this */
h1,h2,h3,h4,h5,h6,
.elementor-heading-title{
  font-family:var(--atp-font-display) !important;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.02;
  letter-spacing:.01em;
  color:var(--atp-ink-900) !important;
}

/* --------------------------------------------------------------------------
   TOP BAR (child-theme component, hooked into astra_header_before)
   -------------------------------------------------------------------------- */
.atp-top-bar{ background:var(--atp-navy-950); color:var(--atp-steel-300); font-size:12px; }
.atp-top-bar__inner{ max-width:1360px; margin-inline:auto; padding:10px clamp(22px,5.5vw,90px); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.atp-top-bar__contact{ display:flex; align-items:center; gap:22px; }
.atp-top-bar__contact a{ display:inline-flex; align-items:center; gap:8px; color:var(--atp-steel-300); text-decoration:none; }
.atp-top-bar__contact a:hover{ color:var(--atp-white); }
.atp-top-bar__contact svg{ width:14px; height:14px; color:var(--atp-accent-bright); flex:none; }
.atp-top-bar__socials{ display:flex; align-items:center; gap:8px; }
.atp-top-bar__socials a{ width:26px; height:26px; display:grid; place-items:center; border:1px solid var(--atp-line-800); border-radius:50%; color:var(--atp-steel-300); text-decoration:none; }
.atp-top-bar__socials a:hover{ border-color:var(--atp-accent-600); background:var(--atp-accent-600); color:var(--atp-white); }
.atp-top-bar__socials svg{ width:13px; height:13px; }
@media(max-width:680px){ .atp-top-bar__contact span{ display:none; } }

/* --------------------------------------------------------------------------
   HEADER / SITE IDENTITY (Astra native header, just brand-color adjustments)
   -------------------------------------------------------------------------- */
.ast-primary-header-bar,
.main-header-bar{ background:var(--atp-white); }
.main-header-menu .menu-item.menu-cta > a,
.main-header-menu .menu-item.menu-cta > .menu-link{
  background:var(--atp-accent-600) !important;
  color:var(--atp-white) !important;
  padding:10px 20px !important;
  border-radius:3px;
  font-weight:800;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.02em;
}
.main-header-menu .menu-item.menu-cta > a:hover{ background:var(--atp-accent-700) !important; }

/* Mobile header menu */
.ast-header-break-point .main-header-menu > .menu-item > .menu-link,
.ast-header-break-point .main-header-menu > .menu-item > a{
  text-transform:uppercase;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  padding:14px 22px;
}
.ast-header-break-point .main-header-menu > .menu-item.menu-cta{ padding:12px 22px 18px; background:#fff; }
.ast-header-break-point .main-header-menu > .menu-item.menu-cta > .menu-link,
.ast-header-break-point .main-header-menu > .menu-item.menu-cta > a{
  display:block;
  text-align:center;
  padding:14px 20px !important;
  border-radius:3px;
}

/* Header menu: uppercase links, wider spacing, CTA as a compact button (not full header height) */
.ast-desktop .main-header-menu > .menu-item > .menu-link,
.ast-desktop .main-header-menu > .menu-item > a{
  text-transform:uppercase;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  padding-left:clamp(14px,1.6vw,28px);
  padding-right:clamp(14px,1.6vw,28px);
}
.ast-desktop .main-header-menu > .menu-item.menu-cta{
  align-self:center;
  height:auto;
  margin-left:clamp(10px,1.2vw,24px);
}
.ast-desktop .main-header-menu > .menu-item.menu-cta > .menu-link,
.ast-desktop .main-header-menu > .menu-item.menu-cta > a{
  height:auto !important;
  line-height:1.2 !important;
  padding:15px 26px !important;
  display:inline-block;
}
.ast-desktop .main-header-menu .menu-item > a:hover,
.ast-desktop .main-header-menu .current-menu-item > a{ color:var(--atp-accent-600); }

/* --------------------------------------------------------------------------
   BUTTONS — Elementor Free "Button" widget, brand override
   -------------------------------------------------------------------------- */
.atp-btn.elementor-button,
.atp-btn .elementor-button{
  background:var(--atp-accent-600) !important;
  color:var(--atp-white) !important;
  border-radius:3px !important;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.02em;
  font-size:13px;
  box-shadow:none !important;
}
.atp-btn.elementor-button:hover,
.atp-btn .elementor-button:hover{ background:var(--atp-accent-700) !important; }
.atp-btn-white.elementor-button,
.atp-btn-white .elementor-button{
  background:var(--atp-white) !important;
  color:var(--atp-navy-900) !important;
  border-radius:3px !important;
  text-transform:uppercase;
  font-weight:800;
  font-size:13px;
  box-shadow:none !important;
}
.atp-btn-outline-light.elementor-button,
.atp-btn-outline-light .elementor-button{
  background:transparent !important;
  color:var(--atp-white) !important;
  border:2px solid rgba(255,255,255,.5) !important;
  border-radius:3px !important;
  text-transform:uppercase;
  font-weight:800;
  font-size:13px;
  box-shadow:none !important;
}

/* --------------------------------------------------------------------------
   SECTION BACKGROUNDS (apply to Elementor Container as a CSS class)
   -------------------------------------------------------------------------- */
.atp-navy{ background-color:var(--atp-navy-900) !important; color:var(--atp-white); }
.atp-navy h1,.atp-navy h2,.atp-navy h3,.atp-navy h4,.atp-navy p,.atp-navy .elementor-heading-title{ color:var(--atp-white) !important; }
.atp-navy .atp-muted{ color:var(--atp-steel-300) !important; }
.atp-ice{ background:var(--atp-ice-100) !important; }
.atp-footer-bg{ background:var(--atp-navy-950) !important; color:var(--atp-steel-300); }

/* --------------------------------------------------------------------------
   EYEBROW label — apply to a Heading widget (h-tag small, or a Text Editor)
   -------------------------------------------------------------------------- */
.atp-eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--atp-font-body) !important;
  font-size:12px !important; font-weight:800 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:var(--atp-accent-600) !important;
}
.atp-navy .atp-eyebrow{ color:var(--atp-accent-bright) !important; }
.atp-eyebrow::before{ content:""; width:34px; height:2px; background:currentColor; display:inline-block; }

.atp-lede{ color:var(--atp-steel-600); font-size:16px; line-height:1.75; }
.atp-navy .atp-lede{ color:var(--atp-steel-300); }

/* --------------------------------------------------------------------------
   KPI / TRUST STRIP
   -------------------------------------------------------------------------- */
.atp-kpi-strip{
  position:relative;
  background:var(--atp-navy-800) url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/hero-cnc-machining.png') center center / cover no-repeat !important;
  overflow:hidden;
}
.atp-kpi-strip::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(8,22,38,.87);
  z-index:1;
}
.atp-kpi-strip > .e-con-inner{
  position:relative;
  z-index:2;
}
.atp-kpi-strip .elementor-widget-container{ border-left:1px solid var(--atp-line-800); padding-left:20px !important; }
.atp-kpi-strip > .e-con-inner > .e-con:first-child .elementor-widget-container,
.atp-kpi-strip .e-con:first-child > .elementor-widget-container{ border-left:0; padding-left:0 !important; }
.atp-kpi-strip .elementor-icon-box-title,
.atp-kpi-strip .atp-kpi-value,
.atp-kpi-strip .atp-kpi-value .elementor-heading-title{ color:var(--atp-white) !important; font-family:var(--atp-font-display) !important; font-size:28px !important; }
.atp-kpi-strip .atp-kpi-label,
.atp-kpi-strip .atp-kpi-label .elementor-heading-title{ color:var(--atp-white) !important; font-size:10px !important; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }

/* --------------------------------------------------------------------------
   CARDS — service / stat / sector
   -------------------------------------------------------------------------- */
.atp-card{ background:var(--atp-white); border:1px solid var(--atp-ice-200); transition:background .2s ease,color .2s ease,transform .2s ease; }
.atp-card:hover{ background:var(--atp-navy-900); color:var(--atp-white); transform:translateY(-2px); }
.atp-card:hover h3,.atp-card:hover .elementor-heading-title{ color:var(--atp-white) !important; }
.atp-card:hover p,.atp-card:hover .elementor-icon-box-description{ color:var(--atp-steel-300) !important; }
.atp-card .elementor-icon-box-icon{ color:var(--atp-accent-600); }

.atp-stat-card{ background:var(--atp-white); border:1px solid var(--atp-ice-200); padding:8px; }
.atp-stat-card .elementor-icon-box-icon i,
.atp-stat-card .elementor-icon-box-icon svg{ color:var(--atp-accent-600) !important; }
.atp-stat-card .elementor-icon-box-title{ font-family:var(--atp-font-display) !important; font-size:30px !important; color:var(--atp-navy-900) !important; text-transform:none !important; }
.atp-stat-card .elementor-icon-box-description{ color:var(--atp-steel-600) !important; font-size:13px !important; }

.atp-sector-header-col{
  text-align:center;
  max-width:640px;
  margin:0 auto;
  align-items:center !important;
}
.atp-sector-header-col .atp-eyebrow{ justify-content:center; }
.atp-sector-grid{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:20px;
  padding:0;
  margin-top:44px;
}
.atp-sector-grid .atp-sector-chip{
  flex:1 1 0;
  min-width:0;
}
.atp-sector-chip{
  background:var(--atp-white);
  border:1px solid var(--atp-ice-200);
  border-radius:6px;
  overflow:visible;
  position:relative;
}
.atp-sector-chip .atp-sector-photo{ padding:0; overflow:visible; }
.atp-sector-chip .atp-sector-photo img{
  width:100%;
  height:341px;
  object-fit:contain;
  display:block;
  transform:translate(0px, -110px) scale(1.12);
  margin-bottom:-180px;
}
.atp-sector-chip .atp-sector-label,
.atp-sector-chip .atp-sector-label .elementor-heading-title{
  text-transform:none !important;
  font-family:var(--atp-font-body) !important;
  font-weight:700 !important;
  font-size:13px !important;
  color:var(--atp-navy-900) !important;
  text-align:center;
  margin:0 !important;
}
.atp-sector-chip .atp-sector-label{
  padding:10px 12px 16px;
  position:relative;
  z-index:2;
}
@media(max-width:1100px){
  .atp-sector-grid{ flex-wrap:wrap !important; }
  .atp-sector-grid .atp-sector-chip{ flex:1 1 calc(33.333% - 14px); min-width:150px; }
}
@media(max-width:640px){
  .atp-sector-grid{
    flex-direction:column !important;
    padding:0 72px;
    gap:48px;
  }
  .atp-sector-grid .atp-sector-chip{
    flex:1 1 100%;
    width:100%;
    min-width:0;
    margin-bottom:20px;
  }
  .atp-sector-chip .atp-sector-photo img{
    transform:translate(0px, -130px) scale(1.12);
  }
}

/* --------------------------------------------------------------------------
   PROCESS STEP
   -------------------------------------------------------------------------- */
.atp-process-step{
  background:#fff !important;
  border-radius:8px;
  box-shadow:0 2px 14px rgba(16,31,44,.09);
  border-top:none !important;
  padding-top:0 !important;
  position:relative;
}
.atp-process-step:not(:last-child)::after{
  content:'→';
  position:absolute;
  top:70px;
  right:-30px;
  width:24px;
  text-align:center;
  color:var(--atp-accent-bright,#009fe3);
  font-size:22px;
  line-height:1;
  z-index:3;
}
.atp-process-photo{ position:relative; border-radius:8px 8px 0 0; overflow:hidden; }
.atp-process-photo img{ width:100%; height:140px; object-fit:cover; display:block; }
.atp-process-badge,
.atp-process-badge .elementor-heading-title{
  position:absolute !important;
  top:0; left:18px;
  background:var(--atp-accent-bright,#009fe3) !important;
  color:#fff !important;
  font-family:var(--atp-font-display) !important;
  font-weight:700;
  font-size:18px !important;
  padding:6px 14px 9px !important;
  border-radius:0 0 6px 6px;
  line-height:1 !important;
  margin:0 !important;
}
.atp-process-body{ padding:10px 12px 14px; }
.atp-process-header{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px;
  margin-bottom:10px;
}
.atp-process-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--atp-navy-950);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  flex:0 0 38px;
}
.atp-process-icon i,
.atp-process-icon svg{
  font-size:15px;
  color:#fff !important;
  fill:#fff !important;
  width:18px !important;
  height:18px !important;
}
.atp-process-icon .elementor-icon,
.atp-process-icon .elementor-icon-wrapper{
  display:flex !important;
  align-items:center;
  justify-content:center;
}
.atp-process-step h3,
.atp-process-step .elementor-heading-title{
  color:var(--atp-ink-900) !important;
  font-size:15px !important;
  margin:0 !important;
}
.atp-process-step .atp-lede,
.atp-process-step .atp-lede p{
  font-size:13px !important;
  color:var(--atp-steel-600) !important;
  text-transform:none !important;
  font-weight:400 !important;
  letter-spacing:normal !important;
  line-height:1.5;
}
.atp-process-arrow,
.atp-process-arrow .elementor-heading-title{
  color:var(--atp-accent-bright,#009fe3) !important;
  font-size:22px !important;
  line-height:1 !important;
  margin:0 !important;
}
.atp-process-arrow{
  align-self:flex-start;
  margin-top:64px !important;
  flex:0 0 auto !important;
}


/* --------------------------------------------------------------------------
   TIMELINE (company history)
   -------------------------------------------------------------------------- */
.atp-timeline .e-con-inner > .e-con,
.atp-timeline > .e-con-inner > .atp-timeline-item{ position:relative; padding-left:34px !important; padding-bottom:34px !important; border-left:2px solid var(--atp-ice-200) !important; }
.atp-timeline-item{ position:relative; padding-left:34px; padding-bottom:34px; border-left:2px solid var(--atp-ice-200); }
.atp-timeline-item:last-child{ border-left-color:transparent; padding-bottom:0; }
.atp-timeline-item::before{ content:""; position:absolute; left:-7px; top:2px; width:12px; height:12px; border-radius:50%; background:var(--atp-accent-600); box-shadow:0 0 0 4px #fff; }
.atp-timeline-item .elementor-heading-title{ font-size:26px !important; color:var(--atp-navy-900) !important; text-transform:none !important; }

/* --------------------------------------------------------------------------
   CTA BAND
   -------------------------------------------------------------------------- */
.atp-cta-band{
  position:relative;
  background:var(--atp-navy-900) url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-cta-band-bg.png') center center / cover no-repeat !important;
  color:var(--atp-white);
  overflow:hidden;
}
.atp-cta-band::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,110,157,.94) 0%, rgba(0,110,157,.90) 45%, rgba(6,15,26,.72) 100%);
  z-index:1;
}
.atp-cta-band > .e-con-inner{ position:relative; z-index:2; align-items:center !important; }
.atp-cta-band h2,.atp-cta-band .elementor-heading-title{ color:var(--atp-white) !important; }
.atp-cta-band .atp-eyebrow{ color:var(--atp-white) !important; }
.atp-cta-band p{ color:rgba(255,255,255,.92) !important; }

/* --------------------------------------------------------------------------
   FOOTER (Xpro Theme Builder template)
   -------------------------------------------------------------------------- */
.atp-footer-bg h4,.atp-footer-bg .elementor-heading-title{ color:var(--atp-white) !important; font-size:12px !important; letter-spacing:.14em; text-transform:uppercase; font-family:var(--atp-font-body) !important; font-weight:800 !important; }
.atp-footer-bg a{ color:var(--atp-steel-300); text-decoration:none; }
.atp-footer-bg a:hover{ color:var(--atp-white); }
.atp-footer-bg .atp-footer-bottom{ border-top:1px solid var(--atp-line-800); font-size:12px; }

/* --------------------------------------------------------------------------
   FAQ (Elementor Accordion widget, brand skin)
   -------------------------------------------------------------------------- */
.atp-faq .elementor-accordion-item{ border:1px solid var(--atp-ice-200) !important; border-bottom-width:1px !important; margin-bottom:-1px; }
.atp-faq .elementor-tab-title{ font-family:var(--atp-font-body) !important; font-weight:800 !important; text-transform:none !important; font-size:15px !important; color:var(--atp-navy-900) !important; }
.atp-faq .elementor-tab-title .elementor-accordion-icon{ color:var(--atp-accent-600) !important; }
.atp-faq .elementor-tab-content{ color:var(--atp-steel-600) !important; font-size:14px; line-height:1.75; }

/* --------------------------------------------------------------------------
   FORM (FormLayer shortcode, brand skin)
   -------------------------------------------------------------------------- */
.atp-form-wrap .formlayer-form-wrapper{ background:var(--atp-white); border:1px solid var(--atp-ice-200); padding:clamp(28px,3.4vw,44px); }
.atp-form-wrap label{ font-size:12.5px !important; font-weight:800 !important; color:var(--atp-navy-900) !important; text-transform:none; }
.atp-form-wrap input[type=text],
.atp-form-wrap input[type=email],
.atp-form-wrap input[type=tel],
.atp-form-wrap input[type=url],
.atp-form-wrap input[type=file],
.atp-form-wrap select,
.atp-form-wrap textarea{
  border:1px solid var(--atp-ice-200) !important; background:var(--atp-ice-100) !important;
  border-radius:3px !important; padding:13px 15px !important; font-family:var(--atp-font-body) !important;
}
.atp-form-wrap input:focus,.atp-form-wrap select:focus,.atp-form-wrap textarea:focus{ background:var(--atp-white) !important; border-color:var(--atp-accent-600) !important; }
.atp-form-wrap .formlayer-submit-btn,
.atp-form-wrap button[type=submit]{
  background:var(--atp-accent-600) !important; color:#fff !important; border:0 !important; border-radius:3px !important;
  text-transform:uppercase; font-weight:800; font-size:13px; padding:15px 28px !important; letter-spacing:.02em;
}
.atp-form-wrap .formlayer-submit-btn:hover{ background:var(--atp-accent-700) !important; }

/* Quote form layout: two fields per row, description / file / submit full width */
.atp-form-wrap .formlayer-form-fields-wrapper{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
}
.atp-form-wrap .formlayer-field-wrap{ margin:0; min-width:0; }
.atp-form-wrap .formlayer-field-wrap.atp-fl-full,
.atp-form-wrap .formlayer-submit-wrap{ grid-column:1 / -1; }
.atp-form-wrap .formlayer-sub-label{ display:none; }
@media(max-width:600px){
  .atp-form-wrap .formlayer-form-fields-wrapper{ grid-template-columns:1fr; }
}

/* --------------------------------------------------------------------------
   Responsive helpers (Elementor's own responsive controls handle most of
   this; these cover the child-theme-only components: top bar, timeline)
   -------------------------------------------------------------------------- */
@media(max-width:767px){
  .atp-top-bar__inner{ padding:8px 20px; }
  .atp-kpi-strip .elementor-widget-container{ border-left:0; padding-left:0 !important; padding-top:14px; border-top:1px solid var(--atp-line-800); }
}

/* Logo already carries the ATP Mesrouk brand mark; hide the redundant text site title next to it. */
.ast-site-title-wrap{ display:none !important; }

.atp-btn-outline.elementor-button,
.atp-btn-outline .elementor-button{
  background:transparent !important; color:var(--atp-navy-900) !important;
  border:2px solid var(--atp-navy-900) !important; border-radius:3px !important;
  text-transform:uppercase; font-weight:800; font-size:13px; box-shadow:none !important;
}
.atp-btn-outline.elementor-button:hover,
.atp-btn-outline .elementor-button:hover{ background:var(--atp-navy-900) !important; color:#fff !important; }
/* Elementor's default (unclassed) button skin should never show — brand-blue fallback */
.elementor-button{ background:var(--atp-accent-600); }

/* Fix: Astra's custom-logo-width theme mod isn't taking effect on this
   install, so the logo was rendering at its full native ~1187px size,
   inflating the header height. Force a sane, fixed display size instead. */
.site-header img.custom-logo,
.ast-site-identity img.custom-logo{
  width:auto !important;
  height:52px !important;
  max-height:52px !important;
  max-width:none !important;
}
@media(max-width:544px){
  .site-header img.custom-logo,
  .ast-site-identity img.custom-logo{ height:40px !important; max-height:40px !important; }
}

/* --------------------------------------------------------------------------
   GRID HELPERS -- Elementor containers give wrapped flex children no width
   by default (each one stretches to 100% of the row before wrapping, so a
   flex-wrap row of cards renders as a single stacked column). These classes
   fix that: applied to the row container, they size each direct child so
   the intended number of columns actually appears per row, with a
   flex-basis so it still gracefully reduces columns on medium screens.
   -------------------------------------------------------------------------- */
.atp-grid-2 > .e-con-inner > .e-con{ flex:1 1 320px !important; max-width:calc(50% - 15px) !important; }
.atp-grid-3 > .e-con-inner > .e-con{ flex:1 1 280px !important; max-width:calc(33.333% - 20px) !important; }
.atp-grid-4 > .e-con-inner > .e-con{ flex:1 1 220px !important; max-width:calc(25% - 20px) !important; }
.atp-grid-5 > .e-con-inner > .e-con{ flex:1 1 180px !important; max-width:calc(20% - 20px) !important; }
@media(max-width:1024px){
  .atp-grid-3 > .e-con-inner > .e-con,
  .atp-grid-4 > .e-con-inner > .e-con,
  .atp-grid-5 > .e-con-inner > .e-con{ max-width:calc(50% - 15px) !important; }
}
@media(max-width:600px){
  .atp-grid-2 > .e-con-inner > .e-con,
  .atp-grid-3 > .e-con-inner > .e-con,
  .atp-grid-4 > .e-con-inner > .e-con,
  .atp-grid-5 > .e-con-inner > .e-con{ max-width:100% !important; flex-basis:100% !important; }
}

/* ---------- Hero slider ---------- */
.atp-hero-slider{
  display:block !important;
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:640px;
}
.atp-hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:flex !important;
  align-items:center !important;
  opacity:0;
  visibility:hidden;
  transition:opacity 1s ease;
  z-index:1;
  pointer-events:none;
}
.atp-hero-slide > .e-con-inner{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  height:100%;
}
.atp-hero-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:2;
  pointer-events:auto;
}
.atp-hero-slide::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(4,15,26,.85) 0%, rgba(4,15,26,.62) 32%, rgba(4,15,26,.22) 60%, rgba(4,15,26,0) 82%);
  z-index:1;
  pointer-events:none;
}
.atp-hero-slide > .e-con-inner{
  position:relative;
  z-index:2;
  width:100%;
}
.atp-hero-slide-content{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  max-width:620px;
}
.atp-hero-slide-content .atp-eyebrow{
  color:var(--atp-accent-bright,#009fe3);
}
.atp-hero-slide-content h1,
.atp-hero-slide-content h2,
.atp-hero-slide-content .elementor-heading-title{
  color:#fff !important;
}
.atp-hero-slide-content .atp-lede{
  color:rgba(255,255,255,.86);
}
.atp-hero-slider-dots{
  position:absolute;
  left:73px;
  bottom:28px;
  z-index:5;
  display:flex;
  gap:10px;
}
.atp-hero-slider-dots button{
  appearance:none;
  border:none;
  background:rgba(255,255,255,.35);
  width:10px;
  height:10px;
  border-radius:999px;
  padding:0;
  cursor:pointer;
  transition:width .3s ease,background .3s ease;
}
.atp-hero-slider-dots button.is-active{
  width:30px;
  background:var(--atp-accent-bright,#009fe3);
}
.atp-hero-slider-dots button:hover{
  background:rgba(255,255,255,.6);
}
@media(max-width:1024px){
  .atp-hero-slider{ min-height:560px; }
  .atp-hero-slider-dots{ left:40px; }
}
@media(max-width:600px){
  .atp-hero-slider{ min-height:600px; }
  .atp-hero-slide{ align-items:flex-end; padding-bottom:56px; }
  .atp-hero-slide-content{ max-width:100%; }
  .atp-hero-slider-dots{ left:24px; bottom:16px; }
}

.atp-hero-slide{ background-size:cover; background-position:center center; background-repeat:no-repeat; }
.atp-hero-slide-1{ background-image:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-tournage-cnc-hero.png'); }
.atp-hero-slide-2{ background-image:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-fraisage-cnc-hero.png'); }
.atp-hero-slide-3{ background-image:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-taillage-engrenage-hero.png'); }
.atp-hero-slide-4{ background-image:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-decoupe-jet-eau-hero.png'); }
.atp-hero-slide-5{ background-image:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-rechargement-metallisation-hero.png'); }
.atp-hero-slide-6{ background-image:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-mecano-soudure-hero.png'); }


/* Hero slider - autoplay progress bar */
.atp-hero-slider-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:rgba(255,255,255,.18);
  z-index:5;
  overflow:hidden;
}
.atp-hero-slider-progress__bar{
  height:100%;
  width:0%;
  background:var(--atp-accent-bright,#009fe3);
}
.atp-hero-slider-progress__bar.is-animating{
  transition:width linear;
}
@media(max-width:600px){
  .atp-hero-slider-progress{ height:2px; }
}

/* KPI strip - custom image icons (replacing FontAwesome icon-box) */
.atp-kpi-strip .atp-kpi-icon{ margin-bottom:6px; }
.atp-kpi-strip .atp-kpi-icon img{ height:64px; width:auto; display:block; margin:0 auto; }
.atp-kpi-strip .atp-kpi-value,
.atp-kpi-strip .atp-kpi-label{ text-align:center; width:100%; }

/* Homepage "Notre savoir-faire" teaser - 4-card photo grid */
.atp-savoirfaire-teaser{
  background:var(--atp-ice-100) url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-savoirfaire-bg.png') right center / cover no-repeat;
}
.atp-accent-text{ color:var(--atp-accent-bright,#009fe3); }
.atp-service-card{ }
.atp-service-photo{ margin-bottom:16px; }
.atp-service-photo img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
  border-radius:2px;
}
.atp-service-title,
.atp-service-title .elementor-heading-title{
  color:var(--atp-ink-900) !important;
  font-size:18px !important;
  margin-bottom:0 !important;
}
.atp-service-title{
  position:relative;
  padding-bottom:14px;
  margin-bottom:12px;
}
.atp-service-title::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:28px;
  height:3px;
  background:var(--atp-accent-bright,#009fe3);
}
.atp-service-desc{
  color:var(--atp-steel-600) !important;
  font-family:var(--atp-font-body) !important;
  font-size:14px !important;
  line-height:1.55;
}
@media(max-width:1024px){
  .atp-savoirfaire-teaser{ background-position:center center; }
}

/* Homepage services carousel */
.atp-savoirfaire-teaser{ align-items:flex-start; }
.atp-sf-title-col{
  flex:0 0 260px !important;
  max-width:260px !important;
}
.atp-carousel{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-width:0;
  position:relative;
  padding:0 47px;
}
.atp-carousel-viewport{
  overflow:hidden;
  position:relative;
  width:100%;
  padding:0 !important;
}
.atp-carousel-track{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  padding:0 !important;
  gap:20px;
  transition:transform .45s ease;
  will-change:transform;
}
.atp-carousel-card{
  flex:0 0 260px;
  width:260px;
  text-decoration:none !important;
  color:inherit;
  display:block;
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(16,31,44,.07) !important;
}
.atp-carousel-card .atp-service-photo{
  margin-bottom:0;
}
.atp-carousel-card .atp-service-title{
  padding:16px 16px 0;
}
.atp-carousel-card .atp-service-desc{
  padding:0 16px 18px;
}
.atp-carousel-card:hover .atp-service-title::after{
  width:44px;
}
.atp-carousel-nav{
  position:absolute;
  inset:0;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
}
.atp-carousel-nav button{
  pointer-events:auto;
  width:42px;
  height:42px;
  border-radius:999px;
  border:none;
  background:rgba(16,31,44,.55);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  color:#fff;
  opacity:.55;
  transition:opacity .2s ease,background .2s ease;
  padding:0;
}
.atp-carousel-nav button:hover:not(:disabled){
  opacity:1;
  background:var(--atp-accent-bright,#009fe3);
}
.atp-carousel-nav button:disabled{
  opacity:.2;
  cursor:default;
}
@media(max-width:900px){
  .atp-savoirfaire-teaser{ flex-direction:column !important; }
  .atp-sf-title-col{ flex:0 0 auto !important; max-width:100% !important; width:100%; }
  .atp-carousel-card{ width:100%; }
}

/* Process section (De l'etude a la livraison) - carousel + dots */
.atp-process-section{
  position:relative;
  background:var(--atp-ice-100) url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-process-bg.png') center center / cover no-repeat !important;
}
.atp-process-header-col{
  text-align:center;
  max-width:640px;
  margin:0 auto;
  align-items:center !important;
}
.atp-process-header-col .atp-eyebrow{
  justify-content:center;
}
.atp-carousel-dots{
  display:flex !important;
  justify-content:center;
  gap:10px;
  margin-top:28px;
}
.atp-carousel-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:none;
  background:var(--atp-ice-200);
  padding:0;
  cursor:pointer;
  transition:width .3s ease,background .3s ease;
}
.atp-carousel-dot.is-active{
  width:30px;
  background:var(--atp-accent-bright,#009fe3);
}
.atp-carousel-dot:hover{
  background:var(--atp-steel-300);
}
.atp-carousel-dot.is-active:hover{
  background:var(--atp-accent-bright,#009fe3);
}

.atp-carousel-wide-gap .atp-carousel-track{ gap:36px !important; }


.atp-process-step.atp-carousel-card{ overflow:visible !important; }


/* Homepage "L'entreprise" section - full-bleed background photo */
.atp-entreprise-hero{
  position:relative;
  width:100%;
  min-height:640px;
  background-color:var(--atp-ice-100) !important;
  background-image:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-entreprise-section-bg.png') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
}
.atp-entreprise-content{
  margin-left:54% !important;
  margin-right:0;
  width:auto;
  max-width:600px;
  padding:48px 40px 48px 40px;
  box-sizing:border-box;
}
.atp-entreprise-content .atp-eyebrow{ margin-bottom:14px; }
.atp-entreprise-content h2,
.atp-entreprise-content .elementor-heading-title{
  color:var(--atp-ink-900) !important;
  margin:0 0 18px !important;
}
.atp-entreprise-content .atp-lede{
  margin-bottom:30px;
  line-height:1.6;
}
.atp-feature-row{
  display:flex !important;
  flex-direction:row !important;
  margin-bottom:34px;
}
.atp-feature-col{
  flex:1 1 0;
  padding:0 20px;
}
.atp-feature-col:first-child{ padding-left:0; }
.atp-feature-col:not(:first-child){
  border-left:1px solid var(--atp-ice-200);
}
.atp-feature-icon{
  width:44px;
  height:44px;
  border:2px solid var(--atp-accent-bright,#009fe3);
  border-radius:50%;
  display:flex !important;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}
.atp-feature-icon svg,
.atp-feature-icon i{
  width:18px !important;
  height:18px !important;
  color:var(--atp-accent-bright,#009fe3) !important;
  fill:var(--atp-accent-bright,#009fe3) !important;
  font-size:16px;
}
.atp-feature-title,
.atp-feature-title .elementor-heading-title{
  color:var(--atp-ink-900) !important;
  font-size:19px !important;
  margin:0 0 4px !important;
}
.atp-feature-sub{
  color:var(--atp-steel-600) !important;
  font-size:13px !important;
  line-height:1.45;
  text-transform:none !important;
  font-weight:400 !important;
}
.atp-btn-navy .elementor-button,
.atp-btn-navy.elementor-button{
  display:inline-flex !important;
  align-items:center;
  background:var(--atp-navy-950) !important;
  color:#fff !important;
  border-radius:3px !important;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.02em;
  font-size:13px;
  padding:18px 34px !important;
  box-shadow:none !important;
  transition:background .25s ease;
}
.atp-btn-navy.elementor-button:hover,
.atp-btn-navy .elementor-button:hover{
  background:var(--atp-accent-bright,#009fe3) !important;
}
@media(max-width:1150px) and (min-width:901px){
  .atp-feature-col{ padding:0 10px; }
  .atp-feature-title, .atp-feature-title .elementor-heading-title{ font-size:16px !important; }
}
@media(max-width:900px){
  .atp-entreprise-hero{
    background-image:none !important;
    background-color:var(--atp-ice-100) !important;
    min-height:0;
  }
  .atp-entreprise-content{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    padding:44px 24px;
    overflow-wrap:normal;
    word-break:keep-all;
  }
  .atp-entreprise-content h2,
  .atp-entreprise-content .elementor-heading-title{
    font-size:26px !important;
    overflow-wrap:normal;
    word-break:keep-all;
  }
  .atp-feature-row{ flex-direction:column !important; }
  .atp-feature-col{
    padding:16px 0;
    border-left:none !important;
    border-top:1px solid var(--atp-ice-200);
    align-items:center !important;
    text-align:center;
  }
  .atp-feature-col:first-child{ border-top:none; padding-top:0; }
  .atp-entreprise-content .atp-btn-navy{ text-align:center; }
}

/* --------------------------------------------------------------------------
   REFERENCE CLIENTS — logo carousel (5 per row, sliding by 1)
   -------------------------------------------------------------------------- */
.atp-client-refs .atp-carousel{ margin-top:0; }
.atp-logo-card{
  background:var(--atp-white);
  border:1px solid var(--atp-ice-200);
  border-radius:6px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  height:140px;
  padding:24px;
}
.atp-logo-card .elementor-widget-image{ width:100%; }
.atp-logo-card img{
  max-width:100%;
  max-height:92px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  margin:0 auto;
}
@media(max-width:640px){
  .atp-logo-card{ height:110px; padding:16px; }
  .atp-logo-card img{ max-height:68px; }
}

/* --------------------------------------------------------------------------
   A PROPOS — "Notre histoire" horizontal timeline
   -------------------------------------------------------------------------- */
.atp-history{
  background:#f4f8fc url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-histoire-bg.jpg') center top / 100% auto no-repeat !important;
  padding:64px clamp(22px,7vw,180px) 76px;
}
.atp-history-header{
  text-align:center;
  max-width:820px;
  margin:0 auto;
  align-items:center !important;
}
.atp-history-header .atp-eyebrow{ justify-content:center; }
.atp-history-header h2{
  font-size:clamp(30px,3.6vw,48px);
  color:var(--atp-navy-900) !important;
  margin:14px 0 14px;
}
.atp-history-header .atp-lede,
.atp-history-header .atp-lede p{ color:var(--atp-steel-600); font-size:17px; margin:0; }
.atp-history-timeline{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:36px;
  position:relative;
  margin-top:34px;
  padding-top:26px;
}
.atp-history-timeline::before{
  content:'';
  position:absolute;
  top:6px;
  left:calc((100% - 108px) / 8);
  right:calc((100% - 108px) / 8);
  height:2px;
  background:linear-gradient(90deg,var(--atp-accent-600),var(--atp-accent-bright));
  opacity:.55;
}
.atp-history-item{
  flex:1 1 0;
  min-width:0;
  position:relative;
  align-items:stretch;
}
.atp-history-item::before{
  content:'';
  position:absolute;
  top:-26px;
  left:50%;
  width:20px;
  height:20px;
  margin-left:-10px;
  border-radius:50%;
  background:var(--atp-accent-600);
  box-shadow:0 0 0 4px rgba(0,110,157,.18);
}
.atp-history-item,
.atp-history-card,
.atp-history-timeline{ padding:0 !important; }
.atp-history-timeline{ align-items:stretch !important; }
.atp-history-item{ align-self:stretch !important; }
.atp-history-card{ flex:1 1 auto !important; }
.atp-history-body{ padding:0 20px 26px !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:flex-start !important; }
.atp-history-body::before{ flex:0 0 auto; align-self:center !important; margin:6px auto 14px !important; }
.atp-history-year,
.atp-history-year .elementor-heading-title{
  text-align:center;
  white-space:nowrap;
  font-size:clamp(24px,2.5vw,38px) !important;
  color:var(--atp-navy-900) !important;
  margin:0 0 10px !important;
  line-height:1;
}
.atp-history-card{
  background:rgba(255,255,255,.93);
  border-radius:4px;
  box-shadow:0 6px 24px rgba(16,31,44,.08);
  overflow:hidden;
  flex:1 1 auto;
}
.atp-history-photo{ padding:0 !important; }
.atp-history-photo img{
  width:100%;
  height:auto;
  display:block;
}
.atp-history-body{
  padding:0 20px 26px;
  text-align:center;
  align-items:center;
  position:relative;
}
.atp-history-body::before{
  content:'';
  display:block;
  width:46px;
  height:3px;
  background:var(--atp-accent-600);
  margin:6px auto 14px;
}
.atp-history-title,
.atp-history-title .elementor-heading-title{
  font-size:19px !important;
  color:var(--atp-navy-900) !important;
  margin:0 0 8px !important;
  text-align:center;
}
.atp-history-desc,
.atp-history-desc p{
  color:var(--atp-steel-600);
  font-size:14px;
  line-height:1.6;
  margin:0;
  text-align:center;
}
/* A PROPOS — "Présentation" */
.atp-presentation{
  background:#f4f8fc url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-presentation-bg2.jpg') center top / 100% auto no-repeat !important;
  padding:56px clamp(22px,7vw,230px) 72px;
}
.atp-pres-header{
  text-align:center;
  max-width:960px;
  margin:0 auto;
  align-items:center !important;
}
.atp-pres-header .atp-eyebrow{ justify-content:center; }
.atp-pres-header h2{
  font-size:clamp(30px,3.6vw,50px);
  color:var(--atp-navy-900) !important;
  margin:12px 0 16px;
}
.atp-pres-header .atp-lede,
.atp-pres-header .atp-lede p{ color:var(--atp-steel-600); font-size:16px; line-height:1.7; margin:0; }
.atp-pres-grid{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:28px;
  margin-top:40px;
  padding:0 !important;
}
.atp-pres-card{
  flex:1 1 0;
  min-width:0;
  padding:8px 20px 12px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center;
}
.atp-pres-card + .atp-pres-card{ border-left:1px solid var(--atp-ice-200); }
.atp-pres-icon,
.atp-pres-icon .elementor-widget-container{ text-align:center; }
.atp-pres-icon img{ width:auto !important; height:clamp(64px,5.4vw,104px) !important; max-width:none; margin:0 auto; display:block; }
.atp-pres-value,
.atp-pres-value h3{
  font-size:clamp(28px,3vw,46px) !important;
  color:var(--atp-navy-900) !important;
  margin:12px 0 0 !important;
  line-height:1.05;
  text-align:center;
  white-space:nowrap;
}
.atp-pres-value h3 span{ font-family:inherit; }
.atp-pres-value sup{ font-size:.5em; line-height:0; }
.atp-pres-value::after{ content:''; display:block; width:46px; height:3px; background:var(--atp-accent-600); margin:14px auto 14px; }
.atp-pres-desc,
.atp-pres-desc p{ color:var(--atp-steel-600); font-size:15px; line-height:1.55; margin:0; text-align:center; }
@media(max-width:1000px){
  .atp-pres-grid{ flex-wrap:wrap !important; }
  .atp-pres-card{ flex:1 1 calc(50% - 14px); }
  .atp-pres-card:nth-child(odd){ border-left:0; }
}
@media(max-width:640px){
  .atp-presentation{ padding:44px 20px 52px; }
  .atp-pres-card{ flex:1 1 100%; border-left:0 !important; }
  .atp-pres-card + .atp-pres-card{ border-top:1px solid var(--atp-ice-200); padding-top:24px !important; }
}
/* A PROPOS — "Nos installations" mosaic */
.atp-installations{
  background:#f6f9fd url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-installations-bg.jpg') center top / 100% auto no-repeat !important;
  padding:52px clamp(22px,6.6vw,170px) 64px;
}
.atp-inst-header{ text-align:center; max-width:1100px; margin:0 auto; align-items:center !important; }
.atp-inst-header .atp-eyebrow{ justify-content:center; }
.atp-inst-header h2{ font-size:clamp(30px,3.7vw,52px); color:var(--atp-navy-900) !important; margin:12px 0 12px; }
.atp-inst-header .atp-lede,
.atp-inst-header .atp-lede p{ color:var(--atp-steel-600); font-size:16px; margin:0; }
.atp-inst-mosaic{
  display:grid !important;
  grid-template-columns:1.39fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:10px 0;
  margin-top:34px;
  height:clamp(320px,29vw,560px);
  padding:0 !important;
}
.atp-inst-panel{
  position:relative;
  overflow:hidden;
  padding:0 !important;
  min-height:0;
  display:block !important;
}
.atp-inst-img,
.atp-inst-img .elementor-widget-container{ position:absolute; inset:0; width:100%; height:100%; margin:0 !important; }
.atp-inst-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.atp-inst-p1{ grid-row:1 / span 2; grid-column:1; clip-path:polygon(0 0,100% 0,calc(100% - 3.4%) 100%,0 100%); margin-right:-2.6%; z-index:1; }
.atp-inst-p2{ grid-row:1; grid-column:2; margin-left:0; clip-path:polygon(9.5% 0,100% 0,100% 100%,0 100%); }
.atp-inst-p3{ grid-row:2; grid-column:2; margin-left:-3.3%; clip-path:polygon(9% 0,100% 0,100% 100%,0 100%); }
.atp-inst-cap{
  position:absolute;
  left:0; right:0; bottom:0;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:clamp(14px,2.2vw,44px);
  padding:clamp(10px,1.3vw,20px) clamp(14px,2vw,34px) clamp(10px,1.3vw,20px) clamp(28px,3.4vw,58px) !important;
  background:linear-gradient(90deg,rgba(8,27,46,.92),rgba(8,27,46,.62));
  z-index:2;
}
.atp-inst-cap::before{
  content:'';
  position:absolute;
  left:0; top:0; bottom:0;
  width:clamp(10px,1.3vw,20px);
  background:var(--atp-accent-600);
  clip-path:polygon(0 0,100% 0,60% 100%,0 100%);
}
.atp-inst-p1 .atp-inst-cap{ right:3.4%; }
.atp-inst-p2 .atp-inst-cap,
.atp-inst-p3 .atp-inst-cap{ padding-left:clamp(34px,4.2vw,74px) !important; gap:clamp(10px,1.4vw,28px); }
.atp-inst-title,
.atp-inst-title .elementor-heading-title{ white-space:nowrap; }
.atp-inst-icon{ flex:0 0 auto; }
.atp-inst-icon i,
.atp-inst-icon svg{ color:#fff !important; fill:#fff !important; font-size:clamp(22px,2.4vw,40px); width:clamp(22px,2.4vw,40px) !important; height:clamp(22px,2.4vw,40px) !important; }
.atp-inst-cap-text{ padding:0 !important; gap:4px; }
.atp-inst-cap .elementor-widget,
.atp-inst-cap .elementor-widget-container{ margin:0 !important; }
.atp-inst-cap .elementor-widget:not(:last-child){ margin-bottom:0 !important; }
.atp-inst-title,
.atp-inst-title .elementor-heading-title{
  color:#fff !important;
  font-size:clamp(15px,1.6vw,26px) !important;
  margin:0 !important;
  line-height:1.1;
}
.atp-inst-title .elementor-heading-title::before{ content:'—'; margin-right:10px; opacity:.85; }
.atp-inst-desc,
.atp-inst-desc p{ color:rgba(255,255,255,.92); font-size:clamp(12px,1.05vw,16px); line-height:1.4; margin:0; }
@media(max-width:800px){
  .atp-inst-mosaic{ display:flex !important; flex-direction:column !important; height:auto; gap:12px; }
  .atp-inst-panel{ height:260px; clip-path:none !important; margin:0 !important; }
  .atp-inst-p1 .atp-inst-cap{ right:0; }
}
/* A PROPOS — "Notre engagement" ISO 9001 */
.atp-cert{
  position:relative;
  overflow:hidden;
  background:#f6f9fd url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-iso-bg-clean.jpg') left top / auto 100% no-repeat !important;
  padding:0 !important;
  display:block !important;
}
.atp-cert-content{
  position:relative;
  z-index:2;
  width:52%;
  padding:64px 1% 64px clamp(22px,7vw,140px) !important;
  align-items:flex-start !important;
}
.atp-cert-content h2{ font-size:clamp(32px,4.4vw,72px); color:var(--atp-navy-900) !important; margin:14px 0 18px; line-height:1; }
.atp-cert-content .atp-lede,
.atp-cert-content .atp-lede p{ font-size:clamp(15px,1.2vw,19px); line-height:1.65; color:var(--atp-steel-600); margin:0; }
.atp-cert-photo{
  position:absolute !important;
  top:0; right:0; bottom:0;
  width:56.1%;
  padding:0 !important;
  background:url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-iso-photo.png?v=2') 40% center / cover no-repeat !important;
  z-index:1;
}
.atp-cert-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:0;
  margin-top:30px;
  padding:0 !important;
  width:100%;
}
.atp-cert-col{
  flex:1 1 0;
  min-width:0;
  padding:0 12px !important;
  align-items:center !important;
  text-align:center;
}
.atp-cert-col + .atp-cert-col{ border-left:1px solid var(--atp-ice-200); }
.atp-cert-icon{
  width:clamp(70px,6vw,118px);
  height:clamp(70px,6vw,118px);
  border-radius:50%;
  background:#e6f0fb;
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  margin:0 auto;
}
.atp-cert-icon img{ height:clamp(34px,3.2vw,62px) !important; width:auto !important; display:block; }
.atp-cert-icon .elementor-widget{ margin:0 !important; }
.atp-cert-icon .elementor-widget-container{ display:flex; justify-content:center; }
.atp-cert-text{ margin:0 !important; }
.atp-cert-text::before{ content:''; display:block; width:46px; height:3px; background:var(--atp-accent-600); margin:22px auto 14px; }
.atp-cert-text p{ margin:0; text-align:center; color:var(--atp-ink-900); font-size:clamp(13px,1.1vw,17px); line-height:1.5; }
@media(max-width:900px){
  .atp-cert-content{ width:100%; padding:44px 22px 36px !important; }
  .atp-cert-photo{ position:relative !important; width:100%; height:300px; }
}
@media(max-width:640px){
  .atp-cert-row{ flex-direction:column !important; gap:26px; }
  .atp-cert-col + .atp-cert-col{ border-left:0; }
}
/* SAVOIR-FAIRE — "Une méthode éprouvée" 4-step dark section */
.atp-methode{
  background:#04182c url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-methode-bg.jpg') center top / 100% auto no-repeat !important;
  padding:64px clamp(22px,6.3vw,150px) 72px !important;
}
.atp-m-header{ text-align:center; max-width:1000px; margin:0 auto 46px; align-items:center !important; }
.atp-m-header .atp-eyebrow,
.atp-m-header .atp-eyebrow .elementor-heading-title{ justify-content:center; color:#fff !important; }
.atp-m-header .atp-eyebrow::before{ background:#1a8cff; }
.atp-m-header h2{ font-size:clamp(30px,3.9vw,64px); color:#fff !important; margin:14px 0 14px; }
.atp-m-header h2 .atp-accent-text{ color:#1a8cff; }
.atp-m-header .atp-lede,
.atp-m-header .atp-lede p{ color:rgba(255,255,255,.8); font-size:clamp(15px,1.25vw,20px); line-height:1.6; margin:0; }
.atp-m-row{
  display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
  gap:clamp(34px,3vw,58px); align-items:stretch !important; padding:0 !important;
}
.atp-m-step{ flex:1 1 0; min-width:0; position:relative; padding:0 !important; align-items:stretch !important; }
.atp-m-step:not(:last-child)::after{
  content:'→'; position:absolute; right:calc(-1 * clamp(34px,3vw,58px) + 6px); top:calc(clamp(86px,7.3vw,145px) / 2 - 16px);
  width:calc(clamp(34px,3vw,58px) - 12px); text-align:center; color:#1a8cff; font-size:clamp(22px,2vw,36px); line-height:1;
}
.atp-m-plate{
  position:relative; display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between;
  height:clamp(86px,7.3vw,145px); padding:0 9% 0 17% !important; gap:8px;
  background:linear-gradient(180deg,rgba(24,84,164,.38),rgba(8,32,66,.6));
  clip-path:polygon(16% 0,100% 0,84% 100%,0 100%);
}
.atp-m-plate::before{
  content:''; position:absolute; inset:0; background:#1a8cff;
  clip-path:polygon(16% 0,calc(16% + 3px) 0,3px 100%,0 100%);
}
.atp-m-num,
.atp-m-num p{ font-family:var(--atp-font-display); font-weight:700; font-size:clamp(40px,4.5vw,90px); line-height:1; color:rgba(30,78,150,.9) !important; margin:0 !important; }
.atp-m-plate .elementor-widget{ margin:0 !important; }
.atp-m-icon img{ height:clamp(48px,5.2vw,102px) !important; width:auto !important; display:block; }
.atp-m-title,
.atp-m-title .elementor-heading-title{ color:#fff !important; font-size:clamp(20px,1.8vw,34px) !important; margin:0 !important; }
.atp-m-title{ margin:26px 0 0 clamp(14px,1.9vw,38px) !important; }
.atp-m-title .elementor-heading-title::after{ content:''; display:block; width:clamp(34px,3vw,58px); height:3px; background:#1a8cff; margin:14px 0 16px; }
.atp-m-desc{ margin:0 0 0 clamp(14px,1.9vw,38px) !important; }
.atp-m-desc,
.atp-m-desc p{ color:rgba(255,255,255,.88); font-size:clamp(14px,1.15vw,20px); line-height:1.55; margin:0; }
@media(max-width:1000px){
  .atp-m-row{ flex-wrap:wrap !important; row-gap:44px; }
  .atp-m-step{ flex:1 1 calc(50% - 30px); }
  .atp-m-step:not(:last-child)::after{ display:none; }
  .atp-m-plate{ height:110px; }
  .atp-m-num,.atp-m-num p{ font-size:56px; }
}
@media(max-width:560px){ .atp-m-step{ flex:1 1 100%; } .atp-methode{ padding:44px 20px 52px !important; background-size:auto 100% !important; } }

/* "Demander un devis" popup */
.atp-quote-modal{
  position:fixed; inset:0; z-index:99999;
  display:none; align-items:center; justify-content:center;
  padding:24px; background:rgba(6,15,26,.72);
  overflow-y:auto;
}
.atp-quote-modal.is-open{ display:flex; }
.atp-quote-open{ overflow:hidden; }
.atp-quote-modal__dialog{
  position:relative;
  width:100%; max-width:640px; max-height:calc(100vh - 48px); overflow-y:auto;
  background:var(--atp-white); border-radius:6px;
  padding:clamp(24px,4vw,44px);
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  outline:none;
  margin:auto;
}
.atp-quote-modal__dialog h2{ font-size:clamp(28px,3vw,40px); color:var(--atp-navy-900) !important; margin:10px 0 10px; }
.atp-quote-modal__dialog .atp-lede{ margin:0 0 22px; }
.atp-quote-modal__dialog .atp-form-wrap .formlayer-form-wrapper{ border:0; padding:0; }
.atp-quote-modal__close{
  position:sticky; top:0; float:right; z-index:3;
  box-sizing:border-box;
  width:40px !important; height:40px !important; min-width:40px; min-height:40px;
  margin:-12px -12px 0 8px; padding:0 !important;
  display:flex; align-items:center; justify-content:center;
  border:0; border-radius:50%;
  background:var(--atp-ice-100); color:var(--atp-navy-900);
  box-shadow:0 2px 8px rgba(16,31,44,.18);
  font-size:26px; line-height:1; cursor:pointer;
}
.atp-quote-modal__close:hover,
.atp-quote-modal__close:focus-visible{ background:var(--atp-accent-600); color:#fff; }

/* SAVOIR-FAIRE — 8 services grid (4 per row) + individual service pages */
.atp-sf-section{
  background:var(--atp-ice-100) url('https://fdistrib.dz/atpusinage/wp-content/uploads/2026/09/atp-usinage-savoirfaire-bg.png') right center / cover no-repeat !important;
  padding:72px clamp(22px,6vw,140px) 80px !important;
}
.atp-sf-section{ position:relative; }
.atp-sf-section::before{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.82) 55%,rgba(255,255,255,.5)); z-index:0; pointer-events:none; }
.atp-sf-section > *{ position:relative; z-index:1; }
.atp-sf-header{ text-align:center; align-items:center !important; max-width:820px; margin:0 auto 40px; }
.atp-sf-header .atp-eyebrow{ justify-content:center; }
.atp-sf-header h2{ font-size:clamp(28px,3.2vw,46px); color:var(--atp-navy-900) !important; margin:12px 0 0; }
.atp-sf-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  padding:0 !important;
}
.atp-sf-card{
  display:flex !important;
  flex-direction:column !important;
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(16,31,44,.07) !important;
  text-decoration:none !important;
  color:inherit;
  padding:10px 10px 22px !important;
  transition:transform .25s ease, box-shadow .25s ease;
}
.atp-sf-card:hover{ transform:translateY(-4px); box-shadow:0 10px 26px rgba(16,31,44,.14) !important; }
.atp-sf-card .atp-service-photo{ margin-bottom:0; }
.atp-sf-card .atp-service-photo img{ width:100%; height:auto !important; aspect-ratio:4/3; object-fit:cover; }
.atp-sf-card .atp-service-title{ padding:16px 6px 0; }
.atp-sf-card .atp-service-desc{ padding:0 6px; }
.atp-sf-card:hover .atp-service-title::after{ width:44px; }
.atp-sf-card .elementor-widget{ margin-bottom:0 !important; }
@media(max-width:1100px){ .atp-sf-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px){ .atp-sf-grid{ grid-template-columns:1fr; } .atp-sf-section{ padding:48px 20px 56px !important; } }

.atp-sfd{
  background:var(--atp-white);
  padding:72px clamp(22px,7vw,180px) !important;
  gap:clamp(24px,4vw,64px);
  align-items:center !important;
}
.atp-sfd-photo-col{ flex:1 1 46%; min-width:0; padding:0 !important; }
.atp-sfd-text-col{ flex:1 1 54%; min-width:0; padding:0 !important; align-items:flex-start !important; }
.atp-sfd-photo img{ width:100%; height:auto; border-radius:8px; display:block; box-shadow:0 8px 26px rgba(16,31,44,.12); }
.atp-sfd-text-col h2{ font-size:clamp(28px,3vw,44px); color:var(--atp-navy-900) !important; margin:12px 0 18px; }
.atp-sfd-text-col .atp-lede,
.atp-sfd-text-col .atp-lede p{ font-size:17px; line-height:1.75; color:var(--atp-steel-600); }
.atp-sfd-text-col .atp-lede p{ margin:0 0 16px; }
.atp-sfd-text-col .atp-lede h3{ font-size:clamp(20px,1.7vw,26px); color:var(--atp-navy-900) !important; margin:22px 0 10px; }
.atp-sfd-text-col .atp-lede h3:first-child{ margin-top:0; }
.atp-sfd-text-col .atp-lede ul{ margin:0 0 16px; padding-left:22px; }
.atp-sfd-text-col .atp-lede li{ margin-bottom:6px; }
.atp-sfd-buttons{ gap:14px; margin-top:22px; padding:0 !important; flex-wrap:wrap !important; }
@media(max-width:900px){ .atp-sfd{ flex-direction:column !important; padding:48px 22px !important; } .atp-sfd-photo-col,.atp-sfd-text-col{ flex:1 1 auto; width:100%; } }
@media(max-width:1000px){
  .atp-history-timeline{ flex-wrap:wrap !important; row-gap:44px; }
  .atp-history-timeline::before{ display:none; }
  .atp-history-item{ flex:1 1 calc(50% - 18px); }
}
@media(max-width:640px){
  .atp-history{ padding:44px 20px 52px; }
  .atp-history-item{ flex:1 1 100%; }
  .atp-history-item::before{ display:none; }
  .atp-history-timeline{ padding-top:0; }
}