/*
 * Times of Rising Design Studio — safe token-driven presentation layer.
 * Loaded last so dashboard and Customizer values remain authoritative.
 */
:root {
  --tor-paper: #f4f6f8;
  --tor-surface: #fff;
  --tor-body-text: #344653;
  --tor-heading-color: #142b3a;
  --tor-muted: #5d6d78;
  --tor-line: #dfe6eb;
  --tor-link: #a84223;
  --tor-button-text: #fff;
  --tor-nav-bg: #fff;
  --tor-topbar-bg: #122b3b;
  --tor-topbar-text: #fff;
  --tor-secondary-accent: #e8892d;
  --tor-card-radius: 12px;
  --tor-card-shadow: 0 5px 22px rgba(20,43,58,.045);
  --tor-button-radius: 9px;
}
body { background: var(--tor-paper); color: var(--tor-body-text); }
h1, h2, h3, h4, h5, h6 { color: var(--tor-heading-color); }
a { color: var(--tor-link); }
a:hover { color: var(--tor-accent-dark, #bd4827); }
.tor-topbar { color: var(--tor-topbar-text); background: var(--tor-topbar-bg); border-top-color: var(--tor-secondary-accent); }
.tor-topbar a, .tor-topbar time { color: var(--tor-topbar-text); }
.tor-header { background: var(--tor-header-bg); }
.tor-nav-shell { background: var(--tor-nav-bg); }
.tor-nav-shell, .tor-header-search, .tor-nav-note { border-color: var(--tor-line); }
.tor-menu > li > a { color: var(--tor-heading-color); }
.tor-card, .tor-hero-card, .tor-author-hero, .tor-author-box, .tor-archive-header, .tor-page-header, .tor-comments .comment-respond, .tor-comment-list > li.comment {
  border-color: var(--tor-line);
}
.tor-card, .tor-hero-card { border-radius: var(--tor-card-radius); box-shadow: var(--tor-card-shadow); background: var(--tor-surface); overflow: clip; }
body.tor-card-style-soft .tor-card, body.tor-card-style-soft .tor-hero-card { border-radius: var(--tor-card-radius); }
body.tor-card-style-soft .tor-card .tor-card-media, body.tor-card-style-soft .tor-hero-card .tor-hero-media { border-radius: var(--tor-card-radius) var(--tor-card-radius) 0 0; }
.tor-card .tor-card-media, .tor-hero-card .tor-hero-media { border-radius: var(--tor-card-radius) var(--tor-card-radius) 0 0; }
.tor-card .tor-card-body, .tor-hero-card .tor-hero-copy { background: var(--tor-surface); }
.tor-prose, .tor-article-deck, .tor-archive-description, .tor-page-content { color: var(--tor-body-text); }
.tor-prose h2, .tor-prose h3, .tor-prose h4 { color: var(--tor-heading-color); }
.tor-prose th { background: color-mix(in srgb, var(--tor-surface) 88%, var(--tor-paper)); color: var(--tor-heading-color); }
.tor-muted, .tor-meta, .tor-card-excerpt { color: var(--tor-muted); }
.tor-button, .tor-partner-cta-link, .tor-comment-form input[type=submit], .tor-comment-form .tor-comment-submit, .tor-menu-toggle { border-radius: var(--tor-button-radius); }
.tor-button:not(.tor-button-secondary), .tor-partner-cta-link, .tor-comment-form input[type=submit], .tor-comment-form .tor-comment-submit { color: var(--tor-button-text); }
.tor-card-grid .tor-card, .tor-featured-main .tor-hero-card { border-color: var(--tor-line); }
.tor-archive-header, .tor-page-header, .tor-author-hero, .tor-author-box, .tor-comments .comment-respond, .tor-comment-list > li.comment { background: var(--tor-surface); }
.tor-share-button { border-radius: min(var(--tor-button-radius), 14px); }
.tor-section-heading { border-bottom-color: var(--tor-line); }
.tor-section-heading h2, .tor-archive-feed-heading h2 { color: var(--tor-heading-color); }
.tor-footer { background: var(--tor-footer-bg); color: var(--tor-footer-text); }
.tor-footer a { color: var(--tor-footer-accent); }
.tor-footer-brand, .tor-footer .widget-title, .tor-footer-about > p { color: var(--tor-footer-text); }
.tor-footer-bottom { border-top-color: color-mix(in srgb, var(--tor-footer-text) 22%, transparent); }

body.tor-header-sticky .tor-header { position: sticky; top: 0; z-index: 100; }
body.admin-bar.tor-header-sticky .tor-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar.tor-header-sticky .tor-header { top: 46px; } }
body.tor-card-hover-disabled .tor-card:hover,
body.tor-card-hover-disabled .tor-hero-card:hover { transform: none !important; box-shadow: var(--tor-card-shadow) !important; }
body.tor-button-style-square .tor-button,
body.tor-button-style-square .tor-partner-cta-link,
body.tor-button-style-square .tor-comment-form input[type=submit],
body.tor-button-style-square .tor-comment-form .tor-comment-submit,
body.tor-button-style-square .tor-menu-toggle { border-radius: 3px !important; }
body.tor-button-style-pill .tor-button,
body.tor-button-style-pill .tor-partner-cta-link,
body.tor-button-style-pill .tor-comment-form input[type=submit],
body.tor-button-style-pill .tor-comment-form .tor-comment-submit,
body.tor-button-style-pill .tor-menu-toggle { border-radius: 999px !important; }
body.tor-heading-style-accent-rule .tor-section-heading { position: relative; border-bottom: 0; padding-bottom: 13px; }
body.tor-heading-style-accent-rule .tor-section-heading::after { position: absolute; bottom: 0; left: 0; width: 62px; height: 3px; border-radius: 4px; background: var(--tor-accent); content: ""; }
body.tor-heading-style-minimal .tor-section-heading { border-bottom: 0; padding-bottom: 5px; }
body.tor-heading-style-minimal .tor-section-heading .tor-section-kicker { display: none; }
body.tor-heading-style-minimal .tor-topic-section { border-top: 0; padding-top: 8px; }
.tor-footer-newsletter-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 15px; padding: 10px 14px; border: 1px solid var(--tor-footer-accent); border-radius: var(--tor-button-radius); background: color-mix(in srgb, var(--tor-footer-accent) 13%, transparent); color: var(--tor-footer-text); font-size: 12px; font-weight: 800; text-decoration: none; }
.tor-footer-newsletter-link:hover { border-color: var(--tor-footer-accent); background: color-mix(in srgb, var(--tor-footer-accent) 22%, transparent); color: var(--tor-footer-text); }
.tor-card-title a, .tor-article-tags a, .tor-breadcrumbs a, .tor-archive-topics a, .tor-search-form button { color: var(--tor-link); }
.tor-button:not(.tor-button-secondary), .tor-partner-cta-link, .tor-comment-form input[type=submit], .tor-comment-form .tor-comment-submit { background-color: var(--tor-accent); border-color: var(--tor-accent); }
.tor-footer-socials { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 20px; }
.tor-footer-socials-label { flex-basis: 100%; color: var(--tor-footer-text); opacity: .7; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tor-footer-socials a { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--tor-footer-text) 20%, transparent); border-radius: 999px; color: var(--tor-footer-text); font-size: 11px; font-weight: 700; text-decoration: none; transition: background-color .16s ease, border-color .16s ease, transform .16s ease; }
.tor-footer-socials a:hover { transform: translateY(-1px); border-color: var(--tor-footer-accent); color: var(--tor-footer-text); background: color-mix(in srgb, var(--tor-footer-text) 9%, transparent); }
.tor-footer-socials a span { color: var(--tor-footer-accent); font-size: 10px; }
.tor-customizer-category-checklist { max-height: 260px; overflow: auto; margin-top: 8px; padding: 8px; border: 1px solid #dcdcde; border-radius: 5px; background: #fff; }
.tor-customizer-category-checklist label { display: flex; gap: 7px; align-items: flex-start; padding: 6px 2px; border-bottom: 1px solid #f0f0f1; line-height: 1.4; }
.tor-customizer-category-checklist label:last-child { border-bottom: 0; }
.tor-customizer-callout { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; padding: 14px 16px; border: 1px solid #d9e4e9; border-radius: 8px; background: #fff; }
.tor-customizer-callout strong { color: #142b3a; }
@media (max-width: 700px) {
  .tor-footer-socials { gap: 7px; }
  .tor-footer-socials a { padding: 7px 9px; }
  .tor-customizer-callout { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .tor-footer-socials a { transition: none; }
}
