/*
Theme Name: Midy
Theme URI: www.midy.md
Author: KaidoDev
Author URI: www.kaidodev.com
Version: 1.0
Text Domain: www.kaidodev.com
*/

:root {
    --dark: #000000;
    --gray: #EAEAEA;
    --primary: #5d839d;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
    overflow-x: hidden;
}

body {
    font-family: "DM Sans", sans-serif;
    font-size: 1.8rem;
    color: black;
}

h1 {
    font-size: 9.1rem;
    margin: 0;
    padding: 0;
}

h2 {
    font-size: 4.8rem;
    font-weight: 900;
    margin: 0;
    padding: 0;
}

h3 {
    font-size: 3rem;
    margin: 0;
    padding: 0;
}

h4 {
    font-size: 2rem;
    margin: 0;
    padding: 0;
}

h5 {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 0;
    padding: 0;
}

p {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 30px;
    margin: 0;
    padding: 0;
}

dl, ol, ul {
    margin-bottom: 0;
}

ul {
    font-size: 1.8rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

a{
    text-decoration: none;
    color: black;
}

img{
    width: 100%;
    height: auto;
}

.container {
    max-width: 1470px;
    padding: 0 15px;
}

/* Grid */

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

.grid-3{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.grid-4{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.grid-5{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

/* End Grid */

.bg_gray{
    background: #EAEAEA;
}

/* Spacing Blocks */

.mt-100{
    margin-top: 100px;
}

.mb-100{
    margin-bottom: 100px;
}

.block_title{
    margin-bottom: 24px;
}

/* End Spacing Blocks */

/* Header */

.top_bar{
    padding: 6px 0;
    background: black;
}

.top_bar p{
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    color: white;
    text-align: center;
}

.menu_list{
    display: flex;
    gap: 16px;
}

.menu_list li a{
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-decoration: underline;
}

.navbar_menu{
    margin-bottom: 20px;
}

.main_menu{
    padding: 16px 0;
}

.navbar_menu_items ul{
    display: flex;
    background: #EAEAEA;
    border-radius: 10px;
}

.navbar_menu_items ul li {
    display: flex;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    color: black;
    height: 100%;
}

.navbar_menu_items ul li a {
    padding: 15px 23px;
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.navbar_menu_items ul li a:hover {
    color: #777777;
    border-radius: 10px;
}

.navbar_menu_items ul li.current-menu-item a,
.navbar_menu_items ul li.current_page_item a {
    background: black;
    color: white;
    border-radius: 10px;
}

.catalog_menu{
    margin-right: 12px;
}

.menu_info p{
    font-size: 23px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 5px;
}

.menu_info span{
    color: #757575;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

/* Language Menu - TranslatePress */
.language_menu {
    position: relative;
    margin-left: 30px;
}

.language_menu .menu-language-menu-container > ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.language_menu .menu-language-menu-container > ul > li {
    position: relative;
}

.language_menu .menu-language-menu-container > ul > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    text-decoration: none;
    color: #000;
    font-size: 1.4rem;
    font-weight: 600;
    transition: background-color 0.2s ease;
}

.language_menu .menu-language-menu-container > ul > li > a:hover {
    background-color: #f5f5f5;
}

.language_menu .trp-menu-ls-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.language_menu .trp-flag-image {
    width: 24px;
    height: 18px;
    border-radius: 2px;
    box-shadow: 0 0 1px rgba(0,0,0,0.2);
}

.language_menu .trp-ls-language-name {
    font-size: 1.4rem;
    font-weight: 600;
}

/* Dropdown arrow */
.language_menu .menu-item-has-children > a::after {
    content: "";
    width: 12px;
    height: 12px;
    margin-left: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23666' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease;
}

.language_menu .menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Submenu Dropdown */
.language_menu .sub-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    padding: 8px 0;
    min-width: 100px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease;
    z-index: 1000;
    list-style: none;
    margin: 0;
}

.language_menu .menu-item-has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(5px);
}

.language_menu .sub-menu li {
    margin: 0;
}

.language_menu .sub-menu li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.language_menu .sub-menu li a:hover {
    background-color: #f5f5f5;
    color: #000;
}

/* Search Bar */
.search_bar {
    margin-right: 15px;
    position: relative;
    width: 100%;
}

.search_bar.is-active .search_form {
    border-radius: 10px 10px 0 0;
}

.search_form {
    display: flex;
    align-items: center;
    background: #EAEAEA;
    border-radius: 10px;
    padding: 5px 10px;
    transition: box-shadow 0.3s ease, border-radius 0.2s ease;
    position: relative;
}

.search_form:focus-within {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.search_input {
    border: none;
    background: transparent;
    padding: 10px 15px;
    font-size: 1.6rem;
    font-family: "DM Sans", sans-serif;
    width: 100%;
    outline: none;
}

.search_input::placeholder {
    color: #757575;
    font-weight: 400;
}

.search_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: black;
    border: none;
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.search_btn svg {
    color: white;
}

.search_btn:hover {
    background: #333;
    transform: scale(1.05);
}

.search_btn:active {
    transform: scale(0.98);
}

/* Search Loader */
.search_loader {
    position: absolute;
    right: 55px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
}

.search_loader.active {
    opacity: 1;
    visibility: visible;
}

.search_loader .spinner {
    display: block;
    width: 18px;
    height: 18px;
    border: 2px solid #ddd;
    border-top-color: #000;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Search Results Dropdown */
.search_results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    max-height: 400px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1000;
}

.search_results.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.search_results_list {
    padding: 8px;
}

.search_result_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease, transform 0.2s ease;
    animation: fadeInUp 0.3s ease forwards;
    opacity: 0;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.search_result_item:hover,
.search_result_item:focus {
    background: #f5f5f5;
    outline: none;
}

.search_result_item:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1) inset;
}

.search_result_image {
    position: relative;
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background: #f0f0f0;
}

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

.search_result_image .sale_badge {
    position: absolute;
    top: 2px;
    left: 2px;
    background: #e53935;
    color: white;
    font-size: 0.9rem;
    padding: 2px 4px;
    border-radius: 3px;
    font-weight: 600;
}

.search_result_info {
    flex: 1;
    min-width: 0;
}

.search_result_title {
    font-size: 1.4rem;
    font-weight: 600;
    margin: 0 0 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #000;
}

.search_result_price {
    font-size: 1.3rem;
    color: #666;
}

.search_result_price del {
    color: #999;
    margin-right: 6px;
}

.search_result_price ins {
    text-decoration: none;
    color: #e53935;
    font-weight: 600;
}

.search_view_all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px;
    background: #f8f8f8;
    color: #000;
    font-size: 1.4rem;
    font-weight: 600;
    text-decoration: none;
    border-top: 1px solid #eee;
    border-radius: 0 0 12px 12px;
    transition: background-color 0.2s ease;
}

.search_view_all:hover,
.search_view_all:focus {
    background: #eee;
    outline: none;
}

.search_view_all svg {
    transition: transform 0.2s ease;
}

.search_view_all:hover svg {
    transform: translateX(4px);
}

.search_no_results {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    text-align: center;
    color: #666;
}

.search_no_results svg {
    margin-bottom: 12px;
    opacity: 0.5;
}

.search_no_results p {
    font-size: 1.4rem;
    margin: 0;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.shopping-cart {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.shopping-cart .count__cart {
    position: absolute;
    top: 9px;
    right: 14px;
    background-color: var(--primary);
    color: white;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
    padding: 4px 6px;
    border-radius: 10px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.shopping-cart .count__cart:empty {
    display: none;
}

.shopping-cart span {
    font-weight: 500;
}

/* End Header */

/* Buttons */

.btn_directory{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    background: black;
    color: white;
    border: 1px solid transparent;
    font-size: 1.8rem;
    font-weight: 500;
    border-radius: 10px;
    transition: 0.3s;
}

.btn_directory:hover{
    background: white;
    border: 1px solid black;
}

.btn_directory svg{
    width: 16px;
    height: 16px;
}

.btn_directory svg{
    stroke: white;
    transition: 0.3s;
}

.btn_directory:hover svg{
    stroke: black;
}

.main_button{
    background: black;
    border: 1px solid transparent;
    color: white;
    font-size: 1.8rem;
    display: inline-flex;
    padding: 11px 16px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
}

.main_button:hover{
    background: transparent;
    border: 1px solid black;
}

/* Hero Slider */

.hero_slider .swiper-slide .d-flex{
    background: #DDDFDE;
    border-radius: 10px;
    padding: 0 107px;
}

.hero_slider .main_button{
    padding: 11px 40px;
}

.hero_slider .swiper-slide h2{
    font-family: "Bebas Neue", sans-serif;
    font-size: 9.1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.hero_slider .swiper-slide p{
    margin-bottom: 49px;
}

/* Custom Section */

.custom_section .grid-4{
    gap: 16px;
}

.custom_item h2{
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    text-align: center;
}

.custom_item{
    cursor: pointer;
    transition: transform 0.3s ease;
}

.custom_item:hover{
    transform: translateY(-8px);
}

.img_custom{
    background: var(--gray);
    margin-bottom: 12px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.img_custom img{
    transition: transform 0.4s ease;
}

.custom_item:hover .img_custom img{
    transform: scale(1.08);
}

.img_custom::after{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.15) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 10px;
}

.custom_item:hover .img_custom::after{
    opacity: 1;
}

.custom_item h2{
    transition: color 0.3s ease;
}

.custom_item:hover h2{
    color: var(--primary, #007bff);
}

/* End Custom Section */

/* Benefits Section */

.benefits_section .grid-4{
    gap: 16px;
}

.benefits_item{
    padding: 20px;
    background: #FAFAFA;;
    border-radius: 10px;
    border: 1px solid #EAEAEA;
}

.benefits_item img{
    width: 110px;
    height: 110px;
    object-fit: contain;
}

.benefits_item h3{
    font-size: 20px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    margin-bottom: 20px;
}

.benefits_item p{
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

/* Social Section */

.gallery_slider{
    margin-top: 28px;
}

.gallery_slider .swiper-wrapper{
    transition-timing-function: linear;
}

.gallery_slider .swiper-slide img{
    border-radius: 10px;
}

/* Product Section */

.products_section .grid-4{
    gap: 16px;
}

.products_section .product_item{
    border-radius: 10px;
    border: 1px solid #EAEAEA;
    padding: 10px;
}

.products_section .product_item img{
    width: 100%;
    height: 300px;
    object-fit: contain;
}

.products_section .product_item h3{
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.products_section .product_item .old_price{
    color: #656565;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration-line: line-through;
}

.products_section .product_item .price{
    color: black;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.products_section .product_item .shop_product{
    width: 24px;
    height: 24px
}

.price_product{
    margin-top: 10px;
}

.price_box{
    gap: 17px;
    margin-bottom: 10px;
}

.discount_box{
    display: flex;
    border: 1px solid #000;
    border-radius: 3px;
}

.discount_box span{
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.discount_percent{
    padding: 3px;
    background: black;
    color: white;
}

.discount_price{
    padding: 3px;
    color: black;
}

/* Categories Section */

.categories_slider .swiper-slide img{
    width: 180px;
    height: 180px;
    object-fit: cover;
    border-radius: 10px;
}

/* Footer */

.footer{
    background: #151316;
    padding: 48px 0;
    color: white;
    border-radius: 30px 30px 0 0;
}

.main_footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 50px;
    border-bottom: 1px solid #5A5A5A;
    margin-bottom: 48px;
}

.footer_phone{
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    color: white;
}

.footer_right{
    padding-right: 247px;
}

.footer_right span{
    color: #5c636a;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.footer_right p{
    margin-top: 22px;
    color: #FFF;
    text-align: justify;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.footer_left h3{
    color: #FFFFFF99;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.catalog_footer{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.catalog_footer li a{
    color: white;
}

.catalog_footer li a:hover{
    text-decoration: underline;
}

.menu_footer li{
    margin-bottom: 7px;
}

.menu_footer li a{
    color: white;
    transition: 0.3s;
}

.menu_footer li a:hover{
    text-decoration: underline;
}

.footer_right .social_links{
    display: inline-flex;
    gap: 6px;
    height: 62px;
    border-radius: 97px;
    background: #232323;
    padding: 7px;
}

.footer_right .social_item{
    display: flex;
    width: 48px;
    height: 48px;
    padding: 14px 15px 13px 14px;
    justify-content: center;
    align-items: center;
    border-radius: 30px;
    background: #151515;
    transition: 0.3s;
}

.footer_right .social_item:hover{
    background: #000;
}

.footer_right .social_item img{
    width: 17px;
    height: 20px;
}

/* Page Hero */

.page_hero{
    margin-top: 20px;
}

.about_template .page_hero .row{
    padding: 0 34px;
}

.about_hero_right img{
    width: 100%;
    height: 693px;
    object-fit: contain;
    display: block;
}

.page_hero .hero_content{
    border-radius: 10px;
    background: linear-gradient(282deg, #CACACA 15.37%, #ECECEE 93.96%);
    padding: 90px 34px;
}

.services_section .services_item{
    margin-bottom: 30px;
}

.services_section .services_right{
    padding-left: 10px;
}

.services_section .services_right .bg_gray{
    padding: 30px;
    border-radius: 10px;
    height: 100%;
}

.services_section .services_right h3{
    color: #000;
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
}

.services_section .services_right p{
    margin-top: 12px;
    margin-bottom: 20px;
}

.services_section .services_right ul{
    margin-bottom: 30px;
}

.services_section .services_right ul li{
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
}

.services_section .services_left{
    display: flex;
}

.services_section .services_right ul li::before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url('./assets/images/icons/check.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Contact Page */

.info_layout{
    display: flex;
    gap: 40px;
}

.contact_item h3,
.social_links h3{
    color: #686868;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin-bottom: 12px;
}

.contact_item a{
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

.contact_item a:hover{
    text-decoration: underline;
}

.social_links{
    margin-top: 40px;
}

.layout_social{
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}

.layout_social a{
    display: flex;
    align-items: center;
    gap: 20px;
}

.layout_social span{
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.layout_social .icon{
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    border-radius: 10px;
    background: #2C2C2C;
}

/* Reviews Slider */

.reviews_slider{
    margin-top: 40px;
}

.reviews_slider .swiper-slide h3{
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
}

.reviews_slider .swiper-slide .rating{
    margin-top: 26px;
    margin-bottom: 13px;
}

.reviews_slider .swiper-slide p{
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    height: 100px;
    overflow-y: scroll;
}

/* Contact Form */

.contact_right{
    padding-left: 80px;
}

.contact_form{
    margin-top: 40px;
}

.contact_form br {
    display: none;
}

.contact_form label {
    display: block;
    color: #000;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin-bottom: 16px;
}

.contact_form input[type="text"],
.contact_form input[type="email"],
.contact_form textarea {
    width: 100%;
    padding: 14px 20px;
    font-size: 1.6rem;
    color: #969696;
    border-radius: 10px;
    border: 1px solid #EAEAEA;
    background-color: #EAEAEA;
    margin-bottom: 25px;
    transition: border-color 0.3s ease;
}

.contact_form input::placeholder,
.contact_form textarea::placeholder {
    color: #969696;
}

.contact_form input[type="text"]:focus,
.contact_form input[type="email"]:focus,
.contact_form textarea:focus {
    border-color: var(--dark);
    outline: none;
}

.contact_form textarea {
    width: 100%;
    height: 150px;
    resize: none;
}

.contact_form input[type="submit"] {
    background: var(--dark);
    color: #fff;
    padding: 14px 35px;
    font-size: 1.8rem;
    width: 100%;
    font-weight: 500;
    cursor: pointer;
    border-radius: 12px;
    border: 1px solid transparent;
    transition: background-color 0.3s ease;
}

.contact_form input[type="submit"]:hover {
    background: transparent;
    color: #000;
    border: 1px solid #000;
}

.contact_form .wpcf7-list-item-label{
    font-size: 1.6rem;
    font-weight: 500;
}

.contact_form .d-flex {
    display: flex;
    gap: 20px;
}

.contact_form .d-flex label {
    flex: 1;
}

.about_hero h1{
    color: #000;
    font-size: 6.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 79px;
    margin-bottom: 15px;
}

.about_hero p{
    color: #363636;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin-bottom: 55px;
}

.about_left{
    padding-right: 78px;
}

.about_left h2{
    color: #000;
    font-size: 4.8rem;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    margin-bottom: 27px;
}

.about_left p{
    color: #000;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

.about_right .grid-2{
    gap: 31px;
}

.image_right{
    display: flex;
    align-items: flex-end;
}

.image_left img{
    width: 100%;
    height: 543px;
    object-fit: cover;
    border-radius: 10px;
}

.image_left p{
    margin-top: 24px;
}

.image_right img{
    width: 100%;
    height: 418px;
    object-fit: cover;
    border-radius: 10px;
}

.mission_image img{
    width: 100%;
    height: 476px;
    object-fit: cover;
    border-radius: 10px;
}

.mission_content{
    padding-left: 83px;
}

.mission_content_2{
    padding-right: 83px;
}

.our_mission .row:last-child{
    margin-top: 86px;
}

/* Catalog Popup Styles */
.catalog_popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s ease;
}

.catalog_popup.active {
    visibility: visible;
    opacity: 1;
}

.catalog_popup_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

.catalog_popup_content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    background: #fff;
    border-radius: 16px;
    width: 90%;
    max-width: 1200px;
    max-height: 85vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease;
}

.catalog_popup.active .catalog_popup_content {
    transform: translate(-50%, -50%) scale(1);
}

.catalog_popup_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #eee;
}

.catalog_popup_header h3 {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
}

.catalog_popup_close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.catalog_popup_close:hover {
    background: #f5f5f5;
}

.catalog_popup_close svg {
    color: #666;
}

.catalog_popup_body {
    padding: 16px 24px;
    overflow-y: auto;
    flex: 1;
}

/* Category Items */
.catalog_category_item {
    border-bottom: 1px solid #f0f0f0;
}

.catalog_category_item:last-child {
    border-bottom: none;
}

.catalog_category_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.catalog_category_link {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    flex: 1;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s ease;
}

.catalog_category_link:hover {
    opacity: 0.7;
}

.catalog_category_image {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f5f5f5;
}

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

.catalog_category_name {
    font-size: 1.6rem;
    font-weight: 600;
    color: #000;
}

.catalog_category_toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.3s ease;
}

.catalog_category_toggle:hover {
    background: #f5f5f5;
}

.catalog_category_toggle svg {
    color: #666;
    transition: transform 0.3s ease;
}

.catalog_category_toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

/* Subcategories */
.catalog_subcategories {
    display: none;
    flex-wrap: wrap;
    gap: 12px;
    padding: 0 0 16px 0;
    animation: slideDown 0.3s ease;
}

.catalog_subcategories.active {
    display: flex;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.catalog_subcategory_item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    background: #f5f5f5;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.catalog_subcategory_item:hover {
    background: #eaeaea;
    transform: translateY(-2px);
}

.catalog_subcategory_image {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    background: #e0e0e0;
}

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

.catalog_subcategory_name {
    font-size: 1.4rem;
    font-weight: 500;
    color: #000;
}

/* Responsive Catalog Popup */
@media (max-width: 600px) {
    .catalog_popup_content {
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        border-radius: 0;
        top: 0;
        left: 0;
        transform: translateX(-100%);
    }

    .catalog_popup.active .catalog_popup_content {
        transform: translateX(0);
    }

    .catalog_subcategory_item {
        flex: 1 1 calc(50% - 6px);
        min-width: 140px;
    }
}

/* ===================================
   CART PAGE STYLES
   =================================== */

.midy_cart_wrapper {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
    align-items: start;
    margin-top: 40px;
    margin-bottom: 100px;
}

/* Cart Form */
.midy_cart_form {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #EAEAEA;
    overflow: hidden;
}

/* Cart Header */
.midy_cart_header {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 60px;
    gap: 16px;
    padding: 20px 24px;
    background: #f8f8f8;
    border-bottom: 1px solid #EAEAEA;
}

.cart_header_item {
    font-size: 1.4rem;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cart_header_quantity,
.cart_header_subtotal {
    text-align: center;
}

/* Cart Items */
.midy_cart_items {
    padding: 0;
}

.midy_cart_item {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 60px;
    gap: 16px;
    align-items: center;
    padding: 24px;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
}

.midy_cart_item:last-child {
    border-bottom: none;
}

.midy_cart_item:hover {
    background-color: #fafafa;
}

/* Product Info */
.cart_item_product {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cart_item_image {
    width: 100px;
    height: 100px;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f5f5;
    flex-shrink: 0;
}

.cart_item_image a {
    display: block;
    width: 100%;
    height: 100%;
}

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

.cart_item_details {
    flex: 1;
}

.cart_item_name {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
}

.cart_item_name a {
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease;
}

.cart_item_name a:hover {
    color: var(--primary);
}

.cart_item_price_mobile {
    display: none;
}

.backorder_notification {
    font-size: 1.2rem;
    color: #e67e22;
    margin-top: 4px;
}

/* Variation Data */
.variation {
    margin-top: 8px;
}

.variation dt,
.variation dd {
    display: inline;
    font-size: 1.3rem;
    color: #666;
}

.variation dt {
    font-weight: 600;
}

.variation dd p {
    display: inline;
    font-size: 1.3rem;
}

/* Price */
.cart_item_price {
    font-size: 1.6rem;
    font-weight: 500;
    color: #333;
}

.cart_item_price .woocommerce-Price-amount {
    color: #000;
}

/* Quantity */
.cart_item_quantity {
    display: flex;
    justify-content: center;
}

.midy_qty_wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #EAEAEA;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.midy_qty_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: none;
    background: #f8f8f8;
    color: #333;
    cursor: pointer;
    transition: all 0.2s ease;
}

.midy_qty_btn:hover {
    background: #000;
    color: #fff;
}

.midy_qty_btn:active {
    transform: scale(0.95);
}

.midy_qty_btn svg {
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.midy_qty_minus {
    border-right: 1px solid #EAEAEA;
}

.midy_qty_plus {
    border-left: 1px solid #EAEAEA;
}

.midy_qty_input {
    width: 50px;
    height: 44px;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 1.6rem;
    font-weight: 600;
    font-family: "DM Sans", sans-serif;
    color: #000;
    -moz-appearance: textfield;
}

.midy_qty_input::-webkit-outer-spin-button,
.midy_qty_input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.midy_qty_input:focus {
    outline: none;
}

.qty_single {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    font-size: 1.6rem;
    font-weight: 600;
    color: #000;
    background: #f8f8f8;
    border-radius: 10px;
}

/* Cart Item Loading State */
.midy_cart_item.is-updating {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.midy_cart_item.is-updating::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px;
    border: 3px solid #EAEAEA;
    border-top-color: #000;
    border-radius: 50%;
    animation: midy-spin 0.8s linear infinite;
}

@keyframes midy-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Cart Totals Loading State */
.midy_cart_collaterals.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Subtotal */
.cart_item_subtotal {
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
    text-align: center;
}

/* Remove Button */
.cart_item_remove {
    display: flex;
    justify-content: center;
}

.midy_remove_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #EAEAEA;
    color: #999;
    transition: all 0.2s ease;
}

.midy_remove_btn:hover {
    background: #fee2e2;
    border-color: #fecaca;
    color: #dc2626;
}

.midy_remove_btn svg {
    width: 18px;
    height: 18px;
}

/* Cart Actions */
.midy_cart_actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: #f8f8f8;
    border-top: 1px solid #EAEAEA;
}

.cart_coupon {
    flex: 1;
    max-width: 400px;
}

.coupon_form {
    display: flex;
    gap: 10px;
}

.coupon_input {
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    background: #fff;
    font-size: 1.5rem;
    font-family: "DM Sans", sans-serif;
    transition: border-color 0.2s ease;
}

.coupon_input::placeholder {
    color: #999;
}

.coupon_input:focus {
    outline: none;
    border-color: #000;
}

.coupon_btn {
    padding: 12px 24px;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    font-family: "DM Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.coupon_btn:hover {
    background: #fff;
    color: #000;
}

/* ===================================
   CART TOTALS STYLES
   =================================== */

.midy_cart_collaterals {
    position: sticky;
    top: 20px;
}

.midy_review_order {
    position: relative;
}

.midy_cart_totals {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #EAEAEA;
    padding: 24px;
    transition: opacity 0.3s ease;
    position: relative;
}

.midy_cart_totals.is-updating,
.midy_cart_collaterals.is-updating,
.midy_review_order.is-updating {
    opacity: 0.5;
    pointer-events: none;
}

.midy_cart_totals.is-updating::after,
.midy_cart_collaterals.is-updating::after,
.midy_review_order.is-updating::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    border: 3px solid #000;
    border-top-color: transparent;
    border-radius: 50%;
    animation: midy-spin 0.8s linear infinite;
    z-index: 10;
}

@keyframes midy-spin {
    to { transform: rotate(360deg); }
}

.cart_totals_title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EAEAEA;
}

.cart_totals_content {
    margin-bottom: 24px;
}

.cart_totals_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f5f5f5;
}

.cart_totals_row:last-child {
    border-bottom: none;
}

.totals_label {
    font-size: 1.5rem;
    font-weight: 500;
    color: #666;
}

.totals_value {
    font-size: 1.6rem;
    font-weight: 600;
    color: #000;
}

.cart_total {
    padding-top: 16px;
    margin-top: 8px;
    border-top: 2px solid #000;
    border-bottom: none;
}

.cart_total .totals_label {
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
}

.cart_total .totals_value {
    font-size: 2.2rem;
    font-weight: 800;
    color: #000;
}

/* Shipping in totals */
.cart_shipping {
    display: block;
    padding: 16px 0;
}

.cart_shipping > p:first-of-type,
.cart_shipping > span:first-child {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
    margin-bottom: 12px;
}

.cart_shipping #shipping_method {
    list-style: none;
    padding: 0;
    margin: 12px 0;
}

.cart_shipping #shipping_method li {
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cart_shipping #shipping_method li:last-child {
    margin-bottom: 0;
}

.cart_shipping #shipping_method input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #000;
    margin-top: 2px;
    flex-shrink: 0;
}

.cart_shipping #shipping_method label {
    font-size: 1.4rem;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    line-height: 1.4;
}

.cart_shipping .woocommerce-shipping-destination {
    font-size: 1.3rem;
    color: #666;
    margin: 12px 0;
    padding: 10px 12px;
    background: #f9f9f9;
    border-radius: 8px;
}

.cart_shipping .woocommerce-shipping-destination strong {
    color: #000;
}

/* Shipping Calculator */
.cart_shipping .woocommerce-shipping-calculator {
    margin-top: 12px;
}

.cart_shipping .shipping-calculator-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1.3rem;
    color: #000;
    text-decoration: underline;
    font-weight: 500;
    transition: color 0.2s ease;
}

.cart_shipping .shipping-calculator-button:hover {
    color: #666;
}

.cart_shipping .shipping-calculator-form {
    margin-top: 16px;
    padding: 16px;
    background: #f9f9f9;
    border-radius: 12px;
}

.cart_shipping .shipping-calculator-form .form-row {
    margin-bottom: 12px;
}

.cart_shipping .shipping-calculator-form .form-row:last-of-type {
    margin-bottom: 0;
}

.cart_shipping .shipping-calculator-form label {
    display: block;
    font-size: 1.3rem;
    font-weight: 500;
    color: #333;
    margin-bottom: 6px;
}

.cart_shipping .shipping-calculator-form label .required {
    color: #e11d48;
}

.cart_shipping .shipping-calculator-form select,
.cart_shipping .shipping-calculator-form input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    font-size: 1.4rem;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    transition: border-color 0.2s ease;
}

.cart_shipping .shipping-calculator-form select:focus,
.cart_shipping .shipping-calculator-form input[type="text"]:focus {
    outline: none;
    border-color: #000;
}

.cart_shipping .shipping-calculator-form button {
    width: 100%;
    margin-top: 12px;
    padding: 12px 16px;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cart_shipping .shipping-calculator-form button:hover {
    background: #fff;
    color: #000;
}

.woocommerce-shipping-totals td {
    padding-left: 0;
}

/* Coupon row */
.cart_coupon_row .totals_value {
    color: #16a34a;
}

/* Checkout Button */
.cart_totals_checkout {
    margin-top: 16px;
}

.cart_totals_checkout .checkout-button,
.cart_totals_checkout .wc-proceed-to-checkout a {
    display: flex;
    width: 100%;
    padding: 16px 24px;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 12px;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cart_totals_checkout .checkout-button:hover,
.cart_totals_checkout .wc-proceed-to-checkout a:hover {
    background: #fff;
    color: #000;
}

.midy_checkout_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.midy_checkout_btn svg {
    transition: transform 0.2s ease;
}

.midy_checkout_btn:hover svg {
    transform: translateX(4px);
}

/* Empty Cart */
.woocommerce-cart .woocommerce-info {
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 12px;
    padding: 40px;
    text-align: center;
    font-size: 1.6rem;
}

.woocommerce-cart .woocommerce-info .button {
    display: inline-block;
    margin-top: 16px;
    padding: 12px 32px;
    background: #000;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
}

.woocommerce-cart .woocommerce-info .button:hover {
    background: #333;
}

/* Cross sells */
.cross-sells {
    margin-top: 40px;
}

.cross-sells h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 24px;
}

/* ===================================
   CART RESPONSIVE STYLES
   =================================== */

@media (max-width: 1200px) {
    .midy_cart_wrapper {
        grid-template-columns: 1fr 320px;
        gap: 24px;
    }
}

@media (max-width: 991px) {
    .midy_cart_wrapper {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    
    .midy_cart_collaterals {
        position: static;
    }
    
    .midy_cart_header {
        display: none;
    }
    
    .midy_cart_item {
        grid-template-columns: 1fr auto;
        gap: 16px;
        position: relative;
        padding: 20px;
    }
    
    .cart_item_product {
        grid-column: 1 / -1;
    }
    
    .cart_item_price {
        display: none;
    }
    
    .cart_item_price_mobile {
        display: block;
        font-size: 1.4rem;
        color: #666;
        margin-top: 4px;
    }
    
    .cart_item_quantity {
        justify-content: flex-start;
    }
    
    .midy_qty_wrapper {
        border-radius: 10px;
    }
    
    .midy_qty_btn {
        width: 40px;
        height: 40px;
    }
    
    .midy_qty_input {
        width: 45px;
        height: 40px;
        font-size: 1.5rem;
    }
    
    .cart_item_subtotal {
        text-align: right;
    }
    
    .cart_item_remove {
        position: absolute;
        top: 16px;
        right: 16px;
    }
    
    .midy_remove_btn {
        width: 36px;
        height: 36px;
    }
    
    .midy_cart_actions {
        flex-direction: column;
        gap: 16px;
    }
    
    .cart_coupon {
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 576px) {
    .midy_cart_wrapper {
        margin-top: 20px;
        margin-bottom: 60px;
    }
    
    .midy_cart_item {
        padding: 16px;
    }
    
    .cart_item_image {
        width: 80px;
        height: 80px;
    }
    
    .cart_item_name {
        font-size: 1.4rem;
    }
    
    .cart_item_subtotal {
        font-size: 1.6rem;
    }
    
    .midy_qty_btn {
        width: 36px;
        height: 36px;
    }
    
    .midy_qty_input {
        width: 40px;
        height: 36px;
        font-size: 1.4rem;
    }
    
    .coupon_form {
        flex-direction: column;
    }
    
    .coupon_btn {
        width: 100%;
    }
    
    .midy_cart_totals {
        padding: 20px;
    }
    
    .cart_totals_title {
        font-size: 1.8rem;
    }
    
    .cart_total .totals_value {
        font-size: 2rem;
    }
}

/* ===================================
   EMPTY CART STYLES
   =================================== */

.midy_empty_cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 80px 40px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #EAEAEA;
    margin: 40px 0 100px;
}

.empty_cart_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 140px;
    background: #f8f8f8;
    border-radius: 50%;
    margin-bottom: 32px;
    color: #ccc;
}

.empty_cart_title {
    font-size: 2.8rem;
    font-weight: 800;
    color: #000;
    margin-bottom: 12px;
}

.empty_cart_text {
    font-size: 1.6rem;
    font-weight: 400;
    color: #666;
    max-width: 400px;
    line-height: 1.6;
    margin-bottom: 32px;
}

.empty_cart_btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 12px;
    font-size: 1.6rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.empty_cart_btn:hover {
    background: #fff;
    color: #000;
}

.empty_cart_btn svg {
    transition: transform 0.2s ease;
}

.empty_cart_btn:hover svg {
    transform: translateX(-4px);
}

@media (max-width: 576px) {
    .midy_empty_cart {
        padding: 60px 24px;
        margin: 20px 0 60px;
    }
    
    .empty_cart_icon {
        width: 120px;
        height: 120px;
    }
    
    .empty_cart_icon svg {
        width: 60px;
        height: 60px;
    }
    
    .empty_cart_title {
        font-size: 2.2rem;
    }
    
    .empty_cart_text {
        font-size: 1.5rem;
    }
}

/* ===================================
   CHECKOUT PAGE STYLES
   =================================== */

.midy_checkout_wrapper {
    margin-top: 40px;
    margin-bottom: 100px;
}

.midy_checkout_content {
    display: grid;
    grid-template-columns: 1fr 450px;
    gap: 40px;
    align-items: start;
}

/* Checkout Fields - Left Column */
.midy_checkout_fields {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #EAEAEA;
    padding: 32px;
}

.midy_customer_details {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Billing Section Heading */
.midy_checkout_fields .woocommerce-billing-fields h3,
.midy_checkout_fields .woocommerce-shipping-fields h3,
.midy_checkout_fields .woocommerce-additional-fields h3 {
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EAEAEA;
}

/* Form Rows */
.midy_checkout_fields .woocommerce-billing-fields__field-wrapper,
.midy_checkout_fields .woocommerce-shipping-fields__field-wrapper,
.midy_checkout_fields .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.midy_checkout_fields .form-row {
    margin: 0;
}

.midy_checkout_fields .form-row-wide {
    grid-column: 1 / -1;
}

.midy_checkout_fields .form-row-first {
    grid-column: 1;
}

.midy_checkout_fields .form-row-last {
    grid-column: 2;
}

/* Labels */
.midy_checkout_fields label {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.midy_checkout_fields label .required {
    color: #dc2626;
}

.midy_checkout_fields label .optional {
    color: #999;
    font-weight: 400;
    font-size: 1.3rem;
}

/* Input Fields */
.midy_checkout_fields .woocommerce-input-wrapper {
    width: 100%;
}

.midy_checkout_fields .input-text,
.midy_checkout_fields textarea,
.midy_checkout_fields select {
    width: 100%;
    padding: 14px 16px;
    font-size: 1.5rem;
    font-family: "DM Sans", sans-serif;
    color: #000;
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.midy_checkout_fields .input-text:focus,
.midy_checkout_fields textarea:focus,
.midy_checkout_fields select:focus {
    outline: none;
    border-color: #000;
    background: #fff;
}

.midy_checkout_fields .input-text::placeholder,
.midy_checkout_fields textarea::placeholder {
    color: #999;
}

.midy_checkout_fields textarea {
    min-height: 100px;
    resize: vertical;
}

/* Select2 Styling */
.midy_checkout_fields .select2-container--default .select2-selection--single {
    height: 50px;
    padding: 14px 16px;
    font-size: 1.5rem;
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
}

.midy_checkout_fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.4;
    padding: 0;
    color: #000;
}

.midy_checkout_fields .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px;
    right: 12px;
}

.midy_checkout_fields .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #000;
    background: #fff;
}

.select2-dropdown {
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.select2-search--dropdown .select2-search__field {
    padding: 12px 16px;
    border: none;
    border-bottom: 1px solid #EAEAEA;
    font-size: 1.5rem;
    font-family: "DM Sans", sans-serif;
}

.select2-results__option {
    padding: 12px 16px;
    font-size: 1.5rem;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #f5f5f5;
    color: #000;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #000;
    color: #fff;
}

/* Validation States */
.midy_checkout_fields .woocommerce-invalid .input-text {
    border-color: #dc2626;
    background-color: #fef2f2;
}

.midy_checkout_fields .woocommerce-validated .input-text {
    border-color: #16a34a;
}

/* Order Review - Right Column */
.midy_checkout_sidebar {
    position: sticky;
    top: 20px;
}

.midy_order_review_wrapper {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #EAEAEA;
    padding: 24px;
}

.midy_order_review_title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EAEAEA;
}

.midy_order_review_title svg {
    color: #666;
}

/* Order Items */
.midy_order_items {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #EAEAEA;
}

.midy_order_item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.order_item_image {
    position: relative;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f5f5f5;
}

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

.order_item_qty {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 22px;
    height: 22px;
    background: #000;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.order_item_details {
    flex: 1;
    min-width: 0;
}

.order_item_name {
    font-size: 1.4rem;
    font-weight: 600;
    color: #000;
    margin: 0;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order_item_details .variation {
    margin-top: 4px;
}

.order_item_details .variation dt,
.order_item_details .variation dd {
    display: inline;
    font-size: 1.2rem;
    color: #666;
}

.order_item_total {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
    white-space: nowrap;
}

/* Order Totals */
.midy_order_totals {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.midy_totals_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.midy_totals_row .totals_label {
    font-size: 1.5rem;
    font-weight: 500;
    color: #666;
}

.midy_totals_row .totals_value {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
}

.midy_coupon_row .totals_value {
    color: #16a34a;
}

.midy_order_total {
    padding-top: 16px;
    margin-top: 8px;
    border-top: 2px solid #000;
}

.midy_order_total .totals_label {
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
}

.midy_order_total .totals_value {
    font-size: 2.2rem;
    font-weight: 800;
    color: #000;
}

/* Payment Section */
.midy_payment_section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #EAEAEA;
}

.midy_payment_title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 16px;
}

.midy_payment_title svg {
    color: #666;
}

.midy_methods_list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.midy_methods_list li {
    padding: 16px;
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
}

.midy_methods_list li:last-child {
    margin-bottom: 0;
}

.midy_methods_list li.midy_no_payment {
    text-align: center;
    padding: 24px;
}

.midy_methods_list .no_payment_icon {
    color: #999;
    margin-bottom: 12px;
}

.midy_methods_list .no_payment_icon svg {
    width: 32px;
    height: 32px;
}

.midy_methods_list li.midy_no_payment p {
    font-size: 1.4rem;
    color: #666;
    margin: 0;
}

.midy_methods_list li.midy_no_payment small {
    font-size: 1.3rem;
    color: #999;
}

.midy_methods_list li label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
    margin: 0;
}

.midy_methods_list li input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: #000;
}

.midy_methods_list li.payment_method_selected,
.midy_methods_list li:has(input:checked) {
    border-color: #000;
    background: #fff;
}

.midy_methods_list .payment_box {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #EAEAEA;
}

.midy_methods_list .payment_box p {
    font-size: 1.4rem;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Place Order Button */
.midy_place_order {
    margin-top: 20px;
}

.midy_place_order_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px 24px;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 12px;
    font-size: 1.8rem;
    font-weight: 700;
    font-family: "DM Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.midy_place_order_btn:hover {
    background: #fff;
    color: #000;
}

.midy_place_order_btn svg {
    transition: transform 0.2s ease;
}

.midy_place_order_btn:hover svg {
    transform: translateX(4px);
}

/* Terms & Conditions */
.woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 16px;
}

