/* Estilos exclusivos de projeto.php */

/* Galeria pública do projeto */
.rf-project-gallery{position:relative}
.rf-gallery-main{position:relative;overflow:hidden;border-radius:18px;background:#111;box-shadow:0 18px 45px rgba(0,0,0,.12);cursor:pointer}
.rf-gallery-main img{display:block;width:100%;height:440px;object-fit:cover;transition:transform .6s ease}
.rf-gallery-main:hover img{transform:scale(1.025)}
.rf-gallery-main::after{content:'\F52A';font-family:'bootstrap-icons';position:absolute;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.62);color:#fff;font-size:20px;transition:.25s}
.rf-gallery-main:hover::after{background:var(--bs-primary);transform:scale(1.06)}
.rf-gallery-count{position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.62);color:#fff;padding:7px 12px;border-radius:30px;font-size:13px;backdrop-filter:blur(6px)}
.rf-gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.rf-gallery-thumb{border:0;padding:0;background:#f4f4f4;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;box-shadow:0 5px 18px rgba(0,0,0,.07);outline:0}
.rf-gallery-thumb::after{content:'';position:absolute;inset:0;border:3px solid transparent;border-radius:12px;transition:.2s}
.rf-gallery-thumb:hover::after,.rf-gallery-thumb.active::after{border-color:var(--bs-primary)}
.rf-gallery-thumb img{display:block;width:100%;height:105px;object-fit:cover;transition:transform .35s ease}
.rf-gallery-thumb:hover img{transform:scale(1.06)}
.rf-gallery-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);color:#fff;font-weight:600;font-size:16px}
.rf-project-modal .modal-dialog{max-width:1180px}
.rf-project-modal .modal-content{background:#080808;border:0;border-radius:16px;overflow:hidden}
.rf-project-modal .modal-header{position:absolute;right:0;top:0;z-index:5;border:0;padding:12px}
.rf-project-modal .btn-close{filter:invert(1);opacity:.9;background-color:rgba(0,0,0,.5);border-radius:50%;padding:12px}
.rf-project-modal .carousel-item{height:min(78vh,760px);background:#080808}
.rf-project-modal .carousel-item img{width:100%;height:100%;object-fit:contain}
.rf-project-modal .carousel-control-prev,.rf-project-modal .carousel-control-next{width:11%;opacity:1}
.rf-project-modal .carousel-control-prev-icon,.rf-project-modal .carousel-control-next-icon{width:52px;height:52px;border-radius:50%;background-color:rgba(0,0,0,.58);background-size:48%;box-shadow:0 5px 18px rgba(0,0,0,.25)}
.rf-project-modal .carousel-caption{left:0;right:0;bottom:0;padding:35px 80px 24px;background:linear-gradient(transparent,rgba(0,0,0,.88));text-align:left}
.rf-project-modal .carousel-caption p{margin:0;color:#fff;font-size:15px}
.rf-project-modal .rf-modal-counter{position:absolute;left:18px;top:18px;z-index:4;background:rgba(0,0,0,.58);color:#fff;border-radius:30px;padding:7px 12px;font-size:13px}
@media(max-width:767.98px){
 .rf-gallery-main img{height:290px}.rf-gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rf-gallery-thumb img{height:78px}
 .rf-project-modal .carousel-item{height:70vh}.rf-project-modal .carousel-caption{padding:35px 25px 18px}.rf-project-modal .carousel-control-prev-icon,.rf-project-modal .carousel-control-next-icon{width:42px;height:42px}
}


/* Modal da galeria: legenda fixa imediatamente abaixo da imagem */
.rf-project-modal .carousel-item{height:auto;min-height:0;background:#080808}
.rf-project-modal .carousel-item img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;margin:0 auto}
.rf-project-modal .carousel-caption{position:static!important;inset:auto!important;display:block;width:100%;padding:14px 22px 16px!important;background:#111!important;text-align:center!important}
.rf-project-modal .carousel-caption p{margin:0;color:#fff;font-size:15px;line-height:1.5}
.rf-project-modal .carousel-control-prev,.rf-project-modal .carousel-control-next{bottom:48px}
@media(max-width:767.98px){
 .rf-project-modal .carousel-item{height:auto}
 .rf-project-modal .carousel-item img{height:auto;max-height:68vh}
 .rf-project-modal .carousel-caption{padding:12px 18px 14px!important}
}

.rf-project-review{margin:0 0 12px;padding:16px 18px;border:1px solid #e5e9ef;border-radius:14px;background:#f8fafc}.rf-project-review p{margin:8px 0;color:#334155;font-size:.96rem;line-height:1.6}.rf-project-review footer{font-size:.84rem;font-weight:600;color:#64748b}.rf-review-stars{display:flex;gap:3px;color:#d3242d;font-size:.85rem}
