/*
Theme Name: Restoiva Restaurant And Online Food
Theme URI:
Author: TemplateHouse Team
Author URI: https://templatehouse.net/
Description: Restoiva is a modern and responsive WordPress theme for restaurants, cafés, bistros, coffee shops, bars, pubs, pizzerias, pastry shops, seafood restaurants, and other food-related businesses. Built with flexibility and ease of customization in mind, Restoiva works seamlessly with Elementor, allowing you to create and customize your website pages using a simple drag-and-drop interface without requiring coding skills. The theme provides dedicated layouts for showcasing restaurant menus, food items, services, dining experiences, and reservation information. It is also suitable for businesses offering online food ordering and table booking services. Restoiva can be used for a wide range of restaurant websites, including fine dining restaurants, casual restaurants, cafés, coffee shops, pizza restaurants, seafood restaurants, bakeries, pastry shops, pubs, and food delivery businesses. With a clean design, responsive layouts, WooCommerce compatibility, and easy customization options, Restoiva provides a solid foundation for creating a professional restaurant and online food website.
Requires at least: 6.1
Tested up to: 7.1
Requires PHP: 5.6
Version: 1.0.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: restoiva-restaurant-and-online-food
Tags: portfolio, e-commerce, photography, one-column, two-columns, three-columns, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, right-sidebar, custom-background, wide-blocks

Restoiva WordPress Theme, Copyright 2026 TemplateHouse Team
 Restoiva is distributed under the terms of the GNU GPL
*/

a{
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
html,
body {
    overflow-x: hidden;
    max-width: 100%;
}
a:focus,
button:focus{
	outline: 2px solid blue !important;
}
.wp-block-navigation ul li a:focus,
.wp-block-navigation .wp-block-navigation__submenu-icon:focus{
	outline: none;
	border: 1px solid #cf2e2e;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{
    background-color: var(--wp--preset--color--secondary);
}

.wp-block-navigation__submenu-container .wp-block-navigation-link a{
    color: var(--wp--preset--color--white) !important;
}

.wp-block-image img{
    vertical-align: middle;
}

img {
    border-radius: 4px;
}

.rt-topbar img,
.rt-topbar-social img,
.rt-footer-social img,
.rt-footer-contact img,
.wp-block-social-links img {
    border-radius: 0;
}

.wp-block-cover,
.wp-block-post-featured-image {
    overflow: hidden;
    border-radius: 4px;
}

.pos-relative{
    position: relative;
}

body .services-item {
    position: relative;
    margin-bottom: 20px;
}

body .ser-inner {
    position: relative;
    text-align: center;
    border-radius: 6px;
    padding: 50px 35px 50px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.08);
}

body .ser-inner:before {
    position: absolute;
    content: '';
    left: 14px;
    top: 14px;
    right: 14px;
    bottom: 14px;
    opacity: 0;
    border-radius: 6px;
    border: 1px solid var(--wp--preset--color--primary);
    -webkit-transform: scale(0.8, 1);
    -ms-transform: scale(0.8, 1);
    transform: scale(0.8, 1);
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
}

body .ser-icon {
    position: relative;
    display: inline-block;
    margin-bottom: 30px;
    -webkit-transition: all 500ms ease;
    transition: all 500ms ease;
    padding: 15px;
    width: 90px;
    height: 90px;
}

body .ser-icon:before {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    top: 0px;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: inline-block;
    background-color: var(--wp--preset--color--primary);
    z-index: -1;
}

body .ser-title {
    position: relative;
}

body .ser-title h4 {
    font-weight: 600;
    margin-bottom: 10px;
}

