/*
Theme Name: Hello BIZ Child
Description: Child theme of Hello BIZ
Template: hello-biz
Version: 1.0
*/

@import url("../hello-biz/style.css");

/* Your existing CSS above this line */

/* Cart Offcanvas Section Styles */
#cart-offcanvas-section {
    position: fixed !important;
    top: 0;
    right: -100%;
    width: 45%;
    height: 100vh;
    max-height: 100vh;
    z-index: 9999;
    background: white;
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
    transition: right 0.3s ease;
    overflow-y: auto !important;
}

/* Show in Elementor editor */
#elementor-editor-wrapper #cart-offcanvas-section {
    right: 0 !important;
}

/* Target Elementor container inside offcanvas */
#cart-offcanvas-section .elementor-container,
#cart-offcanvas-section .elementor-column-wrap,
#cart-offcanvas-section .elementor-widget-wrap {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
}

/* When offcanvas is open */
#cart-offcanvas-section.offcanvas-open {
    right: 0 !important;
}

/* Overlay */
.cart-offcanvas-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    display: none;
}

/* Prevent body scroll when offcanvas is open */
body.offcanvas-open {
    overflow: hidden;
}

/* Added Product Item */
.added-product-item {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 20px;
}

/* Product Image */
.product-image {
    flex: 1;
    min-width: 50%;
    overflow: hidden;
    border-radius: 16px;
    border: .5px solid #CECECE;
    background-color: #F5F5F5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Product Info */
.product-info {
    flex: 1;
    min-width: 0;
    padding-left: 40px;
}

.product-name {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: #000000;
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
}

.product-quantity {
    color: #666;
    font-size: 14px;
    margin-top: 5px;
    text-transform: uppercase;
}









/* Tab Navigation Styles */
.cart-tabs-navigation {
    display: flex;
    gap: 20px;
}

.cart-tabs-navigation > .tab-button {
    background-color: transparent;
    border: none;
    padding: 15px 0;
    font-size: 21px;
    font-weight: 600;
    color: #8D8D8D;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-tabs-navigation >.tab-button:hover {
    color: #333;
}

.cart-tabs-navigation >.tab-button.active {
    color: #000;
}










/* Tab Content Styles */
.tab-content {
    display: none;
}

.tab-content.active {
    display: flex;
    flex-direction: row;
    gap: 10vw;
    align-items: flex-start;
    min-height: 80vh;
    padding-bottom: 50px;
}

/* Wishlist Items Container */
.wishlist-items-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 30px;
}

.wishlist-item-row {
    display: flex;
    transition: all 0.3s ease;
    position: relative;
    gap: 30px;
}

.wishlist-item-image {
    flex: 0 0 100px;
    width: 230px;
    height: 230px;
    min-width: 230px;
    overflow: hidden;
    border-radius: 16px;
    border: .5px solid #CECECE;
    background: #F5F5F5;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.wishlist-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.wishlist-item-image:hover img {
    transform: scale(1.05);
}




/* Bookmark Icon Overlay */
.wishlist-item-image .wishlist-remove-bookmark {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    padding: 0;
}

.wishlist-item-image .wishlist-remove-bookmark svg {
    width: 21px;
    height: 26px;
    transition: all 0.3s ease;
}

.wishlist-item-image .wishlist-remove-bookmark:hover svg {
    filter: brightness(0.8);
}





