/*
Theme Name: Twenty Twenty-Three Child
Author: 
Description: Child theme of Twenty Twenty Three for Orbital Salvage
Version: 1.2
Template: twentytwentythree

This is the child theme for Twenty Twenty-Three theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

.wp-block-group-is-layout-flex {
  align-items: flex-end;
}

.wp-block-group-is-layout-flex .wp-block-site-title {
  align-self: flex-end;
	margin-bottom:-0.5rem;
}

.wp-block-post-featured-image img {
  border-radius: 0.5rem;
  overflow: hidden;
  display: block;
}

.wp-site-blocks {
    padding-top: 0 !important;
}

.orbitalheader {
		margin-left: 2em; margin-right: 2em; padding-top: 0;
}

.headerTemplatePart {
	margin-top:0;
}

.has-hanging-quote {
  position: relative;
}

.has-hanging-quote::before {
  content: "“";
  position: absolute;
  top: 0.25rem;     /* tweak up/down */
  left: -1.25rem;    /* tweak to hang */
  font-size: 45px;
  line-height: 1;
  pointer-events: none;
}


h1.has-hanging-quote::before {
  font-size: 3.625rem;   /* larger to match H1 scale */
  top: 0.065em;          /* slight tweak to align better */
  left: -1.4rem;       /* move out a bit further */
}

/* === Shared Footer Wrapper === */
#footer-stars-wrapper {
  position: relative;
  width: 100%;
  height: 300px;               /* Adjust height to control animation area */
  background: #000;            /* Black background for animation */
  overflow: hidden;
  z-index: 0;
}

/* === Canvas Styling === */
#orbitCanvas {
  position: absolute;
  inset: 0;                    /* top: 0; right: 0; bottom: 0; left: 0 */
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}

/* === Footer Content === */
#footer-content {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: 2rem 1rem;
  margin-top: -30rem;          /* Overlaps animation; tweak as needed */
  margin-left: auto;
  margin-right: auto;
  width: fit-content;          /* Or max-width: 100%; depending on layout */
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); /* Optional soft lift */
}

/* === Hide animation and footer content on non-home pages === */
body:not(.home) #footer-stars-wrapper,
body:not(.home) #footer-content {
  display: none !important;
}

#footer-stars-wrapper {
  position: relative;
  width: 100%;
  height: 30vh;
  overflow: hidden;
  background: black;
  z-index: 0;
}
#orbitCanvas {
  width: 100%;
  height: 100%;
  display: block;
}
footer.wp-block-template-part {
  position: relative;
  z-index: 1;
  margin-bottom: 400px;
}

/* === Makes feature images on posts size according to column width === */
.wp-block-post-featured-image img {
  max-width: 650px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; /* optional: center it */
}

.postFooterMargin {
    margin-bottom: 0px !important;
}

