/*======================================================================================================== 
                                        WOO COMMERCE ACCOUNT PAGE

*/

/* MOBILE*/
@media (max-width: 544px) {
    .favorites-tabs-nav{
        font-size: 16px !important;
    }

    
    .favorite-thumbnail {
        width: 59% !important;
    }
    .favorite-poi-thumbnail{
        width: 138px !important;
        height: 138px !important;
    }

    .default-thumbnail{
        width: 138px !important;
        height: 138px !important;

    }

    .favorites-list.flex-grid{
        gap: 16px !important;
    }

    .entry-content h3 {
        font-size: 31.25px !important;
    }
}

/*TABLET*/
@media (min-width: 544px) and (max-width: 921px) {
    .favorite-poi-thumbnail{
        width: 184px !important;
        height: 184px !important;
    }

    .default-thumbnail{
        width: 184px !important;
        height: 184px !important;
    }

    .favorite-thumbnail {
        width: 33% !important;
    }
}

/*TABLET AND MOBILE*/
@media (max-width: 921px) {

    .woocommerce img {
        width: 138px !important;
        height: 138px !important;
    }
    .favorite-item {
        flex-direction: row !important;
        width: 100%;
        gap: 16px;
    }
    
    .edit-profile-left-menu{
        width: 100% !important;
    }
    
    .entry-content ul, .entry-content ol{
        border: none !important;
        box-shadow: none !important;
    }

    .woocommerce-MyAccount-navigation-link::after {
        left: 0 !important;
        width: 100% !important;
    }

    .entry-content{
        margin-top: 16px !important;
    }

    .favorite-item{
        border-radius: var(--global-border-radius);
        border: 1px solid rgba(221, 221, 221, 0.50);
        box-shadow: 0px 1px 10px 5px rgba(0, 0, 0, 0.04);
        padding: 8px;
    }

    .favorite-thumbnail{        
        margin-bottom: 0 !important;
    }

    .detail-page-hero-favorite-container {
        width: 25px !important;
        height: 25px !important;

        font-size: 15px !important;
    }

    .user-profile-form-cta-container div {
        width: 100%;
    }

}

.favorite-thumbnail {
    overflow: hidden;
    border-radius: var(--global-border-radius);
}

.favorite-item img {
    transition: transform 0.5s ease;
    object-fit: cover !important;
    width: 100%;
    height: 100%;
}

.favorite-item img:hover {
    transform: scale(1.1);
}

.entry-header{
    display: none;
}


.user-account-custom-form .form-row{
    padding: 0 0 1.3rem 0 !important;
    margin: 0 0 24px 0 !important
} 


.woocommerce-js form .form-row label{
    font-size: 20px !important;
}

.user-profile-new-route-container{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
}

.entry-content h3{
    font-size: 39.06px;
    line-height: 1em !important;
    font-weight: bold !important;
    color: var(--diocesi-global-color-gray) !important;
    margin-bottom: 24px !important;
}

.user-profile-form-cta-container{
    display: flex;
    justify-content: flex-end;
    margin-top: 48px;
}

.profile-menu-icon{
    font-size: 26px;
}

.woocommerce-js form .form-row textarea, .woocommerce-js input[type=email], .woocommerce-js input[type=number], .woocommerce-js input[type=password], .woocommerce-js input[type=reset], .woocommerce-js input[type=search], .woocommerce-js input[type=tel], .woocommerce-js input[type=url], .woocommerce-js textarea, .woocommerce-page form .form-row textarea, .woocommerce-page input[type=email], .woocommerce-page input[type=number], .woocommerce-page input[type=password], .woocommerce-page input[type=reset], .woocommerce-page input[type=search], .woocommerce-page input[type=tel], .woocommerce-page input[type=text], .woocommerce-page input[type=url], .woocommerce-page textarea {
    border-radius: var(--global-border-radius) !important;
    border: 1px solid var(--diocesi-global-color-gray);

}


.password-toggle{
    display: none;
}

.password-field-wrapper input[type="password"], .password-field-wrapper input[type="text"]{
padding-right: 16px !important;
}


.edit-profile-left-menu{
    float: left;
    width: 25%;
    padding: 24px 0 !important;
    border-radius: var(--global-border-radius);
    border: 1px solid rgba(221, 221, 221, 0.50);
    box-shadow: 0px 1px 20px 10px rgba(0, 0, 0, 0.04);
    min-width: 284px;
}


.edit-profile-left-menu li {
    padding: 12px 24px;
}


.woocommerce-MyAccount-navigation-link{
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    position: relative;
}

.woocommerce-MyAccount-navigation-link:last-child::after{
    content: none;
}

.woocommerce-MyAccount-navigation-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 5%;
    width: 90%;
    height: 1px;
    transform: scaleY(2);
    background-color: #E4DFDF;
  }

.woocommerce-MyAccount-navigation-link:hover{
    background-color: var(--diocesi-global-color-sand);
}

.woocommerce-MyAccount-navigation-link a{
    padding: 0 !important;
    font-size: 20px;
    display: flex !important;
    align-items: center;
    gap: 16px;
}

.woocommerce-MyAccount-navigation-link a:hover{
    color: var(--diocesi-global-color-gray);
}

/* Hide the .woocommerce-MyAccount-navigation class only when inside a <nav> */
nav.woocommerce-MyAccount-navigation {
    display: none;
}

.entry-content {
    margin-top: 64px;
    margin-bottom: 160px;
}

.woocommmerce {
    margin: 25px -60px 50px -60px;
}



.avatar {
    width: 90px;
    height: 90px;
    background-color: var(--diocesi-global-color-accent);
    color: white;
    font-size: 39.06px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}


.woo-dmc-first-row {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0 0 24px 0 !important;
}