/* Wishlist Item Details */
.wishlist-item-details {
    flex: 1;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.wishlist-item-name {
    margin: 0 0 8px 0;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #000000;
    line-height: 1.3;
}

.wishlist-item-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.wishlist-item-row > label {
    font-size: 14px;
    font-weight: 600;
    color: #8D8D8D;
}

.wishlist-item-row > span {
    font-size: 14px;
    font-weight: 600;
    color: #000000;
}



/* Stock Status */
.wishlist-item-stock .in-stock {
    color: #28a745;
}

.wishlist-item-stock .out-of-stock {
    color: #dc3545;
}





/* Wishlist Item Actions */
.wishlist-item-actions {
    margin-top: 20px;
}

.add-to-cart-from-wishlist,
.choose-variation-link {
    border: 1px solid #D85D20;
    background: #FE6215;
    color: white !important;
    border: none;
    padding: 12px 30px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    min-width: 200px;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.add-to-cart-from-wishlist:hover,
.choose-variation-link:hover {
    background: #e55a14;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(254, 98, 21, 0.3);
    color: white;
    text-decoration: none;
}

.add-to-cart-from-wishlist.success {
    background: #28a745;
}

.add-to-cart-from-wishlist.error {
    background: #dc3545;
}

.add-to-cart-from-wishlist.disabled,
.add-to-cart-from-wishlist:disabled {
    background: #ccc;
    color: #666;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}





/* Wishlist Empty State */
.wishlist-empty {
    text-align: center;
    padding: 60px 20px;
    color: #8D8D8D;
    flex: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wishlist-empty p {
    font-size: 18px;
    margin: 0;
}













/* Custom Cart Page Styling - Specific class target */
.custom-cart-tab .custom-cart-wrapper {
    max-width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.custom-cart-tab .e-cart-section {
    background: none;
    padding: 0;
    border: none;
}

.custom-cart-tab .cart-items-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 30px;
}

.custom-cart-tab .cart-item-row {
    display: flex;
    transition: all 0.3s ease;
    position: relative;
    gap: 30px;
}

.custom-cart-tab .cart-item-image {
    flex: 0 0 100px;
    width: 230px;
    height: 230px;
    min-width: 230px;
    overflow: hidden;
    border-radius: 16px;
    border: .5px solid #CECECE;
    background: #F5F5F5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-cart-tab .cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.custom-cart-tab .cart-item-image:hover img {
    transform: scale(1.05);
}



.custom-cart-tab .cart-item-details {
    flex: 1;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.custom-cart-tab .cart-item-name {
    margin: 0 0 8px 0;
    font-weight: 700;
    text-transform: uppercase;
    color: #000000;
    line-height: 1.3;
    font-size:17px;
    overflow:hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
}



.custom-cart-tab .cart-item-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.custom-cart-tab .cart-item-row > label {
    font-size: 14px;
    font-weight: 600;
    color: #8D8D8D;
}

.custom-cart-tab .cart-item-row > span {
    font-size: 14px;
    font-weight: 600;
    color: #000000;
}




.custom-cart-tab .cart-item-quantity {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.custom-cart-tab .cart-item-quantity label {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    margin: 0;
}

.custom-cart-tab .quantity-controls {
    display: flex;
    align-items: center;
}

.custom-cart-tab .quantity-controls .qty {
    width: 60px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
}





.custom-cart-tab .cart-item-remove {
    flex: 0 0 auto;
    position: absolute;
    top: 10px;
    right: 10px;
    display: none;
}

.custom-cart-tab .cart-item-remove .remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #ff4444;
    color: white;
    border-radius: 50%;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.custom-cart-tab .cart-item-remove .remove:hover {
    background: #cc0000;
    transform: scale(1.1);
}

.custom-cart-tab .cart-actions-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-top: 1px solid #f0f0f0;
    margin-top: 30px;
}






.custom-cart-tab .cart-update button {
    padding: 12px 24px;
    background: #28a745;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.custom-cart-tab .cart-update button:hover {
    background: #218838;
    transform: translateY(-2px);
}





.custom-cart-tab .cart-collaterals {
    position: sticky;
    top: 50px;
}

.custom-cart-tab .cart_totals {
    background: #F5F5F5;
    padding: 20px 30px;
    border-radius: 16px;
    border: .5px solid #CECECE;
    max-width: 500px;
    min-width: 350px;
    margin-left: auto;
}

.custom-cart-tab .cart_totals h2 {
    margin-top: 0;
    font-size: 24px;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    padding-bottom: 10px;
}

.custom-cart-tab .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.custom-cart-tab .cart_totals th,
.custom-cart-tab .cart_totals td {
    padding: 12px 0;
    text-align: left;
}

.custom-cart-tab .cart_totals th,
.custom-cart-tab .cart_totals td::before {
    font-weight: 600;
    color: #8D8D8D !important;
    text-transform: uppercase;
}

.custom-cart-tab .cart_totals td {
    font-weight: 700;
    color: #000 !important;
}

.custom-cart-tab .cart_totals .order-total th,
.custom-cart-tab .cart_totals .order-total td::before {
    font-size: 24px;
    font-weight: 700;
    color: #000 !important;
    text-transform: uppercase;
    border-bottom: none;
}

.custom-cart-tab .cart_totals .order-total td strong .woocommerce-Price-amount {
    font-size: 24px;
    font-weight: 700;
    border-bottom: none;
    padding-top: 20px;
}

.custom-cart-tab .wc-proceed-to-checkout {
    margin-top: 20px;
}

.custom-cart-tab #cart-tab-content .wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    padding: 21px;
    background-color: #FE6215;
    color: white;
    text-align: center;
    text-decoration: none;
    border-radius: 16px;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 500;
    border: 1px solid #D85D20;
}

.custom-cart-tab .continue-shopping-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #000;
    border-radius: 16px;
    padding: 21px;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff !important;
    width: calc(100% - 60px);
    margin: 20px 30px;
    max-width: 500px;
    min-width: 290px;
}









/* WooCommerce Messages */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    padding: 15px 46px;
    margin-bottom: 20px;
    border-radius: 8px;
    border: none !important;
}

.woocommerce-message {
    background: #d4edda;
    color: #155724;
}

.woocommerce-error {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-info {
    background: #d1ecf1;
    color: #0c5460;
}



.cart-empty-message {
    margin: auto;
}








@media (max-width: 1000px) {
        #cart-offcanvas-section {
        width: 100% !important;
        right: -100% !important;
    }
    
    #cart-offcanvas-section.offcanvas-open {
        right: 0 !important;
    }
    
    .added-product-details {
        padding: 15px;
    }
    
    .added-product-item {
        padding: 15px;
        gap: 12px;
    }
    
    .product-image img {
        width: 90px;
        height: 90px;
    }
    
    .product-info {
        padding-left: 10px;
    }


    .product-name {
        font-size: 14px;
    }
    
    .product-price {
        font-size: 16px;
    }
    
    .custom-cart-tab .cart-item-row { 
        gap: 15px;
        align-items: flex-start;
    }
    
    .custom-cart-tab .cart-item-row .cart-item-image, .custom-cart-tab .wishlist-item-image {
        width: 150px;
        height: 150px;
        min-width: 150px;
        margin: 0 auto;
    }
    
    .custom-cart-tab .cart-item-name {
        font-size:17px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
}



/* Responsive Design */
@media (max-width: 768px) {
    #cart-offcanvas-section.offcanvas-open {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    
    /* Tab navigation responsive */

    .tab-button {
        padding: 12px 20px;
        font-size: 16px;
    }


    .custom-cart-tab .custom-cart-wrapper {
        padding: 15px;
    }
}



@media (max-width: 520px) {

.custom-cart-tab .woocommerce .custom-cart-wrapper {
    padding: 5px;
}

.custom-cart-tab .wishlist-items-container {
    width: 100%;
}
    
.custom-cart-tab .cart-item-row .cart-item-image, .custom-cart-tab .wishlist-item-image {
    width: 100px;
    height: 100px;
    min-width: 100px;
    min-height: 100px;
    margin: 0;
}

.custom-cart-tab .cart-items-container > .cart-item-row, .custom-cart-tab .wishlist-items-container > .wishlist-item-row {
    gap: 15px;
    align-items: flex-start;
}

.custom-cart-tab .cart-item-name {
    line-height: 1.2;
    font-size:15px;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.custom-cart-tab .cart-items-container .cart-item-details, .custom-cart-tab .wishlist-items-container .wishlist-item-details {
    padding: 0;
    width: 100%;
}

.custom-cart-tab .cart-totals .cart_totals {
    padding: 21px 13px;
}

.custom-cart-tab .cart-totals .continue-shopping-button {
    min-width: unset;
    margin: 20px auto 0;
    width: calc(100% - 20px);
}

}

/*
@media (max-width: 480px) {

}*/



/* --- Section Mes commandes personnalisée --- */
.custom-orders-wrapper {
    background: #fff;
    border-radius: 16px;
    max-width: 100%;
    font-family: Inter;
    color: #000000;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.custom-orders-title {
    font-size: 48px;
    font-weight: 800 !important;
    color: #000000;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-family: Inter;
    margin: 16px 0 24px 0 !important;
    width: 70%;
    float: left;
}
.custom-orders-sort {
    text-align: right;
    margin-bottom: 16px;
    margin-top: 24px;
    margin-bottom: 24px;
    width: 25%;
    float: right;
}
.custom-orders-sort-btn {
    background: #f6f6f2;
    border: none;
    border-radius: 6px;
    padding: 8px 18px;
    color: #888;
    font-size: 1rem;
    cursor: not-allowed;
}
.custom-orders-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}
.custom-order-card {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 16px 0;
}
.custom-order-image {
    min-width: 100px;
    max-width: 100px;
    position: relative;
}
.custom-order-image img {
    width: 100px;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
    background: #f6f6f2;
}
.custom-order-more {
    position: absolute;
    left: 0;
    bottom: -24px;
    font-size: 0.95rem;
    color: #888;
    background: #fff;
    border-radius: 4px;
    padding: 2px 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.custom-order-details {
    flex: 1;
    font-size: 1rem;
    color: #222;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.custom-order-number {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 2px;
}
.custom-order-date span,
.custom-order-total span {
    color: #222;
    font-weight: 500;
}
.custom-order-status-block {
    margin-top: 6px;
}
.custom-order-status {
    font-weight: bold;
    text-transform: capitalize;
}
.custom-order-status.processing {
    color: #ff6600;
}
.custom-order-status.completed {
    color: #1bbf4c;
}
.custom-order-status.cancelled {
    color: #e74c3c;
}
.custom-order-estimate {
    font-size: 0.95rem;
    color: #888;
}
.custom-order-action {
    display: flex;
    align-items: center;
    margin-left: 24px;
}
.custom-order-btn {
    background: #ff6600;
    color: #fff !important;
    border: none;
    border-radius: 6px;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none !important;
    transition: background 0.2s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.custom-order-btn:hover {
    background: #e65c00;
}
.custom-order-separator {
    border: none;
    border-top: 1px solid #eee;
    margin: 0 0 0 104px;
}
.custom-orders-sort-form select {
    background: #f6f6f2;
    border: none;
    border-radius: 6px;
    padding: 8px 18px;
    color: #888;
    font-size: 1rem;
    cursor: pointer;
    margin-left: 0;
}
@media (max-width: 700px) {
    .custom-orders-wrapper {
        padding: 16px 4px;
    }
    .custom-order-card {
        flex-direction: column;
        gap: 12px;
    }
    .custom-order-action {
        margin-left: 0;
    }
    .custom-order-separator {
        margin-left: 0;
    }
}

/* --- Amélioration du style de la page Adresses (WooCommerce) --- */
.custom-addresses-wrapper {
    background: #fff;
    border-radius: 12px;
    font-family: Inter;
}
.custom-addresses-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}
.custom-addresses-title {
    font-size: 48px;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 !important;
}
.custom-addresses-edit-btn {
    background: #f6f6f2;
    color: #8D8D8D !important;
    border: 1px solid #CECECE;
    border-radius: 16px;
    padding: 8px 22px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    margin-left: 12px;
    box-shadow: none;
    position: absolute;
    right: 0;
}
.custom-addresses-edit-btn:hover {
    background: #e6e6e2;
    color: #888 !important;
}
.custom-addresses-edit-btn img {
    margin-right: 6px;
}
.custom-addresses-list {
    display: flex;
    flex-direction: column;
    gap: 26px;
}
.custom-address-block {
    font-size: 1rem;
    margin-bottom: 0;
}
.custom-address-block:first-child {
    border-bottom: 1px solid #8D8D8D;
}
.custom-address-label {
    font-weight: 700;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    font-size: 20px;
    color: #000000;
    position: relative;
}
.custom-address-svg {
    margin-right: 8px;
}
.custom-address-label  h2 {
    font-size: 20px;
    font-weight: 700 !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
}  
.custom-address-content {
    margin-left: 2px;
    color: #222;
    line-height: 1.2;
    font-size: 20px;
    border: none !important;
    font-weight: 500 !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-style: normal;
}
.custom-address-separator {
    border: none;
    border-top: 1px solid #e5e5e5;
    margin: 18px 0 12px 0;
}
.u-column1, .u-column2 {
    width: 100%;
    margin: 0;
    padding: 0;
}
@media (max-width: 700px) {
    .custom-addresses-wrapper {
        padding: 16px 4px;
        max-width: 98vw;
    }
    .custom-addresses-title {
        font-size: 1.3rem;
    }
}

/* --- Formulaire d'édition d'adresse personnalisé --- */
.custom-edit-address-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.custom-edit-address-block {
    margin-bottom: 24px;
}
.custom-edit-address-label {
    font-weight: 700 !important;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
    text-transform: uppercase;
    font-size: 20px;
    color: #000000 !important;
}
.custom-edit-address-field {
    margin-bottom: 12px;
}
.custom-edit-address-form input,
.custom-edit-address-form select {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid #eee;
    border-radius: 8px;
    font-size: 16px;
    background: #fafafa;
    margin-bottom: 6px;
    font-family: inherit;
}
.custom-edit-address-form input:focus,
.custom-edit-address-form select:focus {
    border-color: #FE6215;
    outline: none;
}
.custom-edit-address-save-btn {
    background: #FE6215;
    color: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 10px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin-left: auto !important;
}
.custom-edit-address-save-btn:hover {
    background: #e65c00 !important;
}
.custom-edit-address-save-btn img {
    margin-right: 6px;
}
/* --- Amélioration du style de la page Adresses (WooCommerce) --- */
.woocommerce-address-fields__field-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}
.woocommerce-address-fields__field-wrapper .form-row{
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-address-fields__field-wrapper .form-row-last{
    width: 49% !important;
}
.woocommerce-address-fields__field-wrapper #billing_postcode_field,
.woocommerce-address-fields__field-wrapper #billing_city_field,
.woocommerce-address-fields__field-wrapper #shipping_postcode_field,
.woocommerce-address-fields__field-wrapper #shipping_city_field,
.woocommerce-address-fields__field-wrapper #shipping_email_field,
.woocommerce-address-fields__field-wrapper #shipping_phone_field,
.woocommerce-address-fields__field-wrapper #billing_email_field,
.woocommerce-address-fields__field-wrapper #billing_phone_field{
    width: 49%;
}
.woocommerce-address-fields__field-wrapper label{
    display: none !important;
}
.woocommerce-address-fields__field-wrapper input{
    border: 0.45px solid #CECECE !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    background-color: #fff !important;
    font-family: Inter !important;
}
.woocommerce-address-fields__field-wrapper input::placeholder{
    color: #8D8D8D !important;
    font-weight: 400 !important;
}
.woocommerce-address-fields__field-wrapper .select2-selection{
    border: 0.45px solid #CECECE !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    background-color: #fff !important;
    font-family: Inter !important;
}
.woocommerce-address-fields__field-wrapper .select2-selection__placeholder{
    color: #8D8D8D !important;
    font-weight: 400 !important;
}
.woocommerce-address-fields__field-wrapper .select2-selection__rendered{
    padding: 0px 16px !important;
}

/* --- Style page Mes informations (Mon compte) --- */
.custom-account-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    padding-bottom: 36px;
    border-bottom: 1px solid #CECECE;
}




.custom-account-fields__field-wrapper .form-row {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}
.custom-account-fields__field-wrapper .form-row-first,
.custom-account-fields__field-wrapper .form-row-last {
    width: 49% !important;
}
.custom-account-fields__field-wrapper label {
    display: none !important;
}
.custom-account-fields__field-wrapper input {
    border: 0.45px solid #CECECE !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    background-color: #fff !important;
    font-family: Inter !important;
}
.custom-account-fields__field-wrapper input::placeholder {
    color: #8D8D8D !important;
    font-weight: 400 !important;
}
.woocommerce-Button.button, .custom-account-save-btn {
    background: #FE6215 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    box-shadow: none !important;
    margin-top: 18px;
    transition: background 0.2s;
}
.woocommerce-Button.button:hover, .custom-account-save-btn:hover {
    background: #e65c00 !important;
}
.custom-account-section {
    background: #fff;
    border-radius: 16px;
    margin-bottom: 24px;
    margin-top: 36px ;
}
.custom-account-title {
    text-transform: uppercase;
    margin-top: 12px !important;
    margin-bottom: 42px !important;
    gap: 8px;
}
.custom-account-title span {
    font-size: 48px;
    font-weight: 800;
    text-transform: uppercase;
}
.custom-account-title svg, .custom-account-title img {
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
}
.custom-account-section-title {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding: 0 !important;
    color: #000000 !important;
}
.custom-account-section-title svg, .custom-account-section-title img {
    width: 18px;
    height: 18px;
    margin-bottom: 4px;
}



/* Bouton Procéder au paiement */
.proceed-to-payment-btn {
    width: 100% !important;
    padding: 21px !important;
    background: #FE6215 !important;
    color: white !important;
    border: none !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 30px !important;
    margin-bottom: 20px !important;
}

.proceed-to-payment-btn:hover {
    background: #D85D20 !important;
    transform: translateY(-2px) !important;
}




/* Custom Payment Section */
.payment-selection {
    margin-top: 20px !important;
}

.payment-option {
    padding: 20px !important;
    background: #F5F5F5 !important;
    border-radius: 12px !important;
    border: 1px solid #CECECE !important;
    margin-bottom: 15px !important;
}

.payment-option.selected {
    border-color: #FE6215 !important;
    background: #FFF !important;
}

.payment-option label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #000 !important;
    cursor: pointer !important;
}


