/* ====================================================================
   41 PENTRU ROMÂNIA — PREMIUM DESIGN ENHANCEMENTS
   Layered on top of styles.css — all existing content preserved
   ==================================================================== */

/* ===== ENHANCED FONT IMPORTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600&family=Raleway:wght@300;400;500;600;700;800&family=Cinzel:wght@400;600;700&display=swap');

/* ===== ENHANCED CSS VARIABLES ===== */
:root {
    --ro-blue:   #002B7F;   /* deeper, richer Romanian blue */
    --ro-yellow: #D4A017;   /* warm gold-yellow vs. garish FCD116 */
    --ro-red:    #C8102E;   /* classic deep red */
    --ro-gold:   #B8963E;   /* traditional gold accent */
    --ro-cream:  #f4ecd8;   /* deeper, aged parchment warmth */
    --ro-dark:   #0D1B2A;   /* near-black for text & footer */
    --ro-glass:  rgba(255,255,255,0.12);
    --ro-glass-border: rgba(255,255,255,0.25);
    --ro-glass-shadow: 0 8px 32px rgba(0,0,0,0.3);

    --hero-overlay: linear-gradient(
        135deg,
        rgba(0,43,127,0.75) 0%,
        rgba(200,16,46,0.55) 60%,
        rgba(0,0,0,0.7) 100%
    );

    --section-gap: 5rem;
    --card-radius: 16px;
    --btn-radius: 8px;

    --font-display: 'Cinzel', 'Playfair Display', serif;
    --font-body: 'Raleway', 'Montserrat', sans-serif;

    --transition-smooth: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    --transition-bounce: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    --transition-fast: all 0.2s ease;
}

/* ===== BODY OVERRIDE ===== */
body {
    font-family: var(--font-body) !important;
    background-color: #ede2c5 !important; /* even deeper aged parchment */
    background-image: 
        radial-gradient(ellipse 70% 50% at 20% 30%, rgba(0,43,127,0.04) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 80% 70%, rgba(200,16,46,0.04) 0%, transparent 60%) !important;
    background-attachment: fixed !important;
}

/* Subtle motif watermark across page - BOOSTED VISIBILITY */
body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: url('./photos/romotifs1.png'), url('./photos/romotifs_2.jpg') !important;
    background-size: 1000px, 1200px !important;
    background-repeat: repeat;
    background-position: top left, bottom right;
    opacity: 0.16 !important; /* Boldly visible motifs */
    pointer-events: none;
    z-index: -1;
    filter: sepia(0.3) contrast(1.2) brightness(0.9);
}

/* ===== TYPOGRAPHY OVERRIDES ===== */
h1, h2, h3 {
    font-family: var(--font-display) !important;
    letter-spacing: 0.02em;
}

h4, h5, h6, .nav-link, .btn, label {
    font-family: var(--font-body) !important;
    letter-spacing: 0.03em;
}

/* ===== GLASSMORPHISM HEADER ===== */
.site-header,
.header {
    background: linear-gradient(135deg,
        rgba(0, 43, 127, 0.95) 0%,
        rgba(16, 30, 80, 0.98) 40%,
        rgba(200, 16, 46, 0.85) 100%
    ) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    border-bottom: 3px solid var(--ro-yellow) !important;
    box-shadow: 0 4px 30px rgba(0,0,0,0.4) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 200 !important;
}

.header-top {
    padding: 0.6rem 0;
    position: relative;
    overflow: hidden;
}

.header-top::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212,160,23,0.5), transparent);
}

.header-title {
    font-family: var(--font-display) !important;
    font-size: clamp(1.1rem, 2.5vw, 1.6rem) !important;
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
}

.emblem-logo {
    height: 72px !important;
    filter: drop-shadow(0 0 12px rgba(212,160,23,0.3)) brightness(1.02) contrast(1.02) !important;
    transition: var(--transition-bounce) !important;
    mix-blend-mode: normal !important; 
    background-color: transparent !important;
}

.emblem-logo:hover {
    transform: scale(1.08) rotate(-2deg) !important;
    filter: drop-shadow(0 0 18px rgba(212,160,23,0.7)) !important;
}

/* ===== ENHANCED LANGUAGE SELECTOR ===== */
.language-selector {
    background: rgba(255,255,255,0.12) !important;
    border: 1.5px solid rgba(212,160,23,0.6) !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    padding: 0.4rem 0.8rem !important;
    border-radius: 6px !important;
    cursor: pointer;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    transition: var(--transition-fast) !important;
}

.language-selector:hover {
    background: rgba(212,160,23,0.25) !important;
    border-color: var(--ro-yellow) !important;
}

.language-selector option {
    background: #0D1B2A !important;
    color: #fff !important;
}

/* ===== ENHANCED NAVIGATION ===== */
.main-nav, .nav {
    background: rgba(0, 20, 60, 0.95) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    backdrop-filter: blur(15px) !important;
    border-top: 1px solid rgba(212,160,23,0.2) !important;
    border-bottom: 2px solid var(--ro-yellow) !important;
}

.nav-list {
    gap: 0.2rem !important;
    padding: 0.5rem 1rem !important;
}

.nav-link {
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 0.6rem 1rem !important;
    border-radius: 6px !important;
    color: rgba(255,255,255,0.9) !important;
    transition: var(--transition-smooth) !important;
    position: relative !important;
    overflow: hidden !important;
}

.nav-link::before {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important; left: 50% !important;
    width: 0 !important; height: 2px !important;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow), var(--ro-red)) !important;
    transition: width 0.3s ease, left 0.3s ease !important;
    transform: none !important;
}

.nav-link:hover::before,
.nav-link.active::before {
    width: 80% !important;
    left: 10% !important;
}

.nav-link:hover,
.nav-link.active {
    background: rgba(212,160,23,0.15) !important;
    color: var(--ro-yellow) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
    outline: none !important;
}

/* ===== HERO SECTION — MAIN PAGE ===== */
.hero-section {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--card-radius);
    margin-bottom: 3rem;
    background: var(--hero-overlay),
                url('./photos/hero-mountains.png') center/cover no-repeat !important;
}

.hero-section::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow), var(--ro-red));
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 3rem 2rem;
    max-width: 780px;
}

.hero-content h1 {
    font-family: var(--font-display) !important;
    color: #fff !important;
    font-size: clamp(1.6rem, 4vw, 2.8rem) !important;
    text-shadow: 0 3px 16px rgba(0,0,0,0.7) !important;
    line-height: 1.25 !important;
    margin-bottom: 1.2rem !important;
}

.hero-content p {
    color: rgba(255,255,255,0.92) !important;
    font-size: clamp(0.95rem, 2vw, 1.15rem) !important;
    line-height: 1.7 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
    max-width: 620px;
    margin: 0 auto 1.5rem !important;
}

/* ... existing styles ... */

.hero-map {
    width: 140px !important;
    height: 140px !important;
    object-fit: contain !important;
    filter: brightness(1.05) contrast(1.05) drop-shadow(0 10px 25px rgba(0,0,0,0.4)) !important;
    margin-bottom: 1.5rem !important;
    animation: floatLogo 4s ease-in-out infinite;
    mix-blend-mode: normal !important; 
    opacity: 1 !important;
    background: rgba(255,255,255,0.08) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border: 1.5px solid rgba(255,255,255,0.15) !important;
    padding: 10px !important;
    border-radius: 20px !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-shadow: 
        0 10px 30px rgba(0,0,0,0.3),
        inset 0 0 15px rgba(255,255,255,0.05) !important;
}

@keyframes floatLogo {
    0%, 100% { transform: translateY(0) scale(1); }
    50%       { transform: translateY(-12px) scale(1.02); }
}


/* === PAGE HERO BANNERS (inner pages) === */
[data-page="library"] .page-hero,
[data-page="donate"] .page-hero,
.news-hero-bar {
    position: relative !important;
    min-height: 280px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;
    border-radius: var(--card-radius) !important;
    margin-bottom: 2.5rem !important;
    padding: 3.5rem 2rem !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
}

/* Background Layers for SVG */
.hero-svg-bg,
.news-hero-svg-bg {
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 0;
}

.hero-svg-bg svg,
.news-hero-svg-bg svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Association Emblem Overlay */
.banner-emblem-overlay {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10;
    pointer-events: none;
}

.floating-emblem {
    height: 60px !important;
    width: auto !important;
    max-width: 60px !important;
    object-fit: contain;
    filter: drop-shadow(0 0 15px rgba(212,160,23,0.5));
    animation: emblemFloat 5s ease-in-out infinite;
}

@keyframes emblemFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(3deg); }
}

[data-page="library"] .page-hero::after,
[data-page="donate"] .page-hero::after,
.news-hero-bar::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow), var(--ro-red));
    border-radius: 0 0 var(--card-radius) var(--card-radius);
    z-index: 1;
}

[data-page="library"] .page-hero h1,
[data-page="donate"] .page-hero h1,
.news-hero-bar h1 {
    font-family: var(--font-display) !important;
    color: #ffffff !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    text-shadow: 0 3px 8px rgba(0,0,0,0.9), 0 0 30px rgba(0,0,0,0.5) !important;
    margin-bottom: 0.75rem !important;
    position: relative;
    z-index: 2;
    letter-spacing: 0.02em;
}

[data-page="library"] .page-hero h2,
[data-page="donate"] .page-hero h2 {
    color: #fff !important;
    position: relative;
    z-index: 2;
}

[data-page="library"] .page-hero .page-subtitle,
[data-page="donate"] .page-hero .page-subtitle,
.news-hero-bar .news-hero-text p {
    color: #ffffff !important;
    font-size: 1.1rem !important;
    max-width: 600px !important;
    line-height: 1.6 !important;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 6px rgba(0,0,0,0.9), 0 0 20px rgba(0,0,0,0.4) !important;
    margin-left: auto;
    margin-right: auto;
}

.news-hero-label {
    background: rgba(255,255,255,0.15);
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
    backdrop-filter: blur(5px);
    margin-bottom: 1rem;
    display: inline-block;
    position: relative;
    z-index: 2;
}

/* SPECIFIC HERO OVERRIDES PER PAGE - NO LONGER NEEDED FOR THESE 3 PAGES BUT KEPT FOR OTHERS */
body[data-page="about"] .page-hero {
    background: var(--hero-overlay), url('./photos/atheneum-bucharest.png') center/cover no-repeat !important;
}

body[data-page="events"] .page-hero {
    background: var(--hero-overlay), url('./photos/civic-gathering.png') center/cover no-repeat !important;
}

body[data-page="romanism"] .page-hero {
    background: var(--hero-overlay), url('./photos/romanian-village.png') center/cover no-repeat !important;
}

/* Removed redundant backgrounds for newly SVGed pages */
body[data-page="news"] .news-hero-bar,
body[data-page="library"] .page-hero,
body[data-page="donate"] .page-hero {
    background: none !important;
}

/* ===== LAYOUT ENHANCEMENT ===== */
.page-layout {
    display: grid !important;
    grid-template-columns: 310px 1fr !important; /* Sidebar on LEFT */
    gap: 2.5rem !important; /* Proper spacing */
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 2rem !important; /* Keep it safe for smaller screens */
    box-sizing: border-box !important;
}
.page-layout * {
    box-sizing: border-box !important;
}

@media (max-width: 1100px) {
    .page-layout {
        grid-template-columns: 1fr !important;
        padding: 1.5rem !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .main-content {
        order: 1 !important;
    }
    .sidebar {
        order: 2 !important;
        position: static !important;
    }
}

/* ===== MAIN CONTENT PANEL ===== */
.main-content {
    background: rgba(252, 245, 230, 0.96) !important; /* Deeper warm parchment */
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
    border-radius: var(--card-radius) !important;
    border: 1px solid rgba(212,160,23,0.3) !important;
    box-shadow: 
        0 15px 50px rgba(0,43,127,0.08),
        0 0 0 4px rgba(212,160,23,0.06) !important;
    padding: 2.5rem 2.5rem 2.5rem 3rem !important; /* Balanced padding, slight left shift */
    overflow: hidden !important; /* CRITICAL: prevent right-side clipping */
    min-width: 0 !important; /* CRITICAL: allow grid child to shrink properly */
    position: relative;
    min-height: calc(100vh - 400px);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Enhanced visibility for mission text */
.mission-text p {
    font-size: 1.15rem !important;
    line-height: 1.8 !important;
    color: #1a1a1a !important; /* Extremely high contrast */
    font-weight: 500 !important;
    text-shadow: 0.2px 0.2px 0px rgba(0,0,0,0.1); /* Subtle sharpening */
    margin-bottom: 1.5rem !important;
}


.main-content::after {
    content: '';
    position: absolute;
    top: 10px; left: 10px; right: 10px; bottom: 10px;
    border: 1px solid rgba(212, 160, 23, 0.1);
    pointer-events: none;
    border-radius: calc(var(--card-radius) - 5px);
}

/* ===== SIDEBAR ENHANCEMENTS ===== */
.sidebar {
    background: rgba(253, 251, 247, 0.94) !important;
    border-radius: var(--card-radius) !important;
    border: 2px solid var(--ro-gold, #c5a45d) !important;
    box-shadow: 0 15px 35px rgba(0,43,127,0.12) !important;
    padding: 2rem 1.5rem !important;
    height: fit-content;
    min-height: 600px; /* Fix for 'to short' sidebar */
    position: sticky;
    top: 100px;
    -webkit-backdrop-filter: blur(15px) !important;
    backdrop-filter: blur(15px) !important;
    order: -1;
}

.sidebar::before {
    display: none !important;
}

.donation-widget {
    background: linear-gradient(135deg, rgba(0,43,127,0.06), rgba(200,16,46,0.04));
    border-radius: 12px;
    padding: 1.25rem;
    border: 1px solid rgba(0,43,127,0.12);
    margin-bottom: 1.5rem;
}

.donation-widget h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    border-bottom: 2px solid var(--ro-yellow) !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 0.85rem !important;
    font-size: 1rem !important;
}

.donation-details p {
    font-size: 0.78rem !important;
    font-family: monospace !important;
    letter-spacing: 0.05em !important;
    color: #333 !important;
    margin-bottom: 0.3rem !important;
    background: rgba(0,43,127,0.05);
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
}

.cultural-figure {
    border: 1px solid rgba(0,43,127,0.12) !important;
    border-left: 4px solid var(--ro-blue) !important;
    margin-bottom: 0.75rem !important;
    padding: 0.75rem !important;
    transition: var(--transition-smooth) !important;
    border-radius: 8px !important;
}

.cultural-figure:hover {
    border-left-color: var(--ro-yellow) !important;
    background: rgba(212,160,23,0.06) !important;
    transform: translateX(4px) !important;
}

.cultural-figure h4 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 0.88rem !important;
    margin-bottom: 0.15rem !important;
}

.cultural-figure p {
    font-size: 0.78rem !important;
    color: #666 !important;
    margin: 0 !important;
}

/* ===== PREMIUM BUTTONS ===== */
.btn {
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    font-size: 0.78rem !important;
    border-radius: var(--btn-radius) !important;
    padding: 0.75rem 1.75rem !important;
    transition: var(--transition-bounce) !important;
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0) 100%);
    transform: translateX(-100%) skewX(-15deg);
    transition: transform 0.6s ease;
}

.btn:hover::after {
    transform: translateX(200%) skewX(-15deg);
}

.btn-primary {
    background: linear-gradient(135deg, var(--ro-blue) 0%, #1a3a8f 50%, var(--ro-red) 100%) !important;
    color: #fff !important;
    border: 2px solid transparent !important;
    box-shadow: 0 4px 15px rgba(0,43,127,0.35) !important;
}

.btn-primary:hover {
    background: linear-gradient(135deg, var(--ro-red) 0%, #9c0e24 50%, var(--ro-blue) 100%) !important;
    box-shadow: 0 8px 25px rgba(200,16,46,0.45) !important;
    transform: translateY(-3px) scale(1.03) !important;
    color: #fff !important;
    text-decoration: none !important;
    outline: none !important;
}

.btn-secondary {
    background: transparent !important;
    color: var(--ro-blue) !important;
    border: 2px solid var(--ro-blue) !important;
    box-shadow: 0 2px 8px rgba(0,43,127,0.15) !important;
}

.btn-secondary:hover {
    background: var(--ro-blue) !important;
    color: #fff !important;
    border-color: var(--ro-blue) !important;
    box-shadow: 0 6px 20px rgba(0,43,127,0.4) !important;
    transform: translateY(-2px) scale(1.02) !important;
    text-decoration: none !important;
    outline: none !important;
}

.btn-outline {
    background: transparent !important;
    color: var(--ro-yellow) !important;
    border: 2px solid var(--ro-yellow) !important;
}

.btn-outline:hover {
    background: var(--ro-yellow) !important;
    color: var(--ro-dark) !important;
    transform: translateY(-2px) !important;
}

/* ===== EVENT CARDS ===== */
.event-card {
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(0,43,127,0.1) !important;
    transition: var(--transition-smooth) !important;
    margin-bottom: 2rem !important;
    display: grid !important;
    grid-template-columns: 340px 1fr !important;
}

@media (max-width: 768px) {
    .event-card {
        grid-template-columns: 1fr !important;
    }
}

.event-card:hover {
    box-shadow: 0 12px 40px rgba(0,43,127,0.2) !important;
    transform: translateY(-4px) !important;
}

.event-image {
    overflow: hidden;
    position: relative;
}

.event-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 220px !important;
    object-fit: cover !important;
    transition: transform 0.6s cubic-bezier(0.25,0.8,0.25,1) !important;
}

.event-card:hover .event-image img {
    transform: scale(1.08) !important;
}

.event-content {
    padding: 1.75rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.event-date {
    display: inline-block;
    background: linear-gradient(135deg, var(--ro-blue), var(--ro-red));
    color: #fff !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    margin-bottom: 0.75rem;
    width: fit-content;
}

.event-content h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1.15rem !important;
    margin-bottom: 0.6rem !important;
    line-height: 1.3 !important;
}

.event-details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0.75rem 0;
}

.event-details span {
    font-size: 0.8rem !important;
    color: #666 !important;
    background: rgba(0,43,127,0.06);
    padding: 0.25rem 0.6rem;
    border-radius: 4px;
}

/* ===== EVENTS GRID CARDS (home page) ===== */
.events-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 1.5rem !important;
}

.events-grid .event-card {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
}

.events-grid .event-card img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
}

/* ===== NATIONAL SYMBOLS GRID ===== */
.symbols-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 1.5rem !important;
    margin-top: 1.5rem !important;
}

.symbol-card {
    background: #fff;
    border-radius: var(--card-radius) !important;
    overflow: hidden !important;
    border: 1px solid rgba(212,160,23,0.2) !important;
    box-shadow: 0 3px 12px rgba(0,43,127,0.08) !important;
    transition: var(--transition-smooth) !important;
    text-align: center;
    display: flex !important;
    flex-direction: column !important;
}

.symbol-card:hover {
    box-shadow: 0 10px 30px rgba(0,43,127,0.18) !important;
    transform: translateY(-5px) !important;
    border-color: var(--ro-yellow) !important;
}