.services-item:hover .ser-inner:before {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

.services-item:hover .ser-icon {
    -webkit-transform: scale(-1) rotate(180deg);
    -ms-transform: scale(-1) rotate(180deg);
    transform: scale(-1) rotate(180deg);
}

.teammember-list {
    position: relative;
    margin-bottom: 30px;
    padding: 10px;
    border-bottom: 3px solid var(--wp--preset--color--primary);
    text-align: center;
    background-color: #ffffff;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    box-shadow: 0 3px 24px rgb(0 0 0/20%);
    border-radius: 10px;
}

.team-info h4 {
    margin-bottom: 5px;
}

.team-info span {
    font-weight: 600;
    color: var(--wp--preset--color--primary);
    font-size: 16px;
}

.teammember-list:hover {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
}

.teammember-list:hover .member-social-icon {
    opacity: 1;
    right: 15px;
}

.footer-menu{
    padding: 0;
}

.footer-menu li{
    margin-bottom: 14px;
    width: 100%;
    display: block;
}

.footer-menu li a{
    display: block;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.footer-menu li a:before {
    content: '>>';
    position: absolute;
    font-weight: 300;
    font-size: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
}

.footer-post-excerpt p{ 
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

form {
    position: relative;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
    width: 100%;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid #ebebeb;
    outline: 0;
    resize: none;
    line-height: 20px;
    background: none;
    color: #000000;
    font-weight: 400;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none; /* hide the default arrow in ie10 and ie11 */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
    border-color: var(--wp--preset--color--primary);
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    cursor: pointer;
    border: none;
    outline: none;
    padding: 12px 20px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: var(--wp--preset--color--primary);
    color: #ffffff;
}
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    text-align: center;
    letter-spacing: 2px;
}

.wpcf7-form label {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    margin: 0 0 8px;
    color: #000000;
    font-weight: 700;
}

.form-group {
    margin-bottom: 30px;
}

.form-group p{
    margin: 0;
}

.form-group.half {
    width: 48%;
    margin-right: 4%;
    float: left;
}

.form-group.half.last {
    margin-right: 0;
}

.form-group.third {
    width: 32%;
    margin-right: 2%;
    float: left;
}

.form-group.third.last {
    margin-right: 0;
}
/*header*/
.header-search input[type="search"]{
    border: none;
}
.header-search :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){
    padding: 0;
}
/*banner*/
.bannerimage img{
    width: 100%;
}
.banner-product-category ul{
    list-style-type: none;
    margin-block-start: 0;
    padding-inline-start: 0;
    
}
.banner-product-category ul li a{
    text-decoration: none;
}

/*product-sec*/
.product-section,.custom-footer-class,.recent-news-group{
    margin-block-start: 0;
}
.recent-news-group h5 a, 
.product-section h3 a{
    text-decoration: none;
}
.product-section.wc-block-grid__product-rating .star-rating span:before, .wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before {
    color: #FCB900;
}
.product-section .wp-block-button.wp-block-button__width-100 .wp-block-button__link {
    border-radius: 5px;
    padding: 12px 0px;
}
/*woocommerce*/
.woocommerce span.onsale,.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{
    color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    background: var(--wp--preset--color--secondary);
}
nav.woocommerce-MyAccount-navigation ul li {
    background: var(--wp--preset--color--secondary);
    border: 1px solid;
    border-color: var(--wp--preset--color--primary);
    padding: 12px!important;
    margin-bottom: 10px;
}

/*sub menu css*/
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: block !important;
    margin-left: 15px;
    padding: 3px 10px;
    float: right;
    font-size: 19px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    height: 42px;
    width: 42px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--white);
    display: block;
    width: 30px;
    height: 13px;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 0;
    display: none;
    box-shadow: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
    padding-left: 35px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul.wp-block-navigation__submenu-container {
    display: block;
    margin: 0;
    padding: 0;
}
.upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    width: 20%;
}

:where(.wp-block-group.has-background){
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--primary) !important;
}

