* {
    font-size: 16px;
    color: #202020;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

div.ui {
    width: 100vw;
    height: 100vh;

    position: fixed;
    top: 0;
    left: 0;

    z-index: 500;
    pointer-events: none;
}

div.ui div.date-container {
    pointer-events: all;
    width: 180px;
    display: flex;
    justify-content: center;

    margin: 25px auto 0 auto;
    background: #95a5a6;
    border-radius: 25px;
    padding: 8px 6px;
}

div.ui div.date-container .date-input {
    border: 0;
    outline: 0;
    background: transparent;
    text-align: center;
    color: #fff;
    display: inline-block;
} 


.plan-wrapper{
  width: 100%;
  height: 100vh;              /* ou 100vh si plein écran */
  overflow: auto;            /* scroll */
  -webkit-overflow-scrolling: touch; /* scroll fluide iOS */
  border: 1px solid #ddd;
  background: #f7f7f7;
}

.plan {
  position: relative;        /* base pour les enfants en absolute */
  width: 2000px;             /* taille du plan (à adapter) */
  height: 1200px;
  background: white;         /* ou image de fond */
  /* background: url('plan.png') no-repeat; background-size: cover; */

  
}

.element {
  position: absolute;
  box-sizing: border-box;
  border: 1px solid #202020;
  background: rgba(30, 136, 229, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 14px/1.2 system-ui, sans-serif;
  user-select: none;
  cursor: pointer;
}

.element:active{
  transform: scale(0.99);
}


.photo-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 1000;
}

.photo-modal.is-open{ display: block; }

.modal_backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  pointer-events: auto;
}


.modal_panel{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(520px, calc(100% - 24px));
    max-height: min(80vh, 680px);
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    pointer-events: auto;
}

.modal_header{
    display: flex;
    justify-content: space-between;
    align-items: start;
    padding: 14px 16px;
    border-bottom: 1px solid #eee;
}

.modal_title{ font: 600 16px system-ui; }
.modal_subtitle{ font: 12px system-ui; color: #666; margin-top: 2px; }

.modal_close{
    border: 0;
    background: transparent;
    font-size: 18px;
    cursor: pointer;
}