/* モーダル基礎 */
.pdr-modal[hidden]{ display:none !important; }
.pdr-modal{
  position: fixed; inset: 0; z-index: 10000;
}
.pdr-modal__overlay{
  position: absolute; inset: 0; background: rgba(0,0,0,.45);
}
.pdr-modal__dialog{
  position: relative;
  max-width: 720px; width: calc(100% - 32px);
  max-height: calc(100vh - 80px);
  margin: 40px auto;
  background: #fff; border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
}
.pdr-modal__header{
  display:flex; align-items:center; justify-content:space-between;
  padding: 12px 16px; border-bottom: 1px solid #eee;
}
.pdr-modal__footer{
  display:flex; gap:10px; justify-content:flex-end;
  padding: 12px 16px; border-top: 1px solid #eee;
}
.pdr-close{
  background: none; border: 0; font-size: 22px; line-height: 1; cursor: pointer;
}

/* モーダル内フォーム */
.pdr-form{
  padding: 12px 16px; overflow: auto;
}
.pdr-field{ margin: 8px 0; }
.pdr-field input[type="text"],
.pdr-field input[type="email"],
.pdr-field input[type="tel"],
.pdr-field input[type="date"],
.pdr-field textarea{
  width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid #ddd; border-radius: 6px;
}

/* プレビュー */
.pdr-selected-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 8px;
  margin: 8px 0 16px;
}
.pdr-selected-grid--inmodal{ margin: 0 16px 12px; }
.pdr-selected-item{
  aspect-ratio: 1 / 1; overflow: hidden; border-radius: 6px; outline: 1px solid rgba(0,0,0,.08); cursor: pointer;
}
.pdr-selected-item img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* ギャラリー */
.pdr-gallery{
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px; margin: 10px 0 16px;
}
.pdr-item{ display:block; }
.pdr-item img{ width:100%; height:120px; object-fit:cover; border-radius:4px; display:block; }
.pdr-name{ display:block; font-size:12px; color:#555; margin-top:4px; line-height:1.3; word-break:break-all; }

.pdr-actions{ margin: 12px 0 4px; }
.pdr-open-modal[disabled]{ opacity:.5; cursor:not-allowed; }

.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
