.elementor-98 .elementor-element.elementor-element-1decb44{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-1decb44 *//* =========================================================
   COMM’WEB — RÉALISATIONS premium (images + filtres CSS)
   ========================================================= */

.cw-workHero{
  padding: 56px 0 22px;
  position: relative;
  overflow: hidden;
}
.cw-workHero:before{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(55% 55% at 18% 18%, rgba(46,91,140,.18), transparent 60%),
    radial-gradient(55% 55% at 88% 28%, rgba(255,122,0,.14), transparent 60%),
    radial-gradient(60% 60% at 55% 82%, rgba(31,58,95,.10), transparent 62%);
  pointer-events:none;
}
.cw-workHero .cw-wrap{ position: relative; }

.cw-workHero__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items: start;
}

/* Photo slot optionnel */
.cw-photoSlot{
  display:flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 140px;
  padding: 16px;
  border-radius: var(--cw-radius, 22px);
  border: 1px dashed rgba(15,23,42,.18);
  background: rgba(255,255,255,.70);
  box-shadow: 0 14px 44px rgba(2,8,23,.08);
  text-decoration:none;
  color: rgba(11,18,32,.86);
}
.cw-photoSlot__title{ font-weight: 950; }
.cw-photoSlot__sub{ font-weight: 800; color: rgba(11,18,32,.68); }

/* Filters */
.cw-filters{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 18px;
}
.cw-filter__input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.cw-filter__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.65);
  font-weight: 950;
  font-size: 13px;
  color: rgba(11,18,32,.82);
  cursor: pointer;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}
.cw-filter__btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.85); }

/* Active tab styles */
#cw-all:checked ~ .cw-workGrid,
#cw-site:checked ~ .cw-workGrid,
#cw-ecom:checked ~ .cw-workGrid,
#cw-seo:checked ~ .cw-workGrid,
#cw-soft:checked ~ .cw-workGrid,
#cw-town:checked ~ .cw-workGrid{ }

#cw-all:checked + label,
#cw-site:checked + label,
#cw-ecom:checked + label,
#cw-seo:checked + label,
#cw-soft:checked + label,
#cw-town:checked + label{
  color: #fff;
  border-color: rgba(31,58,95,.20);
  background: linear-gradient(135deg, var(--cw-blue, #1F3A5F), var(--cw-blue2, #2E5B8C));
  box-shadow: 0 12px 28px rgba(31,58,95,.18);
}

/* Grid cards */
.cw-workGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

/* Card */
.cw-workCard{
  border-radius: var(--cw-radius, 22px);
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  box-shadow: 0 14px 44px rgba(2,8,23,.08);
  transition: transform .18s ease, box-shadow .18s ease;
}
.cw-workCard:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 60px rgba(2,8,23,.12);
}

.cw-workCard__media{
  display:block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: rgba(15,23,42,.04);
}
.cw-workCard__media img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .25s ease;
}
.cw-workCard:hover .cw-workCard__media img{ transform: scale(1.06); }

.cw-workCard__body{ padding: 16px; }

