/* Public raffle page chrome (WP-79, ADR-0012: vanilla HTML/CSS, no JS framework). This layers ON
   TOP of Panel.css, which is loaded first and supplies the shared grid/summary styling (.Grid,
   .Cell, .Cell--available, .Cell--reserved, .Metric, .ProgressSummary). Here we add only the
   public-page hero (title, prizes, images). A FOMO / social-proof surface, read-only. No CDN. */
.PublicPage {
    max-width: 40rem;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 3rem;
}

.PublicHero {
    border-bottom: 1px solid var(--Line);
    padding-bottom: 1.25rem;
    margin-bottom: 1.5rem;
}
.PublicHero h1 { font-size: 1.6rem; margin: 0 0 0.5rem; }
.PublicPrizes { font-weight: 600; margin: 0 0 0.5rem; }
.PublicDescription { color: var(--Muted); margin: 0 0 0.5rem; }

.PublicGallery {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}
.PublicImage {
    max-width: 100%;
    width: 12rem;
    height: auto;
    border: 1px solid var(--Line);
    border-radius: 0.4rem;
    display: block;
}

/* PAID states (WP-91, M-MVP-3): the paid / paid-with-bonus fills layer ON TOP of the
   available/reserved rules defined in Panel.css. A PAID number reads green (settled); paid WITH the
   immediate-payment bonus (PAGADO-CON-BONO) reads blue, matching the market's own colored grids
   (market-evidence: El Baul's blue "immediate payment" state). Cells carry these classes only when
   the domain reports a PAID number -- the view model never fabricates one. */
.Cell--paid { background: #e6f4ea; border-color: #9fd3ab; }
.Cell--paid-with-bonus { background: #dcefff; border-color: #9cc7f0; }