/* Masquer les champs de paiement WooCommerce cachés */
#payment.woocommerce-checkout-payment {
    display: none !important;
}

.cart-item-summary {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 20px;
}






/* Tab Navigation Styles */
.cart-tabs-navigation {
    display: flex;
    gap: 20px;
}

.cart-tabs-navigation > .tab-button {
    background-color: transparent;
    border: none;
    padding: 15px 0;
    font-size: 21px;
    font-weight: 600;
    color: #8D8D8D;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-tabs-navigation >.tab-button:hover {
    color: #333;
}

.cart-tabs-navigation >.tab-button.active {
    color: #000;
}










/* Tab Content Styles */
.tab-content {
    display: none;
}

.tab-content.active {
    display: flex;
    flex-direction: row;
    gap: 10vw;
    align-items: flex-start;
    min-height: 80vh;
    padding-bottom: 50px;
}

/* Wishlist Items Container */
.wishlist-items-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 30px;
}

.wishlist-item-row {
    display: flex;
    transition: all 0.3s ease;
    position: relative;
    gap: 30px;
}

.wishlist-item-image {
    flex: 0 0 100px;
    width: 280px;
    height: 280px;
    min-width: 280px;
    overflow: hidden;
    border-radius: 16px;
    border: .5px solid #CECECE;
    background: #F5F5F5;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.wishlist-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.wishlist-item-image:hover img {
    transform: scale(1.05);
}




