/*
Theme Name: Carlos Correia RH
Theme URI: https://carloscorreia.net
Author: Aaltag Inc.
Author URI: https://aaltag.com
Description: Your description goes here
Version: 1.0
Template: hello-elementor
*/
/* Table of contents
	01. Global
    02. Typography
    03. Custom
    04. Icon
    05. Button
    06. Width and height
    07. Background
    08. Video
    02. Header
    03. Footer
    11. Pages
    12. Popup
    13. Swiper carousel
    14. Grid
    15. Portfolio
    16. Blog
    17. WooCommerce
    18. Elements
    19. Others
*/
/* ============================= 
    01. Global
============================= */
html {
	scroll-behavior: auto !important;
}
body {
	overflow: auto;
} 
html, body {
	margin: 0;
	padding: 0;
	overflow-x: hidden !important;
	min-height: 100vh;
}
body.admin-bar.admin-secundario #header {
    margin-top: 50px !important;
}
@media screen and (max-width: 782px) {
    body.admin-bar.admin-secundario #header {
        margin-top: 46px !important;
    }
    body.admin-secundario.uip-admin-frame #header {
        margin-top: 50px !important;
    }
    body.admin-bar.admin-secundario #header.elementor-sticky--effects {
        margin-top: 0 !important;
        top: 46px !important;
    }
    body.admin-secundario.uip-admin-frame #header.elementor-sticky--effects {
        margin-top: 0 !important;
        top: 50px !important;
    }
}
body.admin-secundario #wpadminbar {
    z-index: 9990 !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
}
body.admin-secundario .uip-admin-toolbar,
body.admin-secundario .uip-drop-down,
body.admin-secundario .ab-sub-wrapper {
    z-index: 9999 !important;
    position: relative !important;
}
@media screen and (max-width: 782px) {
    body.admin-secundario #wpadminbar {
        height: 0 !important;
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
    }    
    body.admin-secundario .uip-admin-toolbar {
        height: 50px !important;
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
    }
    body.admin-bar.admin-secundario:not(.uip-admin-frame) {
        padding-top: 46px !important;
    }
    body.admin-secundario.uip-admin-frame {
        padding-top: 0 !important;
    }
    body.admin-secundario.uip-admin-frame #header {
        margin-top: 50px !important;
    }
    body.admin-bar.admin-secundario:not(.uip-admin-frame) #header {
        margin-top: 0 !important;
    }
    body.admin-bar.admin-secundario:not(.uip-admin-frame) #header.elementor-sticky--effects {
        margin-top: 0 !important;
        top: 46px !important;
    }
    body.admin-secundario.uip-admin-frame #header.elementor-sticky--effects {
        margin-top: 0 !important;
        top: 50px !important;
    }
}
@media screen and (max-width: 782px) {
	html #wpadminbar {
		position: fixed;
	}
    body.admin-bar:not(.admin-secundario) #header {
        margin-top: 0px !important;
    }
    body.admin-bar:not(.admin-secundario) #header.elementor-sticky--effects {
        margin-top: 0 !important;
        top: 46px !important;
    }
}
::selection {
	background: #242424;
	color: #fff;
}
::-moz-selection {
	background: #00223a;
	color: #fff;
}
/* width */
::-webkit-scrollbar {
	width: 6px !important;
}
/* Track */
::-webkit-scrollbar-track {
	background: #f1f1f1;
}
/* Handle */
::-webkit-scrollbar-thumb {
	background: #29535E;
	border-radius: 4px;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: #29535E;
}
a:visited {
	color: #ffffff;
}
a:hover {
	color: #ff214f;
}
/* Response - Contact Form 7 */
.wpcf7-not-valid-tip {
	font-size: 15px !important;
	font-family: "Inter", Sans-serif !important;
	font-weight: 400 !important;
}
.wpcf7 form.sent .wpcf7-response-output {
	display: flex !important;
	justify-content: center !important;
	font-size: 16px !important;
	font-family: "Inter", Sans-serif !important;
	font-weight: 400 !important;
	border-color: transparent !important;
}
.wpcf7 form.invalid .wpcf7-response-output {
	display: flex !important;
	justify-content: center !important;
	font-size: 16px !important;
	font-family: "Inter", Sans-serif !important;
	font-weight: 400 !important;
	border-color: transparent !important;
}
/* ============================= 
    02. Header
============================= */
#header {
    width: 100% !important;
	height: 85px;
	top: 0;
    left: 0 !important;
	right: 0 !important;
}
#header.elementor-sticky--effects {
	width: 100vw !important;
    max-width: 100% !important;
	background-color: #fff;
	box-shadow: 0px 1px rgba(0, 0, 0, .10);
	transition: all .5s ease;
}
#header.elementor-sticky--effects .nav-main-menu li a {
	color: #00223A !important;
}
#header .hd-toggle-main a i {
	align-items: center !important;
}
#header .button-main {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease;
}
#header.elementor-sticky--effects .button-main {
	opacity: 1;
	visibility: visible;
}
/* ============================= 
    03. Footer
============================= */
#form__newsletter form .elementor-form-fields-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
}
#form__newsletter form input {
	width: 340px;
	padding: 16px 112px 16px 20px !important
}
#form__newsletter form button {
	margin-left: -116px;
}
@media (max-width: 767px) {
	#form__newsletter form .elementor-form-fields-wrapper {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
	}
	#form__newsletter form input {
		padding: 16px 112px 16px 20px !important
	}
	#form__newsletter form button {
		padding-block: 12px !important;
		margin-left: -116px !important;
	}
}
/* ============================= 
    04. Home
============================= */
.results__icon-box .elementor-icon-box-content h3 {
	margin-top: 0;	
}
/* Testimonials */
.elementor-18 .elementor-element.elementor-element-f0ceaa8 .ha-testimonial-carousel__item {
  height: 300px !important;
}
/* Blog Section */
.blog-news__container .blog-news__thumbnail::before {
    position: absolute;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 38.21%, #242424E8);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
/* ============================= 
    05. About
============================= */
.differentials__icon-box .elementor-icon-box-content h3 {
	margin-top: 0;	
}
/* ============================= 
    06. Services
============================= */
/* benefits */
.benefits__icon-box .elementor-icon-box-content h3 {
	margin-top: 0;	
}
/* Step Section */
.step-container-b::before {
	display: block !important;
	width: 65% !important;
	height: 1px !important;
	position: absolute !important;
	content: "" !important;
	border-bottom: 1px solid rgb(125 125 125 / 0.25) !important;
	top: 48px !important;
	left: 70% !important;
}
.step-container-b-2::before {
	display: block !important;
	width: 65% !important;
	height: 1px !important;
	position: absolute !important;
	content: "" !important;
	border-bottom: 1px solid rgb(125 125 125 / 0.25) !important;
	top: 48px !important;
	left: 70% !important;
}
.step-number {
	width: 70px !important;
	height: 70px !important;
	z-index: 1;
	transition: all 0.3s ease-in-out;
}
.step-container:hover .step-number::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
}
@media (max-width: 1024px) {
	.step-container-b-2::before {
		display: none !important;
	}
}
@media (max-width: 768px) {
	.step-container-b::before {
		display: none !important;
	}
}
/* Forms */
.form__services {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    max-width: 900px;
    margin: 0 auto;
}
.form__services .linha {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}
.form__services .campo {
    flex: 1;
}
.form__services .campo p,
.form__services .linha:not(.botao-centro) p {
    width: 100%;
    margin: 0;
}
/* Inputs e textarea unificados para campos CF7 e manual */
.form__services input[type="text"],
.form__services input[type="email"],
.form__services input[type="tel"],
.form__services input[type="subject"],
.form__services textarea,
.form__services input.wpcf7-form-control,
.form__services textarea.wpcf7-form-control {
    width: 100%;
    padding: 14px 20px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #fafafa;
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    box-sizing: border-box;
    transition: border 0.3s;
}
/* Hover & Focus */
.form__services input[type="text"]:hover,
.form__services input[type="email"]:hover,
.form__services input[type="tel"]:hover,
.form__services textarea:hover,
.form__services input[type="text"]:focus,
.form__services input[type="email"]:focus,
.form__services input[type="tel"]:focus,
.form__services textarea:focus,
.form__services input.wpcf7-form-control:hover,
.form__services input.wpcf7-form-control:focus,
.form__services textarea.wpcf7-form-control:hover,
.form__services textarea.wpcf7-form-control:focus {
    border: 1px solid #173C46;
    outline: none;
}
/* Altura do textarea */
.form__services textarea,
.form__services textarea.wpcf7-form-control {
    height: 180px;
    resize: vertical;
}
/* Botão personalizado */
.form__services button,
.form__services input[type="submit"],
.form__services input.wpcf7-submit {
    background: #173C46;
    color: #fff;
    padding: 12px 70px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
	transform: none !important;
}
/* Hover do botão */
.form__services button:hover,
.form__services button:active,
.form__services button:focus,
.form__services input[type="submit"]:hover,
.form__services input[type="submit"]:active,
.form__services input[type="submit"]:focus,
.form__services input.wpcf7-submit:hover,
.form__services input.wpcf7-submit:active,
.form__services input.wpcf7-submit:focus {
	border: none !important;
    background: #173C46 !important;
	transform: none !important;
}
/* Centraliza botão */
.form__services .botao-centro {
    justify-content: center;
    display: flex;
}
/* Responsivo */
@media (max-width: 768px) {
    .form__services .linha {
        flex-direction: column;
    }
}
/* ============================= 
    07. Lecture
============================= */

