/* Additional Responsive Styles */

/* Extra Small Devices (phones, 480px and down) */
@media only screen and (max-width: 480px) {
    .auto-container {
        padding: 0px 12px;
        max-width: 100%;
    }
    
    .banner-section {
        padding: 60px 0px 60px;
        text-align: center;
    }
    
    .banner-section .banner-title,
    .banner-section .content-box h1 {
        font-size: 24px;
        line-height: 30px;
        margin-bottom: 15px;
    }
    
    .banner-section .content-box p {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 20px;
    }
    
    .sec-title {
        margin-bottom: 35px;
    }
    
    .sec-title h2 {
        font-size: 24px;
        line-height: 30px;
    }
    
    .sec-title .sub-title {
        font-size: 14px;
        margin-bottom: 10px;
    }
    
    .service-block .inner-box,
    .team-block .inner-box,
    .feature-block .inner-box {
        padding: 25px 15px;
        margin-bottom: 20px;
    }
    
    .header-top {
        padding: 8px 0px;
    }
    
    .header-lower {
        padding: 15px 0px;
    }
    
    .logo-box .logo img {
        max-height: 45px;
        display: block;
        visibility: visible;
        opacity: 1;
    }
    
    .btn-one, .contact-btn {
        padding: 10px 20px;
        font-size: 13px;
        min-width: auto;
        height: auto !important;
        white-space: nowrap;
        display: inline-block;
        width: auto;
        max-width: 90%;
        overflow: visible;
    }
    
    .header-top .info li {
        font-size: 12px;
        margin-right: 12px;
    }
    
    .menu-right-content {
        margin-left: 10px;
    }
    
    .theme-btn {
        padding: 8px 20px;
        font-size: 13px;
    }
    
    /* Menú de navegación móvil */
    .main-menu .navigation {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    
    .main-menu .navigation li {
        margin-right: 0;
        width: 100%;
    }
    
    .main-menu .navigation li a {
        width: 100%;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        padding: 12px 0;
    }
    
    .navbar-collapse.show {
        width: 80%;
        max-width: 300px;
    }
    
    /* Inversiones Section Responsive Styles */
    .investment-section {
        padding: 40px 15px !important;
        margin-left: 5% !important;
        margin-right: 5% !important;
        max-width: 90% !important;
    }
    
    .investment-section .container {
        padding: 0 10px !important;
    }
    
    /* Rentabilidad Comparada Responsive Styles */
    .rentabilidad-item {
        margin-bottom: 15px !important;
    }
    
    .rentabilidad-label {
        width: 120px !important;
        font-size: 14px !important;
    }
    
    .rentabilidad-bar-container {
        overflow: visible !important;
    }
    
    .rentabilidad-bar {
        overflow: visible !important;
    }
    
    .rentabilidad-bar span {
        white-space: nowrap !important;
        font-size: 12px !important;
    }
    
    .investment-image {
        margin-bottom: 25px !important;
    }
    
    .investment-content {
        padding: 15px !important;
        text-align: center !important;
    }
    
    /* CTA Section Responsive Styles */
    .cta-section {
        padding: 0 10px !important;
    }
    
    .cta-box {
        padding: 25px 15px !important;
        margin-left: 5% !important;
        margin-right: 5% !important;
        max-width: 90% !important;
    }
}

/* Tablet Styles */
@media only screen and (min-width: 481px) and (max-width: 768px) {
    .auto-container {
        padding: 0px 25px;
        max-width: 720px;
    }
    
    .banner-section {
        padding: 80px 0px 60px;
        text-align: center;
    }
    
    .banner-section .content-box h1 {
        font-size: 34px;
        line-height: 1.3;
    }
    
    .banner-section .content-box p {
        font-size: 16px;
        margin-bottom: 25px;
        line-height: 1.6;
    }
    
    .sec-title h2 {
        font-size: 32px;
        line-height: 1.3;
    }
    
    .service-block .inner-box {
        padding: 35px 25px;
        transition: all 0.3s ease;
        margin-bottom: 25px;
    }
    
    .header-top .info {
        justify-content: center;
    }
    
    /* Mobile Navigation Styles */
     .mobile-nav-toggler {
         display: flex;
     }
     
     .main-menu {
         display: block;
     }
     
     .main-menu .navbar-collapse {
         display: none;
     }
     
     .main-menu .navbar-collapse.show {
         display: block !important;
         position: fixed;
         top: 0;
         left: 0;
         width: 80%;
         max-width: 300px;
         height: 100vh;
         background: #ffffff;
         z-index: 999;
         padding: 40px 20px;
         box-shadow: 5px 0 20px rgba(0, 0, 0, 0.1);
         overflow-y: auto;
         transition: all 0.5s ease;
         transform: translateX(0);
     }
     
     .main-menu .navbar-collapse.show .navigation {
         display: block;
         width: 100%;
     }
     
     .main-menu .navbar-collapse.show .navigation li {
         display: block;
         width: 100%;
         margin: 0 0 10px 0;
     }
     
     .main-menu .navbar-collapse.show .navigation li a {
         display: block;
         width: 100%;
         padding: 10px 0;
         font-size: 16px;
         text-overflow: ellipsis;
         overflow: hidden;
         white-space: nowrap;
     }
    
    /* Inversiones Section Responsive Styles for Tablets */
    .investment-section {
        padding: 50px 20px !important;
        margin-left: 5% !important;
        margin-right: 5% !important;
    }
    
    .investment-section .row {
        flex-direction: column !important;
    }
    
    .investment-section .col-md-6 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    
    .investment-image {
        margin-bottom: 30px !important;
        text-align: center !important;
    }
    
    .investment-image img {
        max-width: 80% !important;
        margin: 0 auto !important;
    }
    
    .investment-content {
        padding: 20px !important;
        text-align: center !important;
    }
    
    /* CTA Section Responsive Styles for Tablets */
    .cta-box {
        padding: 35px 25px !important;
    }
}

/* Large Mobile Devices */
@media only screen and (min-width: 481px) and (max-width: 575px) {
    .auto-container {
        padding: 0px 15px;
    }
    
    .banner-section .content-box h1 {
        font-size: 26px;
    }
    
    .sec-title h2 {
        font-size: 26px;
    }
}

/* Print Styles */
@media print {
    .header-section,
    .footer-section {
        display: none;
    }
    
    .banner-section {
        background: none !important;
        color: #000 !important;
    }
    
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.4;
    }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .service-block .icon,
    .feature-block .icon {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Landscape Orientation */
@media (orientation: landscape) and (max-height: 600px) {
    .banner-section {
        min-height: 400px;
        padding: 60px 0;
    }
    
    .banner-title {
        font-size: 36px;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    /* Optional: Add dark mode styles if needed */
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Focus Styles for Accessibility */
@media (prefers-reduced-motion: no-preference) {
    .btn:focus,
    .service-block:focus,
    .team-block:focus {
        outline: 2px solid #f8952c;
        outline-offset: 2px;
    }
}