/* Base reset + header/menu styles to replace missing webslidemenu.css, styles_menu.css, reset.css, combined.css */

html, body { margin: 0; padding: 0; }
body { font-family: 'Cairo', 'Roboto Slab', sans-serif; color: #000; background-color: #fff; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: inherit; text-decoration: none; }

/* Horizontal top menu (#cssmenu) */
#cssmenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}
#cssmenu li { display: inline-block; margin: 0; padding: 0; }
#cssmenu > ul > li > a {
    display: inline-block;
    padding: 10px 18px;
    color: #fff;
    font-family: 'Cairo', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 200ms ease-in;
}
#cssmenu > ul > li > a:hover { color: #cd242b; text-decoration: none; }
#cssmenu li.liTestes a,
#cssmenu li.liTestes .txtNumeroReservas,
#cssmenu li.liTestes .boxTelNumero {
    color: #fff !important;
    font-weight: 700;
    text-decoration: none;
}
#cssmenu li.liTestes:hover { background-color: #0f6cb3; }

/* Mobile slide-in nav (.cd-main-header / .cd-nav / .cd-primary-nav) */
.cd-main-header { position: relative; width: 100%; z-index: 1000; }
.cd-nav-trigger {
    display: inline-block;
    width: 44px;
    height: 44px;
    background: url('../cliente/layout/topo.png') no-repeat center / 0 0;
    background-color: transparent;
    position: relative;
    text-indent: -9999px;
    cursor: pointer;
}
.cd-nav-trigger span,
.cd-nav-trigger span::before,
.cd-nav-trigger span::after {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 24px;
    height: 3px;
    background-color: #fff;
    transform: translate(-50%, -50%);
    transition: all 200ms ease-in-out;
}
.cd-nav-trigger span::before { content: ''; top: -8px; left: 0; transform: none; }
.cd-nav-trigger span::after  { content: ''; top: 8px;  left: 0; transform: none; }
.cd-nav-trigger.nav-is-visible span { background-color: transparent; }
.cd-nav-trigger.nav-is-visible span::before { top: 0; transform: rotate(45deg); }
.cd-nav-trigger.nav-is-visible span::after  { top: 0; transform: rotate(-45deg); }

.cd-nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 280px;
    max-width: 80%;
    background-color: #fff;
    box-shadow: -2px 0 14px rgba(0, 0, 0, 0.18);
    transform: translateX(100%);
    transition: transform 300ms ease-in-out;
    z-index: 1001;
    overflow-y: auto;
}
.cd-nav.nav-is-visible { transform: translateX(0); }
.cd-primary-nav { list-style: none; margin: 0; padding: 20px 0; }
.cd-primary-nav li { list-style: none; margin: 0; padding: 0; }
.cd-primary-nav .lnkMenuOverlap {
    display: block;
    padding: 14px 24px;
    color: #1482d7;
    font-family: 'Cairo', sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid #eee;
}
.cd-primary-nav .lnkMenuOverlap:hover { background-color: #f5f5f5; color: #cd242b; }
.cd-primary-nav .liTelefone { padding: 18px 24px; }
.cd-primary-nav .liTelefone .boxTelNumero { display: block; }

.cd-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms, visibility 300ms;
    z-index: 1000;
}
.cd-overlay.is-visible { opacity: 1; visibility: visible; }

/* Footer */
.lnkRodapeDesktop { display: inline-block; padding: 4px 8px; }

/* Scroll-to-top */
.scrollTo-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 42px;
    height: 42px;
    line-height: 42px;
    text-align: center;
    background-color: #1482d7;
    color: #fff;
    border-radius: 50%;
    text-decoration: none;
    z-index: 999;
}
.scrollTo-top:hover { background-color: #cd242b; color: #fff; }