/* Bookmark Icon Overlay */
.wishlist-item-image .wishlist-remove-bookmark {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    padding: 0;
}

.wishlist-item-image .wishlist-remove-bookmark svg {
    width: 21px;
    height: 26px;
    transition: all 0.3s ease;
}

.wishlist-item-image .wishlist-remove-bookmark:hover svg {
    filter: brightness(0.8);
}





/* Wishlist Item Details */
.wishlist-item-details {
    flex: 1;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.wishlist-item-name {
    margin: 0 0 8px 0;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #000000;
    line-height: 1.3;
}

.wishlist-item-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.wishlist-item-row > label {
    font-size: 14px;
    font-weight: 600;
    color: #8D8D8D;
}

.wishlist-item-row > span {
    font-size: 14px;
    font-weight: 600;
    color: #000000;
}



/* Stock Status */
.wishlist-item-stock .in-stock {
    color: #28a745;
}

.wishlist-item-stock .out-of-stock {
    color: #dc3545;
}





/* Wishlist Item Actions */
.wishlist-item-actions {
    margin-top: 20px;
}

.add-to-cart-from-wishlist,
.choose-variation-link {
    border: 1px solid #D85D20;
    background: #FE6215;
    color: white !important;
    border: none;
    padding: 12px 30px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    min-width: 200px;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.add-to-cart-from-wishlist:hover,
.choose-variation-link:hover {
    background: #e55a14;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(254, 98, 21, 0.3);
    color: white;
    text-decoration: none;
}

.add-to-cart-from-wishlist.success {
    background: #28a745;
}

.add-to-cart-from-wishlist.error {
    background: #dc3545;
}

.add-to-cart-from-wishlist.disabled,
.add-to-cart-from-wishlist:disabled {
    background: #ccc;
    color: #666;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}





/* Wishlist Empty State */
.wishlist-empty {
    text-align: center;
    padding: 60px 20px;
    color: #8D8D8D;
    flex: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wishlist-empty p {
    font-size: 18px;
    margin: 0;
}


























/* WooCommerce Messages */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    padding: 15px 34px;
    margin-bottom: 20px;
    border-radius: 8px;
    border: none !important;
}

.woocommerce-message {
    background: #d4edda;
    color: #155724;
}

.woocommerce-error {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-info {
    background: #d1ecf1;
    color: #0c5460;
}



.cart-empty-message {
    margin: auto;
}
















/* --- Section Mes commandes personnalisée --- */
.custom-orders-wrapper {
    background: #fff;
    border-radius: 16px;
    max-width: 100%;
    font-family: Inter;
    color: #000000;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.custom-orders-title {
    font-size: 48px;
    font-weight: 800 !important;
    color: #000000;
    text-transform: uppercase;
    margin-bottom: 16px;
    font-family: Inter;
    margin: 16px 0 24px 0 !important;
    width: 70%;
    float: left;
}
.custom-orders-sort {
    text-align: right;
    margin-bottom: 16px;
    margin-top: 24px;
    margin-bottom: 24px;
    width: 25%;
    float: right;
}
.custom-orders-sort-btn {
    background: #f6f6f2;
    border: none;
    border-radius: 6px;
    padding: 8px 18px;
    color: #888;
    font-size: 1rem;
    cursor: not-allowed;
}
.custom-orders-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}
.custom-order-card {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 16px 0;
}
.custom-order-image {
    min-width: 100px;
    max-width: 100px;
    position: relative;
}
.custom-order-image img {
    width: 100px;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
    background: #f6f6f2;
}
.custom-order-more {
    position: absolute;
    left: 0;
    bottom: -24px;
    font-size: 0.95rem;
    color: #888;
    background: #fff;
    border-radius: 4px;
    padding: 2px 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.custom-order-details {
    flex: 1;
    font-size: 1rem;
    color: #222;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.custom-order-number {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 2px;
}
.custom-order-date span,
.custom-order-total span {
    color: #222;
    font-weight: 500;
}
.custom-order-status-block {
    margin-top: 6px;
}
.custom-order-status {
    font-weight: bold;
    text-transform: capitalize;
}
.custom-order-status.processing {
    color: #ff6600;
}
.custom-order-status.completed {
    color: #1bbf4c;
}
.custom-order-status.cancelled {
    color: #e74c3c;
}
.custom-order-estimate {
    font-size: 0.95rem;
    color: #888;
}
.custom-order-action {
    display: flex;
    align-items: center;
    margin-left: 24px;
}
.custom-order-btn {
    background: #ff6600;
    color: #fff !important;
    border: none;
    border-radius: 6px;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none !important;
    transition: background 0.2s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.custom-order-btn:hover {
    background: #e65c00;
}
.custom-order-separator {
    border: none;
    border-top: 1px solid #eee;
    margin: 0 0 0 104px;
}
.custom-orders-sort-form select {
    background: #f6f6f2;
    border: none;
    border-radius: 6px;
    padding: 8px 18px;
    color: #888;
    font-size: 1rem;
    cursor: pointer;
    margin-left: 0;
}


/* --- Amélioration du style de la page Adresses (WooCommerce) --- */
.custom-addresses-wrapper {
    background: #fff;
    border-radius: 12px;
    font-family: Inter;
}
.custom-addresses-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}
.custom-addresses-title {
    font-size: 48px;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 !important;
}
.custom-addresses-edit-btn {
    background: #f6f6f2;
    color: #8D8D8D !important;
    border: 1px solid #CECECE;
    border-radius: 16px;
    padding: 8px 22px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    margin-left: 12px;
    box-shadow: none;
    position: absolute;
    right: 0;
}
.custom-addresses-edit-btn:hover {
    background: #e6e6e2;
    color: #888 !important;
}
.custom-addresses-edit-btn img {
    margin-right: 6px;
}
.custom-addresses-list {
    display: flex;
    flex-direction: column;
    gap: 26px;
}
.custom-address-block {
    font-size: 1rem;
    margin-bottom: 0;
}
.custom-address-block:first-child {
    border-bottom: 1px solid #8D8D8D;
}
.custom-address-label {
    font-weight: 700;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    font-size: 20px;
    color: #000000;
    position: relative;
}
.custom-address-svg {
    margin-right: 8px;
}
.custom-address-label  h2 {
    font-size: 20px;
    font-weight: 700 !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
}  
.custom-address-content {
    margin-left: 2px;
    color: #222;
    line-height: 1.2;
    font-size: 20px;
    border: none !important;
    font-weight: 500 !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-style: normal;
}
.custom-address-separator {
    border: none;
    border-top: 1px solid #e5e5e5;
    margin: 18px 0 12px 0;
}
.u-column1, .u-column2 {
    width: 100%;
    margin: 0;
    padding: 0;
}
@media (max-width: 700px) {
    .custom-addresses-wrapper {
        padding: 16px 4px;
        max-width: 98vw;
    }
    .custom-addresses-title {
        font-size: 1.3rem;
    }
}

/* --- Formulaire d'édition d'adresse personnalisé --- */
.custom-edit-address-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.custom-edit-address-block {
    margin-bottom: 24px;
}
.custom-edit-address-label {
    font-weight: 700 !important;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
    text-transform: uppercase;
    font-size: 20px;
    color: #000000 !important;
}
.custom-edit-address-field {
    margin-bottom: 12px;
}
.custom-edit-address-form input,
.custom-edit-address-form select {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid #eee;
    border-radius: 8px;
    font-size: 16px;
    background: #fafafa;
    margin-bottom: 6px;
    font-family: inherit;
}
.custom-edit-address-form input:focus,
.custom-edit-address-form select:focus {
    border-color: #FE6215;
    outline: none;
}
.custom-edit-address-save-btn {
    background: #FE6215;
    color: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 10px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin-left: auto !important;
}
.custom-edit-address-save-btn:hover {
    background: #e65c00 !important;
}
.custom-edit-address-save-btn img {
    margin-right: 6px;
}
/* --- Amélioration du style de la page Adresses (WooCommerce) --- */
.woocommerce-address-fields__field-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}
.woocommerce-address-fields__field-wrapper .form-row{
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-address-fields__field-wrapper .form-row-last{
    width: 49% !important;
}
.woocommerce-address-fields__field-wrapper #billing_postcode_field,
.woocommerce-address-fields__field-wrapper #billing_city_field,
.woocommerce-address-fields__field-wrapper #shipping_postcode_field,
.woocommerce-address-fields__field-wrapper #shipping_city_field,
.woocommerce-address-fields__field-wrapper #shipping_email_field,
.woocommerce-address-fields__field-wrapper #shipping_phone_field,
.woocommerce-address-fields__field-wrapper #billing_email_field,
.woocommerce-address-fields__field-wrapper #billing_phone_field{
    width: 49%;
}
.woocommerce-address-fields__field-wrapper label{
    display: none !important;
}
.woocommerce-address-fields__field-wrapper input{
    border: 0.45px solid #CECECE !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    background-color: #fff !important;
    font-family: Inter !important;
}
.woocommerce-address-fields__field-wrapper input::placeholder{
    color: #8D8D8D !important;
    font-weight: 400 !important;
}
.woocommerce-address-fields__field-wrapper .select2-selection{
    border: 0.45px solid #CECECE !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    background-color: #fff !important;
    font-family: Inter !important;
}
.woocommerce-address-fields__field-wrapper .select2-selection__placeholder{
    color: #8D8D8D !important;
    font-weight: 400 !important;
}
.woocommerce-address-fields__field-wrapper .select2-selection__rendered{
    padding: 0px 16px !important;
}

/* --- Style page Mes informations (Mon compte) --- */
.custom-account-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    padding-bottom: 36px;
    border-bottom: 1px solid #CECECE;
}




.custom-account-fields__field-wrapper .form-row {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}
.custom-account-fields__field-wrapper .form-row-first,
.custom-account-fields__field-wrapper .form-row-last {
    width: 49% !important;
}
.custom-account-fields__field-wrapper label {
    display: none !important;
}
.custom-account-fields__field-wrapper input {
    border: 0.45px solid #CECECE !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    background-color: #fff !important;
    font-family: Inter !important;
}
.custom-account-fields__field-wrapper input::placeholder {
    color: #8D8D8D !important;
    font-weight: 400 !important;
}
.woocommerce-Button.button, .custom-account-save-btn {
    background: #FE6215 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    box-shadow: none !important;
    margin-top: 18px;
    transition: background 0.2s;
}
.woocommerce-Button.button:hover, .custom-account-save-btn:hover {
    background: #e65c00 !important;
}
.custom-account-section {
    background: #fff;
    border-radius: 16px;
    margin-bottom: 24px;
    margin-top: 36px ;
}
.custom-account-title {
    text-transform: uppercase;
    margin-top: 12px !important;
    margin-bottom: 42px !important;
    gap: 8px;
}
.custom-account-title span {
    font-size: 48px;
    font-weight: 800;
    text-transform: uppercase;
}
.custom-account-title svg, .custom-account-title img {
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
}
.custom-account-section-title {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding: 0 !important;
    color: #000000 !important;
}
.custom-account-section-title svg, .custom-account-section-title img {
    width: 18px;
    height: 18px;
    margin-bottom: 4px;
}

/* --- Styles pour la page de commande personnalisée --- */
.custom-checkout-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}

.checkout-left-column {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.section-title {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    letter-spacing: 0.5px;
}

.email-input-group {
    display: flex;
    align-items: center;
    gap: 15px;
}

.email-input-group input {
    flex: 1;
    padding: 15px 20px;
    border: 0.5px solid #CECECE;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    background: #fff;
}

.email-input-group input::placeholder {
    color: #8D8D8D;
    font-weight: 400;
}

/* Boutons Modify */
.modify-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #F3F3F3;
    border: 1px solid #CECECE;
    border-radius: 12px;
    color: #8D8D8D;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.modify-btn:hover {
    background: #E5E5E5;
    color: #000;
}

.modify-btn svg {
    width: 16px;
    height: 16px;
}

/* Section Adresses */
.address-block {
    padding: 20px;
    background: #F5F5F5;
    border-radius: 12px;
    margin-bottom: 15px;
}

.address-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
    width: 100%;
}