.woocommerce-privacy-policy-text {
    font-size: 1.3rem;
    color: #666;
    line-height: 1.6;
}

.woocommerce-privacy-policy-text a {
    color: #000;
    text-decoration: underline;
}

.woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 1.4rem;
    color: #333;
    cursor: pointer;
}

.woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #000;
    margin-top: 2px;
}

/* Coupon Toggle & Form */
.midy_coupon_toggle {
    margin-bottom: 24px;
}

.midy_coupon_notice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
}

.midy_coupon_notice svg {
    color: #666;
    flex-shrink: 0;
}

.midy_coupon_notice span {
    font-size: 1.5rem;
    color: #333;
}

.midy_coupon_notice .midy_showcoupon {
    color: #000;
    font-weight: 600;
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.midy_coupon_notice .midy_showcoupon:hover {
    opacity: 0.7;
}

.midy_coupon_form {
    margin-bottom: 24px;
    padding: 20px;
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
}

.midy_coupon_form_inner {
    display: flex;
    gap: 12px;
}

.midy_coupon_input {
    flex: 1;
    padding: 14px 16px;
    font-size: 1.5rem;
    font-family: "DM Sans", sans-serif;
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    transition: border-color 0.2s ease;
}

.midy_coupon_input:focus {
    outline: none;
    border-color: #000;
}

.midy_coupon_submit {
    padding: 14px 24px;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    border-radius: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    font-family: "DM Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.midy_coupon_submit:hover {
    background: #fff;
    color: #000;
}

/* WooCommerce Info/Error Messages */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
    padding: 16px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 1.5rem;
}

