.corvin-surface {
  --corvin-surface-gap: clamp(1rem, 3vw, 2.5rem);
  --corvin-surface-panel: var(--corvin-color-beige, #f4efe7);
  --corvin-surface-border: rgba(0, 0, 0, 0.12);
  --corvin-surface-text: var(--corvin-color-black, #111);
  --corvin-surface-muted: var(--corvin-color-grey, #666);
}

.corvin-product-surface {
  margin: clamp(1.5rem, 4vw, 4rem) auto;
  color: var(--corvin-surface-text);
}

.corvin-product-surface__header {
  max-width: 76rem;
  margin: 0 auto var(--corvin-surface-gap);
  padding: clamp(1.2rem, 3vw, 2.5rem);
  background: var(--corvin-surface-panel);
  border: 1px solid var(--corvin-surface-border);
}

.corvin-product-surface__eyebrow,
.corvin-photo-detail__eyebrow {
  margin: 0 0 0.5rem;
  color: var(--corvin-surface-muted);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.corvin-product-surface__title {
  margin: 0;
  font-size: clamp(2rem, 5vw, 4.75rem);
  line-height: 0.95;
}

.corvin-product-surface__intro {
  max-width: 48rem;
  margin: 1rem 0 0;
  color: var(--corvin-surface-muted);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.corvin-product-surface__body {
  max-width: 76rem;
  margin: 0 auto;
}

.corvin-product-surface__actions,
.corvin-photo-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.corvin-product-surface__actions {
  margin: 1.25rem 0 0;
}

.corvin-button,
.corvin-photo-detail__actions .corvin-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.85rem;
  border: 1px solid var(--corvin-surface-text);
  color: var(--corvin-surface-text);
  text-decoration: none;
}

.corvin-button:hover,
.corvin-button:focus {
  text-decoration: underline;
}

.corvin-button--primary,
.corvin-photo-detail__actions .corvin-button--primary {
  background: var(--corvin-surface-text);
  color: #fff;
}

.corvin-photo-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: var(--corvin-surface-gap);
  align-items: start;
  margin: clamp(1.5rem, 4vw, 4rem) 0;
}

.corvin-photo-detail__figure {
  margin: 0;
  background: #111;
}

.corvin-photo-detail__figure img {
  display: block;
  width: 100%;
  height: auto;
}

.corvin-photo-detail__panel {
  padding: clamp(1rem, 2vw, 1.75rem);
  background: var(--corvin-surface-panel);
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-detail__title {
  margin: 0 0 1rem;
}

.corvin-photo-detail__caption {
  margin: 0 0 1.25rem;
}

.corvin-photo-detail__metadata {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.35rem 0.75rem;
  margin: 0 0 1.25rem;
}

.corvin-photo-detail__metadata dt {
  color: var(--corvin-surface-muted);
  font-weight: 600;
}

.corvin-photo-detail__metadata dd {
  margin: 0;
}

.corvin-directory__section {
  margin: 0 0 var(--corvin-surface-gap);
}

.corvin-directory__section h2,
.corvin-related-photos h2,
.corvin-policy h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.2rem, 2vw, 1.75rem);
}

.corvin-directory__grid,
.corvin-directory__cards,
.corvin-related-photos__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.corvin-directory__grid a,
.corvin-directory__cards a,
.corvin-directory__cards li,
.corvin-related-photos__item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 100%;
  padding: 0.85rem;
  border: 1px solid var(--corvin-surface-border);
  background: #fff;
  color: var(--corvin-surface-text);
  text-decoration: none;
}

.corvin-directory__grid small,
.corvin-directory__cards small {
  color: var(--corvin-surface-muted);
}

.corvin-directory__thumb,
.corvin-related-photos__item img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  background: #111;
}

.corvin-policy__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--corvin-surface-gap);
}

.corvin-policy__grid section,
.corvin-request-entry,
.corvin-directory__empty,
.corvin-policy__notice,
.corvin-checkout,
.corvin-account {
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-checkout__preview img {
  display: block;
  max-width: min(100%, 640px);
  height: auto;
}

.corvin-account__table-wrap {
  overflow-x: auto;
}

.corvin-account__table {
  width: 100%;
  border-collapse: collapse;
}

.corvin-account__table th,
.corvin-account__table td {
  padding: 0.65rem;
  border-bottom: 1px solid var(--corvin-surface-border);
  text-align: left;
  vertical-align: top;
}

.corvin-account__collection-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.85rem;
}

