/* t894: metadata-row photo credits; no overlays or card image alterations. */
.vhb-photo-credit{font-family:inherit!important;font-style:italic!important;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important;line-height:1.35!important;color:#d1d5db!important;font-size:12px!important;white-space:normal;}
.vhb-photo-credit--below{display:block;text-align:right;}
.vhb-photo-credit--below a{color:inherit!important;text-decoration:underline;text-underline-offset:2px;}
.vhb-photo-credit-below{margin:5px 0 14px;text-align:right;}
.vhb-article-featured + .vhb-photo-credit-below{margin-top:6px;margin-bottom:16px;}
.vhb-photo-credit--card{position:static!important;display:inline!important;max-width:none!important;padding:0!important;background:transparent!important;pointer-events:auto!important;text-align:right!important;color:#d1d5db!important;font-size:11px!important;line-height:1.35!important;}
.vhb-photo-credit--card .vhb-photo-credit-name{color:inherit!important;font:inherit!important;}
.vhb-home-photo-meta{display:inline-flex!important;align-items:center;justify-content:flex-end;min-width:0;margin-left:auto;color:#d1d5db!important;letter-spacing:normal!important;text-transform:none!important;}
.vhb-home-photo-meta .vhb-photo-credit{color:#d1d5db!important;}
.vhb-card-zone-top:has(.vhb-home-photo-meta){display:flex!important;align-items:center;flex-wrap:wrap;gap:6px 12px;}
.vhb-card-zone-top:has(.vhb-home-photo-meta) .vhb-card-label{margin-right:auto;}
.vhb-archive-meta .vhb-photo-credit-meta{margin-left:auto!important;display:inline-flex!important;align-items:center!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;letter-spacing:normal!important;text-transform:none!important;font-weight:400!important;color:#d1d5db!important;}
.vhb-archive-meta .vhb-photo-credit-meta .vhb-photo-credit{font-size:11px!important;color:#d1d5db!important;background:none!important;padding:0!important;border:0!important;border-radius:0!important;letter-spacing:normal!important;text-transform:none!important;font-weight:400!important;}
.vhb-mobile-photo-meta{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;min-width:0;width:100%;}
.vhb-mobile-photo-meta .vhb-photo-credit{margin-left:auto!important;color:#d1d5db!important;font-size:11px!important;letter-spacing:normal!important;text-transform:none!important;}
@media(max-width:680px){.vhb-photo-credit--below .vhb-photo-credit-designation{display:none!important;}}

/* t895: preserve category-left / credit-right ordering without image overlays. */
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top:has(.vhb-home-photo-meta){display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px 12px!important;}
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top .vhb-home-photo-meta{margin-left:auto!important;order:2!important;position:static!important;}
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top .vhb-card-label{order:1!important;}

/* t896: enforce normal name casing despite Archive/Home inherited uppercase rules. */
.vhb-archive-meta .vhb-photo-credit-meta,
.vhb-archive-meta .vhb-photo-credit-meta *,
.vhb-home-photo-meta, .vhb-home-photo-meta *,
.vhb-mobile-photo-meta .vhb-photo-credit,
.vhb-mobile-photo-meta .vhb-photo-credit * {
  text-transform:none!important; font-style:italic!important; font-weight:400!important;
}
.vhb-photo-credit-name, .vhb-photo-credit-name:link, .vhb-photo-credit-name:visited {
  color:inherit!important; text-transform:none!important; font-style:italic!important;
}
.vhb-photo-credit-profile-action {cursor:pointer; text-decoration:underline; text-underline-offset:2px;}
.vhb-photo-credit-profile-action:focus-visible {outline:2px solid #ff8200;outline-offset:2px;}
/* Desktop legacy card category zone; mobile uses its own independent category row. */
.vhb-home-photo-meta .vhb-photo-credit--card-home {font-size:11px!important;line-height:1.35!important;}

/* t897: subtle, baseline-aligned photo credits in the existing Home/Archive category row. */
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top:has(.vhb-home-photo-meta){
  align-items:baseline!important;
}
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top .vhb-home-photo-meta{
  align-self:baseline!important;
  line-height:1.2!important;
  transform:translateY(-2px);
}
body.home #vhb-app .vhb-mobile-photo-meta{
  align-items:baseline!important;
  align-content:baseline!important;
}
body.home #vhb-app .vhb-mobile-photo-meta > .vhb-photo-credit{
  align-self:baseline!important;
  line-height:1.2!important;
  transform:translateY(-2px);
}
/* Override inherited orange anchor/category colors on desktop as well as mobile. */
body.home #vhb-app .vhb-home-photo-meta .vhb-photo-credit,
body.home #vhb-app .vhb-home-photo-meta .vhb-photo-credit *,
body.home #vhb-app .vhb-mobile-photo-meta .vhb-photo-credit,
body.home #vhb-app .vhb-mobile-photo-meta .vhb-photo-credit *,
#vhb-app .vhb-archive-meta .vhb-photo-credit-meta .vhb-photo-credit,
#vhb-app .vhb-archive-meta .vhb-photo-credit-meta .vhb-photo-credit *{
  color:rgba(225,230,237,.78)!important;
  font-style:italic!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
body.home #vhb-app .vhb-home-photo-meta .vhb-photo-credit-name,
body.home #vhb-app .vhb-mobile-photo-meta .vhb-photo-credit-name,
#vhb-app .vhb-archive-meta .vhb-photo-credit-name{
  text-decoration-line:underline!important;
  text-decoration-style:solid!important;
  text-decoration-thickness:.65px!important;
  text-underline-offset:3px!important;
  text-decoration-color:rgba(225,230,237,.65)!important;
}
/* Erick's page: one cohesive editorial profile, no orange dividing line. */
#vhb-app .vhb-photographer-profile-shell .vhb-legal-hero{
  border-bottom:0!important;
  padding-bottom:24px!important;
}
#vhb-app .vhb-photographer-profile-shell .vhb-legal-card{
  border-top:0!important;
  padding-top:14px!important;
}
#vhb-app .vhb-photographer-profile-shell .vhb-legal-card > p{
  max-width:740px;
  margin-bottom:16px!important;
  font-weight:400!important;
}
#vhb-app .vhb-photographer-profile-shell .vhb-legal-card > p:last-child{margin-bottom:0!important;}
@media(max-width:700px){
  #vhb-app .vhb-photographer-profile-shell .vhb-legal-hero{
    padding:32px 24px 22px!important;
  }
  #vhb-app .vhb-photographer-profile-shell .vhb-legal-hero h1{
    font-size:clamp(32px,9vw,42px)!important;
    line-height:1.12!important;
  }
  #vhb-app .vhb-photographer-profile-shell .vhb-legal-hero p{
    font-size:14px!important;
    line-height:1.45!important;
    margin-top:12px!important;
  }
  #vhb-app .vhb-photographer-profile-shell .vhb-legal-card{
    padding:16px 24px 30px!important;
  }
  #vhb-app .vhb-photographer-profile-shell .vhb-legal-card > p{
    font-size:15px!important;
    line-height:1.65!important;
  }
}

