/*
Theme Name: Compass Property Sales
Description: Theme for Compass Property Sales
Author: Kamila M
Author URI: https://www.crochet.pt/
Author Email: info@crochet.pt
Version: 1.0.0
Text Domain: hello-elementor-child
Template: hello-elementor
*/

@font-face {
  font-family: 'Allison';
  src: url('assets/fonts/Allison-Regular.woff2') format('woff2'),
       url('assets/fonts/Allison-Regular.woff')  format('woff');
  font-weight: 400;
  font-style:  normal;
  font-display: swap; 
    
}

/* ─── CORES ─── */
:root {
  /* Primária */
  --color-primary:           #422166;
  --color-primary-light:     #EBE8EF;
  --color-primary-light-mid: #EBE8EF86; 
  --color-primary-light-0:   #EBE8EF00; 
  --color-primary-medium:    #553A74;
  /* Secundária */
  --color-secondary:         #FAA40E;
  /* Texto & Neutros */
  --color-text:              #1A1A1A;
  --color-text-dark-alpha:   #0000009B;  
  --color-white:             #FFFFFF;
  --color-black:             #000000;
  --color-black-0:           #21113300; 
}
/* ─── FONTES ─── */
:root {
  --font-primary:   'Montserrat', sans-serif;
  --font-secondary: 'Allison', cursive;
 
  --font-weight-regular:    400;
  --font-weight-medium:     500;
  --font-weight-semibold:   600;
  --font-weight-bold:       700;
  --content-width: 1200px;
  --content-width-lg: 1920px;
}
 
/* ─── TIPOGRAFIA FLUIDA ───────────────────────
   ──────────────────────────────────────────── */
:root {
  /* H1 — 42px → 85px */
  --text-h1:       clamp(4.25rem, 4.038vw + 1.679rem, 5.3125rem);
  --leading-h1:    clamp(5rem,  4.694vw + 2.089rem, 6.75rem);
 
  /* H2 — 24px → 40px */
  --text-h2:       clamp(1.5rem,   1.502vw + 1.148rem, 2.5rem);
  --leading-h2:    clamp(2rem,     1.878vw + 1.502rem, 3.75rem);
 
  /* Body Large — 18px → 25px */
  --text-body-lg:  clamp(1.125rem, 0.657vw + 0.879rem, 1.5625rem);
  --leading-lg:    clamp(1.625rem, 0.94vw  + 1.272rem, 2.1875rem);
 
  /* Body Medium — 16px → 20px */
  --text-body-md:  clamp(1rem,     0.376vw + 0.859rem, 1.25rem);
  --leading-md:    clamp(1.375rem, 0.188vw + 1.305rem, 1.625rem);
 
  /* Body — 13px → 15px */
  --text-body:     clamp(0.8125rem, 0.188vw + 0.742rem, 0.9375rem);
  --leading-body:  1.6;
 
  --text-sm:       0.75rem;
  --leading-sm-a:  clamp(1rem,     0.94vw + 0.648rem, 1.5625rem);  /* /25px */
  --leading-sm-b:  clamp(0.9375rem, 0.188vw + 0.867rem, 1.125rem); /* /18px */
  --leading-sm-c:  0.9375rem;                                       /* /15px */
}
 
/* ─── ESPAÇAMENTOS FLUIDOS ───────────────────
   ──────────────────────────────────────────── */
:root {
  --space-xl:  clamp(3rem,    6.761vw + 1.416rem, 7.5rem);
   --space-lg:  clamp(2.5rem,  5.634vw + 1.179rem, 6.25rem);
   --space-md:  clamp(2rem,    4.507vw + 0.944rem, 5rem);
   --space-base: clamp(1.5rem,  3.38vw  + 0.708rem, 3.75rem);
  --space-sm:  clamp(1rem,    1.033vw + 0.758rem, 1.6875rem);
}

a{
	color: var(--color-primary);
}

ul {
	padding: 15px;
}

ul li{
    list-style-type: square;
}

body, .overflow-hidden, .overflow-hidden img, #page{
	overflow-x: hidden !important;
}

body, p{
	font-size: 15px;
	line-height: 1.6;
}

.max-width-400{
	max-width: 400px !important;
}

.max-width-500{
	max-width: 500px !important;
}


.max-width-550{
	max-width: 550px !important;
}

.max-width-600{
	max-width: 600px !important;
}

.max-width-700{
	max-width: 700px !important;
}
.max-width-800{
	max-width: 800px !important;
}

.max-width-900{
	max-width: 900px !important;
}

