/**
 * Third Party Library Overrides - CSP Compliant
 * Sobrescribe estilos inline de librerías de terceros con CSS
 */

/* =================================================================
   Google Maps API Overrides
   ================================================================= */

/* Info Windows - Reemplaza inline styles */
.gm-style-iw {
    width: 300px !important;
    z-index: 200 !important;
}

/* Markers */
.gm-style img[src*="marker"] {
    /* Estilos por defecto para markers */
}

/* Map controls */
.gm-style .gm-style-cc,
.gm-style .gm-style-cc span {
    /* Copyright y controls */
}

/* =================================================================
   jQuery Tools Overrides
   ================================================================= */

/* Tooltip overlay styles */
.tooltip-overlay {
    position: absolute;
    z-index: 1000;
}

/* =================================================================
   FitVids Overrides
   ================================================================= */

/* Fluid video wrapper - ya manejado por jquery.fitvids-csp.js */
.fluid-width-video-wrapper[data-style*="padding-top"] {
    /* El padding-top será aplicado por dynamic-styles.js */
}

/* =================================================================
   Revolution Slider Overrides
   ================================================================= */

/* Slide backgrounds */
.tp-bgimg,
.tp-slide-bg {
    /* Background images manejados por Revolution Slider interno */
}

/* Caption styles */
.tp-caption {
    /* Captions con animaciones */
}

/* Navigation arrows */
.tp-leftarrow,
.tp-rightarrow {
    /* Arrows */
}

/* Bullets */
.tp-bullet {
    /* Bullet navigation */
}

/* =================================================================
   jQuery Animations - Prevenir inline styles
   ================================================================= */

/* Fade animations */
.jquery-fade-in {
    opacity: 1 !important;
    visibility: visible !important;
}

.jquery-fade-out {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Slide animations */
.jquery-slide-visible {
    display: block !important;
}

.jquery-slide-hidden {
    display: none !important;
}

/* =================================================================
   Common inline style patterns from libraries
   ================================================================= */

/* Position absolute helpers */
.pos-abs-top-0 { position: absolute; top: 0; }
.pos-abs-left-0 { position: absolute; left: 0; }
.pos-abs-right-0 { position: absolute; right: 0; }
.pos-abs-bottom-0 { position: absolute; bottom: 0; }

/* Display helpers */
.d-block { display: block !important; }
.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }

/* Visibility helpers */
.v-visible { visibility: visible !important; }
.v-hidden { visibility: hidden !important; }

/* Opacity helpers */
.opacity-0 { opacity: 0 !important; }
.opacity-50 { opacity: 0.5 !important; }
.opacity-100 { opacity: 1 !important; }

/* Z-index helpers */
.z-100 { z-index: 100 !important; }
.z-200 { z-index: 200 !important; }
.z-1000 { z-index: 1000 !important; }

/* Width helpers */
.w-100px { width: 100px !important; }
.w-200px { width: 200px !important; }
.w-300px { width: 300px !important; }

/* Height helpers */
.h-100px { height: 100px !important; }
.h-200px { height: 200px !important; }
.h-300px { height: 300px !important; }
