/*
Theme Name: pine
Theme URI: https://pine.pt/
Author: pine
Author URI: https://pine.pt/
Description: pine
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pine
*/

/* Tipografia - Fjalla One para headers, Inter para texto */
:root {
    --tj-color-theme-primary: #2A4747;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #FFFFFF !important;
}
.inter-font {
    font-family: 'Inter', sans-serif !important;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Fjalla One', sans-serif !important;
}
p, .p {
    font-family: 'Inter', sans-serif !important;
}

.tj-slider-section {
    margin: 0 0px 0 0px !important;
    border-radius: 0px !important;
}


.tj-slider-item::after {
    z-index: -1;
}

.slider-desc {
    color: #fff !important;
    font-size: 36px !important;
    line-height: 40px !important;
    width: 461px !important;
}

.tj-primary-btn {
    background-color: #D2A06C !important;

}

.tj-primary-btn .btn-icon{
    display: inline-flex;
    width: 42px;
    height: 42px;
    border-radius: 9999px; /* ou 50% */
    align-items: center;
    justify-content: center;
        background-color: #2A4747;
        -webkit-mask-image: -webkit-radial-gradient(white, black); /* fix Safari paint glitch */
        transform: translateZ(0); /* força GPU / repaint estável */
  }

/* Offer Section - Bootstrap Layout */
.offer-section-box {
    background-color: #2A4747;
    border-radius: 20px;
    overflow: hidden;
}

.offer-section-img {
    height: 100%;
    min-height: 300px;
}

.offer-section-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.offer-section-content {
    padding: 2.5rem 2.5rem;
    color: #fff;
}

.offer-section-title {
    font-size: 46px !important;
    margin-bottom: 1rem;
}

.offer-section-title a {
    color: #fff;
    text-decoration: none;
}

.offer-section-title a:hover {
    color: #fff;
    opacity: 0.9;
}

.offer-section-desc {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500;
    font-size: 16px !important;
    color: #fff;
    margin-bottom: 1.5rem;
}

.offer-section-desc small {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 14px !important;
    color: #fff !important;
}

.offer-section-content .tj-primary-btn {
    text-transform: uppercase;
}

.offer-section-content .tj-primary-btn .btn-text,
.offer-section-content .tj-primary-btn .btn-text span {
    text-transform: uppercase;
}

.p-50 {
    padding: 50px !important;
}

.sec-heading.style-2 .sec-title span {
    color: #D2A06C !important;
}

.sec-heading .sec-title span {
    color: #D2A06C !important;
}

.call-box {
    background-color: #D2A06C;	
}

.desc-gain  {
    font-size: 16px !important;
    font-weight: 500 !important;
    margin-bottom: 20px !important;
    line-height: 20px !important;
    margin-top: 20px !important;
}

.h7-faq .sec-heading.style-7 {
    max-width: 400px;
}

.title-about {
    font-size: 46px !important;
    line-height: 51px !important;
    color: var(--tj-color-theme-primary) !important;
}

.title-about span {
    color: #FFFFFF !important;
}

.tj-faq .accordion-item {
    border: 1px dashed #2A474740 !important;
}

.tj-faq .accordion-item .faq-title::after {
    color: #D2A06C !important;
    border-color: #D2A06C !important;
}

#faqTwo .accordion-item {
    border: 1px dashed #2A474740 !important;
    border-bottom: none !important;
}

#faqTwo .accordion-item:last-child {
    border-bottom: 1px dashed #2A474740 !important;
}

.pricing-box.active .package-desc p {
    color: #D2A06C !important;
    font-weight: 600 !important;
    font-size: 20px !important;
    line-height: 22px !important;
}

.package-price, .package-currency, .package-period {
    color: #D2A06C !important;
    font-weight: 600 !important;
    font-size: 20px !important;

}

.pricing-btn .text-btn {
    background-color: #D2A06C !important;
    border: none !important;
}

.pricing-btn .btn-icon {
    background-color: #2A4747 !important;
    position: absolute;
    right: 10px;
}

.pricing-btn .btn-text {
    color: #FFFFFF !important;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 16px !important;
    line-height: 22px !important;
}

