/* Responsive Design */

/* Large tablets and small desktops (1024px and below) */
@media (max-width: 1024px) {
    .container {
        padding: 0 15px;
    }
    
    .hero__title {
        font-size: 3rem;
    }
    
    .hero__contacts {
        flex-direction: column;
        gap: 1rem;
        align-items: center;
    }
    
    .about__content,
    .contact__content {
        gap: 2rem;
    }
    
    .services__grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 1.5rem;
    }
}

/* Tablets (768px and below) */
@media (max-width: 768px) {
    /* Header responsive */
    .header__nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        height: 100vh;
        background: white;
        box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1);
        transition: right 0.3s ease;
        z-index: 1001;
        padding: 80px 20px 20px;
    }
    
    .header__nav.active {
        right: 0;
    }
    
    .header__nav-list {
        flex-direction: column;
        gap: 1.5rem;
    }
    
    .header__nav-link {
        font-size: 1.2rem;
        padding: 10px 0;
        border-bottom: 1px solid #e9ecef;
    }
    
    .header__menu-toggle {
        display: flex;
        z-index: 1002;
    }
    
    .header__menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .header__menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }
    
    .header__menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
    }
    
    .header__contact {
        display: none;
    }
    
    .header__actions {
        display: none;
    }
    
    /* Hero responsive */
    .hero {
        padding: 120px 0 80px;
    }
    
    .hero__title {
        font-size: 2.5rem;
    }
    
    .hero__subtitle {
        font-size: 1.1rem;
    }
    
    .hero__benefits {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .hero__actions {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    
    .hero__contacts {
        flex-direction: column;
        gap: 1rem;
    }
    
    /* About responsive */
    .about__content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .about__image {
        order: -1;
        margin-bottom: 2rem;
    }
    
    .about__stats {
        justify-content: center;
    }
    
    /* Contact responsive */
    .contact__content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .contact__form {
        order: -1;
    }
    
    .contact__messengers {
        margin-top: 1rem;
    }
    
    .messenger__buttons {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .messenger__btn {
        justify-content: center;
    }
    
    .mobile-sticky-cta {
        bottom: 10px;
        padding: 0.8rem;
        gap: 0.5rem;
    }
    
    .mobile-sticky-cta__btn {
        padding: 10px 15px;
        font-size: 0.8rem;
    }
    
    /* Services responsive */
    .services__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    /* Trust section responsive */
    .trust__brands {
        flex-direction: column;
        gap: 1rem;
    }
    
    .brand__logo {
        width: 100%;
        max-width: 200px;
        margin: 0 auto;
    }
    
    .trust__testimonials {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .trust__stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    .trust__stat-item {
        padding: 1.5rem;
    }
    
    /* Free tool responsive */
    .free-tool__content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .free-tool__title {
        font-size: 2rem;
    }
    
    .free-tool__calculator {
        padding: 1.5rem;
    }
    
    .service__card {
        padding: 2rem 1.5rem;
    }
    
    /* Footer responsive */
    .footer__content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 1.5rem;
    }
    
    .footer__contact {
        align-items: center;
    }
    
    /* Section titles responsive */
    .section__title {
        font-size: 2rem;
    }
    
    /* General spacing responsive */
    .services,
    .about,
    .contact {
        padding: 60px 0;
    }
}

/* Mobile phones (480px and below) */
@media (max-width: 480px) {
    /* Typography responsive */
    h1 { font-size: 2rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.3rem; }
    
    .section__title {
        font-size: 1.8rem;
    }
    
    .section__title::after {
        width: 60px;
    }
    
    /* Hero responsive */
    .hero__title {
        font-size: 2rem;
    }
    
    .hero__subtitle {
        font-size: 1rem;
    }
    
    .hero__contacts {
        gap: 0.8rem;
    }
    
    .hero__contact-item {
        font-size: 1rem;
    }
    
    .hero__cta {
        font-size: 1rem;
        padding: 12px 25px;
    }
    
    /* Header responsive */
    .header__logo h1 {
        font-size: 1.5rem;
    }
    
    /* Services responsive */
    .service__icon {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    
    .service__title {
        font-size: 1.2rem;
    }
    
    /* About responsive */
    .about__stats {
        flex-direction: column;
        gap: 1rem;
    }
    
    .stat__number {
        font-size: 2rem;
    }
    
    .image__placeholder {
        width: 200px;
        height: 200px;
        font-size: 3rem;
    }
    
    /* Contact responsive */
    .contact__info-item {
        flex-direction: column;
        text-align: center;
        gap: 0.8rem;
    }
    
    .contact__info-icon {
        margin: 0 auto;
    }
    
    .contact__form {
        padding: 1.5rem;
    }
    
    .form__input,
    .form__textarea {
        padding: 12px;
        font-size: 1rem;
    }
    
    /* Calculator responsive */
    .calculator__form {
        padding: 1rem;
    }
    
    .calc__group input[type="range"] {
        margin: 0.8rem 0;
    }
    
    .calc__value {
        font-size: 1rem;
    }
    
    .result__label,
    .result__value {
        font-size: 0.9rem;
    }
    
    /* Button responsive */
    .btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    
    /* Container responsive */
    .container {
        padding: 0 10px;
    }
    
    /* Footer responsive */
    .footer {
        padding: 30px 0 15px;
    }
    
    .footer__title {
        font-size: 1.2rem;
    }
    
    .footer__bottom {
        font-size: 0.8rem;
    }
}

/* Small mobile phones (320px and below) */
@media (max-width: 320px) {
    .container {
        padding: 0 8px;
    }
    
    .hero__title {
        font-size: 1.8rem;
    }
    
    .section__title {
        font-size: 1.6rem;
    }
    
    .service__card {
        padding: 1.5rem 1rem;
    }
    
    .contact__form {
        padding: 1.2rem;
    }
}

/* High DPI screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .hero__title,
    .section__title {
        font-weight: 600;
    }
    
    .header__logo h1 {
        font-weight: 700;
    }
}

/* Landscape orientation for mobile */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        padding: 100px 0 60px;
    }
    
    .hero__title {
        font-size: 2.2rem;
    }
    
    .header__nav {
        padding: 60px 20px 20px;
    }
}