/* ============================= 
    08. Contact
============================= */
.form-contact {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 30px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    flex-direction: row;
    flex-wrap: wrap;
}
.form-contact .coluna-esquerda {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.form-contact .coluna-esquerda p {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.form-contact .coluna-esquerda br {
    display: none;
}
.form-contact .coluna-direita {
    flex: 1;
}
.form-contact .coluna-direita p {
    margin: 0;
}
.form-contact input[type="text"],
.form-contact input[type="email"],
.form-contact input[type="tel"],
.form-contact textarea {
    width: 100%;
    padding: 15px 20px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    box-sizing: border-box;
}
.form-contact textarea {
    height: 200px;
    resize: vertical;
    border-radius: 8px;
}
.form-contact input[type="text"]:hover,
.form-contact input[type="email"]:hover,
.form-contact input[type="tel"]:hover,
.form-contact textarea:hover,
.form-contact input[type="text"]:focus,
.form-contact input[type="email"]:focus,
.form-contact input[type="tel"]:focus,
.form-contact textarea:focus,
.form-contact input[type="text"]:active,
.form-contact input[type="email"]:active,
.form-contact input[type="tel"]:active,
.form-contact textarea:active {
    border: 1px solid #173C46;
    outline: none;
}
.form-contact .botao-enviar {
    flex-basis: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
.form-contact .botao-enviar p {
    margin: 0;
    display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
}
.form-contact input[type="submit"] {
    background: #173C46;
    color: #fff;
    padding: 12px 70px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    transition: 0.3s;
}
.form-contact .botao-enviar input[type="submit"] {
    display: block !important;
    margin: 0 auto !important;
}
.form-contact input[type="submit"]:hover,
.form-contact input[type="submit"]:active, 
.form-contact input[type="submit"]:focus {
    background: #173C46 !important;
}
@media (max-width: 768px) {
    .form-contact {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .form-contact .coluna-esquerda {
        width: 100%;
    }
    
    .form-contact .coluna-direita {
        width: 100%;
    }
    
    .form-contact .botao-enviar {
        text-align: center;
    }
}
/* ============================= 
    09. Blog
============================= */

/* ============================= 
    09. Blog - Single Post
============================= */
.search__single-post .e-search-form {
	display: flex !important;
	align-items: center !important;
}
.search__single-post .e-search-form input {
	padding: 16px 75px 16px 22px !important;
}
.search__single-post .e-search-form button {
	margin-left: -54px !important;
	z-index: 2;	
}
.author-img .elementor-widget-container img {
    object-fit: cover;
}
/* ============================= 
    10. Courses
============================= */
/* Learning Objectives */
.learning-objectives-wrapper {
    display: flex;
    justify-content: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}
.learning-objectives-column {
    flex: 0 0 49%;
    max-width: 50%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.learning-objectives-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 16px;
    font-family: "Inter", Sans-serif;
    font-weight: 400;
    color: #2C2C31;
    line-height: 1.4;
}
.learning-objectives-item i {
    font-size: 18px;
    color: #173C46;
    flex: 0 0 auto;
    margin-top: 2px;
}
.learning-objectives-item .text {
    flex: 1;
}
/* Responsive */
@media (max-width: 768px) {
    .learning-objectives-column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .learning-objectives-wrapper {
        gap: 20px;
    }
}
/* Course modules */
.course-accordion {
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.course-accordion-item {
    border-bottom: 1px solid #ddd;
}
.course-accordion-item:last-child {
    border-bottom: none;
}
.course-accordion-header {
    background: #ECECEC;
    padding: 16px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
    position: relative;
}
.course-accordion-header:hover {
    background: #e0e0e0;
}
.course-accordion-title {
    font-size: 16px;
    font-family: "Outfit", Sans-serif;
    font-weight: 500;
    color: #2C2C31;
    margin: 0;
    flex: 1;
}
.course-accordion-icon {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
    color: #2C2C31;
}
.course-accordion-icon.active {
    transform: rotate(180deg);
}
.course-accordion-content {
    max-height: 0;
    overflow: hidden;
    background: #fff;
}
.course-accordion-content.active {
    max-height: 1000px;
    padding: 20px;
}
.course-accordion-description {
    font-size: 16px;
    font-family: "Inter", Sans-serif;
    font-weight: 400;
    color: #2C2C31;
    margin: 0;
    line-height: 1.6;
}
.course-hidden-item {
    display: none;
}
.course-unfold-btn-container {
    margin-top: 15px;
    text-align: center;
}
.course-unfold-btn {
    display: inline-block;
	width: 100%;
    padding: 6px;
    background: transparent;
    color: #173C46 !important;
	border: 1px solid #173C46;
	border-radius: 5px;
    cursor: pointer !important;
    font-family: "Outfit", Sans-serif;
    font-weight: 500 !important;
    font-size: 16px !important;
    text-decoration: none;
    transition: all 0.3s ease;
}
.course-unfold-btn:hover,
.course-unfold-btn:focus {
    color: #FFF !important;
	border: 1px solid #173C46;
	background: #173C46;
}
/* Responsive */
@media (max-width: 768px) {
    .course-unfold-btn-container {
        padding: 0 10px;
    }
}
/* Requirements List */
.requirements-list-wrapper {
    display: flex;
    justify-content: flex-start;
    gap: 14px;
    flex-wrap: wrap;
}
.requirements-list-column {
	flex: 0 0 49%;
    max-width: 50%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.requirements-list-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
}
.requirements-list-item .icon-svg {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-top: 2px;
}
.requirements-list-item .text {
    flex: 1;
    font-size: 16px;
    font-family: "Inter", Sans-serif;
    font-weight: 400;
    color: #2C2C31;
    word-break: break-word;
}
/* Responsive */
@media (max-width: 768px) {
    .requirements-list-column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .requirements-list-wrapper {
        gap: 20px;
    }
}
/* Responsive */
@media (max-width: 768px) {
    .requirements-list-column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .requirements-list-wrapper {
        gap: 20px;
    }
}
/* Full course description */
.at-unfold-wrap {
    position: relative;
    overflow: hidden;
}
.at-unfold-wrap.at-unfold-collapsed,
.at-unfold-list.at-unfold-collapsed {
    max-height: 150px;
    overflow: hidden !important;
}
.at-unfold-wrap.at-unfold-collapsed::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 65%;
	background-color: transparent;
    background-image: linear-gradient(180deg, #FFFFFF00 0%, #F9F9F9 100%);
    pointer-events: none;
	z-index: 10;
}
.at-unfold-wrap.at-unfold-expanded {
    max-height: none;
}
.at-unfold-wrap.at-unfold-expanded::after {
    display: none;
}
.at-unfold-btn-container {
    margin-top: 0px;
}
.at-unfold-btn {
    display: inline-block;
    padding: 0 !important;
    background: none !important;
    color: #173C46 !important;
    border: none !important;
    cursor: pointer !important;
	font-family: "Outfit", Sans-serif;
	font-weight: 500 !important;
    font-size: 16px !important;
	text-decoration: none;
	transition: all 0.3s ease;
}
.at-unfold-btn:hover,
.at-unfold-btn:focus {
	color: #173C46 !important;
	border: none !important;
	text-decoration: underline !important;
}
.at-unfold-wrap {
    transition: max-height 0.5s ease;
}
.at-unfold-wrap .at-unfold-list,
.at-unfold-list {
    position: relative;
    z-index: 1; /* Garantir que fique abaixo do gradiente */
}
.at-unfold-wrap.at-unfold-collapsed .at-unfold-list .elementor-icon-list-item,
.at-unfold-list.at-unfold-collapsed .elementor-icon-list-item {
    position: relative;
    z-index: 1;
}
.at-unfold-wrap .elementor-icon-list-items,
.at-unfold-list .elementor-icon-list-items {
    position: relative;
    z-index: 1;
}
.at-unfold-wrap.at-unfold-collapsed *,
.at-unfold-list.at-unfold-collapsed * {
    position: relative;
    z-index: 1;
}
/* Responsive */
@media (max-width: 768px) {
	.at-unfold-btn-container {
		padding: 0 10px;
	}
	.at-unfold-wrap.at-unfold-expanded {
    	padding-bottom: 0px !important;
	}
}
/* ============================= 
    11. Book page
============================= */
.comprar-livro-wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 300px;
    margin: 10px 0 5px 0;
}
#formato-livro-select {
    padding: 8px;
    font-size: 16px;
}
.botao-comprar {
    background-color: #fff;
    color: #2C2C31 !important;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
	font-size: 16px;
    font-weight: 500;
	border: 2px solid #fff;
    border-radius: 100px;
    transition: background-color 0.3s;
}
.botao-comprar:hover {
	color: #fff !important;
    background-color: transparent;
	border: 2px solid #fff;
}
.botao-comprar:disabled,
.botao-comprar.disabled {
    background-color: #ccc;
    cursor: not-allowed;
    pointer-events: none;
    color: #666;
}
@media (max-width: 768px) {
	.comprar-livro-wrapper {
		max-width: 100% !important;
	}
}
/* List book features */
.info-livro-wrapper {
    margin-top: 20px;
}
.info-livro-linha {
    margin-bottom: 8px;
}
.info-livro-titulo {
    font-size: 15px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    color: #2C2C31;
}
.info-livro-desc {
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: #2C2C31;
}
/* ============================= 
    12. Landing page
============================= */
.lp__icon-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 70px !important;
    height: 70px !important;
    padding: 8px !important;
    border-radius: 100% !important;
}
.lp__icon-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}
.lp__icon-content svg {
    width: 30px !important;
    height: 30px !important;
}
/* ============================= 
    13. Error 404
============================= */
.search__page-erro .e-search-form {
	display: flex !important;
	align-items: center !important;
}
.search__page-erro .e-search-form input {
	padding: 22px 75px 22px 40px !important;
}
.search__page-erro .e-search-form button {
	margin-left: -64px !important;
	z-index: 2;	
}