/* Galeria do portfólio + mensagens do formulário */
.project-item > a { cursor: zoom-in; }
.gal-empty { color: var(--light-gray, #d6d6d6); }
.gal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 16px; }
.gal.open { display: flex; }
.gal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.85); }
.gal-box { position: relative; width: 100%; max-width: 980px; max-height: 94vh; overflow-y: auto; background: var(--eerie-black-2, #1e1e1f); border: 1px solid var(--jet, #383838); border-radius: 20px; padding: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.gal-x { position: absolute; top: 10px; right: 10px; z-index: 3; background: var(--onyx, #383838); color: #fff; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; font-size: 22px; }
.gal-stage { position: relative; display: flex; align-items: center; justify-content: center; background: #111; border-radius: 14px; min-height: 240px; overflow: hidden; }
.gal-img { max-width: 100%; max-height: 66vh; object-fit: contain; cursor: pointer; user-select: none; }
.gal-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,.55); color: #fff; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-size: 24px; }
.gal-nav:hover { background: var(--orange-yellow-crayola, #ffdb70); color: #111; }
.gal-prev { left: 10px; } .gal-next { right: 10px; }
.gal-count { position: absolute; bottom: 10px; right: 12px; background: rgba(0,0,0,.6); color: #fff; font-size: 12px; padding: 3px 8px; border-radius: 8px; }
.gal-count:empty { display: none; }
.gal-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.gal-thumbs img { width: 90px; height: 64px; object-fit: cover; border-radius: 8px; cursor: pointer; opacity: .55; border: 2px solid transparent; transition: .2s; }
.gal-thumbs img.active, .gal-thumbs img:hover { opacity: 1; border-color: var(--orange-yellow-crayola, #ffdb70); }
.gal-info { padding: 14px 4px 4px; }
.gal-title { color: var(--white-2, #fafafa); font-size: 20px; font-weight: 500; margin-bottom: 4px; }
.gal-lang { color: var(--orange-yellow-crayola, #ffdb70); font-size: 14px; margin-bottom: 10px; }
.gal-desc { color: var(--light-gray, #d6d6d6); font-size: 15px; line-height: 1.6; white-space: pre-line; margin-bottom: 14px; }
.gal-info .gal-demo { display: inline-flex; width: auto !important; padding: 12px 20px !important; text-decoration: none; }
.form-msg { margin-top: 12px; font-size: 14px; }
.form-msg.ok { color: #7fd88c; } .form-msg.err { color: #ff8080; }
@media (max-width: 580px) { .gal { padding: 8px; } .gal-box { padding: 10px; border-radius: 14px; } .gal-thumbs img { width: 70px; height: 50px; } }