.symbol-image {
    width: 100% !important;
    height: 280px !important; /* Fixed to match rolling galleries and avoid clipping */
    object-fit: cover !important;
    display: block !important;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.symbol-card:hover .symbol-image {
    transform: scale(1.02) !important;
    filter: brightness(1.1) !important;
}

.symbol-card .symbol-image:hover {
    object-fit: contain !important; /* Reveal full photo dimensions on direct hover */
    background: #000;
}

.symbol-card h3 {
    font-family: var(--font-display) !important;
    font-size: 0.95rem !important;
    color: var(--ro-blue) !important;
    padding: 0.75rem 1rem 0.3rem !important;
    margin: 0 !important;
}

.symbol-card p {
    font-size: 0.8rem !important;
    color: #666 !important;
    padding: 0 1rem 1.5rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    flex: 1 !important;
}

/* ===== FOUNDER SECTION ===== */
.founder-section {
    background: linear-gradient(135deg, rgba(0,43,127,0.04), rgba(200,16,46,0.03));
    border-radius: var(--card-radius);
    padding: 2.5rem;
    margin: 2rem 0;
    border: 1px solid rgba(212,160,23,0.2);
    position: relative;
    overflow: hidden;
}

.founder-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow), var(--ro-red));
}

.founder-section h2 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    text-align: center;
    margin-bottom: 1.75rem !important;
    font-size: 1.6rem !important;
    position: relative;
}

.founder-section h2::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow));
    margin: 0.5rem auto 0;
    border-radius: 2px;
}

.founder-card {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 2rem !important;
    align-items: center !important;
}

@media (max-width: 700px) {
    .founder-card {
        grid-template-columns: 1fr !important;
        text-align: center;
    }
}

.founder-image img {
    width: 100% !important;
    border-radius: 12px !important;
    border: 4px solid var(--ro-yellow) !important;
    box-shadow: 0 8px 30px rgba(0,43,127,0.25) !important;
    object-fit: cover !important;
    transition: var(--transition-smooth) !important;
}

.founder-image img:hover {
    transform: scale(1.02) !important;
    box-shadow: 0 12px 40px rgba(0,43,127,0.35) !important;
}

.founder-info h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1.6rem !important; /* Slightly larger for better hierarchy */
    margin-bottom: 1rem !important;
}

.founder-info p {
    font-size: 1.1rem !important; /* Increased from base for clarity */
    line-height: 1.8 !important; /* Better vertical rhythm */
    color: #333 !important; /* Darker text for higher contrast against parchment */
    margin-bottom: 1.25rem !important;
    font-weight: 500 !important; /* Slight weight increase for readability */
}

/* ===== PRINCIPLES GRID (Romanism page) ===== */
.principles-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 1.5rem !important;
    margin-top: 1.5rem !important;
}

.principle-card {
    background: #fff;
    border-radius: var(--card-radius) !important;
    padding: 1.75rem !important;
    border-top: 4px solid var(--ro-blue) !important;
    box-shadow: 0 3px 12px rgba(0,43,127,0.08) !important;
    transition: var(--transition-smooth) !important;
    position: relative;
    overflow: hidden;
}

.principle-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 0;
    background: linear-gradient(135deg, rgba(0,43,127,0.05), rgba(200,16,46,0.03));
    transition: height 0.4s ease;
}

.principle-card:hover {
    border-top-color: var(--ro-yellow) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(0,43,127,0.15) !important;
}

.principle-card h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1rem !important;
    margin-bottom: 0.6rem !important;
}

/* ===== GALLERY ===== */
.gallery {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 1.25rem !important;
}

.gallery-item {
    position: relative;
    border-radius: var(--card-radius) !important;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,43,127,0.1) !important;
    transition: var(--transition-smooth) !important;
    background: #fff;
}

.gallery-item:hover {
    transform: translateY(-4px) scale(1.02) !important;
    box-shadow: 0 12px 35px rgba(0,43,127,0.2) !important;
}

.gallery-item img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease !important;
}

.gallery-item:hover img {
    transform: scale(1.08) !important;
}

.gallery-item h3 {
    font-family: var(--font-display) !important;
    font-size: 0.9rem !important;
    padding: 0.6rem 0.9rem 0.25rem !important;
    margin: 0 !important;
    color: var(--ro-blue) !important;
}

.gallery-item p {
    font-size: 0.78rem !important;
    padding: 0 0.9rem 0.75rem !important;
    margin: 0 !important;
    color: #777 !important;
}

/* ===== CONTACT SECTION ENHANCEMENT ===== */
.contact-section {
    background: linear-gradient(135deg, rgba(0,43,127,0.04), rgba(200,16,46,0.02)) !important;
    border-radius: var(--card-radius) !important;
    border: 1px solid rgba(212,160,23,0.2) !important;
    padding: 2.5rem !important;
    margin: 2.5rem 0 !important;
    position: relative;
    overflow: hidden;
}

.contact-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow), var(--ro-red));
}

.contact-section h2 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    text-align: center;
    margin-bottom: 1.5rem !important;
}

.contact-form {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 2rem !important;
    box-shadow: 0 4px 20px rgba(0,43,127,0.08) !important;
    border: 1px solid rgba(212,160,23,0.15) !important;
}

.contact-form label,
.form-label {
    font-weight: 600 !important;
    color: var(--ro-blue) !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 0.35rem !important;
    display: block !important;
}

.contact-form input,
.contact-form textarea,
.form-input,
.form-textarea,
.form-select {
    border: 2px solid rgba(0,43,127,0.15) !important;
    border-radius: 8px !important;
    padding: 0.75rem 1rem !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;
    width: 100% !important;
    transition: var(--transition-smooth) !important;
    background: #fafafa !important;
}

.contact-form input:focus,
.contact-form textarea:focus,
.form-input:focus,
.form-textarea:focus {
    border-color: var(--ro-blue) !important;
    box-shadow: 0 0 0 4px rgba(0,43,127,0.08) !important;
    outline: none !important;
    background: #fff !important;
    transform: none !important;
}

/* ===== SECTION HEADINGS ===== */
.featured-events h2,
.national-symbols-section h2,
.principles-section h2,
.gallery-section h2,
.civism-section h2,
.library-section h2,
.upcoming-events h2 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1.6rem !important;
    margin-bottom: 0.5rem !important;
    position: relative;
    padding-bottom: 0.75rem;
}

.featured-events h2::after,
.national-symbols-section h2::after,
.principles-section h2::after,
.gallery-section h2::after,
.civism-section h2::after,
.library-section h2::after,
.upcoming-events h2::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 50px; height: 3px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow));
    border-radius: 2px;
}

/* ===== CIVISM SECTION IMAGE ===== */
.civism-content {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    align-items: center !important;
    margin-top: 1.5rem !important;
}

@media (max-width: 700px) {
    .civism-content {
        grid-template-columns: 1fr !important;
    }
}


/* ===== COMMUNITY TABS ===== */
.tab-content {
    display: none !important;
}

.tab-content.active {
    display: block !important;
    animation: fadeIn 0.4s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.civism-photo {
    width: 100% !important;
    border-radius: 12px !important;
    border: 3px solid var(--ro-yellow) !important;
    box-shadow: 0 8px 25px rgba(0,43,127,0.15) !important;
    object-fit: cover !important;
    max-height: 320px !important;
}

/* ===== MISSION SECTION ===== */
.mission-section {
    margin-bottom: 2.5rem;
}

.mission-content {
    background: linear-gradient(135deg,rgba(0,43,127,0.03),rgba(200,16,46,0.02)) !important;
    border: 1px solid rgba(212,160,23,0.18) !important;
    border-radius: var(--card-radius) !important;
}

.founder-photo-large {
    width: 100% !important;
    max-width: 280px !important;
    border: 4px solid var(--ro-yellow) !important;
    box-shadow: 0 8px 25px rgba(0,43,127,0.2) !important;
    border-radius: 12px !important;
}

/* ===== DONATION PROGRESS ===== */
.donation-progress-container {
    border-radius: var(--card-radius) !important;
    padding: 2rem !important;
    background: linear-gradient(135deg,rgba(0,43,127,0.04),rgba(200,16,46,0.02)) !important;
    border: 1px solid rgba(212,160,23,0.25) !important;
    box-shadow: 0 4px 15px rgba(0,43,127,0.08) !important;
    text-align: center;
}

.progress-bar-bg {
    background: rgba(0,43,127,0.1) !important;
    border-radius: 20px !important;
    height: 24px !important;
    overflow: hidden !important;
}

.progress-bar-fill {
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-red)) !important;
    border-radius: 20px !important;
    animation: growBar 1.5s cubic-bezier(0.34,1.56,0.64,1) both;
    animation-delay: 0.5s;
}

@keyframes growBar {
    from { width: 0 !important; }
}

/* ===== NEWSLETTER SECTION ===== */
.newsletter-section {
    border-radius: var(--card-radius) !important;
    background: linear-gradient(135deg, var(--ro-blue) 0%, #0d2266 40%, var(--ro-red) 100%) !important;
    padding: 3rem 2rem !important;
    text-align: center !important;
}

.newsletter-section h2 {
    font-family: var(--font-display) !important;
    color: #fff !important;
}

.newsletter-section p {
    color: rgba(255,255,255,0.85) !important;
}

.newsletter-form {
    max-width: 480px !important;
    margin: 1.5rem auto 0 !important;
}

.newsletter-form input {
    flex: 1;
    border-radius: 8px 0 0 8px !important;
    border: 2px solid rgba(212,160,23,0.4) !important;
    font-family: var(--font-body) !important;
}

/* ===== LIBRARY SECTION ===== */
.library-card {
    border-radius: var(--card-radius) !important;
    border: 1px solid rgba(0,43,127,0.12) !important;
    box-shadow: 0 3px 12px rgba(0,43,127,0.06) !important;
    transition: var(--transition-smooth) !important;
    background: #fff !important;
}

.library-card:hover {
    border-color: var(--ro-yellow) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(0,43,127,0.15) !important;
}

.book-icon {
    font-size: 2.5rem !important;
    margin-bottom: 0.75rem !important;
}

.library-card h3 {
    font-family: var(--font-display) !important;
    font-size: 0.9rem !important;
    color: var(--ro-blue) !important;
}

.btn-download {
    background: linear-gradient(135deg, var(--ro-blue), var(--ro-red)) !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 0.5rem 1rem !important;
    transition: var(--transition-smooth) !important;
}

.btn-download:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0,43,127,0.3) !important;
    opacity: 0.92 !important;
}

/* ===== SPECIAL LINK CARD ===== */
.special-link-card {
    display: block !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-bottom: 1rem !important;
    border: 2px solid transparent !important;
    background: linear-gradient(#fff, #fff) padding-box,
                linear-gradient(135deg, var(--ro-blue), var(--ro-red)) border-box !important;
    transition: var(--transition-smooth) !important;
    text-decoration: none !important;
}

.special-link-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,43,127,0.2) !important;
    text-decoration: none !important;
    outline: none !important;
}

.special-link-content {
    padding: 0.9rem 1rem !important;
    text-align: center !important;
    background: transparent !important;
}

.special-link-content h4 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 0.88rem !important;
    margin-bottom: 0.2rem !important;
}

.special-link-content p {
    color: var(--ro-red) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

/* ===== FOOTER REDESIGN ===== */
.site-footer {
    background: linear-gradient(135deg, var(--ro-dark) 0%, #0a1f45 50%, #2a0a12 100%) !important;
    color: rgba(255,255,255,0.88) !important;
    border-top: 4px solid transparent !important;
    position: relative !important;
}

.site-footer::before {
    content: '';
    position: absolute;
    top: -4px; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-yellow), var(--ro-red), var(--ro-yellow), var(--ro-blue));
}

.footer-content {
    max-width: 1300px;
    margin: 0 auto;
    padding: 3rem 2rem 0;
}

.footer-main {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 2rem !important;
    padding-bottom: 2rem !important;
}

.footer-section h4 {
    font-family: var(--font-display) !important;
    color: var(--ro-yellow) !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid rgba(212,160,23,0.3) !important;
}

.footer-section p {
    font-size: 0.85rem !important;
    color: rgba(255,255,255,0.72) !important;
    line-height: 1.6 !important;
}

.footer-section ul {
    list-style: none !important;
    padding: 0 !important;
}

.footer-section ul li {
    margin-bottom: 0.4rem !important;
}

.footer-section ul li a {
    color: rgba(255,255,255,0.72) !important;
    font-size: 0.85rem !important;
    transition: var(--transition-fast) !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.footer-section ul li a::before {
    content: '›';
    color: var(--ro-yellow);
    font-weight: 700;
}

.footer-section ul li a:hover {
    color: var(--ro-yellow) !important;
    padding-left: 4px !important;
    outline: none !important;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding: 1.25rem 0 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
}

.footer-bottom p {
    font-size: 0.78rem !important;
    color: rgba(255,255,255,0.55) !important;
    margin: 0 !important;
}

.romanian-flag-display {
    display: flex !important;
    gap: 0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
}

.flag-strip {
    width: 18px !important;
    height: 28px !important;
}

/* ===== PHOTO SECTION BACKGROUNDS ===== */
.national-symbols-section {
    background: linear-gradient(135deg, rgba(0,43,127,0.03), rgba(200,16,46,0.02));
    border-radius: var(--card-radius);
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid rgba(212,160,23,0.15);
}

/* ===== SCROLL REVEAL ANIMATION ENHANCEMENT ===== */
.reveal {
    opacity: 0 !important;
    transform: translateY(15px) !important; /* Subtler translateY */
    transition: opacity 0.6s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    will-change: opacity, transform;
}

.reveal.active {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.reveal-left {
    opacity: 0 !important;
    transform: translateX(-35px) !important;
    transition: opacity 0.7s ease, transform 0.7s ease !important;
}

.reveal-left.active {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

.reveal-right {
    opacity: 0 !important;
    transform: translateX(35px) !important;
    transition: opacity 0.7s ease, transform 0.7s ease !important;
}

.reveal-right.active {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

/* ===== MOTIF CARDS ON ROMANISM PAGE ===== */
.motifs-showcase {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 1.5rem !important;
    margin-top: 1.5rem !important;
}

.motif-card {
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    overflow: hidden !important;
    border: 1px solid rgba(212,160,23,0.25) !important;
    box-shadow: 0 4px 15px rgba(0,43,127,0.08) !important;
    transition: var(--transition-smooth) !important;
    text-align: center;
    padding-bottom: 1rem !important;
}

.motif-card:hover {
    border-color: var(--ro-yellow) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(0,43,127,0.18) !important;
}

.motif-image {
    width: 100% !important;
    height: 250px !important; /* Slightly taller for more presence */
    object-fit: cover !important;
    display: block !important;
    margin-bottom: 1rem !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(212, 160, 23, 0.2) !important;
}

.motif-card:hover .motif-image {
    transform: scale(1.04) translateY(-5px) !important;
    box-shadow: 0 15px 30px rgba(0, 43, 127, 0.2) !important;
    filter: brightness(1.05) contrast(1.05) !important;
    border-color: var(--ro-gold) !important;
}

.motif-card h3 {
    font-family: var(--font-display) !important;
    font-size: 0.95rem !important;
    color: var(--ro-blue) !important;
    padding: 0 1rem !important;
    margin-bottom: 0.4rem !important;
}

.motif-card p {
    font-size: 0.8rem !important;
    color: #666 !important;
    padding: 0 1rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ===== HISTORY / GENERAL SECTION ===== */
.history-section,
.civism-section,
.library-section,
.principles-section,
.traditional-motifs-section {
    margin-bottom: 2.5rem;
}

/* ===== FOCUS STYLES — ACCESSIBILITY ===== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--ro-yellow) !important;
    outline-offset: 3px !important;
}

/* ===== FILTER & MAP TAB BUTTONS ===== */
.filter-btn {
    border-radius: 20px !important;
    font-family: var(--font-body) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: var(--transition-smooth) !important;
}

.filter-btn.active,
.filter-btn:hover {
    background: var(--ro-blue) !important;
    color: #fff !important;
    border-color: var(--ro-blue) !important;
}

/* ===== NEWS CAFE CARDS ===== */
.news-articles {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 1.5rem !important;
    margin-top: 1.5rem !important;
}

.news-card {
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    overflow: hidden !important;
    border: none !important;
    border-left: 4px solid var(--ro-blue) !important;
    box-shadow: 0 3px 12px rgba(0,43,127,0.08) !important;
    transition: var(--transition-smooth) !important;
    padding: 1.25rem !important;
}

.news-card:hover {
    border-left-color: var(--ro-yellow) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 30px rgba(0,43,127,0.18) !important;
}

.news-card img {
    width: 100% !important;
    height: 170px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    margin-bottom: 1rem !important;
}

/* ===== COMMUNITY PAGE ===== */
.forum-thread {
    background: #fff;
    border-radius: 10px;
    border-left: 4px solid var(--ro-blue) !important;
    transition: var(--transition-smooth) !important;
}

.forum-thread:hover {
    border-left-color: var(--ro-yellow) !important;
    transform: translateX(4px) !important;
    box-shadow: 0 6px 20px rgba(0,43,127,0.12) !important;
}

/* Wallet Card Specific Colors */
.wallet-card.monero {
    border-top: 4px solid #ff6600 !important;
}
.wallet-card.skrill {
    border-top: 4px solid #800080 !important;
}
.wallet-card.skrill .btn-primary {
    margin-top: 10px;
}

/* ===== REGISTER PAGE ===== */
.register-benefits .benefit-item {
    border-radius: 10px;
    border-left: 4px solid var(--ro-yellow) !important;
    transition: var(--transition-smooth) !important;
}

.register-benefits .benefit-item:hover {
    border-left-color: var(--ro-blue) !important;
    transform: translateX(4px) !important;
}

/* ===== RESPONSIVE TWEAKS ===== */
@media (max-width: 768px) {
    .page-layout {
        padding: 1rem !important;
    }
    .main-content {
        padding: 1.25rem !important;
    }
    .hero-section {
        min-height: 380px !important;
    }
    .page-hero {
        min-height: 200px !important;
        padding: 2rem 1rem !important;
    }
    .footer-bottom {
        flex-direction: column !important;
        text-align: center !important;
    }
    .nav-link {
        font-size: 0.75rem !important;
        padding: 0.45rem 0.65rem !important;
    }
    .header-title {
        font-size: 0.95rem !important;
    }
}

body[data-page="register"] .page-hero {
    background: var(--hero-overlay), url('./photos/steag41pentruromania.png') center/cover no-repeat !important;
}

/* ===== STAT CARDS — COMMUNITY PAGE ===== */
.stats-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    gap: 1.25rem !important;
    margin-top: 1.5rem !important;
}

.stat-card {
    background: linear-gradient(135deg, var(--ro-blue), #0d2266) !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 1.75rem 1rem !important;
    border-radius: var(--card-radius) !important;
    box-shadow: 0 6px 20px rgba(0,43,127,0.3) !important;
    transition: var(--transition-bounce) !important;
}

.stat-card:hover {
    transform: translateY(-5px) scale(1.03) !important;
    box-shadow: 0 12px 30px rgba(0,43,127,0.4) !important;
}

.stat-number {
    font-family: var(--font-display) !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: #FFD700 !important;
    display: block !important;
    line-height: 1.1 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
}

.stat-card .stat-label {
    font-size: 0.85rem !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-top: 0.5rem !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
}

.community-stats h2 {
    color: #ffffff !important;
    font-family: var(--font-display) !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
    font-size: 1.8rem !important;
    margin-bottom: 1rem !important;
}

/* ===== COMMUNITY TABS ===== */
.tabs-container {
    display: flex !important;
    gap: 0.5rem !important;
    background: rgba(0,43,127,0.06) !important;
    padding: 0.5rem !important;
    border-radius: 10px !important;
    margin-bottom: 1.5rem !important;
    border: 1px solid rgba(0,43,127,0.1) !important;
}

.tab-button {
    font-family: var(--font-body) !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 0.6rem 1.2rem !important;
    border-radius: 8px !important;
    border: none !important;
    background: transparent !important;
    color: var(--ro-blue) !important;
    cursor: pointer !important;
    transition: var(--transition-smooth) !important;
}

.tab-button.active {
    background: linear-gradient(135deg, var(--ro-blue), var(--ro-red)) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(0,43,127,0.25) !important;
}

.tab-button:hover:not(.active) {
    background: rgba(0,43,127,0.1) !important;
}

/* ===== POST CARDS ===== */
.post-card {
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    padding: 1.25rem !important;
    border-left: 4px solid var(--ro-blue) !important;
    box-shadow: 0 3px 12px rgba(0,43,127,0.07) !important;
    margin-bottom: 1rem !important;
    transition: var(--transition-smooth) !important;
}

.post-card:hover {
    border-left-color: var(--ro-yellow) !important;
    box-shadow: 0 8px 24px rgba(0,43,127,0.15) !important;
    transform: translateX(4px) !important;
}

.post-card h3 {
    font-family: var(--font-display) !important;
    font-size: 0.98rem !important;
    color: var(--ro-blue) !important;
    margin-bottom: 0.3rem !important;
}

.post-author {
    font-size: 0.78rem !important;
    color: var(--ro-red) !important;
    font-weight: 600 !important;
}

.post-date {
    font-size: 0.75rem !important;
    color: #999 !important;
    margin-left: 0.75rem !important;
}

.btn-like, .btn-reply {
    font-size: 0.78rem !important;
    padding: 0.35rem 0.75rem !important;
    border-radius: 6px !important;
    border: 1px solid rgba(0,43,127,0.15) !important;
    background: rgba(0,43,127,0.05) !important;
    cursor: pointer !important;
    transition: var(--transition-fast) !important;
    font-family: var(--font-body) !important;
}

.btn-like:hover {
    background: rgba(200,16,46,0.1) !important;
    border-color: var(--ro-red) !important;
}

.btn-reply:hover {
    background: rgba(0,43,127,0.1) !important;
    border-color: var(--ro-blue) !important;
}

/* ===== PROJECT CARDS ===== */
.projects-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 1.25rem !important;
}

.project-card {
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    padding: 1.5rem !important;
    border-top: 4px solid var(--ro-yellow) !important;
    box-shadow: 0 3px 12px rgba(0,43,127,0.07) !important;
    transition: var(--transition-smooth) !important;
}

.project-card:hover {
    border-top-color: var(--ro-blue) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 28px rgba(0,43,127,0.15) !important;
}

.project-card h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 0.98rem !important;
    margin-bottom: 0.5rem !important;
}

.project-status {
    display: inline-block !important;
    background: linear-gradient(135deg, var(--ro-blue), var(--ro-red)) !important;
    color: #fff !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    padding: 0.2rem 0.6rem !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin: 0.5rem 0 !important;
}

.project-team {
    font-size: 0.78rem !important;
    color: #777 !important;
    margin-bottom: 0.75rem !important;
}

/* ===== COMMUNITY EVENTS ===== */
.event-item {
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    padding: 1.5rem !important;
    border-left: 4px solid var(--ro-red) !important;
    margin-bottom: 1rem !important;
    box-shadow: 0 3px 12px rgba(0,43,127,0.07) !important;
    transition: var(--transition-smooth) !important;
}

.event-item:hover {
    border-left-color: var(--ro-yellow) !important;
    transform: translateX(4px) !important;
}

.event-item h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    margin-bottom: 0.4rem !important;
}

/* ===== POST FORM ===== */
.post-form {
    background: linear-gradient(135deg, rgba(0,43,127,0.04), rgba(200,16,46,0.02)) !important;
    border-radius: var(--card-radius) !important;
    padding: 1.5rem !important;
    border: 1px solid rgba(212,160,23,0.2) !important;
    margin-bottom: 1.5rem !important;
}

.post-form h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    margin-bottom: 1rem !important;
    font-size: 1rem !important;
}

/* ===== REGISTRATION FORM CONTAINER ===== */
.registration-container {
    display: grid !important;
    grid-template-columns: 1fr 1.5fr !important;
    gap: 2rem !important;
    align-items: start !important;
}

@media (max-width: 768px) {
    .registration-container {
        grid-template-columns: 1fr !important;
    }
}

.registration-intro {
    background: linear-gradient(135deg, rgba(0,43,127,0.06), rgba(200,16,46,0.03)) !important;
    border-radius: var(--card-radius) !important;
    padding: 1.75rem !important;
    border: 1px solid rgba(212,160,23,0.2) !important;
}

.registration-intro h2 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1.15rem !important;
    margin-bottom: 1rem !important;
}

