/*
  RYBY 19.0.5 — UNIFIED VISUAL SYSTEM HOTFIX
  Home + public catch detail.
  No database or application-logic changes.
*/

html[data-ryby-cohesion="19.0.5"] {
  --ry1905-cream: #efe9dd;
  --ry1905-paper: #e7dfd1;
  --ry1905-ink: #183026;
  --ry1905-ink-soft: #5d6b63;
  --ry1905-forest: #0b2118;
  --ry1905-forest-2: #173126;
  --ry1905-gold: #c8a653;
  --ry1905-gold-soft: #ead791;
  --ry1905-line: rgba(24, 47, 36, .14);
}

/* HOME — one visual system for the catches section */
html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches {
  color: var(--ry1905-ink);
  background:
    radial-gradient(circle at 12% 10%, rgba(121, 126, 91, .09), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(188, 154, 72, .06), transparent 34%),
    linear-gradient(180deg, var(--ry1905-cream), var(--ry1905-paper)) !important;
  border-top: 1px solid rgba(255,255,255,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    inset 0 -1px 0 rgba(22,36,28,.08);
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .section-heading {
  width: min(100%, 1320px);
  margin: 0 auto 28px !important;
  align-items: end !important;
  gap: 24px !important;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .section-heading h2 {
  color: var(--ry1905-ink) !important;
  text-shadow: none !important;
  font-size: clamp(52px, 4.5vw, 70px) !important;
  letter-spacing: -.035em;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .section-heading > p,
html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .dark-heading > p {
  color: var(--ry1905-ink-soft) !important;
  max-width: 420px !important;
  font-size: 12px !important;
  line-height: 1.78 !important;
  font-weight: 500 !important;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .eyebrow {
  color: #9d7c2d !important;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .filter-groups {
  margin: 0 0 32px !important;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .filters {
  gap: 10px !important;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .filters button {
  min-height: 40px !important;
  padding: 0 18px !important;
  color: #607068 !important;
  border: 1px solid rgba(28,46,36,.18) !important;
  background: rgba(255,255,255,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.46);
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .filters button.active {
  color: #12241b !important;
  border-color: #c7a451 !important;
  background: linear-gradient(135deg, #ebd78e, #c7a452) !important;
  box-shadow:
    0 10px 24px rgba(96,75,23,.14),
    inset 0 1px 0 rgba(255,255,255,.4);
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-grid {
  gap: 20px !important;
  align-items: stretch !important;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-card {
  height: 100%;
  display: flex !important;
  flex-direction: column;
  border-radius: 19px !important;
  border-color: rgba(230,210,148,.18) !important;
  background: linear-gradient(155deg, rgba(42,62,49,.99), rgba(18,39,30,.995)) !important;
  box-shadow:
    0 22px 54px rgba(18,33,25,.17),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
  overflow: hidden;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-photo {
  position: relative;
  aspect-ratio: 4 / 3;
  min-height: 288px;
  background: #10251b !important;
  overflow: hidden;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3,12,9,.12), rgba(3,12,9,.04) 40%, rgba(4,13,10,.24)),
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.04), transparent 42%);
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 36% !important;
  filter: saturate(.94) contrast(1.02) brightness(.97);
  transform: scale(1.01);
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-card-body {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  min-height: 118px;
}

html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-meta {
  margin-top: auto;
  min-height: 48px !important;
}

/* CATCH DETAIL — recorded and missing cards use one shared geometry */
html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready {
  padding-top: 96px !important;
  padding-bottom: 108px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(117,127,85,.10), transparent 30%),
    radial-gradient(circle at 92% 90%, rgba(183,151,79,.06), transparent 30%),
    linear-gradient(180deg, var(--ry1905-cream), var(--ry1905-paper)) !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data .detail-section-title {
  max-width: 1320px;
}

html[data-ryby-cohesion="19.0.5"] .detail-data .detail-section-title h2 {
  max-width: 720px !important;
  font-size: clamp(54px, 5.1vw, 78px) !important;
  line-height: .92 !important;
  letter-spacing: -.04em;
  color: #10251c;
}

html[data-ryby-cohesion="19.0.5"] .ry1903-detail-summary {
  min-height: 90px;
  margin: 30px auto 0;
  padding: 18px 24px;
  border-radius: 18px;
  border: 1px solid rgba(204,178,96,.24);
  border-left: 3px solid #b49a4d;
  background:
    radial-gradient(circle at 100% 0, rgba(169,183,96,.14), transparent 38%),
    linear-gradient(125deg, #173126, #0b1e16);
  box-shadow:
    0 20px 48px rgba(21,38,29,.13),
    inset 0 1px 0 rgba(255,255,255,.025);
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid {
  gap: 12px !important;
  margin-top: 22px !important;
  border: 0 !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article {
  min-height: 126px;
  padding: 20px 19px;
  border: 1px solid rgba(22,48,36,.13) !important;
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.31), rgba(255,255,255,.18)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    0 10px 24px rgba(24,43,33,.035);
  opacity: 1 !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article.is-recorded,
html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article.is-missing {
  border-style: solid !important;
  opacity: 1 !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article.is-missing {
  background:
    linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.13)) !important;
  border-color: rgba(22,48,36,.10) !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article > i {
  color: #947631 !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article.is-missing > i {
  color: #b2a98f !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid small {
  color: #788078 !important;
  font-size: 6px !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid strong {
  color: #152a20 !important;
  font-size: 9px !important;
  line-height: 1.45;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article.is-missing strong {
  color: #868d86 !important;
  font-size: 9px !important;
  font-weight: 650 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .weather-provenance {
  margin-top: 18px;
  padding: 13px 16px;
  border-radius: 12px;
  color: #56695d;
  background: rgba(50,79,62,.055);
  border-left: 2px solid #99a762;
}

/* Shared floating action */
html[data-ryby-cohesion="19.0.5"] #ry17-add-catch {
  min-height: 48px !important;
  padding: 0 20px !important;
  border-color: rgba(225,199,116,.56) !important;
  background: linear-gradient(145deg, rgba(10,28,20,.985), rgba(5,17,12,.99)) !important;
  color: #f0d98c !important;
  box-shadow:
    0 16px 38px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
}

@media (max-width: 980px) {
  html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches {
    padding-top: 76px !important;
    padding-bottom: 88px !important;
  }

  html[data-ryby-cohesion="19.0.5"] body[data-ryby-visual="19.0.0"] .catches .catch-photo {
    min-height: 250px;
  }

  html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready {
    padding: 78px 18px 88px !important;
  }

  html[data-ryby-cohesion="19.0.5"] .detail-data .detail-section-title h2 {
    font-size: clamp(45px, 13vw, 58px) !important;
  }

  html[data-ryby-cohesion="19.0.5"] .ry1903-detail-summary {
    grid-template-columns: 42px minmax(0,1fr);
    border-radius: 15px;
  }

  html[data-ryby-cohesion="19.0.5"] .ry1903-detail-summary > b {
    grid-column: 1 / -1;
    justify-self: start;
    padding-left: 60px;
  }

  html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid {
    grid-template-columns: 1fr !important;
  }

  html[data-ryby-cohesion="19.0.5"] .detail-data.ry1903-detail-ready .detail-data-grid article {
    min-height: 88px;
  }
}
