/*
Theme Name: PACS Radiology
Theme URI: https://github.com/yourusername/pacs-radiology
Author: PACS Viewer
Author URI: https://github.com/yourusername
Description: A sleek, dark radiology-themed child theme for the PACS Image Viewer plugin. Professional black and white design inspired by real PACS workstations.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: pacs-radiology
Tags: dark, radiology, medical, portfolio, one-column, custom-colors, full-site-editing
*/

/* ═══════════════════════════════════════════════════════════════
   PACS Radiology v2 — Premium Dark Theme
   ═══════════════════════════════════════════════════════════════ */

/* ── CSS Custom Properties ────────────────────────────────────── */
:root {
    --pacs-bg: #060610;
    --pacs-surface: #0c0c1a;
    --pacs-surface-2: #111122;
    --pacs-surface-3: #161630;
    --pacs-border: #1a1a2e;
    --pacs-border-hover: #2a2a4a;
    --pacs-text: #c8cad0;
    --pacs-text-muted: #6b7280;
    --pacs-text-dim: #4b5060;
    --pacs-white: #f0f0f5;
    --pacs-accent: #00b4d8;
    --pacs-accent-dim: #0090b0;
    --pacs-accent-glow: rgba(0, 180, 216, 0.15);
    --pacs-accent-glow-strong: rgba(0, 180, 216, 0.25);
    --pacs-gradient-hero: linear-gradient(135deg, #060610 0%, #0a1628 40%, #0d1a30 60%, #060610 100%);
    --pacs-gradient-card: linear-gradient(145deg, rgba(15, 15, 35, 0.8), rgba(10, 10, 20, 0.9));
    --pacs-radius: 12px;
    --pacs-radius-lg: 16px;
    --pacs-radius-pill: 100px;
    --pacs-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
    --pacs-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.5);
    --pacs-shadow-glow: 0 0 30px rgba(0, 180, 216, 0.1);
    --pacs-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Global ─────────────────────────────────────────────────── */
body {
    background: var(--pacs-bg) !important;
    color: var(--pacs-text) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "cv11", "ss01";
}

/* Smooth scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--pacs-bg);
}
::-webkit-scrollbar-thumb {
    background: var(--pacs-border);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--pacs-border-hover);
}

/* ── Typography ─────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.wp-block-site-title,
.wp-block-site-title a {
    color: #ffffff !important;
    font-weight: 700;
    letter-spacing: -0.025em;
}

h1 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); }
h3 { font-size: clamp(1.3rem, 2.5vw, 1.875rem); }

p, li, td, th, dd, dt {
    color: var(--pacs-text);
}

a {
    color: var(--pacs-accent) !important;
    text-decoration: none !important;
    transition: color var(--pacs-transition);
}

a:hover {
    color: #38d9f5 !important;
}

/* ── Header ─────────────────────────────────────────────────── */
.wp-block-template-part:first-child,
header.wp-block-template-part {
    background: rgba(6, 6, 16, 0.85) !important;
    border-bottom: 1px solid var(--pacs-border);
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
}

.admin-bar .wp-block-template-part:first-child,
.admin-bar header.wp-block-template-part {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .wp-block-template-part:first-child,
    .admin-bar header.wp-block-template-part {
        top: 46px;
    }
}

.wp-block-site-title {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
}

.wp-block-site-title a {
    color: #ffffff !important;
    text-decoration: none !important;
    transition: color var(--pacs-transition);
}

.wp-block-site-title a:hover {
    color: var(--pacs-accent) !important;
}

/* Navigation */
.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content {
    color: #9ca3af !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 18px !important;
    border-radius: var(--pacs-radius-pill);
    transition: all var(--pacs-transition) !important;
}

.wp-block-navigation a:hover,
.wp-block-navigation .wp-block-navigation-item__content:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.06) !important;
}

.wp-block-navigation .current-menu-item > a,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
    color: #ffffff !important;
    background: var(--pacs-accent-glow) !important;
}

/* Submenu dropdown */
.wp-block-navigation__submenu-container {
    background: var(--pacs-surface-2) !important;
    border: 1px solid var(--pacs-border) !important;
    border-radius: var(--pacs-radius) !important;
    box-shadow: var(--pacs-shadow-lg) !important;
    padding: 8px !important;
}

.wp-block-navigation__submenu-container a {
    text-transform: none !important;
    letter-spacing: normal !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
    background: var(--pacs-bg) !important;
}

/* ── Hero Section ──────────────────────────────────────────── */
.pacs-hero {
    background: var(--pacs-gradient-hero) !important;
    position: relative;
    overflow: hidden;
}

.pacs-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(0, 180, 216, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.pacs-hero::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(0, 100, 180, 0.04) 0%, transparent 70%);
    pointer-events: none;
}

/* ── Feature Cards (homepage) ──────────────────────────────── */
.pacs-feature-card {
    background: var(--pacs-gradient-card) !important;
    border: 1px solid var(--pacs-border) !important;
    border-radius: var(--pacs-radius-lg) !important;
    transition: all var(--pacs-transition) !important;
    position: relative;
    overflow: hidden;
}

