@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700;800&display=swap');

/* ═══════════════════════════════════════════════════════
   KREATECH — Charte graphique partagée
   Couleurs issues du site original kreatech.ma
═══════════════════════════════════════════════════════ */
:root {
  --red:       #e84c3d;
  --red-dark:  #c0392b;
  --red-light: #fef0ee;
  --dark:      #1a1a2e;
  --dark2:     #2c2c54;
  --text:      #333333;
  --text2:     #666666;
  --text3:     #999999;
  --bg:        #ffffff;
  --bg2:       #f8f8f8;
  --bg3:       #f0f0f0;
  --border:    #e5e5e5;
  --shadow:    0 4px 20px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.12);
  --ff-head:   'Poppins', sans-serif;
  --ff-body:   'Nunito Sans', sans-serif;
  --max:       1200px;
  --ease:      cubic-bezier(.4,0,.2,1);
  --radius:    8px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff-body);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

.skip{position:absolute;top:-40px;left:0;background:var(--red);color:#fff;padding:8px 16px;z-index:9999;transition:top .2s}
.skip:focus{top:0}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);height:70px;display:flex;align-items:center;padding:0 clamp(1rem,4vw,3rem);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 2px 16px rgba(0,0,0,.1)}
.nav-inner{max-width:var(--max);width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.nav-logo img{height:42px;width:auto}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-family:var(--ff-head);font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text);transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transition:transform .25s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--red)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{font-family:var(--ff-head);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.6rem 1.4rem;background:var(--red);color:#fff;border-radius:var(--radius);transition:background .2s,transform .15s}
.nav-cta:hover{background:var(--red-dark);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:var(--dark);transition:.3s;border-radius:2px}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{position:fixed;top:70px;left:0;right:0;bottom:0;background:var(--bg);z-index:190;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transform:translateX(-100%);transition:transform .35s var(--ease)}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu a{font-family:var(--ff-head);font-size:1.4rem;font-weight:500;color:var(--dark)}
.mobile-menu a:hover{color:var(--red)}

/* ── PAGE HERO (intérieur) ── */
.page-hero{padding:120px clamp(1rem,4vw,3rem) 60px;background:var(--dark);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 30px,rgba(232,76,61,.04) 30px,rgba(232,76,61,.04) 31px),repeating-linear-gradient(-45deg,transparent,transparent 30px,rgba(232,76,61,.04) 30px,rgba(232,76,61,.04) 31px)}
.page-hero-inner{max-width:var(--max);margin:0 auto;position:relative;z-index:2}
.page-hero-badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-head);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--red);background:rgba(232,76,61,.1);border:1px solid rgba(232,76,61,.3);padding:.4rem 1rem;border-radius:100px;margin-bottom:1.25rem}
.page-hero h1{font-family:var(--ff-head);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:1rem}
.page-hero h1 span{color:var(--red)}
.page-hero-desc{font-size:1rem;font-weight:300;color:rgba(255,255,255,.6);line-height:1.8;max-width:60ch}
.breadcrumb{display:flex;gap:.5rem;align-items:center;font-size:.75rem;color:rgba(255,255,255,.35);margin-top:1.5rem}
.breadcrumb a{color:rgba(255,255,255,.5);transition:color .2s}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb span{color:var(--red)}

/* ── SECTIONS ── */
section{padding:clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,3rem)}
.container{max-width:var(--max);margin:0 auto}
.s-label{display:inline-block;font-family:var(--ff-head);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:.75rem}
h2.s-title{font-family:var(--ff-head);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;color:var(--dark);line-height:1.2}
.s-sub{font-size:.95rem;font-weight:300;color:var(--text2);line-height:1.75;max-width:60ch;margin-top:.75rem}
.s-header{margin-bottom:3rem}
.s-header-flex{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-bottom:3rem}

