@import url("beyondbox.css");

/* =====================================
   Beyond Post (Zen WIP view)
   - chips everywhere
   - consistent grids (4 desktop / 2 mobile)
   - centered layout
   - 16:9 image cards (no hacks)
===================================== */

.beyond-post{
  padding: 34px 0 80px;
}

/* --- Cover / hero (smaller, zen) --- */
.beyond-hero{
  max-width: 860px;
  margin: 0 auto 26px;
  padding: 0 14px;
}

.beyond-hero img{
  width:100%;
  display:block;
  border-radius:22px;
  max-height: 460px;
  object-fit: cover;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

/* --- Header --- */
.beyond-header{
  max-width: 860px;
  margin: 0 auto 44px;
  padding: 0 14px;
}

.beyond-header h1{
  font-size: clamp(28px, 4vw, 42px);
  margin: 12px 0 10px;
  letter-spacing: .02em;
}

.beyond-excerpt{
  opacity:.86;
  font-size:15px;
  line-height:1.65;
  margin: 0 0 10px;
}

/* --- Meta chips row (like beyond feed) --- */
.beyond-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom: 10px;
}

.beyond-meta > *{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  padding:6px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
}

.beyond-meta .b-status{ font-weight:900; }
.beyond-meta .b-status.is-wip{
  border-color: rgba(255, 210, 90, .25);
  background: rgba(255, 210, 90, .10);
}
.beyond-meta .b-status.is-pub{
  border-color: rgba(90, 255, 180, .22);
  background: rgba(90, 255, 180, .10);
}
.beyond-meta .b-owner,
.beyond-meta .b-date{ opacity:.85; }

/* --- Tags chips --- */
.beyond-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.beyond-tags span{
  font-size:11px;
  padding:6px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  opacity:.9;
}

/* =====================================
   WIP stages (chips + glass cards)
===================================== */

.beyond-wip{
  max-width: 860px;
  margin: 0 auto;
  padding: 0 14px;
}

.wip-stage{
  margin: 0 0 44px;
  padding: 18px 18px 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 16px 55px rgba(0,0,0,.28);
}

/* Stage header layout */
.wip-stage-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin: 0 0 10px;
  flex-wrap: wrap;
}

/* STEP chip */
.wip-step{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  padding:6px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:.95;
}

/* Stage title */
.wip-stage h2{
  margin:0;
  font-size:18px;
  letter-spacing:.01em;
}

/* Stage text */
.wip-text{
  margin-top: 8px;
  font-size:14px;
  line-height:1.7;
  opacity:.9;
}

/* =====================================
   Stage gallery: 16:9 cards grid
   - 4 desktop
   - 3 medium
   - 2 mobile
   - centered if fewer
===================================== */

.wip-gallery{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  justify-content:center;
}

/* Card */
.wip-gallery a{
  display:block;
  border-radius:18px;
  overflow:hidden;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  aspect-ratio: 16 / 9;     /* ✅ always 16:9 */
}

/* Image fills card (cropped only in grid, not in lightbox) */
.wip-gallery a img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

/* Hover */
.wip-gallery a:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 50px rgba(0,0,0,.34);
  border-color: rgba(255,255,255,.18);
}