/*navigation css*/
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{
    display: none;
}
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg{
    width: 42px;
    height: 42px;
}
.wp-block-navigation__responsive-container-close{
    top: 20px;
    right: 20px;

}
.wp-block-navigation__responsive-container-open:not(.always-shown){
    display: block;
}
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none; 
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    background-color: var(--wp--preset--color--secondary);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding: 1.5em;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
    width: 100%;
    gap: 0 !important;
    border-bottom: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
    width: 100%;
    gap: 0 !important;
    border: none !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
    width: calc( 100% - 48px );
    padding: 12px 24px 12px;
    line-height: 30px;
    text-align: left;
}
/*sub menu css*/
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: block !important;
    margin-left: 15px;
    padding: 3px 10px;
    float: right;
    font-size: 19px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    height: 42px;
    width: 42px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--white);
    display: block;
    width: 30px;
    height: 13px;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 0;
    display: none;
    box-shadow: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
    padding-left: 35px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul.wp-block-navigation__submenu-container {
    display: block;
    margin: 0;
    padding: 0;
}
.upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    width: 20%;
}

:where(.wp-block-group.has-background){
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--primary) !important;
}


/*woocommerce*/
.woocommerce span.onsale,.wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{
    color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    background: var(--wp--preset--color--secondary);
}
nav.woocommerce-MyAccount-navigation ul li {
    background: var(--wp--preset--color--secondary);
    border: 1px solid;
    border-color: var(--wp--preset--color--primary);
    padding: 12px!important;
    margin-bottom: 10px;
}

.team-inner {
    position: relative;
}

.team-thumbnail {
    position: relative;
}

.team-thumbnail img {
    border-radius: 4px;
    width: 100%;
    height: auto;
    display: block;
}

.member-social-icon {
    position: absolute;
    margin-bottom: 10px;
    text-align: center;
    top: 15px;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.member-social-icon ul {
    margin: 0;
    padding: 0;
}

.member-social-icon ul li {
    position: relative;
    list-style: none;
}

.team-info {
    padding: 10px 0;
}

/*navigation css*/
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{
    display: none;
}
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg{
    width: 42px;
    height: 42px;
}
.wp-block-navigation__responsive-container-close{
    top: 20px;
    right: 20px;

}
.wp-block-navigation__responsive-container-open:not(.always-shown){
    display: block;
}
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none; 
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    background-color: var(--wp--preset--color--secondary);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding: 1.5em;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
    width: 100%;
    gap: 0 !important;
    border-bottom: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
    width: 100%;
    gap: 0 !important;
    border: none !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
    width: calc( 100% - 48px );
    padding: 12px 24px 12px;
    line-height: 30px;
    text-align: left;
}
/*sub menu css*/
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: block !important;
    margin-left: 15px;
    padding: 3px 10px;
    float: right;
    font-size: 19px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    height: 42px;
    width: 42px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--white);
    display: block;
    width: 30px;
    height: 13px;
    margin: 0 !important;
    padding: 0 !important;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
    width: 100%;
    gap: 0;
    margin: 0;
    padding: 0;
    display: none;
    box-shadow: none;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
    padding-left: 35px;
}
.wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul.wp-block-navigation__submenu-container {
    display: block;
    margin: 0;
    padding: 0;
}
.upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    width: 20%;
}

:where(.wp-block-group.has-background){
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--primary) !important;
}
.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--primary) !important;
}



