/* Phase 3: public answer -> context -> next step. No authenticated shell rules. */
.public-tool-page { max-width: 960px; }
.public-tool-page .seo-hero, .tool-hub .seo-hero { text-align: left; padding: 1.5rem 0 1rem; background: transparent; color: var(--text-primary); }
.public-tool-page .seo-hero__h1, .tool-hub .seo-hero__h1 { color: var(--text-primary); }
.public-tool-page .seo-hero__intro, .public-tool-page .seo-hero__subtitle,
.public-tool-page .seo-trust-bar, .public-tool-page .mahadasha-hero__eyebrow,
.tool-hub .seo-hero__intro { color: var(--text-secondary); }
.public-tool-page .seo-hero__h1 { font-size: clamp(1.85rem, 4vw, 2.8rem); margin-bottom: .75rem; }
.public-tool-page .seo-hero__sign-badge,
.public-tool-page .mahadasha-hero__visual { display: none; }
.public-tool-page .seo-hero__intro { margin: .75rem 0; max-width: 65ch; }
.public-tool-page .seo-trust-bar { justify-content: flex-start; }
.public-tool-page #chart-check-form { margin-top: 1rem; }
.public-tool-page .birth-form-card,
.public-tool-page .seo-tool-launch { background: var(--bg-secondary); color: var(--text-primary); border: 1px solid var(--border); box-shadow: none; }
.public-tool-page .birth-form-card { color-scheme: light; --color-focus: #5B21B6; }
body.dark-mode .public-tool-page .birth-form-card { color-scheme: dark; --color-focus: #C4B5FD; }
.public-tool-page .birth-form-card label,
.public-tool-page .birth-form-card .seo-section__title { color: var(--text-primary); }
.public-tool-page .birth-form-card .birth-form-card__intro,
.public-tool-page .birth-form-card .birth-form-privacy-note,
.public-tool-page .birth-form-card .birth-form-unknown-note,
.public-tool-page .birth-form-card .seo-tool-form__helper { color: var(--text-secondary); }
.public-tool-page .birth-form-card input:not([type="checkbox"]):not([type="radio"]) { background: var(--bg-primary); color: var(--text-primary); border: 1px solid var(--border); min-height: 48px; }
.public-tool-page .birth-form-card input::placeholder { color: var(--text-tertiary); }
.public-tool-page .birth-form-coordinate-details { color: var(--text-secondary); }
.public-tool-page [hidden], .seo-mobile-sticky-cta[hidden] { display: none !important; }
.public-tool-page input { min-width: 0; max-width: 100%; }
.public-tool-page .seo-tool-form__checkbox, .public-tool-page .seo-tool-form__radio { min-height: 44px; align-items: center; }
.public-tool-page .birth-form-card .seo-cta-strip__btn { background: var(--color-gold); color: var(--color-on-action); }
.tool-disclosure { border: 1px solid var(--border); border-radius: 14px; background: var(--bg-secondary); margin: 1rem 0; overflow-wrap: anywhere; }
.tool-disclosure > summary { cursor: pointer; padding: 1rem 1.2rem; font-weight: 600; min-height: 48px; color: var(--text-primary); }
.tool-disclosure__body, .tool-disclosure > .seo-life-grid { padding: 0 1.2rem 1.2rem; }
.tool-disclosure > summary:focus-visible, .tool-answer h2:focus-visible { outline: 3px solid var(--color-link); outline-offset: 3px; }
.tool-promise { margin-block: .25rem 1rem; background: transparent; }
.tool-answer { border: 1px solid var(--border); border-top: 3px solid var(--color-gold); border-radius: 18px; background: var(--bg-secondary); padding: clamp(1.2rem, 3vw, 2rem); }
.tool-eyebrow { color: var(--text-secondary); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .7rem; }
.tool-answer h2 { font-family: var(--font-heading, 'Noto Serif', serif); font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.25; margin: 0 0 1rem; overflow-wrap: anywhere; }
.tool-answer__meaning { font-size: 1.075rem; line-height: 1.7; max-width: 65ch; }
.tool-answer__note, .tool-save-row span { color: var(--text-secondary); font-size: .9rem; }
.tool-answer__tone { font-weight: 600; margin-block: 1rem; }
.tool-confidence { border-left: 3px solid var(--color-gold); padding: .8rem 1rem; margin-block: 1rem; background: var(--bg-primary); }
.tool-context { padding: 1rem .2rem; }
.tool-context h3, .tool-next h3 { font-size: 1.25rem; margin: .4rem 0 .8rem; }
.tool-reading-list { padding-left: 1.25rem; line-height: 1.75; margin: .75rem 0; }
.tool-reading-list li + li { margin-top: .45rem; }
.tool-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.tool-facts > div { padding: 1rem; background: var(--bg-primary); border-radius: 10px; }
.tool-facts dt { color: var(--text-secondary); font-size: .85rem; }
.tool-facts dd { margin: .4rem 0 0; font-weight: 600; }
.tool-next { padding: 1.4rem; border: 1px solid var(--border); border-radius: 16px; margin-block: 1.5rem; }
.tool-next .seo-cta-strip__btn { white-space: normal; text-align: center; }
.tool-next__related { display: flex; flex-wrap: wrap; gap: .3rem 1.5rem; margin-top: .75rem; }
.tool-related-link { display: block; padding-block: .7rem; color: var(--color-link); line-height: 1.5; }
.seo-hero .tool-next__related .tool-related-link { color: var(--color-on-dark); text-decoration: underline; text-underline-offset: .2em; }
.tool-save-row { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.tool-save-button { font: inherit; color: var(--color-link); border: 1px solid var(--border); border-radius: 8px; padding: .65rem 1rem; min-height: 44px; background: var(--bg-primary); cursor: pointer; }
.tool-save-button:disabled { opacity: .6; cursor: wait; }
.public-tool-page #chart-check-results, .public-tool-page #free-kundli-results { scroll-margin-top: 6rem; }
.public-tool-page .seo-tool-hero { grid-template-columns: 1fr; gap: 1rem; }
.public-tool-page .seo-tool-hero__content { max-width: 65ch; }
.public-tool-page .seo-tool-launch { text-align: left; }
.public-tool-page .seo-tool-launch__note,
.public-tool-page .seo-tool-form__toggle,
.public-tool-page .seo-tool-form__helper,
.public-tool-page .seo-tool-followup__text,
.public-tool-page .seo-tool-support-links__label,
.public-tool-page .seo-tool-privacy { color: var(--text-secondary); }
.public-tool-page .seo-tool-launch__secondary,
.public-tool-page .seo-tool-support-links__item,
.public-tool-page .birth-form-coordinate-details summary { color: var(--color-link); }
.public-tool-page .seo-tool-form__input { color: var(--text-primary); background: var(--bg-primary); border: 1px solid var(--border); min-height: 48px; font-size: 1rem; }
.public-tool-page .seo-tool-form__input::placeholder { color: var(--text-tertiary); }
.public-tool-page .seo-tool-mode-switch__option { color: var(--text-primary); border-color: var(--border); background: var(--bg-primary); }
.public-tool-page .seo-tool-mode-switch__option input { position: static; opacity: 1; pointer-events: auto; width: auto; }
.public-tool-page .seo-tool-mode-switch__option span { border: 0; background: transparent; }
.public-tool-page .seo-tool-mode-switch__option { gap: .5rem; padding-inline: .75rem; border-radius: 8px; min-height: 44px; }
.public-tool-page .seo-tool-launch__title { color: var(--text-primary); }
.public-tool-page .seo-cta-strip__btn { min-height: 44px; font-size: 1rem; }
.public-tool-page .seo-tool-launch .seo-cta-strip__btn { min-height: 44px; font-size: 1rem; }
.public-tool-page .seo-trust-bar { font-size: .875rem; opacity: 1; }
body.tool-input-active .app-bottom-nav { display: none; }
.tool-hub .seo-hero { text-align: left; padding-block: 1.5rem; }
.tool-hub .seo-hero__intro { margin-inline: 0; }
.tool-hub .seo-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tool-hub .seo-card-link { text-align: left; align-items: flex-start; padding: 1.3rem; }
.tool-hub .tool-hub-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.tool-hub .tool-hub-groups .tool-disclosure { margin: 0; }
.tool-hub .seo-card-link__icon { font-size: .95rem; border: 1px solid var(--border); padding: .5rem; border-radius: 8px; }
.tool-reader-note { padding: 1rem 1.2rem; border-left: 3px solid var(--color-gold); background: var(--bg-secondary); color: var(--text-primary); line-height: 1.7; }
.tool-reader-note a { color: var(--color-link); text-decoration: underline; }
@media (max-width: 640px) {
    /* Override the legacy forced three-column mobile hub rule. */
    .tool-hub .seo-card-grid, .tool-hub .tool-hub-groups, .tool-facts { grid-template-columns: minmax(0, 1fr) !important; }
    .tool-hub .seo-card-link { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; }
    .tool-hub .seo-card-link { padding: 1rem !important; }
    .tool-hub .seo-card-link__label { font-size: 1rem !important; }
    .tool-hub .seo-card-link__desc { font-size: .9rem; }
    .tool-hub .seo-card-link__icon { grid-row: span 3; }
    .tool-hub .seo-card-link__desc { grid-column: 2; }
    .public-tool-page .seo-hero__intro { font-size: 1rem; }
    .public-tool-page .seo-trust-bar { gap: .6rem 1rem; }
    .public-tool-page .birth-form-card { padding: 1.2rem; }
    .public-tool-page .seo-tool-form__label-row { flex-wrap: wrap; }
    .tool-next .seo-cta-strip__btn { width: 100%; }
}