.max-width-950{
	max-width: 950px !important;
}

.max-width-1000{
	max-width: 1240px !important;
}

.overflow-x-hidden{
	overflow-x: hidden !important;
}

@media (min-width: 1025px) and (max-width: 1200px) {
	.max-width-900{
		max-width: 700px !important;
	}
}

@media (min-width: 2400px) {
    .max-width-400  { max-width: 640px  !important; } 
    .max-width-500  { max-width: 800px  !important; } 
    .max-width-550  { max-width: 880px  !important; } 
    .max-width-600  { max-width: 960px  !important; } 
    .max-width-700  { max-width: 1060px !important; } 
    .max-width-800  { max-width: 1200px !important; } 
    .max-width-900  { max-width: 1440px !important; } 
    .max-width-950  { max-width: 1520px !important; } 
    .max-width-1000 { max-width: 1920px !important; } 
}

@view-transition {
    navigation: auto;
}


.title-featured h1, 
.title-featured h2,
.elementor-heading-title.allison {
  font-family: var(--font-secondary) !important;
}

h1 {
  font-family:  var(--font-primary);
  font-size:    var(--text-h1);
  line-height:  var(--leading-h1);
}
 
h2 {
  font-family:  var(--font-primary);
  font-size:    var(--text-h2);
  line-height:  var(--leading-h2);
}

b, strong{
	font-weight: 600 !important;
}

/*INPUTS FORM*/
input[type=date], input[type=email], 
input[type=number], 
input[type=password], 
input[type=search], 
input[type=tel], input[type=text], input[type=url], select, textarea {
    border: 1px solid #FFF;
    border-radius: 0;
    padding: .65rem 1rem;
    transition: all .3s;
    width: 100%;
	font-size: 0.8rem;
    font-family: var(--font-primary);
}
/*Button*/
.btn-container {
    text-align: right;
}

