/* Free birth chart calculator on sasstrology.com/birth-chart.
   Everything is scoped under .sbc so it never touches the WordPress theme. */
.sbc{--ink:#42022f;--accent:#9b1960;--accent-dark:#7a1349;--paper:#fdf8f3;--card:#fffaf6;--line:#e6d6dc;--muted:#6f5d67;--rose:#f4e4ea;
  color:var(--ink);font-size:16px;line-height:1.6;margin:0 0 2.5rem}
.sbc *,.sbc *::before,.sbc *::after{box-sizing:border-box}
.sbc [hidden]{display:none!important}

/* Form */
.sbc-form{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;gap:16px;
  grid-template-columns:1fr 1fr;box-shadow:0 6px 24px rgba(66,2,47,.06)}
.sbc-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.sbc-field.sbc-wide{grid-column:1/-1}
.sbc-field label,.sbc-field legend{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ink)}
.sbc-field input[type=date],.sbc-field input[type=time],.sbc-field input[type=text]{width:100%;min-height:48px;padding:10px 12px;
  border:1px solid #d6c2cb;border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.sbc-field input:focus{outline:3px solid rgba(155,25,96,.25);border-color:var(--accent)}
.sbc-field input:disabled{background:#f3ece9;color:#a8979f}
.sbc-check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;color:var(--muted);min-height:32px;cursor:pointer}
.sbc-check input{width:18px;height:18px;accent-color:var(--accent)}
.sbc-hint{font-size:13px;color:var(--muted);margin:0}
.sbc-submit{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.sbc-form button[type=submit],.sbc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 26px;
  border:0;border-radius:999px;background:var(--accent);color:#fff!important;font:inherit;font-weight:700;font-size:16px;
  text-decoration:none!important;cursor:pointer;transition:background .15s}
.sbc-form button[type=submit]:hover,.sbc-btn:hover{background:var(--accent-dark)}
.sbc-form button[type=submit]:disabled{opacity:.6;cursor:wait}
.sbc-btn-light{background:#f7e7eb;color:var(--ink)!important;min-height:44px;font-size:14px;padding:10px 20px}
.sbc-btn-light:hover{background:#fff}
.sbc-status{margin:0;font-size:14px;color:var(--muted)}
.sbc-status.is-error{color:#b3261e;font-weight:600}
.sbc-privacy{grid-column:1/-1;font-size:12px;color:var(--muted);margin:0}

/* Results */
.sbc-results{margin-top:28px;scroll-margin-top:90px}
.sbc-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}
.sbc-h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(28px,4.5vw,40px);line-height:1.15;margin:0 0 8px;color:var(--ink)}
.sbc-h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:24px;margin:34px 0 12px;color:var(--ink)}
.sbc-meta{font-size:14px;color:var(--muted);margin:0}
.sbc-link{background:none;border:0;padding:4px 6px;color:var(--accent);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}
.sbc-notice{background:#f6e9e2;border-left:3px solid #b67c65;padding:12px 14px;font-size:14px;margin:14px 0 0;border-radius:0 8px 8px 0}
.sbc-small{font-size:13px;color:var(--muted)}
.sbc-center{text-align:center;margin:6px 0 0}
.sbc-deg{color:var(--muted);font-size:.9em}
.sbc-wheel-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;margin-top:18px}
.sbc-wheel-wrap{max-width:640px;width:100%;margin:0 auto}
.sbc-detail{background:var(--ink);color:#f6e6ee;border-radius:16px;padding:22px;position:sticky;top:100px}
.sbc-detail .sbc-eyebrow{color:#e7b6cb}
.sbc-detail h3{font-family:Georgia,serif;font-weight:400;font-size:26px;line-height:1.2;margin:0 0 10px;color:#fff}
.sbc-detail p{font-size:14px;line-height:1.6;margin:0 0 12px;color:#efdae3}
.sbc-detail .sbc-placement{border-top:1px solid #774960;border-bottom:1px solid #774960;padding:10px 0;color:#f3cfdf}
.sbc-big-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.sbc-big{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}
.sbc-big h3{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0;color:var(--ink)}
.sbc-big p{margin:6px 0 0;font-size:15px}
.sbc-big .sbc-deg{margin:0}

.sbc-tomorrow{margin-top:28px;background:linear-gradient(180deg,#fbeef3,#fdf8f3);border:1px solid #ecc9d8;border-radius:18px;padding:24px}
.sbc-tomorrow h3{font-family:Georgia,serif;font-weight:400;font-size:28px;line-height:1.2;margin:0 0 10px;color:var(--ink)}
.sbc-tomorrow p{margin:0 0 10px}
.sbc-locked{filter:blur(5px);user-select:none;pointer-events:none;opacity:.75}
.sbc-cta-box{border-top:1px solid #ecc9d8;margin-top:16px;padding-top:16px}
.sbc-cta-box .sbc-btn{margin:6px 0 10px}

.sbc-table{width:100%;border-collapse:collapse;font-size:15px}
.sbc-table th,.sbc-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.sbc-table thead th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sbc-table tbody th{font-weight:700;white-space:nowrap}
.sbc-glyph{font-family:Georgia,'Arial Unicode MS',serif;color:var(--accent)}
.sbc-line{color:var(--muted)}
.sbc-aspects{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sbc-aspects li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0}
.sbc-aspects strong{display:block;font-size:15px}
.sbc-aspects span{font-size:13px;color:var(--muted)}
.sbc-bars{display:grid;gap:8px;max-width:520px}
.sbc-bar{display:grid;grid-template-columns:64px 1fr 24px;align-items:center;gap:10px;font-size:14px}
.sbc-bar i{display:block;height:12px;border-radius:6px;background:var(--rose);position:relative;overflow:hidden}
.sbc-bar i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:6px;background:var(--c,#9b1960)}
.sbc-fire{--c:#c8553d}.sbc-earth{--c:#6b8e4e}.sbc-air{--c:#5b8bb5}.sbc-water{--c:#6a5aa8}
.sbc-note{font-size:15px;margin:10px 0 0}

/* Wheel (same drawing as SASS Chat, scoped) */
.sbc .sass-wheel{width:100%;height:auto;display:block;overflow:visible;font-family:Arial,Helvetica,sans-serif}
.sbc .sass-wheel text{text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.sbc .wheel-disc{fill:#fbf3ee;stroke:#d9c3ce;stroke-width:1}
.sbc .sign-sector{fill:#f4e7e9;stroke:#d9c3ce;stroke-width:1}
.sbc .sign-sector.is-lit{fill:#e0baca;stroke:#9b426d}
.sbc .sign-symbol{fill:#805469;font-size:23px;font-family:Georgia,serif}
.sbc .house-sector path{fill:transparent;stroke:#d7c6ce;stroke-width:.65}
.sbc .house-sector:hover path,.sbc .house-sector.is-lit path{fill:#e9d1dc;fill-opacity:.42;stroke:#9b426d}
.sbc .house-number{fill:#775b69;font-size:12px}
.sbc .axis-tick{stroke:#87576f;stroke-width:2}
.sbc .axis-label{font-size:11px;font-weight:bold;fill:#71465c;letter-spacing:1px}
.sbc .planet-leader{stroke:#b99eac;stroke-width:1;stroke-dasharray:2 3;pointer-events:none}
.sbc .planet-leader.is-lit{stroke:#42022f;stroke-width:2;stroke-dasharray:none}
.sbc .position-tick{fill:#9b426d;stroke:#fdf8f3;stroke-width:1}
.sbc .position-tick.is-lit{fill:#42022f}
.sbc .position-halo{fill:#fdf8f3;stroke:#42022f;stroke-width:2}
.sbc .planet-hit{fill:transparent;stroke:none}
.sbc .planet-disc{fill:#fdf8f3;stroke:#c7a5b6;stroke-width:1.2}
.sbc .planet-symbol{font-family:Georgia,'Arial Unicode MS',serif;fill:#63334d;font-size:31px}
.sbc .planet-name{fill:#62394d;font-size:17px;font-weight:500;paint-order:stroke;stroke:#fdf8f3;stroke-width:5;stroke-linejoin:round}
.sbc .planet-button{cursor:pointer;outline:none}
.sbc .planet-button.is-lit .planet-disc{fill:#42022f;stroke:#42022f}
.sbc .planet-button.is-lit .planet-symbol{fill:#fdf8f3}
.sbc .planet-button:hover .planet-disc{stroke:#42022f;stroke-width:3}
.sbc .planet-button:focus-visible .planet-disc{stroke:#b94981;stroke-width:5}
.sbc .planet-button.is-lit .planet-name{fill:#42022f;font-weight:bold}
.sbc .wheel-center{fill:#fdf8f3;stroke:#e2ced8;stroke-width:1;pointer-events:none}
.sbc .center-kicker{font-size:9px;letter-spacing:1.8px;fill:#976f81}
.sbc .center-name{font:18px Georgia,serif;fill:#71455b}
.sbc .aspect-hit{stroke:transparent}
.sbc .aspect-stroke{stroke:#9b426d;stroke-width:1.7;pointer-events:none}
.sbc .aspect-stroke.square,.sbc .aspect-stroke.opposition{stroke-dasharray:6 4}
.sbc .wheel-aspect.is-lit .aspect-stroke{stroke:#42022f;stroke-width:3}
.sbc .wheel-aspect.is-muted{opacity:.12}
.sbc .uncertainty-arc{stroke:#ad6286;stroke-width:10;stroke-opacity:.45;fill:none;stroke-linecap:round}
.sbc .uncertainty-arc.is-lit{stroke-opacity:1}
.sbc .sass-wheel [role=button]{touch-action:manipulation}
.sbc .sass-wheel [role=button]:focus{outline:none}
.sbc .house-sector:focus-visible path{stroke:#42022f;stroke-width:3;fill:#f4e4ea;fill-opacity:.6}

@media (max-width:820px){
  .sbc-wheel-grid{grid-template-columns:1fr}
  .sbc-detail{position:static}
  .sbc-big-three{grid-template-columns:1fr}
  .sbc-aspects{grid-template-columns:1fr}
}
@media (max-width:560px){
  .sbc-form{grid-template-columns:1fr;padding:18px}
  .sbc .planet-name{font-size:24px}
  .sbc-table{font-size:14px}
  .sbc-table th,.sbc-table td{padding:9px 5px}
  .sbc-tomorrow{padding:20px}
}
.sbc-table a,.sbc-more{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.sbc-table tbody th a{color:var(--ink)}
.sbc-more{display:inline-block;font-size:13px;margin-top:4px}
.sbc-ask-row{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.sbc-ask-row p{margin:0;flex:1 1 300px;font-size:15px}
.sbc-ask-row .sbc-handoff{flex:1 1 100%}
.sbc-btn-outline{background:transparent;color:var(--accent)!important;border:2px solid var(--accent);min-height:46px;font-size:15px;padding:10px 20px}
.sbc-btn-outline:hover{background:var(--accent);color:#fff!important}
.sbc-handoff{display:grid;gap:8px;margin:4px 0 0}
.sbc-handoff label{font-size:14px;font-weight:600;line-height:1.45}
.sbc-handoff-row{display:flex;flex-wrap:wrap;gap:8px}
.sbc-handoff input[type=email]{flex:1 1 200px;min-height:46px;padding:10px 12px;border:1px solid #d6c2cb;border-radius:10px;font:inherit;font-size:16px;color:var(--ink);background:#fff}
.sbc-handoff .sbc-btn{min-height:46px;font-size:15px;padding:10px 20px}
.sbc-handoff .sbc-small{margin:0}
.sbc-detail .sbc-handoff label{color:#f6e6ee}
.sbc-detail .sbc-handoff .sbc-small{color:#e7b6cb}
