/* Shared contrast fixes for the warm public theme and the administration UI. */
:root {
  --terra: #934526;
  --ink-3: #65523f;
  --g-amber: linear-gradient(125deg,#8b5029 0%,#824323 48%,#683019 100%);
  --g-gold: var(--g-amber);
}
footer { background-color:#2a1f12; }
footer .ft-desc, footer .ft-col ul li a,
footer .ft-copy, footer .ft-links a { color:#ded0bd; }
.mission, .szasz-section { background-color:#2a1f12; }
.miss-content .s-desc, .szasz-quote cite { color:#e0d2bf; }
.art-back, .art-hero-meta span { color:#eee4d6; }
.art-hero-cat { background:none; color:#f4c78d; -webkit-text-fill-color:currentColor; font-size:13px; }
.art-hero-inner { background:linear-gradient(0deg,rgba(20,15,10,.65),rgba(20,15,10,.3)); border-radius:0 18px 0 0; }
.art-content a { background:none; color:#843d22; -webkit-text-fill-color:currentColor; text-decoration:underline; text-underline-offset:3px; }
.sb-ln { background:#087e38; color:#fff; }
.sb-fb { background:#1263ce; color:#fff; }
.vid-feat-desc,.vid-feat-meta span,.vid-stat-l,.pub-cover-sub { color:#e6ded3; }
input::placeholder,textarea::placeholder { color:#706254; opacity:1; }
input,textarea,select { caret-color:currentColor; }
.rel-art-cover { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:8px; margin-bottom:12px; }
.issue-content .s-desc { white-space:pre-line; }
.admin-help { background:#f7f2e9; border:1px solid #d6c9b5; border-radius:8px; padding:14px 18px; color:#493a29; font-size:13px; line-height:1.8; margin:0 0 20px; }
.admin-help a { color:#70401d; text-decoration:underline; }
.sb-section,.sb-logo-text .t2,.sb-user-info .role,.btn-logout,.back-link { color:#c8d2dd; }
.sb-item { color:#d4dce5; }
.sidebar .sb-item.active { color:#ffe1a0; }
.field small,.field-hint,.hint { color:#655744; }
.sample-note { border-left:3px solid #934526; padding:14px 18px; background:#f5ead7; color:#493a29; margin:22px 0; }
html:has(#loginForm),html:has(.sb-nav),html:has(#quillEditor) {
  --gold:#805419;
  --g-gold:linear-gradient(125deg,#f5d06a 0%,#e9bb69 100%);
}
body:has(#loginForm) .sub,body:has(#loginForm) label,body:has(#loginForm) .back,body:has(#loginForm) .logo-text .t2 { color:#c8d2dd; }
body:has(#loginForm) input::placeholder { color:#aebcc9; }
.vid-feat-cat { background:none; color:#f4c78d; -webkit-text-fill-color:currentColor; }
.badge-pub { background:#e2f2e8; color:#176338; }
.badge-draft,.badge-read { background:#e7e9ed; color:#4c5361; }
.badge-new { background:#fbe6e3; color:#9b3025; }
.status-pill.pub { background:#163c30; color:#b9f1d0; }
.hot-tag,.hot-sub { color:#49301d; }
.sidebar-box.article-help-card { background:#edf2e7; border:1px solid #bdcbbb; text-align:center; }
.article-help-card .article-help-copy { color:#24392f; font-size:15px; font-weight:500; line-height:1.85; margin-bottom:18px; }
.article-help-card .btn-g { background:#29483c; color:#ffffff; }
.hotline-card { background:#fff4df; border:1px solid #cdb99a; }
.hotline-card .tag,.hotline-card .hotline-sub { color:#594027; }
.hotline-card .hotline-num { color:#302215; }
.hotline-card .btn-dk { background:#694125; color:#ffffff; box-shadow:none; }
.issue-reading-note { color:#554532; font-size:13px; line-height:1.8; margin-top:12px; }
.issue-support { background:#edf2e7; padding:40px 6vw; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.issue-support h2 { font-size:24px; color:#24392f; margin-bottom:8px; }
.issue-support p { color:#334d40; line-height:1.8; }
.issue-support a { flex-shrink:0; }
.topic-context { background:#edf2e7; border:1px solid #bdcbbb; border-radius:12px; padding:22px 26px; margin-bottom:30px; color:#24392f; }
.topic-context[hidden] { display:none; }
.topic-context p { line-height:1.8; margin-bottom:12px; }
.topic-context a { color:#29483c; text-decoration:underline; text-underline-offset:4px; margin-right:22px; }
@media(max-width:700px) { .issue-support { flex-direction:column; align-items:flex-start; } }
.hotline-card .tag { font-size:12px; letter-spacing:.1em; }
.hotline-card .hotline-num { font-size:clamp(24px,3vw,32px); font-weight:600; }
.hotline-card .hotline-sub { font-size:14px; }
.association-contact { margin-top:20px; font-style:normal; font-size:13px; line-height:1.9; overflow-wrap:anywhere; }
footer .association-contact,footer .association-contact a { color:#eee0cd; }
.association-socials { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:10px; }
.association-contact a { text-decoration:underline; text-underline-offset:3px; }
.contact-side .association-contact { color:#49301d; border-top:1px solid #dbcbb8; padding-top:18px; }
.contact-side .association-contact a { color:#843d22; }
.vid-stat-n { background:none; color:#f4c78d; -webkit-text-fill-color:currentColor; }
.vid-feat-badge,.vid-cta h3,.vid-cta p { color:#fff5e7; }
.trust .s-tag { color:#f4c78d; }
.results-toolbar { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 0; margin-bottom:20px; border-bottom:1px solid #d8c7af; scroll-margin-top:110px; outline:none; }
.results-toolbar p { color:#49301d; font-size:14px; line-height:1.7; }
.results-toolbar button { flex-shrink:0; border:1px solid #836248; background:#fffaf1; color:#49301d; border-radius:20px; padding:8px 14px; cursor:pointer; font:inherit; font-size:13px; }
.results-toolbar button[hidden] { display:none; }
#tagCloud .tag.active { background:#49301d; color:#fffaf1; border-color:#49301d; }
.blog-layout > div { min-width:0; }
@media(max-width:1024px) { .blog-layout > .sidebar { display:flex; min-width:0; } }
footer.site-footer { background:#eee5d5; color:#34291d; border-top:1px solid #d6c7b0; padding:56px 6vw 24px; overflow:visible; }
footer.site-footer::before,footer.site-footer::after { display:none; }
.site-footer a { color:#433323; text-decoration:none; transition:color .2s; }
.site-footer a:hover { color:#7c3c24; text-decoration:underline; text-underline-offset:4px; }
.site-footer a:focus-visible { outline:3px solid #694125; outline-offset:4px; border-radius:3px; }
.sf-main { display:grid; grid-template-columns:1.1fr 1fr 1.15fr; gap:48px; max-width:1320px; margin:auto; }
.sf-logo { display:flex; gap:14px; align-items:center; font-size:19px; font-weight:600; }
.sf-logo img { border-radius:50%; width:52px; height:52px; flex-shrink:0; }
.sf-logo small { display:block; font-size:11px; letter-spacing:.2em; margin-top:5px; color:#65523f; }
.sf-brand > p { font-size:14px; line-height:1.9; margin:18px 0 22px; color:#594936; }
.site-footer .sf-support { display:inline-flex; gap:38px; align-items:center; background:#694125; color:#fff; padding:12px 20px; border-radius:8px; font-size:14px; }
.site-footer h2 { font-size:15px; font-weight:600; margin:0 0 20px; color:#59412b; letter-spacing:.06em; }
.sf-explore ul { display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; list-style:none; padding:0; margin:0; font-size:14px; }
.sf-contact address { display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-style:normal; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.sf-contact p { margin:0; color:#594936; }
.site-footer .sf-phone { font-family:var(--f-display); font-size:27px; line-height:1.2; color:#34291d; }
.sf-contact-link { margin-top:4px; text-decoration:underline!important; text-underline-offset:4px; }
.sf-social-row,.sf-bottom { max-width:1320px; margin:auto; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.sf-social-row { border-top:1px solid #d6c7b0; border-bottom:1px solid #d6c7b0; margin-top:36px; padding:22px 0; font-size:13px; color:#594936; }
.sf-social-row > div,.sf-bottom > div { display:flex; flex-wrap:wrap; gap:14px 24px; }
.sf-bottom { padding-top:24px; font-size:12px; line-height:1.8; color:#65523f; }
@media(max-width:1000px) { .sf-main { grid-template-columns:1fr 1fr; gap:36px; } .sf-brand { grid-column:1 / -1; } }
@media(max-width:600px) {
  footer.site-footer { padding:36px 6vw 24px; }
  .sf-main { grid-template-columns:minmax(0,1fr); gap:30px; }
  .sf-brand { grid-column:auto; }
  .sf-social-row,.sf-bottom { align-items:flex-start; flex-direction:column; gap:14px; }
  .sf-social-row > div { gap:12px 22px; }
  .sf-bottom > div { gap:12px 18px; }
  .results-toolbar { align-items:flex-start; }
}
.social-section { padding-top:72px; padding-bottom:80px; }
.social-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:34px; }
.social-heading .s-title { margin-bottom:0; font-size:clamp(32px,3.6vw,48px); }
.social-heading > p { color:#65523f; font-size:15px; line-height:1.9; max-width:360px; }
.social-section .soc-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.social-section .soc-card { align-items:flex-start; text-align:left; padding:28px 24px 22px; gap:12px; background:#fffcf5; border:1px solid #ddceba; border-radius:16px; box-shadow:0 5px 18px rgba(73,48,29,.04); }
.social-section .soc-ico { width:44px; height:44px; margin-bottom:6px; }
.social-section .soc-ico svg[stroke] { fill:none; }
.social-section .soc-name { color:#302619; font-size:22px; font-weight:500; margin:0; }
.social-section .soc-sub { color:#65523f; font-size:14px; font-style:normal; line-height:1.7; margin:0; }
.social-action { display:block; width:100%; padding-top:16px; margin-top:10px; border-top:1px solid #e5d9c9; color:#824323; font-size:13px; }
.social-section .soc-card:focus-visible { outline:3px solid #29483c; outline-offset:5px; }
@media(max-width:1000px) { .social-section .soc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .social-section { padding-top:48px; padding-bottom:48px; }
  .social-heading { display:block; margin-bottom:24px; }
  .social-heading > p { margin-top:18px; font-size:14px; }
  .social-section .soc-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .social-section .soc-card { display:grid; grid-template-columns:44px minmax(0,1fr); gap:4px 16px; padding:20px; }
  .social-section .soc-ico { grid-row:1 / 3; margin:0; }
  .social-section .soc-sub { grid-column:2; }
  .social-action { grid-column:1 / -1; margin-top:10px; padding-top:12px; }
}
@media(max-width:768px) {
  .art-hero-inner { padding:40px 6vw; }
  .art-hero { padding-top:80px; }
  .art-hero-meta { gap:12px; }
}