/* ── BOUTONS ── */
.btn-red{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-head);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.85rem 1.8rem;background:var(--red);color:#fff;border-radius:var(--radius);transition:background .2s,transform .15s,box-shadow .2s}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(232,76,61,.4)}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-head);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.85rem 1.8rem;border:1.5px solid var(--border);color:var(--text);border-radius:var(--radius);transition:.2s}
.btn-outline:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}
.btn-outline-white{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--ff-head);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.85rem 1.8rem;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:var(--radius);transition:.2s}
.btn-outline-white:hover{border-color:#fff;background:rgba(255,255,255,.07);transform:translateY(-2px)}

/* ── FORMULAIRE PARTAGÉ ── */
.contact-form{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.form-title{font-family:var(--ff-head);font-size:1.15rem;font-weight:700;color:var(--dark);margin-bottom:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fg{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.9rem}
.fg label{font-family:var(--ff-head);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2)}
.fg input,.fg select,.fg textarea{font-family:var(--ff-body);font-size:.88rem;padding:.75rem 1rem;background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);transition:border-color .2s;outline:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--red);background:var(--bg)}
.fg input::placeholder,.fg textarea::placeholder{color:var(--text3)}
.fg textarea{resize:vertical;min-height:110px}
.fg select{color:var(--text2)}
.form-btn{width:100%;padding:1rem;background:var(--red);border:none;border-radius:var(--radius);font-family:var(--ff-head);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s}
.form-btn:hover{background:var(--red-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(232,76,61,.4)}

/* ── CTA SECTION ── */
.cta-section {
  background: linear-gradient(135deg, #1a1a2e 0%, #2c1a1a 50%, #1a1a2e 100%);
  padding: clamp(3rem,6vw,5rem) clamp(1rem,4vw,3rem);
  text-align: center;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(232,76,61,.2);
}
.cta-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(232,76,61,.12) 0%,transparent 70%);pointer-events:none}
.cta-section .container{position:relative;z-index:2}
.cta-section h2{font-family:var(--ff-head);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;color:#fff;margin-bottom:1rem}
.cta-section h2 span{color:var(--red)}
.cta-section p{font-size:1rem;color:rgba(255,255,255,.55);max-width:55ch;margin:0 auto 2rem;line-height:1.8}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ── FOOTER ── */
footer{background:var(--dark);padding:3rem clamp(1rem,4vw,3rem) 0}
.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
.f-logo{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.9;margin-bottom:1rem}
.f-tagline{font-size:.82rem;color:rgba(255,255,255,.4);line-height:1.75;max-width:30ch}
.f-col h4{font-family:var(--ff-head);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:1.25rem}
.f-links{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.f-links a{font-size:.82rem;color:rgba(255,255,255,.4);transition:color .2s}
.f-links a:hover{color:#fff}
.footer-bottom{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;flex-wrap:wrap;gap:1rem}
.f-copy{font-size:.72rem;color:rgba(255,255,255,.3)}
.f-social{display:flex;gap:.75rem}
.f-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:rgba(255,255,255,.4);transition:.2s}
.f-social a:hover{border-color:var(--red);color:var(--red);background:rgba(232,76,61,.1)}

/* ── ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.on{opacity:1;transform:translateY(0)}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}.reveal.d4{transition-delay:.4s}

/* ── RESPONSIVE ── */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none}
  .hamburger{display:flex}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
}

/* ── LANG SWITCHER ── */
.lang-sw{display:flex;gap:.35rem;align-items:center}
.lb{font-family:var(--ff-head);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.28rem .65rem;border:1.5px solid var(--border);border-radius:100px;color:var(--text3);background:transparent;transition:.2s;white-space:nowrap}
.lb:hover,.lb.on{border-color:var(--red);color:var(--red);background:var(--red-light)}