/*media*/
@media screen and (max-width:1220px){
    .upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
        width: 30%;
    }
    .banner-text{
        flex-basis: 55% !important;
    }
}
@media screen and (max-width:999px) {
    .upper-header{
        text-align: center;
    }
    .upper-header .wp-block-group{
        justify-content: center;
    }
    .header-search-box{
        flex-basis: 40% !important;
    }
    .header-icons{
        flex-basis: 30% !important;
    }
    .upper-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
        width: 100% !important;
    }
}
@media screen and (max-width: 781px){
    .upper-header .header-nav{
        display: flex;
        justify-content: center;

    }
    .banner-category-column,.banner-category-column h5{
        text-align: center !important;
    }
    .products-block-post-template{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media screen and (max-width:600px){
    .banner-image-cover img {
    object-position: 15% 21% !important;
    }
    .productsec-heading,.banner-text, .banner-text h3{
       text-align: center; 
    }
    .banner-image-cover .number-heading{
        font-size: 200px !important;
        text-align: center;
    }
    .banner-text .wp-block-buttons{
        justify-content: center;
    }
    .copyright-text {
        display: grid !important;
    }
    .copyright-text p {
        text-align: center;
    }
}

 @media screen and (min-width: 360px) {


.services-item:hover .ser-inner:before {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

.services-item:hover .ser-icon {
    -webkit-transform: scale(-1) rotate(180deg);
    -ms-transform: scale(-1) rotate(180deg);
    transform: scale(-1) rotate(180deg);
}

.teammember-list {
    position: relative;
    margin-bottom: 30px;
    padding: 10px;
    border-bottom: 3px solid var(--wp--preset--color--primary);
    text-align: center;
    background-color: #ffffff;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    box-shadow: 0 3px 24px rgb(0 0 0/20%);
    border-radius: 10px;
}

.team-info h4 {
    margin-bottom: 5px;
}

.team-info span {
    font-weight: 600;
    color: var(--wp--preset--color--primary);
    font-size: 16px;
}

.teammember-list:hover {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
}

.teammember-list:hover .member-social-icon {
    opacity: 1;
    right: 15px;
}

.footer-menu{
    padding: 0;
}

.footer-menu li{
    margin-bottom: 14px;
    width: 100%;
    display: block;
}

.footer-menu li a{
    display: block;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.footer-menu li a:before {
    content: '>>';
    position: absolute;
    font-weight: 300;
    font-size: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
}

.footer-post-excerpt p{ 
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

form {
    position: relative;
}

/* Restoiva restaurant layout */
.skip-link.screen-reader-text {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none !important;
	height: auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 8px 16px !important;
	background: #000 !important;
	color: #fff !important;
	z-index: 100000;
	top: 8px;
	left: 8px;
}

.wp-site-blocks > header,
header.wp-block-template-part {
	position: absolute;
	top: 0 !important;
	left: 0;
	right: 0;
	z-index: 40;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
}

.rt-site-header {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0));
	color: #fff;
}

.rt-header-inner {
	max-width: 1240px;
	width: 100%;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.rt-topbar {
	background: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 13px;
}

.rt-topbar .rt-header-inner {
	min-height: 0;
	padding-top: 10px;
	padding-bottom: 10px;
}

.rt-topbar-left {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.rt-topbar-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 18px;
	border-right: 1px solid rgba(255, 255, 255, 0.22);
	color: #fff;
	line-height: 1.2;
}

.rt-topbar-item:first-child {
	padding-left: 0;
}

.rt-topbar-item img {
	display: block;
	flex: 0 0 auto;
	filter: brightness(0) invert(1);
}

.rt-topbar a,
.rt-topbar-social a {
	color: #fff;
	text-decoration: none;
}

.rt-topbar-social {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-left: 18px;
	border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.rt-topbar-social img {
	display: block;
	opacity: 0.95;
	filter: brightness(0) invert(1);
}

.rt-main-header {
	padding: 18px 0;
}

.rt-logo {
	font-family: "Palatino Linotype", Palatino, "Segoe Script", "Brush Script MT", cursive;
	font-size: clamp(22px, 2.4vw, 36px);
	line-height: 1.15;
	color: #fff !important;
	text-decoration: none;
	font-style: italic;
	font-weight: 500;
	flex: 0 1 auto;
	max-width: 280px;
}

.wp-block-html:has(.rt-site-header),
.wp-block-html:has(.rt-footer),
.wp-block-html:has(.rt-menu-item),
.wp-block-html:has(.rt-menu-divider),
.wp-block-html:has(.rt-overlap),
.wp-block-html:has(.rt-category-grid),
.wp-block-html:has(.rt-reserve-form),
.wp-block-html:has(.rt-events-form) {
	margin: 0;
	max-width: none;
	width: 100%;
}

.rt-header-right {
	display: flex;
	align-items: center;
	gap: 28px;
	flex: 0 1 auto;
	min-width: 0;
}

.rt-nav ul {
	display: flex;
	align-items: center;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
}

.rt-nav a {
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1.6px;
	font-size: 13px;
	font-weight: 500;
	padding-bottom: 6px;
	border-bottom: 2px solid transparent;
}

.rt-nav li.is-active a,
.rt-nav a:hover {
	border-bottom-color: #dd5903;
	color: #fff;
}

.rt-nav .has-caret a::after {
	content: "";
	display: inline-block;
	margin-left: 6px;
	border: 4px solid transparent;
	border-top-color: #fff;
	transform: translateY(2px);
}

.rt-find-table {
	display: inline-block;
	border: 1px solid #fff;
	color: #fff !important;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1.6px;
	font-size: 12px;
	padding: 12px 20px;
	white-space: nowrap;
	flex: 0 0 auto;
}

.rt-find-table:hover {
	background: #dd5903;
	border-color: #dd5903;
	color: #fff !important;
}

body:not(.home):not(.front-page) .wp-site-blocks > header,
body:not(.home):not(.front-page) header.wp-block-template-part {
	position: relative;
	background: #000;
}

body:not(.home):not(.front-page) .rt-site-header {
	background: #000;
}

.rt-hero {
	min-height: 100vh;
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.rt-kicker {
    color: #dd5903;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 13px;
    font-weight: 600;
}

.rt-kicker-line::before,
.rt-kicker-line::after {
    content: "";
    display: inline-block;
    width: 36px;
    height: 1px;
    background: currentColor;
    vertical-align: middle;
    margin: 0 12px;
}

.rt-kicker-left::after {
    content: "";
    display: inline-block;
    width: 48px;
    height: 1px;
    background: #dd5903;
    vertical-align: middle;
    margin-left: 12px;
}

.rt-kicker-right::before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 1px;
    background: #dd5903;
    vertical-align: middle;
    margin-right: 12px;
}

.rt-script {
    font-family: "Palatino Linotype", Palatino, Georgia, serif;
    font-style: italic;
    color: #dd5903;
    font-weight: 400;
}

.rt-underline-link {
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 13px;
    color: #000;
    text-decoration: underline;
    text-underline-offset: 6px;
}

.rt-overlap {
    position: relative;
    width: 100%;
    height: 540px;
    overflow: visible;
}

.rt-overlap .wp-block-image {
    margin: 0 !important;
    max-width: none !important;
}

.rt-overlap .rt-img-back,
.rt-overlap .rt-img-front {
    margin: 0 !important;
    max-width: none !important;
    display: block;
}

.rt-overlap .rt-img-back {
    position: absolute;
    left: 0;
    top: 0;
    width: 44%;
    height: 380px;
    z-index: 1;
}

.rt-overlap .rt-img-front {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 62%;
    height: 460px;
    z-index: 2;
}

.rt-overlap .rt-img-back img,
.rt-overlap .rt-img-front img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rt-overlap img.rt-img-back,
.rt-overlap img.rt-img-front {
    object-fit: cover;
    border-radius: 4px;
}

.rt-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: start;
}

.rt-category-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rt-category-card:nth-child(2),
.rt-category-card:nth-child(4) {
    margin-top: 36px;
}

.rt-category-card img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}

.rt-category-line {
    display: block;
    width: 1px;
    height: 28px;
    background: #dd5903;
    margin: 0;
    flex: 0 0 28px;
}

.rt-category-card .rt-category-btn,
.rt-category-card .wp-block-button__link {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid #dd5903;
    border-radius: 0;
    padding: 10px 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    text-decoration: none;
    line-height: 1.2;
    white-space: nowrap;
    display: inline-block;
    margin: 0;
}

.rt-category-card .rt-category-btn:hover,
.rt-category-card .wp-block-button__link:hover {
    background: #dd5903 !important;
    color: #fff !important;
}

.wp-block-columns:has(.rt-menu-item) {
    align-items: stretch;
}

.wp-block-column:has(.rt-menu-divider) {
    display: flex;
    justify-content: center;
}

.rt-menu-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 22px;
    width: 100%;
}

.rt-menu-item img {
    width: 72px;
    height: 72px;
    max-width: 72px;
    object-fit: cover;
    flex: 0 0 72px;
    border-radius: 4px;
}

.rt-menu-body {
    flex: 1;
    min-width: 0;
}

.rt-menu-top {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.rt-menu-name {
    font-family: var(--wp--preset--font-family--merriweather);
    font-size: 18px;
    color: #000;
    white-space: nowrap;
}

.rt-menu-dots {
    flex: 1;
    border-bottom: 1px dotted #cfcfcf;
    transform: translateY(-4px);
}

.rt-menu-price {
    font-weight: 600;
    color: #000;
    white-space: nowrap;
}

.rt-menu-tag {
    display: inline-block;
    background: #dd5903;
    color: #fff;
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 2px 7px;
    line-height: 1.4;
}

.rt-menu-desc {
    margin: 6px 0 0;
    font-size: 14px;
    color: #000;
    opacity: 0.7;
}

.rt-menu-divider {
    width: 1px;
    background: #e5e5e5;
    margin: 0 auto;
    min-height: 480px;
    height: 100%;
    align-self: stretch;
}

.rt-reserve-form,
.rt-events-form {
    display: grid;
    gap: 22px;
}

.rt-reserve-form {
    grid-template-columns: repeat(4, 1fr);
    align-items: end;
}

.rt-events-form {
    grid-template-columns: repeat(3, 1fr);
}

.rt-field {
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.55);
    background: transparent;
    color: #fff;
    padding: 10px 0;
    width: 100%;
    border-radius: 0;
}

.rt-field option {
    color: #000;
}

.rt-field::placeholder {
    color: rgba(255, 255, 255, 0.75);
}

.rt-reserve-form .rt-btn,
.rt-events-form .rt-btn {
    background: #dd5903;
    color: #fff;
    border: 0;
    padding: 14px 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
}

.rt-events-note {
    grid-column: 1 / -1;
}

.rt-split-card {
    overflow: hidden;
    border-radius: 4px;
}

.rt-split-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 520px;
}

.rt-footer {
    background: #000;
    color: #fff;
    border-top: 2px solid #dd5903;
    padding: 72px 40px 0;
}

.rt-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.rt-footer-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
    gap: 48px 36px;
    align-items: start;
}

.rt-footer-brand .rt-logo {
    display: inline-block;
    font-size: clamp(24px, 2.6vw, 40px);
    max-width: 100%;
    margin-bottom: 14px;
}

.rt-footer-name {
    margin: 0 0 14px;
    font-family: "Merriweather", serif;
    font-size: 20px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
}

.rt-footer-tag {
    margin: 0 0 22px;
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.68);
}