.woocommerce-checkout .woocommerce-info {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    color: #0369a1;
}

.woocommerce-checkout .woocommerce-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
}

.woocommerce-checkout .woocommerce-message {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
}

/* Hide default WooCommerce checkout elements */
.woocommerce-checkout .col2-set {
    display: contents;
}

.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
    width: 100%;
    float: none;
}

/* Shipping Methods in Checkout */
.woocommerce-shipping-totals th,
.woocommerce-shipping-totals td {
    padding: 0;
}

#shipping_method {
    list-style: none;
    padding: 0;
    margin: 0;
}

#shipping_method li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

#shipping_method li:last-child {
    margin-bottom: 0;
}

#shipping_method label {
    font-size: 1.4rem;
    cursor: pointer;
}

#shipping_method input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #000;
}

/* ===================================
   CHECKOUT RESPONSIVE STYLES
   =================================== */

@media (max-width: 1200px) {
    .midy_checkout_content {
        grid-template-columns: 1fr 380px;
        gap: 24px;
    }
}

@media (max-width: 991px) {
    .midy_checkout_content {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    
    .midy_checkout_sidebar {
        position: static;
    }
    
    .midy_checkout_fields {
        padding: 24px;
    }
}

@media (max-width: 768px) {
    .midy_checkout_wrapper {
        margin-top: 20px;
        margin-bottom: 60px;
    }
    
    .midy_checkout_fields .woocommerce-billing-fields__field-wrapper,
    .midy_checkout_fields .woocommerce-shipping-fields__field-wrapper,
    .midy_checkout_fields .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    
    .midy_checkout_fields .form-row-first,
    .midy_checkout_fields .form-row-last {
        grid-column: 1;
    }
    
    .midy_checkout_fields {
        padding: 20px;
    }
    
    .midy_order_review_wrapper {
        padding: 20px;
    }
    
    .midy_coupon_form_inner {
        flex-direction: column;
    }
    
    .midy_coupon_submit {
        width: 100%;
    }
}

@media (max-width: 576px) {
    .midy_coupon_notice {
        flex-wrap: wrap;
    }
    
    .order_item_image {
        width: 56px;
        height: 56px;
    }
    
    .order_item_name {
        font-size: 1.3rem;
    }
    
    .midy_place_order_btn {
        padding: 16px 20px;
        font-size: 1.6rem;
    }
}

/* ===================================
   MY ACCOUNT PAGE STYLES
   =================================== */

.midy_account_wrapper {
    margin-top: 40px;
    margin-bottom: 100px;
}

/* Account Header */
.midy_account_header {
    margin-bottom: 40px;
}

.midy_account_greeting {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #000 0%, #333 100%);
    border-radius: 16px;
}

.midy_greeting_avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.2);
    object-fit: cover;
}

