/**
 * DT SMART Responsive Styles
 *
 * @package DT_Smart
 */

/* ============================================
   Tablet (max-width: 1024px)
   ============================================ */
@media (max-width: 1024px) {
    :root {
        --dt-font-size-5xl: 2.5rem;
        --dt-font-size-4xl: 2rem;
        --dt-font-size-3xl: 1.5rem;
        --dt-space-4xl: 4rem;
    }

    /* Grid */
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .grid-6 { grid-template-columns: repeat(3, 1fr); }

    /* Header */
    .dt-topbar .container {
        flex-direction: column;
        gap: 8px;
    }

    .dt-header-main .container {
        flex-wrap: wrap;
    }

    .dt-search-bar {
        order: 3;
        max-width: 100%;
        width: 100%;
    }

    /* Hero */
    .dt-hero .container {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .dt-hero-image {
        display: none;
    }

    .dt-hero-buttons {
        justify-content: center;
    }

    /* Hero Slider responsive */
    .dt-hero-slider {
        height: 400px;
    }

    /* Carousel responsive */
    .dt-carousel-track .dt-product-card {
        min-width: 220px;
        max-width: 220px;
    }

    /* Trust Bar */
    .dt-trust-bar .container {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Categories */
    .dt-categories-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Products */
    .dt-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Shop Layout */
    .dt-shop-layout {
        flex-direction: column;
    }

    .dt-sidebar {
        width: 100%;
        position: static;
    }

    .dt-sidebar .dt-sidebar-widget {
        margin-bottom: 0;
    }

    .woocommerce ul.products li.product {
        width: auto !important;
    }

    /* Services */
    .dt-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Why Us */
    .dt-why-us .container {
        grid-template-columns: 1fr;
    }

    .dt-why-us-image {
        text-align: center;
    }

    /* Projects */
    .dt-projects-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Blog */
    .dt-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Testimonials */
    .dt-testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Single Product - Tablet */
    .dt-single-product-layout {
        grid-template-columns: 1.2fr 1fr;
        gap: var(--dt-space-xl);
    }

    .dt-product-gallery .woocommerce-product-gallery__wrapper {
        min-height: 350px;
    }

    .dt-product-gallery .woocommerce-product-gallery__image img,
    .dt-product-gallery .woocommerce-product-gallery__image--placeholder img {
        height: 350px;
    }

    .dt-product-summary .product_title {
        font-size: var(--dt-font-size-xl);
    }

    .dt-product-summary .price ins {
        font-size: var(--dt-font-size-2xl);
    }

    .dt-product-summary .quantity {
        height: 44px;
    }

    .dt-product-summary .quantity input.qty {
        width: 55px;
        font-size: var(--dt-font-size-base);
    }

    .dt-qty-btn {
        width: 36px;
    }

    .dt-product-summary button.single_add_to_cart_button {
        height: 44px;
        padding: 0 20px;
        font-size: var(--dt-font-size-xs);
    }

    .woocommerce-Tabs-panel {
        padding: var(--dt-space-lg);
    }

    .woocommerce-tabs .wc-tabs li a {
        padding: 14px 18px;
        font-size: 13px;
    }

    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Footer */
    .dt-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ============================================
   Mobile (max-width: 768px)
   ============================================ */
@media (max-width: 768px) {
    :root {
        --dt-font-size-5xl: 2rem;
        --dt-font-size-4xl: 1.75rem;
        --dt-font-size-3xl: 1.375rem;
        --dt-space-4xl: 3rem;
        --dt-container-padding: 1rem;
    }

    /* Grid */
    .grid-2,
    .grid-3,
    .grid-4,
    .grid-6 {
        grid-template-columns: 1fr;
    }

    /* Top Bar */
    .dt-topbar-right,
    .dt-topbar-left {
        justify-content: center;
    }

    .dt-topbar-item {
        font-size: 11px;
    }

    /* Header */
    .dt-header-main .container {
        justify-content: space-between;
    }

    .dt-logo img {
        height: 36px;
    }

    .dt-logo-text {
        font-size: 18px;
    }

    .dt-search-bar {
        display: none;
    }

    .dt-header-actions {
        gap: 12px;
    }

    .dt-header-action span {
        display: none;
    }

    .dt-mobile-menu-toggle {
        display: block;
    }

    /* Navigation */
    .dt-navigation {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: var(--dt-white);
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
        z-index: 9999;
        transition: right 0.3s ease;
        overflow-y: auto;
    }

    .dt-navigation.active {
        right: 0;
    }

    .dt-nav-menu {
        flex-direction: column;
        padding: 20px 0;
    }

    .dt-nav-link,
    #dt-main-menu > li > a {
        padding: 12px 20px;
        width: 100%;
        border-bottom: 1px solid var(--dt-border);
        border-bottom-width: 1px;
    }

    /* Mobile arrow: rotate to left (down) */
    #dt-main-menu > li.menu-item-has-children > a::after {
        margin-right: 0;
        margin-left: auto;
        transition: transform 0.3s ease;
    }

    #dt-main-menu > li.menu-item-has-children.active > a::after,
    #dt-main-menu > li.menu-item-has-children:hover > a::after {
        transform: rotate(-90deg);
    }

    .dt-nav-item .dt-mega-menu,
    #dt-main-menu .sub-menu {
        position: static;
        width: 100%;
        box-shadow: none;
        border-radius: 0;
        display: none;
        grid-template-columns: 1fr;
    }

    .dt-nav-item:hover > .dt-mega-menu,
    #dt-main-menu > li:hover > .sub-menu {
        display: block;
    }

    .dt-mobile-menu-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9998;
    }

    .dt-mobile-menu-overlay.active {
        display: block;
    }

    /* Hero */
    .dt-hero {
        min-height: 450px;
        padding: 40px 0;
    }

    .dt-hero-title {
        font-size: 1.75rem;
    }

    .dt-hero-subtitle {
        font-size: 14px;
    }

    .dt-hero-buttons {
        flex-direction: column;
        align-items: center;
    }

    .dt-hero-buttons .btn {
        width: 100%;
        max-width: 280px;
    }

    /* Hero Slider mobile */
    .dt-hero-slider {
        height: 350px;
    }

    .dt-hero-slide-content {
        padding: 0 10px;
    }

    .dt-hero-arrow {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    /* Carousel mobile */
    .dt-carousel-wrapper {
        padding: 0 35px;
    }

    .dt-carousel-track .dt-product-card {
        min-width: 200px;
        max-width: 200px;
    }

    .dt-carousel-arrow {
        width: 36px;
        height: 36px;
    }

    /* Trust Bar */
    .dt-trust-bar {
        margin-top: -30px;
    }

    .dt-trust-bar .container {
        grid-template-columns: 1fr;
    }

    .dt-trust-item {
        padding: 12px;
    }

    .dt-trust-icon {
        width: 44px;
        height: 44px;
    }

    /* Categories */
    .dt-categories-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }

    .dt-category-card {
        padding: 15px 10px;
    }

    .dt-category-image {
        width: 60px;
        height: 60px;
    }

    .dt-category-title {
        font-size: 12px;
    }

    /* Products */
    .dt-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .dt-product-card {
        border-radius: 10px;
    }

    .dt-product-info {
        padding: 10px 12px 12px;
    }

    .dt-product-title {
        font-size: 12px;
        min-height: auto;
    }

    .dt-product-price .amount {
        font-size: 14px;
    }

    .dt-product-addtocart {
        padding: 7px 10px;
        font-size: 11px;
    }

    /* Shop Layout - Mobile */
    .woocommerce ul.products {
        gap: 10px !important;
    }

    .woocommerce ul.products li.product {
        width: auto !important;
    }

    /* Shop Sidebar - Mobile */
    .dt-shop-sidebar {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .dt-sidebar-widget {
        border-radius: var(--dt-radius-lg);
    }

    .dt-widget-title {
        padding: 12px 16px;
        font-size: 13px;
    }

    .dt-search-form {
        margin: 0 12px 12px;
    }

    .dt-categories-list {
        padding: 6px 8px;
    }

    .dt-categories-list li a {
        padding: 8px 10px;
        font-size: 12px;
    }

    .dt-cat-icon {
        width: 24px;
        height: 24px;
        font-size: 10px;
    }

    .dt-widget-price-filter form {
        padding: 0 14px 14px;
    }

    .dt-sort-options {
        padding: 6px 8px;
    }

    .dt-sort-link {
        padding: 8px 10px;
        font-size: 12px;
    }

    .dt-stock-list {
        padding: 6px 8px;
    }

    .dt-stock-link {
        padding: 8px 10px;
        font-size: 12px;
    }

    .dt-sale-banner {
        padding: 12px 14px;
    }

    .dt-sale-icon {
        width: 36px;
        height: 36px;
        font-size: 15px;
    }

    .dt-sale-title {
        font-size: 12px;
    }

    .dt-sale-desc {
        font-size: 10px;
    }

    .dt-featured-list {
        padding: 6px 8px;
    }

    .dt-featured-item {
        padding: 8px;
        gap: 8px;
    }

    .dt-featured-img {
        width: 48px;
        height: 48px;
    }

    .dt-featured-name {
        font-size: 11px;
    }

    .dt-featured-price {
        font-size: 12px;
    }

    .dt-active-tags {
        padding: 10px 14px;
    }

    .dt-active-tag {
        font-size: 10px;
        padding: 4px 8px;
    }

    .dt-widget .widget {
        padding: 0;
    }

    /* Services */
    .dt-services-grid {
        grid-template-columns: 1fr;
    }

    .dt-service-card {
        padding: 30px 20px;
    }

    /* Why Us */
    .dt-why-us-features {
        gap: 12px;
    }

    .dt-why-us-feature {
        padding: 15px;
    }

    /* Projects */
    .dt-projects-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    /* Blog */
    .dt-blog-grid {
        grid-template-columns: 1fr;
    }

    /* Testimonials */
    .dt-testimonials-grid {
        grid-template-columns: 1fr;
    }

    /* Single Product - Mobile */
    .dt-single-product {
        padding: var(--dt-space-md) 0 var(--dt-space-xl);
    }

    .dt-single-product-layout {
        grid-template-columns: 1fr;
        gap: var(--dt-space-xl);
    }

    .dt-product-gallery {
        position: static;
    }

    .dt-product-gallery .woocommerce-product-gallery__wrapper {
        min-height: 300px;
        border-radius: var(--dt-radius-lg);
    }

    .dt-product-gallery .woocommerce-product-gallery__image img,
    .dt-product-gallery .woocommerce-product-gallery__image--placeholder img {
        height: 300px;
    }

    .dt-product-gallery .woocommerce-product-gallery__thumbnails {
        gap: 8px;
        justify-content: center;
    }

    .dt-product-gallery .woocommerce-product-gallery__thumbnails li {
        flex: 0 0 70px;
        height: 55px;
    }

    .dt-product-summary .product_title {
        font-size: var(--dt-font-size-lg);
    }

    .dt-product-summary .price {
        gap: var(--dt-space-sm);
        padding: var(--dt-space-sm) var(--dt-space-md);
    }

    .dt-product-summary .price ins {
        font-size: var(--dt-font-size-xl);
    }

    .dt-product-summary .price del {
        font-size: var(--dt-font-size-sm);
    }

    .dt-product-summary form.cart {
        flex-wrap: wrap;
        gap: var(--dt-space-md);
    }

    .dt-product-summary .quantity {
        height: 44px;
    }

    .dt-qty-btn {
        width: 38px;
    }

    .dt-qty-btn i {
        font-size: 10px;
    }

    .dt-product-summary .quantity input.qty {
        width: 50px;
        font-size: var(--dt-font-size-base);
    }

    .dt-product-summary button.single_add_to_cart_button {
        height: 44px;
        padding: 0 20px;
        font-size: var(--dt-font-size-sm);
        width: 100%;
        justify-content: center;
    }

    .dt-product-summary button.single_add_to_cart_button::before {
        font-size: 13px;
    }

    .woocommerce-tabs .wc-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-bottom-width: 1px;
    }

    .woocommerce-tabs .wc-tabs li a {
        padding: 12px 16px;
        font-size: 13px;
    }

    .woocommerce-Tabs-panel {
        padding: var(--dt-space-lg);
    }

    .woocommerce-Tabs-panel h2 {
        font-size: 14px;
    }

    .dt-qty-btn.dt-qty-minus {
        border-radius: var(--dt-radius-md) 0 0 var(--dt-radius-md);
    }

    .dt-qty-btn.dt-qty-plus {
        border-radius: 0 var(--dt-radius-md) var(--dt-radius-md) 0;
    }

    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--dt-space-md);
    }

    .related.products h2 {
        font-size: var(--dt-font-size-lg);
    }

    .product_meta {
        flex-direction: column;
        gap: var(--dt-space-sm);
    }

    /* Footer */
    .dt-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .dt-footer-bottom .container {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .dt-footer-trust {
        justify-content: center;
    }
}