.benefits-list {
    list-style: none !important;
    padding: 0 !important;
}

.benefits-list li {
    padding: 0.5rem 0 !important;
    border-bottom: 1px solid rgba(0,43,127,0.08) !important;
    font-size: 0.9rem !important;
    color: #444 !important;
    transition: var(--transition-fast) !important;
}

.benefits-list li:hover {
    color: var(--ro-blue) !important;
    padding-left: 4px !important;
}

.registration-form {
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    padding: 2rem !important;
    box-shadow: 0 4px 20px rgba(0,43,127,0.08) !important;
    border: 1px solid rgba(212,160,23,0.15) !important;
}

.registration-form h2 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    margin-bottom: 1.5rem !important;
    font-size: 1.2rem !important;
}

.form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
}

@media (max-width: 540px) {
    .form-row {
        grid-template-columns: 1fr !important;
    }
}

/* ===== FEATURED NEWS (News-Cafe) ===== */
.featured-news {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    background: #fff !important;
    border-radius: var(--card-radius) !important;
    overflow: hidden !important;
    box-shadow: 0 6px 25px rgba(0,43,127,0.12) !important;
    margin-bottom: 2rem !important;
    border: 1px solid rgba(212,160,23,0.15) !important;
}

@media (max-width: 700px) {
    .featured-news {
        grid-template-columns: 1fr !important;
    }
}

.featured-image {
    overflow: hidden;
}

.featured-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 280px !important;
    object-fit: cover !important;
    transition: transform 0.6s ease !important;
}

.featured-news:hover .featured-image img {
    transform: scale(1.06) !important;
}

.featured-content {
    padding: 2rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.article-category {
    display: inline-block !important;
    background: linear-gradient(135deg, var(--ro-blue), var(--ro-red)) !important;
    color: #fff !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 0.75rem !important;
}

.featured-content h2 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1.25rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.75rem !important;
}

.article-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.78rem;
    color: #999;
    margin: 0.6rem 0 1rem !important;
}

/* ===== SEARCH SECTION ===== */
.search-container {
    display: flex !important;
    gap: 0.75rem !important;
    margin-bottom: 1rem !important;
    flex-wrap: wrap !important;
}

.search-container input {
    flex: 1 !important;
    min-width: 200px !important;
    border: 2px solid rgba(0,43,127,0.15) !important;
    border-radius: 8px !important;
    padding: 0.7rem 1rem !important;
    font-family: var(--font-body) !important;
    transition: var(--transition-smooth) !important;
}

.search-container input:focus {
    border-color: var(--ro-blue) !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(0,43,127,0.08) !important;
}

.filter-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
}

.filter-btn {
    background: #fff !important;
    border: 2px solid rgba(0,43,127,0.15) !important;
    color: var(--ro-blue) !important;
    padding: 0.4rem 0.9rem !important;
    border-radius: 20px !important;
    font-family: var(--font-body) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: var(--transition-smooth) !important;
}

.filter-btn.active,
.filter-btn:hover {
    background: linear-gradient(135deg, var(--ro-blue), var(--ro-red)) !important;
    color: #fff !important;
    border-color: transparent !important;
}

/* ===== SUCCESS MESSAGE ===== */
.success-message {
    background: linear-gradient(135deg, rgba(46,125,50,0.1), rgba(46,125,50,0.05)) !important;
    border: 2px solid rgba(46,125,50,0.3) !important;
    border-radius: var(--card-radius) !important;
    padding: 2rem !important;
    text-align: center !important;
}

.success-message h3 {
    color: #2e7d32 !important;
    font-family: var(--font-display) !important;
}

/* ===== SMOOTH SCROLL GLOBALLY ===== */
html { scroll-behavior: smooth; }

/* ===== CAP DE BOUR — SYMBOL CARD ===== */
.cap-de-bour-card {
    background: linear-gradient(160deg, #0D1B2A 0%, #1a2e55 60%, #2a0a12 100%) !important;
    border: 2px solid var(--ro-gold) !important;
    position: relative;
    overflow: hidden;
}

.cap-de-bour-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 40%, rgba(184,150,62,0.15) 0%, transparent 70%);
    pointer-events: none;
}

.cap-de-bour-symbol-img {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0.5rem;
    height: 180px;
}

.cap-de-bour-symbol-img img {
    height: 140px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 0 15px rgba(184,150,62,0.5));
    transition: var(--transition-bounce) !important;
}

.cap-de-bour-card:hover .cap-de-bour-symbol-img img {
    transform: scale(1.1) rotate(3deg) !important;
    filter: drop-shadow(0 0 25px rgba(184,150,62,0.8));
}

.cap-de-bour-card h3 {
    color: var(--ro-yellow) !important;
    font-family: var(--font-display) !important;
}

.cap-de-bour-card p {
    color: rgba(255,255,255,0.8) !important;
}

/* ===== CAP DE BOUR — FEATURE BANNER (Home Page) ===== */
.cap-de-bour-banner {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 2.5rem;
    align-items: center;
    margin-top: 2.5rem;
    background: linear-gradient(135deg, #0D1B2A 0%, #12234e 45%, #2a0812 100%);
    border-radius: var(--card-radius);
    padding: 2.5rem;
    border: 2px solid rgba(184,150,62,0.4);
    box-shadow: 0 8px 40px rgba(0,0,0,0.35), inset 0 0 60px rgba(184,150,62,0.05);
    position: relative;
    overflow: hidden;
}

.cap-de-bour-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 50%, rgba(184,150,62,0.12) 0%, transparent 50%),
        radial-gradient(circle at 85% 50%, rgba(200,16,46,0.08) 0%, transparent 50%);
    pointer-events: none;
}

.cap-de-bour-banner::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--ro-gold), var(--ro-yellow), var(--ro-gold), transparent);
}

@media (max-width: 640px) {
    .cap-de-bour-banner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .cdb-banner-coat {
        display: flex;
        justify-content: center;
    }
}

.cdb-banner-coat img {
    height: 160px;
    width: auto;
    filter: drop-shadow(0 0 20px rgba(184,150,62,0.6));
    animation: floatLogo 5s ease-in-out infinite;
}

.cdb-banner-content {
    position: relative;
    z-index: 1;
}

.cdb-year-badge {
    display: inline-block;
    background: rgba(184,150,62,0.2);
    border: 1px solid rgba(184,150,62,0.5);
    color: var(--ro-yellow);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    margin-bottom: 0.75rem;
}

.cdb-banner-content h3 {
    font-family: var(--font-display) !important;
    color: #fff !important;
    font-size: clamp(1rem, 2.5vw, 1.4rem) !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.3 !important;
}

.cdb-banner-content p {
    color: rgba(255,255,255,0.78) !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1.25rem !important;
}

/* ===== CAP DE BOUR — FULL DEDICATED SECTION (Romanism Page) ===== */
.cap-de-bour-section {
    background: linear-gradient(135deg, #0D1B2A 0%, #0f2040 50%, #1a0810 100%);
    border-radius: var(--card-radius);
    padding: 3rem 2.5rem;
    margin: 2.5rem 0;
    border: 2px solid rgba(184,150,62,0.35);
    box-shadow: 0 12px 50px rgba(0,0,0,0.4), inset 0 0 80px rgba(184,150,62,0.04);
    position: relative;
    overflow: hidden;
}

.cap-de-bour-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--ro-blue), var(--ro-gold), var(--ro-yellow), var(--ro-gold), var(--ro-red));
}

.cap-de-bour-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 50%, rgba(184,150,62,0.1) 0%, transparent 45%),
        radial-gradient(circle at 80% 50%, rgba(0,43,127,0.1) 0%, transparent 45%);
    pointer-events: none;
}

.cap-de-bour-inner {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 3rem;
    align-items: center;
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    .cap-de-bour-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .cap-de-bour-image-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

.cap-de-bour-image-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.cap-de-bour-badge {
    background: radial-gradient(circle, rgba(184,150,62,0.1) 0%, transparent 70%);
    border: 2px solid rgba(184,150,62,0.3);
    border-radius: 50%;
    padding: 1.5rem;
    width: 220px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 0 0 8px rgba(184,150,62,0.08),
        0 0 0 16px rgba(184,150,62,0.04),
        0 0 40px rgba(184,150,62,0.2);
    animation: pulseGlow 3s ease-in-out infinite;
}

@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 0 8px rgba(184,150,62,0.08), 0 0 0 16px rgba(184,150,62,0.04), 0 0 40px rgba(184,150,62,0.2); }
    50%       { box-shadow: 0 0 0 10px rgba(184,150,62,0.12), 0 0 0 20px rgba(184,150,62,0.06), 0 0 60px rgba(184,150,62,0.35); }
}

.cap-de-bour-svg {
    width: 160px !important;
    height: auto !important;
    filter: drop-shadow(0 0 12px rgba(184,150,62,0.5)) !important;
    transition: var(--transition-bounce) !important;
}

.cap-de-bour-image-wrap:hover .cap-de-bour-svg {
    transform: scale(1.06) !important;
    filter: drop-shadow(0 0 22px rgba(184,150,62,0.8)) !important;
}

.stamp-label {
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ro-yellow);
    background: rgba(184,150,62,0.12);
    border: 1px solid rgba(184,150,62,0.3);
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    text-align: center;
}

.section-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ro-gold);
    margin-bottom: 0.75rem;
}

.cap-de-bour-title {
    font-family: var(--font-display) !important;
    color: #fff !important;
    font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
    margin-bottom: 0.2rem !important;
    line-height: 1.1 !important;
}

.cap-de-bour-subtitle {
    font-family: var(--font-body) !important;
    color: var(--ro-yellow) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    margin-bottom: 1.25rem !important;
    line-height: 1.4 !important;
}

.cap-de-bour-text p {
    color: rgba(255,255,255,0.82) !important;
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
    margin-bottom: 0.85rem !important;
}

.cap-de-bour-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(184,150,62,0.2);
}

@media (max-width: 600px) {
    .cap-de-bour-facts {
        grid-template-columns: 1fr;
    }
}

.fact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    background: rgba(184,150,62,0.06);
    border: 1px solid rgba(184,150,62,0.15);
    border-radius: 10px;
    padding: 0.75rem;
}

.fact-icon {
    font-size: 1.3rem;
    flex-shrink: 0;
}