/* t898: photo credit aligned to the far right of desktop/tablet card category row. */
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top:has(.vhb-home-photo-meta){
  display:flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:space-between!important;width:100%!important;
}
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top .vhb-home-photo-meta{
  display:inline-flex!important;align-items:baseline!important;justify-content:flex-end!important;
  margin-left:auto!important;margin-right:0!important;flex:0 0 auto!important;
  align-self:baseline!important;transform:translateY(-2px);text-align:right!important;
}
body.home #vhb-app .vhb-home-content-prototype .vhb-card-zone-top .vhb-home-photo-meta .vhb-photo-credit{
  display:inline-flex!important;gap:0!important;align-items:baseline!important;white-space:nowrap!important;
}

/* Profile: reduce excessive vertical gap above the first card on phones only. */
@media(max-width:700px){
  html body.vhb-info-document #vhb-app .vhb-photographer-profile-shell .vhb-legal-hero{
    margin-top:-16px!important;
  }
}

/* t899: actual Home Card desktop/tablet markup is a column flex zone.
   A dedicated full-width row, rather than sibling alignment, controls placement. */
#vhb-app .vhb-home-content-prototype .vhb-card-zone-top:has(> .vhb-photo-category-row){
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  justify-content:flex-start!important;width:100%!important;align-self:stretch!important;
}
#vhb-app .vhb-home-content-prototype .vhb-card-zone-top > .vhb-photo-category-row{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  align-items:baseline!important;column-gap:8px!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  margin:0!important;padding:0!important;transform:none!important;
}
#vhb-app .vhb-home-content-prototype .vhb-photo-category-row > .vhb-card-label{
  justify-self:start!important;margin:0!important;align-self:baseline!important;
}
#vhb-app .vhb-home-content-prototype .vhb-photo-category-row > .vhb-home-photo-meta{
  display:inline!important;justify-self:end!important;align-self:baseline!important;
  margin:0!important;padding:0!important;transform:none!important;
  text-align:right!important;white-space:nowrap!important;
}
#vhb-app .vhb-home-content-prototype .vhb-photo-category-row .vhb-photo-credit{
  display:inline!important;white-space:nowrap!important;word-spacing:normal!important;
  letter-spacing:normal!important;color:rgba(225,230,237,.78)!important;
}
#vhb-app .vhb-home-content-prototype .vhb-photo-category-row .vhb-photo-credit *,
#vhb-app .vhb-home-content-prototype .vhb-photo-category-row .vhb-photo-credit-name{
  color:rgba(225,230,237,.78)!important;font-style:italic!important;
  text-transform:none!important;letter-spacing:normal!important;
}
/* Profile-only: match the legal page's sticky-header clearance without the
   additional shell offset seen on the photographer route. */