/* ── PORTFOLIO PAGE ── */
.p-hero-img{width:100%;height:500px;object-fit:cover;display:block}
.proj-wrap{background:var(--bg);padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3rem)}
.proj-grid{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start;max-width:var(--max);margin:0 auto}
.proj-body p{font-size:.93rem;color:var(--text2);line-height:1.9;margin-bottom:.75rem}
.proj-side{position:sticky;top:90px}
.sc{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;margin-bottom:1.1rem}
.sc h4{font-family:var(--ff-head);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.9rem}
.sr{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.82rem;color:var(--text2)}
.sr:last-child{border-bottom:none}
.sr strong{color:var(--dark);font-weight:600;min-width:70px;font-size:.8rem;flex-shrink:0}
.pt{display:flex;align-items:center;gap:.55rem;font-family:var(--ff-head);font-size:.76rem;font-weight:600;color:var(--dark);padding:.45rem .7rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.35rem}
.pt::before{content:"";width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0}

/* ── GALLERY / SLIDER ── */
.gal-wrap{background:var(--bg2);padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem)}
.gal-inner{max-width:var(--max);margin:0 auto}
.gal-slider{position:relative;overflow:hidden;border-radius:var(--radius);margin-top:1.5rem}
.gal-track{display:flex;transition:transform .45s var(--ease)}
.gal-slide{flex-shrink:0;width:100%}
.gal-slide img{width:100%;height:480px;object-fit:cover;display:block}
.gal-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:rgba(255,255,255,.92);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--dark);transition:.2s;z-index:5}
.gal-btn:hover{background:var(--red);color:#fff}
.gal-prev{left:1rem}
.gal-next{right:1rem}
.gal-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.gal-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:.2s;padding:0}
.gal-dot.on{background:var(--red);transform:scale(1.2)}