.address-header h4 {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin: 0;
    text-transform: uppercase;
}

.address-content {
    margin-bottom: 15px;
}

.address-details p {
    margin: 5px 0;
    font-size: 14px;
    color: #8D8D8D;
    font-weight: 500;
}

/* Section Livraison */
.delivery-option {
    padding: 20px;
    background: #f3f3f3;
    border-radius: 12px;
    border: 1px solid #CECECE;
}

.delivery-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.delivery-type {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    display: block;
}

.delivery-date {
    font-size: 14px;
    color: #8D8D8D;
    font-weight: 500;
}


/* Colonne droite */

.cart-summary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
}

.total-row.order-total {
    border-bottom: 1px solid #8D8D8D;
    padding-bottom: 24px;
    margin-bottom: 24px;
}

.total-label {
    font-size: 14px;
    font-weight: 600;
    color: #8D8D8D;
    text-transform: uppercase;
}

.total-value {
    font-size: 16px;
    font-weight: 700;
    color: #000;
}

.order-total .total-label {
    font-size: 18px;
    font-weight: 700;
    color: #000;
}

.order-total .total-value {
    font-size: 18px;
    font-weight: 700;
}

/* Résumé des produits */
.cart-items-summary {
    /*margin-top: 20px;*/
}

.cart-item-summary {
    display: flex;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid #F5F5F5;
}

