body { font-family: 'Segoe UI', sans-serif; }
.slide {
  width: 100%;
  flex-shrink: 0;
  height: 420px;
  object-fit: cover;
  border-radius: 25px;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d1d5db;
  cursor: pointer;
  transition: all 0.3s ease;
}

.dot.active {
  background: #f97316;
  transform: scale(1.2);
}
/* colonne images */

.attract-grid{
display:flex;
flex-direction:column;
gap:16px;
}

/* carte */

.attract-card{
position:relative;
width:100%;
aspect-ratio:1/1;
overflow:hidden;
border-radius:18px;
box-shadow:0 15px 35px rgba(0,0,0,0.25);
}

/* image */

.attract-card img{
width:100%;
height:100%;
object-fit:cover;

animation:industrialMove 12s ease-in-out infinite;
transition:transform .6s ease;
}

/* texte */

.attract-card span{
position:absolute;
bottom:0;
left:0;
right:0;
background:rgba(0,0,0,0.55);
color:white;
font-size:13px;
padding:8px;
text-align:center;
}

/* animation automatique */

@keyframes industrialMove{

0%{
transform:scale(1) translateY(0);
}

50%{
transform:scale(1.08) translateY(-6px);
}

100%{
transform:scale(1) translateY(0);
}

}

/* décalage animation */

.attract-card:nth-child(2) img{
animation-delay:2s;
}

.attract-card:nth-child(3) img{
animation-delay:4s;
}

.attract-card:nth-child(4) img{
animation-delay:6s;
}

/* effet souris */

.attract-card:hover img{
transform:scale(1.15) translateY(-10px);
}

/* ===============================
CLUSTERS ORANGE
================================ */

.marker-cluster-small {
background: rgba(249,115,22,0.3);
}

.marker-cluster-small div {
background: rgba(249,115,22,0.9);
color:white;
font-weight:bold;
}

.marker-cluster-medium {
background: rgba(249,115,22,0.3);
}

.marker-cluster-medium div {
background: rgba(249,115,22,0.9);
color:white;
font-weight:bold;
}

.marker-cluster-large {
background: rgba(249,115,22,0.3);
}

.marker-cluster-large div {
background: rgba(249,115,22,0.9);
color:white;
font-weight:bold;
}

/* icone industrie */

.custom-industrie-icon{
font-size:22px;
text-align:center;
line-height:28px;
background:white;
border-radius:50%;
box-shadow:0 4px 12px rgba(0,0,0,0.25);
border:2px solid #f97316;
}

/* ===============================
TICKER ACTUALITES
================================ */

.actu-ticker-wrapper{
height:650px;      /* zone visible */
overflow:hidden;
position:relative;
}

.actu-ticker{
display:flex;
flex-direction:column;
gap:18px;
}

.actu-item{
display:flex;
gap:12px;
align-items:flex-start;
padding:6px;
border-radius:10px;
text-decoration:none;
transition:background .2s;
}

.actu-item:hover{
background:#f9fafb;
}

.actu-item img{
width:80px;
height:80px;
object-fit:cover;
border-radius:12px;
flex-shrink:0;
}

.actu-date{
font-size:12px;
color:#16a34a;
font-weight:600;
margin-bottom:2px;
}

.actu-item h4{
font-size:14px;
font-weight:500;
color:#166534;
line-height:1.4;
}

.actu-item:hover h4{
color:#f97316;
}