/* ============================================
   Small Mobile (max-width: 480px)
   ============================================ */
@media (max-width: 480px) {
    :root {
        --dt-font-size-5xl: 1.5rem;
        --dt-font-size-4xl: 1.375rem;
    }

    .dt-hero {
        min-height: 380px;
    }

    .dt-categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dt-product-grid {
        grid-template-columns: 1fr;
    }

    /* Shop - Small Mobile */
    .woocommerce ul.products li.product {
        width: 100% !important;
    }

    .dt-shop-sidebar {
        grid-template-columns: 1fr;
    }

    .dt-price-values-row {
        gap: 6px;
    }

    .dt-price-box {
        padding: 8px 8px;
    }

    .dt-price-box-value {
        font-size: 14px;
    }

    .dt-price-to {
        font-size: 11px;
    }

    .dt-projects-grid {
        grid-template-columns: 1fr;
    }

    .dt-footer-contact-item {
        font-size: 12px;
    }

    /* Single Product - Small Mobile */
    .dt-product-gallery .woocommerce-product-gallery__wrapper {
        min-height: 250px;
        border-radius: var(--dt-radius-md);
    }

    .dt-product-gallery .woocommerce-product-gallery__image img,
    .dt-product-gallery .woocommerce-product-gallery__image--placeholder img {
        height: 250px;
    }

    .dt-product-gallery .woocommerce-product-gallery__thumbnails li {
        flex: 0 0 60px;
        height: 48px;
    }

    .dt-product-summary .product_title {
        font-size: var(--dt-font-size-base);
    }

    .dt-product-summary .price ins {
        font-size: var(--dt-font-size-xl);
    }

    .dt-product-summary .price del {
        font-size: var(--dt-font-size-xs);
    }

    .dt-product-summary .quantity {
        height: 40px;
    }

    .dt-qty-btn {
        width: 34px;
    }

    .dt-product-summary .quantity input.qty {
        width: 45px;
        font-size: var(--dt-font-size-sm);
    }

    .dt-product-summary button.single_add_to_cart_button {
        height: 40px;
        font-size: var(--dt-font-size-xs);
        padding: 0 16px;
    }

    .woocommerce-tabs .wc-tabs li a {
        padding: 10px 12px;
        font-size: var(--dt-font-size-xs);
    }

    .woocommerce-Tabs-panel {
        padding: var(--dt-space-md);
    }

    .related.products ul.products {
        grid-template-columns: 1fr;
    }

    .related.products h2 {
        font-size: var(--dt-font-size-base);
    }

    /* My Account - Mobile */
    .dt-account-layout {
        flex-direction: column;
    }

    .dt-account-nav {
        width: 100%;
        position: static;
    }

    .dt-account-menu {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        padding: 8px;
    }

    .dt-account-menu-item {
        flex: none;
        padding: 10px 14px;
        border-bottom: none;
        border-radius: var(--dt-radius-md);
        font-size: 12px;
    }

    .dt-account-menu-item.active {
        border-radius: var(--dt-radius-md);
    }

    /* Cart - Mobile */
    .dt-cart-layout {
        flex-direction: column;
    }

    .dt-cart-sidebar {
        width: 100%;
        position: static;
    }

    .dt-cart-item {
        flex-wrap: wrap;
        gap: 12px;
    }

    .dt-cart-item-image {
        width: 80px;
        height: 80px;
    }

    .dt-cart-item-price {
        display: none;
    }

    .dt-cart-item-price-mobile {
        display: block;
        font-weight: 700;
        font-size: var(--dt-font-size-sm);
        color: var(--dt-text-dark);
    }

    .dt-cart-item-subtotal-label {
        display: inline;
        font-size: var(--dt-font-size-xs);
        color: var(--dt-text-gray);
        font-weight: 500;
        margin-left: 4px;
    }

    .woocommerce-cart-form .product-thumbnail {
        width: 60px;
    }

    .woocommerce-cart-form .product-thumbnail img {
        width: 60px;
        height: 60px;
    }

    .woocommerce-cart-form .product-name {
        font-size: 12px;
    }

    .woocommerce-cart-form thead th {
        padding: 10px 8px;
        font-size: 11px;
    }

    .woocommerce-cart-form tbody td {
        padding: 10px 8px;
    }

    .dt-qty-wrapper {
        height: 34px;
    }

    .dt-qty-wrapper .dt-qty-btn {
        width: 28px;
    }

    .dt-qty-wrapper .dt-qty-input {
        width: 40px;
    }

    /* Checkout - Mobile */
    .dt-checkout-layout {
        grid-template-columns: 1fr;
    }

    .dt-checkout-title {
        font-size: var(--dt-font-size-lg);
    }

    /* 404 - Mobile */
    .dt-404-title {
        font-size: 48px;
    }

    .dt-404-subtitle {
        font-size: var(--dt-font-size-lg);
    }

    .dt-404-actions {
        flex-direction: column;
        align-items: center;
    }

    .dt-404-actions .btn {
        width: 100%;
        max-width: 250px;
    }

    /* Blog - Mobile */
    .dt-blog-layout {
        flex-direction: column;
    }

    .dt-blog-layout .dt-sidebar {
        width: 100%;
        position: static;
    }

    .dt-blog-layout .dt-sidebar .dt-sidebar-widget {
        margin-bottom: 16px;
    }

    /* Post Navigation - Mobile */
    .dt-post-navigation {
        flex-direction: column;
    }

    /* Login Form - Mobile */
    .dt-login-wrapper {
        padding: var(--dt-space-md) 0;
    }

    .dt-login-card {
        border-radius: var(--dt-radius-xl);
    }

    .dt-login-header {
        padding: var(--dt-space-xl) var(--dt-space-lg);
    }

    .dt-login-logo {
        width: 60px;
        height: 60px;
    }

    .dt-login-logo i {
        font-size: 26px;
    }

    .dt-login-title {
        font-size: var(--dt-font-size-base);
    }

    .dt-login-form-wrapper {
        padding: var(--dt-space-lg);
    }
}

