/* ============================================================
   ARTIFICE — surcouche de marque par-dessus le template Construc
   Couleurs logo : rouge #F80030 · bleu #384898 · anthracite #303030
   ============================================================ */
:root{
    --art-red:#F80030;
    --art-red-dark:#c80028;
    --art-blue:#384898;
    --art-blue-dark:#2a3779;
    --art-ink:#1b1f3b;
    --art-gray:#6b7280;
}

body{ font-family:'Poppins',sans-serif; color:#5a5f7a; }
h1,h2,h3,h4,h5,.dreamit-section-title h1{ font-family:'Poppins',sans-serif; }
.dreamit-section-title h5,.besoft-color{ color:var(--art-red) !important; }

/* ---------- Logo navbar ---------- */
.besoft_nav_manu .logo img{ max-height:52px; width:auto; }
#sticky-header.besoft_nav_manu.sticky{ box-shadow:0 6px 24px rgba(27,31,59,.08); }
.besoft_menu ul li a:hover{ color:var(--art-red); }

/* ---------- Boutons de marque ---------- */
.btn-artifice,.btn-artifice-outline{
    display:inline-block; padding:14px 34px; border-radius:6px; font-weight:600;
    font-size:15px; letter-spacing:.3px; transition:.3s; text-decoration:none; margin:6px 10px 6px 0;
}
.btn-artifice{ background:var(--art-red); color:#fff; }
.btn-artifice:hover{ background:var(--art-blue); color:#fff; }
.btn-artifice-outline{ border:2px solid #fff; color:#fff; }
.btn-artifice-outline:hover{ background:#fff; color:var(--art-red); }

/* ============================================================
   HERO plein écran
   ============================================================ */
.artifice-hero{
    position:relative; overflow:hidden;
    background:
        radial-gradient(circle at 82% 18%, rgba(248,0,48,.38) 0%, rgba(248,0,48,0) 42%),
        linear-gradient(120deg, #070b24 0%, #121a44 48%, #384898 100%);
}
.artifice-hero .owl-carousel,.artifice-hero .owl-stage-outer{ overflow:hidden; }
/* filigrane logo */
.artifice-hero-mark{
    position:absolute; right:-60px; top:50%; transform:translateY(-50%) rotate(-8deg);
    z-index:1; opacity:.07; pointer-events:none;
}
.artifice-hero-mark img{ width:760px; max-width:60vw; }
.artifice-hero-slide{
    position:relative; min-height:620px; display:flex; align-items:center; background:transparent;
}
.artifice-hero-content{ position:relative; z-index:3; max-width:660px; color:#fff; padding:60px 0; }
.artifice-hero-content h5{
    color:#fff; font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:2px;
    font-size:18px; margin-bottom:18px; position:relative;
}
.artifice-hero-content h5::before{ content:''; }
.artifice-hero-content h1{
    color:#fff; font-size:60px; line-height:1.08; font-weight:800; margin-bottom:22px;
}
.artifice-hero-content h1 br{ display:block; }
.artifice-hero-content p{ color:rgba(255,255,255,.88); font-size:18px; line-height:1.7; margin-bottom:30px; }
.artifice-hero-btns{ margin-top:8px; }

/* Flèches owl du hero : centrées verticalement sur les deux bords
   (owl rend des <div class="owl-prev/next"> en position:absolute) */
.artifice-hero .owl-nav{ position:absolute !important; inset:0; margin:0 !important; pointer-events:none; z-index:6; }
.artifice-hero .owl-nav .owl-prev,
.artifice-hero .owl-nav .owl-next{
    pointer-events:auto; position:absolute !important; top:50% !important; transform:translateY(-50%) !important;
    width:54px !important; height:54px !important; border-radius:50% !important; margin:0 !important; padding:0 !important;
    background:rgba(255,255,255,.18) !important; color:#fff !important; font-size:18px !important;
    display:flex !important; align-items:center; justify-content:center; transition:.3s;
}
.artifice-hero .owl-nav .owl-prev{ left:28px !important; right:auto !important; }
.artifice-hero .owl-nav .owl-next{ right:28px !important; left:auto !important; }
.artifice-hero .owl-nav .owl-prev:hover,
.artifice-hero .owl-nav .owl-next:hover{ background:var(--art-red) !important; }
/* l'icône interne héritait d'un fond rouge + flèche sombre du thème */
.artifice-hero .owl-nav .owl-prev i,
.artifice-hero .owl-nav .owl-next i{
    background:transparent !important; color:#fff !important; font-size:18px !important; border:none !important;
    width:auto !important; height:auto !important; line-height:1 !important; margin:0 !important; padding:0 !important; box-shadow:none !important;
}
.artifice-hero .owl-dots{ position:absolute; left:0; right:0; bottom:26px; text-align:center; z-index:5; }

@media (max-width:991px){
    .artifice-hero-slide{ min-height:520px; text-align:center; }
    .artifice-hero-content{ margin:0 auto; }
    .artifice-hero-content h1{ font-size:40px; }
    .artifice-hero .owl-nav{ display:none; }
}

/* ============================================================
   Services : icônes rondes rouge->bleu
   ============================================================ */
.besoft-service-icon i{ color:var(--art-red); }
.besoft-sinlge-service-box:hover .besoft-service-icon i{ color:#fff; }
.besoft-service-title h2{ font-size:21px; line-height:1.3; padding-right:48px; }

/* ============================================================
   ÉQUIPE
   ============================================================ */
.artifice-team-area{ padding:100px 0 70px; background:#f7f8fc; }
/* la colonne Bootstrap s'étire (grille des cartes uniquement) -> cartes à la même hauteur
   (ne PAS cibler la rangée du titre, sinon le bloc titre se rétrécit et se décale à gauche) */
.artifice-team-grid > [class*="col-"]{ display:flex; }
.artifice-team-card{
    background:#fff; border-radius:12px; overflow:hidden; margin-bottom:30px;
    box-shadow:0 10px 30px rgba(27,31,59,.07); transition:.35s; text-align:center;
    display:flex; flex-direction:column; width:100%;
}
.artifice-team-card:hover{ transform:translateY(-8px); box-shadow:0 18px 40px rgba(248,0,48,.14); }
.artifice-team-thumb{
    height:230px; flex:0 0 230px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#eef1fb,#f7f8fc); overflow:hidden;
}
.artifice-team-thumb img{ max-height:100%; max-width:100%; object-fit:contain; }
.artifice-team-info{
    padding:16px 14px; border-top:3px solid var(--art-red);
    flex:1 1 auto; display:flex; flex-direction:column; justify-content:center;
}
.artifice-team-info h3{ font-size:18px; font-weight:700; color:var(--art-ink); margin-bottom:5px; }
.artifice-team-info span{
    color:var(--art-gray); font-size:14px; line-height:1.4;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* ============================================================
   CLIENTS
   ============================================================ */
.artifice-clients-area{ padding:90px 0 70px; }
.artifice-client-box{
    height:120px; display:flex; align-items:center; justify-content:center; padding:14px;
    margin-bottom:26px; background:#fff; border:1px solid #eef0f6; border-radius:10px; transition:.3s;
}
.artifice-client-box:hover{ border-color:var(--art-red); box-shadow:0 10px 24px rgba(27,31,59,.08); }
.artifice-client-box img{ max-height:72px; max-width:100%; object-fit:contain; filter:grayscale(100%); opacity:.75; transition:.3s; }
.artifice-client-box:hover img{ filter:grayscale(0); opacity:1; }
.artifice-client-box span{ font-weight:700; color:var(--art-blue); text-align:center; font-size:15px; }

/* ============================================================
   Réalisations : cartes de hauteur fixe (affiches portrait recadrées)
   ============================================================ */
.case-study-area .dreamit-case-study-thumb{
    height:380px; overflow:hidden; border-radius:10px; position:relative;
}
.case-study-area .dreamit-case-study-thumb > img{
    width:100%; height:100%; object-fit:cover; object-position:top center;
}

/* ============================================================
   Blog : vignettes de hauteur fixe
   ============================================================ */
.blog_area .single_blog_thumb{ height:220px; overflow:hidden; }
.blog_area .single_blog_thumb img{ width:100%; height:100%; object-fit:cover; }
.blog_area .single_blog{ margin-bottom:30px; box-shadow:0 10px 30px rgba(27,31,59,.06); border-radius:10px; overflow:hidden; background:#fff; }

/* À-propos : image de hauteur maîtrisée */
.about-area .besoft-about-thumb img{ width:100%; height:440px; object-fit:cover; }

/* ============================================================
   Divers accents bleus (secondaires)
   ============================================================ */
.about-counter-box{ background:var(--art-blue) !important; }
.feature-area .besoft-feature-single-box1{ background:var(--art-blue); }
.scroll-area .go-top{ background:var(--art-red); }

/* ============================================================
   PAGES INTERNES
   ============================================================ */
/* Lien de nav actif */
.besoft_menu ul li.current > a{ color:var(--art-red); }

/* Bandeau de page */
.artifice-banner{
    min-height:300px; position:relative; overflow:hidden;
    background:
        radial-gradient(circle at 80% 20%, rgba(248,0,48,.42) 0%, rgba(248,0,48,0) 45%),
        linear-gradient(120deg, #070b24 0%, #121a44 50%, #384898 100%);
}
.artifice-banner .breatcumb-title h2{ color:#fff; font-size:46px; font-weight:800; margin-bottom:10px; }
.artifice-banner .breatcumb-content-text ul li{ color:rgba(255,255,255,.8); font-weight:500; }
.artifice-banner .breatcumb-content-text a{ color:#fff; }
.artifice-banner .breatcumb-content-text i{ color:var(--art-red); margin:0 8px; }

.artifice-page{ padding:90px 0; }
.artifice-richtext{ color:#5a5f7a; line-height:1.8; font-size:16px; }
.artifice-richtext p{ margin-bottom:16px; }
.artifice-richtext img{ max-width:100%; height:auto; border-radius:8px; margin:10px 0; }

/* Services (page) */
.artifice-service-block{
    background:#fff; border-radius:14px; padding:38px 40px; margin-bottom:28px;
    box-shadow:0 10px 30px rgba(27,31,59,.06); border-left:4px solid var(--art-red);
}
.artifice-service-head{ display:flex; align-items:center; gap:18px; margin-bottom:14px; }
.artifice-service-ic{
    width:62px; height:62px; min-width:62px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,var(--art-red),#ff4d66); color:#fff; font-size:26px;
}
.artifice-service-head h2{ font-size:26px; font-weight:700; color:var(--art-ink); margin:0; }
.artifice-subservices h4{ font-size:16px; font-weight:700; color:var(--art-blue); margin-bottom:12px; text-transform:uppercase; letter-spacing:.5px; }
.artifice-subservices ul{ list-style:none; padding:0; margin:0; }
.artifice-subservices li{ padding:6px 0; color:#5a5f7a; font-size:15px; }
.artifice-subservices li i{ color:var(--art-red); margin-right:8px; }

/* À propos (blocs) */
.artifice-about-block{ margin-bottom:50px; padding-bottom:40px; border-bottom:1px solid #eef0f6; }
.artifice-about-block:last-child{ border-bottom:none; }

/* Portfolio (grille) */
.artifice-portfolio-card{
    position:relative; border-radius:12px; overflow:hidden; margin-bottom:30px;
    box-shadow:0 10px 30px rgba(27,31,59,.08);
}
.artifice-portfolio-thumb{ height:300px; overflow:hidden; }
.artifice-portfolio-thumb img{ width:100%; height:100%; object-fit:cover; object-position:top center; transition:.5s; }
.artifice-portfolio-card:hover .artifice-portfolio-thumb img{ transform:scale(1.07); }
.artifice-portfolio-info{
    position:absolute; left:0; right:0; bottom:0; padding:22px 24px;
    background:linear-gradient(transparent, rgba(7,11,36,.92)); color:#fff;
}
.artifice-portfolio-info span{ color:var(--art-red); font-weight:700; font-size:12px; letter-spacing:1px; }
.artifice-portfolio-info h3{ color:#fff; font-size:20px; font-weight:700; margin:4px 0 0; }

/* Article (blog-show) */
.artifice-article-thumb img{ width:100%; border-radius:12px; margin-bottom:24px; }
.artifice-article-meta{ margin-bottom:12px; }
.artifice-article-meta span{ color:var(--art-red); font-weight:600; font-size:14px; margin-right:18px; }
.artifice-article-meta i{ margin-right:6px; }
.artifice-article h1{ font-size:34px; font-weight:800; color:var(--art-ink); margin-bottom:22px; line-height:1.25; }

/* Sidebar blog */
.artifice-sidebar{ padding-left:15px; }
.artifice-widget{ background:#f7f8fc; border-radius:12px; padding:26px; margin-bottom:26px; }
.artifice-widget h4{ font-size:19px; font-weight:700; color:var(--art-ink); margin-bottom:18px; padding-bottom:12px; border-bottom:2px solid var(--art-red); display:inline-block; }
.artifice-recent{ list-style:none; padding:0; margin:0; }
.artifice-recent li{ margin-bottom:14px; }
.artifice-recent a{ display:flex; align-items:center; gap:12px; color:var(--art-ink); font-weight:500; font-size:14px; }
.artifice-recent img{ width:58px; height:58px; object-fit:cover; border-radius:8px; }
.artifice-recent a:hover{ color:var(--art-red); }
.artifice-widget-cta{ background:linear-gradient(135deg,#070b24,#384898); color:#fff; }
.artifice-widget-cta h4{ color:#fff; border-color:#fff; }
.artifice-widget-cta p{ color:rgba(255,255,255,.85); margin-bottom:16px; }

/* Contact */
.artifice-contact-info{ margin-top:10px; }
.artifice-contact-item{ display:flex; align-items:flex-start; gap:18px; margin-bottom:26px; }
.artifice-contact-item .ic{
    width:54px; height:54px; min-width:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:var(--art-red); color:#fff; font-size:20px;
}
.artifice-contact-item h5{ font-size:17px; font-weight:700; color:var(--art-ink); margin-bottom:4px; }
.artifice-contact-item p, .artifice-contact-item a{ color:#5a5f7a; margin:0; }
.artifice-contact-form{ background:#fff; border-radius:14px; padding:36px; box-shadow:0 10px 30px rgba(27,31,59,.07); }
.artifice-contact-form input, .artifice-contact-form textarea{
    width:100%; border:1px solid #e3e6f0; border-radius:8px; padding:14px 16px; margin-bottom:16px;
    font-size:15px; font-family:'Poppins',sans-serif; transition:.3s; background:#fbfbfd;
}
.artifice-contact-form input:focus, .artifice-contact-form textarea:focus{
    outline:none; border-color:var(--art-red); background:#fff; box-shadow:0 0 0 3px rgba(248,0,48,.08);
}
.artifice-contact-form button{ border:none; cursor:pointer; }
.artifice-alert-success{
    background:#e7f8ec; color:#1c7a3e; border:1px solid #bfe9cd; border-radius:8px;
    padding:14px 18px; margin-bottom:20px; font-weight:600;
}
.artifice-err{ display:block; color:var(--art-red); font-size:13px; margin:-10px 0 12px; }

/* Pagination */
.artifice-pagination{ margin-top:30px; }
.artifice-pagination nav div:first-child{ display:none; } /* cache le "showing x to y" */
.artifice-pagination .pagination{ gap:6px; }
.artifice-pagination .page-link{ color:var(--art-ink); border-radius:8px; border:1px solid #e3e6f0; margin:0 2px; }
.artifice-pagination .page-item.active .page-link{ background:var(--art-red); border-color:var(--art-red); }

@media (max-width:991px){
    .artifice-sidebar{ padding-left:0; margin-top:40px; }
    .artifice-service-head h2{ font-size:22px; }
    .artifice-banner{ min-height:230px; }
    .artifice-banner .breatcumb-title h2{ font-size:34px; }
    .artifice-page{ padding:60px 0; }
}

/* ============================================================
   CORRECTIONS (retours 2026-11-03)
   ============================================================ */
/* Icônes des "features" en blanc sur fond rouge */
.feature-area .feature-box-icon i,
.feature-area .feature-box-icon span,
.feature-area .feature-box-icon span i{ color:#fff !important; }
/* Titres features : ne pas couper "ACCOMPAGNEMENT" */
.feature-area .feature-box-title h2{ font-size:19px; white-space:normal; line-height:1.25; }

/* Réalisations : réduire le fort padding-top */
.case-study-area{ padding-top:60px !important; }
.case-study-area .dreamit-section-title{ margin-bottom:10px; }

/* Footer : "Contact rapide" bien lisible */
.footer-middle #footer-widget-address .widget-title{ color:#fff; }
.footer-middle #footer-widget-address .footer-socail-info p,
.footer-middle #footer-widget-address .footer-socail-info a,
.footer-middle #footer-widget-address .footer-socail-info2 p{ color:#cdd2e8 !important; }
.footer-middle #footer-widget-address .footer-socail-info a:hover{ color:#fff !important; }
.footer-middle #footer-widget-address .footer-socail-icon,
.footer-middle #footer-widget-address .footer-socail-icon i{ color:var(--art-red) !important; }

/* Bandeaux de page : hauteur réduite + puce de fil d'ariane supprimée */
.artifice-banner{ height:auto !important; min-height:305px !important; padding:46px 0 !important; }
.artifice-banner .breatcumb-content{ padding:0; }
.artifice-banner .breatcumb-title h2{ font-size:38px; margin-bottom:8px; }
.artifice-banner .breatcumb-content-text ul{ list-style:none !important; padding:0; margin:0; }
.artifice-banner .breatcumb-content-text ul li{ list-style:none !important; }

/* Lightbox venobox : curseur + survol image cliquable */
.vbox-item, a.venobox{ cursor:zoom-in; display:block; }

/* Bouton zoom (lightbox) sur les cartes portfolio */
.artifice-portfolio-thumb{ position:relative; }
.artifice-portfolio-zoom{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    color:#fff; font-size:28px; background:rgba(7,11,36,.45); opacity:0; transition:.35s; z-index:2;
}
.artifice-portfolio-card:hover .artifice-portfolio-zoom{ opacity:1; }
.artifice-portfolio-info{ z-index:4; }

/* ============================================================
   CORRECTIONS 2 (retours 2026-11-03 bis)
   ============================================================ */
/* Barre du haut : plus compacte + alignée verticalement */
.header-top-area{ padding-top:9px !important; padding-bottom:9px !important; }
.header-top-area .row{ align-items:center; }
.header-top-area .besoft-header-menu-address ul{ margin:0; }
.header-top-area .besoft-header-menu-address li{ line-height:1.75; }
.header-top-area .besoft-header-top-socail{
    display:flex; align-items:center; justify-content:flex-end; gap:16px; margin:0;
}
.header-top-area .besoft-header-top-socail a{ margin:0; display:inline-flex; align-items:center; }

/* Newsletter : texte lisible sur le fond rouge */
.subscribe-area .subscribe-title h1{ color:#fff !important; }
.subscribe-area .subscribe-title p{ color:rgba(255,255,255,.92) !important; }

/* Bloc « Un projet en tête ? » / « Travaillons ensemble » : ne chevauche plus la section du dessus
   (le gabarit le remonte de 100 px) et laisse de l'air avant la section suivante */
.call-do-action-area{ padding:80px 0; }
.call-do-action-area .row.call-top{ margin-top:0 !important; }
@media (max-width: 767px){
    .call-do-action-area{ padding:50px 0; }
}