.btn--primary-light, input[type="submit"] {
    display: inline-block;
    padding: 1rem 2rem;
    border: 1px solid #fff;
    color: #fff;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 1px;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}
input[type="submit"]{
	background-color: var(--color-secondary) !important;
	padding: 0.75em 2.25em !important;
}


.btn--primary-light:hover {
    background-color: rgba(255, 255, 255, 1);
    color: var(--color-primary);
}

.btn--primary-outline {
    display: inline-block;
    padding: 15px 30px;
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn--primary-outline:hover {
    background-color:  var(--color-primary);
   color: #fff;
}

.newsletter-form{
	background-color: #fff;
    max-width: 525px;
}

input, .wpcf7-list-item-label {
	font-family: var(--font-primary);
}

a, button, .wpcf7-submit {
	font-weight: 600 !important;
}

.newsletter-form input{
    border: 1px solid #fff;
    border-radius: 0;
	padding: 0.5rem 0;
    background: transparent;
    color: var(--color-primary);
	font-size: 0.75rem;
}

.newsletter-btn{
	background-color: var(--color-secondary) !important;
    padding: 0.75em 2.25em !important;
    font-family: var(--font-primary);
	text-transform: uppercase;
	font-size: 0.75rem;
	border: 1px solid var(--color-secondary) !important;
	margin-bottom: 0 !important;
	max-height: 35px;
}

.newsletter-checkbox, .wpcf7-list-item-label  {
	color: #FFF;
    font-size: 0.75rem;
	line-height: 1.8;
	max-width: 460px;
}
.wpcf7-list-item-label a{
	color: var(--color-secondary);
}

.wpcf7-list-item label{
	display: flex;
    align-items: start;
    gap: 10px;
}
.wpcf7-list-item label input{
	margin: 0.25rem 0;
}

	.newsletter-form p{
	display: grid;
    grid-template-columns: 8fr 4fr;
	padding: 0.5rem 1rem;
	max-width: 600px;
	}

@media(min-width: 767px){

	.copy-footer{  position: absolute;
    top: 50%;
    left: 50%;
		transform: translate(-50%, -50%);}
}
.wpcf7-spinner{
	display: none;
}

.wpcf7-not-valid-tip{
	font-family: var(--font-primary);
	background-color: #dc3232;
	color: #FFF;
	font-size: 0.75rem;
	padding: 0.25rem 0.75rem;
	border-radius: 3px;
	margin: 0.25rem 0;
}

/*INPUT*/

.newsletter-form input{
	border-radius: 0 !important;
}

.wpcf7-list-item{
 margin: 0 !important;
}

/*Menu*/
.hfe-active-menu.hfe-active-menu-full-width+.hfe-nav-menu__layout-expandible {
    top: -60px;
}

.hfe-nav-menu__layout-expandible ul.hfe-nav-menu {
    background-color: var(--color-primary);
    padding: 45px 15px;
    margin: 0;
    height: 100vh;
}

.hamburger-mobile{
	display: none;
}
	.nav-desktop{
		display: block;
	}
@media (max-width: 1025px){
.hamburger-mobile{
	display: block;
}
	.nav-desktop{
		display: none;
	}
header nav {
    height: 100vh;
    width: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    right: 0;
}
	.hfe-nav-menu__toggle,
.hfe-nav-menu-icon {
    z-index: 99999;
}

header .hfe-nav-menu .menu-item,
.hfe-active-menu .hfe-nav-menu-icon {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.5s ease, transform 0.6s ease;
}

header .menu-is-active .hfe-nav-menu .menu-item,
.hfe-active-menu .hfe-nav-menu-icon {
    opacity: 1;
    transform: translateY(0);
}

.hfe-active-menu .hfe-nav-menu-icon svg {
    width: 20px;
    height: 20px;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(1) {
    transition-delay: 0.15s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(2) {
    transition-delay: 0.20s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(3) {
    transition-delay: 0.25s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(4) {
    transition-delay: 0.30s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(5) {
    transition-delay: 0.35s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(6) {
    transition-delay: 0.40s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(7),
.hfe-active-menu .hfe-nav-menu-icon {
    transition-delay: 0.45s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(8) {
    transition-delay: 0.50s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(9) {
    transition-delay: 0.55s;
}

.menu-is-active .hfe-nav-menu .menu-item:nth-child(10) {
    transition-delay: 0.60s;
}
	
header .hfe-nav-menu .hfe-menu-item {
    font-size: 1.5em !important;
}

}

.header-menu.menu-is-active {
    background: #fff;
    position: fixed;
    top: 0;
    right: 0;
}

.hfe-nav-menu__toggle.elementor-clickable.hfe-active-menu {
    position: fixed;
    right: 20px;
    top: 30px;
}


nav.hfe-dropdown-expandible {
    width: 100%;
    height: 100vh;
    background-color: var(--color-secondary);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.2s ease;
    z-index: 9998;
}

nav.hfe-dropdown-expandible.menu-is-active {
    width: 100%;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


#masthead {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: none;
    transition: top 0.6s ease-in-out, background-color 0.5s ease, box-shadow 0.6s ease;
}

#masthead.header-bg {
    position: fixed !important;
	height: 90px !important;
	background-color: #fff;
}
#masthead .logo-dark{
	display: none;
}


#masthead.header-bg .logo-dark, .page-id-2979 #masthead .logo-dark , .single-post #masthead .logo-dark{
	display: block;
}

#masthead .logo-light{
	display: block;
}

#masthead.header-bg .logo-light, .page-id-2979 #masthead .logo-light , .single-post #masthead .logo-light{
	display: none;
}

#masthead .elementor-button{
	border: 1px solid #fff !important;
	color: #fff;
	padding: 1em !important;
}

#masthead.header-bg .elementor-button{
	border: 1px solid var(--color-primary) !important;
	color: var(--color-primary);
}
#masthead .elementor-button:hover{
	border: 1px solid var(--color-primary) !important;
	color: #fff;
}

#masthead .nav-desktop  .menu-item a{
	font-size: 14px;
	text-transform: uppercase;
	color: #fff;
	transition: all 0.1s ease;
	border-bottom: 2px solid transparent;
}
.page-id-2979 #masthead .nav-desktop  .menu-item a, .single-post #masthead .nav-desktop  .menu-item a{
	color: var(--color-primary);
}

#masthead.header-bg .nav-desktop  .menu-item a{
	color: var(--color-primary);
}

#masthead.header-hidden {
    top: -200px;
}

#masthead .nav-desktop .menu-item.current_page_item  a.hfe-menu-item,
#masthead .nav-desktop .current-menu-parent .hfe-has-submenu-container a{
	border-bottom: 2px solid var(--color-secondary) !important;
}

#masthead .nav-desktop .menu-item  a.hfe-menu-item:hover{
	border-bottom: 2px solid var(--color-secondary)
}


@media (min-width: 1025px) and (max-width: 1240px) {
	.header-container{
		padding: 1rem !important;
	}
}
@media (min-width: 1025px) and (max-width: 1200px) {
	.header-button{
		display: none;
	}
}

@media (max-width: 767px) {
	#masthead.header-bg{
		height: 90px;
	}
    header .hfe-nav-menu .hfe-menu-item {
        font-size: 1.1em !important;
    }
}