/* ── NAV PROJECTS ── */
.np{background:var(--dark);padding:2rem clamp(1rem,4vw,3rem)}
.np-in{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.np-l{font-family:var(--ff-head);font-size:.78rem;font-weight:600;color:rgba(255,255,255,.55);transition:color .2s}
.np-l:hover{color:#fff}
.np-l span{font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.15rem}

/* ── BLOG LISTING ── */
.b-hero{background:var(--dark);padding:clamp(5rem,10vw,8rem) clamp(1rem,4vw,3rem) clamp(3rem,5vw,4rem)}
.b-hero h1{font-family:var(--ff-head);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:#fff;margin-bottom:.75rem}
.b-hero h1 span{color:var(--red)}
.b-hero p{color:rgba(255,255,255,.5);max-width:55ch;line-height:1.8}
.blog-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.bc{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}
.bc:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.bc .bt{height:200px;overflow:hidden;position:relative}
.bc .bt img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bc:hover .bt img{transform:scale(1.06)}
.bc .cp{position:absolute;top:.75rem;left:.75rem;font-family:var(--ff-head);font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:#fff;padding:.25rem .65rem;border-radius:100px}
.bc .bb{padding:1.2rem}
.bc h3{font-family:var(--ff-head);font-size:.93rem;font-weight:600;color:var(--dark);line-height:1.4;margin-bottom:.5rem}
.bc .be{font-size:.8rem;color:var(--text2);line-height:1.6}
.bc .bf{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;border-top:1px solid var(--border);font-size:.7rem;color:var(--text3)}
.bc .rl{font-family:var(--ff-head);font-size:.68rem;font-weight:700;color:var(--red)}

/* ── ARTICLE PAGE ── */
.art-layout{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 280px;gap:3rem;align-items:start;padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,3rem)}
.art-body h2{font-family:var(--ff-head);font-size:1.25rem;font-weight:700;color:var(--dark);margin:2rem 0 .7rem}
.art-body p{font-size:.93rem;color:var(--text2);line-height:1.9;margin-bottom:1rem}
.art-body ul,.art-body ol{padding-left:1.5rem;margin-bottom:1rem}
.art-body li{font-size:.9rem;color:var(--text2);line-height:1.8;margin-bottom:.3rem}
.art-body blockquote{border-left:3px solid var(--red);padding:.75rem 1.2rem;margin:1.5rem 0;background:var(--bg2);border-radius:0 var(--radius) var(--radius) 0}
.art-body blockquote p{color:var(--text);font-style:italic;margin:0}
.art-hero-img{width:100%;max-height:460px;object-fit:cover;display:block}
.art-meta{display:flex;align-items:center;gap:.9rem;padding:1.2rem 0;border-bottom:1px solid var(--border);margin-bottom:2rem;flex-wrap:wrap}
.art-cat{font-family:var(--ff-head);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--red);color:#fff;padding:.28rem .7rem;border-radius:100px}
.art-side{position:sticky;top:90px}
.asw{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;margin-bottom:1.1rem}
.asw h4{font-family:var(--ff-head);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.9rem}
.rp-item{display:flex;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--border)}
.rp-item:last-child{border-bottom:none}
.rp-item img{width:58px;height:42px;object-fit:cover;border-radius:4px;flex-shrink:0}
.rp-title{font-family:var(--ff-head);font-size:.76rem;font-weight:600;color:var(--dark);line-height:1.3}
.rp-date{font-size:.66rem;color:var(--text3);margin-top:.15rem}

/* ── RTL SUPPORT ── */
[dir="rtl"] .nav-links{flex-direction:row-reverse}
[dir="rtl"] .breadcrumb{flex-direction:row-reverse}
[dir="rtl"] .footer-grid{direction:rtl}
[dir="rtl"] .s-label::before{display:none}
[dir="rtl"] .art-body blockquote{border-left:none;border-right:3px solid var(--red);border-radius:var(--radius) 0 0 var(--radius)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .proj-grid,.art-layout{grid-template-columns:1fr}
  .proj-side{position:static}
  .blog-grid-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .p-hero-img{height:260px}
  .gal-slide img{height:280px}
  .blog-grid-3{grid-template-columns:1fr}
  .art-side{display:none}
}


/* ── Tajawal pour l'arabe ── */
[lang="ar"] { font-family: 'Tajawal', sans-serif; }
[lang="ar"] h1, [lang="ar"] h2, [lang="ar"] h3, [lang="ar"] h4,
[lang="ar"] .nav-links a, [lang="ar"] .nav-cta,
[lang="ar"] .btn-red, [lang="ar"] .btn-outline, [lang="ar"] .btn-outline-white,
[lang="ar"] .s-label, [lang="ar"] .s-title, [lang="ar"] .page-hero h1,
[lang="ar"] .page-hero-badge, [lang="ar"] .svc-name, [lang="ar"] .pc-title,
[lang="ar"] .b-title, [lang="ar"] .sc h4, [lang="ar"] .ps-name,
[lang="ar"] .f-col h4, [lang="ar"] .lb, [lang="ar"] .mlink,
[lang="ar"] .met-name, [lang="ar"] .msc-name, [lang="ar"] .art-cat,
[lang="ar"] .pc-cat, [lang="ar"] .cp, [lang="ar"] .rl {
  font-family: 'Tajawal', 'Poppins', sans-serif;
  font-weight: 700;
}
[lang="ar"] p, [lang="ar"] .svc-desc, [lang="ar"] .met-desc,
[lang="ar"] .art-body p, [lang="ar"] .proj-body p, [lang="ar"] .sr,
[lang="ar"] .f-tagline, [lang="ar"] .f-links a, [lang="ar"] .be,
[lang="ar"] .ps-desc, [lang="ar"] .msc-desc, [lang="ar"] .page-hero-sub {
  font-family: 'Tajawal', 'Nunito Sans', sans-serif;
  line-height: 2;
}

/* ── Nav RTL ── */
[dir="rtl"] .nav-inner { flex-direction: row-reverse; }
[dir="rtl"] .nav-links { flex-direction: row-reverse; margin-right: auto; margin-left: 0; }
[dir="rtl"] .nav-cta   { margin-right: .5rem; margin-left: 0; }
[dir="rtl"] .hamburger { margin-right: auto; margin-left: 0; }
[dir="rtl"] .lang-sw   { flex-direction: row-reverse; }
[dir="rtl"] .footer-grid { direction: rtl; text-align: right; }
[dir="rtl"] .footer-bottom { flex-direction: row-reverse; }

/* ── Titlebar sub-text lisible ── */
.page-hero-sub {
  color: rgba(255, 255, 255, 0.72);
  font-size: .97rem;
  line-height: 1.8;
  margin-top: .6rem;
  max-width: 65ch;
}
.page-hero p { color: rgba(255, 255, 255, 0.65); }

/* ── Logos clients partenaires ── */

.clients-track {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  width: max-content;
  animation: scroll-logos 28s linear infinite;
}
.clients-logos-wrap:hover .clients-track { animation-play-state: paused; }
@keyframes scroll-logos {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Portfolio card entièrement cliquable ── */

a.port-card .pc-link { pointer-events: none; }

/* ── Breadcrumb ── */
.breadcrumb {
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
  font-family: var(--ff-head); font-size: .75rem;
  color: rgba(255,255,255,.5); margin-top: .6rem;
}
.breadcrumb a { color: rgba(255,255,255,.5); transition: color .2s; }
.breadcrumb a:hover { color: var(--red); }

/* ── RTL portfolio/blog cards ── */
[dir="rtl"] .met-svc-card::before { left: auto; right: 0; border-radius: 0 var(--radius) var(--radius) 0; }
[dir="rtl"] .ps { border-right: none; border-left: 1px solid rgba(255,255,255,.08); }
[dir="rtl"] .ps:first-child { border-left: none; }


/* ── Chiffres processus 01-04 plus lisibles ── */
.ps-num {
  font-family: var(--ff-head);
  font-size: 2.8rem;
  font-weight: 700;
  color: rgba(232, 76, 61, 0.55);
  line-height: 1;
  margin-bottom: .75rem;
}
.ps {
  padding: 2rem;
  border-right: 1px solid rgba(255,255,255,.1);
}
.ps:last-child { border-right: none; }
.ps-name {
  font-family: var(--ff-head);
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: .5rem;
}
.ps-desc {
  font-size: .83rem;
  color: rgba(255,255,255,.5);
  line-height: 1.7;
}
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 3rem;
}
@media(max-width:1024px) {
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .ps { border-bottom: 1px solid rgba(255,255,255,.1); }
}
@media(max-width:600px) {
  .process-steps { grid-template-columns: 1fr; }
}

/* ── Logos partenaires/certifications : fond sombre ── */
.cert-logo-item {
  flex-shrink: 0;
  min-width: 120px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.1rem;
  background: #1e2240;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
}
.cert-logo-item img {
  height: 32px;
  width: auto;
  max-width: 100px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
  opacity: .75;
  transition: opacity .2s;
}
.cert-logo-item:hover img { opacity: 1; }

/* ── Section certifications ── */
#certifications {
  background: #1a1a2e;
  padding: clamp(3rem,5vw,4rem) clamp(1rem,4vw,3rem);
}
#certifications .certs-track {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2rem;
}

