/* Appointment and photo fields follow the existing inquiry form system. */
.lv-visit[hidden], .lv-photo-clear[hidden], .lv-photo-notice[hidden], .lv-visit-retry[hidden] { display: none !important; }
.lv-inquiry .lv-visit { grid-column: 1 / -1; border: 1px solid #d8d5ce; background: #f5f3ee; padding: 24px; }
.lv-visit__heading { font-size: 16px; line-height: 1.7; font-weight: 600; margin: 0 0 9px; }
.lv-inquiry .lv-visit__intro { color: #62615d; font-size: 12px; line-height: 1.9; margin: 0 0 20px; }
.lv-visit__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.lv-inquiry .lv-visit .lv-input { background-color: #fff; }
.lv-inquiry .lv-visit .lv-input:disabled { color: #77756f; background-color: #efede7; cursor: not-allowed; }
.lv-visit__status { font-size: 12px; color: #62615d; line-height: 1.9; margin: 16px 0 0; }
.lv-visit__selected { margin: 12px 0 0; font-size: 14px; font-weight: 600; line-height: 1.8; }
.lv-visit__selected:empty { display: none; }
.lv-visit-retry { margin-top: 12px; border: 1px solid #181818; background: #fff; color: #181818; padding: 9px 15px; font: inherit; font-size: 12px; cursor: pointer; }
.lv-visit-retry:hover { background: #181818; color: #fff; }
.lv-photo-summary { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.lv-inquiry .lv-photo-count { font-size: 12px; color: #62615d; margin: 0; line-height: 1.8; }
.lv-photo-clear { padding: 3px 0; border: 0; border-bottom: 1px solid #62615d; background: transparent; font: inherit; font-size: 11px; color: #62615d; cursor: pointer; }
.lv-photo-list { list-style: none; padding: 0; margin: 0; max-height: 260px; overflow-y: auto; }
.lv-photo-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 0; border-bottom: 1px solid #e8e5de; }
.lv-photo-info { display: flex; align-items: baseline; gap: 14px; min-width: 0; }
.lv-photo-name { display: block; color: #181818; font-size: 12px; overflow-wrap: anywhere; }
.lv-photo-size { white-space: nowrap; color: #62615d; font-size: 10px; }
.lv-photo-remove { flex-shrink: 0; background: #fff; border: 1px solid #c9c6bf; color: #62615d; padding: 6px 12px; font: inherit; font-size: 11px; cursor: pointer; }
.lv-photo-remove:hover { border-color: #181818; color: #181818; }
.lv-photo-clear:disabled, .lv-photo-remove:disabled { opacity: .5; cursor: wait; }
.lv-inquiry .lv-photo-notice { padding: 12px 14px; border-left: 2px solid #181818; background: #f5f3ee; color: #181818; font-size: 12px; line-height: 1.8; margin: 0; }
.lv-visit-retry:focus-visible, .lv-photo-clear:focus-visible, .lv-photo-remove:focus-visible { outline: 2px solid #181818; outline-offset: 3px; }
@media (max-width: 640px) {
  .lv-inquiry .lv-visit { padding: 20px 15px; }
  .lv-visit__grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .lv-photo-info { display: block; }
}

