/* --- STILURI GENERALE --- */
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: 'Inter', sans-serif; line-height: 1.7; color: #334155; background-color: #f1f5f9; padding: 20px; }
        .container { max-width: 1100px; margin: 40px auto; background: #ffffff; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); border-radius: 16px; overflow: hidden; padding-bottom: 30px; }
        
        /* --- ANTET: Respectarea proporțiilor conform MIV --- */
        .logos-header { 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            padding: 40px; 
            border-bottom: 1px solid #e2e8f0; 
            flex-wrap: wrap; 
            gap: 20px; 
        }
        /* Siglele Guvernului și Regio sunt setate la o înălțime mai mare pentru a nu apărea subdimensionate */
        .logo-ue { height: 65px; width: auto; }
        .logo-guvern { height: 85px; width: auto; }
        .logo-regio { height: 85px; width: auto; }
        .logo-adr { height: 75px; width: auto; }

        .content-wrapper { padding: 40px; }

        h1 { color: #0f172a; text-align: center; font-size: 2em; font-weight: 700; margin-bottom: 30px; text-transform: uppercase; }
        
        /* Imagine sugestivă sub titlu */
        .main-project-image { width: 100%; margin-bottom: 40px; text-align: center; }
        .main-project-image img { width: 100%; max-height: 450px; object-fit: cover; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }

        h2 { color: #1e40af; font-size: 1.5em; font-weight: 600; margin-top: 40px; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
        h2::before { content: ""; display: inline-block; width: 6px; height: 24px; background-color: #3b82f6; border-radius: 4px; }
        p { font-size: 1.05em; color: #475569; margin-bottom: 20px; text-align: justify; }

        /* --- GALERIE FOTO --- */
        .gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; margin-bottom: 30px; }
        .gallery-item { width: 100%; height: 180px; object-fit: cover; border-radius: 8px; cursor: pointer; transition: transform 0.3s; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
        .gallery-item:hover { transform: scale(1.03); }
        
        /* --- GALERIE VIDEO --- */
        .video-thumb { position: relative; width: 100%; height: 180px; border-radius: 8px; cursor: pointer; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
        .video-thumb img { width: 100%; height: 100%; object-fit: cover; }
        .play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 50px; height: 50px; background: rgba(0,51,153,0.8); color: white; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 20px; }

        /* --- BUTOANE --- */
        .comunicate-section { margin-top: 40px; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
        .btn-link { display: inline-flex; align-items: center; padding: 14px 24px; background: #003399; color: #ffffff; text-decoration: none; border-radius: 8px; font-weight: 600; transition: background 0.3s; }
        .btn-link:hover { background: #002266; }

        /* --- SUBSOL OBLIGATORIU MIV --- */
        .footer-exact { font-family: "Calibri"; text-align: center; max-width: 900px; margin: 40px auto 20px auto; color: #000; }
        .info-ue-section { border-top: 1px solid #999; border-bottom: 1px solid #999; padding: 20px 0; margin-bottom: 30px; font-size: 15px; }
        .info-ue-section a { color: #000; text-decoration: underline; }
        .slogan-exact { font-style: italic; font-weight: bold; font-size: 22px; margin-bottom: 20px; }
        
        /* Banda județelor - FONT OBLIGATORIU CALIBRI */
        .judete-container { 
            display: flex; 
            justify-content: center; 
            margin-bottom: 25px; 
            font-family: "Calibri"; 
        }
        .judet-box { color: #ffffff; font-weight: bold; font-size: 22px; padding: 8px 20px; }
        .box-bh { background-color: #8cd3e6; }
        .box-bn { background-color: #3bbde1; }
        .box-cj { background-color: #178ebd; }
        .box-mm { background-color: #1d649d; }
        .box-sj { background-color: #1e4a84; }
        .box-sm { background-color: #21355e; }

        .bottom-links { font-weight: bold; font-size: 18px; margin-top: 20px; }
        .bottom-links a { color: #000; text-decoration: underline; }
        .separator { margin: 0 10px; }

        /* LIGHTBOX */
        .lightbox { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); justify-content: center; align-items: center; flex-direction: column; }
        .lightbox-content { max-width: 80%; max-height: 70%; }
        .lightbox img { max-width: 100%; max-height: 80vh; display: none; }
        .lightbox video { width: 80vw; max-width: 800px; display: none; }
        .close-btn { position: absolute; top: 20px; right: 30px; color: white; font-size: 40px; cursor: pointer; }

        @media (max-width: 768px) {
            .logos-header { flex-direction: column; align-items: center; }
            .judet-box { padding: 5px 10px; font-size: 16px; }
        }