.midy_greeting_text h2 {
    font-size: 2.4rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.midy_greeting_text p {
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.7);
}

/* Account Content Layout */
.midy_account_content {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* Sidebar Navigation */
.midy_account_nav {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #EAEAEA;
    padding: 8px;
    position: sticky;
    top: 20px;
}

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

.midy_nav_item {
    list-style: none;
}

.midy_nav_link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    color: #333;
    font-size: 1.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.midy_nav_link:hover {
    background: #f5f5f5;
    color: #000;
}

.midy_nav_item.is-active .midy_nav_link {
    background: #000;
    color: #fff;
}

.midy_nav_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.midy_nav_icon svg {
    width: 20px;
    height: 20px;
}

/* Logout link style */
.midy_nav_item:last-child .midy_nav_link {
    color: #dc2626;
}

.midy_nav_item:last-child .midy_nav_link:hover {
    background: #fef2f2;
    color: #dc2626;
}

/* Main Content Area */
.midy_account_main {
    min-width: 0;
}

/* Dashboard Styles */
.midy_dashboard {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.midy_dashboard_stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.midy_stat_card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
}

.midy_stat_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #f5f5f5;
    border-radius: 12px;
}

.midy_stat_icon svg {
    stroke: #000;
}

.midy_stat_content {
    display: flex;
    flex-direction: column;
}

