/* V229: estados do Estudio e controles compactos do rodape. */
.photo-preview-card.photo-studio-v229 #profilePhotoPositionTray.is-empty:not([hidden]) {
  display: grid !important;
}

.photo-preview-card.photo-studio-v229 #profilePhotoPositionTray.is-empty .photo-adjust-panel {
  display: grid !important;
  height: 128px !important;
  min-height: 128px !important;
  max-height: 128px !important;
  visibility: hidden;
  pointer-events: none;
}

.photo-preview-card.photo-studio-v229 .photo-studio-action-choice {
  display: grid;
  grid-template-rows: auto minmax(28px, auto);
  align-content: start;
  gap: 5px;
  min-width: 0;
}

.photo-preview-card.photo-studio-v229 .photo-studio-action-choice > small {
  display: block;
  margin: 0;
  color: #31415d;
  font-size: 9.75px;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
}

.photo-preview-card.photo-studio-v229 .photo-studio-path-note {
  color: #263b5e !important;
  font-weight: 700 !important;
}

.photo-preview-card.photo-studio-v229 .photo-studio-path-item.is-unmeasured {
  border-color: #b8c9df !important;
  background: #f1f6fb !important;
  color: #264568 !important;
}

.photo-preview-card.photo-studio-v229 .photo-studio-path-item.is-unmeasured .photo-studio-category-symbol {
  background: #dce8f5 !important;
  color: #264568 !important;
}

.photo-preview-card.photo-studio-v229 .photo-studio-review-copy {
  color: #31415d !important;
  font-size: 11.25px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  opacity: 1 !important;
}

.photo-preview-card.photo-studio-v229 .photo-studio-review-list {
  display: grid !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #263b5e !important;
  font-size: 11.25px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
  list-style: none !important;
  opacity: 1 !important;
}

.photo-preview-card.photo-studio-v229 .photo-studio-review-list > li {
  position: relative;
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.photo-preview-card.photo-studio-v229 .photo-studio-review-list > li::before {
  content: "";
  position: static !important;
  inset: auto !important;
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  margin-top: 5px;
  border-radius: 50%;
  background: #1689d6;
}

#personalizationPanel .cv-footer-compact-actions {
  display: grid !important;
  grid-template-columns: minmax(48px, 1fr) 38px 38px !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

#personalizationPanel .cv-footer-visibility-toggle {
  justify-self: start !important;
  width: 48px !important;
  min-width: 48px !important;
  min-height: 30px !important;
  margin: 0 !important;
}

#personalizationPanel .cv-footer-icon-button {
  display: inline-grid !important;
  place-items: center !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

#personalizationPanel .cv-footer-icon-button svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}

#personalizationPanel .cv-footer-icon-button:disabled {
  opacity: 0.48 !important;
}

@media (max-width: 390px) {
  .photo-preview-card.photo-studio-v229 #profilePhotoPositionTray.is-empty .photo-adjust-panel {
    height: 124px !important;
    min-height: 124px !important;
    max-height: 124px !important;
  }

  .photo-preview-card.photo-studio-v229 .photo-studio-review-copy,
  .photo-preview-card.photo-studio-v229 .photo-studio-review-list {
    font-size: 10.75px !important;
  }

  .photo-preview-card.photo-studio-v229 .photo-studio-action-choice > small {
    font-size: 9.25px;
  }
}

/* V230: every personalization control must fit the 320px side surface. */
@media (max-width: 360px) {
  #personalizationPanel .settings-group {
    min-width: 0 !important;
    padding-inline: 10px !important;
    box-sizing: border-box !important;
  }

  #personalizationPanel .cv-perso-photo-stage {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  #personalizationPanel .cv-perso-photo-visual,
  #personalizationPanel .cv-perso-photo-summary,
  #personalizationPanel .cv-perso-photo-actions {
    min-width: 0 !important;
  }

  #personalizationPanel .cv-profile-photo-panel-preview {
    width: 84px !important;
    max-width: 100% !important;
  }

  #personalizationPanel .cv-perso-photo-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  #personalizationPanel .cv-perso-photo-actions .cv-photo-history-button {
    grid-column: 1 / -1 !important;
  }

  #personalizationPanel .cv-perso-photo-actions :is(
    .cv-photo-history-button,
    .cv-photo-edit,
    .cv-photo-studio-button,
    .cv-photo-change,
    .settings-remove
  ) {
    min-width: 0 !important;
    padding-inline: 4px !important;
    font-size: 9px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  #personalizationPanel .cv-perso-photo-actions .photo-preview-icon {
    display: none !important;
  }

  #personalizationPanel .cv-perso-actions:not(.cv-perso-photo-actions):not(.cv-footer-compact-actions),
  #personalizationPanel .cv-watermark-fit {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  #personalizationPanel .cv-perso-actions:not(.cv-perso-photo-actions):not(.cv-footer-compact-actions) > button,
  #personalizationPanel .cv-watermark-fit > button {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 6px !important;
    font-size: 9.5px !important;
    white-space: normal !important;
  }

  #personalizationPanel .cv-watermark-fit > button:last-child {
    grid-column: 1 / -1 !important;
  }

  #personalizationPanel .cv-perso-range-row {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  #personalizationPanel :is(.cv-perso-status, .settings-hint, .cv-footer-foundation-lock span) {
    overflow-wrap: anywhere !important;
  }
}