.fact-item div {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.fact-item strong {
    color: var(--ro-yellow);
    font-family: var(--font-display);
    font-size: 1.1rem;
    line-height: 1;
}

.fact-item span {
    color: rgba(255,255,255,0.6);
    font-size: 0.72rem;
    line-height: 1.3;
}

/* ===== CRYPTO DONATION PAGE ===== */
body[data-page="donate"] .romanian-motif-bg {
    background-image: url('./photos/emblem-wolf-claw.png');
    background-size: 800px;
    background-position: center 20%;
    opacity: 0.03;
}

.page-hero.donate-hero {
    background: linear-gradient(135deg, rgba(3, 14, 33, 0.95) 0%, rgba(15, 32, 64, 0.9) 100%), url('./photos/romania-flag-dark.jpg') center/cover;
    height: 35vh;
}

.crypto-justification-section {
    padding: 3rem;
    background: white;
    border-radius: var(--card-radius);
    box-shadow: var(--shadow-md);
    margin-bottom: 3rem;
}

.crypto-justification-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

@media (max-width: 900px) {
    .crypto-justification-content {
        grid-template-columns: 1fr;
    }
}

.premium-video {
    width: 100%;
    border-radius: var(--card-radius);
    box-shadow: var(--shadow-lg);
    border: 3px solid var(--ro-gold);
    transition: var(--transition-bounce);
    background: #000;
}

.premium-video:hover {
    transform: scale(1.02);
    box-shadow: 0 15px 40px rgba(0,0,0,0.2);
}

.video-caption {
    text-align: center;
    font-size: 0.9rem;
    color: var(--ro-dark);
    margin-top: 1rem;
    font-weight: 600;
}

.video-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

@media (max-width: 768px) {
    .video-grid {
        grid-template-columns: 1fr;
    }
}

.video-card {
    background: white;
    padding: 2rem;
    border-radius: var(--card-radius);
    box-shadow: var(--shadow-sm);
    text-align: center;
    border-top: 4px solid var(--ro-blue);
    transition: var(--transition-fast);
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.video-card h3 {
    color: var(--ro-blue);
    margin-bottom: 1.5rem;
    font-family: var(--font-display);
}

.wallets-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.wallet-card {
    background: #fff;
    padding: 2.5rem 1.5rem;
    border-radius: var(--card-radius);
    box-shadow: var(--shadow-md);
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: var(--transition-bounce);
    border: 1px solid rgba(0,0,0,0.05);
}

.wallet-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 6px;
}

.wallet-card.bitcoin::before { background: #f7931a; }
.wallet-card.ethereum::before { background: #627eea; }
.wallet-card.usdt::before { background: #26a17b; }

.wallet-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.coin-icon {
    font-size: 3.5rem;
    margin-bottom: 1rem;
    line-height: 1;
}

.wallet-card.bitcoin .coin-icon { color: #f7931a; }
.wallet-card.ethereum .coin-icon { color: #627eea; }
.wallet-card.usdt .coin-icon { color: #26a17b; }

.wallet-address-box {
    margin-top: 1.5rem;
    background: #f4f6f9;
    padding: 1rem;
    border-radius: 8px;
    border: 1px solid #e1e5eb;
}

.wallet-address-box code {
    display: block;
    word-break: break-all;
    font-size: 0.85rem;
    color: var(--ro-dark);
    margin-bottom: 1rem;
    font-weight: 600;
}

.btn-copy {
    background: var(--ro-blue);
    color: white;
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 20px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.85rem;
    transition: var(--transition-fast);
}

.btn-copy:hover {
    background: var(--ro-red);
    transform: scale(1.05);
}

/* ===== SELECTION COLOR ===== */

::selection {
    background: rgba(0,43,127,0.2);
    color: var(--ro-dark);
}

/* ===== DYNAMIC BACKGROUND MOTIFS ===== */
/* Apply different motif images to different pages to avoid repetition */

/* ROmotifs1.png (Default/Bright) */
body[data-page="home"] .romanian-motif-bg,
body[data-page="events"] .romanian-motif-bg {
    background-image: url('./photos/romotifs1.png');
    background-size: cover;
    opacity: 0.15 !important;
}

/* RoMotifs_2.jpg (Traditional/Wood-like) */
body[data-page="romanism"] .romanian-motif-bg,
body[data-page="about"] .romanian-motif-bg {
    background-image: url('./photos/romotifs_2.jpg');
    background-size: 600px !important;
    opacity: 0.18 !important;
}

/* emblem-wolf-claw.png (Symbolic) */
body[data-page="news"] .romanian-motif-bg,
body[data-page="register"] .romanian-motif-bg,
body[data-page="community"] .romanian-motif-bg {
    background-image: url('./photos/emblem-wolf-claw.png') !important;
    background-size: 800px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 0.25 !important;
}

/* ===== REPLACED INLINE STYLES ===== */

.donate-btn-wrapper {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.btn-full {
    width: 100%;
    display: block;
    text-align: center;
}

.crypto-text-large {
    font-size: 1.15rem;
    line-height: 1.8;
}

.crypto-guide-title {
    text-align: center;
    color: var(--ro-blue);
    font-family: var(--font-display);
    margin-bottom: 2rem;
}

.crypto-guide-section {
    margin-top: 3rem;
}

.crypto-wallets-section {
    margin-top: 4rem;
    text-align: center;
}

.crypto-wallets-title {
    color: var(--ro-gold);
    font-family: var(--font-display);
    margin-bottom: 1rem;
}

.crypto-wallets-subtitle {
    margin-bottom: 2rem;
}

.crypto-note {
    background: rgba(184,150,62,0.1);
    border-left: 4px solid var(--ro-gold);
    padding: 1rem;
    margin-bottom: 2.5rem;
    text-align: left;
    border-radius: 4px;
}

.wallet-card.solana {
    border-top-color: #14F195;
}

.wallet-card.solana .coin-icon {
    color: #14F195;
}

/* ===== UTILITY CLASSES (LINT FIXES) ===== */
.d-none {
    display: none;
}

.ms-1rem {
    margin-left: 1rem;
}

.w-75 {
    width: 75%;
}

.mt-lg {
    margin-top: var(--spacing-lg);
}

.tartaria-icon {
    border-radius: 6px;
    object-fit: cover;
    width: 100%;
}

.tartaria-banner-img {
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.6);
    max-width: 100%;
}

.prof-section {
    margin-top: 4rem;
}

.prof-title {
    text-align: center;
    color: var(--ro-gold);
    font-family: var(--font-display);
    margin-bottom: 3rem;
}

.prof-content {
    align-items: center;
}

.prof-name {
    color: var(--ro-blue);
    font-family: var(--font-display);
    font-size: 2rem;
    margin-bottom: 1rem;
}

.prof-text {
    font-size: 1.15rem;
    line-height: 1.8;
}

.prof-img {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.btn-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.btn-social:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.25);
}

.btn-tiktok {
    background-color: #000000;
    color: #ffffff;
    border: 1px solid #333;
}

.btn-facebook {
    background-color: #1877F2;
    color: #ffffff;
    border: 1px solid #1877F2;
}

.founder-social-links {
    margin-top: 2rem;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.event-completed-card {
    opacity: 0.9;
}

.text-red {
    color: var(--ro-red) !important;
}

.btn-disabled-custom {
    cursor: not-allowed !important;
    border-color: #888 !important;
    color: #888 !important;
}

.flex-1 { flex: 1; }
.form-select-label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: var(--ro-blue); }
.form-select-input { width: 100%; padding: 0.8rem; border-radius: 8px; }

/* ===== CIVIC CALENDAR ===== */
.civic-calendar-container {
    background: rgba(255, 255, 255, 0.9);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 43, 127, 0.15);
    border-radius: var(--card-radius);
    padding: 2rem;
    margin-bottom: 3rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.calendar-title {
    color: var(--ro-blue);
    font-family: var(--font-display);
    font-size: 1.4rem;
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    text-align: center;
}

.calendar-day-header {
    font-weight: 700;
    color: var(--ro-dark);
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(0,43,127,0.1);
}

.calendar-day {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #f8f9fa;
    border: 1px solid transparent;
}

.calendar-day:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    border-color: var(--ro-gold);
}

.calendar-day.empty {
    visibility: hidden;
}

.calendar-day.has-event {
    background: linear-gradient(135deg, rgba(206,17,38,0.1), rgba(252,209,22,0.1));
    border-color: var(--ro-red);
    color: var(--ro-red);
    position: relative;
    box-shadow: inset 0 0 15px rgba(206,17,38,0.05);
}

.calendar-day.has-event::after {
    content: '';
    position: absolute;
    bottom: 8px;
    width: 6px;
    height: 6px;
    background: var(--ro-red);
    border-radius: 50%;
}

.calendar-day.has-event .event-count {
    font-size: 0.65rem;
    color: #666;
    margin-top: 4px;
}

/* ===== PREMIUM UI / GLASSMORPHISM OVERRIDES ===== */

/* Hover effects for Cards */
.event-card, .news-card, .symbol-card, .motif-card, .library-card, .principle-card {
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}
.event-card:hover, .news-card:hover, .symbol-card:hover, .motif-card:hover, .library-card:hover, .principle-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    box-shadow: 0 15px 30px rgba(0,0,0,0.15) !important;
    z-index: 2;
}

/* Premium Buttons */
.btn-primary {
    background: linear-gradient(135deg, var(--ro-blue) 0%, #1e4590 100%) !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(0, 43, 127, 0.3) !important;
    transition: all 0.3s ease !important;
}
.btn-primary:hover {
    background: linear-gradient(135deg, #1e4590 0%, var(--ro-blue) 100%) !important;
    box-shadow: 0 6px 20px rgba(0, 43, 127, 0.5) !important;
    transform: translateY(-2px) !important;
}

.btn-secondary {
    background: linear-gradient(135deg, var(--ro-yellow) 0%, #d89e00 100%) !important;
    color: #000 !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(252, 209, 22, 0.3) !important;
    transition: all 0.3s ease !important;
}
.btn-secondary:hover {
    background: linear-gradient(135deg, #d89e00 0%, var(--ro-yellow) 100%) !important;
    box-shadow: 0 6px 20px rgba(252, 209, 22, 0.5) !important;
    transform: translateY(-2px) !important;
}

/* Glassmorphism for Sidebar & Widgets */
.donation-widget, .special-links, .cultural-highlights, .event-completed-card {
    background: linear-gradient(135deg, rgba(0, 43, 127, 0.9) 0%, rgba(13, 27, 42, 0.95) 100%) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
    color: #fff !important;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

/* White text for sidebar donation & resource sections */
.donation-widget h3,
.donation-widget p,
.special-links h3,
.special-links p,
.cultural-highlights h3 {
    color: #fff !important;
}

.donation-widget .donate-btn-wrapper a,
.donation-widget a.btn-secondary {
    color: #fff !important;
}

.donation-widget p[data-translate="donate-intro"],
.donation-widget .donation-details p {
    color: rgba(255, 255, 255, 0.85) !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

/* 3D Shadows for specific SVGs / Emblems */
.cap-de-bour-symbol-img img, .cdb-banner-coat img, .founder-photo-large, .civism-photo {
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.25)) !important;
    transition: filter 0.3s ease, transform 0.3s ease !important;
}
.cap-de-bour-symbol-img img:hover, .cdb-banner-coat img:hover, .founder-photo-large:hover, .civism-photo:hover {
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.4)) !important;
    transform: scale(1.03) !important;
}

/* Base input premium style */
input[type="text"], input[type="email"], input[type="password"], textarea, select {
    background: rgba(255,255,255,0.85) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    border: 1px solid rgba(0, 43, 127, 0.2) !important;
    transition: all 0.3s ease !important;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
    background: rgba(255,255,255,1) !important;
    border-color: var(--ro-gold) !important;
    box-shadow: 0 0 0 3px rgba(206, 17, 38, 0.15) !important;
}

.success-actions {
    margin-top: 2rem;
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-impact {
    background: linear-gradient(135deg, var(--ro-red), #930B1A) !important;
}

/* ===== PORTAL EXTINS (UPLOAD FOTO & VERIFICARE EMAIL) ===== */
.photo-upload-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    margin-top: 1rem;
}

.photo-preview-circle {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 3px solid var(--ro-gold);
    background-color: #f4f6f9;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 25px rgba(184,150,62,0.25);
    overflow: hidden;
    position: relative;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.photo-preview-circle:hover {
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 12px 30px rgba(184,150,62,0.4);
}

.icon-xl { font-size: 1.5rem; }
.text-center { text-align: center; }

.verification-icon {
    font-size: 3.5rem;
    margin-bottom: 1rem;
    display: block;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.2));
}

.verification-title {
    font-family: var(--font-display);
    color: var(--ro-blue);
    margin-bottom: 1rem;
}

.pin-style-box {
    font-size: 2.2rem !important;
    letter-spacing: 0.6em !important;
    text-align: center !important;
    width: 280px !important;
    margin: 0 auto !important;
    display: block !important;
    font-family: monospace !important;
    font-weight: 800 !important;
    color: var(--ro-dark);
}

.error-text-bold {
    margin-top: 1rem;
    color: var(--ro-red);
    font-weight: 700;
}

.community-welcome-text {
    display: none;
    margin-top: 1rem;
    color: var(--ro-gold);
    font-family: var(--font-display);
}

/* Color Coding for Intelligence Agency Cards */
.news-card.red {
    border-left: 8px solid var(--ro-red) !important;
    background: linear-gradient(to right, rgba(200, 16, 46, 0.05), #fff) !important;
}

.news-card.green {
    border-left: 8px solid #2e7d32 !important;
    background: linear-gradient(to right, rgba(46, 125, 50, 0.05), #fff) !important;
}

.analysis-point {
    font-family: monospace;
    font-size: 0.85rem;
    color: var(--ro-dark);
    margin-top: 5px;
}

/* Sovereign News - Vault Additions */
.border-red-600 { border-left: 8px solid var(--ro-red) !important; background: linear-gradient(to right, rgba(200, 16, 46, 0.05), #fff) !important; }
.border-green-600 { border-left: 8px solid #2e7d32 !important; background: linear-gradient(to right, rgba(46, 125, 50, 0.05), #fff) !important; }
.border-gold-600 { border-left: 8px solid var(--ro-gold) !important; background: linear-gradient(to right, rgba(184, 150, 62, 0.05), #fff) !important; }
.border-purple-600 { border-left: 8px solid #6b21a8 !important; background: linear-gradient(to right, rgba(107, 33, 168, 0.05), #fff) !important; }

.badge-row { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.8rem; }
.summary-text { font-family: monospace; font-size: 0.85rem; color: var(--ro-dark); margin-top: 5px; margin-bottom: 10px; }
.investigate-btn { display: inline-block; margin-top: 10px; padding: 6px 14px; background: var(--ro-dark); color: #fff; font-size: 0.8rem; border-radius: 4px; text-decoration: none; text-transform: uppercase; font-weight: bold; transition: background 0.3s; }
.investigate-btn:hover { background: var(--ro-blue); color: #fff; }

/* =====================================================
   UPCOMING EVENT BADGE & CALENDAR EVENT DAY MAJOR
   ===================================================== */
.event-badge-upcoming {
    display: inline-block;
    background: linear-gradient(135deg, var(--ro-blue), #1a6bb5);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 0.5rem;
    box-shadow: 0 2px 8px rgba(0,0,100,0.18);
    animation: pulse-badge 2.5s ease-in-out infinite;
}

@keyframes pulse-badge {
    0%, 100% { box-shadow: 0 2px 8px rgba(0,0,100,0.18); }
    50% { box-shadow: 0 4px 18px rgba(0,100,220,0.38); }
}

/* Calendar — major event day highlight */
.calendar-day.event-day-major {
    background: linear-gradient(135deg, var(--ro-red), #a8001e) !important;
    color: #fff !important;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(200,16,46,0.4);
    font-weight: 900;
    font-size: 1.05rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: 6px;
    gap: 2px;
    position: relative;
    animation: glow-event 3s ease-in-out infinite;
}

@keyframes glow-event {
    0%, 100% { box-shadow: 0 4px 16px rgba(200,16,46,0.4); }
    50% { box-shadow: 0 6px 24px rgba(200,16,46,0.7); }
}

.calendar-day.event-day-major .event-label-cal {
    display: block;
    font-size: 0.58rem;
    font-weight: 700;
    background: rgba(255,255,255,0.22);
    border-radius: 4px;
    padding: 1px 4px;
    line-height: 1.3;
    white-space: nowrap;
    margin-top: 1px;
}

.calendar-day.event-day-major .event-count {
    font-size: 0.6rem;
    background: var(--ro-gold);
    color: #1a1a1a;
    border-radius: 4px;
    padding: 1px 5px;
    font-weight: 800;
    margin-top: 2px;
}

.calendar-subtitle {
    text-align: center;
    color: var(--ro-gold);
    font-weight: 600;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}

/* ===== NEWS CAFE ARTICLE LINKS ENHANCEMENT ===== */
.article-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 43, 127, 0.1);
}

.article-actions .read-more {
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--ro-blue) !important;
    font-weight: 800 !important;
    padding: 0.6rem 1.25rem !important;
    background: rgba(0, 43, 127, 0.04) !important;
    border: 1px solid rgba(0, 43, 127, 0.1) !important;
    border-radius: 6px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: inline-flex !important;
    align-items: center !important;
}

.article-actions .read-more:hover {
    background: var(--ro-blue) !important;
    color: #fff !important;
    transform: translateY(-3px) translateX(2px) !important;
    box-shadow: 0 6px 15px rgba(0, 43, 127, 0.25) !important;
    border-color: var(--ro-blue) !important;
}

.article-actions .read-more .ext-icon {
    transition: transform 0.3s ease;
}

.article-actions .read-more:hover .ext-icon {
    transform: translate(3px, -3px);
}

.article-actions .social-share {
    display: flex;
    gap: 0.6rem;
}

.article-actions .share-btn {
    background: #f8f9fa;
    border: 1px solid rgba(0, 0, 0, 0.08);
    color: #555;
    font-size: 0.7rem;
    font-weight: 800;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.article-actions .share-btn.fb:hover {
    background: #1877F2 !important;
    color: #fff !important;
    border-color: #1877F2 !important;
    transform: scale(1.1);
}

.article-actions .share-btn.tg:hover {
    background: #24A1DE !important;
    color: #fff !important;
    border-color: #24A1DE !important;
    transform: scale(1.1);
}

/* Base Card Enhancements */
.news-card {
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    background: #fff !important;
}

.news-card:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
    border-color: rgba(212, 160, 23, 0.3) !important;
}

/* Featured Article Professional Look */
.featured-article .featured-news {
    border: 1px solid rgba(212, 160, 23, 0.2) !important;
    background: #fff !important;
    box-shadow: 0 15px 35px rgba(0, 43, 127, 0.08) !important;
    transition: all 0.4s ease !important;
}

.featured-article .featured-news:hover {
    box-shadow: 0 25px 50px rgba(0, 43, 127, 0.12) !important;
    border-color: var(--ro-gold) !important;
}

.page-hero[data-page="news"] {
    background: linear-gradient(rgba(0, 20, 60, 0.6), rgba(0, 20, 60, 0.6)), url('./photos/news-cafe-bg.png') center/cover !important;
}

/* ===== BRANCUSI HERITAGE SECTION ===== */
.brancusi-section {
    padding: 6rem 2rem;
    background: #fdfdfd;
    position: relative;
    overflow: hidden;
    text-align: center;
    border-top: 1px solid rgba(212, 160, 23, 0.2);
    border-bottom: 1px solid rgba(212, 160, 23, 0.2);
}

.brancusi-header h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 2.8rem;
    color: var(--ro-blue);
    margin-bottom: 1.5rem;
    font-weight: 800;
}

.brancusi-intro {
    max-width: 800px;
    margin: 0 auto 4rem;
    font-size: 1.2rem;
    line-height: 1.8;
    color: #444;
}

.brancusi-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
    gap: 3rem;
    margin-bottom: 4rem;
}

.work-card {
    transition: all 0.5s ease;
    max-width: 300px;
}

.work-img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    filter: sepia(20%) contrast(1.1);
    transition: transform 0.3s ease;
}

.work-card:hover .work-img {
    transform: scale(1.05);
}

.work-card h3 {
    margin-top: 1.5rem;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ro-blue);
}

.brancusi-portrait {
    width: 380px;
    height: auto;
    border-radius: 50% 50% 0 0;
    box-shadow: 0 15px 45px rgba(0, 43, 127, 0.2);
    border: 8px solid #fff;
    filter: brightness(1.05) contrast(1.1);
}

.main-work {
    max-width: 400px;
    z-index: 2;
}

.brancusi-banner-svg {
    width: 100%;
    margin-top: 3rem;
}

.infinity-motif {
    width: 100%;
    height: auto;
    max-height: 60px;
}

/* ===== ROLE MODELS SECTION ===== */
.role-models-section {
    padding: 6rem 2rem;
    background: #fff;
}

.role-models-section .section-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 4rem;
    color: var(--ro-blue);
    position: relative;
    padding-bottom: 1rem;
}

.role-models-section .section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: var(--ro-gold);
}

.role-models-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;
}

.role-model-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
    border: 1px solid rgba(0,0,0,0.05);
}

.role-model-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 43, 127, 0.1);
}

.role-model-image {
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
}

.portrait-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.role-model-card:hover .portrait-img {
    transform: scale(1.08);
}

.role-model-info {
    padding: 2.5rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.role-name {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    color: var(--ro-blue);
    font-weight: 800;
}

.role-bio {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 2rem;
    flex-grow: 1;
}

.role-links {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.role-link-btn {
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.role-link-btn.blog { background: var(--ro-blue); color: #fff; }
.role-link-btn.fb { background: #1877f2; color: #fff; }
.role-link-btn.yt { background: #ff0000; color: #fff; }
.role-link-btn.site { background: rgba(0, 43, 127, 0.05); color: var(--ro-blue); border-color: rgba(0, 43, 127, 0.1); }

.role-link-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* IOAN ROSCA PROFESSIONAL REMAKE */
.prof-remake .portrait-img {
    filter: grayscale(100%) contrast(1.2) brightness(0.9);
}

.prof-remake .role-model-image::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 20, 60, 0.4));
}

.prof-remake:hover .portrait-img {
    filter: grayscale(0%) contrast(1.1) brightness(1.05);
}

.prof-remake {
    border-top: 4px solid var(--ro-gold) !important;
}

@media (max-width: 768px) {
    .brancusi-gallery { gap: 1.5rem; }
    .brancusi-portrait { width: 100%; }
    .role-models-grid { grid-template-columns: 1fr; }
}



/* ===== NEWS CAFE 2.0: PREMIUM MAGAZINE DESIGN ===== */

/* 1. Immersive Hero for News */
[data-page="news"] .page-hero {
    background: linear-gradient(135deg, rgba(0, 33, 102, 0.85), rgba(0, 51, 160, 0.7)), 
                url('./photos/news-cafe-bg.png') center/cover !important;
    padding: 10rem 2rem 8rem !important;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--ro-gold);
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
}

[data-page="news"] .page-hero::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--ro-gold), transparent);
}

[data-page="news"] .page-hero h1 {
    font-size: 4.5rem !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 900;
    text-shadow: 0 4px 15px rgba(0,0,0,0.3);
    margin-bottom: 1rem;
}

[data-page="news"] .page-subtitle {
    font-size: 1.4rem !important;
    max-width: 700px;
    margin: 0 auto;
    opacity: 0.9;
    font-weight: 500;
    letter-spacing: 0.05em;
}

/* 2. Modern Sticky/Premium Filters */
.search-section {
    position: relative;
    z-index: 10;
    margin-top: -3rem;
    padding: 2rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.search-container {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
}

#search-input {
    flex-grow: 1;
    border: 2px solid rgba(0, 33, 102, 0.1);
    border-radius: 8px;
    padding: 1rem 1.5rem;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

#search-input:focus {
    border-color: var(--ro-blue);
    box-shadow: 0 0 0 4px rgba(0, 33, 102, 0.05);
    outline: none;
}

.filter-buttons {
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    flex-wrap: wrap;
}

.filter-btn {
    padding: 0.6rem 1.4rem;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 700;
    background: #f1f3f5;
    border: 1px solid transparent;
    color: #495057;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.filter-btn:hover {
    background: #e9ecef;
    transform: translateY(-2px);
}

.filter-btn.active {
    background: var(--ro-blue);
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 33, 102, 0.2);
}

/* 3. Magazine Featured Layout */
.featured-article {
    max-width: 1200px;
    margin: 6rem auto 4rem;
    padding: 0 2rem;
}

.featured-news {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr !important;
    gap: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    border: none !important;
    background: #fff !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.08) !important;
    min-height: 500px;
}

.featured-image {
    position: relative;
    overflow: hidden;
}

.featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.featured-news:hover .featured-image img {
    transform: scale(1.05);
}

.featured-content {
    padding: 4rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(to bottom right, #ffffff, #fdfdfd);
    position: relative;
}

.featured-content::before {
    content: 'TOP STORY';
    position: absolute;
    top: 2rem;
    right: 2rem;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.2em;
    color: var(--ro-gold);
    border: 1px solid var(--ro-gold);
    padding: 4px 10px;
    border-radius: 4px;
}

.featured-content .article-category {
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--ro-blue);
    margin-bottom: 1.5rem;
    display: block;
}

.featured-content h2 {
    font-size: 2.8rem !important;
    line-height: 1.1 !important;
    margin-bottom: 2rem !important;
    color: #1a1a1a !important;
    font-family: 'Outfit', sans-serif !important;
}

.featured-content p {
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    color: #555 !important;
    margin-bottom: 2.5rem !important;
}

.featured-content .article-meta {
    margin-top: auto;
    padding-top: 2rem;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    color: #888;
}

/* 4. News Grid Professional Enhancements */
.news-grid {
    gap: 3rem !important;
    max-width: 1200px !important;
    margin: 0 auto 6rem !important;
    padding: 0 2rem !important;
}

.news-card {
    border-radius: 16px !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 5px 25px rgba(0,0,0,0.03) !important;
}

.news-image {
    height: 240px !important;
    position: relative;
    overflow: hidden;
}

/* Overlay Badge Style */
.category-overlay {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 5;
}

.category-overlay span {
    background: var(--ro-blue);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.news-card .news-content {
    padding: 2rem !important;
}

.news-card h3 {
    font-size: 1.4rem !important;
    margin: 1rem 0 !important;
    color: #222 !important;
    line-height: 1.3 !important;
    height: 3.6em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: color 0.3s ease;
}

.news-card:hover h3 {
    color: var(--ro-blue) !important;
}

.analysis-point {
    background: rgba(0, 33, 102, 0.03);
    padding: 1rem;
    border-left: 3px solid var(--ro-gold);
    font-size: 0.9rem;
    color: #444;
    margin-bottom: 1.5rem;
    border-radius: 0 6px 6px 0;
}

/* 5. Load More Premium Styling */
.load-more-container {
    text-align: center;
    padding: 4rem 0 8rem;
}

#load-more-btn {
    padding: 1rem 3rem !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 50px !important;
    background: #fff !important;
    border: 2px solid var(--ro-blue) !important;
    color: var(--ro-blue) !important;
    transition: all 0.4s ease !important;
}

#load-more-btn:hover:not(:disabled) {
    background: var(--ro-blue) !important;
    color: #fff !important;
    box-shadow: 0 10px 25px rgba(0, 33, 102, 0.2) !important;
    transform: translateY(-3px) !important;
}

.source-badge-overlay {
    font-size: 0.65rem;
    font-weight: 900;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.2);
}

@media (max-width: 992px) {
    .featured-news {
        grid-template-columns: 1fr !important;
    }
    .featured-content {
        padding: 3rem !important;
    }
    .featured-content h2 {
        font-size: 2rem !important;
    }
}

/* Founder Social Links Styling */
.founder-social-links {
    margin-top: 1.5rem;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.founder-social-links .btn-social,
.founder-social-links .btn-secondary,
.founder-social-links .btn-danger {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.85rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.founder-social-links .btn-social:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.btn-youtube {
    background: #FF0000;
    color: white;
}

.btn-facebook {
    background: #1877F2;
    color: white;
}

.btn-tiktok {
    background: #000000;
    color: white;
}

/* History Gallery Styling */
.history-section {
    padding: 4rem 0;
    background: rgba(255, 255, 255, 0.03);
    border-top: 1px solid rgba(198, 40, 40, 0.1);
}

.history-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.history-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 16/9;
    background: #1a1a1a;
    transition: transform 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

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

.history-item img, 
.history-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.history-item-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0.5rem;
    background: linear-gradient(transparent, rgba(0,0,0,0.8));
    color: white;
    font-size: 0.75rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.history-item:hover .history-item-overlay {
    opacity: 1;
}

.gallery-loader {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem;
    color: var(--ro-gold);
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
}

/* Hero Map Banner - Enlarged */
.hero-map-large {
    width: clamp(220px, 35vw, 420px);
    height: auto;
    filter: drop-shadow(0 0 30px rgba(198, 40, 40, 0.3)) drop-shadow(0 0 60px rgba(197, 164, 93, 0.15));
    animation: emblemGlow 4s ease-in-out infinite alternate;
    mix-blend-mode: soft-light; /* Enhances blending on the mountain hero */
    opacity: 0.85;
}

@keyframes emblemGlow {
    from { filter: drop-shadow(0 0 30px rgba(198, 40, 40, 0.3)) drop-shadow(0 0 60px rgba(197,164,93, 0.15)); }
    to   { filter: drop-shadow(0 0 60px rgba(198, 40, 40, 0.6)) drop-shadow(0 0 100px rgba(197,164,93, 0.35)); }
}

/* ============================================
   CAFENEA ȘTIRI — PREMIUM MAGAZINE REDESIGN
   ============================================ */


.news-source-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}
.source-pill {
    padding: 0.25rem 0.8rem;
    border-radius: 20px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    cursor: default;
    border: 1px solid rgba(255,255,255,0.15);
    transition: all 0.2s ease;
}
.source-pill:hover { transform: translateY(-2px); filter: brightness(1.2); }
.source-pill.certitudinea { background: #1b5e20; color: #a5d6a7; }
.source-pill.ioncoja      { background: #0d47a1; color: #90caf9; }
.source-pill.piata        { background: #4a148c; color: #ce93d8; }
.source-pill.glasul       { background: #b71c1c; color: #ffcdd2; }
.source-pill.geopolitika  { background: #e65100; color: #ffcc80; }
.source-pill.incorect     { background: #212121; color: #bdbdbd; }
.source-pill.identitar    { background: #004d40; color: #80cbc4; }

/* News Controls - Search + Filter */
.news-controls {
    background: rgba(255,255,255,0.03);
    border-bottom: 1px solid rgba(255,255,255,0.07);
    padding: 1rem 2rem;
}
.news-search-row {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
}
.search-field {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    padding: 0.4rem 0.8rem;
    flex: 1;
    min-width: 200px;
}
.search-field input {
    background: transparent;
    border: none;
    outline: none;
    color: inherit;
    font-size: 0.9rem;
    width: 100%;
    font-family: inherit;
}
.search-field input::placeholder { color: rgba(255,255,255,0.35); }
.search-icon { font-size: 0.85rem; opacity: 0.6; flex-shrink: 0; }
.filter-pills {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.filter-pills .filter-btn {
    padding: 0.3rem 0.85rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,0.18);
    background: transparent;
    color: rgba(255,255,255,0.7);
    transition: all 0.2s ease;
    font-family: inherit;
}
.filter-pills .filter-btn:hover,
.filter-pills .filter-btn.active {
    background: var(--ro-gold, #c5a45d);
    color: #000;
    border-color: var(--ro-gold, #c5a45d);
}

/* Also style old .filter-buttons for compatibility */
.filter-buttons { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.8rem; }
.filter-buttons .filter-btn { 
    padding: 0.3rem 0.85rem; border-radius: 20px; font-size: 0.75rem;
    font-weight: 600; cursor: pointer; border: 1px solid rgba(255,255,255,0.18);
    background: transparent; color: rgba(255,255,255,0.7); transition: all 0.2s ease; font-family: inherit;
}
.filter-buttons .filter-btn:hover, .filter-buttons .filter-btn.active {
    background: var(--ro-gold, #c5a45d); color: #000; border-color: var(--ro-gold, #c5a45d);
}

/* Featured badge */
.featured-image { position: relative; }
.featured-badge {
    position: absolute;
    top: 1rem; left: 1rem;
    background: var(--ro-red, #c62828);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding: 0.25rem 0.7rem;
    border-radius: 4px;
    text-transform: uppercase;
}

/* Articles Header */
.articles-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.articles-count {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.4);
    font-family: 'Outfit', sans-serif;
}

/* Compact article grid — smaller cards */
.compact-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 1rem !important;
}

.compact-grid .news-card {
    font-size: 0.88rem;
}
.compact-grid .news-image {
    height: 140px !important;
}
.compact-grid .news-content {
    padding: 0.75rem !important;
}
.compact-grid .news-content h3 {
    font-size: 0.88rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.4rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.compact-grid .article-meta {
    font-size: 0.68rem !important;
    gap: 0.3rem !important;
    margin-top: 0.4rem !important;
    padding-top: 0.4rem !important;
    flex-wrap: wrap;
}
.compact-grid .analysis-point {
    font-size: 0.75rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: rgba(255,255,255,0.55);
    margin-bottom: 0.4rem;
}
.compact-grid .read-more {
    font-size: 0.75rem !important;
    padding: 0.3rem 0.7rem !important;
}
.compact-grid .article-actions {
    margin-top: 0.5rem !important;
    padding-top: 0.5rem !important;
}
.compact-grid .source-badge-overlay {
    font-size: 0.6rem !important;
    padding: 0.15rem 0.5rem !important;
}
.compact-grid .social-share { display: none; }

/* Load more button */
#load-more-btn {
    margin: 2rem auto;
    display: block;
    padding: 0.7rem 2rem;
    font-size: 0.85rem;
    border-radius: 30px;
    letter-spacing: 0.05em;
}

/* Gallery item role links — compact version */
.gallery-role-links {
    margin-top: 0.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: center;
}
.role-link-sm {
    font-size: 0.72rem !important;
    padding: 0.3rem 0.7rem !important;
}

/* News Engine - Status Messages */
.loading-placeholder {
    display: none;
    text-align: center;
    padding: 3rem 1rem;
}
.no-results-placeholder {
    display: none;
    text-align: center;
    padding: 5rem 2rem;
}
.no-results-placeholder h3 {
    color: var(--ro-blue);
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
}
.no-results-placeholder p {
    color: #666;
}

/* Spinner for loading */
.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0,0,0,0.1);
    border-top: 4px solid var(--ro-gold, #c5a45d);
    border-radius: 50%;
    margin: 0 auto;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Active Source Pill */
.source-pill.active {
    background: var(--ro-gold, #c5a45d) !important;
    color: #000 !important;
    border-color: var(--ro-gold) !important;
    box-shadow: 0 4px 12px rgba(197,164,93,0.3);
}

/* Reveal animation on articles */
.news-card {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.5s ease forwards;
}
@keyframes fadeInUp {
    to { opacity: 1; transform: translateY(0); }
}

/* ========================================================
   HISTORY GALLERY & MEDIA STYLES
   ======================================================== */
.history-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 2rem !important;
    padding: 2rem 0 !important;
}

.history-item {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(212, 160, 23, 0.15) !important;
    border-radius: var(--card-radius) !important;
    overflow: hidden !important;
    transition: var(--transition-bounce) !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
}

.history-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 35px rgba(0, 43, 127, 0.15) !important;
    border-color: var(--ro-gold) !important;
}

.image-wrapper, .video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    background: #000;
    overflow: hidden;
}

.image-wrapper img, .video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.media-overlay {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
}

.media-type-tag {
    background: rgba(0, 0, 0, 0.6);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    letter-spacing: 0.05em;
}

.history-item figcaption {
    padding: 1.5rem !important;
    flex-grow: 1;
    background: linear-gradient(to bottom, rgba(255,255,255,0.02), rgba(255,255,255,0.05));
    border-top: 1px solid rgba(212, 160, 23, 0.1);
}

.history-item h4 {
    margin-bottom: 0.5rem !important;
    font-size: 1.1rem !important;
    color: var(--ro-blue) !important;
}

.history-item p {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    opacity: 0.8 !important;
    margin: 0 !important;
}

/* ========================================================
   PREMIUM NEWS CARD & CTA ENHANCEMENTS
   ======================================================== */
.news-card {
    background: rgba(255, 255, 255, 0.7) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(212, 160, 23, 0.12) !important;
    box-shadow: 0 8px 32px rgba(0, 43, 127, 0.05) !important;
    transition: var(--transition-smooth) !important;
}

.news-card:hover {
    background: rgba(255, 255, 255, 0.9) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 40px rgba(0, 43, 127, 0.1) !important;
    border-color: rgba(212, 160, 23, 0.3) !important;
}

.news-content h3 {
    margin: 0.8rem 0 !important;
    font-size: 1.2rem !important;
    color: var(--ro-blue) !important;
    font-weight: 700 !important;
}

.news-footer {
    margin-top: 1.5rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* Premium news CTA Button */
.news-link-btn {
    display: inline-block !important;
    background: linear-gradient(135deg, var(--ro-blue) 0%, #001f5c 100%) !important;
    color: #fff !important;
    padding: 0.8rem 1.6rem !important;
    border-radius: var(--btn-radius) !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    transition: var(--transition-bounce) !important;
    box-shadow: 0 4px 15px rgba(0, 43, 127, 0.2) !important;
    border: none !important;
    text-align: center;
}

.news-link-btn:hover {
    transform: scale(1.05) translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0, 43, 127, 0.3) !important;
    background: linear-gradient(135deg, #001f5c 0%, var(--ro-blue) 100%) !important;
    text-decoration: none !important;
}

/* Ergonomic improvements for pills & filters */
.source-pill, .filter-btn {
    padding: 0.5rem 1.2rem !important; /* Larger click-targets */
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.85rem !important;
}

/* Fix for mobile scroll reveal overlap */
.page-layout {
    overflow-x: hidden !important;
}

/* ===== COMMUNITY MAP ENHANCEMENTS ===== */
.community-map-section {
    margin-top: 3rem;
    padding: 2.5rem;
    background: rgba(255, 250, 240, 0.4);
    border-radius: var(--card-radius);
    border: 1px solid rgba(212, 160, 23, 0.2);
    box-shadow: inset 0 0 100px rgba(212, 160, 23, 0.05);
}

.map-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2rem;
    margin-top: 1.5rem;
    min-height: 500px;
}

.map-container {
    height: 500px;
    width: 100%;
    border-radius: 12px;
    border: 2px solid var(--ro-gold);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    z-index: 1;
    /* Parchment effect for the map tiles */
    filter: sepia(0.2) brightness(0.95) contrast(1.05);
}

.map-info-panel {
    background: var(--ro-cream);
    padding: 2rem;
    border-radius: 12px;
    border: 1px solid rgba(212, 160, 23, 0.3);
    box-shadow: 8px 8px 0 rgba(212, 160, 23, 0.1);
}

.map-info-panel h3 {
    font-family: var(--font-display);
    color: var(--ro-blue);
    margin-bottom: 1rem;
    border-bottom: 2px solid var(--ro-yellow);
    padding-bottom: 0.5rem;
}

.region-stats {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.stat-item {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0.5rem;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
}

.stat-label {
    font-weight: 600;
    color: var(--text-medium);
}

.stat-value {
    color: var(--ro-red);
    font-weight: 800;
}

.map-tabs {
    display: flex;
    gap: 1rem;
}

.map-tab-btn {
    padding: 0.6rem 1.2rem;
    border-radius: 30px;
    border: 1px solid var(--ro-gold);
    background: transparent;
    color: var(--ro-blue);
    cursor: pointer;
    transition: var(--transition-smooth);
    font-weight: 600;
}

.map-tab-btn.active {
    background: var(--ro-gold);
    color: white;
}

/* Global Parchment Texture Overlay (Very subtle) */
body::after {
    content: "";
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    opacity: 0.03;
    z-index: 9999;
    pointer-events: none;
    background-image: url("https://www.transparenttextures.com/patterns/paper.png");
}

@media (max-width: 900px) {
    .map-layout {
        grid-template-columns: 1fr;
    }
    .map-container {
        height: 350px;
    }
}

/* ===== UNIFIED SIDEBAR BANNERS (Repairs) ===== */
.rolling-media-section, .mandatory-reading-section {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(212, 160, 23, 0.3);
}

.banner-title {
    font-size: 1.1rem;
    color: var(--ro-blue);
    margin-bottom: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Container shared for both Media and PDF reels */
.media-reel-container, .pdf-rolling-container {
    height: 350px;
    overflow: hidden;
    position: relative;
    border-radius: 12px;
    background: #000;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    border: 1px solid var(--ro-gold);
}

.pdf-rolling-container {
    background: #fff;
}

.media-reel-track, .pdf-rolling-track {
    display: flex;
    flex-direction: column;
    animation: sidebar-scroll 45s linear infinite;
}

@keyframes sidebar-scroll {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}

.media-reel-track:hover, .pdf-rolling-track:hover {
    animation-play-state: paused;
}

/* Media Items */
.reel-item {
    height: 180px;
    flex-shrink: 0;
    padding: 0.5rem;
}
.reel-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    filter: brightness(0.8);
    transition: filter 0.3s;
}
.reel-video:hover {
    filter: brightness(1.1);
}

/* PDF Items */
.pdf-item {
    height: 90px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid #f0f0f0;
}
.pdf-icon { font-size: 1.5rem; }
.pdf-info { flex: 1; }
.pdf-name { 
    display: block; 
    font-size: 0.9rem; 
    font-weight: 600; 
    color: var(--ro-blue);
    margin-bottom: 0.3rem;
}
.pdf-download-link {
    font-size: 0.75rem;
    color: var(--ro-red);
    text-decoration: none;
    font-weight: 700;
}
.pdf-download-link:hover { text-decoration: underline; }

.reel-video-thumb {
    position: relative;
    height: 100px;
    width: 100%;
}

.video-play-icon {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(230, 0, 35, 0.8);
    color: white;
    width: 30px; height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8rem;
}

/* ===== LIBRARY ORDERED NEWS GRID ===== */
.news-library-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important; /* 2 articles per row as requested */
    gap: 2.5rem !important;
    padding: 1rem 0 !important;
}

@media (max-width: 992px) {
    .news-library-grid {
        grid-template-columns: 1fr !important;
    }
}

/* --- BIBLIOTEQUE (Library Book) Styles --- */
.library-book-card {
    background: #fff;
    border-radius: 4px 8px 8px 4px;
    box-shadow: 10px 10px 25px rgba(0,0,0,0.15);
    border-left: 18px solid var(--ro-blue); /* Book Spine */
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease;
    height: 480px;
    display: flex;
    flex-direction: column;
    position: relative;
    perspective: 1000px;
    border: 1px solid rgba(0,0,0,0.08);
}

.library-book-card:hover {
    transform: translateX(12px) rotateY(-8deg) scale(1.02);
    box-shadow: 20px 25px 40px rgba(0,0,0,0.2);
    z-index: 10;
}

.library-book-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.25) 0%, transparent 2%, transparent 98%, rgba(0,0,0,0.1) 100%);
    pointer-events: none;
    border-radius: inherit;
}

.library-book-card .book-spine-accent {
    position: absolute;
    left: -18px;
    top: 0;
    bottom: 0;
    width: 18px;
    background: linear-gradient(to bottom, rgba(255,255,255,0.1), transparent 15%, transparent 85%, rgba(0,0,0,0.1));
    border-right: 1px solid rgba(255,255,255,0.2);
}

.library-book-card .book-cover {
    height: 220px;
    width: 100%;
    overflow: hidden;
    position: relative;
    border-bottom: 2px solid var(--ro-gold);
}

.library-book-card .book-details {
    padding: 1.75rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #fff 0%, #fdfcf8 100%);
}

.library-book-card .book-category {
    font-size: 0.75rem;
    letter-spacing: 1.5px;
    color: var(--ro-red);
    font-weight: 800;
    margin-bottom: 0.5rem;
}

.library-book-card .book-title {
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--ro-blue);
    line-height: 1.2;
    margin-bottom: 1rem;
    font-weight: 700;
}

.book-excerpt {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.book-footer {
    margin-top: auto;
    padding: 1rem;
    border-top: 1px solid #eee;
}

/* History Gallery Improvements (Normal Dimensions) */
.history-grid-refined {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
}

.history-item.normal-dim {
    height: 350px !important;
}

.history-item.normal-dim .image-wrapper,
.history-item.normal-dim .video-wrapper {
    height: 220px !important;
}

/* ===== GLOBAL CONTENT OVERFLOW PREVENTION ===== */
/* Prevent ANY child of .main-content from overflowing right */
.main-content > * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.main-content img,
.main-content video,
.main-content iframe {
    max-width: 100% !important;
    height: auto !important;
}

.main-content .principles-grid,
.main-content .civism-content,
.main-content .motifs-showcase,
.main-content .cap-de-bour-inner,
.main-content .founder-card,
.main-content .ion-coja-card {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* ===== ABOUT PAGE GALLERY - NORMAL DIMENSIONS ===== */
.history-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 1.5rem !important;
    max-width: 100% !important;
}

.history-item {
    height: 320px !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

.history-item .image-wrapper,
.history-item .video-wrapper {
    height: 200px !important;
    overflow: hidden !important;
}

.history-item .image-wrapper img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
}

.history-item video {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
}

/* ===== MANDATORY READING WIDGET (Lectura Obligatorie) ===== */
.mandatory-reading-widget {
    background: #fdf5e6 !important; /* Solid parchment (Old Lace) for perfect contrast */
    border-radius: 12px !important;
    border: 2px solid var(--ro-gold) !important;
    padding: 1.5rem 1.25rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 12px 30px rgba(0, 43, 127, 0.15) !important;
    border-top: 5px solid var(--ro-blue) !important;
    position: relative;
    overflow: hidden;
}

.mandatory-reading-widget::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: url('./photos/romotifs1.png') center/500px repeat;
    opacity: 0.04;
    pointer-events: none;
}

.mandatory-reading-widget h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1.1rem !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 1.25rem !important;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    border-bottom: 2px solid var(--ro-gold);
    padding-bottom: 0.6rem !important;
}

.pdf-list-container {
    max-height: 450px;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.pdf-list-container::-webkit-scrollbar {
    width: 6px;
}
.pdf-list-container::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
}
.pdf-list-container::-webkit-scrollbar-thumb {
    background: var(--ro-blue);
    border-radius: 3px;
}

.pdf-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.75rem 0.5rem;
    border-bottom: 1px solid rgba(212, 160, 23, 0.15);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none !important;
    color: #2c3e50 !important; /* Deep dark blue-gray */
}

.pdf-item:last-child {
    border-bottom: none;
}

.pdf-item:hover {
    background: rgba(212, 160, 23, 0.08); /* Gold hint on hover */
    transform: translateX(8px);
}

.pdf-icon {
    font-size: 1.4rem;
    color: #c0392b; /* Slightly darker PDF Red */
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.pdf-info {
    flex: 1;
}

.pdf-title {
    display: block;
    font-size: 0.88rem;
    font-weight: 800; /* Bolder titles for maximum contrast */
    color: #111 !important; /* Pitch black for absolute contrast */
    line-height: 1.4;
    margin-bottom: 0.25rem;
}

.pdf-meta {
    display: block;
    font-size: 0.65rem;
    color: #444; /* Darker meta text */
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.8px;
}
/* ===== MANDATORY READING WIDGET (Lectura Obligatorie) ===== */
.mandatory-reading-widget {
    background: rgba(255, 255, 255, 0.7) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 43, 127, 0.15) !important;
    padding: 1.5rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    border-left: 6px solid var(--ro-blue) !important;
}

.mandatory-reading-widget h3 {
    font-family: var(--font-display) !important;
    color: var(--ro-blue) !important;
    font-size: 1.25rem !important;
    margin-bottom: 1rem !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pdf-list-container {
    max-height: 400px;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.pdf-list-container::-webkit-scrollbar {
    width: 6px;
}
.pdf-list-container::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
}
.pdf-list-container::-webkit-scrollbar-thumb {
    background: var(--ro-blue);
    border-radius: 3px;
}

.pdf-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    transition: background 0.2s ease;
    text-decoration: none !important;
}

.pdf-item:last-child {
    border-bottom: none;
}

.pdf-item:hover {
    background: rgba(0, 43, 127, 0.04);
}

.pdf-icon {
    font-size: 1.25rem;
    margin-top: 0.1rem;
}

.pdf-info {
    flex: 1;
}

.pdf-title {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #444;
    line-height: 1.3;
    margin-bottom: 0.2rem;
}

.pdf-meta {
    display: block;
    font-size: 0.75rem;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.history-item figcaption {
    padding: 0.8rem 1rem !important;
    background: #fff;
    height: 120px;
    overflow: hidden;
}

.history-item figcaption h4 {
    font-size: 0.95rem !important;
    margin-bottom: 0.3rem !important;
    color: var(--ro-blue);
}

.history-item figcaption p {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
    color: #555;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== MOTIF GALLERY ===== */
.motif-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 10px;
    margin-bottom: 1.5rem;
    padding: 10px;
    background: rgba(0,0,0,0.03);
    border-radius: 8px;
}

.motif-gallery-img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid rgba(212,160,23,0.3);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative; /* Ensure it stays in layout context */
}

.motif-gallery-img:hover {
    transform: scale(1.15) translateY(-5px);
    z-index: 50; /* High z-index to stay on top */
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    border-color: var(--ro-gold);
    filter: brightness(1.1);
    position: relative; /* Mandatory for z-index */
}

/* Specific layout for 5 items in a 3-column grid */
.motif-gallery-img:nth-child(4) {
    grid-column: 1 / span 1;
}
.motif-gallery-img:nth-child(5) {
    grid-column: 2 / span 1;
}

/* ===== PREMIUM NEWS ARTICLE CARD ===== */
.news-article-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 43, 127, 0.08);
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(212, 160, 23, 0.2);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 100%;
    position: relative;
}

.news-article-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 43, 127, 0.15);
    border-color: var(--ro-yellow);
}

