/* landing.css — SAṄGA input screen (1:1 with prototype 04 d-input).
   Uses the shared tokens from sanga.css (--cream / --ink / --accent / --gold …). */

.si-wrap{min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);display:flex;align-items:flex-start;justify-content:center;padding:40px 24px 80px}
.si-card{max-width:520px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}

.si-brand{font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:700;margin-bottom:8px;color:var(--ink-soft)}
.si-brand .skt{font-family:var(--font-sanskrit);font-weight:600;letter-spacing:.12em;text-transform:none}
.si-title{font-family:var(--font-serif);font-size:32px;font-weight:800;color:var(--ink);letter-spacing:.04em;margin-bottom:6px}
.si-sub{font-family:var(--font-serif);font-size:15px;color:var(--ink);line-height:1.5;margin-bottom:6px;letter-spacing:.02em}
.si-cta-line{font-size:12px;color:var(--ink-soft);line-height:1.6;margin-bottom:20px;letter-spacing:.06em}

/* form */
.si-form{width:100%;display:flex;flex-direction:column;gap:16px;text-align:left}
.si-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.si-row.full{grid-template-columns:1fr}
.si-form .field{display:flex;flex-direction:column;gap:4px}
.si-form .field label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}
.si-form .field input:not([type=checkbox]),.si-form .field select{padding:10px 16px;border-radius:var(--radius-pill);border:1.5px solid var(--cream-3);background:#fff;font-size:16px;color:var(--ink);font-family:var(--font-sans);outline:none;appearance:none;-webkit-appearance:none;transition:border-color .2s}
.si-form .field input:not([type=checkbox]):focus,.si-form .field select:focus{border-color:var(--accent)}
.si-form .field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a8806a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center}
.si-form .field .hint{font-size:11px;color:var(--ink-faint);margin-top:2px}
.si-form .field.invalid input{border-color:var(--error)}
.si-form .field.invalid .hint{color:var(--error)}

.si-divider{width:100%;display:flex;align-items:center;gap:8px;margin:4px 0;color:var(--accent);font-size:12px}
.si-divider::before,.si-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* price box */
.si-price{width:100%;padding:16px;border-radius:var(--radius-lg);background:#ffffff70;border:1px solid #d4a04030;display:flex;align-items:center;justify-content:space-between}
.si-price .left .plan{font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--ink)}
.si-price .left .desc{font-size:11px;color:var(--ink-soft);margin-top:2px}
.si-price .price{font-family:var(--font-serif);font-size:28px;font-weight:800;color:var(--accent)}
.si-price .price small{font-size:13px;font-weight:500;color:var(--ink-soft)}

/* CTA */
.si-cta{width:100%;margin-top:4px;padding:13px 24px;border-radius:var(--radius-pill);background:var(--ink);color:var(--cream);font-family:var(--font-serif);font-size:16px;font-weight:700;letter-spacing:.08em;border:none;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px}
.si-cta:hover{background:#5a3828}
.si-cta:disabled{opacity:.6;cursor:not-allowed}

.si-foot{font-size:11px;color:var(--ink-faint);margin-top:14px;line-height:1.7;text-align:center}
.si-contact{text-align:center;margin-top:8px}
.si-contact a{font-size:11px;color:var(--ink-faint);text-decoration:underline;text-underline-offset:2px}
.si-contact a:hover{color:var(--accent)}

/* ── birth-time confirm modal ── */
.si-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}
.si-modal-overlay.show{display:flex;animation:siFade .3s both}
@keyframes siFade{from{opacity:0}to{opacity:1}}
.si-modal{background:var(--cream);border-radius:var(--radius-lg);max-width:440px;width:100%;padding:32px 24px;text-align:center;box-shadow:var(--shadow-xl);animation:siModalIn .35s cubic-bezier(.16,1,.3,1) both;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;-webkit-overflow-scrolling:touch}
@keyframes siModalIn{from{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}
.cm-icon{width:64px;height:64px;border-radius:50%;background:#c4533a18;display:grid;place-items:center;margin:0 auto 24px}
.cm-icon svg{width:32px;height:32px;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.si-modal h3{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:.04em}
.cm-warn{font-size:14px;color:var(--ink);line-height:1.6;margin-bottom:6px}
.cm-warn b{color:var(--accent);font-weight:700}
.cm-tips{text-align:left;padding:16px;border-radius:var(--radius-lg);background:#ffffff70;border:1px solid #d4a04030;margin:16px 0}
.cm-tip-label{font-size:10px;letter-spacing:.24em;font-weight:700;color:var(--accent);margin-bottom:8px;text-transform:uppercase}
.cm-tips ul{list-style:none}
.cm-tips li{font-size:13px;color:var(--ink);line-height:1.85;padding-left:16px;position:relative}
.cm-tips li::before{content:"·";position:absolute;left:4px;color:var(--gold);font-weight:700}
.cm-tips li b{color:var(--accent);font-weight:700}
.cm-actions{display:flex;flex-direction:column;gap:8px;margin-top:24px}
.cm-confirm{padding:13px 24px;border-radius:var(--radius-pill);background:var(--ink);color:var(--cream);font-family:var(--font-serif);font-size:15px;font-weight:700;letter-spacing:.06em;border:none;cursor:pointer;transition:.2s}
.cm-confirm:hover{background:#5a3828}
.cm-back{padding:10px;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);font-size:13px;font-weight:600;border:1.5px solid var(--cream-3);cursor:pointer;transition:.2s}
.cm-back:hover{border-color:var(--gold);color:var(--ink)}

/* ── segmented date / time: ONE pill, "/"&":" always visible, auto-advance ── */
.si-segs{display:flex;align-items:center;padding:10px 16px;border-radius:var(--radius-pill);border:1.5px solid var(--cream-3);background:#fff;transition:border-color .2s}
.si-segs:focus-within{border-color:var(--accent)}
/* override the generic .field input pill so each box is borderless inside the pill */
/* font-size 16px = no iOS Safari focus-zoom; fixed ch widths (with full specificity
   so they beat the .seg reset) keep the boxes snug, not stretched to input default. */
.si-form .field .si-segs .seg{flex:0 0 auto;border:none;border-radius:0;padding:0;background:transparent;text-align:center;font-size:16px;color:var(--ink);font-family:var(--font-sans);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.si-form .field .si-segs .seg-y{width:5ch}
.si-form .field .si-segs .seg-2{width:2.8ch}
.si-segs .seg::placeholder{color:var(--ink-faint);letter-spacing:.04em}
.si-segs .seg-sep{flex:0 0 auto;color:var(--ink-soft);padding:0 6px;user-select:none;pointer-events:none}
.si-form .field.invalid .si-segs{border-color:var(--error)}

/* ── 出生地 autocomplete dropdown ── */
.si-place-wrap{position:relative}
.si-ac{position:absolute;top:100%;left:0;right:0;z-index:30;list-style:none;margin:6px 0 0;padding:4px;background:#fff;border:1.5px solid var(--cream-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:264px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.si-ac[hidden]{display:none}
.si-ac-item{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation}
.si-ac-item b{font-family:var(--font-sans);font-size:14px;font-weight:700;color:var(--ink)}
.si-ac-item span{font-size:12px;color:var(--ink-soft)}
.si-ac-item:hover,.si-ac-item.on{background:var(--cream)}

@media(max-width:560px){
  .si-row{grid-template-columns:1fr}
  .si-title{font-size:28px}
}
