.restaurant-menu-container {
    font-family: inherit;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    -webkit-outline: none !important;
    -moz-outline: none !important;
    outline-style: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
}

.restaurant-menu-container:focus,
.restaurant-menu-container:active,
.restaurant-menu-container:hover {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    -webkit-outline: none !important;
    -moz-outline: none !important;
    outline-style: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
}

.restaurant-menu-container *,
.restaurant-menu-container *:focus,
.restaurant-menu-container *:active,
.restaurant-menu-container *:hover {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    -webkit-outline: none !important;
    -moz-outline: none !important;
    outline-style: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
}

.restaurant-menu-container:before,
.restaurant-menu-container:after,
.restaurant-menu-container *:before,
.restaurant-menu-container *:after {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    -webkit-outline: none !important;
    -moz-outline: none !important;
    outline-style: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
}

/* Additional global reset for themes that force outlines */
*:focus,
*:active {
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    -webkit-outline: none !important;
    -moz-outline: none !important;
    outline-style: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
}

/* Ensure no borders on menu items */
.menu-item,
.menu-item-content,
.restaurant-menu-container {
    border: none !important;
    outline: none !important;
}

/* Force removal of any focus styles */
*:focus,
*:active,
*:hover {
    outline: 0 !important;
    outline-offset: 0 !important;
    outline-style: none !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    border: none !important;
}

/* Additional specificity for menu elements */
.restaurant-menu-container .menu-item,
.restaurant-menu-container .menu-item-content,
.restaurant-menu-container .menu-item-details {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.menu-navigation {
    margin-bottom: 30px;
}

.menu-navigation.tabs ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    border-bottom: none;
}

.menu-navigation.tabs li {
    margin-right: 10px;
}

.menu-navigation.tabs a {
    display: block;
    padding: 10px 20px;
    text-decoration: none;
    color: #333;
    border: none;
    background-color: #f5f5f5;
    transition: all 0.3s ease;
}

.menu-navigation.tabs a:hover,
.menu-navigation.tabs a.active {
    background-color: #fff;
    border: none;
}

.menu-navigation.filter ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-navigation.filter li {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
}

.menu-navigation.filter a {
    display: block;
    padding: 8px 15px;
    text-decoration: none;
    color: #333;
    background-color: #f5f5f5;
    border-radius: 3px;
    border: none;
    transition: all 0.3s ease;
}

.menu-navigation.filter a:hover,
.menu-navigation.filter a.active {
    background-color: #333;
    color: #fff;
    border: none;
}

.menu-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
}

.menu-item {
    border: none;
    border-radius: 5px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.menu-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border: none;
}

.menu-item-content {
    padding: 20px;
    border: none !important;
    outline: none !important;
}

.menu-item-image {
    margin: -20px -20px 15px -20px;
}

.menu-item-image img {
    width: 100%;
    height: auto;
    display: block;
}

.menu-item-title {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.3em;
    color: #333;
}

.menu-item-description {
    margin-bottom: 15px;
    color: #666;
}

.menu-item-price {
    font-weight: bold;
    font-size: 1.2em;
    color: #0073aa;
}

.menu-item-video {
    margin-top: 15px;
}

.menu-item-video a {
    display: inline-block;
    padding: 8px 15px;
    background-color: #0073aa;
    color: #fff;
    text-decoration: none;
    border-radius: 3px;
    transition: background-color 0.3s ease;
}

.menu-item-video a:hover {
    background-color: #005a87;
}

/* Divider styles */
.menu-item {
    position: relative;
}

.menu-item.line:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 1px;
    background-color: #eee;
}

.menu-item.dots:after {
    content: "···";
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: 10px;
    color: #ccc;
}

/* Animations */
.menu-item-title.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.menu-item-title.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.menu-item-title.slide-in {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.menu-item-title.slide-in.visible {
    opacity: 1;
    transform: translateX(0);
}

/* Responsive design */
@media (max-width: 768px) {
    .menu-items {
        grid-template-columns: 1fr;
    }
    
    .menu-navigation.tabs ul {
        flex-direction: column;
        border-bottom: none;
        border-right: none;
    }
    
    .menu-navigation.tabs li {
        margin-right: 0;
        margin-bottom: 5px;
    }
    
    .menu-navigation.tabs a {
        border: none;
        border-radius: 3px 0 0 3px;
    }
}