:root {
  --idcf-navy: #20344a;
  --idcf-navy-deep: #162637;
  --idcf-gold: #f2cc55;
  --idcf-paper: #f5f3ee;
  --idcf-card: #ffffff;
  --idcf-text: #17212b;
  --idcf-muted: #4a5968;
  --idcf-border: #cbd3dc;
  --idcf-focus: #0b63ce;
}

.idcf-framework {
  width: min(1400px, calc(100% - 32px));
  margin: 24px auto 32px;
  color: var(--idcf-text);
  font-size: 18px;
  line-height: 1.55;
}

.idcf-framework *,
.id-case-tabs * {
  box-sizing: border-box;
}

.idcf-case-navigation {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 10px;
}

.idcf-nav-slot-next {
  text-align: right;
}

.idcf-nav-card {
  display: inline-flex;
  width: min(100%, 285px);
  min-height: 58px;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: 8px 12px;
  border: 1px solid #3b5168;
  border-radius: 10px;
  background: var(--idcf-navy);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(15, 23, 42, .18);
}

.idcf-nav-card:hover,
.idcf-nav-card:focus-visible {
  border-color: var(--idcf-gold);
  background: var(--idcf-navy-deep);
}

.idcf-nav-direction {
  color: var(--idcf-gold);
  font-size: .78rem;
  font-weight: 800;
}

.idcf-nav-card strong {
  color: #fff;
  font-size: .96rem;
  line-height: 1.2;
}

.idcf-nav-card > span:last-child {
  color: #fff;
  font-size: .84rem;
  line-height: 1.25;
}

.idcf-hero {
  display: grid;
  grid-template-columns: minmax(260px, 30%) 1fr;
  min-height: 320px;
  overflow: hidden;
  border: 1px solid #2d4257;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--idcf-navy-deep), var(--idcf-navy));
  box-shadow: 0 12px 30px rgba(15, 23, 42, .22);
}

.idcf-hero-media {
  min-height: 320px;
  background: #101820;
}

.idcf-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 430px;
  object-fit: cover;
  object-position: center;
}

.idcf-image-placeholder {
  width: 100%;
  min-height: 320px;
  background: linear-gradient(135deg, #111b26, #2b3d50);
}

.idcf-hero-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(28px, 5vw, 64px);
  color: #fff;
}