.midy_stat_number {
    font-size: 2.8rem;
    font-weight: 700;
    color: #000;
    line-height: 1;
}

.midy_stat_label {
    font-size: 1.4rem;
    color: #666;
    margin-top: 4px;
}

/* Quick Actions */
.midy_dashboard_actions {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 24px;
}

.midy_section_title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
}

.midy_action_cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.midy_action_card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: #f8f8f8;
    border-radius: 12px;
    transition: all 0.2s ease;
}

.midy_action_card:hover {
    background: #f0f0f0;
    transform: translateX(4px);
}

.midy_action_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #fff;
    border-radius: 10px;
    flex-shrink: 0;
}

.midy_action_icon svg {
    stroke: #000;
}

.midy_action_text {
    flex: 1;
    font-size: 1.5rem;
    font-weight: 500;
    color: #000;
}

.midy_action_arrow {
    opacity: 0.4;
    transition: opacity 0.2s ease;
}

.midy_action_card:hover .midy_action_arrow {
    opacity: 1;
}

/* Recent Orders Section */
.midy_dashboard_orders {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 24px;
}

.midy_section_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.midy_section_header .midy_section_title {
    margin-bottom: 0;
}

.midy_view_all {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #666;
    transition: color 0.2s ease;
}

.midy_view_all:hover {
    color: #000;
}

