

@media (max-width: 768px) {

    html, body {
        overflow-x: hidden;
    }

    body {
        background: #ffffff;
    }

    .blog-hero-section {
        padding: 120px 0 40px !important;
    }

    .blog-hero-container {
        padding: 0 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    .blog-hero-container h1 {
        font-size: clamp(28px, 8vw, 40px) !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
        letter-spacing: -0.02em !important;
        margin-bottom: 12px !important;
    }

    .blog-hero-container p {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #64748b !important;
        margin-bottom: 20px !important;
    }

    .blog-hero-badge {
        margin-bottom: 14px !important;
    }

    .blog-hero-buttons {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .blog-hero-buttons .btn-primary,
    .blog-hero-buttons .btn-outline {
        width: 100% !important;
        min-height: 52px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
    }

    .blog-grid-section {
        padding: 32px 0 !important;
    }

    .blog-grid-section .blog-grid,
    #dynamic-blog-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 0 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .blog-card {
        width: 100% !important;
        min-height: 460px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .blog-card-image {
        width: 100% !important;
        height: 280px !important;
        position: relative !important;
        display: block !important;
        overflow: hidden !important;
    }

    .blog-card-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    .blog-card-content {
        padding: 16px !important;
    }

    .blog-card-content h3 {
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    .blog-card-content p {
        font-size: 14px !important;
        line-height: 1.55 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    .blog-meta {
        font-size: 12px !important;
    }

    .blog-card-footer {
        flex-wrap: wrap !important;
    }

    .author-name {
        font-size: 13px !important;
    }

    .author-role {
        font-size: 11px !important;
    }

    .stay-in-loop-section {
        padding: 48px 15px !important;
    }

    .loop-container {
        padding: 28px 20px !important;
        border-radius: 16px !important;
        text-align: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .loop-container h2 {
        font-size: 22px !important;
        font-weight: 800 !important;
        margin-bottom: 8px !important;
    }

    .loop-container p {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 20px !important;
    }

    .loop-input-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .loop-input-group input {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    .loop-input-group button {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        border-radius: 10px !important;
    }

    .loop-agree {
        font-size: 12px !important;
        margin-top: 12px !important;
    }

    .contact-hero-section {
        padding: 120px 0 32px !important;
    }

    .contact-hero-container {
        padding: 0 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    .contact-hero-container h1 {
        font-size: clamp(28px, 8vw, 38px) !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }

    .contact-hero-container p {
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #64748b !important;
    }

    .contact-main-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        padding: 0 15px 40px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .contact-form-side {
        order: 1 !important;
        width: 100% !important;
    }

    .contact-sidebar {
        order: 2 !important;
        width: 100% !important;
    }

    .form-card {
        padding: 24px 16px !important;
        border-radius: 16px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .form-card h2 {
        font-size: 22px !important;
        font-weight: 800 !important;
        margin-bottom: 6px !important;
    }

    .form-card .subtitle {
        font-size: 14px !important;
        line-height: 1.55 !important;
        margin-bottom: 20px !important;
    }

    .form-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .form-group {
        width: 100% !important;
    }

    .form-group label {
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        width: 100% !important;
        min-height: 46px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    .form-group textarea {
        min-height: 120px !important;
        resize: vertical !important;
    }

    .char-count {
        font-size: 11px !important;
    }

    .agreement-row {
        font-size: 12px !important;
        margin-bottom: 16px !important;
    }

    .form-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .form-actions .btn-primary,
    .form-actions .btn-reset {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        border-radius: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .sidebar-card {
        padding: 20px 16px !important;
        border-radius: 14px !important;
        margin-bottom: 14px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .sidebar-card h3 {
        font-size: 16px !important;
        font-weight: 700 !important;
        margin-bottom: 14px !important;
    }

    .info-item {
        padding: 10px 0 !important;
    }

    .info-text span,
    .info-text p {
        font-size: 13px !important;
    }

    .info-text a {
        font-size: 13px !important;
        word-break: break-all !important;
    }

    .quick-links a {
        font-size: 14px !important;
    }

    .social-links {
        display: flex !important;
        gap: 10px !important;
    }

    .social-box {
        width: 40px !important;
        height: 40px !important;
    }

    .footer {
        padding: 40px 15px 28px !important;
    }

    .footer-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px 16px !important;
    }

    .footer-brand {
        grid-column: 1 / -1 !important;
    }

    .footer-newsletter {
        grid-column: 1 / -1 !important;
    }

    .footer-links {
        width: 100% !important;
    }

    .footer-links h4 {
        font-size: 13px !important;
        font-weight: 700 !important;
        margin-bottom: 10px !important;
    }

    .footer-links a {
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    .footer-bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        text-align: center !important;
        margin-top: 28px !important;
        padding-top: 20px !important;
        font-size: 12px !important;
    }

    .newsletter-input {
        display: flex !important;
        width: 100% !important;
    }

    .newsletter-input input {
        flex: 1 !important;
        font-size: 14px !important;
    }

    .newsletter-input button {
        white-space: nowrap !important;
        font-size: 14px !important;
    }

}

@media (max-width: 390px) {

    .blog-hero-container h1 {
        font-size: 26px !important;
    }

    .contact-hero-container h1 {
        font-size: 26px !important;
    }

    .loop-container {
        padding: 24px 16px !important;
    }

    .form-card {
        padding: 20px 14px !important;
    }
}
