I’ll build this as a medical-specific CSS module for RX Theme: design tokens, article layout, medical cards, tables, alerts, FAQ, symptoms/causes lists, references, print mode, accessibility, and responsive behavior.
Yes friend. Create this file:
rx-theme/assets/css/rx-medical.css
Then paste this advanced medical content CSS.
/*!
Theme Name: RX Theme
File: assets/css/rx-medical.css
Purpose: Advanced medical article, doctor profile, diagnosis, treatment, FAQ, reference, table, alert and evidence-based content styling.
Author: RxHarun
Version: 1.0.0
*/
/* =========================================================
RX MEDICAL CSS INDEX
01. Medical Design Tokens
02. Medical Page Wrapper
03. Medical Hero Section
04. Medical Article Typography
05. Medical Key Facts Box
06. Medical Summary Box
07. Medical Alert Boxes
08. Medical Disclaimer Box
09. Symptoms / Causes / Tests Lists
10. Treatment Cards
11. Drug Information Cards
12. Diagnostic Test Cards
13. Doctor / Author Box
14. Medical Table Styling
15. FAQ Accordion Styling
16. References / Citations
17. Related Medical Posts
18. Medical Sidebar Widgets
19. Breadcrumbs
20. Search Result Medical Cards
21. Print Mode
22. Responsive Mode
23. Accessibility
24. Dark Mode Ready
========================================================= */
/* =========================================================
01. MEDICAL DESIGN TOKENS
========================================================= */
:root {
--rx-medical-primary: #0f766e;
--rx-medical-primary-dark: #115e59;
--rx-medical-primary-light: #ccfbf1;
--rx-medical-secondary: #2563eb;
--rx-medical-secondary-dark: #1d4ed8;
--rx-medical-secondary-light: #dbeafe;
--rx-medical-success: #15803d;
--rx-medical-success-light: #dcfce7;
--rx-medical-warning: #b45309;
--rx-medical-warning-light: #fef3c7;
--rx-medical-danger: #b91c1c;
--rx-medical-danger-light: #fee2e2;
--rx-medical-info: #0369a1;
--rx-medical-info-light: #e0f2fe;
--rx-medical-neutral-50: #f8fafc;
--rx-medical-neutral-100: #f1f5f9;
--rx-medical-neutral-200: #e2e8f0;
--rx-medical-neutral-300: #cbd5e1;
--rx-medical-neutral-400: #94a3b8;
--rx-medical-neutral-500: #64748b;
--rx-medical-neutral-600: #475569;
--rx-medical-neutral-700: #334155;
--rx-medical-neutral-800: #1e293b;
--rx-medical-neutral-900: #0f172a;
--rx-medical-bg: #ffffff;
--rx-medical-bg-soft: #f8fafc;
--rx-medical-text: #1e293b;
--rx-medical-muted: #64748b;
--rx-medical-border: #e2e8f0;
--rx-medical-radius-xs: 4px;
--rx-medical-radius-sm: 8px;
--rx-medical-radius-md: 12px;
--rx-medical-radius-lg: 18px;
--rx-medical-radius-xl: 24px;
--rx-medical-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
--rx-medical-shadow-md: 0 8px 22px rgba(15, 23, 42, 0.08);
--rx-medical-shadow-lg: 0 20px 40px rgba(15, 23, 42, 0.12);
--rx-medical-font-size-xs: 0.78rem;
--rx-medical-font-size-sm: 0.9rem;
--rx-medical-font-size-base: 1rem;
--rx-medical-font-size-md: 1.08rem;
--rx-medical-font-size-lg: 1.25rem;
--rx-medical-font-size-xl: 1.6rem;
--rx-medical-font-size-2xl: 2rem;
--rx-medical-font-size-3xl: 2.6rem;
--rx-medical-content-width: 860px;
--rx-medical-wide-width: 1180px;
--rx-medical-transition: 180ms ease;
}
/* =========================================================
02. MEDICAL PAGE WRAPPER
========================================================= */
.rx-medical-page {
background: var(--rx-medical-bg-soft);
color: var(--rx-medical-text);
line-height: 1.75;
}
.rx-medical-container {
width: min(100% - 32px, var(--rx-medical-wide-width));
margin-inline: auto;
}
.rx-medical-content-wrap {
display: grid;
grid-template-columns: minmax(0, 1fr) 320px;
gap: 32px;
align-items: start;
padding-block: 32px;
}
.rx-medical-main {
min-width: 0;
}
.rx-medical-article {
background: var(--rx-medical-bg);
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-xl);
box-shadow: var(--rx-medical-shadow-sm);
padding: clamp(22px, 4vw, 48px);
}
.rx-medical-narrow {
max-width: var(--rx-medical-content-width);
margin-inline: auto;
}
.rx-medical-wide {
max-width: var(--rx-medical-wide-width);
margin-inline: auto;
}
/* =========================================================
03. MEDICAL HERO SECTION
========================================================= */
.rx-medical-hero {
position: relative;
overflow: hidden;
background:
radial-gradient(circle at top left, rgba(13, 148, 136, 0.18), transparent 32%),
linear-gradient(135deg, #ecfeff 0%, #f8fafc 45%, #ffffff 100%);
border-bottom: 1px solid var(--rx-medical-border);
padding: clamp(36px, 7vw, 88px) 0;
}
.rx-medical-hero::before {
content: "";
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(15, 118, 110, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(15, 118, 110, 0.05) 1px, transparent 1px);
background-size: 32px 32px;
pointer-events: none;
}
.rx-medical-hero-inner {
position: relative;
z-index: 1;
max-width: 960px;
}
.rx-medical-kicker {
display: inline-flex;
align-items: center;
gap: 8px;
margin-bottom: 14px;
padding: 6px 12px;
border-radius: 999px;
background: var(--rx-medical-primary-light);
color: var(--rx-medical-primary-dark);
font-weight: 700;
font-size: var(--rx-medical-font-size-sm);
letter-spacing: 0.02em;
}
.rx-medical-kicker::before {
content: "✚";
font-size: 0.95em;
}
.rx-medical-title {
margin: 0 0 16px;
color: var(--rx-medical-neutral-900);
font-size: clamp(2rem, 6vw, 4.2rem);
line-height: 1.05;
letter-spacing: -0.045em;
}
.rx-medical-subtitle {
max-width: 760px;
margin: 0;
color: var(--rx-medical-neutral-600);
font-size: clamp(1.05rem, 2vw, 1.28rem);
}
.rx-medical-meta {
display: flex;
flex-wrap: wrap;
gap: 10px 18px;
margin-top: 22px;
color: var(--rx-medical-muted);
font-size: var(--rx-medical-font-size-sm);
}
.rx-medical-meta span {
display: inline-flex;
align-items: center;
gap: 7px;
}
.rx-medical-meta strong {
color: var(--rx-medical-neutral-800);
}
/* =========================================================
04. MEDICAL ARTICLE TYPOGRAPHY
========================================================= */
.rx-medical-article :where(p, li) {
color: var(--rx-medical-text);
font-size: var(--rx-medical-font-size-md);
}
.rx-medical-article p {
margin: 0 0 1.25em;
}
.rx-medical-article h2,
.rx-medical-article h3,
.rx-medical-article h4,
.rx-medical-article h5,
.rx-medical-article h6 {
color: var(--rx-medical-neutral-900);
line-height: 1.22;
letter-spacing: -0.025em;
}
.rx-medical-article h2 {
position: relative;
margin: 2.2em 0 0.8em;
padding-top: 0.2em;
font-size: clamp(1.65rem, 3vw, 2.2rem);
}
.rx-medical-article h2::before {
content: "";
display: block;
width: 72px;
height: 5px;
margin-bottom: 14px;
border-radius: 999px;
background: linear-gradient(90deg, var(--rx-medical-primary), var(--rx-medical-secondary));
}
.rx-medical-article h3 {
margin: 1.8em 0 0.7em;
font-size: clamp(1.28rem, 2vw, 1.55rem);
}
.rx-medical-article h4 {
margin: 1.5em 0 0.6em;
font-size: 1.15rem;
}
.rx-medical-article a {
color: var(--rx-medical-secondary);
font-weight: 650;
text-decoration-thickness: 0.08em;
text-underline-offset: 0.18em;
transition: color var(--rx-medical-transition);
}
.rx-medical-article a:hover {
color: var(--rx-medical-secondary-dark);
}
.rx-medical-article strong {
color: var(--rx-medical-neutral-900);
font-weight: 750;
}
.rx-medical-article em {
color: var(--rx-medical-neutral-700);
}
.rx-medical-article blockquote {
margin: 2rem 0;
padding: 22px 26px;
border-left: 6px solid var(--rx-medical-primary);
border-radius: 0 var(--rx-medical-radius-lg) var(--rx-medical-radius-lg) 0;
background: var(--rx-medical-primary-light);
color: var(--rx-medical-primary-dark);
font-size: 1.08rem;
font-weight: 550;
}
.rx-medical-article hr {
height: 1px;
margin: 36px 0;
border: 0;
background: var(--rx-medical-border);
}
.rx-medical-article code {
padding: 0.2em 0.42em;
border-radius: 6px;
background: var(--rx-medical-neutral-100);
color: var(--rx-medical-danger);
font-size: 0.92em;
}
.rx-medical-article pre {
overflow-x: auto;
padding: 18px;
border-radius: var(--rx-medical-radius-md);
background: var(--rx-medical-neutral-900);
color: #ffffff;
}
.rx-medical-article pre code {
padding: 0;
background: transparent;
color: inherit;
}
/* =========================================================
05. MEDICAL KEY FACTS BOX
========================================================= */
.rx-medical-keyfacts {
display: grid;
gap: 14px;
margin: 28px 0;
padding: 22px;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-lg);
background: linear-gradient(180deg, #ffffff, var(--rx-medical-neutral-50));
box-shadow: var(--rx-medical-shadow-sm);
}
.rx-medical-keyfacts-title {
display: flex;
align-items: center;
gap: 10px;
margin: 0 0 6px;
color: var(--rx-medical-neutral-900);
font-size: 1.25rem;
font-weight: 800;
}
.rx-medical-keyfacts-title::before {
content: "ⓘ";
display: inline-grid;
place-items: center;
width: 28px;
height: 28px;
border-radius: 999px;
background: var(--rx-medical-secondary-light);
color: var(--rx-medical-secondary-dark);
}
.rx-medical-keyfacts-list {
display: grid;
gap: 12px;
margin: 0;
padding: 0;
list-style: none;
}
.rx-medical-keyfacts-list li {
display: grid;
grid-template-columns: 150px 1fr;
gap: 14px;
padding: 12px 14px;
border-radius: var(--rx-medical-radius-md);
background: #ffffff;
border: 1px solid var(--rx-medical-border);
}
.rx-medical-keyfacts-list strong {
color: var(--rx-medical-primary-dark);
}
/* =========================================================
06. MEDICAL SUMMARY BOX
========================================================= */
.rx-medical-summary {
margin: 30px 0;
padding: 24px;
border-radius: var(--rx-medical-radius-xl);
background:
linear-gradient(135deg, rgba(15, 118, 110, 0.09), rgba(37, 99, 235, 0.08)),
#ffffff;
border: 1px solid rgba(15, 118, 110, 0.22);
}
.rx-medical-summary h2,
.rx-medical-summary h3 {
margin-top: 0;
}
.rx-medical-summary p:last-child {
margin-bottom: 0;
}
.rx-medical-summary-list {
display: grid;
gap: 10px;
margin: 16px 0 0;
padding: 0;
list-style: none;
}
.rx-medical-summary-list li {
position: relative;
padding-left: 30px;
}
.rx-medical-summary-list li::before {
content: "✓";
position: absolute;
left: 0;
top: 0.05em;
display: inline-grid;
place-items: center;
width: 22px;
height: 22px;
border-radius: 999px;
background: var(--rx-medical-success-light);
color: var(--rx-medical-success);
font-weight: 900;
font-size: 0.8rem;
}
/* =========================================================
07. MEDICAL ALERT BOXES
========================================================= */
.rx-medical-alert {
position: relative;
margin: 28px 0;
padding: 20px 22px 20px 58px;
border-radius: var(--rx-medical-radius-lg);
border: 1px solid transparent;
}
.rx-medical-alert::before {
position: absolute;
left: 20px;
top: 20px;
display: inline-grid;
place-items: center;
width: 26px;
height: 26px;
border-radius: 999px;
font-weight: 900;
}
.rx-medical-alert h3,
.rx-medical-alert h4 {
margin-top: 0;
}
.rx-medical-alert p:last-child {
margin-bottom: 0;
}
.rx-medical-alert-info {
background: var(--rx-medical-info-light);
border-color: rgba(3, 105, 161, 0.25);
color: #075985;
}
.rx-medical-alert-info::before {
content: "i";
background: #ffffff;
color: var(--rx-medical-info);
}
.rx-medical-alert-warning {
background: var(--rx-medical-warning-light);
border-color: rgba(180, 83, 9, 0.28);
color: #92400e;
}
.rx-medical-alert-warning::before {
content: "!";
background: #ffffff;
color: var(--rx-medical-warning);
}
.rx-medical-alert-danger {
background: var(--rx-medical-danger-light);
border-color: rgba(185, 28, 28, 0.26);
color: #991b1b;
}
.rx-medical-alert-danger::before {
content: "!";
background: #ffffff;
color: var(--rx-medical-danger);
}
.rx-medical-alert-success {
background: var(--rx-medical-success-light);
border-color: rgba(21, 128, 61, 0.25);
color: #166534;
}
.rx-medical-alert-success::before {
content: "✓";
background: #ffffff;
color: var(--rx-medical-success);
}
/* =========================================================
08. MEDICAL DISCLAIMER BOX
========================================================= */
.rx-medical-disclaimer {
margin: 32px 0;
padding: 18px 20px;
border-radius: var(--rx-medical-radius-lg);
background: #fff7ed;
border: 1px solid #fed7aa;
color: #7c2d12;
font-size: var(--rx-medical-font-size-sm);
}
.rx-medical-disclaimer strong {
color: #7c2d12;
}
.rx-medical-disclaimer p {
font-size: var(--rx-medical-font-size-sm);
}
.rx-medical-disclaimer p:last-child {
margin-bottom: 0;
}
/* =========================================================
09. SYMPTOMS / CAUSES / TESTS LISTS
========================================================= */
.rx-medical-list {
display: grid;
gap: 12px;
margin: 24px 0;
padding: 0;
list-style: none;
}
.rx-medical-list li {
position: relative;
padding: 16px 18px 16px 52px;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-md);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
}
.rx-medical-list li::before {
position: absolute;
left: 16px;
top: 17px;
display: inline-grid;
place-items: center;
width: 24px;
height: 24px;
border-radius: 999px;
font-size: 0.78rem;
font-weight: 900;
}
.rx-medical-list-symptoms li::before {
content: "S";
background: var(--rx-medical-danger-light);
color: var(--rx-medical-danger);
}
.rx-medical-list-causes li::before {
content: "C";
background: var(--rx-medical-warning-light);
color: var(--rx-medical-warning);
}
.rx-medical-list-tests li::before {
content: "T";
background: var(--rx-medical-info-light);
color: var(--rx-medical-info);
}
.rx-medical-list-treatment li::before {
content: "Rx";
background: var(--rx-medical-success-light);
color: var(--rx-medical-success);
}
.rx-medical-list li strong {
display: block;
margin-bottom: 4px;
}
/* Numbered advanced medical list */
.rx-medical-number-list {
counter-reset: rx-medical-counter;
display: grid;
gap: 14px;
margin: 24px 0;
padding: 0;
list-style: none;
}
.rx-medical-number-list li {
counter-increment: rx-medical-counter;
position: relative;
padding: 18px 18px 18px 64px;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-lg);
background: #ffffff;
}
.rx-medical-number-list li::before {
content: counter(rx-medical-counter);
position: absolute;
left: 18px;
top: 18px;
display: inline-grid;
place-items: center;
width: 32px;
height: 32px;
border-radius: 999px;
background: var(--rx-medical-primary);
color: #ffffff;
font-weight: 900;
font-size: 0.9rem;
}
/* =========================================================
10. TREATMENT CARDS
========================================================= */
.rx-treatment-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin: 28px 0;
}
.rx-treatment-card {
position: relative;
overflow: hidden;
padding: 22px;
border-radius: var(--rx-medical-radius-xl);
border: 1px solid var(--rx-medical-border);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
transition:
transform var(--rx-medical-transition),
box-shadow var(--rx-medical-transition),
border-color var(--rx-medical-transition);
}
.rx-treatment-card::before {
content: "";
position: absolute;
inset: 0 0 auto;
height: 5px;
background: linear-gradient(90deg, var(--rx-medical-primary), var(--rx-medical-secondary));
}
.rx-treatment-card:hover {
transform: translateY(-3px);
box-shadow: var(--rx-medical-shadow-md);
border-color: rgba(15, 118, 110, 0.32);
}
.rx-treatment-card h3 {
margin-top: 0;
font-size: 1.22rem;
}
.rx-treatment-card p:last-child {
margin-bottom: 0;
}
.rx-treatment-badge {
display: inline-flex;
align-items: center;
margin-bottom: 12px;
padding: 5px 10px;
border-radius: 999px;
background: var(--rx-medical-primary-light);
color: var(--rx-medical-primary-dark);
font-size: var(--rx-medical-font-size-xs);
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.04em;
}
/* =========================================================
11. DRUG INFORMATION CARDS
========================================================= */
.rx-drug-card {
margin: 26px 0;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-xl);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
overflow: hidden;
}
.rx-drug-header {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 12px;
padding: 20px 22px;
background: linear-gradient(135deg, var(--rx-medical-secondary-light), #ffffff);
border-bottom: 1px solid var(--rx-medical-border);
}
.rx-drug-name {
margin: 0;
color: var(--rx-medical-neutral-900);
font-size: 1.35rem;
font-weight: 850;
}
.rx-drug-class {
display: inline-flex;
align-items: center;
padding: 6px 11px;
border-radius: 999px;
background: #ffffff;
color: var(--rx-medical-secondary-dark);
border: 1px solid rgba(37, 99, 235, 0.22);
font-weight: 750;
font-size: var(--rx-medical-font-size-sm);
}
.rx-drug-body {
padding: 22px;
}
.rx-drug-meta-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
margin-top: 18px;
}
.rx-drug-meta-item {
padding: 14px;
border-radius: var(--rx-medical-radius-md);
background: var(--rx-medical-neutral-50);
border: 1px solid var(--rx-medical-border);
}
.rx-drug-meta-item span {
display: block;
margin-bottom: 4px;
color: var(--rx-medical-muted);
font-size: var(--rx-medical-font-size-xs);
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.rx-drug-meta-item strong {
color: var(--rx-medical-neutral-900);
}
/* =========================================================
12. DIAGNOSTIC TEST CARDS
========================================================= */
.rx-test-card {
display: grid;
gap: 12px;
margin: 22px 0;
padding: 22px;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-xl);
background: #ffffff;
}
.rx-test-card-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
}
.rx-test-card h3 {
margin: 0;
}
.rx-test-type {
flex: 0 0 auto;
padding: 5px 10px;
border-radius: 999px;
background: var(--rx-medical-info-light);
color: var(--rx-medical-info);
font-size: var(--rx-medical-font-size-xs);
font-weight: 850;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.rx-test-purpose,
.rx-test-result,
.rx-test-meaning {
padding: 14px 16px;
border-radius: var(--rx-medical-radius-md);
background: var(--rx-medical-neutral-50);
border: 1px solid var(--rx-medical-border);
}
.rx-test-purpose strong,
.rx-test-result strong,
.rx-test-meaning strong {
display: block;
margin-bottom: 4px;
}
/* =========================================================
13. DOCTOR / AUTHOR BOX
========================================================= */
.rx-medical-author-box {
display: grid;
grid-template-columns: 92px 1fr;
gap: 20px;
margin: 36px 0;
padding: 24px;
border-radius: var(--rx-medical-radius-xl);
border: 1px solid var(--rx-medical-border);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
}
.rx-medical-author-avatar {
width: 92px;
height: 92px;
border-radius: 999px;
object-fit: cover;
border: 4px solid var(--rx-medical-primary-light);
}
.rx-medical-author-name {
margin: 0 0 4px;
color: var(--rx-medical-neutral-900);
font-size: 1.3rem;
font-weight: 850;
}
.rx-medical-author-role {
margin: 0 0 10px;
color: var(--rx-medical-primary-dark);
font-weight: 750;
}
.rx-medical-author-bio {
margin: 0;
color: var(--rx-medical-neutral-600);
font-size: var(--rx-medical-font-size-sm);
}
.rx-medical-review-box {
margin: 28px 0;
padding: 18px 20px;
border-radius: var(--rx-medical-radius-lg);
background: var(--rx-medical-success-light);
border: 1px solid rgba(21, 128, 61, 0.25);
color: #14532d;
}
.rx-medical-review-box strong {
color: #14532d;
}
/* =========================================================
14. MEDICAL TABLE STYLING
========================================================= */
.rx-medical-table-wrap {
overflow-x: auto;
margin: 28px 0;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-xl);
background: #ffffff;
}
.rx-medical-table {
width: 100%;
min-width: 680px;
border-collapse: collapse;
font-size: var(--rx-medical-font-size-sm);
}
.rx-medical-table caption {
padding: 14px 18px;
color: var(--rx-medical-neutral-700);
text-align: left;
font-weight: 800;
}
.rx-medical-table th,
.rx-medical-table td {
padding: 14px 16px;
border-bottom: 1px solid var(--rx-medical-border);
text-align: left;
vertical-align: top;
}
.rx-medical-table th {
background: var(--rx-medical-neutral-100);
color: var(--rx-medical-neutral-900);
font-weight: 850;
}
.rx-medical-table tr:last-child td {
border-bottom: 0;
}
.rx-medical-table tbody tr:hover {
background: var(--rx-medical-neutral-50);
}
.rx-medical-table .rx-risk-low {
color: var(--rx-medical-success);
font-weight: 800;
}
.rx-medical-table .rx-risk-medium {
color: var(--rx-medical-warning);
font-weight: 800;
}
.rx-medical-table .rx-risk-high {
color: var(--rx-medical-danger);
font-weight: 800;
}
/* =========================================================
15. FAQ ACCORDION STYLING
========================================================= */
.rx-medical-faq {
display: grid;
gap: 14px;
margin: 30px 0;
}
.rx-medical-faq-item {
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-lg);
background: #ffffff;
overflow: hidden;
}
.rx-medical-faq-question {
width: 100%;
display: flex;
justify-content: space-between;
gap: 16px;
padding: 18px 20px;
border: 0;
background: #ffffff;
color: var(--rx-medical-neutral-900);
font: inherit;
font-weight: 800;
text-align: left;
cursor: pointer;
}
.rx-medical-faq-question::after {
content: "+";
flex: 0 0 auto;
display: inline-grid;
place-items: center;
width: 28px;
height: 28px;
border-radius: 999px;
background: var(--rx-medical-neutral-100);
color: var(--rx-medical-primary-dark);
font-size: 1.2rem;
line-height: 1;
}
.rx-medical-faq-item[open] .rx-medical-faq-question::after,
.rx-medical-faq-item.is-open .rx-medical-faq-question::after {
content: "−";
background: var(--rx-medical-primary-light);
}
.rx-medical-faq-answer {
padding: 0 20px 20px;
color: var(--rx-medical-neutral-700);
}
.rx-medical-faq-answer p:last-child {
margin-bottom: 0;
}
/* Native details support */
.rx-medical-faq details {
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-lg);
background: #ffffff;
}
.rx-medical-faq summary {
padding: 18px 20px;
color: var(--rx-medical-neutral-900);
font-weight: 800;
cursor: pointer;
}
.rx-medical-faq details > div {
padding: 0 20px 20px;
}
/* =========================================================
16. REFERENCES / CITATIONS
========================================================= */
.rx-medical-references {
margin: 42px 0 0;
padding-top: 28px;
border-top: 1px solid var(--rx-medical-border);
}
.rx-medical-references h2 {
margin-top: 0;
}
.rx-medical-reference-list {
counter-reset: rx-reference;
display: grid;
gap: 10px;
margin: 18px 0 0;
padding: 0;
list-style: none;
}
.rx-medical-reference-list li {
counter-increment: rx-reference;
position: relative;
padding: 14px 16px 14px 50px;
border-radius: var(--rx-medical-radius-md);
background: var(--rx-medical-neutral-50);
border: 1px solid var(--rx-medical-border);
font-size: var(--rx-medical-font-size-sm);
color: var(--rx-medical-neutral-700);
}
.rx-medical-reference-list li::before {
content: counter(rx-reference);
position: absolute;
left: 14px;
top: 14px;
display: inline-grid;
place-items: center;
width: 24px;
height: 24px;
border-radius: 999px;
background: var(--rx-medical-secondary);
color: #ffffff;
font-size: 0.76rem;
font-weight: 900;
}
.rx-citation,
.rx-medical-citation {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 1.65em;
height: 1.65em;
padding: 0 0.45em;
border-radius: 999px;
background: var(--rx-medical-secondary-light);
color: var(--rx-medical-secondary-dark);
font-size: 0.72em;
font-weight: 900;
text-decoration: none;
vertical-align: super;
}
.rx-citation:hover,
.rx-medical-citation:hover {
background: var(--rx-medical-secondary);
color: #ffffff;
}
/* =========================================================
17. RELATED MEDICAL POSTS
========================================================= */
.rx-related-medical-posts {
margin-top: 42px;
}
.rx-related-medical-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}
.rx-related-medical-card {
overflow: hidden;
border-radius: var(--rx-medical-radius-xl);
border: 1px solid var(--rx-medical-border);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
transition:
transform var(--rx-medical-transition),
box-shadow var(--rx-medical-transition);
}
.rx-related-medical-card:hover {
transform: translateY(-3px);
box-shadow: var(--rx-medical-shadow-md);
}
.rx-related-medical-card img {
width: 100%;
aspect-ratio: 16 / 10;
object-fit: cover;
display: block;
}
.rx-related-medical-card-body {
padding: 16px;
}
.rx-related-medical-card-title {
margin: 0 0 8px;
color: var(--rx-medical-neutral-900);
font-size: 1rem;
line-height: 1.35;
}
.rx-related-medical-card-excerpt {
margin: 0;
color: var(--rx-medical-muted);
font-size: var(--rx-medical-font-size-sm);
}
/* =========================================================
18. MEDICAL SIDEBAR WIDGETS
========================================================= */
.rx-medical-sidebar {
position: sticky;
top: 24px;
display: grid;
gap: 18px;
}
.rx-medical-widget {
padding: 20px;
border-radius: var(--rx-medical-radius-xl);
border: 1px solid var(--rx-medical-border);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
}
.rx-medical-widget-title {
margin: 0 0 14px;
color: var(--rx-medical-neutral-900);
font-size: 1.08rem;
font-weight: 850;
}
.rx-medical-widget ul {
display: grid;
gap: 10px;
margin: 0;
padding: 0;
list-style: none;
}
.rx-medical-widget li {
padding-bottom: 10px;
border-bottom: 1px solid var(--rx-medical-border);
}
.rx-medical-widget li:last-child {
padding-bottom: 0;
border-bottom: 0;
}
.rx-medical-widget a {
color: var(--rx-medical-neutral-700);
font-weight: 700;
text-decoration: none;
}
.rx-medical-widget a:hover {
color: var(--rx-medical-primary);
}
.rx-medical-toc {
max-height: calc(100vh - 80px);
overflow: auto;
}
.rx-medical-toc a {
display: block;
padding: 8px 10px;
border-radius: var(--rx-medical-radius-sm);
}
.rx-medical-toc a:hover,
.rx-medical-toc a.is-active {
background: var(--rx-medical-primary-light);
color: var(--rx-medical-primary-dark);
}
/* =========================================================
19. BREADCRUMBS
========================================================= */
.rx-medical-breadcrumbs {
margin-bottom: 18px;
color: var(--rx-medical-muted);
font-size: var(--rx-medical-font-size-sm);
}
.rx-medical-breadcrumbs a {
color: var(--rx-medical-neutral-600);
text-decoration: none;
}
.rx-medical-breadcrumbs a:hover {
color: var(--rx-medical-primary);
}
.rx-medical-breadcrumbs .separator {
margin-inline: 7px;
color: var(--rx-medical-neutral-400);
}
/* =========================================================
20. SEARCH RESULT MEDICAL CARDS
========================================================= */
.rx-medical-search-card {
display: grid;
grid-template-columns: 180px 1fr;
gap: 20px;
padding: 18px;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-xl);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
}
.rx-medical-search-card + .rx-medical-search-card {
margin-top: 18px;
}
.rx-medical-search-thumb {
width: 100%;
aspect-ratio: 4 / 3;
border-radius: var(--rx-medical-radius-lg);
object-fit: cover;
background: var(--rx-medical-neutral-100);
}
.rx-medical-search-title {
margin: 0 0 8px;
font-size: 1.25rem;
}
.rx-medical-search-title a {
color: var(--rx-medical-neutral-900);
text-decoration: none;
}
.rx-medical-search-title a:hover {
color: var(--rx-medical-primary);
}
.rx-medical-search-excerpt {
margin: 0 0 12px;
color: var(--rx-medical-neutral-600);
}
.rx-medical-search-meta {
display: flex;
flex-wrap: wrap;
gap: 8px 14px;
color: var(--rx-medical-muted);
font-size: var(--rx-medical-font-size-sm);
}
/* =========================================================
21. PRINT MODE
========================================================= */
@media print {
:root {
--rx-medical-text: #000000;
--rx-medical-bg: #ffffff;
--rx-medical-bg-soft: #ffffff;
--rx-medical-border: #cccccc;
}
body {
background: #ffffff !important;
color: #000000 !important;
}
.rx-medical-hero,
.rx-medical-sidebar,
.rx-related-medical-posts,
.rx-medical-breadcrumbs,
.rx-medical-widget,
.rx-medical-share,
.rx-medical-comments,
.rx-medical-ad,
.site-header,
.site-footer,
.rx-header,
.rx-footer {
display: none !important;
}
.rx-medical-content-wrap {
display: block;
padding: 0;
}
.rx-medical-article {
border: 0;
box-shadow: none;
padding: 0;
}
.rx-medical-article a {
color: #000000;
text-decoration: underline;
}
.rx-medical-article a[href]::after {
content: " (" attr(href) ")";
font-size: 0.85em;
word-break: break-all;
}
.rx-medical-alert,
.rx-medical-summary,
.rx-medical-keyfacts,
.rx-drug-card,
.rx-test-card,
.rx-treatment-card {
break-inside: avoid;
}
h2,
h3,
h4 {
break-after: avoid;
}
}
/* =========================================================
22. RESPONSIVE MODE
========================================================= */
@media (max-width: 1100px) {
.rx-medical-content-wrap {
grid-template-columns: 1fr;
}
.rx-medical-sidebar {
position: static;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rx-related-medical-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 760px) {
.rx-medical-container {
width: min(100% - 22px, var(--rx-medical-wide-width));
}
.rx-medical-article {
border-radius: var(--rx-medical-radius-lg);
padding: 22px;
}
.rx-medical-content-wrap {
gap: 22px;
padding-block: 22px;
}
.rx-medical-meta {
display: grid;
gap: 8px;
}
.rx-medical-keyfacts-list li {
grid-template-columns: 1fr;
gap: 4px;
}
.rx-treatment-grid,
.rx-drug-meta-grid,
.rx-medical-sidebar,
.rx-related-medical-grid {
grid-template-columns: 1fr;
}
.rx-medical-author-box {
grid-template-columns: 1fr;
text-align: center;
}
.rx-medical-author-avatar {
margin-inline: auto;
}
.rx-medical-search-card {
grid-template-columns: 1fr;
}
.rx-test-card-header,
.rx-drug-header {
display: grid;
}
}
@media (max-width: 480px) {
.rx-medical-article {
padding: 18px;
}
.rx-medical-alert {
padding: 18px;
}
.rx-medical-alert::before {
position: static;
margin-bottom: 10px;
}
.rx-medical-number-list li,
.rx-medical-list li {
padding-left: 18px;
}
.rx-medical-number-list li::before,
.rx-medical-list li::before {
position: static;
margin-bottom: 10px;
}
}
/* =========================================================
23. ACCESSIBILITY
========================================================= */
.rx-medical-article :focus-visible,
.rx-medical-page :focus-visible {
outline: 3px solid rgba(37, 99, 235, 0.45);
outline-offset: 3px;
border-radius: 6px;
}
.rx-skip-medical-content {
position: absolute;
left: 12px;
top: 12px;
z-index: 9999;
transform: translateY(-140%);
padding: 10px 14px;
border-radius: var(--rx-medical-radius-sm);
background: var(--rx-medical-neutral-900);
color: #ffffff;
text-decoration: none;
transition: transform var(--rx-medical-transition);
}
.rx-skip-medical-content:focus {
transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
.rx-medical-page *,
.rx-medical-page *::before,
.rx-medical-page *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-duration: 0.001ms !important;
}
}
/* =========================================================
24. DARK MODE READY
========================================================= */
@media (prefers-color-scheme: dark) {
.rx-medical-page.rx-auto-dark {
--rx-medical-bg: #0f172a;
--rx-medical-bg-soft: #020617;
--rx-medical-text: #cbd5e1;
--rx-medical-muted: #94a3b8;
--rx-medical-border: rgba(148, 163, 184, 0.22);
--rx-medical-neutral-50: #0f172a;
--rx-medical-neutral-100: #1e293b;
--rx-medical-neutral-200: #334155;
--rx-medical-neutral-300: #475569;
--rx-medical-neutral-600: #cbd5e1;
--rx-medical-neutral-700: #e2e8f0;
--rx-medical-neutral-800: #f1f5f9;
--rx-medical-neutral-900: #ffffff;
}
.rx-medical-page.rx-auto-dark .rx-medical-article,
.rx-medical-page.rx-auto-dark .rx-medical-widget,
.rx-medical-page.rx-auto-dark .rx-treatment-card,
.rx-medical-page.rx-auto-dark .rx-drug-card,
.rx-medical-page.rx-auto-dark .rx-test-card,
.rx-medical-page.rx-auto-dark .rx-medical-author-box,
.rx-medical-page.rx-auto-dark .rx-related-medical-card,
.rx-medical-page.rx-auto-dark .rx-medical-search-card,
.rx-medical-page.rx-auto-dark .rx-medical-faq-item {
background: #0f172a;
}
.rx-medical-page.rx-auto-dark .rx-medical-hero {
background:
radial-gradient(circle at top left, rgba(45, 212, 191, 0.14), transparent 32%),
linear-gradient(135deg, #020617 0%, #0f172a 60%, #111827 100%);
}
.rx-medical-page.rx-auto-dark .rx-medical-faq-question {
background: #0f172a;
}
}
/* =========================================================
EXTRA ADVANCED UTILITY CLASSES
========================================================= */
.rx-medical-badge {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 5px 10px;
border-radius: 999px;
background: var(--rx-medical-neutral-100);
color: var(--rx-medical-neutral-700);
font-size: var(--rx-medical-font-size-xs);
font-weight: 850;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.rx-medical-badge-primary {
background: var(--rx-medical-primary-light);
color: var(--rx-medical-primary-dark);
}
.rx-medical-badge-info {
background: var(--rx-medical-info-light);
color: var(--rx-medical-info);
}
.rx-medical-badge-warning {
background: var(--rx-medical-warning-light);
color: var(--rx-medical-warning);
}
.rx-medical-badge-danger {
background: var(--rx-medical-danger-light);
color: var(--rx-medical-danger);
}
.rx-medical-badge-success {
background: var(--rx-medical-success-light);
color: var(--rx-medical-success);
}
.rx-medical-card {
padding: 22px;
border: 1px solid var(--rx-medical-border);
border-radius: var(--rx-medical-radius-xl);
background: #ffffff;
box-shadow: var(--rx-medical-shadow-sm);
}
.rx-medical-card-title {
margin-top: 0;
color: var(--rx-medical-neutral-900);
font-weight: 850;
}
.rx-medical-grid-2 {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}
.rx-medical-grid-3 {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}
.rx-medical-grid-4 {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 18px;
}
.rx-medical-divider {
height: 1px;
margin: 30px 0;
background: var(--rx-medical-border);
}
.rx-medical-center {
text-align: center;
}
.rx-medical-muted {
color: var(--rx-medical-muted);
}
.rx-medical-lead {
color: var(--rx-medical-neutral-700);
font-size: clamp(1.1rem, 2vw, 1.3rem);
line-height: 1.7;
}
.rx-medical-small {
font-size: var(--rx-medical-font-size-sm);
}
.rx-medical-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 44px;
padding: 10px 18px;
border: 1px solid transparent;
border-radius: 999px;
background: var(--rx-medical-primary);
color: #ffffff;
font-weight: 800;
text-decoration: none;
cursor: pointer;
transition:
transform var(--rx-medical-transition),
background var(--rx-medical-transition),
box-shadow var(--rx-medical-transition);
}
.rx-medical-button:hover {
transform: translateY(-2px);
background: var(--rx-medical-primary-dark);
color: #ffffff;
box-shadow: var(--rx-medical-shadow-md);
}
.rx-medical-button-outline {
background: transparent;
border-color: var(--rx-medical-primary);
color: var(--rx-medical-primary-dark);
}
.rx-medical-button-outline:hover {
background: var(--rx-medical-primary);
color: #ffffff;
}
.rx-medical-share {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 28px 0;
}
.rx-medical-share a {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 38px;
padding: 8px 13px;
border-radius: 999px;
background: var(--rx-medical-neutral-100);
color: var(--rx-medical-neutral-700);
font-size: var(--rx-medical-font-size-sm);
font-weight: 800;
text-decoration: none;
}
.rx-medical-share a:hover {
background: var(--rx-medical-primary);
color: #ffffff;
}
@media (max-width: 760px) {
.rx-medical-grid-2,
.rx-medical-grid-3,
.rx-medical-grid-4 {
grid-template-columns: 1fr;
}
}
Add this in your functions.php enqueue file:
function rx_theme_enqueue_medical_css() {
wp_enqueue_style(
'rx-medical',
get_template_directory_uri() . '/assets/css/rx-medical.css',
array(),
wp_get_theme()->get('Version')
);
}
add_action('wp_enqueue_scripts', 'rx_theme_enqueue_medical_css');
Use body or wrapper class like this:
<div class="rx-medical-page">
<main class="rx-medical-container rx-medical-content-wrap">
<article class="rx-medical-article">
Your medical article content here.
</article>
</main>
</div>
For dark mode auto support, use:
<div class="rx-medical-page rx-auto-dark">
...
</div>