@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');


/* Base styles (original base.css) */







body.front-base *{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body.front-base{
    font-family: 'Roboto', sans-serif;
    background-color: #f1f3f5;
    color: #333;
    margin: 0;
    padding: 0;
    line-height: 1.6;
}


body.front-base .container{
    max-width: 100%;
    width: 100%;
    padding: 20px;
    margin: 0 auto;
}


body.front-base h1, body.front-base h2, body.front-base h3{
    color: #2c3e50;
    font-weight: 500;
}

body.front-base h1{
    font-size: clamp(1.5rem, 5vw, 2.2rem);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

body.front-base h2{
    font-size: clamp(1.2rem, 4vw, 1.8rem);
    margin-bottom: 15px;
}

body.front-base h3{
    font-size: clamp(1rem, 3vw, 1.4rem);
    margin-bottom: 10px;
    font-weight: 700;
    color: #2c3e50;
}


body.front-base .logo{
    text-align: left;
    margin-bottom: 20px;
}

body.front-base .logo img{
    max-width: 150px;
    height: auto;
    border-radius: 5px;
}


body.front-base .copyright{
    text-align: center;
    margin-top: 30px;
    padding: 15px 0;
    border-top: 1px solid #ddd;
}

body.front-base .copyright p{
    font-size: clamp(0.8rem, 2vw, 0.9rem);
    color: #666;
}


body.front-base form{
    margin-top: 20px;
}

body.front-base .form-card{
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    width: 100%;
    max-width: 100%;
}

body.front-base label{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #2c3e50;
    margin-bottom: 8px;
}

body.front-base input, body.front-base textarea, body.front-base select{
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    background: #fff;
    color: #333;
    transition: border-color 0.3s ease;
}

body.front-base input:focus, body.front-base textarea:focus, body.front-base select:focus{
    border-color: #3498db;
    outline: none;
}

body.front-base textarea{
    height: 100px;
    resize: none;
}


body.front-base .form-row{
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    justify-content: center;
}

body.front-base .form-group{
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 300px;
}

body.front-base .form-group label{
    white-space: nowrap;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #2c3e50;
}

body.front-base .form-group input{
    flex: 1;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    background: #fff;
    color: #333;
}


body.front-base .quantity-selector{
    display: flex;
    align-items: center;
    gap: 8px;
}

body.front-base .quantity-selector button{
    background: #3498db;
    color: #fff;
    border: none;
    padding: 8px 12px;
    border-radius: 50%;
    cursor: pointer;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    transition: background 0.3s ease;
}

body.front-base .quantity-selector button:hover{
    background: #2980b9;
}

body.front-base .quantity-selector input{
    width: 60px;
    text-align: center;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    background: #fff;
    color: #333;
}


body.front-base .table-container{
    overflow-x: auto;
    width: 100%;
    max-width: 100%;
}

body.front-base table{
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

body.front-base table th, body.front-base table td{
    padding: 12px 15px;
    text-align: left;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #333;
}

body.front-base table th{
    background: #3498db;
    color: #fff;
    font-weight: 500;
}

body.front-base table td{
    border-bottom: 1px solid #ddd;
}

body.front-base table tr:last-child td{
    border-bottom: none;
}


body.front-base .action-link{
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 5px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.3s ease;
}

body.front-base .action-link.edit{
    color: #28a745;
    background: rgba(40, 167, 69, 0.1);
}

body.front-base .action-link.edit:hover{
    background: rgba(40, 167, 69, 0.2);
}

body.front-base .action-link.delete{
    color: #dc3545;
    background: rgba(220, 53, 69, 0.1);
}

body.front-base .action-link.delete:hover{
    background: rgba(220, 53, 69, 0.2);
}


body.front-base .alert{
    background: #dc3545;
    color: #fff;
    padding: 12px;
    border-radius: 5px;
    margin-bottom: 20px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    text-align: center;
}


body.front-base nav{
    margin-bottom: 20px;
}

body.front-base nav a{
    margin-right: 15px;
    color: #3498db;
    text-decoration: none;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease;
}

body.front-base nav a:hover{
    color: #2980b9;
}


body.front-base .back-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #3498db;
    text-decoration: none;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    margin-bottom: 20px;
    transition: color 0.3s ease;
}

body.front-base .back-link:hover{
    color: #2980b9;
}


body.front-base .container form{
    max-width: 400px;
    margin: 0 auto;
}

body.front-base .container form label{
    display: block;
    margin-bottom: 8px;
}

body.front-base .container form input[type="text"]{
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    background: #fff;
    color: #333;
}


body.front-base .pay-button{
    background: #3498db;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 25px;
    cursor: pointer;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background 0.3s ease, transform 0.2s ease;
    height: 48px;
    line-height: 48px;
    box-sizing: border-box;
}

body.front-base .pay-button:hover{
    background: #2980b9;
    transform: translateY(-3px);
}


@media (max-width: 480px) {
    body.front-base .container{
        padding: 15px;
    }

    body.front-base .logo img{
        max-width: 120px;
    }

    body.front-base h1{
        font-size: clamp(1.4rem, 4vw, 1.8rem);
    }

    body.front-base h2{
        font-size: clamp(1.1rem, 3.5vw, 1.4rem);
    }

    body.front-base .form-row{
        flex-direction: column;
        gap: 10px;
    }

    body.front-base .form-group{
        width: 100%;
    }

    body.front-base table th, body.front-base table td{
        font-size: clamp(0.8rem, 2vw, 0.9rem);
        padding: 10px;
    }

    body.front-base .pay-button{
        font-size: clamp(0.85rem, 2vw, 0.9rem);
        padding: 12px 20px;
        height: 50px;
        line-height: 50px;
    }
}


@media (min-width: 768px) {
    body.front-base .container{
        max-width: 900px;
    }
}


/* Main page styles (original main.css) */

body.page-main .announcement{
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

body.page-main .announcement h2{
    margin-bottom: 15px;
    color: #2c3e50;
}

body.page-main .announcement-content{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.page-main .announcement-content p{
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    white-space: normal;
    color: #333;
}


body.page-main .category-selector{
    margin-bottom: 20px;
}

body.page-main .category-buttons{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center; 
}

body.page-main .category-button{
    display: inline-block; 
    background: #e9ecef;
    color: #2c3e50;
    padding: 10px 20px;
    border-radius: 25px;
    text-decoration: none;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    transition: background 0.3s ease, color 0.3s ease;
    white-space: nowrap; 
    margin: 0; 
    box-sizing: border-box; 
}

body.page-main .category-button.active, body.page-main .category-button:hover{
    background: #3498db;
    color: #fff;
}

body.page-main .toggle-categories{
    background: #e9ecef;
    color: #2c3e50;
    padding: 10px 20px;
    border-radius: 25px;
    border: none;
    cursor: pointer;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background 0.3s ease, color 0.3s ease;
    white-space: nowrap; 
}

body.page-main .toggle-categories:hover{
    background: #3498db;
    color: #fff;
}

body.page-main .more-categories{
    display: none; 
}

body.page-main .more-categories.show{
    display: contents; 
}


body.page-main .search-bar{
    margin-bottom: 20px;
}

body.page-main .search-container{
    display: flex;
    gap: 12px;
    max-width: 600px;
    margin: 0 auto;
}

body.page-main .search-bar input[type="text"]{
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 25px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    background: #fff;
    color: #333;
    transition: border-color 0.3s ease;
    min-width: 0;
    height: 44px;
    line-height: 44px;
    box-sizing: border-box;
}

body.page-main .search-bar input[type="text"]:focus{
    border-color: #3498db;
    outline: none;
}

body.page-main .search-bar .search-button{
    background: #3498db;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 25px;
    cursor: pointer;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.3s ease, transform 0.2s ease;
    white-space: nowrap;
    height: 44px;
    line-height: 44px;
    box-sizing: border-box;
}

body.page-main .search-bar .search-button:hover{
    background: #2980b9;
    transform: translateY(-2px);
}


body.page-main .product-list{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

body.page-main .product-item{
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    padding: 15px;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
}

body.page-main .product-item:hover{
    transform: translateY(-5px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

body.page-main .product-image{
    flex: 0 0 90px;
    height: 90px;
    margin-right: 20px;
}

body.page-main .product-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    aspect-ratio: 1 / 1;
}

body.page-main .product-info{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.page-main .product-info h3{
    font-size: clamp(1rem, 3vw, 1.4rem);
    margin-bottom: 10px;
    font-weight: 700;
    color: #2c3e50;
}

body.page-main .product-info .price{
    font-size: clamp(1rem, 2.5vw, 1.1rem);
    color: #e74c3c;
}

body.page-main .product-info .price span{
    font-weight: 700;
}

body.page-main .product-info p{
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #666;
}

body.page-main .product-action{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

body.page-main .product-action .buy-button{
    background: #3498db;
    color: #fff;
    padding: 8px 16px;
    border-radius: 25px;
    text-decoration: none;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    text-align: center;
    transition: background 0.3s ease, transform 0.2s ease;
    min-width: 90px;
}

body.page-main .product-action .buy-button:hover{
    background: #2980b9;
    transform: translateY(-2px);
}


body.page-main .pagination{
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 20px 0;
}

body.page-main .pagination a{
    padding: 8px 16px;
    background: #e9ecef;
    color: #2c3e50;
    border-radius: 25px;
    text-decoration: none;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    transition: background 0.3s ease, color 0.3s ease;
}

body.page-main .pagination a.active, body.page-main .pagination a:hover{
    background: #3498db;
    color: #fff;
}

body.page-main .pagination a.disabled{
    background: #f5f5f5;
    color: #ccc;
    cursor: not-allowed;
}


body.page-main .copyright{
    text-align: center;
    padding: 20px 0;
    font-size: clamp(0.8rem, 2vw, 0.9rem);
    color: #666;
}


@media (max-width: 480px) {
    body.page-main .category-button, body.page-main .toggle-categories{
        font-size: clamp(0.8rem, 2vw, 0.9rem);
        padding: 8px 16px;
    }

    body.page-main .product-image{
        flex: 0 0 70px;
        height: 70px;
    }

    body.page-main .product-action{
        margin-left: auto; 
    }

    body.page-main .product-action .buy-button{
        padding: 6px 12px;
        font-size: clamp(0.8rem, 2vw, 0.9rem);
        min-width: 90px;
    }

    body.page-main .search-container{
        flex-direction: row;
        gap: 8px;
    }

    body.page-main .search-bar input[type="text"]{
        font-size: clamp(0.8rem, 2vw, 0.9rem);
        height: 40px;
        line-height: 40px;
    }

    body.page-main .search-bar .search-button{
        font-size: clamp(0.8rem, 2vw, 0.9rem);
        padding: 8px 16px;
        height: 40px;
        line-height: 40px;
    }

    body.page-main .product-item{
        flex-wrap: wrap;
    }

    body.page-main .product-action{
        flex: 1;
        justify-content: flex-end; 
        margin-top: 10px;
        margin-left: auto; 
    }
}


@media (min-width: 768px) {
    body.page-main .category-buttons{
        gap: 15px;
    }

    body.page-main .product-image{
        flex: 0 0 100px;
        height: 100px;
    }

    body.page-main .product-action{
        flex: 0 0 90px;
        margin-left: 20px; 
    }

    body.page-main .product-action .buy-button{
        padding: 8px 16px;
    }

    body.page-main .search-container{
        max-width: 700px;
    }

    body.page-main .search-bar input[type="text"]{
        width: 70%;
    }
}









body.page-main .pagination{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0;
    padding: 0 10px;
}

body.page-main .pagination a, body.page-main .pagination span{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    background: #e9ecef;
    color: #2c3e50;
    border-radius: 20px;
    text-decoration: none;
    font-size: 16px;
    transition: background 0.3s ease, color 0.3s ease;
}

body.page-main .pagination a.active{
    background: #3498db;
    color: #fff;
    font-weight: bold;
}

body.page-main .pagination a:hover:not(.disabled){
    background: #3498db;
    color: #fff;
}

body.page-main .pagination a.disabled{
    background: #f5f5f5;
    color: #ccc;
    cursor: not-allowed;
}

body.page-main .pagination .ellipsis{
    background: none;
    border: none;
    color: #666;
}


@media (max-width: 480px) {
    body.page-main .pagination{
        gap: 6px;
    }

    body.page-main .pagination a, body.page-main .pagination span{
        min-width: 36px;
        height: 36px;
        font-size: 14px;
        padding: 0 8px;
    }

    body.page-main .pagination a.prev-next{
        padding: 0 12px;
    }

    body.page-main .pagination .ellipsis, body.page-main .pagination a:not(.active):not(.prev-next):not(.first-page):not(.last-page){
        display: none;
    }

    body.page-main .pagination a.first-page, body.page-main .pagination a.last-page{
        display: inline-flex;
    }

    body.page-main .pagination a.active{
        display: inline-flex;
    }
}


/* Main page inline styles (from templates/main.html) */
body.page-main .customer-service{
                position: fixed;
                top: 20px;
                right: 20px;
                z-index: 1000;
                cursor: move;
                user-select: none;
                touch-action: none;
                transition: all 0.1s ease;
            }
            
            body.page-main .cs-link{
                display: flex;
                align-items: center;
                justify-content: center;
                width: 50px;
                height: 50px;
                background-color: #0088cc;
                color: white;
                text-decoration: none;
                border-radius: 50%;
                transition: background-color 0.3s;
                box-shadow: 0 2px 5px rgba(0,0,0,0.2);
            }
            
            body.page-main .cs-link:hover{
                background-color: #006699;
            }
            
            body.page-main .cs-link i{
                font-size: 24px;
            }
            
            
            body.page-main .cs-link span{
                display: none;
            }

            @media (max-width: 768px) {
                body.page-main .cs-link{
                    width: 40px;
                    height: 40px;
                }
            
                body.page-main .cs-link i{
                    font-size: 20px;
                }
            }


/* Product detail styles (original product_detail.css) */

body.page-product-detail .product-details{
    text-align: center;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    margin: 0 auto;
}

body.page-product-detail .product-details img{
    max-width: 200px;
    border-radius: 12px;
    margin-bottom: 20px;
}

body.page-product-detail .product-details h2{
    font-size: clamp(1.2rem, 4vw, 1.8rem);
    margin-bottom: 15px;
    color: #2c3e50;
}

body.page-product-detail .product-details .price{
    font-size: clamp(1.1rem, 3.5vw, 1.3rem);
    color: #e74c3c;
    margin-bottom: 15px;
}

body.page-product-detail .product-details .price span{
    font-weight: 700;
}

body.page-product-detail .product-details .total-price{
    font-size: clamp(1.1rem, 3.5vw, 1.3rem);
    color: #28a745;
    margin-bottom: 15px;
}

body.page-product-detail .product-details .total-price span{
    font-weight: 700;
}

body.page-product-detail .product-details p{
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #666;
    margin-bottom: 15px;
}

body.page-product-detail .product-details .description{
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #333;
    margin-bottom: 20px;
}

body.page-product-detail .product-details form{
    background: none;
    box-shadow: none;
    padding: 0;
}


body.page-product-detail .pay-button{
    background: #3498db;
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 25px;
    cursor: pointer;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background 0.3s ease, transform 0.2s ease;
    height: 48px;
    line-height: 48px;
    box-sizing: border-box;
}

body.page-product-detail .pay-button:hover{
    background: #2980b9;
    transform: translateY(-3px);
}


@media (max-width: 480px) {
    body.page-product-detail .pay-button{
        font-size: clamp(0.85rem, 2vw, 0.9rem);
        padding: 12px 20px;
        height: 50px;
        line-height: 50px;
    }
}


/* Wallet styles (original wallet.css) */

body.page-wallet .wallet-list{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 20px 0;
}

body.page-wallet .wallet-item{
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    padding: 15px;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
}

body.page-wallet .wallet-item:hover{
    transform: translateY(-5px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

body.page-wallet .wallet-image{
    flex: 0 0 90px;
    height: 90px;
    margin-right: 20px;
}

body.page-wallet .wallet-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    aspect-ratio: 1 / 1;
}

body.page-wallet .wallet-info{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

body.page-wallet .wallet-info h3{
    font-size: clamp(1rem, 3vw, 1.4rem);
    margin-bottom: 10px;
    font-weight: 700;
    color: #2c3e50;
}

body.page-wallet .wallet-info p{
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #666;
}

body.page-wallet .wallet-action{
    display: flex;
    justify-content: flex-end; 
    align-items: center;
}

body.page-wallet .wallet-action .select-button{
    background: #3498db;
    color: #fff;
    padding: 8px 16px;
    border-radius: 25px;
    text-decoration: none;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    text-align: center;
    transition: background 0.3s ease, transform 0.2s ease;
    min-width: 90px;
}


body.page-wallet .wallet-action .select-button:hover{
    background: #2980b9;
    transform: translateY(-2px);
}


body.page-wallet .wallet-info-price{
    padding: 15px 0;
    margin: 8px 0; 
    text-align: left;
}

body.page-wallet .wallet-info-price p{
    font-size: clamp(1rem, 3vw, 1.4rem);
    color: #2c3e50;
    margin: 0;
    font-weight: 500;
}

body.page-wallet .wallet-info-price p span{
    font-weight: 700;
    color: #e74c3c;
}


body.page-wallet .wallet-tip{
    background: #e9ecef;
    border-radius: 12px;
    padding: 15px;
    margin-top: 20px;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #333;
    text-align: center;
}


body.page-wallet .back-link{
    display: inline-block; 
    margin-bottom: 8px; 
    color: #3498db;
    text-decoration: none;
    font-size: clamp(0.9rem, 2.5vw, 1rem);
}

body.page-wallet .back-link:hover{
    text-decoration: underline;
}


body.page-wallet h1{
    margin-bottom: 10px; 
}


@media (max-width: 480px) {
    body.page-wallet .wallet-image{
        flex: 0 0 70px;
        height: 70px;
    }

    body.page-wallet .wallet-action{
        margin-left: auto; 
    }

    body.page-wallet .wallet-action .select-button{
        padding: 6px 12px;
        font-size: clamp(0.8rem, 2vw, 0.9rem);
        min-width: 90px;
    }

    body.page-wallet .wallet-info-price p{
        font-size: clamp(0.9rem, 2.5vw, 1.2rem);
    }

    body.page-wallet .wallet-item{
        flex-wrap: wrap;
    }

    body.page-wallet .wallet-action{
        flex: 1;
        justify-content: flex-end; 
        margin-top: 10px;
        margin-left: auto; 
    }
}


@media (min-width: 768px) {
    body.page-wallet .wallet-image{
        flex: 0 0 100px;
        height: 100px;
    }

    body.page-wallet .wallet-action{
        flex: 0 0 90px; 
        margin-left: 20px; 
    }

    body.page-wallet .wallet-action .select-button{
        padding: 8px 16px;
    }
}


/* Wallet inline styles (from templates/wallet.html) */
body.page-wallet .qr-section{
            text-align: center;
            margin: 20px 0;
            padding: 20px;
            background: #f8f9fa;
            border-radius: 8px;
            border: 1px solid #e9ecef;
        }
        body.page-wallet .qr-title{
            font-size: 16px;
            color: #333;
            margin-bottom: 15px;
            font-weight: 500;
        }
        body.page-wallet .qr-canvas{
            margin: 0 auto;
            display: block;
        }


/* Pay styles (original pay.css) */
body.page-pay *{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html.page-pay, body.page-pay{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background-color: #f2f6ff;
    font-family: Arial, sans-serif;
}

body.page-pay .payment-container{
    width: 100vw;
    max-width: 400px;
    padding: 15px;
    margin-top: 20px;
    margin-bottom: 20px; 
}

body.page-pay .payment-info{
    background: linear-gradient(135deg, #7b60e1, #5a39d4);
    color: #ffffff;
    padding: 20px;
    border-radius: 15px;
    text-align: left;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

body.page-pay .payment-info h2{
    font-size: 18px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

body.page-pay .payment-info h2::before{
    content: '🛒';
    font-size: 20px;
    margin-right: 8px;
}

body.page-pay .divider{
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    margin: 15px 0;
}

body.page-pay .lebel{
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    color: #d1cffe;
    align-items: center;
    white-space: nowrap; 
}

body.page-pay .lebel span:first-child{
    flex-shrink: 0; 
}

body.page-pay .lebel span:last-child{
    font-size: 14px; 
    overflow: hidden;
    text-overflow: ellipsis; 
}

body.page-pay .amount-label span:last-child, body.page-pay .balance-label span:last-child{
    font-size: 16px; 
}

body.page-pay .mb10{
    margin-bottom: 10px;
}

body.page-pay .mb12{
    margin-bottom: 12px;
}

body.page-pay .pay-button-container{
    margin-top: 20px;
    background-color: #ffffff;
    border-radius: 30px;
    padding: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

body.page-pay .pay-button{
    width: 100%;
    padding: 15px 0;
    font-size: 18px;
    color: #ffffff;
    background: linear-gradient(135deg, #7b60e1, #5a39d4);
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.page-pay .pay-button.insufficient{
    background: linear-gradient(135deg, #ff0000, #5a39d4); 
}

body.page-pay .pay-button:hover{
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(90, 57, 212, 0.3);
}

body.page-pay .desktop-message{
    color: #e74c3c;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin-top: 20px;
}

body.page-pay .footer-info{
    position: fixed;
    bottom: 10px;
    width: 100%;
    text-align: center;
    font-size: 14px;
    color: #666;
}

body.page-pay .footer-info p{
    margin: 5px 0;
}

@media (max-width: 480px) {
    body.page-pay .payment-info h2{
        font-size: 16px;
    }

    body.page-pay .lebel{
        font-size: 14px;
    }

    body.page-pay .lebel span:last-child{
        font-size: 12px; 
    }

    body.page-pay .amount-label span:last-child, body.page-pay .balance-label span:last-child{
        font-size: 14px; 
    }

    body.page-pay .pay-button{
        font-size: 16px;
        padding: 12px 0;
    }

    body.page-pay .desktop-message{
        font-size: 1.2rem;
    }

    body.page-pay .footer-info{
        font-size: 12px;
    }
}


/* Pay inline styles (from templates/pay.html) */

        body.page-pay .blocked-notification{
            background-color: #ffeeee;
            color: #cc0000;
            border: 1px solid #cc0000;
            padding: 10px;
            border-radius: 5px;
            margin-bottom: 15px;
            text-align: center;
            font-weight: bold;
            display: none; 
        }


/* Pay prompt inline styles (from templates/pay_prompt.html) */
body.page-pay-prompt{
            font-family: 'Roboto', sans-serif;
            background-color: #f2f6ff;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            padding: 20px;
        }

        body.page-pay-prompt .prompt-container{
            max-width: 500px;
            width: 100%;
            background: #fff;
            padding: 20px;
            border-radius: 12px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            text-align: center;
        }

        body.page-pay-prompt .prompt-container h2{
            font-size: 1.5rem;
            color: #2c3e50;
            margin-bottom: 20px;
        }

        body.page-pay-prompt .prompt-container p{
            font-size: 1rem;
            color: #666;
            margin-bottom: 15px;
            line-height: 1.5;
        }

        body.page-pay-prompt .prompt-container .payment-instruction{
            font-weight: 700;
            display: inline;
        }

        body.page-pay-prompt .pay-url{
            display: inline;
            word-break: break-all; 
        }

        body.page-pay-prompt .payment-address{
            text-align: left; 
        }

        body.page-pay-prompt .copy-button{
            background: #3498db;
            color: #fff;
            padding: 10px 20px;
            border: none;
            border-radius: 25px;
            font-size: 1rem;
            cursor: pointer;
            transition: background 0.3s ease;
            margin: 15px 0;
        }

        body.page-pay-prompt .copy-button:hover{
            background: #2980b9;
        }

        body.page-pay-prompt .prompt-image{
            max-width: 100%;
            height: auto;
            margin: 20px 0;
            border-radius: 8px;
        }

        body.page-pay-prompt .prompt-container .step-reference{
            font-size: 0.9rem;
            color: #666;
            margin-top: 10px;
        }


/* Result inline styles (from templates/result.html) */

        body.page-result *{
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body.page-result{
            font-family: 'Roboto', sans-serif;
            background-color: #f1f3f5;
            color: #333;
            margin: 0;
            padding: 0;
            line-height: 1.6;
        }

        
        body.page-result .container{
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 80vh;
            padding: 30px 20px;
            max-width: 100%;
            width: 100%;
            margin: 0 auto;
        }

        
        body.page-result h1, body.page-result h2, body.page-result h3{
            color: #2c3e50;
            font-weight: 500;
        }

        body.page-result h1{
            font-size: clamp(1.5rem, 5vw, 2.2rem);
            margin-bottom: 30px;
            display: flex;
            align-items: center;
            gap: 10px;
            text-align: center;
        }

        body.page-result h2{
            font-size: clamp(1.2rem, 4vw, 1.8rem);
            margin-bottom: 15px;
        }

        body.page-result h3{
            font-size: clamp(1rem, 3vw, 1.4rem);
            margin-bottom: 10px;
            font-weight: 700;
            color: #2c3e50;
        }
        
        body.page-result h1 i.fa-check-circle{
            color: #2ecc71;
            font-size: 1.2em;
        }
        
        body.page-result h1 i.fa-exclamation-circle{
            color: #e74c3c;
            font-size: 1.2em;
        }

        body.page-result h1 i.fa-circle-notch{
            color: #3498db;
            font-size: 1.2em;
        }

        
        body.page-result .result-info{
            width: 100%;
            margin-bottom: 30px;
            text-align: left;
            line-height: 1.8;
            background: #fff;
            border-radius: 12px;
            padding: 20px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            max-width: 500px;
            margin: 0 auto 30px;
        }

        body.page-result .result-info p{
            font-size: clamp(0.9rem, 2.5vw, 1rem);
            color: #333;
            margin-bottom: 15px;
            word-break: break-all; 
        }

        body.page-result .result-info p:last-child{
            margin-bottom: 0;
        }

        body.page-result .result-info p strong{
            color: #3498db;
        }

        
        body.page-result .tx-link{
            color: #3498db;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        body.page-result .tx-link:hover{
            color: #1d6fa5;
            text-decoration: underline;
        }

        
        body.page-result .result-info.error{
            background: #ffe6e6;
            border: 1px solid #ff4d4d;
        }

        body.page-result .result-info.error p{
            color: #ff4d4d;
        }
        
        body.page-result .loading-spinner{
            text-align: center;
            margin: 20px 0;
            font-size: 2rem;
            color: #3498db;
        }
        
        body.page-result .back-link{
            margin-top: 20px;
            padding: 12px 24px;
            background-color: #3498db;
            color: white;
            border-radius: 25px;
            transition: all 0.3s ease;
            text-decoration: none;
            font-weight: 500;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
        
        body.page-result .back-link:hover{
            background-color: #2980b9;
            transform: translateY(-3px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        
        body.page-result .status-indicator{
            display: inline-block;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            margin-right: 8px;
        }
        
        body.page-result .status-success{
            background-color: #2ecc71;
        }
        
        body.page-result .tx-info-section{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }
        
        @media (max-width: 600px) {
            body.page-result .tx-info-section{
                grid-template-columns: 1fr;
            }
        }
        
        body.page-result .tx-info-item{
            padding: 12px;
            background-color: #f8f9fa;
            border-radius: 8px;
            margin-bottom: 10px;
        }
        
        body.page-result .tx-info-item strong{
            display: block;
            margin-bottom: 5px;
            color: #2c3e50;
        }

        
        @media (max-width: 480px) {
            body.page-result .container{
                padding: 15px;
            }

            body.page-result h1{
                font-size: clamp(1.4rem, 4vw, 1.8rem);
            }

            body.page-result h2{
                font-size: clamp(1.1rem, 3.5vw, 1.4rem);
            }
        }

        
        @media (min-width: 768px) {
            body.page-result .container{
                max-width: 900px;
            }
        }


/* Error styles (original error.css) */

body.page-error .error-message{
    text-align: center;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    margin: 0 auto;
}

body.page-error .error-message p{
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    color: #dc3545;
    margin: 0;
}
