/* Release v1.1.2 sangat: the giving bridge on /nimit-sewa, the invitation pages (/invite/…) and the "Invite on
   WhatsApp" dialog on the homepage's programs. Page-only stylesheet (page_meta 'styles' for nimit-sewa and invite;
   the homepage's dialog rules ship in this file too, linked from head.php's v1.1.2 sangat block). Site tokens from site.css. */

/* ---------------------------------------------------------------- giving bridge (/nimit-sewa) */
djjs-nimit-bridge { display: block; min-width: 0; }
/* With JavaScript, the server-rendered fallback cards stay invisible until the element draws its own (no flash);
   if the script never arrives they reappear after 2.5 s. Without JavaScript they show at once. */
html.js djjs-nimit-bridge:not(:defined) { min-height: 520px; }
html.js djjs-nimit-bridge:not(:defined) > * { visibility: hidden; animation: sg-reveal 0s 2.5s forwards; }
@keyframes sg-reveal { to { visibility: visible; } }
.pg-bridge .section-head { max-width: 46rem; }

/* ------------------------------------------------------------------- invitation pages */
.sg-invite__grid { display: grid; gap: clamp(28px, 4vw, 64px); align-items: center; }
@media (min-width: 960px) { .sg-invite__grid { grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr); } }
.sg-invite__main { min-width: 0; }
.sg-invite__title { max-width: 20ch; overflow-wrap: anywhere; }
.sg-invite__card {
  min-width: 0; padding: clamp(22px, 2.6vw, 32px); border-radius: var(--radius-card, 24px); border: 1px solid var(--champagne-strong);
  background: radial-gradient(120% 100% at 100% 0%, rgba(217, 119, 6, 0.12), transparent 60%), var(--surface); box-shadow: var(--shadow-lift);
}
.sg-invite__k { margin: 0 0 6px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-text); }
.sg-invite__k:not(:first-child) { margin-top: 20px; }
.sg-invite__when { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 1.2rem + 0.9vw, 2rem); font-weight: 600; line-height: 1.15; font-variant-numeric: lining-nums; }
.sg-invite__local { margin: 8px 0 0; color: var(--ink); font-weight: 600; }
.sg-invite__zones, .sg-invite__addr, .sg-invite__note { margin: 6px 0 0; color: var(--muted); font-size: var(--fs-sm, 0.95rem); }
.sg-invite__note { color: var(--danger); }
.sg-invite__where { margin: 0; font-size: 1.1rem; font-weight: 600; overflow-wrap: anywhere; }
.sg-invite__how { display: grid; gap: clamp(28px, 4vw, 56px); align-items: start; }
@media (min-width: 960px) { .sg-invite__how { grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr); } }
.sg-invite__share { min-width: 0; padding: clamp(18px, 2.2vw, 26px); border-radius: var(--radius-card, 24px); border: 1px solid var(--champagne); background: var(--surface); }
.sg-steps { margin: 0 0 1em; padding-left: 1.3em; display: grid; gap: 10px; font-size: clamp(1.02rem, 0.98rem + 0.25vw, 1.14rem); line-height: 1.7; }

/* ---------------------------------------------- homepage programs: "Invite on WhatsApp" */
.sg-invite-btn { margin-top: 6px; }
.gathering__body .sg-invite-btn { padding-inline: 0; }
.sg-dlg { width: min(560px, calc(100vw - 24px)); max-height: min(88vh, 760px); padding: 0; border: 1px solid var(--champagne-strong); border-radius: 24px;
  background: var(--surface); color: var(--ink); box-shadow: var(--shadow-lift); overflow: auto; overscroll-behavior: contain; }
.sg-dlg::backdrop { background: rgba(5, 4, 3, 0.66); }
.sg-dlg__box { padding: clamp(18px, 3vw, 28px); }
.sg-dlg__head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.sg-dlg__h { flex: 1; min-width: 0; margin: 0; font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem); line-height: 1.15; }
.sg-dlg__x { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--champagne-strong);
  background: transparent; color: var(--ink); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.sg-dlg__x:hover { background: rgba(245, 158, 11, 0.1); }
.sg-dlg__x:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) { .sg-dlg[open] { animation: sg-in 0.24s ease-out; } }
@keyframes sg-in { from { opacity: 0; transform: translateY(10px); } }

/* v1.3.2: the zero-fee notice on /nimit-sewa (NIMIT_ZERO_FEE_NOTICE) */
.nimit-notice { margin: 14px 0 0; padding: 14px 18px; border-radius: 16px; border: 1px solid rgba(217, 119, 6, 0.45); background: rgba(136, 19, 55, 0.08); color: var(--ink); line-height: 1.55; }
html.dark .nimit-notice, [data-theme="dark"] .nimit-notice { background: rgba(136, 19, 55, 0.28); }
