/* SeaBlu real-content pass — 2026-06-18 */
.sg-hero-card .sg-lead,
.seablu-start-card .sg-lead,
.seablu-spotlight-card .sg-lead {
  font-size: clamp(1.06rem, 1.4vw, 1.22rem);
  line-height: 1.58;
  color: rgba(15, 45, 68, .92);
}

.seablu-start-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .92fr);
  gap: 1rem;
  align-items: stretch;
}

.seablu-start-card,
.seablu-spotlight-card,
.sg-note-card,
.seablu-route-card,
.seablu-source-note,
.seablu-about-card {
  position: relative;
  overflow: hidden;
}

.seablu-start-card::before,
.seablu-spotlight-card::before,
.seablu-route-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 0%, rgba(65, 178, 220, .16), transparent 28%),
    radial-gradient(circle at 90% 8%, rgba(255, 195, 73, .18), transparent 26%);
}

.seablu-start-card > *,
.seablu-spotlight-card > *,
.seablu-route-card > * {
  position: relative;
  z-index: 1;
}

.seablu-action-row {
  margin-top: 1rem;
  flex-wrap: wrap;
}

.seablu-start-grid .sg-entry-media-card {
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
  min-height: 100%;
}

.seablu-start-grid .sg-entry-showcase-button,
.seablu-start-grid .sg-entry-showcase-art .bs-showcase-art__button {
  aspect-ratio: 3 / 2 !important;
  background:
    radial-gradient(circle at 22% 10%, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(135deg, #0b65a3 0%, #073e70 58%, #052742 100%) !important;
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 18px 38px rgba(5, 39, 66, .16), inset 0 0 0 1px rgba(255,255,255,.12);
}

.seablu-start-grid .sg-entry-showcase-image {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 3 / 2 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.18), transparent 24%),
    linear-gradient(135deg, #0b65a3 0%, #073e70 58%, #052742 100%) !important;
}

.seablu-start-grid .bs-showcase-art__chip,
.seablu-start-grid .sg-image-chip {
  right: .8rem;
  bottom: .8rem;
  max-width: calc(100% - 1.6rem);
  background: rgba(255,255,255,.92);
  color: #073e70;
  font-weight: 850;
}

.seablu-start-grid .sg-entry-media-copy p:last-child,
.sg-note-card p:last-child,
.seablu-spotlight-card p:last-child,
.seablu-route-card p:last-child,
.seablu-source-note p:last-child,
.seablu-about-card p:last-child {
  margin-bottom: 0;
}

.seablu-route-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.seablu-route-card {
  display: grid;
  align-content: start;
  gap: .55rem;
  min-height: 100%;
}

.seablu-route-card h3 {
  margin: 0;
  line-height: 1.08;
}

.seablu-route-links {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .4rem;
}

.seablu-spotlight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
  gap: 1rem;
  align-items: stretch;
}

.seablu-mini-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .95rem;
}

.seablu-mini-badges span {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(9, 71, 120, .16);
  border-radius: 999px;
  padding: .45rem .65rem;
  font-weight: 800;
  background: rgba(255,255,255,.78);
  color: rgba(9, 57, 87, .92);
}

.seablu-featured-section .sg-listing-card,
.seablu-featured-grid .sg-listing-card {
  box-shadow: 0 18px 34px rgba(5, 45, 78, .09);
}

.seablu-step-grid .sg-step-card strong {
  color: rgba(8, 57, 91, .98);
}

.seablu-value-grid .sg-value-card span {
  line-height: 1.35;
}

/* Category and listing visuals generated for this real pass. */
.sg-category-card .sg-card-image,
.sg-listing-card .sg-card-image {
  min-height: 160px;
  object-fit: cover;
  filter: saturate(1.04) contrast(1.02);
}

.sg-category-card .sg-image-chip,
.sg-listing-card .sg-image-chip {
  font-size: .78rem;
  font-weight: 850;
}

.sg-category-card .sg-image-button,
.sg-listing-card .sg-image-button {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}

.sg-listing-card .sg-mini-checks li {
  line-height: 1.32;
}

.sg-listing-card .sg-card-location {
  font-weight: 800;
  color: rgba(8, 75, 119, .86);
}

/* SeaBlu Orting feature image panel — added 2026-06-20 */
.seablu-orting-feature-card {
  padding: clamp(.6rem, 1.2vw, .85rem);
  overflow: hidden;
}