.news-article-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: linear-gradient(to bottom, var(--ro-blue), var(--ro-yellow), var(--ro-red));
}

.news-article-card .book-cover {
    height: 220px;
    position: relative;
    overflow: hidden;
}

.news-article-card .book-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.news-article-card:hover .book-cover img {
    transform: scale(1.08);
}

.news-article-card .book-details {
    padding: 2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.news-article-card .book-category {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--ro-red);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0.75rem;
}

.news-article-card .book-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--ro-blue);
    line-height: 1.3;
    margin-bottom: 1rem;
    font-weight: 700;
}

.news-article-card .book-excerpt {
    font-size: 0.95rem;
    color: #444;
    line-height: 1.6;
    margin-bottom: 2rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-article-card .book-footer {
    margin-top: auto;
    padding: 1.5rem 2rem;
    border-top: 1px solid rgba(0,0,0,0.05);
    background: rgba(0,0,0,0.02);
}

.news-link-btn {
    display: inline-block;
    color: var(--ro-blue);
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.news-link-btn:hover {
    color: var(--ro-red);
}

/* Responsiveness overrides */
@media (max-width: 1100px) {
    .role-models-grid,
    .brancusi-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .role-models-grid,
    .brancusi-gallery,
    .motif-gallery {
        grid-template-columns: 1fr;
    }
    .motif-gallery-img {
        height: 200px;
    }
}

/* ===== SIDEBAR PREMIUM BANNERS & COLLECTIONS ===== */
.sidebar-banner-premium {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    text-decoration: none !important;
    transition: var(--transition-smooth);
    border: 1px solid rgba(255, 255, 255, 0.15);
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(0, 43, 127, 0.92) 0%, rgba(13, 27, 42, 0.95) 100%) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    color: #fff !important;
}

.sidebar-banner-premium::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 4px; height: 100%;
    background: var(--ro-gold);
}