@media (min-width: 992px) {
	.menu-item a.hfe-menu-item{
		padding: 0.25rem 0.15rem !important;
		margin: 0 1.25rem !important;
	}
}


.hfe-active-menu .hfe-nav-menu-icon svg {
    width: 32px;
    height: 32px;
}

#masthead .nav-desktop .sub-menu .menu-item a{
	color: #3E2362;
}

#masthead .header-bg-btn a{
	border: 1px solid var(--color-primary) !important;
    color: var(--color-primary);
}

.sub-menu li{
	max-width: 90%;
	margin: 0 auto;
}

.wpml-ls-legacy-dropdown-click{
	width: auto;
}

#masthead .nav-desktop .menu-item .sub-menu li a{
	text-transform: none; 
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle{
	background: #FFF !important;
	padding: 0 !important;
	border: none !important;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after{
	content: none !important;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu{
	border: none !important;
	min-width: 60px;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a{
	padding: 0 !important;
	padding: 0.75rem 0.25rem !important;
	background: #fff !important;
	border: none !important;
}

.sub-menu .wpml-ls-item a{
	padding: 10px 15px !important
}
.hfe-nav-menu .wpml-ls-item .sub-menu {
	width: auto !important;
	min-width: 60px !important;
}
.sub-menu .wpml-ls-menu-item{
	display: flex;
	justify-content: center;
}

.nav-mobile-header, footer .nav-mobile-header{
	display: none !important;
}

.wpml-ls-legacy-dropdown{
	width: auto !important;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after{
	content: none !important;
}
.nav-mobile-header .wpml-ls-legacy-dropdown, .nav-mobile-header .wpml-ls-legacy-dropdown a {
	background-color: var(--color-primary) !important;
	border: none !important;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle{
	padding-right: 0 !important;
}
.wpml-ls-legacy-dropdown{
	background: transparent !important;}
.wpml-ls-legacy-dropdown .wpml-ls-item, .wpml-ls-legacy-dropdown a{
	padding: 0.5rem 0 !important;
	background: transparent !important;
border: none !important}
.wpml-ls-legacy-dropdown{
	border:none !important;
}
@media (max-width: 1024px){
.nav-mobile-header{
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	width: 100% !important;
	padding: 30px 30px 30px 0 !important; 
}	
}

/*New alterations Menu Nav*/
.hamburger-mobile .menu-item.wpml-ls-item {
	display: none;
}
.hamburger-mobile .hfe-sub-menu-item{
	font-size: 14px !important;
	border-bottom: 1px solid var(--color-secondary) !important;
	margin-bottom: 5px;
	padding: 10px 15px !important; 
}
/* Esconde o ícone de fonte original */
.hfe-menu-toggle.sub-arrow i.fa {
    display: none;
}

.hamburger-mobile .hfe-menu-toggle.sub-arrow {
    background: none !important;
    width: 24px !important;
    height: 24px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37.924' height='37.924' viewBox='0 0 37.924 37.924'%3E%3Cpath fill='%23faa40e' fill-rule='evenodd' d='M35.553 4.74a2.37 2.37 0 0 0-2.37-2.37H4.74A2.37 2.37 0 0 0 2.37 4.74v28.443a2.37 2.37 0 0 0 2.37 2.37h28.443a2.37 2.37 0 0 0 2.37-2.37V4.74zM0 4.74A4.74 4.74 0 0 1 4.74 0h28.443a4.74 4.74 0 0 1 4.74 4.74v28.443a4.74 4.74 0 0 1-4.74 4.74H4.74A4.74 4.74 0 0 1 0 33.183v-28.44zm20.147 5.926a1.185 1.185 0 1 0-2.37 0v13.734l-5.087-5.092a1.187 1.187 0 1 0-1.678 1.678l7.111 7.111a1.185 1.185 0 0 0 1.678 0l7.111-7.111a1.187 1.187 0 1 0-1.678-1.678l-5.087 5.092V10.666z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    font-size: 0 !important;
    line-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: transform 0.3s ease !important;
}

.hamburger-mobile .hfe-menu-toggle.sub-arrow::before,
.hamburger-mobile .hfe-menu-toggle.sub-arrow::after {
    display: none !important;
}

.hamburger-mobile .sub-menu-active .hfe-menu-toggle.sub-arrow,
.hamburger-mobile .hfe-menu-toggle.sub-arrow.sub-menu-open {
    transform: rotate(180deg) !important;
}

.hamburger-mobile .sub-menu.sub-menu-open .menu-item:last-child a{ 
	border-bottom: 0 !important;
}

.hamburger-mobile .sub-menu.sub-menu-open{
	padding: 15px 0 0 0;
}

.hamburger-mobile  .parent {
	margin-bottom: 30px !important;
}

/* Define o container do menu como referência de posicionamento */
.hfe-nav-menu {
    position: relative;
}

.menu-is-active .hfe-nav-menu::before {
    content: '';
    position: absolute;
    bottom: -30px;      
    right: -45px;     
    width: 350px;    
    height: 350px;   
    background-image: url('https://compasspropertysales.crochet.com.pt/wp-content/uploads/2026/04/logo-sumbol-watermark-white.svg');
    background-size: contain;   
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 10;
}

.#masthead.header-bg {
	background-color: #fff !important;
}

.hfe-nav-menu__layout-horizontal {
	width: 100% !important;
}

/*FOOTER MENU*/
.footer-menu li a.hfe-menu-item{
	margin: 0 !important;
	padding: 0 !important;
}
.footer-mobile__menu .hfe-nav-menu li{
	padding-bottom: 1.5rem !important;
}

.footer-mobile__icon-list span, .footer-mobile__icon-list span a{
	color: #FFF !important;
}

.nav-desktop .hfe-has-submenu-container .sub-arrow{
	display: none !important;
}

/*FAQ SECTION*/

.faq-section{
	padding: var(--space-xl) 10px;
	background: transparent linear-gradient(180deg, #EBE8EF 0%, #EBE8EF86 48%, #EBE8EF00 100%) 0% 0% no-repeat padding-box;
}
.faq-section .uc_container .uc-heading, .faq-visa-options .uc_container .uc-heading {
	flex-direction: row-reverse !important;
}

/*Post List*/
.uc_post_list_content .uc_post_list_content_inside {
	flex-direction: column-reverse !important;
}

.jet-testimonials__content{
	align-items: start !important;
}

/*TEAM SECTION*/
@media (min-width:2400px){
	.team-section__img-abs{
	right: 14% !important;
}
	.team-section__img-abs img {
    width: 100%;
    max-width: 900px !important;
    min-height: 450px;
    object-fit: contain;
}
}
@media(max-width: 1536px){
.team-section__img-abs{
	right: 7% !important;
}
}
@media(max-width: 1439px){
.team-section__img-abs{
	right: 0 !important;
}
}
@media(max-width: 1240px){

.team-section__img-abs img{
	max-width: 600px !important;
}	
}
@media(max-width: 1120px){
.team-section__img-abs{
	right: 0 !important;
}
.team-section__img-abs img{
	max-width: 550px !important;
}	
}

/*ABOUT PAGE*/

/*About Section*/
.about-section, .treasure-section {
	background: transparent linear-gradient(180deg, #EBE8EF 0%, #EBE8EF86 48%, #EBE8EF00 100%) 0% 0% no-repeat padding-box;
	padding: var(--space-lg) 0;
}


.number-step h3{
	font-size: 150px;
	color: var(--color-secondary);
}

.step-box{
	padding: var(--space-md) 1rem;
}

.timeline-item__card{
	box-shadow: none !important;
}

.timeline-item__card-img img{
	width: 100%;
	height: 285px;
	object-fit: cover;
}

.timeline-item__card-inner {
	max-width: 520px;
	margin: 0 auto;
}
@media (max-width: 767px){
	.timeline-item__card-img img{
		height: 200px;
	}

}

@media (min-width: 1025px){
.jet-timeline--align-center .jet-timeline-item:nth-child(even) .timeline-item__meta{
	text-align: left !important;
}

.jet-timeline--align-top .jet-timeline-item {
	flex-direction: row-reverse !important;
}
.jet-timeline--align-center .jet-timeline-item:nth-child(even){
	flex-direction: row !important;
}
}
.timeline-item__meta-content{
	font-size: 34px !important;
}

.timeline-item__meta-content span{
	font-size: 25px !important;
}

@media (min-width: 2400px){
	
.timeline-item__card-inner {
	max-width: 850px;
	margin: 0 auto;
}
}

/*BUYING PAGE*/
.step-section{
	background: transparent linear-gradient(180deg, #EBE8EF 0%, #EBE8EF86 48%, #EBE8EF00 100%) 0% 0% no-repeat padding-box;
}

/*ALGARVE*/


/*CONTACT PAGE*/
.contact-icon-purple {
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
}

.contact-page-list .elementor-icon-list-icon {
	padding-top: 0.2rem;
}