/* ── Clients : fond blanc avec logos en couleur ── */
/* ── Alternance sections clients / blog ── */
#blog { background: var(--bg2) !important; }

/* ── Clients logo grid ── */
@media(max-width: 1024px) { }
@media(max-width: 600px)  { }


/* ══ SECTION CLIENTS LOGOS ══════════════════════════════════ */
#clients {
  background: #1a1a2e !important;
  padding: clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,3rem);
}
.clients-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 2.5rem;
}
.client-logo-item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1.5rem;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 12px;
  min-height: 88px;
  transition: background .2s, border-color .2s;
}
.client-logo-item:hover {
  background: rgba(255,255,255,.14) !important;
  border-color: rgba(255,255,255,.28) !important;
}
.client-logo-item img {
  max-height: 46px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
  opacity: .82 !important;
  transition: opacity .25s !important;
}
.client-logo-item:hover img { opacity: 1 !important; }
@media(max-width:1024px) { .clients-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:640px)  { .clients-grid { grid-template-columns: repeat(2,1fr); } }


/* ══ RESPONSIVE FIXES ═══════════════════════════════════════ */

/* Clients + Certifications : 4 col → 2 col sur mobile */
@media(max-width:640px) {
  #clients > .container > div[style*="repeat(4"],
  #certifications > .container > div[style*="repeat(4"] {
    grid-template-columns: repeat(2,1fr) !important;
  }
}