.sidebar-banner-premium:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 43, 127, 0.12);
    border-color: var(--ro-gold);
}

.banner-icon-wrapper {
    width: 80px;
    height: 80px;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    border: 2px solid rgba(212, 160, 23, 0.5);
    transition: var(--transition-smooth);
}

.sidebar-banner-premium:hover .banner-icon-wrapper {
    transform: rotate(5deg) scale(1.1);
    background: rgba(184, 150, 62, 0.1);
}

.banner-icon-svg {
    width: 50px;
    height: 50px;
    fill: var(--ro-blue);
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.banner-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.banner-title {
    font-family: var(--font-display) !important;
    color: #fff !important;
    font-size: 1.15rem;
    margin-bottom: 0.25rem;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.banner-subtitle {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fcd116 !important;
    font-weight: 700;
    margin-bottom: 0.75rem;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

.banner-quote {
    font-style: italic;
    font-size: 0.82rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85) !important;
    margin-top: 0.5rem;
    padding: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    position: relative;
    max-width: 100%;
}

.banner-quote::before {
    content: '"';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    font-family: serif;
    font-size: 2rem;
    color: rgba(252, 209, 22, 0.4);
}

/* Specific Banner nuances */
.banner-fresca {
    background: linear-gradient(135deg, rgba(0, 43, 127, 0.9) 0%, rgba(13, 27, 42, 0.95) 100%) !important;
    border-left: 4px solid var(--ro-gold);
}

.banner-fresca .banner-title,
.banner-fresca .banner-subtitle,
.banner-fresca p {
    color: #fff !important;
}

.banner-eminescu {
    border-bottom: 3px solid var(--ro-gold);
    background: linear-gradient(135deg, rgba(0, 43, 127, 0.9) 0%, rgba(0, 31, 84, 0.95) 100%) !important;
}

.banner-brancusi {
    border-bottom: 3px solid var(--ro-red);
    background: linear-gradient(135deg, rgba(139, 0, 0, 0.85) 0%, rgba(0, 43, 127, 0.9) 100%) !important;
}

.banner-enescu {
    border-bottom: 3px solid #4caf50;
    background: linear-gradient(135deg, rgba(27, 94, 32, 0.88) 0%, rgba(0, 43, 127, 0.9) 100%) !important;
}

.banner-iorga {
    border-bottom: 3px solid #fcd116;
    background: linear-gradient(135deg, rgba(0, 43, 127, 0.92) 0%, rgba(21, 101, 192, 0.88) 100%) !important;
}

.banner-paulescu {
    border-bottom: 3px solid #ce93d8;
    background: linear-gradient(135deg, rgba(74, 20, 140, 0.85) 0%, rgba(0, 43, 127, 0.9) 100%) !important;
}

.banner-bio {
    font-size: 0.78rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-top: 0.5rem;
    padding: 0;
    text-align: center;
}

/* Cultural banner rotation - hidden banners */
.cultural-banner-hidden {
    display: none !important;
}
.sidebar::-webkit-scrollbar {
    width: 5px;
}
/* ===== FOUNDER NEWS LINKS (About Page) ===== */
.founder-news-links {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(212, 160, 23, 0.2);
}

.btn-news {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 1.25rem;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: var(--transition-bounce);
    border: 1px solid rgba(184, 150, 62, 0.3);
}

.btn-news-rationala {
    background: #fdfcf0;
    color: #4a3b1a;
}

.btn-news-rationala:hover {
    background: #f9f4d7;
    border-color: #b8963e;
    transform: translateY(-3px);
}

.btn-news-incorect {
    background: #fffafa;
    color: #8b0000;
    border-color: rgba(139, 0, 0, 0.2);
}

.btn-news-incorect:hover {
    background: #fff0f0;
    border-color: #8b0000;
    transform: translateY(-3px);
}

/* ===== ROLLING COSTUME GALLERY (Index Page) ===== */
.costume-rolling-gallery {
    position: relative;
    width: 100%;
    height: 280px; /* Matched to symbol-image height */
    border-radius: 12px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.costume-rolling-gallery img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    animation: costume-fade 25s infinite; /* 5s per image */
}

/* Specific delays for each of the 5 images */
.costume-rolling-gallery img:nth-child(1) { animation-delay: 0s; }
.costume-rolling-gallery img:nth-child(2) { animation-delay: 5s; }
.costume-rolling-gallery img:nth-child(3) { animation-delay: 10s; }
.costume-rolling-gallery img:nth-child(4) { animation-delay: 15s; }
.costume-rolling-gallery img:nth-child(5) { animation-delay: 20s; }

@keyframes costume-fade {
    0% { opacity: 0; transform: scale(1.05); }
    5% { opacity: 1; transform: scale(1); }
    20% { opacity: 1; transform: scale(1); }
    25% { opacity: 0; transform: scale(0.95); }
    100% { opacity: 0; }
}

.costume-rolling-gallery::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid rgba(212, 160, 23, 0.3);
    pointer-events: none;
    z-index: 10;
}

/* ===== CUCUTENI ROLLING GALLERY (Index Page) ===== */
.cucuteni-rolling-gallery {
    position: relative;
    width: 100%;
    height: 280px;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.cucuteni-rolling-gallery img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    animation: cucuteni-fade 15s infinite; /* 5s per image */
}

.cucuteni-rolling-gallery img:nth-child(1) { animation-delay: 0s; }
.cucuteni-rolling-gallery img:nth-child(2) { animation-delay: 5s; }
.cucuteni-rolling-gallery img:nth-child(3) { animation-delay: 10s; }

@keyframes cucuteni-fade {
    0% { opacity: 0; transform: scale(1.1); }
    10% { opacity: 1; transform: scale(1); }
    33% { opacity: 1; transform: scale(1); }
    43% { opacity: 0; transform: scale(0.9); }
    100% { opacity: 0; }
}

.cucuteni-rolling-gallery::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid rgba(212, 160, 23, 0.3);
    pointer-events: none;
    z-index: 10;
}
/* ===== PRINCIPLES MODAL SYSTEM (Romanism Page) ===== */
.principles-modal-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.85);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    z-index: 2000;
    display: none; /* Hidden by default */
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.principles-modal-overlay.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.principles-modal-container {
    width: 90%;
    max-width: 900px;
    height: 85vh;
    background: #fdf5e6; /* Rich Parchment */
    border-radius: 12px;
    border: 3px solid var(--ro-gold);
    position: relative;
    box-shadow: 0 25px 60px rgba(0, 43, 127, 0.4);
    transform: translateY(30px) scale(0.95);
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.principles-modal-overlay.active .principles-modal-container {
    transform: translateY(0) scale(1);
}

.modal-header {
    padding: 2rem;
    background: linear-gradient(135deg, var(--ro-blue) 0%, #001a4d 100%);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--ro-gold);
}

.modal-header h2 {
    color: white !important;
    margin: 0 !important;
    font-family: var(--font-display) !important;
    font-size: 1.8rem !important;
}

.btn-close-modal {
    background: none;
    border: 2px solid rgba(255, 255, 255, 0.4);
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--transition-bounce);
}

.btn-close-modal:hover {
    background: var(--ro-red);
    border-color: var(--ro-red);
    transform: rotate(90deg);
}

.modal-body {
    padding: 3rem;
    overflow-y: auto;
    flex-grow: 1;
    line-height: 1.8;
    color: #2c2415; /* Deep aged ink color */
    font-family: var(--font-family-primary);
    font-size: 1.15rem;
    text-align: justify;
}

/* Scrollbar for modal parchment */
.modal-body::-webkit-scrollbar {
    width: 8px;
}
.modal-body::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
}
.modal-body::-webkit-scrollbar-thumb {
    background: var(--ro-gold);
    border-radius: 4px;
}

.manifesto-intro {
    font-style: italic;
    font-size: 1.3rem;
    border-left: 5px solid var(--ro-red);
    padding-left: 1.5rem;
    margin-bottom: 2.5rem;
    color: var(--ro-blue);
    font-family: var(--font-display);
}

.manifesto-section-title {
    font-family: var(--font-display);
    color: var(--ro-blue);
    font-size: 1.5rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--ro-gold);
    letter-spacing: 0.05em;
}

.principle-card {
    cursor: pointer;
    transition: var(--transition-bounce) !important;
    position: relative;
    overflow: hidden;
}

.principle-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    border-color: var(--ro-gold) !important;
    box-shadow: 0 15px 40px rgba(0, 43, 127, 0.2) !important;
}

