﻿
.navbar,.navbar.bg-body-tertiary{
    background-color:#D2691E !important;
    box-shadow:0 5px 5px rgba(0,0,0,0.15);
    position:sticky;
    top:0;
    z-index:1100;
    }
.navbar .navbar-brand{
    color:#ffffff;
    font-weight:600;
    font-size:1.5rem;
    transition:color 160ms ease-in-out;
    }
.navbar .navbar-brand:hover,.navbar .navbar-brand:focus{
    color:#ffe606;
    text-decoration:none;
    }
.navbar .nav-link{
    color:#ffffff;
    opacity:1;
    transition:color 160ms ease-in-out;
    }
.navbar .nav-link:hover,.navbar .nav-link:focus,.navbar .nav-link.active{
    color:#ffe606;
    }
.navbar-toggler{
    border:none;
    font-size:1.25rem;
    }
.navbar-toggler:focus,.btn-close:focus{
    box-shadow:none;
    outline:none;
    }
.galeria{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));
    grid-auto-rows:12.5rem;
    grid-auto-flow:dense;
    gap:0.75rem;
    padding:0;
    margin:0;
    width:100%;
    }
.titulo{
    text-align:center;
    margin:1rem 0;
    }
.titulo h2{
    margin:0 0 1rem 0;
    font-size:2rem;
    font-weight:700;
    color:#222;
    }
@media (min-width:992px){
    .titulo h2{
    margin-bottom:3rem;
    }
}
.galeria-item{
    container:figure / inline-size;
    overflow:hidden;
    cursor:pointer;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    border-radius:0;
    box-shadow:none;
    }
.galeria-item img{
    inline-size:100%;
    block-size:100%;
    object-fit:cover;
    grid-area:1 / 1 / -1 / -1;
    transition:scale 1s ease-in-out;
    border-radius:0;
    padding:0;
    display:block;
    }
.galeria-item:hover img{
    scale:1.125;
    }
.galeria-item.video-item{
    position:relative;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    }
.galeria-item video{
    inline-size:100%;
    block-size:100%;
    object-fit:cover;
    grid-area:1 / 1 / -1 / -1;
    transition:scale 1s ease-in-out;
    border-radius:0;
    padding:0;
    display:block;
    opacity:1;
    }
.galeria-item video::-webkit-media-controls{
    display:none !important;
    }
.galeria-item.video-item:hover video{
    scale:1.125;
    }
.video-overlay{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    background:rgba(0,0,0,0.7);
    border-radius:50%;
    width:80px;
    height:80px;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    transition:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
    z-index:10;
    grid-area:1 / 1 / -1 / -1;
    }
.video-overlay i{
    color:white;
    font-size:32px;
    margin-left:4px;
    transition:transform 0.3s ease;
    }
.galeria-item.video-item:hover .video-overlay{
    background:rgba(210,105,30,0.9);
    transform:translate(-50%,-50%) scale(1.2);
    box-shadow:0 4px 20px rgba(210,105,30,0.4);
    }
.galeria-item.video-item:hover .video-overlay i{
    animation:pulse 1.5s infinite;
    }
@keyframes pulse{
    0%,100%{
    transform:scale(1);
    }
50%{
    transform:scale(1.1);
    }
}
.lightbox{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.9);
    display:none;
    z-index:9999;
    align-items:center;
    justify-content:center;
    }
.lightbox.active{
    display:flex;
    }
.lightbox-content{
    position:relative;
    max-width:95vw;
    max-height:90vh;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    }
.lightbox img{
    max-width:95vw;
    max-height:90vh;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:12px;
    box-shadow:0 20px 60px rgba(0,0,0,0.8);
    }
.lightbox video{
    max-width:95vw;
    max-height:90vh;
    width:auto;
    height:auto;
    border-radius:12px;
    box-shadow:0 20px 60px rgba(0,0,0,0.8);
    outline:none;
    }
.lightbox-close{
    position:absolute;
    top:20px;
    right:30px;
    color:white;
    font-size:40px;
    cursor:pointer;
    z-index:10000;
    background:transparent;
    width:50px;
    height:50px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background 0.3s ease;
    border:none;
    }
.lightbox-close:hover{
    background:rgba(0,0,0,0.8);
    }
.lightbox-nav{
    position:fixed;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,0.6);
    color:white;
    border:none;
    font-size:60px;
    cursor:pointer;
    transition:all 0.3s ease;
    z-index:10001;
    text-shadow:2px 2px 4px rgba(0,0,0,0.8);
    border-radius:50%;
    width:120px;
    height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    }
.lightbox-nav:hover{
    background:rgba(210,105,30,0.8);
    color:#ffffff;
    text-shadow:2px 2px 8px rgba(0,0,0,1);
    transform:translateY(-50%) scale(1.1);
    }
.lightbox-prev{
    left:50px;
    }
.lightbox-next{
    right:50px;
    }
.lightbox-prev::before{
    content:"❮";
    font-size:0.8em;
    font-weight:bold;
    }
.lightbox-next::before{
    content:"❯";
    font-size:0.8em;
    font-weight:bold;
    }
.lightbox-thumbnails{
    position:absolute;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    width:90%;
    max-width:800px;
    height:80px;
    background:rgba(0,0,0,0.4);
    border-radius:15px;
    padding:10px;
    backdrop-filter:blur(10px);
    }
.thumbnails-container{
    display:flex;
    gap:10px;
    height:100%;
    overflow-x:auto;
    scroll-behavior:smooth;
    padding:0 10px;
    }
.thumbnails-container::-webkit-scrollbar{
    height:4px;
    }