.seablu-orting-feature-link {
  display: block;
  border-radius: 1.15rem;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(5, 45, 78, .16);
  background: rgba(255,255,255,.72);
}

.seablu-orting-feature-link img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 760px;
  object-fit: contain;
  background: linear-gradient(135deg, #eaf7ff 0%, #ffffff 52%, #e5f3fb 100%);
}

.seablu-orting-feature-link:focus-visible {
  outline: 4px solid rgba(25, 130, 196, .45);
  outline-offset: 4px;
}

@media (max-width: 1040px) {
  .seablu-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .seablu-start-grid,
  .seablu-spotlight-grid {
    grid-template-columns: 1fr;
  }

  .seablu-start-grid .sg-entry-media-card {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .seablu-route-grid {
    grid-template-columns: 1fr;
  }

  .seablu-start-grid,
  .seablu-route-grid,
  .seablu-spotlight-grid {
    gap: .75rem;
  }

  .seablu-start-card,
  .seablu-route-card,
  .seablu-spotlight-card,
  .sg-note-card {
    padding: .92rem;
  }

  .seablu-start-grid .sg-entry-media-card {
    padding: .85rem;
  }

  .seablu-start-grid .sg-entry-showcase-button,
  .seablu-start-grid .sg-entry-showcase-image {
    aspect-ratio: 3 / 2 !important;
  }

  .seablu-mini-badges span {
    font-size: .9rem;
  }
}

/* SeaBlu header/compass centering patch — 2026-06-18 */
.sg-public-header,
.sg-public-header .bs-public-header-title-block,
.sg-public-header .bs-public-page-heading,
.sg-public-header .bs-public-header-intro,
.sg-public-header .bs-app-copy,
.bs-visitor-actions-panel .bs-guide-panel-head {
  text-align: center !important;
}

.sg-public-header .bs-public-header-title-block,
.bs-visitor-actions-panel .bs-guide-panel-head {
  margin-left: auto !important;
  margin-right: auto !important;
  justify-items: center !important;
}

.sg-public-header .bs-public-page-heading,
.sg-public-header .bs-public-page-title,
.sg-public-header .bs-public-header-intro,
.sg-public-header .bs-app-copy,
.sg-public-header .bs-app-copy p,
.bs-visitor-actions-panel .bs-guide-panel-head h2,
.bs-visitor-actions-panel .bs-guide-panel-head p {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.bs-visitor-actions-panel .bs-guide-panel-head {
  max-width: 860px;
}

/* SeaBlu listing image set polish: these are now full listing visuals, not category fallbacks. */
.sg-listing-card .sg-image-chip {
  background: rgba(7, 39, 66, .82);
  color: #fff;
}

/* SeaBlu no-sample image lock — 2026-06-19
   Real SeaBlu images now live only under assets/images/final/. */
.seablu-real-visual-pending {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: .95rem;
}

.seablu-real-visual-pending-art {
  aspect-ratio: 3 / 2;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, .42);
  box-shadow: 0 18px 38px rgba(5, 39, 66, .16), inset 0 0 0 1px rgba(255, 255, 255, .14);
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.24), transparent 24%),
    radial-gradient(circle at 82% 14%, rgba(255, 195, 73, .22), transparent 28%),
    linear-gradient(135deg, #0b65a3 0%, #073e70 58%, #052742 100%);
  color: #fff;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: 1.1rem;
}

.seablu-real-visual-pending-art span {
  font-size: clamp(1.35rem, 3vw, 2.2rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: .02em;
}

.seablu-real-visual-pending-art strong {
  margin-top: .55rem;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
}

.seablu-real-visual-pending-art small {
  margin-top: .3rem;
  max-width: 24rem;
  color: rgba(255,255,255,.88);
  font-weight: 750;
}

.sg-image-slot strong,
.sg-image-slot small {
  text-align: center;
}

/* SeaBlu nudist mode — 2026-06-19
   Keep the page content-real without visible image-placeholder boxes.
   Final approved images will still display when they exist in assets/images/final/. */
.seablu-start-grid.seablu-no-entry-image {
  grid-template-columns: 1fr;
}
.seablu-final-image-slot,
.seablu-real-visual-pending,
.seablu-visual-section {
  display: none !important;
}