.principle-card::after {
    content: "Apasă pentru Manifest ↗";
    position: absolute;
    bottom: 10px;
    right: 15px;
    font-size: 0.7rem;
    color: var(--ro-gold);
    font-weight: 800;
    text-transform: uppercase;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* ===== CALENDAR & EVENTS ENHANCEMENTS ===== */
.calendar-grid-wrapper {
    background: #fff;
    border: 2px solid var(--ro-gold);
    border-radius: 12px;
    padding: 2.5rem;
    margin-bottom: 4rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.calendar-title {
    font-family: var(--font-display);
    color: var(--ro-blue);
    font-size: 2rem;
    text-align: center;
    margin-bottom: 2.5rem;
    border-bottom: 2px solid var(--ro-yellow);
    display: inline-block;
    padding-bottom: 0.5rem;
}

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

.calendar-event-card {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
    background: #fcfcfc;
    border-left: 5px solid var(--ro-red);
    border-radius: 8px;
    transition: var(--transition-bounce);
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.calendar-event-card.passed {
    opacity: 0.7;
    filter: grayscale(0.5);
    border-left-color: #888;
}

.event-header-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.badge-passed {
    background: #888;
    color: white;
    font-size: 0.7rem;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-weight: 800;
}

.status-archived {
    font-style: italic;
    color: #999;
    font-size: 0.85rem;
}

/* ===== INTERACTIVE PREVIEW PANEL ===== */
.event-preview-panel {
    position: fixed;
    left: -400px; /* Hidden by default */
    top: 50%;
    transform: translateY(-50%);
    width: 350px;
    background: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 2px solid var(--ro-gold);
    border-left: none;
    border-radius: 0 20px 20px 0;
    padding: 2rem;
    box-shadow: 20px 0 50px rgba(0,0,0,0.15);
    z-index: 1000;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0;
    pointer-events: none;
}

.event-preview-panel.visible {
    left: 0;
    opacity: 1;
    pointer-events: auto;
}

.preview-card-inner h3 {
    color: var(--ro-blue);
    font-size: 1.5rem;
    margin: 0.5rem 0;
    font-family: var(--font-display);
    line-height: 1.2;
}

.preview-date-tag {
    display: inline-block;
    background: var(--ro-red);
    color: white;
    padding: 0.3rem 0.8rem;
    font-size: 0.75rem;
    font-weight: 800;
    border-radius: 50px;
    margin-bottom: 1rem;
}

.preview-loc {
    font-weight: 700;
    color: var(--ro-red);
    margin-bottom: 1rem;
}

.preview-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #444;
    margin-bottom: 1.5rem;
    border-left: 3px solid var(--ro-gold);
    padding-left: 1rem;
}

.preview-stats {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #eee;
}

.preview-badge {
    background: var(--ro-blue);
    color: white;
    font-size: 0.7rem;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-weight: 800;
}

.btn-preview-map {
    display: block;
    text-align: center;
    background: var(--ro-blue);
    color: white;
    padding: 0.8rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: 0.3s;
}

.btn-preview-map:hover {
    background: var(--ro-gold);
    transform: translateY(-2px);
}

/* ===== PREMIUM EVENTS PAGE OVERHAUL ===== */

/* 1. Sovereign Hero Section */
.premium-hero {
    height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.7)), url('./photos/events-bg.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    position: relative;
    border-bottom: 4px solid var(--ro-gold);
    overflow: hidden;
}

.hero-emblem {
    position: absolute;
    top: 40px;
    right: 40px;
    width: 220px;
    height: 220px;
    object-fit: contain;
    background: #fff;
    border-radius: 50%;
    border: 5px double var(--ro-gold);
    padding: 10px;
    filter: drop-shadow(0 15px 35px rgba(0,0,0,0.6));
    opacity: 1;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 5;
    box-shadow: inset 0 0 20px rgba(212, 175, 55, 0.3);
}

.hero-emblem:hover {
    transform: scale(1.1) rotate(10deg);
    border-color: var(--ro-red);
    box-shadow: inset 0 0 40px rgba(212, 175, 55, 0.6), 0 20px 50px rgba(0,0,0,0.8);
}

.hero-emblem:hover {
    transform: scale(1.1) rotate(5deg);
    opacity: 1;
}

.hero-eyebrow {
    font-size: 0.9rem;
    color: var(--ro-gold);
    letter-spacing: 0.3em;
    font-weight: 800;
    margin-bottom: 1rem;
    text-transform: uppercase;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.premium-hero h1 {
    font-size: 4rem;
    color: white;
    margin-bottom: 1rem;
    text-shadow: 0 4px 10px rgba(0,0,0,0.5);
}

.scroll-hint-wrapper {
    position: absolute;
    bottom: 30px;
}

.scroll-hint {
    width: 24px;
    height: 40px;
    border: 2px solid white;
    border-radius: 20px;
    position: relative;
}

.scroll-hint::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--ro-gold);
    border-radius: 50%;
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    animation: scroll-anim 2s infinite;
}

@keyframes scroll-anim {
    0% { top: 8px; opacity: 1; }
    100% { top: 25px; opacity: 0; }
}

/* 2. Calendar Refinement: Glass Premium (Downsized 25%) */
.glass-premium {
    background: rgba(255, 255, 255, 0.98) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    border: 1.5px solid var(--ro-gold) !important;
    box-shadow: 0 25px 70px rgba(0,0,0,0.15) !important;
    padding: 1.5rem !important;
    max-width: 375px !important; /* Cut 25% from 500px */
}

.btn-cal-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ro-blue) !important;
    border: 1px solid var(--ro-gold) !important;
    width: 40px !important;
    height: 40px !important;
    box-shadow: 0 4px 12px rgba(0, 43, 127, 0.2);
}

.btn-cal-nav:hover {
    background: var(--ro-red) !important;
    transform: scale(1.1);
}

/* 3. Chronicle Cards: Premium Layout */
.premium-shadow {
    box-shadow: 0 15px 50px rgba(0,0,0,0.06);
}

.premium-card {
    background: #fff !important;
    border: 1px solid #eee !important;
    border-left: 6px solid var(--ro-crimson) !important;
    box-shadow: 
        0 4px 10px rgba(139, 0, 0, 0.05),
        0 15px 35px rgba(0,0,0,0.02) !important;
    overflow: hidden;
}

.premium-card:hover {
    transform: translateY(-5px) translateX(5px) !important;
    border-left-color: var(--ro-gold) !important;
    box-shadow: 0 20px 45px rgba(0,0,0,0.08) !important;
}

.title-with-icon {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.ev-icon {
    width: 22px;
    height: 22px;
    fill: var(--ro-red);
}

.premium-card:hover .ev-icon {
    fill: var(--ro-gold);
}

.premium-ghost {
    background: transparent !important;
    border: 2px solid var(--ro-blue) !important;
    color: var(--ro-blue) !important;
    font-weight: 800;
    transition: all 0.3s ease;
    padding: 0.6rem 1.2rem;
    border-radius: 6px;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

.premium-ghost:hover {
    background: var(--ro-gold) !important;
    border-color: var(--ro-gold) !important;
    color: white !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);
}

.pulse-icon::before {
    content: "●";
    color: var(--ro-red);
    margin-right: 5px;
    animation: beacon-pulse 2s infinite;
}

@keyframes beacon-pulse {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.2); }
    100% { opacity: 1; transform: scale(1); }
}

/* 4. Sidebar: Pillars of Identity */
.sidebar-banner-premium {
    border-left: 4px solid var(--ro-gold) !important;
    background: linear-gradient(135deg, var(--ro-blue), #001a4d) !important;
    padding: 1.5rem !important;
    margin-bottom: 1.5rem;
    transition: 0.4s;
}

.sidebar-banner-premium:hover {
    background: linear-gradient(135deg, var(--ro-crimson), #800000) !important;
    transform: translateX(5px);
}

/* Custom banner specifically for donations */
.donation-widget {
    background: #fff;
    border: 2px solid var(--ro-gold);
    border-radius: 12px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
}

.donation-widget::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 5px; height: 100%;
    background: linear-gradient(to bottom, var(--ro-blue), var(--ro-red));
}

.cal-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.cal-nav h3 {
    margin: 0;
    color: var(--ro-blue);
    font-family: var(--font-display);
}

.cal-nav button {
    background: var(--ro-blue);
    color: white;
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
}

.cal-nav button:hover {
    background: var(--ro-red);
}

.cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-weight: 800;
    font-size: 0.8rem;
    color: var(--ro-red);
    margin-bottom: 0.5rem;
}

.cal-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}

.day, .day-empty {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    border-radius: 4px;
    position: relative;
}

.day {
    background: rgba(0, 43, 127, 0.05);
    color: var(--ro-blue);
    font-weight: 700;
    cursor: default;
}

.day.has-event {
    background: var(--ro-blue);
    color: white;
    font-weight: 800;
    cursor: pointer;
}

.day-passed {
    opacity: 0.5;
}

.day.has-event.day-passed {
    background: #555;
}

.event-indicator {
    position: absolute;
    bottom: 4px;
    width: 4px;
    height: 4px;
    background: var(--ro-yellow);
    border-radius: 50%;
}

.day.has-event:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.event-mini-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 60px;
    height: 70px;
    background: var(--ro-blue);
    color: white;
    border-radius: 6px;
    padding: 0.5rem;
}

.event-mini-date .day {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
    color: white;
}

.event-mini-date .month {
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ro-yellow);
}

.event-info h4 {
    margin: 0 0 0.5rem 0;
    color: var(--ro-blue);
    font-size: 1.2rem;
}

.ev-loc {
    font-weight: 700;
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 0.5rem;
}

.ev-desc {
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 1rem;
}

.ev-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px inset rgba(0,0,0,0.1);
    padding-top: 0.8rem;
}

.attending {
    font-size: 0.85rem;
    color: var(--ro-blue);
    font-weight: 700;
}

.btn-map {
    font-size: 0.8rem;
    text-decoration: none;
    color: var(--ro-red);
    font-weight: 800;
    text-transform: uppercase;
}

/* ===== GLOBAL NAVIGATION & ACCOUNT ZONE ===== */
.header-actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.account-dropdown {
    position: relative;
    display: inline-block;
}

.account-btn {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0.5rem 1rem;
    border-radius: 50px;
    color: white;
    cursor: pointer;
    transition: var(--transition-smooth);
}

.account-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.account-btn img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: white;
}

.dropdown-content {
    display: none;
    position: absolute;
    right: 0;
    background-color: white;
    min-width: 200px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1000;
    border-radius: 8px;
    overflow: hidden;
    margin-top: 10px;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    font-size: 0.95rem;
    transition: background 0.3s;
}

.dropdown-content a:hover {
    background-color: #f1f1f1;
}

.account-dropdown:hover .dropdown-content {
    display: block;
}

.btn-login {
    background: var(--ro-yellow);
    color: var(--ro-blue) !important;
    font-weight: 800;
    border: none;
    padding: 0.6rem 1.2rem;
    border-radius: 6px;
}

/* ===== LIBRARY HUB (PAGE) ===== */
.library-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 3rem;
    background: #fdf5e6;
    padding: 2rem;
    border-radius: 12px;
    border: 1px solid var(--ro-gold);
}

.library-filter-bar .search-box {
    flex: 1;
    min-width: 300px;
}

.library-filter-bar input {
    width: 100%;
    padding: 1rem 1.5rem;
    border-radius: 50px;
    border: 2px solid var(--ro-gold);
    font-size: 1.1rem;
}

.filter-groups {
    display: flex;
    gap: 0.8rem;
    align-items: center;
}

.filter-btn {
    padding: 0.6rem 1.5rem;
    border-radius: 50px;
    border: 2px solid var(--ro-blue);
    background: none;
    color: var(--ro-blue);
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
}

.filter-btn.active, .filter-btn:hover {
    background: var(--ro-blue);
    color: white;
}

.library-grid-expansive {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 2rem;
}

.library-hub-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.1);
    transition: var(--transition-bounce);
    display: flex;
    flex-direction: column;
}

.library-hub-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 43, 127, 0.1);
}

.hub-card-icon {
    font-size: 3rem;
    padding: 2.5rem;
    background: #f9f9f9;
    text-align: center;
}

.hub-card-content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.hub-card-tag {
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--ro-red);
    margin-bottom: 0.5rem;
}

.hub-card-content h3 {
    font-size: 1.15rem;
    margin-bottom: 0.5rem;
    color: var(--ro-blue);
}

.hub-card-content p {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 1.5rem;
}

.hub-card-actions {
    margin-top: auto;
}

.library-cta-full {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #fdf5e6 0%, #fff 100%);
    border: 3px dashed var(--ro-gold);
    border-radius: 12px;
    padding: 4rem;
    text-align: center;
}

.library-cta-full h3 {
    font-size: 2.5rem;
    color: var(--ro-blue);
    margin-bottom: 1.5rem;
}

.library-cta-full p {
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
}

.btn-expansive {
    font-size: 1.3rem;
    padding: 1rem 3rem;
    border-radius: 50px;
}
/* ===== FORUM & DISCUSSIONS (PROFESSIONAL) ===== */
.forum-post-card {
    background: #fff;
    border: 1px solid rgba(0,43,127,0.1);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.forum-post-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,43,127,0.1);
}

.post-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    border-bottom: 1px solid rgba(0,43,127,0.05);
    padding-bottom: 0.75rem;
}

.post-user-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.user-name {
    font-weight: 700;
    color: var(--ro-blue);
    font-family: var(--font-display);
}

.user-region.badge {
    background: var(--ro-yellow);
    color: var(--ro-blue);
    font-size: 0.7rem;
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.post-date {
    font-size: 0.8rem;
    color: #666;
    font-style: italic;
}

.post-title {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    color: var(--ro-red);
}

.post-content {
    line-height: 1.6;
    color: #333;
    margin-bottom: 1.25rem;
    white-space: pre-wrap;
}

.post-footer {
    display: flex;
    gap: 1rem;
}

.btn-text {
    background: none;
    border: none;
    color: var(--ro-blue);
    font-weight: 600;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 0;
    text-decoration: underline;
    transition: color 0.2s;
}

.btn-text:hover {
    color: var(--ro-red);
}

.no-posts {
    text-align: center;
    padding: 3rem;
    background: rgba(0,43,127,0.03);
    border: 2px dashed rgba(0,43,127,0.1);
    border-radius: 12px;
    color: #666;
    font-style: italic;
}

/* Auth Toggles */
.d-none {
    display: none !important;
}

.mt-md { margin-top: 1rem; }
.text-center { text-align: center; }

/* --- ROLLING BANNERS STYLING --- */

/* 1. PDF Rolling Banner */
.mandatory-reading-widget {
    margin-bottom: var(--spacing-xl);
}

.pdf-rolling-container {
    overflow: hidden;
    height: 320px;
    background: rgba(0, 51, 160, 0.05); /* Soft Romanian Blue */
    border-radius: 12px;
    margin-top: var(--spacing-md);
    position: relative;
    border: 1px solid var(--traditional-gold-soft);
    box-shadow: inset 0 0 20px rgba(0,0,0,0.2);
}

.pdf-rolling-track {
    display: flex;
    flex-direction: column;
    animation: scrollPDF 45s linear infinite;
    padding: var(--spacing-sm);
}

.pdf-rolling-track:hover {
    animation-play-state: paused;
}

@keyframes scrollPDF {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}

.pdf-item {
    display: flex;
    align-items: center;
    padding: 15px;
    margin-bottom: 12px;
    background: linear-gradient(135deg, rgba(0, 51, 160, 0.3), rgba(0, 51, 160, 0.1));
    border-radius: 8px;
    border: 1px solid rgba(212, 175, 55, 0.2);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    color: white !important;
}

.pdf-item:hover {
    background: rgba(0, 51, 160, 0.5);
    border-color: var(--romanian-yellow);
    transform: translateX(8px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.pdf-icon { font-size: 1.5rem; margin-right: 15px; }
.pdf-title { display: block; font-weight: 600; font-size: 0.95rem; margin-bottom: 4px; }
.pdf-meta { display: block; font-size: 0.75rem; color: var(--romanian-yellow); opacity: 0.8; text-transform: uppercase; letter-spacing: 1px; }

/* 2. Media Reel Rolling Banner */
/* Sidebar styles consolidated above */

/* ========================================================
   FORUM & COMMUNITY CUSTOM UI
   ======================================================== */
.forum-table-wrapper {
    overflow-x: auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.forum-table {
    width: 100%;
    border-collapse: collapse;
}
.forum-table th {
    background: var(--ro-blue);
    color: white;
    padding: 1rem;
    text-align: left;
    font-size: 0.9rem;
}
.forum-table td {
    padding: 1rem;
    border-bottom: 1px solid #eee;
    vertical-align: top;
}
.forum-thread-row:hover {
    background: rgba(212, 160, 23, 0.05);
}

/* ========================================================
   FRIENDLY SITES GRID
   ======================================================== */
.friendly-sites-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.friendly-site-card {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    background: #fff;
    padding: 0.8rem 1rem;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.friendly-site-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0, 43, 127, 0.15);
    border-color: var(--ro-gold);
}
.fsc-icon {
    font-size: 1.5rem;
}
.fsc-info h4 {
    margin: 0;
    font-size: 0.95rem;
    color: var(--ro-blue);
}
.fsc-info p {
    margin: 0;
    font-size: 0.75rem;
    color: #666;
}

/* ========================================================
   VIDEO HUB GRID
   ======================================================== */
.video-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}
.video-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.video-card video {
    width: 100%;
    height: 180px;
    object-fit: cover;
    background: #000;
}
.video-card .video-info {
    padding: 1rem;
}
.video-card .video-info h4 {
    margin: 0 0 0.4rem 0;
    color: var(--ro-blue);
    font-size: 0.95rem;
}
.video-card .video-info p {
    margin: 0;
    font-size: 0.8rem;
    color: #555;
}

/* ========================================================
   LIBRARY HUB (Simple Lists & Manifests)
   ======================================================== */
.library-manifests-section h3 {
    color: var(--ro-gold); 
    border-bottom: 2px solid var(--ro-gold); 
    padding-bottom: 0.5rem; 
    margin-bottom: 1rem; 
    text-transform: uppercase; 
    letter-spacing: 1px;
}
.manifest-grid {
    display:flex; 
    flex-wrap:wrap; 
    gap:1rem; 
    margin-bottom: 2rem;
}
.manifest-small-card {
    flex: 1 1 300px; 
    padding: 1rem; 
    background: #fff; 
    border: 1px solid rgba(0,43,127,0.1); 
    border-left: 4px solid var(--ro-gold); 
    border-radius: 4px; 
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 1rem; 
    transition: transform 0.2s, box-shadow 0.2s;
}
.manifest-small-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}
.manifest-small-card h4 {
    margin:0; 
    color: var(--ro-blue); 
    font-size:1.1rem;
}
.manifest-small-card p {
    margin: 0; 
    font-size: 0.8rem; 
    color: #666;
}

.library-others-section h3 {
    color: var(--ro-blue); 
    border-bottom: 2px solid var(--ro-blue); 
    padding-bottom: 0.5rem; 
    margin-bottom: 1rem; 
    text-transform: uppercase; 
    letter-spacing: 1px;
}
.library-simple-list {
    list-style-type: none; 
    padding: 0; 
    margin: 0;
}
.library-simple-list-item {
    padding: 0.8rem 0; 
    border-bottom: 1px dashed #ccc; 
    display: flex; 
    align-items: center; 
    gap: 0.8rem;
}
.library-simple-list-item a {
    text-decoration: none; 
    color: #333; 
    font-weight: 500; 
    font-size: 1.05rem; 
    transition: color 0.2s;
}
.library-simple-list-item a:hover {
    color: var(--ro-blue);
}

/* ========================================================
   PLATFORM UTILITIES
   ======================================================== */
.mb-1rem {
    margin-bottom: 1rem !important;
}

/* ========================================================
   COMMUNITY & FORUM ENHANCEMENTS
   ======================================================== */
.forum-actions {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.forum-actions h3 {
    margin: 0;
    color: var(--ro-blue);
    font-size: 1.4rem;
    border-left: 4px solid var(--ro-gold);
    padding-left: 1rem;
}
.post-form {
    background: #fdfdfd;
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid rgba(0,43,127,0.1);
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}
.comment-form-area {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(212, 160, 23, 0.2);
}
.reply-textarea {
    width: 100%;
    margin-bottom: 1rem;
    border-radius: 6px;
    border: 1px solid #ddd;
    padding: 1rem;
    font-family: inherit;
    transition: border-color 0.2s;
    background: #fff;
}
.reply-textarea:focus {
    outline: none;
    border-color: var(--ro-gold);
    box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.1);
}

.region-actions {
    margin-top: 1.5rem !important;
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
    display: none; /* Controlled via script.js by removing d-none and changing to flex */
}

.btn-region-action {
    flex: 1 !important;
    font-size: 0.8rem !important;
    padding: 0.5rem !important;
    min-width: 120px;
}

/* ========================================================
   VIDEO HUB & LAYOUT UTILITIES
   ======================================================== */
.video-hub-section {
    margin-top: 4rem;
    border-top: 2px solid rgba(0,43,127,0.05);
    padding-top: 3rem;
}
.loading-placeholder {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem;
    width: 100%;
}
.load-more-container {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}
.center-text {
    text-align: center;
}
.spaced-padding {
    padding: 2rem;
}

/* ===== HOME PAGE SECTION REPAIRS ===== */

.donation-banner-section {
    background: linear-gradient(135deg, var(--ro-blue) 0%, #001a4d 100%) !important;
    color: white !important;
    padding: 3.5rem !important;
    border-radius: var(--card-radius) !important;
    margin-bottom: 3.5rem !important;
    text-align: center !important;
    border: 2px solid var(--ro-gold) !important;
    box-shadow: 0 15px 45px rgba(0, 43, 127, 0.25) !important;
    position: relative;
    overflow: hidden;
    min-height: 200px;
}

.donation-banner-section::before,
.romanian-motif-bg::before,
.sidebar-motif-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('./photos/romotifs1.png') repeat;
    opacity: 0.1;
    pointer-events: none;
    z-index: -1;
}

.donation-banner-section h2 {
    color: white !important;
    font-size: 2.2rem !important;
    margin-bottom: 1.2rem !important;
}

.donation-banner-section p {
    color: rgba(255,255,255,0.9) !important;
    font-size: 1.15rem !important;
    max-width: 700px;
    margin: 0 auto 2.5rem !important;
}

.donation-actions {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}

.btn-donate {
    background: var(--ro-gold) !important;
    color: var(--ro-blue) !important;
    padding: 1rem 2.2rem !important;
    font-weight: 800 !important;
    border-radius: 50px !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: var(--transition-bounce) !important;
}

.btn-donate:hover {
    background: white !important;
    transform: translateY(-5px) !important;
}

.btn-donate.btn-secondary {
    background: transparent !important;
    border: 2px solid white !important;
    color: white !important;
}

/* Founder Section */
.founder-section {
    padding: 4rem 0 !important;
    border-bottom: 1px solid rgba(212,160,23,0.15) !important;
    margin-bottom: 4rem !important;
}

.founder-card {
    display: flex !important;
    gap: 3.5rem !important;
    align-items: center !important;
    background: white !important;
    padding: 3rem !important;
    border-radius: var(--card-radius) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.08) !important;
    border: 1px solid rgba(184,150,62,0.1) !important;
}