.rt-footer-social {
    display: flex;
    gap: 10px;
}

.rt-footer-social a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    text-decoration: none;
}

.rt-footer-social a:hover {
    border-color: #dd5903;
    background: #dd5903;
}

.rt-footer-social img {
    display: block;
    filter: brightness(0) invert(1);
}

.rt-footer-title {
    margin: 6px 0 18px;
    font-family: "Merriweather", serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #fff;
}

.rt-footer-title::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    background: #dd5903;
    margin-top: 12px;
}

.rt-footer-hours,
.rt-footer-contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rt-footer-hours li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.16);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.78);
}

.rt-footer-hours li span:last-child {
    color: #fff;
    white-space: nowrap;
}

.rt-hours-note {
    color: #dd5903;
    font-size: 13px;
    margin: 14px 0 0;
}

.rt-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 14px;
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
}

.rt-footer-contact img {
    margin-top: 3px;
    flex: 0 0 auto;
    filter: brightness(0) invert(1);
    opacity: 0.85;
}

.rt-footer a {
    color: #fff;
    text-decoration: none;
}

.rt-footer a:hover {
    color: #dd5903;
}

.rt-newsletter-row {
    display: flex;
    border: 1px solid rgba(255, 255, 255, 0.28);
}

.rt-newsletter-row input[type="email"] {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    color: #fff;
    padding: 12px 14px;
    font-size: 13px;
    outline: none;
}

