/* Responsive Design */

/* Large screens and tablets */
@media (max-width: 1024px) {
    .advantages-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .why-choose-grid {
        gap: 2rem;
    }
    
    .hero-stats {
        gap: 1.5rem;
    }
    
    .stat {
        min-width: 120px;
        padding: 1.2rem;
    }
    
    .partners-logos {
        max-width: 800px;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
    }
    
    .partner-logo {
        height: 45px;
        max-width: 140px;
        flex: none;
        margin: 0;
    }
    
    .leadership-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .trust-stats {
        gap: 1rem;
    }
    
    .stat {
        padding: 1rem;
    }
    
    .stat-number {
        font-size: 2rem;
    }
}

/* Mobile and small tablets */
@media (max-width: 700px) {
    /* Mobile Header */
    .header-content {
        padding: 1rem 0;
    }

    .nav {
        display: none;
    }

    .header-right {
        display: none;
    }

    .mobile-whatsapp {
        display: flex;
        order: 2;
        margin-right: 0.5rem;
    }

    .mobile-menu-toggle {
        display: flex;
        order: 3;
        margin-left: 0;
    }

    .logo {
        order: 1;
        margin-right: auto;
    }

    .logo img {
        height: 32px;
    }

    .mobile-menu,
    .mobile-menu-overlay {
        display: block;
    }
    
    /* Hero Section Mobile */
    .hero {
        padding: 30px 0 60px;
        text-align: center;
    }
    
    .hero-content {
        text-align: center;
    }
    
    .hero-text h1 {
        font-size: 2rem;
        line-height: 1.3;
        margin-bottom: 1rem;
    }
    
    .hero-text h1::before {
        display: none;
    }
    
    .hero-text h1 br {
        display: none;
    }
    
    .hero-text p {
        font-size: 1.1rem;
        margin-bottom: 2rem;
    }

    .google-review-block {
        flex-direction: column;
        gap: 1rem;
        padding: 1rem;
        margin: 0 auto 2rem;
    }

    .review-line {
        justify-content: center;
    }

    .avatar {
        width: 40px;
        height: 40px;
        font-size: 1rem;
        margin-left: -8px;
    }


    .hero-badges {
        justify-content: center;
        margin-bottom: 2rem;
    }
    
    .badge {
        font-size: 0.85rem;
        padding: 10px 16px;
    }
    
    /* Vacancies Mobile */
    .vacancies {
        padding: 60px 0;
    }
    
    .vacancies-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .why-choose-us {
        padding: 60px 0;
    }
    
    .why-choose-grid {
        gap: 2rem;
    }
    
    .why-choose-icon {
        height: 180px;
    }
    
    .why-choose-content {
        padding: 1.5rem;
    }
    
    .why-choose-content h3 {
        font-size: 1.3rem;
    }
    
    .vacancy-card.featured {
        transform: none;
    }
    
    .vacancy-card.featured:hover {
        transform: translateY(-8px);
    }
    
    .vacancy-icon {
        width: calc(100% + 3rem);
        height: 300px;
        margin: -1.5rem -1.5rem 1.5rem -1.5rem;
    }
    
    /* Four Steps Mobile */
    .four-steps {
        padding: 60px 0;
    }
    
    .steps-container {
        flex-direction: column;
        gap: 3rem;
    }
    
    .step-arrow {
        transform: rotate(90deg);
        margin: -1rem 0;
    }
    
    .step-card {
        max-width: none;
        width: 100%;
    }
    
    /* Timeline Design Mobile */
    .steps-timeline::before {
        left: 40px;
        transform: none;
    }
    
    .step-item {
        flex-direction: row !important;
        margin-bottom: 3rem;
    }
    
    .step-item:nth-child(even) .step-content,
    .step-item:nth-child(odd) .step-content {
        text-align: left;
        margin-left: 2rem;
        margin-right: 0;
    }
    
    .step-circle {
        width: 60px;
        height: 60px;
        flex-shrink: 0;
    }
    
    .step-circle .step-number {
        font-size: 1.2rem;
    }
    
    .step-content {
        padding: 1.5rem;
    }
    
    .step-content .step-icon {
        width: 50px;
        height: 50px;
        margin-left: 0 !important;
    }
    
    .step-content .step-icon i {
        font-size: 1.2rem;
    }
    
    /* Progress Design Mobile */
    .steps-row {
        flex-direction: column;
        gap: 2rem;
    }
    
    .step-progress-item {
        display: flex;
        align-items: center;
        text-align: left;
        gap: 1rem;
    }
    
    .step-dot {
        position: static;
        margin: 0;
        flex-shrink: 0;
    }
    
    .progress-line {
        display: none;
    }
    
    /* Hexagon Design Mobile */
    .hexagon-row {
        flex-direction: column;
        gap: 3rem;
    }
    
    .hex-step {
        min-width: auto;
    }
    
    .hexagon {
        width: 100px;
        height: 87px;
    }
    
    .hexagon::before,
    .hexagon::after {
        border-left-width: 50px;
        border-right-width: 50px;
    }
    
    .hexagon::before {
        border-bottom-width: 25px;
    }
    
    .hexagon::after {
        border-top-width: 25px;
    }
    
    .hex-content {
        width: 100px;
        height: 87px;
    }
    
    .hex-number {
        font-size: 1rem;
    }
    
    .hex-content i {
        font-size: 1.2rem;
    }
    
    /* Advanced Design Mobile */
    .advanced-container {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    .advanced-container::before,
    .advanced-container::after {
        display: none;
    }
    
    .advanced-step {
        justify-self: center !important;
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
    
    .step-orbit {
        width: 100px;
        height: 100px;
    }
    
    .step-core {
        top: 8px;
        left: 8px;
        right: 8px;
        bottom: 8px;
    }
    
    .step-num {
        font-size: 1.2rem;
    }
    
    .core-inner i {
        font-size: 1.5rem;
    }
    
    .connection-line {
        display: none;
    }
    
    .step-details h3 {
        font-size: 1.4rem;
    }
    
    .step-features {
        justify-content: center;
    }
    
    /* Design Switcher Mobile */
    .design-switcher {
        gap: 0.5rem;
    }
    
    .design-btn {
        padding: 8px 16px;
    }
    
    /* Horizontal Steps Mobile */
    .horizontal-steps-container {
        flex-direction: column;
        gap: 3rem;
        padding: 1rem 0;
        align-items: center;
    }

    .horizontal-connecting-line {
        display: none;
    }

    .horizontal-step {
        max-width: none;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .step-circle-horizontal {
        width: 70px;
        height: 70px;
        margin: 0 auto 1rem;
    }

    .step-circle-horizontal i {
        font-size: 1.5rem;
    }

    .step-info-horizontal {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .step-info-horizontal h4 {
        font-size: 0.8rem;
    }

    .step-info-horizontal h3 {
        font-size: 1.2rem;
        margin-bottom: 0.8rem;
    }

    .step-info-horizontal p {
        font-size: 0.9rem;
        max-width: 90%;
        margin: 0 auto;
    }

    .horizontal-arrow {
        margin: -0.5rem 0;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .horizontal-arrow i {
        font-size: 1rem;
    }
    
    .horizontal-arrow {
        transform: rotate(90deg);
        margin: -1rem 0;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .horizontal-arrow i {
        font-size: 1.2rem;
    }

    .modal-content img {
        height: 250px;
    }
    
    .modal-info {
        padding: 1.5rem;
    }
    
    .modal-info h3 {
        font-size: 1.4rem;
    }
    
    /* Job Application Modal Mobile */
    .application-header {
        padding: 2rem 1.5rem 1.5rem;
    }
    
    .application-header h3 {
        font-size: 1.5rem;
    }
    
    .application-form {
        padding: 2rem 1.5rem 1.5rem;
    }
    
    .application-benefits {
        padding: 1.5rem;
    }
    
    /* Typography Mobile */
    h2 {
        font-size: 2rem;
        margin-bottom: 2rem;
    }

    /* Hide desktop line breaks on mobile */
    .desktop-break {
        display: none;
    }

    .container {
        padding: 0 15px;
    }

    /* Trust Section Mobile */
    .trust-section {
        padding: 60px 0;
    }

    .trust-content {
        grid-template-columns: 1fr;
        gap: 0;
        text-align: center;
    }

    .trust-text {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* Documents Section Mobile */
    .documents-section {
        padding: 60px 0;
        padding-top: 25px;
    }

    .documents-content {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .documents-text {
        text-align: left;
    }

    .documents-text h2 {
        text-align: center;
        font-size: 1.8rem;
    }

    .documents-text h2::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .documents-text > p {
        font-size: 1rem;
        text-align: center;
    }

    .documents-list {
        gap: 0.8rem;
    }

    .documents-list li {
        padding: 0.9rem 1rem;
    }

    .documents-list span {
        font-size: 0.95rem;
    }

    .documents-note-wrapper {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .documents-note-image {
        display: block;
        width: 100%;
        height: 350px;
        object-fit: cover;
        object-position: top;
        border-radius: 12px;
    }

    .documents-note {
        font-size: 0.95rem;
        padding: 1.2rem;
    }

    .documents-image {
        display: none;
    }

    .trust-text h2 {
        text-align: center;
    }

    .trust-text h2::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .trust-stats {
        justify-content: center;
        flex-wrap: wrap;
        gap: 1.5rem;
    }

    .trust-text .cta-button {
        margin-top: 1rem;
    }

    .trust-image {
        display: none;
    }

    /* FAQ Section Mobile */
    .faq-section {
        padding: 60px 0;
    }

    .faq-question {
        padding: 1.5rem 1rem;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
        touch-action: manipulation;
        cursor: pointer;
    }

    .faq-question h3 {
        font-size: 1.05rem;
        padding-right: 1rem;
    }

    .faq-question i {
        font-size: 1rem;
    }

    .faq-answer > p:first-child,
    .faq-answer > p:last-child {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .faq-answer ul {
        padding-left: 2.5rem;
        padding-right: 1rem;
    }

    /* Gallery Mobile */
    .objects-gallery-section {
        padding: 60px 0;
    }

    .objects-subtitle {
        font-size: 1rem;
        padding: 0 10px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .gallery-item {
        aspect-ratio: auto;
        cursor: default;
        pointer-events: none;
        border-radius: 0;
    }

    .gallery-item img {
        height: auto;
        border-radius: 12px;
    }

    .gallery-overlay {
        display: none;
    }

    .lightbox-nav {
        display: none;
    }

    .lightbox-content {
        max-width: 95%;
    }

    .lightbox-close {
        top: -40px;
        right: -10px;
        font-size: 2.5rem;
    }

    /* Footer Mobile */
    .footer-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        text-align: center;
    }

    .footer-logo {
        justify-content: center;
    }

    .footer-section h3 {
                margin-bottom: 0.3rem;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }

    .footer-links {
        flex-direction: column;
        gap: 1rem;
        width: 100%;
    }

    .contact-info p {
        justify-content: center;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    /* Extra small mobile adjustments */
    .hero-text h1 {
        font-size: 1.8rem;
    }

    .hero-text p {
        font-size: 1rem;
    }

    .vacancy-card {
        padding: 1.5rem;
    }

    .vacancy-icon {
        width: calc(100% + 3rem);
        height: 300px;
        margin: -1.5rem -1.5rem 1.5rem -1.5rem;
    }

    .mobile-menu {
        width: 280px;
    }

    .application-header {
        padding: 1.5rem 1rem 1rem;
    }

    .application-form {
        padding: 1.5rem 1rem;
    }

    .application-benefits {
        padding: 1rem;
    }

    h2 {
        font-size: 1.8rem;
    }
    
    .partners-logos {
        flex-direction: column;
        gap: 2rem;
        max-width: none;
    }
    
    .partner-logo {
        height: 70px;
        max-width: 175px;
        margin: 0;
    }
    
    .trust-stats {
        flex-direction: column;
        gap: 1rem;
    }
    
    /* Extra small horizontal steps */
    .step-circle-horizontal {
        width: 60px;
        height: 60px;
    }
    
    .step-circle-horizontal i {
        font-size: 1.3rem;
    }
    
    .step-info-horizontal h3 {
        font-size: 1.1rem;
    }
    
    .step-info-horizontal p {
        font-size: 0.85rem;
    }
}