/* v1.25 — public landing «رحلة يومية» (loaded only on «/» and /about). No images, inline SVG only. */
.is-landing { --lp-ink: #13261d; --lp-muted: #4d6359; --lp-green: #0d6b4c; --lp-deep: #08402e; --lp-gold: #c9a227; --lp-cream: #fffaf0; }
.is-landing .public-main { max-width: none; padding: 0; }
.is-landing .public-nav { padding: .6rem 1rem; position: sticky; top: 0; z-index: 30; }
.is-landing .public-nav-inner { flex-wrap: nowrap; }
.is-landing .public-brand { min-width: 0; }
.is-landing .public-brand > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-nav { display: flex; align-items: center; gap: .5rem !important; flex-wrap: nowrap !important; flex: 0 0 auto; }
.lp-nav a { min-height: 40px; display: inline-flex; align-items: center; padding: 0 .9rem; border-radius: 999px; font-size: .92rem; text-decoration: none !important; }
.lp-nav .lp-nav-in { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35); }
@media (max-width: 420px) { .lp-nav .lp-nav-l { display: none; } .is-landing .public-brand small { display: none; } }

.lp { color: var(--lp-ink); }
.lp h1, .lp h2, .lp h3 { color: inherit; }
.lp .ico { vertical-align: -0.2em; }
.lp-sec { max-width: 1040px; margin: 0 auto; padding: 2.4rem 1.1rem 0; }
.lp-h2 { font-size: clamp(1.35rem, 4.6vw, 1.9rem); font-weight: 800; line-height: 1.35; margin: 0 0 1.1rem; }
.lp-h2 small { display: block; font-size: .9rem; font-weight: 600; color: var(--lp-muted); margin-top: .15rem; }
.lp-kicker { margin: 0 0 .2rem; font-weight: 800; font-size: .85rem; color: #7a5f0c; letter-spacing: 0; }
.lp-eyebrow { display: inline-flex; align-items: center; gap: .35rem; margin: 0 0 .7rem; font-weight: 800; font-size: .9rem; }
.lp-sub { font-size: 1.08rem; line-height: 1.85; margin: .7rem 0 1.3rem; max-width: 34rem; }
.lp-hint { color: var(--lp-muted); font-size: .9rem; margin: .7rem 0 0; }
.lp-chip { display: inline-flex; align-items: center; gap: .25rem; padding: .15rem .6rem; border-radius: 999px; background: #eef7f2; color: #0a5a3f; font-weight: 800; font-size: .82rem; }
.lp-btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 56px; padding: 0 1.6rem; border-radius: 16px; font-weight: 800; font-size: 1.12rem; text-decoration: none; border: 0; cursor: pointer; }
.lp-btn-main { background: var(--lp-green); color: #fff; box-shadow: 0 6px 0 #084a34, 0 10px 24px rgba(13,107,76,.25); }
.lp-btn-main:active { transform: translateY(3px); box-shadow: 0 3px 0 #084a34; }
.lp-btn-inv { background: #fff; color: var(--lp-deep); box-shadow: 0 6px 0 rgba(0,0,0,.18); }
.lp-btn-inv:active { box-shadow: 0 3px 0 rgba(0,0,0,.18); }
.lp-btn:focus-visible, .lp a:focus-visible, .lp summary:focus-visible { outline: 3px solid var(--lp-gold); outline-offset: 3px; }
.lp-cta { display: grid; gap: .55rem; justify-items: start; }
.lp-note { margin: 0; font-size: .88rem; display: inline-flex; align-items: center; gap: .3rem; }
.lp-links { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin-top: 1.1rem; }
.lp-links a { display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; font-weight: 700; text-decoration: none; }
@media (max-width: 640px) { .lp-cta { justify-items: stretch; } .lp-btn { width: 100%; } }

/* FAQ (details/summary: no JS) */
.lp-faq { display: grid; gap: .6rem; }
.lp-faq details { background: #fff; border: 1px solid #e3ebe6; border-radius: 16px; }
.lp-faq summary { list-style: none; cursor: pointer; min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .5rem 1.1rem; font-weight: 800; font-size: 1.02rem; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after { content: "+"; flex: 0 0 30px; height: 30px; border-radius: 999px; display: grid; place-items: center; background: #eef7f2; color: var(--lp-green); font-size: 1.3rem; line-height: 1; }
.lp-faq details[open] summary::after { content: "−"; }
.lp-faq details p { margin: 0; padding: 0 1.1rem 1rem; color: var(--lp-muted); line-height: 1.8; }

/* sticky mobile CTA */
.lp-sticky { position: fixed; inset-inline: 0; bottom: 0; z-index: 40; padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid #e3ebe6; box-shadow: 0 -6px 20px rgba(0,0,0,.06); transform: translateY(110%); transition: transform .25s ease; }
.lp-sticky.is-on { transform: none; }
.lp-sticky .lp-btn { width: 100%; min-height: 52px; }
@media (min-width: 900px) { .lp-sticky { display: none; } .is-landing .public-main { padding-bottom: 0; } }

/* footer */
.lp-footer { background: #0b2a1f; color: #d6e6dd; margin-top: 0; }
.lp-footer-in { max-width: 1040px; margin: 0 auto; padding: 1.6rem 1.1rem calc(1.6rem + 76px); display: grid; gap: .9rem; }
.lp-footer b { color: #fff; font-size: 1.05rem; display: block; }
.lp-footer span { font-size: .9rem; }
.lp-footer a { color: #fff; text-decoration: none; font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
.lp-footer-ct, .lp-footer nav { display: flex; flex-wrap: wrap; gap: .2rem 1.2rem; }
@media (min-width: 900px) { .lp-footer-in { grid-template-columns: 1fr auto auto; align-items: center; padding-bottom: 1.6rem; } }

/* ========== Design A — «رحلة يومية» (bright, playful, path) ========== */
.lp-da { background: var(--lp-cream); }
.lp-da .public-nav { background: #fffaf0; color: var(--lp-ink); border-bottom: 1px solid #f0e6cf; }
.lp-da .public-brand, .lp-da .lp-nav a { color: var(--lp-deep); }
.lp-da .public-brand .brand-mark { background: var(--lp-green); color: #fff; }
.lp-da .lp-nav .lp-nav-in { background: #fff; border: 2px solid #e3dccb; }
.lpa-hero { max-width: 1040px; margin: 0 auto; padding: 1.6rem 1.1rem .5rem; display: grid; gap: 1.6rem; align-items: center; }
.lpa-hero h1 { font-size: clamp(1.7rem, 7vw, 3rem); line-height: 1.35; font-weight: 900; margin: 0; color: var(--lp-deep); }
.lpa-hero .lp-eyebrow { background: #fff; border: 2px solid #f0e6cf; padding: .25rem .8rem; border-radius: 999px; color: var(--lp-green); }
.lpa-hero .lp-sub { color: var(--lp-muted); }
.lpa-hero .lp-note { color: var(--lp-muted); }
.lpa-hero .lp-links a { color: var(--lp-green); }
.lpa-hero-art { position: relative; justify-self: center; width: min(300px, 82vw); padding: 1rem 0 1.4rem; }
.lpa-hero-art::before { content: ""; position: absolute; inset: 8% -10% 0; border-radius: 48% 52% 44% 56%; background: radial-gradient(circle at 30% 30%, #ffe9a8, #ffd56b 60%, #f7c548); z-index: 0; }
.lpa-phone { position: relative; z-index: 1; background: #fff; border-radius: 30px; border: 8px solid #15322a; padding: 1rem .9rem 1.1rem; box-shadow: 0 18px 40px rgba(8,64,46,.25); display: grid; gap: .55rem; }
.lpa-ph-top { display: flex; justify-content: space-between; align-items: center; font-weight: 900; font-size: .95rem; color: var(--lp-deep); }
.lpa-ph-dots { display: flex; gap: 3px; }
.lpa-ph-dots i { width: 10px; height: 10px; border-radius: 999px; background: #e5ece8; }
.lpa-ph-dots i.d1 { background: var(--lp-green); } .lpa-ph-dots i.d2 { background: #fff; border: 2px dashed var(--lp-green); }
.lpa-task { display: flex; align-items: center; gap: .45rem; padding: .55rem .7rem; border-radius: 14px; border: 2px solid #e8eee9; font-weight: 800; font-size: .88rem; }
.lpa-task b { margin-inline-start: auto; font-size: .75rem; background: #fbf4dc; color: #7a5f0c; padding: .1rem .5rem; border-radius: 999px; }
.lpa-task.is-done { color: var(--lp-green); background: #f0f8f4; border-color: #cfe8db; }
.lpa-task.is-now { border-color: var(--lp-green); box-shadow: 0 0 0 3px rgba(13,107,76,.12); }
.lpa-wave { height: 46px; display: flex; align-items: center; justify-content: center; gap: 3px; }
.lpa-wave i { width: 5px; height: var(--h); border-radius: 4px; background: #7cc4a3; }
.lpa-mic { justify-self: center; width: 64px; height: 64px; border-radius: 999px; background: #e0473b; color: #fff; display: grid; place-items: center; box-shadow: 0 0 0 8px #fde3e0; }
.lpa-bubble { position: absolute; z-index: 2; background: #fff; border-radius: 14px; padding: .35rem .7rem; font-weight: 900; font-size: .85rem; box-shadow: 0 8px 18px rgba(0,0,0,.12); display: inline-flex; align-items: center; gap: .3rem; }
.lpa-bubble.b1 { top: 14%; inset-inline-end: -14%; color: #7a5f0c; } .lpa-bubble.b1 .ico { color: var(--lp-gold); }
.lpa-bubble.b2 { bottom: 16%; inset-inline-start: -14%; color: #b4410e; } .lpa-bubble.b2 .ico { color: #ea580c; }
@media (prefers-reduced-motion: no-preference) {
  .lpa-wave i { animation: lpaWave 1.2s ease-in-out infinite alternate; }
  .lpa-wave i:nth-child(3n) { animation-delay: .2s; } .lpa-wave i:nth-child(3n+1) { animation-delay: .45s; }
  @keyframes lpaWave { from { transform: scaleY(.45); } to { transform: none; } }
  .lpa-bubble { animation: lpaFloat 3s ease-in-out infinite alternate; } .lpa-bubble.b2 { animation-delay: 1s; }
  @keyframes lpaFloat { to { transform: translateY(-6px); } }
}
@media (min-width: 900px) { .lpa-hero { grid-template-columns: 1.15fr .85fr; padding-top: 3rem; } }

.lpa-path { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; position: relative; }
.lpa-path::before { content: ""; position: absolute; top: 30px; bottom: 30px; inset-inline-start: 31px; border-inline-start: 4px dotted #d9cfb5; }
.lpa-node { display: flex; gap: .9rem; align-items: flex-start; position: relative; }
.lpa-node-ic { flex: 0 0 66px; height: 66px; border-radius: 999px; display: grid; place-items: center; color: #fff; position: relative; box-shadow: 0 5px 0 rgba(0,0,0,.15); }
.lpa-node-ic em { position: absolute; top: -4px; inset-inline-end: -4px; width: 24px; height: 24px; border-radius: 999px; background: #fff; color: var(--lp-ink); font-style: normal; font-weight: 900; font-size: .8rem; display: grid; place-items: center; border: 2px solid currentColor; }
.lpa-node.n1 .lpa-node-ic { background: #0d6b4c; } .lpa-node.n2 .lpa-node-ic { background: #1d6fb8; }
.lpa-node.n3 .lpa-node-ic { background: #e0473b; } .lpa-node.n4 .lpa-node-ic { background: #b8860b; }
.lpa-node-b { flex: 1; background: #fff; border: 2px solid #f0e6cf; border-radius: 18px; padding: .8rem 1rem; }
.lpa-node-b h3 { margin: 0 0 .3rem; font-size: 1.1rem; font-weight: 900; }
.lpa-node-b p { margin: .45rem 0 0; color: var(--lp-muted); line-height: 1.75; font-size: .95rem; }
@media (min-width: 900px) {
  .lpa-path { grid-template-columns: repeat(4, 1fr); }
  .lpa-path::before { top: 31px; bottom: auto; inset-inline: 12% 12%; border-inline-start: 0; border-top: 4px dotted #d9cfb5; }
  .lpa-node { flex-direction: column; align-items: center; text-align: center; }
  .lpa-node-b { width: 100%; }
}

.lpa-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.lpa-card { background: #fff; border-radius: 18px; padding: .9rem; border: 2px solid #f0e6cf; }
.lpa-card h3 { margin: .55rem 0 .2rem; font-size: 1rem; font-weight: 900; }
.lpa-card p { margin: 0; color: var(--lp-muted); font-size: .88rem; line-height: 1.7; }
.lpa-card-ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; }
.t-g .lpa-card-ic { background: #e3f4ec; color: #0d6b4c; } .t-b .lpa-card-ic { background: #e3eefa; color: #1d6fb8; }
.t-o .lpa-card-ic { background: #fde8e6; color: #c23a2f; } .t-y .lpa-card-ic { background: #fbf1d3; color: #8a6a09; }
.t-p .lpa-card-ic { background: #f1e8fb; color: #7b3fbf; } .t-t .lpa-card-ic { background: #e2f5f6; color: #0f7c83; }
@media (min-width: 900px) { .lpa-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; } .lpa-card { padding: 1.2rem; } }

.lpa-ages { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .7rem; }
.lpa-age { background: #fff; border: 2px solid #f0e6cf; border-radius: 18px; padding: .9rem; display: grid; gap: .3rem; }
.lpa-age b { font-size: 1.3rem; font-weight: 900; color: var(--lp-deep); }
.lpa-age-n { font-size: .82rem; color: var(--lp-muted); }
.lpa-meter { height: 10px; border-radius: 999px; background: #edf2ef; overflow: hidden; margin-top: .3rem; }
.lpa-meter i { display: block; height: 100%; background: var(--lp-green); border-radius: 999px; }
.lpa-seat { font-weight: 800; font-size: .85rem; color: var(--lp-green); }
.lpa-age.s-low .lpa-meter i { background: #d97706; } .lpa-age.s-low .lpa-seat { color: #a15c07; }
.lpa-age.s-full .lpa-meter i { background: #9ca3af; } .lpa-age.s-full .lpa-seat { color: #6b7280; }

.lp-a .lp-faq details { border: 2px solid #f0e6cf; }
.lpa-final { max-width: 1040px; margin: 2.4rem auto 2.4rem; padding: 2rem 1.2rem; text-align: center; border-radius: 28px; background: var(--lp-green); color: #fff; display: grid; gap: .7rem; justify-items: center; }
@media (min-width: 1080px) { .lpa-final { margin-inline: auto; } }
@media (max-width: 1079px) { .lpa-final { margin-inline: 1.1rem; } }
.lpa-final h2 { margin: 0; font-size: 1.6rem; font-weight: 900; color: #fff; }
.lpa-final p { margin: 0; opacity: .92; }
.lp-wa { color: #fff; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; }
.lpa-node-ic { width: 66px; }
@media (min-width: 900px) { .lp-faq { max-width: 780px; } }
/* v1.25.1 — «كيف تعمل» folded */
.lp-a .rs-fold { border: 2px solid #f0e6cf; border-radius: 18px; }
.lp-a .rs-fold[open] > summary { border-bottom-color: #f0e6cf; }
.lp-a .rs-fold-body { padding: 1.1rem .9rem .9rem; }

/* ========== v1.26 — /register in the «رحلة يومية» style ========== */
.is-landing .public-main > .alert { max-width: 760px; margin: 1rem auto 0; width: calc(100% - 2.2rem); }
.is-landing .public-main > .panel { width: calc(100% - 2.2rem); margin: 1.2rem auto 2rem; }
.rg-head { max-width: 760px; margin: 0 auto; padding: 1.4rem 1.1rem .4rem; }
.rg-head .lp-eyebrow { background: #fff; border: 2px solid #f0e6cf; padding: .25rem .8rem; border-radius: 999px; color: var(--lp-green); }
.rg-head h1 { margin: 0; font-size: clamp(1.7rem, 7vw, 2.4rem); line-height: 1.3; font-weight: 900; color: var(--lp-deep); }
.rg-promise { margin: .5rem 0 .9rem; color: var(--lp-muted); font-size: 1.02rem; line-height: 1.8; }
.rg-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.rg-facts li { display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .8rem; border-radius: 999px; background: #fff; border: 2px solid #e3f1e9; color: #0a5a3f; font-weight: 800; font-size: .9rem; }
.rg-facts .ico { color: var(--lp-green); }
.rg-intro { margin: .9rem 0 0; color: var(--lp-muted); }
.rg-track { margin: .8rem 0 0; font-size: .92rem; color: var(--lp-muted); }
.rg-track a { color: var(--lp-green); font-weight: 800; }
.rg-wrap { max-width: 760px; margin: 0 auto; padding: 1rem 1.1rem 2.4rem; }
.rg .rs-fold { border: 2px solid #f0e6cf; border-radius: 18px; }
.rg .rs-fold > summary { min-height: 52px; padding: .5rem .9rem; }
.rg .rs-fold-t b { font-size: .95rem; }

.rg-form { background: #fff; border: 2px solid #f0e6cf; border-radius: 22px; padding: 1rem 1rem 1.2rem; box-shadow: 0 10px 30px rgba(8,64,46,.06); }
.rg-prog { list-style: none; margin: 0 0 1rem; padding: 0; display: none; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.rg-js .rg-prog { display: grid; }
.rg-prog li { display: flex; flex-direction: column; align-items: center; gap: .3rem; font-size: .82rem; font-weight: 800; color: #8a9a92; text-align: center; position: relative; }
.rg-prog li span { width: 34px; height: 34px; border-radius: 999px; display: grid; place-items: center; background: #f1f4f2; border: 2px solid #e1e8e4; color: #6b7d74; font-weight: 900; position: relative; z-index: 1; }
.rg-prog li:not(:first-child)::before { content: ""; position: absolute; top: 16px; inset-inline-end: 50%; width: 100%; height: 4px; background: #e8eee9; border-radius: 4px; }
.rg-prog li.is-done::before, .rg-prog li.is-on::before { background: var(--lp-green); }
.rg-prog li.is-on { color: var(--lp-deep); }
.rg-prog li.is-on span { background: var(--lp-green); border-color: var(--lp-green); color: #fff; box-shadow: 0 0 0 4px rgba(13,107,76,.15); }
.rg-prog li.is-done span { background: #e3f4ec; border-color: var(--lp-green); color: var(--lp-green); }

.rg-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.rg-step + .rg-step { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 2px dashed #f0e6cf; }
.rg-js .rg-step + .rg-step { margin-top: 0; padding-top: 0; border-top: 0; }
.rg-step-t { font-size: 1.2rem; font-weight: 900; color: var(--lp-deep); padding: 0; margin: 0 0 .8rem; outline: none; }
.rg-step-t small { font-size: .82rem; font-weight: 700; color: var(--lp-muted); }
.rg-f { display: grid; gap: .3rem; margin-bottom: .9rem; }
.rg-f label, .rg-lbl { font-weight: 800; font-size: .96rem; color: var(--lp-ink); }
.rg-f label small, .rg-lbl small, .rg-docs summary small { font-weight: 600; color: var(--lp-muted); }
.rg-req { color: #b42318; }
.rg-f input[type=text], .rg-f input[type=tel], .rg-f input[type=email], .rg-f input[type=date], .rg-f select, .rg-f textarea {
  width: 100%; min-height: 54px; padding: .7rem .9rem; font: inherit; font-size: 1.05rem; color: var(--lp-ink); background: #fff; border: 2px solid #dfe7e2; border-radius: 14px; box-sizing: border-box; }
.rg-f textarea { min-height: 90px; }
.rg-f input:focus, .rg-f select:focus, .rg-f textarea:focus { outline: none; border-color: var(--lp-green); box-shadow: 0 0 0 4px rgba(13,107,76,.14); }
.rg-f input[type=file] { font-size: .92rem; padding: .5rem 0; }
.rg-hint { font-size: .84rem; color: var(--lp-muted); }
.rg-f.is-bad input, .rg-f.is-bad select, .rg-f.is-bad textarea { border-color: #d92d20; background: #fffbfa; }
.rg-err { margin: 0; color: #b42318; font-weight: 800; font-size: .88rem; display: flex; align-items: center; gap: .3rem; }
.rg-err::before { content: "!"; width: 18px; height: 18px; flex: 0 0 18px; border-radius: 999px; background: #d92d20; color: #fff; display: grid; place-items: center; font-size: .75rem; }
.rg-seg { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.rg-seg label { position: relative; }
.rg-seg input { position: absolute; opacity: 0; inset: 0; }
.rg-seg span { display: flex; align-items: center; justify-content: center; min-height: 50px; border: 2px solid #dfe7e2; border-radius: 14px; font-weight: 800; cursor: pointer; }
.rg-seg input:checked + span { border-color: var(--lp-green); background: #eef7f2; color: var(--lp-deep); }
.rg-seg input:focus-visible + span { box-shadow: 0 0 0 4px rgba(13,107,76,.2); }

.rg-kid { border: 2px solid #eef2ef; border-radius: 18px; padding: .3rem .9rem .2rem; margin: 0 0 .9rem; background: #fcfdfc; }
.rg-kid legend { display: flex; align-items: center; gap: .45rem; padding: 0 .4rem; font-weight: 900; font-size: 1.02rem; color: var(--lp-deep); }
.rg-kid-n { width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: #fbf1d3; color: #8a6a09; }
.rg-kid-rm { margin-inline-start: .3rem; min-height: 36px; padding: 0 .8rem; border-radius: 999px; border: 2px solid #f3d0cc; background: #fff; color: #b42318; font: inherit; font-weight: 800; font-size: .82rem; cursor: pointer; }
.rg-docs { margin: 0 0 .9rem; border: 2px dashed #e3e9e5; border-radius: 14px; padding: .2rem .8rem; }
.rg-docs summary { min-height: 46px; display: flex; align-items: center; gap: .3rem; cursor: pointer; font-weight: 800; }
.rg-add { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: center; gap: .4rem; border: 2px dashed var(--lp-green); border-radius: 16px; background: #f4faf7; color: var(--lp-green); font: inherit; font-weight: 900; font-size: 1rem; cursor: pointer; margin-bottom: .4rem; }
.rg-add[hidden] { display: none; }

.rg-nav { display: none; gap: .6rem; margin-top: 1.1rem; align-items: center; }
.rg-js .rg-nav { display: flex; }
.rg-nav .lp-btn { flex: 1; min-height: 56px; }
.rg-nav-end { display: flex; } /* the submit row must exist without JS too */
.rg-form:not(.rg-js) .rg-nav-end .rg-back { display: none; }
.rg-back { min-height: 56px; padding: 0 1rem; border-radius: 16px; border: 2px solid #e3dccb; background: #fff; color: var(--lp-deep); font: inherit; font-weight: 800; display: inline-flex; align-items: center; gap: .25rem; cursor: pointer; }
.rg-review { display: grid; gap: 0; border: 2px solid #e3f1e9; border-radius: 16px; background: #f6fbf8; margin-bottom: 1rem; overflow: hidden; }
.rg-rv { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: center; padding: .65rem .9rem; border-bottom: 1px solid #e3f1e9; }
.rg-rv:last-child { border-bottom: 0; }
.rg-rv span { color: var(--lp-muted); font-size: .86rem; }
.rg-rv b { font-weight: 800; overflow-wrap: anywhere; }
.rg-rv-edit { min-height: 36px; border: 0; background: none; color: var(--lp-green); font: inherit; font-weight: 800; font-size: .86rem; text-decoration: underline; cursor: pointer; }
.rg-checks { display: grid; gap: .6rem; margin: .4rem 0 1rem; }
.rg-check { display: flex; gap: .7rem; align-items: flex-start; padding: .8rem .9rem; border: 2px solid #eef2ef; border-radius: 14px; cursor: pointer; line-height: 1.7; font-size: .93rem; flex-wrap: wrap; }
.rg-check input { width: 24px; height: 24px; flex: 0 0 24px; margin-top: .15rem; accent-color: var(--lp-green); }
.rg-check > span { flex: 1; min-width: 0; }
.rg-check:has(input:checked) { border-color: #bfe3cf; background: #f4faf7; }
.rg-check.is-bad { border-color: #d92d20; background: #fffbfa; }
.rg-check .rg-err { flex-basis: 100%; }
.rg-privacy { display: flex; gap: .6rem; align-items: flex-start; padding: .8rem .9rem; border-radius: 14px; background: #f1f6fb; color: #23415f; font-size: .9rem; line-height: 1.7; }
.rg-privacy .ico { color: #1d6fb8; flex: 0 0 auto; margin-top: .1rem; }
.rg-privacy p { margin: 0; }
@media (min-width: 900px) {
  .rg-head { padding-top: 2.4rem; text-align: center; }
  .rg-facts { justify-content: center; }
  .rg-form { padding: 1.6rem 1.8rem 1.8rem; }
  .rg-kid .rg-f { margin-bottom: .8rem; }
  .rg-nav .lp-btn { flex: 0 0 auto; min-width: 260px; margin-inline-start: auto; }
}

/* success card on the family page (right after sending) */
.rg-done { text-align: center; border: 2px solid #cfe8db; background: linear-gradient(180deg, #f2faf6, #fff); border-radius: 22px; padding: 1.4rem 1rem 1rem; margin-bottom: 1.1rem; }
.rg-done-badge { width: 88px; height: 88px; margin: 0 auto .7rem; border-radius: 999px; display: grid; place-items: center; background: var(--lp-green); color: #fff; box-shadow: 0 0 0 10px #e3f4ec; }
.rg-done-badge.is-ok { background: var(--lp-gold); color: #fff; box-shadow: 0 0 0 10px #fbf4dc; }
.rg-done h2 { margin: .3rem 0 .2rem; font-size: 1.45rem; font-weight: 900; color: var(--lp-deep); }
.rg-done-sub { margin: 0 0 .4rem; color: var(--lp-muted); }
.rg-done-ref { margin: .4rem 0 .7rem; }
.rg-done .ref { font-size: 1.15rem; font-weight: 900; direction: ltr; display: inline-block; }
.rg-done .reg-now { text-align: start; }
@media (prefers-reduced-motion: no-preference) {
  .rg-done-badge { animation: rgPop .45s cubic-bezier(.2, 1.4, .4, 1) both; }
  @keyframes rgPop { from { transform: scale(.5); opacity: 0; } to { transform: none; opacity: 1; } }
}