/* Orbital Salvage homepage: field notebook from an obsolete space program */
:root { --os-ink:#181b18; --os-paper:#f2f0e8; --os-green:#00c96b; --os-green-dark:#2f7a52; --os-night:#111814; --os-muted:#676b65; --os-line:#c8c7bd; }
.home .os-home { background:var(--os-paper); color:var(--os-ink); margin-top:0; }
.home .os-intro,.home .os-recoveries { box-sizing:border-box; max-width:1200px; padding-left:clamp(1.25rem,4vw,2.5rem); padding-right:clamp(1.25rem,4vw,2.5rem); }
.home .os-intro { padding-top:clamp(4rem,9vw,7rem); padding-bottom:clamp(3.5rem,7vw,6rem); }
.os-kicker,.os-section-label,.os-coordinates,.os-section-heading p,.os-card-meta,.os-feature .wp-block-post-date { font-family:var(--wp--preset--font-family--ibm-plex-mono,'IBM Plex Mono',monospace); font-size:.72rem; letter-spacing:.11em; line-height:1.5; text-transform:uppercase; }
.os-kicker,.os-section-label,.os-card-meta,.os-feature .wp-block-post-date { color:var(--os-green-dark); }
.os-manifesto { max-width:none!important; margin:1.7rem 0 0; font-family:var(--wp--preset--font-family--system-font); font-size:clamp(3.6rem,9.4vw,7.9rem); font-weight:500; letter-spacing:-.075em; line-height:.84; }
.os-intro-note { max-width:800px!important; margin-top:clamp(2.5rem,5vw,4rem); margin-right:0!important; margin-left:auto!important; padding-top:1rem; border-top:1px solid var(--os-line); }
.os-intro-note p { margin:0; }.os-intro-note>.wp-block-column:first-child p { font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.5; }.os-coordinates { color:var(--os-muted); }
.home .os-feature { max-width:none; padding:0; background:var(--os-night); color:var(--os-paper); }.os-feature-query { max-width:1400px!important; }.os-feature-row { gap:0; margin:0; min-height:34rem; }
.os-feature-media { align-self:stretch!important; min-height:34rem; border-right:1px solid #405047; }.os-feature-media .wp-block-post-featured-image,.os-feature-media .wp-block-post-featured-image a { display:block; height:100%; margin:0; }.os-feature-media .wp-block-post-featured-image img { width:100%; max-width:none; height:100%; min-height:34rem; border-radius:0; object-fit:cover; }
.os-feature-copy { box-sizing:border-box; padding:clamp(3rem,7vw,6rem); }.os-feature-copy .wp-block-post-title { margin:1.15rem 0 1.5rem; font-size:clamp(3rem,6vw,5.25rem); font-weight:500; letter-spacing:-.06em; line-height:.94; }.os-feature-copy .wp-block-post-title a { text-decoration:none; }.os-feature-copy .wp-block-post-excerpt { color:#bec8c1; font-size:1.05rem; line-height:1.55; }
.os-feature-copy .wp-block-post-excerpt__more-link { display:inline-block; min-width:min(100%,18rem); margin-top:1.5rem; padding-top:.8rem; border-top:1px solid var(--os-green); color:var(--os-paper); font-family:var(--wp--preset--font-family--ibm-plex-mono,'IBM Plex Mono',monospace); font-size:.72rem; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }.os-feature .wp-block-post-date a { color:inherit; text-decoration:none; }
.home .os-recoveries { padding-top:clamp(4.5rem,8vw,7rem); padding-bottom:clamp(5rem,9vw,8rem); }.os-section-heading { max-width:none!important; margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid var(--os-ink); }.os-section-heading h2 { margin:0; font-size:clamp(2rem,4vw,2.8rem); font-weight:500; letter-spacing:-.045em; }.os-section-heading p { margin:0; color:var(--os-muted); }
.os-recoveries-query { max-width:none!important; }.os-recoveries-query .wp-block-post-template { gap:clamp(3rem,6vw,5rem) 1.25rem; }.os-recovery-card { align-content:start; }.os-recovery-card .wp-block-post-featured-image { margin:0; overflow:hidden; background:#d9d7cd; }.os-recovery-card .wp-block-post-featured-image img { width:100%; max-width:none; aspect-ratio:4/3; border-radius:.18rem; object-fit:cover; transition:transform 180ms ease,filter 180ms ease; }.os-recovery-card .wp-block-post-featured-image a:hover img { filter:saturate(.85) contrast(1.05); transform:scale(1.015); }
.os-card-meta { max-width:none!important; margin-top:.9rem; color:var(--os-green-dark); font-size:.61rem; }.os-card-meta .wp-block-post-terms,.os-card-meta .wp-block-post-date { margin:0; }.os-card-meta a { padding:.125rem .25rem; margin:-.125rem -.25rem; border-radius:.125rem; color:inherit; text-decoration:none; }.os-card-meta a:hover { background:var(--os-green-dark); color:#fff; }
.os-recovery-card .wp-block-post-title { margin:.9rem 0 .6rem; font-size:clamp(1.45rem,2.3vw,1.85rem); font-weight:500; letter-spacing:-.04em; line-height:1.06; }.os-recovery-card .wp-block-post-title a { text-decoration:none; }.os-recovery-card .wp-block-post-title a:hover { text-decoration:underline; text-decoration-color:var(--os-green); text-decoration-thickness:.16rem; text-underline-offset:.12rem; }.os-recovery-card .wp-block-post-excerpt { margin:0; color:#555a55; font-size:.88rem; line-height:1.5; }.os-recovery-card .wp-block-post-excerpt__more-text { display:none; }
.os-recoveries-query .wp-block-query-pagination { margin-top:5rem; padding-top:1rem; border-top:1px solid var(--os-line); font-family:var(--wp--preset--font-family--ibm-plex-mono,'IBM Plex Mono',monospace); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.home .os-hot-takes { box-sizing:border-box; max-width:1200px; margin-bottom:7rem; padding:3rem clamp(1.25rem,4vw,2.5rem); border-top:1px solid var(--os-line); text-align:center; }.os-hot-takes .wp-block-image { margin-bottom:.5rem; }.os-hot-takes h3 { margin:.5rem 0; font-size:1.6rem; }.os-hot-takes p { margin-top:0; }.os-hot-takes .wp-block-button__link { background:var(--os-green); color:var(--os-ink); font-family:var(--wp--preset--font-family--ibm-plex-mono,'IBM Plex Mono',monospace); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
@media (max-width:781px) { .os-manifesto { font-size:clamp(3.25rem,14vw,5.6rem); }.os-feature-row { min-height:0; }.os-feature-media { min-height:24rem; border-right:0; border-bottom:1px solid #405047; }.os-feature-media .wp-block-post-featured-image img { min-height:24rem; }.os-feature-copy { padding:3.5rem 1.5rem; }.os-recoveries-query .wp-block-post-template { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .os-intro-note { gap:1rem; }.os-section-heading { align-items:flex-start; flex-direction:column; gap:.5rem; }.os-recoveries-query .wp-block-post-template { grid-template-columns:1fr; }.os-feature-media,.os-feature-media .wp-block-post-featured-image img { min-height:18rem; } }
@media (prefers-reduced-motion:reduce) { .os-recovery-card .wp-block-post-featured-image img { transition:none; } }

/* Version 1.2 refinements after testing with live content. */
@media (min-width: 1000px) {
  .home .os-recoveries { width:calc(100% - clamp(2.5rem,6vw,6rem)); max-width:1600px; }
  .os-feature-query { width:calc(100% - clamp(2.5rem,6vw,6rem)); max-width:1600px!important; }
}

.os-feature-copy .wp-block-post-title,
.os-feature-copy .wp-block-post-title a { color:var(--os-paper)!important; }
.os-feature-copy .wp-block-post-excerpt p { color:#d5ddd7; }
.os-feature-media,
.os-feature-media .wp-block-post-featured-image { background:#d3ccbc; }
.os-feature-media .wp-block-post-featured-image img { object-fit:contain; }

.os-kicker,
.os-section-label,
.os-coordinates,
.os-section-heading p,
.os-feature .wp-block-post-date { font-size:.8rem; }
.os-card-meta { gap:.75rem; font-size:.7rem; }
.os-card-meta .wp-block-post-terms { min-width:0; max-width:68%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.os-card-meta .wp-block-post-date { flex:0 0 auto; white-space:nowrap; }
.os-recovery-card .wp-block-post-excerpt { font-size:.95rem; }
.os-recovery-card .wp-block-post-title { font-size:clamp(1.55rem,2vw,2rem); }
.os-intro-note>.wp-block-column:first-child p { font-size:clamp(1.08rem,1.6vw,1.3rem); }

.home #footer-stars-wrapper { margin-top:0; }
.home #footer-content { margin-top:-30vh; }
