/* =====================================================
   RSN GENERATEPRESS CHILD - SINGLE POST LAYOUT - SIDEBAR WIDTH FIX
   Custom content-single.php styles.
===================================================== */

body.single {
  background: var(--rsn-bg, #0e0f12) !important;
}

body.single .site,
body.single .site.grid-container,
body.single .container.grid-container,
body.single .site-content,
body.single .site-content.grid-container,
body.single #primary,
body.single .content-area,
body.single .site-main,
body.single .inside-article,
body.single article.rsn-single-article {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.single .site-content {
  display: block !important;
  padding-top: 28px !important;
  padding-bottom: 40px !important;
}

body.single .site-main {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.single .inside-article.rsn-single-inside {
  padding: 0 !important;
}

body.single .rsn-single-layout {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}

body.single .rsn-single-layout.has-spotlight {
  display: grid !important;
  grid-template-columns: minmax(0, 760px) 300px !important;
  gap: 54px !important;
  align-items: start !important;
  justify-content: center !important;
}

body.single .rsn-single-layout.no-spotlight {
  max-width: 840px !important;
}

body.single .rsn-single-main {
  width: 100% !important;
  max-width: 760px !important;
  min-width: 0 !important;
}

body.single .rsn-single-sidebar {
  width: 300px !important;
  max-width: 300px !important;
  min-width: 0 !important;
}

body.single #left-sidebar,
body.single #right-sidebar {
  display: none !important;
}

/* =====================================================
   RSN BREADCRUMBS
   Yoast breadcrumbs are filtered in functions.php to Home > primary category.
===================================================== */

body.single .yoast-breadcrumbs,
body.single .yoast-breadcrumb,
body.single .breadcrumbs,
body.single .breadcrumb {
  max-width: 1180px;
  margin: 0 auto 28px !important;
  padding: 0 22px !important;
  box-sizing: border-box;
  color: #8d9098 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
}

body.single .yoast-breadcrumbs a,
body.single .yoast-breadcrumb a,
body.single .breadcrumbs a,
body.single .breadcrumb a {
  color: #b8bbc2 !important;
  text-decoration: none !important;
}

body.single .yoast-breadcrumbs a:hover,
body.single .yoast-breadcrumb a:hover,
body.single .breadcrumbs a:hover,
body.single .breadcrumb a:hover {
  color: #fff !important;
}

/* =====================================================
   HERO / FEATURED IMAGE / TITLE STACK
===================================================== */

body.single .rsn-single-hero {
  position: relative;
  margin: 0 0 18px;
}

body.single .rsn-single-featured {
  position: relative;
  z-index: 1;
  margin: 0;
  overflow: hidden;
  border-radius: 7px;
  background: #111217;
  border: 1px solid rgba(214,60,60,.32);
  box-shadow:
    0 16px 44px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.035) inset;
}

body.single .rsn-single-featured::before,
body.single .rsn-single-featured::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

body.single .rsn-single-featured::before {
  top: 45%;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(14,15,18,0) 0%, rgba(14,15,18,.58) 62%, rgba(14,15,18,.98) 100%);
}

body.single .rsn-single-featured::after {
  height: 108px;
  z-index: 3;
  background: linear-gradient(to bottom, rgba(14,15,18,0) 0%, rgba(14,15,18,.94) 100%);
}

body.single .rsn-single-featured img,
body.single .rsn-single-featured-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 !important;
}

body.single .rsn-single-heading {
  position: relative;
  z-index: 5;
  margin-top: -30px;
  text-align: center;
}

body.single .rsn-single-category {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 14px;
}

body.single .rsn-single-category a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 14px 22px !important;
  background: var(--rsn-red, #d63c3c) !important;
  color: #fff !important;
  border-radius: 5px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 19px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.38);
}

body.single .rsn-single-title {
  max-width: 720px;
  margin: 0 auto 13px !important;
  padding: 0 10px !important;
  color: #fff !important;
  font-family: "Lucida Sans",sans-serif !important;
  font-size: 40px !important;
  font-weight: 900 !important;
  line-height: .98 !important;
  letter-spacing: .015em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-shadow: 0 4px 18px rgba(0,0,0,.60);
}