.corvin-account__collection-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.85rem;
  border: 1px solid var(--corvin-surface-border);
  color: inherit;
  text-decoration: none;
}

.corvin-account__collection-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #111;
}

.corvin-related-photos {
  max-width: 76rem;
  margin: 0 auto clamp(1.5rem, 4vw, 4rem);
}

.corvin-photo-browser {
  max-width: 92rem;
  margin: clamp(1.5rem, 4vw, 4rem) auto;
  color: var(--corvin-surface-text);
}

.corvin-photo-browser__mast {
  margin: 0 0 1rem;
  padding: clamp(1rem, 2.5vw, 2rem);
  background: var(--corvin-surface-panel);
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__eyebrow {
  margin: 0 0 0.35rem;
  color: var(--corvin-surface-muted);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.corvin-photo-browser__mast h1 {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
}

.corvin-photo-browser__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.corvin-photo-browser__nav a,
.corvin-photo-browser__layout-switcher a,
.corvin-photo-browser__chips a,
.corvin-photo-browser__timeline-years a {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--corvin-surface-border);
  color: var(--corvin-surface-text);
  text-decoration: none;
  background: #fff;
}

.corvin-photo-browser__nav a.is-active,
.corvin-photo-browser__layout-switcher a.is-active {
  background: var(--corvin-surface-text);
  border-color: var(--corvin-surface-text);
  color: #fff;
}

.corvin-photo-browser__layout-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.75rem;
}

.corvin-photo-browser__layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.corvin-photo-browser__sidebar {
  position: sticky;
  top: 1rem;
  padding: 1rem;
  background: var(--corvin-surface-panel);
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__count {
  margin: 0 0 0.75rem;
  font-weight: 700;
}

.corvin-photo-browser__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 1rem;
}

