.jrpass-calc { border:1px solid #e5e5e5; padding:16px; border-radius:8px; max-width:900px; }
.jrpass-calc h2, .jrpass-calc h3 { margin:8px 0 12px; }
.jrpass-calc__row { display:flex; gap:12px; align-items:center; margin:8px 0; }
.jrpass-calc__row label { width:160px; }
.jrpass-calc__row input, .jrpass-calc__row select { flex:1; padding:8px; }
.jrpass-calc__controls button { margin-top:8px; }
.jr_segments_table { width:100%; border-collapse: collapse; margin-top:8px; }
.jr_segments_table th, .jr_segments_table td { border-bottom:1px solid #eee; padding:8px; }
.right { text-align:right; }
.bold { font-weight:600; }
.muted { color:#777; }
.jrpass-calc__passes { display:flex; gap:12px; margin:8px 0; }
.pass { border:1px solid #ddd; padding:10px; border-radius:6px; flex:1; }
.pass__title { font-weight:600; margin-bottom:6px; }
.pass__price { margin-bottom:8px; }
.pass__cta { display:inline-block; padding:10px 12px; border-radius:8px; background:#22c55e; color:#111; text-decoration:none; font-weight:700; border:1px solid #16a34a; }
.pass__cta:hover { filter:brightness(0.95); }
.jrpass-calc__result { margin-top:8px; font-weight:600; }
.regional { display:flex; justify-content:space-between; border:1px dashed #ccc; padding:8px; border-radius:6px; margin:6px 0; }
.note { font-size:12px; color:#666; }