.cart-item-summary:last-child {
    border-bottom: none;
}

.item-image {
    width: 60px;
    height: 60px;
    min-width: 60px;
    background: #F5F5F5;
    border-radius: 8px;
    border: 0.5px solid #CECECE;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item-details {
    flex: 1;
}

.item-name {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.item-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.item-meta span {
    font-size: 12px;
    color: #8D8D8D;
    font-weight: 500;
}

/* Styles pour les formulaires d'édition */
.address-edit-form {
    padding: 10px;
    margin-top: 14px;
}

.address-edit-form input,
.address-edit-form select {
    width: 100%;
    padding: 15px 20px;
    border: 0.5px solid #CECECE;
    border-radius: 12px;
    font-size: 16px;
    background: white;
    box-sizing: border-box;
    margin-bottom: 15px;
    font-weight: 500;
    color: #000;
}

.address-edit-form input::placeholder {
    color: #8D8D8D;
    font-weight: 400;
}

.address-edit-form input:focus,
.address-edit-form select:focus {
    outline: none;
    border-color: #000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.address-edit-form .save-address-btn {
    width: 100%;
    padding: 18px 20px;
    background: #000;
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
}

.address-edit-form .save-address-btn:hover {
    background: #333;
    transform: translateY(-2px);
}

.address-edit-form .save-address-btn svg {
    width: 20px;
    height: 20px;
}

.address-block.editing {
    flex-direction: column;
    align-items: stretch;
}



/* Masquer les champs WooCommerce par défaut */
.custom-checkout-wrapper .woocommerce-billing-fields,
.custom-checkout-wrapper .woocommerce-shipping-fields,
.custom-checkout-wrapper .woocommerce-checkout-review-order,
.custom-checkout-wrapper .woocommerce-checkout-payment {
    display: none !important;
}

/* Masquer les champs de facturation et livraison par défaut */
.custom-checkout-wrapper .woocommerce-billing-fields__field-wrapper,
.custom-checkout-wrapper .woocommerce-shipping-fields__field-wrapper {
    display: none !important;
}

/* Force l'application des styles sur la page checkout */
body.checkout .custom-checkout-wrapper,
body.woocommerce-checkout .custom-checkout-wrapper,
.woocommerce-checkout .custom-checkout-wrapper {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    font-family: Inter, sans-serif !important;
}

body.checkout .checkout-content,
body.woocommerce-checkout .checkout-content,
.woocommerce-checkout .checkout-content {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    align-items: start !important;
}

/* Force les styles des sections */
body.checkout .checkout-section,
body.woocommerce-checkout .checkout-section,
.woocommerce-checkout .checkout-section {
    background: transparent !important;
    border-radius: 16px !important;
    padding: 0px !important;
    border: none !important;
    margin-bottom: 0px !important;
}

/* Force les titres de sections */
body.checkout .section-title,
body.woocommerce-checkout .section-title,
.woocommerce-checkout .section-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000 !important;
    text-transform: uppercase !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: 0.5px !important;
}

