/* Synastry calculator (sasstrology.com/synastry-chart). Loaded after birth-chart.css;
   the root element has both .sbc and .sbc-syn. */
.sbc-syn-form{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 6px 24px rgba(66,2,47,.06)}
.syn-people{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.syn-person{border:0;margin:0;padding:0;display:grid;gap:12px;min-width:0}
.syn-person legend{font-family:Georgia,serif;font-size:21px;color:var(--ink);padding:0;margin:0 0 4px}
.syn-person legend small{display:block;font-family:inherit;font-size:13px;color:var(--muted);margin-top:2px}
.syn-person .sbc-field input[type=text]{min-height:46px}
.syn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sbc-syn-form .sbc-submit{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.sbc-syn-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-weight:700;font-size:16px;cursor:pointer;transition:background .15s}
.sbc-syn-form button[type=submit]:hover{background:var(--accent-dark)}
.sbc-syn-form button[type=submit]:disabled{opacity:.6;cursor:wait}
.sbc-syn-form .sbc-privacy{margin-top:10px}

.syn-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;align-items:center;margin-top:18px}
.syn-wheel-wrap{max-width:600px;width:100%;margin:0 auto}
.syn-wheel{width:100%;height:auto;display:block;overflow:visible;font-family:Arial,Helvetica,sans-serif}
.syn-wheel text{text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.syn-ring-outer{fill:#fbf3ee;stroke:#d9c3ce}
.syn-ring{fill:none;stroke:#d9c3ce}
.syn-ring-inner{fill:#fffdf8;stroke:#e2ced8}
.syn-tick{stroke:#d9c3ce}
.syn-sign{fill:#805469;font-size:20px;font-family:Georgia,serif}
.syn-asc{stroke:#87576f;stroke-width:2}
.syn-asc-label{font-size:10px;font-weight:bold;fill:#71465c;letter-spacing:1px}
.syn-aspect{stroke-width:1.6}
.syn-aspect.is-easy{stroke:#9b1960}
.syn-aspect.is-blend{stroke:#c58b2b}
.syn-aspect.is-tension{stroke:#4a2d6b;stroke-dasharray:6 4}
.syn-leader{stroke:#c9b2bd;stroke-width:1;stroke-dasharray:2 3}
.syn-dot.is-a{fill:#9b1960}.syn-dot.is-b{fill:#4a2d6b}
.syn-planet-bg{stroke-width:1.2}
.syn-planet-bg.is-a{fill:#fff;stroke:#9b1960}
.syn-planet-bg.is-b{fill:#f1ebf6;stroke:#4a2d6b}
.syn-planet{font-family:Georgia,'Arial Unicode MS',serif;font-size:19px}
.syn-planet.is-a{fill:#9b1960}.syn-planet.is-b{fill:#4a2d6b}
.syn-key{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:middle;margin-right:3px}
.syn-key.is-a{background:#9b1960}.syn-key.is-b{background:#4a2d6b}

.syn-summary{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.syn-summary h3{font-family:Georgia,serif;font-weight:400;font-size:24px;line-height:1.25;margin:0 0 14px;color:var(--ink)}
.syn-balance{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--rose)}
.syn-balance i{display:block;width:var(--w)}
.syn-balance .is-easy,.syn-legend .is-easy{background:#9b1960}
.syn-balance .is-blend,.syn-legend .is-blend{background:#c58b2b}
.syn-balance .is-tension,.syn-legend .is-tension{background:#4a2d6b}
.syn-legend{font-size:13px;color:var(--muted);margin:8px 0 4px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.syn-legend span{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}
.syn-themes{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.syn-themes span{background:var(--rose);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}
.syn-summary .sbc-handoff label{color:var(--ink)}

.syn-aspects{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.syn-strongest{counter-reset:syn}
.syn-aspect-row{background:var(--card);border:1px solid var(--line);border-left:4px solid #9b1960;border-radius:10px;padding:14px 16px;margin:0}
.syn-aspect-row.is-tension{border-left-color:#4a2d6b}
.syn-aspect-row.is-blend{border-left-color:#c58b2b}
.syn-aspect-row p{margin:0 0 6px;font-size:15px;line-height:1.55}
.syn-aspect-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}
.syn-aspect-head strong{font-size:15px}
.syn-asym{font-family:Georgia,serif;color:var(--accent);margin:0 2px}
.syn-orb{font-size:12px;color:var(--muted);text-transform:capitalize}
.syn-group{background:transparent;border:1px solid var(--line);border-radius:12px;margin:0 0 10px;padding:0}
.syn-group summary{cursor:pointer;padding:14px 16px;font-family:Georgia,serif;font-size:18px;color:var(--ink);list-style:none;display:flex;justify-content:space-between}
.syn-group summary::-webkit-details-marker{display:none}
.syn-group summary span{font-family:inherit;font-size:13px;color:var(--muted);background:var(--rose);border-radius:999px;padding:2px 10px}
.syn-group .syn-aspects{padding:0 12px 12px}
.syn-cta{margin:28px 0 0}
.syn-overlay-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px}
.syn-overlay-grid h4{font-family:Georgia,serif;font-weight:400;font-size:19px;margin:0 0 10px;color:var(--ink)}
.syn-overlays{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.syn-overlays li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;margin:0}
.syn-overlays li span{display:block;color:var(--muted);font-size:13px}

@media (max-width:820px){
  .syn-people,.syn-top,.syn-overlay-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .sbc-syn-form{padding:16px}
  .syn-row{grid-template-columns:1fr}
}