.midy_recent_orders {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.midy_order_card {
    padding: 20px;
    background: #f8f8f8;
    border-radius: 12px;
}

.midy_order_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.midy_order_info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.midy_order_number {
    font-size: 1.5rem;
    font-weight: 700;
    color: #000;
}

.midy_order_date {
    font-size: 1.3rem;
    color: #666;
}

.midy_order_status {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.midy_status_pending,
.midy_status_on-hold {
    background: #fef3c7;
    color: #92400e;
}

.midy_status_processing {
    background: #dbeafe;
    color: #1e40af;
}

.midy_status_completed {
    background: #d1fae5;
    color: #065f46;
}

.midy_status_cancelled,
.midy_status_failed,
.midy_status_refunded {
    background: #fee2e2;
    color: #991b1b;
}

.midy_order_items {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.midy_order_item_thumb {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #EAEAEA;
}

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

.midy_order_more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #e0e0e0;
    border-radius: 8px;
    font-size: 1.3rem;
    font-weight: 600;
    color: #666;
}

.midy_order_footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid #e0e0e0;
}

.midy_order_total {
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
}

.midy_view_order_btn {
    padding: 10px 20px;
    background: #000;
    color: #fff;
    border-radius: 8px;
    font-size: 1.3rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.midy_view_order_btn:hover {
    background: #333;
    color: #fff;
}

/* Orders Page Styles */
.midy_orders_page,
.midy_edit_account {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 32px;
}

.midy_page_header {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #EAEAEA;
}

.midy_page_title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 2rem;
    font-weight: 700;
    color: #000;
}

.midy_page_title svg {
    stroke: var(--primary);
}

/* Orders List */
.midy_orders_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.midy_order_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px;
    background: #f8f8f8;
    border-radius: 12px;
    transition: transform 0.2s ease;
}

.midy_order_item:hover {
    transform: translateY(-2px);
}

.midy_order_main {
    flex: 1;
    min-width: 0;
}

.midy_order_header_row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.midy_order_id {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.midy_order_id .midy_label {
    font-size: 1.3rem;
    color: #666;
}

.midy_order_id .midy_value {
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
}

.midy_order_details {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}

.midy_order_detail {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1.4rem;
    color: #666;
}

.midy_order_detail svg {
    stroke: #999;
}

.midy_order_products {
    display: flex;
    align-items: center;
    gap: 6px;
}

.midy_product_thumb {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e0e0e0;
}

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

.midy_placeholder_img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #f0f0f0;
}

.midy_placeholder_img svg {
    stroke: #ccc;
}

.midy_more_products {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #e0e0e0;
    border-radius: 8px;
    font-size: 1.2rem;
    font-weight: 600;
    color: #666;
}

.midy_order_actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.midy_order_action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    background: #000;
    color: #fff;
    border-radius: 8px;
    font-size: 1.3rem;
    font-weight: 600;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.midy_order_action:hover {
    background: #333;
    color: #fff;
}

.midy_order_action svg {
    stroke: currentColor;
}

.midy_action_pay {
    background: var(--primary);
}

.midy_action_pay:hover {
    background: #4a6f87;
}

.midy_action_cancel {
    background: #dc2626;
}

.midy_action_cancel:hover {
    background: #b91c1c;
}

/* Pagination */
.midy_orders_pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #EAEAEA;
}

.midy_page_link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #f5f5f5;
    border-radius: 8px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #333;
    transition: all 0.2s ease;
}

.midy_page_link:hover {
    background: #000;
    color: #fff;
}

.midy_page_info {
    font-size: 1.4rem;
    color: #666;
}

/* No Orders State */
.midy_no_orders {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px 20px;
}

.midy_empty_icon {
    margin-bottom: 24px;
}

.midy_empty_icon svg {
    stroke: #ccc;
}

.midy_no_orders h4 {
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 8px;
}

.midy_no_orders p {
    font-size: 1.5rem;
    color: #666;
    margin-bottom: 24px;
}

.midy_shop_btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: #000;
    color: #fff;
    border-radius: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.midy_shop_btn:hover {
    background: #333;
    color: #fff;
}

.midy_shop_btn svg {
    stroke: currentColor;
}

/* Edit Account Form Styles */
.midy_form_section {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid #EAEAEA;
}

.midy_form_section:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.midy_section_subtitle {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
}

.midy_section_subtitle svg {
    stroke: var(--primary);
}

.midy_section_note {
    font-size: 1.4rem;
    color: #666;
    margin-bottom: 20px;
}

.midy_form_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.midy_account_form .form-row {
    margin: 0;
}

.midy_account_form .form-row-wide {
    grid-column: 1 / -1;
}

.midy_account_form .form-row-first {
    grid-column: 1;
}

.midy_account_form .form-row-last {
    grid-column: 2;
}