body.single .rsn-single-title::after {
  content: "";
  display: block;
  width: 74px;
  height: 3px;
  margin: 17px auto 0;
  background: var(--rsn-red, #d63c3c);
  border-radius: 20px;
}

body.single .rsn-single-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 0 auto 18px;
  color: var(--rsn-muted, #9d9d9d);
  font-family: Cousine, "Liberation Mono", "Roboto Mono", Monaco, "Lucida Console", monospace;
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

body.single .rsn-single-meta a {
  color: #cfcfcf !important;
  text-decoration: none !important;
  font-weight: 700;
}

body.single .rsn-meta-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

body.single .rsn-meta-icon {
  color: #d8d8d8;
  font-size: 13px;
  line-height: 1;
}

body.single .rsn-meta-sep {
  color: #575a60;
  opacity: .7;
}

/* =====================================================
   ACTION BUTTONS
===================================================== */

body.single .rsn-single-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 16px 0 16px;
  background: rgba(19,19,24,.38);
  border: 1px solid #2b2d33;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

body.single .rsn-action-card {
  min-height: 92px;
  padding: 16px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #fff !important;
  border-right: 1px solid #2b2d33;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.05;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  box-sizing: border-box;
}

body.single .rsn-action-card:last-child {
  border-right: 0;
}

body.single .rsn-action-card:hover {
  background: #18191f;
}

body.single .rsn-action-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--rsn-red, #d63c3c);
}

body.single .rsn-action-icon svg {
  display: block;
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.single .rsn-action-card:hover .rsn-action-icon {
  color: var(--rsn-red-hover, #ff6060);
}

/* =====================================================
   FOLLOW + SOCIAL + BLUESKY
===================================================== */

body.single .rsn-follow-box {
  display: grid;
  grid-template-columns: 142px 1fr;
  align-items: center;
  gap: 14px;
  margin: 0 0 16px;
  padding: 13px 16px;
  background: rgba(19,19,24,.58);
  border: 1px solid #2b2d33;
  border-radius: 5px;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

body.single .rsn-follow-label span {
  display: block;
  color: #fff;
  font-size: 23px;
  font-weight: 900;
  line-height: .88;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.single .rsn-follow-label small {
  display: block;
  margin-top: 7px;
  color: #a9a9a9;
  font-size: 8px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .03em;
  text-transform: uppercase;
}

body.single .rsn-social-icons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single .rsn-social-icons li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single .rsn-social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #1b1c22;
  color: #fff !important;
  border: 1px solid #262830;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 6px 14px rgba(0,0,0,.22);
}

body.single .rsn-social-icons svg {
  display: block;
  width: 15px;
  height: 15px;
  fill: currentColor;
  stroke: none;
}

body.single .rsn-social-icons .rsn-social-youtube svg,
body.single .rsn-social-icons .rsn-social-instagram svg,
body.single .rsn-social-icons .rsn-social-snapchat svg,
body.single .rsn-social-icons .rsn-social-reddit svg {
  width: 17px;
  height: 17px;
}

body.single .rsn-social-icons .rsn-social-x svg {
  width: 14px;
  height: 14px;
}

body.single .rsn-social-icons .rsn-social-linkedin svg,
body.single .rsn-social-icons .rsn-social-pinterest svg {
  width: 14px;
  height: 14px;
}


body.single .rsn-social-icons a:hover {
  background: #23252c;
  border-color: #3b3e47;
  transform: translateY(-1px);
}

body.single .rsn-bluesky-bar {
  margin: 0 0 18px;
}

body.single .rsn-bluesky-bar a {
  display: grid;
  grid-template-columns: 54px 1fr 30px;
  align-items: center;
  min-height: 58px;
  padding: 0 18px;
  background: var(--rsn-red, #d63c3c);
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  border-radius: 5px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 26px rgba(0,0,0,.28);
}

body.single .rsn-bluesky-bar a:hover {
  background: #bd3535;
}

body.single .rsn-bluesky-icon,
body.single .rsn-bluesky-arrow {
  font-size: 24px;
  line-height: 1;
}

body.single .rsn-bluesky-arrow {
  justify-self: end;
}

/* =====================================================
   CONTENT CARD
===================================================== */

body.single .entry-content.rsn-single-content {
  background: linear-gradient(145deg, rgba(19,19,24,.99), rgba(14,15,18,.99));
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 0;
  padding: 25px 28px;
  color: #bababa !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.25);
}

body.single .entry-content.rsn-single-content p,
body.single .entry-content.rsn-single-content li {
  color: #bababa !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

body.single .entry-content.rsn-single-content p {
  margin: 0 0 26px !important;
}

body.single .entry-content.rsn-single-content p + p {
  margin-top: 4px !important;
}

body.single .entry-content.rsn-single-content ul,
body.single .entry-content.rsn-single-content ol {
  color: #bababa !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
  margin: 0 0 28px 22px !important;
  padding: 0 !important;
}

body.single .entry-content.rsn-single-content a {
  color: var(--rsn-red-hover, #ff6060) !important;
  font-weight: 700 !important;
}

body.single .entry-content.rsn-single-content em,
body.single .entry-content.rsn-single-content i {
  color: #bababa !important;
  font-style: italic !important;
}

body.single .entry-content.rsn-single-content strong,
body.single .entry-content.rsn-single-content b {
  color: #bababa !important;
  font-weight: 700 !important;
}

body.single .entry-content.rsn-single-content img,
body.single .entry-content.rsn-single-content iframe,
body.single .entry-content.rsn-single-content video {
  max-width: 100%;
}

/* Blockquotes */
body.single .entry-content.rsn-single-content blockquote {
  border-left: 0 !important;
  quotes: none !important;
  position: relative;
  margin: 40px 0 !important;
  padding: 32px 38px 32px 68px !important;
  overflow: hidden;
  box-sizing: border-box;
  background:
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left top / 100% 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left bottom / 100% 1px no-repeat,
    linear-gradient(to bottom, rgba(214,60,60,.85) 0%, rgba(214,60,60,.45) 58%, rgba(214,60,60,0) 100%) 42px 86px / 2px calc(100% - 116px) no-repeat !important;
}

body.single .entry-content.rsn-single-content blockquote::before {
  content: "“";
  position: absolute;
  left: 22px;
  top: 18px;
  color: var(--rsn-red, #d63c3c);
  font-family: Georgia, serif;
  font-size: 62px;
  font-weight: 700;
  line-height: 1;
}

body.single .entry-content.rsn-single-content blockquote p {
  margin: 0 !important;
  color: #bababa !important;
  font-size: 19px !important;
  line-height: 1.82 !important;
  font-style: italic !important;
  font-weight: 600 !important;
}

/* Google preferred source button */
body.single .rsn-google-preferred-wrap {
  text-align: center;
  margin: 24px 0;
}

body.single .rsn-google-preferred-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 22px;
  background: #131318;
  border: 1px solid #2d2d33;
  border-radius: 6px;
  color: #fff !important;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
}

body.single .rsn-google-preferred-btn:hover {
  border-color: var(--rsn-red, #d63c3c);
  background: #18181f;
}

body.single .rsn-google-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 900;
}

/* Tags */
body.single .rsn-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 22px 0;
}

body.single .rsn-post-tags a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #131318 !important;
  color: #e2e2e2 !important;
  padding: 14px 22px !important;
  border: 1px solid #2b2d33 !important;
  border-radius: 0 !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .02em;
}

body.single .rsn-post-tags a:hover {
  background: #202228 !important;
  border-color: #3a3d46 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* =====================================================
   OPTIONAL SPOTLIGHT SIDEBAR
===================================================== */

body.single .rsn-single-sidebar {
  width: 300px !important;
  max-width: 300px !important;
  min-width: 0 !important;
  position: sticky;
  top: 24px;
}

body.single .rsn-single-sidebar .rsn-spotlight,
body.single .rsn-single-sidebar .rsn-spotlight-box,
body.single .rsn-single-sidebar .rsn-spotlight-header,
body.single .rsn-single-sidebar .rsn-spotlight-import,
body.single .rsn-single-sidebar .rsn-spotlight-query,
body.single .rsn-single-sidebar .rsn-spotlight-query .gb-query-loop-wrapper,
body.single .rsn-single-sidebar .rsn-spotlight-query .gb-grid-wrapper {
  width: 100% !important;
  max-width: 300px !important;
}

body.single .rsn-single-sidebar .widget {
  margin: 0 0 24px;
  padding: 0;
  background: transparent;
  color: #d3d3d3;
}

body.single .rsn-single-sidebar .widget-title,
body.single .rsn-spotlight-heading {
  margin: 0 0 18px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid #2b2d33;
  color: #f1f1f1 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .02em;
  text-transform: none !important;
}

body.single .rsn-single-sidebar a {
  color: #fff;
  text-decoration: none;
}

body.single .rsn-single-sidebar img {
  border-radius: 10px;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1024px) {
  body.single .rsn-single-layout.has-spotlight {
    display: block !important;
    max-width: 840px !important;
  }

  body.single .rsn-single-main,
  body.single .rsn-single-sidebar {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single .rsn-single-sidebar {
    position: static !important;
    margin-top: 42px !important;
  }
}

@media (max-width: 700px) {
  body.single .site-content {
    padding-top: 18px !important;
  }

  body.single .rsn-single-layout {
    padding-left: 14px;
    padding-right: 14px;
  }

  body.single .rsn-single-heading {
    margin-top: -26px;
  }

  body.single .rsn-single-category a {
    padding: 12px 18px !important;
    font-size: 16px !important;
  }

  body.single .rsn-single-title {
    font-size: 31px !important;
    line-height: 1.02 !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.single .rsn-single-title::after {
    width: 60px;
    margin-top: 15px;
  }

  body.single .rsn-single-meta {
    gap: 8px 11px;
    font-size: 10.5px;
    margin-bottom: 14px;
  }

  body.single .rsn-meta-sep {
    display: none;
  }

  body.single .rsn-single-actions {
    margin-top: 12px;
  }

  body.single .rsn-action-card {
    min-height: 68px;
    padding: 7px 2px;
    gap: 5px;
    font-size: 7.5px;
    line-height: .96;
  }

  body.single .rsn-action-icon,
  body.single .rsn-action-icon svg {
    width: 18px;
    height: 18px;
  }

  body.single .rsn-follow-box {
    display: block;
    padding: 17px 13px;
    text-align: center;
  }

  body.single .rsn-follow-label span {
    font-size: 28px;
    line-height: .92;
  }

  body.single .rsn-social-icons {
    justify-content: center;
    gap: 10px;
    margin-top: 16px !important;
  }

  body.single .rsn-social-icons a {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  body.single .rsn-bluesky-bar a {
    grid-template-columns: 42px 1fr 28px;
    min-height: 62px;
    padding: 0 15px;
    font-size: 13px;
  }

  body.single .entry-content.rsn-single-content {
    padding: 22px 18px;
  }

  body.single .entry-content.rsn-single-content p,
  body.single .entry-content.rsn-single-content li,
  body.single .entry-content.rsn-single-content ul,
  body.single .entry-content.rsn-single-content ol {
    font-size: 17px !important;
    line-height: 1.75 !important;
  }

  body.single .entry-content.rsn-single-content blockquote {
    padding: 28px 18px 28px 40px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left top / 100% 1px no-repeat,
      linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left bottom / 100% 1px no-repeat,
      linear-gradient(to bottom, rgba(214,60,60,.85) 0%, rgba(214,60,60,.45) 58%, rgba(214,60,60,0) 100%) 12px 77px / 2px calc(100% - 105px) no-repeat !important;
  }

  body.single .entry-content.rsn-single-content blockquote::before {
    left: 12px;
    top: 16px;
    font-size: 44px;
  }

  body.single .entry-content.rsn-single-content blockquote p {
    font-size: 18px !important;
    line-height: 1.75 !important;
  }
}

@media (max-width: 420px) {
  body.single .rsn-single-title {
    font-size: 28px !important;
  }

  body.single .rsn-action-card {
    min-height: 62px;
    font-size: 6.7px;
  }

  body.single .rsn-action-icon,
  body.single .rsn-action-icon svg {
    width: 16px;
    height: 16px;
  }
}

/* =====================================================
   RSN SINGLE PASS V3 FIXES
   Title font, mobile edge padding, bigger social icons,
   category tooltip support, and blockquote spacing.
===================================================== */

html,
body.single {
  overflow-x: hidden !important;
}

body.single .site,
body.single .site.grid-container,
body.single .container.grid-container,
body.single .site-content,
body.single .site-content.grid-container,
body.single #primary,
body.single .content-area,
body.single .site-main,
body.single .inside-article,
body.single .rsn-single-layout,
body.single .rsn-single-main,
body.single .rsn-single-sidebar {
  box-sizing: border-box !important;
}

body.single .site,
body.single .site.grid-container,
body.single .container.grid-container,
body.single .site-content,
body.single .site-content.grid-container,
body.single #primary,
body.single .content-area,
body.single .site-main,
body.single .inside-article {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

body.single .rsn-single-layout {
  width: 100% !important;
  max-width: 1180px !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

body.single .rsn-single-layout.has-spotlight {
  grid-template-columns: minmax(0, 760px) 300px !important;
  gap: 54px !important;
  justify-content: center !important;
}

body.single .rsn-single-layout.no-spotlight {
  max-width: 840px !important;
}

body.single .rsn-single-main {
  width: 100% !important;
  max-width: 760px !important;
  min-width: 0 !important;
}

body.single .rsn-single-sidebar {
  width: 300px !important;
  max-width: 300px !important;
  min-width: 0 !important;
}

body.single .rsn-single-featured,
body.single .rsn-single-actions,
body.single .rsn-follow-box,
body.single .rsn-bluesky-bar,
body.single .entry-content.rsn-single-content {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Force the H1 back to the old RSN headline feel. */
body.single h1.rsn-single-title,
body.single .entry-header h1.rsn-single-title,
body.single .rsn-single-title {
  font-family: "Lucida Sans", sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-stretch: normal !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  text-transform: uppercase !important;
}

/* Category badge sits half over the image and keeps the rounded original shape. */
body.single .rsn-single-heading {
  margin-top: -34px !important;
}

body.single .rsn-single-category {
  margin-bottom: 14px !important;
}

body.single .rsn-single-category a {
  border-radius: 6px !important;
  padding: 15px 23px !important;
}

/* Bigger social icons to match the old Follow Us block. */
body.single .rsn-follow-box {
  grid-template-columns: 210px 1fr !important;
  gap: 20px !important;
  padding: 18px 24px !important;
  border-radius: 6px !important;
}

body.single .rsn-follow-label span {
  font-family: "Lucida Sans", sans-serif !important;
  font-size: 29px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  line-height: .88 !important;
}

body.single .rsn-social-icons {
  gap: 12px !important;
}

body.single .rsn-social-icons a {
  width: 42px !important;
  height: 42px !important;
  border-radius: 7px !important;
}

body.single .rsn-social-icons svg,
body.single .rsn-social-icons .rsn-social-linkedin svg,
body.single .rsn-social-icons .rsn-social-pinterest svg,
body.single .rsn-social-icons .rsn-social-x svg {
  width: 20px !important;
  height: 20px !important;
}

body.single .rsn-social-icons .rsn-social-youtube svg,
body.single .rsn-social-icons .rsn-social-instagram svg,
body.single .rsn-social-icons .rsn-social-snapchat svg,
body.single .rsn-social-icons .rsn-social-reddit svg {
  width: 21px !important;
  height: 21px !important;
}

/* Pull the quote text and red line closer to the original SmartMag spacing. */
body.single .entry-content.rsn-single-content blockquote,
body.single .entry-content.rsn-single-content blockquote.wp-block-quote {
  margin: 40px 0 !important;
  padding: 34px 40px 34px 86px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left top / 100% 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left bottom / 100% 1px no-repeat,
    linear-gradient(to bottom, rgba(214,60,60,.85) 0%, rgba(214,60,60,.45) 58%, rgba(214,60,60,0) 100%) 58px 88px / 2px calc(100% - 118px) no-repeat !important;
}

body.single .entry-content.rsn-single-content blockquote::before,
body.single .entry-content.rsn-single-content blockquote.wp-block-quote::before {
  left: 28px !important;
  top: 18px !important;
  font-size: 64px !important;
}

body.single .entry-content.rsn-single-content blockquote p,
body.single .entry-content.rsn-single-content blockquote.wp-block-quote p {
  font-size: 19px !important;
  line-height: 1.85 !important;
}

@media (max-width: 700px) {
  body.single .site-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single .rsn-single-layout,
  body.single .rsn-single-layout.no-spotlight,
  body.single .rsn-single-layout.has-spotlight {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single .rsn-single-heading {
    margin-top: -32px !important;
  }

  body.single h1.rsn-single-title,
  body.single .rsn-single-title {
    font-family: "Lucida Sans", sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    font-size: 30px !important;
    line-height: 1.03 !important;
  }

  body.single .rsn-single-actions {
    border-radius: 5px !important;
  }

  body.single .rsn-follow-box {
    display: block !important;
    width: 100% !important;
    padding: 22px 18px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
  }

  body.single .rsn-follow-label span {
    font-size: 30px !important;
    text-align: center !important;
  }

  body.single .rsn-follow-label small {
    text-align: center !important;
  }

  body.single .rsn-social-icons {
    justify-content: center !important;
    gap: 12px !important;
    margin-top: 17px !important;
  }

  body.single .rsn-social-icons a {
    width: 42px !important;
    height: 42px !important;
    border-radius: 7px !important;
  }

  body.single .rsn-social-icons svg,
  body.single .rsn-social-icons .rsn-social-linkedin svg,
  body.single .rsn-social-icons .rsn-social-pinterest svg,
  body.single .rsn-social-icons .rsn-social-x svg {
    width: 20px !important;
    height: 20px !important;
  }

  body.single .rsn-social-icons .rsn-social-youtube svg,
  body.single .rsn-social-icons .rsn-social-instagram svg,
  body.single .rsn-social-icons .rsn-social-snapchat svg,
  body.single .rsn-social-icons .rsn-social-reddit svg {
    width: 21px !important;
    height: 21px !important;
  }

  body.single .entry-content.rsn-single-content blockquote,
  body.single .entry-content.rsn-single-content blockquote.wp-block-quote {
    padding: 28px 18px 28px 48px !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left top / 100% 1px no-repeat,
      linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.12) 20%, rgba(255,255,255,.12) 80%, rgba(255,255,255,0) 100%) left bottom / 100% 1px no-repeat,
      linear-gradient(to bottom, rgba(214,60,60,.85) 0%, rgba(214,60,60,.45) 58%, rgba(214,60,60,0) 100%) 18px 78px / 2px calc(100% - 106px) no-repeat !important;
  }

  body.single .entry-content.rsn-single-content blockquote::before,
  body.single .entry-content.rsn-single-content blockquote.wp-block-quote::before {
    left: 12px !important;
    top: 14px !important;
    font-size: 46px !important;
  }
}

@media (max-width: 420px) {
  body.single .rsn-single-layout,
  body.single .rsn-single-layout.no-spotlight,
  body.single .rsn-single-layout.has-spotlight {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.single h1.rsn-single-title,
  body.single .rsn-single-title {
    font-size: 28px !important;
  }

  body.single .rsn-social-icons {
    gap: 10px !important;
  }

  body.single .rsn-social-icons a {
    width: 40px !important;
    height: 40px !important;
  }
}


/* =====================================================
   RSN SINGLE PASS V4 FIXES
   Mobile H1 override + action bar restored closer to old RSN style.
===================================================== */

/* Kill the smaller mobile H1 override so 30px wins everywhere on phones. */
@media (max-width: 700px) {
  body.single h1.rsn-single-title,
  body.single .entry-header h1.rsn-single-title,
  body.single .rsn-single-title,
  body.single article .rsn-single-title {
    font-family: "Lucida Sans", sans-serif !important;
    font-size: 30px !important;
    line-height: 1.03 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 420px) {
  body.single h1.rsn-single-title,
  body.single .entry-header h1.rsn-single-title,
  body.single .rsn-single-title,
  body.single article .rsn-single-title {
    font-size: 30px !important;
  }
}

/* Restore the app/news/comment bar so it does not look thin or cheap. */
body.single .rsn-single-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  margin: 18px 0 20px !important;
  padding: 0 !important;
  background: rgba(19,19,24,.38) !important;
  border: 1px solid #2b2d33 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.25) !important;
}

body.single .rsn-action-card {
  min-height: 104px !important;
  padding: 18px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: transparent !important;
  color: #fff !important;
  border-right: 1px solid #2b2d33 !important;
  font-family: "Lucida Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
}

body.single .rsn-action-card:last-child {
  border-right: 0 !important;
}

body.single .rsn-action-card span:last-child {
  display: block !important;
  max-width: 98px !important;
  margin: 0 auto !important;
  text-align: center !important;
  white-space: normal !important;
}

body.single .rsn-action-card:hover {
  background: #18191f !important;
}

body.single .rsn-action-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 auto 2px !important;
  color: var(--rsn-red, #d63c3c) !important;
  line-height: 0 !important;
}

body.single .rsn-action-icon svg {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  overflow: visible !important;
}

body.single .rsn-action-card:hover .rsn-action-icon {
  color: var(--rsn-red-hover, #ff6060) !important;
}

@media (max-width: 700px) {
  body.single .rsn-single-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin: 14px 0 16px !important;
    border-radius: 5px !important;
  }

  body.single .rsn-action-card {
    min-height: 76px !important;
    padding: 10px 3px !important;
    gap: 6px !important;
    font-size: 8px !important;
    line-height: 1.02 !important;
  }

  body.single .rsn-action-card span:last-child {
    max-width: 70px !important;
  }

  body.single .rsn-action-icon,
  body.single .rsn-action-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
}

@media (max-width: 420px) {
  body.single .rsn-action-card {
    min-height: 72px !important;
    padding: 9px 2px !important;
    gap: 5px !important;
    font-size: 7.4px !important;
    line-height: 1 !important;
  }

  body.single .rsn-action-card span:last-child {
    max-width: 64px !important;
  }

  body.single .rsn-action-icon,
  body.single .rsn-action-icon svg {
    width: 20px !important;
    height: 20px !important;
  }
}

/* =====================================================
   RSN SINGLE PASS V5 BELOW-CONTENT AREA
   Google button inside article card, responsive tags, author box.
===================================================== */

body.single .entry-content.rsn-single-content .rsn-google-preferred-wrap {
  margin: 30px 0 0 !important;
  padding-top: 4px !important;
  text-align: center !important;
}

body.single .entry-content.rsn-single-content .rsn-google-preferred-btn {
  min-width: 330px !important;
  max-width: 100% !important;
}

body.single .rsn-post-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 22px 0 34px !important;
  padding: 0 !important;
}

body.single .rsn-post-tags a {
  min-height: 42px !important;
  padding: 14px 22px !important;
  background: #131318 !important;
  border: 1px solid #2b2d33 !important;
  color: #fff !important;
  font-family: "Lucida Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

body.single .rsn-author-box {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) auto !important;
  align-items: start !important;
  column-gap: 24px !important;
  margin: 0 0 36px !important;
  padding: 34px 0 30px !important;
  border-top: 1px solid #2b2d33 !important;
  color: #fff !important;
}

body.single .rsn-author-avatar,
body.single .rsn-author-avatar img {
  width: 88px !important;
  height: 88px !important;
  min-width: 88px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

body.single .rsn-author-avatar img {
  display: block !important;
  object-fit: cover !important;
}

body.single .rsn-author-details {
  min-width: 0 !important;
  padding-top: 2px !important;
}

body.single .rsn-author-name {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-family: "Lucida Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.single .rsn-author-bio,
body.single .rsn-author-bio p {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Lucida Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

body.single .rsn-author-socials {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding-top: 4px !important;
}

body.single .rsn-author-social {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  color: #fff !important;
  text-decoration: none !important;
  opacity: .95 !important;
  transition: color .18s ease, opacity .18s ease, transform .18s ease !important;
}

body.single .rsn-author-social:hover {
  color: var(--rsn-red-hover, #ff6060) !important;
  opacity: 1 !important;
  transform: translateY(-1px) !important;
}

body.single .rsn-author-social svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
  stroke: none !important;
}

body.single .rsn-author-social-website svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Keep GeneratePress/comment plugin area lined up under our custom single layout. */
body.single .comments-area {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 700px) {
  body.single .entry-content.rsn-single-content .rsn-google-preferred-wrap {
    margin-top: 24px !important;
  }

  body.single .entry-content.rsn-single-content .rsn-google-preferred-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 13px 14px !important;
    font-size: 13px !important;
  }

  body.single .rsn-post-tags {
    gap: 10px !important;
    margin: 20px 0 28px !important;
  }

  body.single .rsn-post-tags a {
    min-height: 38px !important;
    padding: 12px 16px !important;
    font-size: 11px !important;
  }

  body.single .rsn-author-box {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    row-gap: 16px !important;
    margin-bottom: 30px !important;
    padding: 28px 0 26px !important;
  }

  body.single .rsn-author-avatar,
  body.single .rsn-author-avatar img {
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
  }

  body.single .rsn-author-name {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }

  body.single .rsn-author-bio,
  body.single .rsn-author-bio p {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  body.single .rsn-author-socials {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    padding-left: 86px !important;
    padding-top: 0 !important;
  }

  body.single .comments-area {
    max-width: none !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
  }
}

@media (max-width: 420px) {
  body.single .rsn-author-box {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  body.single .rsn-author-avatar,
  body.single .rsn-author-avatar img {
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
  }

  body.single .rsn-author-socials {
    padding-left: 76px !important;
  }
}



/* =====================================================
   RSN SINGLE PASS V6 BELOW-CONTENT FIXES
   Tags visible, Google button colors, spacing, and comments placement.
===================================================== */

body.single .entry-content.rsn-single-content {
  margin-bottom: 30px !important;
}

body.single .entry-content.rsn-single-content .rsn-google-preferred-wrap {
  margin: 34px 0 0 !important;
  padding-top: 8px !important;
  padding-bottom: 0 !important;
}

body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn,
body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn:visited,
body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn:hover,
body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn:active,
body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn span:not(.rsn-google-icon) {
  color: #ffffff !important;
}

body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn {
  min-width: 330px !important;
  padding: 14px 24px !important;
  background: #131318 !important;
  border: 1px solid #2d2d33 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn:hover {
  background: #18191f !important;
  border-color: var(--rsn-red, #d63c3c) !important;
}

body.single .entry-content.rsn-single-content .rsn-google-icon {
  color: transparent !important;
  background: linear-gradient(45deg, #4285f4, #ea4335, #fbbc05, #34a853) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: 900 !important;
}

body.single .rsn-post-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 0 38px !important;
  padding: 0 !important;
}

body.single .rsn-post-tags a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 14px 24px !important;
  background: #131318 !important;
  border: 1px solid #2b2d33 !important;
  color: #ffffff !important;
  font-family: "Lucida Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

body.single .rsn-post-tags a:hover {
  background: #202228 !important;
  border-color: #3a3d46 !important;
  color: #ffffff !important;
}

body.single .rsn-author-box {
  margin: 0 0 46px !important;
  padding: 36px 0 36px !important;
  border-top: 1px solid #2b2d33 !important;
}

body.single .comments-area.rsn-comments-area {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 60px !important;
  padding: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.single .comments-area.rsn-comments-area #comments,
body.single .comments-area.rsn-comments-area .comments-title,
body.single .comments-area.rsn-comments-area .comment-respond,
body.single .comments-area.rsn-comments-area .comment-list,
body.single .comments-area.rsn-comments-area .comment-navigation {
  max-width: 100% !important;
}

body.single .comments-area.rsn-comments-area a {
  color: var(--rsn-red-hover, #ff6060) !important;
}

@media (max-width: 700px) {
  body.single .entry-content.rsn-single-content {
    margin-bottom: 24px !important;
  }

  body.single .entry-content.rsn-single-content a.rsn-google-preferred-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 13px 14px !important;
    font-size: 13px !important;
  }

  body.single .rsn-post-tags {
    gap: 10px !important;
    margin-bottom: 32px !important;
  }

  body.single .rsn-post-tags a {
    min-height: 40px !important;
    padding: 12px 16px !important;
    font-size: 11px !important;
  }

  body.single .rsn-author-box {
    margin-bottom: 38px !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  body.single .comments-area.rsn-comments-area {
    margin-bottom: 48px !important;
  }
}
