/* --- Global Reset & Base Styles (COMPACT) --- */
body, p, h1, h2, h3, h4, h5, h6, ul, li {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 16px; /* Redus de la 17px */
    line-height: 1.4; /* Redus de la 1.6 */
    background-color: #f4f7f6;
    color: #333;
}

ul {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

/* --- Header Styles (COMPACT) --- */
.header {
    background-color: #1f3a5f;
    color: white;
    padding: 15px 0; /* Redus de la 20px */
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}

.header-box {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    padding: 0 10px; /* Redus de la 15px */
}

.header-text {
    font-size: 1.1em; /* Redus de la 1.2em */
    font-weight: 600;
    display: inline-block;
    color: white;
}

/* --- Main Layout: CSS Grid (COMPACT) --- */
.main-content {
    max-width: 1200px;
    margin: 15px auto; /* Redus de la 20px */
    padding: 0 10px; /* Redus de la 15px */
}

.main-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px; /* Redus de la 30px */
}

@media (min-width: 900px) {
    .main-grid {
        grid-template-columns: 2fr 1fr;
    }
    .utility-links {
        order: 1; 
    }
    .programs-list {
        order: 0;
    }
}

/* --- Section Titles (COMPACT) --- */
.section-title {
    font-size: 1.3em; /* Redus de la 1.5em */
    font-weight: 700;
    color: #1f3a5f;
    margin-bottom: 15px; /* Redus de la 20px */
    padding-bottom: 4px;
    border-bottom: 2px solid #004d99; /* Redus de la 3px */
}

/* --- Fixed Links (Top of Programs Section) - ORIZONTAL ȘI COMPACT --- */
.fixed-links-container {
    display: flex; /* Asigură așezarea pe orizontală */
    justify-content: space-around; /* Spațiază uniform */
    align-items: center;
    
    background-color: #e3f2fd; 
    padding: 10px 5px; /* Compactat */
    margin-bottom: 15px; /* Compactat */
    border-radius: 6px; 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    flex-wrap: wrap; 
}

.fixed-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #004d99;
    font-weight: 600;
    font-size: 0.85em; /* Compactat */
    transition: transform 0.2s;
    width: 30%; /* Asigură că toate trei încap pe un rând */
    padding: 5px 0; 
    min-width: 100px; 
}

.fixed-link img {
    width: 24px; /* Compactat de la 30px */
    height: 24px; /* Compactat de la 30px */
    margin-bottom: 3px; /* Compactat */
}

.fixed-link:hover {
    transform: translateY(-2px); 
    color: #007bff;
}

/* --- Program List Styles (COMPACT) --- */
.program-cards-list {
    display: grid;
    gap: 10px; /* Compactat */
}

.program-card {
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 4px; 
    transition: box-shadow 0.3s, transform 0.3s;
    overflow: hidden;
}

.program-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); 
    transform: translateY(-1px); 
}

.program-link {
    display: flex;
    align-items: center;
    padding: 10px; /* Compactat */
}

.program-icon-container {
    flex-shrink: 0;
    margin-right: 10px; /* Compactat */
}

/* NOU: Stiluri pentru emoticon */
.program-icon-emoji {
    font-size: 2em; /* Mărimea emoji-ului */
    display: block; 
    line-height: 1; /* Elimină spațiul suplimentar */
    width: 32px; /* Setăm o lățime fixă */
    height: 32px; /* Setăm o înălțime fixă */
    text-align: center;
}

.program-details {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.program-title {
    font-size: 1em; /* Compactat */
    font-weight: 600;
    color: #004d99;
}

.program-date {
    font-size: 0.85em; /* Compactat */
    color: #6c757d;
    margin-top: 2px; /* Compactat */
}

/* Icon Styles */
.program-icon-new {
    animation: pulse-green 1.5s infinite alternate;
}

@keyframes pulse-green {
    0% {
        opacity: 0.8; /* Ajustat */
        filter: drop-shadow(0 0 0 #4CAF50);
    }
    100% {
        opacity: 1;
        filter: drop-shadow(0 0 5px #4CAF50); 
    }
}

/* --- Utility Links (Sidebar) Styles (COMPACT) --- */
.utility-links {
    padding: 10px; /* Compactat */
    background-color: white;
    border-radius: 6px; 
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); 
}

.utility-links-list {
    display: grid;
    gap: 5px; /* Compactat */
}

.utility-link-item {
    border-bottom: 1px dashed #eee;
    padding-bottom: 5px; /* Compactat */
}

.utility-link-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.utility-link {
    display: flex;
    align-items: center;
    color: #333;
    font-size: 0.95em; /* Compactat */
    transition: color 0.2s, background-color 0.2s;
    padding: 3px 0; /* Compactat */
}

.utility-link img {
    width: 24px; /* Compactat de la 32px */
    height: 24px; /* Compactat de la 32px */
    margin-right: 8px; /* Compactat */
    flex-shrink: 0;
}

.utility-link span {
    font-weight: 500;
    border-bottom: 1px solid transparent;
    transition: border-bottom-color 0.2s;
}

.utility-link:hover {
    color: #004d99;
}

.utility-link:hover span {
    border-bottom-color: #004d99;
}


/* --- Footer Styles (COMPACT) --- */
.footer {
    background-color: #1f3a5f;
    color: white;
    text-align: center;
    padding: 10px; /* Compactat */
    margin-top: 20px; /* Compactat */
    font-size: 0.8em; /* Compactat */
}

/* --- Admin Form Styles (COMPACT) --- */
.admin-status {
    text-align: center;
    font-weight: bold;
    color: #d9534f;
    padding: 8px; 
    background-color: #fdd;
    border: 1px solid #f99;
    margin-bottom: 15px; 
    border-radius: 4px;
}

.admin-form-container {
    padding: 15px; 
    margin: 15px auto; 
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 6px; 
    max-width: 1000px;
    text-align: center;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
}

.form-input {
    width: 90%;
    padding: 8px; 
    margin-bottom: 8px; 
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.95em; 
}

.form-button {
    background-color: #4CAF50;
    color: white;
    padding: 8px 15px; 
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    font-size: 0.95em; 
    transition: background-color 0.2s;
}

.form-button:hover {
    background-color: #45a049;
}

.admin-link {
    color: #004d99;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 8px; 
    border-bottom: 2px solid #004d99;
    padding-bottom: 1px;
}

.program-name-admin {
    font-size: 1.1em; 
    font-weight: bold;
    color: #1f3a5f;
}

/* Stil pentru iconița 'Descărcare' (neactualizată recent) */
.program-icon-download {
    opacity: 0.7; /* Estompare cu 30% */
}

/* Restul codului CSS (de la pasul anterior) ar trebui să fie păstrat */

/* NOU: Stiluri pentru containerul de iconițe */
.program-icon-container {
    width: 36px; 
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    margin-right: 10px; 
}

/* MODIFICAT: Stiluri pentru emoticonul în sine - Dimensiune redusă la 1.5em */
.program-icon-emoji {
    font-size: 1.5em; /* Redus de la 2em la 1.5em */
    line-height: 1; 
    display: block;
    position: relative;
    top: 1px;
}

/* MODIFICAT: Animație pentru iconița 'NEW' (🔵) - Fără opacitate redusă */
.program-icon-new {
    animation: pulse-emoji 1.5s infinite alternate;
}

@keyframes pulse-emoji {
    0% {
        opacity: 0.8; 
        filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 3px #0056b3);
        transform: scale(0.95);
    }
    100% {
        opacity: 1;
        filter: drop-shadow(0 0 5px #fff);
        transform: scale(1.0);
    }
}
