/*
 * Tayang — this integration's own additions.
 *
 * Separate from style.css because docs/TEMPLATE_MIGRATION.md §5 forbids editing the design's
 * stylesheet: style.css is a byte-for-byte copy of the source bundle, and re-copying it to pick up
 * an upstream fix would silently discard anything added inline. Loaded after it, so these win.
 */

/*
 * Containing blocks for the canonical section anchors.
 *
 * .lakon-anchor is `position: absolute; top: -56px` (see _shared/lakon.css) so it can sit inside a
 * flex section without becoming a flex item and taking a share of the space. That only lands in the
 * right place if its section is itself positioned — and in this bundle `.hero`, `.cover` and
 * `.sheet` are, while `.row`, `.quote-band` and `.credits` are not. Without this rule the anchors
 * for story, couple, events, gallery, dress code, gift, quote and closing would all resolve against
 * a far ancestor, and every preview_anchor in the editor would scroll to roughly the same wrong
 * place.
 *
 * Not a behaviour change in the initial state: these three selectors already carry
 * `transform: translateY(18px)` until revealRows() adds .is-in, and a transform makes an element a
 * containing block for absolute descendants anyway. This just keeps it true afterwards.
 */
.row,
.quote-band,
.credits {
    position: relative;
}

/*
 * The explanation shown in place of a form that cannot work: the RSVP on a general (non-guest)
 * link or in preview, and the wishes composer when the host has closed the wall.
 *
 * The bundle has no such class — it assumed every form always posts, because its forms wrote to
 * localStorage and always "succeeded". §4 requires the template to say why instead of showing a
 * form that silently does nothing, so the style comes from here.
 */
.field__hint {
    margin: 0;
    padding: 14px 2px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--muted);
    text-align: center;
}

/*
 * rsvp_description / wishes_description, shown as the lead line inside their sheets.
 *
 * The reviews sheet is `.sheet__body--list`, which zeroes the body padding so the scrolling list of
 * reviews can run edge to edge. A lead paragraph inherits that and sits flush against both edges;
 * it needs the padding back. The RSVP sheet's body keeps its own padding, so this only ever applies
 * where it was taken away.
 */
.sheet__body--list > .sheet__lead {
    padding: 14px 16px 0;
    margin-bottom: 8px;
}

/*
 * Keep the composer usable when the host writes a long wishes_button_text.
 *
 * `.composer__send` is `flex: none`, so its label sets its width outright and a long one strangles
 * the two inputs beside it — "Kirim Ucapan" alone took roughly a third of the row. Letting it
 * shrink and wrap, with a ceiling, keeps the fields legible whatever the host types. The design's
 * own default ("Kirim") is unaffected: it is far below the cap.
 */
.composer__send {
    flex: 0 1 auto;
    max-width: 34%;
    line-height: 1.25;
    text-align: right;
}


/* Own shapes (2026-10-27): moves the design away from the platform it parodies. */
/* Round profile medallions instead of square tiles. */
.pfp__face { border-radius: 50%; }
.gate__title { letter-spacing: .04em; }