/* À propos — histoire : side-by-side → stack sur mobile */
@media(max-width:768px) {
  div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  /* Images gallery dans a-propos : 2 col → 1 col */
  div[style*="grid-template-columns:1fr 1fr"][class*="reveal"] {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Valeurs cards : éviter overflow sur mobile */
@media(max-width:640px) {
  .val-grid,
  div[style*="grid-template-columns:1fr 1fr;gap"] {
    grid-template-columns: 1fr !important;
  }
  /* Grille images a-propos : garder 2 colonnes */
  .reveal.d2 div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Nav : pas de dépassement sur mobile */
@media(max-width:768px) {
  .nav-inner { overflow: hidden; }
}

/* Sections padding réduit sur mobile */
@media(max-width:480px) {
  section { padding-left: .85rem !important; padding-right: .85rem !important; }
  .container { padding: 0 .85rem; }
  h1 { font-size: clamp(1.5rem,6vw,2.2rem) !important; }
  h2 { font-size: clamp(1.25rem,5vw,1.8rem) !important; }
}

/* ─── PHOTO GRID ───────────────────────────────────────── */
.photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .65rem;
  margin-top: 1.25rem;
}
@media(max-width:960px)  { .photo-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:600px)  { .photo-grid { grid-template-columns: repeat(2,1fr); } }

.pgrid-item {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 8px;
  cursor: zoom-in;
  background: #111;
}
.pgrid-item img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .3s;
}
.pgrid-item:hover img { transform: scale(1.05); }


/* ─── LIGHTBOX SIMPLE ──────────────────────────────────── */
#lb {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100100;
  min-width: 100vw;
  min-height: 100vh;
  background: rgba(0,0,0,.65);
  border: none;
  border-radius: 0;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
#lb.open {
  display: flex;
}
.lb-img-wrap {
  position: relative;
  width: min(100%, 1100px);
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
#lb img {
  max-width: 100%;
  max-height: calc(100vh - 2rem);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  display: block;
  outline: none;
  border: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}
.lb-x {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 56px;
  height: 56px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.lb-x:hover {
  background: rgba(255,255,255,.16);
}
.lb-x svg {
  display: block;
  width: 22px;
  height: 22px;
}

@media(max-width:640px) {
  #lb {
    padding: 0;
  }
  .lb-img-wrap {
    max-width: calc(100vw - 1rem);
    max-height: calc(100vh - 1rem);
  }
  #lb img {
    max-height: calc(100vh - 2.5rem);
  }
  .lb-x {
    top: .75rem;
    right: .75rem;
    width: 48px;
    height: 48px;
  }
}

/* ─── VIDEO GRID ────────────────────────────────────────── */
.vgrid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1.25rem;
}
.vgrid-1 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.25rem;
  max-width: 680px;
}
@media(max-width:640px) { .vgrid-2 { grid-template-columns: 1fr; } }

.vitem {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 10px;
  overflow: hidden;
  background: #000;
  cursor: pointer;
  box-shadow: 0 4px 24px rgba(0,0,0,.3);
  -webkit-tap-highlight-color: transparent;
}
.vitem img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: opacity .2s;
}
.vitem:hover img { opacity: .8; }
.vplay {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 54px; height: 54px;
  background: rgba(232,76,61,.9);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
  transition: transform .2s;
}
.vitem:hover .vplay,
.vitem:active .vplay { transform: translate(-50%,-50%) scale(1.08); }
.vitem video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: contain;
  background: #000;
  border-radius: 10px;
}

/* ── NEWSLETTER ── */
.newsletter-form input:focus {
  outline: 2px solid rgba(255,255,255,.3);
  outline-offset: 2px;
}
.btn-white {
  transition: all .2s ease;
}
.btn-white:hover {
  background: rgba(255,255,255,.95) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
@media(max-width:640px) {
  .newsletter-form {
    flex-direction: column;
    gap: .75rem;
  }
  .newsletter-form input,
  .btn-white {
    width: 100%;
    min-width: auto;
  }
}