.midy_account_form label {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.midy_account_form label .required {
    color: #dc2626;
}

.midy_account_form .input-text,
.midy_account_form input[type="text"],
.midy_account_form input[type="email"],
.midy_account_form input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    font-size: 1.5rem;
    font-family: "DM Sans", sans-serif;
    color: #000;
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.midy_account_form .input-text:focus,
.midy_account_form input[type="text"]:focus,
.midy_account_form input[type="email"]:focus,
.midy_account_form input[type="password"]:focus {
    outline: none;
    border-color: #000;
    background: #fff;
}

.midy_field_hint {
    display: block;
    margin-top: 6px;
    font-size: 1.3rem;
    color: #999;
}

.midy_form_actions {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #EAEAEA;
}

.midy_save_btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 1.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.midy_save_btn:hover {
    background: #333;
}

.midy_save_btn svg {
    stroke: currentColor;
}

/* ===================================
   MY ACCOUNT RESPONSIVE STYLES
   =================================== */

@media (max-width: 1200px) {
    .midy_account_content {
        grid-template-columns: 240px 1fr;
        gap: 24px;
    }
    
    .midy_dashboard_stats {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .midy_account_content {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    
    .midy_account_nav {
        position: static;
    }
    
    .midy_nav_list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
    }
    
    .midy_nav_link {
        padding: 12px 16px;
    }
    
    .midy_nav_text {
        display: none;
    }
    
    .midy_nav_icon {
        width: auto;
        height: auto;
    }
    
    .midy_action_cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .midy_account_wrapper {
        margin-top: 20px;
        margin-bottom: 60px;
    }
    
    .midy_account_greeting {
        padding: 20px;
    }
    
    .midy_greeting_avatar img {
        width: 60px;
        height: 60px;
    }
    
    .midy_greeting_text h2 {
        font-size: 2rem;
    }
    
    .midy_dashboard_stats {
        grid-template-columns: 1fr;
    }
    
    .midy_stat_card {
        padding: 20px;
    }
    
    .midy_orders_page,
    .midy_edit_account {
        padding: 20px;
    }
    
    .midy_order_item {
        flex-direction: column;
        align-items: stretch;
    }
    
    .midy_order_actions {
        flex-direction: row;
        flex-wrap: wrap;
    }
    
    .midy_order_action {
        flex: 1;
        min-width: 120px;
    }
    
    .midy_form_grid {
        grid-template-columns: 1fr;
    }
    
    .midy_account_form .form-row-first,
    .midy_account_form .form-row-last {
        grid-column: 1;
    }
}

@media (max-width: 576px) {
    .midy_account_greeting {
        flex-direction: column;
        text-align: center;
    }
    
    .midy_nav_link {
        padding: 10px 12px;
    }
    
    .midy_order_details {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .midy_orders_pagination {
        flex-direction: column;
        gap: 12px;
    }
    
    .midy_page_link {
        width: 100%;
        justify-content: center;
    }
}

/* ===================================
   LOGIN / REGISTER FORM STYLES
   =================================== */

.midy_login_wrapper {
    max-width: 480px;
    margin: 60px auto 100px;
}

.midy_auth_tabs {
    display: flex;
    background: #f5f5f5;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 24px;
}

.midy_tab_btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    background: transparent;
    border: none;
    border-radius: 8px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
}

.midy_tab_btn:hover {
    color: #333;
}

.midy_tab_btn.active {
    background: #000;
    color: #fff;
}

.midy_tab_btn svg {
    stroke: currentColor;
}

.midy_auth_panel {
    display: none;
}

.midy_auth_panel.active {
    display: block;
}

.midy_auth_card {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 40px;
}

.midy_auth_header {
    text-align: center;
    margin-bottom: 32px;
}

.midy_auth_header h2 {
    font-size: 2.4rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 8px;
}

.midy_auth_header p {
    font-size: 1.5rem;
    color: #666;
}

.midy_auth_form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.midy_form_group {
    display: flex;
    flex-direction: column;
}

.midy_form_group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.midy_form_group label svg {
    stroke: var(--primary);
}

.midy_form_group label .required {
    color: #dc2626;
}

.midy_form_group input {
    width: 100%;
    padding: 16px 18px;
    font-size: 1.5rem;
    font-family: "DM Sans", sans-serif;
    color: #000;
    background: #f8f8f8;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.midy_form_group input:focus {
    outline: none;
    border-color: #000;
    background: #fff;
}

.midy_form_group input::placeholder {
    color: #999;
}

.midy_form_options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: -8px;
}

.midy_remember_me {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.midy_remember_me input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #000;
    cursor: pointer;
}

.midy_remember_me span {
    font-size: 1.4rem;
    color: #333;
}

.midy_forgot_link {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--primary);
    transition: color 0.2s ease;
}

.midy_forgot_link:hover {
    color: #000;
}

.midy_submit_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px 24px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 1.6rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 8px;
}

.midy_submit_btn:hover {
    background: #333;
}

.midy_submit_btn svg {
    stroke: currentColor;
}

.midy_password_notice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 10px;
    font-size: 1.4rem;
    color: #0369a1;
}

.midy_password_notice svg {
    stroke: currentColor;
    flex-shrink: 0;
}

/* Login Form Responsive */
@media (max-width: 576px) {
    .midy_login_wrapper {
        margin: 30px 15px 60px;
    }
    
    .midy_auth_card {
        padding: 24px;
    }
    
    .midy_auth_header h2 {
        font-size: 2rem;
    }
    
    .midy_tab_btn {
        padding: 12px 16px;
        font-size: 1.4rem;
    }
    
    .midy_tab_btn svg {
        width: 18px;
        height: 18px;
    }
    
    .midy_form_options {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* ===================================
   VIEW ORDER PAGE STYLES
   =================================== */

.midy_view_order {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 32px;
}

.midy_order_summary {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #EAEAEA;
}

.midy_summary_header {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

.midy_back_link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #666;
    transition: color 0.2s ease;
}

.midy_back_link:hover {
    color: #000;
}

.midy_summary_header .midy_page_title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 2.4rem;
    font-weight: 700;
    color: #000;
}

.midy_order_meta {
    display: flex;
    align-items: center;
    gap: 20px;
}

.midy_meta_item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.4rem;
    color: #666;
}

.midy_meta_item svg {
    stroke: #999;
}

/* Order Details Grid */
.midy_order_details_grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 32px;
    align-items: start;
}

.midy_details_section {
    background: #f8f8f8;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}

.midy_details_section:last-child {
    margin-bottom: 0;
}

.midy_details_section .midy_section_title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e0e0e0;
}

.midy_details_section .midy_section_title svg {
    stroke: var(--primary);
}

/* Products List */
.midy_products_list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e0e0e0;
}

.midy_product_item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.midy_product_image {
    width: 70px;
    height: 70px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e0e0e0;
    flex-shrink: 0;
}

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

.midy_no_img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #f0f0f0;
}

.midy_no_img svg {
    stroke: #ccc;
}

.midy_product_info {
    flex: 1;
    min-width: 0;
}

.midy_product_name {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
    margin-bottom: 4px;
}

.midy_product_name a {
    color: inherit;
    transition: color 0.2s ease;
}

.midy_product_name a:hover {
    color: var(--primary);
}

.midy_product_qty {
    font-size: 1.3rem;
    color: #666;
}

.midy_product_total {
    font-size: 1.5rem;
    font-weight: 700;
    color: #000;
    white-space: nowrap;
}

/* Order Totals */
.midy_order_totals {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.midy_total_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.midy_total_label {
    font-size: 1.4rem;
    color: #666;
}

.midy_total_value {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
}

.midy_total_row.order_total {
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid #e0e0e0;
}

.midy_total_row.order_total .midy_total_label {
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
}

.midy_total_row.order_total .midy_total_value {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary);
}

/* Address Styles */
.midy_address {
    font-style: normal;
    font-size: 1.4rem;
    line-height: 1.7;
    color: #333;
}

.midy_phone,
.midy_email {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 1.4rem;
    color: #666;
}

.midy_phone svg,
.midy_email svg {
    stroke: #999;
}

.midy_payment_method {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
}

/* Order Notes */
.midy_order_notes {
    margin-top: 24px;
}

.midy_notes_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.midy_note_item {
    padding: 16px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 12px;
}

.midy_note_item:last-child {
    margin-bottom: 0;
}

.midy_note_date {
    font-size: 1.2rem;
    color: #999;
    margin-bottom: 8px;
}

.midy_note_content {
    font-size: 1.4rem;
    color: #333;
}

.midy_note_content p {
    margin: 0;
    font-size: 1.4rem;
}