/* Medium screens -> 3 columns */
@media (max-width: 980px){
  .wip-gallery{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Mobile -> 2 columns */
@media (max-width: 680px){
  .wip-gallery{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wip-stage{ padding: 16px 14px 18px; border-radius: 20px; }
}

/* Very small -> keep 2 but reduce gaps a bit */
@media (max-width: 420px){
  .wip-gallery{ gap: 10px; }
}

/* Optional: tighter spacing when no text */
.wip-stage .wip-text:empty{ display:none; }

/* Midnight Atelier: Beyond long-form editorial pilot */
.beyond-post{
  padding:clamp(28px, 4.2vw, 46px) 0 84px;
}

.beyond-hero{
  max-width:900px;
  margin-bottom:30px;
}

.beyond-hero img{
  border:1px solid var(--media-border);
  background:var(--media-bg);
  box-shadow:var(--card-shadow);
}

.beyond-header{
  max-width:900px;
  margin-bottom:46px;
}

.beyond-header::before{
  content:"";
  display:block;
  width:74px;
  height:2px;
  margin-bottom:18px;
  border-radius:999px;
  background:var(--paint-line);
  box-shadow:0 0 18px var(--paint-line-glow);
}

.beyond-meta > *,
.beyond-tags span{
  border-color:var(--label-border);
  background:var(--label-bg);
  color:var(--label-text);
  font-weight:700;
}

.beyond-meta .b-status{
  color:var(--text);
}

.beyond-meta .b-status.is-wip{
  border-color:var(--accent-border);
  background:var(--accent-wash);
}

.beyond-meta .b-status.is-pub{
  border-color:var(--media-border);
  background:var(--label-bg);
}

.beyond-header h1{
  font-family:var(--font-display);
  line-height:1.08;
  letter-spacing:.04em;
}

.beyond-excerpt{
  color:var(--content-soft);
  opacity:1;
  line-height:1.78;
}

.beyond-tags{
  margin-top:14px;
}

.beyond-tags span{
  font-size:10px;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.beyond-wip{
  max-width:900px;
}

.wip-stage{
  margin-bottom:24px;
  padding:clamp(19px, 3vw, 25px);
  border-color:var(--panel-border);
  background:var(--panel-bg);
  box-shadow:var(--card-shadow);
}

.wip-stage-head{
  margin-bottom:14px;
}

.wip-step{
  border-color:var(--label-border);
  background:var(--label-bg);
  color:var(--label-text);
  font-weight:800;
}

.wip-stage:first-of-type .wip-step{
  border-color:var(--accent-border);
  background:var(--accent-wash);
  color:var(--text);
}

.wip-stage h2{
  color:var(--text);
  font-size:20px;
  letter-spacing:.025em;
}

.wip-text{
  color:var(--content-soft);
  opacity:1;
  line-height:1.82;
}

.wip-gallery{
  margin-top:18px;
  gap:12px;
}

.wip-gallery a{
  border-color:var(--media-border);
  background:var(--media-bg);
  box-shadow:var(--card-shadow);
}

.wip-gallery a:hover{
  transform:translateY(-3px);
  border-color:var(--panel-border-hover);
  box-shadow:var(--card-shadow-hover);
}

.wip-gallery a:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px var(--focus-ring), var(--card-shadow-hover);
}

.beyond-wip .b-empty{
  padding:22px 20px;
  border:1px dashed var(--panel-border);
  background:var(--panel-bg);
  color:var(--content-soft);
  box-shadow:var(--card-shadow);
}

.beyond-wip .b-empty-sub{
  color:var(--content-muted);
  line-height:1.65;
}

@media (max-width: 680px){
  .beyond-post{
    padding-top:22px;
    padding-bottom:64px;
  }

  .beyond-hero,
  .beyond-header,
  .beyond-wip{
    padding-inline:0;
  }

  .beyond-header{
    margin-bottom:32px;
  }

  .wip-stage{
    padding:18px 15px 20px;
  }
}

@media (max-width: 420px){
  .wip-gallery{
    gap:9px;
  }
}

/* BMD Neo-Metro 2026: long-form editorial */
.beyond-hero,.beyond-header,.wip-stage,.wip-gallery a,.b-empty{ border-radius:var(--radius-md); box-shadow:none; }
.beyond-meta > *,.beyond-tags span,.wip-step{ border-radius:var(--radius-xs); }
.beyond-header{ background:var(--panel-bg-raised); border-left:3px solid var(--accent); }
.wip-stage{ background:var(--panel-bg); border-top:2px solid var(--panel-border); }
.wip-gallery a{ border-radius:var(--radius-sm); }
.wip-gallery a:hover{ transform:translateY(-2px); box-shadow:var(--card-shadow-hover); }