.idcf-eyebrow {
  margin: 0 0 10px !important;
  color: var(--idcf-gold) !important;
  font-size: .93rem !important;
  font-weight: 800 !important;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.idcf-framework .idcf-case-title,
.idcf-framework h1.idcf-case-title,
.idcf-framework h2.idcf-case-title {
  margin: 0 !important;
  color: #fff !important;
  opacity: 1 !important;
  font-size: clamp(2.25rem, 4.5vw, 4.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em;
  text-shadow: 0 2px 2px rgba(0, 0, 0, .18);
}

.idcf-alias {
  margin: 17px 0 0 !important;
  color: #fff !important;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem) !important;
}

.idcf-alias strong {
  color: #fff !important;
}

.idcf-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 20px;
  padding: 8px 15px;
  border: 2px solid rgba(255, 255, 255, .78);
  border-radius: 999px;
  color: #fff !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
}

.idcf-status-missing { background: #145da0; }
.idcf-status-missing-suspected-homicide { background: #c65f00; }
.idcf-status-suspected-homicide { background: #b42318; }
.idcf-status-homicide { background: #111; }
.idcf-status-found-safe { background: #6f42c1; }
.idcf-status-resolved { background: #237a3b; }
.idcf-status-default { background: #455a64; }

.idcf-hero-location {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 780px;
  margin: 18px 0 0 !important;
  color: #fff !important;
  font-size: clamp(1rem, 1.6vw, 1.22rem) !important;
  font-weight: 700;
  line-height: 1.4;
}
.idcf-hero-location span { color: var(--idcf-gold); flex: 0 0 auto; }


.idcf-mobile-view-toggle {
  display: none;
}

.idcf-facts {
  margin-top: 14px;
  padding: 10px;
  border: 1px solid var(--idcf-border);
  border-radius: 14px;
  background: var(--idcf-paper);
}

.idcf-facts-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.idcf-fact-card,
.idcf-fact-card:nth-child(2),
.idcf-fact-card:nth-child(3),
.idcf-fact-card:nth-child(5) {
  grid-column: auto;
  display: flex;
  min-width: 0;
  min-height: 82px;
  flex-direction: column;
  justify-content: center;
  padding: 10px 12px;
  border: 1px solid var(--idcf-border);
  border-radius: 10px;
  background: var(--idcf-card);
}

.idcf-fact-label {
  color: var(--idcf-muted);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.idcf-fact-value {
  margin-top: 4px;
  color: var(--idcf-text);
  font-size: clamp(.92rem, 1.1vw, 1.08rem);
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.idcf-fact-secondary {
  display: block;
  margin-top: 5px;
  color: var(--idcf-muted);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.25;
}
.idcf-fact-secondary-label { font-weight: 800; }

.idcf-fact-age {
  align-items: flex-start;
  text-align: left;
}

.idcf-fact-age .idcf-fact-value {
  font-size: clamp(.92rem, 1.1vw, 1.08rem);
  line-height: 1.22;
}

/* Existing Advanced Tabs block */
.id-case-tabs {
  width: min(1400px, calc(100% - 32px));
  margin: 22px auto 0;
  color: var(--idcf-text);
  font-size: 18px;
  line-height: 1.65;
}

.id-case-tabs .b-blocks-advanced-tabs-button-lists {
  display: flex !important;
  gap: 8px !important;
  padding: 8px !important;
  border: 1px solid var(--idcf-border) !important;
  border-top-left-radius: 14px !important;
  border-top-right-radius: 14px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  background: var(--idcf-paper) !important;
  flex-wrap: wrap !important;
}

.id-case-tabs .b-blocks-advanced-tabs-button {
  min-height: 48px !important;
  padding: 10px 14px !important;
  border: 2px solid var(--idcf-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--idcf-text) !important;
  flex: 1 1 150px;
}

.id-case-tabs .b-blocks-advanced-tabs-button-title {
  color: inherit !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-button-active {
  border-color: var(--idcf-navy) !important;
  background: var(--idcf-navy) !important;
  color: #fff !important;
}

.id-case-tabs .b-blocks-advanced-tabs-contents {
  margin-top: 0 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel {
  margin: 0 !important;
  padding: 0 clamp(18px, 3vw, 32px) clamp(18px, 3vw, 32px) !important;
  border: 1px solid #3b5168 !important;
  border-top: 0 !important;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
  background: var(--idcf-navy-deep) !important;
  color: #fff !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel > :first-child {
  margin-top: 0 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel > :first-child h1,
.id-case-tabs .b-blocks-advanced-tabs-panel > :first-child h2,
.id-case-tabs .b-blocks-advanced-tabs-panel > :first-child h3,
.id-case-tabs .b-blocks-advanced-tabs-panel > h1:first-child,
.id-case-tabs .b-blocks-advanced-tabs-panel > h2:first-child,
.id-case-tabs .b-blocks-advanced-tabs-panel > h3:first-child {
  margin-top: 0 !important;
}

.id-case-tabs p,
.id-case-tabs li,
.id-case-tabs td,
.id-case-tabs th {
  font-size: 1rem;
  line-height: 1.7;
}

.id-case-tabs table {
  width: 100%;
  border-collapse: collapse;
}

.id-case-tabs th,
.id-case-tabs td {
  padding: 13px 14px;
  border: 1px solid #b8c1cc;
  vertical-align: top;
  text-align: left;
}

.id-case-tabs th {
  background: var(--idcf-navy);
  color: #fff;
  font-weight: 800;
}

.id-case-tabs tbody tr:nth-child(even) td {
  background: #f7f8fa;
}


.id-case-tabs .b-blocks-advanced-tabs-panel img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 2px solid #b8c4cf;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .10);
}

.id-case-tabs .b-blocks-advanced-tabs-panel figure {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.id-case-tabs .b-blocks-advanced-tabs-panel figure img {
  margin: 0;
}


.idcf-framework a:focus-visible,
.idcf-framework button:focus-visible,
.id-case-tabs a:focus-visible,
.id-case-tabs button:focus-visible {
  outline: 4px solid var(--idcf-focus);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .idcf-framework,
  .id-case-tabs {
    width: min(100% - 18px, 720px);
  }

  .idcf-case-navigation {
    grid-template-columns: 1fr;
  }

  .idcf-nav-slot,
  .idcf-nav-slot-next {
    text-align: left;
  }

  .idcf-nav-card {
    width: 100%;
    min-height: 54px;
  }

  .idcf-hero {
    grid-template-columns: 1fr;
  }

  .idcf-hero-media,
  .idcf-hero-image,
  .idcf-image-placeholder {
    min-height: 0;
  }

  .idcf-hero-image {
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 5;
  }

  .idcf-hero-content {
    padding: 27px 21px 32px;
  }

  .idcf-mobile-view-toggle {
    display: inline-flex;
    margin: 12px auto 0;
    padding: 3px;
    border: 1px solid var(--idcf-border);
    border-radius: 999px;
    background: #fff;
  }

  .idcf-mobile-view-button {
    min-height: 36px;
    padding: 5px 12px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--idcf-text);
    font: inherit;
    font-size: .87rem;
    font-weight: 800;
  }

  .idcf-mobile-view-button.is-active {
    background: var(--idcf-navy);
    color: #fff;
  }

  .idcf-facts-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .idcf-fact-card,
  .idcf-fact-card:nth-child(2),
  .idcf-fact-card:nth-child(3),
  .idcf-fact-card:nth-child(5) {
    grid-column: auto;
  }

  .id-case-tabs .b-blocks-advanced-tabs-button-lists {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .id-case-tabs .b-blocks-advanced-tabs-button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  body.idcf-mobile-research .id-case-tabs .wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.idcf-mobile-research .id-case-tabs table {
    min-width: 760px;
  }

  body.idcf-mobile-reading .id-case-tabs table {
    min-width: 0;
  }
}

@media (max-width: 520px) {
  .idcf-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .idcf-fact-card {
    min-height: 74px;
    padding: 9px 10px;
  }

  .id-case-tabs .b-blocks-advanced-tabs-panel {
    padding: 15px;
  }

  .id-case-tabs .wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}


@media (max-width: 380px) {
  .idcf-facts-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .idcf-framework *,
  .idcf-framework *::before,
  .idcf-framework *::after,
  .id-case-tabs *,
  .id-case-tabs *::before,
  .id-case-tabs *::after {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}


/* v2.4 stronger tab-panel normalization */
.id-case-tabs .b-blocks-advanced-tabs-main-wrapper,
.id-case-tabs .b-blocks-advanced-tabs-contents,
.id-case-tabs .b-blocks-advanced-tabs-panel-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
  row-gap: 0 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-button-lists {
  margin-bottom: 0 !important;
  background: var(--idcf-navy) !important;
  border-bottom-color: #3b5168 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: var(--idcf-navy-deep) !important;
  color: #fff !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel > :first-child,
.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-group:first-child,
.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-cover:first-child,
.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-columns:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel,
.id-case-tabs .b-blocks-advanced-tabs-panel p,
.id-case-tabs .b-blocks-advanced-tabs-panel li,
.id-case-tabs .b-blocks-advanced-tabs-panel h1,
.id-case-tabs .b-blocks-advanced-tabs-panel h2,
.id-case-tabs .b-blocks-advanced-tabs-panel h3,
.id-case-tabs .b-blocks-advanced-tabs-panel h4,
.id-case-tabs .b-blocks-advanced-tabs-panel h5,
.id-case-tabs .b-blocks-advanced-tabs-panel h6,
.id-case-tabs .b-blocks-advanced-tabs-panel strong {
  color: #fff !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel a {
  color: #f6d873 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-group,
.id-case-tabs .b-blocks-advanced-tabs-panel .wp-block-columns,
.id-case-tabs .b-blocks-advanced-tabs-panel .wp-block-column {
  background-color: transparent !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel img:not(.avatar) {
  border: 2px solid var(--idcf-gold) !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .28) !important;
}


/* v2.5: make the tab strip and active panel meet cleanly */
.id-case-tabs .b-blocks-advanced-tabs-button-lists {
  position: relative;
  z-index: 2;
  margin-bottom: -1px !important;
}

.id-case-tabs .b-blocks-advanced-tabs-contents,
.id-case-tabs .b-blocks-advanced-tabs-panel-wrapper,
.id-case-tabs .b-blocks-advanced-tabs-panel {
  position: relative;
  z-index: 1;
  top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel {
  border-top: 1px solid #3b5168 !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel > :first-child,
.id-case-tabs .b-blocks-advanced-tabs-panel > :first-child > :first-child {
  margin-top: 0 !important;
}

/* Tables and timeline grids need dark body text on their light cells. */
.id-case-tabs .b-blocks-advanced-tabs-panel table {
  background: #fff !important;
  color: var(--idcf-text) !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel table td,
.id-case-tabs .b-blocks-advanced-tabs-panel table td p,
.id-case-tabs .b-blocks-advanced-tabs-panel table td span,
.id-case-tabs .b-blocks-advanced-tabs-panel table td strong,
.id-case-tabs .b-blocks-advanced-tabs-panel table td em,
.id-case-tabs .b-blocks-advanced-tabs-panel table td div {
  color: var(--idcf-text) !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel table th,
.id-case-tabs .b-blocks-advanced-tabs-panel table th p,
.id-case-tabs .b-blocks-advanced-tabs-panel table th span,
.id-case-tabs .b-blocks-advanced-tabs-panel table th strong,
.id-case-tabs .b-blocks-advanced-tabs-panel table th em,
.id-case-tabs .b-blocks-advanced-tabs-panel table th div {
  color: #fff !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel table td a {
  color: #8a5a00 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.id-case-tabs .b-blocks-advanced-tabs-panel table tbody tr:nth-child(odd) td {
  background: #fff !important;
}

.id-case-tabs .b-blocks-advanced-tabs-panel table tbody tr:nth-child(even) td {
  background: #f1f3f5 !important;
}

/* Gutenberg table blocks sometimes place text color on the figure wrapper. */
.id-case-tabs .b-blocks-advanced-tabs-panel .wp-block-table,
.id-case-tabs .b-blocks-advanced-tabs-panel .wp-block-table * {
  --wp--preset--color--white: #ffffff;
}



/* v2.6: selected-tab outline and single visible content container */

/* Keep a visible border around the active tab instead of letting it blend into the strip. */
.id-case-tabs .b-blocks-advanced-tabs-button-active,
.id-case-tabs .b-blocks-advanced-tabs-button[aria-selected="true"] {
  border: 2px solid var(--idcf-gold) !important;
  background: var(--idcf-navy-deep) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) inset !important;
}

/* Make the plugin's outer wrappers visually disappear. */
.id-case-tabs,
.id-case-tabs .b-blocks-advanced-tabs-main-wrapper,
.id-case-tabs .b-blocks-advanced-tabs-contents,
.id-case-tabs .b-blocks-advanced-tabs-panel-wrapper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* The active panel is the single visible content box. */
.id-case-tabs .b-blocks-advanced-tabs-panel {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(18px, 2.5vw, 28px) !important;
  border: 1px solid #3b5168 !important;
  border-radius: 0 0 14px 14px !important;
  background: var(--idcf-navy-deep) !important;
  box-shadow: none !important;
}

/* Remove any nested full-width box styling that creates a box-inside-a-box effect. */
.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-group,
.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-cover,
.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-columns,
.id-case-tabs .b-blocks-advanced-tabs-panel > .wp-block-column,
.id-case-tabs .b-blocks-advanced-tabs-panel > div:first-child {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Preserve intentional internal boxes such as tables, headings, callouts and images. */
.id-case-tabs .b-blocks-advanced-tabs-panel table,
.id-case-tabs .b-blocks-advanced-tabs-panel figure,
.id-case-tabs .b-blocks-advanced-tabs-panel .wp-block-table,
.id-case-tabs .b-blocks-advanced-tabs-panel .wp-block-image {
  background-color: initial;
}

/* Avoid a second blue outline in the editor when the inner content container is selected. */
.editor-styles-wrapper .id-case-tabs .b-blocks-advanced-tabs-panel > .is-selected,
.editor-styles-wrapper .id-case-tabs .b-blocks-advanced-tabs-panel > .has-child-selected {
  box-shadow: none !important;
}



/* v2.7 Case Map block */
.idcf-case-map {
  width: 100%;
  margin: 0;
  color: #fff;
}

.idcf-map-heading {
  margin: 0 0 10px;
  padding: 10px 18px 8px;
  border: 1px solid #a9adb3;
  border-bottom: 4px dashed #d7d9dc;
  border-radius: 999px 999px 0 0;
  background: #5b5b5b;
  text-align: center;
}

.idcf-map-heading h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  line-height: 1.2;
}

.idcf-map-details {
  margin: 0 0 22px;
}

.idcf-map-details p {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-size: 1.05rem;
  line-height: 1.55;
}

.idcf-map-note {
  padding: 10px 12px;
  border-left: 4px solid var(--idcf-gold);
  background: rgba(255, 255, 255, .06);
}

.idcf-map-frame {
  width: 100%;
  height: var(--idcf-map-height, 520px);
  overflow: hidden;
  border: 2px solid var(--idcf-gold);
  border-radius: 10px;
  background: #0d1823;
}

.idcf-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0 !important;
  border-radius: 0 !important;
}

.idcf-map-caption {
  margin: 10px 0 0 !important;
  color: #d6dde5 !important;
  font-size: .9rem;
  font-style: italic;
}

.idcf-map-empty {
  min-height: 240px;
  display: grid;
  place-items: center;
  padding: 24px;
  border: 2px dashed #65798e;
  border-radius: 10px;
  color: #fff;
  text-align: center;
}

.idcf-map-editor-preview {
  padding: 12px;
  border: 1px dashed #8da0b4;
}

.idcf-map-editor-preview iframe {
  pointer-events: none;
}

@media (max-width: 767px) {
  .idcf-map-frame {
    height: min(var(--idcf-map-height, 520px), 440px);
  }
}


/* v2.8 map refinements */
.idcf-case-map .idcf-map-heading {
  display: none !important;
}

.idcf-map-disclaimer {
  margin: 14px 0 0 !important;
  padding: 11px 13px;
  border-left: 4px solid var(--idcf-gold);
  background: rgba(255, 255, 255, .06);
  color: #d6dde5 !important;
  font-size: .88rem;
  line-height: 1.55;
}



/* v2.9: make Research View a true desktop-width layout on phones */
@media (max-width: 767px) {
  body.idcf-mobile-research {
    overflow-x: auto !important;
  }

  body.idcf-mobile-research .idcf-framework,
  body.idcf-mobile-research .id-case-tabs {
    width: 1180px !important;
    max-width: none !important;
    margin-left: 9px !important;
    margin-right: 9px !important;
  }

  body.idcf-mobile-research .idcf-case-navigation {
    grid-template-columns: 1fr 1fr !important;
  }

  body.idcf-mobile-research .idcf-nav-slot-next {
    text-align: right !important;
  }

  body.idcf-mobile-research .idcf-nav-card {
    width: min(100%, 285px) !important;
  }

  body.idcf-mobile-research .idcf-hero {
    grid-template-columns: minmax(260px, 30%) 1fr !important;
  }

  body.idcf-mobile-research .idcf-hero-media,
  body.idcf-mobile-research .idcf-hero-image,
  body.idcf-mobile-research .idcf-image-placeholder {
    min-height: 320px !important;
  }

  body.idcf-mobile-research .idcf-hero-image {
    width: 100% !important;
    height: 100% !important;
    max-height: 430px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  body.idcf-mobile-research .idcf-hero-content {
    padding: 36px 48px !important;
  }

  body.idcf-mobile-research .idcf-facts-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.idcf-mobile-research .idcf-fact-card {
    min-height: 82px !important;
    padding: 10px 12px !important;
  }

  body.idcf-mobile-research .id-case-tabs .b-blocks-advanced-tabs-button-lists {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
  }

  body.idcf-mobile-research .id-case-tabs .b-blocks-advanced-tabs-button {
    flex: 1 1 140px !important;
    white-space: normal !important;
  }

  body.idcf-mobile-research .id-case-tabs .b-blocks-advanced-tabs-panel {
    padding: 28px !important;
  }

  body.idcf-mobile-research .id-case-tabs .wp-block-table {
    overflow: visible !important;
  }

  body.idcf-mobile-research .id-case-tabs table {
    min-width: 760px !important;
  }

  body.idcf-mobile-research .idcf-map-frame {
    height: var(--idcf-map-height, 520px) !important;
  }

  /* Reading View explicitly restores the responsive phone layout. */
  body.idcf-mobile-reading {
    overflow-x: hidden !important;
  }

  body.idcf-mobile-reading .idcf-framework,
  body.idcf-mobile-reading .id-case-tabs {
    width: min(100% - 18px, 720px) !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.idcf-mobile-reading .idcf-hero {
    grid-template-columns: 1fr !important;
  }

  body.idcf-mobile-reading .idcf-facts-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  body.idcf-mobile-reading .idcf-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 380px) {
  body.idcf-mobile-reading .idcf-facts-grid {
    grid-template-columns: 1fr !important;
  }
}


/* v3.0: keep top-level case-page content aligned to the 1400px framework */
@media (min-width: 768px) {
  body.id-case-page .wp-site-blocks main .wp-block-post-content > *,
  body.id-case-page main .entry-content > *,
  body.id-case-page article .entry-content > * {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }

  body.id-case-page .wp-site-blocks main .wp-block-post-content > .idcf-framework,
  body.id-case-page main .entry-content > .idcf-framework,
  body.id-case-page article .entry-content > .idcf-framework,
  body.id-case-page .wp-site-blocks main .wp-block-post-content > .id-case-tabs,
  body.id-case-page main .entry-content > .id-case-tabs,
  body.id-case-page article .entry-content > .id-case-tabs {
    width: min(1400px, calc(100% - 32px));
  }

  body.id-case-page .wp-site-blocks main .wp-block-post-content > .alignfull,
  body.id-case-page main .entry-content > .alignfull,
  body.id-case-page article .entry-content > .alignfull {
    width: min(1400px, calc(100% - 32px)) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v3.1: list readability and gold separators inside case content */
.id-case-tabs ul,
.id-case-tabs ol,
.idcf-framework ul,
.idcf-framework ol {
  padding-left: 1.75rem !important;
  color: #ffffff !important;
}

.id-case-tabs li,
.idcf-framework li {
  margin-bottom: 0.7rem;
  color: #ffffff !important;
  line-height: 1.7;
}

.id-case-tabs li > *,
.idcf-framework li > * {
  color: inherit !important;
}

.id-case-tabs li::marker,
.idcf-framework li::marker {
  color: var(--idcf-gold) !important;
  font-weight: 700;
}

.id-case-tabs .wp-block-separator,
.idcf-framework .wp-block-separator,
.id-case-tabs hr,
.idcf-framework hr {
  border-color: var(--idcf-gold) !important;
  color: var(--idcf-gold) !important;
  background-color: var(--idcf-gold) !important;
  opacity: 1 !important;
}

.id-case-tabs .wp-block-separator:not(.is-style-dots),
.idcf-framework .wp-block-separator:not(.is-style-dots) {
  height: 2px;
  border: 0 !important;
}

.id-case-tabs .wp-block-separator.is-style-dots::before,
.idcf-framework .wp-block-separator.is-style-dots::before {
  color: var(--idcf-gold) !important;
}


/* v3.2: Gutenberg editor list-block background fix */
.editor-styles-wrapper .id-case-tabs .wp-block-list,
.editor-styles-wrapper .idcf-framework .wp-block-list,
.editor-styles-wrapper .id-case-tabs ul.wp-block-list,
.editor-styles-wrapper .idcf-framework ul.wp-block-list,
.editor-styles-wrapper .id-case-tabs ol.wp-block-list,
.editor-styles-wrapper .idcf-framework ol.wp-block-list,
.editor-styles-wrapper .id-case-tabs .block-editor-block-list__block.wp-block-list,
.editor-styles-wrapper .idcf-framework .block-editor-block-list__block.wp-block-list {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
}

.editor-styles-wrapper .id-case-tabs .wp-block-list.is-selected,
.editor-styles-wrapper .idcf-framework .wp-block-list.is-selected,
.editor-styles-wrapper .id-case-tabs .wp-block-list.has-child-selected,
.editor-styles-wrapper .idcf-framework .wp-block-list.has-child-selected,
.editor-styles-wrapper .id-case-tabs [data-type="core/list"],
.editor-styles-wrapper .idcf-framework [data-type="core/list"],
.editor-styles-wrapper .id-case-tabs [data-type="core/list"] > div,
.editor-styles-wrapper .idcf-framework [data-type="core/list"] > div {
  background: transparent !important;
  background-color: transparent !important;
}

.editor-styles-wrapper .id-case-tabs [data-type="core/list"] li,
.editor-styles-wrapper .idcf-framework [data-type="core/list"] li,
.editor-styles-wrapper .id-case-tabs [data-type="core/list-item"],
.editor-styles-wrapper .idcf-framework [data-type="core/list-item"],
.editor-styles-wrapper .id-case-tabs [data-type="core/list-item"] p,
.editor-styles-wrapper .idcf-framework [data-type="core/list-item"] p,
.editor-styles-wrapper .id-case-tabs .wp-block-list li,
.editor-styles-wrapper .idcf-framework .wp-block-list li {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
}

.editor-styles-wrapper .id-case-tabs [data-type="core/list"] li::marker,
.editor-styles-wrapper .idcf-framework [data-type="core/list"] li::marker,
.editor-styles-wrapper .id-case-tabs .wp-block-list li::marker,
.editor-styles-wrapper .idcf-framework .wp-block-list li::marker {
  color: var(--idcf-gold) !important;
}

/* Gutenberg may apply its canvas selection surface to the editable list area. */
.editor-styles-wrapper .id-case-tabs .rich-text,
.editor-styles-wrapper .idcf-framework .rich-text,
.editor-styles-wrapper .id-case-tabs [contenteditable="true"],
.editor-styles-wrapper .idcf-framework [contenteditable="true"] {
  background-color: transparent;
}

.editor-styles-wrapper .id-case-tabs [data-type="core/list"] [contenteditable="true"],
.editor-styles-wrapper .idcf-framework [data-type="core/list"] [contenteditable="true"],
.editor-styles-wrapper .id-case-tabs [data-type="core/list-item"] [contenteditable="true"],
.editor-styles-wrapper .idcf-framework [data-type="core/list-item"] [contenteditable="true"] {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
}


/* v3.3: Advanced Tabs Gutenberg List block surface fix
 *
 * In the editor, the Advanced Tabs block does not necessarily carry the
 * front-end .id-case-tabs class. WordPress also wraps core/list in several
 * editor-only containers. Target those actual containers directly.
 */
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list"],
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list"] > div,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list"] ul,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list"] ol,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper .wp-block-list,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list"],
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list"] > div,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list"] ul,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list"] ol,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel .wp-block-list {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list-item"],
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list-item"] > div,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list-item"] p,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list-item"] [contenteditable="true"],
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper .wp-block-list li,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list-item"],
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list-item"] > div,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list-item"] p,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list-item"] [contenteditable="true"],
.editor-styles-wrapper .b-blocks-advanced-tabs-panel .wp-block-list li {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

/* Override theme/global inline palette classes on the list wrapper. */
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list"].has-background,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper .wp-block-list.has-background,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list"].has-background,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel .wp-block-list.has-background {
  background: transparent !important;
  background-color: transparent !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Individual list items may still use a deliberately chosen background.
 * Clear it so the list always matches the navy case panel.
 */
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list-item"].has-background,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list-item"] .has-background,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list-item"].has-background,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list-item"] .has-background {
  background: transparent !important;
  background-color: transparent !important;
}

.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper [data-type="core/list"] li::marker,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper .wp-block-list li::marker,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel [data-type="core/list"] li::marker,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel .wp-block-list li::marker {
  color: var(--idcf-gold) !important;
}

/* Front end: also defeat any saved list background palette class. */
.id-case-tabs .wp-block-list.has-background,
.id-case-tabs [data-type="core/list"].has-background {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
}


/* v3.4: readable article heading scale inside case content */
.id-case-tabs h1,
.idcf-framework h1,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h1,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel h1 {
  margin: 0 0 0.75rem !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: clamp(2rem, 3.2vw, 2.7rem) !important;
  font-weight: 750 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}

.id-case-tabs h2,
.idcf-framework h2,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h2,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel h2 {
  margin: 1.35rem 0 0.65rem !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
  font-weight: 750 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.01em !important;
}

.id-case-tabs h3,
.idcf-framework h3,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h3,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel h3 {
  margin: 1.15rem 0 0.55rem !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: clamp(1.3rem, 1.9vw, 1.6rem) !important;
  font-weight: 725 !important;
  line-height: 1.28 !important;
}

.id-case-tabs h4,
.idcf-framework h4,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h4,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel h4 {
  margin: 1rem 0 0.45rem !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: clamp(1.12rem, 1.5vw, 1.3rem) !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
}

.id-case-tabs h5,
.idcf-framework h5,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h5,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel h5 {
  margin: 0.9rem 0 0.4rem !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.id-case-tabs h6,
.idcf-framework h6,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h6,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel h6 {
  margin: 0.85rem 0 0.35rem !important;
  color: var(--idcf-gold) !important;
  font-family: inherit !important;
  font-size: 0.96rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

/* Prevent pasted WordPress heading presets from overriding the case scale. */
.id-case-tabs .has-xx-large-font-size,
.id-case-tabs .has-x-large-font-size,
.idcf-framework .has-xx-large-font-size,
.idcf-framework .has-x-large-font-size,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper .has-xx-large-font-size,
.editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper .has-x-large-font-size,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel .has-xx-large-font-size,
.editor-styles-wrapper .b-blocks-advanced-tabs-panel .has-x-large-font-size {
  font-size: inherit !important;
}

@media (max-width: 767px) {
  .id-case-tabs h1,
  .idcf-framework h1,
  .editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h1,
  .editor-styles-wrapper .b-blocks-advanced-tabs-panel h1 {
    font-size: clamp(1.75rem, 8vw, 2.15rem) !important;
  }

  .id-case-tabs h2,
  .idcf-framework h2,
  .editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h2,
  .editor-styles-wrapper .b-blocks-advanced-tabs-panel h2 {
    font-size: clamp(1.4rem, 6vw, 1.75rem) !important;
  }

  .id-case-tabs h3,
  .idcf-framework h3,
  .editor-styles-wrapper .b-blocks-advanced-tabs-main-wrapper h3,
  .editor-styles-wrapper .b-blocks-advanced-tabs-panel h3 {
    font-size: clamp(1.2rem, 5vw, 1.45rem) !important;
  }
}


/* v3.5: automatically calculated approximate current age */
.idcf-fact-secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0;
  row-gap: 2px;
}

.idcf-fact-dob {
  white-space: normal;
}

.idcf-fact-current-age {
  color: #b42318;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.25;
}

.idcf-fact-current-age-label {
  font-weight: 850;
}

.idcf-fact-secondary-divider {
  color: var(--idcf-muted);
  font-weight: 700;
}

@media (max-width: 1100px) {
  .idcf-fact-current-age {
    flex-basis: 100%;
  }

  .idcf-fact-secondary-divider {
    display: none;
  }
}


/* v3.6: front-end list surface repair
 *
 * Some existing Gutenberg List blocks retained a light/silver saved background
 * (or a background on a list-item wrapper). The case panel still forced the
 * list text to white, producing white text on a pale box.
 *
 * Normalize list surfaces on the PUBLIC case page as aggressively as the editor
 * rules already do. This is deliberately scoped to Independent Detective case
 * tabs / Advanced Tabs panels only.
 */
body.id-case-page .id-case-tabs .wp-block-list,
body.id-case-page .id-case-tabs ul.wp-block-list,
body.id-case-page .id-case-tabs ol.wp-block-list,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper .wp-block-list,
body.id-case-page .b-blocks-advanced-tabs-panel .wp-block-list,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper ul,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper ol,
body.id-case-page .b-blocks-advanced-tabs-panel ul,
body.id-case-page .b-blocks-advanced-tabs-panel ol {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Clear saved palette/inline background surfaces from list wrappers. */
body.id-case-page .id-case-tabs .wp-block-list.has-background,
body.id-case-page .id-case-tabs ul.has-background,
body.id-case-page .id-case-tabs ol.has-background,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper .wp-block-list.has-background,
body.id-case-page .b-blocks-advanced-tabs-panel .wp-block-list.has-background,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper ul.has-background,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper ol.has-background,
body.id-case-page .b-blocks-advanced-tabs-panel ul.has-background,
body.id-case-page .b-blocks-advanced-tabs-panel ol.has-background {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Individual list-item blocks or nested spans can also carry a saved background. */
body.id-case-page .id-case-tabs li,
body.id-case-page .id-case-tabs li > *,
body.id-case-page .id-case-tabs li .has-background,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper li,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper li > *,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper li .has-background,
body.id-case-page .b-blocks-advanced-tabs-panel li,
body.id-case-page .b-blocks-advanced-tabs-panel li > *,
body.id-case-page .b-blocks-advanced-tabs-panel li .has-background {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: none !important;
}

/* Preserve the intended gold bullets. */
body.id-case-page .id-case-tabs li::marker,
body.id-case-page .b-blocks-advanced-tabs-main-wrapper li::marker,
body.id-case-page .b-blocks-advanced-tabs-panel li::marker {
  color: var(--idcf-gold) !important;
  -webkit-text-fill-color: var(--idcf-gold) !important;
}

/* A generic Group block around a list can retain a pale Gutenberg background.
 * Clear only groups that directly contain a List block, leaving intentional
 * callouts/tables elsewhere alone.
 */
body.id-case-page .id-case-tabs .wp-block-group:has(> .wp-block-list),
body.id-case-page .b-blocks-advanced-tabs-panel .wp-block-group:has(> .wp-block-list) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}


/* Case Photo Gallery — v3.7.0
   The featured image sizing/layout above is intentionally unchanged. */
.idcf-hero-media{position:relative;overflow:visible}
.idcf-gallery-trigger{
  position:absolute;left:14px;bottom:14px;z-index:8;
  display:flex;align-items:center;gap:7px;
  padding:8px 11px;border:1px solid rgba(232,190,92,.55);border-radius:999px;
  background:rgba(8,22,36,.88);color:#fff;font-size:.76rem;font-weight:750;
  box-shadow:0 7px 20px rgba(0,0,0,.24);pointer-events:none;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.idcf-gallery-trigger-icon{color:var(--idcf-gold);font-size:1rem;line-height:1}
.idcf-photo-gallery{
  position:absolute;left:18px;top:18px;z-index:30;
  width:min(390px,calc(100vw - 48px));max-height:calc(100% - 36px);
  padding:14px;border:1px solid rgba(232,190,92,.5);border-radius:14px;
  background:rgba(8,22,36,.96);color:#fff;
  box-shadow:0 18px 45px rgba(0,0,0,.38);
  opacity:0;visibility:hidden;transform:translateY(7px) scale(.985);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  overflow:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
.idcf-hero-media:hover .idcf-photo-gallery,
.idcf-hero-media:focus-within .idcf-photo-gallery,
.idcf-hero-media.idcf-gallery-open .idcf-photo-gallery{
  opacity:1;visibility:visible;transform:none
}
.idcf-photo-gallery-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.idcf-photo-gallery-head strong{color:#fff;font-size:.92rem}
.idcf-photo-gallery-head span{color:#b9c8d6;font-size:.75rem}
.idcf-photo-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.idcf-gallery-thumb{
  display:block;aspect-ratio:1/1;overflow:hidden;border:1px solid rgba(255,255,255,.16);
  border-radius:9px;background:#0d1a26;transition:transform .14s ease,border-color .14s ease
}
.idcf-gallery-thumb:hover,.idcf-gallery-thumb:focus{transform:translateY(-2px);border-color:var(--idcf-gold);outline:none}
.idcf-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.idcf-photo-gallery-help{margin:10px 0 0!important;color:#b9c8d6!important;font-size:.72rem!important;line-height:1.4!important}

.idcf-gallery-lightbox{
  position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;
  padding:28px;background:rgba(3,10,18,.92)
}
.idcf-gallery-lightbox.is-open{display:flex}
.idcf-gallery-lightbox-dialog{position:relative;width:min(1050px,94vw);max-height:92vh;text-align:center}
.idcf-gallery-lightbox-image{display:block;max-width:100%;max-height:78vh;margin:0 auto;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.idcf-gallery-lightbox-caption{margin:12px auto 0;color:#e8eef4;font-size:.9rem}
.idcf-gallery-lightbox-actions{display:flex;justify-content:center;gap:10px;margin-top:12px}
.idcf-gallery-lightbox-actions a,.idcf-gallery-lightbox-close{
  border:1px solid rgba(232,190,92,.65);border-radius:8px;background:#10253a;color:#fff;
  padding:8px 12px;text-decoration:none;cursor:pointer;font:inherit
}
.idcf-gallery-lightbox-close{position:absolute;right:0;top:-42px;width:36px;height:36px;padding:0;border-radius:50%;font-size:22px;line-height:32px}

@media(max-width:767px){
  .idcf-hero-media{overflow:visible}
  .idcf-gallery-trigger{pointer-events:auto;cursor:pointer}
  .idcf-photo-gallery{left:10px;right:10px;top:auto;bottom:10px;width:auto;max-height:82%;transform:translateY(7px)}
  .idcf-hero-media:hover .idcf-photo-gallery{opacity:0;visibility:hidden}
  .idcf-hero-media.idcf-gallery-open .idcf-photo-gallery,
  .idcf-hero-media:focus-within .idcf-photo-gallery{opacity:1;visibility:visible;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .idcf-photo-gallery,.idcf-gallery-thumb{transition:none}
}

/* Gallery metadata — v3.8.0 */
.idcf-gallery-thumb{position:relative}
.idcf-gallery-thumb-date{
  position:absolute;left:5px;right:5px;bottom:5px;padding:4px 5px;border-radius:5px;
  background:rgba(5,17,29,.86);color:#fff;font-size:.61rem;line-height:1.2;text-align:center;
  pointer-events:none
}
.idcf-gallery-lightbox-meta{margin:8px auto 0;color:#b9c8d6;font-size:.78rem}
.idcf-gallery-lightbox-description{
  max-width:760px;margin:9px auto 0;color:#eef4f8;font-size:.9rem;line-height:1.55;
  white-space:pre-line
}

/* ==========================================================
   v3.8.1 — Public Tips / WordPress comments readability fix
   The tab panels intentionally use white text on navy. WordPress
   comments, however, render on light cards inside Public Tips, so
   their typography must return to the Case Framework dark palette.
   ========================================================== */
.id-case-tabs .comments-area,
.id-case-tabs .wp-block-comments,
.id-case-tabs .wp-block-post-comments,
.id-case-tabs .comment-list,
.id-case-tabs .comment,
.id-case-tabs .comment-body,
.id-case-tabs .comment-content,
.id-case-tabs .wp-block-comment-content,
.id-case-tabs .comment-respond,
.id-case-tabs .comment-form {
  color: var(--idcf-text) !important;
}

.id-case-tabs .comments-area p,
.id-case-tabs .comments-area li,
.id-case-tabs .comments-area span,
.id-case-tabs .comments-area strong,
.id-case-tabs .comments-area em,
.id-case-tabs .wp-block-comments p,
.id-case-tabs .wp-block-comments li,
.id-case-tabs .wp-block-comments span,
.id-case-tabs .wp-block-comments strong,
.id-case-tabs .wp-block-comments em,
.id-case-tabs .wp-block-post-comments p,
.id-case-tabs .wp-block-post-comments li,
.id-case-tabs .wp-block-post-comments span,
.id-case-tabs .wp-block-post-comments strong,
.id-case-tabs .wp-block-post-comments em,
.id-case-tabs .comment-content,
.id-case-tabs .comment-content p,
.id-case-tabs .comment-content li,
.id-case-tabs .comment-content span,
.id-case-tabs .comment-content strong,
.id-case-tabs .wp-block-comment-content,
.id-case-tabs .wp-block-comment-content p {
  color: var(--idcf-text) !important;
}

.id-case-tabs .comments-title,
.id-case-tabs .comment-reply-title,
.id-case-tabs #reply-title,
.id-case-tabs .wp-block-comments-title,
.id-case-tabs .comment-author,
.id-case-tabs .comment-author .fn,
.id-case-tabs .wp-block-comment-author-name,
.id-case-tabs .wp-block-comment-author-name a {
  color: var(--idcf-navy-deep) !important;
}

.id-case-tabs .comment-meta,
.id-case-tabs .comment-metadata,
.id-case-tabs .comment-metadata time,
.id-case-tabs .wp-block-comment-date,
.id-case-tabs .wp-block-comment-date a,
.id-case-tabs .comment-notes,
.id-case-tabs .logged-in-as,
.id-case-tabs .logged-in-as a {
  color: var(--idcf-muted) !important;
}

.id-case-tabs .comments-area a:not(.comment-reply-link):not(.submit),
.id-case-tabs .wp-block-comments a:not(.comment-reply-link):not(.submit),
.id-case-tabs .wp-block-post-comments a:not(.comment-reply-link):not(.submit),
.id-case-tabs .comment-content a,
.id-case-tabs .wp-block-comment-content a {
  color: #176f99 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.id-case-tabs .comment-reply-link {
  color: #fff !important;
}

.id-case-tabs .comment-form label {
  color: var(--idcf-text) !important;
}

.id-case-tabs .comment-form textarea,
.id-case-tabs .comment-form input[type="text"],
.id-case-tabs .comment-form input[type="email"],
.id-case-tabs .comment-form input[type="url"] {
  background: #fff !important;
  color: var(--idcf-text) !important;
  caret-color: var(--idcf-text) !important;
}

.id-case-tabs .comment-form textarea::placeholder,
.id-case-tabs .comment-form input::placeholder {
  color: #6b7f8c !important;
  opacity: 1 !important;
}


/* ==========================================================
   v3.8.2 — Public Tips hard text-fill repair
   Older case-tab compatibility rules use -webkit-text-fill-color
   to force light text on dark panels. WordPress comments use light
   cards, so Public Tips must explicitly reset BOTH color and text-fill.
   ========================================================== */
body.id-case-page .id-case-tabs .comments-area,
body.id-case-page .id-case-tabs .comments-area *,
body.id-case-page .id-case-tabs .wp-block-comments,
body.id-case-page .id-case-tabs .wp-block-comments *,
body.id-case-page .id-case-tabs .wp-block-post-comments,
body.id-case-page .id-case-tabs .wp-block-post-comments *,
body.id-case-page .id-case-tabs .comment-list,
body.id-case-page .id-case-tabs .comment-list *,
body.id-case-page .id-case-tabs .comment-respond,
body.id-case-page .id-case-tabs .comment-respond * {
  color: #17364b !important;
  -webkit-text-fill-color: #17364b !important;
}

/* Comment author/name and headings */
body.id-case-page .id-case-tabs .comments-title,
body.id-case-page .id-case-tabs .comment-reply-title,
body.id-case-page .id-case-tabs #reply-title,
body.id-case-page .id-case-tabs .wp-block-comments-title,
body.id-case-page .id-case-tabs .comment-author,
body.id-case-page .id-case-tabs .comment-author *,
body.id-case-page .id-case-tabs .wp-block-comment-author-name,
body.id-case-page .id-case-tabs .wp-block-comment-author-name * {
  color: #102b3e !important;
  -webkit-text-fill-color: #102b3e !important;
}

/* Dates and secondary comment metadata */
body.id-case-page .id-case-tabs .comment-meta,
body.id-case-page .id-case-tabs .comment-meta *,
body.id-case-page .id-case-tabs .comment-metadata,
body.id-case-page .id-case-tabs .comment-metadata *,
body.id-case-page .id-case-tabs .wp-block-comment-date,
body.id-case-page .id-case-tabs .wp-block-comment-date *,
body.id-case-page .id-case-tabs .comment-notes,
body.id-case-page .id-case-tabs .logged-in-as,
body.id-case-page .id-case-tabs .logged-in-as * {
  color: #526b7b !important;
  -webkit-text-fill-color: #526b7b !important;
}

/* Links inside public tips/comments */
body.id-case-page .id-case-tabs .comments-area a:not(.comment-reply-link):not(.submit),
body.id-case-page .id-case-tabs .wp-block-comments a:not(.comment-reply-link):not(.submit),
body.id-case-page .id-case-tabs .wp-block-post-comments a:not(.comment-reply-link):not(.submit),
body.id-case-page .id-case-tabs .comment-list a:not(.comment-reply-link):not(.submit) {
  color: #176f99 !important;
  -webkit-text-fill-color: #176f99 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Keep action buttons white-on-navy */
body.id-case-page .id-case-tabs .comment-reply-link,
body.id-case-page .id-case-tabs .comment-reply-link *,
body.id-case-page .id-case-tabs .comment-form .submit,
body.id-case-page .id-case-tabs .comment-form .submit * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Comment entry fields */
body.id-case-page .id-case-tabs .comment-form textarea,
body.id-case-page .id-case-tabs .comment-form input[type="text"],
body.id-case-page .id-case-tabs .comment-form input[type="email"],
body.id-case-page .id-case-tabs .comment-form input[type="url"] {
  background: #ffffff !important;
  color: #17364b !important;
  -webkit-text-fill-color: #17364b !important;
  caret-color: #17364b !important;
}

body.id-case-page .id-case-tabs .comment-form textarea::placeholder,
body.id-case-page .id-case-tabs .comment-form input::placeholder {
  color: #6b7f8c !important;
  -webkit-text-fill-color: #6b7f8c !important;
  opacity: 1 !important;
}