/* Force les boutons Modify */
body.checkout .modify-btn,
body.woocommerce-checkout .modify-btn,
.woocommerce-checkout .modify-btn {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    background: #F3F3F3 !important;
    border: 1px solid #CECECE !important;
    border-radius: 12px !important;
    color: #8D8D8D !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

/* Force les blocs d'adresse */
body.checkout .address-block,
body.woocommerce-checkout .address-block,
.woocommerce-checkout .address-block {
    padding: 10px 20px !important;
    background: #f3f3f3 !important;
    border-radius: 12px !important;
    margin-bottom: 15px !important;
    border: 1px solid #CECECE !important;
}

/* Force le bouton de paiement */
body.checkout .proceed-to-payment-btn,
body.woocommerce-checkout .proceed-to-payment-btn,
.woocommerce-checkout .proceed-to-payment-btn {
    width: auto !important;
    padding: 16px 24px !important;
    background: #FE6215 !important;
    color: white !important;
    border: none !important;
    border-radius: 16px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 20px !important;
    float: right !important;
}

/* Force les colonnes */
body.checkout .checkout-left-column,
body.woocommerce-checkout .checkout-left-column,
.woocommerce-checkout .checkout-left-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
}

body.checkout .checkout-right-column,
body.woocommerce-checkout .checkout-right-column,
.woocommerce-checkout .checkout-right-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Force les totaux du panier */
body.checkout .cart-summary-totals,
body.woocommerce-checkout .cart-summary-totals,
.woocommerce-checkout .cart-summary-totals {
    background: transparent !important;
    border-radius: 16px !important;
    border:  none !important;
}


/* Payment Methods Section */
#payment-methods {
    margin-top: 20px !important;
}

.wc_payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wc_payment_methods li {
    margin: 10px 0 15px 0 !important;
    padding: 15px !important;
    border: 1px solid #CECECE !important;
    border-radius: 8px !important;
    background: #F9F9F9 !important;
    position: relative;
}

.wc_payment_methods li.payment_method_selected,
.wc_payment_methods li:has(input:checked) {
    border-color: #FE6215 !important;
    background: #FFF !important;
}

.wc_payment_methods label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #000 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.wc_payment_methods input[type="radio"] {
    margin: 0 !important;
    accent-color: #FE6215 !important;
}

.payment_box {
    margin-top: 15px !important;
    padding: 15px !important;
    background: #FFFFFF !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: #666 !important;
    border: 1px solid #E5E5E5 !important;
}

/* Section Méthodes de Paiement Natives */
.payment-methods-wrapper {
    margin: 20px 0 !important;
}
#payment .place-order{
    flex-direction: column ;
    align-items: flex-start ;
    gap: 10px ;
    padding: 0 !important;
    margin-top: -50px;
}
.woocommerce-checkout-payment,
#payment.woocommerce-checkout-payment {
    display: block !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}
#payment.woocommerce-checkout-payment .form-row{
    gap: 0px !important;
}
.wc_payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: none;
}

