.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 0 0 auto !important;
    margin-right: 10px !important;
}

.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 300px !important;
    min-height: 44px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #cccccc !important;
    box-sizing: border-box !important;
}

.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    padding: 12px 16px !important;
    background: transparent !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    color: #333333 !important;
}

.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field::placeholder,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit {
    background: transparent !important;
    border: none !important;
    padding: 12px 16px !important;
    color: #000000 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 18px !important;
    transition: color 0.3s ease !important;
}

.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit:hover,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit:focus,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit:hover,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit:focus {
    color: #333333 !important;
    background: rgba(0,0,0,0.05) !important;
    border-radius: 4px !important;
}

@media (max-width: 768px) {
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search,
    .ast-builder-layout-element.ast-header-search {
        margin: 8px 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form {
        min-height: 48px !important;
        min-width: 280px !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        border: 1px solid #cccccc !important;
        position: relative !important;
        left: 30px !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field {
        padding: 14px 16px !important;
        font-size: 16px !important;
        min-height: 48px !important;
        color: #333333 !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit {
        min-width: 48px !important;
        min-height: 48px !important;
        padding: 14px 16px !important;
        font-size: 20px !important;
        color: #000000 !important;
    }
}

@media (max-width: 544px) {
    .ast-header-search,
    .ast-builder-layout-element.ast-header-search {
        width: 100% !important;
        flex: 1 !important;
        margin: 6px 0 !important;
        max-width: 100% !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form {
        width: 100% !important;
        min-width: 250px !important;
        min-height: 44px !important;
        border-radius: 6px !important;
        margin: 0 !important;
        background: #ffffff !important;
        border: 1px solid #cccccc !important;
        position: relative !important;
        left: 30px !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field {
        padding: 12px 14px !important;
        font-size: 16px !important;
        min-height: 44px !important;
        color: #333333 !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit {
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 12px 14px !important;
        font-size: 18px !important;
        color: #000000 !important;
    }
}

/* Small mobile breakpoint - 420px and below */
@media (max-width: 420px) {
    .ast-header-search,
    .ast-builder-layout-element.ast-header-search {
        margin: 4px 0 !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field {
        padding: 10px 12px !important;
        font-size: 16px !important;
        color: #333333 !important;
    }
    
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit {
        padding: 10px 12px !important;
        min-width: 40px !important;
        font-size: 16px !important;
        color: #000000 !important;
    }
}

/* Header break point specific styles */
@media (max-width: 992px) {
    .ast-header-break-point .ast-builder-layout-element.ast-header-search,
    .ast-header-break-point .ast-header-search {
        width: 100% !important;
        order: 10 !important; /* Push search to end in mobile layout */
        display: block !important;
    }
    
    .ast-header-break-point .ast-search-menu-icon.search-box.ast-inline-search,
    .ast-header-break-point .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search {
        width: 100% !important;
        margin: 8px 0 !important;
        display: block !important;
    }
    
    .ast-header-break-point .ast-search-menu-icon.search-box.ast-inline-search .search-form,
    .ast-header-break-point .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form {
        background: #ffffff !important;
        border: 1px solid #cccccc !important;
        position: relative !important;
        left: 30px !important;
    }
}

/* Focus states for accessibility */
.ast-search-menu-icon.search-box.ast-inline-search .search-field:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-submit:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/* RTL Support */
[dir="rtl"] .ast-search-menu-icon.search-box.ast-inline-search .search-field {
    text-align: right;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .ast-search-menu-icon.search-box.ast-inline-search .search-form {
        border: 2px solid #000;
    }
    
    .ast-search-menu-icon.search-box.ast-inline-search .search-submit {
        border: 1px solid #000;
    }
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .ast-search-menu-icon.search-box.ast-inline-search .search-submit {
        transition: none;
    }
}

/* Additional force styling for problematic themes */
.ast-search-menu-icon.search-box.ast-inline-search,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-form,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-form {
    background: #ffffff !important;
    border: 1px solid #cccccc !important;
    color: #333333 !important;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-field,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-field {
    background: #ffffff !important;
    color: #333333 !important;
}

/* Force black color for search icon and SVG with proper alignment */
.ast-search-menu-icon.search-box.ast-inline-search .search-submit,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit {
    color: #000000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-submit svg,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg {
    fill: #000000 !important;
    color: #000000 !important;
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    margin: 0 auto !important;
    vertical-align: middle !important;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-submit .astra-search-icon,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .astra-search-icon,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .astra-search-icon {
    color: #000000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-submit .astra-search-icon svg,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .astra-search-icon svg,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .astra-search-icon svg {
    fill: #000000 !important;
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    margin: 0 auto !important;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-submit .ast-icon,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .ast-icon,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .ast-icon {
    color: #000000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.ast-search-menu-icon.search-box.ast-inline-search .search-submit .ast-icon svg,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .ast-icon svg,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit .ast-icon svg {
    fill: #000000 !important;
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Font icons alignment fix */
.ast-search-menu-icon.search-box.ast-inline-search .search-submit i,
.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit i,
.ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit i {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
    width: 18px !important;
    height: 18px !important;
}

/* Mobile icon alignment fixes */
@media (max-width: 768px) {
    .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg,
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg {
        width: 20px !important;
        height: 20px !important;
    }
    
    .ast-search-menu-icon.search-box.ast-inline-search .search-submit i,
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit i,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit i {
        font-size: 20px !important;
        width: 20px !important;
        height: 20px !important;
    }
}

@media (max-width: 420px) {
    .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg,
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit svg {
        width: 16px !important;
        height: 16px !important;
    }
    
    .ast-search-menu-icon.search-box.ast-inline-search .search-submit i,
    .ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit i,
    .ast-builder-layout-element.ast-header-search .ast-search-menu-icon.search-box.ast-inline-search .search-submit i {
        font-size: 16px !important;
        width: 16px !important;
        height: 16px !important;
    }
}

/* ========================================
   FOOTER MOBILE RESPONSIVE STYLES
   ======================================== */

/* Mobile responsive - 768px and below */
@media (max-width: 768px) {
    .footer-adv .footer-adv-overlay {
        flex-direction: column;
        gap: 20px;
    }
    
    .footer-adv .ast-footer-widget {
        margin-bottom: 20px;
        text-align: center;
    }
    
    .footer-adv .ast-footer-widget h2,
    .footer-adv .ast-footer-widget h3,
    .footer-adv .ast-footer-widget .widget-title {
        font-size: 18px;
        margin-bottom: 15px;
        text-align: center;
    }
    
    .footer-adv .ast-footer-widget ul {
        text-align: center;
        list-style: none;
        padding: 0;
    }
    
    .ast-small-footer .nav-menu {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }
    
    .ast-small-footer .nav-menu a,
    .ast-footer .nav-menu a {
        padding: 10px 15px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Mobile responsive - 544px and below */
@media (max-width: 544px) {
    .footer-adv .ast-footer-widget h2,
    .footer-adv .ast-footer-widget h3,
    .footer-adv .ast-footer-widget .widget-title {
        font-size: 16px;
        margin-bottom: 12px;
    }
    
    .footer-adv .ast-footer-widget a {
        font-size: 14px;
    }
    
    .ast-small-footer .nav-menu a,
    .ast-footer .nav-menu a {
        padding: 8px 12px;
        font-size: 14px;
        min-height: 44px;
    }
    
    .ast-small-footer-wrap,
    .ast-footer-copyright {
        font-size: 13px;
        padding: 12px 0;
    }
}

/* Small mobile responsive - 420px and below */
@media (max-width: 420px) {
    .footer-adv .ast-footer-widget h2,
    .footer-adv .ast-footer-widget h3,
    .footer-adv .ast-footer-widget .widget-title {
        font-size: 15px;
        margin-bottom: 10px;
    }
    
    .footer-adv .ast-footer-widget a {
        font-size: 13px;
    }
    
    .ast-small-footer .nav-menu a,
    .ast-footer .nav-menu a {
        padding: 6px 10px;
        font-size: 13px;
        min-height: 40px;
    }
    
    .ast-small-footer-wrap,
    .ast-footer-copyright {
        font-size: 12px;
        padding: 10px 0;
    }
}

/* Footer social icons responsive */
@media (max-width: 544px) {
    .ast-footer-social-wrap,
    .footer-social-icons {
        gap: 12px;
        margin: 12px 0;
        justify-content: center;
    }
    
    .ast-footer-social-wrap a,
    .footer-social-icons a {
        min-width: 40px;
        min-height: 40px;
    }
}

/* ========================================
   WOOCOMMERCE MOBILE RESPONSIVE STYLES
   ======================================== */

/* WooCommerce Add to Cart Button Mobile Fix */
@media (max-width: 768px) {
    .woocommerce .single-product .product .summary .cart .button,
    .woocommerce .single-product .product .summary .cart .single_add_to_cart_button,
    .woocommerce-page .single-product .product .summary .cart .button,
    .woocommerce-page .single-product .product .summary .cart .single_add_to_cart_button {
        width: 100% !important;
        padding: 15px 20px !important;
        font-size: 16px !important;
        font-weight: bold !important;
        border-radius: 5px !important;
        margin: 10px 0 !important;
        min-height: 50px !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
        line-height: 1.4 !important;
    }
    
    /* Cart form wrapper */
    .woocommerce .single-product .product .summary .cart,
    .woocommerce-page .single-product .product .summary .cart {
        width: 100% !important;
        margin: 20px 0 !important;
    }
    
    /* Quantity input mobile fix */
    .woocommerce .single-product .product .summary .cart .quantity,
    .woocommerce-page .single-product .product .summary .cart .quantity {
        width: 100% !important;
        margin-bottom: 15px !important;
        display: block !important;
    }
    
    .woocommerce .single-product .product .summary .cart .quantity .qty,
    .woocommerce-page .single-product .product .summary .cart .quantity .qty {
        width: 100% !important;
        padding: 12px 15px !important;
        font-size: 16px !important;
        border-radius: 5px !important;
        border: 2px solid #ddd !important;
        min-height: 48px !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }
    
    /* Product variations mobile fix */
    .woocommerce .single-product .product .summary .variations,
    .woocommerce-page .single-product .product .summary .variations {
        margin-bottom: 20px !important;
        width: 100% !important;
    }
    
    .woocommerce .single-product .product .summary .variations .label,
    .woocommerce-page .single-product .product .summary .variations .label {
        display: block !important;
        margin-bottom: 8px !important;
        font-weight: bold !important;
        font-size: 14px !important;
    }
    
    .woocommerce .single-product .product .summary .variations select,
    .woocommerce-page .single-product .product .summary .variations select {
        width: 100% !important;
        padding: 12px 15px !important;
        font-size: 16px !important;
        border-radius: 5px !important;
        border: 2px solid #ddd !important;
        min-height: 48px !important;
        margin-bottom: 15px !important;
        box-sizing: border-box !important;
    }
}

/* Small mobile devices - 544px and below */
@media (max-width: 544px) {
    .woocommerce .single-product .product .summary .cart .button,
    .woocommerce .single-product .product .summary .cart .single_add_to_cart_button,
    .woocommerce-page .single-product .product .summary .cart .button,
    .woocommerce-page .single-product .product .summary .cart .single_add_to_cart_button {
        padding: 12px 16px !important;
        font-size: 15px !important;
        min-height: 48px !important;
    }
    
    .woocommerce .single-product .product .summary .cart .quantity .qty,
    .woocommerce-page .single-product .product .summary .cart .quantity .qty {
        padding: 10px 12px !important;
        font-size: 15px !important;
        min-height: 44px !important;
    }
    
    .woocommerce .single-product .product .summary .variations select,
    .woocommerce-page .single-product .product .summary .variations select {
        padding: 10px 12px !important;
        font-size: 15px !important;
        min-height: 44px !important;
    }
}

/* Shop page buttons mobile fix */
@media (max-width: 768px) {
    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button,
    .woocommerce ul.products li.product .add_to_cart_button,
    .woocommerce-page ul.products li.product .add_to_cart_button {
        width: 100% !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        font-weight: bold !important;
        border-radius: 5px !important;
        margin: 8px 0 !important;
        min-height: 44px !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    
    /* Product grid mobile layout */
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: 100% !important;
        float: none !important;
        margin: 0 0 30px 0 !important;
        text-align: center !important;
    }
    
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        font-size: 16px !important;
        margin: 10px 0 !important;
        line-height: 1.4 !important;
    }
    
    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        font-size: 16px !important;
        font-weight: bold !important;
        margin: 10px 0 !important;
    }
}

/* Cart page mobile responsive */
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce .button,
    .woocommerce-page.woocommerce-cart .woocommerce .button {
        width: 100% !important;
        padding: 12px 16px !important;
        font-size: 15px !important;
        margin: 8px 0 !important;
        min-height: 48px !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    
    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-page.woocommerce-cart .cart-collaterals .cart_totals {
        width: 100% !important;
        float: none !important;
        margin-top: 20px !important;
    }
}

/* Checkout page mobile responsive */
@media (max-width: 768px) {
    .woocommerce-checkout .woocommerce .button,
    .woocommerce-page.woocommerce-checkout .woocommerce .button,
    .woocommerce-checkout #place_order,
    .woocommerce-page.woocommerce-checkout #place_order {
        width: 100% !important;
        padding: 15px 20px !important;
        font-size: 16px !important;
        font-weight: bold !important;
        margin: 15px 0 !important;
        min-height: 52px !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
        border-radius: 5px !important;
    }
    
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2,
    .woocommerce-page.woocommerce-checkout .col2-set .col-1,
    .woocommerce-page.woocommerce-checkout .col2-set .col-2 {
        width: 100% !important;
        float: none !important;
        margin-bottom: 20px !important;
    }
}

/* WooCommerce form inputs mobile responsive */
@media (max-width: 768px) {
    .woocommerce form .form-row input[type="text"],
    .woocommerce form .form-row input[type="email"],
    .woocommerce form .form-row input[type="tel"],
    .woocommerce form .form-row input[type="password"],
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select,
    .woocommerce-page form .form-row input[type="text"],
    .woocommerce-page form .form-row input[type="email"],
    .woocommerce-page form .form-row input[type="tel"],
    .woocommerce-page form .form-row input[type="password"],
    .woocommerce-page form .form-row textarea,
    .woocommerce-page form .form-row select {
        width: 100% !important;
        padding: 12px 15px !important;
        font-size: 16px !important;
        border-radius: 5px !important;
        border: 2px solid #ddd !important;
        min-height: 48px !important;
        margin-bottom: 15px !important;
        box-sizing: border-box !important;
    }
    
    .woocommerce form .form-row label,
    .woocommerce-page form .form-row label {
        display: block !important;
        margin-bottom: 8px !important;
        font-weight: bold !important;
        font-size: 14px !important;
    }
}

/* ========================================
   ACCOUNT & CART ICONS MOBILE RESPONSIVE
   ======================================== */

/* Account and Cart icons alignment for all screen sizes */
.ast-header-account,
.ast-header-woo-cart,
.ast-builder-layout-element[data-section="header-account"],
.ast-builder-layout-element[data-section="header-woo-cart"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ast-header-account .ast-header-account-wrap,
.ast-header-woo-cart .ast-cart-menu-wrap,
.ast-builder-layout-element[data-section="header-account"] .ast-header-account-wrap,
.ast-builder-layout-element[data-section="header-woo-cart"] .ast-cart-menu-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ast-header-account .ast-header-account-wrap a,
.ast-header-woo-cart .ast-cart-menu-wrap a,
.ast-builder-layout-element[data-section="header-account"] .ast-header-account-wrap a,
.ast-builder-layout-element[data-section="header-woo-cart"] .ast-cart-menu-wrap a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
}

/* Icons inside account and cart */
.ast-header-account .ast-header-account-wrap svg,
.ast-header-woo-cart .ast-cart-menu-wrap svg,
.ast-builder-layout-element[data-section="header-account"] svg,
.ast-builder-layout-element[data-section="header-woo-cart"] svg {
    width: 28px !important;
    height: 28px !important;
    display: block !important;
    margin: 0 auto !important;
    vertical-align: middle !important;
}

.ast-header-account .ast-header-account-wrap i,
.ast-header-woo-cart .ast-cart-menu-wrap i,
.ast-builder-layout-element[data-section="header-account"] i,
.ast-builder-layout-element[data-section="header-woo-cart"] i {
    font-size: 28px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
}

/* Cart count badge alignment */
.ast-header-woo-cart .ast-cart-menu-wrap .cart-total-number,
.ast-builder-layout-element[data-section="header-woo-cart"] .cart-total-number {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    background: #007cba !important;
    color: white !important;
    border-radius: 50% !important;
    min-width: 18px !important;
    min-height: 18px !important;
    font-size: 11px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 2px !important;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .ast-header-account .ast-header-account-wrap a,
    .ast-header-woo-cart .ast-cart-menu-wrap a,
    .ast-builder-layout-element[data-section="header-account"] .ast-header-account-wrap a,
    .ast-builder-layout-element[data-section="header-woo-cart"] .ast-cart-menu-wrap a {
        min-width: 48px !important;
        min-height: 48px !important;
        padding: 12px !important;
    }
    
    /* Account and Cart icons specific mobile positioning */
    .ast-header-account,
    .ast-header-woo-cart,
    .ast-builder-layout-element[data-section="header-account"],
    .ast-builder-layout-element[data-section="header-woo-cart"] {
        position: relative !important;
        left: 28px !important;
    }
    
    .ast-header-account .ast-header-account-wrap svg,
    .ast-header-woo-cart .ast-cart-menu-wrap svg,
    .ast-builder-layout-element[data-section="header-account"] svg,
    .ast-builder-layout-element[data-section="header-woo-cart"] svg {
        width: 26px !important;
        height: 26px !important;
    }
    
    .ast-header-account .ast-header-account-wrap i,
    .ast-header-woo-cart .ast-cart-menu-wrap i,
    .ast-builder-layout-element[data-section="header-account"] i,
    .ast-builder-layout-element[data-section="header-woo-cart"] i {
        font-size: 26px !important;
        width: 26px !important;
        height: 26px !important;
    }
    
    .ast-header-woo-cart .ast-cart-menu-wrap .cart-total-number,
    .ast-builder-layout-element[data-section="header-woo-cart"] .cart-total-number {
        top: -3px !important;
        right: -3px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 544px) {
    .ast-header-account .ast-header-account-wrap a,
    .ast-header-woo-cart .ast-cart-menu-wrap a,
    .ast-builder-layout-element[data-section="header-account"] .ast-header-account-wrap a,
    .ast-builder-layout-element[data-section="header-woo-cart"] .ast-cart-menu-wrap a {
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 10px !important;
    }
    
    .ast-header-account .ast-header-account-wrap svg,
    .ast-header-woo-cart .ast-cart-menu-wrap svg,
    .ast-builder-layout-element[data-section="header-account"] svg,
    .ast-builder-layout-element[data-section="header-woo-cart"] svg {
        width: 22px !important;
        height: 22px !important;
    }
    
    .ast-header-account .ast-header-account-wrap i,
    .ast-header-woo-cart .ast-cart-menu-wrap i,
    .ast-builder-layout-element[data-section="header-account"] i,
    .ast-builder-layout-element[data-section="header-woo-cart"] i {
        font-size: 22px !important;
        width: 22px !important;
        height: 22px !important;
    }
}

@media (max-width: 420px) {
    .ast-header-account .ast-header-account-wrap a,
    .ast-header-woo-cart .ast-cart-menu-wrap a,
    .ast-builder-layout-element[data-section="header-account"] .ast-header-account-wrap a,
    .ast-builder-layout-element[data-section="header-woo-cart"] .ast-cart-menu-wrap a {
        min-width: 40px !important;
        min-height: 40px !important;
        padding: 8px !important;
    }
    
    .ast-header-account .ast-header-account-wrap svg,
    .ast-header-woo-cart .ast-cart-menu-wrap svg,
    .ast-builder-layout-element[data-section="header-account"] svg,
    .ast-builder-layout-element[data-section="header-woo-cart"] svg {
        width: 20px !important;
        height: 20px !important;
    }
    
    .ast-header-account .ast-header-account-wrap i,
    .ast-header-woo-cart .ast-cart-menu-wrap i,
    .ast-builder-layout-element[data-section="header-account"] i,
    .ast-builder-layout-element[data-section="header-woo-cart"] i {
        font-size: 20px !important;
        width: 20px !important;
        height: 20px !important;
    }
    
    .ast-header-woo-cart .ast-cart-menu-wrap .cart-total-number,
    .ast-builder-layout-element[data-section="header-woo-cart"] .cart-total-number {
        min-width: 16px !important;
        min-height: 16px !important;
        font-size: 10px !important;
        top: -2px !important;
        right: -2px !important;
    }
}

/* Header break point specific account/cart styles */
@media (max-width: 992px) {
    .ast-header-break-point .ast-header-account,
    .ast-header-break-point .ast-header-woo-cart,
    .ast-header-break-point .ast-builder-layout-element[data-section="header-account"],
    .ast-header-break-point .ast-builder-layout-element[data-section="header-woo-cart"] {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 4px !important;
    }
}

/* Focus states for accessibility */
.ast-header-account .ast-header-account-wrap a:focus,
.ast-header-woo-cart .ast-cart-menu-wrap a:focus,
.ast-builder-layout-element[data-section="header-account"] a:focus,
.ast-builder-layout-element[data-section="header-woo-cart"] a:focus {
    outline: 2px solid #0073aa !important;
    outline-offset: 2px !important;
}