/**
 * STARFLEET Ultra Professional Design System
 * Compact, detailed, with creative micro-animations
 * Version: 3.0.0
 */

/* =========================================
   CSS RESET & VARIABLES
   ========================================= */
:root {
    /* Professional Color System */
    --sf-primary: #4A5FD9;
    --sf-primary-dark: #2E3F8F;
    --sf-primary-light: #6B7FE3;

    --sf-accent: #00E5FF;
    --sf-accent-glow: rgba(0, 229, 255, 0.4);

    --sf-gold: #FFB74D;
    --sf-gold-dim: #CC9237;

    --sf-success: #00E676;
    --sf-warning: #FFA726;
    --sf-danger: #FF5252;

    /* Backgrounds */
    --sf-bg: #0A0E1B;
    --sf-bg-card: rgba(20, 28, 46, 0.6);
    --sf-bg-hover: rgba(74, 95, 217, 0.1);

    /* Text */
    --sf-text: #E8EAF0;
    --sf-text-dim: #94A3B8;
    --sf-text-muted: #64748B;

    /* Spacing System - Compact */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 0.75rem;
    --space-lg: 1rem;
    --space-xl: 1.5rem;
    --space-2xl: 2rem;

    /* Typography */
    --font-sans: 'Inter', -apple-system, system-ui, sans-serif;
    --font-display: 'Exo 2', 'Orbitron', sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

    /* Animations */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

    /* LCARS Color System */
    --lcars-blue: #51479B;
    --lcars-gold: #D2B887;
    --lcars-silver: #9B9B99;
    --lcars-green: #117733;
    --lcars-red: #B51100;
    --lcars-teal: #44AA99;
    --lcars-yellow: #BB9F00;
    --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 15px;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-sans);
    background: var(--sf-bg);
    color: var(--sf-text);
    line-height: 1.5;
    min-height: 100vh;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* =========================================
   LAYOUT FIXES
   ========================================= */
#page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#content {
    display: flex;
    flex: 1;
    padding-top: 80px;
    /* Fixed header height */
    align-self: center;
}

/* =========================================
   STARFLEET POLICIES WIDGET STYLES
   ========================================= */
.starfleet-policies-container {
    --primary-color: var(--lcars-blue);
    --secondary-color: var(--lcars-gold);
    --accent-color: var(--lcars-green);
    width: 100%;
    background: linear-gradient(135deg, rgba(10, 14, 27, 0.95) 0%, rgba(20, 28, 46, 0.95) 100%);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.starfleet-policies-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--primary-color) 20%,
            var(--secondary-color) 50%,
            var(--primary-color) 80%,
            transparent 100%);
    animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

/* LCARS Header */
.starfleet-policies-container .lcars-header {
    background: var(--primary-color);
    padding: 0;
    margin-bottom: 2rem;
    position: relative;
}

.lcars-header-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    background: linear-gradient(90deg, var(--primary-color) 0%, rgba(81, 71, 155, 0.8) 100%);
    clip-path: polygon(0 0, 100% 0, 98% 100%, 0% 100%);
}

.lcars-header-text {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--sf-text);
}

.lcars-header-code {
    font-family: var(--font-mono);
    font-size: 0.9rem;
    color: var(--secondary-color);
    opacity: 0.9;
}

.lcars-header-accent {
    height: 4px;
    background: linear-gradient(90deg,
            var(--secondary-color) 0%,
            transparent 30%,
            transparent 70%,
            var(--accent-color) 100%);
}

/* Control Panel */
.policies-control-panel {
    display: flex;
    gap: 2rem;
    padding: 0 2rem 2rem;
    flex-wrap: wrap;
    align-items: center;
}

.lcars-search-container {
    flex: 1;
    min-width: 300px;
    display: flex;
    background: rgba(81, 71, 155, 0.1);
    border: 2px solid var(--primary-color);
    border-radius: 50px;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
}

.lcars-search-container:focus-within {
    border-color: var(--secondary-color);
    box-shadow: 0 0 20px rgba(210, 184, 135, 0.3);
}

.lcars-search-input {
    flex: 1;
    padding: 0.75rem 1.5rem;
    background: transparent;
    border: none;
    color: var(--sf-text);
    font-family: var(--font-sans);
    font-size: 1rem;
    outline: none;
}

.lcars-search-input::placeholder {
    color: var(--sf-text-muted);
}

.lcars-search-button {
    padding: 0 1.5rem;
    background: var(--primary-color);
    border: none;
    color: var(--sf-text);
    cursor: pointer;
    transition: all 0.3s var(--ease-out);
}

.lcars-search-button:hover {
    background: var(--secondary-color);
}

.search-icon::before {
    content: '⊕';
    font-size: 1.5rem;
}


/* Policies Display Grid */
.policies-display {
    padding: 0 2rem 2rem;
}

.policies-display.grid-layout {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 2rem;
}


/* Policy Item */
.policy-item {
    background: rgba(20, 28, 46, 0.6);
    border: 2px solid rgba(81, 71, 155, 0.3);
    border-radius: 15px;
    padding: 1.5rem;
    position: relative;
    transition: all 0.4s var(--ease-out);
    overflow: hidden;
}

.policy-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
            rgba(81, 71, 155, 0.15) 0%,
            transparent 60%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.hover-enabled .policy-item:hover::before {
    opacity: 1;
}

.hover-enabled .policy-item:hover {
    transform: translateY(-3px);
    border-color: var(--secondary-color);
    box-shadow:
        0 5px 25px rgba(81, 71, 155, 0.2),
        0 0 30px rgba(210, 184, 135, 0.1),
        inset 0 0 20px rgba(81, 71, 155, 0.05);
}

/* LCARS Frame */
.lcars-frame {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.lcars-corner-tl,
.lcars-corner-tr,
.lcars-corner-bl,
.lcars-corner-br {
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid var(--secondary-color);
    opacity: 0.3;
    transition: opacity 0.3s ease, border-color 0.3s ease;
}

.hover-enabled .policy-item:hover .lcars-corner-tl,
.hover-enabled .policy-item:hover .lcars-corner-tr,
.hover-enabled .policy-item:hover .lcars-corner-bl,
.hover-enabled .policy-item:hover .lcars-corner-br {
    opacity: 0.8;
    border-color: var(--accent-color);
}

.lcars-corner-tl {
    top: 0;
    left: 0;
    border-right: none;
    border-bottom: none;
    border-top-left-radius: 15px;
}

.lcars-corner-tr {
    top: 0;
    right: 0;
    border-left: none;
    border-bottom: none;
    border-top-right-radius: 15px;
}

.lcars-corner-bl {
    bottom: 0;
    left: 0;
    border-right: none;
    border-top: none;
    border-bottom-left-radius: 15px;
}

.lcars-corner-br {
    bottom: 0;
    right: 0;
    border-left: none;
    border-top: none;
    border-bottom-right-radius: 15px;
}

/* Policy Header */
.policy-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.policy-code {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
    background: rgba(81, 71, 155, 0.2);
    border-radius: 20px;
    border: 1px solid var(--primary-color);
}

.code-label {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-text-muted);
    letter-spacing: 0.1em;
}

.code-value {
    font-family: var(--font-mono);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--secondary-color);
}

/* Status Badge */
.policy-status-badge {
    padding: 0.25rem 1rem;
    border-radius: 20px;
    font-family: var(--font-display);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
}

.policy-status-badge::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    animation: pulse 2s infinite;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.policy-status-badge.status-active {
    background: rgba(0, 230, 118, 0.2);
    border: 1px solid var(--sf-success);
    color: var(--sf-success);
}

.policy-status-badge.status-draft {
    background: rgba(255, 167, 38, 0.2);
    border: 1px solid var(--sf-warning);
    color: var(--sf-warning);
}

.policy-status-badge.status-under_review {
    background: rgba(0, 229, 255, 0.2);
    border: 1px solid var(--sf-accent);
    color: var(--sf-accent);
}

.policy-status-badge.status-archived {
    background: rgba(155, 155, 153, 0.2);
    border: 1px solid var(--lcars-silver);
    color: var(--lcars-silver);
}

/* Policy Title */
.policy-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--sf-text);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.title-indicator {
    width: 4px;
    height: 24px;
    background: linear-gradient(180deg, var(--secondary-color) 0%, transparent 100%);
    border-radius: 2px;
}

/* Policy Metadata */
.policy-metadata {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    background: rgba(81, 71, 155, 0.05);
    border-radius: 10px;
    border-left: 3px solid var(--primary-color);
}

.metadata-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.metadata-label {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--sf-text-muted);
    letter-spacing: 0.1em;
}

.metadata-value {
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--sf-text);
}

/* Policy Summary */
.policy-summary {
    margin-bottom: 1.5rem;
    display: flex;
    gap: 1rem;
}

.summary-indicator {
    width: 3px;
    background: linear-gradient(180deg, var(--accent-color) 0%, transparent 100%);
    border-radius: 2px;
}

.summary-content {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--sf-text-dim);
}

/* Policy Full Content */
.policy-content {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.content-separator {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--primary-color) 20%,
            var(--accent-color) 50%,
            var(--primary-color) 80%,
            transparent 100%);
    margin-bottom: 1.5rem;
    opacity: 0.5;
}

.content-body {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--sf-text-dim);
}

.content-body p {
    margin-bottom: 1rem;
}

.content-body h1,
.content-body h2,
.content-body h3,
.content-body h4,
.content-body h5,
.content-body h6 {
    font-family: var(--font-display);
    color: var(--sf-text);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.content-body h2 {
    font-size: 1.3rem;
    color: var(--secondary-color);
}

.content-body h3 {
    font-size: 1.1rem;
    color: var(--accent-color);
}

.content-body ul,
.content-body ol {
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.content-body li {
    margin-bottom: 0.5rem;
}

.content-body blockquote {
    border-left: 3px solid var(--primary-color);
    padding-left: 1rem;
    margin: 1rem 0;
    font-style: italic;
    color: var(--sf-text-muted);
}

/* Scan Line Effect */
.scan-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-accent) 50%,
            transparent 100%);
    opacity: 0;
    animation: scan 3s linear infinite;
    pointer-events: none;
}

.animations-enabled .policy-item:hover .scan-line {
    opacity: 1;
}

@keyframes scan {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(300px);
    }
}

/* LCARS Footer */
.lcars-footer {
    margin-top: 2rem;
    background: var(--primary-color);
}

.lcars-footer-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    background: linear-gradient(90deg, rgba(81, 71, 155, 0.8) 0%, var(--primary-color) 100%);
    clip-path: polygon(2% 0%, 100% 0, 100% 100%, 0% 100%);
}

.total-policies,
.system-status {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.system-status {
    color: var(--sf-success);
}


/* Responsive Design */
@media (max-width: 768px) {
    .policies-display.grid-layout {
        grid-template-columns: 1fr;
    }

    .policies-control-panel {
        flex-direction: column;
        align-items: stretch;
    }

    .lcars-search-container {
        min-width: 100%;
    }

    .policy-metadata {
        grid-template-columns: 1fr;
    }


    .lcars-header-text {
        font-size: 1.1rem;
    }
}

/* Loading State */
.starfleet-policies-container.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    border: 3px solid var(--primary-color);
    border-top-color: var(--secondary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    transform: translate(-50%, -50%);
}

@keyframes spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* No Policies Message */
.starfleet-no-policies {
    text-align: center;
    padding: 4rem 2rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--sf-text-muted);
}

/* =========================================
   CAMPUS TEMPLATE STYLES 
   ========================================= */
.campus-template-wrapper {
    width: 100%;
    max-width: 1400px;
    margin: 2rem auto;
    background: linear-gradient(135deg, rgba(10, 14, 27, 0.95) 0%, rgba(20, 28, 46, 0.9) 100%);
    border: 2px solid var(--lcars-blue);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

/* LCARS Frame Top */
.lcars-frame-top {
    display: flex;
    align-items: center;
    height: 60px;
    background: linear-gradient(90deg, var(--lcars-blue) 0%, var(--lcars-gold) 50%, var(--lcars-blue) 100%);
    position: relative;
    padding: 0 2rem;
}

.lcars-bar-horizontal {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.3;
}

.lcars-corner-left,
.lcars-corner-right {
    width: 80px;
    height: 100%;
    background: var(--lcars-gold);
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
}

.lcars-corner-right {
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
    margin-left: auto;
}

.lcars-title-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    padding: 0 2rem;
    z-index: 2;
    position: relative;
}

.lcars-label {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--sf-bg);
    text-transform: uppercase;
}

.stardate-display {
    font-family: var(--font-mono);
    font-size: 0.9rem;
    color: var(--sf-bg);
    font-weight: 600;
    letter-spacing: 0.1em;
}

ul li {
    list-style-position: inside;
}

/* Main Content Layout */
.campus-main-content {
    display: flex;
    gap: 48px;
}

/* LCARS Sidebars */
.lcars-sidebar-left,
.lcars-sidebar-right {
    width: 340px;
    background: rgba(10, 14, 27, 0.8);
    display: flex;
    flex-direction: column;
    padding: 1rem 0;
}

.lcars-sidebar {
    width: 340px;

}

.lcars-sidebar .sidebar-content {
    width: 100%;
}

.lcars-block {
    height: 60px;
    margin: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px 0 0 20px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
}

.lcars-sidebar-right .lcars-block {
    border-radius: 0 20px 20px 0;
}

.lcars-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.lcars-block:hover::before {
    left: 100%;
}

.lcars-block.lcars-blue {
    background: var(--lcars-blue);
}

.lcars-block.lcars-gold {
    background: var(--lcars-gold);
}

.lcars-block.lcars-teal {
    background: var(--lcars-teal);
}

.lcars-block.lcars-silver {
    background: var(--lcars-silver);
}

.lcars-text {
    font-family: var(--font-display);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--sf-bg);
    text-transform: uppercase;
}

.lcars-vertical-bar {
    flex: 1;
    width: 80%;
    margin: 1rem auto;
    background: var(--lcars-blue);
    border-radius: 10px;
    position: relative;
}

.lcars-vertical-bar::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    animation: pulse-vertical 2s ease-in-out infinite;
}

@keyframes pulse-vertical {

    0%,
    100% {
        opacity: 0.2;
    }

    50% {
        opacity: 0.8;
    }
}

/* Campus Content Area */
.campus-content-area {
    flex: 1;
    padding: 2rem 3rem;
    background: rgba(20, 28, 46, 0.3);
}

/* Campus Header */
.campus-header {
    margin-bottom: 2rem;
}

.campus-title {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--sf-accent) 0%, var(--lcars-gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1.5rem;
    position: relative;
    display: inline-block;
}

.campus-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, var(--lcars-blue), transparent);
}

/* Campus Info Panel */
.campus-info-panel {
    background: linear-gradient(135deg, rgba(81, 71, 155, 0.1) 0%, rgba(210, 184, 135, 0.1) 100%);
    border: 1px solid rgba(81, 71, 155, 0.3);
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.info-item {
    display: flex;
    flex-direction: column;
    padding: 0.75rem;
    background: rgba(0, 0, 0, 0.2);
    border-left: 3px solid var(--lcars-gold);
    border-radius: 0 5px 5px 0;
}

.info-label {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
}

.info-value {
    font-size: 1rem;
    color: var(--sf-text);
    font-weight: 500;
}

/* Campus Featured Image */
.campus-featured-image {
    margin-bottom: 2rem;
}

.lcars-image-frame {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 2px solid var(--lcars-blue);
}

.campus-image {
    width: 100%;
    height: auto;
    display: block;
}

.image-overlay-grid {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: repeating-linear-gradient(0deg,
            transparent,
            transparent 2px,
            rgba(81, 71, 155, 0.03) 2px,
            rgba(81, 71, 155, 0.03) 4px);
    pointer-events: none;
}

/* Campus Sections */
.campus-section {
    margin-bottom: 2.5rem;
}

.campus-section.campus-overview {
    padding-top: 28px;
}

.section-header {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    position: relative;
}

.lcars-bullet {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 1rem;
    animation: bullet-pulse 2s ease-in-out infinite;
}

.lcars-bullet.lcars-gold {
    background: var(--lcars-gold);
}

.lcars-bullet.lcars-blue {
    background: var(--lcars-blue);
}

.lcars-bullet.lcars-teal {
    background: var(--lcars-teal);
}

.lcars-bullet.lcars-silver {
    background: var(--lcars-silver);
}

@keyframes bullet-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.2);
        opacity: 0.8;
    }
}

.section-title {
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.section-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, var(--lcars-blue), transparent);
    margin-left: 1rem;
}

.section-content {
    padding-left: 2rem;
}

.campus-about,
.content-text {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--sf-text-dim);
}

.content-text p {
    margin-bottom: 1rem;
}

/* Dean Section */
.dean-section {
    background: linear-gradient(135deg, rgba(68, 170, 153, 0.05) 0%, rgba(81, 71, 155, 0.05) 100%);
    padding: 2rem;
    border-radius: 10px;
    border: 1px solid rgba(68, 170, 153, 0.2);
}

.dean-content {
    padding-left: 0;
}

.dean-info {
    margin-bottom: 1.5rem;
}

.dean-name-panel {
    display: inline-block;
    background: linear-gradient(90deg, var(--lcars-teal), rgba(68, 170, 153, 0.3));
    padding: 0.75rem 1.5rem;
    border-radius: 30px 0 30px 0;
}

.dean-name {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--sf-bg);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
}

.dean-title {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    color: rgba(10, 14, 27, 0.8);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: 0.25rem;
    display: block;
}

.dean-message-wrapper {
    display: flex;
    gap: 1rem;
}

.lcars-quote-bar {
    width: 4px;
    background: linear-gradient(180deg, var(--lcars-teal), transparent);
    border-radius: 2px;
}

.dean-message {
    flex: 1;
    color: var(--sf-text-dim);
    line-height: 1.7;
}

.dean-message p {
    margin-bottom: 1rem;
}

.dean-message p:last-child {
    margin-bottom: 0;
}

/* Programs Grid */
.programs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.program-item {
    display: flex;
    align-items: center;
    padding: 0.75rem;
    background: rgba(81, 71, 155, 0.1);
    border: 1px solid rgba(81, 71, 155, 0.3);
    border-radius: 5px;
    transition: all 0.3s var(--ease-out);
}

.program-item:hover {
    background: rgba(81, 71, 155, 0.2);
    transform: translateX(5px);
}

.program-indicator {
    width: 8px;
    height: 8px;
    background: var(--lcars-gold);
    border-radius: 50%;
    margin-right: 0.75rem;
    animation: blink 2s ease-in-out infinite;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

.program-item span {
    font-size: 0.95rem;
    color: var(--sf-text);
}

/* Campus Statistics */
.campus-statistics {
    margin: 2rem 0;
}

.stat-panel {
    background: linear-gradient(135deg, rgba(210, 184, 135, 0.1) 0%, rgba(81, 71, 155, 0.1) 100%);
    border: 2px solid var(--lcars-gold);
    border-radius: 10px;
    padding: 1.5rem;
}

.stat-header {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--lcars-gold);
    margin-bottom: 1.5rem;
    text-align: center;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.5rem;
}

.stat-item {
    text-align: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    transition: transform 0.3s var(--ease-out);
}

.stat-item:hover {
    transform: scale(1.05);
}

.stat-number {
    display: block;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--sf-accent) 0%, var(--lcars-gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 0.5rem;
}

.stat-label {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Campus Navigation */
.campus-navigation {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(81, 71, 155, 0.3);
}

.nav-panel {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.campus-nav-link {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(81, 71, 155, 0.1) 0%, transparent 100%);
    border: 1px solid rgba(81, 71, 155, 0.3);
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s var(--ease-out);
}

.campus-nav-link:hover {
    background: linear-gradient(135deg, rgba(81, 71, 155, 0.2) 0%, rgba(210, 184, 135, 0.1) 100%);
    transform: translateY(-2px);
}

.campus-nav-link.center {
    justify-content: center;
    flex-direction: column;
    max-width: 200px;
}

.lcars-arrow-left,
.lcars-arrow-right,
.lcars-icon-grid {
    width: 30px;
    height: 30px;
    background: var(--lcars-gold);
    margin: 0 0.75rem;
}

.lcars-arrow-left {
    clip-path: polygon(40% 0%, 40% 20%, 100% 20%, 100% 80%, 40% 80%, 40% 100%, 0% 50%);
}

.lcars-arrow-right {
    clip-path: polygon(60% 0%, 60% 20%, 0% 20%, 0% 80%, 60% 80%, 60% 100%, 100% 50%);
}

.lcars-icon-grid {
    background: linear-gradient(45deg, var(--lcars-blue) 25%, transparent 25%, transparent 75%, var(--lcars-blue) 75%, var(--lcars-blue)),
        linear-gradient(45deg, var(--lcars-blue) 25%, transparent 25%, transparent 75%, var(--lcars-blue) 75%, var(--lcars-blue));
    background-size: 10px 10px;
    background-position: 0 0, 5px 5px;
    border-radius: 5px;
    margin-bottom: 0.5rem;
}

.nav-label {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
}

.nav-title {
    font-size: 0.9rem;
    color: var(--sf-text);
    margin-top: 0.25rem;
    display: block;
}

/* LCARS Bottom Frame */
.lcars-frame-bottom {
    display: flex;
    align-items: center;
    height: 40px;
    background: linear-gradient(90deg, var(--lcars-blue) 0%, var(--lcars-silver) 50%, var(--lcars-blue) 100%);
    position: relative;
    padding: 0 2rem;
}

.lcars-corner-left-bottom,
.lcars-corner-right-bottom {
    width: 60px;
    height: 100%;
    background: var(--lcars-blue);
}

.lcars-corner-left-bottom {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
}

.lcars-corner-right-bottom {
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
}

.status-indicators {
    display: flex;
    gap: 0.5rem;
    margin: 0 auto;
}

.indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.indicator.active {
    background: var(--sf-accent);
    box-shadow: 0 0 10px var(--sf-accent);
    animation: indicator-pulse 2s ease-in-out infinite;
}

@keyframes indicator-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

/* Responsive Design */
@media (max-width: 1200px) {
    .campus-template-wrapper {
        margin: 1rem;
    }

    .lcars-sidebar-left,
    .lcars-sidebar-right {
        width: 80px;
    }

    .campus-content-area {
        padding: 1.5rem;
    }
}

@media (max-width: 768px) {

    .lcars-sidebar-left,
    .lcars-sidebar-right {
        display: none;
    }

    .campus-title {
        font-size: 1.8rem;
    }

    .info-grid {
        grid-template-columns: 1fr;
    }

    .programs-grid {
        grid-template-columns: 1fr;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nav-panel {
        flex-direction: column;
    }

    .campus-nav-link {
        max-width: 100%;
    }
}

/* =========================================
   HEADER - ULTRA COMPACT & DETAILED
   ========================================= */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(180deg, rgba(10, 14, 27, 0.98) 0%, rgba(10, 14, 27, 0.95) 100%);
    backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(74, 95, 217, 0.2);
    z-index: 9999;
    transition: all 0.3s var(--ease-out);
}

body.admin-bar .site-header {
    top: 32px;
}

.site-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-accent) 20%,
            var(--sf-accent) 80%,
            transparent 100%);
    opacity: 0.6;
    /* animation: scan-horizontal 8s linear infinite;*/
}

@keyframes scan-horizontal {

    0%,
    100% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(100%);
    }
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-lg);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xl);
}

/* Logo Section - Compact */
.site-logo {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}



@keyframes logo-breathe {

    0%,
    100% {
        transform: scale(1) rotate(0deg);
    }

    25% {
        transform: scale(1.05) rotate(1deg);
    }

    50% {
        transform: scale(1) rotate(0deg);
    }

    75% {
        transform: scale(1.05) rotate(-1deg);
    }
}

.logo-badge svg {
    width: 24px;
    height: 24px;
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.8));
}

.logo-badge img {
    width: 40px;
    height: 40px;
    position: relative;
    top: 0px;
}

.site-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin: 0;
    padding-left: 12px;
}

.site-title a {
    background: linear-gradient(135deg, var(--sf-gold) 0%, var(--sf-text) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-decoration: none;
    position: relative;
}

/* Navigation - Ultra Compact */
.main-nav {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 1;
    justify-content: center;
    position: relative;
}

.nav-item {
    position: relative;
    padding: var(--space-sm) var(--space-md);
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-text-dim);
    text-decoration: none;
    transition: all 0.2s var(--ease-out);
    border-radius: 4px;
}

.nav-item::before {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    width: 0;
    height: 2px;
    background: var(--sf-accent);
    transform: translateX(-50%);
    transition: width 0.3s var(--ease-out);
}

.nav-item:hover {
    color: var(--sf-text);
    background: var(--sf-bg-hover);
}

.nav-item:hover::before {
    width: calc(100% - 16px);
}

.nav-item.active {
    color: var(--sf-accent);
    background: rgba(0, 229, 255, 0.1);
}

/* System Status - Minimal */
.system-status {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

@media screen and (max-width: 1400px) {
    .header-container .system-status {
        display: none !important;
    }

}

.status-indicator {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 4px 8px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--sf-text-muted);
    transition: all 0.2s var(--ease-out);
}

.status-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--sf-success);
    box-shadow: 0 0 8px var(--sf-success);
    animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.6;
        transform: scale(1.5);
    }
}

.stardate-mini {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--sf-gold);
}

/* Mobile Menu Button */
.mobile-menu-toggle {
    display: none;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    cursor: pointer;
    position: relative;
}

.mobile-menu-toggle span {
    position: absolute;
    left: 50%;
    width: 18px;
    height: 2px;
    background: var(--sf-text);
    transform: translateX(-50%);
    transition: all 0.3s var(--ease-out);
}

.mobile-menu-toggle span:nth-child(1) {
    top: 9px;
}

.mobile-menu-toggle span:nth-child(2) {
    top: 15px;
}

.mobile-menu-toggle span:nth-child(3) {
    top: 21px;
}

/* =========================================
   MAIN CONTENT AREA
   ========================================= */
.content-area {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-xl);
}

.content-wrapper {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: var(--space-xl);
    align-items: start;
}

/* Posts Grid */
.posts-grid {
    display: grid;
    gap: var(--space-lg);
}

/* Content Cards - Ultra Refined */
.content-card {
    background: linear-gradient(135deg, var(--sf-bg-card) 0%, rgba(20, 28, 46, 0.4) 100%);
    backdrop-filter: blur(10px) saturate(150%);
    border: 1px solid rgba(74, 95, 217, 0.15);
    border-radius: 8px;
    padding: var(--space-xl);
    position: relative;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
}

.content-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--sf-accent), transparent);
    transform: translateX(-100%);
    transition: transform 0.6s var(--ease-out);
}

.content-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
            var(--sf-accent-glow) 0%,
            transparent 40%);
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.content-card:hover {
    transform: translateY(-2px);
    border-color: rgba(74, 95, 217, 0.3);
    box-shadow:
        0 10px 40px rgba(74, 95, 217, 0.1),
        0 0 60px rgba(0, 229, 255, 0.05);
}

.content-card:hover::before {
    transform: translateX(100%);
}

.content-card:hover::after {
    opacity: 0.1;
}

/* Card Header */
.card-header {
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.card-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 var(--space-sm) 0;
}

.card-title a {
    color: var(--sf-text);
    text-decoration: none;
    background: linear-gradient(90deg, var(--sf-text) 50%, var(--sf-accent) 50%);
    background-size: 200% 100%;
    background-position: 0 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position 0.3s var(--ease-out);
}

.card-title a:hover {
    background-position: -100% 0;
}

/* Card Meta - Compact & Elegant */
.card-meta {
    display: flex;
    gap: var(--space-md);
    font-size: 0.75rem;
    color: var(--sf-text-muted);
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 4px;
}

.meta-item svg {
    width: 12px;
    height: 12px;
    opacity: 0.5;
}

.meta-item a {
    color: var(--sf-text-dim);
    text-decoration: none;
    transition: color 0.2s;
}

.meta-item a:hover {
    color: var(--sf-accent);
}

/* Card Content */
.card-content {
    color: var(--sf-text-dim);
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: var(--space-lg);
}

/* Card Footer */
.card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
}

/* Buttons - Compact & Detailed */
.btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-lg);
    background: transparent;
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-text-dim);
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
}

.btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 100%;
    background: var(--sf-primary);
    transform: translate(-50%, -50%);
    transition: width 0.3s var(--ease-out);
    z-index: -1;
}

.btn:hover {
    color: var(--sf-text);
    border-color: var(--sf-primary);
    transform: translateX(2px);
}

.btn:hover::before {
    width: 100%;
}

.btn svg {
    width: 14px;
    height: 14px;
    transition: transform 0.3s var(--ease-out);
}

.btn:hover svg {
    transform: translateX(2px);
}

.btn-primary {
    background: linear-gradient(135deg, var(--sf-primary) 0%, var(--sf-primary-dark) 100%);
    border: none;
    color: white;
}

.btn-primary:hover {
    box-shadow: 0 4px 20px rgba(74, 95, 217, 0.4);
}

/* Category Badge */
.category-badge {
    padding: 2px 8px;
    background: rgba(255, 183, 77, 0.1);
    border: 1px solid rgba(255, 183, 77, 0.2);
    border-radius: 12px;
    font-size: 0.625rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--sf-gold);
}

/* =========================================
   SIDEBAR - COMPACT
   ========================================= */
.widget-area {
    position: sticky;
    top: 80px;
}

.widget {
    background: var(--sf-bg-card);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(74, 95, 217, 0.15);
    border-radius: 8px;
    padding: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.widget h2 {
    font-family: var(--font-display);
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-gold);
    margin: 0 0 var(--space-md) 0;
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid rgba(255, 183, 77, 0.2);
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget li {
    padding: var(--space-sm) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.widget li:last-child {
    border-bottom: none;
}

.widget a {
    color: var(--sf-text-dim);
    text-decoration: none;
    font-size: 1rem;
    transition: all 0.2s;
    display: flex;
    align-items: center;
}

.widget a::before {
    content: '◈';
    margin-right: var(--space-sm);
    color: var(--sf-accent);
    font-size: 0.625rem;
    transition: transform 0.2s;
}

.widget a:hover {
    color: var(--sf-text);
    transform: translateX(4px);
}

.widget a:hover::before {
    transform: rotate(45deg);
}

/* Search Widget */
.widget_search form {
    display: flex;
    gap: var(--space-sm);
}

.widget_search input[type="search"] {
    flex: 1;
    padding: var(--space-sm);
    background: rgba(10, 14, 27, 0.6);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 4px;
    color: var(--sf-text);
    font-size: 0.875rem;
}

.widget_search input[type="search"]:focus {
    outline: none;
    border-color: var(--sf-accent);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.2);
}

.widget_search button {
    padding: var(--space-sm) var(--space-md);
    background: var(--sf-primary);
    border: none;
    border-radius: 4px;
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.2s;
}

.widget_search button:hover {
    background: var(--sf-primary-light);
    transform: translateY(-1px);
}

/* =========================================
   FOOTER - COMPACT & PROFESSIONAL
   ========================================= */
.site-footer {
    background: linear-gradient(180deg, transparent, rgba(10, 14, 27, 0.95));
    border-top: 1px solid rgba(74, 95, 217, 0.2);
    margin-top: var(--space-2xl);
    padding: var(--space-2xl) 0 var(--space-xl);
}

.footer-grid {
    max-width: 1400px;
    margin: 0 auto !important;
    padding: 0 var(--space-xl);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-xl);
    margin-bottom: var(--space-xl);
}

.footer-column h4 {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sf-gold);
    margin: 0 0 var(--space-md) 0;
    padding-left: var(--space-md);
    position: relative;
}

.footer-column h4::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 12px;
    background: var(--sf-gold);
    transform: translateY(-50%);
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: var(--space-sm);
}

.footer-links a {
    color: var(--sf-text-muted);
    text-decoration: none;
    font-size: 0.8125rem;
    transition: all 0.2s;
    position: relative;
    padding-left: 0;
}

.footer-links a::before {
    content: '▸';
    color: var(--sf-accent);
    margin-right: var(--space-sm);
    transition: transform 0.2s;
    display: inline-block;
}

.footer-links a:hover {
    color: var(--sf-text);
}

.footer-links a:hover::before {
    transform: translateX(3px);
}

/* Footer Bottom */
.footer-bottom {
    max-width: 1400px;
    margin: 0 auto !important;
    padding: var(--space-lg) var(--space-xl);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-md);
}

.footer-copyright {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: 0.75rem;
    color: var(--sf-text-muted);
}

.footer-badge {
    width: 20px;
    height: 20px;
    background: linear-gradient(135deg, var(--sf-primary) 0%, var(--sf-accent) 100%);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-badge svg {
    width: 12px;
    height: 12px;
    filter: brightness(2);
}

.footer-legal {
    display: flex;
    gap: var(--space-md);
    font-size: 0.75rem;
}

.footer-legal a {
    color: var(--sf-text-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.footer-legal a:hover {
    color: var(--sf-accent);
}

.separator {
    opacity: 0.2;
}

/* Back to Top Button - LCARS Style Bridge Command */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: auto;
    min-width: 120px;
    height: 52px;
    padding: 0;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 9999;
    isolation: isolate;
    white-space: nowrap;
}

/* LCARS Button Structure */
.back-to-top::before {
    content: '';
    position: absolute;
    top: 0;
    left: 10px;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg,
            #4A5FD9 0%,
            #3751B5 25%,
            #2E3F8F 50%,
            #1B2A68 100%);
    border-radius: 26px 8px 8px 26px;
    box-shadow:
        0 4px 20px rgba(74, 95, 217, 0.3),
        inset 0 2px 0 rgba(255, 255, 255, 0.15),
        inset 0 -2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

/* Left Cap - LCARS Style Accent */
.back-to-top::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 38px;
    background: linear-gradient(90deg, #FFB74D 0%, #FFA726 100%);
    border-radius: 19px 3px 3px 19px;
    box-shadow:
        0 2px 10px rgba(255, 167, 38, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
}

/* Content Container */
.back-to-top svg,
.back-to-top .button-text {
    position: relative;
    z-index: 2;
}

/* Animated Arrow Icon */
.back-to-top svg {
    width: 20px;
    height: 20px;
    margin-left: 22px;
    margin-right: 8px;
    flex-shrink: 0;
    color: #FFFFFF;
    filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
    transition: transform 0.3s ease;
    animation: subtle-pulse 2s ease-in-out infinite;
}

@keyframes subtle-pulse {

    0%,
    100% {
        opacity: 0.9;
        transform: translateY(0);
    }

    50% {
        opacity: 1;
        transform: translateY(-2px);
    }
}

/* Text Styling */
.back-to-top .button-text {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    color: #FFFFFF;
    text-shadow:
        0 0 8px rgba(255, 255, 255, 0.3),
        0 1px 2px rgba(0, 0, 0, 0.3);
    font-family: var(--font-heading);
    padding-right: 18px;
}

/* Hover State */
.back-to-top:hover {
    transform: translateY(-4px) scale(1.03);
}

.back-to-top:hover::before {
    background: linear-gradient(135deg,
            #5A6FE9 0%,
            #4761C5 25%,
            #3E4F9F 50%,
            #2B3A78 100%);
    box-shadow:
        0 8px 30px rgba(74, 95, 217, 0.5),
        0 0 40px rgba(74, 95, 217, 0.2),
        inset 0 2px 0 rgba(255, 255, 255, 0.2),
        inset 0 -2px 4px rgba(0, 0, 0, 0.2);
}

.back-to-top:hover::after {
    background: linear-gradient(90deg, #FFC947 0%, #FFB74D 100%);
    width: 18px;
    box-shadow:
        0 4px 15px rgba(255, 183, 77, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.back-to-top:hover svg {
    animation-duration: 0.8s;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.8));
}

.back-to-top:hover .button-text {
    text-shadow:
        0 0 12px rgba(255, 255, 255, 0.6),
        0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Active/Click State */
.back-to-top:active {
    transform: translateY(-2px) scale(1.01);
}

.back-to-top:active::before {
    box-shadow:
        0 2px 10px rgba(74, 95, 217, 0.3),
        inset 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Show State Animation */
.back-to-top.show {
    opacity: 1;
    visibility: visible;
    animation: slideInUp 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes slideInUp {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.9);
    }

    50% {
        opacity: 0.8;
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .back-to-top {
        bottom: 20px;
        right: 20px;
        min-width: 100px;
        height: 46px;
    }

    .back-to-top::after {
        height: 34px;
    }

    .back-to-top .button-text {
        font-size: 12px;
        letter-spacing: 1.2px;
        padding-right: 15px;
    }

    .back-to-top svg {
        width: 18px;
        height: 18px;
        margin-left: 20px;
        margin-right: 6px;
    }
}

/* =========================================
   SCROLL PROGRESS INDICATOR
   ========================================= */
.scroll-indicator {
    position: fixed;
    top: 60px;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--sf-accent) 0%, var(--sf-gold) 100%);
    z-index: 9998;
    transition: width 0.1s linear;
    box-shadow: 0 0 10px var(--sf-accent-glow);
}

/* =========================================
   MICRO ANIMATIONS
   ========================================= */

/* Text Reveal Animation */
@keyframes text-reveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-in {
    animation: text-reveal 0.6s var(--ease-out) forwards;
}

/* Glitch Text Effect */
.glitch {
    position: relative;
}

.glitch::before,
.glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.glitch:hover::before {
    animation: glitch-1 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.glitch:hover::after {
    animation: glitch-2 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s both;
}

@keyframes glitch-1 {
    0% {
        opacity: 1;
        transform: translateX(0);
        color: var(--sf-accent);
    }

    100% {
        opacity: 0;
        transform: translateX(-2px);
    }
}

@keyframes glitch-2 {
    0% {
        opacity: 1;
        transform: translateX(0);
        color: var(--sf-danger);
    }

    100% {
        opacity: 0;
        transform: translateX(2px);
    }
}

/* =========================================
   RESPONSIVE DESIGN
   ========================================= */
@media (max-width: 1024px) {
    .content-wrapper {
        grid-template-columns: 1fr;
    }

    .widget-area {
        position: static;
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    :root {
        --space-lg: 0.875rem;
        --space-xl: 1.25rem;
        --space-2xl: 1.75rem;
    }

    .site-header {
        height: 56px;
    }

    #content {
        padding-top: 56px;
    }

    .main-nav {
        display: none;
    }

    .system-status {
        display: none;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
}

/* =========================================
   LOADING STATE
   ========================================= */
body.loading * {
    animation-play-state: paused !important;
}

body.loaded {
    animation: fade-in 0.6s var(--ease-out);
}

@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* =========================================
   ACCESSIBILITY
   ========================================= */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

*:focus-visible {
    outline: 2px solid var(--sf-accent);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/**
 * STARFLEET Final Fixes & Enhancements
 * Ultra-compact design with creative details
 * Version: 4.0.0
 */



.site-header {
    padding: 8px 20px !important;
}

.header-container {
    padding: 0 !important;
}

.content-area {
    padding: 20px !important;
}

.content-card {
    padding: 20px !important;
}

.widget {
    padding: 15px !important;
    margin-bottom: 15px !important;
}

/* =========================================
   HEADER PERFECTION
   ========================================= */
.site-header {
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    background: linear-gradient(90deg,
            rgba(10, 14, 27, 0.98) 0%,
            rgba(20, 28, 46, 0.95) 50%,
            rgba(10, 14, 27, 0.98) 100%) !important;
}

.header-container {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 200px 1fr 200px !important;
    align-items: center !important;
    gap: 20px !important;
    height: 100% !important;
}

/* Logo Animation Enhancement */

/* 
.logo-badge::after {
    content: '' !important;
    position: absolute !important;
    inset: -4px !important;
    background: conic-gradient(
        from 0deg,
        transparent 0deg,
        var(--sf-accent) 90deg,
        transparent 180deg,
        var(--sf-primary) 270deg,
        transparent 360deg
    ) !important;
    border-radius: 50% !important;
    animation: radar-sweep 3s linear infinite !important;
    opacity: 0.6 !important;
} */

@keyframes radar-sweep {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Navigation Perfection */
.main-nav {
    justify-content: center !important;
    padding: 0 !important;
}

.nav-item {
    padding: 6px 12px !important;
    font-size: 11px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Quantum Effect on Hover */
.nav-item::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg,
            transparent,
            rgba(0, 229, 255, 0.3),
            transparent) !important;
    animation: quantum-phase 1.5s infinite !important;
    opacity: 0 !important;
    transition: opacity 0.3s !important;
}

.nav-item:hover::after {
    opacity: 1 !important;
}

@keyframes quantum-phase {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(200%);
    }
}

/* Status Indicators with Pulse */
.status-indicator {
    padding: 3px 6px !important;
    position: relative !important;
}

.status-indicator::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    border: 1px solid currentColor !important;
    border-radius: 12px !important;
    animation: border-pulse 2s ease-in-out infinite !important;
    opacity: 0.5 !important;
}

@keyframes border-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.5;
    }

    50% {
        transform: scale(1.05);
        opacity: 0.2;
    }
}

/* =========================================
   CONTENT AREA OPTIMIZATION
   ========================================= */
#content {
    padding-top: 60px !important;
    min-height: calc(100vh - 60px) !important;
}

body.page-template-page-introduction-php #content {
    padding: 0 !important;
}

.content-wrapper {
    gap: 20px !important;
    padding: 0 !important;
}

/* Posts Grid Animation */
.posts-grid {
    position: relative !important;
}

.posts-grid::before {
    content: '' !important;
    position: absolute !important;
    top: -20px !important;
    left: 50% !important;
    width: 1px !important;
    height: calc(100% + 40px) !important;
    background: linear-gradient(180deg,
            transparent,
            var(--sf-accent) 10%,
            var(--sf-accent) 90%,
            transparent) !important;
    transform: translateX(-50%) !important;
    opacity: 0.1 !important;
    animation: data-stream 10s linear infinite !important;
}

@keyframes data-stream {
    from {
        transform: translateX(-50%) translateY(-100%);
    }

    to {
        transform: translateX(-50%) translateY(100%);
    }
}

/* Content Card Ultra Enhancement */
.content-card {
    margin-bottom: 20px !important;
    position: relative !important;
    transform-style: preserve-3d !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* Holographic Corner Effect */
.content-card::before,
.content-card::after {
    content: '' !important;
    position: absolute !important;
    width: 20px !important;
    height: 20px !important;
    border: 1px solid var(--sf-accent) !important;
    opacity: 0 !important;
    transition: all 0.3s !important;
}

.content-card::before {
    top: -5px !important;
    left: -5px !important;
    border-right: none !important;
    border-bottom: none !important;
}

.content-card::after {
    bottom: -5px !important;
    right: -5px !important;
    border-left: none !important;
    border-top: none !important;
}

.content-card:hover::before,
.content-card:hover::after {
    opacity: 0.8 !important;
    width: 30px !important;
    height: 30px !important;
}

/* =========================================
   CAMPUS INFO BAR - ENHANCED STARFLEET DESIGN
   ========================================= */
.campus-info-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 1.5rem !important;
    margin: 1rem 0 !important;
    padding: 1.25rem !important;
    background: linear-gradient(135deg,
            rgba(74, 95, 217, 0.08) 0%,
            rgba(0, 229, 255, 0.04) 100%) !important;
    border: 1px solid rgba(74, 95, 217, 0.3) !important;
    border-radius: 12px !important;
    position: relative !important;
    overflow: hidden !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* .campus-info-bar>.info-item:first-child {
    flex: 1;
    overflow-x: auto !important;
    align-items: start !important;
} */

/* Animated border effect */
.campus-info-bar::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg,
            transparent,
            var(--sf-accent),
            transparent) !important;
    animation: scan-line 3s linear infinite !important;
}

@keyframes scan-line {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(100%);
    }
}

/* Info items styling */
.campus-info-bar .info-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: var(--sf-text-dim) !important;
    font-size: 0.875rem !important;
    font-family: var(--font-mono) !important;
    letter-spacing: 0.02em !important;
    transition: all 0.3s var(--ease-out) !important;
    position: relative !important;
    padding: 0.4rem 0.8rem !important;
    border-radius: 6px !important;
    background: rgba(20, 28, 46, 0.3) !important;
    flex: 1;
}

.campus-info-bar .info-item:hover {
    color: var(--sf-accent) !important;
    background: rgba(0, 229, 255, 0.1) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 229, 255, 0.2) !important;
}

/* Icons styling with glow effect */
.campus-info-bar .info-item svg {
    width: 16px !important;
    height: 16px !important;
    fill: currentColor !important;
    filter: drop-shadow(0 0 3px currentColor) !important;
    transition: all 0.3s !important;
}

.campus-info-bar .info-item:hover svg {
    transform: scale(1.2) rotate(5deg) !important;
    filter: drop-shadow(0 0 6px var(--sf-accent)) !important;
}

/* Email link special styling */
.campus-info-bar .info-email .contact-link {
    color: inherit !important;
    text-decoration: none !important;
    border-bottom: 1px dotted rgba(0, 229, 255, 0.3) !important;
    transition: all 0.3s !important;
}

.campus-info-bar .info-email:hover .contact-link {
    border-bottom-color: var(--sf-accent) !important;
    text-shadow: 0 0 8px rgba(0, 229, 255, 0.6) !important;
}

/* Frequency badge styling */
.campus-info-bar .info-frequency {
    background: linear-gradient(135deg,
            rgba(255, 183, 77, 0.1),
            rgba(255, 183, 77, 0.05)) !important;
    border: 1px solid rgba(255, 183, 77, 0.3) !important;
    color: var(--sf-gold) !important;
}

.campus-info-bar .info-frequency:hover {
    background: rgba(255, 183, 77, 0.2) !important;
    box-shadow: 0 4px 12px rgba(255, 183, 77, 0.3) !important;
}

/* Contact button LCARS styling */
.campus-info-bar .contact-button {
    margin-left: auto !important;
    padding: 0.6rem 1.5rem !important;
    background: linear-gradient(135deg,
            var(--sf-primary),
            var(--sf-primary-dark)) !important;
    color: white !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 25px 5px 5px 25px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    transition: all 0.3s var(--ease-out) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Button shine effect */
.campus-info-bar .contact-button::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, 0.3),
            transparent) !important;
    transform: translateY(-50%) !important;
    transition: left 0.6s !important;
}

.campus-info-bar .contact-button:hover::before {
    left: 100% !important;
}

.campus-info-bar .contact-button:hover {
    background: linear-gradient(135deg,
            var(--sf-accent),
            var(--sf-primary)) !important;
    transform: translateX(5px) scale(1.05) !important;
    box-shadow: 0 6px 20px rgba(0, 229, 255, 0.4) !important;
}

.campus-info-bar .contact-button svg {
    transition: transform 0.3s !important;
}

.campus-info-bar .contact-button:hover svg {
    transform: translateX(3px) rotate(45deg) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .campus-info-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.8rem !important;
        padding: 1rem !important;
    }

    .campus-info-bar .info-item {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .campus-info-bar .contact-button {
        width: 100% !important;
        justify-content: center !important;
        margin-left: 0 !important;
        margin-top: 0.5rem !important;
    }
}

/* Data animation for info items */
@keyframes data-flicker {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.7;
    }
}

.campus-info-bar .info-item:nth-child(odd) {
    animation: data-flicker 4s ease-in-out infinite !important;
}

.campus-info-bar .info-item:nth-child(even) {
    animation: data-flicker 4s ease-in-out infinite reverse !important;
}

.content-card:hover::before {
    top: -10px !important;
    left: -10px !important;
}

.content-card:hover::after {
    bottom: -10px !important;
    right: -10px !important;
}

/* Card Title with Glitch */
.card-title {
    position: relative !important;
    display: inline-block !important;
}

.card-title:hover {
    animation: micro-glitch 0.3s !important;
}

@keyframes micro-glitch {

    0%,
    100% {
        transform: translate(0);
    }

    20% {
        transform: translate(-1px, 1px);
    }

    40% {
        transform: translate(1px, -1px);
    }

    60% {
        transform: translate(-1px, 0);
    }

    80% {
        transform: translate(1px, 0);
    }
}

/* Meta Items with Scanning Effect */
.meta-item {
    padding: 2px 6px !important;
    position: relative !important;
    overflow: hidden !important;
}

.meta-item::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 1px !important;
    background: var(--sf-accent) !important;
    animation: scan-line 4s infinite !important;
}

@keyframes scan-line {
    0% {
        left: -100%;
    }

    50% {
        left: 100%;
    }

    100% {
        left: -100%;
    }
}

/* Button Matrix Effect */
.btn {
    position: relative !important;
    overflow: hidden !important;
    padding: 8px 16px !important;
    margin-right: 10px !important;
}

.btn::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: repeating-linear-gradient(45deg,
            transparent,
            transparent 2px,
            rgba(0, 229, 255, 0.1) 2px,
            rgba(0, 229, 255, 0.1) 4px) !important;
    animation: matrix-slide 20s linear infinite !important;
    opacity: 0 !important;
    transition: opacity 0.3s !important;
}

.btn:hover::before {
    opacity: 1 !important;
}

@keyframes matrix-slide {
    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(10px, 10px);
    }
}

/* =========================================
   SIDEBAR ENHANCEMENTS
   ========================================= */
.widget-area {
    padding: 0 !important;
}

.widget {
    position: relative !important;
    overflow: hidden !important;
}

/* Widget Hologram Effect */
/* .widget::before {
    content: '' !important;
    position: absolute !important;
    top: -50% !important;
    left: -50% !important;
    width: 200% !important;
    height: 200% !important;
    background: radial-gradient(
        circle,
        rgba(0,229,255,0.1) 0%,
        transparent 70%
    ) !important;
    animation: hologram-rotate 20s linear infinite !important;
    pointer-events: none !important;
} */
.heroTitle h2 {
    font-family: --var(--font-display) !important;
}

@keyframes hologram-rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.widget h2 {
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
    position: relative !important;
}

.widget h2::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background: linear-gradient(90deg,
            var(--sf-gold) 0%,
            transparent 100%) !important;
    animation: expand-line 2s ease-in-out infinite !important;
}

@keyframes expand-line {

    0%,
    100% {
        transform: scaleX(0.5);
        opacity: 0.5;
    }

    50% {
        transform: scaleX(1);
        opacity: 1;
    }
}

/* Search Input Enhancement */
.widget_search input[type="search"] {
    padding: 8px 12px !important;
    font-size: 13px !important;
}

.widget_search button {
    padding: 8px 12px !important;
    position: relative !important;
    overflow: hidden !important;
}

.widget_search button::after {
    content: '⚡' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 20px !important;
    opacity: 0 !important;
    animation: spark 0.5s !important;
}

.widget_search button:active::after {
    opacity: 1 !important;
    animation: spark 0.5s !important;
}

@keyframes spark {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0;
    }
}

/* =========================================
   FOOTER REFINEMENTS
   ========================================= */
.site-footer {
    padding: 30px 0 20px !important;
    margin-top: 40px !important;
    position: relative !important;
}

.section-separator::before,
.site-footer::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-primary) 25%,
            var(--sf-accent) 50%,
            var(--sf-primary) 75%,
            transparent 100%) !important;
    animation: footer-scan 8s linear infinite !important;
}

@keyframes footer-scan {

    0%,
    100% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(100%);
    }
}

.footer-grid {
    padding: 0 20px !important;
    gap: 30px !important;
    margin-bottom: 20px !important;
}

.footer-column {
    padding: 0 !important;
}

.footer-column h4 {
    padding-left: 12px !important;
    margin-bottom: 10px !important;
    font-size: 11px !important;
}

.footer-links li {
    margin-bottom: 6px !important;
    padding: 0 !important;
}

.footer-links a {
    font-size: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.footer-bottom {
    padding: 15px 20px !important;
}

.footer-copyright,
.footer-legal {
    padding: 0 !important;
}

/* =========================================
   SPECIAL EFFECTS & EASTER EGGS
   ========================================= */

/* Konami Code Effect */
body.konami-activated {
    animation: rainbow-bg 5s linear infinite !important;
}

@keyframes rainbow-bg {
    0% {
        filter: hue-rotate(0deg);
    }

    100% {
        filter: hue-rotate(360deg);
    }
}

/* Mouse Trail (via JS) */
.mouse-trail-dot {
    pointer-events: none !important;
    z-index: 10000 !important;
    mix-blend-mode: screen !important;
}

/* Performance Mode */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* =========================================
   FINAL RESPONSIVE ADJUSTMENTS
   ========================================= */
@media (max-width: 768px) {
    .header-container {
        grid-template-columns: auto 1fr auto !important;
    }

    .content-area {
        padding: 15px !important;
    }

    .content-card {
        padding: 15px !important;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
}

.system-status {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
}

/* Status Indicators - Individual */
.status-indicator {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 14px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: #B8B8CC !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    min-width: auto !important;
    line-height: 1 !important;
    position: relative !important;
}

.status-indicator:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #FF9900 !important;
    transform: scale(1.05) !important;
}

/* Status Dot */
.status-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #00E676 !important;
    box-shadow: 0 0 8px #00E676 !important;
    animation: pulse-dot 2s ease-in-out infinite !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
}

/* Status Text */
.status-indicator span:not(.status-dot) {
    display: inline-block !important;
    line-height: 1 !important;
    font-size: 11px !important;
}

/* Stardate Display */
.stardate-mini {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 14px !important;
    background: rgba(210, 184, 135, 0.1) !important;
    border: 1px solid rgba(210, 184, 135, 0.2) !important;
    border-radius: 20px !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #D2B887 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.stardate-mini span {
    display: inline-block !important;
    line-height: 1 !important;
}

/* Animation */
@keyframes pulse-dot {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.6;
        transform: scale(1.5);
    }
}

/* Header Container Adjustment */
.header-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 20px !important;
    height: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
}

/* Main Navigation Adjustment */
.main-navigation {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 20px !important;
}

/* Responsive Adjustments */
@media (max-width: 1200px) {
    .system-status {
        gap: 8px !important;
    }

    .status-indicator,
    .stardate-mini {
        padding: 6px 10px !important;
        font-size: 10px !important;
    }

    .status-indicator span:not(.status-dot),
    .stardate-mini span {
        font-size: 10px !important;
    }
}

@media (max-width: 768px) {
    .system-status {
        display: none !important;
    }
}

/* Ensure no text overlap */
.system-status * {
    margin: 0 !important;
    /* padding-top: 0 !important;
    padding-bottom: 0 !important;*/
    vertical-align: middle !important;
}

/* ========================================
   FOOTER SOCIAL MEDIA LINKS
   ======================================== */
.footer-social-links {
    display: flex;
    align-items: end;
    gap: 15px;
    margin-top: 20px;
}

.footer-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(74, 95, 217, 0.1);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 50%;
    color: var(--sf-text-dim);
    transition: all 0.3s var(--ease-out);
    position: relative;
}

.footer-social-links a:hover {
    background: var(--sf-primary);
    border-color: var(--sf-primary);
    color: var(--sf-text);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 95, 217, 0.4);
}

.footer-social-links a::before {
    content: '';
    position: absolute;
    inset: -3px;
    background: radial-gradient(circle, var(--sf-accent-glow) 0%, transparent 70%);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.footer-social-links a:hover::before {
    opacity: 1;
}

/* ========================================
   TRIPLE LOGO LAYOUT - Header Logos
   ======================================== */
.site-logo-container {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    flex-shrink: 0;
}

/* Main Logo (Left) */
.site-logo--main {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

/* Secondary Logos Container (Right of main logo) */
.site-logo-secondary {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    align-items: center;
    margin-left: 0;
}

/* Small Logo Badges */
.logo-badge--small {
    width: 40px;
    height: 40px;
    background: rgba(74, 95, 217, 0.1);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.3s var(--ease-out);
}

.logo-badge--small:hover {
    background: rgba(74, 95, 217, 0.2);
    border-color: var(--sf-primary);
    transform: scale(1.05);
}

.logo-badge--small img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

/* Animation for secondary logos */
.logo-badge--small::after {
    content: '';
    position: absolute;
    inset: -2px;
    background: linear-gradient(45deg, transparent, var(--sf-accent-glow), transparent);
    border-radius: 8px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.logo-badge--small:hover::after {
    opacity: 1;
    animation: pulse-glow 2s ease-in-out infinite;
}

@keyframes pulse-glow {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 0.8;
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .site-logo-container {
        gap: var(--space-md);
    }

    .site-logo-secondary {
        flex-direction: row;
        gap: var(--space-xs);
    }

    .logo-badge--small {
        width: 35px;
        height: 35px;
    }

    .logo-badge--small img {
        width: 25px;
        height: 25px;
    }
}

/* ========================================
   HEADER SINGLE LOGO WITH BRANDING
   ======================================== */
.site-branding {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

.site-branding .logo-badge {
    width: 50px;
    height: 50px;
    background: rgba(74, 95, 217, 0.1);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-shrink: 0;
}

.site-branding .site-logo-img {
    width: 35px;
    height: 35px;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.site-branding h1.site-title,
.site-branding div.site-title {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.05em;
    margin: 0;
    text-transform: uppercase;
}

.site-branding .site-title a {
    color: var(--sf-text);
    text-decoration: none;
    transition: color 0.3s ease;
    position: relative;
    top: 2px;
}

.site-branding .site-title a:hover {
    color: var(--sf-accent);
}

.site-branding .site-subtitle {
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    opacity: 0.9;
    color: #FFFFFF;
    background: none;
    -webkit-text-fill-color: #FFFFFF;
    position: relative;
    top: -4px;
}

/* Logo hover effect */
.site-branding .logo-badge:hover {
    background: rgba(74, 95, 217, 0.2);
    border-color: var(--sf-primary);
    transform: scale(1.05);
    box-shadow: 0 0 15px rgba(74, 95, 217, 0.3);
}

/* Responsive adjustments for header */
@media (max-width: 768px) {
    .site-branding {
        gap: 0.75rem;
    }

    .site-branding .logo-badge {
        width: 40px;
        height: 40px;
    }

    .site-branding .site-logo-img {
        width: 100%;
        height: 100%;
    }

    .site-branding h1.site-title,
    .site-branding div.site-title {
        font-size: 1rem;
    }

    .site-branding .site-subtitle {
        font-size: 0.7rem;
    }
}

.footer-social-links svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

/* Responsive Social Links */
@media (max-width: 768px) {
    .footer-social-links {
        justify-content: center;
        margin-top: 15px;
    }

    .footer-social-links a {
        width: 32px;
        height: 32px;
    }

    .footer-social-links svg {
        width: 16px;
        height: 16px;
    }
}

/* Footer Bottom Content Adjustment */
.footer-bottom-content {
    display: block;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

@media (max-width: 992px) {
    .footer-bottom-content {
        flex-direction: column;
        text-align: center;
    }

    .footer-legal-links {
        order: 2;
    }

    .footer-social-links {
        order: 3;
        width: 100%;
        justify-content: center;
    }

    .footer-logo-section {
        order: 1;
    }
}

/* ========================================
   ENHANCED LCARS BUTTON DESIGN V2.0
   Ultra-modern Star Trek inspired buttons
   ======================================== */

/* Base Button Styles */
.lcars-button {
    --btn-color: var(--lcars-gold);
    --btn-hover-color: #FFD700;
    --btn-text: #000000;
    --btn-glow: rgba(210, 184, 135, 0.6);

    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    text-decoration: none !important;
    position: relative;
    isolation: isolate;
    font-family: 'Orbitron', var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 700;
    transition: transform 0.3s var(--ease-out);
}

.lcars-button a {
    color: inherit;
    text-decoration: none;
}

/* Content wrapper with improved design */
.lcars-button__content {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: var(--btn-color);
    color: var(--btn-text);
    overflow: hidden;
    transition: all 0.4s var(--ease-out);
    transform-style: preserve-3d;
    backface-visibility: hidden;
    border: 2px solid transparent;
    box-shadow:
        inset 0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Text styling with better proportions */
.lcars-button__text {
    display: inline-block;
    padding: 14px 32px;
    position: relative;
    z-index: 3;
    font-size: 14px;
    font-weight: 700;
    transition: all 0.3s var(--ease-out);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Icon styling */
.lcars-button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
    transition: transform 0.3s var(--ease-out);
}

.lcars-button__icon--before {
    margin-right: 10px;
    margin-left: -4px;
}

.lcars-button__icon--after {
    margin-left: 10px;
    margin-right: -4px;
}

.lcars-button:hover .lcars-button__icon--before {
    transform: translateX(-3px) scale(1.1);
}

.lcars-button:hover .lcars-button__icon--after {
    transform: translateX(3px) scale(1.1);
}

/* Advanced holographic effect */
.lcars-button__content::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg,
            transparent 30%,
            rgba(255, 255, 255, 0.2) 50%,
            transparent 70%);
    transform: translateX(-100%);
    transition: transform 0.6s var(--ease-out);
}

.lcars-button:hover .lcars-button__content::before {
    transform: translateX(100%);
}

/* Shimmer overlay effect */
.lcars-button__effect {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg,
            transparent 40%,
            rgba(255, 255, 255, 0.6) 50%,
            transparent 60%);
    transform: translateX(-150%) skewX(-45deg);
    transition: transform 0.8s var(--ease-out);
    z-index: 2;
    pointer-events: none;
}

.lcars-button:hover .lcars-button__effect {
    transform: translateX(150%) skewX(-45deg);
}

/* Glow effect */
.lcars-button::after {
    content: '';
    position: absolute;
    inset: -3px;
    background: var(--btn-glow);
    filter: blur(20px);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
}

.lcars-button:hover::after {
    opacity: 1;
}

/* Button Sizes with improved proportions */
.lcars-button--size-sm .lcars-button__text {
    padding: 10px 20px;
    font-size: 12px;
    letter-spacing: 0.15em;
}

.lcars-button--size-md .lcars-button__text {
    padding: 14px 32px;
    font-size: 14px;
}

.lcars-button--size-lg .lcars-button__text {
    padding: 18px 42px;
    font-size: 16px;
    letter-spacing: 0.25em;
}

.lcars-button--size-xl .lcars-button__text {
    padding: 22px 52px;
    font-size: 18px;
    letter-spacing: 0.3em;
}

/* Button Shapes - More futuristic */
.lcars-button--rounded .lcars-button__content {
    border-radius: 100px;
}

.lcars-button--rectangular .lcars-button__content {
    border-radius: 0;
    clip-path: polygon(0 0,
            calc(100% - 15px) 0,
            100% 50%,
            calc(100% - 15px) 100%,
            0 100%);
}

.lcars-button--pill .lcars-button__content {
    border-radius: 50px;
}

.lcars-button--sweep-left .lcars-button__content {
    border-radius: 100px 4px 4px 100px;
    clip-path: polygon(20px 0,
            100% 0,
            100% 100%,
            20px 100%,
            0 50%);
    padding-left: 12px;
}

.lcars-button--sweep-right .lcars-button__content {
    border-radius: 4px 100px 100px 4px;
    clip-path: polygon(0 0,
            calc(100% - 20px) 0,
            100% 50%,
            calc(100% - 20px) 100%,
            0 100%);
    padding-right: 12px;
}

/* Enhanced Color Schemes with better gradients */
.lcars-button--orange {
    --btn-color: linear-gradient(135deg, #FF9900 0%, #FF6B00 100%);
    --btn-hover-color: linear-gradient(135deg, #FFB74D 0%, #FF9900 100%);
    --btn-text: #000000;
    --btn-glow: rgba(255, 153, 0, 0.6);
}

.lcars-button--orange .lcars-button__content {
    background: var(--btn-color);
}

.lcars-button--purple {
    --btn-color: linear-gradient(135deg, var(--lcars-blue) 0%, #3A3370 100%);
    --btn-hover-color: linear-gradient(135deg, #6B7FE3 0%, var(--lcars-blue) 100%);
    --btn-text: #FFFFFF;
    --btn-glow: rgba(81, 71, 155, 0.6);
}

.lcars-button--purple .lcars-button__content {
    background: var(--btn-color);
}

.lcars-button--blue {
    --btn-color: linear-gradient(135deg, #5E9FD8 0%, #3A7BB8 100%);
    --btn-hover-color: linear-gradient(135deg, #7BB3E0 0%, #5E9FD8 100%);
    --btn-text: #FFFFFF;
    --btn-glow: rgba(94, 159, 216, 0.6);
}

.lcars-button--blue .lcars-button__content,
.lcars-button--medical .lcars-button__content {
    background: var(--btn-color);
}

.lcars-button--red {
    --btn-color: linear-gradient(135deg, var(--lcars-red) 0%, #8B0900 100%);
    --btn-hover-color: linear-gradient(135deg, #D62A1A 0%, var(--lcars-red) 100%);
    --btn-text: #FFFFFF;
    --btn-glow: rgba(181, 17, 0, 0.6);
}

.lcars-button--red .lcars-button__content {
    background: var(--btn-color);
}

.lcars-button--yellow {
    --btn-color: linear-gradient(135deg, var(--lcars-yellow) 0%, #998200 100%);
    --btn-hover-color: linear-gradient(135deg, #D4B500 0%, var(--lcars-yellow) 100%);
    --btn-text: #000000;
    --btn-glow: rgba(187, 159, 0, 0.6);
}

.lcars-button--yellow .lcars-button__content,
.lcars-button--gold .lcars-button__content {
    background: var(--btn-color);
    color: var(--btn-text);
}

.lcars-button--green {
    --btn-color: linear-gradient(135deg, var(--lcars-green) 0%, #0A5528 100%);
    --btn-hover-color: linear-gradient(135deg, #159944 0%, var(--lcars-green) 100%);
    --btn-text: #FFFFFF;
    --btn-glow: rgba(17, 119, 51, 0.6);
}

.lcars-button--green .lcars-button__content {
    background: var(--btn-color);
}

.lcars-button--pink {
    --btn-color: linear-gradient(135deg, #CC99CC 0%, #AA77AA 100%);
    --btn-hover-color: linear-gradient(135deg, #D9B3D9 0%, #CC99CC 100%);
    --btn-text: #000000;
    --btn-glow: rgba(204, 153, 204, 0.6);
}

.lcars-button--pink .lcars-button__content {
    background: var(--btn-color);
}

.lcars-button--custom .lcars-button__content {
    background: var(--btn-color);
}

/* Hover state improvements */
.lcars-button:hover {
    transform: translateY(-2px) scale(1.02);
}

.lcars-button:hover .lcars-button__content {
    background: var(--btn-hover-color);
    box-shadow:
        0 12px 30px -5px var(--btn-glow),
        0 0 0 2px rgba(255, 255, 255, 0.1),
        inset 0 2px 4px rgba(255, 255, 255, 0.2),
        inset 0 -2px 4px rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.2);
}

.lcars-button:hover .lcars-button__text {
    transform: scale(1.05);
}

/* Active State with depth effect */
.lcars-button:active {
    transform: translateY(0) scale(0.98);
}

.lcars-button:active .lcars-button__content {
    box-shadow:
        0 2px 8px var(--btn-glow),
        inset 0 2px 6px rgba(0, 0, 0, 0.3);
}

.lcars-button:active .lcars-button__text {
    transform: scale(0.95);
}

/* Navigation Buttons Special Styling */
.post-navigation .lcars-button,
.nav-links .lcars-button {
    margin: 10px 5px;
    display: inline-flex;
}

.post-navigation .lcars-button__content,
.nav-links .lcars-button__content {
    min-width: 200px;
    position: relative;
    background: linear-gradient(135deg, #FFA726 0%, #FB8C00 100%);
    border-image: linear-gradient(135deg, #FFB74D 0%, #FF9800 100%) 1;
}

/* Style spécifique pour PREVIOUS LOG */
.nav-previous .lcars-button--gold .lcars-button__content {
    background: linear-gradient(135deg, #FFA726 0%, #FB8C00 100%);
    border-image: linear-gradient(135deg, #FFB74D 0%, #FF9800 100%) 1;
    border-width: 2px;
    box-shadow: 0 4px 12px rgba(255, 167, 38, 0.2);
}

.nav-previous .lcars-button--gold:hover .lcars-button__content {
    background: linear-gradient(135deg, #FFB74D 0%, #FFA726 100%);
    box-shadow: 0 8px 24px rgba(255, 167, 38, 0.4);
    transform: translateY(-2px) translateX(-5px);
}

/* Style pour NEXT LOG */
.nav-next .lcars-button .lcars-button__content {
    background: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 100%);
    border-image: linear-gradient(135deg, #00E5FF 0%, #6B7FE3 100%) 1;
}

/* .nav-next .lcars-button:hover .lcars-button__content {
    transform: translateY(-2px) translateX(5px);
} */

/* Edit Link Button */
.edit-link.lcars-button .lcars-button__content {
    background: linear-gradient(135deg, #FFA726 0%, #FB8C00 100%);
    border-image: linear-gradient(135deg, #FFB74D 0%, #FF9800 100%) 1;
}

.edit-link.lcars-button:hover .lcars-button__content {
    box-shadow: 0 8px 24px rgba(255, 167, 38, 0.4);
}

/* Pulse Animation for Important Buttons */
@keyframes lcars-pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(0, 229, 255, 0.7);
    }

    50% {
        box-shadow: 0 0 20px 10px rgba(0, 229, 255, 0);
    }
}

.lcars-button--pulse .lcars-button__content {
    animation: lcars-pulse 2s infinite;
}

/* ========================================
   ADVANCED ANIMATIONS & SPECIAL EFFECTS
   ======================================== */

/* Quantum Phase Animation */
@keyframes quantum-phase {
    0% {
        filter: hue-rotate(0deg) brightness(1);
    }

    33% {
        filter: hue-rotate(10deg) brightness(1.1);
    }

    66% {
        filter: hue-rotate(-10deg) brightness(0.95);
    }

    100% {
        filter: hue-rotate(0deg) brightness(1);
    }
}

/* Warp Drive Animation */
@keyframes warp-drive {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

/* Transporter Effect */
@keyframes transporter-shimmer {

    0%,
    100% {
        opacity: 1;
        transform: scaleY(1);
    }

    25% {
        opacity: 0.7;
        transform: scaleY(1.02);
    }

    50% {
        opacity: 0.9;
        transform: scaleY(0.98);
    }

    75% {
        opacity: 0.8;
        transform: scaleY(1.01);
    }
}

/* Data Stream Animation */
@keyframes data-stream {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 40px 40px;
    }
}

/* Special Function Buttons */
.lcars-button[data-function="red_alert"] .lcars-button__content {
    animation: quantum-phase 3s ease-in-out infinite;
    --btn-color: linear-gradient(135deg, #B51100 0%, #FF0000 50%, #B51100 100%);
    --btn-glow: rgba(181, 17, 0, 0.8);
}

.lcars-button[data-function="yellow_alert"] .lcars-button__content {
    animation: lcars-pulse 1.5s infinite;
    --btn-color: linear-gradient(135deg, #BB9F00 0%, #FFD700 50%, #BB9F00 100%);
    --btn-glow: rgba(187, 159, 0, 0.8);
}

.lcars-button[data-function="transport"] .lcars-button__content {
    animation: transporter-shimmer 2s ease-in-out infinite;
}

.lcars-button[data-function="transport"]:hover .lcars-button__content::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg,
            transparent,
            transparent 2px,
            rgba(0, 229, 255, 0.1) 2px,
            rgba(0, 229, 255, 0.1) 4px);
    animation: data-stream 1s linear infinite;
}

.lcars-button[data-function="warp_drive"] .lcars-button__content {
    background-size: 200% 200%;
    animation: warp-drive 3s ease infinite;
}

.lcars-button[data-function="scan"] .lcars-button__content::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--sf-accent), transparent);
    animation: scan-line 2s linear infinite;
}

@keyframes scan-line {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(48px);
    }
}

.lcars-button[data-function="shields_up"] .lcars-button__content {
    position: relative;
    overflow: visible;
}

.lcars-button[data-function="shields_up"] .lcars-button__content::after {
    content: '';
    position: absolute;
    inset: -4px;
    background: linear-gradient(45deg,
            transparent 30%,
            rgba(0, 229, 255, 0.1) 50%,
            transparent 70%);
    border: 2px solid rgba(0, 229, 255, 0.3);
    border-radius: inherit;
    animation: shield-rotation 4s linear infinite;
    pointer-events: none;
}

@keyframes shield-rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Full Width Button Animation */
.lcars-button--full {
    width: 100%;
}

.lcars-button--full .lcars-button__content {
    width: 100%;
    position: relative;
}

.lcars-button--full .lcars-button__content::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 60%;
    background: var(--sf-accent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lcars-button--full:hover .lcars-button__content::before {
    opacity: 1;
    animation: pulse-bar 1s ease-in-out infinite;
}

@keyframes pulse-bar {

    0%,
    100% {
        height: 60%;
    }

    50% {
        height: 80%;
    }
}

/* Loading State */
.lcars-button--loading .lcars-button__text::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Responsive Button Adjustments */
@media (max-width: 768px) {
    .lcars-button__text {
        padding: 12px 24px;
        font-size: 13px;
    }

    .lcars-button--size-sm .lcars-button__text {
        padding: 8px 16px;
        font-size: 11px;
    }

    .lcars-button--size-lg .lcars-button__text {
        padding: 16px 32px;
        font-size: 15px;
    }

    .lcars-button--size-xl .lcars-button__text {
        padding: 18px 40px;
        font-size: 16px;
    }

    .post-navigation .lcars-button__content,
    .nav-links .lcars-button__content {
        min-width: 140px;
    }

    /* Simplify animations on mobile for performance */
    .lcars-button__effect,
    .lcars-button__content::before {
        animation: none !important;
    }
}

/* Focus State for Accessibility */
.lcars-button:focus-visible {
    outline: none;
}

.lcars-button:focus-visible .lcars-button__content {
    outline: 3px solid var(--sf-accent);
    outline-offset: 3px;
    box-shadow:
        0 0 0 6px rgba(0, 229, 255, 0.1),
        0 12px 30px -5px var(--btn-glow);
}

/* Disabled State */
.lcars-button:disabled,
.lcars-button.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none !important;
}

.lcars-button:disabled .lcars-button__content,
.lcars-button.disabled .lcars-button__content {
    pointer-events: none;
    animation: none !important;
    background: linear-gradient(135deg, #333333 0%, #1a1a1a 100%) !important;
    color: #666666 !important;
    box-shadow: none !important;
}

.lcars-button:disabled::after,
.lcars-button.disabled::after {
    display: none;
}

/* Print Styles */
@media print {
    .lcars-button {
        border: 1px solid #000;
    }

    .lcars-button__content {
        background: none !important;
        color: #000 !important;
        box-shadow: none !important;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .lcars-button__content {
        border: 2px solid currentColor;
    }

    .lcars-button:hover .lcars-button__content {
        border-width: 3px;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {

    .lcars-button,
    .lcars-button__content,
    .lcars-button__effect,
    .lcars-button__text,
    .lcars-button__icon {
        animation: none !important;
        transition: opacity 0.2s ease !important;
    }

    .lcars-button:hover {
        transform: none !important;
    }
}

.entry-header.lcars-panel-widget {
    padding-left: 28px;
    padding-right: 28px;
}

/* ========================================
   H1 GRADIENT DESIGN - TEXT GRADIENT
   ======================================== */
h1 {
    background: linear-gradient(135deg,
            #00E5FF 0%,
            #4A5FD9 25%,
            #DA70D6 50%,
            #FFB74D 75%,
            #00E5FF 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
    display: block;
    text-shadow: none !important;
    font-weight: 700;
    margin-top: 28px;

}

h1.entry-title.lcars-panel__title {
    font-size: 54px;
}

/* Animation du gradient */
@keyframes gradient-shift {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

/* Effet de lueur subtile */
h1::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            #00E5FF 20%,
            #DA70D6 50%,
            #FFB74D 80%,
            transparent 100%);
    opacity: 0.6;
    animation: gradient-shift 6s ease infinite;
}


/* Hover effect pour h1 */
h1:hover {
    animation-duration: 2s;
}

/* Support pour les h1 avec liens */
h1 a {
    background: inherit;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    text-decoration: none;
}

h1 a:hover {
    background: linear-gradient(90deg,
            #FFB74D 0%,
            #00E5FF 50%,
            #FFB74D 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    animation: gradient-shift 1s ease infinite;
}

/* Version alternative avec effet néon */
h1.neon-gradient {
    background: linear-gradient(90deg,
            #00ffff 0%,
            #ff00ff 25%,
            #ffff00 50%,
            #00ffff 75%,
            #ff00ff 100%);
    background-size: 300% 100%;
    filter: drop-shadow(0 0 20px rgba(0, 229, 255, 0.5));
    animation: gradient-shift 3s linear infinite;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    h1::before {
        display: none;
        /* Désactiver l'effet de lueur sur mobile pour les performances */
    }

    h1 {
        animation-duration: 8s;
        /* Animation plus lente sur mobile */
    }
}

/* ========================================
   DOCUMENT ADMINISTRATIF SPACEFLEET
   Style officiel pour en-têtes de documents
   ======================================== */

/* En-tête de document administratif */
.page-title-wrapper,
.entry-header {
    position: relative;
    background: rgba(81, 71, 155, 0.02);
    border: 1px solid rgba(81, 71, 155, 0.08);
    border-radius: 6px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

/* Style officiel pour les titres principaux */
.page-title,
.entry-title,
h1.wp-block-heading {
    position: relative;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 600;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--starfleet-blue, #51479B);
    margin: 0;
    padding-left: 70px;
    min-height: 50px;
    display: flex;
    align-items: center;
}

/* Logo/Insigne SpaceFleet - Losange Rotatif */
.page-title::before,
.entry-title::before,
h1.wp-block-heading::before {
    content: '◆';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg,
            var(--starfleet-blue, #51479B) 0%,
            var(--starfleet-gold, #D2B887) 50%,
            var(--starfleet-blue, #51479B) 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: white;
    border: 2px solid var(--starfleet-gold, #D2B887);
    box-shadow:
        0 2px 8px rgba(81, 71, 155, 0.3),
        inset 0 1px 2px rgba(255, 255, 255, 0.2);
    animation: insignia-rotate 12s linear infinite;
    transition: all 0.3s ease;
}

/* Animation de rotation subtile */
@keyframes insignia-rotate {
    from {
        transform: translateY(-50%) rotate(45deg);
    }

    to {
        transform: translateY(-50%) rotate(405deg);
    }
}

/* Effet de pause au hover */
.page-title:hover::before,
.entry-title:hover::before,
h1.wp-block-heading:hover::before {
    animation-play-state: paused;
    transform: translateY(-50%) rotate(45deg) scale(1.05);
    box-shadow:
        0 4px 12px rgba(81, 71, 155, 0.4),
        inset 0 1px 2px rgba(255, 255, 255, 0.3);
}

/* Ligne de séparation officielle */
.page-title::after,
.entry-title::after,
h1.wp-block-heading::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 70px;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
            var(--starfleet-gold, #D2B887) 0%,
            rgba(210, 184, 135, 0.2) 100%);
}

/* En-tête avec informations administratives */
.document-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    color: var(--starfleet-silver, #9B9B99);
}

.document-classification {
    padding: 3px 8px;
    background: var(--starfleet-blue, #51479B);
    color: white;
    border-radius: 3px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.75rem;
}

.document-date {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 400;
    font-size: 0.8rem;
}

/* Sous-titre officiel */
.page-subtitle,
.entry-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--starfleet-silver, #9B9B99);
    margin: 0.3rem 0 0 70px;
    line-height: 1.4;
}

/* Numéro de référence document */
.document-reference {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    color: var(--starfleet-silver, #9B9B99);
    background: rgba(159, 155, 153, 0.08);
    padding: 4px 8px;
    border-radius: 3px;
}

/* Barre latérale de classification */
.page-title-wrapper::before,
.entry-header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--starfleet-blue, #51479B);
    border-radius: 2px 0 0 2px;
}

/* Styles spécifiques par type de document */

/* Documents officiels */
.official-document .page-title::before,
.official-document .entry-title::before {
    content: '◆';
    background: linear-gradient(135deg,
            var(--starfleet-gold, #D2B887) 0%,
            var(--starfleet-blue, #51479B) 50%,
            var(--starfleet-gold, #D2B887) 100%);
    color: white;
}

/* Documents académiques */
.academic-document .page-title::before,
.academic-document .entry-title::before {
    content: '◆';
    background: linear-gradient(135deg,
            var(--starfleet-teal, #44AA99) 0%,
            var(--starfleet-blue, #51479B) 50%,
            var(--starfleet-teal, #44AA99) 100%);
    border-color: var(--starfleet-teal, #44AA99);
}

/* Documents techniques */
.technical-document .page-title::before,
.technical-document .entry-title::before {
    content: '◆';
    background: linear-gradient(135deg,
            var(--starfleet-silver, #9B9B99) 0%,
            var(--starfleet-blue, #51479B) 50%,
            var(--starfleet-silver, #9B9B99) 100%);
    border-color: var(--starfleet-silver, #9B9B99);
}

/* Documents de commandement */
.command-document .page-title::before,
.command-document .entry-title::before {
    content: '★';
    background: linear-gradient(135deg,
            var(--starfleet-blue, #51479B) 0%,
            var(--starfleet-gold, #D2B887) 50%,
            var(--starfleet-blue, #51479B) 100%);
    animation-duration: 8s;
    /* Rotation plus rapide pour le commandement */
}

/* Classification de sécurité */
.classified {
    border-color: var(--starfleet-red, #B51100);
}

.classified::before {
    background: var(--starfleet-red, #B51100);
}

.classified .document-classification {
    background: var(--starfleet-red, #B51100);
    animation: subtle-blink 3s ease-in-out infinite;
}

@keyframes subtle-blink {

    0%,
    90% {
        opacity: 1;
    }

    95% {
        opacity: 0.7;
    }

    100% {
        opacity: 1;
    }
}

/* Footer de document */
.document-footer {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(81, 71, 155, 0.15);
    font-size: 0.85rem;
    color: var(--starfleet-silver, #9B9B99);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.document-author {
    font-weight: 500;
}

.document-approval {
    font-style: italic;
}

/* Responsive Design */
@media (max-width: 768px) {

    .page-title-wrapper,
    .entry-header {
        padding: 1.25rem;
    }

    .page-title,
    .entry-title,
    h1.wp-block-heading {
        font-size: clamp(1.4rem, 5vw, 1.8rem);
        padding-left: 60px;
    }

    .page-title::before,
    .entry-title::before,
    h1.wp-block-heading::before {
        width: 44px;
        height: 44px;
        font-size: 14px;
        border-width: 1.5px;
    }

    .page-subtitle,
    .entry-subtitle {
        margin-left: 60px;
        font-size: 0.85rem;
    }

    .document-header {
        flex-direction: column;
        gap: 0.3rem;
        align-items: flex-start;
        margin-bottom: 0.8rem;
    }

    .document-reference {
        position: static;
        margin-top: 0.5rem;
        align-self: flex-end;
    }
}

@media (max-width: 480px) {

    .page-title-wrapper,
    .entry-header {
        padding: 1rem;
    }

    .page-title,
    .entry-title,
    h1.wp-block-heading {
        padding-left: 0;
        text-align: center;
        min-height: auto;
        margin-bottom: 1rem;
        font-size: clamp(1.3rem, 6vw, 1.6rem);
    }

    .page-title::before,
    .entry-title::before,
    h1.wp-block-heading::before {
        position: static;
        transform: rotate(45deg);
        margin: 0 auto 0.75rem;
        width: 40px;
        height: 40px;
        font-size: 12px;
        border-width: 1px;
        animation: none;
        /* Désactiver rotation sur mobile */
    }

    .page-title::after,
    .entry-title::after,
    h1.wp-block-heading::after {
        left: 0;
    }

    .page-subtitle,
    .entry-subtitle {
        margin-left: 0;
        text-align: center;
        font-size: 0.8rem;
    }
}

/* ========================================
   STARFLEET NEWSLETTERS LIST WIDGET
   ======================================== */
.starfleet-newsletters-widget {
    background: var(--sf-bg-card);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    margin: 20px 0;
}

/* LCARS Frame */
.starfleet-newsletters-widget .lcars-frame-top,
.starfleet-newsletters-widget .lcars-frame-bottom {
    position: relative;
    background: linear-gradient(90deg, var(--sf-primary) 0%, var(--sf-primary-dark) 100%);
    height: 4px;
}

.starfleet-newsletters-widget .lcars-bar-horizontal {
    height: 100%;
    background: inherit;
}

.starfleet-newsletters-widget .lcars-corner-indicator {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 8px;
    background: var(--sf-accent);
    border-radius: 2px;
    animation: pulse 2s ease infinite;
}

/* Widget Header */
.newsletters-widget-header {
    padding: 20px 25px;
    border-bottom: 1px solid rgba(74, 95, 217, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, rgba(74, 95, 217, 0.05) 0%, transparent 100%);
}

.newsletters-widget-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
}

.newsletters-widget-title .title-decorator {
    width: 4px;
    height: 20px;
    background: var(--sf-accent);
    margin-right: 12px;
    border-radius: 2px;
}

.newsletters-widget-header .header-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    color: var(--sf-success);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.newsletters-widget-header .status-dot {
    width: 6px;
    height: 6px;
    background: var(--sf-success);
    border-radius: 50%;
    animation: pulse 2s ease infinite;
}

/* Newsletter Content */
.newsletters-content {
    padding: 20px 25px;
}

/* Year Section */
.newsletter-year-section {
    margin-bottom: 30px;
    transition: all 0.3s ease;
}

.newsletter-year-section:last-child {
    margin-bottom: 0;
}

.newsletter-year-section.collapsed .newsletter-list {
    max-height: 0;
    overflow: hidden;
}

/* Year Header */
.newsletter-year-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    margin-bottom: 15px;
    border-bottom: 2px solid rgba(74, 95, 217, 0.2);
    cursor: pointer;
    transition: all 0.3s ease;
}

.newsletter-year-header:hover {
    border-bottom-color: var(--sf-primary);
}

.year-indicator {
    display: flex;
    align-items: center;
    gap: 12px;
}

.year-indicator .year-bar {
    width: 3px;
    height: 24px;
    background: var(--sf-gold);
    border-radius: 2px;
}

.newsletter-year-title {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--sf-gold);
    font-family: var(--font-display);
}

.year-stats {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 183, 77, 0.1);
    padding: 6px 12px;
    border-radius: 20px;
    border: 1px solid rgba(255, 183, 77, 0.2);
}

.year-stats .stat-number {
    font-size: 14px;
    font-weight: 700;
    color: var(--sf-gold);
}

.year-stats .stat-label {
    font-size: 10px;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Newsletter List */
.newsletter-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: max-height 0.3s ease;
}

/* Newsletter Item */
.newsletter-item {
    position: relative;
}

.newsletter-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(74, 95, 217, 0.05);
    border: 1px solid transparent;
    border-radius: 6px;
    text-decoration: none !important;
    color: var(--sf-text) !important;
    transition: all 0.3s var(--ease-out);
    position: relative;
    overflow: hidden;
}

.newsletter-link:hover {
    background: rgba(74, 95, 217, 0.1);
    border-color: rgba(74, 95, 217, 0.3);
    transform: translateX(5px);
    box-shadow: 0 4px 12px rgba(74, 95, 217, 0.2);
}

/* PDF Icon */
.newsletter-link .pdf-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255, 82, 82, 0.1);
    border-radius: 6px;
    color: #FF5252;
    flex-shrink: 0;
}

/* Document Title */
.newsletter-link .document-title {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: var(--sf-text);
}

/* Download Indicator */
.newsletter-link .download-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: rgba(0, 229, 255, 0.1);
    border-radius: 4px;
    color: var(--sf-accent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.newsletter-link:hover .download-indicator {
    opacity: 1;
}

/* Scan Line Effect */
.newsletter-link .scan-line {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(0, 229, 255, 0.2) 50%,
            transparent 100%);
    transition: left 0.5s ease;
    pointer-events: none;
}

.newsletter-link:hover .scan-line {
    left: 100%;
}

/* Accessing State */
.newsletter-link.accessing {
    background: rgba(0, 229, 255, 0.2) !important;
    border-color: var(--sf-accent) !important;
}

/* Data Stream */
.starfleet-newsletters-widget .data-stream {
    padding: 8px 20px;
    background: rgba(74, 95, 217, 0.05);
    overflow: hidden;
    position: relative;
}

.starfleet-newsletters-widget .stream-text {
    display: inline-block;
    font-size: 10px;
    color: var(--sf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    white-space: nowrap;
    animation: scroll-text 20s linear infinite;
}

@keyframes scroll-text {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }
}

/* Theme Variations */
.starfleet-newsletters-widget.lcars-gold .lcars-frame-top,
.starfleet-newsletters-widget.lcars-gold .lcars-frame-bottom {
    background: linear-gradient(90deg, var(--sf-gold) 0%, var(--sf-gold-dim) 100%);
}

.starfleet-newsletters-widget.lcars-gold .newsletter-year-title {
    color: var(--sf-gold);
}

.starfleet-newsletters-widget.lcars-purple .lcars-frame-top,
.starfleet-newsletters-widget.lcars-purple .lcars-frame-bottom {
    background: linear-gradient(90deg, #7B68EE 0%, #4B0082 100%);
}

.starfleet-newsletters-widget.lcars-green .lcars-frame-top,
.starfleet-newsletters-widget.lcars-green .lcars-frame-bottom {
    background: linear-gradient(90deg, var(--sf-success) 0%, #00A152 100%);
}

/* Compact Mode */
.starfleet-newsletters-widget.compact-mode .newsletters-widget-header {
    padding: 15px 20px;
}

.starfleet-newsletters-widget.compact-mode .newsletters-content {
    padding: 15px 20px;
}

.starfleet-newsletters-widget.compact-mode .newsletter-link {
    padding: 8px 12px;
}

.starfleet-newsletters-widget.compact-mode .pdf-icon {
    width: 24px;
    height: 24px;
}

.starfleet-newsletters-widget.compact-mode .document-title {
    font-size: 13px;
}

/* Animations */
.starfleet-newsletters-widget.with-animations .newsletter-item {
    animation: fadeInUp 0.5s ease forwards;
    opacity: 0;
}

.starfleet-newsletters-widget.with-animations .newsletter-item:nth-child(1) {
    animation-delay: 0.1s;
}

.starfleet-newsletters-widget.with-animations .newsletter-item:nth-child(2) {
    animation-delay: 0.2s;
}

.starfleet-newsletters-widget.with-animations .newsletter-item:nth-child(3) {
    animation-delay: 0.3s;
}

.starfleet-newsletters-widget.with-animations .newsletter-item:nth-child(4) {
    animation-delay: 0.4s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .newsletters-widget-header {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .newsletter-year-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .newsletter-link {
        padding: 10px 12px;
    }

    .newsletter-link .document-title {
        font-size: 13px;
    }

    .starfleet-newsletters-widget .stream-text {
        animation-duration: 15s;
    }
}

/* =========================================
   LCARS CTA WIDGET
   ========================================= */
.lcars-cta {
    position: relative;
    background: linear-gradient(135deg, rgba(20, 28, 46, 0.9) 0%, rgba(10, 14, 27, 0.95) 100%);
    border: 2px solid var(--sf-primary);
    border-radius: 20px 4px 20px 4px;
    padding: var(--space-2xl);
    margin: var(--space-xl) 0;
    overflow: hidden;
    transition: all 0.4s var(--ease-out);
}

.lcars-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-accent) 20%,
            var(--sf-accent) 80%,
            transparent 100%);
    animation: cta-scan 3s linear infinite;
}

@keyframes cta-scan {

    0%,
    100% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(100%);
    }
}

/* Alert Levels */
.lcars-cta--yellow {
    border-color: var(--sf-warning);
    background: linear-gradient(135deg, rgba(255, 167, 38, 0.1) 0%, rgba(10, 14, 27, 0.95) 100%);
}

.lcars-cta--red {
    border-color: var(--sf-danger);
    background: linear-gradient(135deg, rgba(255, 82, 82, 0.15) 0%, rgba(10, 14, 27, 0.95) 100%);
    animation: red-alert-pulse 2s ease-in-out infinite;
}

.lcars-cta--priority {
    border-color: var(--sf-accent);
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.1) 0%, rgba(10, 14, 27, 0.95) 100%);
}

@keyframes red-alert-pulse {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(255, 82, 82, 0.2);
    }

    50% {
        box-shadow: 0 0 40px rgba(255, 82, 82, 0.4);
    }
}

/* Container & Layout */
.lcars-cta__container {
    display: flex;
    gap: var(--space-xl);
    align-items: center;
    position: relative;
    z-index: 2;
}

.lcars-cta--vertical .lcars-cta__container {
    flex-direction: column;
    text-align: center;
}

.lcars-cta--compact .lcars-cta__container {
    gap: var(--space-lg);
}

/* Icon */
.lcars-cta__icon-wrapper {
    flex-shrink: 0;
}

.lcars-cta__icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--sf-primary) 0%, var(--sf-primary-dark) 100%);
    border-radius: 50%;
    position: relative;
    animation: icon-pulse 3s ease-in-out infinite;
}

.lcars-cta__icon::after {
    content: '';
    position: absolute;
    inset: -8px;
    border: 2px solid var(--sf-primary);
    border-radius: 50%;
    opacity: 0.3;
    animation: icon-ring 2s linear infinite;
}

@keyframes icon-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

@keyframes icon-ring {
    0% {
        transform: scale(1);
        opacity: 0.3;
    }

    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}

.lcars-cta__icon svg {
    width: 40px;
    height: 40px;
    color: var(--sf-text);
}

/* Content */
.lcars-cta__content {
    flex: 1;
}

.lcars-cta__stardate {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-sm);
}

.lcars-cta__stardate-value::before {
    content: attr(data-stardate);
}

.lcars-cta__subheading {
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--sf-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-xs);
}

.lcars-cta__heading {
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--sf-text);
    line-height: 1.2;
    margin-bottom: var(--space-md);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.lcars-cta__message {
    font-size: 1rem;
    color: var(--sf-text-dim);
    line-height: 1.6;
    margin-bottom: var(--space-xl);
}

/* Buttons */
.lcars-cta__buttons {
    display: flex;
    gap: var(--space-lg);
    flex-wrap: wrap;
}

.lcars-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-md) var(--space-xl);
    background: linear-gradient(90deg, var(--sf-primary) 0%, var(--sf-primary-light) 100%);
    color: var(--sf-text);
    text-decoration: none;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border: none;
    border-radius: 30px 4px 30px 4px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
    cursor: pointer;
    min-width: 180px;
}

.lcars-cta__button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
    transition: left 0.5s var(--ease-out);
}

.lcars-cta__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(74, 95, 217, 0.3);
    color: #fff;
}

.lcars-cta__button:hover::before {
    left: 100%;
}

.lcars-cta__button--primary {
    background: linear-gradient(90deg, var(--sf-accent) 0%, #00B8D4 100%);
}

.lcars-cta__button--secondary {
    background: transparent;
    border: 2px solid var(--sf-primary);
}

.lcars-cta__button--secondary:hover {
    background: var(--sf-primary);
}

/* Badge */
.lcars-cta__badge {
    position: absolute;
    top: -12px;
    right: 30px;
    background: var(--sf-danger);
    color: white;
    padding: var(--space-xs) var(--space-lg);
    font-family: var(--font-display);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 20px;
    animation: badge-blink 1.5s ease-in-out infinite;
    z-index: 3;
}

@keyframes badge-blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.7;
    }
}

/* Corner Decorations */
.lcars-cta__corner-decoration {
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid var(--sf-primary);
    opacity: 0.5;
}

.lcars-cta__corner-decoration--top-left {
    top: 10px;
    left: 10px;
    border-right: none;
    border-bottom: none;
    border-radius: 10px 0 0 0;
}

.lcars-cta__corner-decoration--top-right {
    top: 10px;
    right: 10px;
    border-left: none;
    border-bottom: none;
    border-radius: 0 10px 0 0;
}

.lcars-cta__corner-decoration--bottom-left {
    bottom: 10px;
    left: 10px;
    border-right: none;
    border-top: none;
    border-radius: 0 0 0 10px;
}

.lcars-cta__corner-decoration--bottom-right {
    bottom: 10px;
    right: 10px;
    border-left: none;
    border-top: none;
    border-radius: 0 0 10px 0;
}

/* Box Styles */
.lcars-cta--panel {
    clip-path: polygon(30px 0,
            100% 0,
            100% calc(100% - 30px),
            calc(100% - 30px) 100%,
            0 100%,
            0 30px);
}

.lcars-cta--console {
    background: linear-gradient(180deg, rgba(74, 95, 217, 0.05) 0%, rgba(10, 14, 27, 0.98) 100%);
    border-left: 5px solid var(--sf-primary);
    border-radius: 0;
}

.lcars-cta--padd {
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(30, 38, 56, 0.95) 0%, rgba(10, 14, 27, 0.98) 100%);
}

.lcars-cta--viewscreen {
    border: 3px solid var(--sf-primary);
    border-radius: 4px;
    background: radial-gradient(ellipse at center, rgba(74, 95, 217, 0.1) 0%, rgba(10, 14, 27, 0.98) 100%);
}

/* Color Schemes */
.lcars-cta--gold {
    border-color: var(--sf-gold);
}

.lcars-cta--gold .lcars-cta__icon {
    background: linear-gradient(135deg, var(--sf-gold) 0%, var(--sf-gold-dim) 100%);
}

.lcars-cta--gold .lcars-cta__icon::after {
    border-color: var(--sf-gold);
}

.lcars-cta--red {
    border-color: var(--sf-danger);
}

.lcars-cta--red .lcars-cta__icon {
    background: linear-gradient(135deg, var(--sf-danger) 0%, #D32F2F 100%);
}

.lcars-cta--green {
    border-color: var(--sf-success);
}

.lcars-cta--green .lcars-cta__icon {
    background: linear-gradient(135deg, var(--sf-success) 0%, #00C853 100%);
}

.lcars-cta--purple {
    border-color: #9C27B0;
}

.lcars-cta--purple .lcars-cta__icon {
    background: linear-gradient(135deg, #9C27B0 0%, #6A1B9A 100%);
}

.lcars-cta--teal {
    border-color: #00BCD4;
}

.lcars-cta--teal .lcars-cta__icon {
    background: linear-gradient(135deg, #00BCD4 0%, #00838F 100%);
}

/* Animation Effects */
.lcars-cta--pulse {
    animation: cta-pulse 2s ease-in-out infinite;
}

@keyframes cta-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.02);
    }
}

.lcars-cta--glow {
    animation: cta-glow 3s ease-in-out infinite;
}

@keyframes cta-glow {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(74, 95, 217, 0.2);
    }

    50% {
        box-shadow: 0 0 40px rgba(74, 95, 217, 0.4);
    }
}

.lcars-cta--scan .lcars-cta__scanline {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--sf-accent) 50%, transparent 100%);
    animation: scanline-move 3s linear infinite;
}

@keyframes scanline-move {
    0% {
        top: 0;
    }

    100% {
        top: 100%;
    }
}

.lcars-cta--interference::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg,
            transparent,
            transparent 2px,
            rgba(74, 95, 217, 0.03) 2px,
            rgba(74, 95, 217, 0.03) 4px);
    pointer-events: none;
    animation: interference 0.5s steps(10) infinite;
}

@keyframes interference {

    0%,
    100% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }
}

.lcars-cta--hologram {
    animation: hologram-effect 2s ease-in-out infinite;
}

@keyframes hologram-effect {

    0%,
    100% {
        opacity: 0.95;
        filter: brightness(1) contrast(1);
    }

    50% {
        opacity: 1;
        filter: brightness(1.1) contrast(1.05);
    }
}

/* Particles */
.lcars-cta__particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.lcars-cta__particles::before,
.lcars-cta__particles::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 2px;
    background: var(--sf-accent);
    border-radius: 50%;
    animation: particle-float 10s linear infinite;
}

.lcars-cta__particles::after {
    animation-delay: 5s;
    animation-duration: 15s;
}

@keyframes particle-float {
    0% {
        transform: translate(0, 100vh) scale(0);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        transform: translate(100vw, -100vh) scale(1);
        opacity: 0;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .lcars-cta {
        padding: var(--space-xl);
    }

    .lcars-cta__container {
        flex-direction: column;
        text-align: center;
    }

    .lcars-cta__heading {
        font-size: 1.5rem;
    }

    .lcars-cta__buttons {
        flex-direction: column;
        width: 100%;
    }

    .lcars-cta__button {
        width: 100%;
    }
}

/* ========================================
   STARFLEET CAMPUS WIDGET STYLES
   ======================================== */

.starfleet-campus-widget {
    padding: var(--space-2xl);
    background: var(--sf-bg-card);
    border-radius: 12px;
    border: 1px solid rgba(74, 95, 217, 0.2);
    position: relative;
    overflow: hidden;
}

.starfleet-campus-widget::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
            var(--lcars-blue) 0%,
            var(--lcars-gold) 50%,
            var(--lcars-teal) 100%);
    animation: lcars-pulse 3s ease-in-out infinite;
}

@keyframes lcars-pulse {

    0%,
    100% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
    }
}

/* Header Section */
.starfleet-campus-header {
    margin-bottom: var(--space-2xl);
    text-align: center;
}

.starfleet-campus-title {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    color: var(--sf-text);
    margin: 0 0 var(--space-md) 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: linear-gradient(135deg, var(--sf-primary-light), var(--sf-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.starfleet-campus-subtitle {
    font-size: 1.1rem;
    color: var(--sf-text-dim);
    margin-bottom: var(--space-xl);
    font-style: italic;
}

.lcars-divider {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-sm);
    margin: var(--space-xl) 0;
}

.lcars-bar {
    height: 3px;
    border-radius: 2px;
    animation: lcars-bar-glow 2s ease-in-out infinite;
}

.lcars-bar-1 {
    width: 40px;
    background: var(--lcars-blue);
}

.lcars-bar-2 {
    width: 60px;
    background: var(--lcars-gold);
    animation-delay: 0.5s;
}

.lcars-bar-3 {
    width: 40px;
    background: var(--lcars-teal);
    animation-delay: 1s;
}

@keyframes lcars-bar-glow {

    0%,
    100% {
        opacity: 0.7;
        transform: scaleX(1);
    }

    50% {
        opacity: 1;
        transform: scaleX(1.1);
    }
}

/* Grid Layout */
.starfleet-campus-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--space-2xl);
    margin-bottom: var(--space-2xl);
}

.starfleet-campus-masonry .starfleet-campus-grid {
    column-count: auto;
    column-width: 350px;
    column-gap: var(--space-2xl);
}

.starfleet-campus-list .starfleet-campus-grid {
    display: block;
}

.starfleet-campus-list .campus-item {
    margin-bottom: var(--space-2xl);
}

/* Campus Item */
.campus-item {
    background: rgba(20, 28, 46, 0.8);
    border-radius: 12px;
    border: 1px solid rgba(74, 95, 217, 0.15);
    position: relative;
    overflow: hidden;
    transition: all 0.4s var(--ease-out);
    break-inside: avoid;
}

.campus-hover-enabled .campus-item:hover {
    transform: translateY(-8px);
    border-color: var(--sf-accent);
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.3),
        0 0 30px rgba(0, 229, 255, 0.2);
}

.campus-animations-enabled .campus-item {
    animation: campus-entrance 0.6s ease-out;
}

@keyframes campus-entrance {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.campus-inner {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Campus Image */
.campus-image-container {
    position: relative;
    height: 220px;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}

.campus-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease-out);
}

.campus-hover-enabled .campus-item:hover .campus-image {
    transform: scale(1.05);
}

.campus-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.1) 0%,
            rgba(0, 0, 0, 0.3) 60%,
            rgba(0, 0, 0, 0.7) 100%);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: var(--space-lg);
}

.campus-status-indicator {
    width: 12px;
    height: 12px;
    background: var(--sf-success);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--sf-success);
    animation: status-pulse 2s ease-in-out infinite;
}

@keyframes status-pulse {

    0%,
    100% {
        opacity: 0.7;
    }

    50% {
        opacity: 1;
    }
}

.campus-established-badge {
    background: rgba(0, 0, 0, 0.8);
    color: var(--sf-accent);
    padding: var(--space-xs) var(--space-sm);
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid var(--sf-accent);
}

/* Campus Content */
.campus-content {
    padding: var(--space-xl);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.campus-header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.campus-title {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--sf-text);
    margin: 0;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.campus-title-link {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.campus-title-link:hover {
    color: var(--sf-accent);
}

.campus-location {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--sf-text-dim);
    font-size: 0.9rem;
}

.campus-location-icon {
    width: 12px;
    height: 12px;
    background: var(--lcars-teal);
    border-radius: 50%;
    position: relative;
}

.campus-location-icon::before {
    content: '';
    position: absolute;
    inset: 2px;
    border: 1px solid var(--sf-text);
    border-radius: 50%;
}

.campus-description {
    color: var(--sf-text-dim);
    line-height: 1.6;
    font-size: 0.95rem;
}

/* Campus Meta */
.campus-meta {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-lg);
    background: rgba(74, 95, 217, 0.05);
    border-radius: 8px;
    border: 1px solid rgba(74, 95, 217, 0.1);
}

.campus-meta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
}

.meta-label {
    color: var(--sf-text-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.meta-value {
    color: var(--sf-text);
    font-weight: 600;
}

/* CTA Button */
.campus-cta {
    margin-top: auto;
    padding-top: var(--space-lg);
}

.lcars-button.campus-cta-button {
    display: inline-block;
    background: linear-gradient(135deg, var(--sf-primary), var(--sf-primary-dark));
    color: var(--sf-text);
    padding: var(--space-md) var(--space-xl);
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    border: 1px solid var(--sf-primary);
    position: relative;
    overflow: hidden;
    padding: 9px 18px;
}

.campus-cta-button:hover {
    background: linear-gradient(135deg, var(--sf-primary-light), var(--sf-primary));
    transform: translateX(4px);
    box-shadow: 0 4px 15px rgba(74, 95, 217, 0.3);
}

.campus-cta-button::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.1) 50%, transparent 100%);
    transform: translateX(-100%);
    transition: transform 0.6s ease;
}

.campus-cta-button:hover::before {
    transform: translateX(100%);
}

/* LCARS Design Elements */
.campus-lcars-elements {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.lcars-corner {
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid var(--sf-accent);
    opacity: 0.6;
}

.lcars-corner-top-left {
    top: var(--space-lg);
    left: var(--space-lg);
    border-right: none;
    border-bottom: none;
    border-radius: 8px 0 0 0;
}

.lcars-corner-bottom-right {
    bottom: var(--space-lg);
    right: var(--space-lg);
    border-left: none;
    border-top: none;
    border-radius: 0 0 8px 0;
}

.lcars-scan-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-accent) 50%,
            transparent 100%);
    animation: scan-line 4s linear infinite;
}

@keyframes scan-line {
    0% {
        transform: translateY(0);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        transform: translateY(400px);
        opacity: 0;
    }
}

.campus-indicators {
    position: absolute;
    top: var(--space-lg);
    right: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.campus-indicator {
    width: 4px;
    height: 4px;
    background: var(--sf-accent);
    border-radius: 50%;
    animation: indicator-blink 3s ease-in-out infinite;
}

.campus-indicator-2 {
    animation-delay: 1s;
}

.campus-indicator-3 {
    animation-delay: 2s;
}

@keyframes indicator-blink {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

/* Footer Section */
.starfleet-campus-footer {
    margin-top: var(--space-2xl);
    padding-top: var(--space-xl);
    border-top: 1px solid rgba(74, 95, 217, 0.2);
}

.campus-summary {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-2xl);
    margin-bottom: var(--space-xl);
    flex-wrap: wrap;
}

.summary-item {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.summary-label {
    color: var(--sf-text-muted);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.summary-value {
    color: var(--sf-text);
    font-weight: 700;
    font-size: 1.1rem;
}

.summary-active {
    color: var(--sf-success);
    animation: status-glow 2s ease-in-out infinite;
}

@keyframes status-glow {

    0%,
    100% {
        text-shadow: 0 0 5px rgba(0, 230, 118, 0.5);
    }

    50% {
        text-shadow: 0 0 15px rgba(0, 230, 118, 0.8);
    }
}

.lcars-footer-bar {
    height: 3px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--lcars-blue) 25%,
            var(--lcars-gold) 50%,
            var(--lcars-teal) 75%,
            transparent 100%);
    border-radius: 2px;
    position: relative;
}

.lcars-footer-indicator {
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 8px;
    background: var(--sf-accent);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--sf-accent);
    animation: footer-pulse 3s ease-in-out infinite;
}

@keyframes footer-pulse {

    0%,
    100% {
        opacity: 0.6;
        transform: translateX(-50%) scale(1);
    }

    50% {
        opacity: 1;
        transform: translateX(-50%) scale(1.2);
    }
}

/* Color Scheme Variations */
.starfleet-campus-widget.lcars-gold .starfleet-campus-title {
    background: linear-gradient(135deg, var(--lcars-gold), #FFD54F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.starfleet-campus-widget.lcars-gold .campus-cta-button {
    background: linear-gradient(135deg, var(--lcars-gold), var(--lcars-yellow));
    border-color: var(--lcars-gold);
}

.starfleet-campus-widget.lcars-silver .starfleet-campus-title {
    background: linear-gradient(135deg, var(--lcars-silver), #CFD8DC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.starfleet-campus-widget.lcars-green .starfleet-campus-title {
    background: linear-gradient(135deg, var(--lcars-green), var(--sf-success));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.starfleet-campus-widget.lcars-red .starfleet-campus-title {
    background: linear-gradient(135deg, var(--lcars-red), var(--sf-danger));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.starfleet-campus-widget.lcars-teal .starfleet-campus-title {
    background: linear-gradient(135deg, var(--lcars-teal), #26C6DA);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Editor Placeholder */
.editor-placeholder {
    border: 2px dashed rgba(74, 95, 217, 0.3);
    position: relative;
}

.editor-placeholder::after {
    content: 'Preview - Campus content will load from posts';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.8);
    color: var(--sf-accent);
    padding: var(--space-sm) var(--space-lg);
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    text-align: center;
    z-index: 10;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .starfleet-campus-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: var(--space-xl);
    }
}

@media (max-width: 768px) {
    .starfleet-campus-widget {
        padding: var(--space-xl);
    }

    .starfleet-campus-grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .campus-image-container {
        height: 180px;
    }

    .campus-content {
        padding: var(--space-lg);
    }

    .campus-summary {
        flex-direction: column;
        gap: var(--space-lg);
        text-align: center;
    }
}

@media (max-width: 480px) {
    .starfleet-campus-title {
        font-size: 1.5rem;
    }

    .campus-title {
        font-size: 1.2rem;
    }

    .campus-meta {
        padding: var(--space-md);
    }

    .campus-meta-item {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-xs);
    }
}

/* =========================================
   STARFLEET WORDPRESS WIDGETS
   ========================================= */

/* Widget Container Base */
.sf-widget-container {
    background: linear-gradient(135deg, rgba(20, 28, 46, 0.95) 0%, rgba(10, 14, 27, 0.98) 100%);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 12px;
    padding: var(--space-lg);
    margin-bottom: var(--space-xl);
    position: relative;
    overflow: hidden;
}

.sf-widget-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent,
            var(--sf-accent),
            transparent);
    animation: sf-scan-line 3s ease-in-out infinite;
}

/* Widget Header */
.sf-widget-header {
    display: flex;
    align-items: center;
    margin-bottom: var(--space-lg);
    position: relative;
}

.sf-widget-title {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--sf-accent);
    margin: 0 var(--space-md);
    text-shadow: 0 0 20px var(--sf-accent-glow);
}

.sf-widget-bar-left,
.sf-widget-bar-right {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg,
            var(--sf-primary),
            transparent);
}

.sf-widget-bar-right {
    background: linear-gradient(90deg,
            transparent,
            var(--sf-primary));
}

/* Status Indicators */
.sf-widget-status {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
    padding: var(--space-sm);
    background: rgba(0, 229, 255, 0.05);
    border-left: 3px solid var(--sf-accent);
}

.sf-status-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sf-text-muted);
}

.sf-status-indicator.active {
    background: var(--sf-success);
    box-shadow: 0 0 10px var(--sf-success);
    animation: sf-pulse 2s ease-in-out infinite;
}

.sf-status-text {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Last Newsletter Widget */
.sf-newsletter-widget .sf-transmission-status {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm);
    background: rgba(0, 230, 118, 0.05);
    border-radius: 6px;
    margin-bottom: var(--space-lg);
}

.sf-signal-strength {
    display: flex;
    gap: 4px;
}

.sf-signal-bar {
    width: 4px;
    height: 12px;
    background: var(--sf-text-muted);
    border-radius: 2px;
}

.sf-signal-bar.active {
    background: var(--sf-success);
    animation: sf-signal-pulse 1.5s ease-in-out infinite;
}

.sf-newsletter-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-md);
    background: linear-gradient(135deg, var(--sf-danger), var(--sf-warning));
    border-radius: 20px;
    margin-bottom: var(--space-md);
}

.sf-badge-text,
.sf-badge-level {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sf-newsletter-title {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--sf-text);
    margin-bottom: var(--space-md);
    line-height: 1.3;
}

.sf-newsletter-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s var(--ease-out);
}

.sf-newsletter-title a:hover {
    color: var(--sf-accent);
}

.sf-newsletter-meta {
    display: flex;
    gap: var(--space-lg);
    margin-bottom: var(--space-md);
    padding: var(--space-sm);
    background: rgba(74, 95, 217, 0.05);
    border-radius: 6px;
}

.sf-meta-label {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sf-meta-value {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-gold);
    font-weight: 600;
}

.sf-newsletter-thumbnail {
    position: relative;
    margin-bottom: var(--space-lg);
    border-radius: 8px;
    overflow: hidden;
}

.sf-newsletter-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.sf-scan-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent,
            var(--sf-accent),
            transparent);
    animation: sf-scan-vertical 2s linear infinite;
}

.sf-newsletter-excerpt {
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--sf-text-dim);
    margin-bottom: var(--space-lg);
}

.sf-download-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-lg);
    background: linear-gradient(135deg, var(--sf-primary), var(--sf-primary-dark));
    color: white;
    text-decoration: none;
    border-radius: 25px;
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.3s var(--ease-out);
}

.sf-download-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(74, 95, 217, 0.4);
}

/* Subscribe Section */
.sf-subscribe-section {
    margin-top: var(--space-xl);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(74, 95, 217, 0.2);
}

.sf-section-divider {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.sf-divider-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg,
            transparent,
            var(--sf-primary));
}

.sf-divider-text {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

.sf-subscribe-form {
    display: flex;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
}

.sf-email-input {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    background: rgba(20, 28, 46, 0.8);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 8px;
    color: var(--sf-text);
    font-family: var(--font-mono);
    font-size: 0.85rem;
}

.sf-email-input::placeholder {
    color: var(--sf-text-muted);
}

.sf-email-input:focus {
    outline: none;
    border-color: var(--sf-accent);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.2);
}

.sf-subscribe-button {
    padding: var(--space-sm) var(--space-lg);
    background: linear-gradient(135deg, var(--sf-accent), var(--sf-primary));
    color: var(--sf-bg);
    border: none;
    border-radius: 8px;
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.3s var(--ease-out);
}

.sf-subscribe-button:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 20px rgba(0, 229, 255, 0.4);
}

/* Recent News Widget */
.sf-news-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.sf-news-item {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md);
    background: rgba(74, 95, 217, 0.05);
    border-left: 3px solid transparent;
    border-radius: 8px;
    transition: all 0.3s var(--ease-out);
    cursor: pointer;
}

.sf-news-item:hover {
    background: rgba(74, 95, 217, 0.1);
    border-left-color: var(--sf-accent);
    transform: translateX(5px);
}

.sf-entry-number {
    font-family: var(--font-mono);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--sf-primary);
    opacity: 0.5;
}

.sf-news-thumbnail {
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.sf-news-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-thumbnail-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
            transparent,
            rgba(74, 95, 217, 0.3));
}

.sf-news-content {
    flex: 1;
    min-width: 0;
}

.sf-news-title {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: var(--space-xs);
}

.sf-news-title a {
    color: var(--sf-text);
    text-decoration: none;
    transition: color 0.3s var(--ease-out);
}

.sf-news-title a:hover {
    color: var(--sf-accent);
}

.sf-news-stardate {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--sf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sf-news-arrow {
    color: var(--sf-primary);
    opacity: 0;
    transition: opacity 0.3s var(--ease-out);
}

.sf-news-item:hover .sf-news-arrow {
    opacity: 1;
}

/* Last News Widget - Enhanced LCARS Style */
.sf-widget-container.sf-last-news-widget {
    position: relative;
    /*background: linear-gradient(135deg, 
        rgba(20, 28, 46, 0.95) 0%,
        rgba(10, 14, 27, 0.98) 100%);
    border: 2px solid transparent;
    border-image: linear-gradient(135deg, var(--lcars-blue), var(--lcars-teal)) 1;
    border-radius: 20px;*/
    background: none !important;
    border: 0px !important;
    padding: var(--space-xl);
    overflow: hidden;
}

.sf-widget-container.sf-last-news-widget::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle,
            rgba(0, 229, 255, 0.03) 0%,
            transparent 70%);
    animation: sf-rotate-slow 30s linear infinite;
    pointer-events: none;
}

.sf-last-news-widget .sf-widget-header {
    display: grid;
    grid-template-columns: 60px 1fr 60px;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
    position: relative;
}

.sf-last-news-widget .sf-widget-bar-left,
.sf-last-news-widget .sf-widget-bar-right {
    height: 4px;
    background: linear-gradient(90deg, var(--lcars-gold), transparent);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
}

.sf-last-news-widget .sf-widget-bar-right {
    background: linear-gradient(90deg, transparent, var(--lcars-gold));
}

.sf-last-news-widget .sf-widget-bar-left::after,
.sf-last-news-widget .sf-widget-bar-right::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, 0.5),
            transparent);
    animation: sf-sweep-right 3s ease-in-out infinite;
}

.sf-last-news-widget .sf-widget-title {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    text-align: center;
    background: linear-gradient(135deg, var(--lcars-gold), var(--lcars-yellow));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 30px rgba(210, 184, 135, 0.3);
}

.sf-last-news-widget .sf-priority-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-md);
    background: linear-gradient(135deg,
            rgba(181, 17, 0, 0.1) 0%,
            rgba(181, 17, 0, 0.05) 100%);
    border: 1px solid rgba(181, 17, 0, 0.3);
    border-left: 4px solid var(--lcars-red);
    border-radius: 0 12px 12px 0;
    margin-bottom: var(--space-xl);
    position: relative;
    overflow: hidden;
}

.sf-last-news-widget .sf-priority-status::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
            var(--lcars-red),
            transparent);
    animation: sf-pulse-width 2s ease-in-out infinite;
}

.sf-priority-level {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.sf-priority-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--sf-danger);
}

.sf-priority-dot.pulse {
    animation: sf-pulse-red 1.5s ease-in-out infinite;
}

.sf-priority-text {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--sf-danger);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sf-transmission-id {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.sf-id-label,
.sf-id-value {
    font-family: var(--font-mono);
    font-size: 0.7rem;
}

.sf-id-label {
    color: var(--sf-text-muted);
}

.sf-id-value {
    color: var(--sf-gold);
    font-weight: 600;
}

.sf-news-featured-image {
    position: relative;
    margin-bottom: var(--space-lg);
    border-radius: 12px;
    overflow: hidden;
}

.sf-featured-img {
    width: 100%;
    height: auto;
    display: block;
}

.sf-image-scanner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: linear-gradient(180deg,
            transparent 0%,
            rgba(0, 229, 255, 0.1) 50%,
            transparent 100%);
    transform: translateY(-100%);
    animation: sf-scan-down 4s linear infinite;
}

.sf-image-overlay {
    position: absolute;
    inset: 0;
    background: rgba(10, 14, 27, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s var(--ease-out);
}

.sf-news-featured-image:hover .sf-image-overlay {
    opacity: 1;
}

.sf-view-label {
    font-family: var(--font-display);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--sf-accent);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sf-news-headline {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--space-md);
}

.sf-news-headline a {
    color: var(--sf-text);
    text-decoration: none;
    transition: color 0.3s var(--ease-out);
}

.sf-news-headline a:hover {
    color: var(--sf-accent);
}

.sf-news-metadata {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-lg);
    padding: var(--space-md);
    background: rgba(74, 95, 217, 0.05);
    border-radius: 8px;
    margin-bottom: var(--space-lg);
}

.sf-meta-item {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.sf-news-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--sf-text-dim);
    margin-bottom: var(--space-lg);
}

.sf-news-actions {
    display: flex;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
}

.sf-read-more-button,
.sf-comments-button {
    display: inline-flex;
    align-items: center;
    padding: var(--space-sm) var(--space-lg);
    background: linear-gradient(135deg,
            rgba(74, 95, 217, 0.1) 0%,
            rgba(0, 229, 255, 0.05) 100%);
    border: 1px solid transparent;
    border-image: linear-gradient(90deg, var(--lcars-blue), var(--lcars-teal)) 1;
    border-radius: 0 20px 20px 0;
    text-decoration: none;
    transition: all 0.4s var(--ease-out);
    position: relative;
    overflow: hidden;
}

.sf-read-more-button::before,
.sf-comments-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent,
            rgba(0, 229, 255, 0.2),
            transparent);
    transition: left 0.5s var(--ease-out);
}

.sf-read-more-button:hover::before,
.sf-comments-button:hover::before {
    left: 100%;
}

.sf-read-more-button:hover,
.sf-comments-button:hover {
    background: linear-gradient(135deg,
            rgba(74, 95, 217, 0.2) 0%,
            rgba(0, 229, 255, 0.1) 100%);
    border-color: var(--sf-accent);
    transform: translateX(4px);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.3);
}

.sf-comments-button {
    background: linear-gradient(135deg,
            rgba(210, 184, 135, 0.1) 0%,
            rgba(187, 159, 0, 0.05) 100%);
    border-image: linear-gradient(90deg, var(--lcars-gold), var(--lcars-yellow)) 1;
}

.sf-comments-button:hover {
    background: linear-gradient(135deg,
            rgba(210, 184, 135, 0.2) 0%,
            rgba(187, 159, 0, 0.1) 100%);
    box-shadow: 0 0 20px rgba(210, 184, 135, 0.3);
}

.sf-button-inner {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.sf-button-icon {
    font-size: 0.9rem;
}

.sf-button-text {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sf-news-status-bar {
    display: flex;
    gap: var(--space-lg);
    padding: var(--space-sm);
    background: rgba(0, 0, 0, 0.3);
    border-radius: 6px;
}

.sf-status-item {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.sf-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--sf-text-muted);
}

.sf-status-dot.active {
    background: var(--sf-success);
    box-shadow: 0 0 8px var(--sf-success);
}

.sf-status-label {
    font-family: var(--font-mono);
    font-size: 0.65rem;
    color: var(--sf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Last Campus Widget */
.sf-campus-widget .sf-campus-status-bar {
    margin-bottom: var(--space-lg);
}

.sf-status-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-sm);
}

.sf-status-cell {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    background: rgba(20, 28, 46, 0.6);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 6px;
}

.sf-status-cell.active {
    background: rgba(0, 230, 118, 0.05);
    border-color: rgba(0, 230, 118, 0.3);
}

.sf-campus-image-container {
    position: relative;
    margin-bottom: var(--space-lg);
    border-radius: 12px;
    overflow: hidden;
}

.sf-campus-image {
    width: 100%;
    height: auto;
    display: block;
}

.sf-image-scanner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg,
            transparent 30%,
            rgba(0, 229, 255, 0.1) 50%,
            transparent 70%);
    animation: sf-scan-diagonal 3s linear infinite;
}

.sf-campus-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.sf-overlay-grid {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.sf-grid-line {
    height: 1px;
    background: rgba(0, 229, 255, 0.1);
}

.sf-campus-name {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: var(--space-lg);
    background: linear-gradient(135deg, var(--sf-text), var(--sf-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.sf-campus-name a {
    text-decoration: none;
    color: inherit;
}

.sf-campus-location {
    background: rgba(74, 95, 217, 0.05);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 8px;
    padding: var(--space-md);
    margin-bottom: var(--space-lg);
}

.sf-location-header {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid rgba(74, 95, 217, 0.1);
}

.sf-location-header .sf-icon {
    font-size: 1rem;
}

.sf-location-header .sf-label {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--sf-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sf-location-details {
    display: grid;
    gap: var(--space-sm);
}

.sf-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sf-detail-label {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--sf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sf-detail-value {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-gold);
    font-weight: 600;
}

.sf-campus-stats {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    padding: var(--space-md);
    margin-bottom: var(--space-lg);
}

.sf-stats-header {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
}

.sf-stats-header .sf-icon {
    font-size: 1rem;
}

.sf-stats-header .sf-label {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--sf-accent);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sf-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: var(--space-md);
}

.sf-stat-item {
    text-align: center;
}

.sf-stat-value {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--sf-accent);
    text-shadow: 0 0 20px var(--sf-accent-glow);
}

.sf-stat-label {
    font-family: var(--font-mono);
    font-size: 0.65rem;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: var(--space-xs);
}

.sf-stat-bar {
    height: 4px;
    background: rgba(74, 95, 217, 0.2);
    border-radius: 2px;
    margin-top: var(--space-xs);
    overflow: hidden;
}

.sf-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--sf-primary), var(--sf-accent));
    border-radius: 2px;
    animation: sf-bar-grow 1.5s var(--ease-out);
}

.sf-campus-description {
    font-size: 0.9rem;
    line-height: 1.6;
    color: var(--sf-text-dim);
    margin-bottom: var(--space-lg);
}

.sf-campus-meta {
    padding: var(--space-sm);
    background: rgba(255, 183, 77, 0.05);
    border-left: 3px solid var(--sf-gold);
    margin-bottom: var(--space-lg);
}

.sf-campus-actions {
    display: flex;
    gap: var(--space-md);
}

.sf-campus-button {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-md);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s var(--ease-out);
}

.sf-button-primary {
    background: linear-gradient(135deg, var(--sf-primary), var(--sf-primary-dark));
    border: 1px solid var(--sf-primary);
}

.sf-button-secondary {
    background: rgba(74, 95, 217, 0.1);
    border: 1px solid rgba(74, 95, 217, 0.3);
}

.sf-campus-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(74, 95, 217, 0.3);
}

.sf-button-primary:hover {
    background: linear-gradient(135deg, var(--sf-primary-light), var(--sf-primary));
}

.sf-button-secondary:hover {
    background: rgba(74, 95, 217, 0.2);
    border-color: var(--sf-accent);
}

.sf-button-arrow {
    margin-left: var(--space-sm);
    transition: transform 0.3s var(--ease-out);
}

.sf-campus-button:hover .sf-button-arrow {
    transform: translateX(3px);
}

.sf-data-stream {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm);
    background: rgba(0, 229, 255, 0.05);
    border-radius: 6px;
    margin-bottom: var(--space-md);
}

.sf-stream-item {
    width: 20px;
    height: 3px;
    background: var(--sf-text-muted);
    border-radius: 2px;
}

.sf-stream-item.active {
    background: var(--sf-accent);
    animation: sf-stream-pulse 1s ease-in-out infinite;
}

.sf-stream-label {
    margin-left: var(--space-sm);
    font-family: var(--font-mono);
    font-size: 0.65rem;
    color: var(--sf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Widget Bottom Bar */
.sf-widget-bottom-bar {
    display: flex;
    gap: 2px;
    margin-top: var(--space-lg);
}

.sf-bar-segment {
    flex: 1;
    height: 3px;
    background: rgba(74, 95, 217, 0.2);
    border-radius: 2px;
}

.sf-bar-segment.active {
    background: linear-gradient(90deg, var(--sf-primary), var(--sf-accent));
}

/* Widget Footer */
.sf-widget-footer {
    margin-top: var(--space-lg);
    padding-top: var(--space-md);
    border-top: 1px solid rgba(74, 95, 217, 0.2);
}

.sf-view-all-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-sm) var(--space-md);
    background: rgba(74, 95, 217, 0.05);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s var(--ease-out);
}

.sf-view-all-link:hover {
    background: rgba(74, 95, 217, 0.1);
    border-color: var(--sf-accent);
    transform: translateX(5px);
}

.sf-link-text {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.sf-link-arrow {
    color: var(--sf-accent);
    animation: sf-arrow-pulse 1.5s ease-in-out infinite;
}

/* No Content States */
.sf-no-newsletter,
.sf-no-content {
    text-align: center;
    padding: var(--space-xl);
}

.sf-alert-icon {
    font-size: 2rem;
    color: var(--sf-warning);
    margin-bottom: var(--space-md);
}

.sf-alert-message {
    font-family: var(--font-display);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-sm);
}

.sf-alert-submessage {
    font-size: 0.8rem;
    color: var(--sf-text-muted);
}

/* Animations */
@keyframes sf-scan-line {

    0%,
    100% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(100%);
    }
}

@keyframes sf-scan-vertical {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(100%);
    }
}

@keyframes sf-scan-down {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(200%);
    }
}

@keyframes sf-scan-diagonal {
    0% {
        transform: translate(-100%, -100%);
    }

    100% {
        transform: translate(100%, 100%);
    }
}

@keyframes sf-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

@keyframes sf-pulse-red {

    0%,
    100% {
        opacity: 1;
        box-shadow: 0 0 10px var(--sf-danger);
    }

    50% {
        opacity: 0.6;
        box-shadow: 0 0 20px var(--sf-danger);
    }
}

@keyframes sf-signal-pulse {

    0%,
    100% {
        transform: scaleY(1);
    }

    50% {
        transform: scaleY(1.5);
    }
}

@keyframes sf-stream-pulse {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

@keyframes sf-arrow-pulse {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(3px);
    }
}

@keyframes sf-bar-grow {
    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .sf-widget-container {
        padding: var(--space-md);
    }

    .sf-widget-title {
        font-size: 1rem;
    }

    .sf-stats-grid {
        grid-template-columns: 1fr;
    }

    .sf-campus-actions {
        flex-direction: column;
    }

    .sf-news-metadata {
        flex-direction: column;
        gap: var(--space-sm);
    }
}

@media (max-width: 480px) {
    .sf-widget-header {
        flex-direction: column;
        text-align: center;
    }

    .sf-widget-bar-left,
    .sf-widget-bar-right {
        width: 100%;
        max-width: 200px;
    }

    .sf-subscribe-form {
        flex-direction: column;
    }

    .sf-status-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   STARFLEET ADMINISTRATION WIDGET - 2025
   Elegant design for 2-3 departments
   ======================================== */

.starfleet-administration-widget {
    width: 100%;
    margin: 2rem 0;
}

/* Cards Layout - Default */
.administration-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    padding: 1rem;
}

.admin-card {
    background: linear-gradient(135deg, #1a1a2e 0%, #0f0f1e 100%);
    border-radius: 20px 5px 20px 5px;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    border: 2px solid var(--starfleet-blue);
}

.admin-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(81, 71, 155, 0.4);
    border-color: var(--starfleet-gold);
}

.admin-card-header {
    background: var(--starfleet-blue);
    padding: 1.5rem;
    position: relative;
    min-height: 120px;
}

.admin-card-accent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: var(--starfleet-gold);
}

.admin-department-title {
    color: white;
    font-size: 1.8rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.admin-department-logo {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: 80px;
    opacity: 0.9;
}

.admin-department-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.admin-card-body {
    padding: 2rem;
    background: rgba(255, 255, 255, 0.02);
}

.admin-description {
    color: #ccc;
    margin-bottom: 1.5rem;
    line-height: 1.6;
    font-size: 0.95rem;
}

.admin-officer {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: rgba(81, 71, 155, 0.1);
    border-left: 4px solid var(--starfleet-gold);
    border-radius: 5px;
}

.officer-title {
    color: var(--starfleet-gold);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0.5rem;
}

.admin-officer-name {
    color: white;
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.admin-rank {
    color: var(--starfleet-gold);
    font-size: 0.95rem;
    font-style: italic;
    margin-bottom: 0.5rem;
}

.admin-contact {
    margin-top: 0.75rem;
}

.admin-email {
    color: #88ccff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.admin-email:hover {
    color: var(--starfleet-gold);
}

.admin-email .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.admin-card-footer {
    height: 20px;
    position: relative;
    background: linear-gradient(90deg,
            rgba(81, 71, 155, 0.15) 0%,
            transparent 100%);
    border-top: 1px solid rgba(81, 71, 155, 0.1);
}

.admin-card-accent-bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 40px;
    height: 2px;
    background: rgba(210, 184, 135, 0.6);
    animation: pulse-accent 4s ease-in-out infinite;
}

/* LCARS Panels Layout - Compact Professional */
.administration-panels {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.admin-panel {
    display: flex;
    align-items: stretch;
    background: linear-gradient(90deg,
            rgba(81, 71, 155, 0.12) 0%,
            rgba(15, 15, 30, 0.95) 30%,
            transparent 100%);
    border-radius: 25px 5px 5px 25px;
    overflow: hidden;
    min-height: 140px;
    border: 1px solid rgba(81, 71, 155, 0.2);
    transition: all 0.3s var(--ease-out);
}

.admin-panel:hover {
    border-color: rgba(210, 184, 135, 0.4);
    box-shadow: 0 4px 15px rgba(81, 71, 155, 0.2);
}

.admin-panel-bar {
    width: 32px;
    background: linear-gradient(180deg,
            var(--starfleet-blue) 0%,
            rgba(81, 71, 155, 0.8) 100%);
    border-radius: 25px 0 0 25px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-panel-bar::after {
    content: '';
    width: 12px;
    height: 12px;
    background: var(--starfleet-gold);
    border-radius: 2px;
    box-shadow: 0 0 8px rgba(210, 184, 135, 0.6);
    animation: pulse-glow 3s ease-in-out infinite;
}

.admin-panel-content {
    flex: 1;
    padding: 1.25rem 1.5rem;
}

.admin-panel-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.admin-panel-accent {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg,
            rgba(210, 184, 135, 0.6) 0%,
            rgba(210, 184, 135, 0.2) 50%,
            transparent 100%);
    opacity: 0.8;
}

.admin-panel-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem;
    align-items: center;
}

.admin-panel-logo {
    width: 70px;
    height: 70px;
    opacity: 0.9;
}

.admin-panel-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(1.05);
}

.admin-officers-row {
    display: flex;
    gap: 2rem;
    margin-top: 0.75rem;
}

.admin-officer-box {
    flex: 1;
    padding: 0.5rem;
    background: rgba(81, 71, 155, 0.05);
    border-radius: 4px;
    border-left: 2px solid rgba(210, 184, 135, 0.4);
}

.officer-label {
    color: rgba(210, 184, 135, 0.9);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.officer-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.admin-panel-end {
    width: 12px;
    background: linear-gradient(180deg,
            rgba(81, 71, 155, 0.6) 0%,
            rgba(210, 184, 135, 0.4) 100%);
    border-radius: 0 5px 5px 0;
}

/* Hierarchy Layout - Compact & Modern */
.administration-hierarchy {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 0;
    gap: 0.5rem;
}

.admin-hierarchy-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 420px;
}

.admin-hierarchy-card {
    background: linear-gradient(145deg,
            rgba(26, 26, 46, 0.95) 0%,
            rgba(15, 15, 30, 0.98) 100%);
    border: 1px solid rgba(81, 71, 155, 0.3);
    border-radius: 8px;
    padding: 1.25rem;
    width: 100%;
    text-align: center;
    position: relative;
    transition: all 0.3s var(--ease-out);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.admin-hierarchy-card:hover {
    transform: scale(1.02) translateY(-2px);
    border-color: rgba(210, 184, 135, 0.5);
    box-shadow: 0 6px 20px rgba(81, 71, 155, 0.3);
}

.hierarchy-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.hierarchy-logo {
    width: 45px;
    height: 45px;
    opacity: 0.9;
}

.hierarchy-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(1.1);
}

.hierarchy-chief,
.hierarchy-deputy {
    margin: 0.5rem 0;
    padding: 0.75rem;
    background: linear-gradient(135deg,
            rgba(81, 71, 155, 0.08) 0%,
            rgba(81, 71, 155, 0.04) 100%);
    border-radius: 6px;
    border-left: 2px solid rgba(210, 184, 135, 0.4);
}

.hierarchy-position {
    color: rgba(210, 184, 135, 0.9);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 0.25rem;
    font-weight: 600;
}

.admin-hierarchy-connector {
    width: 2px;
    height: 30px;
    position: relative;
    margin: 0.5rem 0;
}

.admin-hierarchy-line {
    width: 100%;
    height: 100%;
    border-left: 2px solid rgba(81, 71, 155, 0.3);
    position: relative;
    animation: connector-pulse 3s ease-in-out infinite;
}

.admin-hierarchy-line::before,
.admin-hierarchy-line::after {
    content: '';
    position: absolute;
    left: -4px;
    width: 6px;
    height: 6px;
    background: var(--starfleet-gold);
    border-radius: 50%;
}

.admin-hierarchy-line::before {
    top: 0;
}

.admin-hierarchy-line::after {
    bottom: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .administration-grid {
        grid-template-columns: 1fr;
    }

    .admin-officers-row {
        flex-direction: column;
        gap: 1rem;
    }

    .admin-panel-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .admin-department-title {
        font-size: 1.4rem;
    }

    .admin-panel {
        border-radius: 20px 5px 5px 20px;
    }

    .admin-panel-bar {
        width: 30px;
        border-radius: 20px 0 0 20px;
    }
}

/* Animation Effects */
@keyframes pulse-gold {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.6;
    }
}

/* Enhanced Animation & Interaction States */
.admin-card-accent {
    animation: accent-glow 3s ease-in-out infinite;
}

.admin-panel:hover .admin-panel-bar::after {
    animation-duration: 1.5s;
}

.hierarchy-position {
    animation: pulse-gold 3s ease-in-out infinite;
}

/* Smooth transitions for all interactive elements */
.admin-officer,
.admin-officer-box,
.admin-hierarchy-card,
.admin-panel {
    transition: all 0.3s var(--ease-out);
}

/* Enhanced hover states */
.admin-officer:hover,
.admin-officer-box:hover {
    transform: translateX(2px);
}

/* Admin Contact Styles - Compact & Professional */
.admin-panel .admin-contact {
    margin-top: 0.25rem;
}

.admin-panel .admin-email {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: rgba(68, 170, 153, 0.9);
    text-decoration: none;
    font-size: 0.75rem;
    transition: all 0.2s var(--ease-out);
    opacity: 0.9;
}

.admin-panel .admin-email:hover {
    color: var(--starfleet-gold);
    transform: translateX(2px);
    opacity: 1;
}

.admin-panel .admin-email .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.admin-officer-box .admin-contact {
    padding-top: 0.2rem;
}

/* Typography refinements for compactness */
.starfleet-administration-widget .admin-department-title {
    line-height: 1.2;
}

.starfleet-administration-widget .admin-officer-name {
    line-height: 1.3;
}

.starfleet-administration-widget .admin-rank {
    line-height: 1.2;
}

/* ========================================
   PAGE TEMPLATES STYLES - January 2025
   ======================================== */

/* Fullscreen Template */
.starfleet-fullscreen {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

.starfleet-fullscreen .site-main {
    width: 100%;
    padding: 0;
}

.starfleet-fullscreen .page-content {
    margin: 0;
    padding: 0;
}

.starfleet-fullscreen .entry-content {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* Sidebar Template */
.starfleet-with-sidebar .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.starfleet-with-sidebar .row {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.starfleet-with-sidebar .col-lg-8 {
    flex: 1;
    max-width: calc(66.666% - 1rem);
}

.starfleet-with-sidebar .col-lg-4 {
    flex: 0 0 calc(33.333% - 1rem);
    max-width: calc(33.333% - 1rem);
}

.starfleet-with-sidebar .entry-header {
    margin-bottom: 2rem;
}

.starfleet-with-sidebar .entry-title {
    color: var(--starfleet-gold);
    font-family: var(--font-display);
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-top: 0px !important;
}

/* Blog Template */
.starfleet-blog .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.starfleet-blog .row {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.starfleet-blog .col-lg-8 {
    flex: 1;
    max-width: calc(66.666% - 1rem);
}

.starfleet-blog .col-lg-4 {
    flex: 0 0 calc(33.333% - 1rem);
    max-width: calc(33.333% - 1rem);
}

.starfleet-blog .page-header {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: 2px solid var(--starfleet-blue);
}

.starfleet-blog .page-title {
    color: var(--starfleet-gold);
    font-family: var(--font-display);
    font-size: 3rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.starfleet-blog .page-description {
    color: var(--sf-text-dim);
    font-size: 1.1rem;
    line-height: 1.8;
}

/* Blog Post Items */
.starfleet-blog .blog-post-item {
    margin-bottom: 3rem;
    padding: 2rem;
    background: var(--sf-bg-card);
    border-radius: 15px;
    border: 1px solid rgba(74, 95, 217, 0.2);
    transition: all 0.3s ease;
}

.starfleet-blog .blog-post-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(74, 95, 217, 0.3);
    border-color: var(--sf-primary);
}

.starfleet-blog .post-thumbnail {
    margin: -2rem -2rem 1.5rem -2rem;
    overflow: hidden;
    border-radius: 15px 15px 0 0;
}

.starfleet-blog .post-thumbnail img {
    width: 100%;
    height: auto;
    transition: transform 0.5s ease;
}

.starfleet-blog .blog-post-item:hover .post-thumbnail img {
    transform: scale(1.05);
}

.starfleet-blog .entry-title {
    font-family: var(--font-display);
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

.starfleet-blog .entry-title a {
    color: var(--sf-text);
    text-decoration: none;
    transition: color 0.3s ease;
}

.starfleet-blog .entry-title a:hover {
    color: var(--sf-accent);
}

.starfleet-blog .entry-meta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    color: var(--sf-text-muted);
    font-size: 0.9rem;
}

.starfleet-blog .entry-meta span {
    display: flex;
    align-items: center;
}

.starfleet-blog .entry-meta a {
    color: var(--sf-primary-light);
    text-decoration: none;
}

.starfleet-blog .entry-meta a:hover {
    color: var(--sf-accent);
}

.starfleet-blog .entry-summary {
    color: var(--sf-text-dim);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.starfleet-blog .read-more {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: linear-gradient(135deg, var(--sf-primary), var(--sf-primary-dark));
    color: white;
    text-decoration: none;
    border-radius: 25px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.starfleet-blog .read-more:hover {
    background: linear-gradient(135deg, var(--sf-primary-light), var(--sf-primary));
    transform: translateX(5px);
    box-shadow: 0 5px 15px rgba(74, 95, 217, 0.4);
}

/* Blog Pagination */
.starfleet-blog .pagination {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

.starfleet-blog .pagination a,
.starfleet-blog .pagination span {
    padding: 0.75rem 1rem;
    background: var(--sf-bg-card);
    color: var(--sf-text);
    text-decoration: none;
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.starfleet-blog .pagination a:hover {
    background: var(--sf-primary);
    color: white;
    border-color: var(--sf-primary);
}

.starfleet-blog .pagination .current {
    background: var(--sf-primary);
    color: white;
    border-color: var(--sf-primary);
}

/* Blog Sidebar Widgets */
.blog-sidebar-area .blog-widget {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: var(--sf-bg-card);
    border-radius: 15px;
    border: 1px solid rgba(74, 95, 217, 0.2);
}

.blog-sidebar-area .blog-widget-title {
    color: var(--starfleet-gold);
    font-family: var(--font-display);
    font-size: 1.2rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--sf-primary);
}

.lcars-bar-horizontal.bottom {
    display: none;
}

/* Responsive for Templates */
@media (max-width: 992px) {

    .starfleet-with-sidebar .col-lg-8,
    .starfleet-with-sidebar .col-lg-4,
    .starfleet-blog .col-lg-8,
    .starfleet-blog .col-lg-4 {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .starfleet-blog .page-title {
        font-size: 2rem;
    }

    .starfleet-blog .entry-title {
        font-size: 1.5rem;
    }
}

@media (max-width: 768px) {
    .starfleet-blog .blog-post-item {
        padding: 1.5rem;
    }

    .starfleet-blog .post-thumbnail {
        margin: -1.5rem -1.5rem 1rem -1.5rem;
    }

    .starfleet-blog .entry-meta {
        font-size: 0.85rem;
    }
}

/* ========================================
   EFFET DE SOULIGNEMENT ORANGE POUR LEARNING PORTAL ET JOBS
   29 Décembre 2024
   ======================================== */

/* Cibler les deux derniers liens du menu principal (Learning portal et Jobs) */
.nav-item:nth-last-child(2)::before

/* .nav-item:nth-last-child(3)::before { */
    {
    background: linear-gradient(90deg, var(--starfleet-orange, #FF9900) 0%, var(--starfleet-gold, #D2B887) 100%) !important;
}

/* Effet hover spécifique pour ces deux liens */
.nav-item:nth-last-child(2):hover::before

/*.nav-item:nth-last-child(3):hover::before*/
    {
    background: linear-gradient(90deg, var(--starfleet-orange, #FF9900) 0%, var(--starfleet-gold, #D2B887) 100%) !important;
}

/* Si le menu utilise une structure différente avec des classes spécifiques */
.menu-item-has-children:nth-last-child(2) .nav-item::before,
/* .menu-item-has-children:nth-last-child(3) .nav-item::before, */
li:nth-last-child(2) .nav-item::before

/* li:nth-last-child(3) .nav-item::before { */
    {
    background: linear-gradient(90deg, var(--starfleet-orange, #FF9900) 0%, var(--starfleet-gold, #D2B887) 100%) !important;
}

/* Effet hover pour structure alternative */
.menu-item-has-children:nth-last-child(2) .nav-item:hover::before,
li:nth-last-child(2) .nav-item:hover::before {
    background: linear-gradient(90deg, var(--starfleet-orange, #FF9900) 0%, var(--starfleet-gold, #D2B887) 100%) !important;
}

/* Effet de soulignement au survol avec couleur orange */
.nav-item:nth-last-child(2):hover,
.nav-item:nth-last-child(3):hover {
    color: var(--starfleet-orange, #FF9900) !important;
}

/* Si le thème utilise ::after pour le soulignement */
.nav-item:nth-last-child(2)::after {
    background: var(--starfleet-orange, #FF9900) !important;
}

.nav-item:nth-last-child(2):hover::after {
    /* .nav-item:nth-last-child(3):hover::after { */
    background: var(--starfleet-orange, #FF9900) !important;
    opacity: 1 !important;
}

/* =========================================
   STARFLEET LAST NEWS WIDGET STYLES
   Added: 2025-09-02
   ========================================= */

.starfleet-last-news-widget {
    position: relative;
    padding: var(--space-lg);
    background: linear-gradient(135deg,
            rgba(10, 14, 27, 0.95) 0%,
            rgba(20, 28, 46, 0.85) 100%);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 12px;
    overflow: hidden;
}

.starfleet-last-news-widget::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-accent) 50%,
            transparent 100%);
    animation: scanline 3s linear infinite;
}

/* Header Styles */
.sf-news-header {
    margin-bottom: var(--space-xl);
    position: relative;
    display: block;
    /* Simplifié pour un block container */
}

.sf-news-header-bar {
    display: none;
    /* Barre masquée */
}

.sf-news-header-bar::before {
    content: '';
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg,
            transparent 0%,
            rgba(0, 229, 255, 0.8) 50%,
            transparent 100%);
    animation: bar-scan 2.5s linear infinite;
}

@keyframes bar-glow {

    0%,
    100% {
        box-shadow:
            0 0 20px rgba(74, 95, 217, 0.8),
            0 0 40px rgba(0, 229, 255, 0.4),
            inset 0 0 10px rgba(255, 255, 255, 0.2);
    }

    50% {
        box-shadow:
            0 0 30px rgba(74, 95, 217, 1),
            0 0 60px rgba(0, 229, 255, 0.6),
            inset 0 0 15px rgba(255, 255, 255, 0.3);
    }
}

@keyframes bar-scan {
    0% {
        top: -100%;
    }

    100% {
        top: 200%;
    }
}

.sf-news-widget-title {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin: 0;
    margin-top: 15px;
    /* Ajout du margin top */
    padding-right: 40px;
    /* Espace pour l'indicateur */
    background: linear-gradient(90deg, var(--sf-primary-light), var(--sf-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
    /* Pour positionner l'indicateur */
    display: inline-block;
}

.sf-news-header-indicator {
    width: 16px;
    height: 16px;
    background: radial-gradient(circle at center,
            rgba(255, 255, 255, 0.9) 0%,
            var(--sf-success) 40%,
            var(--sf-success) 60%,
            rgba(0, 255, 136, 0.3) 100%);
    border: 2px solid rgba(0, 255, 136, 0.5);
    border-radius: 50%;
    box-shadow:
        0 0 25px var(--sf-success),
        0 0 50px rgba(0, 255, 136, 0.5),
        inset 0 0 8px rgba(255, 255, 255, 0.5);
    animation: pulse-glow 2s ease-in-out infinite, rotate-indicator 8s linear infinite;
    position: absolute;
    top: 15px;
    right: 10px;
    z-index: 10;
}

.sf-news-header-indicator::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: white;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
    animation: inner-pulse 1.5s ease-in-out infinite;
}

.sf-news-header-indicator::after {
    content: '';
    position: absolute;
    top: -8px;
    left: -8px;
    right: -8px;
    bottom: -8px;
    border: 1px solid var(--sf-success);
    border-radius: 50%;
    opacity: 0;
    animation: ripple-effect 2s ease-out infinite;
}

@keyframes rotate-indicator {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes inner-pulse {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translate(-50%, -50%) scale(0.7);
        opacity: 0.6;
    }
}

@keyframes ripple-effect {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }

    100% {
        transform: scale(1.8);
        opacity: 0;
    }
}

/* Container Layout */
.sf-news-container {
    display: grid;
    gap: var(--space-lg);
}

.sf-news-cols-1 .sf-news-container {
    grid-template-columns: 1fr;
}

.sf-news-cols-2 .sf-news-container {
    grid-template-columns: repeat(2, 1fr);
}

.sf-news-cols-3 .sf-news-container {
    grid-template-columns: repeat(3, 1fr);
}

/* News Item Styles */
.sf-news-item {
    position: relative;
    background: var(--sf-bg-card);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
}

.sf-news-item:hover {
    transform: translateY(-4px);
    border-color: var(--sf-accent);
    box-shadow:
        0 10px 30px rgba(0, 229, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.sf-news-item-inner {
    position: relative;
    display: flex;
    flex-direction: column;
}

/* Layout Variations */
.sf-news-layout-lcars_panel .sf-news-item {
    clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}

.sf-news-layout-tactical_view .sf-news-item {
    background:
        linear-gradient(45deg, transparent 10px, var(--sf-bg-card) 10px),
        linear-gradient(135deg, transparent 10px, var(--sf-bg-card) 10px);
    background-size: 0 50%, 0 50%;
    background-position: top left, bottom left;
}

.sf-news-layout-console_log .sf-news-item {
    border-left: 4px solid var(--sf-primary);
    font-family: var(--font-mono);
}

.sf-news-layout-console_log .sf-news-item::before {
    content: '> ';
    position: absolute;
    left: 12px;
    top: 12px;
    color: var(--sf-accent);
    font-weight: 700;
}

.sf-news-layout-padd_style .sf-news-item {
    border-radius: 20px;
    background: linear-gradient(135deg,
            rgba(74, 95, 217, 0.1) 0%,
            rgba(0, 229, 255, 0.05) 100%);
}

/* Thumbnail Styles */
.sf-news-thumbnail {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--sf-bg) 0%, var(--sf-primary-dark) 100%);
}

.sf-news-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--ease-out);
}

.sf-news-item:hover .sf-news-thumbnail img {
    transform: scale(1.1);
}

.sf-news-thumbnail-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg,
            transparent 0%,
            rgba(10, 14, 27, 0.7) 100%);
    opacity: 0;
    transition: opacity 0.3s;
}

.sf-news-item:hover .sf-news-thumbnail-overlay {
    opacity: 1;
}

/* Content Styles */
.sf-news-content {
    padding: var(--space-lg);
    position: relative;
}

.sf-news-meta-top {
    display: flex;
    gap: var(--space-md);
    margin-bottom: var(--space-sm);
    flex-wrap: wrap;
}

.sf-news-stardate,
.sf-news-category {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 2px 8px;
    background: rgba(74, 95, 217, 0.2);
    border-radius: 4px;
    font-size: 0.75rem;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sf-news-stardate i,
.sf-news-category i {
    font-size: 0.7rem;
    color: var(--sf-accent);
}

.sf-news-title {
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 600;
    margin: var(--space-md) 0;
    line-height: 1.4;
}

.sf-news-title a {
    color: var(--sf-text);
    text-decoration: none;
    transition: color 0.3s;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sf-news-title a:hover {
    color: var(--sf-accent);
}

.sf-news-excerpt {
    color: var(--sf-text-dim);
    font-size: 0.875rem;
    line-height: 1.6;
    margin-bottom: var(--space-md);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sf-news-meta-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid rgba(74, 95, 217, 0.2);
}

.sf-news-author {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    color: var(--sf-text-muted);
    font-size: 0.8rem;
}

.sf-news-author i {
    color: var(--sf-primary);
}

.sf-news-readmore {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 6px 12px;
    background: linear-gradient(90deg, var(--sf-primary), var(--sf-primary-dark));
    color: white;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-radius: 4px;
    transition: all 0.3s var(--ease-out);
}

.sf-news-readmore:hover {
    background: linear-gradient(90deg, var(--sf-accent), var(--sf-primary));
    transform: translateX(4px);
    box-shadow: 0 4px 15px rgba(0, 229, 255, 0.4);
}

.sf-news-readmore i {
    font-size: 0.7rem;
    transition: transform 0.3s;
}

.sf-news-readmore:hover i {
    transform: translateX(4px);
}

/* Item Accent */
.sf-news-item-accent {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-primary) 50%,
            transparent 100%);
    transform: scaleX(0);
    transition: transform 0.5s var(--ease-out);
}

.sf-news-item:hover .sf-news-item-accent {
    transform: scaleX(1);
}

/* Footer Styles */
.sf-news-footer {
    margin-top: var(--space-xl);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(74, 95, 217, 0.2);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sf-news-footer-bar {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--sf-primary) 0%, transparent 100%);
}

.sf-news-status {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.sf-news-status-indicator {
    width: 8px;
    height: 8px;
    background: var(--sf-success);
    border-radius: 50%;
    animation: blink 2s linear infinite;
}

.sf-news-status-text {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--sf-text-muted);
}

/* Color Schemes */
.sf-news-scheme-gold .sf-news-header-bar,
.sf-news-scheme-gold .sf-news-item:hover {
    border-color: var(--sf-gold);
}

.sf-news-scheme-gold .sf-news-readmore {
    background: linear-gradient(90deg, var(--sf-gold), var(--sf-gold-dim));
}

.sf-news-scheme-silver .sf-news-header-bar {
    background: linear-gradient(180deg,
            #C0C0C0 0%,
            #9B9B99 30%,
            #9B9B99 70%,
            #C0C0C0 100%);
    box-shadow:
        0 0 20px rgba(155, 155, 153, 0.8),
        0 0 40px rgba(192, 192, 192, 0.4),
        inset 0 0 10px rgba(255, 255, 255, 0.3);
}

.sf-news-scheme-green .sf-news-header-bar {
    background: linear-gradient(180deg,
            #00FF88 0%,
            #117733 30%,
            #117733 70%,
            #00FF88 100%);
    box-shadow:
        0 0 20px rgba(17, 119, 51, 0.8),
        0 0 40px rgba(0, 255, 136, 0.4),
        inset 0 0 10px rgba(255, 255, 255, 0.2);
}

.sf-news-scheme-red .sf-news-header-bar {
    background: linear-gradient(180deg,
            #FF6B6B 0%,
            var(--sf-danger) 30%,
            var(--sf-danger) 70%,
            #FF6B6B 100%);
    box-shadow:
        0 0 20px rgba(255, 82, 82, 0.8),
        0 0 40px rgba(255, 0, 0, 0.4),
        inset 0 0 10px rgba(255, 255, 255, 0.2);
    animation: bar-glow 3s ease-in-out infinite, red-alert-bar 1.5s ease-in-out infinite;
}

.sf-news-scheme-red .sf-news-header-indicator {
    background: radial-gradient(circle at center,
            rgba(255, 255, 255, 0.9) 0%,
            var(--sf-danger) 40%,
            var(--sf-danger) 60%,
            rgba(255, 82, 82, 0.3) 100%);
    border: 2px solid rgba(255, 82, 82, 0.5);
    box-shadow:
        0 0 25px var(--sf-danger),
        0 0 50px rgba(255, 82, 82, 0.5),
        inset 0 0 8px rgba(255, 255, 255, 0.5);
    animation: alert-pulse 1s ease-in-out infinite, rotate-indicator 8s linear infinite;
}

.sf-news-scheme-teal .sf-news-header-bar {
    background: linear-gradient(180deg,
            #00CED1 0%,
            #44AA99 30%,
            #44AA99 70%,
            #00CED1 100%);
    box-shadow:
        0 0 20px rgba(68, 170, 153, 0.8),
        0 0 40px rgba(0, 206, 209, 0.4),
        inset 0 0 10px rgba(255, 255, 255, 0.2);
}

.sf-news-scheme-mixed .sf-news-item:nth-child(5n+1) .sf-news-readmore {
    background: linear-gradient(90deg, var(--sf-primary), var(--sf-primary-dark));
}

.sf-news-scheme-mixed .sf-news-item:nth-child(5n+2) .sf-news-readmore {
    background: linear-gradient(90deg, var(--sf-gold), var(--sf-gold-dim));
}

.sf-news-scheme-mixed .sf-news-item:nth-child(5n+3) .sf-news-readmore {
    background: linear-gradient(90deg, #117733, #0a5525);
}

.sf-news-scheme-mixed .sf-news-item:nth-child(5n+4) .sf-news-readmore {
    background: linear-gradient(90deg, #44AA99, #2d7266);
}

.sf-news-scheme-mixed .sf-news-item:nth-child(5n+5) .sf-news-readmore {
    background: linear-gradient(90deg, #9B9B99, #6d6d6b);
}

/* Animations */
.sf-news-animated .sf-news-item {
    animation: fadeInUp 0.6s var(--ease-out) backwards;
}

.sf-news-animated .sf-news-item:nth-child(1) {
    animation-delay: 0.1s;
}

.sf-news-animated .sf-news-item:nth-child(2) {
    animation-delay: 0.2s;
}

.sf-news-animated .sf-news-item:nth-child(3) {
    animation-delay: 0.3s;
}

.sf-news-animated .sf-news-item:nth-child(4) {
    animation-delay: 0.4s;
}

.sf-news-animated .sf-news-item:nth-child(5) {
    animation-delay: 0.5s;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scanline {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

@keyframes pulse-glow {

    0%,
    100% {
        opacity: 1;
        box-shadow: 0 0 15px var(--sf-success);
    }

    50% {
        opacity: 0.6;
        box-shadow: 0 0 30px var(--sf-success);
    }
}

@keyframes alert-pulse {

    0%,
    100% {
        opacity: 1;
        box-shadow: 0 0 15px var(--sf-danger);
    }

    50% {
        opacity: 0.3;
        box-shadow: 0 0 40px var(--sf-danger);
    }
}

@keyframes blink {

    0%,
    50%,
    100% {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0.3;
    }
}

/* Preview Message for Editor */
.sf-news-preview-message {
    padding: var(--space-2xl);
    text-align: center;
    color: var(--sf-text-dim);
}

.sf-news-preview-message i {
    font-size: 3rem;
    margin-bottom: var(--space-md);
    color: var(--sf-primary);
}

.sf-news-preview-message p {
    margin: 0;
    font-style: italic;
}

/* No Posts Message */
.sf-news-no-posts {
    padding: var(--space-2xl);
    text-align: center;
    background: var(--sf-bg-card);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 8px;
    color: var(--sf-text-dim);
    font-style: italic;
}

/* Responsive Design */
@media (max-width: 768px) {

    .sf-news-cols-2 .sf-news-container,
    .sf-news-cols-3 .sf-news-container {
        grid-template-columns: 1fr;
    }

    .sf-news-widget-title {
        font-size: 1.25rem;
    }

    .sf-news-thumbnail {
        height: 150px;
    }

    .sf-news-content {
        padding: var(--space-md);
    }

    .sf-news-meta-bottom {
        flex-direction: column;
        gap: var(--space-sm);
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .starfleet-last-news-widget {
        padding: var(--space-md);
    }

    .sf-news-header {
        flex-wrap: wrap;
    }

    .sf-news-widget-title {
        font-size: 1rem;
        width: 100%;
        margin-top: var(--space-sm);
    }
}

/* =========================================
   SINGLE AWARD PAGE TEMPLATE
   ========================================= */

.starfleet-award-detail {
    min-height: 100vh;
    background: var(--sf-bg);
    position: relative;
    overflow-x: hidden;
    max-width: 1140px;
    padding: 20px;
}

/* LCARS Frame Elements */
.lcars-frame-top,
.lcars-frame-bottom {
    display: flex;
    align-items: center;
    padding: 0;
    background: linear-gradient(90deg, var(--sf-primary) 0%, var(--sf-primary-dark) 100%);
}

.lcars-bar-horizontal {
    height: 60px;
    flex: 1;
    background: var(--sf-primary);
    position: relative;
}

.lcars-bar-horizontal::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--sf-accent);
    box-shadow: 0 0 20px var(--sf-accent-glow);
    animation: pulse-line 3s ease-in-out infinite;
}

@keyframes pulse-line {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

.lcars-elbow-top-left,
.lcars-elbow-top-right,
.lcars-elbow-bottom-left,
.lcars-elbow-bottom-right {
    width: 100px;
    height: 60px;
    background: var(--sf-primary);
    position: relative;
}

.lcars-elbow-top-left {
    border-radius: 0 0 0 30px;
    margin-right: -1px;
}

.lcars-elbow-top-right {
    border-radius: 0 0 30px 0;
    margin-left: -1px;
}

.lcars-elbow-bottom-left {
    border-radius: 0 30px 0 0;
    margin-right: -1px;
}

.lcars-elbow-bottom-right {
    border-radius: 30px 0 0 0;
    margin-left: -1px;
}

/* Title Section */
.lcars-title-section {
    padding: 20px 40px;
    background: var(--sf-bg-card);
    backdrop-filter: blur(10px);
    border-top: 2px solid var(--sf-accent);
    border-bottom: 2px solid var(--sf-accent);
    position: relative;
    min-width: 50%;
    text-align: center;
}

.lcars-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-gold);
    letter-spacing: 0.2em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.award-title {
    font-family: var(--font-display);
    font-size: 2.5rem;
    color: var(--sf-text);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-shadow: 0 0 30px rgba(74, 95, 217, 0.5);
}

.honor-badge {
    display: inline-block;
    padding: 5px 20px;
    margin-top: 10px;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.honor-highest.honor {
    background: linear-gradient(135deg, var(--sf-gold), var(--sf-gold-dim));
    color: var(--sf-bg);
    box-shadow: 0 0 20px rgba(255, 183, 77, 0.5);
}

.honor-distinguished {
    background: linear-gradient(135deg, var(--sf-primary), var(--sf-primary-light));
    color: var(--sf-text);
    box-shadow: 0 0 20px rgba(74, 95, 217, 0.5);
}

.honor-excellence {
    background: linear-gradient(135deg, var(--sf-accent), #00ACC1);
    color: var(--sf-bg);
    box-shadow: 0 0 20px var(--sf-accent-glow);
}

/* Content Wrapper */
.award-content-wrapper {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    padding: 40px 20px;
    max-width: 1600px;
    margin: 0 auto;
}

/* Sidebars */
.lcars-sidebar-left,
.lcars-sidebar-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.starfleet-award-detail .lcars-panel {
    background: var(--sf-bg-card);
    border-left: 4px solid var(--sf-primary);
    padding: 20px;
    position: relative;
    backdrop-filter: blur(10px);
}

.starfleet-award-detail .lcars-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: -4px;
    width: 4px;
    height: 20px;
    background: var(--sf-accent);
    box-shadow: 0 0 10px var(--sf-accent-glow);
}

.starfleet-award-detail .lcars-heading {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--sf-gold);
    margin: 0 0 15px 0;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* Status Indicator */
.status-indicator {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: rgba(0, 230, 118, 0.1);
    border-radius: 5px;
}

.status-light {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--sf-success);
    box-shadow: 0 0 10px var(--sf-success);
    animation: blink 2s ease-in-out infinite;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

/* Stats List */
.stats-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.stats-list li {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

.stat-label {
    color: var(--sf-text-dim);
    font-size: 0.875rem;
}

.stat-value {
    color: var(--sf-text);
    font-weight: 600;
    font-family: var(--font-mono);
}

/* Award Navigation */
.award-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.award-nav .lcars-button {
    width: 100%;
    padding: 10px;
    background: var(--sf-primary);
    color: var(--sf-text);
    text-align: center;
    text-decoration: none;
    border-radius: 20px 0 0 20px;
    transition: all 0.3s var(--ease-out);
    font-family: var(--font-mono);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.award-nav .lcars-button:hover {
    background: var(--sf-primary-light);
    transform: translateX(5px);
    box-shadow: 0 0 20px rgba(74, 95, 217, 0.5);
}

.award-nav .lcars-button.secondary {
    background: var(--sf-gold-dim);
}

.award-nav .lcars-button.secondary:hover {
    background: var(--sf-gold);
}

/* Main Content */
.award-main-content {
    background: var(--sf-bg-card);
    padding: 30px;
    border-radius: 10px;
    backdrop-filter: blur(10px);
}

/* Hero Image */
.award-hero-image {
    position: relative;
    margin-bottom: 40px;
    border-radius: 10px;
    overflow: hidden;
}

.award-hero-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.holographic-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg,
            transparent 30%,
            rgba(0, 229, 255, 0.1) 50%,
            transparent 70%);
    animation: holographic-scan 4s linear infinite;
}

@keyframes holographic-scan {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

/* Content Sections */
.content-section {
    margin-bottom: 50px;
}

.section-header {
    margin-bottom: 30px;
}

.lcars-section-title {
    font-family: var(--font-display);
    font-size: 1.75rem;
    color: var(--sf-gold);
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.section-divider {
    height: 3px;
    background: linear-gradient(90deg, var(--sf-accent) 0%, transparent 100%);
    margin-top: 10px;
}

/* Overview Grid */
.overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.info-card {
    background: rgba(20, 28, 46, 0.8);
    padding: 20px;
    border-radius: 10px;
    border-left: 3px solid var(--sf-accent);
}

.info-card h4 {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--sf-gold);
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.info-card p {
    color: var(--sf-text);
    margin: 0;
    line-height: 1.6;
}

/* Award Description */
.award-description {
    color: var(--sf-text);
    line-height: 1.8;
    font-size: 1rem;
}

/* Criteria Panel */
.criteria-panel {
    background: rgba(20, 28, 46, 0.8);
    padding: 30px;
    border-radius: 10px;
    border: 1px solid rgba(74, 95, 217, 0.3);
}

.lcars-data-block {
    color: var(--sf-text);
    line-height: 1.8;
    font-size: 1rem;
}

/* Recipients Timeline */
.recipients-timeline {
    position: relative;
    padding-left: 40px;
}

.recipients-timeline::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--sf-primary);
}

.recipient-entry {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    position: relative;
}

.timeline-marker {
    position: absolute;
    left: -30px;
    width: 20px;
    height: 20px;
    background: var(--sf-accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 20px var(--sf-accent-glow);
}

.timeline-marker .year {
    position: absolute;
    left: -60px;
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--sf-gold);
    white-space: nowrap;
}

.recipient-card {
    background: rgba(20, 28, 46, 0.8);
    padding: 20px;
    border-radius: 10px;
    flex: 1;
    margin-left: 20px;
    border-left: 3px solid var(--sf-primary);
    transition: all 0.3s var(--ease-out);
}

.recipient-card:hover {
    transform: translateX(5px);
    box-shadow: 0 5px 20px rgba(74, 95, 217, 0.3);
}

.recipient-card h4 {
    color: var(--sf-text);
    margin: 0 0 10px 0;
    font-size: 1.125rem;
}

.recipient-card p {
    color: var(--sf-text-dim);
    margin: 0;
    line-height: 1.6;
}

/* Ceremony Grid */
.ceremony-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.detail-card {
    background: rgba(20, 28, 46, 0.8);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(74, 95, 217, 0.3);
}

.detail-card.full-width {
    grid-column: 1 / -1;
}

.card-header {
    background: var(--sf-primary);
    padding: 10px 20px;
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.card-content {
    padding: 20px;
    color: var(--sf-text);
    line-height: 1.6;
}

/* Nomination CTA */
.nomination-cta {
    margin-top: 50px;
}

.lcars-cta-panel {
    background: linear-gradient(135deg, rgba(74, 95, 217, 0.2), rgba(0, 229, 255, 0.1));
    padding: 40px;
    border-radius: 10px;
    text-align: center;
    border: 2px solid var(--sf-primary);
    position: relative;
    overflow: hidden;
}

.lcars-cta-panel::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, var(--sf-accent-glow) 0%, transparent 70%);
    animation: rotate-glow 10s linear infinite;
}

@keyframes rotate-glow {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.lcars-cta-panel h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    color: var(--sf-gold);
    margin: 0 0 10px 0;
    position: relative;
    z-index: 1;
}

.lcars-cta-panel p {
    color: var(--sf-text);
    margin: 0 0 20px 0;
    position: relative;
    z-index: 1;
}

.lcars-button.primary.large {
    display: inline-block;
    padding: 15px 40px;
    background: linear-gradient(135deg, var(--sf-accent), #00ACC1);
    color: var(--sf-bg);
    text-decoration: none;
    border-radius: 30px;
    font-family: var(--font-mono);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.3s var(--ease-out);
    position: relative;
    z-index: 1;
}

.lcars-button.primary.large:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px var(--sf-accent-glow);
}

/* Related List */
.related-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.related-link {
    display: block;
    padding: 10px;
    color: var(--sf-text);
    text-decoration: none;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
    transition: all 0.3s var(--ease-out);
}

.related-link:hover {
    color: var(--sf-accent);
    padding-left: 15px;
    background: var(--sf-bg-hover);
}

/* Stardate Display */
.stardate-display {
    background: rgba(0, 0, 0, 0.5);
    padding: 15px;
    border-radius: 5px;
    text-align: center;
    font-family: var(--font-mono);
    font-size: 1.25rem;
    color: var(--sf-accent);
    text-shadow: 0 0 10px var(--sf-accent-glow);
}

/* Action Buttons */
.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.action-buttons .lcars-button {
    width: 100%;
    padding: 10px;
    background: var(--sf-primary-dark);
    color: var(--sf-text);
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-family: var(--font-mono);
    font-size: 0.875rem;
    text-transform: uppercase;
    transition: all 0.3s var(--ease-out);
}

.action-buttons .lcars-button:hover {
    background: var(--sf-primary);
    box-shadow: 0 5px 15px rgba(74, 95, 217, 0.3);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .award-content-wrapper {
        grid-template-columns: 200px 1fr;
        gap: 20px;
    }

    .lcars-sidebar-right {
        display: none;
    }
}

@media (max-width: 768px) {
    .award-content-wrapper {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .lcars-sidebar-left {
        display: none;
    }

    .award-title {
        font-size: 1.75rem;
    }

    .lcars-section-title {
        font-size: 1.25rem;
    }

    .overview-grid {
        grid-template-columns: 1fr;
    }

    .ceremony-grid {
        grid-template-columns: 1fr;
    }

    .recipients-timeline {
        padding-left: 20px;
    }

    .timeline-marker .year {
        position: static;
        margin-bottom: 5px;
    }
}

/* Print Styles */
@media print {

    .lcars-sidebar-left,
    .lcars-sidebar-right,
    .nomination-cta,
    .action-buttons,
    .holographic-overlay {
        display: none;
    }

    .award-content-wrapper {
        grid-template-columns: 1fr;
    }

    .starfleet-award-detail {
        background: white;
        color: black;
    }

    .award-main-content {
        background: white;
        padding: 0;
    }
}

.mobile-navigation {
    display: none;
}

/* ========================================
   MOBILE OPTIMIZATIONS - December 2024
   Enhanced responsive design for STARFLEET theme
   ======================================== */

@media (max-width: 768px) {

    /* Header Mobile Optimizations */
    .site-header,
    header {
        padding: 12px 16px !important;
        min-height: 60px;
        position: relative;
    }

    /* Mobile Menu Toggle Complete Restyling */
    .menu-toggle,
    .mobile-menu-toggle,
    button[aria-label*="menu"],
    .site-header button {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        right: 16px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        color: transparent !important;
        border: 1px solid var(--sf-accent, #d2b887) !important;
        border-radius: 8px !important;
        font-size: 0 !important;
        cursor: pointer !important;
        z-index: 10000 !important;
        transition: all 0.3s ease !important;
        overflow: hidden !important;
    }

    /* Remove ALL pseudo-elements that might add icons */
    .menu-toggle::before,
    .menu-toggle::after,
    .mobile-menu-toggle::before,
    .mobile-menu-toggle::after,
    button[aria-label*="menu"]::before,
    button[aria-label*="menu"]::after,
    .site-header button::before,
    .site-header button::after {
        content: none !important;
        display: none !important;
    }

    /* Style the hamburger lines using spans */
    .menu-toggle span,
    .mobile-menu-toggle span,
    button[aria-label*="menu"] span,
    .site-header button span {
        display: block !important;
        position: absolute !important;
        height: 2px !important;
        width: 24px !important;
        background: var(--sf-accent, #d2b887) !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        transition: all 0.3s ease !important;
    }

    /* Active state - Transform to X */
    .menu-toggle.menu-open span:nth-child(1),
    .mobile-menu-toggle.menu-open span:nth-child(1) {
        top: 50% !important;
        transform: translateX(-50%) translateY(-50%) rotate(45deg) !important;
    }

    .menu-toggle.menu-open span:nth-child(2),
    .mobile-menu-toggle.menu-open span:nth-child(2) {
        opacity: 0 !important;
    }

    .menu-toggle.menu-open span:nth-child(3),
    .mobile-menu-toggle.menu-open span:nth-child(3) {
        bottom: 50% !important;
        transform: translateX(-50%) translateY(50%) rotate(-45deg) !important;
    }

    /* Hover effect */
    .menu-toggle:hover,
    .mobile-menu-toggle:hover {
        background: var(--sf-accent, #d2b887) !important;
        border-color: var(--sf-primary, #4A5FD9) !important;
    }

    .menu-toggle:hover span,
    .mobile-menu-toggle:hover span {
        background: var(--sf-primary, #4A5FD9) !important;
    }

    /* Logo and Branding Mobile */
    .site-branding {
        max-width: 60%;
        flex: 1;
    }

    .site-branding img {
        max-height: 40px;
        width: auto;
    }

    .site-title {
        font-size: 1.1rem !important;
        line-height: 1.2;
    }

    /* Navigation Mobile - Hidden by default */
    .main-navigation,
    .site-navigation,
    .mobile-navigation,
    nav[role="navigation"] {
        display: none !important;
    }

    /* Mobile Navigation when opened */
    .main-navigation.toggled,
    .main-navigation.active,
    .main-navigation.show,
    .site-navigation.toggled,
    .site-navigation.active,
    .site-navigation.show,
    .mobile-navigation.toggled,
    .mobile-navigation.active,
    .mobile-navigation.show,
    nav[role="navigation"].toggled,
    nav[role="navigation"].active,
    nav[role="navigation"].show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background: rgba(10, 14, 27, 0.98) !important;
        border-top: 2px solid var(--sf-accent, #d2b887) !important;
        z-index: 9998 !important;
        max-height: calc(100vh - 60px) !important;
        overflow-y: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.8) !important;
    }

    /* Hide duplicate navigation elements */
    .main-navigation.toggled .site-branding,
    .main-navigation.active .site-branding,
    .main-navigation.show .site-branding,
    .site-navigation.toggled .site-branding,
    .site-navigation.active .site-branding,
    .site-navigation.show .site-branding,
    .mobile-navigation.toggled .site-branding,
    .mobile-navigation.active .site-branding,
    .mobile-navigation.show .site-branding,
    nav[role="navigation"].toggled .site-branding,
    nav[role="navigation"].active .site-branding,
    nav[role="navigation"].show .site-branding {
        display: none !important;
    }

    /* Enhanced Mobile Navigation Styling */
    .main-navigation.toggled ul,
    .main-navigation.active ul,
    .main-navigation.show ul,
    .site-navigation.toggled ul,
    .site-navigation.active ul,
    .site-navigation.show ul,
    .mobile-navigation.toggled ul,
    .mobile-navigation.active ul,
    .mobile-navigation.show ul,
    nav[role="navigation"].toggled ul,
    nav[role="navigation"].active ul,
    nav[role="navigation"].show ul {
        display: flex !important;
        flex-direction: column !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Force visibility of menu items */
    .main-navigation.toggled li,
    .main-navigation.active li,
    .main-navigation.show li,
    .site-navigation.toggled li,
    .site-navigation.active li,
    .site-navigation.show li,
    .mobile-navigation.toggled li,
    .mobile-navigation.active li,
    .mobile-navigation.show li,
    nav[role="navigation"].toggled li,
    nav[role="navigation"].active li,
    nav[role="navigation"].show li {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Enhanced link styling for visibility */
    .main-navigation.toggled a,
    .main-navigation.active a,
    .main-navigation.show a,
    .site-navigation.toggled a,
    .site-navigation.active a,
    .site-navigation.show a,
    .mobile-navigation.toggled a,
    .mobile-navigation.active a,
    .mobile-navigation.show a,
    nav[role="navigation"].toggled a,
    nav[role="navigation"].active a,
    nav[role="navigation"].show a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        color: var(--sf-text, #ffffff) !important;
        background: transparent !important;
        transition: all 0.3s ease !important;
    }

    /* Hover effect for menu items */
    .main-navigation.toggled a:hover,
    .main-navigation.active a:hover,
    .main-navigation.show a:hover,
    .site-navigation.toggled a:hover,
    .site-navigation.active a:hover,
    .site-navigation.show a:hover,
    .mobile-navigation.toggled a:hover,
    .mobile-navigation.active a:hover,
    .mobile-navigation.show a:hover,
    nav[role="navigation"].toggled a:hover,
    nav[role="navigation"].active a:hover,
    nav[role="navigation"].show a:hover {
        background: var(--sf-accent, #d2b887) !important;
        color: var(--sf-bg-dark, #1a1a2e) !important;
        padding-left: 24px !important;
    }

    /* Body class when menu is open */
    body.mobile-menu-open {
        overflow: hidden;
    }

    .main-navigation ul,
    .site-navigation ul {
        flex-direction: column;
        padding: 0;
        margin: 0;
    }

    .main-navigation li,
    .site-navigation li {
        width: 100%;
        border-bottom: 1px solid rgba(74, 95, 217, 0.2);
    }

    .main-navigation a,
    .site-navigation a {
        display: block;
        padding: 16px 20px;
        font-size: 16px;
    }

    /* Container and Content Mobile */
    .container,
    .wrapper,
    main {
        padding: 0px !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Typography Mobile */
    body {
        font-size: 14px;
        line-height: 1.6;
    }

    h1 {
        font-size: 1.75rem !important;
    }

    h2 {
        font-size: 1.5rem !important;
    }

    h3 {
        font-size: 1.25rem !important;
    }

    h4 {
        font-size: 1.1rem !important;
    }

    /* LCARS Elements Mobile */
    .lcars-frame {
        display: none !important;
        /* Hide complex LCARS frames on mobile */
    }

    .lcars-status-indicator,
    .status-indicator {
        flex-direction: column;
        gap: 8px;
        padding: 12px !important;
        font-size: 12px !important;
    }

    .lcars-status-indicator .status-label,
    .status-indicator .status-label {
        font-size: 11px !important;
    }

    .lcars-status-indicator .status-value,
    .status-indicator .status-value {
        font-size: 14px !important;
    }

    /* Footer Mobile Optimizations */
    footer .footer-grid,
    .site-footer .footer-content {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 20px 16px !important;
    }

    .footer-column {
        padding: 16px !important;
        margin-bottom: 16px;
    }

    .footer-column h4,
    .footer-column h5 {
        font-size: 1.1rem !important;
        margin-bottom: 12px !important;
    }

    .footer-column ul {
        padding-left: 0 !important;
    }

    .footer-column li {
        margin-bottom: 8px !important;
        font-size: 14px !important;
    }

    /* Status Bar Mobile */
    .starfleet-status-bar {
        flex-direction: column !important;
        gap: 12px !important;
        padding: 16px !important;
    }

    .status-item {
        width: 100% !important;
        text-align: center !important;
        padding: 8px !important;
        background: rgba(74, 95, 217, 0.1) !important;
        border-radius: 4px !important;
    }

    /* Footer Links Mobile */
    .footer-links {
        flex-wrap: wrap !important;
        gap: 8px !important;
        font-size: 12px !important;
    }

    .footer-links a {
        padding: 6px 10px !important;
    }

    .footer-links .separator {
        display: none !important;
    }

    /* Social Icons Mobile */
    .social-links {
        justify-content: center !important;
        gap: 16px !important;
    }

    .social-links img {
        width: 32px !important;
        height: 32px !important;
    }

    /* Button and CTA Mobile */
    /* .lcars-button,
    .cta-button,
    .btn {
        min-height: 44px !important;
        padding: 12px 20px !important;
        font-size: 16px !important;
        width: 100% !important;
        max-width: 300px !important;
        margin: 8px auto !important;
    }*/

    /* Forms Mobile */
    input,
    textarea,
    select {
        font-size: 16px !important;
        /* Prevents zoom on iOS */
        padding: 12px !important;
        min-height: 44px !important;
    }

    /* Tables Mobile */
    table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Hero Section Mobile */
    .hero-section,
    .starfleet-hero {
        padding: 24px 16px !important;
        min-height: auto !important;
    }

    .hero-title {
        font-size: 1.5rem !important;
        margin-bottom: 12px !important;
    }

    .hero-content {
        font-size: 14px !important;
    }

    /* Awards and Cards Mobile */
    .award-grid,
    .card-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .award-card,
    .content-card {
        padding: 16px !important;
    }

    /* Sidebar Mobile */
    .has-sidebar {
        grid-template-columns: 1fr !important;
    }

    .sidebar {
        order: 2;
        margin-top: 24px;
    }


    /* Accessibility Improvements */
    .screen-reader-text:focus {
        padding: 16px !important;
        font-size: 16px !important;
    }

    /* Performance Optimizations */
    .animation-heavy {
        animation: none !important;
    }

    /* Hide non-essential decorative elements */
    .decorative-only,
    .holographic-effect,
    .particle-animation {
        display: none !important;
    }
}

/* Small Mobile Devices (max-width: 375px) */
@media (max-width: 375px) {
    .site-title {
        font-size: 1rem !important;
    }

    h1 {
        font-size: 1.5rem !important;
    }

    h2 {
        font-size: 1.25rem !important;
    }

    .container,
    main {
        padding: 4px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .footer-column {
        padding: 12px !important;
    }
}

/* ========================================
   CAMPUS CAROUSEL MOBILE OPTIMIZATIONS
   Amélioration spécifique pour le carousel des campus
   ======================================== */
@media (max-width: 768px) {

    /* Campus Grid - Affichage en colonne unique */
    .campus-grid,
    .sf-campus-grid {
        display: block !important;
        padding: 0 !important;
    }

    .campus-card,
    .sf-campus-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 1.5rem !important;
        height: auto !important;
        min-height: auto !important;
        position: relative !important;
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
    }

    /* Image du campus optimisée */
    .campus-card-image,
    .sf-campus-image {
        height: 200px !important;
        width: 100% !important;
        object-fit: cover !important;
        filter: none !important;
    }

    /* Contenu de la carte campus */
    .campus-card-content,
    .sf-campus-content {
        padding: 1.25rem !important;
        background: rgba(20, 28, 46, 0.98) !important;
    }

    .campus-card-title,
    .sf-campus-title {
        font-size: 1.2rem !important;
        margin-bottom: 0.75rem !important;
    }

    .campus-card-location,
    .sf-campus-location {
        font-size: 0.85rem !important;
        color: var(--sf-accent) !important;
        margin-bottom: 0.5rem !important;
    }

    .campus-card-description,
    .sf-campus-description {
        font-size: 0.9rem !important;
        line-height: 1.5 !important;
        margin-bottom: 1rem !important;
    }

    /* Statistiques du campus */
    .campus-stats,
    .sf-campus-stats {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.5rem !important;
        padding: 0.75rem !important;
        background: rgba(74, 95, 217, 0.08) !important;
        border-radius: 8px !important;
        margin-bottom: 1rem !important;
    }

    .campus-stat-item {
        text-align: center !important;
        padding: 0.5rem !important;
    }

    .campus-stat-number {
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        color: var(--sf-gold) !important;
    }

    .campus-stat-label {
        font-size: 0.65rem !important;
        text-transform: uppercase !important;
        color: var(--sf-text-dim) !important;
        margin-top: 0.25rem !important;
    }

    /* Bouton Explorer Campus */
    .campus-explore-btn,
    .sf-campus-button {
        width: 100% !important;
        padding: 0.875rem !important;
        font-size: 0.95rem !important;
        text-align: center !important;
        background: linear-gradient(90deg, var(--sf-primary), var(--sf-primary-dark)) !important;
        border: 2px solid var(--sf-accent) !important;
        border-radius: 8px !important;
        color: white !important;
        text-transform: uppercase !important;
        letter-spacing: 0.1em !important;
        transition: all 0.3s ease !important;
    }

    .campus-explore-btn:active,
    .sf-campus-button:active {
        transform: scale(0.98) !important;
        background: var(--sf-accent) !important;
    }

    /* Badge d'établissement */
    .campus-est-badge,
    .sf-est-badge {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        background: rgba(10, 14, 27, 0.9) !important;
        padding: 0.5rem 0.75rem !important;
        border-radius: 20px !important;
        border: 1px solid var(--sf-accent) !important;
        font-size: 0.75rem !important;
        color: var(--sf-accent) !important;
        font-weight: 600 !important;
        z-index: 2 !important;
    }

    /* Indicateur de statut */
    .campus-status,
    .sf-campus-status {
        display: flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        padding: 0.5rem !important;
        background: rgba(0, 229, 255, 0.05) !important;
        border-radius: 4px !important;
        margin-bottom: 0.75rem !important;
    }

    .campus-status-dot {
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
        background: var(--sf-success) !important;
        animation: pulse 2s infinite !important;
    }

    .campus-status-text {
        font-size: 0.75rem !important;
        color: var(--sf-success) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
    }

    /* Container principal du carousel campus */
    .campus-carousel-container {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        padding: 0 !important;
    }

    /* Swipe indicators for mobile */
    .campus-swipe-indicator {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 1rem !important;
        color: var(--sf-text-dim) !important;
        font-size: 0.85rem !important;
    }

    .campus-swipe-indicator::before,
    .campus-swipe-indicator::after {
        content: '◀' !important;
        margin: 0 0.5rem !important;
        color: var(--sf-accent) !important;
        animation: swipe-hint 1.5s ease-in-out infinite !important;
    }

    .campus-swipe-indicator::after {
        content: '▶' !important;
    }

    @keyframes swipe-hint {

        0%,
        100% {
            transform: translateX(0);
            opacity: 0.5;
        }

        50% {
            transform: translateX(3px);
            opacity: 1;
        }
    }

    /* Désactiver les effets 3D complexes */
    [data-position],
    [data-carousel-type="3d"],
    [data-carousel-type="coverflow"] {
        transform: none !important;
        perspective: none !important;
        transform-style: flat !important;
    }
}

/* =========================================
   MOBILE FULLSCREEN MENU - Décembre 2024
   Menu fullscreen élégant pour mobile
   ========================================= */

/* Mobile Menu Overlay */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(10, 14, 27, 0.98) 0%, rgb(32 24 90 / 55%) 50%, rgba(10, 14, 27, 0.98) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 999800;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s var(--ease-out);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Animated Background Pattern */
.mobile-menu-overlay::before {
    display: none;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(circle at 20% 50%, var(--lcars-blue) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, var(--lcars-teal) 0%, transparent 50%),
        radial-gradient(circle at 40% 20%, var(--lcars-gold) 0%, transparent 50%);
    opacity: 0.05;
    animation: menuPulse 8s ease-in-out infinite;
    pointer-events: none;
}

@keyframes menuPulse {

    0%,
    100% {
        transform: scale(1) rotate(0deg);
    }

    50% {
        transform: scale(1.1) rotate(5deg);
    }
}

/* Mobile Menu Container */
.mobile-menu-container {
    width: 90%;
    max-width: 400px;
    padding: var(--space-2xl) 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* LCARS Frame for Menu */
.mobile-menu-frame {
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 400px;
    height: 80%;
    pointer-events: none;
    opacity: 0;
    animation: frameSlideIn 0.6s 0.2s var(--ease-out) forwards;
}

.mobile-menu-overlay.active .mobile-menu-frame {
    opacity: 1;
}

.mobile-menu-frame::before,
.mobile-menu-frame::after {
    content: '';
    position: absolute;
    background: var(--lcars-gold);
    opacity: 0.3;
}

.mobile-menu-frame::before {
    top: 0;
    left: 0;
    width: 60px;
    height: 3px;
    border-radius: 0 20px 20px 0;
}

.mobile-menu-frame::after {
    bottom: 0;
    right: 0;
    width: 60px;
    height: 3px;
    border-radius: 20px 0 0 20px;
}

/* Mobile Navigation Items */
.mobile-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-nav li {
    opacity: 0;
    transform: translateY(20px);
    animation: menuItemSlideIn 0.5s var(--ease-out) forwards;
    list-style: none;
}

.mobile-nav li:nth-child(1) {
    animation-delay: 0.1s;
}

.mobile-nav li:nth-child(2) {
    animation-delay: 0.15s;
}

.mobile-nav li:nth-child(3) {
    animation-delay: 0.2s;
}

.mobile-nav li:nth-child(4) {
    animation-delay: 0.25s;
}

.mobile-nav li:nth-child(5) {
    animation-delay: 0.3s;
}

.mobile-nav li:nth-child(6) {
    animation-delay: 0.35s;
}

@keyframes menuItemSlideIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mobile-nav a {
    display: block;
    padding: var(--space-lg) var(--space-xl);
    margin: var(--space-sm) 0;
    color: var(--sf-text);
    text-decoration: none;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    position: relative;
    transition: all 0.3s var(--ease-out);
    border-radius: 30px;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(74, 95, 217, 0.1) 50%,
            transparent 100%);
}

/* Hover Effect */
.mobile-nav a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 0;
    background: var(--sf-accent);
    border-radius: 2px;
    transition: height 0.3s var(--ease-out);
}

.mobile-nav a:hover,
.mobile-nav a:focus {
    background: linear-gradient(90deg,
            rgba(74, 95, 217, 0.2) 0%,
            rgba(74, 95, 217, 0.3) 50%,
            rgba(74, 95, 217, 0.2) 100%);
    color: var(--sf-accent);
    transform: translateX(10px);
    padding-left: calc(var(--space-xl) + 10px);
}

.mobile-nav a:hover::before,
.mobile-nav a:focus::before {
    height: 60%;
}

/* Active Page Indicator */
.mobile-nav .current-menu-item a,
.mobile-nav .current_page_item a {
    background: linear-gradient(90deg,
            rgba(0, 229, 255, 0.1) 0%,
            rgba(0, 229, 255, 0.2) 50%,
            rgba(0, 229, 255, 0.1) 100%);
    color: var(--sf-accent);
}

.mobile-nav .current-menu-item a::before,
.mobile-nav .current_page_item a::before {
    height: 80%;
    background: var(--sf-accent);
    box-shadow: 0 0 10px var(--sf-accent-glow);
}

/* Enhanced Mobile Menu Toggle Button */
.mobile-menu-toggle {
    display: none;
    position: fixed;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    /*background: linear-gradient(135deg, rgba(74, 95, 217, 0.95) 0%, rgba(20, 28, 46, 0.98) 100%);*/
    border: 2px solid var(--lcars-gold);
    border-radius: 8px 20px 8px 20px;
    cursor: pointer;
    z-index: 9999;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    backdrop-filter: blur(12px);
    box-shadow:
        0 0 20px rgba(210, 184, 135, 0.3),
        inset 0 0 20px rgba(210, 184, 135, 0.1),
        0 8px 32px rgba(0, 0, 0, 0.4);
}

/* LCARS corner accents */
.mobile-menu-toggle::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    width: 12px;
    height: 12px;
    background: var(--lcars-gold);
    border-radius: 0 0 8px 0;
    transition: all 0.3s ease;
}

.mobile-menu-toggle::after {
    content: '';
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 12px;
    height: 12px;
    background: var(--lcars-gold);
    border-radius: 8px 0 0 0;
    transition: all 0.3s ease;
}

.mobile-menu-toggle:hover {
    background: linear-gradient(135deg, rgba(210, 184, 135, 0.95) 0%, rgba(74, 95, 217, 0.95) 100%);
    border-color: var(--sf-accent);
    transform: scale(1.08) rotate(2deg);
    box-shadow:
        0 0 30px rgba(210, 184, 135, 0.5),
        inset 0 0 30px rgba(74, 95, 217, 0.2),
        0 12px 40px rgba(0, 0, 0, 0.5);
}

.mobile-menu-toggle:hover::before,
.mobile-menu-toggle:hover::after {
    background: var(--sf-accent);
    width: 16px;
    height: 16px;
}

.mobile-menu-toggle:active {
    transform: scale(0.95);
    box-shadow:
        0 0 15px rgba(210, 184, 135, 0.4),
        inset 0 0 25px rgba(74, 95, 217, 0.3);
}

.mobile-menu-toggle span {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 2.5px;
    background: linear-gradient(90deg, transparent 0%, var(--lcars-gold) 20%, var(--lcars-gold) 80%, transparent 100%);
    border-radius: 3px;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    box-shadow: 0 0 8px rgba(210, 184, 135, 0.5);
}

.mobile-menu-toggle span:nth-child(1) {
    top: 11px;
    width: 24px;
}

.mobile-menu-toggle span:nth-child(2) {
    top: 20px;
    width: 24px;
}

.mobile-menu-toggle span:nth-child(3) {
    top: 29px;
    width: 24px;
}

/* Toggle Active State - X Animation */
.mobile-menu-toggle.active {
    background: linear-gradient(135deg, rgba(181, 17, 0, 0.95) 0%, rgba(74, 95, 217, 0.95) 100%);
    border-color: var(--sf-danger);
    animation: pulse-glow 2s ease-in-out infinite;
}

.mobile-menu-toggle.active::before,
.mobile-menu-toggle.active::after {
    background: var(--sf-danger);
    width: 14px;
    height: 14px;
}

.mobile-menu-toggle.active span {
    background: linear-gradient(90deg, transparent 0%, var(--sf-danger) 15%, var(--sf-danger) 85%, transparent 100%);
    box-shadow: 0 0 10px rgba(181, 17, 0, 0.6);
}

.mobile-menu-toggle.active span:nth-child(1) {
    top: 23px;
    width: 28px;
    transform: translateX(-50%) rotate(45deg);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
    transform: translateX(-50%) scale(0);
}

.mobile-menu-toggle.active span:nth-child(3) {
    top: 23px;
    width: 28px;
    transform: translateX(-50%) rotate(-45deg);
}

/* Pulse animation for active state */
@keyframes pulse-glow {

    0%,
    100% {
        box-shadow:
            0 0 20px rgba(181, 17, 0, 0.4),
            inset 0 0 20px rgba(181, 17, 0, 0.1),
            0 8px 32px rgba(0, 0, 0, 0.4);
    }

    50% {
        box-shadow:
            0 0 40px rgba(181, 17, 0, 0.6),
            inset 0 0 30px rgba(181, 17, 0, 0.2),
            0 8px 40px rgba(0, 0, 0, 0.5);
    }
}

/* Submenu Support */
.mobile-nav .menu-item-has-children>a::after {
    content: '▾';
    margin-left: var(--space-sm);
    display: inline-block;
    transition: transform 0.3s var(--ease-out);
}

.mobile-nav .menu-item-has-children.submenu-open>a::after {
    transform: rotate(180deg);
}

.mobile-nav .sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s var(--ease-out);
    list-style: none;
    padding: 0;
}

.mobile-nav .sub-menu.open {
    max-height: 500px;
    padding: var(--space-sm) 0;
}

.mobile-nav .sub-menu a {
    font-size: 1rem;
    padding: var(--space-md) var(--space-xl);
    padding-left: calc(var(--space-xl) * 2);
    opacity: 0.8;
}

.mobile-nav .sub-menu a:hover {
    opacity: 1;
    padding-left: calc(var(--space-xl) * 2 + 10px);
}

/* System Status in Mobile Menu */
.mobile-menu-status {
    margin-top: var(--space-2xl);
    padding-top: var(--space-xl);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: center;
    gap: var(--space-xl);
    opacity: 0;
    animation: fadeInUp 0.5s 0.4s var(--ease-out) forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mobile-status-item {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: 0.875rem;
    color: var(--sf-text-dim);
    font-family: var(--font-mono);
}

.mobile-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sf-success);
    animation: statusPulse 2s ease-in-out infinite;
}

@keyframes statusPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.2);
        opacity: 0.6;
    }
}

/* Close Button Alternative */
.mobile-menu-close {
    position: absolute;
    top: var(--space-xl);
    right: var(--space-xl);
    width: 40px;
    height: 40px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s var(--ease-out);
}

.mobile-menu-close:hover {
    background: rgba(255, 69, 69, 0.1);
    border-color: var(--sf-danger);
    transform: rotate(90deg);
}

.mobile-menu-close::before,
.mobile-menu-close::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background: var(--sf-text);
    transition: background 0.3s var(--ease-out);
}

.mobile-menu-close::before {
    transform: rotate(45deg);
}

.mobile-menu-close::after {
    transform: rotate(-45deg);
}

.mobile-menu-close:hover::before,
.mobile-menu-close:hover::after {
    background: var(--sf-danger);
}

/* Responsive Breakpoints */
@media (max-width: 768px) {
    .mobile-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .main-nav {
        display: none;
    }

    .site-header .system-status {
        display: none;
    }
}

@media (max-width: 480px) {
    .mobile-nav a {
        font-size: 1.1rem;
        padding: var(--space-md) var(--space-lg);
    }

    .mobile-menu-container {
        width: 95%;
    }
}

/* Prevent Scroll when Menu Open */
body.mobile-menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

/* Accessibility Focus Styles */
.mobile-nav a:focus-visible {
    outline: 2px solid var(--sf-accent);
    outline-offset: 4px;
}

.mobile-menu-toggle:focus-visible {
    outline: 2px solid var(--sf-accent);
    outline-offset: 2px;
}

/* =========================================
   STARFLEET AWARDS - MOBILE OPTIMIZATIONS
   Décembre 2024
   ========================================= */

@media (max-width: 768px) {

    /* Award Header Mobile */
    .starfleet-award-header {
        padding: 30px 15px;
        min-height: auto;
    }

    .award-header-content {
        padding: 20px 10px;
    }

    .award-designation {
        font-size: 0.75rem;
    }

    .award-title {
        font-size: 1.5rem;
        line-height: 1.2;
        word-break: break-word;
    }

    .honor-badge {
        padding: 4px 12px;
        font-size: 0.75rem;
    }

    /* Content Layout Mobile */
    .award-content-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 10px;
    }

    /* Sidebars Mobile */
    .lcars-sidebar-left,
    .lcars-sidebar-right {
        order: 2;
    }

    .award-main-content {
        order: 1;
        padding: 20px 15px;
    }

    /* Hero Image Mobile */
    .award-hero-image {
        margin-bottom: 25px;
        border-radius: 8px;
    }

    .award-hero-image img {
        height: 250px;
    }

    /* Stats Panel Mobile */
    .starfleet-award-detail .lcars-panel {
        padding: 15px;
        margin-bottom: 15px;
    }

    .stats-list li {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        padding: 10px 0;
    }

    .stat-value {
        font-size: 1rem;
        color: var(--sf-accent);
    }

    /* Navigation Buttons Mobile */
    .award-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
    }

    .award-nav .lcars-button {
        flex: 1 1 calc(50% - 4px);
        min-width: 140px;
        padding: 12px 8px;
        font-size: 0.8rem;
        border-radius: 25px;
        text-align: center;
    }

    .award-nav .lcars-button:hover {
        transform: scale(1.02);
    }

    /* Typography Mobile */
    .award-content h2 {
        font-size: 1.25rem;
        margin-top: 25px;
        margin-bottom: 15px;
    }

    .award-content h3 {
        font-size: 1.1rem;
        margin-top: 20px;
        margin-bottom: 12px;
    }

    .award-content p {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 15px;
    }

    /* Lists Mobile */
    .award-content ul,
    .award-content ol {
        padding-left: 20px;
        margin-bottom: 15px;
    }

    .award-content li {
        font-size: 0.95rem;
        margin-bottom: 8px;
    }

    /* Status Indicator Mobile */
    .status-indicator {
        padding: 8px;
        font-size: 0.85rem;
    }

    /* Holographic Effects Mobile - Reduce for performance */
    .holographic-overlay {
        display: none;
    }

    .holographic-scanlines {
        opacity: 0.3;
    }

    /* Touch-friendly spacing */
    .lcars-button,
    .award-nav a,
    button {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Particle effects - Disable on mobile for performance */
    .particle-field,
    .starfield-bg {
        display: none;
    }

    /* Blockquotes Mobile */
    .award-content blockquote {
        margin: 20px 0;
        padding: 15px;
        font-size: 0.95rem;
        border-left-width: 3px;
    }

    /* Tables Mobile - Make responsive */
    .award-content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 20px;
    }

    .award-content th,
    .award-content td {
        padding: 8px;
        font-size: 0.85rem;
    }

    /* Citations Section Mobile */
    .citation-section {
        background: rgba(74, 95, 217, 0.05);
        padding: 15px;
        border-radius: 8px;
        margin: 20px 0;
    }

    .citation-text {
        font-size: 0.9rem;
        line-height: 1.5;
        font-style: italic;
    }

    /* Award Gallery Mobile */
    .award-gallery {
        display: grid;
        grid-template-columns: 1fr;
        gap: 15px;
        margin: 20px 0;
    }

    .award-gallery-item {
        border-radius: 8px;
        overflow: hidden;
    }

    .award-gallery-item img {
        width: 100%;
        height: auto;
    }

    /* Recipients List Mobile */
    .recipients-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .recipient-card {
        padding: 15px;
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .recipient-avatar {
        width: 50px;
        height: 50px;
        flex-shrink: 0;
    }

    .recipient-info {
        flex: 1;
    }

    .recipient-name {
        font-size: 1rem;
        margin-bottom: 3px;
    }

    .recipient-title {
        font-size: 0.8rem;
        color: var(--sf-text-dim);
    }
}

@media (max-width: 480px) {

    /* Extra small screens */
    .award-title {
        font-size: 1.25rem;
    }

    .award-content-wrapper {
        padding: 15px 8px;
    }

    .award-main-content {
        padding: 15px 10px;
        border-radius: 8px;
    }

    .award-nav .lcars-button {
        flex: 1 1 100%;
        border-radius: 20px;
    }

    .award-hero-image img {
        height: 200px;
    }

    /* Compact stats on very small screens */
    .stats-list {
        font-size: 0.85rem;
    }

    .starfleet-award-detail .lcars-panel {
        padding: 12px;
    }

    /* Hide decorative elements on very small screens */
    .decorative-frame,
    .lcars-corner-decoration {
        display: none;
    }
}

/* Touch and Hover States for Mobile */
@media (hover: none) and (pointer: coarse) {

    /* Remove hover effects on touch devices */
    .award-nav .lcars-button:hover {
        transform: none;
        background: var(--sf-primary);
    }

    /* Add active states for touch feedback */
    .award-nav .lcars-button:active,
    .lcars-button:active {
        transform: scale(0.98);
        opacity: 0.9;
    }

    /* Increase tap target size */
    .award-nav .lcars-button,
    button,
    a {
        min-height: 48px;
        min-width: 48px;
    }
}

/* Smooth Scrolling for Award Sections */
@media (max-width: 768px) {
    html {
        scroll-padding-top: 60px;
        /* Account for fixed header */
    }

    /* Add scroll indicators */
    .award-section {
        position: relative;
        padding-top: 20px;
    }

    .award-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 3px;
        background: var(--sf-accent);
        border-radius: 2px;
        opacity: 0.5;
    }
}

/* Performance Optimizations for Mobile */
@media (max-width: 768px) {

    /* Reduce animation complexity */
    @keyframes pulse {

        0%,
        100% {
            opacity: 1;
        }

        50% {
            opacity: 0.8;
        }
    }

    /* Simplify gradients */
    .honor-highest.honor,
    .honor-distinguished,
    .honor-excellence {
        background: var(--sf-gold);
        box-shadow: none;
    }

    /* Reduce blur effects */
    .starfleet-award-detail .lcars-panel,
    .award-main-content {
        backdrop-filter: none;
        background: rgba(20, 28, 46, 0.95);
    }
}

/* =========================================
   AWARDS LISTING PAGE - MOBILE SINGLE COLUMN
   Force une seule colonne sur mobile
   ========================================= */

@media (max-width: 768px) {

    /* Force toutes les grilles en une colonne */
    .elementor-widget-container>div[style*="grid"],
    .elementor-widget-container>div[style*="display: grid"],
    .elementor-widget-container>div[style*="display:grid"],
    [class*="award"]>div[style*="grid"],
    [class*="award"][style*="grid"] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    /* Cibler spécifiquement les conteneurs d'awards */
    .awards-container,
    .award-container,
    .awards-list,
    .award-list,
    .awards-grid,
    .award-grid,
    [class*="award-item"],
    [class*="awards-item"] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        width: 100% !important;
    }

    /* Forcer les éléments enfants en pleine largeur */
    .awards-container>*,
    .award-container>*,
    .awards-list>*,
    .award-list>*,
    .awards-grid>*,
    .award-grid>*,
    [class*="award-item"]>*,
    [class*="awards-item"]>* {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Elementor columns override */
    .elementor-section .elementor-container .elementor-column {
        width: 100% !important;
    }

    .elementor-widget-wrap>.elementor-element {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Style inline override - très important */
    div[style*="display: grid"] {
        grid-template-columns: 1fr !important;
    }

    div[style*="display:grid"] {
        grid-template-columns: 1fr !important;
    }

    /* Pour les flex qui simulent des grilles */
    .elementor-widget-container>div[style*="display: flex"],
    .elementor-widget-container>div[style*="display:flex"] {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .elementor-widget-container>div[style*="display: flex"]>*,
    .elementor-widget-container>div[style*="display:flex"]>* {
        width: 100% !important;
        flex: 1 1 100% !important;
        margin: 10px 0 !important;
    }

    /* Cartes d'awards individuelles */
    .award-card,
    .awards-card,
    [class*="award-box"],
    [class*="award-panel"] {
        width: 100% !important;
        max-width: 100% !important;
        margin: 15px 0 !important;
        display: block !important;
    }

    /* Images dans les awards */
    .award-card img,
    .awards-card img,
    [class*="award"] img {
        width: 100% !important;
        height: auto !important;
        max-height: 250px !important;
        object-fit: cover !important;
    }

    /* Texte et contenu */
    .award-card h2,
    .award-card h3,
    .awards-card h2,
    .awards-card h3,
    [class*="award-title"] {
        font-size: 1.3rem !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }

    .award-card p,
    .awards-card p,
    [class*="award-description"],
    [class*="award-content"] {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
    }

    /* Boutons dans les awards */
    .award-card .lcars-button,
    .awards-card .lcars-button,
    [class*="award"] .button,
    [class*="award"] a.button {
        width: 100% !important;
        text-align: center !important;
        margin: 10px 0 !important;
    }
}

/* Très petits écrans */
@media (max-width: 480px) {

    /* Encore plus d'emphase sur une colonne */
    * {
        max-width: 100% !important;
    }

    [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }

    /* Padding réduit */
    .award-card,
    .awards-card,
    [class*="award-box"],
    [class*="award-panel"] {
        padding: 15px !important;
    }

    /* Espacement vertical */
    .awards-container>*,
    .award-container>*,
    [class*="award"]>* {
        margin-bottom: 15px !important;
    }
}

/* =========================================
   CAMPUS DETAIL PAGE - MOBILE OPTIMIZATIONS
   Amélioration du rendu mobile pour les pages campus
   ========================================= */

@media (max-width: 768px) {

    /* Campus Template Wrapper */
    .campus-template-wrapper {
        margin: 0;
        border-radius: 0;
        border: none;
        max-width: 100%;
    }

    /* LCARS Frame Top - Simplification mobile */
    .lcars-frame-top {
        height: 50px;
        padding: 0 1rem;
        background: linear-gradient(90deg, var(--lcars-blue) 0%, var(--lcars-gold) 100%);
    }

    .lcars-corner-left,
    .lcars-corner-right {
        display: none;
        /* Cache les coins décoratifs */
    }

    .lcars-title-section {
        padding: 0 1rem;
    }

    .lcars-label {
        font-size: 0.9rem;
        letter-spacing: 0.1em;
    }

    .stardate-display {
        font-size: 0.75rem;
        display: none;
        /* Cache sur très petits écrans */
    }

    /* Main Content - Single Column */
    .campus-main-content {
        flex-direction: column;
        gap: 0;
    }

    /* Sidebars - Transformation mobile */
    .lcars-sidebar-left,
    .lcars-sidebar-right,
    .lcars-sidebar {
        width: 100%;
        order: 2;
        /* Afficher après le contenu principal */
        padding: 1rem;
        background: rgba(10, 14, 27, 0.6);
    }

    /* Blocks LCARS - Horizontal sur mobile */
    .lcars-block {
        height: 50px;
        margin: 0.5rem 0;
        border-radius: 10px;
        flex-direction: row;
        justify-content: flex-start;
        padding: 0 1rem;
    }

    .lcars-sidebar-right .lcars-block {
        border-radius: 10px;
    }

    .lcars-text {
        font-size: 0.85rem;
    }

    .lcars-vertical-bar {
        display: none;
        /* Cache les barres verticales */
    }

    /* Campus Content Area */
    .campus-content-area {
        order: 1;
        /* Afficher en premier */
        padding: 1.5rem 1rem;
        background: rgba(20, 28, 46, 0.2);
    }

    /* Campus Header Mobile */
    .campus-header {
        margin-bottom: 1.5rem;
    }

    .campus-title {
        font-size: 1.75rem;
        line-height: 1.2;
        margin-bottom: 1rem;
        word-break: break-word;
    }

    .campus-title::after {
        bottom: -5px;
    }

    /* Campus Info Panel Mobile */
    .campus-info-panel {
        padding: 1rem;
        margin-bottom: 1.5rem;
        border-radius: 8px;
    }

    .info-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .info-item {
        padding: 0.75rem;
        border-left-width: 2px;
    }

    .info-label {
        font-size: 0.7rem;
        margin-bottom: 0.2rem;
    }

    .info-value {
        font-size: 0.95rem;
    }

    /* Campus Featured Image Mobile */
    .campus-featured-image {
        margin-bottom: 1.5rem;
        margin-left: -1rem;
        margin-right: -1rem;
    }

    .lcars-image-frame {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .campus-image {
        height: 250px;
        object-fit: cover;
    }

    /* Campus Sections Mobile */
    .campus-section {
        margin-bottom: 2rem;
    }

    .campus-section.campus-overview {
        padding-top: 15px;
    }

    .section-header {
        margin-bottom: 1rem;
    }

    .section-title {
        font-size: 1.3rem;
    }

    /* Content Typography Mobile */
    .campus-content h2 {
        font-size: 1.25rem;
        margin-top: 1.5rem;
        margin-bottom: 1rem;
    }

    .campus-content h3 {
        font-size: 1.1rem;
        margin-top: 1.25rem;
        margin-bottom: 0.75rem;
    }

    .campus-content p {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 1rem;
    }

    .campus-content ul,
    .campus-content ol {
        padding-left: 1.5rem;
        margin-bottom: 1rem;
    }

    .campus-content li {
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
    }

    /* Stats Grid Mobile */
    .campus-stats {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
        margin: 1.5rem 0;
    }

    .stat-card {
        padding: 1rem;
        background: rgba(74, 95, 217, 0.1);
        border-left: 3px solid var(--sf-accent);
        border-radius: 0 8px 8px 0;
    }

    .stat-number {
        font-size: 1.5rem;
        font-weight: 700;
        color: var(--sf-accent);
        margin-bottom: 0.25rem;
    }

    .stat-label {
        font-size: 0.85rem;
        color: var(--sf-text-dim);
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    /* Gallery/Carousel Mobile */
    .campus-gallery,
    .campus-carousel {
        margin: 1.5rem -1rem;
        /* Full width on mobile */
    }

    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .gallery-item {
        border-radius: 8px;
        overflow: hidden;
    }

    .gallery-item img {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }

    /* Facilities List Mobile */
    .facilities-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .facility-item {
        padding: 1rem;
        background: rgba(81, 71, 155, 0.1);
        border-left: 3px solid var(--lcars-gold);
        border-radius: 0 8px 8px 0;
    }

    .facility-name {
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 0.25rem;
        color: var(--sf-text);
    }

    .facility-description {
        font-size: 0.85rem;
        color: var(--sf-text-dim);
    }

    /* Contact Section Mobile */
    .campus-contact {
        background: rgba(74, 95, 217, 0.05);
        padding: 1rem;
        border-radius: 8px;
        margin-top: 1.5rem;
    }

    .contact-item {
        display: flex;
        align-items: center;
        margin-bottom: 0.75rem;
        font-size: 0.95rem;
    }

    .contact-icon {
        width: 20px;
        height: 20px;
        margin-right: 0.75rem;
        color: var(--sf-accent);
    }

    /* Buttons Mobile */
    .campus-buttons,
    .campus-actions {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        margin-top: 1.5rem;
    }

    .campus-button,
    .lcars-button {
        width: 100%;
        padding: 12px;
        text-align: center;
        border-radius: 25px;
        font-size: 0.95rem;
        min-height: 48px;
    }

    /* Tabs Mobile */
    .campus-tabs {
        margin: 1.5rem -1rem;
    }

    .tab-nav {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0.5rem;
        padding: 0 1rem;
    }

    .tab-nav::-webkit-scrollbar {
        display: none;
    }

    .tab-button {
        flex: 0 0 auto;
        padding: 0.75rem 1.25rem;
        background: rgba(74, 95, 217, 0.2);
        border: none;
        border-radius: 20px;
        color: var(--sf-text);
        font-size: 0.9rem;
        white-space: nowrap;
    }

    .tab-button.active {
        background: var(--sf-accent);
        color: var(--sf-bg);
    }

    .tab-content {
        padding: 1rem;
    }

    /* Map/Location Mobile */
    .campus-map {
        height: 250px;
        margin: 1.5rem -1rem;
        border-radius: 0;
    }

    /* Testimonials Mobile */
    .testimonial-card {
        padding: 1rem;
        background: rgba(210, 184, 135, 0.05);
        border-left: 3px solid var(--lcars-gold);
        border-radius: 0 8px 8px 0;
        margin-bottom: 1rem;
    }

    .testimonial-text {
        font-size: 0.95rem;
        line-height: 1.5;
        font-style: italic;
        margin-bottom: 0.75rem;
    }

    .testimonial-author {
        font-size: 0.85rem;
        color: var(--sf-text-dim);
        text-align: right;
    }
}

/* Very Small Screens */
@media (max-width: 480px) {
    .campus-title {
        font-size: 1.5rem;
    }

    .campus-content-area {
        padding: 1rem 0.75rem;
    }

    .campus-info-panel {
        padding: 0.75rem;
    }

    .info-item {
        padding: 0.5rem;
    }

    .campus-image {
        height: 200px;
    }

    .section-title {
        font-size: 1.15rem;
    }

    .campus-content p,
    .campus-content li {
        font-size: 0.9rem;
    }

    .stat-number {
        font-size: 1.25rem;
    }

    .facility-item {
        padding: 0.75rem;
    }

    /* Show stardate on larger mobiles only */
    @media (min-width: 400px) {
        .stardate-display {
            display: block;
        }
    }
}

/* Touch Optimizations */
@media (hover: none) and (pointer: coarse) {

    /* Increase touch targets */
    .lcars-block,
    .campus-button,
    .tab-button,
    button,
    a {
        min-height: 44px;
    }

    /* Remove hover effects */
    .lcars-block:hover::before {
        display: none;
    }

    /* Add active states for feedback */
    .lcars-block:active,
    .campus-button:active,
    .tab-button:active {
        transform: scale(0.98);
        opacity: 0.9;
    }
}

/* Performance Optimizations for Campus Mobile */
@media (max-width: 768px) {

    /* Disable complex animations */
    .lcars-block::before,
    .image-overlay-grid {
        display: none;
    }

    /* Simplify backgrounds */
    .campus-template-wrapper {
        background: var(--sf-bg);
    }

    /* Reduce shadows */
    * {
        box-shadow: none !important;
    }
}

/* =========================================
   FOOTER - MOBILE OPTIMIZATIONS
   Amélioration du footer pour mobile
   ========================================= */

@media (max-width: 768px) {

    /* Footer Main Structure */
    .site-footer,
    .starfleet-footer {
        margin-top: var(--space-xl);
        padding: var(--space-lg) 0;
        background: linear-gradient(180deg, rgba(10, 14, 27, 0.98), rgba(20, 28, 46, 1));
    }

    .footer-lcars-frame {
        padding: 0;
    }

    .footer-main-content {
        padding: 0 1rem;
    }

    /* Footer Grid - Single Column Mobile */
    .footer-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 0 1rem;
        max-width: 100%;
    }

    /* Footer Columns */
    .footer-column {
        padding: 1.5rem 0;
        border-bottom: 1px solid rgba(74, 95, 217, 0.2);
    }

    .footer-column:last-child {
        border-bottom: none;
    }

    /* Footer Headings */
    .footer-heading,
    .footer-column h4 {
        font-size: 0.9rem;
        margin-bottom: 1rem;
        padding-left: 1rem;
        position: relative;
        color: var(--sf-gold);
    }

    .footer-heading::before,
    .footer-column h4::before {
        left: 0;
        width: 3px;
        height: 100%;
        top: 0;
    }

    .heading-decorator {
        display: none;
    }

    /* Department Info Mobile */
    .footer-department-info {
        padding: 0;
    }

    .department-item {
        display: flex;
        flex-direction: column;
        padding: 0.75rem 0;
        border-bottom: 1px solid rgba(148, 163, 184, 0.1);
    }

    .department-item:last-child {
        border-bottom: none;
    }

    .department-item .rank {
        font-size: 0.75rem;
        color: var(--sf-text-dim);
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-bottom: 0.25rem;
    }

    .department-item .name {
        font-size: 0.9rem;
        color: var(--sf-text);
    }

    /* Footer Links Mobile */
    .footer-links {
        padding: 0;
        margin: 0;
    }

    .footer-links li {
        padding: 0.5rem 0;
        border-bottom: 1px solid rgba(148, 163, 184, 0.05);
    }

    .footer-links li:last-child {
        border-bottom: none;
    }

    .footer-links a {
        font-size: 0.95rem;
        padding: 0.25rem 0;
        display: block;
        color: var(--sf-text-dim);
        text-decoration: none;
        transition: color 0.3s ease;
    }

    .footer-links a:hover,
    .footer-links a:focus {
        color: var(--sf-accent);
    }

    /* See More Link Mobile */
    .see-more-link {
        margin-top: 0.5rem;
        border-bottom: none !important;
    }

    .footer-see-more {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        color: var(--sf-accent) !important;
        font-weight: 600;
    }

    .footer-see-more svg {
        width: 14px;
        height: 14px;
    }

    /* Support Services Mobile */
    .footer-services {
        display: grid;
        gap: 1rem;
    }

    .service-item {
        padding: 1rem;
        background: rgba(74, 95, 217, 0.05);
        border-left: 2px solid var(--lcars-gold);
        border-radius: 0 8px 8px 0;
    }

    .service-item h5 {
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
        color: var(--sf-text);
    }

    .service-item p {
        font-size: 0.85rem;
        line-height: 1.4;
        color: var(--sf-text-dim);
        margin: 0;
    }

    /* Status Bar Mobile */
    .footer-status-bar {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        padding: 1.5rem 1rem;
        margin-top: 2rem;
        background: rgba(74, 95, 217, 0.1);
        border-radius: 8px;
    }

    .status-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 0.5rem;
    }

    .status-label {
        font-size: 0.7rem;
        color: var(--sf-text-muted);
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-bottom: 0.25rem;
    }

    .status-value {
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--sf-accent);
        font-family: var(--font-mono);
    }

    .status-online {
        color: var(--sf-success);
    }

    /* Footer Bottom Mobile */
    .footer-bottom {
        padding: 1.5rem 1rem;
        background: rgba(10, 14, 27, 0.98);
    }

    .footer-bottom-content {
        text-align: center;
    }

    /* Legal Links Mobile - Scrollable */
    .footer-legal-links {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 1rem;
        padding: 1rem 0;
        margin-bottom: 1rem;
    }

    .footer-legal-links::-webkit-scrollbar {
        display: none;
    }

    .footer-legal-links a {
        flex: 0 0 auto;
        white-space: nowrap;
        font-size: 0.85rem;
        color: var(--sf-text-dim);
        text-decoration: none;
        padding: 0.5rem 0.75rem;
        background: rgba(74, 95, 217, 0.1);
        border-radius: 15px;
        transition: all 0.3s ease;
    }

    .footer-legal-links a:hover,
    .footer-legal-links a:focus {
        background: rgba(74, 95, 217, 0.2);
        color: var(--sf-accent);
    }

    .footer-legal-links .separator {
        display: none;
    }

    /* Copyright & Disclaimer Mobile */
    .copyright-disclaimer {
        font-size: 0.75rem;
        line-height: 1.4;
        color: var(--sf-text-muted);
        margin: 1rem 0;
        padding: 1rem;
        background: rgba(0, 0, 0, 0.3);
        border-radius: 8px;
    }

    .footer-copyright {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        padding-top: 1rem;
        border-top: 1px solid rgba(74, 95, 217, 0.2);
    }

    .copyright-main {
        font-size: 0.8rem;
        text-align: center;
        color: var(--sf-text-dim);
        margin: 0;
    }

    /* Social Links Mobile */
    .footer-social-links {
        display: flex;
        gap: 1rem;
        justify-content: center;
        flex-wrap: wrap;
    }

    .footer-social-links a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: rgba(74, 95, 217, 0.2);
        border-radius: 50%;
        color: var(--sf-text-dim);
        transition: all 0.3s ease;
    }

    .footer-social-links a:hover,
    .footer-social-links a:focus {
        background: var(--sf-accent);
        color: var(--sf-bg);
        transform: scale(1.1);
    }

    .footer-social-links svg {
        width: 18px;
        height: 18px;
    }

    /* LCARS Decorations - Hide on Mobile */
    .footer-lcars-decorations,
    .lcars-bar-horizontal {
        display: none;
    }

    /* Back to Top Button Mobile */
    .back-to-top {
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
        padding: 0;
        border-radius: 50%;
        background: var(--sf-primary);
        border: 2px solid var(--lcars-gold);
    }

    .back-to-top .button-text {
        display: none;
    }

    .back-to-top svg {
        width: 24px;
        height: 24px;
        margin: 0;
    }

    .back-to-top.show {
        opacity: 0.9;
    }
}

/* Very Small Screens */
@media (max-width: 480px) {

    /* Footer padding reduction */
    .site-footer,
    .starfleet-footer {
        padding: var(--space-md) 0;
    }

    .footer-main-content {
        padding: 0 0.75rem;
    }

    .footer-grid {
        padding: 0 0.75rem;
        gap: 1.5rem;
    }

    /* Smaller text on very small screens */
    .footer-heading,
    .footer-column h4 {
        font-size: 0.85rem;
    }

    .footer-links a {
        font-size: 0.9rem;
    }

    .department-item .name {
        font-size: 0.85rem;
    }

    .service-item h5 {
        font-size: 0.85rem;
    }

    .service-item p {
        font-size: 0.8rem;
    }

    /* Status Bar - 2x2 Grid on very small screens */
    .footer-status-bar {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: 1rem;
    }

    .status-item {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }

    .status-label {
        font-size: 0.65rem;
    }

    .status-value {
        font-size: 0.85rem;
    }

    /* Legal Links - Vertical on very small screens */
    .footer-legal-links {
        flex-direction: column;
        gap: 0.5rem;
        flex-flow: wrap;
    }

    .footer-legal-links a {
        width: 100%;
        text-align: center;
        padding: 0.75rem;
    }

    /* Social Links - Smaller */
    .footer-social-links a {
        width: 36px;
        height: 36px;
    }

    .footer-social-links svg {
        width: 16px;
        height: 16px;
    }

    /* Copyright text smaller */
    .copyright-disclaimer {
        font-size: 0.7rem;
        padding: 0.75rem;
    }

    .copyright-main {
        font-size: 0.75rem;
    }

    /* Back to top button smaller */
    .back-to-top {
        width: 44px;
        height: 44px;
        bottom: 15px;
        right: 15px;
    }
}

/* Touch-specific optimizations */
@media (hover: none) and (pointer: coarse) {

    /* Increase touch targets in footer */
    .footer-links a,
    .footer-legal-links a,
    .footer-social-links a {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    /* Remove hover effects on touch */
    .footer-links a:hover,
    .footer-legal-links a:hover,
    .footer-social-links a:hover {
        transform: none;
    }

    /* Add active states */
    .footer-links a:active,
    .footer-legal-links a:active,
    .footer-social-links a:active {
        opacity: 0.8;
        transform: scale(0.98);
    }
}

/* Accessibility improvements for footer */
@media (prefers-reduced-motion: reduce) {

    .footer-social-links a,
    .back-to-top {
        transition: none;
    }
}

/* =========================================
   CONTACT FORM SUBMIT BUTTON - LCARS STYLE
   Style amélioré pour le bouton Submit
   ========================================= */

/* Submit Button - LCARS Star Trek Style - FORCE OVERRIDE */
body button[type="submit"],
body input[type="submit"],
body .wpcf7-submit,
body .submit-button,
body .elementor-button[type="submit"],
body .elementor-field-type-submit button,
body .elementor-form button[type="submit"],
body form button[type="submit"],
body form input[type="submit"],
#wpcf7-f5-p13-o1 input[type="submit"],
.wpcf7 input[type="submit"],
.wpcf7-form input[type="submit"] {
    /* Reset default styles - FORCE */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;

    /* LCARS Design - FORCE */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    min-width: 200px !important;
    min-height: 50px !important;
    padding: 14px 40px !important;

    /* LCARS Shape - FORCE */
    border-radius: 30px 10px 30px 10px !important;
    border: 2px solid #D2B887 !important;
    /* LCARS Gold hardcoded */

    /* Colors & Background - FORCE */
    background: linear-gradient(135deg,
            #4A5FD9 0%,
            #2E3F8F 50%,
            #4A5FD9 100%) !important;
    background-image: linear-gradient(135deg,
            #4A5FD9 0%,
            #2E3F8F 50%,
            #4A5FD9 100%) !important;
    background-size: 200% 100% !important;
    background-position: 0% 50% !important;
    color: #E8EAF0 !important;
    /* Force white text */

    /* Typography - FORCE */
    font-family: 'Exo 2', 'Orbitron', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    text-decoration: none !important;
    text-align: center !important;
    line-height: 1.2 !important;

    /* Effects - FORCE */
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow:
        0 4px 15px rgba(74, 95, 217, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;

    /* Remove any white background */
    background-color: transparent !important;
}

/* Hover State - FORCE */
body button[type="submit"]:hover,
body input[type="submit"]:hover,
body .wpcf7-submit:hover,
body .submit-button:hover,
body .elementor-button[type="submit"]:hover,
body .elementor-field-type-submit button:hover,
body form button[type="submit"]:hover,
body form input[type="submit"]:hover,
.wpcf7 input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover {
    background-position: 100% 50% !important;
    border-color: #00E5FF !important;
    /* Cyan accent */
    color: #00E5FF !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 6px 25px rgba(0, 229, 255, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        0 10px 40px rgba(74, 95, 217, 0.2) !important;
    background: linear-gradient(135deg,
            #6B7FE3 0%,
            #4A5FD9 50%,
            #6B7FE3 100%) !important;
    background-size: 200% 100% !important;
}

/* Active/Click State */
button[type="submit"]:active,
input[type="submit"]:active,
.wpcf7-submit:active,
.submit-button:active,
.form-submit:active,
.elementor-button[type="submit"]:active,
.elementor-field-type-submit button:active {
    transform: translateY(0);
    box-shadow:
        0 2px 10px rgba(0, 229, 255, 0.3),
        inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Focus State for Accessibility */
button[type="submit"]:focus,
input[type="submit"]:focus,
.wpcf7-submit:focus,
.submit-button:focus,
.form-submit:focus,
.elementor-button[type="submit"]:focus,
.elementor-field-type-submit button:focus {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(0, 229, 255, 0.5),
        0 4px 15px rgba(74, 95, 217, 0.3);
}

/* LCARS Glow Effect */
button[type="submit"]::before,
input[type="submit"]::before,
.wpcf7-submit::before,
.submit-button::before,
.elementor-button[type="submit"]::before,
.elementor-field-type-submit button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, 0.3),
            transparent);
    transition: left 0.5s ease;
}

button[type="submit"]:hover::before,
input[type="submit"]:hover::before,
.wpcf7-submit:hover::before,
.submit-button:hover::before,
.form-submit:hover::before,
.elementor-button[type="submit"]:hover::before,
.elementor-field-type-submit button:hover::before {
    left: 100%;
}

/* Pulse Animation on Hover */
@keyframes lcars-pulse {
    0% {
        box-shadow:
            0 4px 15px rgba(74, 95, 217, 0.3),
            inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }

    50% {
        box-shadow:
            0 4px 25px rgba(0, 229, 255, 0.5),
            inset 0 1px 0 rgba(255, 255, 255, 0.2);
    }

    100% {
        box-shadow:
            0 4px 15px rgba(74, 95, 217, 0.3),
            inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }
}

button[type="submit"]:hover,
input[type="submit"]:hover,
.wpcf7-submit:hover,
.submit-button:hover {
    animation: lcars-pulse 2s ease-in-out infinite;
}

label[for="wp-comment-cookies-consent"] {
    color: #fff;
}

/* Loading State */
button[type="submit"].loading,
input[type="submit"].loading,
.wpcf7-submit.loading,
.submit-button.loading,
.form-submit.loading,
button[type="submit"][disabled],
input[type="submit"][disabled],
.wpcf7-submit[disabled] {
    opacity: 0.7;
    cursor: not-allowed;
    animation: none;
}

button[type="submit"].loading::after,
input[type="submit"].loading::after,
.wpcf7-submit.loading::after,
.submit-button.loading::after,
.form-submit.loading::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-left: -10px;
    margin-top: -10px;
    border: 2px solid transparent;
    border-top-color: var(--sf-accent);
    border-radius: 50%;
    animation: button-loading-spinner 1s linear infinite;
}

@keyframes button-loading-spinner {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

/* Success State */
button[type="submit"].success,
input[type="submit"].success,
.wpcf7-submit.success,
.submit-button.success,
.form-submit.success {
    background: linear-gradient(135deg,
            var(--sf-success) 0%,
            #00C853 100%);
    border-color: var(--sf-success);
    color: white;
    animation: none;
}

button[type="submit"].success::after,
input[type="submit"].success::after,
.wpcf7-submit.success::after {
    content: '✓';
    position: absolute;
    right: 20px;
    font-size: 1.2rem;
    animation: checkmark-pop 0.5s ease;
}

@keyframes checkmark-pop {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Error State */
button[type="submit"].error,
input[type="submit"].error,
.wpcf7-submit.error,
.submit-button.error,
.form-submit.error {
    background: linear-gradient(135deg,
            var(--sf-danger) 0%,
            #D32F2F 100%);
    border-color: var(--sf-danger);
    color: white;
    animation: shake 0.5s ease;
}

@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-10px);
    }

    75% {
        transform: translateX(10px);
    }
}

/* Large Submit Button Variant */
button[type="submit"].large,
input[type="submit"].large,
.wpcf7-submit.large,
.submit-button-large {
    min-width: 300px;
    min-height: 60px;
    padding: 18px 50px;
    font-size: 1.1rem;
    border-radius: 35px 12px 35px 12px;
}

/* Small Submit Button Variant */
button[type="submit"].small,
input[type="submit"].small,
.wpcf7-submit.small,
.submit-button-small {
    min-width: 150px;
    min-height: 40px;
    padding: 10px 30px;
    font-size: 0.9rem;
    border-radius: 25px 8px 25px 8px;
}

/* Full Width Submit Button */
button[type="submit"].full-width,
input[type="submit"].full-width,
.wpcf7-submit.full-width,
.submit-button-full {
    width: 100%;
    min-width: unset;
}

/* Icon Support in Submit Button */
button[type="submit"] .icon,
input[type="submit"] .icon,
.wpcf7-submit .icon,
.submit-button .icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

/* Mobile Optimizations */
@media (max-width: 768px) {

    button[type="submit"],
    input[type="submit"],
    .wpcf7-submit,
    .submit-button,
    .elementor-button[type="submit"],
    .elementor-field-type-submit button {
        width: 100%;
        min-width: unset;
        min-height: 48px;
        padding: 14px 30px;
        font-size: 0.95rem;
        border-radius: 25px 8px 25px 8px;
    }

    /* Disable complex animations on mobile for performance */
    button[type="submit"]:hover,
    input[type="submit"]:hover,
    .wpcf7-submit:hover {
        animation: none;
    }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {

    button[type="submit"],
    input[type="submit"],
    .wpcf7-submit,
    .submit-button,
    .form-submit {
        min-height: 48px;
        /* iOS minimum touch target */
    }

    /* Remove hover animations on touch devices */
    button[type="submit"]:hover::before,
    input[type="submit"]:hover::before,
    .wpcf7-submit:hover::before {
        display: none;
    }

    /* Add tap feedback */
    button[type="submit"]:active,
    input[type="submit"]:active,
    .wpcf7-submit:active {
        transform: scale(0.98);
        transition: transform 0.1s ease;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {

    button[type="submit"],
    input[type="submit"],
    .wpcf7-submit,
    .submit-button {
        background: linear-gradient(135deg,
                var(--sf-primary-dark) 0%,
                var(--sf-primary) 50%,
                var(--sf-primary-dark) 100%);
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {

    button[type="submit"],
    input[type="submit"],
    .wpcf7-submit,
    .submit-button,
    .form-submit {
        border-width: 3px;
        font-weight: 800;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {

    button[type="submit"],
    input[type="submit"],
    .wpcf7-submit,
    .submit-button,
    .form-submit,
    button[type="submit"]::before,
    input[type="submit"]::before,
    .wpcf7-submit::before {
        transition: none;
        animation: none;
    }
}

/* =========================================
   OVERRIDE TOUS LES FORMULAIRES - MAXIMUM FORCE
   ========================================= */

/* Contact Form 7 Specific */
div.wpcf7 input[type="submit"],
.wpcf7-form input[type="submit"],
.wpcf7 .wpcf7-submit,
p>input[type="submit"].wpcf7-form-control.wpcf7-submit {
    background: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    background-image: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    color: #E8EAF0 !important;
    border: 2px solid #D2B887 !important;
    border-radius: 30px 10px 30px 10px !important;
    padding: 14px 40px !important;
    font-family: 'Exo 2', 'Orbitron', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    min-width: 200px !important;
    min-height: 50px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(74, 95, 217, 0.3) !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    display: inline-block !important;
    text-align: center !important;
    line-height: normal !important;
    vertical-align: middle !important;
    background-color: transparent !important;
    transition: all 0.4s ease !important;
}

div.wpcf7 input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover,
p>input[type="submit"].wpcf7-form-control.wpcf7-submit:hover {
    background: linear-gradient(135deg, #6B7FE3 0%, #4A5FD9 50%, #6B7FE3 100%) !important;
    background-image: linear-gradient(135deg, #6B7FE3 0%, #4A5FD9 50%, #6B7FE3 100%) !important;
    border-color: #00E5FF !important;
    color: #00E5FF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(0, 229, 255, 0.4) !important;
}

/* WPForms Specific */
.wpforms-form button[type="submit"],
.wpforms-submit {
    background: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    color: #E8EAF0 !important;
    border: 2px solid #D2B887 !important;
    border-radius: 30px 10px 30px 10px !important;
}

/* Gravity Forms Specific */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer input[type="button"] {
    background: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    color: #E8EAF0 !important;
    border: 2px solid #D2B887 !important;
    border-radius: 30px 10px 30px 10px !important;
}

/* Ninja Forms Specific */
.nf-form-content input[type="button"],
.ninja-forms-field.nf-element[type="submit"] {
    background: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    color: #E8EAF0 !important;
    border: 2px solid #D2B887 !important;
    border-radius: 30px 10px 30px 10px !important;
}

/* Force pour la classe lcars-submit-button ajoutée par JS */
.lcars-submit-button {
    background: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    color: #E8EAF0 !important;
    border: 2px solid #D2B887 !important;
    border-radius: 30px 10px 30px 10px !important;
    padding: 14px 40px !important;
    font-family: 'Exo 2', 'Orbitron', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    min-width: 200px !important;
    min-height: 50px !important;
}

.lcars-submit-button:hover {
    background: linear-gradient(135deg, #6B7FE3 0%, #4A5FD9 50%, #6B7FE3 100%) !important;
    border-color: #00E5FF !important;
    color: #00E5FF !important;
    transform: translateY(-2px) !important;
}

/* =========================================
   FORMINATOR SPECIFIC - MAXIMUM OVERRIDE
   ========================================= */

/* Forminator Submit Button - Ultra Specific */
.forminator-button-submit,
button.forminator-button-submit,
.forminator-button.forminator-button-submit,
.forminator-ui .forminator-button-submit,
.forminator-custom-form .forminator-button-submit,
body .forminator-button-submit,
body button.forminator-button-submit,
body .forminator-ui .forminator-button-submit,
body .forminator-custom-form .forminator-button-submit,
body .forminator-custom-form button.forminator-button-submit,
body .forminator-row .forminator-button-submit,
body .forminator-col .forminator-button-submit,
body form .forminator-button-submit,
body form button.forminator-button-submit,
#forminator-module-1957 .forminator-button-submit,
#forminator-module-1957 button.forminator-button-submit,
.forminator-form .forminator-button-submit,
.forminator-form button.forminator-button-submit,
div[id^="forminator-module-"] .forminator-button-submit,
div[id^="forminator-module-"] button.forminator-button-submit {
    /* Reset all defaults */
    all: unset !important;

    /* Force display */
    display: inline-block !important;
    box-sizing: border-box !important;

    /* LCARS Design - Forced */
    background: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    background-image: linear-gradient(135deg, #4A5FD9 0%, #2E3F8F 50%, #4A5FD9 100%) !important;
    background-color: #4A5FD9 !important;
    color: #E8EAF0 !important;
    border: 2px solid #D2B887 !important;
    border-radius: 30px 10px 30px 10px !important;

    /* Spacing */
    padding: 14px 40px !important;
    margin: 10px auto !important;

    /* Typography */
    font-family: 'Exo 2', 'Orbitron', -apple-system, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    text-align: center !important;
    line-height: 1.5 !important;
    text-decoration: none !important;

    /* Size */
    min-width: 200px !important;
    min-height: 50px !important;
    width: auto !important;
    height: auto !important;

    /* Effects */
    cursor: pointer !important;
    transition: all 0.4s ease !important;
    box-shadow: 0 4px 15px rgba(74, 95, 217, 0.3) !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    overflow: hidden !important;
    transform: translateY(0) !important;

    /* Remove any conflicting styles */
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
    background-position: 0% 50% !important;
    background-size: 200% 100% !important;
    background-clip: border-box !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    box-shadow: 0 4px 15px rgba(74, 95, 217, 0.3) !important;
}

/* Forminator Button Hover State */
.forminator-button-submit:hover,
button.forminator-button-submit:hover,
.forminator-button.forminator-button-submit:hover,
body .forminator-button-submit:hover,
body button.forminator-button-submit:hover,
body form .forminator-button-submit:hover,
body form button.forminator-button-submit:hover,
.forminator-form .forminator-button-submit:hover,
.forminator-form button.forminator-button-submit:hover,
div[id^="forminator-module-"] .forminator-button-submit:hover,
div[id^="forminator-module-"] button.forminator-button-submit:hover {
    background: linear-gradient(135deg, #6B7FE3 0%, #4A5FD9 50%, #6B7FE3 100%) !important;
    background-image: linear-gradient(135deg, #6B7FE3 0%, #4A5FD9 50%, #6B7FE3 100%) !important;
    background-color: #6B7FE3 !important;
    background-position: 100% 50% !important;
    border-color: #00E5FF !important;
    color: #00E5FF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(0, 229, 255, 0.4), 0 10px 40px rgba(74, 95, 217, 0.2) !important;
    opacity: 1 !important;
}

/* Forminator Button Active State */
.forminator-button-submit:active,
button.forminator-button-submit:active,
body .forminator-button-submit:active,
body button.forminator-button-submit:active,
body form .forminator-button-submit:active,
.forminator-form .forminator-button-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(0, 229, 255, 0.3), inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Forminator Button Focus State */
.forminator-button-submit:focus,
button.forminator-button-submit:focus,
body .forminator-button-submit:focus,
body button.forminator-button-submit:focus {
    outline: 3px solid #00E5FF !important;
    outline-offset: 2px !important;
}

/* Forminator Button Disabled State */
.forminator-button-submit:disabled,
.forminator-button-submit[disabled],
button.forminator-button-submit:disabled,
button.forminator-button-submit[disabled] {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Override Forminator's default button styles completely */
.forminator-ui.forminator-custom-form .forminator-button,
.forminator-ui.forminator-custom-form button,
.forminator-ui.forminator-custom-form button[type="submit"] {
    background-image: none !important;
}

/* Mobile specific for Forminator */
@media (max-width: 768px) {

    .forminator-button-submit,
    button.forminator-button-submit,
    body .forminator-button-submit,
    body button.forminator-button-submit,
    .forminator-form .forminator-button-submit {
        width: 100% !important;
        min-width: unset !important;
        display: block !important;
    }
}

#wpadminbar #adminbarsearch .adminbar-button {
    display: none !important;
}

@media screen and (max-width: 782px) {
    html {
        margin-top: 0px !important;
    }

    body.admin-bar .site-header {
        top: 46px;
    }

    .elementor-336 .elementor-element.elementor-element-500283c .admin-panel-bar {
        display: none;
    }
}

/* =========================================
   FIX CAMPUS DETAIL PAGE - CHILD THEME ASTRA
   Corrections après transformation en child theme
   Date: 2025-09-05
   ========================================= */

/* Override Astra's default content area styles for campus pages - FORCE APPLICATION */
body.single-starfleet_campus #primary.content-area,
.single-starfleet_campus #primary.content-area {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-starfleet_campus .site-main,
.single-starfleet_campus #main.site-main {
    padding: 0 !important;
    background: transparent !important;
}

/* Fix container width for campus pages */
body.single-starfleet_campus .container,
.single-starfleet_campus .container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 2rem 1rem !important;
}

/* Force dark background on campus pages */
body.single-starfleet_campus,
.single-starfleet_campus {
    background: var(--sf-bg) !important;
    color: var(--sf-text) !important;
}

/* Campus page main layout */
body.single-starfleet_campus .campus-page {
    background: var(--sf-bg);
    min-height: 100vh;
    padding-top: 20px;
}

/* Campus content wrapper - FORCE STYLES */
body.single-starfleet_campus .campus-content,
body.single-starfleet_campus article.campus-content,
.single-starfleet_campus .campus-content,
.single-starfleet_campus article {
    background: rgba(20, 28, 46, 0.9) !important;
    border-radius: 15px !important;
    border: 2px solid rgba(74, 95, 217, 0.4) !important;
    padding: 2.5rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7) !important;
    color: var(--sf-text) !important;
}

/* Campus header styling - Enhanced LCARS Design */
body.single-starfleet_campus .campus-header {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    position: relative;
    background: linear-gradient(135deg, rgba(74, 95, 217, 0.05) 0%, rgba(0, 229, 255, 0.02) 100%);
    border-radius: 15px 15px 0 0;
    overflow: hidden;
}

body.single-starfleet_campus .campus-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg,
            var(--lcars-gold) 0%,
            var(--sf-accent) 25%,
            var(--lcars-blue) 50%,
            var(--sf-accent) 75%,
            var(--lcars-gold) 100%);
    animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }
}

body.single-starfleet_campus .campus-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--lcars-blue) 20%,
            var(--lcars-blue) 80%,
            transparent 100%);
}

/* Campus title - Keep default page styling, just minor adjustments */
body.single-starfleet_campus .campus-title,
body.single-starfleet_campus .entry-title.campus-title,
.single-starfleet_campus h1.campus-title {
    /* Let default theme h1 styles apply, just add margin */
    margin-bottom: 1.5rem !important;
}

@keyframes pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.8;
    }

    50% {
        transform: scale(1.1);
        opacity: 1;
    }
}

/* Campus Registry Badge - New element */
body.single-starfleet_campus .campus-header .campus-registry {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(20, 28, 46, 0.8);
    border: 1px solid var(--lcars-gold);
    border-radius: 10px;
    padding: 0.5rem 1rem;
    font-family: var(--font-mono);
    font-size: 0.85rem;
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    backdrop-filter: blur(10px);
}

body.single-starfleet_campus .campus-header .campus-registry .registry-label {
    font-size: 0.7rem;
    color: var(--sf-text-dim);
    margin-bottom: 0.25rem;
}

body.single-starfleet_campus .campus-header .campus-registry .registry-id {
    font-size: 1rem;
    font-weight: 700;
    color: var(--sf-accent);
}

/* Campus info bar - Enhanced Design */
body.single-starfleet_campus .campus-info-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    padding: 1.5rem;
    background: linear-gradient(90deg,
            rgba(74, 95, 217, 0.15) 0%,
            rgba(210, 184, 135, 0.08) 50%,
            rgba(74, 95, 217, 0.15) 100%);
    border-radius: 15px;
    border: 1px solid rgba(74, 95, 217, 0.3);
    position: relative;
    margin-top: 1rem;
}

body.single-starfleet_campus .campus-info-bar::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg,
            var(--lcars-gold) 0%,
            var(--sf-accent) 50%,
            var(--lcars-gold) 100%);
    border-radius: 15px 0 0 15px;
}

body.single-starfleet_campus .campus-info-bar .info-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
    color: var(--sf-text);
    transition: all 0.3s ease;
    padding: 0.75rem;
    background: rgba(20, 28, 46, 0.4);
    border-radius: 10px;
    border: 1px solid transparent;
    position: relative;
    overflow: hidden;
}

body.single-starfleet_campus .campus-info-bar .info-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--lcars-gold);
    transform: scaleY(0);
    transition: transform 0.3s ease;
}

body.single-starfleet_campus .campus-info-bar .info-item:hover {
    color: var(--sf-accent);
    transform: translateY(-2px);
    border-color: rgba(0, 229, 255, 0.3);
    background: rgba(74, 95, 217, 0.2);
    box-shadow: 0 4px 8px rgba(0, 229, 255, 0.2);
}

body.single-starfleet_campus .campus-info-bar .info-item:hover::before {
    transform: scaleY(1);
}

body.single-starfleet_campus .campus-info-bar svg {
    width: 20px;
    height: 20px;
    color: var(--lcars-gold);
    filter: drop-shadow(0 0 3px rgba(210, 184, 135, 0.5));
}

body.single-starfleet_campus .campus-info-bar .info-item:hover svg {
    color: var(--sf-accent);
    animation: iconPulse 0.6s ease;
}

@keyframes iconPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }
}

/* Specific styles for email and frequency items */
body.single-starfleet_campus .campus-info-bar .info-email .contact-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dashed rgba(210, 184, 135, 0.3);
    transition: all 0.3s ease;
}

body.single-starfleet_campus .campus-info-bar .info-email:hover .contact-link {
    color: var(--sf-accent);
    border-bottom-color: var(--sf-accent);
}

body.single-starfleet_campus .campus-info-bar .info-frequency .frequency-text {
    font-family: var(--font-mono);
    font-weight: 600;
    letter-spacing: 0.05em;
}

/* Campus featured image */
body.single-starfleet_campus .campus-featured-image {
    margin: 0rem 2rem;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

body.single-starfleet_campus.single .campus-entry-content.entry-content {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.campus-info-bar .info-item {
    max-width: 250px;
}

body.single-starfleet_campus .campus-image {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: cover;
    display: block;
}

/* Campus statistics section */
body.single-starfleet_campus .campus-stats-section {
    margin: 2rem 0;
    padding: 2rem;
    background: rgba(74, 95, 217, 0.05);
    border-radius: 15px;
    border: 1px solid rgba(74, 95, 217, 0.2);
}

body.single-starfleet_campus .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 1.5rem;
}

body.single-starfleet_campus .stat-card {
    background: rgba(20, 28, 46, 0.8);
    padding: 0.5rem;
    border-radius: 10px;
    border-left: 4px solid var(--sf-accent);
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: all 0.3s ease;
}

body.single-starfleet_campus .stat-card:hover {
    transform: translateY(-5px);
    background: rgba(74, 95, 217, 0.2);
    box-shadow: 0 10px 20px rgba(0, 229, 255, 0.2);
}

body.single-starfleet_campus .stat-icon {
    flex-shrink: 0;
}

body.single-starfleet_campus .stat-icon svg {
    width: 32px;
    height: 32px;
    color: var(--sf-accent);
}

body.single-starfleet_campus .stat-content {
    flex: 1;
}

body.single-starfleet_campus .stat-value {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: var(--sf-accent);
    font-family: var(--font-mono);
    margin-bottom: 0.25rem;
}

body.single-starfleet_campus .stat-label {
    display: block;
    font-size: 0.85rem;
    color: var(--sf-text-dim);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Campus sections */
body.single-starfleet_campus .campus-section {
    margin: 2.5rem 0;
    padding: 2rem;
    background: rgba(20, 28, 46, 0.3);
    border-radius: 10px;
    border-left: 4px solid var(--lcars-blue);
}

body.single-starfleet_campus .section-title {
    font-family: var(--font-display);
    font-size: 1.75rem;
    color: var(--lcars-gold);
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

body.single-starfleet_campus .section-title::before {
    content: '◆';
    color: var(--sf-accent);
    font-size: 1.2rem;
}

/* Campus overview section */
body.single-starfleet_campus .campus-overview {
    background: linear-gradient(135deg, rgba(74, 95, 217, 0.1), rgba(0, 229, 255, 0.05));
    border-left-color: var(--sf-accent);
}

body.single-starfleet_campus .campus-overview .section-content {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--sf-text);
}

/* Dean's message section */
body.single-starfleet_campus .dean-section {
    background: rgba(210, 184, 135, 0.05);
    border-left-color: var(--lcars-gold);
}

body.single-starfleet_campus .dean-info {
    margin-bottom: 1rem;
    font-size: 1.1rem;
    color: var(--lcars-gold);
}

body.single-starfleet_campus .dean-message {
    padding: 1.5rem;
    background: rgba(20, 28, 46, 0.5);
    border-left: 3px solid var(--lcars-gold);
    border-radius: 5px;
    font-style: italic;
    line-height: 1.8;
    color: var(--sf-text);
    margin: 1rem 0;
}

/* Academic programs section */
body.single-starfleet_campus .programs-section {
    background: rgba(74, 95, 217, 0.05);
    border-left-color: var(--sf-primary);
}

body.single-starfleet_campus .section-subtitle {
    font-size: 1.5rem;
    color: var(--lcars-gold);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

body.single-starfleet_campus .section-icon {
    color: var(--sf-accent);
}

body.single-starfleet_campus .programs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}

body.single-starfleet_campus .program-card {
    background: rgba(20, 28, 46, 0.8);
    padding: 1.5rem;
    border-radius: 10px;
    border: 1px solid rgba(74, 95, 217, 0.3);
    transition: all 0.3s ease;
}

body.single-starfleet_campus .program-card:hover {
    transform: translateY(-5px);
    background: rgba(74, 95, 217, 0.2);
    border-color: var(--sf-accent);
    box-shadow: 0 10px 20px rgba(0, 229, 255, 0.2);
}

body.single-starfleet_campus .program-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

body.single-starfleet_campus .program-code {
    font-family: var(--font-mono);
    font-size: 0.9rem;
    color: var(--sf-accent);
    font-weight: 600;
}

body.single-starfleet_campus .program-badge {
    padding: 0.25rem 0.75rem;
    background: var(--lcars-blue);
    color: white;
    border-radius: 15px;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

body.single-starfleet_campus .program-badge.sciences {
    background: var(--lcars-teal);
}

body.single-starfleet_campus .program-badge.engineering {
    background: var(--lcars-gold);
    color: var(--sf-bg);
}

body.single-starfleet_campus .program-badge.command {
    background: var(--lcars-red);
}

body.single-starfleet_campus .program-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--sf-text);
    margin-bottom: 0.5rem;
}

body.single-starfleet_campus .program-desc {
    font-size: 0.9rem;
    color: var(--sf-text-dim);
    line-height: 1.5;
}

/* Campus navigation */
body.single-starfleet_campus .campus-navigation {
    margin-top: 0rem;
    padding: 2rem;
    background: rgba(20, 28, 46, 0.3);
    border-radius: 10px;
    border: 1px solid rgba(74, 95, 217, 0.2);
}

body.single-starfleet_campus .nav-links {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
}

body.single-starfleet_campus .nav-previous a,
body.single-starfleet_campus .nav-next a {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: rgba(74, 95, 217, 0.2);
    border: 1px solid var(--lcars-blue);
    border-radius: 25px;
    color: var(--sf-text);
    text-decoration: none;
    transition: all 0.3s ease;
}

body.single-starfleet_campus .nav-previous a:hover,
body.single-starfleet_campus .nav-next a:hover {
    background: var(--lcars-blue);
    transform: translateX(-5px);
    box-shadow: 0 5px 15px rgba(74, 95, 217, 0.4);
}

body.single-starfleet_campus .nav-next a:hover {
    transform: translateX(5px);
}

body.single-starfleet_campus .nav-label {
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
    color: var(--lcars-gold);
}

body.single-starfleet_campus .nav-title {
    display: block;
    font-size: 1rem;
}

body.single-starfleet_campus .nav-all-campuses {
    text-align: center;
}

body.single-starfleet_campus .btn-all-campuses {
    display: inline-block;
    padding: 1rem 2rem;
    background: var(--lcars-gold);
    color: var(--sf-bg);
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.3s ease;
}

body.single-starfleet_campus .btn-all-campuses:hover {
    background: var(--sf-accent);
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(0, 229, 255, 0.4);
}

/* Sidebar styling for campus pages - Dark Theme Colors */
/*body.single-starfleet_campus #secondary,
.single-starfleet_campus #secondary,
.single-starfleet_campus .widget-area {
    background: rgba(20, 28, 46, 0.6) !important;
    padding: 1.5rem !important;
    border-radius: 15px !important;
    border: 1px solid rgba(74, 95, 217, 0.3) !important;
}*/

body.single-starfleet_campus .widget,
.single-starfleet_campus .widget {
    margin-bottom: 2rem !important;
    padding: 1.5rem !important;
    /* background: rgba(10, 14, 27, 0.8) !important;
    border-radius: 10px !important;
    border-left: 4px solid var(--lcars-blue) !important;*/
    color: var(--sf-text) !important;
    padding: 0px !important;
}

body.single .widget.sf-widget-last-campus {
    border: 0px !important;
    background: none !important;
    background-color: transparent !important;
    padding: 0px !important;

}

body.single-starfleet_campus .widget-title,
.single-starfleet_campus .widget-title,
.single-starfleet_campus .widget h2 {
    font-family: var(--font-display) !important;
    color: var(--lcars-gold) !important;
    font-size: 1.2rem !important;
    margin-bottom: 1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Widget content text colors */
body.single-starfleet_campus .widget p,
body.single-starfleet_campus .widget li,
body.single-starfleet_campus .widget a,
.single-starfleet_campus .widget p,
.single-starfleet_campus .widget li,
.single-starfleet_campus .widget a {
    color: var(--sf-text-dim) !important;
}

body.single-starfleet_campus .widget a:hover,
.single-starfleet_campus .widget a:hover {
    color: var(--sf-accent) !important;
    text-decoration: none !important;
}

/* Search widget */
body.single-starfleet_campus .widget.search-widget,
body.single-starfleet_campus .widget_search {
    background: rgba(74, 95, 217, 0.1) !important;
}

body.single-starfleet_campus .search-form input[type="search"],
.single-starfleet_campus .search-form input[type="search"] {
    background: rgba(10, 14, 27, 0.9) !important;
    border: 1px solid rgba(74, 95, 217, 0.3) !important;
    color: var(--sf-text) !important;
    padding: 0.75rem !important;
    border-radius: 8px !important;
}

body.single-starfleet_campus .search-form input[type="search"]::placeholder,
.single-starfleet_campus .search-form input[type="search"]::placeholder {
    color: var(--sf-text-muted) !important;
}

body.single-starfleet_campus .search-form button,
.single-starfleet_campus .search-form button[type="submit"] {
    background: var(--lcars-blue) !important;
    color: white !important;
    border: none !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

body.single-starfleet_campus .search-form button:hover,
.single-starfleet_campus .search-form button[type="submit"]:hover {
    background: var(--sf-accent) !important;
    transform: translateY(-2px) !important;
}

/* Lists in widgets */
body.single-starfleet_campus .widget ul,
.single-starfleet_campus .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.single-starfleet_campus .widget li,
.single-starfleet_campus .widget li {
    padding: 0.5rem 0 !important;
    border-bottom: 1px solid rgba(74, 95, 217, 0.1) !important;
}

body.single-starfleet_campus .widget li:last-child,
.single-starfleet_campus .widget li:last-child {
    border-bottom: none !important;
}

/* Special Award/Medal Display for Recognition Services Campus */
body.single-starfleet_campus .campus-award-display {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 2rem;
    margin: 2rem 0;
    background: linear-gradient(135deg,
            rgba(210, 184, 135, 0.1) 0%,
            rgba(74, 95, 217, 0.05) 100%);
    border: 2px solid rgba(210, 184, 135, 0.3);
    border-radius: 15px;
    position: relative;
    overflow: hidden;
}

body.single-starfleet_campus .campus-award-display::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle,
            rgba(210, 184, 135, 0.1) 0%,
            transparent 70%);
    animation: rotate 20s linear infinite;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

body.single-starfleet_campus .award-medal {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg,
            var(--lcars-gold) 0%,
            #FFD700 50%,
            var(--lcars-gold) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 0 30px rgba(210, 184, 135, 0.5),
        inset 0 0 20px rgba(255, 255, 255, 0.3);
    position: relative;
    animation: medalGlow 3s ease-in-out infinite;
}

@keyframes medalGlow {

    0%,
    100% {
        box-shadow:
            0 0 30px rgba(210, 184, 135, 0.5),
            inset 0 0 20px rgba(255, 255, 255, 0.3);
    }

    50% {
        box-shadow:
            0 0 50px rgba(210, 184, 135, 0.8),
            inset 0 0 30px rgba(255, 255, 255, 0.5);
    }
}

body.single-starfleet_campus .award-medal::after {
    content: '★';
    font-size: 3rem;
    color: rgba(20, 28, 46, 0.8);
}

body.single-starfleet_campus .award-details {
    flex: 1;
}

body.single-starfleet_campus .award-registry-text {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--sf-text-dim);
    margin-bottom: 0.5rem;
    font-family: var(--font-mono);
}

body.single-starfleet_campus .award-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--lcars-gold);
    margin-bottom: 0.75rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

body.single-starfleet_campus .award-stats {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

body.single-starfleet_campus .award-stat {
    display: flex;
    flex-direction: column;
}

body.single-starfleet_campus .award-stat-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--sf-text-dim);
    margin-bottom: 0.25rem;
}

body.single-starfleet_campus .award-stat-value {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--sf-accent);
}

/* Header subtitle/tagline for special campuses */
body.single-starfleet_campus .campus-tagline {
    font-size: 1.1rem;
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-top: -0.5rem;
    margin-bottom: 1.5rem;
    padding-left: 60px;
    opacity: 0.9;
    font-family: var(--font-mono);
}

/* Responsive adjustments for campus pages */
@media (max-width: 768px) {
    body.single-starfleet_campus .container {
        padding: 1rem;
    }

    body.single-starfleet_campus .campus-content {
        padding: 1.5rem;
    }

    body.single-starfleet_campus .campus-title {
        font-size: 1.75rem;
        padding-left: 0px;
    }

    body.single-starfleet_campus .campus-title::before {
        font-size: 1.5rem;
        display: none !important;
    }

    body.single-starfleet_campus .campus-tagline {
        font-size: 0.9rem;
        padding-left: 40px;
    }

    body.single-starfleet_campus .campus-header .campus-registry {
        position: static;
        margin-top: 1rem;
        align-items: flex-start;
    }

    body.single-starfleet_campus .campus-info-bar {
        grid-template-columns: 1fr;
    }

    body.single-starfleet_campus .campus-award-display {
        flex-direction: column;
        text-align: center;
    }

    body.single-starfleet_campus .award-stats {
        justify-content: center;
    }

    body.single-starfleet_campus .stats-grid {
        grid-template-columns: 1fr;
    }

    body.single-starfleet_campus .programs-grid {
        grid-template-columns: 1fr;
    }

    body.single-starfleet_campus .campus-featured-image {
        margin: 0px !important;
    }

    body.single-starfleet_campus .nav-links {
        flex-direction: column;
    }

    body.single-starfleet_campus #secondary {
        margin-top: 2rem;
    }
}

/* =========================================
   AWARD DETAIL PAGE HEADER - ENHANCED DESIGN
   Specific styles for Award pages
   Date: 2025-09-05
   ========================================= */

/* Award Header Container */
.starfleet-award-detail .award-header {
    background: linear-gradient(135deg,
            rgba(20, 28, 46, 0.95) 0%,
            rgba(74, 95, 217, 0.3) 50%,
            rgba(210, 184, 135, 0.2) 100%);
    padding: 3rem 2rem;
    margin-bottom: 3rem;
    position: relative;
    overflow: hidden;
    border-bottom: 3px solid var(--lcars-gold);
}

/* Animated background effect */
.starfleet-award-detail .award-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(210, 184, 135, 0.1) 50%,
            transparent 100%);
    animation: headerShimmer 8s ease-in-out infinite;
}

@keyframes headerShimmer {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(50%);
    }
}

/* Top decorative bar */
.starfleet-award-detail .award-header::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg,
            var(--lcars-gold) 0%,
            var(--sf-accent) 25%,
            var(--lcars-blue) 50%,
            var(--sf-accent) 75%,
            var(--lcars-gold) 100%);
    animation: colorShift 4s ease-in-out infinite;
}

@keyframes colorShift {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }
}

/* Header Grid Layout */
.starfleet-award-detail .header-grid {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 2.5rem;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* Award Badge/Medal */
.starfleet-award-detail .header-badge {
    position: relative;
}

.starfleet-award-detail .award-badge {
    width: 120px;
    height: 120px;
    object-fit: contain;
    border-radius: 50%;
    padding: 15px;
    background: radial-gradient(circle,
            rgba(210, 184, 135, 0.3) 0%,
            rgba(210, 184, 135, 0.1) 40%,
            transparent 70%);
    border: 3px solid var(--lcars-gold);
    box-shadow:
        0 0 40px rgba(210, 184, 135, 0.6),
        inset 0 0 20px rgba(255, 255, 255, 0.2);
    animation: badgeGlow 3s ease-in-out infinite;
}

@keyframes badgeGlow {

    0%,
    100% {
        box-shadow:
            0 0 40px rgba(210, 184, 135, 0.6),
            inset 0 0 20px rgba(255, 255, 255, 0.2);
        transform: scale(1);
    }

    50% {
        box-shadow:
            0 0 60px rgba(210, 184, 135, 0.9),
            inset 0 0 30px rgba(255, 255, 255, 0.4);
        transform: scale(1.05);
    }
}

/* Header Content */
.starfleet-award-detail .header-content {
    text-align: center;
}

/* Registry Text */
.starfleet-award-detail .registry-text {
    font-family: var(--font-mono);
    font-size: 0.9rem;
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.3em;
    margin-bottom: 0.75rem;
    opacity: 0.9;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.starfleet-award-detail .registry-text::before,
.starfleet-award-detail .registry-text::after {
    content: '';
    height: 1px;
    width: 50px;
    background: linear-gradient(90deg, transparent, var(--lcars-gold), transparent);
}

/* Award Title */
.starfleet-award-detail .award-title {
    font-family: var(--font-display);
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--sf-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.1;
    margin: 0.5rem 0 1rem 0;
    text-shadow:
        0 0 40px rgba(0, 229, 255, 0.6),
        0 0 80px rgba(0, 229, 255, 0.3),
        2px 2px 4px rgba(0, 0, 0, 0.8);
}

/* Award Level/Info */
.starfleet-award-detail .award-level {
    font-size: 1.1rem;
    color: var(--sf-text);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    font-family: var(--font-mono);
}

.starfleet-award-detail .award-level span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(74, 95, 217, 0.2);
    border-radius: 20px;
    border: 1px solid rgba(74, 95, 217, 0.3);
}

.starfleet-award-detail .award-level span:nth-child(1) {
    background: rgba(210, 184, 135, 0.2);
    border-color: rgba(210, 184, 135, 0.3);
    color: var(--lcars-gold);
    font-weight: 600;
}

/* Header Actions */
.starfleet-award-detail .header-actions {
    display: flex;
    gap: 1rem;
    flex-direction: column;
}

.starfleet-award-detail .header-actions button,
.starfleet-award-detail .header-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: rgba(74, 95, 217, 0.2);
    border: 1px solid rgba(74, 95, 217, 0.4);
    border-radius: 25px;
    color: var(--sf-text);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    font-family: var(--font-mono);
}

.starfleet-award-detail .header-actions button:hover,
.starfleet-award-detail .header-actions a:hover {
    background: var(--lcars-blue);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(74, 95, 217, 0.4);
}

.starfleet-award-detail .header-actions img {
    width: 16px;
    height: 16px;
    filter: invert(1);
}

/* Award Information Grid below header */
.starfleet-award-detail .award-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    padding: 2rem;
    background: linear-gradient(135deg,
            rgba(74, 95, 217, 0.05) 0%,
            rgba(20, 28, 46, 0.3) 100%);
    border-radius: 15px;
    margin-bottom: 2rem;
    border: 1px solid rgba(74, 95, 217, 0.2);
}

.starfleet-award-detail .info-block {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
    background: rgba(20, 28, 46, 0.4);
    border-radius: 10px;
    border-left: 3px solid var(--lcars-gold);
    transition: all 0.3s ease;
}

.starfleet-award-detail .info-block:hover {
    background: rgba(74, 95, 217, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 5px 10px rgba(0, 229, 255, 0.2);
}

.starfleet-award-detail .info-label {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--sf-text-dim);
    font-family: var(--font-mono);
}

.starfleet-award-detail .info-value {
    font-size: 1.1rem;
    color: var(--sf-accent);
    font-weight: 600;
}

/* ========================================
   ARTICLE/NEWS PAGES FIXES - December 2024
   Fixes for single post/news article pages after Astra child theme conversion
   ======================================== */

/* Override Astra's default content area for article pages */
body.single-post #primary.content-area,
body.single-starfleet_news #primary.content-area,
.single-post #primary.content-area,
.single-starfleet_news #primary.content-area,
body.single #primary.content-area {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Main content wrapper for articles */
body.single-post #main.site-main,
body.single-starfleet_news #main.site-main,
body.single #main.site-main {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 2rem !important;
    background: transparent !important;
}

/* Article container styling */
body.single article.lcars-single-post {
    background: linear-gradient(135deg,
            rgba(20, 28, 46, 0.95) 0%,
            rgba(10, 14, 27, 0.98) 100%) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 40px rgba(0, 229, 255, 0.1),
        inset 0 1px 0 rgba(0, 229, 255, 0.3) !important;
    border: 1px solid rgba(0, 229, 255, 0.2) !important;
    margin-bottom: 3rem !important;
}

/* Article header panel */
body.single .entry-header.lcars-panel-widget {
    background: linear-gradient(90deg,
            rgba(74, 95, 217, 0.2) 0%,
            rgba(0, 229, 255, 0.1) 100%) !important;
    padding: 2.5rem !important;
    border-bottom: 2px solid var(--lcars-gold) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Add animated scanline effect to header */
body.single .entry-header.lcars-panel-widget::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 2px !important;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-accent) 50%,
            transparent 100%) !important;
    animation: scanline 3s linear infinite !important;
}

/* Article title styling */
body.single .entry-title {
    font-size: 2.5rem !important;
    color: var(--sf-accent) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 1.5rem !important;
    text-shadow: 0 0 20px rgba(0, 229, 255, 0.5) !important;
    line-height: 1.2 !important;
}

/* Meta information bar */
body.single .entry-meta.lcars-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 2rem !important;
    padding: 1.5rem !important;
    background: rgba(10, 14, 27, 0.6) !important;
    border-radius: 10px !important;
    border: 1px solid rgba(74, 95, 217, 0.3) !important;
}

/* Individual meta items */
body.single .entry-meta .meta-item {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Meta labels styling */
body.single .entry-meta .lcars-text-yellow,
body.single .entry-meta .lcars-text-blue,
body.single .entry-meta .lcars-text-purple,
body.single .entry-meta .lcars-text-green,
body.single .entry-meta .lcars-text-orange {
    font-family: var(--font-mono) !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    opacity: 0.8 !important;
}

/* Stardate specific styling */
body.single .stardate-digits {
    font-family: 'Courier New', monospace !important;
    font-size: 1.1rem !important;
    color: var(--lcars-yellow) !important;
    font-weight: bold !important;
}

/* Article content area */
body.single .entry-content {
    padding: 3rem !important;
    color: var(--sf-text) !important;
    font-size: 1.1rem !important;
    line-height: 1.8 !important;
}

/* Content paragraphs */
body.single .entry-content p {
    margin-bottom: 1.5rem !important;
    color: var(--sf-text) !important;
}

/* Content headings */
body.single .entry-content h2 {
    font-size: 1.8rem !important;
    color: var(--sf-accent) !important;
    margin: 2.5rem 0 1.5rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 2px solid var(--lcars-gold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

body.single .entry-content h3 {
    font-size: 1.5rem !important;
    color: var(--lcars-blue) !important;
    margin: 2rem 0 1rem !important;
}

/* Lists in content */
body.single .entry-content ul,
body.single .entry-content ol {
    margin: 1.5rem 0 1.5rem 2rem !important;
    color: var(--sf-text) !important;
}

body.single .entry-content li {
    margin-bottom: 0.75rem !important;
    position: relative !important;
    padding-left: 1.5rem !important;
    list-style: none !important;
}

body.single .entry-content ul li::before {
    content: "▸" !important;
    position: absolute !important;
    left: 0 !important;
    color: var(--lcars-gold) !important;
    font-weight: bold !important;
}

/* Blockquotes */
body.single .entry-content blockquote {
    margin: 2rem 0 !important;
    padding: 1.5rem !important;
    background: linear-gradient(135deg,
            rgba(74, 95, 217, 0.1) 0%,
            rgba(0, 229, 255, 0.05) 100%) !important;
    border-left: 4px solid var(--lcars-gold) !important;
    border-radius: 10px !important;
    font-style: italic !important;
    color: var(--sf-text) !important;
}

/* Featured image/thumbnail */
body.single .post-thumbnail {
    margin: 2rem 0 !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

body.single .post-thumbnail img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Post navigation */
/*
body.single .post-navigation {
    background: linear-gradient(135deg, 
        rgba(20, 28, 46, 0.95) 0%, 
        rgba(10, 14, 27, 0.98) 100%) !important;
    border-radius: 15px !important;
    padding: 2rem !important;
    margin: 3rem 0 !important;
    border: 1px solid rgba(0, 229, 255, 0.2) !important;
}

body.single .post-navigation .nav-links {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 2rem !important;
}

body.single .post-navigation a {
    color: var(--sf-accent) !important;
    text-decoration: none !important;
    padding: 1rem 2rem !important;
    background: rgba(74, 95, 217, 0.2) !important;
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
}

body.single .post-navigation a:hover {
    background: var(--lcars-blue) !important;
    color: white !important;
    transform: translateX(5px) !important;
    box-shadow: 0 5px 15px rgba(74, 95, 217, 0.4) !important;
}*/

/* Sidebar styling for article pages */
body.single .sidebar,
body.single .widget-area,
body.single aside {
    background: transparent !important;
    padding: 0 !important;
}

body.single .widget {
    background: linear-gradient(135deg,
            rgba(20, 28, 46, 0.95) 0%,
            rgba(10, 14, 27, 0.98) 100%) !important;
    border-radius: 15px !important;
    padding: 1.5rem !important;
    margin-bottom: 2rem !important;
    border: 1px solid rgba(0, 229, 255, 0.2) !important;
    color: var(--sf-text) !important;
}

body.single .widget-title,
body.single .widget h2,
body.single .widget h3 {
    color: var(--sf-accent) !important;
    font-size: 1.2rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 2px solid var(--lcars-gold) !important;
}

/* Widget links */
body.single .widget a {
    color: var(--sf-text-dim) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

body.single .widget a:hover {
    color: var(--sf-accent) !important;
    padding-left: 5px !important;
}

/* Widget lists */
body.single .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.single .widget li {
    padding: 0.75rem 0 !important;
    border-bottom: 1px solid rgba(74, 95, 217, 0.2) !important;
}

body.single .widget li:last-child {
    border-bottom: none !important;
}

/* Featured campus widget specific */
body.single .featured-campus-widget {
    background: linear-gradient(135deg,
            rgba(74, 95, 217, 0.15) 0%,
            rgba(0, 229, 255, 0.08) 100%) !important;
    border: 2px solid var(--lcars-gold) !important;
}

/* Newsletter widget */
body.single .newsletter-widget input[type="email"] {
    width: 100% !important;
    padding: 0.75rem !important;
    background: rgba(10, 14, 27, 0.8) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    border-radius: 5px !important;
    color: var(--sf-text) !important;
    margin-bottom: 1rem !important;
}

body.single .newsletter-widget button {
    background: var(--lcars-blue) !important;
    color: white !important;
    padding: 0.75rem 2rem !important;
    border: none !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    transition: all 0.3s ease !important;
}

body.single .newsletter-widget button:hover {
    background: var(--sf-accent) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 15px rgba(0, 229, 255, 0.3) !important;
}

/* Comments section if enabled */
body.single #comments {
    background: linear-gradient(135deg,
            rgba(20, 28, 46, 0.95) 0%,
            rgba(10, 14, 27, 0.98) 100%) !important;
    border-radius: 15px !important;
    padding: 2rem !important;
    margin-top: 3rem !important;
    border: 1px solid rgba(0, 229, 255, 0.2) !important;
}

body.single .comment-form input,
body.single .comment-form textarea {
    background: rgba(10, 14, 27, 0.8) !important;
    border: 1px solid rgba(0, 229, 255, 0.3) !important;
    color: var(--sf-text) !important;
    padding: 0.75rem !important;
    border-radius: 5px !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    body.single .entry-title {
        font-size: 1.8rem !important;
    }

    body.single .entry-meta.lcars-meta {
        flex-direction: column !important;
        gap: 1rem !important;
    }

    body.single .post-navigation .nav-links {
        flex-direction: column !important;
    }

    body.single #main.site-main {
        padding: 1rem !important;
    }
}

/* Responsive Design for Award Header */
@media (max-width: 768px) {
    .starfleet-award-detail .award-header {
        padding: 2rem 1rem;
    }

    .starfleet-award-detail .header-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 1.5rem;
    }

    .starfleet-award-detail .header-badge {
        margin: 0 auto;
    }

    .starfleet-award-detail .award-badge {
        width: 100px;
        height: 100px;
    }

    .starfleet-award-detail .award-title {
        font-size: 2rem;
    }

    .starfleet-award-detail .registry-text {
        font-size: 0.8rem;
    }

    .starfleet-award-detail .award-level {
        font-size: 0.95rem;
        gap: 0.75rem;
    }

    .starfleet-award-detail .award-level span {
        padding: 0.4rem 0.8rem;
        font-size: 0.85rem;
    }

    .starfleet-award-detail .header-actions {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 1rem;
    }

    .starfleet-award-detail .award-info-grid {
        grid-template-columns: 1fr;
        padding: 1rem;
    }
}

#secondary.lcars-sidebar {
    width: 340px;
}

/* =========================================
   STARFLEET LAST NEWS WIDGET ANIMATIONS
   ========================================= */
@keyframes sf-pulse-width {

    0%,
    100% {
        width: 0;
        opacity: 0;
    }

    50% {
        width: 100%;
        opacity: 1;
    }
}

@keyframes sf-sweep-right {
    0% {
        left: -100%;
    }

    100% {
        left: 100%;
    }
}

@keyframes sf-rotate-slow {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Enhanced Status Bar Animation */
.sf-last-news-widget .sf-widget-bottom-bar {
    display: flex;
    gap: var(--space-xs);
    margin-top: var(--space-xl);
    padding: var(--space-sm);
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
}

.sf-last-news-widget .sf-bar-segment {
    flex: 1;
    height: 4px;
    background: rgba(68, 170, 153, 0.2);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
}

.sf-last-news-widget .sf-bar-segment.active {
    background: linear-gradient(90deg,
            var(--lcars-teal) 0%,
            var(--lcars-green) 100%);
}

.sf-last-news-widget .sf-bar-segment.active::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, 0.6),
            transparent);
    animation: sf-sweep-right 2s ease-in-out infinite;
    animation-delay: calc(var(--index) * 0.2s);
}

.sf-last-news-widget .sf-bar-segment:nth-child(1) {
    --index: 0;
}

.sf-last-news-widget .sf-bar-segment:nth-child(2) {
    --index: 1;
}

.sf-last-news-widget .sf-bar-segment:nth-child(3) {
    --index: 2;
}

/* Enhanced Image Scanner Effect */
.sf-last-news-widget .sf-image-scanner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--lcars-teal) 20%,
            var(--lcars-teal) 80%,
            transparent 100%);
    transform: translateY(-100%);
    animation: sf-scan-vertical 4s linear infinite;
    box-shadow: 0 0 15px var(--lcars-teal);
}

@keyframes sf-scan-vertical {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(calc(100vh + 100%));
    }
}

/* Enhanced News Content Styling */
.sf-last-news-widget .sf-news-body {
    position: relative;
    padding: var(--space-lg);
    background: linear-gradient(135deg,
            rgba(0, 0, 0, 0.2) 0%,
            transparent 100%);
    border-left: 2px solid var(--lcars-blue);
    margin-bottom: var(--space-xl);
}

.sf-last-news-widget .sf-news-excerpt {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--sf-text);
    position: relative;
}

.sf-last-news-widget .sf-news-excerpt::before {
    content: '◆';
    position: absolute;
    left: -25px;
    top: 2px;
    color: var(--lcars-gold);
    font-size: 0.8rem;
}

/* Responsive Design Optimization */
@media (max-width: 768px) {
    .sf-last-news-widget .sf-widget-header {
        grid-template-columns: 40px 1fr 40px;
    }

    .sf-last-news-widget .sf-priority-status {
        flex-direction: column;
        gap: var(--space-md);
        text-align: center;
    }

    .sf-last-news-widget .sf-news-metadata {
        flex-direction: column;
        gap: var(--space-sm);
    }

    .sf-last-news-widget .sf-news-actions {
        flex-direction: column;
        gap: var(--space-sm);
    }

    .sf-read-more-button,
    .sf-comments-button {
        width: 100%;
        justify-content: center;
    }

    .sf-last-news-widget .sf-news-status-bar {
        flex-wrap: wrap;
    }
}

.ast-single-post .entry-content a,
.ast-comment-content a:not(.ast-comment-edit-reply-wrap a) {
    text-decoration: none;
}

/* ========================================
   CONTACT FORM SUBTLE ENHANCEMENTS - 2025-09-05
   Style cohérent avec le design STARFLEET existant
   ======================================== */

/* Container du formulaire - style minimal et professionnel */
#forminator-module-133 {
    background: rgba(0, 0, 0, 0.02);
    border: 1px solid rgba(81, 71, 155, 0.15);
    border-radius: 8px;
    padding: 30px;
    margin: 20px 0;
    transition: all 0.3s ease;
}

#forminator-module-133:hover {
    border-color: rgba(81, 71, 155, 0.25);
    box-shadow: 0 4px 12px rgba(81, 71, 155, 0.08);
}

/* Labels - style cohérent avec le site */
.forminator-label {
    color: var(--starfleet-blue);
    font-family: 'Titillium Web', 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    display: block;
}

/* Champs de saisie - design épuré */
.forminator-input,
.forminator-textarea {
    background: #ffffff;
    border: 1px solid rgba(155, 155, 153, 0.25);
    border-radius: 6px;
    color: #1a1a1a;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 15px;
    padding: 12px 16px;
    transition: all 0.25s ease;
    width: 100%;
}

/* Focus subtil mais visible */
.forminator-input:focus,
.forminator-textarea:focus {
    border-color: var(--starfleet-blue);
    box-shadow: 0 0 0 3px rgba(81, 71, 155, 0.08);
    outline: none;
}

/* ========================================
   LCARS NAVIGATION ENHANCEMENT - 2025-09-08
   Design amélioré pour la navigation principale
   ======================================== */

/* Navigation principale - Style LCARS amélioré */
.lcars-navigation,
.site-header-section nav,
#site-navigation {
    background: linear-gradient(90deg,
            var(--starfleet-blue) 0%,
            rgba(81, 71, 155, 0.95) 20%,
            rgba(81, 71, 155, 0.8) 80%,
            transparent 100%);
    border-radius: 25px 0 0 25px;
    position: relative;
    padding: 8px 20px 8px 30px;
    margin: 15px 0;
    overflow: visible;
}

/*
.lcars-navigation::before,
.site-header-section nav::before {
    content: '';
    position: absolute;
    left: -5px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 80%;
    background: var(--starfleet-gold);
    border-radius: 5px;
    box-shadow: 0 0 15px rgba(210, 184, 135, 0.5);
    animation: lcars-nav-pulse 3s ease-in-out infinite;
}

.lcars-navigation::after,
.site-header-section nav::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(81, 71, 155, 0.1) 50%,
        rgba(210, 184, 135, 0.2) 100%);
    border-radius: 0 50px 50px 0;
    pointer-events: none;
}
*/
/* Liens de navigation améliorés */
.lcars-navigation a,
.site-header-section nav a,
#site-navigation .menu-item a {
    color: var(--starfleet-white) !important;
    text-decoration: none;
    font-family: 'Titillium Web', 'Antonio', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 10px 20px;
    position: relative;
    transition: all 0.3s ease;
    display: inline-block;
    border-radius: 20px;
}

.lcars-navigation a::before,
.site-header-section nav a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--starfleet-gold) 50%,
            transparent 100%);
    transition: width 0.4s ease;
}

.site-header-section nav a:hover,
#site-navigation .menu-item a:hover {
    background: rgba(210, 184, 135, 0.15);
    color: var(--starfleet-gold) !important;
    transform: translateY(-2px);
    text-shadow: 0 0 10px rgba(210, 184, 135, 0.4);
}

.site-header-section nav a:hover::before {
    width: 80%;
}

/* Animation pour l'indicateur latéral */
@keyframes lcars-nav-pulse {

    0%,
    100% {
        opacity: 1;
        box-shadow: 0 0 15px rgba(210, 184, 135, 0.5);
    }

    50% {
        opacity: 0.8;
        box-shadow: 0 0 25px rgba(210, 184, 135, 0.8);
    }
}

/* Menu actif/courant */
.current-menu-item a,
.current_page_item a {
    background: rgba(210, 184, 135, 0.2) !important;
    color: var(--starfleet-gold) !important;
    box-shadow: inset 0 0 10px rgba(210, 184, 135, 0.2);
}

/* ========================================
   POST COMMENT BUTTON ENHANCEMENT - 2025-09-08
   Design LCARS pour le bouton de commentaire
   ======================================== */

/* Bouton Post Comment style LCARS */
button[type="submit"],
.submit,
#submit,
input[type="submit"] {
    /* Design de base LCARS */
    background: linear-gradient(135deg,
            var(--starfleet-blue) 0%,
            rgba(81, 71, 155, 0.9) 50%,
            var(--starfleet-blue) 100%);
    color: var(--starfleet-white) !important;
    border: 2px solid var(--starfleet-gold);
    border-radius: 30px 10px 30px 10px;
    padding: 14px 35px;
    font-family: 'Antonio', 'Titillium Web', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow:
        0 4px 15px rgba(81, 71, 155, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    min-width: 200px;
}

/* Effet lumineux animé */
button[type="submit"]::before,
#submit::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(210, 184, 135, 0.4) 50%,
            transparent 100%);
    transform: translateY(-50%);
    transition: left 0.5s ease;
}

/* Indicateur d'angle LCARS */
button[type="submit"]::after,
#submit::after {
    content: '▸';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: var(--starfleet-gold);
    transition: all 0.3s ease;
    opacity: 0.7;
}

/* État hover */
button[type="submit"]:hover,
#submit:hover,
input[type="submit"]:hover {
    background: linear-gradient(135deg,
            var(--starfleet-gold) 0%,
            rgba(210, 184, 135, 0.9) 50%,
            var(--starfleet-gold) 100%);
    border-color: var(--starfleet-blue);
    transform: translateY(-3px) scale(1.02);
    box-shadow:
        0 8px 25px rgba(210, 184, 135, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        0 0 30px rgba(210, 184, 135, 0.3);
    color: var(--starfleet-black) !important;
}

button[type="submit"]:hover::before,
#submit:hover::before {
    left: 100%;
}

button[type="submit"]:hover::after,
#submit:hover::after {
    right: 15px;
    opacity: 1;
    animation: lcars-arrow-pulse 0.6s ease infinite;
}

/* Animation de la flèche */
@keyframes lcars-arrow-pulse {

    0%,
    100% {
        transform: translateY(-50%) translateX(0);
    }

    50% {
        transform: translateY(-50%) translateX(3px);
    }
}

/* État actif/cliqué */
button[type="submit"]:active,
#submit:active {
    transform: translateY(-1px) scale(0.98);
    box-shadow:
        0 2px 10px rgba(81, 71, 155, 0.3),
        inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* État focus pour accessibilité */
button[type="submit"]:focus,
#submit:focus {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(210, 184, 135, 0.4),
        0 4px 15px rgba(81, 71, 155, 0.3);
}

/* État désactivé */
button[type="submit"]:disabled,
#submit:disabled {
    background: linear-gradient(135deg,
            rgba(155, 155, 153, 0.5) 0%,
            rgba(155, 155, 153, 0.3) 100%);
    border-color: rgba(155, 155, 153, 0.5);
    color: rgba(255, 255, 255, 0.5) !important;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

button[type="submit"]:disabled::after {
    display: none;
}

/* Responsive pour mobile */
@media (max-width: 768px) {

    .lcars-navigation,
    .site-header-section nav {
        border-radius: 15px 0 0 15px;
        padding: 5px 15px 5px 20px;
    }

    .lcars-navigation a,
    .site-header-section nav a {
        font-size: 12px;
        padding: 8px 15px;
        letter-spacing: 1px;
    }

    button[type="submit"],
    #submit {
        width: 100%;
        padding: 12px 25px;
        font-size: 14px;
        border-radius: 20px 5px 20px 5px;
    }
}

/* Textarea spécifique */
.forminator-textarea {
    min-height: 100px;
    resize: vertical;
    line-height: 1.5;
}

/* Compteur de caractères */
.forminator-description {
    color: #6b6b6b;
    font-size: 12px;
    margin-top: 4px;
    text-align: right;
    opacity: 0.7;
}

/* Espacement des champs */
.forminator-field {
    margin-bottom: 20px;
}

/* Bouton Submit - style cohérent avec le site */
.forminator-button-submit {
    background: linear-gradient(135deg, var(--starfleet-blue) 0%, #6159c7 100%);
    border: none;
    border-radius: 6px;
    color: #ffffff;
    font-family: 'Titillium Web', 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 14px 32px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

/* Hover du bouton */
.forminator-button-submit:hover {
    background: linear-gradient(135deg, #6159c7 0%, var(--starfleet-blue) 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(81, 71, 155, 0.25);
}

/* Active du bouton */
.forminator-button-submit:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(81, 71, 155, 0.2);
}

/* État de chargement */
.forminator-button-submit.forminator-button-onload {
    opacity: 0.7;
    cursor: not-allowed;
    position: relative;
}

.forminator-button-submit.forminator-button-onload::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    right: 16px;
    margin-top: -8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: form-spinner 0.8s linear infinite;
}

@keyframes form-spinner {
    to {
        transform: rotate(360deg);
    }
}

/* Messages de validation */
.forminator-error-message,
.forminator-success-message {
    border-radius: 6px;
    padding: 12px 16px;
    margin: 12px 0;
    font-size: 14px;
    line-height: 1.5;
}

.forminator-error-message {
    background: rgba(181, 17, 0, 0.08);
    border: 1px solid rgba(181, 17, 0, 0.2);
    color: #B51100;
}

.forminator-success-message {
    background: rgba(17, 119, 51, 0.08);
    border: 1px solid rgba(17, 119, 51, 0.2);
    color: #117733;
}

/* Indicateur de champ obligatoire */
.forminator-required {
    color: #B51100;
    font-size: 14px;
    margin-left: 2px;
}

/* Validation des champs */
.forminator-input.forminator-is_filled,
.forminator-textarea.forminator-is_filled {
    border-color: rgba(17, 119, 51, 0.4);
}

.forminator-input.forminator-has_error,
.forminator-textarea.forminator-has_error {
    border-color: rgba(181, 17, 0, 0.4);
    background: rgba(181, 17, 0, 0.02);
}

/* Responsive mobile */
@media (max-width: 768px) {
    #forminator-module-133 {
        padding: 20px;
    }

    .forminator-button-submit {
        width: 100%;
        padding: 14px 24px;
    }

    .forminator-input,
    .forminator-textarea {
        font-size: 16px;
        /* Évite le zoom sur iOS */
    }
}

/* Accessibilité */
.forminator-input:focus-visible,
.forminator-textarea:focus-visible,
.forminator-button-submit:focus-visible {
    outline: 2px solid var(--starfleet-blue);
    outline-offset: 2px;
}

/* Support du mode sombre (si activé) */
[data-theme="dark"] #forminator-module-133 {
    background: rgba(255, 255, 255, 0.02);
    border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .forminator-input,
[data-theme="dark"] .forminator-textarea {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.15);
    color: #f0f0f0;
}

[data-theme="dark"] .forminator-input:focus,
[data-theme="dark"] .forminator-textarea:focus {
    border-color: var(--starfleet-gold);
    box-shadow: 0 0 0 3px rgba(210, 184, 135, 0.1);
}

[data-theme="dark"] .forminator-label {
    color: var(--starfleet-gold);
}

.intro-header-text h1 {
    color: white !important;
    background: transparent !important;
    -webkit-text-fill-color: white !important;
}

.intro-header-text h1:after {
    display: none !important;
}

/* ========================================
   INTRODUCTION PAGE - ORBITAL BACKGROUND
   Orbites elliptiques blanches autour d'un centre
   ======================================== */

/* Background Container */
.introduction-container {
    background: linear-gradient(135deg, #3d3580 0%, #51479B 50%, #3d3580 100%);
    position: relative;
    overflow: hidden;
}

/* Grid Background - Subtle */
.grid-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0.1;
}

.grid-lines {
    background-image:
        linear-gradient(0deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 100px 100px;
}

/* Orbital System Container */
.orbital-system {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* Orbits Container with slow rotation */
.orbits-container {
    position: relative;
    width: 800px;
    height: 800px;
    animation: rotateOrbits 120s linear infinite;
}

@keyframes rotateOrbits {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Elliptical Orbit Base Style */
.orbit {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* Individual Orbits - Different sizes and rotations */
.orbit-1 {
    width: 600px;
    height: 200px;
    transform: translate(-50%, -50%) rotate(0deg);
    border-color: rgba(255, 255, 255, 0.25);
}

.orbit-2 {
    width: 500px;
    height: 300px;
    transform: translate(-50%, -50%) rotate(45deg);
    border-color: rgba(255, 255, 255, 0.2);
}

.orbit-3 {
    width: 700px;
    height: 400px;
    transform: translate(-50%, -50%) rotate(90deg);
    border-color: rgba(255, 255, 255, 0.15);
}

.orbit-4 {
    width: 550px;
    height: 250px;
    transform: translate(-50%, -50%) rotate(135deg);
    border-color: rgba(255, 255, 255, 0.2);
}

.orbit-5 {
    width: 650px;
    height: 350px;
    transform: translate(-50%, -50%) rotate(-30deg);
    border-color: rgba(255, 255, 255, 0.18);
}

/* Central invisible planet point (optional visual aid) */
.central-point {
    position: absolute;
    width: 50px;
    height: 50px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1), transparent 70%);
    border-radius: 50%;
}

/* Spacecraft Silhouette */
.spacecraft-container {
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
    animation: spacecraftOrbit 30s linear infinite;
}

@keyframes spacecraftOrbit {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }
}

.spacecraft {
    position: absolute;
    width: 35px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-left: 320px;
    /* Position on orbit radius */
    margin-top: -10px;
    transform-origin: -320px 10px;
    /* Orbit around center */
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.6));
    opacity: 0.85;
}

/* Enterprise-style spacecraft silhouette */
.spacecraft::before {
    content: '';
    position: absolute;
    /* Main saucer section */
    width: 18px;
    height: 18px;
    background: radial-gradient(ellipse at center,
            rgba(255, 255, 255, 0.9) 30%,
            rgba(255, 255, 255, 0.7) 60%,
            transparent 70%);
    border-radius: 50%;
    top: 0;
    left: 8px;
    transform: scaleY(0.4);
}

.spacecraft::after {
    content: '';
    position: absolute;
    /* Engineering hull and nacelles combined */
    width: 25px;
    height: 8px;
    top: 8px;
    left: 5px;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.6) 15%,
            rgba(255, 255, 255, 0.8) 40%,
            rgba(255, 255, 255, 0.8) 60%,
            rgba(255, 255, 255, 0.6) 85%,
            transparent 100%);
    clip-path: polygon(0% 30%, 15% 0%, 35% 40%, 65% 40%, 85% 0%, 100% 30%,
            100% 70%, 85% 100%, 65% 60%, 35% 60%, 15% 100%, 0% 70%);
}

/* Alternative spacecraft using Unicode/Symbol */
.spacecraft-symbol {
    position: absolute;
    width: 40px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-left: 250px;
    /* Position on orbit */
    margin-top: -10px;
    transform-origin: -250px 10px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 24px;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
    animation: spacecraftGlow 2s ease-in-out infinite;
}

@keyframes spacecraftGlow {

    0%,
    100% {
        opacity: 0.6;
        filter: brightness(1);
    }

    50% {
        opacity: 0.9;
        filter: brightness(1.2);
    }
}

/* Trail effect for spacecraft */
.spacecraft-trail {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.3;
}

.trail-line {
    position: absolute;
    width: 60px;
    height: 1px;
    top: 50%;
    left: 50%;
    margin-left: 220px;
    margin-top: 0;
    transform-origin: -250px 0;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 255, 255, 0.2) 30%,
            rgba(255, 255, 255, 0.4) 60%,
            transparent);
    animation: trailFade 0.5s linear infinite;
}

@keyframes trailFade {
    0% {
        opacity: 0.4;
    }

    100% {
        opacity: 0;
    }
}

/* Planet Objects with Enhanced Effects */
.planet {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%,
            rgba(100, 149, 237, 0.4),
            rgba(100, 149, 237, 0.2) 40%,
            rgba(100, 149, 237, 0.05) 70%,
            transparent);
    box-shadow:
        0 0 40px rgba(100, 149, 237, 0.3),
        inset -10px -10px 20px rgba(0, 0, 0, 0.3);
    animation: planetFloat 8s ease-in-out infinite;
}

.planet::after {
    content: '';
    position: absolute;
    top: 10%;
    left: 10%;
    width: 30%;
    height: 30%;
    border-radius: 50%;
    background: radial-gradient(circle,
            rgba(255, 255, 255, 0.4),
            transparent 70%);
    filter: blur(2px);
}

@keyframes planetFloat {

    0%,
    100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-10px) scale(1.05);
    }
}

/* Planet Positioning and Sizing */
.planet-1 {
    width: 180px;
    height: 180px;
    top: 15%;
    left: 10%;
    animation-delay: 0s;
}

.planet-2 {
    width: 120px;
    height: 120px;
    bottom: 20%;
    left: 5%;
    animation-delay: 2s;
}

.planet-3 {
    width: 80px;
    height: 80px;
    top: 70%;
    right: 15%;
    opacity: 0.4;
    animation-delay: 4s;
}

/* Planet Labels with Enhanced Styling */
.planet-label {
    position: absolute;
    color: rgba(100, 149, 237, 0.5);
    font-family: 'Antonio', 'Courier New', monospace;
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-shadow: 0 0 10px rgba(100, 149, 237, 0.3);
    animation: labelPulse 3s ease-in-out infinite;
}

@keyframes labelPulse {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 0.6;
    }
}

/* Orbital Animation Keyframes */
@keyframes rotateOrbit {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes rotateOrbitReverse {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}

/* Floating Particles Effect */
.particles {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.particle {
    position: absolute;
    width: 2px;
    height: 2px;
    background: rgba(100, 149, 237, 0.6);
    border-radius: 50%;
    animation: particleFloat 20s linear infinite;
}

@keyframes particleFloat {
    0% {
        transform: translateY(100vh) translateX(0);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        transform: translateY(-100vh) translateX(100px);
        opacity: 0;
    }
}

/* Scanning Grid Lines */
.scan-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg,
            transparent 50%,
            rgba(100, 149, 237, 0.03) 50%);
    background-size: 100% 4px;
    animation: scanlines 8s linear infinite;
    pointer-events: none;
    opacity: 0.3;
}

@keyframes scanlines {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 0 10px;
    }
}

/* Enhanced Scanner Line Effect */
.scanner-line {
    position: absolute;
    width: 150%;
    height: 2px;
    background: linear-gradient(90deg,
            transparent,
            rgba(0, 255, 0, 0.4) 10%,
            rgba(0, 255, 0, 0.8) 50%,
            rgba(0, 255, 0, 0.4) 90%,
            transparent);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: scan 5s ease-in-out infinite;
    box-shadow:
        0 0 20px rgba(0, 255, 0, 0.4),
        0 0 40px rgba(0, 255, 0, 0.2);
}

/* Constellation Connections */
.constellation-lines {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.1;
}

.constellation-line {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg,
            transparent,
            rgba(100, 149, 237, 0.5),
            transparent);
    transform-origin: left center;
    animation: constellationPulse 10s ease-in-out infinite;
}

@keyframes constellationPulse {

    0%,
    100% {
        opacity: 0.05;
    }

    50% {
        opacity: 0.2;
    }
}

/* Responsive Adjustments for Orbital Elements */
@media (max-width: 1200px) {
    .orbit-1 {
        width: 600px;
        height: 600px;
    }

    .orbit-2 {
        width: 800px;
        height: 800px;
    }

    .orbit-3 {
        width: 400px;
        height: 400px;
    }

    .planet-1 {
        width: 150px;
        height: 150px;
    }

    .planet-2 {
        width: 100px;
        height: 100px;
    }
}

@media (max-width: 768px) {

    .orbit-4,
    .orbit-5,
    .planet-3,
    .scan-lines,
    .constellation-lines {
        display: none;
    }

    .orbit-1,
    .orbit-2,
    .orbit-3 {
        opacity: 0.05;
    }

    .planet-1,
    .planet-2 {
        opacity: 0.15;
    }

    body.single .entry-content {
        padding: 0px !important;
    }

    .sf-carousel-3d {
        position: relative !important;
    }

    #footer-quick-menu,
    .footer-links {
        text-align: left;
    }

    #scroll-indicator {
        display: none !important;
    }

    body.starfleet_news-template-default #content {
        flex-direction: column;
    }

    body.starfleet_news-template-default.single .entry-content ul,
    body.single .entry-content ol {
        margin: 0px !important
    }

    body.starfleet_news-template-default.single .entry-content ul li {
        list-style: none !important;
    }
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-content :where(h1, h2, h3, h4, h5, h6) {
    color: var(--ast-global-color-1);
}

body.starfleet_news-template-default #content {
    max-width: 1400px;
}

body.starfleet_news-template-default #primary {
    flex: 1;
}

body.starfleet_news-template-default #secondary.lcars-sidebar {
    width: 428px;
}

ul#mobile-menu-list {
    margin: 0px !important;
    padding: 0px !important;
}

body.post-template-default.single #content {
    max-width: 1140px;
}

/* ========================================
   CAMPUS INFO BAR SINGLE LINE LAYOUT - December 2024
   Ultra-compact single line layout for campus contact section
   ======================================== */

/* Single Line Container */
body.single-starfleet_campus .campus-info-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.5rem;
    padding: 0.75rem 1.25rem;
    background: linear-gradient(90deg,
            rgba(20, 28, 46, 0.95) 0%,
            rgba(74, 95, 217, 0.05) 100%);
    border-radius: 8px;
    border: 1px solid rgba(74, 95, 217, 0.15);
    border-left: 2px solid var(--lcars-gold);
    position: relative;
    margin: 0.75rem 0;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
}

/* Subtle gradient line at top */
body.single-starfleet_campus .campus-info-bar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--lcars-gold) 10%,
            var(--sf-accent) 50%,
            var(--lcars-gold) 90%,
            transparent 100%);
    opacity: 0.6;
}

/* Single Line Info Items */
body.single-starfleet_campus .campus-info-bar .info-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0;
    position: relative;
    transition: all 0.2s ease;
    font-size: 0.85rem;
    color: var(--sf-text-dim);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Compact separator */
body.single-starfleet_campus .campus-info-bar .info-item:not(:last-child)::after {
    content: '•';
    position: absolute;
    right: -0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(210, 184, 135, 0.25);
    font-size: 0.6rem;
}

/* Ultra-Compact Icons */
body.single-starfleet_campus .campus-info-bar .info-item svg {
    width: 14px;
    height: 14px;
    color: var(--lcars-gold);
    opacity: 0.7;
    transition: all 0.2s ease;
}

/* Single line text styling */
body.single-starfleet_campus .campus-info-bar .info-item span:not(.info-item) {
    font-size: 0.85rem;
    line-height: 1;
    color: var(--sf-text);
}

/* Hover effects - subtle */
body.single-starfleet_campus .campus-info-bar .info-item:hover {
    color: var(--sf-accent);
}

body.single-starfleet_campus .campus-info-bar .info-item:hover svg {
    color: var(--sf-accent);
    opacity: 1;
    transform: scale(1.1);
}

/* Remove unnecessary spacing for single line */
body.single-starfleet_campus .campus-info-bar .info-item {
    max-width: none;
}

/* Make location slightly more prominent */
body.single-starfleet_campus .campus-info-bar .info-item:has(.icon-location) {
    font-weight: 500;
    color: var(--sf-text);
}

/* Ensure all items stay on one line */
body.single-starfleet_campus .campus-info-bar {
    min-height: 40px;
}

/* Hide scrollbar but keep functionality */
body.single-starfleet_campus .campus-info-bar::-webkit-scrollbar {
    height: 4px;
}

body.single-starfleet_campus .campus-info-bar::-webkit-scrollbar-track {
    background: transparent;
}

body.single-starfleet_campus .campus-info-bar::-webkit-scrollbar-thumb {
    background: rgba(210, 184, 135, 0.2);
    border-radius: 2px;
}

body.single-starfleet_campus .campus-info-bar::-webkit-scrollbar-thumb:hover {
    background: rgba(210, 184, 135, 0.4);
}


/* Contact link styling - compact */
body.single-starfleet_campus .campus-info-bar .info-email .contact-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted rgba(210, 184, 135, 0.3);
    transition: all 0.2s ease;
}

body.single-starfleet_campus .campus-info-bar .info-email:hover .contact-link {
    color: var(--sf-accent);
    border-bottom-style: solid;
    border-bottom-color: var(--sf-accent);
}

/* Frequency text styling - compact */
body.single-starfleet_campus .campus-info-bar .info-frequency .frequency-text {
    font-family: var(--font-mono);
    font-weight: 500;
    letter-spacing: 0.025em;
    font-size: 0.9rem;
}

/* Mobile - Single line with horizontal scroll */
@media (max-width: 768px) {
    body.single-starfleet_campus .campus-info-bar {
        padding: 0.6rem 1rem;
        gap: 1rem;
        /* Enable horizontal scroll on mobile */
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.single-starfleet_campus .campus-info-bar .info-item {
        font-size: 0.8rem;
    }

    body.single-starfleet_campus .campus-info-bar .info-item svg {
        width: 12px;
        height: 12px;
    }

    /* Hide email label on mobile to save space */
    body.single-starfleet_campus .campus-info-bar .info-email {
        margin-left: 0;
    }

    /* Add subtle scroll indicator */
    body.single-starfleet_campus .campus-info-bar::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 20px;
        background: linear-gradient(90deg, transparent, rgba(20, 28, 46, 0.95));
        pointer-events: none;
    }
}

/* Desktop - All on one line */
@media (min-width: 769px) {
    body.single-starfleet_campus .campus-info-bar {
        justify-content: space-between;
    }

    /* Push email to the right */
    body.single-starfleet_campus .campus-info-bar .info-email {
        margin-left: auto;
    }
}

/* ========================================
   NEWS SECTION ENHANCED ANIMATIONS - 2025-01-09
   Animations améliorées pour sf-news-header-indicator et sf-news-header-bar
   ======================================== */

/* Animation pour la barre rouge en état d'alerte */
@keyframes red-alert-bar {

    0%,
    100% {
        opacity: 1;
        filter: brightness(1);
    }

    50% {
        opacity: 0.85;
        filter: brightness(1.3);
    }
}

/* Animation additionnelle pour un effet de transmission de données */
.sf-news-header-bar.data-streaming::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg,
            transparent 0%,
            var(--sf-accent) 50%,
            transparent 100%);
    top: 50%;
    left: -100%;
    animation: data-stream 1.5s linear infinite;
}

@keyframes data-stream {
    0% {
        left: -100%;
    }

    100% {
        left: 100%;
    }
}

/* Hover effect pour améliorer l'interactivité */
.sf-news-header:hover .sf-news-header-indicator {
    animation-duration: 0.8s;
    filter: brightness(1.2);
}

.sf-news-header:hover .sf-news-header-bar {
    transform: scaleY(1.05);
    transition: transform 0.3s ease;
}

/* ========================================
   SERVICES WIDGETS STYLES - 2025-01-10
   Custom styles for Accessibility, Academic and IT Services widgets
   ======================================== */

/* Accessibility Services Widget */
.starfleet-accessibility-services {
    padding: 20px;
}

.starfleet-accessibility-services.display-grid .services-container,
.starfleet-accessibility-services.display-cards .services-container {
    display: grid;
    gap: 40px;
}

.starfleet-accessibility-services.cols-2 .services-container {
    grid-template-columns: repeat(2, 1fr);
}

.starfleet-accessibility-services.cols-3 .services-container {
    grid-template-columns: repeat(3, 1fr);
}

.starfleet-accessibility-services.cols-4 .services-container {
    grid-template-columns: repeat(4, 1fr);
}

.accessibility-service-item {
    background: rgba(0, 0, 0, 0.8);
    border: 2px solid var(--starfleet-blue);
    border-radius: 10px;
    padding: 20px;
    position: relative;
    transition: all 0.3s ease;
}

.accessibility-service-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(81, 71, 155, 0.3);
    border-color: var(--starfleet-gold);
}

.accessibility-service-item .priority-indicator {
    position: absolute;
    top: 19px;
    right: 0px;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    animation: pulse 2s infinite;
}

.priority-indicator.critical {
    background: var(--starfleet-red);
    color: white;
}

.priority-indicator.urgent {
    background: var(--starfleet-yellow);
    color: black;
}

.accessibility-service-item .service-title {
    color: var(--starfleet-gold);
    font-size: 20px;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.service-type-badge {
    display: inline-block;
    background: var(--starfleet-blue);
    color: white;
    padding: 3px 10px;
    border-radius: 15px;
    font-size: 12px;
    margin-right: 10px;
}

.service-availability {
    display: flex;
    align-items: center;
    margin: 15px 0;
    padding: 10px;
    background: rgba(81, 71, 155, 0.1);
    border-left: 3px solid var(--starfleet-green);
}

.service-links .links-list,
.service-documents .documents-list {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.service-links .links-list li,
.service-documents .documents-list li {
    padding: 5px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.service-links .links-list a,
.service-documents .documents-list a {
    color: var(--starfleet-teal);
    text-decoration: none;
    transition: color 0.3s;
}

.service-links .links-list a:hover,
.service-documents .documents-list a:hover {
    color: var(--starfleet-gold);
}

.important-info {
    display: flex;
    align-items: flex-start;
    background: rgba(255, 200, 0, 0.1);
    border: 1px solid var(--starfleet-yellow);
    border-radius: 5px;
    padding: 15px;
    margin: 15px 0;
}

.important-info .info-icon {
    font-size: 24px;
    margin-right: 15px;
    color: var(--starfleet-yellow);
}

/* LCARS Panel View for Accessibility Services */
.starfleet-accessibility-services.display-lcars .lcars-frame {
    background: black;
    border: 2px solid var(--starfleet-blue);
    border-radius: 20px 0 20px 0;
    overflow: hidden;
}

.lcars-frame .lcars-header {
    display: flex;
    align-items: center;
    background: var(--starfleet-blue);
    padding: 10px;
    position: relative;
}

.lcars-elbow {
    width: 100px;
    height: 40px;
    background: var(--starfleet-gold);
    border-radius: 0 0 20px 0;
}

.lcars-title {
    flex: 1;
    text-align: center;
    color: black;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.lcars-bar {
    width: 100px;
    height: 40px;
    background: var(--starfleet-silver);
}

.lcars-content {
    padding: 20px;
    min-height: 400px;
}

.lcars-footer {
    display: flex;
    align-items: center;
    background: var(--starfleet-blue);
    padding: 10px;
}

/* Academic Services Widget */
.starfleet-academic-services {
    padding: 20px;
}

.starfleet-academic-services.layout-timeline .timeline-container {
    position: relative;
    padding: 20px 0;
}

.timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--starfleet-blue);
}

.timeline-item {
    position: relative;
    margin-bottom: 40px;
    width: 45%;
}

.timeline-item.left {
    left: 0;
}

.timeline-item.right {
    left: 55%;
}

.timeline-marker {
    position: absolute;
    width: 20px;
    height: 20px;
    background: var(--starfleet-gold);
    border: 3px solid var(--starfleet-blue);
    border-radius: 50%;
    top: 20px;
}

.timeline-item.left .timeline-marker {
    right: -52px;
}

.timeline-item.right .timeline-marker {
    left: -52px;
}

.academic-service-item {
    background: rgba(0, 0, 0, 0.9);
    border: 2px solid var(--starfleet-blue);
    border-radius: 10px;
    padding: 20px;
    position: relative;
}

.academic-service-item.urgent {
    border-color: var(--starfleet-yellow);
    animation: urgentPulse 2s infinite;
}

@keyframes urgentPulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(255, 200, 0, 0.4);
    }

    50% {
        box-shadow: 0 0 20px 5px rgba(255, 200, 0, 0.4);
    }
}

.urgency-indicator {
    position: absolute;
    top: -12px;
    right: 20px;
}

.urgency-badge {
    background: var(--starfleet-red);
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: bold;
    animation: blink 1s infinite;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.process-type-badge {
    display: inline-block;
    background: var(--starfleet-gold);
    color: black;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
}

.deadline-info {
    background: rgba(81, 71, 155, 0.2);
    border-left: 4px solid var(--starfleet-blue);
    padding: 10px 15px;
    margin: 15px 0;
}

.process-steps {
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid var(--starfleet-silver);
    border-radius: 5px;
    padding: 15px;
    margin: 15px 0;
}

.required-forms .forms-list {
    list-style: none;
    padding: 0;
}

.forms-list .form-item {
    display: flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.form-icon {
    margin-right: 10px;
    font-size: 18px;
}

/* LCARS Console for Academic Services */
.starfleet-academic-services.layout-lcars_console .lcars-console {
    background: black;
    border: 3px solid var(--starfleet-blue);
    border-radius: 30px 0 30px 0;
    overflow: hidden;
}

.console-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(90deg, var(--starfleet-blue) 0%, var(--starfleet-gold) 100%);
    padding: 15px 30px;
}

.console-title {
    font-size: 18px;
    font-weight: bold;
    color: black;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.console-status {
    display: flex;
    align-items: center;
}

.status-indicator {
    /* width: 12px; */
    height: 12px;
    border-radius: 50%;
    margin-right: 10px;
    animation: statusPulse 2s infinite;
}

.status-indicator.active {
    background: #00ff00;
}

@keyframes statusPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

.console-content {
    padding: 30px;
    min-height: 500px;
}

.console-footer {
    background: var(--starfleet-silver);
    padding: 10px 30px;
    display: flex;
    justify-content: space-between;
    color: black;
    font-size: 12px;
    font-weight: bold;
}

/* IT Services Widget */
.starfleet-it-services {
    padding: 20px;
}

.starfleet-it-services.dark-mode {
    background: #000;
    color: #fff;
}

.starfleet-it-services.light-mode {
    background: #f5f5f5;
    color: #333;
}

/* Status Board Layout */
.status-board {
    background: rgba(0, 0, 0, 0.95);
    border: 2px solid var(--starfleet-blue);
    border-radius: 10px;
    padding: 20px;
}

.board-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--starfleet-blue);
}

.board-title {
    color: var(--starfleet-gold);
    font-size: 24px;
    text-transform: uppercase;
}

.overall-status {
    display: flex;
    align-items: center;
}

.status-indicator.healthy {
    background: #00ff00;
}

.status-indicator.warning {
    background: orange;
}

.status-indicator.critical {
    background: red;
}

.status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

/* System Dashboard Layout */
.system-dashboard {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.95) 0%, rgba(81, 71, 155, 0.2) 100%);
    border-radius: 15px;
    padding: 30px;
}

.dashboard-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.stat-card {
    background: rgba(0, 0, 0, 0.7);
    border: 2px solid var(--starfleet-gold);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
}

.stat-value {
    display: block;
    font-size: 36px;
    font-weight: bold;
    color: var(--starfleet-gold);
    margin-bottom: 10px;
}

.stat-label {
    font-size: 14px;
    text-transform: uppercase;
    color: var(--starfleet-silver);
}

/* IT Service Items */
.it-service-item {
    background: rgba(0, 0, 0, 0.8);
    border: 2px solid var(--starfleet-silver);
    border-radius: 10px;
    padding: 20px;
    transition: all 0.3s ease;
    margin-bottom: 24px;
}

.it-service-item.status-operational {
    border-color: #00ff00;
}

.it-service-item.status-degraded {
    border-color: orange;
}

.it-service-item.status-maintenance {
    border-color: #00aaff;
}

.it-service-item.status-offline {
    border-color: red;
}

.service-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.service-name {
    color: var(--starfleet-gold);
    font-size: 18px;
    font-weight: bold;
}

.service-status {
    display: flex;
    align-items: center;
    padding: 5px 15px;
    border-radius: 20px;
}

.status-operational {
    background: rgba(0, 255, 0, 0.2);
    color: #00ff00;
}

.status-degraded {
    background: rgba(255, 165, 0, 0.2);
    color: orange;
}

.status-maintenance {
    background: rgba(0, 170, 255, 0.2);
    color: #00aaff;
}

.status-offline {
    background: rgba(255, 0, 0, 0.2);
    color: red;
}

.uptime-indicator {
    margin: 15px 0;
}

.uptime-bar {
    width: 100%;
    height: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 5px;
}

.uptime-fill {
    height: 100%;
    background: linear-gradient(90deg, red 0%, orange 50%, #00ff00 100%);
    transition: width 0.5s ease;
}

.uptime-value {
    font-size: 12px;
    color: var(--starfleet-silver);
}

/* LCARS Monitor for IT Services */
.lcars-monitor {
    background: black;
    border: 3px solid var(--starfleet-blue);
    border-radius: 40px 0 40px 0;
    overflow: hidden;
    position: relative;
}

.monitor-header {
    display: grid;
    grid-template-columns: 150px 1fr 200px;
    align-items: center;
    background: var(--starfleet-blue);
    height: 60px;
}

.lcars-elbow-left {
    width: 100%;
    height: 100%;
    background: var(--starfleet-gold);
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
}

.monitor-title {
    text-align: center;
    color: black;
    font-weight: bold;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.lcars-bar-right {
    background: var(--starfleet-silver);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
}

.stardate {
    color: black;
    font-weight: bold;
    font-size: 14px;
}

.monitor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 20px;
    padding: 30px;
    min-height: 500px;
}

.monitor-footer {
    display: grid;
    grid-template-columns: 200px 1fr 150px;
    align-items: center;
    background: var(--starfleet-blue);
    height: 50px;
}

.lcars-bar-left {
    background: var(--starfleet-silver);
    height: 100%;
}

.system-summary {
    text-align: center;
    color: black;
    font-weight: bold;
    font-size: 14px;
}

.lcars-elbow-right {
    width: 100%;
    height: 100%;
    background: var(--starfleet-gold);
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}

/* Service Actions */
.service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.action-link,
.action-button,
.lcars-button {
    display: inline-flex;
    align-items: center;
    padding: 8px 20px;
    background: var(--starfleet-blue);
    color: white;
    text-decoration: none;
    border-radius: 20px 0 20px 0;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.action-link:hover,
.action-button:hover,
.lcars-button:hover {
    background: var(--starfleet-gold);
    color: black;
    transform: translateX(5px);
}

.action-button.secondary {
    background: var(--starfleet-silver);
    color: black;
}

.action-button.secondary:hover {
    background: var(--starfleet-teal);
}

.link-icon {
    margin-right: 5px;
    font-size: 16px;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .starfleet-accessibility-services.cols-4 .services-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {

    .starfleet-accessibility-services.cols-3 .services-container,
    .starfleet-accessibility-services.cols-4 .services-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .timeline-line {
        left: 30px;
    }

    .timeline-item {
        width: calc(100% - 60px);
        left: 60px !important;
    }

    .timeline-item .timeline-marker {
        left: -42px !important;
    }

    .dashboard-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {

    .starfleet-accessibility-services.cols-2 .services-container,
    .starfleet-accessibility-services.cols-3 .services-container,
    .starfleet-accessibility-services.cols-4 .services-container {
        grid-template-columns: 1fr;
    }

    .monitor-grid {
        grid-template-columns: 1fr;
    }

    .board-header {
        flex-direction: column;
        text-align: center;
    }

    .service-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .service-actions {
        flex-direction: column;
    }

    .action-link,
    .action-button {
        width: 100%;
        justify-content: center;
    }
}

/* ========================================
   ACCESSIBILITY SERVICES WIDGET - ENHANCED STYLES
   ======================================== */
.starfleet-accessibility-services {
    padding: 20px 0;
}

.starfleet-accessibility-services .services-container {
    display: grid;
    gap: 30px;
    margin: 0 auto;
}

.starfleet-accessibility-services.cols-2 .services-container {
    grid-template-columns: repeat(2, 1fr);
}

.starfleet-accessibility-services.cols-3 .services-container {
    grid-template-columns: repeat(3, 1fr);
}

.starfleet-accessibility-services.cols-4 .services-container {
    grid-template-columns: repeat(4, 1fr);
}

/* Service Item Card */
.accessibility-service-item {
    background: linear-gradient(135deg, #1a1a2e 0%, #0f0f1e 100%);
    border: 2px solid var(--starfleet-blue);
    border-radius: 15px;
    padding: 25px;
    position: relative;
    transition: all 0.3s ease;
    overflow: hidden;
}

.accessibility-service-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--starfleet-blue), var(--starfleet-gold), var(--starfleet-blue));
    animation: slideGradient 3s ease infinite;
}

@keyframes slideGradient {

    0%,
    100% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(100%);
    }
}

.accessibility-service-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(81, 71, 155, 0.4);
    border-color: var(--starfleet-gold);
}

/* Priority Indicators */
.priority-indicator {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 2;
}

.priority-badge {
    background: linear-gradient(135deg, #ff4444, #cc0000);
    color: white;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
    animation: pulse 2s infinite;
}

.priority-indicator.urgent .priority-badge {
    background: linear-gradient(135deg, #ff9900, #ff6600);
    animation: pulse 3s infinite;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.7;
    }
}

/* Service Title */
.accessibility-service-item .service-title {
    color: var(--starfleet-gold);
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

.accessibility-service-item:hover .service-title {
    color: var(--starfleet-white);
    text-shadow: 0 0 10px rgba(210, 184, 135, 0.5);
}

/* Service Meta */
.service-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.service-type-badge {
    background: var(--starfleet-blue);
    color: white;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.target-audience {
    color: var(--starfleet-silver);
    font-size: 13px;
    padding: 4px 0;
}

/* Service Content */
.service-content {
    color: #e0e0e0;
    line-height: 1.6;
    margin-bottom: 20px;
    font-size: 14px;
}

/* Service Availability */
.service-availability {
    background: rgba(81, 71, 155, 0.2);
    border-left: 3px solid var(--starfleet-green);
    padding: 10px 15px;
    margin: 15px 0;
    border-radius: 5px;
}

.service-availability .label {
    color: var(--starfleet-green);
    font-weight: 600;
    margin-right: 8px;
}

.service-availability .value {
    color: #ffffff;
}

/* Service Contact */
.service-contact {
    background: rgba(210, 184, 135, 0.1);
    border: 1px solid rgba(210, 184, 135, 0.3);
    border-radius: 10px;
    padding: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.contact-person,
.contact-comm {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.contact-person:last-child,
.contact-comm:last-child {
    margin-bottom: 0;
}

.service-contact .label {
    color: var(--starfleet-gold);
    font-weight: 600;
    margin-right: 8px;
    min-width: 70px;
}

.service-contact .value {
    color: #ffffff;
}

.comm-badge {
    color: var(--starfleet-green);
    font-size: 16px;
    margin-right: 8px;
    animation: commPulse 2s ease-in-out infinite;
}

@keyframes commPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

/* Responsive Design */
@media (max-width: 768px) {

    .starfleet-accessibility-services.cols-3 .services-container,
    .starfleet-accessibility-services.cols-4 .services-container {
        grid-template-columns: 1fr;
    }

    .accessibility-service-item {
        padding: 20px;
    }

    .service-title {
        font-size: 18px;
    }
}

@media (max-width: 1024px) {
    .starfleet-accessibility-services.cols-4 .services-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ========================================
   404 ERROR PAGE STYLES - ENHANCED
   Création: 2025-09-11
   Style LCARS avancé pour page 404
   ======================================== */

.lcars-error-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: linear-gradient(135deg, #0A0E1B 0%, #1a1f3a 100%);
    position: relative;
    overflow: hidden;
}

.lcars-error-page::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(ellipse at 20% 30%, rgba(81, 71, 155, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(210, 184, 135, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(0, 229, 255, 0.05) 0%, transparent 70%);
    pointer-events: none;
    animation: errorBgPulse 10s ease-in-out infinite;
}

@keyframes errorBgPulse {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

.error-panel {
    max-width: 900px;
    width: 100%;
    margin: 2rem auto;
    background: rgba(20, 28, 46, 0.95);
    border: 2px solid var(--starfleet-blue);
    border-radius: 20px;
    padding: 3rem;
    position: relative;
    box-shadow:
        0 0 50px rgba(81, 71, 155, 0.3),
        inset 0 0 30px rgba(81, 71, 155, 0.1);
    backdrop-filter: blur(10px);
}

.error-panel::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, var(--starfleet-blue), var(--starfleet-gold), var(--starfleet-green), var(--starfleet-blue));
    border-radius: 20px;
    opacity: 0;
    z-index: -1;
    animation: errorBorderGlow 3s ease-in-out infinite;
}

@keyframes errorBorderGlow {

    0%,
    100% {
        opacity: 0;
    }

    50% {
        opacity: 0.5;
    }
}

.error-code {
    font-size: 2rem;
    font-family: var(--font-mono);
    margin-bottom: 1.5rem;
    color: var(--starfleet-yellow);
    text-shadow: 0 0 20px rgba(187, 159, 0, 0.5);
    letter-spacing: 0.1em;
}

.stardate-digits {
    color: var(--starfleet-red);
    font-weight: bold;
    animation: digitFlicker 0.5s ease-in-out infinite alternate;
}

@keyframes digitFlicker {
    0% {
        opacity: 1;
        text-shadow: 0 0 10px rgba(181, 17, 0, 0.8);
    }

    100% {
        opacity: 0.8;
        text-shadow: 0 0 5px rgba(181, 17, 0, 0.4);
    }
}

.error-description {
    margin: 2rem 0;
    padding: 1.5rem;
    background: linear-gradient(90deg, rgba(81, 71, 155, 0.1) 0%, transparent 100%);
    border-left: 3px solid var(--starfleet-blue);
    border-radius: 0 10px 10px 0;
}

.error-reasons {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.error-reasons li {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    background: rgba(81, 71, 155, 0.05);
    border-radius: 10px;
    transition: all 0.3s ease;
}

.error-reasons li:hover {
    background: rgba(81, 71, 155, 0.15);
    transform: translateX(10px);
    box-shadow: 0 5px 15px rgba(81, 71, 155, 0.3);
}

.error-reasons .lcars-list-indicator {
    width: 12px;
    height: 12px;
    background: linear-gradient(45deg, var(--starfleet-red), var(--starfleet-yellow));
    border-radius: 50%;
    margin-right: 1.5rem;
    animation: indicatorPulse 2s ease-in-out infinite;
    box-shadow: 0 0 10px rgba(181, 17, 0, 0.5);
}

@keyframes indicatorPulse {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 10px rgba(181, 17, 0, 0.5);
    }

    50% {
        transform: scale(1.2);
        box-shadow: 0 0 20px rgba(181, 17, 0, 0.8);
    }
}

.error-actions {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 2px solid rgba(81, 71, 155, 0.3);
}

.action-buttons {
    display: flex;
    gap: 1.5rem;
    margin: 2rem 0;
    flex-wrap: wrap;
    justify-content: center;
}


.star-map {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 4rem;
    padding: 3rem;
    background: radial-gradient(ellipse at center, rgba(0, 229, 255, 0.1) 0%, transparent 70%);
    border-radius: 20px;
    position: relative;
}

.star-map::before,
.star-map::after {
    content: '';
    position: absolute;
    width: 100px;
    height: 100px;
    border: 2px solid rgba(0, 229, 255, 0.2);
    border-radius: 50%;
    animation: orbitRing 10s linear infinite;
}

.star-map::after {
    width: 150px;
    height: 150px;
    animation-duration: 15s;
    animation-direction: reverse;
}

@keyframes orbitRing {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.warp-core-loader {
    width: 100px;
    height: 200px;
    position: relative;
    margin-bottom: 2rem;
}

.warp-core-chamber {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 229, 255, 0.1) 0%, rgba(81, 71, 155, 0.2) 100%);
    border: 2px solid var(--starfleet-blue);
    border-radius: 50px;
    position: relative;
    overflow: hidden;
}

.warp-core-energy {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(180deg, rgba(0, 229, 255, 0.8) 0%, rgba(0, 229, 255, 0.2) 100%);
    animation: warpCoreFlow 2s ease-in-out infinite;
}

@keyframes warpCoreFlow {

    0%,
    100% {
        height: 30%;
        opacity: 0.5;
    }

    50% {
        height: 80%;
        opacity: 1;
    }
}

.warp-core-rings {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
}

.warp-core-ring {
    position: absolute;
    border: 2px solid var(--starfleet-gold);
    border-radius: 50%;
    opacity: 0.5;
    animation: ringPulse 3s ease-in-out infinite;
}

.warp-core-ring:nth-child(1) {
    width: 60px;
    height: 60px;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    animation-delay: 0s;
}

.warp-core-ring:nth-child(2) {
    width: 70px;
    height: 70px;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    animation-delay: 1s;
}

.warp-core-ring:nth-child(3) {
    width: 80px;
    height: 80px;
    top: 70%;
    left: 50%;
    transform: translateX(-50%);
    animation-delay: 2s;
}

@keyframes ringPulse {

    0%,
    100% {
        transform: translateX(-50%) scale(1);
        opacity: 0.3;
    }

    50% {
        transform: translateX(-50%) scale(1.2);
        opacity: 1;
    }
}

/* ========================================
   WORDPRESS LOGIN PAGE STYLES
   Création: 2025-09-11
   Style LCARS pour page de connexion WordPress
   ======================================== */

body.login {
    background: linear-gradient(135deg, #0A0E1B 0%, #1a1f3a 100%);
    position: relative;
    overflow: hidden;
    min-height: 100vh;
}

body.login::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(ellipse at 30% 20%, rgba(81, 71, 155, 0.2) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 80%, rgba(210, 184, 135, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(0, 229, 255, 0.08) 0%, transparent 60%);
    pointer-events: none;
    animation: loginBgAnimation 20s ease-in-out infinite;
}

@keyframes loginBgAnimation {

    0%,
    100% {
        transform: scale(1) rotate(0deg);
        opacity: 0.7;
    }

    50% {
        transform: scale(1.1) rotate(5deg);
        opacity: 1;
    }
}

body.login #login {
    width: 450px;
    padding: 5% 0 0;
    margin: auto;
    position: relative;
    z-index: 10;
}

body.login h1 {
    text-align: center;
    margin-bottom: 2rem;
}

body.login h1 a {
    background-image: none !important;
    text-indent: 0 !important;
    width: auto !important;
    height: auto !important;
    color: var(--starfleet-gold);
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    text-decoration: none;
    display: block;
    text-shadow:
        0 0 30px rgba(210, 184, 135, 0.5),
        0 0 60px rgba(210, 184, 135, 0.3);
    animation: titleGlow 3s ease-in-out infinite;
}

@keyframes titleGlow {

    0%,
    100% {
        text-shadow:
            0 0 30px rgba(210, 184, 135, 0.5),
            0 0 60px rgba(210, 184, 135, 0.3);
    }

    50% {
        text-shadow:
            0 0 40px rgba(210, 184, 135, 0.8),
            0 0 80px rgba(210, 184, 135, 0.5);
    }
}

body.login h1 a:before {
    content: "⟦ ";
    color: var(--starfleet-blue);
    margin-right: 0.5rem;
}

body.login h1 a:after {
    content: " ⟧";
    color: var(--starfleet-blue);
    margin-left: 0.5rem;
}

body.login #loginform,
body.login #registerform,
body.login #lostpasswordform {
    background: rgba(20, 28, 46, 0.95);
    border: 2px solid var(--starfleet-blue);
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow:
        0 0 50px rgba(81, 71, 155, 0.4),
        inset 0 0 30px rgba(81, 71, 155, 0.1);
    backdrop-filter: blur(10px);
    position: relative;
    overflow: hidden;
}

body.login #loginform::before,
body.login #registerform::before,
body.login #lostpasswordform::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg,
            var(--starfleet-blue) 0%,
            var(--starfleet-gold) 25%,
            var(--starfleet-green) 50%,
            var(--starfleet-gold) 75%,
            var(--starfleet-blue) 100%);
    animation: topBarSlide 3s linear infinite;
}

@keyframes topBarSlide {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

body.login label {
    color: var(--starfleet-gold);
    font-family: var(--font-display);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    display: block;
}

body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"] {
    background: rgba(10, 14, 27, 0.8);
    border: 2px solid rgba(81, 71, 155, 0.5);
    border-radius: 10px;
    color: var(--sf-text);
    font-family: var(--font-mono);
    font-size: 1rem;
    padding: 0.75rem 1rem;
    width: 100%;
    transition: all 0.3s ease;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.3);
}

body.login input[type="text"]:focus,
body.login input[type="password"]:focus,
body.login input[type="email"]:focus {
    outline: none;
    border-color: var(--starfleet-gold);
    background: rgba(10, 14, 27, 0.95);
    box-shadow:
        0 0 20px rgba(210, 184, 135, 0.3),
        inset 0 2px 5px rgba(0, 0, 0, 0.3);
}

body.login .forgetmenot {
    margin-top: 1rem;
    float: none;
    display: flex;
    align-items: center;
    margin-bottom: 18px !important;
}

body.login .forgetmenot label {
    color: var(--sf-text);
    font-family: var(--font-sans);
    font-size: 0.9rem;
    text-transform: none;
    letter-spacing: normal;
}

body.login input[type="checkbox"] {
    width: 20px;
    height: 20px;
    background: rgba(10, 14, 27, 0.8);
    border: 2px solid var(--starfleet-blue);
    border-radius: 5px;
    position: relative;
    appearance: none;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-right: 0.5rem;
    vertical-align: middle;
}

body.login input[type="checkbox"]:checked {
    background: var(--starfleet-green);
    border-color: var(--starfleet-green);
}

body.login input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 14px;
    font-weight: bold;
}

body.login #wp-submit,
body.login .button,
body.login .button-primary {
    background: linear-gradient(135deg, var(--starfleet-blue) 0%, var(--starfleet-blue) 100%);
    border: 2px solid var(--starfleet-blue);
    border-radius: 50px;
    color: white;
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: 0.75rem 2rem;
    width: 100%;
    margin-top: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow:
        0 5px 15px rgba(81, 71, 155, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
}

body.login #wp-submit::before,
body.login .button::before,
body.login .button-primary::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: radial-gradient(circle, rgba(210, 184, 135, 0.5) 0%, transparent 70%);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

body.login #wp-submit:hover,
body.login .button:hover,
body.login .button-primary:hover {
    background: linear-gradient(135deg, var(--starfleet-gold) 0%, var(--starfleet-gold) 100%);
    border-color: var(--starfleet-gold);
    transform: translateY(-2px);
    box-shadow:
        0 10px 25px rgba(210, 184, 135, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body.login #wp-submit:hover::before,
body.login .button:hover::before,
body.login .button-primary:hover::before {
    width: 300px;
    height: 300px;
}

body.login #nav,
body.login #backtoblog {
    text-align: center;
    padding: 1.5rem 0 0;
}

body.login #nav a,
body.login #backtoblog a {
    color: var(--starfleet-gold);
    font-family: var(--font-sans);
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
    padding: 0.25rem 0;
}

body.login #nav a::after,
body.login #backtoblog a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--starfleet-gold) 0%, var(--starfleet-green) 100%);
    transition: width 0.3s ease;
}

body.login #nav a:hover,
body.login #backtoblog a:hover {
    color: var(--starfleet-green);
}

body.login #nav a:hover::after,
body.login #backtoblog a:hover::after {
    width: 100%;
}

body.login .message,
body.login .notice,
body.login #login_error {
    background: rgba(20, 28, 46, 0.95);
    border-left: 5px solid var(--starfleet-green);
    border-radius: 10px;
    color: var(--sf-text);
    margin: 0 0 1.5rem 0;
    padding: 1rem 1.5rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

body.login #login_error {
    border-left-color: var(--starfleet-red);
    background: rgba(181, 17, 0, 0.1);
}

body.login .notice {
    border-left-color: var(--starfleet-yellow);
    background: rgba(187, 159, 0, 0.1);
}

/* Starfield Animation for Login Page */
body.login::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(2px 2px at 20% 30%, white, transparent),
        radial-gradient(2px 2px at 60% 70%, white, transparent),
        radial-gradient(1px 1px at 50% 50%, white, transparent),
        radial-gradient(1px 1px at 80% 20%, white, transparent),
        radial-gradient(2px 2px at 90% 60%, white, transparent);
    background-size: 200% 200%;
    animation: starfieldMove 100s linear infinite;
    opacity: 0.3;
    pointer-events: none;
}

@keyframes starfieldMove {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(-50%, -50%);
    }
}

/* LCARS Corner Elements for Login Form */
body.login #loginform::after,
body.login #registerform::after,
body.login #lostpasswordform::after {
    content: '';
    position: absolute;
    width: 50px;
    height: 50px;
    border: 3px solid var(--starfleet-gold);
    opacity: 0.5;
}

body.login #loginform::after {
    bottom: -2px;
    right: -2px;
    border-top: none;
    border-left: none;
    border-radius: 0 0 20px 0;
}

/* Responsive Design for Login */
@media (max-width: 480px) {
    body.login #login {
        width: 95%;
        padding: 5% 2.5%;
    }

    body.login h1 a {
        font-size: 1.8rem;
    }

    body.login #loginform,
    body.login #registerform,
    body.login #lostpasswordform {
        padding: 1.5rem;
    }
}

/* Additional 404 Responsive Styles */
@media (max-width: 768px) {
    .lcars-error-page {
        padding: 1rem;
    }

    .error-panel {
        padding: 2rem 1.5rem;
    }

    .error-code {
        font-size: 1.5rem;
    }

    .action-buttons {
        flex-direction: column;
    }

    .action-buttons .lcars-button {
        width: 100%;
    }

    .warp-core-loader {
        transform: scale(0.7);
    }
}

/* ========================================
   FOOTER LOGO STYLES - December 2024
   ======================================== */
.footer-logo-section {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(155, 155, 153, 0.2);
}

.footer-logo {
    filter: drop-shadow(0 0 20px rgba(74, 95, 217, 0.3));
    transition: all 0.4s var(--ease-out);
    animation: logoGlow 4s ease-in-out infinite;
}

.footer-logo:hover {
    transform: scale(1.05) rotateZ(2deg);
    filter: drop-shadow(0 0 30px rgba(0, 229, 255, 0.5)) brightness(1.1);
}

@keyframes logoGlow {

    0%,
    100% {
        filter: drop-shadow(0 0 20px rgba(74, 95, 217, 0.3)) brightness(1);
    }

    50% {
        filter: drop-shadow(0 0 25px rgba(74, 95, 217, 0.5)) brightness(1.05);
    }
}

.footer-org-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.footer-org-info .org-name {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--sf-text);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.footer-org-info .org-tagline {
    font-size: 0.875rem;
    color: var(--sf-text-dim);
    font-style: italic;
}

/* Responsive adjustments for footer logo */
@media (max-width: 768px) {
    .footer-logo-section {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }

    .footer-logo {
        width: 60px;
        height: 60px;
    }

    .footer-org-info .org-name {
        font-size: 1rem;
    }

    .footer-org-info .org-tagline {
        font-size: 0.75rem;
    }
}

/* ========================================
   COLLEGES & STAFF SECTIONS - Campus Pages
   Added: 2025-01-11
   ======================================== */

/* Colleges Section */
.colleges-section {
    margin: 60px 0;
}

.colleges-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.college-card {
    background: linear-gradient(135deg, rgba(81, 71, 155, 0.05) 0%, rgba(81, 71, 155, 0.02) 100%);
    border: 1px solid rgba(81, 71, 155, 0.2);
    border-radius: 12px;
    padding: 25px;
    transition: all 0.3s ease;
}

.college-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(81, 71, 155, 0.15);
    border-color: var(--starfleet-blue);
}

.college-name {
    color: var(--starfleet-blue);
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.college-head {
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(81, 71, 155, 0.1);
}

.college-head .label {
    font-weight: 600;
    color: var(--starfleet-gold);
}

.college-description {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555;
}

/* Staff Section */
.staff-section {
    margin: 60px 0;
}

.staff-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 25px;
    margin-top: 30px;
}

.staff-card {
    border-radius: 10px;
    padding: 20px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(81, 71, 155, 0.1) 0%, rgba(81, 71, 155, 0.05) 100%);
    border-color: rgba(81, 71, 155, 0.3);
    color: #b0b0b0;
}

.staff-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--starfleet-blue), var(--starfleet-gold));
    color: #b0b0b0;
}

.staff-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border-color: var(--starfleet-blue);
}

.staff-header {
    margin-bottom: 15px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e5e5;
}

.staff-name {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 5px 0;
    color: var(--lcars-blue) !important;
}

.staff-position {
    display: inline-block;
    font-size: 0.9rem;
    color: var(--starfleet-blue);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.staff-department {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 12px;
}

.staff-department .icon {
    color: var(--starfleet-gold);
}

.staff-email {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    margin-bottom: 12px;
}

.staff-email .icon {
    color: var(--starfleet-blue);
    flex-shrink: 0;
}

.staff-email-link {
    color: var(--starfleet-blue);
    text-decoration: none;
    transition: all 0.2s ease;
    word-break: break-word;
}

.staff-email-link:hover {
    color: var(--starfleet-gold);
    text-decoration: underline;
}

.staff-bio {
    font-size: 0.9rem;
    line-height: 1.6;
    color: #555;
    margin-top: 10px;
}

/* ========================================
   STAFF CONTACTS WIDGET STYLES
   ======================================== */
.staff-contacts-widget {
    --primary-color: #51479B;
    --accent-color: #D2B887;
    --success-color: #117733;
    --card-bg: rgba(20, 28, 46, 0.95);
    --card-bg-hover: rgba(30, 40, 60, 0.98);
    --border-color: rgba(81, 71, 155, 0.3);
    --text-primary: #E8EAF0;
    --text-secondary: #94A3B8;
    --text-muted: #64748B;
    --bg-dark: #0A0E1B;
    padding: 40px 0;
    background: linear-gradient(180deg, rgba(10, 14, 27, 0.4) 0%, transparent 100%);
    position: relative;
}

/* Header Section */
.staff-contacts-widget .contacts-header {
    text-align: center;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 3px solid var(--primary-color);
    position: relative;
}

.staff-contacts-widget .contacts-header::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background: var(--accent-color);
}

.staff-contacts-widget .contacts-title {
    font-size: 2.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 3px;
    text-shadow: 0 0 30px rgba(81, 71, 155, 0.5);
}

.staff-contacts-widget .contacts-subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin: 0 0 20px 0;
    line-height: 1.6;
    opacity: 0.9;
}

.staff-contacts-widget .contacts-stats {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-top: 20px;
}

.staff-contacts-widget .stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.staff-contacts-widget .stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-color);
}

.staff-contacts-widget .stat-label {
    font-size: 0.9rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
}

.staff-contacts-widget .stat-divider {
    color: var(--border-color);
    font-size: 1.5rem;
}

/* Controls Section */
.staff-contacts-widget .contacts-controls {
    margin-bottom: 30px;
}

.staff-contacts-widget .search-wrapper {
    margin-bottom: 25px;
}

.staff-contacts-widget .search-container {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}

.staff-contacts-widget .search-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    pointer-events: none;
}

.staff-contacts-widget .search-input {
    width: 100%;
    padding: 15px 20px 15px 50px;
    font-size: 1rem;
    border: 2px solid var(--border-color);
    border-radius: 50px;
    background: rgba(20, 28, 46, 0.8);
    backdrop-filter: blur(10px);
    color: var(--text-primary);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.staff-contacts-widget .search-input::placeholder {
    color: var(--text-muted);
    opacity: 0.7;
}

.staff-contacts-widget .search-input:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 20px rgba(210, 184, 135, 0.3), 0 4px 15px rgba(0, 0, 0, 0.4);
    background: rgba(25, 35, 55, 0.9);
}

.staff-contacts-widget .search-indicator {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--success-color);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.staff-contacts-widget .search-indicator.active {
    opacity: 1;
    animation: pulse 1s infinite;
}

@keyframes pulse {

    0%,
    100% {
        transform: translateY(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateY(-50%) scale(1.2);
        opacity: 0.7;
    }
}

/* Filter Buttons */
.staff-contacts-widget .filter-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.staff-contacts-widget .filter-btn {
    padding: 10px 20px;
    background: rgba(20, 28, 46, 0.7);
    border: 2px solid var(--border-color);
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    color: var(--text-secondary);
    backdrop-filter: blur(5px);
    position: relative;
    overflow: hidden;
}

.staff-contacts-widget .filter-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(210, 184, 135, 0.2), transparent);
    transition: left 0.5s ease;
}

.staff-contacts-widget .filter-btn:hover::before {
    left: 100%;
}

.staff-contacts-widget .filter-btn:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3), 0 0 15px rgba(210, 184, 135, 0.2);
    color: var(--text-primary);
}

.staff-contacts-widget .filter-btn.active {
    background: linear-gradient(135deg, var(--primary-color), rgba(81, 71, 155, 0.7));
    color: white;
    border-color: var(--accent-color);
    box-shadow: 0 4px 15px rgba(81, 71, 155, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.staff-contacts-widget .btn-count {
    background: rgba(0, 0, 0, 0.1);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.85rem;
    font-weight: 600;
}

.staff-contacts-widget .filter-btn.active .btn-count {
    background: rgba(255, 255, 255, 0.2);
}

/* Results Section */
.staff-contacts-widget .results-info {
    text-align: center;
    margin-bottom: 20px;
    color: var(--text-secondary);
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.staff-contacts-widget .results-count strong {
    color: var(--primary-color);
}

/* Contacts Grid */
.staff-contacts-widget .contacts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

/* Contact Card */
.staff-contacts-widget .contact-card {
    background: var(--card-bg);
    border: 2px solid var(--border-color);
    border-radius: 20px 0 20px 0;
    padding: 20px;
    position: relative;
    transition: all 0.3s ease;
    animation: fadeInUp 0.5s ease;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    /*overflow: hidden;*/
}

.staff-contacts-widget .contact-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, var(--accent-color), var(--primary-color));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.staff-contacts-widget .contact-card:hover::before {
    opacity: 1;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.staff-contacts-widget .contact-card:hover {
    border-color: var(--accent-color);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4), 0 0 20px rgba(210, 184, 135, 0.15);
    transform: translateY(-3px);
    background: var(--card-bg-hover);
}

.staff-contacts-widget .contact-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(81, 71, 155, 0.2);
}

.staff-contacts-widget .contact-badge {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 700;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(81, 71, 155, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    position: relative;
}

.staff-contacts-widget .contact-badge::after {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-color), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
    top: 23px;
    height: 56px;
}

.staff-contacts-widget .contact-card:hover .contact-badge::after {
    opacity: 0.6;
    animation: pulse 2s infinite;
}

.staff-contacts-widget .contact-info {
    flex: 1;
}

.staff-contacts-widget .contact-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 5px 0;
}

.staff-contacts-widget .contact-position {
    font-size: 0.9rem;
    color: var(--accent-color);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.staff-contacts-widget .contact-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
}

.staff-contacts-widget .detail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.staff-contacts-widget .detail-icon {
    color: var(--accent-color);
    flex-shrink: 0;
}

.staff-contacts-widget .contact-email {
    color: var(--primary-color);
    text-decoration: none;
    transition: all 0.2s ease;
    position: relative;
}

.staff-contacts-widget .contact-email::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--accent-color);
    transition: width 0.3s ease;
}

.staff-contacts-widget .contact-email:hover {
    color: var(--accent-color);
    text-shadow: 0 0 5px rgba(210, 184, 135, 0.5);
}

.staff-contacts-widget .contact-email:hover::after {
    width: 100%;
}

.staff-contacts-widget .contact-category {
    position: absolute;
    top: -10px;
    right: 0px;
}

.staff-contacts-widget .category-badge {
    background: linear-gradient(135deg, var(--accent-color), rgba(210, 184, 135, 0.7));
    color: rgba(10, 14, 27, 0.9);
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Load More Button */
.staff-contacts-widget .pagination-wrapper {
    text-align: center;
    margin-top: 30px;
}

.staff-contacts-widget .load-more-btn {
    background: linear-gradient(135deg, var(--primary-color), rgba(81, 71, 155, 0.8));
    color: white;
    border: 2px solid var(--border-color);
    padding: 12px 30px;
    border-radius: 30px 0 30px 0;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    position: relative;
    overflow: hidden;
}

.staff-contacts-widget .load-more-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(210, 184, 135, 0.3), transparent);
    transition: left 0.5s ease;
}

.staff-contacts-widget .load-more-btn:hover {
    background: linear-gradient(135deg, var(--accent-color), rgba(210, 184, 135, 0.8));
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 20px rgba(210, 184, 135, 0.3);
    border-color: var(--accent-color);
}

.staff-contacts-widget .load-more-btn:hover::before {
    left: 100%;
}

/* No Results */
.staff-contacts-widget .no-results {
    text-align: center;
    padding: 60px 20px;
    color: #999;
}

.staff-contacts-widget .no-results-icon {
    color: #ddd;
    margin-bottom: 20px;
}

.staff-contacts-widget .no-results h3 {
    font-size: 1.5rem;
    color: var(--text-secondary);
    margin: 0 0 10px 0;
}

.staff-contacts-widget .no-results p {
    color: var(--text-muted);
}

/* Additional Visual Effects */
.staff-contacts-widget::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent-color), var(--primary-color), var(--accent-color), transparent);
    animation: scan 3s linear infinite;
}

@keyframes scan {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

/* Responsive adjustments for dark theme */
@media (max-width: 768px) {
    .staff-contacts-widget .contacts-grid {
        grid-template-columns: 1fr;
    }

    .staff-contacts-widget .filter-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .staff-contacts-widget .filter-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .colleges-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .staff-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .college-card,
    .staff-card {
        margin-bottom: 0;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    .college-card {
        background: linear-gradient(135deg, rgba(81, 71, 155, 0.1) 0%, rgba(81, 71, 155, 0.05) 100%);
        border-color: rgba(81, 71, 155, 0.3);
    }

    .staff-card {
        background: #1a1a1a;
        border-color: rgba(81, 71, 155, 0.3);
    }

    .college-description,
    .staff-bio,
    .staff-department {
        color: #b0b0b0;
    }

    .staff-name {
        color: #e0e0e0;
    }

    .staff-header {
        border-bottom-color: #333;
    }
}

/* =========================================
   ARCHIVE PAGE STYLES - LCARS DESIGN
   ========================================= */

/* Archive Container */
.starfleet-archive-container {
    min-height: 100vh;
    padding: var(--space-xl) 0;
    background: var(--sf-bg);
    position: relative;
}

/* LCARS Frame */
.lcars-frame--archive {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-lg);
    position: relative;
}

/* LCARS Top Bar */
.lcars-top-bar {
    display: flex;
    align-items: stretch;
    height: 60px;
    margin-bottom: var(--space-xl);
    position: relative;
}

.lcars-elbow--top-left {
    width: 150px;
    height: 100%;
    background: var(--lcars-gold);
    border-radius: 0 0 0 30px;
    position: relative;
}

.lcars-elbow--top-left::after {
    content: '';
    position: absolute;
    top: 0;
    right: -30px;
    width: 30px;
    height: 30px;
    background: var(--lcars-gold);
}

.lcars-bar--horizontal {
    flex: 1;
    background: linear-gradient(90deg, var(--lcars-gold) 0%, var(--lcars-blue) 100%);
    display: flex;
    align-items: center;
    padding: 0 var(--space-xl);
    position: relative;
    overflow: hidden;
}

.lcars-bar--horizontal::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.2);
    animation: scan-line-horizontal 4s linear infinite;
}

@keyframes scan-line-horizontal {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

.lcars-label {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--sf-bg);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

.lcars-end-cap--right {
    width: 80px;
    height: 100%;
    background: var(--lcars-blue);
    border-radius: 0 30px 30px 0;
}

/* Main Content Area */
.archive-main-content {
    display: grid;
    grid-template-columns: 200px 1fr 250px;
    gap: var(--space-xl);
    margin-bottom: var(--space-xl);
}

/* Left Sidebar */
.lcars-sidebar--left {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.lcars-block {
    background: var(--lcars-silver);
    padding: var(--space-md) var(--space-lg);
    border-radius: 20px;
    color: var(--sf-bg);
    font-family: var(--font-display);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.9rem;
    transition: all 0.3s var(--ease-out);
    position: relative;
    overflow: hidden;
}

.lcars-block--tall {
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.lcars-block--button {
    cursor: pointer;
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lcars-block--button:hover {
    transform: translateX(5px);
    filter: brightness(1.2);
}

.lcars-bg-blue {
    background: var(--lcars-blue);
}

.lcars-bg-gold {
    background: var(--lcars-gold);
}

.lcars-bg-teal {
    background: var(--lcars-teal);
}

.lcars-bg-silver {
    background: var(--lcars-silver);
}

.lcars-bg-red {
    background: var(--lcars-red);
}

.lcars-badge {
    background: rgba(0, 0, 0, 0.3);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.8rem;
}

.pulse {
    animation: pulse-glow 2s ease-in-out infinite;
}

@keyframes pulse-glow {

    0%,
    100% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
        text-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
    }
}

/* Archive Primary Content */
.archive-primary-content {
    background: rgba(20, 28, 46, 0.3);
    border-radius: 20px;
    padding: var(--space-xl);
    border: 1px solid rgba(74, 95, 217, 0.2);
}

/* Archive Header Panel */
.archive-header-panel {
    margin-bottom: var(--space-2xl);
}

.lcars-header-frame {
    background: linear-gradient(135deg, rgba(74, 95, 217, 0.1) 0%, transparent 100%);
    border-left: 4px solid var(--lcars-gold);
    padding: var(--space-xl);
    border-radius: 0 20px 20px 0;
    position: relative;
}

.archive-title {
    font-family: var(--font-display);
    font-size: 2.5rem;
    color: var(--sf-text);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-md);
    text-shadow: 0 0 30px rgba(74, 95, 217, 0.5);
}

.archive-description {
    color: var(--sf-text-dim);
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: var(--space-lg);
}

.archive-stats {
    display: flex;
    gap: var(--space-2xl);
    margin-top: var(--space-lg);
}

.stat-item {
    display: flex;
    flex-direction: column;
}

.stat-label {
    font-size: 0.8rem;
    color: var(--sf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.stat-value {
    font-family: var(--font-mono);
    font-size: 1.4rem;
    color: var(--sf-accent);
    font-weight: 700;
}

.lcars-text-green {
    color: var(--lcars-green);
}

/* Archive Grid */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: var(--space-xl);
    margin-bottom: var(--space-2xl);
}

/* Archive Card */
.archive-card {
    background: rgba(20, 28, 46, 0.6);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
    position: relative;
}

.archive-card:hover {
    transform: translateY(-5px);
    border-color: var(--sf-accent);
    box-shadow: 0 10px 40px rgba(0, 229, 255, 0.2);
}

.archive-card-frame {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.card-header-bar {
    background: linear-gradient(90deg, var(--lcars-blue) 0%, var(--lcars-silver) 100%);
    padding: var(--space-sm) var(--space-md);
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.card-status-light {
    width: 8px;
    height: 8px;
    background: var(--sf-accent);
    border-radius: 50%;
    animation: blink 2s infinite;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

.card-id {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--sf-bg);
    font-weight: 700;
    text-transform: uppercase;
}

/* Card Thumbnail */
.card-thumbnail {
    position: relative;
    overflow: hidden;
    height: 200px;
}

.card-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s var(--ease-out);
}

.thumbnail-link:hover img {
    transform: scale(1.1);
}

.thumbnail-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(74, 95, 217, 0.8) 100%);
    opacity: 0;
    transition: opacity 0.3s var(--ease-out);
    display: flex;
    align-items: center;
    justify-content: center;
}

.thumbnail-link:hover .thumbnail-overlay {
    opacity: 1;
}

.scan-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--sf-accent);
    animation: scan-vertical 2s linear infinite;
}

@keyframes scan-vertical {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(200px);
    }
}

.access-label {
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 700;
    text-shadow: 0 0 20px rgba(0, 229, 255, 0.8);
}

/* Card Content */
.card-content {
    padding: var(--space-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.card-title {
    font-family: var(--font-display);
    font-size: 1.3rem;
    margin-bottom: var(--space-sm);
    line-height: 1.3;
}

.card-title a {
    color: var(--sf-text);
    text-decoration: none;
    transition: color 0.3s var(--ease-out);
}

.card-title a:hover {
    color: var(--sf-accent);
}

.card-meta {
    display: flex;
    gap: var(--space-lg);
    margin-bottom: var(--space-md);
    font-size: 0.85rem;
    color: var(--sf-text-muted);
}

.meta-item {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.meta-icon {
    color: var(--lcars-gold);
    font-style: normal;
}

.card-excerpt {
    color: var(--sf-text-dim);
    line-height: 1.6;
    margin-bottom: var(--space-lg);
    flex: 1;
}

/* Card Footer */
.card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
    margin-top: auto;
}

.lcars-button-modern {
    display: inline-flex;
    align-items: center;
    padding: var(--space-sm) var(--space-lg);
    background: linear-gradient(90deg, var(--lcars-blue) 0%, var(--lcars-teal) 100%);
    border-radius: 20px 5px 5px 20px;
    text-decoration: none;
    color: white;
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    position: relative;
    overflow: hidden;
    transition: all 0.3s var(--ease-out);
}

.lcars-button-modern:hover {
    transform: translateX(5px);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.5);
}

.button-edge {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--sf-accent);
    animation: pulse-edge 2s infinite;
}

@keyframes pulse-edge {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

.button-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(0, 229, 255, 0.3) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s;
}

.lcars-button-modern:hover .button-glow {
    opacity: 1;
}

.card-categories {
    display: flex;
    gap: var(--space-sm);
}

.category-badge {
    padding: var(--space-xs) var(--space-sm);
    background: rgba(74, 95, 217, 0.2);
    border: 1px solid rgba(74, 95, 217, 0.4);
    border-radius: 10px;
    font-size: 0.75rem;
    color: var(--sf-primary-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Pagination */
.archive-pagination {
    margin-top: var(--space-2xl);
}

.lcars-pagination-frame {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--space-lg);
    background: rgba(20, 28, 46, 0.4);
    border-radius: 30px;
    border: 1px solid rgba(74, 95, 217, 0.2);
}

.pagination-controls {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.pagination-controls a,
.pagination-controls span.current {
    padding: var(--space-sm) var(--space-md);
    background: var(--lcars-silver);
    color: var(--sf-bg);
    text-decoration: none;
    font-family: var(--font-mono);
    font-weight: 600;
    border-radius: 10px;
    transition: all 0.3s var(--ease-out);
}

.pagination-controls span.current {
    background: var(--lcars-gold);
}

.pagination-controls a:hover {
    background: var(--lcars-blue);
    transform: translateY(-2px);
}

.nav-button {
    padding: var(--space-sm) var(--space-lg) !important;
    background: linear-gradient(90deg, var(--lcars-gold) 0%, var(--lcars-silver) 100%) !important;
    border-radius: 20px !important;
    font-family: var(--font-display) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

/* Right Sidebar */
.lcars-sidebar--right {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.lcars-info-panel,
.lcars-tags-panel {
    background: rgba(20, 28, 46, 0.4);
    border: 1px solid rgba(74, 95, 217, 0.2);
    border-radius: 15px;
    padding: var(--space-lg);
}

.info-header,
.tags-header {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid rgba(74, 95, 217, 0.3);
}

.info-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.info-label {
    font-size: 0.85rem;
    color: var(--sf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.info-value {
    font-family: var(--font-mono);
    color: var(--sf-accent);
    font-weight: 600;
}

.tags-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.tag-chip {
    padding: var(--space-xs) var(--space-sm);
    background: rgba(74, 95, 217, 0.1);
    border: 1px solid rgba(74, 95, 217, 0.3);
    border-radius: 20px;
    color: var(--sf-text-dim);
    text-decoration: none;
    font-size: 0.8rem;
    transition: all 0.3s var(--ease-out);
}

.tag-chip:hover {
    background: rgba(74, 95, 217, 0.3);
    color: var(--sf-text);
    border-color: var(--sf-accent);
}

/* No Results Panel */
.no-results-panel {
    padding: var(--space-2xl);
}

.lcars-alert-frame {
    background: rgba(181, 17, 0, 0.1);
    border: 2px solid var(--lcars-red);
    border-radius: 20px;
    padding: var(--space-2xl);
    position: relative;
    overflow: hidden;
}

.lcars-alert-frame::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--lcars-red);
    animation: alert-pulse 1s ease-in-out infinite;
}

@keyframes alert-pulse {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

.alert-header {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
}

.alert-icon {
    font-size: 2rem;
    color: var(--lcars-red);
    animation: blink 1s infinite;
}

.alert-title {
    font-family: var(--font-display);
    font-size: 1.8rem;
    color: var(--lcars-red);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.alert-message {
    color: var(--sf-text-dim);
    line-height: 1.6;
    margin-bottom: var(--space-xl);
}

.search-panel {
    background: rgba(20, 28, 46, 0.4);
    border-radius: 15px;
    padding: var(--space-lg);
    margin-bottom: var(--space-xl);
}

.search-label {
    font-family: var(--font-display);
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-md);
}

.alert-suggestions h3 {
    font-family: var(--font-display);
    color: var(--lcars-gold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-md);
}

.suggestions-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.suggestions-list li a {
    color: var(--sf-primary-light);
    text-decoration: none;
    transition: color 0.3s var(--ease-out);
}

.suggestions-list li a:hover {
    color: var(--sf-accent);
}

.alert-footer {
    margin-top: var(--space-xl);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(181, 17, 0, 0.3);
    text-align: center;
}

.status-code {
    font-family: var(--font-mono);
    color: var(--lcars-red);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* LCARS Bottom Bar */
.lcars-bottom-bar {
    display: flex;
    align-items: stretch;
    height: 60px;
    margin-top: var(--space-xl);
}

.lcars-elbow--bottom-left {
    width: 150px;
    height: 100%;
    background: var(--lcars-teal);
    border-radius: 30px 0 0 0;
    position: relative;
}

.lcars-elbow--bottom-left::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: -30px;
    width: 30px;
    height: 30px;
    background: var(--lcars-teal);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .archive-main-content {
        grid-template-columns: 180px 1fr;
    }

    .lcars-sidebar--right {
        display: none;
    }
}

@media (max-width: 768px) {
    .archive-main-content {
        grid-template-columns: 1fr;
    }

    .lcars-sidebar--left {
        display: none;
    }

    .archive-grid {
        grid-template-columns: 1fr;
    }

    .lcars-top-bar,
    .lcars-bottom-bar {
        height: 40px;
    }

    .archive-title {
        font-size: 1.8rem;
    }

    .archive-stats {
        flex-direction: column;
        gap: var(--space-md);
    }
}

.award-main-content .quick-info-bar {
    margin-bottom: 24px;
}

.elementor-widget-starfleet-campus {
    margin-top: 64px;
}

.error-panel .lcars-panel__status {
    margin-top: 28px;
}

.lcars-button.view-more {
    border-radius: 0 !important;
    padding: 14px !important;
}

.lcars-button.view-more:hover {
    color: #fff;
}

/* ========================================
   IT SERVICES - OVERALL HEALTH INDICATOR IMPROVEMENTS
   Novembre 2024 - Position et marges améliorées
   ======================================== */

/* Amélioration du header de la board */
.starfleet-it-services .board-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 20px 25px;
    background: linear-gradient(135deg, rgba(81, 71, 155, 0.1) 0%, transparent 70%);
    border-bottom: 3px solid var(--starfleet-blue);
    border-radius: 10px 10px 0 0;
}

.starfleet-it-services .board-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--starfleet-gold);
    letter-spacing: 0.05em;
    margin: 0;
    text-transform: uppercase;
}

/* Overall Status Container */
.starfleet-it-services .overall-status {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 20px;
    background: rgba(0, 0, 0, 0.6);
    border: 2px solid var(--starfleet-silver);
    border-radius: 25px;
    transition: all 0.3s ease;
}

.starfleet-it-services .overall-status:hover {
    background: rgba(0, 0, 0, 0.8);
    border-color: var(--starfleet-gold);
    transform: translateX(-5px);
}

/* Status Label */
.starfleet-it-services .status-label {
    font-size: 1rem;
    font-weight: 600;
    color: var(--starfleet-silver);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

/* Health Indicator Badge */
.starfleet-it-services #overall-health {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    min-width: 200px;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 20px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

/* Animated background effect */
.starfleet-it-services #overall-health::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s ease;
}

.starfleet-it-services #overall-health:hover::before {
    left: 100%;
}

/* Health Status Colors with improved visibility */
.starfleet-it-services #overall-health.healthy {
    background: linear-gradient(135deg, #00ff00 0%, #00cc00 100%);
    color: #000000;
    box-shadow:
        0 0 20px rgba(0, 255, 0, 0.5),
        inset 0 2px 4px rgba(255, 255, 255, 0.3);
    animation: pulse-healthy 2s ease-in-out infinite;
}

.starfleet-it-services #overall-health.warning {
    background: linear-gradient(135deg, #ffaa00 0%, #ff8800 100%);
    color: #000000;
    box-shadow:
        0 0 20px rgba(255, 170, 0, 0.5),
        inset 0 2px 4px rgba(255, 255, 255, 0.3);
    animation: pulse-warning 1.5s ease-in-out infinite;
}

.starfleet-it-services #overall-health.critical {
    background: linear-gradient(135deg, #ff3333 0%, #cc0000 100%);
    color: #ffffff;
    box-shadow:
        0 0 20px rgba(255, 0, 0, 0.5),
        inset 0 2px 4px rgba(255, 255, 255, 0.2);
    animation: pulse-critical 1s ease-in-out infinite;
}

/* Pulse animations for different states */
@keyframes pulse-healthy {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 20px rgba(0, 255, 0, 0.5);
    }
    50% {
        transform: scale(1.02);
        box-shadow: 0 0 30px rgba(0, 255, 0, 0.7);
    }
}

@keyframes pulse-warning {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 20px rgba(255, 170, 0, 0.5);
    }
    50% {
        transform: scale(1.03);
        box-shadow: 0 0 35px rgba(255, 170, 0, 0.8);
    }
}

@keyframes pulse-critical {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 20px rgba(255, 0, 0, 0.5);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 40px rgba(255, 0, 0, 0.9);
    }
}

/* Status Board Container Improvements */
.starfleet-it-services .status-board {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.95) 0%, rgba(20, 20, 40, 0.95) 100%);
    border: 3px solid var(--starfleet-blue);
    border-radius: 15px;
    padding: 0;
    box-shadow:
        0 10px 40px rgba(0, 0, 0, 0.7),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.starfleet-it-services .services-container {
    padding: 25px;
    max-height: 800px;
    overflow-y: auto;
}

/* Custom scrollbar for services container */
.starfleet-it-services .services-container::-webkit-scrollbar {
    width: 8px;
}

.starfleet-it-services .services-container::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 4px;
}

.starfleet-it-services .services-container::-webkit-scrollbar-thumb {
    background: var(--starfleet-blue);
    border-radius: 4px;
}

.starfleet-it-services .services-container::-webkit-scrollbar-thumb:hover {
    background: var(--starfleet-gold);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .starfleet-it-services .board-header {
        flex-direction: column;
        gap: 15px;
        text-align: center;
        padding: 15px;
    }

    .starfleet-it-services .overall-status {
        width: 100%;
        justify-content: center;
    }

    .starfleet-it-services #overall-health {
        min-width: auto;
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .starfleet-it-services .board-title {
        font-size: 1.4rem;
    }
}