/* View Order Responsive */
@media (max-width: 991px) {
    .midy_order_details_grid {
        grid-template-columns: 1fr;
    }
    
    .midy_order_sidebar {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .midy_order_sidebar .midy_details_section {
        margin-bottom: 0;
    }
}

@media (max-width: 768px) {
    .midy_view_order {
        padding: 20px;
    }
    
    .midy_order_sidebar {
        grid-template-columns: 1fr;
    }
    
    .midy_product_item {
        flex-wrap: wrap;
    }
    
    .midy_product_image {
        width: 60px;
        height: 60px;
    }
}

@media (max-width: 576px) {
    .midy_summary_header .midy_page_title {
        font-size: 2rem;
    }
    
    .midy_order_meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* ===================================
   MY ADDRESSES PAGE STYLES
   =================================== */

.midy_addresses_page {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 32px;
}

.midy_addresses_page .midy_page_header {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #EAEAEA;
}

.midy_addresses_page .midy_page_title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 2rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 8px;
}

.midy_addresses_page .midy_page_title svg {
    stroke: var(--primary);
}

.midy_page_description {
    font-size: 1.5rem;
    color: #666;
    margin: 0;
}

/* Addresses Grid */
.midy_addresses_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.midy_address_card,
.midy_address_single {
    background: #f8f8f8;
    border-radius: 16px;
    overflow: hidden;
}

.midy_address_single {
    max-width: 600px;
}

.midy_address_header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 24px;
    background: #000;
    color: #fff;
}

.midy_address_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
}

.midy_address_icon svg {
    stroke: #fff;
}

.midy_address_title {
    flex: 1;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.midy_edit_link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
    transition: all 0.2s ease;
}

.midy_edit_link:hover {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.midy_edit_link svg {
    stroke: currentColor;
}

.midy_address_content {
    padding: 24px;
}

.midy_address_text {
    font-style: normal;
    font-size: 1.5rem;
    line-height: 1.8;
    color: #333;
}

.midy_address_text br {
    display: block;
    margin-bottom: 2px;
}

/* No Address State */
.midy_no_address {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px;
}

.midy_no_address_icon {
    margin-bottom: 16px;
}

.midy_no_address_icon svg {
    stroke: #ccc;
}

.midy_no_address p {
    font-size: 1.4rem;
    color: #666;
    margin-bottom: 16px;
}

.midy_add_address_btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #000;
    color: #fff;
    border-radius: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.midy_add_address_btn:hover {
    background: #333;
    color: #fff;
}

.midy_add_address_btn svg {
    stroke: currentColor;
}

/* Edit Address Form */
.midy_edit_address {
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 16px;
    padding: 32px;
}

.midy_edit_address .midy_page_header {
    margin-bottom: 32px;
}

.midy_edit_address .midy_back_link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #666;
    margin-bottom: 16px;
    transition: color 0.2s ease;
}

.midy_edit_address .midy_back_link:hover {
    color: #000;
}

.midy_edit_address .midy_page_title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 2rem;
    font-weight: 700;
    color: #000;
}

.midy_edit_address .midy_page_title svg {
    stroke: var(--primary);
}

/* Address Form Styles */
.midy_address_form .midy_form_section {
    background: #f8f8f8;
    border-radius: 16px;
    padding: 28px;
}

.midy_address_form .midy_form_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.midy_address_form .form-row {
    margin: 0 !important;
}

.midy_address_form .form-row-wide {
    grid-column: 1 / -1;
}

.midy_address_form .form-row-first {
    grid-column: 1;
}

.midy_address_form .form-row-last {
    grid-column: 2;
}

.midy_address_form label {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.midy_address_form label .required {
    color: #dc2626;
}

.midy_address_form label .optional {
    color: #999;
    font-weight: 400;
    font-size: 1.3rem;
}

.midy_address_form .woocommerce-input-wrapper {
    width: 100%;
}

.midy_address_form .input-text,
.midy_address_form input[type="text"],
.midy_address_form input[type="email"],
.midy_address_form input[type="tel"],
.midy_address_form select,
.midy_address_form textarea {
    width: 100%;
    padding: 14px 16px;
    font-size: 1.5rem;
    font-family: "DM Sans", sans-serif;
    color: #000;
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.midy_address_form .input-text:focus,
.midy_address_form input[type="text"]:focus,
.midy_address_form input[type="email"]:focus,
.midy_address_form input[type="tel"]:focus,
.midy_address_form select:focus,
.midy_address_form textarea:focus {
    outline: none;
    border-color: #000;
    background: #fff;
}

/* Select2 in Address Form */
.midy_address_form .select2-container--default .select2-selection--single {
    height: 50px;
    padding: 14px 16px;
    font-size: 1.5rem;
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 10px;
}

.midy_address_form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.4;
    padding: 0;
    color: #000;
}

.midy_address_form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px;
    right: 12px;
}

.midy_address_form .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #000;
}

/* Addresses Responsive */
@media (max-width: 991px) {
    .midy_addresses_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .midy_addresses_page,
    .midy_edit_address {
        padding: 20px;
    }
    
    .midy_address_header {
        flex-wrap: wrap;
        gap: 16px;
    }
    
    .midy_edit_link {
        width: 100%;
        justify-content: center;
    }
    
    .midy_address_form .midy_form_grid {
        grid-template-columns: 1fr;
    }
    
    .midy_address_form .form-row-first,
    .midy_address_form .form-row-last {
        grid-column: 1;
    }
}

@media (max-width: 576px) {
    .midy_address_icon {
        width: 40px;
        height: 40px;
    }
    
    .midy_address_title {
        font-size: 1.4rem;
    }
    
    .midy_address_form .midy_form_section {
        padding: 20px;
    }
}

/* FAQ Page Styles */
.faqs_section {
    padding: 80px 0;
}

/* FAQ Sidebar */
.faq_sidebar {
    position: sticky;
    top: 120px;
    padding-right: 40px;
}

.faq_categories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.faq_categories li {
    margin-bottom: 8px;
}

.faq_category_link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    font-size: 1.4rem;
    font-weight: 500;
    color: #666;
    text-decoration: none;
    transition: color 0.3s ease;
    letter-spacing: 0.5px;
}

.faq_category_link:hover,
.faq_category_link.active {
    color: #000;
}

.faq_category_link svg {
    flex-shrink: 0;
    opacity: 0.7;
}

.faq_category_link:hover svg,
.faq_category_link.active svg {
    opacity: 1;
}

/* FAQ Content */
.faq_content {
    border-left: 1px solid #eaeaea;
    padding-left: 60px;
}

.faq_group {
    margin-bottom: 60px;
}

.faq_group:last-child {
    margin-bottom: 0;
}

.faq_group_title {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 1px;
    color: #999;
    margin-bottom: 20px;
    padding-bottom: 0;
}

/* FAQ Accordion */
.faq_accordion {
    display: flex;
    flex-direction: column;
}

.faq_item {
    border-bottom: 1px solid #eaeaea;
}

.faq_item:first-child {
    border-top: 1px solid #eaeaea;
}

.faq_question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.faq_question span:first-child {
    font-size: 1.8rem;
    font-weight: 500;
    color: #000;
    padding-right: 20px;
}

.faq_icon {
    position: relative;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.faq_icon::before,
.faq_icon::after {
    content: '';
    position: absolute;
    background-color: #000;
    transition: transform 0.3s ease;
}

.faq_icon::before {
    width: 100%;
    height: 2px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.faq_icon::after {
    width: 2px;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

.faq_item.active .faq_icon::after {
    transform: translateX(-50%) rotate(90deg);
    opacity: 0;
}

.faq_answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq_item.active .faq_answer {
    max-height: 500px;
    padding-bottom: 25px;
}

.faq_answer p {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #666;
    margin: 0;
}

/* FAQ Responsive */
@media (max-width: 991px) {
    .faqs_section {
        padding: 60px 0;
    }
    
    .faq_sidebar {
        position: relative;
        top: 0;
        padding-right: 0;
        padding-bottom: 40px;
        margin-bottom: 40px;
        border-bottom: 1px solid #eaeaea;
    }
    
    .faq_categories {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 30px;
    }
    
    .faq_categories li {
        margin-bottom: 0;
    }
    
    .faq_content {
        border-left: none;
        padding-left: 0;
    }
}

@media (max-width: 576px) {
    .faqs_section {
        padding: 40px 0;
    }
    
    .faq_categories {
        flex-direction: column;
        gap: 5px;
    }
    
    .faq_question span:first-child {
        font-size: 1.6rem;
    }
    
    .faq_group {
        margin-bottom: 40px;
    }
    
    .faq_content {
        padding-left: 0;
    }
}