I’ll build this as a production-style
right-sidebar.css for RX Theme: CSS variables, layout, widgets, sticky behavior, responsive rules, accessibility, dark mode, RTL, print, and performance-safe utilities.Yes friend — for this file:
assets/css/static-css/right-sidebar.css
Use this as an advanced static CSS foundation for the RX Theme right sidebar.
/* ==========================================================================
RX Theme - Right Sidebar Static CSS
File: assets/css/static-css/right-sidebar.css
Purpose: Advanced right sidebar layout, widgets, sticky sidebar, responsive,
accessibility, dark mode, RTL support, print optimization.
Author: RX Theme
========================================================================== */
/* ==========================================================================
1. Sidebar Root Variables
========================================================================== */
:root {
--rx-sidebar-width: 330px;
--rx-sidebar-min-width: 280px;
--rx-sidebar-max-width: 380px;
--rx-sidebar-gap: 24px;
--rx-sidebar-inner-gap: 20px;
--rx-sidebar-bg: #ffffff;
--rx-sidebar-bg-soft: #f8fafc;
--rx-sidebar-bg-muted: #f1f5f9;
--rx-sidebar-text: #1e293b;
--rx-sidebar-text-soft: #475569;
--rx-sidebar-text-muted: #64748b;
--rx-sidebar-border: #e2e8f0;
--rx-sidebar-border-strong: #cbd5e1;
--rx-sidebar-link: #0f766e;
--rx-sidebar-link-hover: #0d9488;
--rx-sidebar-accent: #0f766e;
--rx-sidebar-accent-soft: rgba(15, 118, 110, 0.08);
--rx-sidebar-accent-border: rgba(15, 118, 110, 0.25);
--rx-sidebar-radius-sm: 6px;
--rx-sidebar-radius-md: 10px;
--rx-sidebar-radius-lg: 14px;
--rx-sidebar-radius-xl: 18px;
--rx-sidebar-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
--rx-sidebar-shadow-md: 0 8px 22px rgba(15, 23, 42, 0.08);
--rx-sidebar-shadow-lg: 0 16px 36px rgba(15, 23, 42, 0.12);
--rx-sidebar-font-size: 15px;
--rx-sidebar-small-font-size: 14px;
--rx-sidebar-title-font-size: 18px;
--rx-sidebar-line-height: 1.7;
--rx-sidebar-transition: 180ms ease;
--rx-sidebar-sticky-top: 96px;
--rx-sidebar-z-index: 20;
}
/* ==========================================================================
2. Main Right Sidebar Layout
========================================================================== */
.rx-right-sidebar {
width: var(--rx-sidebar-width);
min-width: var(--rx-sidebar-min-width);
max-width: var(--rx-sidebar-max-width);
color: var(--rx-sidebar-text);
font-size: var(--rx-sidebar-font-size);
line-height: var(--rx-sidebar-line-height);
position: relative;
z-index: var(--rx-sidebar-z-index);
}
.rx-right-sidebar,
.rx-right-sidebar * {
box-sizing: border-box;
}
.rx-right-sidebar-area {
display: flex;
flex-direction: column;
gap: var(--rx-sidebar-gap);
}
.rx-content-with-right-sidebar {
display: grid;
grid-template-columns: minmax(0, 1fr) var(--rx-sidebar-width);
gap: clamp(24px, 4vw, 42px);
align-items: start;
}
.rx-main-content {
min-width: 0;
}
.rx-sidebar-right {
min-width: 0;
}
/* ==========================================================================
3. Sticky Sidebar
========================================================================== */
.rx-right-sidebar.is-sticky,
.rx-right-sidebar .rx-sidebar-sticky {
position: sticky;
top: var(--rx-sidebar-sticky-top);
align-self: start;
}
.admin-bar .rx-right-sidebar.is-sticky,
.admin-bar .rx-right-sidebar .rx-sidebar-sticky {
top: calc(var(--rx-sidebar-sticky-top) + 32px);
}
/* ==========================================================================
4. Sidebar Widget Base
========================================================================== */
.rx-right-sidebar .widget,
.rx-right-sidebar .rx-widget,
.rx-sidebar-widget {
background: var(--rx-sidebar-bg);
border: 1px solid var(--rx-sidebar-border);
border-radius: var(--rx-sidebar-radius-lg);
box-shadow: var(--rx-sidebar-shadow-sm);
padding: 22px;
overflow: hidden;
transition:
box-shadow var(--rx-sidebar-transition),
border-color var(--rx-sidebar-transition),
transform var(--rx-sidebar-transition);
}
.rx-right-sidebar .widget:hover,
.rx-right-sidebar .rx-widget:hover,
.rx-sidebar-widget:hover {
border-color: var(--rx-sidebar-border-strong);
box-shadow: var(--rx-sidebar-shadow-md);
}
.rx-right-sidebar .widget + .widget,
.rx-right-sidebar .rx-widget + .rx-widget,
.rx-sidebar-widget + .rx-sidebar-widget {
margin-top: var(--rx-sidebar-gap);
}
/* ==========================================================================
5. Widget Titles
========================================================================== */
.rx-right-sidebar .widget-title,
.rx-right-sidebar .rx-widget-title,
.rx-sidebar-widget-title {
position: relative;
margin: 0 0 18px;
padding-bottom: 12px;
color: var(--rx-sidebar-text);
font-size: var(--rx-sidebar-title-font-size);
font-weight: 700;
line-height: 1.35;
letter-spacing: -0.01em;
}
.rx-right-sidebar .widget-title::after,
.rx-right-sidebar .rx-widget-title::after,
.rx-sidebar-widget-title::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 42px;
height: 3px;
border-radius: 999px;
background: var(--rx-sidebar-accent);
}
.rx-right-sidebar .widget-title::before,
.rx-right-sidebar .rx-widget-title::before,
.rx-sidebar-widget-title::before {
content: "";
position: absolute;
left: 48px;
bottom: 1px;
width: 8px;
height: 2px;
border-radius: 999px;
background: var(--rx-sidebar-accent-border);
}
/* ==========================================================================
6. Sidebar Typography
========================================================================== */
.rx-right-sidebar p {
margin: 0 0 14px;
color: var(--rx-sidebar-text-soft);
}
.rx-right-sidebar p:last-child {
margin-bottom: 0;
}
.rx-right-sidebar strong,
.rx-right-sidebar b {
color: var(--rx-sidebar-text);
font-weight: 700;
}
.rx-right-sidebar small {
color: var(--rx-sidebar-text-muted);
font-size: var(--rx-sidebar-small-font-size);
}
.rx-right-sidebar hr {
border: 0;
border-top: 1px solid var(--rx-sidebar-border);
margin: 18px 0;
}
/* ==========================================================================
7. Sidebar Links
========================================================================== */
.rx-right-sidebar a {
color: var(--rx-sidebar-link);
text-decoration: none;
text-underline-offset: 3px;
transition:
color var(--rx-sidebar-transition),
background-color var(--rx-sidebar-transition),
border-color var(--rx-sidebar-transition);
}
.rx-right-sidebar a:hover,
.rx-right-sidebar a:focus {
color: var(--rx-sidebar-link-hover);
text-decoration: underline;
}
.rx-right-sidebar a:focus-visible {
outline: 3px solid var(--rx-sidebar-accent-border);
outline-offset: 3px;
border-radius: var(--rx-sidebar-radius-sm);
}
/* ==========================================================================
8. Lists Inside Sidebar
========================================================================== */
.rx-right-sidebar ul,
.rx-right-sidebar ol {
margin: 0;
padding: 0;
list-style: none;
}
.rx-right-sidebar li {
position: relative;
margin: 0;
padding: 10px 0;
border-bottom: 1px solid var(--rx-sidebar-border);
}
.rx-right-sidebar li:first-child {
padding-top: 0;
}
.rx-right-sidebar li:last-child {
padding-bottom: 0;
border-bottom: 0;
}
.rx-right-sidebar li a {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--rx-sidebar-text-soft);
font-weight: 500;
}
.rx-right-sidebar li a:hover {
color: var(--rx-sidebar-accent);
}
/* ==========================================================================
9. Default WordPress Widgets
========================================================================== */
/* Search Widget */
.rx-right-sidebar .widget_search form,
.rx-right-sidebar .search-form {
display: flex;
gap: 8px;
width: 100%;
}
.rx-right-sidebar .search-field,
.rx-right-sidebar input[type="search"],
.rx-right-sidebar input[type="text"],
.rx-right-sidebar input[type="email"] {
width: 100%;
min-height: 44px;
padding: 10px 13px;
color: var(--rx-sidebar-text);
background: var(--rx-sidebar-bg-soft);
border: 1px solid var(--rx-sidebar-border);
border-radius: var(--rx-sidebar-radius-md);
font: inherit;
outline: none;
transition:
border-color var(--rx-sidebar-transition),
box-shadow var(--rx-sidebar-transition),
background-color var(--rx-sidebar-transition);
}
.rx-right-sidebar .search-field:focus,
.rx-right-sidebar input[type="search"]:focus,
.rx-right-sidebar input[type="text"]:focus,
.rx-right-sidebar input[type="email"]:focus {
background: #ffffff;
border-color: var(--rx-sidebar-accent);
box-shadow: 0 0 0 4px var(--rx-sidebar-accent-soft);
}
.rx-right-sidebar .search-submit,
.rx-right-sidebar button,
.rx-right-sidebar input[type="submit"] {
min-height: 44px;
padding: 10px 16px;
color: #ffffff;
background: var(--rx-sidebar-accent);
border: 1px solid var(--rx-sidebar-accent);
border-radius: var(--rx-sidebar-radius-md);
font: inherit;
font-weight: 700;
cursor: pointer;
transition:
background-color var(--rx-sidebar-transition),
border-color var(--rx-sidebar-transition),
transform var(--rx-sidebar-transition),
box-shadow var(--rx-sidebar-transition);
}
.rx-right-sidebar .search-submit:hover,
.rx-right-sidebar button:hover,
.rx-right-sidebar input[type="submit"]:hover {
background: var(--rx-sidebar-link-hover);
border-color: var(--rx-sidebar-link-hover);
box-shadow: var(--rx-sidebar-shadow-sm);
}
.rx-right-sidebar .search-submit:active,
.rx-right-sidebar button:active,
.rx-right-sidebar input[type="submit"]:active {
transform: translateY(1px);
}
/* Recent Posts */
.rx-right-sidebar .widget_recent_entries li a {
font-weight: 600;
line-height: 1.5;
}
.rx-right-sidebar .post-date {
display: block;
margin-top: 4px;
color: var(--rx-sidebar-text-muted);
font-size: 13px;
}
/* Categories */
.rx-right-sidebar .widget_categories li,
.rx-right-sidebar .widget_archive li {
display: flex;
justify-content: space-between;
gap: 10px;
color: var(--rx-sidebar-text-muted);
}
.rx-right-sidebar .widget_categories li a,
.rx-right-sidebar .widget_archive li a {
flex: 1;
}
/* Tag Cloud */
.rx-right-sidebar .tagcloud {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.rx-right-sidebar .tagcloud a {
display: inline-flex;
align-items: center;
min-height: 32px;
padding: 5px 10px;
color: var(--rx-sidebar-text-soft);
background: var(--rx-sidebar-bg-soft);
border: 1px solid var(--rx-sidebar-border);
border-radius: 999px;
font-size: 13px !important;
font-weight: 600;
line-height: 1.2;
}
.rx-right-sidebar .tagcloud a:hover {
color: var(--rx-sidebar-accent);
background: var(--rx-sidebar-accent-soft);
border-color: var(--rx-sidebar-accent-border);
text-decoration: none;
}
/* Calendar Widget */
.rx-right-sidebar .calendar_wrap {
overflow-x: auto;
}
.rx-right-sidebar table {
width: 100%;
border-collapse: collapse;
color: var(--rx-sidebar-text-soft);
font-size: 14px;
}
.rx-right-sidebar th,
.rx-right-sidebar td {
padding: 8px;
text-align: center;
border: 1px solid var(--rx-sidebar-border);
}
.rx-right-sidebar th {
color: var(--rx-sidebar-text);
background: var(--rx-sidebar-bg-soft);
font-weight: 700;
}
.rx-right-sidebar caption {
margin-bottom: 10px;
color: var(--rx-sidebar-text);
font-weight: 700;
}
/* ==========================================================================
10. RX Custom Medical Sidebar Widgets
========================================================================== */
.rx-medical-widget {
background:
linear-gradient(180deg, rgba(15, 118, 110, 0.06), transparent 120px),
var(--rx-sidebar-bg);
}
.rx-medical-widget .rx-widget-title {
color: var(--rx-sidebar-accent);
}
.rx-health-note,
.rx-sidebar-note {
padding: 14px 16px;
color: var(--rx-sidebar-text-soft);
background: var(--rx-sidebar-accent-soft);
border: 1px solid var(--rx-sidebar-accent-border);
border-radius: var(--rx-sidebar-radius-md);
font-size: 14px;
}
.rx-health-note strong,
.rx-sidebar-note strong {
color: var(--rx-sidebar-accent);
}
/* Disease List Widget */
.rx-disease-list {
display: grid;
gap: 8px;
}
.rx-disease-list a {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding: 11px 13px;
color: var(--rx-sidebar-text-soft);
background: var(--rx-sidebar-bg-soft);
border: 1px solid var(--rx-sidebar-border);
border-radius: var(--rx-sidebar-radius-md);
font-weight: 600;
}
.rx-disease-list a:hover {
color: var(--rx-sidebar-accent);
background: #ffffff;
border-color: var(--rx-sidebar-accent-border);
text-decoration: none;
}
.rx-disease-list a::after {
content: "›";
color: var(--rx-sidebar-text-muted);
font-size: 20px;
line-height: 1;
}
/* Popular Article Card */
.rx-sidebar-post-card {
display: grid;
grid-template-columns: 86px minmax(0, 1fr);
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid var(--rx-sidebar-border);
}
.rx-sidebar-post-card:first-child {
padding-top: 0;
}
.rx-sidebar-post-card:last-child {
padding-bottom: 0;
border-bottom: 0;
}
.rx-sidebar-post-card img {
width: 86px;
height: 72px;
object-fit: cover;
border-radius: var(--rx-sidebar-radius-md);
background: var(--rx-sidebar-bg-muted);
}
.rx-sidebar-post-card-title {
margin: 0 0 5px;
color: var(--rx-sidebar-text);
font-size: 15px;
font-weight: 700;
line-height: 1.4;
}
.rx-sidebar-post-card-title a {
color: inherit;
}
.rx-sidebar-post-card-title a:hover {
color: var(--rx-sidebar-accent);
}
.rx-sidebar-post-card-meta {
display: flex;
flex-wrap: wrap;
gap: 6px;
color: var(--rx-sidebar-text-muted);
font-size: 12px;
line-height: 1.4;
}
/* Author Doctor Box */
.rx-sidebar-author-box {
text-align: center;
}
.rx-sidebar-author-avatar {
width: 92px;
height: 92px;
margin: 0 auto 14px;
border-radius: 50%;
object-fit: cover;
border: 4px solid var(--rx-sidebar-accent-soft);
}
.rx-sidebar-author-name {
margin: 0 0 4px;
color: var(--rx-sidebar-text);
font-size: 18px;
font-weight: 800;
}
.rx-sidebar-author-role {
margin: 0 0 12px;
color: var(--rx-sidebar-text-muted);
font-size: 14px;
}
.rx-sidebar-author-bio {
color: var(--rx-sidebar-text-soft);
font-size: 14px;
}
/* CTA Widget */
.rx-sidebar-cta {
padding: 24px;
color: #ffffff;
background:
radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 34%),
linear-gradient(135deg, #0f766e, #115e59);
border: 0;
}
.rx-sidebar-cta .rx-widget-title,
.rx-sidebar-cta h2,
.rx-sidebar-cta h3,
.rx-sidebar-cta p {
color: #ffffff;
}
.rx-sidebar-cta .rx-widget-title::after {
background: rgba(255, 255, 255, 0.9);
}
.rx-sidebar-cta a {
color: #ffffff;
font-weight: 700;
text-decoration: underline;
}
.rx-sidebar-cta-button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 42px;
margin-top: 12px;
padding: 10px 16px;
color: var(--rx-sidebar-accent) !important;
background: #ffffff;
border-radius: 999px;
font-weight: 800;
text-decoration: none !important;
}
.rx-sidebar-cta-button:hover {
background: #f8fafc;
transform: translateY(-1px);
}
/* ==========================================================================
11. Table of Contents Sidebar
========================================================================== */
.rx-sidebar-toc {
counter-reset: rx-toc-counter;
}
.rx-sidebar-toc ol,
.rx-sidebar-toc ul {
display: grid;
gap: 6px;
}
.rx-sidebar-toc li {
counter-increment: rx-toc-counter;
border-bottom: 0;
padding: 0;
}
.rx-sidebar-toc a {
display: grid;
grid-template-columns: 26px minmax(0, 1fr);
gap: 9px;
align-items: start;
padding: 8px 10px;
color: var(--rx-sidebar-text-soft);
border-radius: var(--rx-sidebar-radius-md);
font-size: 14px;
font-weight: 600;
line-height: 1.45;
}
.rx-sidebar-toc a::before {
content: counter(rx-toc-counter);
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
color: var(--rx-sidebar-accent);
background: var(--rx-sidebar-accent-soft);
border-radius: 50%;
font-size: 12px;
font-weight: 800;
}
.rx-sidebar-toc a:hover,
.rx-sidebar-toc a.is-active {
color: var(--rx-sidebar-accent);
background: var(--rx-sidebar-accent-soft);
text-decoration: none;
}
/* ==========================================================================
12. Newsletter Widget
========================================================================== */
.rx-sidebar-newsletter {
background:
linear-gradient(180deg, var(--rx-sidebar-bg-soft), #ffffff);
}
.rx-sidebar-newsletter-form {
display: grid;
gap: 10px;
}
.rx-sidebar-newsletter input[type="email"] {
width: 100%;
}
.rx-sidebar-newsletter button {
width: 100%;
}
.rx-sidebar-newsletter-privacy {
color: var(--rx-sidebar-text-muted);
font-size: 12px;
line-height: 1.5;
}
/* ==========================================================================
13. Sidebar Badges / Chips
========================================================================== */
.rx-sidebar-badge,
.rx-sidebar-chip {
display: inline-flex;
align-items: center;
gap: 6px;
min-height: 28px;
padding: 4px 9px;
color: var(--rx-sidebar-accent);
background: var(--rx-sidebar-accent-soft);
border: 1px solid var(--rx-sidebar-accent-border);
border-radius: 999px;
font-size: 12px;
font-weight: 800;
line-height: 1.2;
}
.rx-sidebar-chip-list {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
/* ==========================================================================
14. Sidebar Advertisement Box
========================================================================== */
.rx-sidebar-ad {
display: grid;
place-items: center;
min-height: 250px;
padding: 16px;
color: var(--rx-sidebar-text-muted);
background:
repeating-linear-gradient(
45deg,
var(--rx-sidebar-bg-soft),
var(--rx-sidebar-bg-soft) 10px,
#ffffff 10px,
#ffffff 20px
);
border: 1px dashed var(--rx-sidebar-border-strong);
border-radius: var(--rx-sidebar-radius-lg);
text-align: center;
font-size: 13px;
}
.rx-sidebar-ad-label {
display: block;
margin-bottom: 8px;
color: var(--rx-sidebar-text-muted);
font-size: 11px;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
/* ==========================================================================
15. Sidebar Accordion
========================================================================== */
.rx-sidebar-accordion {
border: 1px solid var(--rx-sidebar-border);
border-radius: var(--rx-sidebar-radius-lg);
overflow: hidden;
}
.rx-sidebar-accordion-item + .rx-sidebar-accordion-item {
border-top: 1px solid var(--rx-sidebar-border);
}
.rx-sidebar-accordion-button {
width: 100%;
min-height: 48px;
padding: 13px 15px;
display: flex;
justify-content: space-between;
gap: 12px;
color: var(--rx-sidebar-text);
background: #ffffff;
border: 0;
border-radius: 0;
text-align: left;
font-weight: 700;
}
.rx-sidebar-accordion-button::after {
content: "+";
font-weight: 800;
}
.rx-sidebar-accordion-item.is-open .rx-sidebar-accordion-button::after {
content: "–";
}
.rx-sidebar-accordion-panel {
display: none;
padding: 0 15px 15px;
color: var(--rx-sidebar-text-soft);
}
.rx-sidebar-accordion-item.is-open .rx-sidebar-accordion-panel {
display: block;
}
/* ==========================================================================
16. Sidebar Loading Skeleton
========================================================================== */
.rx-sidebar-skeleton {
display: grid;
gap: 12px;
}
.rx-sidebar-skeleton-line,
.rx-sidebar-skeleton-thumb {
position: relative;
overflow: hidden;
background: var(--rx-sidebar-bg-muted);
border-radius: var(--rx-sidebar-radius-md);
}
.rx-sidebar-skeleton-line {
height: 14px;
}
.rx-sidebar-skeleton-line.is-short {
width: 65%;
}
.rx-sidebar-skeleton-thumb {
height: 86px;
}
.rx-sidebar-skeleton-line::after,
.rx-sidebar-skeleton-thumb::after {
content: "";
position: absolute;
inset: 0;
transform: translateX(-100%);
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.55),
transparent
);
animation: rx-sidebar-skeleton-loading 1.4s infinite;
}
@keyframes rx-sidebar-skeleton-loading {
100% {
transform: translateX(100%);
}
}
/* ==========================================================================
17. Sidebar Image Handling
========================================================================== */
.rx-right-sidebar img,
.rx-right-sidebar video,
.rx-right-sidebar iframe {
max-width: 100%;
}
.rx-right-sidebar img {
height: auto;
}
.rx-right-sidebar figure {
margin: 0;
}
.rx-right-sidebar figcaption {
margin-top: 8px;
color: var(--rx-sidebar-text-muted);
font-size: 13px;
line-height: 1.5;
}
.rx-sidebar-rounded-media {
border-radius: var(--rx-sidebar-radius-lg);
overflow: hidden;
}
/* ==========================================================================
18. Sidebar Utility Classes
========================================================================== */
.rx-sidebar-hidden {
display: none !important;
}
.rx-sidebar-text-center {
text-align: center;
}
.rx-sidebar-text-left {
text-align: left;
}
.rx-sidebar-text-right {
text-align: right;
}
.rx-sidebar-mt-0 {
margin-top: 0 !important;
}
.rx-sidebar-mb-0 {
margin-bottom: 0 !important;
}
.rx-sidebar-mt-sm {
margin-top: 8px !important;
}
.rx-sidebar-mt-md {
margin-top: 16px !important;
}
.rx-sidebar-mt-lg {
margin-top: 24px !important;
}
.rx-sidebar-p-0 {
padding: 0 !important;
}
.rx-sidebar-soft-box {
padding: 14px;
background: var(--rx-sidebar-bg-soft);
border-radius: var(--rx-sidebar-radius-md);
}
.rx-sidebar-border-box {
padding: 14px;
border: 1px solid var(--rx-sidebar-border);
border-radius: var(--rx-sidebar-radius-md);
}
/* ==========================================================================
19. Accessibility Helpers
========================================================================== */
.rx-right-sidebar :focus-visible {
outline: 3px solid var(--rx-sidebar-accent-border);
outline-offset: 3px;
}
.rx-sidebar-sr-only {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}
/* ==========================================================================
20. Reduced Motion
========================================================================== */
@media (prefers-reduced-motion: reduce) {
.rx-right-sidebar *,
.rx-right-sidebar *::before,
.rx-right-sidebar *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-duration: 0.001ms !important;
}
}
/* ==========================================================================
21. Dark Mode Support
========================================================================== */
@media (prefers-color-scheme: dark) {
:root {
--rx-sidebar-bg: #0f172a;
--rx-sidebar-bg-soft: #111827;
--rx-sidebar-bg-muted: #1e293b;
--rx-sidebar-text: #e5e7eb;
--rx-sidebar-text-soft: #cbd5e1;
--rx-sidebar-text-muted: #94a3b8;
--rx-sidebar-border: rgba(148, 163, 184, 0.22);
--rx-sidebar-border-strong: rgba(148, 163, 184, 0.36);
--rx-sidebar-link: #5eead4;
--rx-sidebar-link-hover: #99f6e4;
--rx-sidebar-accent: #2dd4bf;
--rx-sidebar-accent-soft: rgba(45, 212, 191, 0.12);
--rx-sidebar-accent-border: rgba(45, 212, 191, 0.35);
--rx-sidebar-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
--rx-sidebar-shadow-md: 0 8px 22px rgba(0, 0, 0, 0.42);
}
.rx-right-sidebar .search-field:focus,
.rx-right-sidebar input[type="search"]:focus,
.rx-right-sidebar input[type="text"]:focus,
.rx-right-sidebar input[type="email"]:focus {
background: #0f172a;
}
.rx-sidebar-accordion-button {
background: var(--rx-sidebar-bg);
}
.rx-sidebar-newsletter {
background:
linear-gradient(180deg, var(--rx-sidebar-bg-soft), var(--rx-sidebar-bg));
}
.rx-sidebar-skeleton-line::after,
.rx-sidebar-skeleton-thumb::after {
background: linear-gradient(
90deg,
transparent,
rgba(255, 255, 255, 0.08),
transparent
);
}
}
/* Manual dark mode class support */
.rx-dark-mode .rx-right-sidebar,
[data-theme="dark"] .rx-right-sidebar {
--rx-sidebar-bg: #0f172a;
--rx-sidebar-bg-soft: #111827;
--rx-sidebar-bg-muted: #1e293b;
--rx-sidebar-text: #e5e7eb;
--rx-sidebar-text-soft: #cbd5e1;
--rx-sidebar-text-muted: #94a3b8;
--rx-sidebar-border: rgba(148, 163, 184, 0.22);
--rx-sidebar-border-strong: rgba(148, 163, 184, 0.36);
--rx-sidebar-link: #5eead4;
--rx-sidebar-link-hover: #99f6e4;
--rx-sidebar-accent: #2dd4bf;
--rx-sidebar-accent-soft: rgba(45, 212, 191, 0.12);
--rx-sidebar-accent-border: rgba(45, 212, 191, 0.35);
}
/* ==========================================================================
22. RTL Support
========================================================================== */
[dir="rtl"] .rx-content-with-right-sidebar {
grid-template-columns: var(--rx-sidebar-width) minmax(0, 1fr);
}
[dir="rtl"] .rx-right-sidebar .widget-title::after,
[dir="rtl"] .rx-right-sidebar .rx-widget-title::after,
[dir="rtl"] .rx-sidebar-widget-title::after {
left: auto;
right: 0;
}
[dir="rtl"] .rx-right-sidebar .widget-title::before,
[dir="rtl"] .rx-right-sidebar .rx-widget-title::before,
[dir="rtl"] .rx-sidebar-widget-title::before {
left: auto;
right: 48px;
}
[dir="rtl"] .rx-disease-list a::after {
content: "‹";
}
[dir="rtl"] .rx-sidebar-accordion-button {
text-align: right;
}
/* ==========================================================================
23. Responsive Sidebar
========================================================================== */
@media (max-width: 1180px) {
:root {
--rx-sidebar-width: 300px;
}
.rx-content-with-right-sidebar {
gap: 28px;
}
.rx-right-sidebar .widget,
.rx-right-sidebar .rx-widget,
.rx-sidebar-widget {
padding: 20px;
}
}
@media (max-width: 1024px) {
.rx-content-with-right-sidebar {
grid-template-columns: 1fr;
}
.rx-right-sidebar {
width: 100%;
min-width: 0;
max-width: none;
}
.rx-right-sidebar.is-sticky,
.rx-right-sidebar .rx-sidebar-sticky {
position: static;
top: auto;
}
.rx-right-sidebar-area {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 22px;
}
.rx-right-sidebar .widget + .widget,
.rx-right-sidebar .rx-widget + .rx-widget,
.rx-sidebar-widget + .rx-sidebar-widget {
margin-top: 0;
}
}
@media (max-width: 768px) {
.rx-right-sidebar-area {
grid-template-columns: 1fr;
}
.rx-right-sidebar .widget,
.rx-right-sidebar .rx-widget,
.rx-sidebar-widget {
padding: 18px;
border-radius: var(--rx-sidebar-radius-md);
}
.rx-sidebar-post-card {
grid-template-columns: 78px minmax(0, 1fr);
}
.rx-sidebar-post-card img {
width: 78px;
height: 66px;
}
}
@media (max-width: 480px) {
.rx-right-sidebar {
font-size: 14px;
}
.rx-right-sidebar .widget-title,
.rx-right-sidebar .rx-widget-title,
.rx-sidebar-widget-title {
font-size: 17px;
}
.rx-right-sidebar .widget,
.rx-right-sidebar .rx-widget,
.rx-sidebar-widget {
padding: 16px;
}
.rx-right-sidebar .widget_search form,
.rx-right-sidebar .search-form {
flex-direction: column;
}
.rx-right-sidebar .search-submit,
.rx-right-sidebar button,
.rx-right-sidebar input[type="submit"] {
width: 100%;
}
}
/* ==========================================================================
24. Container Query Support
========================================================================== */
@container rx-sidebar-container (max-width: 300px) {
.rx-sidebar-post-card {
grid-template-columns: 1fr;
}
.rx-sidebar-post-card img {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}
}
.rx-right-sidebar {
container-type: inline-size;
container-name: rx-sidebar-container;
}
/* ==========================================================================
25. Print Optimization
========================================================================== */
@media print {
.rx-right-sidebar {
display: none !important;
}
}
Add it in your theme enqueue system like this:
wp_enqueue_style(
'rx-right-sidebar',
get_template_directory_uri() . '/assets/css/static-css/right-sidebar.css',
array(),
wp_get_theme()->get('Version')
);
Best class structure for your theme HTML:
<div class="rx-content-with-right-sidebar">
<main class="rx-main-content">
<!-- post content -->
</main>
<aside class="rx-right-sidebar rx-sidebar-right is-sticky">
<div class="rx-right-sidebar-area">
<section class="rx-sidebar-widget rx-medical-widget">
<h2 class="rx-sidebar-widget-title">Health Topics</h2>
</section>
</div>
</aside>
</div>