@import url("./dive-deck.css");

/* Editorial Chapters — editorial chapters and sticky field cards. */
body[data-rvns-layout="depth-journal"] {
  --dd-width: 1180px;
}

body,
body[data-rvns-layout] {
  color: var(--t-text);
  background: var(--t-bg);
}
body::before { display: none; }

.rvns-mast {
  width: min(100% - 48px, 1320px);
  color: var(--t-text);
  border-bottom-color: var(--t-border);
}

.rvns-dive-deck { width: 100%; }
.rvns-dive-hero {
  min-height: clamp(390px, 48vw, 650px);
  padding: clamp(80px, 14vw, 180px) max(28px, calc((100vw - 1180px) / 2)) 54px;
  border: 0;
}
.rvns-dive-hero::after {
  background: linear-gradient(90deg, rgba(5, 27, 35, .9), rgba(5, 27, 35, .12) 76%), linear-gradient(0deg, rgba(5, 27, 35, .55), transparent 55%);
}
.rvns-dive-hero h1 {
  max-width: 850px;
  color: var(--t-on-media, #fffdf7);
  font-size: clamp(45px, 7.4vw, 92px);
  line-height: .98;
  letter-spacing: -.045em;
}
.rvns-dive-hero-description { max-width: 42rem; color: var(--t-on-media, #fffdf7); opacity: .88; }
.rvns-dive-hero-site { display: none; }
.rvns-dive-hero-date { color: var(--t-on-media, #fffdf7); opacity: .7; }

.rvns-dive-summary { padding: 0; background: var(--t-bg-subtle); border: 0; }
.rvns-dive-summary .rvns-dive-module-head { display: none; }
.rvns-dive-summary-grid {
  width: min(100%, 1180px);
  margin-inline: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.rvns-dive-summary-grid .rvns-dive-stat {
  min-height: 126px;
  padding: 24px 28px;
  border-color: var(--t-border);
}
.rvns-dive-summary-grid .rvns-dive-stat dt { color: var(--t-accent); }
.rvns-dive-summary-grid .rvns-dive-stat dd { color: var(--t-text); }
.rvns-dive-summary-grid .rvns-dive-stat dd span { color: var(--t-text-muted); }

.rvns-dive-sidebar-layout {
  display: block;
  width: min(var(--dd-width), calc(100% - 40px));
  margin-inline: auto;
  --dd-facts-width: clamp(292px, 30%, 360px);
  --dd-facts-gap: clamp(36px, 7vw, 96px);
  padding: clamp(48px, 7vw, 88px) 0 80px;
}
.rvns-dive-sidebar-facts {
  position: sticky;
  top: 24px;
  z-index: 2;
  width: 100%;
  margin: 0;
  display: grid;
  gap: 20px;
}
.rvns-dive-sidebar-boundary {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
  align-self: stretch;
}
.rvns-dive-sidebar-layout[data-facts="without-facts"] {
  width: min(820px, calc(100% - 40px));
}
.rvns-dive-sidebar-facts .rvns-dive-module {
  padding: 0;
  border: 1px solid var(--dd-line);
  border-radius: 9px;
  overflow: hidden;
  background: var(--t-bg-elevated);
  box-shadow: 0 10px 28px rgba(19, 48, 55, .05);
}
.rvns-dive-sidebar-facts .rvns-dive-module-head {
  display: block;
  margin: 0;
  padding: 18px 20px 0;
}
.rvns-dive-sidebar-facts .rvns-dive-module-head > p { margin: 0; }
.rvns-dive-sidebar-facts .rvns-dive-module h2 { display: none; }
.rvns-dive-sidebar-facts .rvns-dive-profile-meta {
  display: none;
}
.rvns-dive-sidebar-facts .rvns-dive-profile-chart {
  margin: 14px;
  padding: 10px 10px 9px;
  border: 0;
  border-radius: 6px;
  box-shadow: none;
}
.rvns-dive-sidebar-facts .rvns-dive-profile-readout {
  min-height: 19px;
  margin-top: 6px;
  color: var(--dd-profile-foreground);
  font-size: 11px;
  line-height: 1.45;
}
.rvns-dive-sidebar-facts .rvns-dive-profile-line { stroke-width: 3; }
.rvns-dive-sidebar-facts .rvns-dive-profile-cursor { stroke-width: 1.5; }
.rvns-dive-sidebar-facts .rvns-dive-profile-dot { stroke-width: 3; }
.rvns-dive-sidebar-facts .rvns-dive-profile-source {
  margin: 0;
  padding: 14px 20px 18px;
  overflow-wrap: anywhere;
  font-size: 10px;
}
.rvns-dive-sidebar-facts .rvns-dive-conditions-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 0;
  background: transparent;
}
.rvns-dive-sidebar-facts .rvns-dive-stat {
  min-height: 88px;
  padding: 14px 20px;
  border: 0;
}
.rvns-dive-sidebar-facts .rvns-dive-stat dd { color: var(--t-text); font-size: 25px; }
.rvns-dive-sidebar-facts .rvns-dive-attribution { padding: 0 20px 18px; margin: 0; font-size: 11px; }
.rvns-dive-sidebar-facts .rvns-dive-site-layout { display: flex; flex-direction: column; gap: 0; }
.rvns-dive-sidebar-facts .rvns-dive-site-copy { min-height: 0; padding: 14px 20px 20px; }
.rvns-dive-sidebar-facts .rvns-dive-site-copy h3 { color: var(--t-text); font-size: 25px; }
.rvns-dive-sidebar-facts .rvns-dive-map { order: -1; }
.rvns-dive-sidebar-facts .rvns-dive-map iframe { height: 180px; min-height: 0; border: 0; filter: saturate(.58) contrast(1.05); }
.rvns-dive-sidebar-facts .rvns-dive-map p { display: none; }
.rvns-dive-sidebar-facts .rvns-dive-gear-grid { display: block; border: 0; background: transparent; }
.rvns-dive-sidebar-facts .rvns-dive-gear-item {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(90px, .7fr) 1.3fr;
  gap: 16px;
  padding: 11px 20px;
  border-bottom: 1px solid var(--dd-line);
  background: var(--t-bg-elevated);
}
.rvns-dive-sidebar-facts .rvns-dive-gear-item:last-child { border-bottom: 0; }
.rvns-dive-sidebar-facts .rvns-dive-gear-item dt { margin: 0; color: var(--t-text); text-transform: none; letter-spacing: 0; }
.rvns-dive-sidebar-facts .rvns-dive-gear-item dd { color: var(--t-text-muted); font: 500 12px/1.5 var(--t-font-body, ui-sans-serif, system-ui, sans-serif); text-align: right; }
.rvns-dive-sidebar-facts .rvns-dive-provenance-list {
  gap: 6px;
  margin: 0;
  padding: 12px 20px 20px;
  font-size: 12px;
  line-height: 1.55;
}
.rvns-dive-sidebar-wide { width: 100%; }

.rvns-dive-narrative-head > p { color: var(--t-accent); }
.rvns-dive-narrative > .rvns-dive-narrative-head {
  grid-column: 1;
  grid-row: 1;
  width: auto;
  margin: 0;
  padding: 0 0 24px;
  overflow: hidden;
}
.rvns-dive-narrative-head h2 { color: var(--t-text); font-size: clamp(34px, 4vw, 52px); }
.rvns-dive-narrative {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--dd-facts-width);
  column-gap: var(--dd-facts-gap);
  align-items: start;
  min-width: 0;
}
.rvns-dive-sidebar-layout[data-facts="without-facts"] .rvns-dive-narrative { display: block; }
.rvns-dive-narrative[data-opening="without-opening"] > .rvns-dive-chapters {
  grid-column: 1;
  grid-row: 2;
}
.rvns-dive-preopening-chapters {
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
}
.rvns-dive-opening-chapters {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}
.rvns-dive-chapters {
  grid-column: 1 / -1;
  grid-row: 3;
  min-width: 0;
  margin-top: clamp(48px, 7vw, 88px);
}
.rvns-dive-narrative[data-preopening="true"] > .rvns-dive-sidebar-boundary,
.rvns-dive-narrative[data-preopening="true"] > .rvns-dive-opening-chapters {
  grid-row: 3;
}
.rvns-dive-narrative[data-preopening="true"] > .rvns-dive-chapters {
  grid-row: 4;
}
body[data-rvns-layout="depth-journal"] .rvns-dive-narrative .story {
  width: auto;
  max-width: none;
  margin: 0 0 38px;
  padding: 0;
  overflow: visible;
  color: var(--t-text);
}
.rvns-dive-preopening-chapters > .story-hero:first-child { display: none; }
.rvns-dive-narrative .block-paragraph,
.rvns-dive-narrative .block-quote { color: var(--t-text); font-family: var(--t-font-heading, Georgia, serif); font-size: 20px; line-height: 1.65; }
.rvns-dive-narrative .block-image,
.rvns-dive-narrative .block-video { margin-block: 32px; }
.rvns-dive-narrative .block-image:not([data-size]),
.rvns-dive-narrative .block-video:not([data-size]) {
  width: min(900px, 100%);
  margin-inline: auto;
}
/* Suggested media is a composition instruction, not merely an unset width.
   The renderer labels uninterrupted media runs so this template can establish
   a repeatable chapter rhythm while explicit author sizes remain untouched. */
body[data-rvns-layout="depth-journal"] .rvns-dive-chapters > .story[data-rvns-chapter="feature"] {
  width: 100%;
}
body[data-rvns-layout="depth-journal"] .rvns-dive-chapters > .story[data-rvns-chapter="feature"] > :is(.block-image, .block-video):not([data-size]) {
  width: 100%;
  margin-inline: 0;
}
.rvns-dive-chapter-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-bottom: 42px;
}
body[data-rvns-layout="depth-journal"] .rvns-dive-chapter-pair > .story[data-rvns-chapter] {
  width: 100%;
  margin: 0;
}
body[data-rvns-layout="depth-journal"] .rvns-dive-chapter-pair > .story > :is(.block-image, .block-video):not([data-size]) {
  width: 100%;
  margin: 0;
}
.rvns-dive-chapter-pair :is(.block-image-frame, .block-video-frame):not([style]) {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.rvns-dive-chapter-pair :is(.block-image-frame, .block-video-frame):not([style]) > :is(img, video) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rvns-dive-narrative .block-image img,
.rvns-dive-narrative .block-video video { border-radius: 7px; box-shadow: 0 8px 26px rgba(20, 43, 48, .1); }
.rvns-dive-narrative figcaption { color: var(--t-text-muted); font: 500 13px/1.5 var(--t-font-body, ui-sans-serif, system-ui, sans-serif); }

/* Authored scenes and scroll chapters are deliberate cinematic breakouts. The
   story source does not change when an author switches templates. */
.rvns-dive-preopening-chapters > rvns-scene,
.rvns-dive-chapters > rvns-scene {
  width: 100vw;
  min-height: 0;
  height: auto;
  aspect-ratio: 16 / 9;
  margin: 0 calc(50% - 50vw) clamp(48px, 7vw, 88px);
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 8px 26px rgba(20, 43, 48, .1);
}
.rvns-dive-preopening-chapters > rvns-scene .rvns-scene-bg,
.rvns-dive-preopening-chapters > rvns-scene .rvns-scene-overlay,
.rvns-dive-chapters > rvns-scene .rvns-scene-bg,
.rvns-dive-chapters > rvns-scene .rvns-scene-overlay { position: absolute; }
.rvns-dive-chapters > rvns-scroll-text,
.rvns-dive-chapters > .story-hero:not(:first-child) {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.rvns-dive-chapters > rvns-scroll-text .rvns-st-panel {
  min-height: clamp(460px, 72vh, 780px);
}
.rvns-dive-chapters > rvns-scroll-text + .story,
.rvns-dive-chapters > .story-hero + .story,
.rvns-dive-chapters > rvns-scroll-text + rvns-scene,
.rvns-dive-chapters > .story-hero + rvns-scene { margin-top: clamp(48px, 7vw, 88px); }

.rvns-dive-after-narrative { color: var(--t-text); }
.rvns-dive-after-narrative .rvns-dive-module { border-color: var(--dd-line); }
.rvns-dive-after-narrative .rvns-dive-module h2 { color: var(--t-text); }

.story-credits,
.rvns-series-nav { color: var(--t-text-muted); border-color: var(--dd-line); }

/* Generic-story adapter. The renderer assigns the same editorial chapter
   roles whether or not typed dive details are available. */
body[data-rvns-layout="depth-journal"] > .story:not([data-rvns-chapter]) {
  max-width: min(820px, calc(100% - 40px));
  margin-inline: auto;
}
body[data-rvns-layout="depth-journal"] > .story > .rvns-layout-side {
  position: sticky;
  top: var(--rvns-layout-sticky-top);
  float: right;
  width: min(32%, 260px);
  margin: 0 0 32px clamp(28px, 5vw, 64px);
}
body[data-rvns-layout="depth-journal"] > .rvns-dive-opening-chapters,
body[data-rvns-layout="depth-journal"] > .rvns-dive-chapter-pair,
body[data-rvns-layout="depth-journal"] > .story[data-rvns-chapter="feature"] {
  width: min(var(--dd-width), calc(100% - 40px));
  margin-inline: auto;
}
body[data-rvns-layout="depth-journal"] > .rvns-dive-opening-chapters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
body[data-rvns-layout="depth-journal"] > .rvns-dive-opening-chapters > .story,
body[data-rvns-layout="depth-journal"] > .story[data-rvns-chapter="feature"] {
  width: 100%;
  max-width: none;
  margin: 0 0 42px;
  padding: 0;
}
body[data-rvns-layout="depth-journal"] > .rvns-dive-opening-chapters > .story > :is(.block-image, .block-video):not([data-size]),
body[data-rvns-layout="depth-journal"] > .story[data-rvns-chapter="feature"] > :is(.block-image, .block-video):not([data-size]) {
  width: 100%;
  margin-inline: 0;
}

@media (max-width: 920px) {
  body[data-rvns-layout="depth-journal"] > .story > .rvns-layout-side {
    position: static;
    float: none;
    width: auto;
    margin: 0 0 32px;
  }
  body[data-rvns-layout="depth-journal"] > .rvns-dive-opening-chapters { grid-template-columns: 1fr; }
  .rvns-dive-sidebar-layout,
  .rvns-dive-sidebar-layout[data-facts="without-facts"] { width: min(100% - 28px, 720px); padding-top: 44px; }
  /* The summary already gives phone readers the essential dive facts. Let the
     story begin next and treat the map, conditions and gear as its appendix.
     This reorders only the template's canonical composition; an authored
     section order has no data-facts attribute and remains untouched. */
  .rvns-dive-narrative {
    display: flex;
    flex-direction: column;
  }
  .rvns-dive-narrative > .rvns-dive-narrative-head { order: 1; }
  .rvns-dive-preopening-chapters { order: 2; }
  .rvns-dive-opening-chapters { order: 3; }
  .rvns-dive-chapters { order: 4; }
  .rvns-dive-preopening-chapters,
  .rvns-dive-opening-chapters,
  .rvns-dive-chapters {
    width: 100%;
    min-width: 0;
  }
  .rvns-dive-sidebar-boundary {
    order: 5;
    width: 100%;
    margin: 28px 0 0;
  }
  body[data-rvns-layout="depth-journal"] .rvns-dive-narrative .story[data-rvns-chapter] {
    width: 100%;
    margin-bottom: 38px;
  }
  body[data-rvns-layout="depth-journal"] .rvns-dive-narrative .story[data-rvns-chapter] > :is(.block-image, .block-video):not([data-size]) {
    width: 100%;
    margin-inline: 0;
  }
  .rvns-dive-chapter-pair {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  body[data-rvns-layout="depth-journal"] .rvns-dive-chapter-pair > .story[data-rvns-chapter] { margin: 0; }
  .rvns-dive-sidebar-facts {
    position: static;
    width: auto;
    margin: 0 0 38px;
  }
  .rvns-dive-narrative > .rvns-dive-narrative-head { overflow: visible; }
  .rvns-dive-preopening-chapters > rvns-scene,
  .rvns-dive-chapters > rvns-scene {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    aspect-ratio: 4 / 3;
  }
  .rvns-dive-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvns-dive-summary-grid .rvns-dive-stat:nth-child(2) { border-right: 0; }
  .rvns-dive-hero { padding-inline: 24px; }
}