/* ============================================
   Small Mobile (max-width: 480px)
   ============================================ */
@media (max-width: 480px) {
    /* Login Form - Small Mobile */
    .dt-login-tabs {
        flex-direction: column;
    }

    .dt-login-tab {
        border-bottom: none;
        padding: 12px;
    }

    .dt-form-row {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }

    .dt-form-forgot {
        margin-top: -4px;
    }

    /* Track Order - Mobile */
    .dt-track-order-wrapper {
        padding: var(--dt-space-md) 0;
    }

    .dt-track-order-card {
        border-radius: var(--dt-radius-xl);
    }

    .dt-track-order-header {
        padding: var(--dt-space-xl) var(--dt-space-lg);
    }

    .dt-track-order-icon {
        width: 60px;
        height: 60px;
    }

    .dt-track-order-icon i {
        font-size: 24px;
    }

    .dt-track-order-title {
        font-size: var(--dt-font-size-base);
    }

    .dt-track-order-form-wrapper {
        padding: var(--dt-space-lg);
    }

    .dt-track-form-row {
        grid-template-columns: 1fr;
        gap: var(--dt-space-md);
    }

    .dt-track-result-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .dt-track-timeline {
        justify-content: flex-start;
        gap: 4px;
        overflow-x: auto;
        padding-bottom: var(--dt-space-sm);
    }

    .dt-track-timeline::before {
        display: none;
    }

    .dt-timeline-step {
        min-width: 70px;
    }

    .dt-timeline-dot {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }

    .dt-timeline-label {
        font-size: 10px;
    }

    .dt-track-detail-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}
