/* ========================================
   Documentation 
   ======================================== */

.theme-documentation {
  background-color: var(--documentation-bg);
  border: 1px solid var(--documentation-border);
  color: var(--documentation-text);
}

.theme-documentation {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Nav button styling */
:root {
  --documentation-bg: #faf8f2;
  --documentation-hover: #f3eee1;
  --documentation-active: #ebe3d0;
  --documentation-border: #d8c9a8;
  --documentation-text: #333333;
}

#frameDocumentationOptions {
  margin-bottom: 16px;
}

#framePictures {
  background: #fff9e8;
}

#frameMetadata {
  background: #f5fbf0;
}

#frameDesignNotes {
  background: #fff7ee;
}

#framePictures > h3,
#frameMetadata > h3,
#frameDesignNotes > h3 {
  margin: 0 0 18px 0;

  font-size: 24px;
  font-weight: 600;

  color: #2f2f2f;
  letter-spacing: 0.2px;
}

/* =========================================
   Pictures
   ========================================= */
#framePictures {
  border: 1px solid var(--documentation-border);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 32px;
}

#pictureLegend {
  display: flex;
  gap: 30px;
  margin-bottom: 12px;
}

.picturePrimarySample {
  width: 24px;
  height: 24px;
  border: 3px solid red;
}

.pictureSelectedSample {
  width: 24px;
  height: 24px;
  border: 3px solid cornflowerblue;
}

.pictureLegendItem {
  display: flex;
  align-items: center;
  gap: 8px;
}

#pictureHeader {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.pictureInstruction {
  white-space: nowrap;
}

#pictureMessage {
  margin-bottom: 16px;
  width: fit-content;
}

#picturesLeftRight {
  display: flex;
  gap: 20px;
}

#picturesLeft {
  flex: 1;
  height: 260px;

  border: 1px solid var(--documentation-border);
  border-radius: 8px;

  padding: 8px;
  overflow: hidden;
}

#picturesList {
  display: flex;
  flex-direction: row;
  align-items: flex-start;

  gap: 12px;

  overflow-x: auto;
  overflow-y: hidden;

  height: 100%;

  padding-top: 6px;
  padding-bottom: 6px;
}

#picturesRight {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#picturesRight button {
  width: 120px;
}

.pictureItem {
  flex-shrink: 0;
}

.pictureItem img {
  height: 220px;
  width: auto;
  display: block;
}

.picturePrimary {
  border: 8px solid red;
}

.pictureSelected {
  outline: 8px solid cornflowerblue;
  outline-offset: 1px;
}

/* =========================================
   Metadata
   ========================================= */

#frameMetadata {
  border: 1px solid var(--documentation-border);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 32px;
}

#frameDesignNoteInstruction h3,
#frameMetaInstruction h3 {
  margin: 0 0 16px 0;

  font-size: 22px;
  font-weight: 600;

  color: #2f2f2f;
  letter-spacing: 0.2px;
}

.metadataHeading {
  margin-top: 20px;
  margin-bottom: 6px;

  font-size: 17px;
  font-weight: 600;

  color: #444;
}

.metadataText {
  margin: 0;

  font-size: 15px;
  line-height: 1.5;

  color: #555;
}

#metadataLeftRight {
  display: flex;
  gap: 20px;
}

#frameMetaItems {
  flex: 1;

  height: 300px; /* or whatever looks good */
  overflow-y: auto;
  overflow-x: hidden;

  border: 1px solid var(--documentation-border);
  border-radius: 8px;

  padding: 12px;
}

#frameMetaEdits {
  width: 550px;

  border: 1px solid var(--documentation-border);
  border-radius: 8px;

  padding: 16px;

  display: flex;
  flex-direction: column;
}

#frameMetaButtons {
  display: flex;
  justify-content: center;

  gap: 10px;
  margin-bottom: 12px;
}

#frameMetaButtons button {
  min-width: 70px;
  padding: 5px 12px;

  font-size: 14px;
  font-weight: 600;
}

#frameMetaInstruction {
  padding: 0;
}

#frameMetaControls {
  margin-top: 12px;
}

#frameMetaControls textarea {
  min-height: 180px;
  resize: vertical;
}

#frameMetaControls input,
#frameMetaControls textarea,
#frameMetaControls select {
  width: 100%;
  box-sizing: border-box;

  font-family: inherit;
  font-size: 18px;
  line-height: 1.4;
}

.metadataCard {
  margin-bottom: 12px;
  padding: 8px;
  cursor: pointer;
}

.metadataCardSelected {
  border: 4px solid cornflowerblue;
  border-radius: 8px;
}

.metadataPolicy {
  color: #2f4f6f;
  font-weight: 500;
}

.metadataLabel {
  display: inline-block;

  padding: 3px 8px;

  font-size: 18px;
  font-weight: 600;

  border-radius: 3px;
}

.metadataValue {
  display: block;

  margin-top: 8px;
  padding: 0;

  font-size: 18px;
  line-height: 1.4;

  background: transparent;

  width: auto;
}

/* =========================================
   Design Notes
   ========================================= */

#frameDesignNotes {
  border: 1px solid var(--documentation-border);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 16px;
}

#designNotesLeftRight {
  display: flex;
  gap: 20px;
}

#frameDesignNotesItems {
  flex: 1;

  height: 300px;
  overflow-y: auto;
  overflow-x: hidden;

  border: 1px solid var(--documentation-border);
  border-radius: 8px;

  padding: 12px;
}

#frameDesignNoteEdits {
  width: 640px;

  border: 1px solid var(--documentation-border);
  border-radius: 8px;

  padding: 16px;

  display: flex;
  flex-direction: column;
}

/* ----------------------------------------
   Design Note Buttons
   ---------------------------------------- */

#frameDesignNoteButtons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  gap: 10px;
  margin-bottom: 12px;
}

#frameDesignNoteButtons button {
  min-width: 70px;
  padding: 5px 12px;

  font-size: 14px;
  font-weight: 600;
}

/* ----------------------------------------
   Design Note Instruction
   ---------------------------------------- */

#frameDesignNoteInstruction {
  padding: 0;
  min-height: 60px;

  font-size: 18px;
  line-height: 1.45;
}

#frameDesignNoteInstruction h3 {
  margin: 0 0 16px 0;

  font-size: 28px;
  font-weight: 600;

  color: #2f2f2f;
  letter-spacing: 0.2px;
}

/* ----------------------------------------
   Design Note Editing Control
   ---------------------------------------- */

#frameDesignNoteControls {
  margin-top: 12px;
}

#frameDesignNoteControls textarea {
  width: 100%;
  min-height: 180px;

  box-sizing: border-box;
  resize: vertical;

  padding: 10px;

  font-family: inherit;
  font-size: 18px;
  line-height: 1.45;

  border: 1px solid #aaa;
  border-radius: 4px;
}

#frameDesignNoteControls input {
  width: 100%;
  box-sizing: border-box;

  padding: 8px 10px;

  font-family: inherit;
  font-size: 18px;
}

/* ----------------------------------------
   Design Note Cards
   ---------------------------------------- */

.designNoteCard {
  margin-bottom: 8px;
  padding: 6px 18px;

  cursor: pointer;

  border: 1px solid var(--documentation-border);
  border-radius: 8px;

  background-color: var(--documentation-bg);
}

.designNoteCard:hover {
  background-color: var(--documentation-hover);
}

.designNoteCardSelected {
  border: 4px solid cornflowerblue;
}

.designNoteText {
  white-space: pre-wrap;

  max-width: 700px;
  line-height: 1.45;
  font-size: 18px;
}

.designNoteText {
  line-height: 1.35;
}