.pacs-feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 180, 216, 0.3), transparent);
    opacity: 0;
    transition: opacity var(--pacs-transition);
}

.pacs-feature-card:hover {
    border-color: var(--pacs-border-hover) !important;
    box-shadow: var(--pacs-shadow-glow) !important;
    transform: translateY(-2px);
}

.pacs-feature-card:hover::before {
    opacity: 1;
}

.pacs-feature-icon {
    font-size: 2rem !important;
    line-height: 1;
    margin-bottom: 8px;
}

/* ── Stats / Counters ──────────────────────────────────────── */
.pacs-stat-number {
    color: var(--pacs-accent) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
}

/* ── Main Content Area ──────────────────────────────────────── */
main,
.wp-block-group {
    background: transparent;
}

.wp-block-post-content > * {
    max-width: 100% !important;
}

/* ── Post / Series Cards ────────────────────────────────────── */
.wp-block-post {
    background: var(--pacs-surface) !important;
    border: 1px solid var(--pacs-border) !important;
    border-radius: var(--pacs-radius-lg) !important;
    overflow: hidden;
    transition: all var(--pacs-transition) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}

.wp-block-post:hover {
    border-color: rgba(0, 180, 216, 0.3) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), var(--pacs-shadow-glow) !important;
    transform: translateY(-3px);
}

.wp-block-post-title a {
    color: var(--pacs-white) !important;
    font-weight: 600 !important;
    transition: color var(--pacs-transition);
}

.wp-block-post-title a:hover {
    color: var(--pacs-accent) !important;
}

.wp-block-post-date,
.wp-block-post-author-name,
.wp-block-post-terms {
    color: var(--pacs-text-muted) !important;
    font-size: 13px !important;
}

.wp-block-post-excerpt {
    color: #8890a0 !important;
}

/* ── Featured Images ────────────────────────────────────────── */
.wp-block-post-featured-image img {
    border-radius: var(--pacs-radius);
    opacity: 0.9;
    transition: all var(--pacs-transition);
}

.wp-block-post:hover .wp-block-post-featured-image img {
    opacity: 1;
    transform: scale(1.02);
}

/* ── Single Post / Page ─────────────────────────────────────── */
.wp-block-post-title:not(a),
h1.wp-block-post-title {
    color: #ffffff !important;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 16px !important;
}

.wp-block-post-content {
    color: var(--pacs-text);
    line-height: 1.8;
    font-size: 16px;
}

/* ── Buttons ────────────────────────────────────────────────── */
.wp-block-button__link,
.wp-element-button {
    background: var(--pacs-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--pacs-radius-pill) !important;
    font-weight: 600 !important;
    padding: 14px 36px !important;
    transition: all var(--pacs-transition) !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 13px !important;
    box-shadow: 0 4px 16px rgba(0, 180, 216, 0.2);
}

.wp-block-button__link:hover,
.wp-element-button:hover {
    background: var(--pacs-accent-dim) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 24px rgba(0, 180, 216, 0.35) !important;
    transform: translateY(-1px);
}

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--pacs-accent) !important;
    border: 2px solid var(--pacs-accent) !important;
    box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--pacs-accent-glow) !important;
    box-shadow: none !important;
}

/* ── Tags / Categories ──────────────────────────────────────── */
.wp-block-post-terms a {
    background: var(--pacs-surface-2) !important;
    color: var(--pacs-text-muted) !important;
    padding: 5px 14px !important;
    border-radius: var(--pacs-radius-pill) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border: 1px solid var(--pacs-border) !important;
    transition: all var(--pacs-transition) !important;
}

.wp-block-post-terms a:hover {
    background: var(--pacs-surface-3) !important;
    color: var(--pacs-white) !important;
    border-color: var(--pacs-border-hover) !important;
}

/* ── Search ─────────────────────────────────────────────────── */
.wp-block-search__input {
    background: var(--pacs-surface) !important;
    color: var(--pacs-text) !important;
    border: 1px solid var(--pacs-border) !important;
    border-radius: var(--pacs-radius-pill) !important;
    padding: 14px 20px !important;
    transition: all var(--pacs-transition);
}

.wp-block-search__input:focus {
    border-color: var(--pacs-accent) !important;
    box-shadow: 0 0 0 3px var(--pacs-accent-glow) !important;
    outline: none !important;
}

.wp-block-search__button {
    background: var(--pacs-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--pacs-radius-pill) !important;
}

/* ── Footer ─────────────────────────────────────────────────── */
footer.wp-block-template-part,
.wp-block-template-part:last-child {
    background: #040408 !important;
    border-top: 1px solid var(--pacs-border) !important;
    color: var(--pacs-text-dim) !important;
}

footer.wp-block-template-part *,
.wp-block-template-part:last-child * {
    color: var(--pacs-text-dim) !important;
}

footer.wp-block-template-part a:hover,
.wp-block-template-part:last-child a:hover {
    color: var(--pacs-accent) !important;
}

.wp-block-site-tagline {
    color: var(--pacs-text-muted) !important;
    font-style: normal;
}