.corvin-photo-browser__chips span {
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__facet {
  margin: 0 0 1rem;
}

.corvin-photo-browser__facet h2 {
  margin: 0 0 0.45rem;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.corvin-photo-browser__facet ul {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.corvin-photo-browser__facet li a {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.35rem 0;
  color: var(--corvin-surface-text);
  text-decoration: none;
}

.corvin-photo-browser__facet li.is-active a {
  font-weight: 700;
  text-decoration: underline;
}

.corvin-photo-browser__facet form {
  display: grid;
  gap: 0.5rem;
}

.corvin-photo-browser__facet input,
.corvin-photo-browser__facet button {
  width: 100%;
}

.corvin-photo-browser__main {
  min-width: 0;
}

.corvin-photo-browser__workbench {
  display: grid;
  gap: 0.85rem;
}

.corvin-photo-browser__toolbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 0.85rem 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__toolbar div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: baseline;
}

.corvin-photo-browser__toolbar span,
.corvin-photo-browser__toolbar p {
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__toolbar p {
  max-width: 34rem;
  margin: 0;
  font-size: 0.9rem;
}

.corvin-photo-browser__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 1rem;
  align-items: start;
}

.corvin-photo-browser__photo-grid {
  display: grid;
  grid-template-columns: repeat(var(--corvin-browser-columns, 5), minmax(0, 1fr));
  gap: 0.6rem;
}

.corvin-photo-browser__photo-grid--masonry {
  display: block;
  columns: var(--corvin-browser-columns, 5) 180px;
  column-gap: 0.6rem;
}

.corvin-photo-browser__photo-grid--masonry .corvin-photo-browser-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 0.6rem;
  break-inside: avoid;
}

.corvin-photo-browser__photo-grid--masonry .corvin-photo-browser-card__image {
  aspect-ratio: auto;
}

.corvin-photo-browser__photo-grid--masonry .corvin-photo-browser-card__image img {
  height: auto;
}

.corvin-photo-browser__photo-grid--justified {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.corvin-photo-browser__photo-grid--justified .corvin-photo-browser-card {
  flex: 1 1 220px;
  max-width: 420px;
}

.corvin-photo-browser__photo-grid--justified .corvin-photo-browser-card__image {
  aspect-ratio: 4 / 3;
}

.corvin-photo-browser-card {
  position: relative;
  min-width: 0;
  background: #fff;
  border: 1px solid transparent;
}

.corvin-photo-browser-card.is-active {
  border-color: var(--corvin-surface-text);
  box-shadow: 0 0 0 2px var(--corvin-surface-text);
}

.corvin-photo-browser-card.is-selected {
  border-color: #1f6feb;
  box-shadow: 0 0 0 2px #1f6feb;
}

.corvin-photo-browser-card button {
  display: grid;
  width: 100%;
  padding: 0;
  color: inherit;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.corvin-photo-browser-card__select {
  position: absolute;
  z-index: 2;
  top: 0.45rem;
  left: 0.45rem;
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  padding: 0.25rem 0.4rem;
  color: #fff;
  font-size: 0.72rem;
  line-height: 1;
  background: rgba(17, 17, 17, 0.78);
  cursor: pointer;
}

.corvin-photo-browser-card__select input {
  margin: 0;
}

.corvin-photo-browser-card__image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #111;
}

.corvin-photo-browser-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 160ms ease;
}

.corvin-photo-browser-card:hover img,
.corvin-photo-browser-card:focus-within img {
  transform: scale(1.035);
}

.corvin-photo-browser-card__meta {
  display: grid;
  gap: 0.2rem;
  padding: 0.65rem;
}

.corvin-photo-browser-card__meta strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.corvin-photo-browser-card__meta small {
  overflow: hidden;
  color: var(--corvin-surface-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.corvin-photo-browser-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.corvin-photo-browser-card__badges em {
  padding: 0.15rem 0.35rem;
  color: var(--corvin-surface-text);
  font-size: 0.72rem;
  font-style: normal;
  background: var(--corvin-surface-panel);
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__inspector {
  position: sticky;
  top: 1rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__inspector-eyebrow {
  margin: 0 0 0.5rem;
  color: var(--corvin-surface-muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.corvin-photo-browser__inspector img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0 0 0.85rem;
  background: #111;
}

.corvin-photo-browser__inspector h2 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
}

.corvin-photo-browser__inspector p {
  margin: 0 0 0.85rem;
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__inspector dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.35rem 0.75rem;
  margin: 0 0 1rem;
}

.corvin-photo-browser__inspector dt {
  color: var(--corvin-surface-muted);
  font-weight: 700;
}

.corvin-photo-browser__inspector dd {
  min-width: 0;
  margin: 0;
}

.corvin-photo-browser__inspector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.corvin-photo-browser__license-template {
  display: grid;
  flex-basis: 100%;
  gap: 0.25rem;
}

.corvin-photo-browser__license-template span {
  color: var(--corvin-surface-muted);
  font-size: 0.85rem;
  font-weight: 700;
}

.corvin-photo-browser__license-template select {
  width: 100%;
  min-height: 2.35rem;
}

.corvin-photo-browser__selection {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(180px, 280px) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.85rem 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__bulk-form {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(6, minmax(120px, 1fr)) auto;
  gap: 0.65rem;
  align-items: end;
  padding-top: 0.75rem;
  border-top: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__bulk-form label {
  display: grid;
  gap: 0.25rem;
}

.corvin-photo-browser__bulk-form select,
.corvin-photo-browser__bulk-form input {
  width: 100%;
  min-height: 2.35rem;
}

.corvin-photo-browser__bulk-form output {
  grid-column: 1 / -1;
  min-height: 1.2rem;
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__selection.has-selection {
  border-color: #1f6feb;
}

.corvin-photo-browser__selection div:first-child {
  display: grid;
  gap: 0.2rem;
}

.corvin-photo-browser__selection span {
  color: var(--corvin-surface-muted);
  font-size: 0.9rem;
}

.corvin-photo-browser__selection textarea {
  width: 100%;
  min-height: 2.35rem;
  resize: vertical;
}

.corvin-photo-browser__selection-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.corvin-photo-browser__working-set {
  display: grid;
  grid-column: 1 / -1;
  gap: 0.65rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__working-set-head,
.corvin-photo-browser__working-set-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.corvin-photo-browser__working-set-head {
  justify-content: space-between;
}

.corvin-photo-browser__working-set-controls input,
.corvin-photo-browser__working-set-controls select {
  min-height: 2.35rem;
}

.corvin-photo-browser__selection-tray {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
  gap: 0.45rem;
  min-height: 3rem;
}

.corvin-photo-browser__selection-tray p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__selection-tray button {
  display: grid;
  gap: 0.25rem;
  padding: 0.25rem;
  color: inherit;
  text-align: left;
  background: var(--corvin-surface-panel);
  border: 1px solid var(--corvin-surface-border);
  cursor: pointer;
}

.corvin-photo-browser__selection-tray img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #111;
}

.corvin-photo-browser__selection-tray span {
  overflow: hidden;
  color: var(--corvin-surface-text);
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.corvin-photo-browser__workbench.is-focusing-selection .corvin-photo-browser__photo-grid {
  padding: 0.35rem;
  outline: 2px solid #1f6feb;
  outline-offset: 0.25rem;
}

.corvin-photo-browser__empty {
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__map-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 1rem;
  align-items: start;
}

.corvin-photo-browser__map-canvas {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__map-side {
  display: grid;
  gap: 0.75rem;
}

.corvin-photo-browser__map-side .corvin-photo-browser__selection {
  grid-template-columns: 1fr;
}

.corvin-photo-browser__map-side .corvin-photo-browser__bulk-form {
  grid-template-columns: 1fr;
}

.corvin-photo-browser__map-side .corvin-photo-browser__working-set-controls {
  display: grid;
}

.corvin-photo-browser__map-side h3 {
  margin: 0;
  padding: 0.75rem 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__photo-grid--list {
  max-height: 22rem;
  overflow: auto;
  padding: 0.15rem;
}

.corvin-photo-browser__photo-grid--list .corvin-photo-browser-card button {
  grid-template-columns: 72px minmax(0, 1fr);
}

.corvin-photo-browser__photo-grid--list .corvin-photo-browser-card__image {
  aspect-ratio: 1 / 1;
}

.corvin-photo-browser__timeline-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 1rem;
  align-items: start;
}

.corvin-photo-browser__timeline-sections {
  display: grid;
  gap: 1rem;
}

.corvin-photo-browser__timeline-sections > .corvin-photo-browser__selection {
  position: sticky;
  z-index: 3;
  top: 1rem;
}

.corvin-photo-browser__timeline-section {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__timeline-section header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
}

.corvin-photo-browser__timeline-section h3 {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 2.4rem);
}

.corvin-photo-browser__timeline-section header span {
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__pane-head {
  margin: 0 0 1rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__pane-head h2 {
  margin: 0 0 0.35rem;
}

.corvin-photo-browser__pane-head p {
  margin: 0;
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__timeline-years,
.corvin-photo-browser__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.65rem;
  margin: 0 0 1rem;
}

.corvin-photo-browser__timeline-years a,
.corvin-photo-browser__cards a {
  justify-content: space-between;
  min-height: 4rem;
  padding: 0.8rem;
}

.corvin-photo-browser__cards a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  color: var(--corvin-surface-text);
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__directory-cover {
  display: block;
  width: calc(100% + 1.6rem);
  margin: -0.8rem -0.8rem 0;
  aspect-ratio: 4 / 3;
  background: #111;
}

.corvin-photo-browser__directory-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.corvin-photo-browser__cards span {
  color: var(--corvin-surface-muted);
}

.corvin-photo-browser__compare {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.85rem;
}

.corvin-photo-browser__compare-card {
  padding: 0.85rem;
  background: #fff;
  border: 1px solid var(--corvin-surface-border);
}

.corvin-photo-browser__compare-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #111;
}

.corvin-photo-browser__compare-card h3 {
  margin: 0.75rem 0;
}

.corvin-photo-browser__compare-card dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 0.35rem 0.75rem;
}

.corvin-photo-browser__compare-card dt {
  color: var(--corvin-surface-muted);
  font-weight: 700;
}

.corvin-photo-browser__compare-card dd {
  margin: 0;
}

.corvin-photo-browser__cards--compact {
  grid-template-columns: 1fr;
}

.corvin-photo-browser__cards--compact .corvin-photo-browser__directory-card {
  min-height: auto;
}

.corvin-photo-browser__cards--compact .corvin-photo-browser__directory-cover {
  display: none;
}

.corvin-photo-browser__cards--mosaic {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.corvin-photo-browser__cards--mosaic .corvin-photo-browser__directory-card:nth-child(5n + 1) {
  grid-column: span 2;
}

.corvin-photo-browser__cards--mosaic .corvin-photo-browser__directory-cover {
  aspect-ratio: 16 / 9;
}

@media (max-width: 760px) {
  .corvin-photo-detail {
    grid-template-columns: 1fr;
  }

  .corvin-photo-browser__layout {
    grid-template-columns: 1fr;
  }

  .corvin-photo-browser__toolbar,
  .corvin-photo-browser__selection,
  .corvin-photo-browser__bulk-form,
  .corvin-photo-browser__workspace,
  .corvin-photo-browser__map-workspace,
  .corvin-photo-browser__timeline-workbench {
    grid-template-columns: 1fr;
  }

  .corvin-photo-browser__toolbar {
    display: grid;
  }

  .corvin-photo-browser__photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .corvin-photo-browser__photo-grid--masonry {
    columns: 2 150px;
  }

  .corvin-photo-browser__cards--mosaic .corvin-photo-browser__directory-card:nth-child(5n + 1) {
    grid-column: auto;
  }

  .corvin-photo-browser__sidebar {
    position: static;
  }

  .corvin-photo-browser__inspector {
    position: static;
  }
}

/* PhotoPrism-style archive shell: dense visual grid, filter rail, inspector panel */
.corvin-photo-browser--archive {
  --corvin-archive-bg: #101010;
  --corvin-archive-panel: #171717;
  --corvin-archive-border: rgba(255, 255, 255, 0.08);
  --corvin-archive-text: #f5f5f5;
  --corvin-archive-muted: #a8a8a8;
}

.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) {
  color: var(--corvin-archive-text);
}

.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__mast,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__sidebar,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__toolbar,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__inspector {
  background: var(--corvin-archive-panel);
  border-color: var(--corvin-archive-border);
  color: var(--corvin-archive-text);
}

.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__nav a,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__layout-switcher a,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__chips a {
  background: #222;
  border-color: var(--corvin-archive-border);
  color: var(--corvin-archive-text);
}

.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__nav a.is-active,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__layout-switcher a.is-active {
  background: #fff;
  color: #111;
}

.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__eyebrow,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__toolbar span,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__toolbar p,
.corvin-photo-browser--archive:not(.corvin-photo-browser--admin) .corvin-photo-browser__facet li a span:last-child {
  color: var(--corvin-archive-muted);
}

.corvin-photo-browser--compact-mast .corvin-photo-browser__mast {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.corvin-photo-browser--compact-mast .corvin-photo-browser__mast h1,
.corvin-photo-browser--compact-mast .corvin-photo-browser__eyebrow {
  display: none;
}

.corvin-photo-browser--archive .corvin-photo-browser-card button {
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  width: 100%;
}

.corvin-photo-browser--archive .corvin-photo-browser-card__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  background: #000;
}

.corvin-photo-browser--archive .corvin-photo-browser-card.is-active .corvin-photo-browser-card__image {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.corvin-photo-browser--layout-masonry .corvin-photo-browser-card {
  break-inside: avoid;
  margin-bottom: 0.6rem;
}

.corvin-photo-browser--archive .corvin-photo-browser__photo-grid {
  gap: 0.45rem;
}

.corvin-surface--library .corvin-photo-browser,
.corvin-surface--stock .corvin-photo-browser,
.corvin-library-page .corvin-photo-browser {
  margin-top: 0;
}

.corvin-product-surface__body .corvin-photo-browser--compact-mast {
  margin-top: 0;
}

.corvin-policy__document {
  max-width: 48rem;
  margin: 0 0 1.5rem;
  line-height: 1.65;
}

.corvin-policy__document h2 {
  margin: 2rem 0 0.75rem;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

.corvin-policy__document h2:first-child {
  margin-top: 0;
}

.corvin-policy__lead {
  font-size: 1.05rem;
  color: var(--corvin-surface-muted);
}

.corvin-directory__license-template details {
  margin-top: 0.5rem;
}

.corvin-directory__license-template details summary {
  cursor: pointer;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