@media(max-width:700px){
  html body.vhb-info-document #vhb-app .vhb-photographer-profile-shell,
  html body.vhb-info-document.vhb-compact-header-hoisted #vhb-app > .vhb-photographer-profile-shell{
    padding-top:0!important;margin-top:0!important;transform:none!important;
  }
  html body.vhb-info-document #vhb-app .vhb-photographer-profile-shell .vhb-legal-hero{
    margin-top:12px!important;
  }
}

/* t900: exact typographic normalization independent of inherited card letter spacing. */
#vhb-app .vhb-photo-category-row .vhb-photo-credit,
#vhb-app .vhb-photo-category-row .vhb-photo-credit *{
  word-spacing:normal!important; letter-spacing:normal!important;
  font-style:italic!important; color:rgba(225,230,237,.78)!important;
}

/* t901: match the confirmed photographer-profile mobile clearance on requested
   informational/legal pages only. The existing header height is unchanged. */
@media(max-width:700px){
  html body.vhb-legal-lift-target #vhb-app .vhb-legal-shell,
  html body.vhb-legal-lift-target.vhb-compact-header-hoisted #vhb-app > .vhb-legal-shell{
    padding-top:0!important;margin-top:0!important;transform:none!important;
  }
  html body.vhb-legal-lift-target #vhb-app .vhb-legal-shell .vhb-legal-hero{margin-top:12px!important;}
}

/* t902: desktop attribution is positioned against the FULL card-content grid,
   not the intrinsically sized category/top-zone wrappers. Mobile is untouched.
   All intervening wrappers are static so the absolute containing block is the
   existing positioned .vhb-card-content-zones (full card content width). */
@media (min-width:681px){
  #vhb-app .vhb-home-content-prototype .vhb-desktop-card-content-zones:has(.vhb-photo-category-row){
    position:relative!important;
  }
  #vhb-app .vhb-home-content-prototype .vhb-desktop-card-content-zones > .vhb-card-zone-top:has(.vhb-photo-category-row),
  #vhb-app .vhb-home-content-prototype .vhb-desktop-card-content-zones .vhb-photo-category-row{
    position:static!important;
  }
  #vhb-app .vhb-home-content-prototype .vhb-desktop-card-content-zones .vhb-photo-category-row > .vhb-home-photo-meta{
    position:absolute!important; right:0!important; top:3px!important; left:auto!important;
    width:max-content!important; max-width:calc(100% - 100px)!important;
    margin:0!important; padding:0!important; transform:none!important;
    text-align:right!important; white-space:nowrap!important;
  }
}

/* t903: Universal Home Feed uses .vhb-mobile-card-component on BOTH
   desktop and tablet. Its metadata must fill the visible card text column.
   Restrict this repair to that renderer and >=701px; do not alter phones,
   archives, image credits, or the hidden legacy desktop zone. */
@media (min-width:701px) {
  html body.home #vhb-app .vhb-universal-home-feed .vhb-mobile-card-text > .vhb-mobile-photo-meta:has(> .vhb-photo-credit) {
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    justify-content:space-between!important;
    align-self:stretch!important;
    flex-wrap:wrap!important;
    gap:4px 8px!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:37px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-mobile-photo-meta:has(> .vhb-photo-credit) > .vhb-mobile-card-category {
    display:block!important;
    flex:0 0 auto!important;
    min-width:0!important;
    min-height:0!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-mobile-photo-meta:has(> .vhb-photo-credit) > .vhb-photo-credit {
    display:block!important;
    flex:0 0 auto!important;
    align-self:baseline!important;
    min-width:0!important;
    min-height:0!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    line-height:1.25!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  html body.home #vhb-app .vhb-universal-home-feed .vhb-mobile-photo-meta:has(> .vhb-photo-credit) > .vhb-photo-credit .vhb-photo-credit-name {
    display:inline!important;
    width:auto!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    line-height:inherit!important;
    vertical-align:baseline!important;
  }
}
