/* Custom CSS for Grupo DRT */

::selection {
    background-color: #1DA8D6;
    color: white;
}

.no-scrollbar::-webkit-scrollbar { 
    display: none; 
}

.no-scrollbar { 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}

.custom-scrollbar::-webkit-scrollbar {
    height: 4px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: #F3F4F6;
    border-radius: 10px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #1DA8D6;
    border-radius: 10px;
}

.vertical-text { 
    writing-mode: vertical-rl; 
    transform: rotate(180deg); 
}

/* Grain Effect */
.bg-grain {
    position: relative;
}

.bg-grain::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-image: url("https://grainy-gradients.vercel.app/noise.svg");
    filter: contrast(170%) brightness(1000%);
    mix-blend-mode: overlay;
    opacity: 0.05;
    pointer-events: none;
    z-index: 50;
}

/* Animations */
.fade-in { 
    animation: fadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; 
    opacity: 0; 
}

@keyframes fadeIn { 
    from { 
        opacity: 0; 
        transform: translateY(20px); 
    } 
    to { 
        opacity: 1; 
        transform: translateY(0); 
    } 
}

.fade-up { 
    animation: fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; 
    opacity: 0; 
}

@keyframes fadeUp { 
    from { 
        opacity: 0; 
        transform: translateY(40px); 
    } 
    to { 
        opacity: 1; 
        transform: translateY(0); 
    } 
}

/* Smooth Navigation Underline */
.nav-link {
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #1DA8D6;
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

/* Snap scrolling */
.snap-items {
    scroll-snap-type: x mandatory;
}

.snap-start {
    scroll-snap-align: start;
}

/* Strategic Location Section Extras */
.strategic-location-grid {
    background-image: radial-gradient(circle at 2px 2px, rgba(255,255,255,0.02) 1px, transparent 0);
    background-size: 40px 40px;
}

/* Leaflet Overrides */
.leaflet-container {
    background: #0A1D2D !important;
    font-family: inherit;
}

.leaflet-div-icon {
    background: transparent !important;
    border: none !important;
}

.leaflet-popup-content-wrapper {
    background: #0A1D2D !important;
    color: white !important;
    border-radius: 1.5rem !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    padding: 0.5rem !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

.leaflet-popup-tip {
    background: #0A1D2D !important;
}

.leaflet-bar a {
    background-color: #0A1D2D !important;
    color: white !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}

.leaflet-bar a:hover {
    background-color: #1DA8D6 !important;
}

