/* Neutral theme layer: white page, near-black text, ONE purple accent. Loads after rose-purple.css and wins over it. */
:root {
  --ink: #15131b;
  --muted: #5a5765;
  --primary: #4a2f8a;
  --primary-dark: #35216b;
  --rose: #4a2f8a;
  --rose-soft: #f3f2f6;
  --line: #e3e1e8;
  --paper: #ffffff;
}
body#body { font-size: 16px; line-height: 1.6; background: #fff; color: var(--ink); }
.color-mid { color: var(--muted) !important; }
body :focus-visible { outline-color: var(--primary) !important; }
.preview-banner { background: #f3f2f6; color: #55525f; }
.preview-dot { background: var(--primary); }
.site-search .form-control { background: #f6f5f9; }
.category-nav { border-top-color: #efedf3; }
.category-nav a { color: #3a3744; }
.category-nav a.is-active { color: var(--primary); }
.eyebrow { color: var(--primary); }
.feature-main, .feature-secondary, .empty-state, .preview-deal-message { background: #f3f2f6; }
.feature-secondary .feature-label, .feature-secondary .feature-cta { color: var(--primary); }
.feature-copy p, .feature-price del, .price del, .price-sales { color: #6a6675; }
.deal-card:hover { border-color: #cfc8e0; box-shadow: 0 4px 15px #2a1f4a12; }
.deal-image-link, .deal-detail__media, .image-fallback { background: #f6f5f9; color: #6a6675; }
.deal-badge { color: #17663f; background: #e5f4ec; }
.deal-saving, .deal-detail__body .price p { color: #17663f; }
.deal-card__eyebrow, .deal-brand, .deal-brand span, .detail-description, .preview-deal-message p { color: #55525f; }
.newsletter { background: #f6f5f9; border-color: var(--line); }
.newsletter-symbol { background: #ebe8f3; border-color: #ddd8ea; color: var(--primary); }
.newsletter .eyebrow, .newsletter .preview-label { color: var(--primary); }
.newsletter p:last-child { color: #55525f; }
.button-light { border-color: var(--line); }
.button:disabled, .btn:disabled { background: #ebe9f0; border-color: #ebe9f0; color: #6a6675; }
.footer-main nav, .footer-bottom, .social-icons__item a { color: #55525f; }
.social-icons__item a:hover { background: #f3f2f6; }
.pick-save { background: #e5f4ec; color: #17663f; }
.cal-updated { background: #f1f0f5; color: var(--primary); }
.cal-key-tile { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--primary); border-radius: 12px; }
.cal-key-label { color: #55525f; }
.cal-tips li::before { background: #efedf5; color: var(--primary); }
.cal-pill-wait { background: #fff1d6; color: #7a4d00; }

/* ---- One content width: every page uses the same .container; blocks fill it, prose keeps a readable line length ---- */
.home-hero, .pick-list, .legal-page { max-width: none; } /* .cal-page / .adv-page share the .container element, so they must keep its max-width */
.legal-page { margin-left: 0; margin-right: 0; }
.legal-page > h1, .legal-page > p, .legal-page > ul, .legal-page > ol, .legal-page > h2, .legal-page > div { max-width: 78ch; }
.pick-card { max-width: none; }
.adv-example { max-width: none; pointer-events: none; }
.adv-plans { max-width: none; }
.cal-tips, .adv-steps, .adv-terms { max-width: 78ch; }
.adv-honest { max-width: 78ch; }

/* ---- Wordmark instead of the badge logo ---- */
.site-logo { background: transparent !important; width: auto; height: auto; display: inline-flex; align-items: center; text-decoration: none; isolation: auto; }
.site-logo::after { content: none !important; }
.wordmark { font-size: 28px; font-weight: 800; letter-spacing: -1px; color: var(--ink); line-height: 1; }
.wordmark b { color: var(--primary); font-weight: 800; }
.site-footer .wordmark { font-size: 24px; }

/* ---- Buttons and form fields: one height, one radius, sentence case ---- */
.button, .btn { text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 15px; border-radius: 8px; }
.newsletter .btn, .newsletter .button, .subscribe-form .btn { height: 48px; padding: 0 22px; }
.subscribe-form { gap: 8px; }
.subscribe-form label { font-size: 13px; font-weight: 600; color: #3a3744; }
.subscribe-form input[type="email"], .subscribe-form input[type="text"] { width: 100%; height: 48px; padding: 0 14px; border: 1px solid #cfcbd9; border-radius: 8px; background: #fff; font-size: 16px; color: var(--ink); }
.subscribe-form input[type="email"]:focus { outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }
.subscribe-form input::placeholder { color: #8a8696; }

/* ---- Plain numbered tips ---- */
.cal-tips { display: block; list-style: decimal; padding-left: 22px; counter-reset: none; }
.cal-tips li { padding: 0 0 8px 6px; border: 0; background: none; border-radius: 0; font-size: 15.5px; line-height: 1.6; counter-increment: none; position: static; }
.cal-tips li::before { content: none; }

/* ---- Advertise spacing and a truer preview width ---- */
.adv-hero { margin-bottom: 44px; }
.adv-example { max-width: 760px; }
