/* =========================================================
   MOMOSITAS MESSAGES — FEATURED PLAYER + SEARCHABLE ARCHIVE
   Loaded after assets/css/style.css
   ========================================================= */

.messages-hero{
  position:relative;
  padding:28px 0 38px;
  text-align:center;
  border-top:1px solid var(--line);
}
.messages-hero-inner{position:relative}
.messages-hero h1{
  margin:2px 0 0;
  color:var(--olive);
  font-weight:500;
  font-size:clamp(3rem,7vw,5.8rem);
  letter-spacing:.045em;
  line-height:1;
}
.messages-ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0 4px;color:var(--gold)}
.messages-ornament:before,.messages-ornament:after{content:"";width:58px;height:1px;background:currentColor}
.messages-kicker{margin:0;color:var(--ink);font-style:italic;font-size:clamp(1.35rem,2.6vw,2rem)}
.messages-deck{max-width:720px;margin:14px auto 0;font-size:1.12rem}
.messages-postmark{position:absolute;right:0;top:-22px;width:185px;opacity:.92;transform:rotate(3deg)}

.messages-shell{max-width:980px;padding:4px 0 28px}
.featured-message{
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(300px,1.1fr);
  gap:34px;
  align-items:center;
  padding:34px;
  background:rgba(255,250,240,.42);
  border:1px solid rgba(111,121,77,.56);
  box-shadow:0 14px 34px rgba(55,43,33,.09);
  position:relative;
}
.featured-message:before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(111,121,77,.18);
  pointer-events:none;
}
.featured-copy{position:relative;z-index:2;text-align:center;padding:12px 8px}
.featured-copy h2{margin:16px 0 2px;color:var(--ink);font-size:clamp(2.6rem,5vw,4.4rem);font-weight:500;line-height:1.02}
.featured-rule{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--gold);margin:15px 0 9px}
.featured-rule:before,.featured-rule:after{content:"";width:48px;height:1px;background:currentColor}
.featured-artist{margin:4px 0 0;font-size:1.2rem;font-style:italic}
.featured-production{margin:10px 0 0;font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;color:var(--olive);font-weight:700}
.featured-description{margin:18px auto 0;max-width:340px;font-size:.98rem;color:#51493f}
.featured-description.is-empty{display:none}

.featured-player-column{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.vertical-player-frame{
  width:min(100%,360px);
  aspect-ratio:9 / 16;
  padding:7px;
  background:rgba(247,239,223,.95);
  border:1px solid rgba(171,61,47,.58);
  box-shadow:0 15px 30px rgba(42,34,28,.18), inset 0 0 0 1px rgba(255,255,255,.72);
}
.vertical-player-frame video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#efe5d4;
}
.player-caption{margin-top:9px;font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#7b7164}

/* Category stamps: compact archive markers inspired by MOM production stamps. */
.category-stamp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:5px 12px 4px;
  border:2px solid currentColor;
  outline:1px solid currentColor;
  outline-offset:3px;
  font-family:var(--sans);
  font-size:.67rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  transform:rotate(-1deg);
  background:rgba(255,248,236,.52);
}
.category-from-the-porch{color:#b35a4f}
.category-house-note{color:#79835a}
.category-live-event{color:#d76f4f}
.category-reflection{color:#315d83}
.category-studio-sessions{color:#d79a1e}
.category-new-release{color:#357b7b}

.archive-section{max-width:980px;padding:26px 0 62px}
.archive-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.archive-heading-row .eyebrow{margin-bottom:4px}
.archive-heading-row h2{margin:0;color:var(--ink);font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:.03em}
.back-to-recordings{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rust);text-decoration:none;white-space:nowrap}
.back-to-recordings:hover{text-decoration:underline}

.message-controls{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(170px,.75fr) minmax(160px,.65fr);gap:10px;padding:15px;background:rgba(255,250,240,.44);border:1px solid var(--line)}
.message-search,.message-control{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(74,66,57,.28);
  background:rgba(255,253,247,.88);
  color:var(--ink);
  font-family:var(--sans);
  font-size:.9rem;
  border-radius:0;
}
.message-search:focus,.message-control:focus{outline:2px solid rgba(171,61,47,.22);outline-offset:1px;border-color:var(--rust)}
.archive-meta{display:flex;justify-content:space-between;gap:16px;padding:12px 2px 8px;font-family:var(--sans);font-size:.76rem;color:#756b5f}
.archive-hint{font-style:italic}

.message-list{border-top:1px solid var(--line)}
.message-row{
  width:100%;
  display:grid;
  grid-template-columns:190px minmax(220px,1fr) 150px 80px;
  align-items:center;
  gap:20px;
  padding:18px 14px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  font:inherit;
  transition:background .16s ease,transform .16s ease;
}
.message-row:hover{background:rgba(255,250,240,.58)}
.message-row:focus-visible{outline:2px solid var(--rust);outline-offset:-2px}
.message-row.is-selected{background:rgba(111,121,77,.08)}
.message-row.is-selected .row-main strong:after{content:"  •  Playing";font-family:var(--sans);font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:var(--olive);white-space:nowrap}
.row-stamp{justify-self:start;min-width:142px;font-size:.58rem;padding:5px 8px 4px}
.row-main{display:flex;flex-direction:column;min-width:0}
.row-main strong{font-size:1.35rem;font-weight:500;line-height:1.1}
.row-main span{margin-top:5px;font-size:.9rem;font-style:italic;color:#5d554d}
.row-production{font-family:var(--sans);font-size:.69rem;letter-spacing:.1em;color:var(--olive);font-weight:700}
.row-action{font-family:var(--sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--rust);text-align:right}
.archive-empty{padding:28px;text-align:center;border-bottom:1px solid var(--line);color:#62594f;font-style:italic}
.catalog-notice{border:1px solid var(--line);background:rgba(255,255,255,.24);padding:30px;text-align:center}
.catalog-notice h2{margin-top:0;color:var(--ink)}

@media(max-width:900px){
  .messages-postmark{display:none}
  .featured-message{grid-template-columns:1fr;padding:28px 22px;gap:24px}
  .featured-copy{padding:4px 8px 0}
  .vertical-player-frame{width:min(78vw,360px)}
  .message-row{grid-template-columns:160px 1fr 120px;gap:16px}
  .row-action{display:none}
}
@media(max-width:720px){
  .archive-heading-row{align-items:flex-start;flex-direction:column;gap:8px}
  .message-controls{grid-template-columns:1fr}
  .archive-meta{flex-direction:column;gap:3px}
  .message-row{grid-template-columns:1fr 110px;gap:10px 16px;padding:18px 10px}
  .row-stamp{grid-column:1 / -1;min-width:0;justify-self:start}
  .row-production{text-align:right}
}
@media(max-width:560px){
  .messages-hero{padding-top:24px}
  .messages-deck{font-size:1rem}
  .messages-shell,.archive-section{width:min(100% - 24px,980px)}
  .featured-message:before{inset:6px}
  .featured-message{padding:24px 14px}
  .vertical-player-frame{width:min(82vw,340px);padding:5px}
  .archive-heading-row h2{font-size:2.15rem}
  .message-row{grid-template-columns:1fr}
  .row-production{text-align:left}
  .message-row.is-selected .row-main strong:after{display:block;margin-top:5px}
}
