/*
Theme Name: Hello Elementor Child
Theme URI: https://example.com
Description: Child Theme do Hello Elementor
Author: Seu Nome
Author URI: https://example.com
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/




html {font-weight:500; font-size:18px;}
body {color:#333; font-weight:500;}
h1, h2, h3, h4, h5, h6 {font-weight: 800; margin: 0; margin-bottom:28px; line-height:1.5;}
html, body, h1, h2, h3, h4, h5, h6, a, p, li {font-family: 'Montserrat', sans-serif;}
h1 {font-size: 28px;}
h2 {font-size: 26px;}
h3 {font-size:20px; }
h4 {font-size: 18px;}
h5 {font-size: 18px;}
h6 {font-size: 18px;}
p {margin:0; margin-bottom:28px; padding: 0; line-height:1.5;}
p:last-child {margin-bottom:0;}
a {text-decoration: none; color:#333;}
ul {list-style:none;}




.single-post #content {max-width:1200px; margin:0 auto;}



.custom-posts-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 60px; font-family: "Montserrat";}
.custom-post {background: #fff; border-radius:10px; overflow: hidden; text-align: left; transition: transform 0.2s ease; padding:28px; }
.custom-post:hover {transform: translateY(-4px);}
.custom-post img {width: 100%; height: 180px; object-fit: cover; display: block; border-radius:10px !Important;}
.custom-date {background: #1B4F42; color: #fff; font-size: 14px; padding: 7px 35px; margin:21px 0 14px 0; border-radius: 100px; display: inline-block;}
.custom-post h3 {font-size: 18px; font-weight: 800; color: #1B4F42; text-transform: uppercase; line-height: 1.3; margin-bottom:14px;}
.custom-post h3 a {text-decoration: none; color: inherit;}
.custom-post p a {color: #333; font-size: 16px; line-height: 1.4; text-decoration: none; display: block;}
.custom-post p a:hover {text-decoration: none;}


input {-webkit-appearance: none;}
input, label, select, button, textarea {margin:0; border:0; padding:0; display:inline-block; vertical-align:middle; white-space:normal; background:none; line-height:1;}
input:focus {outline:0;}
textarea:focus {outline:0;}
input, textarea {-webkit-box-sizing:content-box; -moz-box-sizing:content-box; box-sizing:content-box;}
button, input[type=reset], input[type=button], input[type=submit], input[type=checkbox], input[type=radio], select {-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}
input[type=date], input[type=datetime], input[type=datetime-local], input[type=email], input[type=month], input[type=number], input[type=password], input[type=range], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week]{}
input[type=checkbox], input[type=radio] {width:13px; height:13px;}
input[type=file]{}
input[type=search] {-webkit-appearance:textfield; -webkit-box-sizing:content-box;}
::-webkit-search-decoration{display:none;}
button, input[type="reset"], input[type="button"], input[type="submit"] {overflow:visible; width:auto;}
::-webkit-file-upload-button {padding:0; border:0; background:none;}
textarea {vertical-align:top;overflow:auto;}







.form input, .form textarea {padding:21px; border:0; border-radius:5px; margin-bottom:14px; color:#333; font-size:16px; font-weight:500; font-family: "Montserrat"; background:#FFF;}
.form textarea {height:150px;}



input::placeholder, textarea::placeholder {color: #333;opacity: 1;}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {color: #333;}
input::-moz-placeholder, textarea::-moz-placeholder {color: #333;}
input:-moz-placeholder, textarea:-moz-placeholder {color: #333;}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {color: #333;}



/*FOOTER*/
#site-footer {border-top:1px solid #DDD; background: #FFF; padding: 28px 28px 0px 28px; font-family: "Montserrat"; color: #333;}
.footer-container {display: flex; flex-wrap: wrap; gap: 40px; max-width: 1200px; margin: auto; font-weight: 500; justify-content:space-between; align-items:center;}
.footer-container h4 {font-size:22px; font-weight:800; color:#1B4F41; margin-bottom:28px;}


.footer-column {flex: 1 1 250px;}
.footer-logo {max-width: 180px; margin-bottom: 28px;}
.footer-menu ul {margin:0; padding:0;}
.footer-menu li {margin: 28px 0;}
.footer-menu a {text-decoration: none; color: #333;}
.footer-contact li {display: flex; align-items: center; margin-bottom: 28px;}
.footer-contact li a {display: flex; align-items: center; color: #333; text-decoration: none;}
.footer-contact .icon {display: flex; align-items: center; margin-right: 10px;}
.footer-contact .icon img {width: 36px; height: auto; display: block;}

.footer-bottom {border:0; background:#FFF; margin:0; padding: 28px; text-align:center; }
.footer-bottom p {font-size: 16px; font-family: "Montserrat"; color: #333; margin:0; display: flex; align-items: center;}
.footer-bottom p a {color:#333; display:flex;}
.footer-bottom p a:hover {text-decoration:none; color:#333;}
.footer-bottom .by {opacity:0.7; display: flex; align-items: center;}
.footer-bottom .by:hover {opacity:1;}
.footer-bottom .by:focus {opacity:0.7;}
.footer-bottom p span {display:block; margin:0 7px;}


.custom-header {background: #FFF; color: #333;  -webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.1); -moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.1); box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.1); }

.custom-container {display: flex; justify-content: space-between; align-items: center; padding: 14px 28px; position: relative; max-width:1200px; width:100%; margin:0 auto;}



.custom-nav ul {list-style: none; display: flex; margin: 0; padding: 0;}
.custom-nav ul li {margin-left: 56px;}
.custom-nav ul li:first-child {margin-left:0px;}
.custom-nav ul li:last-child {}
.custom-nav ul li:last-child a {color:#FFF; font-weight:bold; background:#1B4F41; padding:7px 28px; border-radius:100px;}
.custom-nav ul li:last-child a:hover {text-decoration:none; background:#2F7C66;}
.custom-nav ul li a {color: #333; text-decoration: none; font-weight: 500;}
.custom-nav ul li a:hover {text-decoration:underline;}  
.custom-nav ul li a:focus {text-decoration:none;} 
.custom-menu-toggle {display: none; max-width:28px; width:100%; cursor: pointer; user-select: none;}
.custom-menu-toggle svg {fill:#1B4F41;}


.page .custom-post-date, .page .page-header {display:none;}


.single-post #content {padding:56px 28px;}
.single-post #content h1 {font-size: 24px;}

.custom-featured-image {display:block; margin:28px 0;}
.custom-featured-image img {max-width:100%; width:100%;}

.custom-post-date {background:#7E1C26; color:#FFF; font-weight:bold; display:inline-block; padding:7px 28px; border-radius:100px; font-size:14px; margin-bottom: 21px;}

.logo-footer {margin-bottom:21px;}
.logo-header, .logo-header a, .logo-footer, .logo-footer a {display:block;}

.form-border input, .form-border textarea {border:1px solid #333 !Important}





/*NEW*/
.menu-popup{

    position:fixed;
    inset:0;

    display:flex;

    visibility:hidden;
    opacity:0;

    transition:.35s;

    z-index:9999;

}

.menu-popup.active{

    visibility:visible;
    opacity:1;

}

.menu-overlay{

    position:absolute;
    inset:0;

    background:rgba(0,0,0,.6);

}

.menu-container{

    position:relative;

    margin-left:auto;

    width:360px;
    max-width:90%;

    height:100%;

    background:#fff;

    transform:translateX(100%);
    transition:.35s;

    padding:28px;

    overflow:auto;

}


#menu-header {margin:0; margin-top:28px;padding:0;}
#menu-header li {margin:28px 0;}

.menu-popup.active .menu-container{

    transform:translateX(0);

}

.popup-menu{

    list-style:none;
    padding:0;
    margin:50px 0 0;

}

.popup-menu li{

    margin-bottom:18px;

}

.popup-menu a{

    text-decoration:none;
    color:#222;
    font-size:20px;
    font-weight:600;

}




.hamburger, .close-menu {display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:100px; padding:0; border:0; background:#344451; cursor:pointer;}
.hamburger:hover, .close-menu:hover {background:#263138}
.hamburger:focus, .close-menu:focus {background:#344451}
.hamburger svg, .close-menu svg {width:21px; height:21px; fill:#FFF; display:block;}




/* Menu com submenu */

.popup-hamburger-nav,
.popup-hamburger-nav ul{

    list-style:none;

    margin:0;

    padding:0;

}

.popup-hamburger-nav li{

    position:relative;

}

.popup-hamburger-nav > li{

    margin:28px 0;

}

.popup-hamburger-nav a{

    display:block;

    text-decoration:none;

    color:#333;

    font-size:18px;

    font-weight:600;

    padding-right:28px;

}

/* Submenu */

.popup-hamburger-nav .sub-menu{

    max-height:0;

    overflow:hidden;

    opacity:0;

    transition:max-height .35s ease, opacity .25s ease;

    padding-left:20px;

}

.popup-hamburger-nav .sub-menu li{

    margin:16px 0;

}

.popup-hamburger-nav .sub-menu a{

    font-size:17px;

    font-weight:500;

}

/* Quando aberto */

.popup-hamburger-nav .menu-item-has-children.open > .sub-menu{

    max-height:500px;

    opacity:1;

}

/* Botão da seta */

.menu-arrow{

    position:absolute;

    top:4px;

    right:0;

    width:32px;

    height:32px;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:.3s;

}

.menu-arrow svg{

    width:14px;

    height:14px;

    fill:#333;

    transition:.3s;

}

.menu-item-has-children.open > .menu-arrow svg{

    transform:rotate(180deg);

}






.header-buttons{display:flex; align-items:center; gap:28px;}
.header-btn{display:inline-flex; align-items:center; justify-content:center; gap:7px; height:42px; padding:0 28px; border-radius:999px; color:#fff; text-decoration:none; font-size:14px; font-weight:600; line-height:1; transition:.25s;}
.header-btn:hover {color:#FFF;}
.header-btn svg{fill:#FFF; width:21px; height:21px; flex-shrink:0;}
.header-btn-phone{background:#7E1C26;}
.header-btn-phone:hover{background:#59141E;}
.header-btn-whatsapp{background:#107C3B;}
.header-btn-whatsapp:hover{background:#0C5B28;}
.header-actions{display:flex; align-items:center; gap:28px; margin-left:auto;}



.footer-copyright {font-size:16px;}
.footer-copyright a:hover {color: #333; text-decoration: underline;}


.footer-container {padding-bottom:28px;}
.creditos {text-align:center; border-top:1px solid #DDD; padding:14px 0 14px 0;}
.creditos a:hover {opacity: 0.5;}
.creditos a:focus {opacity: 1;}
.creditos img {max-width:60px; filter: grayscale(100%);}



.text-scroll{max-height:530px; overflow-y:auto; overflow-x:hidden; padding-right:21px; display: block;}





.contact-form {max-width: 769px; width: 100%; margin:0 auto;}
.contact-form input, .contact-form textarea {border: 0; background: #FFF; margin:10px 0; padding: 14px;}
.contact-form-2 input, .contact-form-2 textarea {border: 1px solid #DDD;}

.contact-form .btn-submit {display: block; max-width: 100%; width: 100%; margin-top: 10px; padding: 21px; background: #7E1C26; border:0; color: #FFF; font-weight: bold;}
.contact-form .btn-submit:hover {opacity: 0.5;}
.contact-form .btn-submit:focus {opacity: 1;}


.c-white li {color:#FFF;}
.lista {margin:0; padding:0; padding-left:20px;}
.lista li {list-style:disc; list-style-position:outside; margin:28px 0;}


#content ul {margin:0; padding:0; padding-left:20px;}
#content ul li {list-style:disc; list-style-position:outside; margin:28px 0;}




.related-posts{margin-top:90px;}

.related-posts h3{margin-bottom:28px;font-size:20px;}

.related-posts-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:42px;}

.related-post a{display:block; text-decoration:none; color:inherit;}

.related-post img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:0px; transition:.3s;}

.related-post:hover img{transform:scale(1.03);}

.related-post h3{margin-top:14px; font-size:16px;}



.blog #content, .single-post #content {max-width: 1200px; width: 100%; margin:0 auto;}


.blog .page-content {padding:80px 28px; }
.blog .post{display:flex; flex-direction:column;}
.blog .post .entry-title{order:2;}
.blog .post > a{order:1;}
.blog .post > p{order:3;}
.blog .page-content{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:28px 56px;}
.blog .page-content > .post{display:flex; flex-direction:column;}
.blog .page-content .post img{ width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:0px; margin-bottom:18px;}
.blog .page-content .entry-title{ margin:0 0 15px; font-size:18px; line-height:1.35;}
.blog .page-content .entry-title a{color:inherit; text-decoration:none; transition:.25s;}
.blog .page-content .entry-title a:hover {color:#7e1c26 !Important}
.blog #content .page-content .entry-title a:hover{color:var(--e-global-color-primary);}
.blog #content .page-content p{margin:0; line-height:1.7;}
.blog #content .page-content .post p {display: none;}

.blog .pagination {margin:0 28px; margin-bottom:56px; }
.blog .pagination a {color:#FFF; display: block; border-radius:5px; margin:21px 0; padding:28px; text-align:center; background:#7e1c26;}
.blog .pagination a:hover {opacity: 0.5;}
.blog .pagination a:focus {opacity: 1;}





.contact-form-post {background:#344451; max-width:100%; width:100%; padding: 56px; border-radius: 7px; margin:80px 0; text-align: center; color: #FFF;}
.contact-form-post h3 {font-size: 26px;}
form input, form textarea, form select{width:100%; max-width:100%; box-sizing:border-box;}



.whatsapp-fixo{position:fixed; right:14px; bottom:14px; z-index:9999; display:flex; align-items:center; gap:7px; padding:18px 28px; background:#107C3B; color:#fff; text-decoration:none; font-size:15px; font-weight:600; line-height:1.3; border-radius:100px; box-shadow:0 10px 30px rgba(0,0,0,.18); transition:.25s ease;}
.whatsapp-fixo:hover{background:#0C5B28; color:#fff; transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,0,0,.22);}
.whatsapp-fixo svg{width:28px; height:28px; fill:#fff; flex-shrink:0;}


.whatsapp-bt{margin-top:28px; display:inline-flex; align-items:center; justify-content:center; gap:7px; max-width: 769px; width:100%; padding:21px; background:#107C3B; color:#fff; text-decoration:none; font-size:18px; font-weight:600; line-height:1.4; border-radius:7px; box-shadow:0 10px 30px rgba(0,0,0,.15); transition:all .3s ease;}

.whatsapp-bt:hover{background:#0C5B28; color:#fff; transform:translateY(-2px); box-shadow:0 15px 35px rgba(0,0,0,.2);}

.whatsapp-bt svg{width:28px; height:28px; fill:#fff; flex-shrink:0;}



/*RESPONSIVE*/
@media (max-width: 510px){
.header-buttons {display:none;}
}







@media (max-width: 769px){
.contact-form-post {padding: 28px;}
    
#site-footer .footer-container{display:flex;flex-direction:column; align-items:center; justify-content:center; gap:20px; text-align:center;}
.footer-copyright{text-align:center;}
.by{display:flex; justify-content:center; align-items:center;}
    
.header-btn-phone {display: none;}

  
.footer-bottom .footer-container {gap:28px;}
.footer-bottom p, .footer-bottom p span, .footer-bottom p a  {display:inline;}
.footer-bottom p, .footer-bottom a {text-align:center;  margin:0 auto;}

.related-posts-grid{grid-template-columns:1fr;}

.blog .page-content{grid-template-columns:1fr; gap:56px;}

.whatsapp-fixo{right:0px; left:0px; bottom:0; border-radius:0; justify-content:center; padding:28px;}
}


@media (max-width: 1024px) {
.custom-menu-toggle {display: block;}
.custom-nav {display: none; position: absolute; top: 100%; left: 0; width: 100%; border-top:1px solid #1B4F41; background: #F8F4EC; z-index: 9999;}
.custom-nav ul {flex-direction: column;}
.custom-nav ul li {margin:0; padding:0;}
.custom-nav ul li a {display:block; margun:0 auto; text-align:center; padding:14px; }
.custom-nav.active {display: block;}
.custom-nav ul li:last-child a {color:#333; font-weight:500; background:transparent; padding:14px; border-radius:0px;}
.custom-nav ul li:last-child a:hover {text-decoration:underline; background:transparent;}

.blog .page-content{grid-template-columns:repeat(2, minmax(0, 1fr));}
}









