.thumbnails-container::-webkit-scrollbar-track{
    background:rgba(255,255,255,0.1);
    border-radius:2px;
    }
.thumbnails-container::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,0.3);
    border-radius:2px;
    }
.thumbnail-item{
    min-width:60px;
    width:60px;
    height:60px;
    border-radius:8px;
    overflow:hidden;
    cursor:pointer;
    border:2px solid transparent;
    transition:all 0.3s ease;
    position:relative;
    }
.thumbnail-item.active{
    border-color:#ffe606;
    transform:scale(1.1);
    }
.thumbnail-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    }
.thumbnail-item:hover{
    border-color:rgba(255,255,255,0.5);
    transform:scale(1.05);
    }
.thumb-video-icon{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    background:rgba(210,105,30,0.9);
    border-radius:50%;
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    box-shadow:0 2px 8px rgba(0,0,0,0.3);
    }
.thumb-video-icon i{
    color:white;
    font-size:10px;
    margin-left:1px;
    }
@media (width > 600px){
    .galeria .galeria-item:nth-child(1){
    grid-area:span 2 / span 2;
    }
.galeria .galeria-item:nth-child(4n + 1){
    grid-row:span 2;
    }
.galeria .galeria-item:nth-child(4n + 2){
    grid-column:span 2;
    }
}
@media (max-width:768px){
    .galeria{
    grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));
    grid-auto-rows:10rem;
    gap:0.5rem;
    }
}
.lightbox-close{
    top:10px;
    right:15px;
    font-size:30px;
    width:40px;
    height:40px;
    }
.lightbox-nav{
    font-size:36px;
    padding:15px;
    }
.lightbox-prev{
    left:15px;
    }
.lightbox-next{
    right:15px;
    }
.lightbox-thumbnails{
    width:95%;
    height:70px;
    bottom:15px;
    }
.thumbnail-item{
    min-width:50px;
    width:50px;
    height:50px;
    }
.whatsapp-button{
    position:fixed;
    background-color:#25d366;
    border-radius:50px;
    color:white;
    font-weight:700;
    font-size:30px;
    bottom:70px;
    right:20px;
    width:50px;
    height:50px;
    line-height:50px;
    text-align:center;
    z-index:1000;
    box-shadow:0 0 20px rgba(0,0,0,0.15);
    transition:all 0.3s ease;
    }
.whatsapp-button::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:50%;
    top:50%;
    transform:translateX(-50%) translateY(-50%);
    display:block;
    width:60px;
    height:60px;
    background-color:#25d366;
    border-radius:50%;
    -webkit-animation:pulse-border 1500ms ease-out infinite;
    animation:pulse-border 1500ms ease-out infinite;
    }
.whatsapp-button:focus{
    border:none;
    outline:none;
    }
.whatsapp-button:hover{
    background-color:#00ff62;
    text-decoration:none;
    color:white;
    transform:scale(1.1);
    }
@keyframes pulse-border{
    0%{
    transform:translateX(-50%) translateY(-50%) scale(1);
    opacity:1;
    }
100%{
    transform:translateX(-50%) translateY(-50%) scale(1.5);
    opacity:0;
    }
}
.site-footer{
    margin-top:7rem;
    background:chocolate !important;
    color:#eee !important;
    padding-top:1rem;
    }
.site-footer .footer-inner{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:1rem;
    align-items:center;
    padding:1rem 0;
    }
.footer-col{
    padding:0 1rem;
    }
.footer-logo{
    max-width:140px;
    height:auto;
    }
.footer-nav .footer-menu{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    gap:1rem;
    justify-content:center;
    }
.footer-nav .footer-menu a{
    color:#eee !important;
    text-decoration:none;
    opacity:0.9;
    }
.footer-nav .footer-menu a:hover{
    color:#f8e801 !important;
    text-decoration:none;
    opacity:1;
    }
.site-footer .footer-nav .footer-menu a{
    transition:color 160ms ease-in-out,opacity 160ms ease-in-out;
    }
.site-footer .footer-nav .footer-menu a:hover,.site-footer .footer-nav .footer-menu a:focus{
    color:#f8e801 !important;
    opacity:1 !important;
    text-decoration:none !important;
    }
.footer-socials{
    display:flex;
    gap:0.75rem;
    justify-content:flex-end;
    }
.footer-socials .social{
    color:#eee !important;
    background:rgba(255,255,255,0.06) !important;
    width:36px;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    text-decoration:none;
    }
.footer-socials .social:hover{
    background:#fff !important;
    color:#000 !important;
    text-decoration:none;
    }
.footer-bottom{
    border-top:1px solid rgba(255,255,255,0.04) !important;
    padding:0.75rem 0;
    margin-top:1rem;
    color:rgba(255,255,255,0.6) !important;
    font-size:0.9rem;
    }
@media (max-width:768px){
    .site-footer .footer-inner{
    grid-template-columns:1fr;
    text-align:center;
    }
.footer-socials{
    justify-content:center;
    }
.footer-col{
    padding:0.5rem 0;
    }
.lightbox-close{
    top:10px;
    right:15px;
    font-size:30px;
    width:40px;
    height:40px;
    }
.lightbox-nav{
    font-size:48px;
    width:80px;
    height:80px;
    padding:0;
    }
.lightbox-prev{
    left:20px;
    }
.lightbox-next{
    right:20px;
    }
.lightbox-thumbnails{
    bottom:10px;
    width:95%;
    height:70px;
    }
.thumbnail-item{
    min-width:50px;
    width:50px;
    height:50px;
    }
}