/* ── Separators ─────────────────────────────────────────────── */
.wp-block-separator,
hr {
    border-color: var(--pacs-border) !important;
    opacity: 1 !important;
}

/* ── Blockquote ─────────────────────────────────────────────── */
.wp-block-quote,
blockquote {
    border-left: 3px solid var(--pacs-accent) !important;
    background: var(--pacs-surface) !important;
    padding: 24px 28px !important;
    border-radius: 0 var(--pacs-radius) var(--pacs-radius) 0 !important;
    color: #9ca3af !important;
    font-style: italic;
}

/* ── Code / Pre ─────────────────────────────────────────────── */
.wp-block-code,
pre, code {
    background: var(--pacs-surface) !important;
    color: #a5b4c8 !important;
    border: 1px solid var(--pacs-border) !important;
    border-radius: var(--pacs-radius) !important;
    font-family: 'JetBrains Mono', "SF Mono", "Consolas", "Monaco", monospace !important;
}

/* ── Tables ─────────────────────────────────────────────────── */
.wp-block-table table {
    border-collapse: collapse;
}

.wp-block-table td,
.wp-block-table th {
    border-color: var(--pacs-border) !important;
    padding: 14px 18px !important;
}

.wp-block-table th {
    background: var(--pacs-surface) !important;
    color: var(--pacs-white) !important;
    font-weight: 600;
}

.wp-block-table tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.015);
}

/* ── Comments ───────────────────────────────────────────────── */
textarea, input[type="text"], input[type="email"], input[type="url"] {
    background: var(--pacs-surface) !important;
    color: var(--pacs-text) !important;
    border: 1px solid var(--pacs-border) !important;
    border-radius: var(--pacs-radius) !important;
    padding: 14px 18px !important;
    transition: all var(--pacs-transition);
}

textarea:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus {
    border-color: var(--pacs-accent) !important;
    box-shadow: 0 0 0 3px var(--pacs-accent-glow) !important;
    outline: none !important;
}

/* ── Pagination ─────────────────────────────────────────────── */
.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span {
    background: var(--pacs-surface) !important;
    color: #8890a0 !important;
    border: 1px solid var(--pacs-border) !important;
    border-radius: var(--pacs-radius-pill) !important;
    padding: 8px 16px !important;
    transition: all var(--pacs-transition) !important;
    font-weight: 500;
}

.wp-block-query-pagination-numbers a:hover {
    background: var(--pacs-surface-3) !important;
    color: #ffffff !important;
    border-color: var(--pacs-border-hover) !important;
}

.wp-block-query-pagination-numbers .current {
    background: var(--pacs-accent) !important;
    color: #ffffff !important;
    border-color: var(--pacs-accent) !important;
}

/* ── Grid ───────────────────────────────────────────────────── */
.wp-block-query .wp-block-post-template {
    gap: 28px !important;
}

/* ── Images ─────────────────────────────────────────────────── */
.wp-block-image img {
    border-radius: var(--pacs-radius);
    box-shadow: var(--pacs-shadow);
}

/* Hero logo — blend into hero background seamlessly */
.pacsbean-hero-logo img {
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    mix-blend-mode: lighten;
}

.wp-block-image figcaption {
    color: var(--pacs-text-muted) !important;
    font-size: 13px !important;
    text-align: center;
    margin-top: 10px;
}

/* ── Selection ──────────────────────────────────────────────── */
::selection {
    background: rgba(0, 180, 216, 0.3);
    color: #ffffff;
}

/* ── Focus ──────────────────────────────────────────────────── */
:where(.wp-site-blocks *:focus) {
    outline-color: var(--pacs-accent) !important;
}

/* ── Animations ─────────────────────────────────────────────── */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes subtleGlow {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

.wp-block-post-content > * {
    animation: fadeInUp 0.5s ease-out;
}

/* ── PACS Viewer Integration ────────────────────────────────── */
.piv-viewer-container {
    border-radius: var(--pacs-radius-lg) !important;
    border-color: var(--pacs-border) !important;
    box-shadow: var(--pacs-shadow-lg) !important;
    margin: 28px 0 !important;
}

.piv-playlist-container {
    border-radius: var(--pacs-radius-lg) !important;
    box-shadow: var(--pacs-shadow-lg) !important;
    margin: 28px 0 !important;
}

.piv-teaching-panel {
    margin: 0 0 28px !important;
    border-radius: 0 0 var(--pacs-radius-lg) var(--pacs-radius-lg) !important;
}

/* ── Section Divider ────────────────────────────────────────── */
.pacs-section-label {
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    color: var(--pacs-accent) !important;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 600px) {
    body {
        font-size: 15px;
    }

    .wp-block-navigation a,
    .wp-block-navigation .wp-block-navigation-item__content {
        font-size: 13px !important;
        padding: 6px 14px !important;
    }

    .wp-block-button__link,
    .wp-element-button {
        padding: 12px 28px !important;
    }
}

@media (max-width: 782px) {
    .pacs-feature-grid {
        grid-template-columns: 1fr !important;
    }
}