.cw-workCard__meta{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items:center;
  margin-bottom: 10px;
}
.cw-tag{
  display:inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(31,58,95,.08);
  color: var(--cw-blue, #1F3A5F);
  border: 1px solid rgba(31,58,95,.16);
  font-weight: 950;
  font-size: 12px;
}
.cw-tag--soft{
  background: rgba(255,122,0,.10);
  border-color: rgba(255,122,0,.18);
  color: rgba(11,18,32,.86);
}
.cw-city{
  margin-left: auto;
  font-weight: 900;
  font-size: 12px;
  color: rgba(11,18,32,.64);
}

.cw-workCard__title{
  margin: 0 0 8px;
  font-weight: 950;
  font-size: 18px;
  letter-spacing: -.2px;
  color: rgba(11,18,32,.92);
}
.cw-workCard__txt{
  margin: 0;
  color: rgba(11,18,32,.74);
  line-height: 1.55;
}

.cw-workCard__actions{
  display:flex;
  align-items:center;
  gap: 10px;
  margin-top: 12px;
}
.cw-miniBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  font-weight: 950;
  font-size: 13px;
  text-decoration:none;
  color: #fff;
  background: linear-gradient(135deg, var(--cw-orange, #FF7A00), var(--cw-orange2, #FF9A3D));
  box-shadow: 0 14px 36px rgba(255,122,0,.18);
  transition: transform .18s ease, box-shadow .18s ease;
}
.cw-miniBtn:hover{ transform: translateY(-1px); box-shadow: 0 18px 44px rgba(255,122,0,.24); }

.cw-miniLink{
  font-weight: 950;
  color: var(--cw-blue, #1F3A5F);
  text-decoration:none;
}
.cw-miniLink:hover{ text-decoration: underline; }

/* CTA spacing */
.cw-workCta{ margin-top: 18px; }

/* Filters logic (CSS only) */
#cw-site:checked ~ .cw-workGrid .cw-workCard:not(.cw-cat-site){ display:none; }
#cw-ecom:checked ~ .cw-workGrid .cw-workCard:not(.cw-cat-ecom){ display:none; }
#cw-seo:checked  ~ .cw-workGrid .cw-workCard:not(.cw-cat-seo){ display:none; }
#cw-soft:checked ~ .cw-workGrid .cw-workCard:not(.cw-cat-soft){ display:none; }
#cw-town:checked ~ .cw-workGrid .cw-workCard:not(.cw-cat-town){ display:none; }

/* Responsive */
@media (max-width: 1024px){
  .cw-workHero__grid{ grid-template-columns: 1fr; }
  .cw-workGrid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .cw-workGrid{ grid-template-columns: 1fr; }
  .cw-city{ margin-left: 0; }
  .cw-workCard__actions{ flex-direction: column; align-items: stretch; }
  .cw-miniBtn{ width:100%; }
}
/* =========================================================
   REALISATIONS — version premium compacte
   ========================================================= */

.cw-workGrid{
  max-width: 1000px;
  margin: 0 auto;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.cw-workCard__body{
  padding: 20px;
}

.cw-workCard__title{
  font-size: 20px;
}

.cw-workCard__txt{
  font-size: 15px;
}

/* hero plus compact */
.cw-workHero{
  padding: 50px 0 20px;
}

/* filtres centrés */
.cw-filters{
  justify-content: center;
  margin-bottom: 26px;
}

/* responsive */
@media (max-width: 768px){
  .cw-workGrid{
    grid-template-columns: 1fr;
    max-width: 640px;
  }
}
/* =========================================================
   FIX CENTRAGE HERO REALISATIONS
   ========================================================= */

.cw-workHero__grid{
  grid-template-columns: 1fr;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.cw-workHero__ctas{
  justify-content: center;
}

/* masque le placeholder photo */
.cw-photoSlot{
  display: none;
}
/* =========================================================
   HERO REALISATIONS — centrage réel du contenu
   ========================================================= */

.cw-workHero .cw-wrap{
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.cw-workHero__ctas{
  justify-content: center;
}

/* si la grille existe encore */
.cw-workHero__grid{
  display: block;
}

/* masque la zone photo */
.cw-photoSlot{
  display:none;
}
/* =========================================================
   REALISATIONS — Centrage "Projets récents" + texte dessous
   À coller en dernier
   ========================================================= */

/* 1) Centre le titre + sous-texte */
.cw-work .cw-section__head{
  max-width: 760px;
  margin: 0 auto 18px;
  text-align: center;
}

/* 2) Si Elementor injecte des <p> sans class, on assure */
.cw-work .cw-section__head p,
.cw-work .cw-section__head .cw-sub{
  margin-left: auto;
  margin-right: auto;
}

/* 3) Harmonise l'espacement (optionnel mais plus propre) */
.cw-work .cw-section__head .cw-h2{ margin-bottom: 10px; }
.cw-work .cw-section__head .cw-sub{ max-width: 68ch; }
/* =========================================================
   REALISATIONS — Centrage CTA "Vous voulez le même rendu ?"
   À coller en dernier
   ========================================================= */

.cw-work .cw-ctaBox{
  max-width: 900px;
  margin: 22px auto 0;
  justify-content: center;
  text-align: center;
}

.cw-work .cw-ctaBox p{
  margin-left: auto;
  margin-right: auto;
  max-width: 70ch;
}

/* centre les boutons du CTA */
.cw-work .cw-ctaBox__ctas{
  justify-content: center;
}/* End custom CSS */