.wc_payment_methods li {
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wc_payment_methods li:hover {
    border-color: transparent !important;
    transform: none !important;
    box-shadow: none !important;
}

.wc_payment_methods li.payment_method_selected,
.wc_payment_methods li:has(input:checked) {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.wc_payment_methods input[type="radio"] {
    display: none;
}
.wc_payment_methods .input-radio{
    display: block !important;
    position: absolute;
    z-index: 100;
    top: 30px;
    left: 18px;
}

.wc_payment_methods label {
    cursor: pointer !important;
    margin: 0 !important;
    padding: 25px 25px 25px 35px !important;
    background: #FFFFFF !important;
    border: 2px solid #E5E5E5 !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    color: #333 !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* Icônes des cartes */
.wc_payment_methods label img {
    height: 30px !important;
    width: auto !important;
    margin-left: auto !important;
}

/* Zone des champs de paiement (formulaire carte) */
.payment_box {
    margin-top: 20px !important;
    padding: 25px !important;
    background: #FFFFFF !important;
    border: 2px solid #E9ECEF !important;
    border-radius: 12px !important;
    border-left: 4px solid #FE6215 !important;
}

#axepta-paygates-list div:last-child{
    display: flex;
}

.payment_box p {
    margin: 0 0 15px 0 !important;
    color: #666 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* Styling simple pour la checkbox native dans payment_box */
.payment_box input[type="checkbox"] {
    accent-color: #FE6215 !important;
    width: 16px !important;
    height: 16px !important;
    margin-right: 10px !important;
    cursor: pointer !important;
}

/* Styling pour le paragraphe contenant la checkbox */
.payment_box p {
    padding: 15px 20px !important;
    background: #FFFFFF !important;
    border: none !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

/* Ajouter du texte après la checkbox */
.payment_box p:has(input[type="checkbox"]):after {
    content: "Enregistrer ma carte pour mes futurs paiements" !important;
    font-size: 14px !important;
    color: #555 !important;
    margin-left: 10px !important;
}

/* Masquer les bordures et styles par défaut des labels */
.payment_box label {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.payment_box p:hover {
    background-color: #f9f9f9 !important;
    transition: background-color 0.3s ease !important;
}

/* Section Conditions Générales Natives */
.woocommerce-terms-and-conditions-wrapper,
.terms.wc-terms-and-conditions,
.form-row.terms {
    margin: 50px 0 10px 0 !important;
    padding: 20px !important;
    background: #FFFFFF !important;
    border: 2px solid #E5E5E5 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
    font-size: 12px;
}

.form-row.validate-required{
    margin-bottom: 0!important;
}
/*.woocommerce-terms-and-conditions-wrapper:hover,
.terms.wc-terms-and-conditions:hover,
.form-row.terms:hover {
    border-color: #FE6215 !important;
    box-shadow: 0 4px 12px rgba(254, 98, 21, 0.1) !important;
}*/

.woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    margin: 0 !important;
    position: relative !important;
}

.woocommerce-form__input-checkbox {
    accent-color: #FE6215 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 10px 0 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 10 !important;
}

.woocommerce-terms-and-conditions-checkbox-text {
    font-size: 15px !important;
    color: #333 !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
}

.woocommerce-terms-and-conditions-link {
    color: #FE6215 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

.woocommerce-terms-and-conditions-link:hover {
    color: #E55A10 !important;
    text-decoration: none !important;
}

.required {
    color: #FE6215 !important;
    font-weight: bold !important;
    margin-left: 5px !important;
}

/* Styling pour le bouton natif WooCommerce */
.woocommerce-checkout #place_order,
.woocommerce button#place_order {
    width: 100% !important;
    padding: 18px 30px !important;
    background: linear-gradient(135deg, #FE6215 0%, #E55A10 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 4px 15px rgba(254, 98, 21, 0.3) !important;
    margin: 30px 0 !important;
    display: block !important;
    clear: both !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce button#place_order:hover {
    background: linear-gradient(135deg, #E55A10 0%, #D85D20 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(254, 98, 21, 0.4) !important;
}

/* Masquer les boutons dupliqués (garder seulement celui avec #place_order) */
.woocommerce-checkout .proceed-to-payment-btn {
    display: none !important;
}

/* Masquer les checkboxes de conditions en double */
.woocommerce-checkout .form-row.terms:not(:first-of-type) {
    display: none !important;
}

/* S'assurer qu'il y a un seul ensemble conditions + bouton */
.woocommerce-terms-and-conditions-wrapper + .woocommerce-terms-and-conditions-wrapper,
.form-row.terms + .form-row.terms {
    display: none !important;
}

/* S'assurer que les conditions générales sont sur leur propre ligne */
.form-row.terms {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 20px !important;
}

.terms-conditions .form-row.terms {
    margin: 0 !important;
    padding: 15px !important;
    background: #F9F9F9 !important;
    border-radius: 8px !important;
    border: 1px solid #E5E5E5 !important;
}

.terms-conditions label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.terms-conditions input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    accent-color: #FE6215 !important;
}

.terms-conditions .woocommerce-terms-and-conditions-checkbox-text {
    color: #333 !important;
    font-weight: 400 !important;
}

.terms-conditions .woocommerce-terms-and-conditions-link {
    color: #FE6215 !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
}

.terms-conditions .woocommerce-terms-and-conditions-link:hover {
    color: #D85D20 !important;
}

.terms-conditions .required {
    color: #FE6215 !important;
    font-weight: 600 !important;
}

/* Section Méthodes de Livraison Visibles */
.shipping-methods-visible {
    margin: 0 0 20px 0 !important;
}

.shipping-package {
    margin: 0 !important;
}

.shipping-methods-visible .shipping-method-option {
    margin: 0 0 15px 0 !important;
    padding: 20px !important;
    background: #F9F9F9 !important;
    border: 2px solid #E5E5E5 !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.shipping-methods-visible .shipping-method-option:hover {
    background: #F0F0F0 !important;
    border-color: #FE6215 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(254, 98, 21, 0.1) !important;
}

.shipping-methods-visible .shipping-method-option.selected {
    background: #FFF4F0 !important;
    border-color: #FE6215 !important;
    box-shadow: 0 4px 12px rgba(254, 98, 21, 0.15) !important;
}

/* S'assurer que les boutons radio sélectionnés restent visibles */
.shipping-methods-visible .shipping-method-option input[type="radio"]:checked + .shipping-method-info {
    color: #FE6215 !important;
}

.shipping-methods-visible .shipping-method-option:has(input[type="radio"]:checked) {
    background: #FFF4F0 !important;
    border-color: #FE6215 !important;
    box-shadow: 0 4px 12px rgba(254, 98, 21, 0.15) !important;
}

.shipping-methods-visible .shipping-method-option label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 15px !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: 100% !important;
}

.shipping-methods-visible .shipping-method-option input[type="radio"] {
    margin: 0 !important;
    accent-color: #FE6215 !important;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.shipping-method-info {
    flex: 1 !important;
}

.shipping-method-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 5px !important;
}

.shipping-method-cost {
    font-size: 14px !important;
    color: #FE6215 !important;
    font-weight: 500 !important;
    margin-bottom: 5px !important;
}

.shipping-method-description {
    font-size: 13px !important;
    color: #666 !important;
    line-height: 1.4 !important;
}

.shipping-methods-visible .shipping-method-option.selected .shipping-method-name {
    color: #FE6215 !important;
}

.shipping-methods-visible .shipping-method-option.selected .shipping-method-cost {
    color: #D85D20 !important;
    font-weight: 600 !important;
}

.no-shipping-methods {
    padding: 20px !important;
    background: #FFF3CD !important;
    border: 1px solid #FFEAA7 !important;
    border-radius: 8px !important;
    text-align: center !important;
}

.no-shipping-methods p {
    margin: 0 !important;
    color: #856404 !important;
    font-weight: 500 !important;
}

/* Section Méthodes de Livraison Cachées */
.shipping-methods {
    margin: 20px 0 !important;
}

.woocommerce-shipping-totals.shipping {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-shipping-methods .shipping-method-option {
    margin: 0 0 10px 0 !important;
    padding: 15px !important;
    background: #F9F9F9 !important;
    border: 1px solid #E5E5E5 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-shipping-methods .shipping-method-option:hover {
    background: #F0F0F0 !important;
    border-color: #FE6215 !important;
}

.woocommerce-shipping-methods .shipping-method-option input[type="radio"] {
    margin: 0 10px 0 0 !important;
    accent-color: #FE6215 !important;
    width: 18px !important;
    height: 18px !important;
}

.shipping-method-label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #333 !important;
    line-height: 1.4 !important;
}

.woocommerce-shipping-methods .shipping-method-option:has(input:checked) {
    background: #FFF4F0 !important;
    border-color: #FE6215 !important;
}

.woocommerce-shipping-methods .shipping-method-option:has(input:checked) .shipping-method-label {
    color: #FE6215 !important;
    font-weight: 600 !important;
}

/* Option de livraison par défaut */
.delivery-option {
    padding: 15px !important;
    background: #F9F9F9 !important;
    border: 1px solid #E5E5E5 !important;
    border-radius: 8px !important;
}

.delivery-info {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.delivery-type {
    font-weight: 600 !important;
    color: #FE6215 !important;
    font-size: 15px !important;
}

.delivery-date {
    color: #666 !important;
    font-size: 14px !important;
}
/* section code promo */
.woocommerce-form-coupon-toggle{
    display: none;
}










/* Responsive Design */
@media (max-width: 768px) {
    
    /* Tab navigation responsive */

    .tab-button {
        padding: 12px 20px;
        font-size: 16px;
    }


    .custom-cart-tab .custom-cart-wrapper {
        padding: 15px;
    }

    .custom-cart-tab .cart-item-image,
    .wishlist-item-image {
        width: 130px;
        height: 130px;
        min-width: 130px;
        margin: 0 auto;
    }


    body.checkout .checkout-content,
    body.woocommerce-checkout .checkout-content,
    .woocommerce-checkout .checkout-content  {
        grid-template-columns: 1fr!important;
        gap: 20px!important;
    }
    
    .checkout-section {
        padding: 20px;
    }
    
    .email-input-group {
        flex-direction: column;
        align-items: stretch;
    }
    
    .address-block {
        flex-direction: column;
        gap: 15px;
    }
    
    .cart-summary-header {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }
}


@media (max-width: 700px) {
    .custom-orders-wrapper {
        padding: 16px 4px;
    }
    .custom-order-card {
        flex-direction: column;
        gap: 12px;
    }
    .custom-order-action {
        margin-left: 0;
    }
    .custom-order-separator {
        margin-left: 0;
    }
}