.rt-newsletter-row input::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.rt-newsletter-row button {
    background: #dd5903;
    color: #fff;
    border: 0;
    padding: 12px 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
}

.rt-newsletter-row button:hover {
    background: #c44e02;
}

.rt-newsletter-agree {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
}

.rt-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 56px;
    padding: 22px 0 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.rt-footer-bottom p {
    margin: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.55);
}

.rt-footer-links {
    display: flex;
    gap: 22px;
}

.rt-footer-links a {
    font-size: 12px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
}

.rt-footer-links a:hover {
    color: #dd5903;
}

.wp-block-button .wp-block-button__link {
    border-radius: 0;
}

@media (max-width: 981px) {
    .wp-site-blocks > header,
    header.wp-block-template-part,
    .rt-site-header {
        position: relative;
        background: #000;
    }

    .rt-topbar-left,
    .rt-nav ul,
    .rt-header-inner,
    .rt-main-header .rt-header-inner {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
        text-align: center;
    }

    .rt-topbar-item {
        border-right: 0;
        padding: 6px 10px;
    }

    .rt-hero {
        min-height: 70vh;
    }

    .rt-overlap {
        height: auto;
        min-height: 0;
    }

    .rt-overlap .rt-img-back,
    .rt-overlap .rt-img-front,
    .rt-overlap img.rt-img-back,
    .rt-overlap img.rt-img-front {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        height: 320px;
        margin: 0 0 16px !important;
    }

    .rt-category-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .rt-reserve-form,
    .rt-events-form {
        grid-template-columns: 1fr;
    }

    .rt-menu-divider {
        display: none;
    }

    .rt-footer {
        padding: 48px 24px 0;
    }

    .rt-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 24px;
    }

    .rt-footer-bottom {
        flex-direction: column;
        text-align: center;
        margin-top: 40px;
    }
}