.price-number{
    padding-top: 15px !important;
    font-weight: 700 !important;
    font-size: 60px !important;
}

.list-items p {
    color:#FFFFFF !important;
}

.list-items{
    list-style: disc !important;
}

.list-items ul li{
    list-style: disc !important;
    display: list-item !important;
}

.h7-faq-wrapper.style-2 .accordion-item:first-child {
    border-radius: 12px 12px 0 0;
}
.h7-faq-wrapper.style-2 .accordion-item:last-child {
    border-radius: 0 0 12px 12px;
}

.h7-faq-wrapper.style-2 .accordion-item .faq-title {
    padding-top: 32px !important;
    padding-bottom: 32px !important;

}



.pricing-accordion .accordion-item .faq-title {
    font-weight: 400 !important;
}

.pricing-accordion .accordion-item .faq-title b {
    font-weight: 700 !important;
}

.small-p {
    font-size: 12px !important;
    line-height: 14px !important;
}

.cta-area .cta-content {
    width: 100%;
}

.social-icon {
    color: #FFFFFF !important;
    font-size: 24px !important;
    line-height: 28px !important;
    padding-right: 20px !important;
}

.modal-dialog {
    max-width: 600px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    height: 100% !important;
}

.modal-content {
    border: none !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background-color: #2A4747 !important;
    padding: 20px !important;
}

.modal-header {
    border-bottom: none !important;
}

#modalContactLabel {
    color: #FFFFFF !important;
    font-size: 46px !important;
    line-height: 51px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    margin-bottom: 20px !important;
    margin-top: 20px !important;
    font-family: 'Fjalla One', sans-serif !important;
}

#modalContactLabel span {
    color: #D2A06C !important;
}

.frm-fluent-form input,.frm-fluent-form textarea {
    background-color: transparent !important;
    border:none;
    border-bottom: 1px solid #FFF !important;
    border-radius: 0px !important;
    padding: 10px !important;
    margin-bottom: 25px !important;
    width: 100% !important;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
}

.frm-fluent-form input::placeholder, .frm-fluent-form textarea::placeholder {
    color: #FFFFFF !important;
}

.modal-contact-close {
    width: 36px;
    height: 36px;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #D2A06C;
    background-color: #FFFFFF !important;
    border:solid 1px #D2A06C !important;
    opacity: 1 !important;
    position: absolute;
    right: 15px;
    top: 30px;
}

.ff-el-form-check-label {
    display: flex;
}

.ff_tc_checkbox {
    margin-right: 10px !important;
    background-color: transparent !important;
}

.ff_t_c {
    font-size: 10px;
    color: #FFFFFF !important;
}

.ff_submit_btn_wrapper {
    text-align: right !important;
    margin-top: 43px !important;
}

.ff-btn-submit {
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    text-align: left !important;
    padding: 16px 66px 16px 20px !important;
    position: relative;
    overflow: hidden;
}

/* Circulo verde com ícone de seta */
.ff-btn-submit::after {
    content: "\e916";
    font-family: "bexon-icons" !important;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 4px;
    top: 4px;
    height: calc(100% - 8px);
    width: calc(100% -  calc(100% - 100% + 58px)); /* 66px paddingRight - 4px marginRight - 4px top/bottom = 58px */
    width: calc(100% - 100% + 58px); /* simplifica para 58px */
    width: 38px; /* Definir, por ex, círculo de 38px pode ajustar conforme altura do botão */
    min-width: 38px;
    min-height: 38px;
    max-height: calc(100% - 8px);
    background: #2A4747;
    color: #fff;
    border-radius: 50%;
    margin-bottom: 4px;
    z-index: 1;
    transform: rotate(-45deg); /* Rotaciona a seta 45 graus pra cima-direita */
    font-size: 18px;
    pointer-events: none;
    box-shadow: none;
}

.faq-text {
	color:#FFFFFF !important;
}

.faq-text ul {
	padding-left:20px !important;
	margin-bottom:40px !important;
}

@media screen and (max-width: 756px)  {
    .h8-about-item-desc {
       width: auto !important;
    }
	
	.slider-bg-image {
    background-position: 75%;
}
	
	    .tj-slider-item .slider-wrapper {
        padding: 500px 0 200px 0;
    }
}