body {
    margin:0;
    font-family: 'Montserrat', Arial, sans-serif;
    color: #26382b;
    min-height:100vh;
    background: #e3e3e3;
}
.hero-flex {
    display: flex;
    align-items: center;
    gap: 48px;
    margin-top: 42px;
    justify-content: center;
}
.logo-img-vertical {
    max-width: 270px;
    height: auto;
    display: block;
}
.title-vertical-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 700px;
}
.main-title {
    font-size: 3.1em;
    font-weight: 900;
    color: #191919;
    margin: 0;
    margin-bottom: 0;
    text-align: center;
}
.section-centralizada {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin-top: 19px;
}
.headline-main {
    font-size: 2em;
    color: #35523a;
    font-weight: 800;
    text-align: center;
}
.headline-sub {
    font-size: 1.1em;
    color: #686868;
    text-align: center;
    margin-top: 5px;
}
.highlight-banner {
    width: 100%;
    text-align: center;
    padding: 24px 0 19px 0;
    font-size: 2.6em;
    font-weight: 850;
    letter-spacing: .03em;
    background: none;
    color: #35523a;
}
.highlight-link {
    color: #35523a;
    text-decoration: none;
    font-weight: 900;
    transition: color .18s;
    font-size: inherit;
}
.highlight-link:hover {
    color: #eacc4c;
    text-decoration: underline;
}
.categorias-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 19px 12px;
    justify-content: center;
    margin: 26px 0 36px 0;
}
.categoria-item {
    background: #35523a;
    border-radius:16px;
    box-shadow: 0 1px 7px rgba(44,44,54,.10);
    padding: 13px 5px 11px 5px;
    text-align: center;
    min-width: 210px;
    max-width: 245px;
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.cat-btn, .sub-btn, .prof-btn {
    font-size: 0.87em;
    padding: 10px 17px;
}
.cat-btn {
    background: #fafafa;
    color: #26382b;
    border: 2px solid #b5b487;
    font-weight:700;
    margin-bottom: 0;
    cursor:pointer;
    transition:.23s;
    border-radius:13px;
    box-shadow: 0 2px 8px #99ab91;
}
.cat-btn.selected, .cat-btn:focus {
    background: #eacc4c;
    color: #191919;
    box-shadow: 0 0 12px #eacc4ccb;
}
.sub-btn {
    margin: 12px 0 8px 0;
    background: #e3e3e3;
    color: #267c49;
    border: 2px solid #b5b487;
    font-weight: 700;
    border-radius: 11px;
    transition: .15s;
}
.sub-btn:hover {
    background: #eacc4c;
    color: #26382b;
}
.prof-btn {
    background: #f6eee0;
    color: #35523a;
    border: 2px solid #eacc4c;
    border-radius: 9px;
    margin: 8px auto;
    width: 84%;
    text-decoration:none;
    font-weight: 700;
    display: block;
    transition: .11s;
    padding: 10px 0;
    font-size: 0.88em;
}
.prof-btn:hover {
    background: #eacc4c;
    color: #35523a;
}
.sub-menu, .profs-menu {
    display:none;
    margin-top:12px;
}

/* ======================== */
/* NOVO RODAPÉ MODERNO      */
/* ======================== */
footer {
    background: #35523a;
    color: #f6eee0;
    width: 100%;
    font-size: 1em;
    box-sizing: border-box;
    margin-top: 44px;
    border-top: 0;
    padding: 0;
}
.footer-flex-new {
    display: flex;
    align-items: stretch;
    gap: 48px;
    margin: 0 auto;
    padding: 24px 0 28px 0;
    width: 84vw;
    min-width: 900px;
    max-width: 1250px;
    box-sizing: border-box;
}
.footer-photo-col {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    min-width: 0;
    height: 100%;
}
.footer-photo-large {
    width: 308px; 
    border-radius: 14px;
    box-shadow: 0 2px 22px rgba(34,54,34,.28);
    display: block;
    margin-right: 0;
    height: 100%;
    object-fit: cover;
    max-height: 340px;
    min-height: 160px;
    background: #26382b;
}
.footer-info-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    flex: 1 1 auto;
    min-width: 260px;
    height: 100%;
    padding: 8px 0 8px 0;
}
.footer-info-line {
    font-size: 1.14em;
    color: #f6eee0;
    line-height: 1.7em;
}
.footer-directions {
    color: #eacc4c;
    font-weight: bold;
    font-size: 1.07em;
    text-decoration: underline;
    margin: 7px 0 0 0;
    display: inline-block;
}
.footer-directions:hover { color: #fff; }
.footer-icon {
    vertical-align: middle;
    height: 26px;
    width: 26px;
    margin-right: 7px;
}
.whatsapp-link {
    color: #eacc4c;
    text-decoration: none;
    font-weight: 600;
    font-size: 1em;
}
.whatsapp-link:hover { color: #fff; }
.footer-copyright {
    font-size: 1.01em;
    opacity: .82;
    color: #eacc4ccc;
}
@media (max-width:1000px) {
    .footer-flex-new {
        flex-direction: column;
        gap: 16px;
        width: 98vw;
        min-width: unset;
        max-width: none;
        align-items: center;
        padding: 18px 0 20px 0;
    }
    .footer-photo-large { width:60vw; max-width:340px; min-height:120px; }
    .footer-info-col { height: auto; align-items:center; padding:0;}
    .footer-info-line, .footer-directions {text-align:center;}
}