.founder-image {
    flex: 0 0 320px !important;
    height: 320px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 6px solid var(--ro-gold) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15) !important;
}

.founder-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.founder-info {
    flex: 1 !important;
}

.founder-info h3 {
    font-size: 2.2rem !important;
    color: var(--ro-blue) !important;
    margin-bottom: 0.5rem !important;
    font-family: var(--font-display) !important;
}

.founder-info p {
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 1.5rem !important;
}

.featured-events {
    margin-bottom: 5rem !important;
}

.events-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)) !important;
    gap: 2rem !important;
    margin-top: 2rem !important;
}

.event-card {
    background: white !important;
    border-radius: var(--card-radius) !important;
    overflow: hidden !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.06) !important;
    border-bottom: 4px solid var(--ro-red) !important;
    height: 100% !important;
}

.event-image img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
}

.event-card-content {
    padding: 1.5rem !important;
}

@media (max-width: 900px) {
    .founder-card {
        flex-direction: column !important;
        text-align: center !important;
        padding: 2rem !important;
    }
    .founder-image {
        flex: 0 0 240px !important;
        height: 240px !important;
    }
}


/* --- EMERGENCY VISIBILITY OVERRIDE --- */
/* If the JS intersection observer fails, ensure content is still visible after 3 seconds */
@keyframes force-reveal {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Fallback for when JS might be disabled or slow */
.reveal, .reveal-left, .reveal-right {
    animation: force-reveal 0.5s ease-out forwards;
    animation-delay: 3s; /* Delay to give JS a chance to do it better first */
}

/* Ensure active elements don't wait for the delay */
.reveal.active, .reveal-left.active, .reveal-right.active {
    animation: none;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* --- PREMIUM LOAD MORE BUTTON DESIGN --- */
.load-more-container {
    text-align: center !important;
    margin: 3rem 0 !important;
}

#load-more-btn, #video-load-more-btn {
    background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0)) !important;
    color: var(--ro-blue) !important;
    border: 2px solid var(--ro-blue) !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    padding: 0.85rem 2.5rem !important;
    border-radius: 50px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    box-shadow: 0 4px 15px rgba(0,43,127,0.1) !important;
}

#load-more-btn:hover, #video-load-more-btn:hover {
    background: var(--ro-blue) !important;
    color: #fff !important;
    box-shadow: 0 8px 25px rgba(0,43,127,0.3) !important;
    transform: translateY(-3px) !important;
}

/* GLOBAL PREMIUM BUTTON NORMALIZATION */
.btn {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15), inset 0 2px 4px rgba(255, 255, 255, 0.1) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
    transform: perspective(1px) translateY(0) !important;
}

.btn:active {
    transform: scale(0.96) !important;
}

/* PREMIUM BANNERS NORMALIZATION */
.sidebar-banner-premium, .page-hero, .event-card, .wallet-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease !important;
}

.sidebar-banner-premium::after, .wallet-card::after {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
    z-index: 10;
}

.sidebar-banner-premium:hover::after, .wallet-card:hover::after {
    opacity: 1 !important;
}

/* Normalize Wallet Cards */
.wallet-card {
    background: linear-gradient(145deg, #ffffff, #f9f9f9) !important;
    box-shadow: 10px 10px 30px rgba(0,43,127,0.06), -10px -10px 30px rgba(255,255,255,0.8) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(0,43,127, 0.05) !important;
}

.wallet-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    box-shadow: 0 15px 35px rgba(0,43,127, 0.15) !important;
}

.coin-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
}

.coin-icon svg {
    width: 65px !important;
    height: 65px !important;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.15)) !important;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.wallet-card:hover .coin-icon svg {
    transform: rotate(10deg) scale(1.15) !important;
    filter: drop-shadow(0 8px 12px rgba(212,160,23,0.3)) !important;
}

.wallet-address-box {
    margin-top: 15px;
}

/* Glow efffect on headers */
h1, h2, h3 {
    text-shadow: 0 1px 3px rgba(0,43,127,0.15) !important;
}
/* Utility Classes */
.mt-sm { margin-top: 1rem; }
.mt-md { margin-top: 2rem; }
.btn-full { width: 100%; display: block; text-align: center; }
.txt-center { text-align: center; }
.crypto-note { font-size: 0.85rem; color: #666; margin-top: 1rem; }
.region-select-input { max-width: 250px; }

/* ===== ACCOUNT DASHBOARD STYLES ===== */
.account-hero {
    background: linear-gradient(135deg, rgba(0,43,127,0.9), rgba(0,43,127,0.7)), url('./photos/emblem-wolf-claw.png') no-repeat center right 10%;
    background-size: 200px;
}

.account-dashboard {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.account-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 2rem;
}

.account-grid-secondary {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
}

@media (max-width: 900px) {
    .account-grid, .account-grid-secondary {
        grid-template-columns: 1fr;
    }
}

.account-card {
    background: #fff;
    border: 1px solid rgba(0,43,127,0.08);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    position: relative;
    overflow: hidden;
}

.account-card h3 {
    margin-top: 0;
    margin-bottom: 1.5rem;
    color: var(--ro-blue);
    border-bottom: 2px solid rgba(212,160,23,0.2);
    padding-bottom: 0.5rem;
}

/* Profile specific */
.profile-card {
    text-align: center;
    border-top: 4px solid var(--ro-gold);
}

.avatar-container {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    margin: 0 auto 1.5rem auto;
    background: #f0f4f8;
    position: relative;
    border: 3px solid var(--ro-yellow);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.avatar-upload-btn {
    position: absolute;
    bottom: -5px;
    right: 0;
    background: var(--ro-blue);
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.2rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: transform 0.2s;
}

.avatar-upload-btn:hover {
    transform: scale(1.1);
}

.account-meta {
    color: #666;
    margin-bottom: 1rem;
}

.account-badges {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1rem;
}

.badge {
    padding: 0.3rem 0.8rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-gold {
    background: var(--ro-yellow);
    color: var(--ro-blue);
}

/* Settings Toggle */
.setting-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px dotted #ccc;
}
.setting-row:last-child {
    border-bottom: none;
}

.setting-info h4 {
    margin: 0 0 0.2rem 0;
    font-size: 1.1rem;
}
.setting-info p {
    margin: 0;
    font-size: 0.85rem;
    color: #666;
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 28px;
    flex-shrink: 0;
}
.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #ccc;
    transition: .4s;
}
.slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
}
input:checked + .slider {
    background-color: var(--ro-blue);
}
input:checked + .slider:before {
    transform: translateX(22px);
}
.slider.round {
    border-radius: 34px;
}
.slider.round:before {
    border-radius: 50%;
}

/* Donations */
.donations-summary {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}
.donation-stat {
    flex: 1;
    background: rgba(212,160,23,0.1);
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
    border: 1px solid rgba(212,160,23,0.2);
}
.d-value {
    display: block;
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--ro-blue);
}
.d-label {
    font-size: 0.8rem;
    color: #555;
    text-transform: uppercase;
}

/* User Recent Posts */
.user-posts-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.user-post-item {
    padding: 1rem;
    background: #fafafa;
    border: 1px solid #eee;
    border-left: 4px solid var(--ro-gold);
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
}
.user-post-item:hover {
    background: #f0f0f0;
}
.user-post-item h4 {
    margin: 0 0 0.5rem 0;
    color: var(--ro-blue);
    font-size: 1.05rem;
}
.user-post-meta {
    font-size: 0.8rem;
    color: #777;
}

/* Forum Attachments */
.post-attachment-box {
    margin-top: 1rem;
    padding: 1rem;
    background: rgba(0,0,0,0.03);
    border-radius: 8px;
    border: 1px dashed #ccc;
    font-size: 0.9rem;
}
.post-attachment-box img {
    max-width: 100%;
    max-height: 300px;
    border-radius: 6px;
    margin-top: 0.5rem;
}
.post-attachment-box video {
    max-width: 100%;
    max-height: 300px;
    border-radius: 6px;
    margin-top: 0.5rem;
}


/* ===== NEW ENHANCEMENTS FOR DONATE PAGE ===== */
.crypto-flag-wrapper {
    text-align: center;
    margin-bottom: 2rem;
}
.crypto-flag-img {
    width: 250px;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0,43,127,0.2);
    object-fit: cover;
    border: 2px solid var(--ro-yellow);
}
.xmr-address-code {
    font-size: 0.65rem;
    padding: 0.5rem;
}
.skrill-icon-large {
    font-size: 50px;
    line-height: 1;
}

/* ===== NEWS PAGE REDESIGN ===== */
.articles-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid rgba(212,160,23,0.3);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
    text-align: left;
}
.articles-header h2 {
    margin: 0;
    font-size: 1.5rem;
}
.articles-count {
    font-size: 0.85rem;
    color: #666;
    background: rgba(0,0,0,0.05);
    padding: 0.3rem 0.6rem;
    border-radius: 20px;
    font-weight: 600;
}
.news-link-btn-small {
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
    text-decoration: none;
    background: var(--ro-blue);
    color: white;
    border-radius: 6px;
    display: inline-block;
    transition: background 0.3s ease;
    font-weight: 600;
}
.news-link-btn-small:hover {
    background: var(--ro-red);
}
.btn-outline-small {
    padding: 0.5rem 1rem !important;
    font-size: 0.85rem !important;
}

/* ===== GLOBAL VIDEO MODAL ===== */
.video-modal-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.9);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.video-modal-overlay.active {
    opacity: 1;
    pointer-events: all;
}
.video-modal-content {
    position: relative;
    width: 90%;
    max-width: 900px;
}
.video-modal-content video {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    background: #000;
}
.btn-close-video {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: white;
    font-size: 1rem;
    cursor: pointer;
    font-weight: bold;
    opacity: 0.8;
}
.btn-close-video:hover {
    opacity: 1;
}
.reel-item {
    position: relative;
}

/* ============================================
   PROFESSIONAL DESIGN POLISH — PREMIUM UX
   ============================================ */

/* --- Global Smooth Transitions --- */
a, button, .btn, .nav-link, .tab-button, .filter-btn,
.news-card, .stat-card, .project-card, .event-card,
.sidebar-banner-premium, .wallet-card, .library-item {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* --- Glassmorphism Card System --- */
.stat-card,
.project-card,
.wallet-card,
.donation-widget,
.post-form,
.forum-table-wrapper {
    background: rgba(30, 30, 50, 0.65) !important;
    backdrop-filter: blur(18px) saturate(1.6) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* --- Premium Card Hover Lift --- */
.stat-card:hover,
.project-card:hover,
.wallet-card:hover,
.news-card:hover,
.event-card:hover,
.sidebar-banner-premium:hover {
    transform: translateY(-6px) scale(1.015) !important;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(212, 160, 23, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* --- Animated Gold Accent Borders on Focus --- */
.form-input:focus,
.search-field:focus-within,
.reply-textarea:focus {
    border-color: var(--gold) !important;
    box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.15), 0 0 20px rgba(212, 160, 23, 0.08) !important;
    outline: none !important;
}

/* --- Premium Button Polish --- */
.btn-primary {
    background: linear-gradient(135deg, var(--ro-blue) 0%, #1a3a6c 100%) !important;
    box-shadow: 0 4px 15px rgba(0, 43, 127, 0.3) !important;
    letter-spacing: 0.03em;
    font-weight: 600;
}
.btn-primary:hover {
    background: linear-gradient(135deg, #1a3a6c 0%, var(--ro-blue) 100%) !important;
    box-shadow: 0 8px 25px rgba(0, 43, 127, 0.4), 0 0 40px rgba(212, 160, 23, 0.1) !important;
    transform: translateY(-2px);
}
.btn-primary:active {
    transform: translateY(0px);
    box-shadow: 0 2px 8px rgba(0, 43, 127, 0.3) !important;
}

.btn-secondary {
    position: relative;
    overflow: hidden;
}
.btn-secondary::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.5s ease, height 0.5s ease;
}
.btn-secondary:hover::after {
    width: 300px;
    height: 300px;
}

/* --- Navigation Enhancement --- */
.nav-link {
    position: relative;
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--ro-blue), var(--gold), var(--ro-red));
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 2px;
}
.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
    left: 0;
}

/* --- Scroll Reveal Entrance Animations --- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
    from { opacity: 0; transform: translateX(-30px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(30px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.92); }
    to   { opacity: 1; transform: scale(1); }
}

.reveal.visible {
    animation: fadeInUp 0.7s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* --- Premium Stat Counter Pulse --- */
@keyframes statPulse {
    0%, 100% { text-shadow: 0 2px 8px rgba(0,0,0,0.4), 0 0 10px rgba(212, 160, 23, 0.3); }
    50%      { text-shadow: 0 2px 8px rgba(0,0,0,0.4), 0 0 25px rgba(212, 160, 23, 0.6), 0 0 50px rgba(212, 160, 23, 0.2); }
}
.stat-card .stat-number {
    animation: statPulse 4s ease-in-out infinite;
    color: #FFD700 !important;
    -webkit-text-fill-color: #FFD700 !important;
}

/* --- Library Item Premium Styling --- */
.library-item {
    border-left: 3px solid transparent;
    padding-left: 1rem;
}
.library-item:hover {
    border-left-color: var(--gold);
    background: rgba(212, 160, 23, 0.04) !important;
    transform: translateX(4px);
}

/* --- Sidebar Video Thumbnail Premium --- */
.sidebar-video-item {
    position: relative;
    border-radius: var(--card-radius);
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.35s ease;
}
.sidebar-video-item:hover {
    border-color: rgba(212, 160, 23, 0.3);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    transform: scale(1.02);
}
.sidebar-video-item::before {
    content: '▶';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2rem;
    color: white;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 5;
}
.sidebar-video-item:hover::before {
    opacity: 1;
}

/* --- Tab Button Enhancement --- */
.tab-button,
.map-tab-btn {
    position: relative;
    overflow: hidden;
    border-radius: 8px !important;
}
.tab-button.active,
.map-tab-btn.active {
    background: linear-gradient(135deg, var(--ro-blue), rgba(0, 43, 127, 0.8)) !important;
    box-shadow: 0 4px 15px rgba(0, 43, 127, 0.3) !important;
}

/* --- News Card Ribbon Category Tag --- */
.news-card {
    position: relative;
    overflow: hidden;
}
.news-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--ro-blue), var(--gold), var(--ro-red));
    opacity: 0;
    transition: opacity 0.3s ease;
}
.news-card:hover::before {
    opacity: 1;
}

/* --- Footer Professional Glow --- */
.site-footer {
    border-top: 1px solid rgba(212, 160, 23, 0.15) !important;
    background: linear-gradient(180deg, rgba(15, 15, 25, 0.95), rgba(10, 10, 20, 1)) !important;
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 1.5rem;
}

/* --- Loading Skeleton Shimmer --- */
@keyframes shimmer {
    0%   { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
.loading-placeholder {
    background: linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.03) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.8s ease-in-out infinite;
    border-radius: 4px;
}

/* --- Smooth Page Load Fade --- */
body {
    animation: pageLoad 0.6s ease-out;
}
@keyframes pageLoad {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* --- Enhanced Scrollbar --- */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: rgba(15, 15, 25, 0.8);
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--ro-blue), var(--gold));
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--gold), var(--ro-red));
}

/* --- Tooltip System --- */
[data-tooltip] {
    position: relative;
}
[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) scale(0.9);
    background: rgba(15, 15, 25, 0.95);
    color: var(--gold);
    padding: 0.4rem 0.8rem;
    border-radius: 6px;
    font-size: 0.75rem;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    border: 1px solid rgba(212, 160, 23, 0.2);
    z-index: 1000;
}
[data-tooltip]:hover::after {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

/* --- Focus Visible Accessibility Ring --- */
:focus-visible {
    outline: 2px solid var(--gold) !important;
    outline-offset: 3px !important;
}

/* --- Print Styles --- */
@media print {
    .site-header, .sidebar, .site-footer, .romanian-motif-bg { display: none !important; }
    .main-content { width: 100% !important; margin: 0 !important; }
    body { background: white !important; color: black !important; }
}
