@media screen and (max-width: 600px) {
    .mobile-hidden {
        display: none;
    }
}

@media (min-width: 1200px) {
    .product-page-container .container {
        max-width: 80% !important;
        padding: 0 40px !important;
    }
}

@media (max-width: 991px) {
    .product-name {
        font-size: 1.4rem;
    }
    .price-current {
        font-size: 1.8rem;
    }
    .product-card {
        padding: 16px;
    }
    .product-image-wrapper img {
        max-height: 350px;
    }
    .price-box {
        margin-top: 12px;
    }
    .feature-details {
        grid-template-columns: 1fr;
    }
    .expert-pros-cons .row {
        gap: 12px;
    }
    .expert-rating-card {
        flex-wrap: wrap;
        gap: 20px;
    }
    .rating-score {
        min-width: 75px;
        padding-left: 15px;
    }
    .rating-number {
        font-size: 34px;
    }
    .rating-badge {
        min-width: 75px;
        min-height: 75px;
    }
    .pros-cons-grid {
        grid-template-columns: 1fr;
    }
    .expert-title {
        font-size: 18px;
    }
    .opinion-badge {
        display: none;
    }
    .key-features-grid {
        grid-template-columns: 1fr;
    }
    .intro-title {
        font-size: 18px;
    }
    .intro-description-card {
        padding: 22px;
    }
    .specifications-title {
        font-size: 18px;
    }
    .specs-label {
        width: 38%;
        padding: 12px 14px;
        font-size: 12px;
    }
    .specs-value {
        width: 62%;
        padding: 12px 15px;
        font-size: 12px;
    }
}

@media (max-width: 576px) {
    .product-page-container .container {
        padding: 0 10px !important;
    }
    .product-page {
        padding: 8px 0 20px;
    }
    .product-name {
        font-size: 1.2rem;
    }
    .product-name-en {
        font-size: 0.75rem;
    }
    .price-current {
        font-size: 1.5rem;
    }
    .product-card {
        padding: 10px;
        border-radius: var(--radius-md);
    }
    .product-image-wrapper img {
        padding: 10px;
        max-height: 220px;
    }
    .spec-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
    .spec-item {
        padding: 10px 8px;
    }
    .spec-item .value {
        font-size: 12px;
    }
    .price-features {
        gap: 10px;
    }
    .price-features span {
        font-size: 11px;
    }
    .action-links {
        gap: 8px;
        flex-wrap: wrap;
    }
    .action-links a {
        font-size: 11px;
        padding: 4px 8px;
    }
    .breadcrumb-digi {
        padding: 8px 14px;
        font-size: 11px;
        border-radius: var(--radius-sm);
    }
    .btn-add-cart {
        padding: 12px 16px;
        font-size: 0.9rem;
    }
    .quantity-selector button {
        width: 32px;
        height: 32px;
    }
    .quantity-selector span {
        height: 32px;
        min-width: 28px;
        font-size: 0.95rem;
    }
    .specs-card {
        padding: 14px 16px;
        border-radius: var(--radius-md);
    }
    .description-card {
        padding: 14px 16px;
        border-radius: var(--radius-md);
    }
    .description-card p {
        font-size: 0.85rem;
        line-height: 1.9;
    }
    .section-title {
        font-size: 1rem;
    }
    .price-box {
        padding: 14px 16px;
    }
    .tech-specs .row-spec {
        flex-direction: column;
    }
    .tech-specs .row-spec .label {
        width: 100%;
        border-left: none;
        border-bottom: 1px solid var(--border-light);
        padding: 8px 14px;
        font-size: 12px;
    }
    .tech-specs .row-spec .value {
        width: 100%;
        padding: 8px 14px;
        font-size: 12px;
    }
    .feature-detail-item {
        padding: 12px 14px;
    }
    .feature-detail-item .title {
        font-size: 13px;
    }
    .feature-detail-item .desc {
        font-size: 12px;
    }
    .product-badge {
        font-size: 10px;
        padding: 3px 12px;
        top: 10px;
        right: 10px;
    }
    .product-tabs-nav {
        padding: 0 12px;
        gap: 0;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    .product-tabs-nav .nav-link {
        padding: 12px 16px;
        font-size: 12px;
        white-space: nowrap;
        gap: 4px;
    }
    .product-tabs-nav .nav-link i {
        font-size: 15px;
    }
    .tab-body {
        padding: 16px 18px;
    }
    .expert-rating-summary {
        flex-direction: column;
        text-align: center;
        gap: 8px !important;
    }
    .expert-pros-cons .row {
        gap: 12px;
    }
    .key-feature-item {
        font-size: 13px;
        padding: 8px 12px;
    }
    .stars-big {
        font-size: 18px;
    }
    .specs-label {
        width: 42%;
        padding: 11px 12px;
    }
    .specs-value {
        width: 58%;
        padding: 11px 12px;
    }
    .specs-more {
        padding: 14px;
    }

    .product-grid-mobile .col-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .card.offer .card-img {
        padding: 12px !important;
    }
    .card.offer .p-3 {
        padding: 10px !important;
    }
    .card.offer .ts-3 {
        font-size: 11px !important;
        height: 2.5em !important;
        line-height: 1.4em !important;
    }
    .card.offer .fs-4 {
        font-size: 9px !important;
    }
    .card.offer .mony {
        font-size: 12px !important;
    }
    .card.offer .installment-badge {
        padding: 2px 8px !important;
    }
    .card.offer .installment-badge span {
        font-size: 9px !important;
    }

    .pagination-mobile {
        flex-wrap: wrap;
        gap: 4px;
    }
    .pagination-mobile .pageNumber {
        width: 26px;
        height: 26px;
        font-size: 10px;
        border-radius: 8px;
    }
    .pagination-mobile .pageNumber svg {
        width: 14px;
        height: 14px;
    }
    .pagination-mobile .fs-3 {
        font-size: 10px !important;
    }

    .tree .node .label .category-name {
        font-size: 12px;
    }
    .tree .children .node .sub-category-link .sub-category-name {
        font-size: 11px;
    }
    .tree .node .label .category-count {
        font-size: 9px;
        padding: 0 5px;
    }
}

@media (max-width: 768px) {
    .step-slider .carousel-control-prev,
    .step-slider .carousel-control-next {
        margin: 0;
    }
    .step-slider .carousel-inner {
        height: 450px;
    }
    .step-slider .step-wrapper {
        max-width: 75vw;
    }
}