.woo-dmc-first-row:hover {
   background-color: initial !important;
}

/* Responsive styles for WooCommerce form rows */
@media screen and (max-width: 921px) {
    .woocommerce-form-row.woocommerce-form-row--first.form-row.form-row-first,
    .woocommerce-form-row.woocommerce-form-row--last.form-row.form-row-last {
        float: none;
        width: 100%;
        clear: both;
        margin-right: 0;
    }


    .woocommerce-MyAccount-content {
        padding: 0px !important;
        box-sizing: border-box;
    }

    /* Stili per il menu mobile */
    .woocommerce-MyAccount-content.mobile-hidden {
        display: none !important;
    }

    .woocommerce-MyAccount-navigation {
        margin-left: 0px !important;
        padding-left: 0px !important;
    }

    .edit-profile-left-menu.mobile-hidden {
        display: none !important;
    }

    .mobile-back-button {
        display: flex;
        gap: 8px;
        width: 100%;
        color: var(--diocesi-global-color-gray);
        padding: 0;
        margin-bottom: 24px;
        background-color: unset;
        border: none;
        box-shadow: none;
        cursor: pointer;
    }

    .mobile-back-button:hover {
        color: var(--diocesi-global-color-gray);
        background-color: unset;
    }

    .mobile-back-button:focus {
        color: var(--diocesi-global-color-gray);
        background-color: unset;
    }

}


       /* Tabs Navigation */
       .favorites-tabs-nav {
        display: flex;
        gap: 48px;
        margin-bottom: 32px;
        border-bottom: 4px solid #E4DFDF;
        font-size: 20px;
        position: relative;
    }

    .tab-button {
        all:unset;
    }

    .tab-button:hover, .tab-button:focus {
        color: var(--diocesi-global-color-gray);
        background-color: unset;
    }

    .tab-button.active {
        all: unset;

    }

    .tab-container{
        position: relative;
        padding: 10px 0;
        cursor: pointer;
        color: #555;
    }

    .tab-container::after {
        content: "";
        position: absolute;
        bottom: -4px; /* slightly overlaps the container border */
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 4px;
        background-color: transparent;
        transition: all 0.3s ease;
        border-radius: 24px;
      }

    .tab-container.active::after {
        width: 100%;
        background-color: var(--diocesi-global-color-accent);
      }



    .tab-button .count {
        font-size: 0.85em;
        color: #666;
    }

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

    .tab-content:first-child {
        display: block;
    }
    .favorites-list {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        margin-bottom: 2rem;
    }
    
    /* Product Filter Styles */
    .product-filters {
        margin-bottom: 2rem;
        padding: 1rem;
        background: #f8f9fa;
        border-radius: 4px;
    }
    
    .product-filter-form .filter-row {
        display: flex;
        gap: 1rem;
        align-items: center;
        flex-wrap: wrap;
    }
    
    .search-input {
        flex: 1;
        min-width: 200px;
        padding: 0.5rem;
        border: 1px solid #ddd;
        border-radius: 4px;
    }
    
    .category-select {
        min-width: 150px;
        padding: 0.5rem;
        border: 1px solid #ddd;
        border-radius: 4px;
    }
    
    .sort-select {
        min-width: 200px;
        padding: 0.5rem;
        border: 1px solid #ddd;
        border-radius: 4px;
    }
    
    .digital-twin-filter {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    
    .favorite-item {
        display: flex;
        flex-direction: column;
        position: relative;
    }

    .dmc-favorite-routes-card-category{
        font-weight: 325;
        font-size: 16px;
        line-height: 24px;
        color: #000000;
    }

    .dmc-favorite-routes-card-date{
        font-weight: 500;
        font-size: 16px;
        line-height: 24px;
        color: var(--diocesi-global-color-accent);
    }
  

    .favorite-thumbnail img {
        width: 100%;
        display: block;
        border-radius: var(--global-border-radius);
        object-fit: cover;
    }

   @media (max-width: 544px) {
   .favorite-thumbnail img {
    width: 120px !important;
    object-fit: cover !important;
    height: 120px !important;
}
}

    .favorite-poi-thumbnail{
        height: 379px !important; 
    }

    .default-thumbnail{
        height: 238px !important;
    }


    .favorite-content {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .favorite-content h3 {
        margin: 0;
        font-size: 1.2rem;
    }
    .favorite-content h3 a {
        color: inherit;
        text-decoration: none;
    }
    .favorite-content h3 a:hover {
        text-decoration: underline;
    }
    .favorite-locality {
        font-size: 16px;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .favorite-excerpt {
        color: #444;
        font-size: 0.95rem;
        line-height: 1.5;
    }
    .product-info {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin: 0.5rem 0;
    }
    .product-price {
        font-size: 1.1rem;
        font-weight: bold;
        color: #333;
    }
    .product-stock {
        font-size: 0.9rem;
    }
    .product-stock .in-stock {
        color: #28a745;
    }
    .product-stock .out-of-stock {
        color: #dc3545;
    }
    .product-actions {
        margin-top: 1rem;
    }
    .add-to-cart-button {
        display: inline-block;
        padding: 0.5rem 1rem;
        background-color: #007bff;
        color: white;
        text-decoration: none;
        border-radius: 4px;
        transition: background-color 0.3s ease;
    }
    .add-to-cart-button:hover {
        background-color: #0056b3;
        color: white;
    }
    .remove-favorite {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        color: #666;
        text-decoration: none;
        font-size: 0.9rem;
        margin-top: auto;
        align-self: flex-start;
    }
    .remove-favorite:hover {
        color: #dc3545;
    }
    .remove-favorite i {
        color: #dc3545;
    }

    @media (max-width: 768px) {
       
        .product-info {
            flex-direction: column;
            align-items: flex-start;
            gap: 0.5rem;
        }
    }