@media (max-width: 640px) {
    .rt-footer-grid {
        grid-template-columns: 1fr;
    }

    .rt-footer-links {
        justify-content: center;
    }
}

/* Inner pages, blog, shop — match homepage restaurant style */
.rt-page-hero .wp-block-cover__inner-container,
.rt-page-hero .wp-block-post-title,
.rt-page-hero .wp-block-query-title,
.rt-page-hero h1,
.rt-page-hero h2 {
    color: #fff !important;
    font-family: "Merriweather", serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rt-blog-card {
    background: #fff;
}

.rt-blog-card .wp-block-post-featured-image img,
.rt-blog-card img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.rt-blog-card .wp-block-post-title a {
    color: #000;
    text-decoration: none;
    font-family: "Merriweather", serif;
}

.rt-blog-card .wp-block-post-title a:hover {
    color: #dd5903;
}

.rt-sidebar-box {
    background: #000;
    color: #fff;
    padding: 28px 24px;
}

.rt-sidebar-box h2,
.rt-sidebar-box h3,
.rt-sidebar-box h4 {
    color: #fff;
    font-family: "Merriweather", serif;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: 1px;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #dd5903;
}

.rt-sidebar-box a {
    color: #fff;
    text-decoration: none;
}

.rt-sidebar-box a:hover {
    color: #dd5903;
}

.rt-sidebar-box .wp-block-search__input,
.rt-sidebar-box input[type="search"] {
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    border-radius: 0;
}

.products-block-post-template .wp-block-post-title a {
    color: #000;
    text-decoration: none;
    font-family: "Merriweather", serif;
    text-transform: uppercase;
    font-size: 16px;
}

.has-black-background-color .products-block-post-template .wp-block-post-title a {
    color: #fff;
}

.products-block-post-template .wp-block-post-title a:hover {
    color: #dd5903;
}

.wc-block-components-product-button .wp-block-button__link,
.wp-block-button.is-style-cart-button .wp-block-button__link {
    background: #dd5903 !important;
    color: #fff !important;
    border-radius: 0 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
}

.rt-promo-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 4px;
}