/* ==============================
WRAPPER
============================== */

.dz-maquette-wrapper{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
align-items:start;
min-width:0;
}


/* ==============================
TABLE DESKTOP
============================== */

.dz-maquette-table{
display:block;
width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}

.dz-lots-table{
width:100%;
border-collapse:collapse;
background:#fff;
border-radius:12px;
display:table;
overflow-x:auto;
margin-bottom: 0px;
}

.dz-lots-table th,
.dz-lots-table td{
padding:12px 16px;
border-bottom:1px solid #e5e5e5;
text-align:left;
font-size:14px;
white-space:nowrap;
}

.dz-lots-table thead{
background:#f5f5f5;
}

.dz-lots-table th{
font-weight:600;
text-transform:uppercase;
font-size:12px;
letter-spacing:.05em;
}

.dz-lots-table tbody tr{
cursor:pointer;
transition:background .2s;
}

.dz-lots-table tbody tr:hover{
background:#fafafa;
}


/* ==============================
LIENS
============================== */

.dz-lot-link{
font-weight:600;
text-decoration:none;
}

.dz-lot-link:hover{
text-decoration:underline;
}


/* ==============================
STATUT
============================== */

.dz-vendu{
opacity:.3;
}

.dz-status{
display:inline-block;
padding:4px 10px;
border-radius:20px;
font-size:13px;
font-weight:600;
line-height:1;
white-space:nowrap;
}

.dz-vendu .dz-status{
color:#c0392b;
}
.dz-vendu .dz-status{
color:#fff;
background:#e74c3c;
}

.dz-reserve{
opacity:0.6;
}

.dz-reserve .dz-status{
color:#fff;
background:#f39c12;
}
tr:not(.dz-vendu):not(.dz-reserve) .dz-status{
background:#eaf7ee;
color:#2e7d32;
}


/* ==============================
IMAGE
============================== */

.dz-maquette-image{
display:flex;
justify-content:center;
}

.dz-maquette-image img{
max-width:100%;
max-height:650px;
object-fit:contain;
transition: opacity .35s ease;
}


/* ==============================
MOBILE
============================== */

.dz-mobile{
display:none;
}

@media(max-width:900px){

.dz-maquette-wrapper{
grid-template-columns:1fr;
gap:10px;
}

.dz-maquette-image{
order:-1;
}

.dz-desktop{
display:none;
}

.dz-mobile{
display:block;
}

}


/* ==============================
ACCORDÉON
============================== */

.dz-etage{
margin:0;
border:none;
}

.dz-etage summary{
cursor:pointer;
padding:12px 16px;
font-weight:600;
background:#f5f5f5;
border-top:1px solid #e5e5e5;
}

.dz-etage summary::-webkit-details-marker{
display:none;
}



/* ==============================
SCROLL MOBILE
============================== */

.dz-scroll{
overflow-x:auto;
-webkit-overflow-scrolling:touch;
margin-bottom:20px;  /* espace visuel */
width:100%;
}

.dz-scroll table{
width:100%;
min-width:400px;
}
.dz-scroll::-webkit-scrollbar{
height:6px;
}

.dz-scroll::-webkit-scrollbar-track{
background:transparent;
}

.dz-scroll::-webkit-scrollbar-thumb{
background:#ccc;
border-radius:10px;
}


/* ==============================
TABLE MOBILE
============================== */

@media(max-width:900px){

.dz-lots-table th,
.dz-lots-table td{
padding:6px 8px;
font-size:13px;
}

}


/* ==============================
LOT ACTIF
============================== */

.dz-active{
background:#e6f0ff !important;
border-left:4px solid #4a7cff;
}

.dz-status{
font-weight:600;
}


/* effet glow sur la maquette */

.dz-maquette-image img{
  transition: opacity .35s ease, filter .35s ease;
}

/* quand un lot est actif */

.dz-maquette-image img.dz-glow{
filter:     drop-shadow(0 0 3px rgba(80,200,120,0.35))
    drop-shadow(0 0 6px rgba(80,200,120,0.25));
}

@keyframes dzGlowPulse {

  0%{
    filter:
      drop-shadow(0 0 3px rgba(80,200,120,0.25))
      drop-shadow(0 0 6px rgba(80,200,120,0.20));
  }

  50%{
    filter:
      drop-shadow(0 0 4px rgba(80,200,120,0.35))
      drop-shadow(0 0 8px rgba(80,200,120,0.25));
  }

  100%{
    filter:
      drop-shadow(0 0 3px rgba(80,200,120,0.25))
      drop-shadow(0 0 6px rgba(80,200,120,0.20));
  }

}

.dz-maquette-image img.dz-glow{
  animation: dzGlowPulse 2.2s ease-in-out infinite;
}
